X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=src%2Ftcpdchk.c;h=f98417033ff669a6446a0871009249494c859d59;hp=1a9d7868884b50cb74f5a13ff5d798bcac8c4956;hb=a6b61b9f8b6576e8159a4e7e6aee88bba7e5d07d;hpb=8d691989077a0addcbd840d769dce6700f3d9622 diff --git a/src/tcpdchk.c b/src/tcpdchk.c index 1a9d786..f984170 100644 --- a/src/tcpdchk.c +++ b/src/tcpdchk.c @@ -1,35 +1,44 @@ -/* - * Copyright (C) 1995-2007, Index Data ApS +/* This file is part of the YAZ toolkit. + * Copyright (C) Index Data * See the file LICENSE for details. - * - * $Id: tcpdchk.c,v 1.9 2007-01-03 08:42:15 adam Exp $ */ /** * \file tcpdchk.c * \brief Implements TCP WRAPPER check. */ +#if HAVE_CONFIG_H +#include +#endif + #include #include +#ifdef WIN32 +#include +#endif + #if HAVE_SYS_TYPES_H #include #endif -#ifdef WIN32 -#include -#else +#if HAVE_NETINET_IN_H #include -#include +#endif + +#if HAVE_ARPA_INET_H #include -#include #endif #if HAVE_SYS_SOCKET_H +/* freebsd wants this for AF_INET */ #include #endif -#include +#if HAVE_NETDB_H +#include +#endif + #include #include #include @@ -42,13 +51,6 @@ int allow_severity = LOG_INFO; /* not YLOG !! */ int deny_severity = LOG_WARNING; -#ifdef LOG_DEBUG -#undef LOG_DEBUG -#endif -#ifdef LOG_WARN -#undef LOG_WARN -#endif - #endif int check_ip_tcpd(void *cd, const char *addr, int len, int type) @@ -62,36 +64,33 @@ int check_ip_tcpd(void *cd, const char *addr, int len, int type) #if HAVE_TCPD_H struct request_info request_info; int i; -#endif char *host_name = 0, *host_addr = 0; struct hostent *host; struct sockaddr_in *addr_in = (struct sockaddr_in *) addr; - + if ((host = gethostbyaddr((char*)&addr_in->sin_addr, sizeof(addr_in->sin_addr), AF_INET))) host_name = (char*) host->h_name; host_addr = inet_ntoa(addr_in->sin_addr); -#if HAVE_TCPD_H - if (host_addr) + if (host_addr && host_name) request_init(&request_info, RQ_DAEMON, daemon_name, RQ_CLIENT_NAME, host_name, RQ_CLIENT_SIN, addr_in, RQ_CLIENT_ADDR, host_addr, 0); else request_init(&request_info, RQ_DAEMON, daemon_name, - RQ_CLIENT_SIN, addr_in, - RQ_CLIENT_ADDR, host_addr, 0); + RQ_CLIENT_SIN, addr_in, 0); i = hosts_access(&request_info); if (!i) { - yaz_log (YLOG_DEBUG, "access denied from %s", - host_name ? host_name : host_addr); + yaz_log(YLOG_DEBUG, "access denied from %s", + host_name ? host_name : host_addr); return 1; } - yaz_log (YLOG_DEBUG, "access granted from %s", - host_name ? host_name : host_addr); + yaz_log(YLOG_DEBUG, "access granted from %s", + host_name ? host_name : host_addr); #endif } } @@ -101,6 +100,7 @@ int check_ip_tcpd(void *cd, const char *addr, int len, int type) /* * Local variables: * c-basic-offset: 4 + * c-file-style: "Stroustrup" * indent-tabs-mode: nil * End: * vim: shiftwidth=4 tabstop=8 expandtab