|
|
|
@ -455,7 +455,7 @@ on the currently unspecified stateless routing protocol.
|
|
|
|
|
TODO: implement routing protocol :^)
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
a: protocol_id_uint16
|
|
|
|
|
a: protocol_id_uint16,
|
|
|
|
|
r: "<32 bytes public identity key of recipiant>",
|
|
|
|
|
s: "<32 bytes public identity key of sender>",
|
|
|
|
|
t: "<1280 bytes payload>",
|
|
|
|
@ -528,12 +528,13 @@ variant 2, response, generated by the endpoint that recieved the request.
|
|
|
|
|
|
|
|
|
|
obtain exit address message (OXAM)
|
|
|
|
|
|
|
|
|
|
sent to an exit router to obtain a NAT ip address for ip exit traffic.
|
|
|
|
|
sent to an exit router to obtain ip exit traffic context.
|
|
|
|
|
replies are sent down the path that messages originate from.
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
A: "X",
|
|
|
|
|
B: [list, of, permitted, blacklisted, traffic, policies],
|
|
|
|
|
E: 0 for snode communication or 1 for internet access,
|
|
|
|
|
I: "<32 bytes signing public key for future communication>",
|
|
|
|
|
S: uint64_sequence_number,
|
|
|
|
|
T: uint64_transaction_id,
|
|
|
|
@ -550,21 +551,14 @@ ip address used for exit traffic.
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
A: "G",
|
|
|
|
|
E: XR,
|
|
|
|
|
I: "<32 bytes signing public key of requester>",
|
|
|
|
|
S: uint64_sequence_number,
|
|
|
|
|
T: transaction_id_uint64,
|
|
|
|
|
V: 0,
|
|
|
|
|
Z: "<64 bytes signature using exit info's signing key>"
|
|
|
|
|
Z: "<64 bytes signature using router identity signing key>"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
E contains an exit route that was granted to the requester that can be used with
|
|
|
|
|
IP exit traffic.
|
|
|
|
|
|
|
|
|
|
The requester will now have any ip traffic going to address S forwarded to them
|
|
|
|
|
via the path that originally sent the OXAM and any TDFM will is recieved on the
|
|
|
|
|
same path will be forwarded out to the internet, given that they have
|
|
|
|
|
valid signatures and addresses.
|
|
|
|
|
any TITM recieved on the same path will be forwarded out to the internet if
|
|
|
|
|
OXAM.E is not 0, otherwise it is interpreted as service node traffic.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
reject exit address message (RXAM)
|
|
|
|
@ -575,12 +569,11 @@ was denied.
|
|
|
|
|
{
|
|
|
|
|
A: "J",
|
|
|
|
|
B: backoff_milliseconds_uint64,
|
|
|
|
|
I: "<32 bytes signing public key of requester>",
|
|
|
|
|
R: [list, of, rejected, traffic, policies],
|
|
|
|
|
S: uint64_sequence_number,
|
|
|
|
|
T: transaction_id_uint64,
|
|
|
|
|
V: 0,
|
|
|
|
|
Z: "<64 bytes signature signed by exit info's signing key>"
|
|
|
|
|
Z: "<64 bytes signature signed by router's signing key>"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -744,11 +737,10 @@ transfer ip traffic message (TITM)
|
|
|
|
|
transfer ip traffic for exit
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
A: "E",
|
|
|
|
|
A: "I",
|
|
|
|
|
S: uint64_sequence_number,
|
|
|
|
|
V: 0,
|
|
|
|
|
X: "<N bytes ip packet>",
|
|
|
|
|
Y: "<16 bytes nounce>",
|
|
|
|
|
Z: "<64 bytes signature using previously provided signing key>"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -769,26 +761,34 @@ should use the new path that this message came from.
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
A: "U",
|
|
|
|
|
R: "<16 bytes previous rx path id>",
|
|
|
|
|
S: uint64_sequence_number,
|
|
|
|
|
T: transaction_id_uint64,
|
|
|
|
|
T: "<16 bytes previous tx path id>",
|
|
|
|
|
U: uint64_unique_id,
|
|
|
|
|
V: 0,
|
|
|
|
|
Y: "<16 bytes nounce>",
|
|
|
|
|
Z: "<64 bytes signature using previously provided signing key>"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
T is the transaction ID from the GXAM
|
|
|
|
|
update exit verify message (EXVM)
|
|
|
|
|
|
|
|
|
|
sent in reply to a UXPM to verify that the path handover was accepted
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
A: "V",
|
|
|
|
|
U: uint64_unique_id,
|
|
|
|
|
V: 0,
|
|
|
|
|
Z: "<64 bytes signature from router's signing key>"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
close exit path message (CXPM)
|
|
|
|
|
|
|
|
|
|
client sends a CXPM when the exit is no longer needed.
|
|
|
|
|
The address used in exit MAY be reused later.
|
|
|
|
|
|
|
|
|
|
{
|
|
|
|
|
A: "C",
|
|
|
|
|
S: uint64_sequence_number,
|
|
|
|
|
T: transaction_id_uint64,
|
|
|
|
|
V: 0,
|
|
|
|
|
Y: "<16 bytes nounce>",
|
|
|
|
|
Z: "<64 bytes signagure using previously provided signing key>"
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|