]> git.pond.sub.org Git - empserver/blobdiff - src/lib/gen/tcp_listen.c
Use IPv4 and v6 only when suitable interfaces are configured
[empserver] / src / lib / gen / tcp_listen.c
index 29c227d3a5040697e6891294cdab2f321ca67c83..fa494c40d2c41ddaa9a0caa136d9f9b864d8d3e0 100644 (file)
 #include <unistd.h>
 #include "prototypes.h"
 
+/* Portability cruft, should become unnecessary eventually */
+#ifndef AI_ADDRCONFIG
+#define AI_ADDRCONFIG 0
+#endif
+
 static void cant_listen(char *, char *, const char *);
 
 int
@@ -62,7 +67,7 @@ tcp_listen(char *host, char *serv, size_t *addrlenp)
     struct addrinfo hints, *res, *ressave;
 
     memset(&hints, 0, sizeof(struct addrinfo));
-    hints.ai_flags = AI_PASSIVE;
+    hints.ai_flags = AI_PASSIVE | AI_ADDRCONFIG;
     hints.ai_family = AF_UNSPEC;
     hints.ai_socktype = SOCK_STREAM;