fix(server.c): better dual-stack mode handling

main
Tom MTT. 1 year ago
parent 3c356481e1
commit 63319d7525

@ -103,18 +103,14 @@ int initialize_server()
if (setsockopt(server, SOL_SOCKET, SO_REUSEADDR, &(int){ 1 }, sizeof(int)) < 0) if (setsockopt(server, SOL_SOCKET, SO_REUSEADDR, &(int){ 1 }, sizeof(int)) < 0)
return -1; return -1;
#ifndef __OpenBSD__
/* Enable dual-stack mode on supported platforms */ /* Enable dual-stack mode on supported platforms */
verbose(3, " IPV6_V6ONLY..."); verbose(3, " IPV6_V6ONLY...");
if (setsockopt(server, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6_only, sizeof(ipv6_only)) < 0)
return -1; if (setsockopt(server, IPPROTO_IPV6, IPV6_V6ONLY, &ipv6_only, sizeof(ipv6_only)) < 0) {
#else syslog(LOG_WARNING, "dual-stack mode is disabled on your platform.");
if (ipv6_only == 0) {
syslog(LOG_WARNING, "dual-stack mode is disabled on OpenBSD.");
syslog(LOG_WARNING, "feuille will only listen on the `::' IPv6 address."); syslog(LOG_WARNING, "feuille will only listen on the `::' IPv6 address.");
puts(""); puts("");
} }
#endif
/* bind address and port */ /* bind address and port */
verbose(3, "binding address on the socket..."); verbose(3, "binding address on the socket...");

Loading…
Cancel
Save