mirror of
https://github.com/zerotier/ZeroTierOne.git
synced 2024-12-19 13:07:55 +00:00
Add definition for VERB_CMA -- GitHub issue #180
This commit is contained in:
parent
8aa68cd5f1
commit
845955dea5
@ -51,6 +51,7 @@ const char *Packet::verbString(Verb v)
|
||||
case VERB_MULTICAST_GATHER: return "MULTICAST_GATHER";
|
||||
case VERB_MULTICAST_FRAME: return "MULTICAST_FRAME";
|
||||
case VERB_SET_EPHEMERAL_KEY: return "SET_EPHEMERAL_KEY";
|
||||
case VERB_CMA: return "CMA";
|
||||
}
|
||||
return "(unknown)";
|
||||
}
|
||||
|
@ -513,8 +513,8 @@ public:
|
||||
* Destination address types and formats (not all of these are used now):
|
||||
* 0 - None -- no destination address data present
|
||||
* 1 - Ethernet address -- format: <[6] Ethernet MAC>
|
||||
* 4 - 6-byte IPv4 address -- format: <[4] IP>, <[2] port>
|
||||
* 6 - 18-byte IPv6 address -- format: <[16] IP>, <[2] port>
|
||||
* 4 - 6-byte IPv4 UDP address/port -- format: <[4] IP>, <[2] port>
|
||||
* 6 - 18-byte IPv6 UDP address/port -- format: <[16] IP>, <[2] port>
|
||||
*
|
||||
* OK payload:
|
||||
* <[8] timestamp (echoed from original HELLO)>
|
||||
@ -770,6 +770,9 @@ public:
|
||||
VERB_MULTICAST_FRAME = 14,
|
||||
|
||||
/* Ephemeral (PFS) key push:
|
||||
* <[2] flags (unused and reserved, must be 0)>
|
||||
* <[2] length of padding / extra field section>
|
||||
* <[...] padding / extra field section>
|
||||
* <[8] 64-bit PFS key set ID sender holds for recipient (0==none)>
|
||||
* <[8] 64-bit PFS key set ID of this key set>
|
||||
* [... begin PFS key record ...]
|
||||
@ -791,6 +794,12 @@ public:
|
||||
* the first record with common symmetric cipher, public key type,
|
||||
* and relevant flags must be used.
|
||||
*
|
||||
* The padding section may be filled with an arbitrary amount of random
|
||||
* or empty payload. This may be used as a countermeasure to prevent PFS
|
||||
* key pushes from being recognized by packet size vs. other packets in
|
||||
* the stream. This also provides potential space for additional fields
|
||||
* that might be indicated in the future by flags.
|
||||
*
|
||||
* Flags (all unspecified flags must be zero):
|
||||
* 0x01 - FIPS mode, only use record if FIPS compliant crypto in use
|
||||
*
|
||||
@ -814,7 +823,24 @@ public:
|
||||
* <[8] PFS key set ID of received key set>
|
||||
* <[1] index in record list of chosen key record>
|
||||
*/
|
||||
VERB_SET_EPHEMERAL_KEY = 15
|
||||
VERB_SET_EPHEMERAL_KEY = 15,
|
||||
|
||||
/* "Call me at" -- push of potential endpoints for direct communication:
|
||||
* <[1] flags>
|
||||
* <[2] number of addresses>
|
||||
* <[...] address types and addresses>
|
||||
*
|
||||
* Address types and addresses are of the same format as the destination
|
||||
* address type and address in HELLO.
|
||||
*
|
||||
* The receiver may, upon receiving a CMA push, attempt to establish a
|
||||
* direct link to one or more of the indicated addresses. Senders should
|
||||
* only send CMA pushes to peers that they have some relationship
|
||||
* with such as a shared network membership or a mutual trust.
|
||||
*
|
||||
* OK/ERROR are not generated.
|
||||
*/
|
||||
VERB_CMA = 16
|
||||
};
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user