Skip to content

Commit

Permalink
Add support for blacklistd.
Browse files Browse the repository at this point in the history
  • Loading branch information
zoulasc committed Feb 1, 2018
1 parent 08ee64b commit 3ae4028
Show file tree
Hide file tree
Showing 4 changed files with 30 additions and 3 deletions.
19 changes: 19 additions & 0 deletions external/ibm-public/postfix/dist/src/smtpd/pfilter.c
Original file line number Diff line number Diff line change
@@ -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;
}
}
2 changes: 2 additions & 0 deletions external/ibm-public/postfix/dist/src/smtpd/pfilter.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@

void pfilter_notify(int, int);
5 changes: 4 additions & 1 deletion external/ibm-public/postfix/dist/src/smtpd/smtpd.c
Original file line number Diff line number Diff line change
@@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -5048,6 +5050,7 @@ static void smtpd_proto(SMTPD_STATE *state)
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;
Expand Down
7 changes: 5 additions & 2 deletions external/ibm-public/postfix/libexec/smtpd/Makefile
Original file line number Diff line number Diff line change
@@ -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

Expand All @@ -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

Expand Down

0 comments on commit 3ae4028

Please sign in to comment.