Mon Oct 7 19:29:47 2019 UTC ()
- update to 1.3.6
- add blacklistd support.


(christos)
diff -r1.87 -r1.88 pkgsrc/net/proftpd/Makefile
diff -r1.7 -r1.8 pkgsrc/net/proftpd/Makefile.common
diff -r1.27 -r1.28 pkgsrc/net/proftpd/PLIST
diff -r1.46 -r1.47 pkgsrc/net/proftpd/distinfo
diff -r0 -r1.1 pkgsrc/net/proftpd/patches/patch-Make.rules.in
diff -r0 -r1.1 pkgsrc/net/proftpd/patches/patch-include_pfilter.h
diff -r0 -r1.1 pkgsrc/net/proftpd/patches/patch-modules_mod__auth.c
diff -r0 -r1.1 pkgsrc/net/proftpd/patches/patch-src_main.c
diff -r0 -r1.1 pkgsrc/net/proftpd/patches/patch-src_pfilter.c

cvs diff -r1.87 -r1.88 pkgsrc/net/proftpd/Makefile (expand / switch to unified diff)

--- pkgsrc/net/proftpd/Makefile 2019/08/11 13:22:28 1.87
+++ pkgsrc/net/proftpd/Makefile 2019/10/07 19:29:47 1.88
@@ -1,16 +1,16 @@ @@ -1,16 +1,16 @@
1# $NetBSD: Makefile,v 1.87 2019/08/11 13:22:28 wiz Exp $ 1# $NetBSD: Makefile,v 1.88 2019/10/07 19:29:47 christos Exp $
2 2
3PKGREVISION= 2 3#PKGREVISION= 2
4.include "../../net/proftpd/Makefile.common" 4.include "../../net/proftpd/Makefile.common"
5 5
6COMMENT= Highly configurable FTP server software 6COMMENT= Highly configurable FTP server software
7 7
8MODULES+= \ 8MODULES+= \
9 mod_ban \ 9 mod_ban \
10 mod_copy \ 10 mod_copy \
11 mod_ctrls_admin \ 11 mod_ctrls_admin \
12 mod_deflate \ 12 mod_deflate \
13 mod_dnsbl \ 13 mod_dnsbl \
14 mod_dynmasq \ 14 mod_dynmasq \
15 mod_exec \ 15 mod_exec \
16 mod_ifsession \ 16 mod_ifsession \
@@ -44,26 +44,26 @@ RCD_SCRIPTS= proftpd @@ -44,26 +44,26 @@ RCD_SCRIPTS= proftpd
44REPLACE_PERL+= contrib/ftpasswd 44REPLACE_PERL+= contrib/ftpasswd
45REPLACE_PERL+= contrib/ftpmail 45REPLACE_PERL+= contrib/ftpmail
46REPLACE_PERL+= contrib/ftpquota 46REPLACE_PERL+= contrib/ftpquota
47REPLACE_PERL+= src/prxs.in 47REPLACE_PERL+= src/prxs.in
48 48
49CONF_FILES= ${PREFIX}/share/examples/proftpd/basic.conf \ 49CONF_FILES= ${PREFIX}/share/examples/proftpd/basic.conf \
50 ${PKG_SYSCONFDIR}/proftpd.conf 50 ${PKG_SYSCONFDIR}/proftpd.conf
51 51
52INSTALLATION_DIRS+= lib/proftpd 52INSTALLATION_DIRS+= lib/proftpd
53INSTALLATION_DIRS+= share/doc/proftpd 53INSTALLATION_DIRS+= share/doc/proftpd
54INSTALLATION_DIRS+= share/examples/proftpd 54INSTALLATION_DIRS+= share/examples/proftpd
55 55
56post-install: 56post-install:
57.for i in NEWS README README.IPv6 README.LDAP README.PAM README.capabilities \ 57.for i in NEWS README.md README.IPv6 README.LDAP README.PAM README.capabilities \
58 README.classes README.controls README.facl README.modules 58 README.classes README.controls README.facl README.modules
59 ${INSTALL_DATA} ${WRKSRC}/${i} ${DESTDIR}${PREFIX}/share/doc/proftpd 59 ${INSTALL_DATA} ${WRKSRC}/${i} ${DESTDIR}${PREFIX}/share/doc/proftpd
60.endfor 60.endfor
61.for i in Configuration.html faq.html license.txt 61.for i in Configuration.html faq.html license.txt
62 ${INSTALL_DATA} ${WRKSRC}/doc/${i} ${DESTDIR}${PREFIX}/share/doc/proftpd 62 ${INSTALL_DATA} ${WRKSRC}/doc/${i} ${DESTDIR}${PREFIX}/share/doc/proftpd
63.endfor 63.endfor
64 ${INSTALL_DATA} ${WRKSRC}/sample-configurations/*.conf \ 64 ${INSTALL_DATA} ${WRKSRC}/sample-configurations/*.conf \
65 ${DESTDIR}${PREFIX}/share/examples/proftpd 65 ${DESTDIR}${PREFIX}/share/examples/proftpd
66 ${INSTALL_SCRIPT} ${WRKSRC}/contrib/ftpasswd \ 66 ${INSTALL_SCRIPT} ${WRKSRC}/contrib/ftpasswd \
67 ${DESTDIR}${PREFIX}/share/examples/proftpd 67 ${DESTDIR}${PREFIX}/share/examples/proftpd
68 68
69.include "../../mk/bsd.pkg.mk" 69.include "../../mk/bsd.pkg.mk"

cvs diff -r1.7 -r1.8 pkgsrc/net/proftpd/Makefile.common (expand / switch to unified diff)

--- pkgsrc/net/proftpd/Makefile.common 2019/05/14 11:39:38 1.7
+++ pkgsrc/net/proftpd/Makefile.common 2019/10/07 19:29:47 1.8
@@ -1,28 +1,28 @@ @@ -1,28 +1,28 @@
1# $NetBSD: Makefile.common,v 1.7 2019/05/14 11:39:38 kim Exp $ 1# $NetBSD: Makefile.common,v 1.8 2019/10/07 19:29:47 christos Exp $
2 2
3# used by net/proftpd/Makefile 3# used by net/proftpd/Makefile
4# used by net/proftpd/Makefile.module 4# used by net/proftpd/Makefile.module
5 5
6DISTNAME= proftpd-1.3.5d 6DISTNAME= proftpd-1.3.6
7CATEGORIES= net 7CATEGORIES= net
8MASTER_SITES= ftp://ftp.proftpd.org/distrib/source/ 8MASTER_SITES= ftp://ftp.proftpd.org/distrib/source/
9MASTER_SITES+= ftp://ftp.servus.at/ProFTPD/distrib/source/ 9MASTER_SITES+= ftp://ftp.servus.at/ProFTPD/distrib/source/
10MASTER_SITES+= ftp://ftp.fsn.hu/pub/proftpd/distrib/source/ 10MASTER_SITES+= ftp://ftp.fsn.hu/pub/proftpd/distrib/source/
11 11
12PATCH_SITES= https://github.com/proftpd/proftpd/commit/ 12#PATCH_SITES= https://github.com/proftpd/proftpd/commit/
13PATCH_DIST_STRIP= -p1 13#PATCH_DIST_STRIP= -p1
14# For CVE-2017-7418 14# For CVE-2017-7418
15PATCHFILES= ecff21e0d0e84f35c299ef91d7fda088e516d4ed.patch 15#PATCHFILES= ecff21e0d0e84f35c299ef91d7fda088e516d4ed.patch
16 16
17MAINTAINER= pkgsrc-users@NetBSD.org 17MAINTAINER= pkgsrc-users@NetBSD.org
18HOMEPAGE= http://www.proftpd.org/ 18HOMEPAGE= http://www.proftpd.org/
19LICENSE= gnu-gpl-v2 19LICENSE= gnu-gpl-v2
20 20
21DISTINFO_FILE= ${.CURDIR}/../../net/proftpd/distinfo 21DISTINFO_FILE= ${.CURDIR}/../../net/proftpd/distinfo
22PATCHDIR= ${.CURDIR}/../../net/proftpd/patches 22PATCHDIR= ${.CURDIR}/../../net/proftpd/patches
23 23
24USE_TOOLS+= gmake intltool msgfmt perl:run 24USE_TOOLS+= gmake intltool msgfmt perl:run
25USE_LIBTOOL= yes 25USE_LIBTOOL= yes
26GNU_CONFIGURE= yes 26GNU_CONFIGURE= yes
27CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} 27CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
28CONFIGURE_ARGS+= --libexecdir=${PREFIX}/libexec/proftpd 28CONFIGURE_ARGS+= --libexecdir=${PREFIX}/libexec/proftpd

cvs diff -r1.27 -r1.28 pkgsrc/net/proftpd/PLIST (expand / switch to unified diff)

--- pkgsrc/net/proftpd/PLIST 2015/09/25 10:01:37 1.27
+++ pkgsrc/net/proftpd/PLIST 2019/10/07 19:29:47 1.28
@@ -1,88 +1,94 @@ @@ -1,88 +1,94 @@
1@comment $NetBSD: PLIST,v 1.27 2015/09/25 10:01:37 wiedi Exp $ 1@comment $NetBSD: PLIST,v 1.28 2019/10/07 19:29:47 christos Exp $
2bin/ftpasswd 2bin/ftpasswd
3bin/ftpcount 3bin/ftpcount
4bin/ftpdctl 4bin/ftpdctl
5bin/ftpmail 5bin/ftpmail
6bin/ftpquota 6bin/ftpquota
7bin/ftptop 7bin/ftptop
8bin/ftpwho 8bin/ftpwho
9bin/prxs 9bin/prxs
10include/proftpd/ascii.h 10include/proftpd/ascii.h
11include/proftpd/auth.h 11include/proftpd/auth.h
12include/proftpd/bindings.h 12include/proftpd/bindings.h
13include/proftpd/buildstamp.h 13include/proftpd/buildstamp.h
 14include/proftpd/ccan-json.h
14include/proftpd/child.h 15include/proftpd/child.h
15include/proftpd/class.h 16include/proftpd/class.h
16include/proftpd/cmd.h 17include/proftpd/cmd.h
17include/proftpd/compat.h 18include/proftpd/compat.h
18include/proftpd/conf.h 19include/proftpd/conf.h
19include/proftpd/config.h 20include/proftpd/config.h
 21include/proftpd/configdb.h
20include/proftpd/ctrls.h 22include/proftpd/ctrls.h
21include/proftpd/data.h 23include/proftpd/data.h
22include/proftpd/default_paths.h 24include/proftpd/default_paths.h
23include/proftpd/dirtree.h 25include/proftpd/dirtree.h
24include/proftpd/display.h 26include/proftpd/display.h
25include/proftpd/encode.h 27include/proftpd/encode.h
26include/proftpd/env.h 28include/proftpd/env.h
27include/proftpd/event.h 29include/proftpd/event.h
28include/proftpd/expr.h 30include/proftpd/expr.h
29include/proftpd/feat.h 31include/proftpd/feat.h
30include/proftpd/filter.h 32include/proftpd/filter.h
31include/proftpd/fsio.h 33include/proftpd/fsio.h
32include/proftpd/ftp.h 34include/proftpd/ftp.h
33include/proftpd/glibc-glob.h 35include/proftpd/glibc-glob.h
 36include/proftpd/hanson-tpl.h
34include/proftpd/help.h 37include/proftpd/help.h
35include/proftpd/ident.h 38include/proftpd/ident.h
36include/proftpd/inet.h 39include/proftpd/inet.h
 40include/proftpd/json.h
37include/proftpd/lastlog.h 41include/proftpd/lastlog.h
38include/proftpd/libsupp.h 42include/proftpd/libsupp.h
39include/proftpd/log.h 43include/proftpd/log.h
 44include/proftpd/logfmt.h
40include/proftpd/memcache.h 45include/proftpd/memcache.h
41include/proftpd/mkhome.h 46include/proftpd/mkhome.h
42include/proftpd/mod_ctrls.h 47include/proftpd/mod_ctrls.h
43include/proftpd/mod_dnsbl.h 48include/proftpd/mod_dnsbl.h
44include/proftpd/mod_load.h 49include/proftpd/mod_load.h
45include/proftpd/mod_log.h 
46include/proftpd/mod_quotatab.h 50include/proftpd/mod_quotatab.h
47include/proftpd/mod_sftp.h 51include/proftpd/mod_sftp.h
48include/proftpd/mod_sql.h 52include/proftpd/mod_sql.h
49include/proftpd/mod_tls.h 53include/proftpd/mod_tls.h
50include/proftpd/mod_wrap2.h 54include/proftpd/mod_wrap2.h
51include/proftpd/modules.h 55include/proftpd/modules.h
52include/proftpd/netacl.h 56include/proftpd/netacl.h
53include/proftpd/netaddr.h 57include/proftpd/netaddr.h
54include/proftpd/netio.h 58include/proftpd/netio.h
55include/proftpd/options.h 59include/proftpd/options.h
56include/proftpd/parser.h 60include/proftpd/parser.h
 61include/proftpd/pfilter.h
57include/proftpd/pidfile.h 62include/proftpd/pidfile.h
58include/proftpd/pool.h 63include/proftpd/pool.h
59include/proftpd/pr-syslog.h 64include/proftpd/pr-syslog.h
60include/proftpd/privs.h 65include/proftpd/privs.h
61include/proftpd/proctitle.h 66include/proftpd/proctitle.h
62include/proftpd/proftpd.h 67include/proftpd/proftpd.h
 68include/proftpd/redis.h
63include/proftpd/regexp.h 69include/proftpd/regexp.h
64include/proftpd/response.h 70include/proftpd/response.h
65include/proftpd/rlimit.h 71include/proftpd/rlimit.h
66include/proftpd/scoreboard.h 72include/proftpd/scoreboard.h
67include/proftpd/session.h 73include/proftpd/session.h
68include/proftpd/sets.h 74include/proftpd/sets.h
 75include/proftpd/signals.h
69include/proftpd/stash.h 76include/proftpd/stash.h
70include/proftpd/str.h 77include/proftpd/str.h
71include/proftpd/support.h 78include/proftpd/support.h
72include/proftpd/table.h 79include/proftpd/table.h
73include/proftpd/throttle.h 80include/proftpd/throttle.h
74include/proftpd/timers.h 81include/proftpd/timers.h
75include/proftpd/tpl.h 
76include/proftpd/trace.h 82include/proftpd/trace.h
77include/proftpd/utf8.h 83include/proftpd/utf8.h
78include/proftpd/var.h 84include/proftpd/var.h
79include/proftpd/version.h 85include/proftpd/version.h
80include/proftpd/xferlog.h 86include/proftpd/xferlog.h
81lib/pkgconfig/proftpd.pc 87lib/pkgconfig/proftpd.pc
82libexec/proftpd/mod_ban.la 88libexec/proftpd/mod_ban.la
83libexec/proftpd/mod_copy.la 89libexec/proftpd/mod_copy.la
84libexec/proftpd/mod_ctrls_admin.la 90libexec/proftpd/mod_ctrls_admin.la
85libexec/proftpd/mod_deflate.la 91libexec/proftpd/mod_deflate.la
86libexec/proftpd/mod_dnsbl.la 92libexec/proftpd/mod_dnsbl.la
87libexec/proftpd/mod_dynmasq.la 93libexec/proftpd/mod_dynmasq.la
88libexec/proftpd/mod_exec.la 94libexec/proftpd/mod_exec.la
@@ -119,27 +125,27 @@ man/man1/ftptop.1 @@ -119,27 +125,27 @@ man/man1/ftptop.1
119man/man1/ftpwho.1 125man/man1/ftpwho.1
120man/man5/proftpd.conf.5 126man/man5/proftpd.conf.5
121man/man5/xferlog.5 127man/man5/xferlog.5
122man/man8/ftpdctl.8 128man/man8/ftpdctl.8
123man/man8/ftpscrub.8 129man/man8/ftpscrub.8
124man/man8/ftpshut.8 130man/man8/ftpshut.8
125man/man8/proftpd.8 131man/man8/proftpd.8
126sbin/ftpscrub 132sbin/ftpscrub
127sbin/ftpshut 133sbin/ftpshut
128sbin/in.proftpd 134sbin/in.proftpd
129sbin/proftpd 135sbin/proftpd
130share/doc/proftpd/Configuration.html 136share/doc/proftpd/Configuration.html
131share/doc/proftpd/NEWS 137share/doc/proftpd/NEWS
132share/doc/proftpd/README 138share/doc/proftpd/README.md
133share/doc/proftpd/README.IPv6 139share/doc/proftpd/README.IPv6
134share/doc/proftpd/README.LDAP 140share/doc/proftpd/README.LDAP
135share/doc/proftpd/README.PAM 141share/doc/proftpd/README.PAM
136share/doc/proftpd/README.capabilities 142share/doc/proftpd/README.capabilities
137share/doc/proftpd/README.classes 143share/doc/proftpd/README.classes
138share/doc/proftpd/README.controls 144share/doc/proftpd/README.controls
139share/doc/proftpd/README.facl 145share/doc/proftpd/README.facl
140share/doc/proftpd/README.modules 146share/doc/proftpd/README.modules
141share/doc/proftpd/faq.html 147share/doc/proftpd/faq.html
142share/doc/proftpd/license.txt 148share/doc/proftpd/license.txt
143share/examples/proftpd/anonymous.conf 149share/examples/proftpd/anonymous.conf
144share/examples/proftpd/basic.conf 150share/examples/proftpd/basic.conf
145share/examples/proftpd/blacklist.dat 151share/examples/proftpd/blacklist.dat

cvs diff -r1.46 -r1.47 pkgsrc/net/proftpd/distinfo (expand / switch to unified diff)

--- pkgsrc/net/proftpd/distinfo 2017/04/05 17:36:00 1.46
+++ pkgsrc/net/proftpd/distinfo 2019/10/07 19:29:47 1.47
@@ -1,13 +1,14 @@ @@ -1,13 +1,14 @@
1$NetBSD: distinfo,v 1.46 2017/04/05 17:36:00 kim Exp $ 1$NetBSD: distinfo,v 1.47 2019/10/07 19:29:47 christos Exp $
2 2
3SHA1 (ecff21e0d0e84f35c299ef91d7fda088e516d4ed.patch) = a508c2b37482b178d8ff7b06e45d36044818b5f8 3SHA1 (proftpd-1.3.6.tar.gz) = 7e9269f9448c37f82e6faa9edaa3186ff5ba82d2
4RMD160 (ecff21e0d0e84f35c299ef91d7fda088e516d4ed.patch) = 5cc12fd67e6c722151f0d0c2a22365aff16f7219 4RMD160 (proftpd-1.3.6.tar.gz) = 5da3934e46ea517ee6652382e5e3a9f87e591dd6
5SHA512 (ecff21e0d0e84f35c299ef91d7fda088e516d4ed.patch) = 7cfadcdb33eff71925d61c78d9d54fe171df3c161d43a940485bd70965046da4ad82d2381d94452dee80548b3131be6801d4f85bbfb2fc3afc7b9a872a00d707 5SHA512 (proftpd-1.3.6.tar.gz) = 2a3ca76a0c35ba31e9d79f7f652f4f35768262f5039c5dc04ef83ac9218f624645ac6cee445af4ec6a8c59a9bdad1e7b48e0e90cd13934cbe7c3e77a2f6013c0
6Size (ecff21e0d0e84f35c299ef91d7fda088e516d4ed.patch) = 3851 bytes 6Size (proftpd-1.3.6.tar.gz) = 20251898 bytes
7SHA1 (proftpd-1.3.5d.tar.gz) = e7271c9f6df331eda393a834ad66ff60eff134ca 7SHA1 (patch-Make.rules.in) = 6ce8ab0f65270f701b455a3fd3f008c9f24511c3
8RMD160 (proftpd-1.3.5d.tar.gz) = 2052a7c41824c8ce9558fd11c78843b1b07ab6e7 
9SHA512 (proftpd-1.3.5d.tar.gz) = 3297ddd1f11d46123bbe46488d75fa7a6dcdf2c2d6e7e880a78a427f9f1e9901878dab179e41092e0b9864a615d8ba0b0bf444d4f829870e993e3169c7141c37 
10Size (proftpd-1.3.5d.tar.gz) = 29966560 bytes 
11SHA1 (patch-Makefile.in) = 332dcd9d773770c10d876dc9da1dc7f6b1c15421 8SHA1 (patch-Makefile.in) = 332dcd9d773770c10d876dc9da1dc7f6b1c15421
12SHA1 (patch-contrib_mod__sftp_Makefile.in) = 8a805d777597b4fb06a45b484373880e535a0cee 9SHA1 (patch-contrib_mod__sftp_Makefile.in) = 8a805d777597b4fb06a45b484373880e535a0cee
13SHA1 (patch-contrib_mod_tls.c) = e36dfa9427804b41eb2ad49378b62890325d50ed 10SHA1 (patch-contrib_mod_tls.c) = e36dfa9427804b41eb2ad49378b62890325d50ed
 11SHA1 (patch-include_pfilter.h) = 399ba8873e6a58db89c3be44b4f09a1f4ab04e60
 12SHA1 (patch-modules_mod__auth.c) = b1ff5c3236edabce5016da3230e0bd30ec92db48
 13SHA1 (patch-src_main.c) = c00e1b1830d36d17bea5a10d8e13ec2328d3df88
 14SHA1 (patch-src_pfilter.c) = 0f83e751072586f2b6359952b09328d820accc8f

File Added: pkgsrc/net/proftpd/patches/patch-Make.rules.in
--- Make.rules.in.orig	2015-05-27 20:25:54.000000000 -0400
+++ Make.rules.in	2016-01-25 21:48:47.000000000 -0500
@@ -110,3 +110,8 @@
 
 FTPWHO_OBJS=ftpwho.o scoreboard.o misc.o
 BUILD_FTPWHO_OBJS=utils/ftpwho.o utils/scoreboard.o utils/misc.o
+
+CPPFLAGS+=-DHAVE_BLACKLIST
+LIBS+=-lblacklist
+OBJS+= pfilter.o
+BUILD_OBJS+= src/pfilter.o

File Added: pkgsrc/net/proftpd/patches/patch-include_pfilter.h
--- /dev/null	2016-01-22 17:30:55.000000000 -0500
+++ include/pfilter.h	2016-01-22 16:18:33.000000000 -0500
@@ -0,0 +1,3 @@
+
+void pfilter_notify(int);
+void pfilter_init(void);

File Added: pkgsrc/net/proftpd/patches/patch-modules_mod__auth.c
$NetBSD: patch-modules_mod__auth.c,v 1.1 2019/10/07 19:29:47 christos Exp $

Add packet filter

--- modules/mod_auth.c.orig	2017-04-09 22:31:02.000000000 -0400
+++ modules/mod_auth.c	2019-10-07 15:10:42.316419545 -0400
@@ -28,6 +28,7 @@
 
 #include "conf.h"
 #include "privs.h"
+#include "pfilter.h"
 
 #ifdef HAVE_USERSEC_H
 # include <usersec.h>
@@ -97,6 +98,8 @@
     _("Login timeout (%d %s): closing control connection"), TimeoutLogin,
     TimeoutLogin != 1 ? "seconds" : "second");
 
+  pfilter_notify(1);
+
   /* It's possible that any listeners of this event might terminate the
    * session process themselves (e.g. mod_ban).  So write out that the
    * TimeoutLogin has been exceeded to the log here, in addition to the
@@ -1095,6 +1098,7 @@
         pr_memscrub(pass, strlen(pass));
       }
 
+      pfilter_notify(1);
       pr_log_auth(PR_LOG_NOTICE, "SECURITY VIOLATION: Root login attempted");
       return 0;
     }
@@ -1952,6 +1956,7 @@
   return 1;
 
 auth_failure:
+  pfilter_notify(1);
   if (pass)
     pr_memscrub(pass, strlen(pass));
   session.user = session.group = NULL;

File Added: pkgsrc/net/proftpd/patches/patch-src_main.c
$NetBSD: patch-src_main.c,v 1.1 2019/10/07 19:29:47 christos Exp $

Add packet filter

--- src/main.c.orig	2017-04-09 22:31:02.000000000 -0400
+++ src/main.c	2019-10-07 15:09:12.516004304 -0400
@@ -41,6 +41,7 @@
 #endif
 
 #include "privs.h"
+#include "pfilter.h"
 
 int (*cmd_auth_chk)(cmd_rec *);
 void (*cmd_handler)(server_rec *, conn_t *);
@@ -1089,6 +1090,7 @@
   pid_t pid;
   sigset_t sig_set;
 
+  pfilter_init();
   if (no_fork == FALSE) {
 
     /* A race condition exists on heavily loaded servers where the parent
@@ -1206,7 +1208,8 @@
 
   /* Reseed pseudo-randoms */
   srand((unsigned int) (time(NULL) * getpid()));
