|
(view this code in a separate window) /* * An example of how you can implement * TCP wrappers in your own code. * * See the TCP wrapper library and tcpd.c file for * more examples. * * Copyright 2001, James Lee * Released under the GPL. * */ /* * Include the following in an included .h file, * or at the top of the .c file that uses * TCP wrappers */ #ifdef USE_LIBWRAP #include <tcpd.h> /* These default severities are probably acceptable. */ int allow_severity=LOG_NOTICE; int deny_severity=LOG_WARNING; #endif /* The following goes in your actual .c file */ /* * Insert code like the following after a connection * is established, before the connection is used. */ #ifdef USE_LIBWRAP struct request_info request; request_init(&request, RQ_DAEMON, options.servname, RQ_FILE, local, 0); fromhost(&request); if (!hosts_access(&request)) { log(LOG_WARNING, "Connection from %s:%d REFUSED by libwrap", inet_ntoa(addr.sin_addr), ntohs(addr.sin_port)); log(LOG_DEBUG, "See hosts_access(5) for details"); goto cleanup_local; } #endif
|