tinc/src
Etienne Dechamps 10c1f60c64 Try to use UDP to relay SPTPS packets received over TCP.
Currently, when tinc receives a SPTPS packet over TCP via the REQ_KEY
encapsulation mechanism, it forwards it like any other TCP request. This
is inefficient, because even though we received the packet over TCP,
we might have an UDP link with the next hop, which means the packet
could be sent over UDP.

This commit removes that limitation by making sure SPTPS data packets
received through REQ_KEY requests are not forwarded as-is but passed
to send_sptps_data() instead, thereby using the same code path as if
the packet was received over UDP.
2015-05-10 21:08:57 +01:00
..
bsd Add a variable offset to vpn_packet_t, drop sptps_packet_t. 2014-12-25 00:36:27 +01:00
chacha-poly1305 Use the ChaCha-Poly1305 cipher for the SPTPS protocol. 2014-04-14 21:43:45 +02:00
cygwin Add a variable offset to vpn_packet_t, drop sptps_packet_t. 2014-12-25 00:36:27 +01:00
ed25519 Suppress warnings about parsing Ed25519 keys when they are not present. 2015-02-16 08:42:30 +01:00
gcrypt Use conditional compilation for cryptographic functions. 2013-05-01 17:17:22 +02:00
linux Add a variable offset to vpn_packet_t, drop sptps_packet_t. 2014-12-25 00:36:27 +01:00
mingw Merge remote-tracking branch 'dechamps/wintapver' into 1.1 2015-04-12 15:43:05 +02:00
nolegacy Add missing nolegacy/crypto.c and prf.c. 2014-12-30 11:16:08 +01:00
openssl Correctly estimate the initial MTU for legacy packets. 2015-01-10 23:00:51 +01:00
solaris Add a variable offset to vpn_packet_t, drop sptps_packet_t. 2014-12-25 00:36:27 +01:00
buffer.c Fix whitespace. 2012-10-10 17:17:49 +02:00
buffer.h Always compact the buffer if it has reached MAXBUFSIZE. 2011-05-22 13:24:01 +02:00
cipher.h Correctly estimate the initial MTU for legacy packets. 2015-01-10 23:00:51 +01:00
conf.c Update copyright notices. 2014-02-07 20:38:48 +01:00
conf.h Releasing 1.1pre5. 2013-01-20 21:03:22 +01:00
connection.c Allow tinc to be compiled without OpenSSL. 2014-12-29 22:57:18 +01:00
connection.h Allow tinc to be compiled without OpenSSL. 2014-12-29 22:57:18 +01:00
control.c Remove redundant connection_t::status.active field. 2014-07-12 14:21:48 +02:00
control.h Use the TCP socket infrastructure for control sockets. 2009-11-07 23:43:25 +01:00
control_common.h Update copyright notices. 2012-10-14 17:42:49 +02:00
crypto.h Add generic crypto headers. 2013-05-01 17:58:30 +02:00
device.h Remove unused device stats variables. 2014-07-12 13:34:19 +01:00
digest.h Allow tinc to be compiled without OpenSSL. 2014-12-29 22:57:18 +01:00
dropin.c Update copyright notices. 2013-08-13 20:38:57 +02:00
dropin.h Update copyright notices. 2013-08-13 20:38:57 +02:00
dummy_device.c Don't print device statistics when exiting tinc. 2013-12-08 20:23:44 +01:00
ecdh.h Use Ed25519 keys. 2014-04-06 22:47:26 +02:00
ecdsa.h Add __attribute__((warn_unused_result)) to crypto functions. 2013-05-10 20:23:01 +02:00
ecdsagen.h Add __attribute__((warn_unused_result)) to crypto functions. 2013-05-10 20:23:01 +02:00
edge.c Add local address information to edges. 2014-06-29 11:23:14 +01:00
edge.h Add local address information to edges. 2014-06-29 11:23:14 +01:00
ethernet.h Make sure packet header structures are correctly packed on Windows. 2015-03-15 10:12:18 +00:00
event.c Fix event loop io tree inconsistency on Windows. 2014-07-06 12:43:22 +01:00
event.h Remove the TAP-Win32 reader thread. 2014-06-28 20:00:05 +01:00
fake-gai-errnos.h Add missing definitions on Windows. 2013-07-17 18:00:40 +02:00
fake-getaddrinfo.c Rename xmalloc_and_zero() to xzalloc(). 2013-05-01 17:31:33 +02:00
fake-getaddrinfo.h Fix whitespace. 2012-10-10 17:17:49 +02:00
fake-getnameinfo.c Fix whitespace. 2012-10-10 17:17:49 +02:00
fake-getnameinfo.h Fix whitespace. 2012-10-10 17:17:49 +02:00
fsck.c Fix invalid getuid() call on Windows. 2015-03-14 16:07:54 +00:00
fsck.h Add the "fsck" command to the CLI. 2015-01-15 23:06:38 +01:00
getopt.c Use conditional compilation for device.c. 2013-05-01 12:20:06 +02:00
getopt.h Move source from lib/ to src/. 2009-12-31 13:19:13 +01:00
getopt1.c Use conditional compilation for device.c. 2013-05-01 12:20:06 +02:00
graph.c Keep track of the largest UDP packet size received from a node. 2015-01-11 16:10:58 +01:00
graph.h Update copyright notices. 2012-03-10 13:23:08 +01:00
hash.c Add an explicit hash_delete() function. 2014-12-07 22:10:16 +01:00
hash.h Add an explicit hash_delete() function. 2014-12-07 22:10:16 +01:00
have.h Always call res_init() before getaddrinfo(). 2015-02-09 15:16:36 +01:00
info.c Introduce node IDs. 2014-10-04 11:13:59 +01:00
info.h Add readline completion for tincctl config and tincctl info. 2012-08-03 13:23:07 +02:00
invitation.c Allow tinc to be compiled without OpenSSL. 2014-12-29 22:57:18 +01:00
invitation.h Add an invitation protocol. 2013-05-29 18:31:10 +02:00
ipv4.h Make sure packet header structures are correctly packed on Windows. 2015-03-15 10:12:18 +00:00
ipv6.h Make sure packet header structures are correctly packed on Windows. 2015-03-15 10:12:18 +00:00
list.c Update copyright notices. 2013-08-13 20:38:57 +02:00
list.h Update copyright notices. 2012-10-14 17:42:49 +02:00
logger.c Releasing 1.1pre5. 2013-01-20 21:03:22 +01:00
logger.h tincctl: Use replace_name to properly replace and validate input hostnames 2014-08-25 09:19:56 +02:00
Makefile.am Add support for out-of-tree ("VPATH") builds. 2015-05-09 16:41:48 +01:00
meta.c Allow tinc to be compiled without OpenSSL. 2014-12-29 22:57:18 +01:00
meta.h Use void pointers for opaque data blobs in the SPTPS code. 2014-12-24 22:15:40 +01:00
multicast_device.c Add a variable offset to vpn_packet_t, drop sptps_packet_t. 2014-12-25 00:36:27 +01:00
names.c Better default paths for log and PID files on Windows. 2014-12-27 09:08:34 +01:00
names.h Don't try to mkdir(CONFDIR) if --config is used. 2013-09-08 15:03:06 +02:00
net.c Always call res_init() before getaddrinfo(). 2015-02-09 15:16:36 +01:00
net.h Expose the raw SPTPS send interface from net_packet. 2015-05-10 21:08:57 +01:00
net_packet.c Expose the raw SPTPS send interface from net_packet. 2015-05-10 21:08:57 +01:00
net_setup.c Fix a possible segmentation fault during key upgrades. 2015-04-24 23:43:19 +02:00
net_socket.c Set the default for UDPRcvBuf and UDPSndBuf to 1M. 2015-03-15 18:04:55 +00:00
netutl.c Fix HAVE_DECL_RES_INIT conditionals. 2015-03-14 16:22:26 +00:00
netutl.h Update copyright notices. 2013-08-13 20:38:57 +02:00
node.c Keep track of the largest UDP packet size received from a node. 2015-01-11 16:10:58 +01:00
node.h Throttle the rate of MTU_INFO messages. 2015-03-14 13:39:05 +00:00
prf.h Add __attribute__((warn_unused_result)) to crypto functions. 2013-05-10 20:23:01 +02:00
process.c Use git description as the tinc version. 2015-05-04 21:38:23 +01:00
process.h Shutdown cleanly when receiving a Windows console shutdown request. 2014-07-12 17:47:01 +01:00
protocol.c Fix typo 0fda572c88 that prevented some errors from being logged. 2015-04-24 23:51:29 +02:00
protocol.h Add MTU_INFO protocol message. 2015-03-14 13:39:05 +00:00
protocol_auth.c Allow one-sided upgrades to Ed25519. 2015-04-24 23:40:20 +02:00
protocol_edge.c Add local address information to edges. 2014-06-29 11:23:14 +01:00
protocol_key.c Try to use UDP to relay SPTPS packets received over TCP. 2015-05-10 21:08:57 +01:00
protocol_misc.c Throttle the rate of MTU_INFO messages. 2015-03-14 13:39:05 +00:00
protocol_subnet.c Update copyright notices. 2012-10-14 17:42:49 +02:00
raw_socket_device.c Add a variable offset to vpn_packet_t, drop sptps_packet_t. 2014-12-25 00:36:27 +01:00
route.c Add a variable offset to vpn_packet_t, drop sptps_packet_t. 2014-12-25 00:36:27 +01:00
route.h Fix whitespace. 2012-10-10 17:17:49 +02:00
rsa.h Add __attribute__((warn_unused_result)) to crypto functions. 2013-05-10 20:23:01 +02:00
rsagen.h Add __attribute__((warn_unused_result)) to crypto functions. 2013-05-10 20:23:01 +02:00
script.c Remove an unnecessary pointer dereference in execute_script(). 2014-07-12 13:34:08 +01:00
script.h Use PATHEXT when checking for the presence of scripts on Windows. 2013-08-23 21:23:46 +02:00
splay_tree.c Update copyright notices. 2013-08-13 20:38:57 +02:00
splay_tree.h Update copyright notices. 2013-08-13 20:38:57 +02:00
sptps.c Don't abort() willy-nilly in SPTPS code. 2015-03-08 17:35:06 +00:00
sptps.h Use void pointers for opaque data blobs in the SPTPS code. 2014-12-24 22:15:40 +01:00
sptps_keypair.c tincctl: Use replace_name to properly replace and validate input hostnames 2014-08-25 09:19:56 +02:00
sptps_speed.c Use void pointers for opaque data blobs in the SPTPS code. 2014-12-24 22:15:40 +01:00
sptps_test.c Fix segfault when sptps_test cannot open the key files. 2015-01-11 01:52:37 +01:00
subnet.c Fix memory leaks found by Valgrind. 2014-12-24 17:31:33 +01:00
subnet.h Update copyright notices. 2012-10-14 17:42:49 +02:00
subnet_parse.c Fix unsafe use of strncpy() and sprintf(). 2014-07-12 14:35:29 +02:00
system.h Update copyright notices. 2013-08-13 20:38:57 +02:00
tincctl.c Fix typo in tincctl help. 2015-05-09 00:03:51 +02:00
tincctl.h Add the "fsck" command to the CLI. 2015-01-15 23:06:38 +01:00
tincd.c Use git description as the tinc version. 2015-05-04 21:38:23 +01:00
top.c Resolve KEY_EVENT conflict between Windows and ncurses. 2014-07-12 13:34:19 +01:00
top.h Add top.h. 2011-05-16 09:48:19 +02:00
uml_device.c Add a variable offset to vpn_packet_t, drop sptps_packet_t. 2014-12-25 00:36:27 +01:00
utils.c Fix undefined HOST_NAME_MAX on Windows. 2014-08-31 13:59:30 +01:00
utils.h utils: Refactor check_id out of protocol for global access 2014-08-25 09:19:54 +02:00
vde_device.c Add a variable offset to vpn_packet_t, drop sptps_packet_t. 2014-12-25 00:36:27 +01:00
version.c Use git description as the tinc version. 2015-05-04 21:38:23 +01:00
version.h Use git description as the tinc version. 2015-05-04 21:38:23 +01:00
xalloc.h Don't use vasprintf() anymore on Windows. 2013-07-17 18:06:56 +02:00