Committer : entrope
CVSROOT : /cvsroot/undernet-ircu
Module : ircu2.10
Branch tags: u2_10_12_branch
Commit time: 2007-02-28 22:37:18 UTC
Modified files:
Tag: u2_10_12_branch
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.710.2.148 ircu2.10/ChangeLog:1.710.2.149
--- ircu2.10/ChangeLog:1.710.2.148 Sun Feb 25 07:41:48 2007
+++ ircu2.10/ChangeLog Wed Feb 28 14:37:07 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.23.2.6 ircu2.10/ircd/os_generic.c:1.23.2.7
--- ircu2.10/ircd/os_generic.c:1.23.2.6 Sun Jan 14 19:08:23 2007
+++ ircu2.10/ircd/os_generic.c Wed Feb 28 14:37:08 2007
@@ -18,7 +18,7 @@
*/
/** @file
* @brief Implementation of OS-dependent operations.
- * @version $Id: os_generic.c,v 1.23.2.6 2007/01/15 03:08:23 entrope Exp $
+ * @version $Id: os_generic.c,v 1.23.2.7 2007/02/28 22:37:08 entrope Exp $
*/
#include "config.h"
@@ -178,13 +178,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