chiark / gitweb /
wip, towards target
[hippotat.git] / PROTOCOL
index c7033af0b2353000b1972b0dcacc8151e12e9ba6..b597b9a003f917a607ca64fd10cbee798d3f7773 100644 (file)
--- a/PROTOCOL
+++ b/PROTOCOL
@@ -1,41 +1,32 @@
 Server maintains a queue of outbound packets for each user
 
-Packets which are older than MAX_QUEUE_TIME are discarded
+Packets which are older than the applicable max_queue_time are discarded
 
-Each incoming request to the server takes up to MAX_BATCH_DOWN bytes
+Each incoming request to the server takes up to max_batch_down bytes
 from the queue and returns them as the POST response body payload
 
-Each incoming request contains up to MAX_BATCH_UP bytes of payload.
+Each incoming request contains up to max_batch_up bytes of payload.
 It's a multipart/form-data.
 
 Authentication: for now, plaintext password
 
-Sever side configuration:
+Routing assistance: none needed; secnet polypath will DTRT
 
- [<client-ipaddr>] or [default]
- max_batch_down
- max_queue_time
- max_request_time
- password
+Client form parameters (multipart/form-data):
+ m             metadata, newline-separated list (text file) of
+                       client ip address (textual)
+                       password
+                       target_requests_outstanding
+ d              data (SLIP format, with SLIP_ESC and `-' swapped)
 
- [global]
- max_batch_down
- max_queue_time
- max_request_time
 
- [virtual]
- network           # required
- host              # default is first host in network (eg <network>.1)
- relay             # default is first host in network not equal to server
- mtu                # default is 1500
 
-Client side configuration;
- MAX_BATCH_DOWN MAX_QUEUE_TIME PASSWORD
+Future nonce-based authentication:
 
-Routing assistance: none needed; secnet polypath will DTRT
+server keeps big nonce counter for each client
+meaning is:
+ nonce counter is most recent nonce client has sent
+also server keeps bitmap of the previous ?64 nonces,
+ whether client has sent them
 
-Client form parameters:
- i             ip address (textual)
- p             password
- d              data (SLIP format)
- mbd mqt mrt   config updates
+client picks.... xxx