Commit graph

127 commits

Author SHA1 Message Date
jnemeth
1fff924f15 Update sendmail to 8.15.1: this is mostly a feature/bugfix release.
Note that there was an incompatible config change for IPv6 users.
See the MESSAGE file for details.

pkgsrc change: delete a couple of patches that have been upstreamed

Proofpoint, Inc., and the Sendmail Consortium announce the availability
of sendmail 8.15.1. This release:

   o offers more TLS related features,
   o does not ignore temporary map lookup failures during header rewriting,
   o uses uncompressed IPv6 addresses by default, which is an incompatible
     change that requires to update IPv6 related configuration data.

as well as many other enhancements.  For details see the release
notes below.

                        SENDMAIL RELEASE NOTES


This listing shows the version of the sendmail binary, the version
of the sendmail configuration files, the date of release, and a
summary of the changes in that release.

8.15.1/8.15.1   2014/12/06
        SECURITY: Properly set the close-on-exec flag for file descriptors
                (except stdin, stdout, and stderr) before executing mailers.
        If header rewriting fails due to a temporary map lookup failure,
                queue the mail for later retry instead of sending it
                without rewriting the header.  Note: this is done
                while the mail is being sent and hence the transaction
                is aborted, which only works for SMTP/LMTP mailers
                hence the handling of temporary map failures is
                suppressed for other mailers. SMTP/LMTP servers may
                complain about aborted transactions when this problem
                occurs.
                See also "DNS Lookups" in sendmail/TUNING.
        Incompatible Change: Use uncompressed IPv6 addresses by default,
                i.e., they will not contain "::".  For example,
                instead of ::1 it will be 0:0:0:0:0:0:0:1.  This
                permits a zero subnet to have a more specific match,
                such as different map entries for IPv6:0:0 vs IPv6:0.
                This change requires that configuration data
                (including maps, files, classes, custom ruleset,
                etc) must use the same format, so make certain such
                configuration data is updated before using 8.15.
                As a very simple check search for patterns like
                'IPv6:[0-9a-fA-F:]*::' and 'IPv6::'. If necessary,
                the prior format can be retained by compiling with:
                APPENDDEF(`conf_sendmail_ENVDEF', `-DIPV6_FULL=0')
                in your devtools/Site/site.config.m4 file.
        If debugging is turned on (-d0.14) also print the OpenSSL
                versions, both build time and run time
                (provided STARTTLS is compiled in).
        If a connection to the MTA is dropped by the client before its
                hostname can be validated, treat it as "may be forged",
                so that the unvalidated hostname is not passed to a
                milter in xxfi_connect().
        Add a timeout for communication with socket map servers
                which can be specified using the -d option.
        Add a compile time option HESIOD_ALLOW_NUMERIC_LOGIN to allow
                numeric logins even if HESIOD is enabled.
        The new option CertFingerprintAlgorithm specifies the finger-
                print algorithm (digest) to use for the presented cert.
                If the option is not set, md5 is used and the macro
                {cert_md5} contains the cert fingerprint.
                However, if the option is set, the specified algorithm
                (e.g., sha1) is used and the macro {cert_fp} contains
                the cert fingerprint.
                That is, as long as the option is not set, the behaviour
                does not change, but otherwise, {cert_md5} is superseded
                by {cert_fp} even if you set CertFingerprintAlgorithm
                to md5.
        The options ServerSSLOptions and ClientSSLOptions can be used
                to set SSL options for the server and client side
                respectively. See SSL_CTX_set_options(3) for a list.
                Note: this change turns on SSL_OP_NO_SSLv2 and
                SSL_OP_NO_TICKET for the client. See doc/op/op.me
                for details.
        A new map type "arpa" is available to reverse an IP (IPv4 or IPv6)
                address. It returns the string for the PTR lookup, but
                without trailing {ip6,in-addr}.arpa.
        New operation mode  'C' just checks the configuration file, e.g.,
                sendmail -C new.cf -bC
                will perform a basic syntax/consistency check of new.cf.
        The mailer flag 'I' is deprecated and will be removed in a
                future version.
        Allow local (not just TCP) socket connections to the server, e.g.,
                O DaemonPortOptions=Family=local, Addr=/var/mta/server.sock
                can be used.
        If the new option MaxQueueAge is set to a value greater than zero,
                entries in the queue will be retried during a queue run
                only if the individual retry time has been reached which
                is doubled for each attempt.  The maximum retry time is
                limited by the specified value.
        New DontBlameSendmail option GroupReadableDefaultAuthInfoFile
                to relax requirement for DefaultAuthInfo file.
        Reset timeout after receiving a message to appropriate value if
                STARTTLS is in use.  Based on patch by Kelsey Cummings
                of Sonic.net.
        Report correct error messages from the LDAP library for a range of
                small negative return values covering those used by OpenLDAP.
        Fix compilation with Berkeley DB 5.0 and 6.0.  Patch from
                Allan E Johannesen of Worcester Polytechnic Institute.
        CONFIG: FEATURE(`nopercenthack') takes one parameter: reject or
                nospecial which describes whether to disallow "%" in the
                local part of an address.
        DEVTOOLS: Fix regression in auto-detection of libraries when only
                shared libraries are available.  Problem reported by
                Bryan Costales.
        LIBMILTER: Mark communication socket as close-on-exec in case
                a user's filter starts other applications.
                Based on patch from Paul Howarth.
        Portability:
                SunOS 5.12 has changed the API for sigwait(2) to conform
                with XPG7.  Based on patch from Roger Faulkner of Oracle.
        Deleted Files:
                libsm/path.c
2014-12-06 23:22:20 +00:00
jnemeth
5536aed8ac build fix for clang 2014-09-19 21:24:05 +00:00
jnemeth
31e30add2b Bah! Don't bother installing rmail as it comes with the UUCP package 2014-06-21 18:39:27 +00:00
jnemeth
11ec9ae252 Update to sendmail 8.14.9nb2: this is a pkgsrc bugfix update.
This should be the last update during the freeze.

PR/48566 - Emmanuel Dreyfus -- typo in patch-aw leading to build failure
PR/48913 - Matthias Scheler -- libmilter fails on unprivileged builds
2014-06-20 16:26:55 +00:00
jnemeth
282034c653 Update to sendmail 8.14.9nb1: this is a pkgsrc bugfix update
- remove some HTML cruft from netbsd-proto.mc
- stop trying to set file ownership and group during stage-install
- initialize sm_res earlier and test before calling res_ninit()
- clear SSL_OP_TLSEXT_PADDING by defualt to fix interoperability issues
- eliminate stray call to res_search()
  - verified with nm that all deprecated resolver functions have been eradicated

The above should address the folling PRs:

- PR/47207 - Richard Palo -- attempt to set ownership when unprivileged
- PR/48566 - Emmanuel Dreyfus -- problem with TLS timeouts
- PR/48913 - Matthias Scheler -- attempt to set ownership when unprivileged
2014-06-20 05:24:32 +00:00
jnemeth
31faa73ad6 Rename ffr-tls option to sendmail-ffr-tls as requested by wiz@.
Ride version change done a few minutes ago.
2014-06-15 21:04:30 +00:00
jnemeth
04f01c205f Update to sendmail 8.14.9: this fixes a minor potential security issue
pkgsrc changes:

- consolidate several patches into site.config.m4
  - pkgsrc LDFLAGS should always be used
- don't bother specifying file owner/group anywhere except in Makefile
- create include/sm/os/sm_os_netbsd.h to fix warnings and OS specific stuff
- install mail.local and rmail
- convert to use res_n* functions
  - allows for linking against threaded libraries
- add a TODO file
- PR/35249 - Loren M. Lang
  - can't find libraries on Linux, this should be fixed by using pkgsrc LDFLAGS
- PR/46694 - Makoto Fujiwara
  - bring back netbsd-proto.mc from when sendmail was part of the base system
- PR/47207 - Richard Palo
  - let pkgsrc infrastructure handle file ownership and group
- PR/48566 - Emmanuel Dreyfus
  - always set _FFR_USE_GETPWNAM_ERRNO on NetBSD
  - roll ffr_tls_1 and the suggested ffr_tls_ec into one new ffr_tls option
    - not enabled by default because it changes behaviour

8.14.9/8.14.9   2014/05/21
        SECURITY: Properly set the close-on-exec flag for file descriptors
                (except stdin, stdout, and stderr) before executing mailers.
        Fix a misformed comment in conf.c: "/*" within comment
                which may cause a compilation error on some systems.
                Problem reported by John Beck of Oracle.
        DEVTOOLS: Fix regression in auto-detection of libraries when only
                shared libraries are available.  Problem reported by
                Bryan Costales.
2014-06-15 20:48:49 +00:00
richard
450df11420 Fix INSTALLATION_DIRS to only append allowing SunOS smf support to work
adding -lresolv to prevent linker unresolved symbols in site.config.m4
for SunOS as well.
2014-05-10 14:38:26 +00:00
tron
73d05e2276 Recursive PKGREVISION bump for OpenSSL API version bump. 2014-02-12 23:17:32 +00:00
jnemeth
bed7a26643 Update to sendmail 8.14.8: this release contains some bug fixes plus some
minor feature additions.

8.14.8/8.14.8	2014/01/26
	Properly initialize all OpenSSL algorithms for versions before
		OpenSSL 0.9.8o. Without this SHA2 algorithms may not
		work properly, causing for example failures for certs
		that use sha256WithRSAEncryption as signature algorithm.
	When looking up hostnames, ensure only to return those records
		for the requested family (AF_INET or AF_INET6).
		On system that have NEEDSGETIPNODE and NETINET6
		this may have failed and cause delivery problems.
		Problem noted by Kees Cook.
	A new mailer flag '!' is available to suppress an MH hack
		that drops an explicit From: header if it is the
		same as what sendmail would generate.
	Add an FFR (for future release) to use uncompressed IPv6 addresses,
		i.e., they will not contain "::".  For example, instead
		of ::1 it will be 0:0:0:0:0:0:0:1.  This means that
		configuration data (including maps, files, classes,
		custom ruleset, etc) have to use the same format.
		This will be turned on in 8.15.  It can be enabled in 8.14
		by compiling with:
		APPENDDEF(`conf_sendmail_ENVDEF', `-D_FFR_IPV6_FULL')
		in your devtools/Site/site.config.m4 file.
	Add an additional case for the WorkAroundBrokenAAAA check when
		dealing with broken nameservers by ignoring SERVFAIL
		errors returned on T_AAAA (IPv6) lookups at delivery time.
		Problem noted by Pavel Timofeev of OCS.
	If available, pass LOGIN_SETCPUMASK and LOGIN_SETLOGINCLASS to
		setusercontext() on deliveries as a different user.
		Patch from Edward Tomasz Napierala from FreeBSD.
	Avoid compiler warnings from a change in Cyrus-SASL 2.1.25.
		Patch from Hajimu UMEMOTO from FreeBSD.
	Add support for DHParameters 2048-bit primes.
	CONFIG: Accept IPv6 literals when evaluating the HELO/EHLO argument
		in FEATURE(`block_bad_helo').  Suggested by Andrey Chernov.
	LIBSMDB: Add a missing check for malloc() in libsmdb/smndbm.c.
		Patch from Bill Parker.
	LIBSMDB: Fix minor memory leaks in libsmdb/ if allocations
		fail.  Patch from John Beck of Oracle.
	Portability:
		Add support for Darwin 12.x and 13.x (Mac OS X 10.8 and 10.9).
		On Linux use socklen_t as the type for the 3rd argument
		for getsockname/getpeername if the glibc version is at
		least 2.1.
	Added Files:
		devtools/OS/Darwin.12.x
		devtools/OS/Darwin.13.x
2014-02-09 02:02:46 +00:00
manu
9ff9fe902d Add a ffr_tls_1 option to sendmail, which enable the O CipherList
option for sendmail.cf. it is required in order to remove weak ciphers,
and enforce Forward Secrecy on modern MUA

Usage example:
O CipherList=DH@STRENGTH:HIGH:!MD5:!DES:!aNULL:!eNULL
2013-09-19 10:54:05 +00:00
jperkin
b091c2f172 Bump PKGREVISION of all packages which create users, to pick up change of
sysutils/user_* packages.
2013-07-12 10:44:52 +00:00
jnemeth
5a19a1e162 Update to sendmail 8.14.7: this is a bug fix release.
8.14.7/8.14.7	2013/04/21
	Drop support for IPv4-mapped IPv6 addresses to prevent the MTA
		from using a mapped address over a legitimate IPv6 address
		and to enforce the proper semantics over the IPv6
		connection.  Problem noted by Ulrich Sporlein.
	Fix a regression introduced in 8.14.6: the wrong list of
		macros was sent to a milter in the EHLO stage.
		Problem found by Fabrice Bellet, reported via RedHat
		(Jaroslav Skarvada).
	Fix handling of ORCPT parameter for DSNs: xtext decoding
		was not performed and a wrong syntax check was applied
		to the "addr-type" field.  Problem noted by Dan Lukes
		of Obludarium.
	Fix handling of NUL characters in the MIME conversion functions
		so that message bodies containing them will be sent
		on properly. Note: this usually also affects mails
		that are not converted as those functions are used
		for other purposes too.  Problem noted by Elchonon
		Edelson of Lockheed Martin.
	Do not perform "duplicate" elimination of recipients if they
		resolve to the error mailer using a temporary failure
		(4xy) via ruleset 0.  Problem noted by Akira Takahashi
		of IIJ.
	CONTRIB: Updated version of etrn.pl script from John Beck
		of Oracle.
	Portability:
		Unlike gcc, clang doesn't apply full prototypes to K&R
		definitions.
2013-05-05 02:36:20 +00:00
jperkin
becd113253 PKGREVISION bumps for the security/openssl 1.0.1d update. 2013-02-06 23:20:50 +00:00
jnemeth
1973608bba Update to sendmail 8.14.6: this is a general bug fix release.
- will look at making recently requested changes in a subsequent commit

8.14.6/8.14.6	2012/12/23
	Fix a regression introduced in 8.14.5: if a server offers
		two AUTH lines, the MTA would not read them after
		STARTTLS has been used and hence SMTP AUTH for
		the client side would fail.  Problem noted by Lena.
	Do not cache hostnames internally in a non case sensitive way
		as that may cause addresses to change from lower case
		to upper case or vice versa. These header modifications
		can cause problems with milters that rely on receiving
		headers in the same way as they are being sent out such
		as a DKIM signing milter.
	If MaxQueueChildren is set then it was possible that new queue
		runners could not be started anymore because an
		internal counter was subject to a race condition.
	If a milter decreases the timeout it waits for a communication
		with the MTA, the MTA might experience a write() timeout.
		In some situations, the resulting error might have been
		ignored.  Problem noted by Werner Wiethege.
		Note: decreasing the communication timeout in a milter
		should not be done without considering the potential
		problems.
	smfi_setsymlist() now properly sets the list of macros for
		the milter which invoked it, instead of a global
		list for all milters.  Problem reported by
		David Shrimpton of the University of Queensland.
	If Timeout.resolver.retrans is set to a value larger than 20,
		then resolver.retry was temporarily set to 0 for
		gethostbyaddr() lookups. Now it is set to 1 instead.
		Patch from Peter.
	If sendmail could not lock the statistics file due to a system
		error, and sendmail later sends a DSN for a mail that
		triggered such an error, then sendmail tried to access
		memory that was freed before (causing a crash on some
		systems).  Problem reported by Ryan Stone.
	Do not log negative values for size= nor pri= to avoid confusing
		log parsers, instead limit the values to LONG_MAX.
	Account for an API change in newer versions of Cyrus-SASL.
		Patch from Hajimu UMEMOTO from FreeBSD.
	Do not try to resolve link-local addresses for IPv4 (just as it
		is done for IPv6).  Patch from John Beck of Oracle.
	Improve logging of client and server STARTTLS connection failures
		that may be due to incompatible cipher lists by including
		the reason for the failure in a single log line.  Suggested
		by James Carey of Boeing.
	Portability:
		Add support for Darwin 11.x and 12.x (Mac OS X 10.7 and 10.8).
		Add support for SunOS 5.12 (aka Solaris 12). Patch from
		John Beck of Oracle.
2013-02-06 07:42:04 +00:00
obache
64deda1dc9 recursive bump from cyrus-sasl libsasl2 shlib major bump. 2012-12-16 01:51:57 +00:00
asau
d70c8e374b Drop PKG_DESTDIR_SUPPORT setting, "user-destdir" is default these days. 2012-10-08 12:19:01 +00:00
jnemeth
41d57e73ec enable reload in rc.d scripts 2012-07-27 17:46:01 +00:00
obache
f55c73d20e marked as CONFLICTS with esmtp>=1.2 (bin/mailq and/or bin/newaliases) 2010-03-12 13:19:49 +00:00
jnemeth
af43bfd9e6 Update to 8.14.4:
8.14.4/8.14.4	2009/12/30
	SECURITY: Handle bogus certificates containing NUL characters
		in CNs by placing a string indicating a bad certificate
		in the {cn_subject} or {cn_issuer} macro.  Patch inspired
		by Matthias Andree's changes for fetchmail.
	During the generation of a queue identifier an integer overflow
		could occur which might result in bogus characters
		being used.  Based on patch from John Vannoy of
		Pepperdine University.
	The value of headers, e.g., Precedence, Content-Type, et.al.,
		was not processed correctly.  Patch from Per Hedeland.
	Between 8.11.7 and 8.12.0 the length limitation on a return
		path was erroneously reduced from MAXNAME (256) to
		MAXSHORTSTR (203).  Patch from John Gardiner Myers
		of Proofpoint; the problem was also noted by Steve
		Hubert of University of Washington.
	Prevent a crash when a hostname lookup returns a seemingly
		valid result which contains a NULL pointer (this seems
		to be happening on some Linux versions).
	The process title was missing the current load average when
		the MTA was delaying connections due to DelayLA.
		Patch from Dick St.Peters of NetHeaven.
	Do not reset the number of queue entries in shared memory if
		only some of them are processed.
	Fix overflow of an internal array when parsing some replies
		from a milter.  Problem found by Scott Rotondo
		of Sun Microsystems.
	If STARTTLS is turned off in the server (via M=S) then it
		would not be initialized for use in the client either.
		Patch from Kazuteru Okahashi of IIJ.
	If a Diffie-Hellman cipher is selected for STARTTLS, the
		handshake could fail with some TLS implementations
		because the prime used by the server is not long enough.
		Note: the initialization of the DSA/DH parameters for
		the server can take a significant amount of time on slow
		machines. This can be turned off by setting DHParameters
		to none or a file (see doc/op/op.me).  Patch from
		Petr Lampa of the Brno University of Technology.
	Fix handling of `b' modifier for DaemonPortOptions on little
		endian machines for loopback address.  Patch from
		John Beck of Sun Microsystems.
	Fix a potential memory leak in libsmdb/smdb1.c found by parfait.
		Based on patch from Jonathan Gray of OpenBSD.
	If a milter sets the reply code to "421" during the transfer
		of the body, the SMTP server will terminate the SMTP session
		with that error to match the behavior of the other callbacks.
	Return EX_IOERR (instead of 0) if a mail submission fails due to
		missing disk space in the mail queue.  Based on patch
		from Martin Poole of RedHat.
	CONFIG: Using FEATURE(`ldap_routing')'s `nodomain' argument would
		cause addresses not found in LDAP to be misparsed.
	CONFIG: Using a CN restriction did not work for TLS_Clt as it
		referred to a wrong macro.  Patch from John Gardiner
		Myers of Proofpoint.
	CONFIG: The option relaytofulladdress of FEATURE(`access_db')
		did not work if FEATURE(`relay_hosts_only') is used too.
		Problem noted by Kristian Shaw.
	CONFIG: The internal function lower() was broken and hence
		strcasecmp() did not work either, which could cause
		problems for some FEATURE()s if upper case arguments
		were used.  Patch from Vesa-Matti J Kari of the
		University of Helsinki.
	LIBMILTER: Fix internal check whether a milter application
		is compiled against the same version of libmilter as
		it is linked against (especially useful for dynamic
		libraries).
	LIBMILTER: Fix memory leak that occurred when smfi_setsymlist()
		was used.  Based on patch by Dan Lukes.
	LIBMILTER: Document the effect of SMFIP_HDR_LEADSPC for filters
		which add, insert, or replace headers.  From Benjamin
		Pineau.
	LIBMILTER: Fix error messages which refer to "select()" to be
		correct if SM_CONF_POLL is used.  Based on patch from
		John Nemeth.
	LIBSM: Fix handling of LDAP search failures where the error is
		carried in the search result itself, such as seen with
		OpenLDAP proxy servers.
	VACATION: Do not refer to a local variable outside its scope.
		Based on patch from Mark Costlow of Southwest Cyberport.
	Portability:
		Enable HAVE_NANOSLEEP for SunOS 5.11. Patch from
		John Beck of Sun Microsystems.
		Drop NISPLUS from default SunOS 5.11 map definitions.
		Patch from John Beck of Sun Microsystems.
2010-01-16 00:31:13 +00:00
jnemeth
133b0f3c6c - various pkglint cleanups
- add user-destdir support

- this should fix PR/41004
2009-03-21 21:30:58 +00:00
jnemeth
bf3f8af8d2 As owner of the package, I have not approved this patch. Having
had a chance to closely examine it, I would prefer it be done
slightly differently.  Also, the patch patches multiple files in
direct contravention of pkgsrc guidelines.  One of the files is
also patched by a different patch.  Having multiple patches applied
to a single file makes maitenance much more difficult.
2009-03-21 21:20:28 +00:00
manu
d2931fd38a This patch fixes an important reliability fix when Sendmail performs local
mail delivery with non local NSS passwd source, such as LDAP.

Stock LDAP uses getpwnam(3) to lookup recipients. As mandated by SUSv2,
getpwnam(3) does not set errno, so Sendmail has no way of distinguishing
a non existing user and an error with a remote NSS source. Therefore,
when the LDAP server goes down, Sendmail bounces mail to valid recipients.

A first workround is to remove F=w from Mlocal in sendmail.cf. This will
inhibit local recipient lookups, but it has a two drawbacks
- ~/.forward do not work anymore
- For multi-recipient mails with a single inexistent user, mail.local
cause a DSN reporting an error for all users, whereas all valid users
do get the message.

A better workaround is this patch, which calls getpwnam_r(3). This newer
API do set errno and do return an error code. Sendmail is therefore able
to detect that it had a transcient error in NSS, and it will react by
queuing the message. This is what you really want to happen when LDAP
is down.

I have not been able to get any feedback from Sendmail developers about
this patch.
2009-03-09 21:24:00 +00:00
manu
b9232a223c Enable _FFR_LDAP_NETWORK_TIMEOUT
This feature adds a -c switch to LDAPMAP definitions, which can be used to
specify a connection timeout (the equivalent of ldap.conf's bind_timeout)

Here is an usage example, in sendmail.cf:
O LDAPDefaultSpec=-w 3 -c 1 -l 3
If the server does not connect after 1 second (-c 1), we give up. If it does
not anwer after 3 seconds (-l 3), we give up with a temporary failure.

Using -c is the only way to avoid sendmail getting stuck against a half-dead
slapd, where the TCP port is in listening state but the server will not
serve anything.
2008-08-13 15:41:29 +00:00
joerg
a8a3c01339 Explicitly add pax dependency in those Makefiles that use it (or have
patches to add it). Drop pax from the default USE_TOOLS list.
Make bsdtar the default for those places that wanted gtar to extract
long links etc, as bsdtar can be built of the tree.
2008-05-25 21:42:20 +00:00
jnemeth
858ea5e600 - create /var/spool/mqueue with mode 0700
- pre-create all directories with INSTALLATION_DIRS+=...
- convert to DESTDIR
2007-10-19 09:11:45 +00:00
jlam
013d10861d The sendmail and libmilter should have different sets of options. In
particular, libmilter does *not* support "ldap", "sasl", etc. which are
supported by only sendmail.  Do this through the following:

(1) Create libmilter/options.mk with support for the "inet6" option.

(2) Drop inclusion of options.mk from sendmail/Makefile.common and move
    it to libmilter/Makefile and sendmail/Makefile.

While here, properly support IPv6 on FreeBSD, which like DragonFly has
getipnodebyname() in libc.

As a result of these changes, libmilter will no longer depend on
cyrus-sasl or openssl or openldap-client depending on what is set
in PKG_DEFAULT_OPTIONS.

Bump the PKGREVISION of libmilter to 1 due to the changed dependency list.
No change to sendmail as the binary package does not change.
2007-09-25 20:05:23 +00:00
jnemeth
37e75de1aa create manpage directories 2007-06-19 17:10:55 +00:00
jnemeth
2e6905425f Update to sendmail-8.14.1. Major changes since sendmail-8.13.8:
8.14.1/8.14.1	2007/04/03
	Even though a milter rejects a recipient the MTA will still keep
		it in its list of recipients and deliver to it if the
		transaction is accepted. This is a regression introduced
		in 8.14.0 due to the change for SMFIP_RCPT_REJ.  Bug
		found by Andy Fiddaman.
	The new DaemonPortOptions which begin with a lower case character
		could not be set in 8.14.0.
	If a server shut down the connection in response to a STARTTLS
		command, sendmail would log a misleading error message
		due to an internal inconsistency.  Problem found by
		Werner Wiethege.
	Document how some sendmail.cf options change the behavior of mailq.
		Noted by Paul Menchini of the North Carolina School of
		Science and Mathematics.
	CONFIG: Add confSOFT_BOUNCE m4 option for setting SoftBounce.
	CONFIG: 8.14.0's RELEASE_NOTES failed to mention the addition
		of the confMAX_NOOP_COMMANDS and confSHARED_MEMORY_KEY_FILE
		m4 options for setting MaxNOOPCommands and
		SharedMemoryKeyFile.
	CONFIG: Add confMILTER_MACROS_EOH and confMILTER_MACROS_DATA m4
		options for setting Milter.macros.eoh and Milter.macros.data.
	CONTRIB: Use flock() and fcntl() in qtool.pl if necessary.
		Patch from Daniel Carroll of Mesa State College.
	LIBMILTER: Make sure an unknown command does not affect the
		currently available macros.  Problem found by Andy Fiddaman.
	LIBMILTER: The MTA did not offer SMFIF_SETSYMLIST during option
		negotiation.  Problem reported by Bryan Costales.
	LIBMILTER: Fix several minor errors in the documentation.
		Patches from Bryan Costales.
	PORTABILITY FIXES:
		AIX 5.{1,2}: libsm/util.c failed to compile due to
			redefinition of several macros, e.g., SIG_ERR.
			Patch from Jim Pirzyk with assistance by Bob
			Booth, University of Illinois at Urbana-Champaign.
		Add support for QNX.6.  Patch from Sean Boudreau of QNX
			Software Systems.
	New Files:
		devtools/M4/depend/QNX6.m4
		devtools/OS/QNX.6.x
		include/sm/os/sm_os_qnx.h

	New Files added in 8.14.0, but not shown in the release notes entry:
		libmilter/docs/smfi_chgfrom.html
		libmilter/docs/smfi_version.html

8.14.0/8.14.0	2007/01/31
	Header field values are now 8 bit clean.  Notes:
		- header field names are still restricted to 7 bit.
		- RFC 2822 allows only 7 bit (US-ASCII) characters in
		  headers.
	Preserve spaces after the colon in a header.  Previously, any
		number of spaces after the colon would be changed to
		exactly one space.
	In some cases of deeply nested aliases/forwarding, mail can
		be silently lost.  Moreover, the MaxAliasRecursion
		limit may be reached too early, e.g., the counter
		may be off by a factor of 4 in case of a sequence of
		.forward files that refer to others.  Patch from
		Motonori Nakamura of Kyoto University.
	Fix a regression in 8.13.8: if InputMailFilters is set then
		"sendmail -bs" can trigger an assertion because the
		hostname of the client is undefined.  It is now set
		to "localhost" for the xxfi_connect() callback.
	Avoid referencing a freed variable during cleanup when terminating.
		Problem reported and diagnosed by Joe Maimon.
	New option HeloName to set the name for the HELO/EHLO command.
		Patch from Nik Clayton.
	New option SoftBounce to issue temporary errors (4xy) instead of
		permanent errors (5xy).  This can be useful for testing.
	New suboptions for DaemonPortOptions to set them individually
		per daemon socket:
			DeliveryMode	DeliveryMode
			refuseLA	RefuseLA
			delayLA		DelayLA
			queueLA		QueueLA
			children	MaxDaemonChildren
	New option -K for LDAP maps to replace %1 through %9 in the
		lookup key with the LDAP escaped contents of the
		arguments specified in the map lookup.  Loosely based
		on patch from Wolfgang Hottgenroth.
	Log the time after which a greet_pause delay triggered.  Patch
		from Nik Clayton.
	If a client is rejected via TCP wrapper or some other check
		performed by validate_connection() (in conf.c) then do
		not also invoke greet_pause.  Problem noted by Jim Pirzyk
		of the University of Illinois at Urbana-Champaign.
	If a client terminates the SMTP connection during a pause
		introduced by greet_pause, then a misleading message
		was logged previously.  Problem noted by Vernon Schryver
		et.al., patch from Matej Vela.
	New command "mstat" for control socket to provide "machine
		readable" status.
	New named config file rule check_eom which is called at the end
		of a message, its parameter is the size of the message.
	If the macro {addr_type} indicates that the current address
		is a header address it also distinguishes between
		recipient and sender addresses (as it is done for
		envelope addresses).
	When a macro is set in check_relay, then its value is accessible
		by all transactions in the same SMTP session.
	Increase size of key for ldap lookups to 1024 (MAXKEY).
	New option MaxNOOPCommands to override default of 20 for the
		number of "useless" commands before the SMTP server will
		slow down responding.
	New option SharedMemoryKeyFile: if shared memory support is
		enabled, the MTA can be asked to select a shared memory
		key itself by setting SharedMemoryKey to -1 and specifying
		a file where to store the selected key.
	Try to deal with open HTTP proxies that are used to send spam
		by recognizing some commands from them. If the first command
		from the client is GET, POST, CONNECT, or USER, then the
		connection is terminated immediately.
	New PrivacyOptions noactualrecipient to avoid putting
		X-Actual-Recipient lines in DSNs revealing the actual
		account that addresses map to.  Patch from Dan Harkless.
	New options B, z, and Z for DNS maps:
		-B: specify a domain that is always appended to queries.
		-z: specify the delimiter at which to cut off the result of
			a query if it is too long.
		-Z: specify the maximum number of entries to be concatenated
			to form the result of a lookup.
	New target "check" in the Makefile of libsm: instead of running tests
		implicitly while building libsm, they must be explicitly
		started by using "make check".
	Fixed some inconsistent checks for NULL pointers that have been
		reported by the SATURN tool which has been developed by
		Isil Dillig and Thomas Dillig of Stanford University.
	Fix a potential race condition caused by a signal handler for
		terminated child processes.  Problem noted by David F. Skoll.
	When a milter deleted a recipient, that recipient could cause a
		queue group selection. This has been disabled as it was not
		intended.
	New operator 'r' for the arith map to return a random number.
		Patch from Motonori Nakamura of Kyoto University.
	New compile time option MILTER_NO_NAGLE to turn off the Nagle
		algorithm for communication with libmilter ("cork" on Linux),
		which may improve the communication performance on some
		operating systems.  Patch from John Gardiner Myers of
		Proofpoint.
	If sendmail received input that contained a CR without subsequent LF
		(thus violating RFC 2821 (2.3.7)), it could previously
		generate an additional blank line in the output as the last
		line.
	Restarting persistent queue runners by sending a HUP signal to
		the "queue control process" (QCP) works now.
	Increase the length of an input line to 12288 to deal with
		really long lines during SMTP AUTH negotiations.
		Problem noted by Werner Wiethege.
	If ARPANET mode (-ba) was selected STARTTLS would fail (due to
		a missing initialization call for that case).  Problem
		noted by Neil Rickert of Northern Illinois University.
	If sendmail is linked against a library that initializes Cyrus-SASL
		before sendmail did it (such as libnss-ldap), then SMTP AUTH
		could fail for the sendmail client.  A patch by Moritz Both
		works around the API design flaw of Cyrus-SASLv2.
	CONFIG: Make it possible to unset the StatusFile option by
		undefining STATUS_FILE.  By not setting StatusFile,
		the MTA will not attempt to open a statistics file on
		each delivery.
	CONFIG: New FEATURE(`require_rdns') to reject messages from SMTP
		clients whose IP address does not have proper reverse DNS.
		Contributed by Neil Rickert of Northern Illinois University
		and John Beck of Sun Microsystems.
	CONFIG: New FEATURE(`block_bad_helo') to reject messages from SMTP
		clients which provide a HELO/EHLO argument which is either
		unqualified, or is one of our own names (i.e., the server
		name instead of the client name).  Contributed by Neil
		Rickert of Northern Illinois University and John Beck of
		Sun Microsystems.
	CONFIG: New FEATURE(`badmx') to reject envelope sender addresses
		(MAIL) whose domain part resolves to a "bad" MX record.
		Based on contribution from William Dell Wisner.
	CONFIG: New macros SMTP_MAILER_LL and RELAY_MAILER_LL to override
		the maximum line length of the smtp mailers.
	CONFIG: New option `relaytofulladdress' for FEATURE(`access_db')
		to allow entries in the access map to be of the form
			To:user@example.com	RELAY
	CONFIG: New subsuboptions eoh and data to specify the list of
		macros a milter should receive at those stages in the
		SMTP dialogue.
	CONFIG: New option confHELO_NAME for HeloName to set the name
		for the HELO/EHLO command.
	CONFIG: dnsbl and enhdnsbl can now also discard or quarantine
		messages by using those values as second argument.
		Patches from Nelson Fung.
	CONTRIB: cidrexpand uses a hash symbol as comment character and
		ignores everything after it unless it is in quotes or
		preceeded by a backslash.
	DEVTOOLS: New macro confMKDIR: if set to a program that creates
		directories, then it used for "make install" to create
		the required installation directories.
	DEVTOOLS: New macro confCCLINK to specify the linker to use for
		executables (defaults to confCC).
	LIBMILTER: A new version of the milter API has been created that
		has several changes which are listed below and documented
		in the webpages reachable via libmilter/docs/index.html.
	LIBMILTER: The meaning of the version macro SMFI_VERSION has been
		changed.  It now refers only to the version of libmilter,
		not to the protocol version (which is used only internally,
		it is not user/milter-programmer visible).  Additionally,
		a version function smfi_version() has been introduced such
		that a milter program can check the libmilter version also
		at runtime which is useful if a shared library is used.
	LIBMILTER: A new callback xxfi_negotiate() can be used to
		dynamically (i.e., at runtime) determine the available
		protocol actions and features of the MTA and also to
		specify which of these a milter wants to use.  This allows
		for more flexibility than hardcoding these flags in the
		xxfi_flags field of the smfiDesc structure.
	LIBMILTER: A new callback xxfi_data() is available so milters
		can act on the DATA command.
	LIBMILTER: A new callback xxfi_unknown() is available so milters
		can receive also unknown SMTP commands.
	LIBMILTER: A new return code SMFIS_NOREPLY has been added which
		can be used by the xxfi_header() callback provided the
		milter requested the SMFIP_NOHREPL protocol action.
	LIBMILTER: The new return code SMFIS_SKIP can be used in the
		xxfi_body() callback to skip over further body chunks
		and directly advance to the xxfi_eom() callback.  This
		is useful if a milter can make a decision based on the
		body chunks it already received without reading the entire
		rest of the body and the milter wants to invoke functions
		that are only available from the xxfi_eom() callback.
	LIBMILTER: A new function smfi_addrcpt_par() can be used to add
		new recipients including ESMTP parameters.
	LIBMILTER: A new function smfi_chgfrom() can be used to change the
		envelope sender including ESMTP parameters.
	LIBMILTER: A milter can now request to be informed about rejected
		recipients (RCPT) too.  This requires to set the protocol
		flag SMFIP_RCPT_REJ during option negotiation.  Whether
		a RCPT has been rejected can be checked by comparing the
		value of the macro {rcpt_mailer} with "error".
	LIBMILTER: A milter can now override the list of macros that it
		wants to receive from the MTA for each protocol step
		by invoking the function smfi_setsymlist() during option
		negotiation.
	LIBMILTER: A milter can receive header field values with all
		leading spaces by requesting the SMFIP_HDR_LEADSPC
		protocol action.  Also, if the flag is set then the MTA
		does not add a leading space to headers that are added,
		inserted, or replaced.
	LIBMILTER: If a milter sets the reply code to "421" for the HELO
		callback, the SMTP server will terminate the SMTP session
		with that error to match the behavior of all other callbacks.
	New Files:
		cf/feature/badmx.m4
		cf/feature/block_bad_helo.m4
		cf/feature/require_rdns.m4
		devtools/M4/UNIX/check.m4
		include/sm/misc.h
		include/sm/sendmail.h
		include/sm/tailq.h
		libmilter/docs/smfi_addrcpt_par.html
		libmilter/docs/smfi_setsymlist.html
		libmilter/docs/xxfi_data.html
		libmilter/docs/xxfi_negotiate.html
		libmilter/docs/xxfi_unknown.html
		libmilter/example.c
		libmilter/monitor.c
		libmilter/worker.c
		libsm/memstat.c
		libsm/t-memstat.c
		libsm/t-qic.c
		libsm/util.c
		sendmail/daemon.h
		sendmail/map.h
2007-04-26 06:26:27 +00:00
joerg
bcc2486231 Precreate some directories for NO_MTREE. 2007-04-19 19:24:09 +00:00
jnemeth
d1d71ff5fc revert previous, turns out qmail and sendmail don't share any filenames 2007-04-18 01:39:29 +00:00
jnemeth
b7cd7d52f7 add conflict with qmail 2007-04-17 10:35:17 +00:00
tv
be94bcce23 REPLACE_PERL works even if Perl is not registered as a dependency.
So, compile socketmap support in unconditionally (as the Perl scripts
are actually only examples of socketmap functionality; any language can be
used in reality).  Remove socketmap related OPTIONs completely.
2007-01-20 20:08:31 +00:00
markd
3cff6d1109 Fix rpath for Solaris 10 and 11 so that pkg libraries are found. As per
existing patches for earlier Solaris versions.  Bump PKGREVISION.
2006-12-29 21:44:09 +00:00
tv
bc5d806785 8.13.8nb2:
Don't install .cf files to /etc/mail directly at all; offer a message
about how to install them instead.  Don't create /etc/mail/statistics.
Create mqueue dirs at install via MAKE_DIRS.  Should fix PR pkg/20852.

Make sure SMRSH_CMDDIR gets to the compile defs.  Fixes PR pkg/34513.
2006-10-12 21:04:27 +00:00
tv
5a1a3c06dc nb1: Add patch at http://www.sendmail.org/patches/client_name.assert.p0.
Non-critical, but could cause problems if "sendmail -bs" is used in
conjunction with milters.
2006-09-05 20:01:37 +00:00
tv
ec008f1b2a Update to 8.13.7; changelog below. (8.13.6nb3 already had the security
fixes by patch.)

While here, fix PR pkg/33821 by substituting pkgsrc's BINOWN, BINGRP, and
INSTALL definitions into the installed share/sendmail/cf/Makefile.

8.13.7/8.13.7	2006/06/14
	A malformed MIME structure with many parts can cause sendmail to
		crash while trying to send a mail due to a stack overflow,
		e.g., if the stack size is limited (ulimit -s).  This
		happens because the recursion of the function mime8to7()
		was not restricted.  The function is called for MIME 8 to
		7 bit conversion and also to enforce MaxMimeHeaderLength.
		To work around this problem, recursive calls are limited to
		a depth of MAXMIMENESTING (20); message content after this
		limit is treated as opaque and is not checked further.
		Problem noted by Frank Sheiness.
	The changes to the I/O layer in 8.13.6 caused a regression for
		SASL mechanisms that use the security layer, e.g.,
		DIGEST-MD5.  Problem noted by Robert Stampfli.
	If a timeout occurs while reading a message (during the DATA phase)
		a df file might have been left behind in the queue.
		This was another side effect of the changes to the I/O
		layer made in 8.13.6.
	Several minor problems have been fixed that were found by a
		Coverity scan of sendmail 8 as part of the NetBSD
		distribution. See http://scan.coverity.com/
		Note: the scan generated also a lot of "false positives",
		e.g., "error" reports about situations that cannot happen.
		Most of those code places are marked with lint(1) comments
		like NOTREACHED, but Coverity does not understand those.
		Hence an explicit assertion has been added in some cases
		to avoid those false positives.
	If the start of the sendmail daemon fails due to a configuration
		error then in some cases shared memory segments or pid
		files were not removed.
	If DSN support is disabled via access_db, then related ESMTP
		parameters for MAIL and RCPT should be rejected.  Problem
		reported by Akihiro Sagawa.
	Enabling zlib compression in OpenSSL 0.9.8[ab] breaks the padding
		bug work-around.  Hence if sendmail is linked against
		either of these versions and compression is available,
		the padding bug work-around is turned off.  Based on
		patch from Victor Duchovni of Morgan Stanley.
	CONFIG: FEATURE(`dnsbl') and FEATURE(`enhdnsbl') used
		blackholes.mail-abuse.org as default domain for lookups,
		however, that list is no longer available.  To avoid
		further problems, no default value is available anymore,
		but an argument must be specified.
	Portability:
		Fix compilation on OSF/1 for sfsasl.c.  Patch from
		Pieter Bowman of the University of Utah.
2006-07-07 18:06:27 +00:00
adrianp
4c9325d865 Bump PKGREVISION.
A malformed MIME structure with many parts can cause sendmail to
crash while trying to send a mail due to a stack overflow,
e.g., if the stack size is limited (ulimit -s).  This
happens because the recursion of the function mime8to7()
was not restricted.  The function is called for MIME 8 to
7 bit conversion and also to enforce MaxMimeHeaderLength.
To work around this problem, recursive calls are limited to
a depth of MAXMIMENESTING (20); message content after this
limit is treated as opaque and is not checked further.
2006-06-14 18:53:53 +00:00
joerg
a2d78aa426 Prefer PATH_MAX over MAXPATHLEN.
Use a better boundary check, which doesn't depend on PATH_MAX >> NAME_MAX.
Both changes are from DragonFly and have been reported upstream.

Install only man pages, not the catpages. The installation was
inconsistent before.

Bump revision. OK from tv@.
2006-06-07 14:48:28 +00:00
adrianp
347a5c06e7 Add sendmail and smmsp startup files for -current users
Make pkglint happy
Pass MAINTAINERship to tv@
Bump PKGREVISION
2006-06-06 22:03:36 +00:00
adrianp
f952f726e1 Update to sendmail 8.13.6
> 8.13.6/8.13.6	2006/03/22
> 	SECURITY: Replace unsafe use of setjmp(3)/longjmp(3) in the server
> 		and client side of sendmail with timeouts in the libsm I/O
> 		layer and fix problems in that code.  Also fix handling of
> 		a buffer in sm_syslog() which could have been used as an
> 		attack vector to exploit the unsafe handling of
> 		setjmp(3)/longjmp(3) in combination with signals.
> 		Problem detected by Mark Dowd of ISS X-Force.
> 	Handle theoretical integer overflows that could triggered if
> 		the server accepted headers larger than the maximum
> 		(signed) integer value.  This is prevented in the default
> 		configuration by restricting the size of a header, and on
> 		most machines memory allocations would fail before reaching
> 		those values.  Problems found by Phil Brass of ISS.
> 	If a server returns 421 for an RSET command when trying to start
> 		another transaction in a session while sending mail, do
> 		not trigger an internal consistency check.  Problem found
> 		by Allan E Johannesen of Worcester Polytechnic Institute.
> 	If a server returns a 5xy error code (other than 501) in response
> 		to a STARTTLS command despite the fact that it advertised
> 		STARTTLS and that the code is not valid according to RFC
> 		2487 treat it nevertheless as a permanent failure instead
> 		of a protocol error (which has been changed to a
> 		temporary error in 8.13.5).  Problem reported by Jeff
> 		A. Earickson of Colby College.
> 	Clear SMTP state after a HELO/EHLO command.  Patch from John
> 		Myers of Proofpoint.
> 	Observe MinQueueAge option when gathering entries from the queue
> 		for sorting etc instead of waiting until the entries are
> 		processed.  Patch from Brian Fundakowski Feldman.
> 	Set up TLS session cache to properly handle clients that try to
> 		resume a stored TLS session.
> 	Properly count the number of (direct) child processes such that
> 		a configured value (MaxDaemonChildren) is not exceeded.
> 		Based on patch from Attila Bruncsak.
> 	LIBMILTER: Remove superfluous backslash in macro definition
> 		(libmilter.h).  Based on patch from Mike Kupfer of
> 		Sun Microsystems.
> 	LIBMILTER: Don't try to set SO_REUSEADDR on UNIX domain sockets.
> 		This generates an error message from libmilter on
> 		Solaris, though other systems appear to just discard the
> 		request silently.
> 	LIBMILTER: Deal with sigwait(2) implementations that return
> 		-1 and set errno instead of returning an error code
> 		directly.  Patch from Chris Adams of HiWAAY Informations
> 		Services.
> 	Portability:
> 		Fix compilation checks for closefrom(3) and statvfs(2)
> 		in NetBSD.  Problem noted by S. Moonesamy, patch from
> 		Andrew Brown.
2006-05-12 22:23:09 +00:00
jlam
6d3e25ffb4 Conflict with courier-mta. 2006-05-01 02:57:03 +00:00
jlam
802ce74fcb Modify packages that set PKG_USERS and PKG_GROUPS to follow the new
syntax as specified in pkgsrc/mk/install/bsd.pkginstall.mk:1.47.
2006-04-23 00:12:35 +00:00
adrianp
52c0a606d9 Update sendmail to address the current security issue
Bump to nb2
This will change the internal version of sendmail to 8.13.5.20060308
> 	SECURITY: Replace unsafe use of setjmp(3)/longjmp(3) in the server
> 		and client side of sendmail with timeouts in the libsm I/O
> 		layer and fix problems in that code.  Also fix handling of
> 		a buffer in sm_syslog() which could have been used as an
> 		attack vector to exploit the unsafe handling of
> 		setjmp(3)/longjmp(3) in combination with signals.
> 		Problem detected by Mark Dowd of ISS X-Force.
> 	Handle theoretical integer overflows that could triggered if
> 		the server accepted headers larger than the maximum
> 		(signed) integer value.  This is prevented in the default
> 		configuration by restricting the size of a header, and on
> 		most machines memory allocations would fail before reaching
> 		those values.  Problems found by Phil Brass of ISS.
2006-03-22 19:56:36 +00:00
tv
84847331e8 Skip ".orig" files in the pax copy, in case local patches (or possible
pkgsrc patches) patch things in cf/.
2006-01-23 17:28:41 +00:00
adrianp
0d86ee2200 Fix build on -HEAD
Identified by Jean-Luc Wasmer in PR# 32527
Fixes from -HEAD by christos@ (setuserenv -> setuserenviron)
Bump to nb1
2006-01-18 21:00:48 +00:00
jlam
dc9594e09d Remove USE_PKGINSTALL from pkgsrc now that mk/install/pkginstall.mk
automatically detects whether we want the pkginstall machinery to be
used by the package Makefile.
2005-12-29 06:21:30 +00:00
rillig
b71a1d488b Fixed pkglint warnings. The warnings are mostly quoting issues, for
example MAKE_ENV+=FOO=${BAR} is changed to MAKE_ENV+=FOO=${BAR:Q}. Some
other changes are outlined in

    http://mail-index.netbsd.org/tech-pkg/2005/12/02/0034.html
2005-12-05 20:49:47 +00:00
rillig
7a95adad42 The real user name in PKG_USERS does not need to be escaped with double
backslashes anymore. A single backslash is enough. Changed the
definition in all affected packages. For those that are not caught, an
additional check is placed into bsd.pkginstall.mk.
2005-08-23 11:48:47 +00:00
wiz
cef1157503 Adapt for socketmap -> sendmail-socketmap. 2005-08-01 15:30:52 +00:00