From d4efddfb7d34a8409cf78dd337f3933e0ed11d08 Mon Sep 17 00:00:00 2001 From: Wilmer van der Gaast Date: Wed, 7 Apr 2010 03:39:20 +0100 Subject: Unset the IPV6_V6ONLY sockctl so listening on IPv6 will automatically also listen on IPv4 again. This should close #583 (and apparently also fix this assumption on many non-Linux systems). --- bitlbee.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) (limited to 'bitlbee.c') diff --git a/bitlbee.c b/bitlbee.c index 26d12b6c..8f7be698 100644 --- a/bitlbee.c +++ b/bitlbee.c @@ -69,6 +69,15 @@ int bitlbee_daemon_init() if( global.listen_socket < 0 ) continue; +#ifdef IPV6_V6ONLY + if( res->ai_family == AF_INET6 ) + { + i = 0; + setsockopt( global.listen_socket, IPPROTO_IPV6, IPV6_V6ONLY, + (char *) &i, sizeof( i ) ); + } +#endif + /* TIME_WAIT (?) sucks.. */ i = 1; setsockopt( global.listen_socket, SOL_SOCKET, SO_REUSEADDR, &i, sizeof( i ) ); @@ -79,7 +88,6 @@ int bitlbee_daemon_init() log_error( "bind" ); return( -1 ); } - break; } -- cgit v1.2.3