X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ian/git?p=hippotat.git;a=blobdiff_plain;f=PROTOCOL;h=b597b9a003f917a607ca64fd10cbee798d3f7773;hp=9969e61bb1f3ed30d055642e97d7ec4382ee7e57;hb=5e23498324ed6cdf62339114ac2313393ac75610;hpb=3fba9787545d5da68dc247932817899f690edbf0 diff --git a/PROTOCOL b/PROTOCOL index 9969e61..b597b9a 100644 --- a/PROTOCOL +++ b/PROTOCOL @@ -1,27 +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: - Per user but normally global - MAX_MAX_BATCH_DOWN MAX_MAX_QUEUE_TIME - Global - MTU - Per user - PASSWORD +Routing assistance: none needed; secnet polypath will DTRT -Client side configuration; - MAX_BATCH_DOWN MAX_QUEUE_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) -Routing assistance: none needed; secnet polypath will DTRT -Client form parameters: - I MBD MQT P D + +Future nonce-based authentication: + +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 picks.... xxx