Meta protocol overhaul. Tinc is now incompatible with previous versions,
[tinc] / src / netutl.c
index 417092e..df6401f 100644 (file)
@@ -42,7 +42,7 @@
 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)
@@ -81,8 +81,6 @@ void free_conn_element(conn_list_t *p)
 cp
   if(p->hostname)
     free(p->hostname);
-  if(p->pp)
-    free(p->pp);
   if(p->sq)
     destroy_queue(p->sq);
   if(p->rq)
@@ -126,10 +124,13 @@ cp
 */
 conn_list_t *new_conn_list(void)
 {
-  conn_list_t *p = xmalloc(sizeof(conn_list_t));
+  conn_list_t *p = xmalloc(sizeof(*p));
 cp
   /* initialise all those stupid pointers at once */
-  memset(p, '\0', sizeof(conn_list_t));
+  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;
@@ -213,7 +214,7 @@ cp
        return NULL;
     }
 
-  ip = xmalloc(sizeof(ip_mask_t));
+  ip = xmalloc(sizeof(*ip));
   ip->ip = ntohl(*((ip_t*)(h->h_addr_list[0])));
 
   ip->mask = masker ? ~((1 << (32 - masker)) - 1) : 0;