forked from Lainports/freebsd-ports
64 lines
1.5 KiB
Text
64 lines
1.5 KiB
Text
*** apcnisd.c.orig Sat Apr 28 09:12:05 2001
|
|
--- apcnisd.c Mon Dec 3 22:05:08 2001
|
|
***************
|
|
*** 68,79 ****
|
|
--- 68,84 ----
|
|
#include <sys/socket.h>
|
|
#include <netinet/in.h>
|
|
#include <arpa/inet.h>
|
|
+ #ifdef HAVE_LIBWRAP
|
|
+ #include <tcpd.h>
|
|
+ #endif
|
|
|
|
#define NETD_VERSION "1.0"
|
|
|
|
char *pname;
|
|
|
|
UPSINFO myUPS;
|
|
+ UPSINFO *core_ups = &myUPS;;
|
|
+ char argvalue[MAXSTRING];
|
|
static char largebuf[4096];
|
|
static int stat_recs;
|
|
static int logstats = 0;
|
|
***************
|
|
*** 82,87 ****
|
|
--- 87,124 ----
|
|
void handle_client_request();
|
|
int do_daemon(int argc, char *argv[]);
|
|
int do_inetd(int argc, char *argv[]);
|
|
+ int check_wrappers(char *av, int newsock);
|
|
+
|
|
+ #ifdef HAVE_LIBWRAP
|
|
+ int allow_severity = LOG_INFO;
|
|
+ int deny_severity = LOG_WARNING;
|
|
+
|
|
+ int check_wrappers(char *av, int newsock)
|
|
+ {
|
|
+ struct request_info req;
|
|
+ char *av0;
|
|
+
|
|
+ if (strchr(av, '/'))
|
|
+ av0 = strrchr(av, '/');
|
|
+ else
|
|
+ av0 = av;
|
|
+
|
|
+ request_init(&req, RQ_DAEMON, av0, RQ_FILE, newsock, NULL);
|
|
+ fromhost(&req);
|
|
+ if (!hosts_access(&req)) {
|
|
+ log_event(core_ups, LOG_WARNING,
|
|
+ _("Connection from %.500s refused by tcp_wrappers."),
|
|
+ eval_client(&req));
|
|
+ return FAILURE;
|
|
+ }
|
|
+ #ifdef I_WANT_LOTS_OF_LOGGING
|
|
+ log_event(core_ups, LOG_NOTICE, "connect from %.500s", eval_client(&req));
|
|
+ #endif
|
|
+ return SUCCESS;
|
|
+ }
|
|
+
|
|
+ #endif /* HAVE_LIBWRAP */
|
|
+
|
|
|
|
void error_cleanup(UPSINFO *ups)
|
|
{
|
|
|