ResponseConsumer: break out connectionLostOK into superclass
[hippotat] / PROTOCOL
CommitLineData
3fba9787
IJ
1Server maintains a queue of outbound packets for each user
2
ca732796 3Packets which are older than the applicable max_queue_time are discarded
3fba9787 4
ca732796 5Each incoming request to the server takes up to max_batch_down bytes
3fba9787
IJ
6from the queue and returns them as the POST response body payload
7
ca732796 8Each incoming request contains up to max_batch_up bytes of payload.
3fba9787
IJ
9It's a multipart/form-data.
10
ef041033
IJ
11Authentication: clock-based lifetime-limited bearer tokens.
12
13Encryption and integrity checking: none. Use a real VPN over this!
3fba9787 14
0c8302b2
IJ
15Routing assistance: none in hippotat; can be requested on client
16 from userv-ipif via `vroutes' parameter. Use with secnet polypath
17 ideally uses the special support in secnet 0.4.x.
3fba9787 18
ca732796
IJ
19Client form parameters (multipart/form-data):
20 m metadata, newline-separated list (text file) of
21 client ip address (textual)
ef041033 22 token
ca732796 23 target_requests_outstanding
eb6eb974 24 http_timeout
7b07f0b5 25 d data (SLIP format, with SLIP_ESC and `-' swapped)
1672ded0
IJ
26
27
ef041033
IJ
28Authentication token is:
29 <time_t in hex with no leading 0s> <hmac in base64>
30(separated by a single space). The hmac is
31 HMAC(secret, <time_t in hex>)
1672ded0 32
a2b48abf
IJ
33
34Possible future nonce-based authentication:
1672ded0
IJ
35
36server keeps big nonce counter for each client
37meaning is:
38 nonce counter is most recent nonce client has sent
39also server keeps bitmap of the previous ?64 nonces,
40 whether client has sent them
41
42client picks.... xxx