Mon Jul 26 15:38:10 2021 UTC ()
mail/postfix: update to 3.6.2

* pkgsrc change: Add supportfor blocklistd(3) (and blacklistd(3)).

* From release annuonce:

Fixed in Postfix 3.6.2, 3.5.12, 3.4.22, 3.3.19:

  * In Postfix 3.6, fixed a false "Result too large" (ERANGE) fatal
    error in the compatibility_level parser, because there was no
    'errno = 0' statement before an strtol() call. In Postfix
    3.3-3.5, fixed two older latent bugs of this kind (introduced
    in 1999 and in Postfix 2.11). Problem reported by David Bohman.

  * (problem introduced in Postfix 3.3) "Null pointer read" error
    in the cleanup daemon when "header_from_format = standard" (the
    default as of Postfix 3.3), and email was submitted with
    /usr/sbin/sendmail without From: header, and an all-space full
    name was specified in 1) the password file, 2) with "sendmail
    -F", or 3) with the NAME environment variable. Found by Renaud
    Metrich.

  * (problem introduced in Postfix 2.4) False "too many reverse
    jump" warnings in the showq daemon, because loop detection code
    was comparing memory addresses instead of queue file names.
    Reported by Mehmet Avcioglu.

  * (problem introduced in 1999) The Postfix SMTP server was sending
    all session transcripts to the error_notice_recipient (default:
    postmaster), instead of sending transcripts of bounced mail to
    the bounce_notice_recipient (default: postmaster). Reported by
    Hans van Zijst.

Fixed in Postfix 3.6.2, 3.5.12, 3.4.22:

  * The texthash: map implementation broke tls_server_sni_maps,
    because it did not support multi-file inputs. Reported by
    Christopher Gurnee, who also found an instance of the missing
    code in the "postmap -F" source code. File: util/dict_thash.c.


(taca)
diff -r1.36 -r1.37 pkgsrc/mail/postfix/Makefile.common
diff -r1.194 -r1.195 pkgsrc/mail/postfix/distinfo
diff -r1.7 -r1.8 pkgsrc/mail/postfix-mysql/Makefile
diff -r1.41 -r1.42 pkgsrc/mail/postfix/patches/patch-ai
diff -r0 -r1.1 pkgsrc/mail/postfix/patches/patch-src_smtpd_Makefile.in
diff -r0 -r1.1 pkgsrc/mail/postfix/patches/patch-src_smtpd_pfilter.c
diff -r0 -r1.1 pkgsrc/mail/postfix/patches/patch-src_smtpd_pfilter.h
diff -r0 -r1.1 pkgsrc/mail/postfix/patches/patch-src_smtpd_smtpd.c

cvs diff -r1.36 -r1.37 pkgsrc/mail/postfix/Makefile.common (expand / switch to unified diff)

--- pkgsrc/mail/postfix/Makefile.common 2021/06/14 14:29:47 1.36
+++ pkgsrc/mail/postfix/Makefile.common 2021/07/26 15:38:10 1.37
@@ -1,18 +1,18 @@ @@ -1,18 +1,18 @@
1# $NetBSD: Makefile.common,v 1.36 2021/06/14 14:29:47 taca Exp $ 1# $NetBSD: Makefile.common,v 1.37 2021/07/26 15:38:10 taca Exp $
2# used by mail/postfix/Makefile 2# used by mail/postfix/Makefile
3# used by mail/postfix/Makefile.module 3# used by mail/postfix/Makefile.module
4 4
5DISTNAME= postfix-3.6.1 5DISTNAME= postfix-3.6.2
6CATEGORIES= mail 6CATEGORIES= mail
7MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/official/ 7MASTER_SITES= ftp://ftp.porcupine.org/mirrors/postfix-release/official/
8 8
9MAINTAINER= pkgsrc-users@NetBSD.org 9MAINTAINER= pkgsrc-users@NetBSD.org
10HOMEPAGE= http://www.postfix.org/ 10HOMEPAGE= http://www.postfix.org/
11# The postfix license has only very minor diffs from cpl-1.0. 11# The postfix license has only very minor diffs from cpl-1.0.
12LICENSE= cpl-1.0 12LICENSE= cpl-1.0
13#LICENSE= postfix-license 13#LICENSE= postfix-license
14 14
15DISTINFO_FILE= ${PKGDIR}/../../mail/postfix/distinfo 15DISTINFO_FILE= ${PKGDIR}/../../mail/postfix/distinfo
16PATCHDIR= ${PKGDIR}/../../mail/postfix/patches 16PATCHDIR= ${PKGDIR}/../../mail/postfix/patches
17 17
18CHECK_HEADERS_SKIP+= src/global/mail_params.h 18CHECK_HEADERS_SKIP+= src/global/mail_params.h

