prep protocol spec for exit/snode stuff

pull/47/head
Jeff Becker 6 years ago
parent c30d908893
commit a61780b477
No known key found for this signature in database
GPG Key ID: F357B3B42F6F9B05

@ -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>"
}

Loading…
Cancel
Save