Committer : entrope
CVSROOT : /cvsroot/undernet-ircu
Module : ircu2.10
Branch tags: u2_10_12_branch
Commit time: 2007-03-18 02:33:14 UTC
Modified files:
Tag: u2_10_12_branch
ircd/listener.c ChangeLog
Log message:
Do not try to listen on (corrupt) IPv4 versions of IPv6 native addresses.
---------------------- diff included ----------------------
Index: ircu2.10/ChangeLog
diff -u ircu2.10/ChangeLog:1.710.2.162 ircu2.10/ChangeLog:1.710.2.163
--- ircu2.10/ChangeLog:1.710.2.162 Sat Mar 17 18:46:59 2007
+++ ircu2.10/ChangeLog Sat Mar 17 19:33:02 2007
@@ -1,5 +1,10 @@
2007-03-17 Michael Poole <[EMAIL PROTECTED]>
+ * ircd/listener.c (add_listener): Only try to create IPv6 sockets
+ for IPv6-compatible addresses; likewise for IPv4.
+
+2007-03-17 Michael Poole <[EMAIL PROTECTED]>
+
* doc/example.conf (Operator): Update documentation to mention
more than one host entry is allowed.
(Motd): Likewise.
Index: ircu2.10/ircd/listener.c
diff -u ircu2.10/ircd/listener.c:1.28.2.4 ircu2.10/ircd/listener.c:1.28.2.5
--- ircu2.10/ircd/listener.c:1.28.2.4 Thu Dec 7 16:44:38 2006
+++ ircu2.10/ircd/listener.c Sat Mar 17 19:33:01 2007
@@ -18,7 +18,7 @@
*/
/** @file
* @brief Implementation for handling listening sockets.
- * @version $Id: listener.c,v 1.28.2.4 2006/12/08 00:44:38 entrope Exp $
+ * @version $Id: listener.c,v 1.28.2.5 2007/03/18 02:33:01 entrope Exp $
*/
#include "config.h"
@@ -315,7 +315,8 @@
listener->mask_bits = 0;
#ifdef IPV6
- if (FlagHas(&listener->flags, LISTEN_IPV6)) {
+ if (FlagHas(&listener->flags, LISTEN_IPV6)
+ && (irc_in_addr_unspec(&vaddr) || !irc_in_addr_is_ipv4(&vaddr))) {
if (listener->fd_v6 >= 0) {
set_listener_options(listener, listener->fd_v6);
okay = 1;
@@ -330,7 +331,8 @@
}
#endif
- if (FlagHas(&listener->flags, LISTEN_IPV4)) {
+ if (FlagHas(&listener->flags, LISTEN_IPV4)
+ && (irc_in_addr_unspec(&vaddr) || irc_in_addr_is_ipv4(&vaddr))) {
if (listener->fd_v4 >= 0) {
set_listener_options(listener, listener->fd_v4);
okay = 1;
----------------------- End of diff -----------------------
_______________________________________________
Patches mailing list
[email protected]
http://undernet.sbg.org/mailman/listinfo/patches