Small patch to allow compilation on old systems that predate the IPV6_V6ONLY option (Debian 2.2 "potato").

This commit is contained in:
Thomas Pornin 2017-04-01 20:17:09 +02:00
parent c1d1306e27
commit 927ecfc68d

View file

@ -119,9 +119,16 @@ host_bind(const char *host, const char *port, int verbose)
opt = 1; opt = 1;
setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, setsockopt(fd, SOL_SOCKET, SO_REUSEADDR,
(void *)&opt, sizeof opt); (void *)&opt, sizeof opt);
#ifdef IPV6_V6ONLY
/*
* We want to make sure that the server socket works for
* both IPv4 and IPv6. But IPV6_V6ONLY is not defined on
* some very old systems.
*/
opt = 0; opt = 0;
setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY,
(void *)&opt, sizeof opt); (void *)&opt, sizeof opt);
#endif
if (bind(fd, sa, sa_len) < 0) { if (bind(fd, sa, sa_len) < 0) {
if (verbose) { if (verbose) {
perror("bind()"); perror("bind()");