head 1.1; access; symbols pkgsrc-2026Q1:1.1.0.18 pkgsrc-2026Q1-base:1.1 pkgsrc-2025Q4:1.1.0.16 pkgsrc-2025Q4-base:1.1 pkgsrc-2025Q3:1.1.0.14 pkgsrc-2025Q3-base:1.1 pkgsrc-2025Q2:1.1.0.12 pkgsrc-2025Q2-base:1.1 pkgsrc-2025Q1:1.1.0.10 pkgsrc-2025Q1-base:1.1 pkgsrc-2024Q4:1.1.0.8 pkgsrc-2024Q4-base:1.1 pkgsrc-2024Q3:1.1.0.6 pkgsrc-2024Q3-base:1.1 pkgsrc-2024Q2:1.1.0.4 pkgsrc-2024Q2-base:1.1 pkgsrc-2024Q1:1.1.0.2 pkgsrc-2024Q1-base:1.1; locks; strict; comment @# @; 1.1 date 2024.01.15.04.50.56; author jnemeth; state Exp; branches; next ; commitid Nv1wagQpcgwUbvUE; desc @@ 1.1 log @mail/sendmail-snapshot: import sendmail-8.18.0.2 Sendmail acts as a unified "post office" to which all mail can be submitted. Address interpretation is controlled by a production system, which can parse both domain-based addressing and old-style "ad hoc" addresses. The production system is powerful enough to rewrite addresses in the message header to conform to the standards of a number of common target networks, including old (NCP/RFC733) Arpanet, new (TCP/RFC822) Arpanet, UUCP, and Phonenet. Sendmail also implements an SMTP server, message queueing, and aliasing. This package is for snapshot (alpha/beta) releases, which aren't considered to be release/production quality. It may be used to test new features. Some features / bug fixes may be backported to the regular sendmail package. @ text @$NetBSD: patch-ar,v 1.3 2021/07/04 07:57:13 jnemeth Exp $ --- sendmail/daemon.c.orig 2020-06-02 09:41:43.000000000 +0000 +++ sendmail/daemon.c @@@@ -75,6 +75,10 @@@@ SM_RCSID("@@(#)$Id: daemon.c,v 8.698 2013 # endif /* HAS_IN_H */ #endif /* IP_SRCROUTE && NETINET */ +#if NAMED_BIND +extern struct __res_state sm_res; +#endif + #include #include @@@@ -774,6 +778,8 @@@@ getrequests(e) anynet_ntoa(&RealHostAddr)); } + BLACKLIST_INIT(); + if (pipefd[0] != -1) { auto char c; @@@@ -2335,16 +2341,16 @@@@ makeconnection(host, port, mci, e, enoug if (hp == NULL && p[-1] == '.') { #if NAMED_BIND - int oldopts = _res.options; + int oldopts = sm_res.options; - _res.options &= ~(RES_DEFNAMES|RES_DNSRCH); + sm_res.options &= ~(RES_DEFNAMES|RES_DNSRCH); #endif /* NAMED_BIND */ p[-1] = '\0'; hp = sm_gethostbyname(&host[1], family); p[-1] = '.'; #if NAMED_BIND - _res.options = oldopts; + sm_res.options = oldopts; #endif } *p = ']'; @@@@ -2420,15 +2426,15 @@@@ makeconnection(host, port, mci, e, enoug if (hp == NULL && *p == '.') { #if NAMED_BIND - int oldopts = _res.options; + int oldopts = sm_res.options; - _res.options &= ~(RES_DEFNAMES|RES_DNSRCH); + sm_res.options &= ~(RES_DEFNAMES|RES_DNSRCH); #endif *p = '\0'; hp = sm_gethostbyname(host, family); *p = '.'; #if NAMED_BIND - _res.options = oldopts; + sm_res.options = oldopts; #endif } } @@@@ -4136,13 +4142,13 @@@@ host_map_lookup(map, name, av, statp) #if NAMED_BIND if (map->map_timeout > 0) { - retrans = _res.retrans; - _res.retrans = map->map_timeout; + retrans = sm_res.retrans; + sm_res.retrans = map->map_timeout; } if (map->map_retry > 0) { - retry = _res.retry; - _res.retry = map->map_retry; + retry = sm_res.retry; + sm_res.retry = map->map_retry; } #endif /* NAMED_BIND */ @@@@ -4220,9 +4226,9 @@@@ host_map_lookup(map, name, av, statp) } #if NAMED_BIND if (map->map_timeout > 0) - _res.retrans = retrans; + sm_res.retrans = retrans; if (map->map_retry > 0) - _res.retry = retry; + sm_res.retry = retry; #endif /* NAMED_BIND */ s->s_namecanon.nc_flags |= NCF_VALID; /* will be soon */ @@@@ -4551,11 +4557,11 @@@@ hostnamebyanyaddr(sap) # if NAMED_BIND /* shorten name server timeout to avoid higher level timeouts */ - saveretry = _res.retry; - if (_res.retry * _res.retrans > 20) - _res.retry = 20 / _res.retrans; - if (_res.retry == 0) - _res.retry = 1; + saveretry = sm_res.retry; + if (sm_res.retry * sm_res.retrans > 20) + sm_res.retry = 20 / sm_res.retrans; + if (sm_res.retry == 0) + sm_res.retry = 1; # endif /* NAMED_BIND */ switch (sap->sa.sa_family) @@@@ -4594,7 +4600,7 @@@@ hostnamebyanyaddr(sap) } # if NAMED_BIND - _res.retry = saveretry; + sm_res.retry = saveretry; # endif # if NETINET || NETINET6 @