cvs diff -r1.194 -r1.195 pkgsrc/mail/postfix/distinfo (expand / switch to unified diff)

--- pkgsrc/mail/postfix/distinfo 2021/06/14 14:29:47 1.194
+++ pkgsrc/mail/postfix/distinfo 2021/07/26 15:38:10 1.195
@@ -1,9 +1,13 @@ @@ -1,9 +1,13 @@
1$NetBSD: distinfo,v 1.194 2021/06/14 14:29:47 taca Exp $ 1$NetBSD: distinfo,v 1.195 2021/07/26 15:38:10 taca Exp $
2 2
3SHA1 (postfix-3.6.1.tar.gz) = 35fdad40c229014e6afa7164057d2c588db530ba 3SHA1 (postfix-3.6.2.tar.gz) = 712230d7b0789d6610d84e8f03937f720fe3963d
4RMD160 (postfix-3.6.1.tar.gz) = 343e1e07b6b959932c0052d3a30ee61a02b6adc0 4RMD160 (postfix-3.6.2.tar.gz) = 2ec2f96a7cafd853528646ef1e5c311a96fa8914
5SHA512 (postfix-3.6.1.tar.gz) = 6f83a6aa55bd442fe005b35c7470483ff5ba6781121f783b07ef454580354fc5c85d0d5106936810d6bef0f5592937f0863eec3b82e138caac7694e2a3bb7bc3 5SHA512 (postfix-3.6.2.tar.gz) = 464ce9ec77e637ede91123472a0383b2bfda52102f9e9852c7191016d4fda2e14f302f2db9793887c182688c2a14dde6eeda728523196a627a8028f99555a4d9
6Size (postfix-3.6.1.tar.gz) = 4748754 bytes 6Size (postfix-3.6.2.tar.gz) = 4749530 bytes
7SHA1 (patch-aa) = c8216f133e202a7bb37682b0dbc1448f021e7c1c 7SHA1 (patch-aa) = c8216f133e202a7bb37682b0dbc1448f021e7c1c
8SHA1 (patch-ag) = feccf4aba580f581953b32e6c3a2c453fcb9131c 8SHA1 (patch-ag) = feccf4aba580f581953b32e6c3a2c453fcb9131c
9SHA1 (patch-ai) = 51748ccf92da543f7ff640f36906a29b5db3f6e3 9SHA1 (patch-ai) = 2d14b2bfe3d8f2b3bc80f31531285accd8eb84ac
 10SHA1 (patch-src_smtpd_Makefile.in) = 8133f9cceb0c1c0250d6543cb060c66288571722
 11SHA1 (patch-src_smtpd_pfilter.c) = c747d2f3584f694eb7b73b19118b4d8b450cfe7f
 12SHA1 (patch-src_smtpd_pfilter.h) = 153b516da89d709d293c6086c2f126791bd945d6
 13SHA1 (patch-src_smtpd_smtpd.c) = 7d709a727ca28efb2b07d3247feb7349576ae1f0

cvs diff -r1.7 -r1.8 pkgsrc/mail/postfix-mysql/Makefile (expand / switch to unified diff)

