Module Name:    src
Committed By:   christos
Date:           Thu Feb  1 03:29:41 UTC 2018

Modified Files:
        src/external/ibm-public/postfix/dist/src/smtpd: smtpd.c
        src/external/ibm-public/postfix/libexec/smtpd: Makefile
Added Files:
        src/external/ibm-public/postfix/dist/src/smtpd: pfilter.c pfilter.h

Log Message:
Add support for blacklistd.


To generate a diff of this commit:
cvs rdiff -u -r0 -r1.1 \
    src/external/ibm-public/postfix/dist/src/smtpd/pfilter.c \
    src/external/ibm-public/postfix/dist/src/smtpd/pfilter.h
cvs rdiff -u -r1.14 -r1.15 \
    src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c
cvs rdiff -u -r1.6 -r1.7 \
    src/external/ibm-public/postfix/libexec/smtpd/Makefile

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c
diff -u src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c:1.14 src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c:1.15
--- src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c:1.14	Mon Feb 13 20:16:48 2017
+++ src/external/ibm-public/postfix/dist/src/smtpd/smtpd.c	Wed Jan 31 22:29:41 2018
@@ -1,4 +1,4 @@
-/*	$NetBSD: smtpd.c,v 1.14 2017/02/14 01:16:48 christos Exp $	*/
+/*	$NetBSD: smtpd.c,v 1.15 2018/02/01 03:29:41 christos Exp $	*/
 
 /*++
 /* NAME
@@ -1197,6 +1197,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
@@ -5048,6 +5050,7 @@ static void smtpd_proto(SMTPD_STATE *sta
 	    if (state->error_count >= var_smtpd_hard_erlim) {
 		state->reason = REASON_ERROR_LIMIT;
 		state->error_mask |= MAIL_ERROR_PROTOCOL;
+		pfilter_notify(1, vstream_fileno(state->client));
 		smtpd_chat_reply(state, "421 4.7.0 %s Error: too many errors",
 				 var_myhostname);
 		break;

Index: src/external/ibm-public/postfix/libexec/smtpd/Makefile
diff -u src/external/ibm-public/postfix/libexec/smtpd/Makefile:1.6 src/external/ibm-public/postfix/libexec/smtpd/Makefile:1.7
--- src/external/ibm-public/postfix/libexec/smtpd/Makefile:1.6	Sun May 21 11:28:40 2017
+++ src/external/ibm-public/postfix/libexec/smtpd/Makefile	Wed Jan 31 22:29:41 2018
@@ -1,4 +1,4 @@
-#	$NetBSD: Makefile,v 1.6 2017/05/21 15:28:40 riastradh Exp $
+#	$NetBSD: Makefile,v 1.7 2018/02/01 03:29:41 christos Exp $
 
 NOMAN=	# defined
 
@@ -13,11 +13,14 @@ DIST=${TOP}/src/${PROG}
 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
 
 DPADD+= ${LIBPMASTER} ${LIBPMILTER} ${LIBPGLOBAL} ${LIBPDNS} ${LIBPXSASL}
 LDADD+= ${LIBPMASTER} ${LIBPMILTER} ${LIBPGLOBAL} ${LIBPDNS} ${LIBPXSASL}
 
+DPADD+=	${LIBBLACKLIST}
+LDADD+=	-lblacklist
+
 DPADD+=	${LIBPTLS} ${LIBSSL} ${LIBCRYPTO}
 LDADD+=	${LIBPTLS} -lssl -lcrypto
 

Added files:

Index: src/external/ibm-public/postfix/dist/src/smtpd/pfilter.c
diff -u /dev/null src/external/ibm-public/postfix/dist/src/smtpd/pfilter.c:1.1
--- /dev/null	Wed Jan 31 22:29:41 2018
+++ src/external/ibm-public/postfix/dist/src/smtpd/pfilter.c	Wed Jan 31 22:29:41 2018
@@ -0,0 +1,19 @@
+#include "pfilter.h"
+#include <stdio.h>	/* for NULL */
+#include <blacklist.h>
+
+static struct blacklist *blstate;
+
+void
+pfilter_notify(int a, int fd)
+{
+	if (blstate == NULL)
+		blstate = blacklist_open();
+	if (blstate == NULL)
+		return;
+	(void)blacklist_r(blstate, a, fd, "smtpd");
+	if (a == 0) {
+		blacklist_close(blstate);
+		blstate = NULL;
+	}
+}
Index: src/external/ibm-public/postfix/dist/src/smtpd/pfilter.h
diff -u /dev/null src/external/ibm-public/postfix/dist/src/smtpd/pfilter.h:1.1
--- /dev/null	Wed Jan 31 22:29:41 2018
+++ src/external/ibm-public/postfix/dist/src/smtpd/pfilter.h	Wed Jan 31 22:29:41 2018
@@ -0,0 +1,2 @@
+
+void pfilter_notify(int, int);

Reply via email to