chiark / gitweb /
cf6eacfc554a034c2e663f78945af7c4942220f6
[hippotat.git] / PROTOCOL
1 Server maintains a queue of outbound packets for each user
2
3 Packets which are older than the applicable max_queue_time are discarded
4
5 Each incoming request to the server takes up to max_batch_down bytes
6 from the queue and returns them as the POST response body payload
7
8 Each incoming request contains up to max_batch_up bytes of payload.
9 It's a multipart/form-data.
10
11 Authentication: for now, plaintext password
12
13 Routing assistance: none in hippotat; can be requested on client
14  from userv-ipif via `vroutes' parameter.  Use with secnet polypath
15  ideally uses the special support in secnet 0.4.x.
16
17 Client form parameters (multipart/form-data):
18  m              metadata, newline-separated list (text file) of
19                         client ip address (textual)
20                         password
21                         target_requests_outstanding
22                         http_timeout
23  d              data (SLIP format, with SLIP_ESC and `-' swapped)
24
25
26
27
28 Possible future nonce-based authentication:
29
30 server keeps big nonce counter for each client
31 meaning is:
32  nonce counter is most recent nonce client has sent
33 also server keeps bitmap of the previous ?64 nonces,
34  whether client has sent them
35
36 client picks.... xxx