--- pkgsrc/mail/postfix-mysql/Makefile 2021/06/23 20:33:13 1.7
+++ pkgsrc/mail/postfix-mysql/Makefile 2021/07/26 15:38:10 1.8
@@ -1,17 +1,16 @@ @@ -1,17 +1,16 @@
1# $NetBSD: Makefile,v 1.7 2021/06/23 20:33:13 nia Exp $ 1# $NetBSD: Makefile,v 1.8 2021/07/26 15:38:10 taca Exp $
2# 2#
3 3
4PKGREVISION= 1 
5COMMENT= Postfix SMTP server MySQL backend module 4COMMENT= Postfix SMTP server MySQL backend module
6 5
7POSTFIX_LIB= mysql 6POSTFIX_LIB= mysql
8POSTFIX_LIBDIR= src/global 7POSTFIX_LIBDIR= src/global
9POSTFIX_LIB_DICT= yes 8POSTFIX_LIB_DICT= yes
10POSTFIX_LIB_MKMAP= no 9POSTFIX_LIB_MKMAP= no
11 10
12.include "../../mail/postfix/Makefile.module" 11.include "../../mail/postfix/Makefile.module"
13 12
14CCARGS+= -I${BUILDLINK_PREFIX.mysql-client}/include 13CCARGS+= -I${BUILDLINK_PREFIX.mysql-client}/include
15AUXLIBS_MODULE= -L${BUILDLINK_PREFIX.mysql-client}/lib -lmysqlclient \ 14AUXLIBS_MODULE= -L${BUILDLINK_PREFIX.mysql-client}/lib -lmysqlclient \
16 ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.mysql-client}/lib 15 ${COMPILER_RPATH_FLAG}${BUILDLINK_PREFIX.mysql-client}/lib
17 16

cvs diff -r1.41 -r1.42 pkgsrc/mail/postfix/patches/patch-ai (expand / switch to unified diff)

--- pkgsrc/mail/postfix/patches/patch-ai 2019/07/17 13:33:00 1.41
+++ pkgsrc/mail/postfix/patches/patch-ai 2021/07/26 15:38:10 1.42
@@ -1,82 +1,84 @@ @@ -1,82 +1,84 @@
1$NetBSD: patch-ai,v 1.41 2019/07/17 13:33:00 triaxx Exp $ 1$NetBSD: patch-ai,v 1.42 2021/07/26 15:38:10 taca Exp $
2 2
31) Add shlib definitions for NetBSD 5; the build system must be 31) Add shlib definitions for NetBSD 5; the build system must be
4hard-coded per OS per version. Not yet reported upstream. 4hard-coded per OS per version. Not yet reported upstream.
5 5
62) Make this pkgsrc friendly. 62) Make this pkgsrc friendly.
7 7
83) Add support for FreeBSD 12. 83) Add support for FreeBSD 12.
9 9
10--- makedefs.orig 2019-03-10 23:42:59.000000000 +0000 104) Add blocklist(3) support.
 11
 12--- makedefs.orig 2021-04-24 20:49:37.000000000 +0000
