Committer  : entrope
CVSROOT    : /cvsroot/undernet-ircu
Module     : ircu2.10
Commit time: 2004-09-10 20:36:48 UTC

Modified files:
     ircd/os_generic.c ChangeLog

Log message:

Fix support for IPv4-only hosts.

---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.451 ircu2.10/ChangeLog:1.452
--- ircu2.10/ChangeLog:1.451    Fri Sep 10 09:40:04 2004
+++ ircu2.10/ChangeLog  Fri Sep 10 13:36:37 2004
@@ -1,5 +1,10 @@
 2004-09-10  Michael Poole <[EMAIL PROTECTED]>
 
+       * ircd/os_generic.c (sockaddr_from_irc): Fix IPv4 implementation
+       to use the correct address family and IP offset.
+
+2004-09-10  Michael Poole <[EMAIL PROTECTED]>
+
        * include/s_conf.h (struct ConfItem): Add origin and origin_name
        fields.
 
Index: ircu2.10/ircd/os_generic.c
diff -u ircu2.10/ircd/os_generic.c:1.12 ircu2.10/ircd/os_generic.c:1.13
--- ircu2.10/ircd/os_generic.c:1.12     Wed Aug 18 21:00:52 2004
+++ ircu2.10/ircd/os_generic.c  Fri Sep 10 13:36:37 2004
@@ -16,7 +16,7 @@
  * along with this program; if not, write to the Free Software
  * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  *
- * $Id: os_generic.c,v 1.12 2004/08/19 04:00:52 entrope Exp $
+ * $Id: os_generic.c,v 1.13 2004/09/10 20:36:37 entrope Exp $
  *
  */
 #include "config.h"
@@ -100,9 +100,9 @@
 
 void sockaddr_from_irc(struct sockaddr_in *v4, const struct irc_sockaddr *irc, int 
persist)
 {
-    v4->sin_family = AF_INET6;
+    v4->sin_family = AF_INET;
     assert(!irc->addr.in6_16[0] && !irc->addr.in6_16[1] && !irc->addr.in6_16[2] && 
!irc->addr.in6_16[3] && !irc->addr.in6_16[4] && (!irc->addr.in6_16[5] || 
irc->addr.in6_16[5] == 0xffff));
-    memcpy(&v4->sin_addr, &irc->addr.in6_16[7], sizeof(v4->sin_addr));
+    memcpy(&v4->sin_addr, &irc->addr.in6_16[6], sizeof(v4->sin_addr));
     v4->sin_port = htons(irc->port);
     (void)persist;
 }
----------------------- End of diff -----------------------

Reply via email to