Use datagram SPTPS for packet exchange between nodes.
authorGuus Sliepen <guus@tinc-vpn.org>
Mon, 30 Jul 2012 16:36:59 +0000 (18:36 +0200)
committerGuus Sliepen <guus@tinc-vpn.org>
Mon, 30 Jul 2012 16:36:59 +0000 (18:36 +0200)
commit153abaa4d940bf2bc9bd7275d5efe5c01c354190
tree74e17717496e34dd3957e3f62ac7c5c2efef9aca
parent248d300f1be0d5f2aae39202041699ab2b46c56b
Use datagram SPTPS for packet exchange between nodes.

When two nodes which support SPTPS want to send packets to each other, they now
always use SPTPS. The node initiating the SPTPS session send the first SPTPS
packet via an extended REQ_KEY messages. All other handshake messages are sent
using ANS_KEY messages. This ensures that intermediate nodes using an older
version of tinc can still help with NAT traversal. After the authentication
phase is over, SPTPS packets are sent via UDP, or are encapsulated in extended
REQ_KEY messages instead of PACKET messages.
12 files changed:
src/graph.c
src/meta.c
src/meta.h
src/net.h
src/net_packet.c
src/node.c
src/node.h
src/protocol.h
src/protocol_key.c
src/sptps.c
src/sptps.h
src/sptps_test.c