diff options
Diffstat (limited to '')
-rw-r--r-- | src/interface.c | 4 | ||||
-rw-r--r-- | src/listen.c | 16 | ||||
-rw-r--r-- | src/os_compat.h | 5 |
3 files changed, 24 insertions, 1 deletions
diff --git a/src/interface.c b/src/interface.c index 43c8b3654..df9eb63f7 100644 --- a/src/interface.c +++ b/src/interface.c @@ -245,6 +245,7 @@ void openAInterface(int fd, struct sockaddr *addr) } else { const char *hostname; switch (addr->sa_family) { +#ifdef HAVE_TCP case AF_INET: hostname = (const char *)inet_ntoa(((struct sockaddr_in *) addr)->sin_addr); @@ -267,9 +268,12 @@ void openAInterface(int fd, struct sockaddr *addr) } break; #endif +#endif /* HAVE_TCP */ +#ifdef HAVE_UN case AF_UNIX: hostname = "local connection"; break; +#endif /* HAVE_UN */ default: hostname = "unknown"; } diff --git a/src/listen.c b/src/listen.c index 423b54e9a..6b2ed994e 100644 --- a/src/listen.c +++ b/src/listen.c @@ -74,6 +74,7 @@ static int establishListen(const struct sockaddr *addrp, socklen_t addrlen) int allowReuse = ALLOW_REUSE; switch (addrp->sa_family) { +#ifdef HAVE_TCP case AF_INET: pf = PF_INET; break; @@ -82,9 +83,12 @@ static int establishListen(const struct sockaddr *addrp, socklen_t addrlen) pf = PF_INET6; break; #endif +#endif /* HAVE_TCP */ +#ifdef HAVE_UN case AF_UNIX: pf = PF_UNIX; break; +#endif /* HAVE_UN */ default: FATAL("unknown address family: %i\n", addrp->sa_family); } @@ -123,6 +127,7 @@ static void parseListenConfigParam(unsigned int port, ConfigParam * param) { const struct sockaddr *addrp; socklen_t addrlen; +#ifdef HAVE_TCP struct sockaddr_in sin4; #ifdef HAVE_IPV6 struct sockaddr_in6 sin6; @@ -135,8 +140,10 @@ static void parseListenConfigParam(unsigned int port, ConfigParam * param) memset(&sin4, 0, sizeof(struct sockaddr_in)); sin4.sin_port = htons(port); sin4.sin_family = AF_INET; +#endif /* HAVE_TCP */ if (!param || 0 == strcmp(param->value, "any")) { +#ifdef HAVE_TCP DEBUG("binding to any address\n"); #ifdef HAVE_IPV6 if (useIpv6) { @@ -157,6 +164,10 @@ static void parseListenConfigParam(unsigned int port, ConfigParam * param) #endif BINDERROR(); } +#else /* HAVE_TCP */ + FATAL("TCP support is disabled\n"); +#endif /* HAVE_TCP */ +#ifdef HAVE_UN } else if (param->value[0] == '/') { size_t path_length; struct sockaddr_un sun; @@ -173,7 +184,9 @@ static void parseListenConfigParam(unsigned int port, ConfigParam * param) if (establishListen(addrp, addrlen) < 0) BINDERROR(); +#endif /* HAVE_UN */ } else { +#ifdef HAVE_TCP struct hostent *he; DEBUG("binding to address for %s\n", param->value); if (!(he = gethostbyname(param->value))) { @@ -207,6 +220,9 @@ static void parseListenConfigParam(unsigned int port, ConfigParam * param) if (establishListen(addrp, addrlen) < 0) BINDERROR(); +#else /* HAVE_TCP */ + FATAL("TCP support is disabled\n"); +#endif /* HAVE_TCP */ } } diff --git a/src/os_compat.h b/src/os_compat.h index 6409053c7..97ab02a2a 100644 --- a/src/os_compat.h +++ b/src/os_compat.h @@ -64,7 +64,6 @@ #include <netdb.h> #include <netinet/in.h> #include <arpa/inet.h> -#include <sys/un.h> #include <pwd.h> #include <grp.h> #include <limits.h> @@ -75,4 +74,8 @@ #include <sys/ipc.h> #include <sys/shm.h> +#ifdef HAVE_UN +#include <sys/un.h> +#endif + #endif /* OS_COMPAT_H */ |