11+++ makedefs 13+++ makedefs
12@@ -298,6 +298,15 @@ case "$SYSTEM.$RELEASE" in 14@@ -309,6 +309,15 @@ case "$SYSTEM.$RELEASE" in
13 : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} 15 : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
14 : ${PLUGIN_LD="${CC} -shared"} 16 : ${PLUGIN_LD="${CC} -shared"}
15 ;; 17 ;;
16+ FreeBSD.12*) SYSTYPE=FREEBSD12 18+ FreeBSD.12*) SYSTYPE=FREEBSD12
17+ : ${CC=cc} 19+ : ${CC=cc}
18+ : ${SHLIB_SUFFIX=.so} 20+ : ${SHLIB_SUFFIX=.so}
19+ : ${SHLIB_CFLAGS=-fPIC} 21+ : ${SHLIB_CFLAGS=-fPIC}
20+ : ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'} 22+ : ${SHLIB_LD="${CC} -shared"' -Wl,-soname,${LIB}'}
21+ : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'} 23+ : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
22+ : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} 24+ : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
23+ : ${PLUGIN_LD="${CC} -shared"} 25+ : ${PLUGIN_LD="${CC} -shared"}
24+ ;; 26+ ;;
25 DragonFly.*) SYSTYPE=DRAGONFLY 27 DragonFly.*) SYSTYPE=DRAGONFLY
26 ;; 28 ;;
27 OpenBSD.2*) SYSTYPE=OPENBSD2 29 OpenBSD.2*) SYSTYPE=OPENBSD2
28@@ -326,25 +335,7 @@ case "$SYSTEM.$RELEASE" in 30@@ -337,25 +346,7 @@ case "$SYSTEM.$RELEASE" in
29 ;; 31 ;;
30 ekkoBSD.1*) SYSTYPE=EKKOBSD1 32 ekkoBSD.1*) SYSTYPE=EKKOBSD1
31 ;; 33 ;;
32- NetBSD.1*) SYSTYPE=NETBSD1 34- NetBSD.1*) SYSTYPE=NETBSD1
33- ;; 35- ;;
34- NetBSD.2*) SYSTYPE=NETBSD2 36- NetBSD.2*) SYSTYPE=NETBSD2
35- ;; 37- ;;
36- NetBSD.3*) SYSTYPE=NETBSD3 38- NetBSD.3*) SYSTYPE=NETBSD3
37- ;; 39- ;;
38- NetBSD.4*) SYSTYPE=NETBSD4 40- NetBSD.4*) SYSTYPE=NETBSD4
39- ;; 41- ;;
40- NetBSD.5*) SYSTYPE=NETBSD5 42- NetBSD.5*) SYSTYPE=NETBSD5
41- ;; 43- ;;
42- NetBSD.6*) SYSTYPE=NETBSD6 44- NetBSD.6*) SYSTYPE=NETBSD6
43- : ${SHLIB_SUFFIX=.so} 45- : ${SHLIB_SUFFIX=.so}
44- : ${SHLIB_CFLAGS=-fPIC} 46- : ${SHLIB_CFLAGS=-fPIC}
45- : ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'} 47- : ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'}
46- : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'} 48- : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
47- : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"} 49- : ${SHLIB_ENV="LD_LIBRARY_PATH=`pwd`/lib"}
48- : ${PLUGIN_LD="${CC-gcc} -shared"} 50- : ${PLUGIN_LD="${CC-gcc} -shared"}
49- ;; 51- ;;
50- NetBSD.7*) SYSTYPE=NETBSD7 52- NetBSD.7*) SYSTYPE=NETBSD7
51+ NetBSD*) SYSTYPE=NETBSD 53+ NetBSD*) SYSTYPE=NETBSD
52 : ${SHLIB_SUFFIX=.so} 54 : ${SHLIB_SUFFIX=.so}
53 : ${SHLIB_CFLAGS=-fPIC} 55 : ${SHLIB_CFLAGS=-fPIC}
54 : ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'} 56 : ${SHLIB_LD="${CC-gcc} -shared"' -Wl,-soname,${LIB}'}
55@@ -423,13 +414,6 @@ case "$SYSTEM.$RELEASE" in 57@@ -434,13 +425,6 @@ case "$SYSTEM.$RELEASE" in
56 esac 58 esac
57 ;; 59 ;;
58 ULTRIX.4*) SYSTYPE=ULTRIX4 60 ULTRIX.4*) SYSTYPE=ULTRIX4
59- if [ -f /usr/local/lib/libdb.a ]; then 61- if [ -f /usr/local/lib/libdb.a ]; then
60- SYSLIBS="$SYSLIBS -ldb" 62- SYSLIBS="$SYSLIBS -ldb"
61- CCARGS="$CCARGS -DHAS_DB" 63- CCARGS="$CCARGS -DHAS_DB"
62- if [ -d /usr/local/include/db ]; then 64- if [ -d /usr/local/include/db ]; then
63- CCARGS="$CCARGS -I/usr/local/include/db" 65- CCARGS="$CCARGS -I/usr/local/include/db"
64- fi 66- fi
65- fi 67- fi
66 for l in syslog resolv; do 68 for l in syslog resolv; do
67 if [ -f /usr/local/lib/lib$l.a ]; then 69 if [ -f /usr/local/lib/lib$l.a ]; then
68 SYSLIBS="$SYSLIBS -l$l" 70 SYSLIBS="$SYSLIBS -l$l"
69@@ -471,33 +455,8 @@ case "$SYSTEM.$RELEASE" in 71@@ -482,33 +466,8 @@ case "$SYSTEM.$RELEASE" in
70 esac;; 72 esac;;
71 # Tested with RedHat 3.03 on 20020729. 73 # Tested with RedHat 3.03 on 20020729.
72 Linux.1*) SYSTYPE=LINUX1 74 Linux.1*) SYSTYPE=LINUX1
73- case "$CCARGS" in 75- case "$CCARGS" in
74- *-DNO_DB*) ;; 76- *-DNO_DB*) ;;
75- *-DHAS_DB*) ;; 77- *-DHAS_DB*) ;;
76- *) SYSLIBS="-ldb";; 78- *) SYSLIBS="-ldb";;
77- esac 79- esac
78 ;; 80 ;;
79 Linux.2*) SYSTYPE=LINUX2 81 Linux.2*) SYSTYPE=LINUX2
80- case "$CCARGS" in 82- case "$CCARGS" in
81- *-DNO_DB*) ;; 83- *-DNO_DB*) ;;
82- *-DHAS_DB*) ;; 84- *-DHAS_DB*) ;;
@@ -90,80 +92,98 @@ hard-coded per OS per version. Not yet  @@ -90,80 +92,98 @@ hard-coded per OS per version. Not yet
90- # No, we're not going to try db1 db2 db3 etc. 92- # No, we're not going to try db1 db2 db3 etc.
91- # On a properly installed system, Postfix builds 93- # On a properly installed system, Postfix builds
92- # by including <db.h> and by linking with -ldb 94- # by including <db.h> and by linking with -ldb
93- echo "No <db.h> include file found." 1>&2 95- echo "No <db.h> include file found." 1>&2
94- echo "Install the appropriate db*-devel package first." 1>&2 96- echo "Install the appropriate db*-devel package first." 1>&2
95- exit 1 97- exit 1
96- fi 98- fi
97- SYSLIBS="-ldb" 99- SYSLIBS="-ldb"
98- ;; 100- ;;
99- esac 101- esac
100 for name in nsl resolv $GDBM_LIBS 102 for name in nsl resolv $GDBM_LIBS
101 do 103 do
102 for lib in /usr/lib64 /lib64 /usr/lib /lib 104 for lib in /usr/lib64 /lib64 /usr/lib /lib
103@@ -597,24 +556,6 @@ EOF 105@@ -608,24 +567,6 @@ EOF
104 ;; 106 ;;
105 GNU.0*|GNU/kFreeBSD.[567]*) 107 GNU.0*|GNU/kFreeBSD.[567]*)
106 SYSTYPE=GNU0 108 SYSTYPE=GNU0
107- case "$CCARGS" in 109- case "$CCARGS" in
108- *-DNO_DB*) ;; 110- *-DNO_DB*) ;;
109- *) if [ -f /usr/include/db.h ] 111- *) if [ -f /usr/include/db.h ]
110- then 112- then
111- : we are all set 113- : we are all set
112- elif [ -f /usr/include/db/db.h ] 114- elif [ -f /usr/include/db/db.h ]
113- then 115- then
114- CCARGS="$CCARGS -I/usr/include/db" 116- CCARGS="$CCARGS -I/usr/include/db"
115- else 117- else
116- # On a properly installed system, Postfix builds 118- # On a properly installed system, Postfix builds
117- # by including <db.h> and by linking with -ldb 119- # by including <db.h> and by linking with -ldb
118- echo "No <db.h> include file found." 1>&2 120- echo "No <db.h> include file found." 1>&2
119- echo "Install the appropriate db*-devel package first." 1>&2 121- echo "Install the appropriate db*-devel package first." 1>&2
120- exit 1 122- exit 1
121- fi 123- fi
122- SYSLIBS="-ldb" 124- SYSLIBS="-ldb"
123- ;; 125- ;;
124- esac 126- esac
125 for name in nsl resolv 127 for name in nsl resolv
126 do 128 do
127 for lib in /usr/lib64 /lib64 /usr/lib /lib 129 for lib in /usr/lib64 /lib64 /usr/lib /lib
128@@ -645,26 +586,14 @@ EOF 130@@ -656,26 +597,14 @@ EOF
129 HP-UX.A.09.*) SYSTYPE=HPUX9 131 HP-UX.A.09.*) SYSTYPE=HPUX9
130 SYSLIBS=-ldbm 132 SYSLIBS=-ldbm
131 CCARGS="$CCARGS -DMISSING_USLEEP -DNO_SNPRINTF" 133 CCARGS="$CCARGS -DMISSING_USLEEP -DNO_SNPRINTF"
132- if [ -f /usr/lib/libdb.a ]; then 134- if [ -f /usr/lib/libdb.a ]; then
133- CCARGS="$CCARGS -DHAS_DB" 135- CCARGS="$CCARGS -DHAS_DB"
134- SYSLIBS="$SYSLIBS -ldb" 136- SYSLIBS="$SYSLIBS -ldb"
135- fi 137- fi
136 ;; 138 ;;
137 HP-UX.B.10.*) SYSTYPE=HPUX10 139 HP-UX.B.10.*) SYSTYPE=HPUX10
138 CCARGS="$CCARGS `nm /usr/lib/libc.a 2>/dev/null | 140 CCARGS="$CCARGS `nm /usr/lib/libc.a 2>/dev/null |
139 (grep usleep >/dev/null || echo '-DMISSING_USLEEP')`" 141 (grep usleep >/dev/null || echo '-DMISSING_USLEEP')`"
140 CCARGS="$CCARGS -DNO_SNPRINTF" 142 CCARGS="$CCARGS -DNO_SNPRINTF"
141- if [ -f /usr/lib/libdb.a ]; then 143- if [ -f /usr/lib/libdb.a ]; then
142- CCARGS="$CCARGS -DHAS_DB" 144- CCARGS="$CCARGS -DHAS_DB"
143- SYSLIBS=-ldb 145- SYSLIBS=-ldb
144- fi 146- fi
145 ;; 147 ;;
146 HP-UX.B.11.*) SYSTYPE=HPUX11 148 HP-UX.B.11.*) SYSTYPE=HPUX11
147 SYSLIBS=-lnsl 149 SYSLIBS=-lnsl
148- if [ -f /usr/lib/libdb.a ]; then 150- if [ -f /usr/lib/libdb.a ]; then
149- CCARGS="$CCARGS -DHAS_DB" 151- CCARGS="$CCARGS -DHAS_DB"
150- SYSLIBS="$SYSLIBS -ldb" 152- SYSLIBS="$SYSLIBS -ldb"
151- fi 153- fi
152 ;; 154 ;;
153 ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543 155 ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix543
154 RANLIB=echo 156 RANLIB=echo
155@@ -706,12 +635,12 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix5 157@@ -717,12 +646,12 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix5
156 esac 158 esac
157 : ${SHLIB_CFLAGS=-fPIC} 159 : ${SHLIB_CFLAGS=-fPIC}
158 : ${SHLIB_SUFFIX=.dylib} 160 : ${SHLIB_SUFFIX=.dylib}
159- : ${SHLIB_LD='cc -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup -Wl,-install_name,@rpath/${LIB}'} 161- : ${SHLIB_LD='cc -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup -Wl,-install_name,@rpath/${LIB}'}
160+ : ${SHLIB_LD='${CC} -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup -Wl,-install_name,@rpath/${LIB}'} 162+ : ${SHLIB_LD='${CC} -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup -Wl,-install_name,@rpath/${LIB}'}
161 : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'} 163 : ${SHLIB_RPATH='-Wl,-rpath,${SHLIB_DIR}'}
162 # In MacOS/X 10.11.x /bin/sh unsets DYLD_LIBRARY_PATH, so we 164 # In MacOS/X 10.11.x /bin/sh unsets DYLD_LIBRARY_PATH, so we
163 # have export it into postfix-install indirectly! 165 # have export it into postfix-install indirectly!
164 : ${SHLIB_ENV="DYLD_LIBRARY_PATH=`pwd`/lib SHLIB_ENV_VAR=DYLD_LIBRARY_PATH SHLIB_ENV_VAL=`pwd`/lib"} 166 : ${SHLIB_ENV="DYLD_LIBRARY_PATH=`pwd`/lib SHLIB_ENV_VAR=DYLD_LIBRARY_PATH SHLIB_ENV_VAL=`pwd`/lib"}
165- : ${PLUGIN_LD='cc -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup'} 167- : ${PLUGIN_LD='cc -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup'}
166+ : ${PLUGIN_LD='${CC} -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup'} 168+ : ${PLUGIN_LD='${CC} -shared -Wl,-flat_namespace -Wl,-undefined,dynamic_lookup'}
167 ;; 169 ;;
168 dcosx.1*) SYSTYPE=DCOSX1 170 dcosx.1*) SYSTYPE=DCOSX1
169 RANLIB=echo 171 RANLIB=echo
 172@@ -746,6 +675,17 @@ ReliantUNIX-?.5.43) SYSTYPE=ReliantUnix5
 173 esac
 174
 175 #
 176+# Support for blocklist(3) or blacklist(3).
 177+#
 178+if test -f /usr/include/blocklist.h; then
 179+ CCARGS="$CCARGS -DHAVE_BLOCKLIST"
 180+ SYSLIBS="$SYSLIBS -lblocklist"
 181+elif test -f /usr/include/blacklist.h; then
 182+ CCARGS="$CCARGS -DHAVE_BLACKLIST"
 183+ SYSLIBS="$SYSLIBS -lblacklist"
 184+fi
 185+
 186+#
 187 # sigsetjmp()/siglongjmp() can be "better" than setjmp()/longjmp()
 188 # if used wisely (that is: almost never, just like signals).
 189 # Unfortunately some implementations have been buggy in the past.

