removed olsr_cnf->ip_version from anything the config parser uses
authorSven-Ola Tuecke <sven-ola@gmx.de>
Fri, 16 Jan 2009 17:02:04 +0000 (18:02 +0100)
committerSven-Ola Tuecke <sven-ola@gmx.de>
Fri, 16 Jan 2009 17:02:04 +0000 (18:02 +0100)
42 files changed:
gui/win32/mk.sh [changed mode: 0644->0755]
gui/win32/win32verify.c
lib/bmf/src/Bmf.c
lib/bmf/src/NetworkInterfaces.c
lib/dyn_gw/src/olsrd_dyn_gw.c
lib/dyn_gw_plain/src/olsrd_dyn_gw_plain.c
lib/httpinfo/src/olsrd_httpinfo.c
lib/httpinfo/src/olsrd_plugin.h
lib/nameservice/src/mapwrite.c
lib/nameservice/src/nameservice.c
lib/quagga/src/quagga.c
lib/txtinfo/src/olsrd_plugin.c
lib/txtinfo/src/olsrd_txtinfo.c
lib/txtinfo/src/olsrd_txtinfo.h
src/bsd/kernel_routes.c
src/build_msg.c
src/hna_set.c
src/interfaces.c
src/ipc_frontend.c
src/ipcalc.c
src/ipcalc.h
src/link_set.c
src/lq_packet.c
src/mpr_selector_set.c
src/neighbor_table.c
src/olsr.h
src/olsr_cfg.c
src/olsr_ip_acl.c
src/olsr_ip_acl.h
src/olsr_ip_prefix_list.c
src/olsr_ip_prefix_list.h
src/parser.c
src/plugin_util.c
src/plugin_util.h
src/process_package.c
src/process_routes.c
src/routing_table.c
src/routing_table.h
src/tc_set.c
src/two_hop_neighbor_table.c
src/unix/ifnet.c
src/win32/ifnet.c

old mode 100644 (file)
new mode 100755 (executable)
index 23cc0b7..ed08c6f 100644 (file)
@@ -6,8 +6,11 @@
 #include "olsr_cfg_gen.h"
 
 bool disp_pack_out = false;
+
+#ifndef NODEBUG
 FILE *debug_handle = NULL;
