Committer  : entrope
CVSROOT    : /cvsroot/undernet-ircu
Module     : ircu2.10
Commit time: 2007-02-28 22:39:00 UTC

Modified files:
     ChangeLog ircd/os_generic.c

Log message:

Make IPv4-only sockaddr_from_irc() work properly.

---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.836 ircu2.10/ChangeLog:1.837
--- ircu2.10/ChangeLog:1.836    Sun Feb 25 08:12:45 2007
+++ ircu2.10/ChangeLog  Wed Feb 28 14:38:50 2007
@@ -1,3 +1,9 @@
+2007-02-28  Michael Poole <[EMAIL PROTECTED]>
+
+       * ircd/os_generic.c (sockaddr_from_irc): Zero out socket address
+       before setting family, and regardless of whether we have an
+       irc_sockaddr template.
+
 2007-02-25  Michael Poole <[EMAIL PROTECTED]>
 
        * doc/example.conf: Document new options for General block.
Index: ircu2.10/ircd/os_generic.c
diff -u ircu2.10/ircd/os_generic.c:1.29 ircu2.10/ircd/os_generic.c:1.30
--- ircu2.10/ircd/os_generic.c:1.29     Mon Jan 15 18:31:58 2007
+++ ircu2.10/ircd/os_generic.c  Wed Feb 28 14:38:50 2007
@@ -18,7 +18,7 @@
  */
 /** @file
  * @brief Implementation of OS-dependent operations.
- * @version $Id: os_generic.c,v 1.29 2007/01/16 02:31:58 entrope Exp $
+ * @version $Id: os_generic.c,v 1.30 2007/02/28 22:38:50 entrope Exp $
  */
 #include "config.h"
 
@@ -179,13 +179,12 @@
 int sockaddr_from_irc(struct sockaddr_in *v4, const struct irc_sockaddr *irc, 
int compat_fd, int family)
 {
     assert(irc != 0);
+    memset(v4, 0, sizeof(*v4));
     v4->sin_family = AF_INET;
     if (irc) {
         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[6], sizeof(v4->sin_addr));
         v4->sin_port = htons(irc->port);
-    } else{
-        memset(&v4, 0, sizeof(v4));
     }
     (void)compat_fd; (void)family;
     return sizeof(*v4);
----------------------- End of diff -----------------------
_______________________________________________
Patches mailing list
[email protected]
http://undernet.sbg.org/mailman/listinfo/patches

Reply via email to