/*
* Query format: create assoc:
- * 1 bit set this a create assoc query
* 32 bits clientnonce
+ * 1 bit set this is a create assoc query
* 10 bits offset of this data fragment in packet
* 1 bit is this the last fragment ?
* remainder data packet fragment
* data packet sequence number is always implicitly zero
*
* Query format: submit:
- * 1 bit clear this is not a create assoc query
* 32 bits associd
+ * 1 bit clear this is not a create assoc query
* 16 bits data packet sequence number
* 10 bits offset of this data fragment in packet
* 1 bit is this the last fragment
* remainder data packet fragment
*
* Query format: fetch:
- * 1 bit clear this is not a create assoc query
* 32 bits associd
- * 16 bits client query distinguishper (for defeating dns cache)
+ * 1 bit clear this is not a create assoc query
+ * 16 bits client query distinguisher (for defeating dns cache)
*
* Response format:
* [ 32 bits associd - only for responses to create assoc ]
* Query bitstring, from above, is encoded as follows:
* 1.
* . append our server's domain
+ * Max DNS domain is 255 bytes.
+ * Max UDP packet is 512 bytes.
+ * If our domain is .s.chiark.net. (12 bytes)
+ * then we have 241 bytes of payload left.
+ * We need at least 4 subdomains to avoid blowing the 63-byte limit
+ * So that means we need 3 more dots, so 238 chars.
+ * At 5 bits per char that's 1190 bits. Minus our submit
+ * header (1+32+16+10+1 = 60 bits) that's 1130 bits or 141.25 bytes.
+ */
struct expires {
struct expires *next;