X-Git-Url: http://git.indexdata.com/?a=blobdiff_plain;f=src%2Ftcpdchk.c;h=1a9d7868884b50cb74f5a13ff5d798bcac8c4956;hb=db93359f0cbf9a1e9dc81ea05f7b8662f843ae3d;hp=96ef8bc0c5a165687f58115571e1ddd947f90577;hpb=811a01b02b3bf8851f13e1cdef1c01f755aa4ca5;p=yaz-moved-to-github.git diff --git a/src/tcpdchk.c b/src/tcpdchk.c index 96ef8bc..1a9d786 100644 --- a/src/tcpdchk.c +++ b/src/tcpdchk.c @@ -1,8 +1,8 @@ /* - * Copyright (C) 1995-2005, Index Data ApS + * Copyright (C) 1995-2007, Index Data ApS * See the file LICENSE for details. * - * $Id: tcpdchk.c,v 1.7 2005-01-17 10:29:25 adam Exp $ + * $Id: tcpdchk.c,v 1.9 2007-01-03 08:42:15 adam Exp $ */ /** * \file tcpdchk.c @@ -57,44 +57,52 @@ int check_ip_tcpd(void *cd, const char *addr, int len, int type) if (type == AF_INET) { - if (daemon_name && *daemon_name) - { + if (daemon_name && *daemon_name) + { #if HAVE_TCPD_H - struct request_info request_info; - int i; + struct request_info request_info; + int i; #endif - char *host_name = 0, *host_addr = 0; - struct hostent *host; + 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); + 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) - 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); - i = hosts_access(&request_info); - if (!i) - { - 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); + if (host_addr) + 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); + i = hosts_access(&request_info); + if (!i) + { + 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); #endif - } + } } return 0; } +/* + * Local variables: + * c-basic-offset: 4 + * indent-tabs-mode: nil + * End: + * vim: shiftwidth=4 tabstop=8 expandtab + */ +