X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fsocket.c;h=aacf9bed9f1f50f106db3cd78b322461fc689ef8;hb=0b5d26f95dd0aceb051f334c109a90e356b38c90;hp=da85ca7e8b96bc658865ae2ee60446b729c824d4;hpb=83a95334c9e1841595f5eef20938dbd0e1ad7f76;p=elogind.git diff --git a/src/socket.c b/src/socket.c index da85ca7e8..aacf9bed9 100644 --- a/src/socket.c +++ b/src/socket.c @@ -634,7 +634,13 @@ static void socket_apply_socket_options(Socket *s, int fd) { int r, x; r = setsockopt(fd, IPPROTO_IP, IP_TTL, &s->ip_ttl, sizeof(s->ip_ttl)); - x = setsockopt(fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &s->ip_ttl, sizeof(s->ip_ttl)); + + if (socket_ipv6_is_supported()) + x = setsockopt(fd, IPPROTO_IPV6, IPV6_UNICAST_HOPS, &s->ip_ttl, sizeof(s->ip_ttl)); + else { + x = -1; + errno = EAFNOSUPPORT; + } if (r < 0 && x < 0) log_warning("IP_TTL/IPV6_UNICAST_HOPS failed: %m");