]> git.meshlink.io Git - meshlink/blobdiff - src/net.c
Add the StrictSubnets option.
[meshlink] / src / net.c
index 9b60a31446143dd3cce7c0cafe4da41f6077cfb8..309ebe4e8fb699ebc23bfaaf2561770adebd84c6 100644 (file)
--- a/src/net.c
+++ b/src/net.c
@@ -1,7 +1,7 @@
 /*
     net.c -- most of the network code
     Copyright (C) 1998-2005 Ivo Timmermans,
-                  2000-2009 Guus Sliepen <guus@tinc-vpn.org>
+                  2000-2010 Guus Sliepen <guus@tinc-vpn.org>
                   2006      Scott Lamb <slamb@slamb.org>
 
     This program is free software; you can redistribute it and/or modify
@@ -68,7 +68,7 @@ static void purge(void) {
                        for(snode = n->subnet_tree->head; snode; snode = snext) {
                                snext = snode->next;
                                s = snode->data;
-                               if(!tunnelserver)
+                               if(!strictsubnets)
                                        send_del_subnet(broadcast, s);
                                subnet_del(n, s);
                        }
@@ -374,11 +374,10 @@ int main_loop(void) {
                                dump_connections();
                                return 1;
                        }
-
-                       continue;
                }
 
-               check_network_activity(&readset, &writeset);
+               if(r > 0)
+                       check_network_activity(&readset, &writeset);
 
                if(do_purge) {
                        purge();