File Added: pkgsrc/mail/postfix/patches/patch-src_smtpd_Makefile.in
$NetBSD: patch-src_smtpd_Makefile.in,v 1.1 2021/07/26 15:38:10 taca Exp $

Add blocklist(3) support.

--- src/smtpd/Makefile.in.orig	2021-04-18 20:45:05.000000000 +0000
+++ src/smtpd/Makefile.in
@@ -2,14 +2,14 @@ SHELL	= /bin/sh
 SRCS	= smtpd.c smtpd_token.c smtpd_check.c smtpd_chat.c smtpd_state.c \
 	smtpd_peer.c smtpd_sasl_proto.c smtpd_sasl_glue.c smtpd_proxy.c \
 	smtpd_xforward.c smtpd_dsn_fix.c smtpd_milter.c smtpd_resolve.c \
-	smtpd_expand.c smtpd_haproxy.c
+	smtpd_expand.c smtpd_haproxy.c pfilter.c
 OBJS	= smtpd.o smtpd_token.o smtpd_check.o smtpd_chat.o smtpd_state.o \
 	smtpd_peer.o smtpd_sasl_proto.o smtpd_sasl_glue.o smtpd_proxy.o \
 	smtpd_xforward.o smtpd_dsn_fix.o smtpd_milter.o smtpd_resolve.o \
