along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
- $Id: net.c,v 1.35.4.78 2000/11/20 19:41:10 guus Exp $
+ $Id: net.c,v 1.35.4.81 2000/11/24 23:13:02 guus Exp $
*/
#include "config.h"
myself->status.active = 1;
syslog(LOG_NOTICE, _("Ready: listening on port %hd"), myself->port);
-
- child_pids = list_new();
cp
return 0;
}
if(setup_tap_fd() < 0)
return -1;
- if(setup_myself() < 0)
- return -1;
-
/* Run tinc-up script to further initialize the tap interface */
execute_script("tinc-up");
+ if(setup_myself() < 0)
+ return -1;
+
if(!(cfg = get_config_val(config, config_connectto)))
/* No upstream IP given, we're listen only. */
return 0;
execute_script("tinc-down");
destroy_connection_tree();
-
- syslog(LOG_NOTICE, _("Terminating"));
cp
return;
}
void terminate_connection(connection_t *cl)
{
connection_t *p;
- subnet_t *s;
+ subnet_t *subnet;
rbl_t *rbl;
-
cp
if(cl->status.remove)
return;
if(cl->status.meta)
close(cl->meta_socket);
-cp
/* Find all connections that were lost because they were behind cl
(the connection that was dropped). */
/* Remove the associated subnets */
- rbl_delete_rbltree(cl->subnet_tree);
+ RBL_FOREACH(cl->subnet_tree, rbl)
+ {
+ subnet = (subnet_t *)rbl->data;
+ subnet_del(subnet);
+ }
/* Check if this was our outgoing connection */
if(FD_ISSET(tap_fd, &fset))
handle_tap_input();
}
-
- check_children();
}
cp
}