2.2.2.6.1 AUTHORITY_BUFFER
The AUTHORITY_BUFFER structure is contained within a logical message containing the CPA and extended payload information associated with a Peer Name. Parts of this logical message appear in AUTHORITY messages.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
FieldID1 |
Length1 |
||||||||||||||||||||||||||||||
|
000000 |
L |
00000 |
B |
00 |
N |
Padding1 |
|||||||||||||||||||||||||
|
FieldID2 (optional) |
Length2 (optional) |
||||||||||||||||||||||||||||||
|
Certificate Chain (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
Padding2 (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
FieldID3 (optional) |
Length3 (optional) |
||||||||||||||||||||||||||||||
|
NumEntries |
Array Length |
||||||||||||||||||||||||||||||
|
Element Field Type |
Entry Length |
||||||||||||||||||||||||||||||
|
Classifier (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
Padding3 (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
FieldID4 (optional) |
Length4 (optional) |
||||||||||||||||||||||||||||||
|
Extended Payload (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
Padding4 (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
FieldID5 (optional) |
Length5 (optional) |
||||||||||||||||||||||||||||||
|
Route Entry (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
Padding5 (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
|
FieldID6 (optional) |
Length6 (optional) |
||||||||||||||||||||||||||||||
|
CPA (variable) |
|||||||||||||||||||||||||||||||
|
... |
|||||||||||||||||||||||||||||||
FieldID1 (2 bytes): MUST be set to 0x0040 (FLAGS_FIELD).
Length1 (2 bytes): MUST be set to 0x0006.
000000 (6 bits): These bits are all reserved. MUST be set to zero when sent and MUST be ignored on receipt.
L (1 bit): Leaf Set. If set, this flag indicates that the target PNRP ID is unknown to the sender, but would be in the sender's Leaf Set were it known.
00000 (5 bits): These bits are all reserved. MUST be set to zero when sent and MUST be ignored on receipt.
B (1 bit): Busy. If set, indicates that the sender is too busy to handle a LOOKUP message request.
00 (2 bits): These bits are all reserved. MUST be set to zero when sent and MUST be ignored on receipt.
N (1 bit): Not Found. If set, indicates that the requested Validate PNRP ID in the LOOKUP or INQUIRE message is not known to the sender.
Padding1 (2 bytes): MUST be set to zero when sent and MUST be ignored on receipt.
FieldID2 (2 bytes): If present, MUST be set to 0x0080 (CERT_CHAIN). Note that a receiver can tell whether this field is present or absent based on the value at this location.
Length2 (2 bytes): MUST be present if and only if FieldID2 is present. If present, it MUST be set to 4 plus the length in bytes of the Certificate Chain field.
Certificate Chain (variable): A Certificate Chain, containing the public key used to sign the CPA and its Certificate Chain. MUST be present if and only if FieldID2 is present.
Padding2 (variable): A number of bytes between 0 and 3, such that the offset from the start of the message to the end of this field is a multiple of 4. MUST be present if and only if FieldID2 is present. MUST be set to zero when sent and MUST be ignored on receipt.
FieldID3 (2 bytes): If present, MUST be set to 0x0085 (CLASSIFIER).
Length3 (2 bytes): If present, MUST be set to 12 plus the length in bytes of the Classifier field.
NumEntries (2 bytes): Number of Unicode characters in the Classifier string. MUST be in the range 0x000 to 0x7FFF.
Array Length (2 bytes): MUST be 8+(NumEntries*EntryLength).
Element Field Type (2 bytes): MUST be set to 0x0084 (WCHAR).
Entry Length (2 bytes): MUST be set to 0x0002.
Classifier (variable): If present, a non-NULL-terminated Unicode string containing the classifier part of the Peer Name used to create the PNRP ID.
Padding3 (variable): A number of bytes between 0 and 3, such that the offset from the start of the message to the end of this field is a multiple of 4. MUST be present if and only if FieldID3 is present. MUST be set to zero when sent and MUST be ignored on receipt.
FieldID4 (2 bytes): If present, MUST be set to 0x005A (EXTENDED PAYLOAD). Note that a receiver can tell whether this field is present or absent based on the value at this location.
Length4 (2 bytes): MUST be present if and only if FieldID4 is present. If present, it MUST be set to 4, plus the length, in bytes, of the Extended Payload field.
Extended Payload (variable): An EXTENDED_PAYLOAD structure. MUST be present if and only if FieldID4 is present.
Padding4 (variable): A number of bytes between 0 and 3, such that the offset from the start of the message to the end of this field is a multiple of 4. MUST be present if and only if FieldID4 is present. MUST be set to zero when sent and MUST be ignored on receipt.
FieldID5 (2 bytes): If present, MUST be set to 0x009A (ROUTING_ENTRY). Note that a receiver can tell whether this field is present or absent based on the value at this location.
Length5 (2 bytes): MUST be present if and only if FieldID5 is present. If present, it MUST be set to 4 plus the length in bytes of the Route Entry field.
Route Entry (variable): A ROUTE_ENTRY structure. MUST be present if and only if FieldID5 is present. For a response to a LOOKUP message, this MUST be the route entry that is the closest to the target PNRP ID in the LOOKUP message, as seen by the remote node.
Padding5 (variable): A number of bytes between 0 and 3, such that the offset from the start of the message to the end of this field is a multiple of 4. MUST be present if and only if FieldID5 is present. MUST be set to zero when sent and MUST be ignored on receipt.
FieldID6 (2 bytes): If present, MUST be set to 0x009B (VALIDATE_CPA). Note that a receiver can tell whether this field is present or absent based on the value at this location.
Length6 (2 bytes): MUST be present if and only if FieldID6 is present. If present, it MUST be set to 4 plus the length in bytes of the CPA field.
CPA (variable): An Encoded CPA structure.