Fix an IPv6 support bug that prevents an IPv6 server from properly
authorMichael Poole <mdpoole@troilus.org>
Sun, 22 Aug 2004 23:45:52 +0000 (23:45 +0000)
committerMichael Poole <mdpoole@troilus.org>
Sun, 22 Aug 2004 23:45:52 +0000 (23:45 +0000)
recognizing an IPv4 server.

git-svn-id: file:///home/klmitch/undernet-ircu/undernet-ircu-svn/ircu2/trunk@1097 c9e4aea6-c8fd-4c43-8297-357d70d61c8c

ChangeLog
ircd/s_conf.c

index 599ebb1d484b4e6e4959eba98cd3fd4b9a996aa2..3043932b095adc61d16995e45ca0b4fabf197377 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+2004-08-22  Michael Poole <mdpoole@troilus.org>
+
+       * ircd/s_conf.c: find_conf_byip() should use irc_in_addr_cmp()
+       instead of memcmp().  (Fixes IPv4 servers linking to an IPv6
+       server.)
+
 2004-08-22  Alex Badea  <decampos@users.sourceforge.net>
 
        * include/ircd_defs.h: increased SOCKIPLEN to fit ipv6 addresses
index 6b60d7fe544472a4ceb159bf05f7d8066d42f5e9..9b216653da47378c21b92b1a143ce5ceb068c4d8 100644 (file)
@@ -606,7 +606,7 @@ struct ConfItem* find_conf_byip(struct SLink* lp, const struct irc_in_addr* ip,
   for (; lp; lp = lp->next) {
     tmp = lp->value.aconf;
     if (0 != (tmp->status & statmask)
-        && 0 == memcmp(&tmp->address.addr, ip, sizeof(*ip)))
+        && !irc_in_addr_cmp(&tmp->address.addr, ip))
       return tmp;
   }
   return 0;