-	smtpd_expand.o smtpd_haproxy.o
+	smtpd_expand.o smtpd_haproxy.o pfilter.o
 HDRS	= smtpd_token.h smtpd_check.h smtpd_chat.h smtpd_sasl_proto.h \
 	smtpd_sasl_glue.h smtpd_proxy.h smtpd_dsn_fix.h smtpd_milter.h \
-	smtpd_resolve.h smtpd_expand.h
+	smtpd_resolve.h smtpd_expand.h pfilter.h
 TESTSRC	= smtpd_token_test.c
 DEFS	= -I. -I$(INC_DIR) -D$(SYSTYPE)
 CFLAGS	= $(DEBUG) $(OPT) $(DEFS)

File Added: pkgsrc/mail/postfix/patches/patch-src_smtpd_pfilter.c
$NetBSD: patch-src_smtpd_pfilter.c,v 1.1 2021/07/26 15:38:10 taca Exp $

Add blocklist(3) support.

--- src/smtpd/pfilter.c.orig	2021-07-26 14:19:11.410358217 +0000
+++ src/smtpd/pfilter.c
@@ -0,0 +1,28 @@
+#include "pfilter.h"
+#include <stdio.h>	/* for NULL */
+
+#if defined(HAVE_BLOCKLIST) || defined(HAVE_BLACKLIST)
+
+#ifdef HAVE_BLOCKLIST
+#include <blocklist.h>
+#else
+#include <blacklist.h>
+#endif
+
+static struct blocklist *blstate;
+
+void
+pfilter_notify(int a, int fd)
+{
+	if (blstate == NULL)
+		blstate = blocklist_open();
+	if (blstate == NULL)
+		return;
+	(void)blocklist_r(blstate, a, fd, "smtpd");
+	if (a == 0) {
+		blocklist_close(blstate);
+		blstate = NULL;
+	}
+}
+
+#endif

