conn_list_t *lookup_conn(ip_t ip)
{
conn_list_t *p = conn_list;
-cp
+
/* Exact match suggested by James B. MacLean */
for(p = conn_list; p != NULL; p = p->next)
if(ip == p->vpn_ip)
cp
if(p->hostname)
free(p->hostname);
- if(p->pp)
- free(p->pp);
if(p->sq)
destroy_queue(p->sq);
if(p->rq)
cp
/* initialise all those stupid pointers at once */
memset(p, '\0', sizeof(*p));
+ p->vpn_mask = (ip_t)(~0L); /* If this isn't done, it would be a
+ wastebucket for all packets with
+ unknown destination. */
p->nexthop = p;
cp
return p;