Date: Sun, 29 Mar 2026 08:10:17 +0000 From: Dirk Meyer <dinoex@FreeBSD.org> To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org Subject: git: 61f6338738a0 - main - mail/sendmail: Use blocklist Message-ID: <69c8de69.1eafc.fa84e70@gitrepo.freebsd.org>
index | next in thread | raw e-mail
The branch main has been updated by dinoex: URL: https://cgit.FreeBSD.org/ports/commit/?id=61f6338738a0e72aef88f3b81cd441e3dab8716d commit 61f6338738a0e72aef88f3b81cd441e3dab8716d Author: Dirk Meyer <dinoex@FreeBSD.org> AuthorDate: 2026-03-29 08:09:30 +0000 Commit: Dirk Meyer <dinoex@FreeBSD.org> CommitDate: 2026-03-29 08:09:30 +0000 mail/sendmail: Use blocklist renamed option BLACKLISTD to BLOCKLISTD PR: 294094 --- mail/sendmail/Makefile | 32 +++++++++++++++----- mail/sendmail/files/extra-patch-proto.m4 | 4 +-- mail/sendmail/files/patch-Makefile.m4 | 6 ++-- .../files/{patch-blacklist.c => patch-blocklist.c} | 26 ++++++++--------- ...blacklist_client.h => patch-blocklist_client.h} | 34 +++++++++++----------- mail/sendmail/files/patch-daemon.c | 2 +- mail/sendmail/files/patch-readcf.c | 15 +++++----- mail/sendmail/files/patch-sendmail.8 | 4 +-- mail/sendmail/files/patch-sendmail.h | 10 +++---- mail/sendmail/files/patch-srvrsmtp.c | 26 ++++++++--------- mail/sendmail/files/patch-usersmtp.c | 4 +-- mail/sendmail/files/site.config.m4.blacklistd | 2 -- mail/sendmail/files/site.config.m4.blocklistd | 2 ++ 13 files changed, 93 insertions(+), 74 deletions(-) diff --git a/mail/sendmail/Makefile b/mail/sendmail/Makefile index 7eaffa53120f..3b0df429e573 100644 --- a/mail/sendmail/Makefile +++ b/mail/sendmail/Makefile @@ -1,6 +1,6 @@ PORTNAME= sendmail PORTVERSION= 8.18.2 -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= mail MASTER_SITES= ftp://ftp.sendmail.org/pub/sendmail/ DISTNAME= ${PORTNAME}.${PORTVERSION} @@ -46,10 +46,10 @@ BASEMAIL= /usr/libexec/sendmail/sendmail MILTER_SOVER?= 6 OPTIONS_DEFINE?= SHMEM SEM LA NIS IPV6 TLS DANE SASL SASLAUTHD LDAP \ - BDB GDBM SOCKETMAP CYRUSLOOKUP BLACKLISTD SMTPUTF8 \ + BDB GDBM SOCKETMAP CYRUSLOOKUP BLOCKLISTD SMTPUTF8 \ PICKY_HELO_CHECK MILTER MTA_STS TLS_CERT_CHAIN DOCS OPTIONS_DEFAULT?= SHMEM SEM LA NIS TLS DANE SASL SASLAUTHD BDB1 \ - BLACKLISTD PICKY_HELO_CHECK MILTER + BLOCKLISTD PICKY_HELO_CHECK MILTER NO_OPTIONS_SORT=yes SHMEM_DESC= System V shared memory support LA_DESC= load averages support @@ -59,7 +59,7 @@ SASLAUTHD_DESC= SASLAUTHD support BDB_DESC= Berkeley DB version 4+ support GDBM_DESC= GNU dbm library support (option COMPAT needed) SOCKETMAP_DESC= Enable socketmap feature -BLACKLISTD_DESC= Enable blacklistd support +BLOCKLISTD_DESC= Enable blocklistd support CYRUSLOOKUP_DESC= Enable cyruslookup feature PICKY_HELO_CHECK_DESC= Enable picky HELO check MILTER_DESC= Enable milter support @@ -80,7 +80,7 @@ CYRUSLOOKUP_IMPLIES= SOCKETMAP SMTPUTF8_LIB_DEPENDS= libidn2.so:dns/libidn2 libicui18n.so:devel/icu MTA_STS_IMPLIES= SOCKETMAP TLS TLS_CERT_CHAIN_IMPLIES= TLS -BLACKLISTD_EXTRA_PATCHES= ${FILESDIR}/extra-patch-proto.m4 +BLOCKLISTD_EXTRA_PATCHES= ${FILESDIR}/extra-patch-proto.m4 .include <bsd.port.options.mk> @@ -136,8 +136,8 @@ SITE+= ${FILESDIR}/site.config.m4.sasl2 .if ${PORT_OPTIONS:MLDAP} SITE+= ${FILESDIR}/site.config.m4.ldap .endif -.if ${PORT_OPTIONS:MBLACKLISTD} -SITE+= ${FILESDIR}/site.config.m4.blacklistd +.if ${PORT_OPTIONS:MBLOCKLISTD} +SITE+= ${FILESDIR}/site.config.m4.blocklistd .endif .if ${PORT_OPTIONS:MSMTPUTF8} SITE+= ${FILESDIR}/site.config.m4.smtputf8 @@ -162,6 +162,17 @@ SED_SCRIPT+= -e "s;-DNIS ;;" post-patch: @cd ${WRKSRC} && ${FIND} cf -type f -name "*.orig" -print0 | ${XARGS} -0 ${RM} +.if ${PORT_OPTIONS:MBLOCKLISTD} +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1500000 + ${REINPLACE_CMD} \ + -e 's|#include <blocklist.h>|#include <blacklist.h>|' \ + -e 's|struct blocklist|struct blacklist|' \ + -e 's|blocklist_open|blacklist_open|' \ + -e 's|blocklist_r|blacklist_r|' \ + ${WRKSRC}/sendmail/blocklist.c \ + ${WRKSRC}/sendmail/sendmail.h +.endif +.endif do-configure: .if ${PORT_OPTIONS:MGDBM} @@ -174,6 +185,13 @@ do-configure: ${SED} -e "s=%%PREFIX%%=${PREFIX}=g" \ -e "s=%%LOCALBASE%%=${LOCALBASE}=g" \ ${SITE} > ${WCONF}/site.config.m4 +.if ${PORT_OPTIONS:MBLOCKLISTD} +.if ${OPSYS} == FreeBSD && ${OSVERSION} < 1500000 + ${REINPLACE_CMD} \ + -e 's|-lblocklist|-lblacklist|' \ + ${WCONF}/site.config.m4 +.endif +.endif .if ${PORT_OPTIONS:MBDB} ${ECHO_CMD} \ 'APPENDDEF(`confENVDEF'\'', `-I${BDB_INCLUDE_DIR}'\'')' \ diff --git a/mail/sendmail/files/extra-patch-proto.m4 b/mail/sendmail/files/extra-patch-proto.m4 index 010626a02432..cf7eae20a6f7 100644 --- a/mail/sendmail/files/extra-patch-proto.m4 +++ b/mail/sendmail/files/extra-patch-proto.m4 @@ -4,8 +4,8 @@ # Name to use for EHLO (defaults to $j) _OPTION(HeloName, `confHELO_NAME') -+# Use Blacklistd -+_OPTION(UseBlacklist, `confBLACKLIST', `false') ++# Use Blocklistd ++_OPTION(UseBlocklist, `confBLOCKLIST', `false') + ifdef(`_NEED_SMTPOPMODES_', `dnl # SMTP operation modes diff --git a/mail/sendmail/files/patch-Makefile.m4 b/mail/sendmail/files/patch-Makefile.m4 index 515b01ec7142..d256f5cd4188 100644 --- a/mail/sendmail/files/patch-Makefile.m4 +++ b/mail/sendmail/files/patch-Makefile.m4 @@ -4,13 +4,13 @@ define(`bldBIN_TYPE', `G') define(`bldINSTALL_DIR', `') define(`bldSOURCES', `main.c alias.c arpadate.c bf.c collect.c conf.c control.c convtime.c daemon.c deliver.c domain.c envelope.c err.c headers.c macro.c map.c mci.c milter.c mime.c parseaddr.c queue.c ratectrl.c readcf.c recipient.c sasl.c savemail.c sched.c sfsasl.c shmticklib.c sm_resolve.c srvrsmtp.c stab.c stats.c sysexits.c timers.c tlsh.c tls.c trace.c udb.c usersmtp.c util.c version.c ') -+APPENDDEF(`bldSOURCES',`blacklist.c ') ++APPENDDEF(`bldSOURCES',`blocklist.c ') PREPENDDEF(`confENVDEF', `confMAPDEF') PUSHDIVERT(3) ldap.c: @@ -18,8 +19,8 @@ dnl hack: /etc/mail is not defined as "location of .cf - - + + dnl hack: /etc/mail is not defined as "location of .cf" in the build system -define(`bldTARGET_INST_DEP', ifdef(`confINST_DEP', `confINST_DEP', -`${DESTDIR}/etc/mail/submit.cf ${DESTDIR}${MSPQ}'))dnl diff --git a/mail/sendmail/files/patch-blacklist.c b/mail/sendmail/files/patch-blocklist.c similarity index 78% rename from mail/sendmail/files/patch-blacklist.c rename to mail/sendmail/files/patch-blocklist.c index 59782a08473e..10fc16c954d8 100644 --- a/mail/sendmail/files/patch-blacklist.c +++ b/mail/sendmail/files/patch-blocklist.c @@ -1,5 +1,5 @@ ---- sendmail/blacklist.c.orig 2018-01-02 20:16:44 UTC -+++ sendmail/blacklist.c +--- sendmail/blocklist.c.orig 2018-01-02 20:16:44 UTC ++++ sendmail/blocklist.c @@ -0,0 +1,57 @@ +/*- + * Copyright (c) 2016 The FreeBSD Foundation @@ -31,30 +31,30 @@ + +/* $FreeBSD$ */ + -+#ifdef USE_BLACKLIST ++#ifdef USE_BLOCKLIST +#include <sm/gen.h> -+#include <sendmail.h> /* for EXTERN UseBlacklist */ ++#include <sendmail.h> /* for EXTERN UseBlocklist */ + -+#include <blacklist.h> -+#include "blacklist_client.h" ++#include <blocklist.h> ++#include "blocklist_client.h" + -+static struct blacklist *blstate; ++static struct blocklist *blstate; + +void -+blacklist_init(void) ++blocklist_init(void) +{ + -+ if (UseBlacklist) -+ blstate = blacklist_open(); ++ if (UseBlocklist) ++ blstate = blocklist_open(); +} + +void -+blacklist_notify(int action, int fd, const char *msg) ++blocklist_notify(int action, int fd, const char *msg) +{ + + if (blstate == NULL) + return; -+ (void)blacklist_r(blstate, action, fd, msg); ++ (void)blocklist_r(blstate, action, fd, msg); +} + -+#endif /* USE_BLACKLIST */ ++#endif /* USE_BLOCKLIST */ diff --git a/mail/sendmail/files/patch-blacklist_client.h b/mail/sendmail/files/patch-blocklist_client.h similarity index 73% rename from mail/sendmail/files/patch-blacklist_client.h rename to mail/sendmail/files/patch-blocklist_client.h index 6f8c130045c3..6067c54701a2 100644 --- a/mail/sendmail/files/patch-blacklist_client.h +++ b/mail/sendmail/files/patch-blocklist_client.h @@ -1,5 +1,5 @@ ---- sendmail/blacklist_client.h.orig 2018-01-02 20:16:44 UTC -+++ sendmail/blacklist_client.h +--- sendmail/blocklist_client.h.orig 2018-01-02 20:16:44 UTC ++++ sendmail/blocklist_client.h @@ -0,0 +1,57 @@ +/*- + * Copyright (c) 2016 The FreeBSD Foundation @@ -31,30 +31,30 @@ + +/* $FreeBSD$ */ + -+#ifndef BLACKLIST_CLIENT_H -+#define BLACKLIST_CLIENT_H ++#ifndef BLOCKLIST_CLIENT_H ++#define BLOCKLIST_CLIENT_H + -+#ifndef BLACKLIST_API_ENUM ++#ifndef BLOCKLIST_API_ENUM +enum { -+ BLACKLIST_AUTH_OK = 0, -+ BLACKLIST_AUTH_FAIL, -+ BLACKLIST_ABUSIVE_BEHAVIOR, -+ BLACKLIST_BAD_USER ++ BLOCKLIST_AUTH_OK = 0, ++ BLOCKLIST_AUTH_FAIL, ++ BLOCKLIST_ABUSIVE_BEHAVIOR, ++ BLOCKLIST_BAD_USER +}; +#endif + -+#ifdef USE_BLACKLIST -+void blacklist_init(void); -+void blacklist_notify(int, int, const char *); ++#ifdef USE_BLOCKLIST ++void blocklist_init(void); ++void blocklist_notify(int, int, const char *); + -+#define BLACKLIST_INIT() blacklist_init() -+#define BLACKLIST_NOTIFY(x, y, msg) blacklist_notify(x, y, msg) ++#define BLOCKLIST_INIT() blocklist_init() ++#define BLOCKLIST_NOTIFY(x, y, msg) blocklist_notify(x, y, msg) + +#else + -+#define BLACKLIST_INIT() -+#define BLACKLIST_NOTIFY(x, y, msg) ++#define BLOCKLIST_INIT() ++#define BLOCKLIST_NOTIFY(x, y, msg) + +#endif + -+#endif /* BLACKLIST_CLIENT_H */ ++#endif /* BLOCKLIST_CLIENT_H */ diff --git a/mail/sendmail/files/patch-daemon.c b/mail/sendmail/files/patch-daemon.c index 21edf8ff4383..cc29aa9b1c1e 100644 --- a/mail/sendmail/files/patch-daemon.c +++ b/mail/sendmail/files/patch-daemon.c @@ -4,7 +4,7 @@ anynet_ntoa(&RealHostAddr)); } -+ BLACKLIST_INIT(); ++ BLOCKLIST_INIT(); + if (pipefd[0] != -1) { diff --git a/mail/sendmail/files/patch-readcf.c b/mail/sendmail/files/patch-readcf.c index f388cec6b827..485cb088bb83 100644 --- a/mail/sendmail/files/patch-readcf.c +++ b/mail/sendmail/files/patch-readcf.c @@ -1,12 +1,13 @@ --- sendmail/readcf.c.orig 2025-10-23 19:33:31 UTC +++ sendmail/readcf.c -@@ -3213,6 +3213,10 @@ static struct optioninfo +@@ -3213,6 +3213,11 @@ static struct optioninfo { "SameDomainOnly", O_SAMEDOMAINONLY, OI_NONE }, #endif -+#if USE_BLACKLIST -+# define O_BLACKLIST 0xfb -+ { "UseBlacklist", O_BLACKLIST, OI_NONE }, ++#if USE_BLOCKLIST ++# define O_BLOCKLIST 0xfb ++ { "UseBlocklist", O_BLOCKLIST, OI_NONE }, ++ { "UseBlacklist", O_BLOCKLIST, OI_NONE }, /* alias */ +#endif { NULL, '\0', OI_NONE } }; @@ -18,9 +19,9 @@ + break; +#endif + -+#if USE_BLACKLIST -+ case O_BLACKLIST: -+ UseBlacklist = atobool(val); ++#if USE_BLOCKLIST ++ case O_BLOCKLIST: ++ UseBlocklist = atobool(val); break; #endif diff --git a/mail/sendmail/files/patch-sendmail.8 b/mail/sendmail/files/patch-sendmail.8 index 57d6bf42590c..40467b2bd35a 100644 --- a/mail/sendmail/files/patch-sendmail.8 +++ b/mail/sendmail/files/patch-sendmail.8 @@ -4,9 +4,9 @@ failed messages will be returned to the sender. The default is five days. .TP -+UseBlacklist ++UseBlocklist +If set, send authentication failure and success notifications to the -+.BR blacklistd (8) ++.BR blocklistd (8) +daemon. +.TP .RI UserDatabaseSpec= userdatabase diff --git a/mail/sendmail/files/patch-sendmail.h b/mail/sendmail/files/patch-sendmail.h index 4124ba30ff9b..c5a82de6b793 100644 --- a/mail/sendmail/files/patch-sendmail.h +++ b/mail/sendmail/files/patch-sendmail.h @@ -4,10 +4,10 @@ #endif #include "bf.h" -+#if USE_BLACKLIST -+#include <blacklist.h> ++#if USE_BLOCKLIST ++#include <blocklist.h> +#endif -+#include "blacklist_client.h" ++#include "blocklist_client.h" #include "timers.h" #include <sm/exc.h> #include <sm/gen.h> @@ -16,8 +16,8 @@ EXTERN int ConnectionRateWindowSize; + -+#if USE_BLACKLIST -+EXTERN bool UseBlacklist; ++#if USE_BLOCKLIST ++EXTERN bool UseBlocklist; +#endif /* diff --git a/mail/sendmail/files/patch-srvrsmtp.c b/mail/sendmail/files/patch-srvrsmtp.c index 96f217110007..8d6f414e3ed4 100644 --- a/mail/sendmail/files/patch-srvrsmtp.c +++ b/mail/sendmail/files/patch-srvrsmtp.c @@ -4,7 +4,7 @@ # define SHOWCMDINREPLY(inp) inp # define SHOWSHRTCMDINREPLY(inp) shortenstring(inp, MAXSHORTSTR) #endif -+#ifdef USE_BLACKLIST ++#ifdef USE_BLOCKLIST + int saved_bl_fd; +#endif @@ -24,7 +24,7 @@ (tp->tv_usec >= 500000 ? 1 : 0) ); + fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); -+ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, "pre-greeting traffic"); ++ BLOCKLIST_NOTIFY(BLOCKLIST_AUTH_FAIL, fd, "pre-greeting traffic"); } } } @@ -32,7 +32,7 @@ SmtpPhase = "server cmd read"; sm_setproctitle(true, e, "server %s cmd read", CurSmtpClient); -+#ifdef USE_BLACKLIST ++#ifdef USE_BLOCKLIST + saved_bl_fd = dup(sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL)); +#endif + @@ -47,7 +47,7 @@ SET_AUTH_USER_CONDITIONALLY \ message("535 5.7.0 authentication failed"); \ + fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); \ -+ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, "AUTH FAIL"); \ ++ BLOCKLIST_NOTIFY(BLOCKLIST_AUTH_FAIL, fd, "AUTH FAIL"); \ if (LogLevel >= 9) \ sm_syslog(LOG_WARNING, e->e_id, \ "AUTH failure (%s): %s (%d) %s%s%.*s, relay=%.100s", \ @@ -58,7 +58,7 @@ + if (lognullconnection) + { + int fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); -+ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, nullserver); ++ BLOCKLIST_NOTIFY(BLOCKLIST_AUTH_FAIL, fd, nullserver); + } + /* FALLTHROUGH */ + @@ -72,7 +72,7 @@ + if (lognullconnection) + { + int fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); -+ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, nullserver); ++ BLOCKLIST_NOTIFY(BLOCKLIST_AUTH_FAIL, fd, nullserver); + } if (ISSMTPREPLY(nullserver)) { @@ -83,7 +83,7 @@ { + int fd; + fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); -+ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, "AUTH LOGIN FAIL"); ++ BLOCKLIST_NOTIFY(BLOCKLIST_AUTH_FAIL, fd, "AUTH LOGIN FAIL"); message("503 5.3.3 AUTH not available"); break; } @@ -91,15 +91,15 @@ ** timeouts for the same connection. */ -+#ifdef USE_BLACKLIST -+ /* no immediate BLACKLIST_ABUSIVE_BEHAVIOR */ -+ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, saved_bl_fd, "no command issued"); ++#ifdef USE_BLOCKLIST ++ /* no immediate BLOCKLIST_ABUSIVE_BEHAVIOR */ ++ BLOCKLIST_NOTIFY(BLOCKLIST_AUTH_FAIL, saved_bl_fd, "no command issued"); +#endif sm_syslog(LOG_INFO, e->e_id, "%s did not issue MAIL/EXPN/VRFY/ETRN during connection to %s", CurSmtpClient, d); } -+#ifdef USE_BLACKLIST ++#ifdef USE_BLOCKLIST + close(saved_bl_fd); +#endif if (tTd(93, 100)) @@ -112,7 +112,7 @@ + int fd; stopattack: + fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); -+ BLACKLIST_NOTIFY(BLACKLIST_ABUSIVE_BEHAVIOR, fd, "too many bad commands"); ++ BLOCKLIST_NOTIFY(BLOCKLIST_ABUSIVE_BEHAVIOR, fd, "too many bad commands"); message("421 4.7.0 %s Too many bad commands; closing connection", MyHostName); @@ -121,7 +121,7 @@ #if SASL } +#endif -+#ifdef USE_BLACKLIST ++#ifdef USE_BLOCKLIST + close(saved_bl_fd); #endif } diff --git a/mail/sendmail/files/patch-usersmtp.c b/mail/sendmail/files/patch-usersmtp.c index f875ed25b342..7710b1fbf9e3 100644 --- a/mail/sendmail/files/patch-usersmtp.c +++ b/mail/sendmail/files/patch-usersmtp.c @@ -5,7 +5,7 @@ if (saslresult != SASL_OK && saslresult != SASL_CONTINUE) { + int fd = sm_io_getinfo(mci->mci_in, SM_IO_WHAT_FD, NULL); -+ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, fd, "AUTH FAIL"); ++ BLOCKLIST_NOTIFY(BLOCKLIST_AUTH_FAIL, fd, "AUTH FAIL"); + if (tTd(95, 5)) sm_dprintf("AUTH FAIL=%s (%d)\n", @@ -17,7 +17,7 @@ - if (result == EX_OK) + if (result == EX_OK) { + int fd = sm_io_getinfo(mci->mci_in, SM_IO_WHAT_FD, NULL); -+ BLACKLIST_NOTIFY(BLACKLIST_AUTH_OK, fd, "AUTH OK"); ++ BLOCKLIST_NOTIFY(BLOCKLIST_AUTH_OK, fd, "AUTH OK"); mci->mci_sasl_auth = true; - else if (result == EX_TEMPFAIL || result == EX_NOPERM) + } else if (result == EX_TEMPFAIL || result == EX_NOPERM) diff --git a/mail/sendmail/files/site.config.m4.blacklistd b/mail/sendmail/files/site.config.m4.blacklistd deleted file mode 100644 index bc3a46e40d60..000000000000 --- a/mail/sendmail/files/site.config.m4.blacklistd +++ /dev/null @@ -1,2 +0,0 @@ -APPENDDEF(`conf_sendmail_ENVDEF', `-DUSE_BLACKLIST') -APPENDDEF(`conf_sendmail_LIBS', `-lblacklist') diff --git a/mail/sendmail/files/site.config.m4.blocklistd b/mail/sendmail/files/site.config.m4.blocklistd new file mode 100644 index 000000000000..beb2e07de6c1 --- /dev/null +++ b/mail/sendmail/files/site.config.m4.blocklistd @@ -0,0 +1,2 @@ +APPENDDEF(`conf_sendmail_ENVDEF', `-DUSE_BLOCKLIST') +APPENDDEF(`conf_sendmail_LIBS', `-lblocklist')home | help
Want to link to this message? Use this
URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?69c8de69.1eafc.fa84e70>
