Fix dynamic UDP SPTPS relaying.
authorEtienne Dechamps <etienne@edechamps.fr>
Sun, 8 Mar 2015 14:20:15 +0000 (14:20 +0000)
committerEtienne Dechamps <etienne@edechamps.fr>
Sun, 8 Mar 2015 14:28:07 +0000 (14:28 +0000)
commit0f8e2cc78cafe47a087d3fc9b480551b841aeb30
treee00cae8948870796c8049506909f1ff4992a94be
parent537c3528863c4736e877c4d1b6c6579940e6df5d
Fix dynamic UDP SPTPS relaying.

Refactoring commit 0e653260478005eb7c824a9a1a3df04f39938cd6 broke UDP
SPTPS relaying by accidently removing try_tx_sptps() logic related to
establishing connectivity to so-called "dynamic" relays (i.e. relays
that are not specified by IndirectData configuration statements, but
are used on-the-fly to circumvent loss of direct UDP connectivity).

Specifically, the TX path was not trying to establish a tunnel to
dynamic relays (nexthop) anymore. This meant that MTU was not being
discovered with dynamic relays, which basically meant that all packets
being sent to dynamic relays went over TCP, thereby defeating the whole
purpose of SPTPS UDP relaying.

Note that this bug could easily go unnoticed if a tunnel was established
with the dynamic tunnel for some other reason (i.e. exchanging actual
data packets with the relay node).
src/net_packet.c