xref: /netbsd-src/external/bsd/blocklist/diff/postfix.diff (revision ca734aa17ec8a5d468ac81974c2d2ccbc07065c8)
1df83713dSchristosIndex: dist/src/smtpd/pfilter.c
2df83713dSchristos===================================================================
3df83713dSchristosRCS file: dist/src/smtpd/pfilter.c
4df83713dSchristosdiff -N dist/src/smtpd/pfilter.c
5df83713dSchristos--- /dev/null	1 Jan 1970 00:00:00 -0000
6df83713dSchristos+++ dist/src/smtpd/pfilter.c	1 Feb 2018 03:29:09 -0000
7df83713dSchristos@@ -0,0 +1,19 @@
8df83713dSchristos+#include "pfilter.h"
9df83713dSchristos+#include <stdio.h>	/* for NULL */
10df83713dSchristos+#include <blocklist.h>
11df83713dSchristos+
12df83713dSchristos+static struct blocklist *blstate;
13df83713dSchristos+
14df83713dSchristos+void
15df83713dSchristos+pfilter_notify(int a, int fd)
16df83713dSchristos+{
17df83713dSchristos+	if (blstate == NULL)
18df83713dSchristos+		blstate = blocklist_open();
19df83713dSchristos+	if (blstate == NULL)
20df83713dSchristos+		return;
21df83713dSchristos+	(void)blocklist_r(blstate, a, fd, "smtpd");
22df83713dSchristos+	if (a == 0) {
23df83713dSchristos+		blocklist_close(blstate);
24df83713dSchristos+		blstate = NULL;
25df83713dSchristos+	}
26df83713dSchristos+}
27df83713dSchristosIndex: dist/src/smtpd/pfilter.h
28df83713dSchristos===================================================================
29df83713dSchristosRCS file: dist/src/smtpd/pfilter.h
30df83713dSchristosdiff -N dist/src/smtpd/pfilter.h
31df83713dSchristos--- /dev/null	1 Jan 1970 00:00:00 -0000
32df83713dSchristos+++ dist/src/smtpd/pfilter.h	1 Feb 2018 03:29:09 -0000
33df83713dSchristos@@ -0,0 +1,2 @@
34df83713dSchristos+
35df83713dSchristos+void pfilter_notify(int, int);
36df83713dSchristosIndex: dist/src/smtpd/smtpd.c
37df83713dSchristos===================================================================
38df83713dSchristosRCS file: /cvsroot/src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c,v
39df83713dSchristosretrieving revision 1.14
40df83713dSchristosdiff -u -r1.14 smtpd.c
41df83713dSchristos--- dist/src/smtpd/smtpd.c	14 Feb 2017 01:16:48 -0000	1.14
42df83713dSchristos+++ dist/src/smtpd/smtpd.c	1 Feb 2018 03:29:09 -0000
43df83713dSchristos@@ -1197,6 +1197,8 @@
44df83713dSchristos #include <smtpd_milter.h>
45df83713dSchristos #include <smtpd_expand.h>
46df83713dSchristos
47df83713dSchristos+#include "pfilter.h"
48df83713dSchristos+
49df83713dSchristos  /*
50df83713dSchristos   * Tunable parameters. Make sure that there is some bound on the length of
51df83713dSchristos   * an SMTP command, so that the mail system stays in control even when a
52df83713dSchristos@@ -5048,6 +5050,7 @@
53df83713dSchristos 	    if (state->error_count >= var_smtpd_hard_erlim) {
54df83713dSchristos 		state->reason = REASON_ERROR_LIMIT;
55df83713dSchristos 		state->error_mask |= MAIL_ERROR_PROTOCOL;
56df83713dSchristos+		pfilter_notify(1, vstream_fileno(state->client));
57df83713dSchristos 		smtpd_chat_reply(state, "421 4.7.0 %s Error: too many errors",
58df83713dSchristos 				 var_myhostname);
59df83713dSchristos 		break;
60df83713dSchristosIndex: libexec/smtpd/Makefile
61df83713dSchristos===================================================================
62df83713dSchristosRCS file: /cvsroot/src/external/ibm-public/postfix/libexec/smtpd/Makefile,v
63df83713dSchristosretrieving revision 1.6
64df83713dSchristosdiff -u -r1.6 Makefile
65df83713dSchristos--- libexec/smtpd/Makefile	21 May 2017 15:28:40 -0000	1.6
66df83713dSchristos+++ libexec/smtpd/Makefile	1 Feb 2018 03:29:09 -0000
67df83713dSchristos@@ -13,11 +13,14 @@
68df83713dSchristos SRCS=	smtpd.c smtpd_token.c smtpd_check.c smtpd_chat.c smtpd_state.c \
69df83713dSchristos 	smtpd_peer.c smtpd_sasl_proto.c smtpd_sasl_glue.c smtpd_proxy.c \
70df83713dSchristos 	smtpd_xforward.c smtpd_dsn_fix.c smtpd_milter.c smtpd_resolve.c \
71df83713dSchristos-	smtpd_expand.c smtpd_haproxy.c
72df83713dSchristos+	smtpd_expand.c smtpd_haproxy.c pfilter.c
73df83713dSchristos
74df83713dSchristos DPADD+= ${LIBPMASTER} ${LIBPMILTER} ${LIBPGLOBAL} ${LIBPDNS} ${LIBPXSASL}
75df83713dSchristos LDADD+= ${LIBPMASTER} ${LIBPMILTER} ${LIBPGLOBAL} ${LIBPDNS} ${LIBPXSASL}
76df83713dSchristos
77a51582d4Schristos+DPADD+=	${LIBBLOCKLIST}
78df83713dSchristos+LDADD+=	-lblocklist
79df83713dSchristos+
80df83713dSchristos DPADD+=	${LIBPTLS} ${LIBSSL} ${LIBCRYPTO}
81df83713dSchristos LDADD+=	${LIBPTLS} -lssl -lcrypto
82df83713dSchristos
83*ca734aa1SchristosIndex: dist/src/smtpd/smtpd.c
84*ca734aa1Schristos===================================================================
85*ca734aa1SchristosRCS file: /cvsroot/src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c,v
86*ca734aa1Schristosretrieving revision 1.17
87*ca734aa1Schristosdiff -u -u -r1.17 smtpd.c
88*ca734aa1Schristos--- dist/src/smtpd/smtpd.c	18 Mar 2020 19:05:20 -0000	1.17
89*ca734aa1Schristos+++ dist/src/smtpd/smtpd.c	25 Sep 2020 12:51:52 -0000
90*ca734aa1Schristos@@ -5795,6 +5795,8 @@
91*ca734aa1Schristos 		   || strcmp(state->reason, REASON_LOST_CONNECTION)) {
92*ca734aa1Schristos 	    msg_info("%s after %s from %s",
93*ca734aa1Schristos 		     state->reason, state->where, state->namaddr);
94*ca734aa1Schristos+	    if (strcmp(state->where, SMTPD_CMD_AUTH) == 0)
95*ca734aa1Schristos+		pfilter_notify(1, vstream_fileno(state->client));
96*ca734aa1Schristos 	}
97*ca734aa1Schristos     }
98*ca734aa1Schristos
99