X-Git-Url: http://git.indexdata.com/?p=yaz-moved-to-github.git;a=blobdiff_plain;f=comstack%2Ftcpip.c;h=62a6a5efe268847d9b6baf8856eaa8f77e4e8558;hp=94e05c86334b15c54eb2650aa184af7584aca2dc;hb=bf7ee634e855d15e955d06e7b225d2045abd518a;hpb=742b23a913c14e0a4d39fa8f314300fea55c2352 diff --git a/comstack/tcpip.c b/comstack/tcpip.c index 94e05c8..62a6a5e 100644 --- a/comstack/tcpip.c +++ b/comstack/tcpip.c @@ -4,7 +4,10 @@ * Sebastian Hammer, Adam Dickmeiss * * $Log: tcpip.c,v $ - * Revision 1.28 1999-03-31 11:11:14 adam + * Revision 1.29 1999-04-16 14:45:55 adam + * Added interface for tcpd wrapper for access control. + * + * Revision 1.28 1999/03/31 11:11:14 adam * Function getprotobyname only called once. Minor change in tcpip_get * to handle multi-threaded conditions. * @@ -169,6 +172,7 @@ #include #include +#include /* Chas added the following, so we get the definition of completeBER */ #include @@ -412,6 +416,7 @@ int tcpip_bind(COMSTACK h, void *address, int mode) unsigned long one = 1; #endif + logf (LOG_LOG, "tcpip_bind"); TRC(fprintf(stderr, "tcpip_bind\n")); if (setsockopt(h->iofile, SOL_SOCKET, SO_REUSEADDR, (char*) &one, sizeof(one)) < 0) @@ -433,19 +438,6 @@ int tcpip_bind(COMSTACK h, void *address, int mode) return 0; } -#if 0 -void tcpip_get_ip(COMSTACK h, char *ip_buf) -{ - struct tcpip_state *sp = (tcpip_state *)h->cprivate; - const char *ip_addr = (const char *) (&sp->addr->sin_addr.s_addr); - int i; - - for (i = 0; i<4; i++) - TRC (fprintf (stderr, "%u ", ip_addr[i])); - TRC (fprintf (stderr, "\n")); -} -#endif - int tcpip_listen(COMSTACK h, char *raddr, int *addrlen, int (*check_ip)(void *cd, const char *a, int len, int type), void *cd) @@ -476,14 +468,14 @@ int tcpip_listen(COMSTACK h, char *raddr, int *addrlen, memcpy(raddr, &addr, *addrlen = sizeof(struct sockaddr_in)); else if (addrlen) *addrlen = 0; - if (check_ip && (*check_ip)(cd, (const char *) &addr.sin_addr, - sizeof(addr.sin_addr), AF_INET)) + if (check_ip && (*check_ip)(cd, (const char *) &addr, + sizeof(addr), AF_INET)) { h->cerrno = CSDENY; #ifdef WIN32 - closesocket(h->iofile); + closesocket(h->newfd); #else - close(h->iofile); + close(h->newfd); #endif return -1; }