pawsd:protocol
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| pawsd:protocol [2026/02/09 10:03] – [Verb 1: Fetch service] design note on key length field winter | pawsd:protocol [2026/02/11 18:07] (current) – [Zones, services and records] flags bitfield description winter | ||
|---|---|---|---|
| Line 61: | Line 61: | ||
| The signature is calculated from the concatenation of the index, flags, record count, and records fields (i.e. the entire service in wire format except for the signature itself). The signature algorithm is not given in the service itself but will be specified as part of the service' | The signature is calculated from the concatenation of the index, flags, record count, and records fields (i.e. the entire service in wire format except for the signature itself). The signature algorithm is not given in the service itself but will be specified as part of the service' | ||
| + | |||
| + | The " | ||
| Records are just a list of tag-value pairs: | Records are just a list of tag-value pairs: | ||
| Line 108: | Line 110: | ||
| </ | </ | ||
| + | |||
| + | ===== Verb 4096 (0x1000): Start authentication ===== | ||
| + | |||
| + | The client briefly identifies itself using a " | ||
| + | |||
| + | Request payload: | ||
| + | |||
| + | ^ Field ^ Length | ||
| + | | client ID | 16 bytes | [16]u8 | ||
| + | | scopes | ||
| + | |||
| + | The server then returns either a " | ||
| + | |||
| + | ^ Field ^ Length | ||
| + | | completed? | ||
| + | | token or challenges | ||
| + | |||
| + | If " | ||
| + | |||
| + | ^ Field ^ Length | ||
| + | | conjunction | ||
| + | | challenge count | 1 byte | u8 (≥ 1) | | ||
| + | | challenge< | ||
| + | | challenge< | ||
| + | | challenge< | ||
| + | | // | ||
| + | |||
| + | If the conjunction is " | ||
| + | |||
| + | |||
| + | ==== Challenges ==== | ||
| + | |||
| + | The structure of the " | ||
| + | |||
| + | |||
| + | ===== Verb 4097 (0x1001): Continue authentication ===== | ||
| + | |||
| + | The client sends one or multiple responses to challenges previously given by the server. (Note confusing terminology: | ||
| + | |||
| + | Request payload: | ||
| + | |||
| + | ^ Field ^ Length | ||
| + | | client ID | 16 bytes | [16]u8 | ||
| + | | response count | 1 byte | u8 | | ||
| + | | challenge< | ||
| + | | response< | ||
| + | | response< | ||
| + | | // | ||
| + | |||
| + | The response payload is identical to the //Start authentication// | ||
pawsd/protocol.1770631404.txt.gz · Last modified: by winter
