diff --git a/src/anet.c b/src/anet.c index f86c524936d93283ad6986b2f4c0df792169c249..bbefa2fe90104a4e83a390b2ed407a2b077e0a1f 100644 --- a/src/anet.c +++ b/src/anet.c @@ -362,6 +362,16 @@ static int anetListen(char *err, int s, struct sockaddr *sa, socklen_t len) { return ANET_OK; } +static int anetV6Only(char *err, int s) { + int yes = 1; + if (setsockopt(s,IPPROTO_IPV6,IPV6_V6ONLY,&yes,sizeof(yes)) == -1) { + anetSetError(err, "setsockopt: %s", strerror(errno)); + close(s); + return ANET_ERR; + } + return ANET_OK; +} + int anetTcpServer(char *err, int port, char *bindaddr) { int s, rv;