| 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 |