1 /*	$NetBSD: pfilter.c,v 1.3 2020/07/04 04:00:53 lukem Exp $	*/
2 
3 #if defined(HAVE_TNFTPD_H)
4 #include "tnftpd.h"
5 #endif
6 
7 #include <stdio.h>
8 
9 #if USE_BLOCKLIST
10 #include <blocklist.h>
11 #elif USE_BLACKLIST
12 #include <blacklist.h>
13 #endif
14 
15 #include "pfilter.h"
16 
17 #if USE_BLOCKLIST
18 static struct blocklist *blstate;
19 #elif USE_BLACKLIST
20 static struct blacklist *blstate;
21 #endif
22 
23 void
pfilter_open(void)24 pfilter_open(void)
25 {
26 #if USE_BLOCKLIST
27 	if (blstate == NULL)
28 		blstate = blocklist_open();
29 #elif USE_BLACKLIST
30 	if (blstate == NULL)
31 		blstate = blacklist_open();
32 #endif
33 }
34 
35 void
pfilter_notify(int what,const char * msg)36 pfilter_notify(int what, const char *msg)
37 {
38 #if USE_BLOCKLIST || USE_BLACKLIST
39 	pfilter_open();
40 
41 	if (blstate == NULL)
42 		return;
43 
44 
45 #if USE_BLOCKLIST
46 	blocklist_r(blstate, what, STDIN_FILENO, msg);
47 #elif USE_BLOCKLIST
48 	blacklist_r(blstate, what, STDIN_FILENO, msg);
49 #endif
50 #endif /* USE_BLOCKLIST || USE_BLACKLIST */
51 }
52