# HG changeset patch # User Markus Bröker # Date 1290174587 -3600 # Node ID 44823a881da1f7b0debd1623e55b9435f8d9bd72 # Parent 2cddd4d26139cecc1fe7ff4fc054a69e94ff99f5 set default socket options: IPV6_V6ONLY, SO_REUSEADDR committer: Markus Bröker diff --git a/ddos/server.c b/ddos/server.c --- a/ddos/server.c +++ b/ddos/server.c @@ -30,7 +30,7 @@ struct addrinfo hints; struct addrinfo *result, *rp; - int yes = 1; + int yes = 1, no = 0; memset (&hints, 0, sizeof (hints)); hints.ai_family = AF_UNSPEC; @@ -48,11 +48,14 @@ perror ("SOCKET"); continue; } - + // enable rebinding of the socket if (setsockopt (server_socket, SOL_SOCKET, SO_REUSEADDR, &yes, sizeof (int)) == -1) { perror ("setsockopt"); return -1; } + // disable IPV6ONLY, eg enable an hybrid socket + if (rp->ai_family == AF_INET6) + setsockopt (server_socket, IPPROTO_IPV6, IPV6_V6ONLY, &no, sizeof (int)); if ((bind (server_socket, rp->ai_addr, rp->ai_addrlen)) == -1) { perror ("BIND");