Replace Opaque and Strict options with a TunnelServer option.
[tinc] / src / subnet.c
index 4541594..ae8d029 100644 (file)
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id: subnet.c,v 1.1.2.48 2003/07/24 12:08:16 guus Exp $
+    $Id: subnet.c,v 1.1.2.51 2003/11/17 15:30:18 guus Exp $
 */
 
 #include "system.h"
@@ -83,7 +83,7 @@ static int subnet_compare_ipv6(const subnet_t *a, const subnet_t *b)
        return strcmp(a->owner->name, b->owner->name);
 }
 
-static int subnet_compare(const subnet_t *a, const subnet_t *b)
+int subnet_compare(const subnet_t *a, const subnet_t *b)
 {
        int result;
 
@@ -145,7 +145,7 @@ subnet_t *new_subnet(void)
 {
        cp();
 
-       return (subnet_t *) xmalloc_and_zero(sizeof(subnet_t));
+       return xmalloc_and_zero(sizeof(subnet_t));
 }
 
 void free_subnet(subnet_t *subnet)
@@ -305,36 +305,34 @@ subnet_t *lookup_subnet(const node_t *owner, const subnet_t *subnet)
 
 subnet_t *lookup_subnet_mac(const mac_t *address)
 {
-       subnet_t subnet = {
-               .type = SUBNET_MAC,
-               .net.mac.address = *address,
-               .owner = NULL
-       };
-       subnet_t *p;
+       subnet_t *p, subnet = {0};
 
        cp();
 
-       p = (subnet_t *) avl_search(subnet_tree, &subnet);
+       subnet.type = SUBNET_MAC;
+       subnet.net.mac.address = *address;
+       subnet.owner = NULL;
+
+       p = avl_search(subnet_tree, &subnet);
 
        return p;
 }
 
 subnet_t *lookup_subnet_ipv4(const ipv4_t *address)
 {
-       subnet_t subnet = {
-               .type = SUBNET_IPV4,
-               .net.ipv4.address = *address,
-               .net.ipv4.prefixlength = 32,
-               .owner = NULL
-       };
-       subnet_t *p;
+       subnet_t *p, subnet = {0};
 
        cp();
 
+       subnet.type = SUBNET_IPV4;
+       subnet.net.ipv4.address = *address;
+       subnet.net.ipv4.prefixlength = 32;
+       subnet.owner = NULL;
+
        do {
                /* Go find subnet */
 
-               p = (subnet_t *) avl_search_closest_smaller(subnet_tree, &subnet);
+               p = avl_search_closest_smaller(subnet_tree, &subnet);
 
                /* Check if the found subnet REALLY matches */
 
@@ -360,20 +358,19 @@ subnet_t *lookup_subnet_ipv4(const ipv4_t *address)
 
 subnet_t *lookup_subnet_ipv6(const ipv6_t *address)
 {
-       subnet_t subnet = {
-               .type = SUBNET_IPV6,
-               .net.ipv6.address = *address,
-               .net.ipv6.prefixlength = 128,
-               .owner = NULL
-       };
-       subnet_t *p;
+       subnet_t *p, subnet = {0};
 
        cp();
 
+       subnet.type = SUBNET_IPV6;
+       subnet.net.ipv6.address = *address;
+       subnet.net.ipv6.prefixlength = 128;
+       subnet.owner = NULL;
+
        do {
                /* Go find subnet */
 
-               p = (subnet_t *) avl_search_closest_smaller(subnet_tree, &subnet);
+               p = avl_search_closest_smaller(subnet_tree, &subnet);
 
                /* Check if the found subnet REALLY matches */
 
@@ -406,7 +403,7 @@ void dump_subnets(void)
        logger(LOG_DEBUG, _("Subnet list:"));
 
        for(node = subnet_tree->head; node; node = node->next) {
-               subnet = (subnet_t *) node->data;
+               subnet = node->data;
                netstr = net2str(subnet);
                logger(LOG_DEBUG, _(" %s owner %s"), netstr, subnet->owner->name);
                free(netstr);