summaryrefslogtreecommitdiff
path: root/module/sslsession.m
blob: 6afa3110d7c8d5157e5268993a034b253b5226de (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
SSLsession: module {

	PATH: con "/dis/lib/crypt/sslsession.dis";

	Session: adt {
		session_id			: array of byte; # [32]
		peer				: string;
	
		connection_time			: int;
		version				: array of byte; # [2]

		suite				: array of byte; # [2]
		compression			: byte;

		master_secret			: array of byte; # [48]	
		peer_certs			: list of array of byte;

		new: fn(peer: string, time: int, ver: array of byte): ref Session;
		duplicate: fn(s: self ref Session): ref Session;
	};

	init: fn(): string;
	add_session: fn(s: ref Session);
	get_session_byid: fn(session_id: array of byte): ref Session;
	get_session_byname: fn(peer: string): ref Session;
	set_timeout: fn(t: int);
};