Don't set up an ongoing connection to myself.
authorEtienne Dechamps <etienne@edechamps.fr>
Sat, 23 May 2015 16:24:05 +0000 (17:24 +0100)
committerEtienne Dechamps <etienne@edechamps.fr>
Sat, 23 May 2015 16:33:32 +0000 (17:33 +0100)
commit3e61c7233b087b8400c29ca7a8d079aad8b706d8
tree4ca514c5227287dcea6c954104c2af6311ae79e2
parent8587e8c0d9ac997fcd2040470c1ccf5930bc18c3
Don't set up an ongoing connection to myself.

It is entirely possible that the configuration file could contain a
ConnectTo statement refering to its own name; that's a reasonable
scenario when one deploys semi-automatically generated tinc.conf files.

Amusingly, tinc does not like that at all, and actually sets up an
outgoing_t structure to myself (which obviously makes no sense). This is
mostly benign, though it does result in non-sensical "Already connected
to myself" messages every retry interval.

However, that also makes things blow up in close_network_connections(),
because there we delete the entire outgoing list and *then* the myself
node, which still has a reference to the freshly deleted outgoing
structure. Boom.
src/net_socket.c