-//struct olsr_config *olsr_cnf = NULL;
+struct olsr_config *olsr_cnf;
+#endif
 
 void *olsr_malloc(size_t size, const char *id __attribute__ ((unused)))
 {
@@ -59,7 +62,9 @@ static int write_cnf(struct olsr_config *cnf, const char *fname)
 int main(int argc, char *argv[])
 {
   int i, ret = 0;
+#ifndef NODEBUG
   debug_handle = stdout;
+#endif
   for (i = 1; i < argc; i++) {
     struct olsr_config *cfg_tmp;
     char cfg_msg[FILENAME_MAX + 256];
index b8848c7..b93bde8 100644 (file)
@@ -299,7 +299,7 @@ static void BmfPacketCaptured(
 
   /* Only forward multicast packets. If configured, also forward local broadcast packets */
   if (IsMulticast(&dst) ||
-      (EnableLocalBroadcast != 0 && ipequal(&dst, &intf->broadAddr)))
+      (EnableLocalBroadcast != 0 && olsr_ipequal(&dst, &intf->broadAddr)))
   {
     /* continue */
   }
@@ -938,7 +938,7 @@ static void BmfTunPacketCaptured(unsigned char* encapsulationUdpData)
 
   /* Only forward multicast packets. If configured, also forward local broadcast packets */
   if (IsMulticast(&dstIp) ||
-      (EnableLocalBroadcast != 0 && ipequal(&dstIp, &broadAddr)))
+      (EnableLocalBroadcast != 0 && olsr_ipequal(&dstIp, &broadAddr)))
   {
     /* continue */
   }
index 742a7ec..912e4bd 100644 (file)
@@ -448,7 +448,7 @@ void FindNeighbors(
     float currEtx;
 
     /* Consider only links from the specified interface */
-    if (! ipequal(&intf->intAddr, &walker->local_iface_addr))
+    if (! olsr_ipequal(&intf->intAddr, &walker->local_iface_addr))
     {
       continue; /* for */
     }
@@ -464,7 +464,7 @@ void FindNeighbors(
 
     /* Consider only neighbors with an IP address that differs from the
      * passed IP addresses (if passed). Rely on short-circuit boolean evaluation. */
-    if (source != NULL && ipequal(neighborMainIp, MainAddressOf(source)))
+    if (source != NULL && olsr_ipequal(neighborMainIp, MainAddressOf(source)))
     {
       OLSR_PRINTF(
         9,
@@ -476,7 +476,7 @@ void FindNeighbors(
     }
 
     /* Rely on short-circuit boolean evaluation */
-    if (forwardedBy != NULL && ipequal(neighborMainIp, MainAddressOf(forwardedBy)))
+    if (forwardedBy != NULL && olsr_ipequal(neighborMainIp, MainAddressOf(forwardedBy)))
     {
       OLSR_PRINTF(
         9,
@@ -488,7 +488,7 @@ void FindNeighbors(
     }
 
     /* Rely on short-circuit boolean evaluation */
-    if (forwardedTo != NULL && ipequal(neighborMainIp, MainAddressOf(forwardedTo)))
+    if (forwardedTo != NULL && olsr_ipequal(neighborMainIp, MainAddressOf(forwardedTo)))
     {
       OLSR_PRINTF(
         9,
index 4d5223c..081acce 100644 (file)
@@ -262,7 +262,7 @@ olsr_event_doing_hna(void *foo __attribute__((unused)))
                        ip_prefix_list_add(&olsr_cnf->hna_entries, &li->hna_net, li->hna_prefixlen);
                        li->hna_added=1;
                }else if((li->probe_ok==0)&&(li->hna_added==1)){
-                       while(ip_prefix_list_remove(&olsr_cnf->hna_entries, &li->hna_net, li->hna_prefixlen)) {
+                       while(ip_prefix_list_remove(&olsr_cnf->hna_entries, &li->hna_net, li->hna_prefixlen, olsr_cnf->ip_version)) {
                                OLSR_PRINTF(1, "Removing OLSR local HNA entry\n");
                        }
                        li->hna_added=0;
index 7bb4517..4233bf1 100644 (file)
@@ -94,7 +94,7 @@ olsrd_plugin_init(void)
   has_inet_gateway = 0;
 
   /* Remove all local Inet HNA entries */
-  while(ip_prefix_list_remove(&olsr_cnf->hna_entries, &gw_net, olsr_netmask_to_prefix(&gw_netmask))) {
+  while(ip_prefix_list_remove(&olsr_cnf->hna_entries, &gw_net, olsr_netmask_to_prefix(&gw_netmask), olsr_cnf->ip_version)) {
     OLSR_PRINTF(DEBUGLEV, "HNA Internet gateway deleted\n");
   }
 
@@ -189,7 +189,7 @@ void olsr_event(void* foo __attribute__((unused)))
   }
   else if (0 == res && 1 == has_inet_gateway) {
     /* Remove all local Inet HNA entries */
-    while(ip_prefix_list_remove(&olsr_cnf->hna_entries, &gw_net, olsr_netmask_to_prefix(&gw_netmask))) {
+    while(ip_prefix_list_remove(&olsr_cnf->hna_entries, &gw_net, olsr_netmask_to_prefix(&gw_netmask), olsr_cnf->ip_version)) {
       OLSR_PRINTF(DEBUGLEV, "Removing OLSR local HNA entry for Internet\n");
     }
     has_inet_gateway = 0;
index 391af31..a319e6a 100644 (file)
@@ -401,7 +401,7 @@ parse_http_request(int fd, void *data __attribute__((unused)), unsigned int flag
     ipaddr = (union olsr_ip_addr *)&addr6->sin6_addr;
   }
 
-  if (!ip_acl_acceptable(&allowed_nets, ipaddr)) {
+  if (!ip_acl_acceptable(&allowed_nets, ipaddr, olsr_cnf->ip_version)) {
     struct ipaddr_str strbuf;
     OLSR_PRINTF(0, "HTTP request from non-allowed host %s!\n",
                 olsr_ip_to_string(&strbuf, ipaddr));
index deb5d69..0c1a117 100644 (file)
@@ -63,7 +63,6 @@
 #include "mid_set.h"
 #include "mpr_selector_set.h"
 #include "routing_table.h"
-#include "olsr_ip_acl.h"
 
 #define PLUGIN_NAME    "OLSRD httpinfo plugin"
 #define PLUGIN_VERSION "0.1"
index 7618655..bbbd381 100644 (file)
@@ -58,7 +58,7 @@ static char* lookup_position_latlon(union olsr_ip_addr *ip)
   struct db_entry *entry;
   struct list_node *list_head, *list_node;
 
-  if (ipequal(ip, &olsr_cnf->router_id)) {
+  if (olsr_ipequal(ip, &olsr_cnf->router_id)) {
     return my_latlon_str;
   }
 
@@ -69,7 +69,7 @@ static char* lookup_position_latlon(union olsr_ip_addr *ip)
 
           entry = list2db(list_node);
 
-      if (entry->names && ipequal(&entry->originator, ip)) {
+      if (entry->names && olsr_ipequal(&entry->originator, ip)) {
         return entry->names->name;
       }
     }
index 6acf86a..4d6828a 100644 (file)
@@ -402,7 +402,7 @@ name_init(void)
        //for service
 
        for (name = my_names; name != NULL; name = name->next) {
-               if (ipequal(&name->ip, &ipz)) {
+               if (olsr_ipequal(&name->ip, &ipz)) {
                        OLSR_PRINTF(2, "NAME PLUGIN: insert main addr for name %s \n", name->name);
                        name->ip = olsr_cnf->router_id;
                }
@@ -699,7 +699,7 @@ olsr_parser(union olsr_message *m,
 
        /* Check if message originated from this node.
        If so - back off */
-       if(ipequal(&originator, &olsr_cnf->router_id))
+       if(olsr_ipequal(&originator, &olsr_cnf->router_id))
                return false;
 
        /* Check that the neighbor this message was received from is symmetric.
@@ -856,7 +856,7 @@ decap_namemsg(struct name *from_packet, struct name_entry **to, bool *this_table
                        OLSR_PRINTF(4, "NAME PLUGIN: received name or service entry %s (%s) already in hash table\n",
                                name, olsr_ip_to_string(&strbuf, &already_saved_name_entries->ip));
                        return;
-               } else if (type_of_from_packet==NAME_FORWARDER && ipequal(&already_saved_name_entries->ip, &from_packet->ip) ) {
+               } else if (type_of_from_packet==NAME_FORWARDER && olsr_ipequal(&already_saved_name_entries->ip, &from_packet->ip) ) {
                        OLSR_PRINTF(4, "NAME PLUGIN: received forwarder entry %s (%s) already in hash table\n",
                                name, olsr_ip_to_string(&strbuf, &already_saved_name_entries->ip));
                        return;
@@ -873,7 +873,7 @@ decap_namemsg(struct name *from_packet, struct name_entry **to, bool *this_table
                                *this_table_changed = true;
                                olsr_start_write_file_timer();
                        }
-                       if (!ipequal(&already_saved_name_entries->ip, &from_packet->ip))
+                       if (!olsr_ipequal(&already_saved_name_entries->ip, &from_packet->ip))
                        {
                                struct ipaddr_str strbuf2, strbuf3;
                                OLSR_PRINTF(4, "NAME PLUGIN: updating ip %s -> %s (%s)\n",
@@ -1001,7 +1001,7 @@ insert_new_name_in_list(union olsr_ip_addr *originator,
 
                entry = list2db(list_node);
 
-               if (ipequal(originator, &entry->originator)) {
+               if (olsr_ipequal(originator, &entry->originator)) {
                        struct ipaddr_str strbuf;
                        // found
                        OLSR_PRINTF(4, "NAME PLUGIN: found entry for (%s) in its hash table\n",
@@ -1517,7 +1517,7 @@ allowed_ip(const union olsr_ip_addr *addr)
 
        OLSR_FOR_ALL_INTERFACES(iface) {
                OLSR_PRINTF(6, "interface %s\n", olsr_ip_to_string(&strbuf, &iface->ip_addr));
-               if (ipequal(&iface->ip_addr, addr)) {
+               if (olsr_ipequal(&iface->ip_addr, addr)) {
                        OLSR_PRINTF(6, "MATCHED\n");
                        return true;
                }
@@ -1548,7 +1548,7 @@ allowed_ip(const union olsr_ip_addr *addr)
                        for (i = 0; i < sizeof(tmp_ip.v6.s6_addr); i++) {
                                tmp_ip.v6.s6_addr[i] = addr->v6.s6_addr[i] & tmp_msk.v6.s6_addr[i];
                        }
-                       if (ipequal(&tmp_ip, &hna->net.prefix)) {
+                       if (olsr_ipequal(&tmp_ip, &hna->net.prefix)) {
                                OLSR_PRINTF(6, "MATCHED\n");
                                return true;
                        }
@@ -1715,7 +1715,7 @@ lookup_name_latlon(union olsr_ip_addr *ip)
                        entry = list2db(list_node);
 
                        for (name = entry->names; name != NULL; name = name->next) {
-                               if (ipequal(&name->ip, ip)) return name->name;
+                               if (olsr_ipequal(&name->ip, ip)) return name->name;
                        }
                }
        }
index c29543b..769dcb9 100644 (file)
@@ -284,7 +284,7 @@ void zebra_parse (void* foo __attribute__((unused))) {
           break;
         case ZEBRA_IPV4_ROUTE_DELETE:
           route = zebra_parse_route(f);
-          ip_prefix_list_remove(&olsr_cnf->hna_entries, &route->prefix, route->prefixlen);
+          ip_prefix_list_remove(&olsr_cnf->hna_entries, &route->prefix, route->prefixlen, olsr_cnf->ip_version);
           free_ipv4_route (route);
           free (route);
           break;
index bf5440a..27dc78b 100644 (file)
@@ -56,7 +56,6 @@
 #include "ipcalc.h"
 #include "olsr_cfg.h"
 #include "olsr.h"
-#include "olsr_ip_acl.h"
 
 #define PLUGIN_NAME    "OLSRD txtinfo plugin"
 #define PLUGIN_VERSION "0.1"
index 91e32fc..14dec1d 100644 (file)
@@ -262,7 +262,7 @@ static void ipc_action(int fd, void *data __attribute__((unused)), unsigned int
       ipaddr = (union olsr_ip_addr *)&addr6->sin6_addr;
     }
 
-    if (!ip_acl_acceptable(&allowed_nets, ipaddr)) {
+    if (!ip_acl_acceptable(&allowed_nets, ipaddr, olsr_cnf->ip_version)) {
       OLSR_PRINTF(1, "(TXTINFO) From host(%s) not allowed!\n", addr);
       CLOSESOCKET(http_connection);
       return;
index 32b2040..08304fd 100644 (file)
@@ -49,7 +49,6 @@
 #include "olsr_types.h"
 #include "plugin.h"
 #include "plugin_util.h"
-#include "olsr_ip_acl.h"
 
 extern struct ip_acl allowed_nets;
 
index e4b81a4..81fa16a 100644 (file)
@@ -79,7 +79,7 @@ olsr_rt_flags(const struct rt_entry *rt)
 
   nh = olsr_get_nh(rt);
 
-  if(!ipequal(&rt->rt_dst.prefix, &nh->gateway)) {
+  if(!olsr_ipequal(&rt->rt_dst.prefix, &nh->gateway)) {
     flags |= RTF_GATEWAY;
   }
 
index e8d1a8e..72abda4 100644 (file)
@@ -201,7 +201,7 @@ serialize_mid4(struct interface *ifp)
 
   /* Don't add the main address... it's already there */
   OLSR_FOR_ALL_INTERFACES(ifs) {
-      if(!ipequal(&olsr_cnf->router_id, &ifs->ip_addr))
+      if(!olsr_ipequal(&olsr_cnf->router_id, &ifs->ip_addr))
        {
 #ifdef DEBUG
           struct ipaddr_str buf;
@@ -304,7 +304,7 @@ serialize_mid6(struct interface *ifp)
 
   /* Don't add the main address... it's already there */
   OLSR_FOR_ALL_INTERFACES(ifs) {
-      if(!ipequal(&olsr_cnf->router_id, &ifs->ip_addr))
+      if(!olsr_ipequal(&olsr_cnf->router_id, &ifs->ip_addr))
        {
 #ifdef DEBUG
           struct ipaddr_str buf;
index 4836678..0e2cab1 100644 (file)
@@ -301,7 +301,7 @@ olsr_input_hna(union olsr_message *msg,
     pkt_get_prefixlen(&curr, &prefix.prefix_len);
 
     if (!ip_prefix_list_find(&olsr_cnf->hna_entries, &prefix.prefix,
-                             prefix.prefix_len)) {
+                             prefix.prefix_len, olsr_cnf->ip_version)) {
       /*
        * Only update if it's not from us.
        */
index 3da6bda..e3d7dbf 100644 (file)
@@ -187,7 +187,7 @@ remove_interface(struct interface **pinterf)
   net_remove_buffer(ifp);
 
   /* Check main addr */
-  if (!olsr_cnf->fixed_origaddr && ipequal(&olsr_cnf->router_id, &ifp->ip_addr)) {
+  if (!olsr_cnf->fixed_origaddr && olsr_ipequal(&olsr_cnf->router_id, &ifp->ip_addr)) {
     if (list_is_empty(&interface_head)) {
       /* No more interfaces */
       memset(&olsr_cnf->router_id, 0, olsr_cnf->ipsize);
index 35e5fcb..3a49f66 100644 (file)
@@ -189,7 +189,7 @@ ipc_check_allowed_ip(union olsr_ip_addr *addr)
   }
 
   /* check nets */
-  return ip_acl_acceptable(&olsr_cnf->ipc_nets, addr);
+  return ip_acl_acceptable(&olsr_cnf->ipc_nets, addr, olsr_cnf->ip_version);
 }
 
 static void
index b6e1f9c..5611d73 100644 (file)
@@ -114,10 +114,10 @@ ip_prefix_to_string(int af, struct ipprefix_str * const buf, const struct olsr_i
 /* see if the ipaddr is in the net. That is equivalent to the fact that the net part
  * of both are equal. So we must compare the first <prefixlen> bits.
  */
-int ip_in_net(const union olsr_ip_addr *ipaddr, const struct olsr_ip_prefix *net)
+int ip_in_net(const union olsr_ip_addr *ipaddr, const struct olsr_ip_prefix *net, int ip_version)
 {
   int rv;
-  if(olsr_cnf->ip_version == AF_INET) {
+  if(ip_version == AF_INET) {
     uint32_t netmask = ntohl(prefix_to_netmask4(net->prefix_len));
     rv = (ipaddr->v4.s_addr & netmask) == (net->prefix.v4.s_addr & netmask);
   } else {
index 8f4351e..c5072f9 100644 (file)
@@ -69,15 +69,18 @@ static INLINE int ip4equal(const struct in_addr *a, const struct in_addr *b) { r
 static INLINE int ip6cmp(const struct in6_addr *a, const struct in6_addr *b) { return memcmp(a, b, sizeof(*a)); }
 static INLINE int ip6equal(const struct in6_addr *a, const struct in6_addr *b) { return ip6cmp(a, b) == 0; }
 
-static INLINE int ipcmp(const union olsr_ip_addr *a, const union olsr_ip_addr *b) { return olsr_cnf->ip_version == AF_INET ? ip4cmp(&a->v4, &b->v4) : ip6cmp(&a->v6, &b->v6); }
-static INLINE int ipequal(const union olsr_ip_addr *a, const union olsr_ip_addr *b) { return olsr_cnf->ip_version == AF_INET ? ip4equal(&a->v4, &b->v4) : ip6equal(&a->v6, &b->v6); }
+static INLINE int ipcmp(int ip_version, const union olsr_ip_addr *a, const union olsr_ip_addr *b) { return ip_version == AF_INET ? ip4cmp(&a->v4, &b->v4) : ip6cmp(&a->v6, &b->v6); }
+static INLINE int ipequal(int ip_version, const union olsr_ip_addr *a, const union olsr_ip_addr *b) { return ip_version == AF_INET ? ip4equal(&a->v4, &b->v4) : ip6equal(&a->v6, &b->v6); }
+
+static INLINE int olsr_ipcmp(const union olsr_ip_addr *a, const union olsr_ip_addr *b) { return ipcmp(olsr_cnf->ip_version, a, b); }
+static INLINE int olsr_ipequal(const union olsr_ip_addr *a, const union olsr_ip_addr *b) { return ipequal(olsr_cnf->ip_version, a, b); }
 
 /* Do not use this - this is as evil as the COPY_IP() macro was and only used in
  * source which also needs cleanups.
  */
 static INLINE void genipcopy(void *dst, const void *src) { memcpy(dst, src, olsr_cnf->ipsize); }
 
-int EXPORT(ip_in_net)(const union olsr_ip_addr *ipaddr, const struct olsr_ip_prefix *net);
+int ip_in_net(const union olsr_ip_addr *ipaddr, const struct olsr_ip_prefix *net, int ip_version);
 
 
 int EXPORT(prefix_to_netmask)(uint8_t *, int, uint8_t);
index b0bdf39..90c219e 100644 (file)
@@ -201,7 +201,7 @@ get_best_link_to_neighbor(const union olsr_ip_addr *remote)
   OLSR_FOR_ALL_LINK_ENTRIES(walker) {
 
     /* if this is not a link to the neighour in question, skip */
-    if (!ipequal(&walker->neighbor->neighbor_main_addr, main_addr))
+    if (!olsr_ipequal(&walker->neighbor->neighbor_main_addr, main_addr))
       continue;
 
     /* get the link cost */
@@ -213,7 +213,7 @@ get_best_link_to_neighbor(const union olsr_ip_addr *remote)
      */
     if ((tmp_lc < curr_lcost) ||
         ((tmp_lc == curr_lcost) &&
-         ipequal(&walker->local_iface_addr, remote))) {
+         olsr_ipequal(&walker->local_iface_addr, remote))) {
 
       /* memorize the link quality */
       curr_lcost = tmp_lc;
@@ -258,8 +258,8 @@ set_loss_link_multiplier(struct link_entry *entry)
      * use the default multiplier only if there isn't any entry that
      * has a matching IP address.
      */
-    if ((val == 0 && ipequal(&mult->addr, &all_zero)) ||
-       ipequal(&mult->addr, &entry->neighbor_iface_addr)) {
+    if ((val == 0 && olsr_ipequal(&mult->addr, &all_zero)) ||
+       olsr_ipequal(&mult->addr, &entry->neighbor_iface_addr)) {
       val = mult->value;
     }
   }
@@ -566,7 +566,7 @@ check_neighbor_link(const union olsr_ip_addr *int_addr)
   struct link_entry *link;
 
   OLSR_FOR_ALL_LINK_ENTRIES(link) {
-    if (ipequal(int_addr, &link->neighbor_iface_addr)) {
+    if (olsr_ipequal(int_addr, &link->neighbor_iface_addr)) {
       return lookup_link_status(link);
     }
   } OLSR_FOR_ALL_LINK_ENTRIES_END(link);
@@ -590,12 +590,12 @@ lookup_link_entry(const union olsr_ip_addr *remote,
   struct link_entry *link;
 
   OLSR_FOR_ALL_LINK_ENTRIES(link) {
-    if (ipequal(remote, &link->neighbor_iface_addr) &&
+    if (olsr_ipequal(remote, &link->neighbor_iface_addr) &&
        (link->if_name ? !strcmp(link->if_name, local->int_name)
-        : ipequal(&local->ip_addr, &link->local_iface_addr)))
+        : olsr_ipequal(&local->ip_addr, &link->local_iface_addr)))
     {
       /* check the remote-main address only if there is one given */
-      if (NULL != remote_main && !ipequal(remote_main, &link->neighbor->neighbor_main_addr))
+      if (NULL != remote_main && !olsr_ipequal(remote_main, &link->neighbor->neighbor_main_addr))
       {
         /* Neighbor has changed it's main_addr, update */
         struct ipaddr_str oldbuf, newbuf;
@@ -727,7 +727,7 @@ check_link_status(const struct lq_hello_message *message,
      * Note: If a neigh has 2 cards we can reach, the neigh
      * will send a Hello with the same IP mentined twice
      */
-    if (ipequal(&neighbors->addr, &in_if->ip_addr)) {
+    if (olsr_ipequal(&neighbors->addr, &in_if->ip_addr)) {
       ret = neighbors->link_type;
       if (SYM_LINK == ret) {
        break;
index deb08e8..e6b2e6e 100644 (file)
@@ -92,7 +92,7 @@ create_lq_hello(struct lq_hello_message *lq_hello, struct interface *outif)
     struct lq_hello_neighbor *neigh = olsr_malloc_lq_hello_neighbor();
 
     // a) this neighbor interface IS NOT visible via the output interface
-    if(!ipequal(&walker->local_iface_addr, &outif->ip_addr))
+    if(!olsr_ipequal(&walker->local_iface_addr, &outif->ip_addr))
       neigh->link_type = UNSPEC_LINK;
 
     // b) this neighbor interface IS visible via the output interface
index c52da51..57aecb1 100644 (file)
@@ -129,7 +129,7 @@ olsr_lookup_mprs_set(const union olsr_ip_addr *addr)
   }
   //OLSR_PRINTF(1, "MPRS: Lookup....");
   FOR_ALL_MPRS_ENTRIES(mprs) {
-    if (ipequal(&mprs->MS_main_addr, addr)) {
+    if (olsr_ipequal(&mprs->MS_main_addr, addr)) {
       //OLSR_PRINTF(1, "MATCH\n");
       return mprs;
     }
index d80e690..b846cd2 100644 (file)
@@ -121,7 +121,7 @@ olsr_delete_neighbor_2_pointer(struct neighbor_entry *neighbor, union olsr_ip_ad
   nbr2_list = neighbor->neighbor_2_list.next;
 
   while (nbr2_list != &neighbor->neighbor_2_list) {
-    if (ipequal(&nbr2_list->neighbor_2->neighbor_2_addr, address)) {
+    if (olsr_ipequal(&nbr2_list->neighbor_2->neighbor_2_addr, address)) {
       olsr_del_nbr2_list(nbr2_list);
       return 1;
     }
@@ -152,7 +152,7 @@ olsr_lookup_my_neighbors(const struct neighbor_entry *neighbor, const union olsr
       entry = entry->next)
     {
 
-      if(ipequal(&entry->neighbor_2->neighbor_2_addr, neighbor_main_address))
+      if(olsr_ipequal(&entry->neighbor_2->neighbor_2_addr, neighbor_main_address))
        return entry;
 
     }
@@ -189,7 +189,7 @@ olsr_delete_neighbor_table(const union olsr_ip_addr *neighbor_addr)
    */
   while(entry != &neighbortable[hash])
     {
-      if(ipequal(&entry->neighbor_main_addr, neighbor_addr))
+      if(olsr_ipequal(&entry->neighbor_main_addr, neighbor_addr))
        break;
 
       entry = entry->next;
@@ -246,7 +246,7 @@ olsr_insert_neighbor_table(const union olsr_ip_addr *main_addr)
       new_neigh != &neighbortable[hash];
       new_neigh = new_neigh->next)
     {
-      if(ipequal(&new_neigh->neighbor_main_addr, main_addr))
+      if(olsr_ipequal(&new_neigh->neighbor_main_addr, main_addr))
        return new_neigh;
     }
 
@@ -315,7 +315,7 @@ olsr_lookup_neighbor_table_alias(const union olsr_ip_addr *dst)
       entry = entry->next)
     {
       //printf("Checking %s\n", olsr_ip_to_string(&buf, &entry->neighbor_main_addr));
-      if(ipequal(&entry->neighbor_main_addr, dst))
+      if(olsr_ipequal(&entry->neighbor_main_addr, dst))
        return entry;
 
     }
index ad08230..24c3d16 100644 (file)
@@ -51,7 +51,7 @@ extern bool changes_hna;
 extern bool changes_force; /* Maybe static */
 
 void
-EXPORT(register_pcf)(int (*)(int, int, int));
+register_pcf(int (*)(int, int, int));
 
 void
 olsr_process_changes(void);
index 07638b8..cfa7747 100644 (file)
@@ -612,8 +612,8 @@ parse_cfg_ipc(char *argstr, struct olsr_config *rcfg, char *rmsg)
             parse_tok_free(tok);
             return CFG_ERROR;
           }
-          ip_acl_add(&rcfg->ipc_nets, &ipaddr, olsr_netmask_to_prefix(&netmask), false);
-          PARSER_DEBUG_PRINTF("\tIPC net: %s/%d\n", ip_to_string(rcfg->ip_version, &buf, &ipaddr), olsr_netmask_to_prefix(&netmask));
+          ip_acl_add(&rcfg->ipc_nets, &ipaddr, netmask_to_prefix(netmask.v6.s6_addr, rcfg->ipsize), false);
+          PARSER_DEBUG_PRINTF("\tIPC net: %s/%d\n", ip_to_string(rcfg->ip_version, &buf, &ipaddr), netmask_to_prefix(netmask.v6.s6_addr, rcfg->ipsize));
         } else {
           int prefix = -1;
           sscanf('/' == *p[2] ? p[2] + 1 : p[2], "%d", &prefix);
index a0c1f8c..cfd23e5 100644 (file)
@@ -66,13 +66,13 @@ ip_acl_add(struct ip_acl *acl, const union olsr_ip_addr *net, uint8_t prefix_len
 }
 
 void
-ip_acl_remove(struct ip_acl *acl, const union olsr_ip_addr *net, uint8_t prefix_len, bool reject)
+ip_acl_remove(struct ip_acl *acl, const union olsr_ip_addr *net, uint8_t prefix_len, bool reject, int ip_version)
 {
-  ip_prefix_list_remove(reject ? &acl->reject : &acl->accept, net, prefix_len);
+  ip_prefix_list_remove(reject ? &acl->reject : &acl->accept, net, prefix_len, ip_version);
 }
 
 bool
-ip_acl_acceptable(struct ip_acl *acl, const union olsr_ip_addr *ip)
+ip_acl_acceptable(struct ip_acl *acl, const union olsr_ip_addr *ip, int ip_version)
 {
   struct list_node *first, *second;
   struct ip_prefix_entry *entry;
@@ -82,7 +82,7 @@ ip_acl_acceptable(struct ip_acl *acl, const union olsr_ip_addr *ip)
 
   /* first run */
   OLSR_FOR_ALL_IPPREFIX_ENTRIES(first, entry) {
-    if (ip_in_net(ip, &entry->net)) {
+    if (ip_in_net(ip, &entry->net, ip_version)) {
       return acl->first_accept;
     }
   }
@@ -90,7 +90,7 @@ ip_acl_acceptable(struct ip_acl *acl, const union olsr_ip_addr *ip)
 
   /* second run */
   OLSR_FOR_ALL_IPPREFIX_ENTRIES(second, entry) {
-    if (ip_in_net(ip, &entry->net)) {
+    if (ip_in_net(ip, &entry->net, ip_version)) {
       return !acl->first_accept;
     }
   }
@@ -100,130 +100,11 @@ ip_acl_acceptable(struct ip_acl *acl, const union olsr_ip_addr *ip)
   return acl->default_accept;
 }
 
-static int
-ip_acl_plugin_parse(const char *value, union olsr_ip_addr *addr)
-{
-  /* space for txt representation of ipv6 + prefixlength */
-  static char arg[INET6_ADDRSTRLEN + 5];
-
-  char *c, *slash;
-  bool ipv4 = false;
-  bool ipv6 = false;
-  int prefix;
-
-  prefix = olsr_cnf->ip_version == AF_INET ? 32 : 128;
-
-  strncpy(arg, value, sizeof(arg));
-  arg[sizeof(arg) - 1] = 0;
-
-  c = arg;
-  slash = NULL;
-  /* parse first word */
-  while (*c && *c != ' ' && *c != '\t') {
-    switch (*c) {
-    case '.':
-      ipv4 = true;
-      break;
-    case ':':
-      ipv6 = true;
-      break;
-    case '/':
-      slash = c;
-      break;
-    }
-    c++;
-  }
-
-  /* look for second word */
-  while (*c == ' ' || *c == '\t')
-    c++;
-
-  if (ipv4 == ipv6) {
-    OLSR_PRINTF(0, "Error, illegal ip net '%s'\n", value);
-    return -1;
-  }
-
-  if (slash) {
-    /* split prefixlength from ip */
-    *slash++ = 0;
-  }
-
-  if (inet_pton(olsr_cnf->ip_version, arg, addr) < 0) {
-    OLSR_PRINTF(0, "Error, illegal ip net '%s'\n", value);
-    return -1;
-  }
-
-  if (ipv4 && prefix == 128) {
-    /* translate to ipv6 if neccessary */
-    memmove(&addr->v6.s6_addr[12], &addr->v4.s_addr, sizeof(in_addr_t));
-    memset(&addr->v6.s6_addr[0], 0x00, 10 * sizeof(uint8_t));
-    memset(&addr->v6.s6_addr[10], 0xff, 2 * sizeof(uint8_t));
-  } else if (ipv6 && olsr_cnf->ip_version == AF_INET) {
-    OLSR_PRINTF(0, "Ignore Ipv6 address '%s' in ipv4 mode\n", value);
-    return -1;
-  }
-
-  if (slash) {
-    /* handle numeric netmask */
-    prefix = (int)strtoul(slash, NULL, 10);
-    if (prefix < 0 || prefix > (olsr_cnf->ip_version == AF_INET ? 32 : 128)) {
-      OLSR_PRINTF(0, "Error, illegal prefix length in '%s'\n", value);
-      return -1;
-    }
-  } else if (ipv4 && *c) {
-    /* look for explicit netmask */
-    union olsr_ip_addr netmask;
-
-    if (inet_pton(AF_INET, c, &netmask) > 0) {
-      prefix = olsr_netmask_to_prefix(&netmask);
-      if (olsr_cnf->ip_version == AF_INET6) {
-        prefix += 96;
-      }
-    }
-  }
-  return prefix;
-}
-
-int
-ip_acl_add_plugin_accept(const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)))
-{
-  union olsr_ip_addr ip;
-  int prefix;
-
-  prefix = ip_acl_plugin_parse(value, &ip);
-  if (prefix == -1)
-    return -1;
-
-  ip_acl_add(data, &ip, prefix, false);
-  return 0;
-}
-
-int
-ip_acl_add_plugin_reject(const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)))
-{
-  union olsr_ip_addr ip;
-  int prefix;
-
-  prefix = ip_acl_plugin_parse(value, &ip);
-  if (prefix == -1)
-    return -1;
-
-  ip_acl_add(data, &ip, prefix, true);
-  return 0;
-}
-
-int
-ip_acl_add_plugin_checkFirst(const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)))
-{
-  struct ip_acl *acl = data;
-  acl->first_accept = strcasecmp(value, "accept") == 0;
-  return 0;
-}
-
-int
-ip_acl_add_plugin_defaultPolicy(const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)))
-{
-  struct ip_acl *acl = data;
-  acl->default_accept = strcasecmp(value, "accept") == 0;
-  return 0;
-}
+/*
+ * Local Variables:
+ * mode: c
+ * style: linux
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
index dd20186..6fcdb16 100644 (file)
 #include "plugin.h"
 #include "common/list.h"
 
-#define IP_ACL_ACCEPT_PARAP         "accept"
-#define IP_ACL_REJECT_PARAM         "reject"
-#define IP_ACL_CHECKFIRST_PARAM     "checkFirst"
-#define IP_ACL_DEFAULTPOLICY_PARAM "defaultPolicy"
-
 struct ip_acl {
   struct list_node accept;
   struct list_node reject;
@@ -62,24 +57,16 @@ struct ip_acl {
 void EXPORT(ip_acl_init) (struct ip_acl *);
 void EXPORT(ip_acl_flush) (struct ip_acl *);
 void EXPORT(ip_acl_add) (struct ip_acl *, const union olsr_ip_addr *, uint8_t, bool);
-void EXPORT(ip_acl_remove) (struct ip_acl *, const union olsr_ip_addr *, uint8_t, bool);
-bool EXPORT(ip_acl_acceptable) (struct ip_acl *, const union olsr_ip_addr *);
-
-/**
- *  accessor methods for plugins
- *
- *  Add the following lines into your plugins parameter list to allow acl initalization
- *  (this assumes that the acl is called allowed_nets, rename if neccesary)
- *
- *  { .name = IP_ACL_ACCEPT_PARAP,        .set_plugin_parameter = &ip_acl_add_plugin_accept,  .data = &allowed_nets },
- *  { .name = IP_ACL_REJECT_PARAM,        .set_plugin_parameter = &ip_acl_add_plugin_reject,  .data = &allowed_nets },
- *  { .name = IP_ACL_CHECKFIRST_PARAM,    .set_plugin_parameter = &ip_acl_add_plugin_checkFirst, .data = &allowed_nets },
- *  { .name = IP_ACL_DEFAULTPOLICY_PARAM, .set_plugin_parameter = &ip_acl_add_plugin_defaultPolicy, .data = &allowed_nets },
- */
-int EXPORT(ip_acl_add_plugin_accept) (const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)));
-int EXPORT(ip_acl_add_plugin_reject) (const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)));
-int EXPORT(ip_acl_add_plugin_checkFirst) (const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)));
-int EXPORT(ip_acl_add_plugin_defaultPolicy) (const char *value, void *data, set_plugin_parameter_addon addon
-                                             __attribute__ ((unused)));
+void ip_acl_remove (struct ip_acl *, const union olsr_ip_addr *, uint8_t, bool, int);
+bool EXPORT(ip_acl_acceptable) (struct ip_acl *, const union olsr_ip_addr *, int);
 
 #endif /* OLSR_IP_PREFIX_ACL_H_ */
+
+/*
+ * Local Variables:
+ * mode: c
+ * style: linux
+ * c-basic-offset: 4
+ * indent-tabs-mode: nil
+ * End:
+ */
index 9008785..ee02dae 100644 (file)
@@ -67,12 +67,12 @@ ip_prefix_list_add(struct list_node *ip_prefix_head, const union olsr_ip_addr *n
 }
 
 int
-ip_prefix_list_remove(struct list_node *ip_prefix_head, const union olsr_ip_addr *net, uint8_t prefix_len)
+ip_prefix_list_remove(struct list_node *ip_prefix_head, const union olsr_ip_addr *net, uint8_t prefix_len, int ip_version)
 {
   struct ip_prefix_entry *h;
 
   OLSR_FOR_ALL_IPPREFIX_ENTRIES(ip_prefix_head, h) {
-    if (ipequal(net, &h->net.prefix) && h->net.prefix_len == prefix_len) {
+    if (ipequal(ip_version, net, &h->net.prefix) && h->net.prefix_len == prefix_len) {
       free(h);
       return 1;
     }
@@ -82,12 +82,12 @@ ip_prefix_list_remove(struct list_node *ip_prefix_head, const union olsr_ip_addr
 }
 
 struct ip_prefix_entry *
-ip_prefix_list_find(struct list_node *ip_prefix_head, const union olsr_ip_addr *net, uint8_t prefix_len)
+ip_prefix_list_find(struct list_node *ip_prefix_head, const union olsr_ip_addr *net, uint8_t prefix_len, int ip_version)
 {
   struct ip_prefix_entry *h;
 
   OLSR_FOR_ALL_IPPREFIX_ENTRIES(ip_prefix_head, h) {
-    if (prefix_len == h->net.prefix_len && ipequal(net, &h->net.prefix)) {
+    if (prefix_len == h->net.prefix_len && ipequal(ip_version, net, &h->net.prefix)) {
       return h;
     }
   }
index d9bfb35..ab8efa4 100644 (file)
@@ -41,9 +41,9 @@ LISTNODE2STRUCT(list2ipprefix, struct ip_prefix_entry, node);
  * List functions
  */
 void EXPORT(ip_prefix_list_add) (struct list_node *, const union olsr_ip_addr *, uint8_t);
-int EXPORT(ip_prefix_list_remove) (struct list_node *, const union olsr_ip_addr *, uint8_t);
-void EXPORT(ip_prefix_list_flush) (struct list_node *);
-struct ip_prefix_entry *ip_prefix_list_find(struct list_node *, const union olsr_ip_addr *, uint8_t);
+int EXPORT(ip_prefix_list_remove) (struct list_node *, const union olsr_ip_addr *, uint8_t, int);
+void ip_prefix_list_flush (struct list_node *);
+struct ip_prefix_entry *ip_prefix_list_find(struct list_node *, const union olsr_ip_addr *, uint8_t, int);
 
 
 #endif /* OLSR_IP_PREFIX_LIST_H_ */
index 5cf8712..5e4f756 100644 (file)
@@ -313,7 +313,7 @@ static void parse_packet(struct olsr *olsr, int size, struct interface *in_if, u
      */
 
     /* Should be the same for IPv4 and IPv6 */
-    if (ipequal((union olsr_ip_addr *)&m->v4.originator, &olsr_cnf->router_id)
+    if (olsr_ipequal((union olsr_ip_addr *)&m->v4.originator, &olsr_cnf->router_id)
         || !olsr_validate_address((union olsr_ip_addr *)&m->v4.originator)) {
 #ifdef DEBUG
       struct ipaddr_str buf;
index 03ba282..2e456b3 100644 (file)
@@ -40,6 +40,7 @@
  */
 
 #include "plugin_util.h"
+#include "ipcalc.h"
 #include "olsr.h"
 #include "defs.h"
 #include "common/string.h"
@@ -135,6 +136,134 @@ int set_plugin_string(const char *value, void *data, set_plugin_parameter_addon
     return 0;
 }
 
+static int
+ip_acl_plugin_parse(const char *value, union olsr_ip_addr *addr)
+{
+  /* space for txt representation of ipv6 + prefixlength */
+  static char arg[INET6_ADDRSTRLEN + 5];
+
+  char *c, *slash;
+  bool ipv4 = false;
+  bool ipv6 = false;
+  int prefix;
+
+  prefix = olsr_cnf->ip_version == AF_INET ? 32 : 128;
+
+  strncpy(arg, value, sizeof(arg));
+  arg[sizeof(arg) - 1] = 0;
+
+  c = arg;
+  slash = NULL;
+  /* parse first word */
+  while (*c && *c != ' ' && *c != '\t') {
+    switch (*c) {
+    case '.':
+      ipv4 = true;
+      break;
+    case ':':
+      ipv6 = true;
+      break;
+    case '/':
+      slash = c;
+      break;
+    }
+    c++;
+  }
+
+  /* look for second word */
+  while (*c == ' ' || *c == '\t')
+    c++;
+
+  if (ipv4 == ipv6) {
+    OLSR_PRINTF(0, "Error, illegal ip net '%s'\n", value);
+    return -1;
+  }
+
+  if (slash) {
+    /* split prefixlength from ip */
+    *slash++ = 0;
+  }
+
+  if (inet_pton(olsr_cnf->ip_version, arg, addr) < 0) {
+    OLSR_PRINTF(0, "Error, illegal ip net '%s'\n", value);
+    return -1;
+  }
+
+  if (ipv4 && prefix == 128) {
+    /* translate to ipv6 if neccessary */
+    memmove(&addr->v6.s6_addr[12], &addr->v4.s_addr, sizeof(in_addr_t));
+    memset(&addr->v6.s6_addr[0], 0x00, 10 * sizeof(uint8_t));
+    memset(&addr->v6.s6_addr[10], 0xff, 2 * sizeof(uint8_t));
+  } else if (ipv6 && olsr_cnf->ip_version == AF_INET) {
+    OLSR_PRINTF(0, "Ignore Ipv6 address '%s' in ipv4 mode\n", value);
+    return -1;
+  }
+
+  if (slash) {
+    /* handle numeric netmask */
+    prefix = (int)strtoul(slash, NULL, 10);
+    if (prefix < 0 || prefix > (olsr_cnf->ip_version == AF_INET ? 32 : 128)) {
+      OLSR_PRINTF(0, "Error, illegal prefix length in '%s'\n", value);
+      return -1;
+    }
+  } else if (ipv4 && *c) {
+    /* look for explicit netmask */
+    union olsr_ip_addr netmask;
+
+    if (inet_pton(AF_INET, c, &netmask) > 0) {
+      prefix = olsr_netmask_to_prefix(&netmask);
+      if (olsr_cnf->ip_version == AF_INET6) {
+        prefix += 96;
+      }
+    }
+  }
+  return prefix;
+}
+
+int
+ip_acl_add_plugin_accept(const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)))
+{
+  union olsr_ip_addr ip;
+  int prefix;
+
+  prefix = ip_acl_plugin_parse(value, &ip);
+  if (prefix == -1)
+    return -1;
+
+  ip_acl_add(data, &ip, prefix, false);
+  return 0;
+}
+
+int
+ip_acl_add_plugin_reject(const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)))
+{
+  union olsr_ip_addr ip;
+  int prefix;
+
+  prefix = ip_acl_plugin_parse(value, &ip);
+  if (prefix == -1)
+    return -1;
+
+  ip_acl_add(data, &ip, prefix, true);
+  return 0;
+}
+
+int
+ip_acl_add_plugin_checkFirst(const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)))
+{
+  struct ip_acl *acl = data;
+  acl->first_accept = strcasecmp(value, "accept") == 0;
+  return 0;
+}
+
+int
+ip_acl_add_plugin_defaultPolicy(const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)))
+{
+  struct ip_acl *acl = data;
+  acl->default_accept = strcasecmp(value, "accept") == 0;
+  return 0;
+}
+
 /*
  * Local Variables:
  * mode: c
index 3a4c119..0540fbc 100644 (file)
@@ -47,6 +47,26 @@ set_plugin_parameter EXPORT(set_plugin_boolean);
 set_plugin_parameter EXPORT(set_plugin_int);
 set_plugin_parameter EXPORT(set_plugin_string);
 
+#define IP_ACL_ACCEPT_PARAP        "accept"
+#define IP_ACL_REJECT_PARAM        "reject"
+#define IP_ACL_CHECKFIRST_PARAM    "checkFirst"
+#define IP_ACL_DEFAULTPOLICY_PARAM "defaultPolicy"
+
+/**
+ *  accessor methods for plugins
+ *
+ *  Add the following lines into your plugins parameter list to allow acl initalization
+ *  (this assumes that the acl is called allowed_nets, rename if neccesary)
+ *
+ *  { .name = IP_ACL_ACCEPT_PARAP,        .set_plugin_parameter = &ip_acl_add_plugin_accept,  .data = &allowed_nets },
+ *  { .name = IP_ACL_REJECT_PARAM,        .set_plugin_parameter = &ip_acl_add_plugin_reject,  .data = &allowed_nets },
+ *  { .name = IP_ACL_CHECKFIRST_PARAM,    .set_plugin_parameter = &ip_acl_add_plugin_checkFirst, .data = &allowed_nets },
+ *  { .name = IP_ACL_DEFAULTPOLICY_PARAM, .set_plugin_parameter = &ip_acl_add_plugin_defaultPolicy, .data = &allowed_nets },
+ */
+int EXPORT(ip_acl_add_plugin_accept) (const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)));
+int EXPORT(ip_acl_add_plugin_reject) (const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)));
+int EXPORT(ip_acl_add_plugin_checkFirst) (const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)));
+int EXPORT(ip_acl_add_plugin_defaultPolicy) (const char *value, void *data, set_plugin_parameter_addon addon __attribute__ ((unused)));
 
 #endif
 
index 7a04788..9b4c588 100644 (file)
@@ -392,7 +392,7 @@ hello_tap(struct lq_hello_message *message,
 
   /* find the input interface in the list of neighbor interfaces */
   for (walker = message->neigh; walker != NULL; walker = walker->next) {
-    if (ipequal(&walker->addr, &in_if->ip_addr)) {
+    if (olsr_ipequal(&walker->addr, &in_if->ip_addr)) {
       break;
     }
   }
index 11f60ed..c89f2b7 100644 (file)
@@ -116,7 +116,7 @@ olsr_enqueue_rt(struct list_node *head_node, struct rt_entry *rt)
    */
   nh = olsr_get_nh(rt);
 
-  if (ipequal(&rt->rt_dst.prefix, &nh->gateway)) {
+  if (olsr_ipequal(&rt->rt_dst.prefix, &nh->gateway)) {
     list_add_after(head_node, &rt->rt_change_node);
   } else {
     list_add_before(head_node, &rt->rt_change_node);
index 0721f34..178a4a8 100644 (file)
@@ -453,7 +453,7 @@ olsr_cmp_rtp(const struct rt_path *rtp1, const struct rt_path *rtp2, const struc
 
     /* originator (which is guaranteed to be unique) is final tie breaker */
     if ((rtp1->rtp_metric.hops == rtp2->rtp_metric.hops) &&
-        (ipcmp(&rtp1->rtp_originator, &rtp2->rtp_originator) < 0)) {
+        (olsr_ipcmp(&rtp1->rtp_originator, &rtp2->rtp_originator) < 0)) {
       return true;
     }
 
index 475c9b7..822c57e 100644 (file)
@@ -227,7 +227,7 @@ void olsr_rt_best(struct rt_entry *);
  * Check if there is an interface or gateway change.
  */
 static INLINE bool olsr_nh_change(const struct rt_nexthop *nh1, const struct rt_nexthop *nh2) {
-    return !ipequal(&nh1->gateway, &nh2->gateway) || nh1->interface != nh2->interface;
+    return !olsr_ipequal(&nh1->gateway, &nh2->gateway) || nh1->interface != nh2->interface;
 }
 
 /**
index 6cbf552..1eb57e4 100644 (file)
@@ -132,7 +132,7 @@ olsr_add_tc_entry(const union olsr_ip_addr *adr)
   /*
    * Safety net against loss of the last main IP address.
    */
-  if (ipequal(&olsr_cnf->router_id, &all_zero)) {
+  if (olsr_ipequal(&olsr_cnf->router_id, &all_zero)) {
     return NULL;
   }
 
@@ -208,7 +208,7 @@ olsr_change_myself_tc(void)
     /*
      * Check if there was a change.
      */
-    if (ipequal(&tc_myself->addr, &olsr_cnf->router_id)) {
+    if (olsr_ipequal(&tc_myself->addr, &olsr_cnf->router_id)) {
       return;
     }
 
index ad15f72..0a89456 100644 (file)
@@ -79,7 +79,7 @@ olsr_delete_neighbor_pointer(struct neighbor_2_entry *two_hop_entry, const union
   struct neighbor_list_entry *entry = two_hop_entry->neighbor_2_nblist.next;
   while(entry != &two_hop_entry->neighbor_2_nblist)
     {
-      if(ipequal(&entry->neighbor->neighbor_main_addr, address))
+      if(olsr_ipequal(&entry->neighbor->neighbor_main_addr, address))
        {
          struct neighbor_list_entry *entry_to_delete = entry;
          entry = entry->next;
@@ -168,7 +168,7 @@ olsr_lookup_two_hop_neighbor_table(const union olsr_ip_addr *dest)
     struct tc_entry *tc;
 
     /* printf("Checking %s\n", olsr_ip_to_string(&buf, dest)); */
-    if (ipequal(&neighbor_2->neighbor_2_addr, dest)) {
+    if (olsr_ipequal(&neighbor_2->neighbor_2_addr, dest)) {
       return neighbor_2;
     }
     /*
@@ -201,7 +201,7 @@ olsr_lookup_two_hop_neighbor_table_mid(const union olsr_ip_addr *dest)
   for(neighbor_2 = two_hop_neighbortable[hash].next;
       neighbor_2 != &two_hop_neighbortable[hash];
       neighbor_2 = neighbor_2->next) {
-    if (ipequal(&neighbor_2->neighbor_2_addr, dest))
+    if (olsr_ipequal(&neighbor_2->neighbor_2_addr, dest))
       return neighbor_2;
   }
   return NULL;
index c6ca5e7..f48b55f 100644 (file)
@@ -345,7 +345,7 @@ int add_hemu_if (struct olsr_if_config *iface)
   /* Queue */
   list_add_before(&interface_head, &ifp->int_node);
 
-  if (!olsr_cnf->fixed_origaddr && ipequal(&all_zero, &olsr_cnf->router_id)) {
+  if (!olsr_cnf->fixed_origaddr && olsr_ipequal(&all_zero, &olsr_cnf->router_id)) {
     olsr_cnf->router_id = iface->hemu_ip;
     OLSR_PRINTF(1, "New main address: %s\n", olsr_ip_to_string(&buf, &olsr_cnf->router_id));
     olsr_syslog(OLSR_LOG_INFO, "New main address: %s\n", olsr_ip_to_string(&buf, &olsr_cnf->router_id));
@@ -741,7 +741,7 @@ chk_if_up(struct olsr_if_config *iface, int debuglvl __attribute__((unused)))
   /*
    * Set main address if this is the only interface
    */
-  if (!olsr_cnf->fixed_origaddr && ipequal(&all_zero, &olsr_cnf->router_id)) {
+  if (!olsr_cnf->fixed_origaddr && olsr_ipequal(&all_zero, &olsr_cnf->router_id)) {
     struct ipaddr_str buf;
     olsr_cnf->router_id = ifp->ip_addr;
     OLSR_PRINTF(1, "New main address: %s\n", olsr_ip_to_string(&buf, &olsr_cnf->router_id));
index b37c7a8..241a5ea 100644 (file)
@@ -551,7 +551,7 @@ int add_hemu_if(struct olsr_if_config *iface)
   /* Queue */
   list_add_before(&interface_head, &ifp->int_node);
 
-  if(!olsr_cnf->fixed_origaddr && ipequal(&all_zero, &olsr_cnf->router_id))
+  if(!olsr_cnf->fixed_origaddr && olsr_ipequal(&all_zero, &olsr_cnf->router_id))
     {
       olsr_cnf->router_id = iface->hemu_ip;
       OLSR_PRINTF(1, "New main address: %s\n", olsr_ip_to_string(&buf, &olsr_cnf->router_id));
@@ -927,7 +927,7 @@ int chk_if_up(struct olsr_if_config *IntConf, int DebugLevel __attribute__((unus
 
   memset(&NullAddr, 0, olsr_cnf->ipsize);
 
-  if(!olsr_cnf->fixed_origaddr && ipequal(&NullAddr, &olsr_cnf->router_id))
+  if(!olsr_cnf->fixed_origaddr && olsr_ipequal(&NullAddr, &olsr_cnf->router_id))
   {
     olsr_cnf->router_id = New->ip_addr;
     OLSR_PRINTF(1, "New main address: %s\n", olsr_ip_to_string(&buf, &olsr_cnf->router_id));