-
+#else
+  pfilter_init();
 #endif /* PR_DEVEL_NO_FORK */
 
   /* Child is running here */

File Added: pkgsrc/net/proftpd/patches/patch-src_pfilter.c
--- /dev/null	2016-01-22 17:30:55.000000000 -0500
+++ src/pfilter.c	2016-01-22 16:37:55.000000000 -0500
@@ -0,0 +1,41 @@
+#include "pfilter.h"
+#include "conf.h"
+#include "privs.h"
+#ifdef HAVE_BLACKLIST
+#include <blacklist.h>
+#endif
+
+static struct blacklist *blstate;
+
+void
+pfilter_init(void)
+{
+#ifdef HAVE_BLACKLIST
+	if (blstate == NULL)
+		blstate = blacklist_open();
+#endif
+}
+
+void
+pfilter_notify(int a)
+{
+#ifdef HAVE_BLACKLIST
+	conn_t *c = session.c;
+	int fd;
+
+	if (c == NULL)
+		return;
+	if (c->rfd != -1)
+		fd = c->rfd;
+	else if (c->wfd != -1)
+		fd = c->wfd;
+	else
+		return;
+
+	if (blstate == NULL)
+		pfilter_init();
+	if (blstate == NULL)
+		return;
+	(void)blacklist_r(blstate, a, fd, "proftpd");
+#endif
+}