Never delete Subnets when StrictSubnets is set
authorSven-Haegar Koch <haegar@ccc.de>
Wed, 10 Mar 2010 01:50:51 +0000 (02:50 +0100)
committerGuus Sliepen <guus@tinc-vpn.org>
Thu, 18 Mar 2010 10:50:45 +0000 (11:50 +0100)
commit292354912f346fe467f557f0dc026b519997289c
treee58f59949c708322ec55ab636ceb22f5ada54547
parent146760bd35b351d58e817ce0e67f5c6f74750cd4
Never delete Subnets when StrictSubnets is set

If a node is unreachable, and not connected to an edge anymore, it gets
deleted. When this happens its subnets are also removed, which should
not happen with StrictSubnets=yes.

Solution:
- do not remove subnets in src/net.c::purge(), we know that all subnets
  in the list came from our hosts files.
  I think here you got the check wrong by looking at the tunnelserver
  code below it - with strictsubnets we still inform others but do not
  remove the subnet from our data.
- do not remove nodes in net.c::purge() that still have subnets
  attached.
src/net.c