diff options
Diffstat (limited to 'mail')
24 files changed, 387 insertions, 588 deletions
diff --git a/mail/sendmail/Makefile b/mail/sendmail/Makefile index c2ee1d3a80f..9ce11b09277 100644 --- a/mail/sendmail/Makefile +++ b/mail/sendmail/Makefile @@ -1,7 +1,7 @@ -# $NetBSD: Makefile,v 1.138 2020/05/16 15:36:24 rillig Exp $ +# $NetBSD: Makefile,v 1.139 2021/07/04 07:57:13 jnemeth Exp $ PKGNAME= sendmail-${DIST_VERS} -PKGREVISION= 9 +#PKGREVISION= 9 COMMENT= The well known Mail Transport Agent CONFLICTS+= courier-mta-[0-9]* fastforward>=0.51nb2 postfix-[0-9]* @@ -55,10 +55,11 @@ SUBST_STAGE.cf-paths= pre-build cf/feature/msp.m4 cf/feature/smrsh.m4 cf/m4/proto.m4 \ cf/mailer/pop.m4 cf/mailer/usenet.m4 cf/ostype/a-ux.m4 \ cf/ostype/aix3.m4 cf/ostype/aix4.m4 cf/ostype/aix5.m4 \ - cf/ostype/amdahl-uts.m4 cf/ostype/darwin.m4 cf/ostype/dgux.m4 \ - cf/ostype/domainos.m4 cf/ostype/dragonfly.m4 \ - cf/ostype/dynix3.2.m4 cf/ostype/freebsd4.m4 \ - cf/ostype/freebsd5.m4 cf/ostype/freebsd6.m4 cf/ostype/hpux10.m4 \ + cf/ostype/altos.m4 cf/ostype/amdahl-uts.m4 cf/ostype/bsd4.4.m4 \ + cf/ostype/darwin.m4 cf/ostype/dgux.m4 cf/ostype/domainos.m4 \ + cf/ostype/dragonfly.m4 cf/ostype/dynix3.2.m4 \ + cf/ostype/freebsd4.m4 cf/ostype/freebsd5.m4 \ + cf/ostype/freebsd6.m4 cf/ostype/hpux10.m4 cf/ostype/hpux9.m4 \ cf/ostype/irix4.m4 cf/ostype/irix5.m4 cf/ostype/irix6.m4 \ cf/ostype/isc4.1.m4 cf/ostype/maxion.m4 cf/ostype/nextstep.m4 \ cf/ostype/openbsd.m4 cf/ostype/ptx2.m4 cf/ostype/riscos4.5.m4 \ @@ -75,7 +76,6 @@ SUBST_SED.cf-paths+= -e "s|/var/spool|${VARBASE}/spool|g" SUBST_SED.cf-paths+= -e "s|/var/run|${VARBASE}/run|g" SUBST_SED.cf-paths+= -e "s|/usr/libexec|${PREFIX}/libexec/sendmail|g" SUBST_SED.cf-paths+= -e "s|/usr/lib|${PREFIX}/libexec/sendmail|g" -SUBST_SED.cf-paths+= -e "s|/system/volatile|${VARBASE}/run|g" SUBST_NOOP_OK.cf-paths= yes # some files contain only /var REPLACE_PERL= contrib/socketmapClient.pl contrib/socketmapServer.pl diff --git a/mail/sendmail/Makefile.common b/mail/sendmail/Makefile.common index f429d14d302..314b67623c7 100644 --- a/mail/sendmail/Makefile.common +++ b/mail/sendmail/Makefile.common @@ -1,4 +1,4 @@ -# $NetBSD: Makefile.common,v 1.66 2019/12/03 18:51:02 bouyer Exp $ +# $NetBSD: Makefile.common,v 1.67 2021/07/04 07:57:13 jnemeth Exp $ # # used by mail/libmilter/Makefile # used by mail/sendmail/Makefile @@ -22,7 +22,7 @@ PATCHDIR= ${.CURDIR}/../../mail/sendmail/patches USE_LANGUAGES= c99 -DIST_VERS= 8.15.2 +DIST_VERS= 8.16.1 MAKE_ENV+= BSD_BINOWN=${BINOWN} BSD_BINGRP=${BINGRP} \ BSD_MANOWN=${MANOWN} BSD_MANGRP=${MANGRP} \ diff --git a/mail/sendmail/PLIST b/mail/sendmail/PLIST index 07bfa37e986..3ab3f389668 100644 --- a/mail/sendmail/PLIST +++ b/mail/sendmail/PLIST @@ -1,4 +1,4 @@ -@comment $NetBSD: PLIST,v 1.24 2015/07/11 10:08:32 jnemeth Exp $ +@comment $NetBSD: PLIST,v 1.25 2021/07/04 07:57:13 jnemeth Exp $ bin/hoststat bin/mailq bin/newaliases @@ -101,6 +101,8 @@ share/sendmail/feature/bestmx_is_local.m4 share/sendmail/feature/bitdomain.m4 share/sendmail/feature/blacklist_recipients.m4 share/sendmail/feature/block_bad_helo.m4 +share/sendmail/feature/blocklist_recipients.m4 +share/sendmail/feature/check_cert_altnames.m4 share/sendmail/feature/compat_check.m4 share/sendmail/feature/conncontrol.m4 share/sendmail/feature/delay_checks.m4 @@ -143,6 +145,7 @@ share/sendmail/feature/relay_mail_from.m4 share/sendmail/feature/require_rdns.m4 share/sendmail/feature/smrsh.m4 share/sendmail/feature/stickyhost.m4 +share/sendmail/feature/tls_failures.m4 share/sendmail/feature/tls_session_features.m4 share/sendmail/feature/use_client_ptr.m4 share/sendmail/feature/use_ct_file.m4 diff --git a/mail/sendmail/distinfo b/mail/sendmail/distinfo index 02f89e3867b..ce19a01d519 100644 --- a/mail/sendmail/distinfo +++ b/mail/sendmail/distinfo @@ -1,41 +1,40 @@ -$NetBSD: distinfo,v 1.63 2020/04/24 14:33:08 manu Exp $ +$NetBSD: distinfo,v 1.64 2021/07/04 07:57:13 jnemeth Exp $ -SHA1 (sendmail.8.15.2.tar.gz) = 5801d4b06f4e38ef228a5954a44d17636eaa5a16 -RMD160 (sendmail.8.15.2.tar.gz) = 1fe2210e1ded1fe2ee640fceb1de29f19ceaa8e4 -SHA512 (sendmail.8.15.2.tar.gz) = 04feb37316c13b66b1518596507a7da7c16cb0bf1abf10367f7fd888a428fadb093a9efa55342fa55b936c3f0cbdc63b9e2505cd99201a69a0c05b8ad65f49f9 -Size (sendmail.8.15.2.tar.gz) = 2207417 bytes +SHA1 (sendmail.8.16.1.tar.gz) = 748b6dfc47dfbb83ebfdd2e334c87032c4698eab +RMD160 (sendmail.8.16.1.tar.gz) = f128a52f67d29b1af318cfa345971ade37554894 +SHA512 (sendmail.8.16.1.tar.gz) = d7d4aac3c6d7505782abdb166204901b8b51cac000d610dfe40eda9eef7441a073af9e8e0b14c8719b07b445f55a1e2c28ac63d663d0daa7f1eafc5a101788b2 +Size (sendmail.8.16.1.tar.gz) = 2236402 bytes SHA1 (patch-aa) = bd1ab754f7146d002eaf8c0347e114b4049a7776 -SHA1 (patch-af) = bd3e26b0e78eadd610713430ae6deac888176442 -SHA1 (patch-ag) = f76de45c7e8d16207670e151265b7edbca4c045c +SHA1 (patch-af) = 21f8c93a13d038fe49f0acbe38ad1453eb67788b +SHA1 (patch-ag) = 6dcca8944aa854f1767c7ee12fe14872a4e14d2e SHA1 (patch-ah) = e6be09008b9230ffdd1560aaacbdbb2ee4fb8028 -SHA1 (patch-ai) = 0bd3676dce988cf1167fae09443da0d1a1363abb +SHA1 (patch-ai) = 7a306d7239f4036cd8d80d6dbe2a07eb80f02d13 SHA1 (patch-aj) = e65e6fe44380de2f9c397c1a97677eb4ad285433 -SHA1 (patch-an) = 56b8b82880b9ef8fefd7cbbe98dad30b8db753f1 +SHA1 (patch-an) = 1481dd98d6aae000e71ba1c42f3d84197a4e4dc0 SHA1 (patch-ao) = 88dd76b71ad57a8d0efdb6e8518ff01689ecf634 -SHA1 (patch-ap) = 9c83d9ed1b4d8c851c106597638763515923a4ab -SHA1 (patch-aq) = 722382daf085ac2f4a06d0c812bb00f49bcdfd2c -SHA1 (patch-ar) = 1ecf39ddded8504079c5c446625bf9ad9497044f -SHA1 (patch-as) = 652b107d5f68507a0b2fb7c5402186eff96c6bc0 -SHA1 (patch-at) = 7c206df88d29671faef950276a5119ef2f525f4b -SHA1 (patch-au) = 87e907f36482f3ca03754160bc1ee106e17e3aaa -SHA1 (patch-av) = 1b6bd4547930507ab67427bcf8a390c0afce0fb0 -SHA1 (patch-aw) = 2fb31bda2cafb41347c80e0809976f4d24fa169a -SHA1 (patch-ax) = adba9177404e10d5f461e1e8f0c4dd5840d78dd1 -SHA1 (patch-ay) = 94f9c633c1d15037ddd0a6ed46a4f3aaec236fc2 -SHA1 (patch-az) = 5885c524fcae3a314c07eadf661bbe6ae1c081e7 +SHA1 (patch-ap) = 60745f30d1e8c13beeb8a3acb07c51fd2f8fac22 +SHA1 (patch-aq) = 5c083d9f9f71bcc42811a3d085e936eaaa404c96 +SHA1 (patch-ar) = 4e9162c96329716f844c0c64efb9d0a2915ad1cb +SHA1 (patch-as) = a36d4bf90f6803734bb686d5809a18ac6d8314ce +SHA1 (patch-at) = d0fd0f3826e2309f14fefde65a8653e01cae058e +SHA1 (patch-au) = 08a96e145a9c37ba1ba836457157f1ab781380dc +SHA1 (patch-av) = bb6ecd69f6b0db22056b492890d2c6369cd08977 +SHA1 (patch-aw) = 89a0f2c3102f6baea966c8e604f642229ad41dc3 +SHA1 (patch-ax) = 771c9c8a951a09c80eb85233986af1fc7fedbe77 +SHA1 (patch-ay) = af4c41b9f7671920cd3db95552dc67edffaf729a +SHA1 (patch-az) = 53738dc9d3618838a6e6fd2f0ec9c4fd1f19ae2e SHA1 (patch-ba) = c190b11b9874f00a18b9c75b6e734f4a9dd3f68f SHA1 (patch-bb) = 6c86a60af25b02fc0389f1d40f59c5031d9679f1 SHA1 (patch-bc) = 9e7346342dfe1ca5d84053b913df4be41a979683 SHA1 (patch-bd) = 1a6d035c585838e771a1a677892b95bb82000a7b SHA1 (patch-be) = d2f3397b7880f23f8cbd5d3c4eb5ccfe6a6ca75b SHA1 (patch-bf) = 9c5faf5b38c18623e5ce4ffafc00a4430965e41a -SHA1 (patch-bg) = 17b750d84333eacd39a23aa313d5ba24dc7d2156 -SHA1 (patch-bk) = 0b0b85fb6c5c80c8419c783dc3e35d28edbdb70b +SHA1 (patch-bg) = 716c90ff76edbdcb223111412bdd011d4a252ca6 SHA1 (patch-bl) = 4fff262691deb2fcacf5013bfeb5aede45783dcd SHA1 (patch-bm) = b1ec82ab5a97c2dc7f7230d31e47c89b7b5ac1d9 SHA1 (patch-bn) = 3af37c9d3523d6093181ae3b7d4c25bc8173b7f9 -SHA1 (patch-bo) = d338b035b54f87fc2e786ed85204c565fcc2c140 +SHA1 (patch-bo) = ca819c8f8de9bd67b7e6d5738020c90b03c6fad8 SHA1 (patch-bp) = 9a1daac264aba6c4fc39a63a464b942dd25b06eb SHA1 (patch-bq) = 548bf6d373cb49958437548a65803b6f3c6b35d2 SHA1 (patch-br) = 1f0b9716906b91ce2b867bf65e5c06ad16749e36 -SHA1 (patch-sendmail_domain.c) = fafb14fb647d2f1600895aa8dc9464106906b447 +SHA1 (patch-bs) = f73a66b3f747480505b26876430135364e9aa99e diff --git a/mail/sendmail/patches/patch-af b/mail/sendmail/patches/patch-af index 1a4a7ad42a6..5f1ea169b17 100644 --- a/mail/sendmail/patches/patch-af +++ b/mail/sendmail/patches/patch-af @@ -1,10 +1,10 @@ -$NetBSD: patch-af,v 1.12 2014/06/15 20:48:50 jnemeth Exp $ +$NetBSD: patch-af,v 1.13 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/conf.c.orig 2014-05-20 17:24:39.000000000 +0000 +--- sendmail/conf.c.orig 2020-06-04 06:27:49.000000000 +0000 +++ sendmail/conf.c -@@ -43,6 +43,10 @@ SM_RCSID("@(#)$Id: conf.c,v 8.1191 2014- - # include <ulimit.h> - #endif /* HASULIMIT && defined(HPUX11) */ +@@ -47,6 +47,10 @@ SM_RCSID("@(#)$Id: conf.c,v 8.1192 2014- + # include "tls.h" + #endif +#if !HAS_GETHOSTBYNAME2 +extern struct __res_state sm_res; @@ -13,7 +13,7 @@ $NetBSD: patch-af,v 1.12 2014/06/15 20:48:50 jnemeth Exp $ static void setupmaps __P((void)); static void setupmailers __P((void)); static void setupqueues __P((void)); -@@ -4242,13 +4246,13 @@ sm_getipnodebyname(name, family, flags, +@@ -4312,15 +4316,15 @@ sm_getipnodebyname(name, family, flags, if (family == AF_INET6) { /* From RFC2133, section 6.1 */ @@ -22,15 +22,17 @@ $NetBSD: patch-af,v 1.12 2014/06/15 20:48:50 jnemeth Exp $ + resv6 = bitset(RES_USE_INET6, sm_res.options); + sm_res.options |= RES_USE_INET6; } + # endif /* RES_USE_INET6 */ SM_SET_H_ERRNO(0); h = gethostbyname(name); + # ifdef RES_USE_INET6 if (!resv6) - _res.options &= ~RES_USE_INET6; + sm_res.options &= ~RES_USE_INET6; + # endif /* the function is supposed to return only the requested family */ - if (h != NULL && h->h_addrtype != family) -@@ -4463,7 +4467,8 @@ sm_gethostbyaddr(addr, len, type) +@@ -4536,7 +4540,8 @@ sm_gethostbyaddr(addr, len, type) #if NETINET6 if (type == AF_INET6 && @@ -40,3 +42,20 @@ $NetBSD: patch-af,v 1.12 2014/06/15 20:48:50 jnemeth Exp $ { /* Avoid reverse lookup for IPv6 unspecified address */ SM_SET_H_ERRNO(HOST_NOT_FOUND); +@@ -5690,13 +5695,13 @@ local_hostname_length(hostname) + { + size_t len_host, len_domain; + +- if (!*_res.defdname) ++ if (!*sm_res.defdname) + res_init(); + len_host = strlen(hostname); +- len_domain = strlen(_res.defdname); ++ len_domain = strlen(sm_res.defdname); + if (len_host > len_domain && + (sm_strcasecmp(hostname + len_host - len_domain, +- _res.defdname) == 0) && ++ sm_res.defdname) == 0) && + hostname[len_host - len_domain - 1] == '.') + return len_host - len_domain - 1; + else diff --git a/mail/sendmail/patches/patch-ag b/mail/sendmail/patches/patch-ag index 89bd83ec073..4c6f00b1003 100644 --- a/mail/sendmail/patches/patch-ag +++ b/mail/sendmail/patches/patch-ag @@ -1,25 +1,25 @@ -$NetBSD: patch-ag,v 1.14 2012/03/12 12:53:13 fhajny Exp $ +$NetBSD: patch-ag,v 1.15 2021/07/04 07:57:13 jnemeth Exp $ ---- include/sm/conf.h.orig 2011-05-03 16:24:00.000000000 +0000 +--- include/sm/conf.h.orig 2020-06-04 06:27:49.000000000 +0000 +++ include/sm/conf.h @@ -381,7 +381,7 @@ typedef int pid_t; # ifndef __svr4__ # define __svr4__ /* use all System V Release 4 defines below */ - # endif /* ! __svr4__ */ + # endif -# if SOLARIS >= 21100 +# if SOLARIS >= 21100 && defined(SOLARIS_HAS_PATHS_H) # include <paths.h> - # endif /* SOLARIS >= 21100 */ + # endif # ifndef _PATH_VARRUN -@@ -818,7 +818,11 @@ extern unsigned int sleepX __P((unsigned +@@ -827,7 +827,11 @@ extern unsigned int sleepX __P((unsigned # ifndef LA_TYPE # define LA_TYPE LA_SUBR - # endif /* ! LA_TYPE */ + # endif -# define SFS_TYPE SFS_MOUNT /* use <sys/mount.h> statfs() impl */ +# if defined(__NetBSD__) && (__NetBSD_Version__ > 299000900) -+# define SFS_TYPE SFS_STATVFS /* use <sys/statvfs.h> statfs() impl */ ++# define SFS_TYPE SFS_STATVFS /* use <sys/statvfs.h> statfs() impl */ +# else -+# define SFS_TYPE SFS_MOUNT /* use <sys/mount.h> statfs() impl */ ++# define SFS_TYPE SFS_MOUNT /* use <sys/mount.h> statfs() impl */ +# endif # define SPT_TYPE SPT_PSSTRINGS /* use PS_STRINGS pointer */ # endif /* defined(BSD4_4) && !defined(__bsdi__) && !defined(__GNU__) && !defined(DARWIN)*/ diff --git a/mail/sendmail/patches/patch-ai b/mail/sendmail/patches/patch-ai index bd7db9b2ec1..d1289d4ce1c 100644 --- a/mail/sendmail/patches/patch-ai +++ b/mail/sendmail/patches/patch-ai @@ -1,16 +1,16 @@ -$NetBSD: patch-ai,v 1.9 2014/06/15 20:48:50 jnemeth Exp $ +$NetBSD: patch-ai,v 1.10 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/mci.c.orig 2014-03-06 17:31:31.000000000 +0000 +--- sendmail/mci.c.orig 2020-05-19 19:54:33.000000000 +0000 +++ sendmail/mci.c @@ -20,6 +20,7 @@ SM_RCSID("@(#)$Id: mci.c,v 8.225 2013-11 - #endif /* NETINET || NETINET6 */ + #endif #include <dirent.h> +#include <limits.h> - - static int mci_generate_persistent_path __P((const char *, char *, - int, bool)); -@@ -744,7 +745,11 @@ mci_lock_host_statfile(mci) + #if STARTTLS + # include <tls.h> + #endif +@@ -788,7 +789,11 @@ mci_lock_host_statfile(mci) { int save_errno = errno; int retVal = EX_OK; diff --git a/mail/sendmail/patches/patch-an b/mail/sendmail/patches/patch-an index 41d71c29f40..0a7e2d74810 100644 --- a/mail/sendmail/patches/patch-an +++ b/mail/sendmail/patches/patch-an @@ -1,6 +1,6 @@ -$NetBSD: patch-an,v 1.3 2019/07/15 04:32:49 jnemeth Exp $ +$NetBSD: patch-an,v 1.4 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/Makefile.m4.orig 2015-06-19 12:59:29.000000000 +0000 +--- sendmail/Makefile.m4.orig 2020-06-08 08:35:03.000000000 +0000 +++ sendmail/Makefile.m4 @@ -4,9 +4,10 @@ include(confBUILDTOOLSDIR`/M4/switch.m4' define(`confREQUIRE_LIBSM', `true') @@ -9,7 +9,7 @@ $NetBSD: patch-an,v 1.3 2019/07/15 04:32:49 jnemeth Exp $ -define(`bldBIN_TYPE', `G') +dnl 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 sfsasl.c shmticklib.c sm_resolve.c srvrsmtp.c stab.c stats.c sysexits.c timers.c tls.c trace.c udb.c usersmtp.c util.c version.c ') + 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 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 ') PREPENDDEF(`confENVDEF', `confMAPDEF') bldPUSH_SMLIB(`sm') diff --git a/mail/sendmail/patches/patch-ap b/mail/sendmail/patches/patch-ap index 63939671f57..f4a12ae54d0 100644 --- a/mail/sendmail/patches/patch-ap +++ b/mail/sendmail/patches/patch-ap @@ -1,28 +1,23 @@ -$NetBSD: patch-ap,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ +$NetBSD: patch-ap,v 1.2 2021/07/04 07:57:13 jnemeth Exp $ ---- libmilter/sm_gethost.c.orig 2014-03-06 17:31:30.000000000 +0000 +--- libmilter/sm_gethost.c.orig 2020-05-19 19:54:32.000000000 +0000 +++ libmilter/sm_gethost.c -@@ -49,19 +49,14 @@ sm_getipnodebyname(name, family, flags, - int flags; - int *err; - { -- bool resv6 = true; - struct hostent *h; - -- if (family == AF_INET6) -- { -- /* From RFC2133, section 6.1 */ +@@ -64,15 +64,15 @@ sm_getipnodebyname(name, family, flags, + if (family == AF_INET6) + { + /* From RFC2133, section 6.1 */ - resv6 = bitset(RES_USE_INET6, _res.options); - _res.options |= RES_USE_INET6; -- } ++ resv6 = bitset(RES_USE_INET6, sm_res.options); ++ sm_res.options |= RES_USE_INET6; + } + # endif /* RES_USE_INET6 */ SM_SET_H_ERRNO(0); -+# if NETINET6 -+ h = gethostbyname2(name, family); -+# else h = gethostbyname(name); -- if (family == AF_INET6 && !resv6) + # ifdef RES_USE_INET6 + if (!resv6) - _res.options &= ~RES_USE_INET6; -+# endif ++ sm_res.options &= ~RES_USE_INET6; + # endif /* the function is supposed to return only the requested family */ - if (h != NULL && h->h_addrtype != family) diff --git a/mail/sendmail/patches/patch-aq b/mail/sendmail/patches/patch-aq index 3cb94d1b922..bc2cc536539 100644 --- a/mail/sendmail/patches/patch-aq +++ b/mail/sendmail/patches/patch-aq @@ -1,10 +1,10 @@ -$NetBSD: patch-aq,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ +$NetBSD: patch-aq,v 1.2 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/conf.h.orig 2014-03-06 17:31:31.000000000 +0000 +--- sendmail/conf.h.orig 2020-05-19 19:54:33.000000000 +0000 +++ sendmail/conf.h -@@ -234,6 +234,10 @@ struct rusage; /* forward declaration to +@@ -236,6 +236,10 @@ struct rusage; /* forward declaration to # define PIPELINING 1 /* SMTP PIPELINING */ - #endif /* PIPELINING */ + #endif +#ifndef NAMED_RESN +# define NAMED_RESN 1 /* res_n* functions are available */ diff --git a/mail/sendmail/patches/patch-ar b/mail/sendmail/patches/patch-ar index ee48215dd8b..87952b69e8f 100644 --- a/mail/sendmail/patches/patch-ar +++ b/mail/sendmail/patches/patch-ar @@ -1,8 +1,8 @@ -$NetBSD: patch-ar,v 1.2 2019/07/15 04:32:49 jnemeth Exp $ +$NetBSD: patch-ar,v 1.3 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/daemon.c.orig 2015-02-28 00:50:03.000000000 +0000 +--- sendmail/daemon.c.orig 2020-06-02 09:41:43.000000000 +0000 +++ sendmail/daemon.c -@@ -57,6 +57,10 @@ SM_RCSID("@(#)$Id: daemon.c,v 8.698 2013 +@@ -75,6 +75,10 @@ SM_RCSID("@(#)$Id: daemon.c,v 8.698 2013 # endif /* HAS_IN_H */ #endif /* IP_SRCROUTE && NETINET */ @@ -12,8 +12,8 @@ $NetBSD: patch-ar,v 1.2 2019/07/15 04:32:49 jnemeth Exp $ + #include <sm/fdset.h> - #define DAEMON_C 1 -@@ -754,6 +758,8 @@ getrequests(e) + #include <ratectrl.h> +@@ -774,6 +778,8 @@ getrequests(e) anynet_ntoa(&RealHostAddr)); } @@ -22,7 +22,7 @@ $NetBSD: patch-ar,v 1.2 2019/07/15 04:32:49 jnemeth Exp $ if (pipefd[0] != -1) { auto char c; -@@ -2298,16 +2304,16 @@ makeconnection(host, port, mci, e, enoug +@@ -2335,16 +2341,16 @@ makeconnection(host, port, mci, e, enoug if (hp == NULL && p[-1] == '.') { #if NAMED_BIND @@ -39,10 +39,10 @@ $NetBSD: patch-ar,v 1.2 2019/07/15 04:32:49 jnemeth Exp $ #if NAMED_BIND - _res.options = oldopts; + sm_res.options = oldopts; - #endif /* NAMED_BIND */ + #endif } *p = ']'; -@@ -2336,15 +2342,15 @@ makeconnection(host, port, mci, e, enoug +@@ -2420,15 +2426,15 @@ makeconnection(host, port, mci, e, enoug if (hp == NULL && *p == '.') { #if NAMED_BIND @@ -51,17 +51,17 @@ $NetBSD: patch-ar,v 1.2 2019/07/15 04:32:49 jnemeth Exp $ - _res.options &= ~(RES_DEFNAMES|RES_DNSRCH); + sm_res.options &= ~(RES_DEFNAMES|RES_DNSRCH); - #endif /* NAMED_BIND */ + #endif *p = '\0'; hp = sm_gethostbyname(host, family); *p = '.'; #if NAMED_BIND - _res.options = oldopts; + sm_res.options = oldopts; - #endif /* NAMED_BIND */ + #endif } } -@@ -4007,13 +4013,13 @@ host_map_lookup(map, name, av, statp) +@@ -4136,13 +4142,13 @@ host_map_lookup(map, name, av, statp) #if NAMED_BIND if (map->map_timeout > 0) { @@ -79,7 +79,7 @@ $NetBSD: patch-ar,v 1.2 2019/07/15 04:32:49 jnemeth Exp $ } #endif /* NAMED_BIND */ -@@ -4076,9 +4082,9 @@ host_map_lookup(map, name, av, statp) +@@ -4220,9 +4226,9 @@ host_map_lookup(map, name, av, statp) } #if NAMED_BIND if (map->map_timeout > 0) @@ -91,7 +91,7 @@ $NetBSD: patch-ar,v 1.2 2019/07/15 04:32:49 jnemeth Exp $ #endif /* NAMED_BIND */ s->s_namecanon.nc_flags |= NCF_VALID; /* will be soon */ -@@ -4407,11 +4413,11 @@ hostnamebyanyaddr(sap) +@@ -4551,11 +4557,11 @@ hostnamebyanyaddr(sap) # if NAMED_BIND /* shorten name server timeout to avoid higher level timeouts */ @@ -108,12 +108,12 @@ $NetBSD: patch-ar,v 1.2 2019/07/15 04:32:49 jnemeth Exp $ # endif /* NAMED_BIND */ switch (sap->sa.sa_family) -@@ -4450,7 +4456,7 @@ hostnamebyanyaddr(sap) +@@ -4594,7 +4600,7 @@ hostnamebyanyaddr(sap) } # if NAMED_BIND - _res.retry = saveretry; + sm_res.retry = saveretry; - # endif /* NAMED_BIND */ + # endif # if NETINET || NETINET6 diff --git a/mail/sendmail/patches/patch-as b/mail/sendmail/patches/patch-as index 3a8cdb5c9e4..e13fc03179b 100644 --- a/mail/sendmail/patches/patch-as +++ b/mail/sendmail/patches/patch-as @@ -1,10 +1,10 @@ -$NetBSD: patch-as,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ +$NetBSD: patch-as,v 1.2 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/deliver.c.orig 2014-05-16 20:40:15.000000000 +0000 +--- sendmail/deliver.c.orig 2020-06-03 05:48:46.000000000 +0000 +++ sendmail/deliver.c -@@ -28,6 +28,10 @@ SM_RCSID("@(#)$Id: deliver.c,v 8.1030 20 - # include "sfsasl.h" - #endif /* STARTTLS || SASL */ +@@ -29,6 +29,10 @@ SM_RCSID("@(#)$Id: deliver.c,v 8.1030 20 + # include "tls.h" + #endif +#if NAMED_BIND +extern struct __res_state sm_res; @@ -13,25 +13,25 @@ $NetBSD: patch-as,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ static int deliver __P((ENVELOPE *, ADDRESS *)); static void dup_queue_file __P((ENVELOPE *, ENVELOPE *, int)); static void mailfiletimeout __P((int)); -@@ -1858,7 +1862,7 @@ deliver(e, firstto) +@@ -1909,7 +1913,7 @@ deliver(e, firstto) #if NAMED_BIND if (ConfigLevel < 2) - _res.options &= ~(RES_DEFNAMES | RES_DNSRCH); /* XXX */ + sm_res.options &= ~(RES_DEFNAMES | RES_DNSRCH); /* XXX */ - #endif /* NAMED_BIND */ + #endif if (tTd(11, 1)) -@@ -3438,7 +3442,7 @@ do_transfer: +@@ -3621,7 +3625,7 @@ do_transfer: } #if NAMED_BIND if (ConfigLevel < 2) - _res.options |= RES_DEFNAMES | RES_DNSRCH; /* XXX */ + sm_res.options |= RES_DEFNAMES | RES_DNSRCH; /* XXX */ - #endif /* NAMED_BIND */ + #endif if (tTd(62, 1)) -@@ -5710,7 +5714,7 @@ hostsignature(m, host) +@@ -6017,7 +6021,7 @@ hostsignature(m, host, ad) int hl; char *hp; char *endp; @@ -40,7 +40,7 @@ $NetBSD: patch-as,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ char *mxhosts[MAXMXHOSTS + 1]; unsigned short mxprefs[MAXMXHOSTS + 1]; #endif /* NAMED_BIND */ -@@ -5780,7 +5784,7 @@ hostsignature(m, host) +@@ -6087,7 +6091,7 @@ hostsignature(m, host, ad) #if NAMED_BIND if (ConfigLevel < 2) @@ -49,7 +49,7 @@ $NetBSD: patch-as,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ for (hp = host; hp != NULL; hp = endp) { -@@ -5908,7 +5912,7 @@ hostsignature(m, host) +@@ -6220,7 +6224,7 @@ hostsignature(m, host, ad) } makelower(s->s_hostsig.hs_sig); if (ConfigLevel < 2) diff --git a/mail/sendmail/patches/patch-at b/mail/sendmail/patches/patch-at index 3ff681e006f..1d07a838752 100644 --- a/mail/sendmail/patches/patch-at +++ b/mail/sendmail/patches/patch-at @@ -1,77 +1,63 @@ -$NetBSD: patch-at,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ +$NetBSD: patch-at,v 1.2 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/domain.c.orig 2014-03-06 17:31:31.000000000 +0000 +--- sendmail/domain.c.orig 2020-06-02 09:41:43.000000000 +0000 +++ sendmail/domain.c -@@ -39,7 +39,7 @@ static char MXHostBuf[MXHOSTBUFSIZE]; - # endif /* ! MAXDNSRCH */ +@@ -25,6 +25,8 @@ SM_RCSID("@(#)$Id: domain.c,v 8.205 2013 - # ifndef RES_DNSRCH_VARIABLE --# define RES_DNSRCH_VARIABLE _res.dnsrch -+# define RES_DNSRCH_VARIABLE sm_res.dnsrch - # endif /* ! RES_DNSRCH_VARIABLE */ - - # ifndef NO_DATA -@@ -58,6 +58,8 @@ static char MXHostBuf[MXHOSTBUFSIZE]; - # define RES_UNC_T unsigned char * - # endif /* defined(__RES) && (__RES >= 19940415) */ + #if NAMED_BIND +extern struct __res_state sm_res; + - static int mxrand __P((char *)); - static int fallbackmxrr __P((int, unsigned short *, char **)); - -@@ -205,11 +207,9 @@ getmxrr(host, mxhosts, mxprefs, droploca - char *fallbackMX = FallbackMX; - bool trycanon = false; - unsigned short *prefs; -- int (*resfunc) __P((const char *, int, int, u_char *, int)); - unsigned short prefer[MAXMXHOSTS]; - int weight[MAXMXHOSTS]; - int ttl = 0; -- extern int res_query(), res_search(); + # include <arpa/inet.h> + # include <sm_resolve.h> + # if DANE +@@ -49,7 +51,7 @@ static char MXHostBuf[MXHOSTBUFSIZE]; + # endif - if (tTd(8, 2)) - sm_dprintf("getmxrr(%s, droplocalhost=%d)\n", -@@ -246,14 +246,24 @@ getmxrr(host, mxhosts, mxprefs, droploca + # ifndef RES_DNSRCH_VARIABLE +-# define RES_DNSRCH_VARIABLE _res.dnsrch ++# define RES_DNSRCH_VARIABLE sm_res.dnsrch + # endif - if (!UseNameServer) - goto punt; -- if (HasWildcardMX && ConfigLevel >= 6) -- resfunc = res_query; -- else -- resfunc = res_search; + # ifndef NO_DATA +@@ -573,9 +575,9 @@ getmxrr(host, mxhosts, mxprefs, flags, r + # if DANE + cname2mx = false; + qname[0] = '\0'; +- old_options = _res.options; ++ old_options = sm_res.options; + if (ad) +- _res.options |= SM_RES_DNSSEC; ++ sm_res.options |= SM_RES_DNSSEC; + # endif - errno = 0; -- n = (*resfunc)(host, C_IN, T_MX, (unsigned char *) &answer, -+ if (HasWildcardMX && ConfigLevel >= 6) -+#if NAMED_RESN -+ n = res_nquery(&sm_res, host, C_IN, T_MX, -+ (unsigned char *) &answer, sizeof(answer)); -+#else -+ n = res_query(host, C_IN, T_MX, (unsigned char *) &answer, -+ sizeof(answer)); -+#endif -+ else -+#if NAMED_RESN -+ n = res_nsearch(&sm_res, host, C_IN, T_MX, -+ (unsigned char *) &answer, sizeof(answer)); -+#else -+ n = res_search(host, C_IN, T_MX, (unsigned char *) &answer, - sizeof(answer)); -+#endif - if (n < 0) - { - if (tTd(8, 1)) -@@ -337,7 +347,7 @@ getmxrr(host, mxhosts, mxprefs, droploca - GETSHORT(n, cp); /* rdlength */ + if ((fallbackMX != NULL && (flags & DROPLOCALHOST) != 0 && +@@ -743,7 +745,7 @@ getmxrr(host, mxhosts, mxprefs, flags, r + # endif if (type != T_MX) { -- if (tTd(8, 8) || _res.options & RES_DEBUG) -+ if (tTd(8, 8) || sm_res.options & RES_DEBUG) - sm_dprintf("unexpected answer type %d, size %d\n", - type, n); - cp += n; -@@ -635,7 +645,7 @@ bestmx_map_lookup(map, name, av, statp) +- if ((tTd(8, 8) || _res.options & RES_DEBUG) ++ if ((tTd(8, 8) || sm_res.options & RES_DEBUG) + # if DANE + && type != T_RRSIG + # endif +@@ -1042,13 +1044,13 @@ punt: + } + done: + # if DANE +- _res.options = old_options; ++ sm_res.options = old_options; + # endif + return nmx; + + error: + # if DANE +- _res.options = old_options; ++ sm_res.options = old_options; + # endif + return -1; + } +@@ -1118,7 +1120,7 @@ bestmx_map_lookup(map, name, av, statp) int *statp; { int nmx; @@ -80,27 +66,27 @@ $NetBSD: patch-at,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ int i; ssize_t len = 0; char *result; -@@ -647,9 +657,9 @@ bestmx_map_lookup(map, name, av, statp) +@@ -1130,9 +1132,9 @@ bestmx_map_lookup(map, name, av, statp) char buf[PSBUFSIZE / 2]; - #endif /* _FFR_BESTMX_BETTER_TRUNCATION */ + # endif - _res.options &= ~(RES_DNSRCH|RES_DEFNAMES); + sm_res.options &= ~(RES_DNSRCH|RES_DEFNAMES); - nmx = getmxrr(name, mxhosts, NULL, false, statp, false, NULL); + nmx = getmxrr(name, mxhosts, NULL, 0, statp, NULL, -1); - _res.options = saveopts; + sm_res.options = saveopts; if (nmx <= 0) return NULL; if (bitset(MF_MATCHONLY, map->map_mflags)) -@@ -793,10 +803,15 @@ dns_getcanonname(host, hbsize, trymx, st +@@ -1282,16 +1284,22 @@ dns_getcanonname(host, hbsize, trymx, st if (tTd(8, 2)) sm_dprintf("dns_getcanonname(%s, trymx=%d)\n", host, trymx); - if ((_res.options & RES_INIT) == 0 && res_init() == -1) - { - *statp = EX_UNAVAILABLE; -- return false; -+ if ((sm_res.options & RES_INIT) == 0) +- return HOST_NOTFOUND; ++ if ((sm_res.options & RES_INIT) == 0) { +# if NAMED_RESN + memset(&sm_res, 0, sizeof(sm_res)); + if (res_ninit(&sm_res) == -1) { @@ -109,41 +95,53 @@ $NetBSD: patch-at,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ +# endif + *statp = EX_UNAVAILABLE; + return false; ++ } } + # if DANE +- old_options = _res.options; ++ old_options = sm_res.options; + if (DANE_SECURE == Dane) +- _res.options |= SM_RES_DNSSEC; ++ sm_res.options |= SM_RES_DNSSEC; + # endif + *statp = EX_OK; -@@ -834,7 +849,7 @@ cnameloop: - dp = searchlist; - if (n > 0) - *dp++ = ""; +@@ -1341,7 +1349,7 @@ cnameloop: + searchlist[sli++] = NameSearchList; + } + # endif - if (n >= 0 && *--cp != '.' && bitset(RES_DNSRCH, _res.options)) + if (n >= 0 && *--cp != '.' && bitset(RES_DNSRCH, sm_res.options)) { /* make sure there are less than MAXDNSRCH domains */ for (domain = RES_DNSRCH_VARIABLE, ret = 0; -@@ -842,9 +857,9 @@ cnameloop: +@@ -1349,10 +1357,10 @@ cnameloop: ret++) - *dp++ = *domain++; + searchlist[sli++] = *domain++; } - else if (n == 0 && bitset(RES_DEFNAMES, _res.options)) + else if (n == 0 && bitset(RES_DEFNAMES, sm_res.options)) { -- *dp++ = _res.defdname; -+ *dp++ = sm_res.defdname; + SM_ASSERT(sli < SLSIZE); +- searchlist[sli++] = _res.defdname; ++ searchlist[sli++] = sm_res.defdname; } else if (*cp == '.') { -@@ -879,8 +894,13 @@ cnameloop: - qtype == T_MX ? "MX" : - "???"); - errno = 0; -+# if NAMED_RESN -+ ret = res_nquerydomain(&sm_res, host, *dp, C_IN, qtype, -+ answer.qb2, sizeof(answer.qb2)); -+# else - ret = res_querydomain(host, *dp, C_IN, qtype, - answer.qb2, sizeof(answer.qb2)); -+# endif - if (ret <= 0) - { - int save_errno = errno; +@@ -1658,13 +1666,13 @@ nexttype: + if (ttl > 0 && pttl != NULL) + *pttl = ttl; + # if DANE +- _res.options = old_options; ++ sm_res.options = old_options; + # endif + return ad ? HOST_SECURE : HOST_OK; + + error: + # if DANE +- _res.options = old_options; ++ sm_res.options = old_options; + # endif + return HOST_NOTFOUND; + } diff --git a/mail/sendmail/patches/patch-au b/mail/sendmail/patches/patch-au index adffb6c3841..b484dde8e8d 100644 --- a/mail/sendmail/patches/patch-au +++ b/mail/sendmail/patches/patch-au @@ -1,8 +1,8 @@ -$NetBSD: patch-au,v 1.2 2014/06/20 05:24:32 jnemeth Exp $ +$NetBSD: patch-au,v 1.3 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/main.c.orig 2014-05-16 20:40:15.000000000 +0000 +--- sendmail/main.c.orig 2020-06-02 09:41:43.000000000 +0000 +++ sendmail/main.c -@@ -148,6 +148,10 @@ int SyslogPrefixLen; /* estimated lengt +@@ -153,6 +153,10 @@ int SyslogPrefixLen; /* estimated lengt } \ } @@ -13,9 +13,9 @@ $NetBSD: patch-au,v 1.2 2014/06/20 05:24:32 jnemeth Exp $ int main(argc, argv, envp) int argc; -@@ -210,6 +214,15 @@ main(argc, argv, envp) +@@ -215,6 +219,15 @@ main(argc, argv, envp) envp = environ; - #endif /* USE_ENVIRON */ + #endif +#if NAMED_BIND +# if NAMED_RESN @@ -29,7 +29,7 @@ $NetBSD: patch-au,v 1.2 2014/06/20 05:24:32 jnemeth Exp $ /* turn off profiling */ SM_PROF(0); -@@ -683,21 +696,25 @@ main(argc, argv, envp) +@@ -697,21 +710,25 @@ main(argc, argv, envp) */ #if NAMED_BIND @@ -49,7 +49,7 @@ $NetBSD: patch-au,v 1.2 2014/06/20 05:24:32 jnemeth Exp $ # ifdef RES_NOALIASES - _res.options |= RES_NOALIASES; + sm_res.options |= RES_NOALIASES; - # endif /* RES_NOALIASES */ + # endif - TimeOuts.res_retry[RES_TO_DEFAULT] = _res.retry; - TimeOuts.res_retry[RES_TO_FIRST] = _res.retry; - TimeOuts.res_retry[RES_TO_NORMAL] = _res.retry; @@ -65,7 +65,7 @@ $NetBSD: patch-au,v 1.2 2014/06/20 05:24:32 jnemeth Exp $ #endif /* NAMED_BIND */ errno = 0; -@@ -1380,8 +1397,8 @@ main(argc, argv, envp) +@@ -1394,8 +1411,8 @@ main(argc, argv, envp) } #if NAMED_BIND @@ -73,10 +73,10 @@ $NetBSD: patch-au,v 1.2 2014/06/20 05:24:32 jnemeth Exp $ - _res.retrans = TimeOuts.res_retrans[RES_TO_DEFAULT]; + sm_res.retry = TimeOuts.res_retry[RES_TO_DEFAULT]; + sm_res.retrans = TimeOuts.res_retrans[RES_TO_DEFAULT]; - #endif /* NAMED_BIND */ + #endif /* -@@ -2884,8 +2901,8 @@ main(argc, argv, envp) +@@ -2944,8 +2961,8 @@ main(argc, argv, envp) sm_getla(); GrabTo = false; #if NAMED_BIND @@ -84,6 +84,6 @@ $NetBSD: patch-au,v 1.2 2014/06/20 05:24:32 jnemeth Exp $ - _res.retrans = TimeOuts.res_retrans[RES_TO_FIRST]; + sm_res.retry = TimeOuts.res_retry[RES_TO_FIRST]; + sm_res.retrans = TimeOuts.res_retrans[RES_TO_FIRST]; - #endif /* NAMED_BIND */ + #endif next = e->e_sibling; e->e_sibling = NULL; diff --git a/mail/sendmail/patches/patch-av b/mail/sendmail/patches/patch-av index ea288cdda25..e7c659cfb3d 100644 --- a/mail/sendmail/patches/patch-av +++ b/mail/sendmail/patches/patch-av @@ -1,10 +1,10 @@ -$NetBSD: patch-av,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ +$NetBSD: patch-av,v 1.2 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/queue.c.orig 2014-05-16 20:40:15.000000000 +0000 +--- sendmail/queue.c.orig 2020-05-27 16:32:09.000000000 +0000 +++ sendmail/queue.c @@ -34,6 +34,10 @@ SM_RCSID("@(#)$Id: queue.c,v 8.1000 2013 # define SM_OPEN_EXLOCK 0 - #endif /* ! SM_OPEN_EXLOCK */ + #endif +#if NAMED_BIND +extern struct __res_state sm_res; @@ -13,7 +13,7 @@ $NetBSD: patch-av,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ /* ** Historical notes: ** QF_VERSION == 4 was sendmail 8.10/8.11 without _FFR_QUEUEDELAY -@@ -4360,13 +4364,13 @@ readqf(e, openonly) +@@ -4394,13 +4398,13 @@ readqf(e, openonly) /* adjust BIND parameters immediately */ if (e->e_ntries == 0) { diff --git a/mail/sendmail/patches/patch-aw b/mail/sendmail/patches/patch-aw index 674f43f09dd..a0eb9a2da6f 100644 --- a/mail/sendmail/patches/patch-aw +++ b/mail/sendmail/patches/patch-aw @@ -1,10 +1,10 @@ -$NetBSD: patch-aw,v 1.6 2020/04/12 09:11:42 jnemeth Exp $ +$NetBSD: patch-aw,v 1.7 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/readcf.c.orig 2015-06-17 16:51:58.000000000 +0000 +--- sendmail/readcf.c.orig 2020-06-02 09:41:43.000000000 +0000 +++ sendmail/readcf.c -@@ -20,6 +20,10 @@ SM_RCSID("@(#)$Id: readcf.c,v 8.692 2013 +@@ -26,6 +26,10 @@ SM_RCSID("@(#)$Id: readcf.c,v 8.692 2013 # include <arpa/inet.h> - #endif /* NETINET || NETINET6 */ + #endif +#if NAMED_BIND +extern struct __res_state sm_res; @@ -13,16 +13,16 @@ $NetBSD: patch-aw,v 1.6 2020/04/12 09:11:42 jnemeth Exp $ #define SECONDS #define MINUTES * 60 -@@ -2910,6 +2914,8 @@ static struct optioninfo +@@ -2979,6 +2983,8 @@ static struct optioninfo + { "SetCertAltnames", O_CHECKALTNAMES, OI_NONE }, #endif - #define O_USECOMPRESSEDIPV6ADDRESSES 0xec - { "UseCompressedIPv6Addresses", O_USECOMPRESSEDIPV6ADDRESSES, OI_NONE }, -+# define O_BLACKLIST 0xf2 -+ { "UseBlacklist", O_BLACKLIST, OI_NONE }, ++# define O_BLACKLIST 0xf8 ++ { "UseBlacklist", O_BLACKLIST, OI_NONE }, { NULL, '\0', OI_NONE } }; -@@ -3318,13 +3324,13 @@ setoption(opt, val, safe, sticky, e) + +@@ -3386,13 +3392,13 @@ setoption(opt, val, safe, sticky, e) if (rfp->rf_name == NULL) syserr("readcf: I option value %s unrecognized", q); else if (clearmode) @@ -33,15 +33,16 @@ $NetBSD: patch-aw,v 1.6 2020/04/12 09:11:42 jnemeth Exp $ + sm_res.options |= rfp->rf_bits; } if (tTd(8, 2)) - sm_dprintf("_res.options = %x, HasWildcardMX = %d\n", +- sm_dprintf("_res.options = %x, HasWildcardMX = %d\n", - (unsigned int) _res.options, HasWildcardMX); ++ sm_dprintf("sm_res.options = %x, HasWildcardMX = %d\n", + (unsigned int) sm_res.options, HasWildcardMX); #else /* NAMED_BIND */ usrerr("name server (I option) specified but BIND not compiled in"); #endif /* NAMED_BIND */ -@@ -4540,6 +4546,10 @@ setoption(opt, val, safe, sticky, e) - UseCompressedIPv6Addresses = atobool(val); +@@ -4679,6 +4685,10 @@ setoption(opt, val, safe, sticky, e) break; + # endif + case O_BLACKLIST: + UseBlacklist = atobool(val); diff --git a/mail/sendmail/patches/patch-ax b/mail/sendmail/patches/patch-ax index f0ea62fbe6a..045259d4e26 100644 --- a/mail/sendmail/patches/patch-ax +++ b/mail/sendmail/patches/patch-ax @@ -1,6 +1,6 @@ -$NetBSD: patch-ax,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ +$NetBSD: patch-ax,v 1.2 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/savemail.c.orig 2014-05-16 20:40:15.000000000 +0000 +--- sendmail/savemail.c.orig 2020-06-08 08:35:03.000000000 +0000 +++ sendmail/savemail.c @@ -17,2 +17,6 @@ SM_RCSID("@(#)$Id: savemail.c,v 8.319 20 @@ -9,10 +9,10 @@ $NetBSD: patch-ax,v 1.1 2014/06/15 20:48:50 jnemeth Exp $ +#endif + static bool errbody __P((MCI *, ENVELOPE *, char *)); -@@ -594,4 +598,4 @@ returntosender(msg, returnq, flags, e) +@@ -598,4 +602,4 @@ returntosender(msg, returnq, flags, e) #if NAMED_BIND - _res.retry = TimeOuts.res_retry[RES_TO_FIRST]; - _res.retrans = TimeOuts.res_retrans[RES_TO_FIRST]; + sm_res.retry = TimeOuts.res_retry[RES_TO_FIRST]; + sm_res.retrans = TimeOuts.res_retrans[RES_TO_FIRST]; - #endif /* NAMED_BIND */ + #endif diff --git a/mail/sendmail/patches/patch-ay b/mail/sendmail/patches/patch-ay index a89426bed35..a2cbe639a38 100644 --- a/mail/sendmail/patches/patch-ay +++ b/mail/sendmail/patches/patch-ay @@ -1,63 +1,121 @@ -$NetBSD: patch-ay,v 1.2 2014/06/20 05:24:32 jnemeth Exp $ +$NetBSD: patch-ay,v 1.3 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/sm_resolve.c.orig 2014-05-16 20:40:15.000000000 +0000 +--- sendmail/sm_resolve.c.orig 2020-06-08 08:35:03.000000000 +0000 +++ sendmail/sm_resolve.c -@@ -54,2 +54,6 @@ SM_RCSID("$Id: sm_resolve.c,v 8.40 2013- +@@ -57,2 +57,6 @@ SM_RCSID("$Id: sm_resolve.c,v 8.40 2013- +#if NAMED_BIND +extern struct __res_state sm_res; +#endif + static struct stot -@@ -410,4 +414,4 @@ dns_lookup_int(domain, rr_class, rr_type +@@ -771,3 +775,3 @@ nsportip(p) + { +- if ((_res.options & RES_INIT) == 0) ++ if ((sm_res.options & RES_INIT) == 0) + (void) res_init(); +@@ -796,7 +800,7 @@ dns_setns(ns, port) + { +- _res.nsaddr_list[0].sin_family = AF_INET; +- _res.nsaddr_list[0].sin_addr = *ns; ++ sm_res.nsaddr_list[0].sin_family = AF_INET; ++ sm_res.nsaddr_list[0].sin_addr = *ns; + if (port != 0) +- _res.nsaddr_list[0].sin_port = htons(port); +- _res.nscount = 1; ++ sm_res.nsaddr_list[0].sin_port = htons(port); ++ sm_res.nscount = 1; + if (tTd(8, 61)) +@@ -945,3 +949,3 @@ dnscrtrr(domain, query, qtype, value, rr + +- adflag = (_res.options & RES_USE_DNSSEC) != 0; ++ adflag = (sm_res.options & RES_USE_DNSSEC) != 0; + +@@ -1289,3 +1293,2 @@ dns_lookup_int(domain, rr_class, rr_type + unsigned char *reply; +- int (*resfunc) __P((const char *, int, int, u_char *, int)); + +@@ -1296,10 +1299,4 @@ dns_lookup_int(domain, rr_class, rr_type + +- resfunc = res_search; +-# if DNSSEC_TEST +- if (tTd(8, 110)) +- resfunc = tstdns_search; +-# endif +- +- old_options = _res.options; +- _res.options |= options; ++ old_options = sm_res.options; ++ sm_res.options |= options; + if (err != NULL) +@@ -1310,3 +1307,3 @@ dns_lookup_int(domain, rr_class, rr_type { -- old_options = _res.options; - _res.options |= RES_DEBUG; -+ old_options = sm_res.options; + sm_res.options |= RES_DEBUG; - sm_dprintf("dns_lookup(%s, %d, %s)\n", domain, -@@ -417,4 +421,4 @@ dns_lookup_int(domain, rr_class, rr_type + sm_dprintf("dns_lookup_int(%s, %d, %s, %x)\n", domain, +@@ -1317,4 +1314,4 @@ dns_lookup_int(domain, rr_class, rr_type + sm_dprintf("NS=%s, port=%d\n", +- inet_ntoa(_res.nsaddr_list[0].sin_addr), +- ntohs(_res.nsaddr_list[0].sin_port)); ++ inet_ntoa(sm_res.nsaddr_list[0].sin_addr), ++ ntohs(sm_res.nsaddr_list[0].sin_port)); + # endif +@@ -1322,4 +1319,4 @@ dns_lookup_int(domain, rr_class, rr_type { - save_retrans = _res.retrans; - _res.retrans = retrans; + save_retrans = sm_res.retrans; + sm_res.retrans = retrans; } -@@ -422,4 +426,4 @@ dns_lookup_int(domain, rr_class, rr_type +@@ -1327,4 +1324,4 @@ dns_lookup_int(domain, rr_class, rr_type { - save_retry = _res.retry; - _res.retry = retry; + save_retry = sm_res.retry; + sm_res.retry = retry; } -@@ -428,3 +432,7 @@ dns_lookup_int(domain, rr_class, rr_type +@@ -1333,3 +1330,12 @@ dns_lookup_int(domain, rr_class, rr_type reply = (unsigned char *)&reply_buf; -+#if NAMED_RESN +- len = (*resfunc)(domain, rr_class, rr_type, reply, SMRBSIZE); ++# if DNSSEC_TEST ++ if (tTd(8, 110)) ++ len = tstdns_search(domain, rr_class, rr_type, reply, SMRBSIZE); ++ else ++# endif ++# if NAMED_RESN + len = res_nsearch(&sm_res, domain, rr_class, rr_type, reply, SMRBSIZE); -+#else - len = res_search(domain, rr_class, rr_type, reply, SMRBSIZE); -+#endif ++# else ++ len = res_search(domain, rr_class, rr_type, reply, SMRBSIZE); ++# endif if (len >= SMRBSIZE) -@@ -448,4 +456,9 @@ dns_lookup_int(domain, rr_class, rr_type - else -+#if NAMED_RESN +@@ -1353,4 +1359,15 @@ dns_lookup_int(domain, rr_class, rr_type + SM_SET_H_ERRNO(0); +- len = (*resfunc)(domain, rr_class, rr_type, +- reply, IP_MAXPACKET); ++# if DNSSEC_TEST ++ if (tTd(8, 110)) ++ len = tstdns_search(domain, rr_class, ++ rr_type, reply, IP_MAXPACKET); ++ else ++# endif ++# if NAMED_RESN + len = res_nsearch(&sm_res, domain, rr_class, -+ rr_type, reply, IP_MAXPACKET); -+#else - len = res_search(domain, rr_class, rr_type, - reply, IP_MAXPACKET); -+#endif - } -@@ -454,3 +467,3 @@ dns_lookup_int(domain, rr_class, rr_type - { -- _res.options = old_options; -+ sm_res.options = old_options; - sm_dprintf("dns_lookup(%s, %d, %s) --> %d\n", -@@ -466,5 +479,5 @@ dns_lookup_int(domain, rr_class, rr_type ++ rr_type, reply, IP_MAXPACKET); ++# else ++ len = res_search(domain, rr_class, rr_type, ++ reply, IP_MAXPACKET); ++# endif + } +@@ -1358,3 +1375,3 @@ dns_lookup_int(domain, rr_class, rr_type + } +- _res.options = old_options; ++ sm_res.options = old_options; + if (len < 0) +@@ -1394,5 +1411,5 @@ dns_lookup_int(domain, rr_class, rr_type if (retrans > 0) - _res.retrans = save_retrans; + sm_res.retrans = save_retrans; if (retry > 0) - _res.retry = save_retry; + sm_res.retry = save_retry; - return r; + return dr; diff --git a/mail/sendmail/patches/patch-az b/mail/sendmail/patches/patch-az index c26f59e5197..c65754efb71 100644 --- a/mail/sendmail/patches/patch-az +++ b/mail/sendmail/patches/patch-az @@ -1,10 +1,10 @@ -$NetBSD: patch-az,v 1.3 2019/07/15 04:32:49 jnemeth Exp $ +$NetBSD: patch-az,v 1.4 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/srvrsmtp.c.orig 2015-03-18 11:47:12.000000000 +0000 +--- sendmail/srvrsmtp.c.orig 2020-06-08 08:35:03.000000000 +0000 +++ sendmail/srvrsmtp.c -@@ -46,6 +46,10 @@ static bool tls_ok_srv = false; +@@ -48,6 +48,10 @@ static bool tls_ok_srv = false; static bool NotFirstDelivery = false; - #endif /* _FFR_DM_ONE */ + #endif +#if NAMED_BIND +extern struct __res_state sm_res; @@ -13,7 +13,7 @@ $NetBSD: patch-az,v 1.3 2019/07/15 04:32:49 jnemeth Exp $ /* server features */ #define SRV_NONE 0x0000 /* none... */ #define SRV_OFFER_TLS 0x0001 /* offer STARTTLS */ -@@ -1328,6 +1332,7 @@ smtp(nullserver, d_flags, e) +@@ -1408,6 +1412,7 @@ smtp(nullserver, d_flags, e) (int) tp.tv_sec + (tp.tv_usec >= 500000 ? 1 : 0) ); @@ -21,7 +21,7 @@ $NetBSD: patch-az,v 1.3 2019/07/15 04:32:49 jnemeth Exp $ } } } -@@ -1589,7 +1594,12 @@ smtp(nullserver, d_flags, e) +@@ -1680,7 +1685,12 @@ smtp(nullserver, d_flags, e) /* get an OK if we're done */ if (result == SASL_OK) { @@ -34,20 +34,26 @@ $NetBSD: patch-az,v 1.3 2019/07/15 04:32:49 jnemeth Exp $ message("235 2.0.0 OK Authenticated"); authenticating = SASL_IS_AUTH; macdefine(&BlankEnvelope.e_macro, A_TEMP, -@@ -1721,8 +1731,12 @@ smtp(nullserver, d_flags, e) - } - else - { -+ int fd; +@@ -1825,6 +1835,7 @@ smtp(nullserver, d_flags, e) + { \ + SET_AUTH_USER_CONDITIONALLY \ + message("535 5.7.0 authentication failed"); \ ++ BLACKLIST_NOTIFY(BLACKLIST_AUTH_FAIL, sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL), "AUTH FAIL"); \ + if (LogLevel >= 9) \ + sm_syslog(LOG_WARNING, e->e_id, \ + "AUTH failure (%s): %s (%d) %s%s%.*s, relay=%.100s", \ +@@ -1940,6 +1951,10 @@ smtp(nullserver, d_flags, e) + if (nullserver != NULL && + ++n_badcmds > MAXBADCOMMANDS) + { ++ int fd; + - /* not SASL_OK or SASL_CONT */ - 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"); - if (LogLevel > 9) - sm_syslog(LOG_WARNING, e->e_id, - "AUTH failure (%s): %s (%d) %s, relay=%.100s", -@@ -3523,7 +3537,11 @@ doquit: ++ fd = sm_io_getinfo(InChannel, SM_IO_WHAT_FD, NULL); ++ BLACKLIST_NOTIFY(BLACKLIST_ABUSIVE_BEHAVIOR, fd, "too many bad commands"); + message("421 4.7.0 %s Too many bad commands; closing connection", + MyHostName); + +@@ -3663,7 +3678,11 @@ doquit: #if MAXBADCOMMANDS > 0 if (++n_badcmds > MAXBADCOMMANDS) { @@ -59,7 +65,7 @@ $NetBSD: patch-az,v 1.3 2019/07/15 04:32:49 jnemeth Exp $ message("421 4.7.0 %s Too many bad commands; closing connection", MyHostName); -@@ -3992,8 +4010,8 @@ smtp_data(smtp, e) +@@ -4136,8 +4155,8 @@ smtp_data(smtp, e) id = e->e_id; #if NAMED_BIND @@ -67,6 +73,6 @@ $NetBSD: patch-az,v 1.3 2019/07/15 04:32:49 jnemeth Exp $ - _res.retrans = TimeOuts.res_retrans[RES_TO_FIRST]; + sm_res.retry = TimeOuts.res_retry[RES_TO_FIRST]; + sm_res.retrans = TimeOuts.res_retrans[RES_TO_FIRST]; - #endif /* NAMED_BIND */ + #endif #if _FFR_PROXY diff --git a/mail/sendmail/patches/patch-bg b/mail/sendmail/patches/patch-bg index d79a900f335..02f8986ba69 100644 --- a/mail/sendmail/patches/patch-bg +++ b/mail/sendmail/patches/patch-bg @@ -1,24 +1,13 @@ -$NetBSD: patch-bg,v 1.1 2014/09/19 21:24:05 jnemeth Exp $ +$NetBSD: patch-bg,v 1.2 2021/07/04 07:57:13 jnemeth Exp $ ---- include/sm/config.h.orig 2014-03-06 17:31:29.000000000 +0000 +--- include/sm/config.h.orig 2020-05-19 19:54:32.000000000 +0000 +++ include/sm/config.h -@@ -24,16 +24,14 @@ - - /* - ** SM_CONF_STDBOOL_H is 1 if <stdbool.h> exists --** --** Note, unlike gcc, clang doesn't apply full prototypes to K&R definitions. +@@ -29,7 +29,7 @@ */ # ifndef SM_CONF_STDBOOL_H -# if !defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L +# if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L # define SM_CONF_STDBOOL_H 1 --# else /* !defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */ -+# else /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */ + # else # define SM_CONF_STDBOOL_H 0 --# endif /* !defined(__clang__) && defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */ -+# endif /* defined(__STDC_VERSION__) && __STDC_VERSION__ >= 199901L */ - # endif /* ! SM_CONF_STDBOOL_H */ - - /* diff --git a/mail/sendmail/patches/patch-bk b/mail/sendmail/patches/patch-bk deleted file mode 100644 index f1ff8e22449..00000000000 --- a/mail/sendmail/patches/patch-bk +++ /dev/null @@ -1,250 +0,0 @@ -$NetBSD: patch-bk,v 1.1 2018/12/05 12:10:21 bsiegert Exp $ - -From 02edb8d94682fcf13a7e98618294e06f728e66e6 Mon Sep 17 00:00:00 2001 -From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> -Date: Sat, 10 Sep 2016 19:27:17 +0000 -Subject: [PATCH] sendmail: compile against openssl 1.1.0 - -Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc> ---- - debian/configure.ac | 13 +++-- - sendmail/tls.c | 165 +++++++++++++++++++++++++++++++++++++++------------- - 2 files changed, 132 insertions(+), 46 deletions(-) - -diff --git a/sendmail/tls.c b/sendmail/tls.c -index 6b0ea25..6a10890 100644 ---- sendmail/tls.c -+++ sendmail/tls.c -@@ -60,18 +60,58 @@ static unsigned char dh512_g[] = - 0x02 - }; - -+#if OPENSSL_VERSION_NUMBER < 0x10100000 -+ -+static inline int DH_set0_pqg(DH *dh, BIGNUM *p, BIGNUM *q, BIGNUM *g) -+{ -+ /* If the fields p and g in d are NULL, the corresponding input -+ * parameters MUST be non-NULL. q may remain NULL. -+ */ -+ if ((dh->p == NULL && p == NULL) -+ || (dh->g == NULL && g == NULL)) -+ return 0; -+ -+ if (p != NULL) { -+ BN_free(dh->p); -+ dh->p = p; -+ } -+ if (q != NULL) { -+ BN_free(dh->q); -+ dh->q = q; -+ } -+ if (g != NULL) { -+ BN_free(dh->g); -+ dh->g = g; -+ } -+ -+ if (q != NULL) { -+ dh->length = BN_num_bits(q); -+ } -+ -+ return 1; -+} -+#endif -+ - static DH * - get_dh512() - { - DH *dh = NULL; -- -- if ((dh = DH_new()) == NULL) -- return NULL; -- dh->p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL); -- dh->g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL); -- if ((dh->p == NULL) || (dh->g == NULL)) -- return NULL; -+ BIGNUM *p; -+ BIGNUM *g; -+ -+ dh = DH_new(); -+ p = BN_bin2bn(dh512_p, sizeof(dh512_p), NULL); -+ g = BN_bin2bn(dh512_g, sizeof(dh512_g), NULL); -+ if (!dh || !p || !g) -+ goto err; -+ if (!DH_set0_pqg(dh, p, NULL, g)) -+ goto err; - return dh; -+err: -+ DH_free(dh); -+ BN_free(p); -+ BN_free(g); -+ return NULL; - } - - # if 0 -@@ -117,17 +157,22 @@ get_dh2048() - }; - static unsigned char dh2048_g[]={ 0x02, }; - DH *dh; -- -- if ((dh=DH_new()) == NULL) -- return(NULL); -- dh->p=BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); -- dh->g=BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); -- if ((dh->p == NULL) || (dh->g == NULL)) -- { -- DH_free(dh); -- return(NULL); -- } -+ BIGNUM *p; -+ BIGNUM *g; -+ -+ dh = DH_new(); -+ p = BN_bin2bn(dh2048_p,sizeof(dh2048_p),NULL); -+ g = BN_bin2bn(dh2048_g,sizeof(dh2048_g),NULL); -+ if (!dh || !p || !g) -+ goto err; -+ if (!DH_set0_pqg(dh, p, NULL, g)) -+ goto err; - return(dh); -+err: -+ DH_free(dh); -+ BN_free(p); -+ BN_free(g); -+ return NULL; - } - # endif /* !NO_DH */ - -@@ -926,7 +971,7 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar - { - /* get a pointer to the current certificate validation store */ - store = SSL_CTX_get_cert_store(*ctx); /* does not fail */ -- crl_file = BIO_new(BIO_s_file_internal()); -+ crl_file = BIO_new(BIO_s_file()); - if (crl_file != NULL) - { - if (BIO_read_filename(crl_file, CRLFile) >= 0) -@@ -1000,26 +1045,41 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar - ** maybe we should do it only on demand... - */ - -- if (bitset(TLS_I_RSA_TMP, req) - # if SM_CONF_SHM -- && ShmId != SM_SHM_NO_ID && -- (rsa_tmp = RSA_generate_key(RSA_KEYLENGTH, RSA_F4, NULL, -- NULL)) == NULL --# else /* SM_CONF_SHM */ -- && 0 /* no shared memory: no need to generate key now */ --# endif /* SM_CONF_SHM */ -- ) -+ if (bitset(TLS_I_RSA_TMP, req) -+ && ShmId != SM_SHM_NO_ID) - { -- if (LogLevel > 7) -+ BIGNUM *bn; -+ -+ bn = BN_new(); -+ rsa_tmp = RSA_new(); -+ if (!bn || !rsa_tmp || !BN_set_word(bn, RSA_F4)) { -+ RSA_free(rsa_tmp); -+ rsa_tmp = NULL; -+ } -+ if (rsa_tmp) - { -- sm_syslog(LOG_WARNING, NOQID, -- "STARTTLS=%s, error: RSA_generate_key failed", -- who); -- if (LogLevel > 9) -- tlslogerr(LOG_WARNING, who); -+ if (!RSA_generate_key_ex(rsa_tmp, RSA_KEYLENGTH, bn, NULL)) -+ { -+ RSA_free(rsa_tmp); -+ rsa_tmp = NULL; -+ } -+ } -+ BN_free(bn); -+ if (!rsa_tmp) -+ { -+ if (LogLevel > 7) -+ { -+ sm_syslog(LOG_WARNING, NOQID, -+ "STARTTLS=%s, error: RSA_generate_key failed", -+ who); -+ if (LogLevel > 9) -+ tlslogerr(LOG_WARNING, who); -+ } -+ return false; - } -- return false; - } -+# endif /* SM_CONF_SHM */ - # endif /* !TLS_NO_RSA */ - - /* -@@ -1210,9 +1270,15 @@ inittls(ctx, req, options, srv, certfile, keyfile, cacertpath, cacertfile, dhpar - sm_dprintf("inittls: Generating %d bit DH parameters\n", bits); - - /* this takes a while! */ -- dsa = DSA_generate_parameters(bits, NULL, 0, NULL, -- NULL, 0, NULL); -- dh = DSA_dup_DH(dsa); -+ dsa = DSA_new(); -+ if (dsa) { -+ int r; -+ -+ r = DSA_generate_parameters_ex(dsa, bits, NULL, 0, -+ NULL, NULL, NULL); -+ if (r != 0) -+ dh = DSA_dup_DH(dsa); -+ } - DSA_free(dsa); - } - else if (dh == NULL && bitset(TLS_I_DHFIXED, req)) -@@ -1733,6 +1799,9 @@ tmp_rsa_key(s, export, keylength) - int export; - int keylength; - { -+ BIGNUM *bn; -+ int ret; -+ - # if SM_CONF_SHM - extern int ShmId; - extern int *PRSATmpCnt; -@@ -1742,10 +1811,22 @@ tmp_rsa_key(s, export, keylength) - return rsa_tmp; - # endif /* SM_CONF_SHM */ - -- if (rsa_tmp != NULL) -- RSA_free(rsa_tmp); -- rsa_tmp = RSA_generate_key(RSA_KEYLENGTH, RSA_F4, NULL, NULL); -- if (rsa_tmp == NULL) -+ if (rsa_tmp == NULL) { -+ rsa_tmp = RSA_new(); -+ if (!rsa_tmp) -+ return NULL; -+ } -+ -+ bn = BN_new(); -+ if (!bn) -+ return NULL; -+ if (!BN_set_word(bn, RSA_F4)) { -+ BN_free(bn); -+ return NULL; -+ } -+ ret = RSA_generate_key_ex(rsa_tmp, RSA_KEYLENGTH, bn, NULL); -+ BN_free(bn); -+ if (!ret) - { - if (LogLevel > 0) - sm_syslog(LOG_ERR, NOQID, -@@ -1971,9 +2052,9 @@ x509_verify_cb(ok, ctx) - { - if (LogLevel > 13) - tls_verify_log(ok, ctx, "x509"); -- if (ctx->error == X509_V_ERR_UNABLE_TO_GET_CRL) -+ if (X509_STORE_CTX_get_error(ctx) == X509_V_ERR_UNABLE_TO_GET_CRL) - { -- ctx->error = 0; -+ X509_STORE_CTX_set_error(ctx, 0); - return 1; /* override it */ - } - } diff --git a/mail/sendmail/patches/patch-bo b/mail/sendmail/patches/patch-bo index f42f02bb1d1..c9047485781 100644 --- a/mail/sendmail/patches/patch-bo +++ b/mail/sendmail/patches/patch-bo @@ -1,9 +1,9 @@ -$NetBSD: patch-bo,v 1.3 2020/04/12 09:11:42 jnemeth Exp $ +$NetBSD: patch-bo,v 1.4 2021/07/04 07:57:13 jnemeth Exp $ ---- sendmail/sendmail.h.orig 2015-06-19 12:59:29.000000000 +0000 +--- sendmail/sendmail.h.orig 2020-07-02 05:00:37.000000000 +0000 +++ sendmail/sendmail.h -@@ -57,6 +57,10 @@ SM_UNUSED(static char SmailId[]) = "@(#) - #endif /* _DEFINE */ +@@ -63,6 +63,10 @@ SM_UNUSED(static char SmailId[]) = "@(#) + #endif #include "bf.h" +#ifdef USE_BLACKLIST @@ -13,11 +13,11 @@ $NetBSD: patch-bo,v 1.3 2020/04/12 09:11:42 jnemeth Exp $ #include "timers.h" #include <sm/exc.h> #include <sm/heap.h> -@@ -2544,6 +2548,8 @@ EXTERN int ConnectionRateWindowSize; - EXTERN bool SSLEngineInitialized; - #endif /* STARTTLS && USE_OPENSSL_ENGINE */ +@@ -2576,6 +2580,8 @@ EXTERN int Hacks; /* bit field of run-ti -+EXTERN bool UseBlacklist; + EXTERN int ConnectionRateWindowSize; + ++EXTERN bool UseBlacklist; + /* ** Declarations of useful functions diff --git a/mail/sendmail/patches/patch-bs b/mail/sendmail/patches/patch-bs new file mode 100644 index 00000000000..1b59f0ae0ac --- /dev/null +++ b/mail/sendmail/patches/patch-bs @@ -0,0 +1,12 @@ +$NetBSD: patch-bs,v 1.1 2021/07/04 07:57:13 jnemeth Exp $ + +--- libsm/notify.c.orig 2020-05-19 19:54:32.000000000 +0000 ++++ libsm/notify.c +@@ -15,6 +15,7 @@ + #include <sm/assert.h> + #include <sm/notify.h> + ++#include <sys/select.h> + #include <sys/types.h> + #include <signal.h> + #include <stdio.h> diff --git a/mail/sendmail/patches/patch-sendmail_domain.c b/mail/sendmail/patches/patch-sendmail_domain.c deleted file mode 100644 index 365497d769c..00000000000 --- a/mail/sendmail/patches/patch-sendmail_domain.c +++ /dev/null @@ -1,31 +0,0 @@ -$NetBSD: patch-sendmail_domain.c,v 1.1 2020/04/24 14:33:08 manu Exp $ - -Add missing curly brackets that caused res_ninit() to be called -with non-zeroed state structure. In NetBSD, res_ninit() detects -the mistake and quickly calls res_ndestroy(), which will close file -descriptors based on the random data provided in the state structure. -The result at mine is sendmail going mute after the MAIL FROM -command. - ---- sendmail/domain.c.orig -+++ sendmail/domain.c -@@ -802,17 +802,18 @@ - - if (tTd(8, 2)) - sm_dprintf("dns_getcanonname(%s, trymx=%d)\n", host, trymx); - -- if ((sm_res.options & RES_INIT) == 0) -+ if ((sm_res.options & RES_INIT) == 0) { - # if NAMED_RESN - memset(&sm_res, 0, sizeof(sm_res)); - if (res_ninit(&sm_res) == -1) { - # else - if (res_init() == -1) { - # endif - *statp = EX_UNAVAILABLE; - return false; -+ } - } - - *statp = EX_OK; - |