File Added: pkgsrc/mail/postfix/patches/patch-src_smtpd_pfilter.h
$NetBSD: patch-src_smtpd_pfilter.h,v 1.1 2021/07/26 15:38:10 taca Exp $

Add blocklist(3) support.

--- src/smtpd/pfilter.h.orig	2021-07-26 14:19:32.266525421 +0000
+++ src/smtpd/pfilter.h
@@ -0,0 +1,13 @@
+
+#if defined(HAVE_BLOCKLIST) || defined(HAVE_BLACKLIST)
+
+void pfilter_notify(int, int);
+
+#ifdef HAVE_BLACKLIST
+#define	blocklist			blacklist
+#define blocklist_open()		blacklist_open()
+#define	blocklist_r(a, b, c, d)		blacklist_r((a), (b), (c), (d))
+#define blocklist_close(a)		blacklist_close((a))
+#endif
+
+#endif

File Added: pkgsrc/mail/postfix/patches/patch-src_smtpd_smtpd.c
$NetBSD: patch-src_smtpd_smtpd.c,v 1.1 2021/07/26 15:38:10 taca Exp $

Add blocklist(3) support.

--- src/smtpd/smtpd.c.orig	2021-07-24 21:43:57.000000000 +0000
+++ src/smtpd/smtpd.c
@@ -1263,6 +1263,8 @@
 #include <smtpd_milter.h>
 #include <smtpd_expand.h>
 
+#include "pfilter.h"
+
  /*
   * Tunable parameters. Make sure that there is some bound on the length of
   * an SMTP command, so that the mail system stays in control even when a
@@ -5804,6 +5806,8 @@ static void smtpd_proto(SMTPD_STATE *sta
 		   || strcmp(state->reason, REASON_LOST_CONNECTION)) {
 	    msg_info("%s after %s from %s",
 		     state->reason, state->where, state->namaddr);
+	    if (strcmp(state->where, SMTPD_CMD_AUTH) == 0)
+		pfilter_notify(1, vstream_fileno(state->client));
 	}
     }