Commit graph

45 commits

Author SHA1 Message Date
jnemeth
71f922b280 Update to 8.14.5, a general bugfix release:
8.14.5/8.14.5	2011/05/17
	Do not cache SMTP extensions across connections as the cache
		is based on hostname which may not be a unique identifier
		for a server, i.e., different machines may have the
		same hostname but provide different SMTP extensions.
		Problem noted by Jim Hermann.
	Avoid an out-of-bounds access in case a resolver reply for a DNS
		map lookup returns a size larger than 1K.  Based on a
		patch from Dr. Werner Fink of SuSE.
	If a job is aborted using the interrupt signal (e.g., control-C from
		the keyboard), perform minimal cleanup to avoid invoking
		functions that are not signal-safe. Note: in previous
		versions the mail might have been queued up already
		and would be delivered subsequently, now an interrupt
		will always remove the queue files and thus prevent
		delivery.
	Per RFC 6176, when operating as a TLS client, do not offer SSLv2.
	Since TLS session resumption is never used as a client, disable
		use of RFC 4507-style session tickets.
	Work around gcc4 versions which reverse 25 years of history and
		no longer align char buffers on the stack, breaking calls
		to resolver functions on strict alignment platforms.
		Found by Stuart Henderson of OpenBSD.
	Read at most two AUTH lines from a server greeting (up to two
		lines are read because servers may use "AUTH mechs" and
		"AUTH=mechs"). Otherwise a malicious server may exhaust
		the memory of the client.  Bug report by Nils of MWR
		InfoSecurity.
	Avoid triggering an assertion in the OpenLDAP code when the
		connection to an LDAP server is lost while making a query.
		Problem noted and patch provided by Andy Fiddaman.
	If ConnectOnlyTo is set and sendmail is compiled with NETINET6
		it would try to use an IPv6 address if an IPv4 (or
		unparseable) address is specified.
	If SASLv2 is used, make sure that the macro {auth_authen} is
		stored in xtext format to avoid problems with parsing
		it.  Problem noted by Christophe Wolfhugel.
	CONFIG: FEATURE(`ldap_routing') in 8.14.4 tried to add a missing
		-T<TMPF> that is required, but failed for some cases
		that did not use LDAP.  This change has been undone
		until a better solution can be implemented.  Problem
		found by Andy Fiddaman.
	CONFIG: Add cf/ostype/solaris11.m4 for Solaris11 support.
		Contributed by Casper Dik of Oracle.
	CONTRIB: qtool.pl: Deal with H entries that do not have a
		letter between the question marks.  Patch from
		Stefan Christensen.
	DOC: Use a better description for the -i option in sendmail.
		Patch from Mitchell Berger.
	Portability:
		Add support for Darwin 10.x (Mac OS X 10.6).
		Enable HAVE_NANOSLEEP for FreeBSD 3 and later.  Patch
		from John Marshall.
		Enable HAVE_NANOSLEEP for OpenBSD 4.3 and later.
		Use new directory "/system/volatile" for PidFile on
		Solaris 11.  Patch from Casper Dik of Oracle.
		Fix compilation on Solaris 11 (and maybe some other
		OSs) when using OpenSSL 1.0.  Based on patch from
		Jan Pechanec of Oracle.
		Set SOCKADDR_LEN_T and SOCKOPT_LEN_T to socklen_t
		for Solaris 11.  Patch from Roger Faulkner of Oracle.
	New Files:
		cf/ostype/solaris11.m4
2011-06-11 04:44:08 +00:00
jnemeth
fbfad825a7 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
ffd73e4496 Get rid of the ugly hacks.mk and always define SM_CONF_STDBOOL_H on
NetBSD.  All supported NetBSD versions (and some unsupported) have it.

XXX  This should not cause any change in functionality, so no revbump.
2009-12-16 13:41:41 +00:00
jnemeth
a01dbb57ce Change libmilter to use poll(2) instead of select(2)
unconditionally.  All supported systems should have poll(2).  If
one is found that doesn't then this can be revisited and some way
of making it conditional can be implemented.

     This resolves an issue with applications that have a large
number of open files and want to bump FD_SETSIZE.  Since libmilter
no longer uses select(2), the application is free to monkey with
FD_SETSIZE as it pleases.
2009-12-16 09:46:36 +00:00
jnemeth
67063bd7fe fix unprivileged builds 2009-03-24 21:05:42 +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
12170efb93 Fix bad patch checksum 2009-03-10 12:41:14 +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
tron
0d3a3bb7af Update "sendmail" and "libmilter" package to version 8.14.3.
Changes since version 8.14.2:
* the MTA accessed storage after it free()d it. This was a regression
  introduced in 8.14.2, but the bug only showed up on a few operating
  systems.
* ruleset processing: the function cataddr() could cause the addition of
  the BlankSub character between some tokens when it should not happen
  and thus failures in rule matching. It seems that none of the default
  rules were affected by this bug and hence the problem did not show up
  for default configurations.
* the libmilter state engine did not deal correctly with milters that
  requested the omission of protocol steps during the negotiation callback.

Approved by John Nemeth.
2008-06-14 08:58:06 +00:00
jnemeth
9bf6edb5e3 Update to 8.14.2, a bug fix release:
8.14.2/8.14.2	2007/11/01
	If a message was queued and it contained 8 bit characters in
		a From: or To: header, then those characters could be
		"mistaken" for internal control characters during a queue
		run and trigger various consistency checks.  Problem
		noted by Neil Rickert of Northern Illinois University.
	If MaxMimeHeaderLength is set to a value greater than 0 (which
		it is by default) then even if the Linelimit parameter
		is 0, sendmail corrupted in the non-transfer-encoding
		case every MAXLINE-1 characters.  Patch from John Gardiner
		Myers of Proofpoint.
	Setting the suboption DeliveryMode for DaemonPortOptions did not
		work in earlier 8.14 versions.
	Note: DeliveryMode=interactive is silently converted to
		background if a milter can reject or delete a recipient.
		Prior to 8.14 this happened only if milter could delete
		recipients.
	ClientRate should trigger when the limit was exceeded (as
		documented), not when it was reached.  Patch from
		John Beck of Sun Microsystems.
	Force a queue run for -qGqueuegroup even if no runners are
		specified (R=0) and forking (F=f) is requested.
	When multiple results are requested for a DNS map lookup
		(-z and -Z), return only those that are relevant for
		the query (not also those in the "additional section".)
	If the message transfer time to sendmail (when acting as server)
		exceeds Timeout.queuewarn or Timeout.queuereturn and
		the message is refused (by a milter), sendmail previously
		created a delivery status notification (DSN).  Patch
		from Doug Heath of The Hertz Corporation.
	A code change in Cyrus-SASL 2.1.22 for sasl_decode64() requires
		the MTA to deal with some input (i.e., "=") itself.
		Problem noted by Eliot Lear.
	sendmail counted a delivery as successful if PIPELINING is
		compiled in but not offered by the server and the
		delivery failed temporarily.  Patch from Werner Wiethege.
	If getting the result of an LDAP query times out then close the
		map so it will be reopened on the next lookup.  This
		should help "failover" configurations that specify more
		than one LDAP server.
	If check_compat returns $#discard then a "savemail panic" could
		be triggered under some circumstances (e.g., requiring
		a system which does not have the compile time flag
		HASFLOCK set). Based on patch by Motonori Nakamura
		of National Institute of Informatics, Japan.
	If a milter rejected a recipient, the count for nrcpts= in the
		logfile entry might have been wrong.  Problem found by
		Petra Humann of TU Dresden.
	If a milter invoked smfi_chgfrom() where ESMTP arguments are not
		NULL, the message body was lost.  Patch from Motonori
		Nakamura of National Institute of Informatics, Japan.
	sendmail(8) had a bogus space in -qGname.  Patch from Peng Haitao.
	CONTRIB: buildvirtuser: Preserve ownership and permissions when
		replacing files.
	CONTRIB: buildvirtuser: Skip dot-files (e.g., .cvsignore) when
		reading the /etc/mail/virtusers/ directory.
	CONTRIB: buildvirtuser: Emit warnings instead of exiting where
		appropriate.
	LIBMILTER: Fix ABI backwards compatibility so milters compiled
		against an older libmilter.so shared library can use an
		8.14 libmilter.so shared library.
	LIBMILTER: smfi_version() did not properly extract the patchlevel
		from the version number, however, the returned value was
		correct for the current libmilter version.
2007-11-02 08:27:36 +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
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
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
d0092bf601 Update to 8.13.8. Changes:
8.13.8/8.13.8   2006/08/09
        Fix a regression in 8.13.7: if shared memory is activated, then
                the server can erroneously report that there is
                insufficient disk space.  Additionally make sure that
                an internal variable is set properly to avoid those
                misleading errors.  Based on patch from Steve Hubert
                of University of Washington.
        Fix a regression in 8.13.7: the PidFile could be removed after
                the process that forks the daemon exited, i.e., if
                sendmail -bd is invoked.  Problem reported by Kan Sasaki
                of Fusion Communications Corp. and Werner Wiethege.
        Avoid opening qf files if QueueSortOrder is "none".  Patch from
                David F. Skoll.
        Avoid a crash when finishing due to referencing a freed variable.
                Problem reported and diagnosed by Moritz Jodeit.
        CONTRIB: cidrexpand now deals with /0 by issuing the entire IPv4
                range (0..255).
        LIBMILTER: The "hostname" argument of the xxfi_connect() callback
                previously was the equivalent of {client_ptr}.  However,
                this did not match the documentation of the function, hence
                it has been changed to {client_name}.  See doc/op/op.*
                about these macros.
2006-08-09 21:23:00 +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
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
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
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
adrianp
8acc261820 Fix a bug that crept in when the statvfs and closefrom patch was added. 2005-11-29 15:27:03 +00:00
jklos
0f761c3b02 Updated distinfo for patch-ag, for statvfs and closefrom patch. 2005-10-24 04:36:59 +00:00
adrianp
a22a3e9f09 Update sendmail to 8.13.5
From the CHANGELOG:
> 	Store the filesystem identifier of the df/ subdirectory (if it
> 		exists) in an internal structure instead of the base
> 		directory.  This structure is used decide whether there
> 		is enough free disk space when selecting a queue, hence
> 		without this change queue selection could fail if a df/
> 		subdirectory exists and is on a different filesystem
> 		than the base directory.
> 	Use the queue index of the df file (instead of the qf file) for
> 		checking whether a link(2) operation can be used to split
> 		an envelope across queue groups.  Problem found by
> 		Werner Wiethege.
> 	If the list of items in the queue is larger than the maximum
> 		number of items to process, sort the queue first and
> 		then cut the list off instead of the other way around.
> 		Patch from Matej Vela of Rudjer Boskovic Institute.
> 	Fix helpfile to show full entry for ETRN.  Problem noted by
> 		Penelope Fudd, patch from Neil Rickert of Northern Illinois
> 		University.
> 	FallbackSmartHost should also be tried on temporary errors.
> 		From John Beck of Sun Microsystems.
> 	When a server responds with 421 to the STARTTLS command then treat
> 		it as a temporary error, not as protocol error.  Problem
> 		noted by Andrey J. Melnikoff.
> 	Properly define two functions in libsm as static because their
> 		prototype used static too.  Patch from Peter Klein.
> 	Fix syntax errors in helpfile for MAIL and RCPT commands.
> 	LIBMILTER: When smfi_replacebody() is called with bodylen equals
> 		zero then do not silently ignore that call.  Patch from
> 		Gurusamy Sarathy of Active State.
> 	LIBMILTER: Recognize "421" also in a multi-line reply to terminate
> 		the SMTP session with that error.  Fix from Brian Kantor.
> 	Portability: New option HASSNPRINTF which can be set if the OS
> 			has a properly working snprintf(3) to get rid
> 			of the last two (safe) sprintf(3) calls in the
> 			source code.
> 		Add support for AIX 5.3.
> 		Add support for SunOS 5.11 (aka Solaris 11).
> 		Add support for Darwin 8.x.  Patch from Lyndon Nerenberg.
> 		OpenBSD 3.7 has removed support for NETISO.
> 	CONFIG: Add OSTYPE(freebsd6) for FreeBSD 6.X.
2005-10-14 08:36:02 +00:00
adrianp
852b118677 - Update to sendmail 8.13.4
- Remove old patch-ai
- From the ChangeLog:
> 	The bug fixes in 8.13.3 for connection handling uncovered a
> 		different error which could result in connections that
> 		stay in CLOSE_WAIT state due to a variable that was not
> 		properly initialized.  Problem noted by Michael Sims.
> 	Deal with empty hostnames in hostsignature().  This bug could lead
> 		to an endless loop when doing LMTP deliveries to another
> 		host.  Problem first reported by Martin Lathoud and
> 		tracked down by Gael Roualland.
> 	Make sure return parameters are initialized in getmxrr().  Problem
> 		found by Gael Roualland using valgrind.
> 	If shared memory is used and the RunAsUser option is set, then the
> 		owner and group of the shared memory segment is set to
> 		the ids specified RunAsUser and the access mode is set
> 		to 0660 to allow for updates by sendmail processes.
> 	The number of queue entries that is (optionally) kept in shared
> 		memory was wrong in some cases, e.g., envelope splitting
> 		and bounce generation.
> 	Undo a change made in 8.13.0 to silently truncate long strings
> 		in address rewriting because the message can be triggered
> 		for header checks where long strings are legitimate.
> 		Problem reported by Mary Verge DeSisto, and tracked
> 		down with the help of John Beck of Sun Microsystems.
> 	The internal stab map did not obey the -m flag.  Patch from
> 		Rob McMahon of Warwick University, England.
> 	The socket map did not obey the -f flag.  Problem noted by
> 		Dan Ringdahl, forwarded by Andrzej Filip.
> 	The addition of LDAP recursion in 8.13.0 broke enforcement of
> 		the LDAP map -1 argument which tells the MTA to only
> 		return success if and only if a single LDAP match is found.
> 	Add additional error checks in the MTA for milter communication
> 		to avoid a possible segmentation fault.  Based on patch
> 		by Joe Maimon.
> 	Do not trigger an assertion if X509_digest() returns success but
> 		does not assign a value to its output parameter.  Based
> 		on patch by Brian Kantor.
> 	Add more checks when resetting internal AUTH data (applies only
> 		to Cyrus SASL version 2).  Otherwise an SMTP session might
> 		be dropped after an AUTH failure.
> 	Portability:
> 		Add LA_LONGLONG as valid LA_TYPE type for systems that use
> 			"long long" to read load average data, e.g.,
> 			AIX 5.1 in 32 bit mode.  Note: this has to be set
> 			"by hand", it is not (yet) automatically detected.
> 			Problem noted by Burak Bilen.
> 		Use socklen_t for accept(), etc. on AIX 5.x.  This should
> 			fix problems when compiling in 64 bit mode.
> 			Problem first reported by Harry Meiert of
> 			University of Bremen.
2005-04-27 18:57:54 +00:00
agc
8758983939 Add RMD160 digests. 2005-02-24 09:59:20 +00:00
adrianp
6e4c9f57ae - Update sendmail to 8.13.3
- Fix smrsh man page patch
- Tidy up MESSAGE
- Replace 8.13.1 errata with 8.13.3 errata
- Remove rename of file outside ${PREFIX} on db2 installs

> 8.13.3/8.13.3	2005/01/11
> 	Enhance handling of I/O errors, especially EOF, when STARTTLS
> 		is active.
> 	Make sure a connection is not reused after it has been closed
> 		due to a 421 error.  Problem found by Allan E Johannesen
> 		of Worcester Polytechnic Institute.
> 	Avoid triggering an assertion when sendmail is interrupted while
> 		closing a connection.  Problem found by Allan E Johannesen
> 		of Worcester Polytechnic Institute.
> 	Regression: a change in 8.13.2 caused sendmail not to try the
> 		next MX host (or FallbackMXhost if configured) when, at
> 		connection open, the current server returns a 4xy or 5xy
> 		SMTP reply code.  Problem noted by Mark Tranchant.
>
> 8.13.2/8.13.2	2004/12/15
> 	Do not split the first header even if it exceeds the internal
> 		buffer size.  Previously a part of such a header would
> 		end up in the body of the message.  Problem noted by
> 		Simple Nomad of BindView.
> 	Do not complain about "cataddr: string too long" when checking
> 		headers that do not contain RFC 2822 addresses.
> 		Problem noted by Rich Graves of Brandeis University.
> 	If a server returns a 421 reply to the RSET command between
> 		message deliveries, do not attempt to deliver any more
> 		messages on that connection.  This prevents bogus "Bad
> 		file number" recipient status.  Problem noted by
> 		Allan E Johannesen of Worcester Polytechnic Institute.
> 	Allow trailing white space in EHLO command as recommended by RFC
> 		2821.  Problem noted by Ralph Santagato of SBC Services.
> 	Deal with clients which use AUTH but negotiate a smaller buffer size
> 		for data exchanges than the value used by sendmail, e.g.,
> 		Cyrus IMAP lmtp server.  Based on patch by Jamie Clark.
> 	When passing ESMTP arguments for RCPT to a milter, do not cut
> 		them off at a comma.  Problem noted by Krzysztof Oledzki.
> 	Add more logging to milter change header functions to
> 		complement existing logging.  Based on patch from
> 		Gurusamy Sarathy of Active State.
> 	Include <lber.h> in include/sm/config.h when LDAPMAP is defined.
> 		Patch from Edgar Hoch of the University of Stuttgart.
> 	Fix DNS lookup if IPv6 is enabled when converting an IP address
> 		to a hostname for use with SASL.  Problem noted by Ken Jones;
> 		patch from Hajimu UMEMOTO.
> 	CONFIG: For consistency enable MODIFY_MAILER_FLAGS for the prog
> 		mailer.  Patch from John Beck of Sun Microsystems.
> 	LIBMILTER: It was possible that xxfi_abort() was called after
> 		xxfi_eom() for a message if some timeouts were triggered.
> 		Patch from Alexey Kravchuk.
> 	LIBMILTER: Slightly rearrange mutex use in listener.c to allow
> 		different threads to call smfi_opensocket() and smfi_main().
> 		Patch from Jordan Ritter of Cloudmark.
> 	MAIL.LOCAL: Properly terminate MBDB before exiting.  Problem
> 		noted by Nelson Fung.
> 	MAIL.LOCAL: make strip-mail.local used a wrong path to access
> 		mail.local.  Problem noted by William Park.
> 	VACATION: Properly terminate MBDB before exiting.  Problem noted
> 		by Nelson Fung.
> 	Portability:
> 		Add support for DragonFly BSD.
> 	New Files:
> 		cf/ostype/dragonfly.m4
> 		devtools/OS/DragonFly
> 		include/sm/os/sm_os_dragonfly.h
> 	Deleted Files:
> 		libsm/vsscanf.c
2005-02-10 22:17:24 +00:00
adrianp
5f28a5aebe - Add errata patch from sendmail.org - suggestion from Takahiro Kambe <taca@>
- Ok'ed wiz@

http://www.sendmail.org/8.13.1.html#ERRATA
http://www.sendmail.org/patches/parseaddr.c.cataddr.8.379
2004-08-31 10:51:22 +00:00
adrianp
7c87bc0517 Update of sendmail to 8.13.1
pkgsrc changes:
- move to use options.mk framework
- solaris support tidy-up
- fix linux man page extension handling bug
- allow for a user defined smrsh directory
- update MASTER_SITES
- optional SOCKETMAP support and sample script installation
- ok'ed snj@/wiz@

Summary of some of the major changes include:
- New map "socket" to query maps via TCP/IP sockets.
- Connection rate control as well as control over the number of incoming open
  connections.
- Several LDAP enhancements such as LDAP recursion and LDAP URI support.
- Message quarantining.
- AUTH EXTERNAL will only be enabled if STARTTLS was successful and the client
  has been authenticated, i.e., {verify} is OK.
- Basic support for certificate revocation lists.
- New queue timeouts for DSN messages.
- Experimental support for MTAMark.

For a full list of changes see:
- http://www.sendmail.org/8.13.0.html
- http://www.sendmail.org/8.13.1.html
2004-08-30 20:16:28 +00:00
markd
b60769fd22 Fix build on recent NetBSD-current (statvfs).
Patch from Julian C. Dunn in PR 25481 slightly modified by me.
2004-07-13 12:27:13 +00:00
tron
334179076b Update "sendmail" and "libmilter" packages to version 8.12.11.
Changes since version 8.12.10:
Use QueueFileMode when opening qf files.  This error was a
	regression in 8.12.10.  Problem detected and diagnosed
	Lech Szychowski of the Polish Power Grid Company.
Properly count the number of queue runners in a work group and
	make sure the total limit of MaxQueueChildren is not
	exceeded.  Based on patch from Takayuki Yoshizawa of
	Techfirm, Inc.
Take care of systems that can generate time values where the
	seconds can exceed the usual range of 0 to 59.
	Problem noted by Randy Diffenderfer of EDS.
Avoid regeneration of identical queue identifiers by processes
	whose process id is the same as that of the initial
	sendmail process that was used to start the daemon.
	Problem noted by Randy Diffenderfer of EDS.
When a milter invokes smfi_delrcpt() compare the supplied
	recipient address also against the printable addresses
	of the current list to deal with rewritten addresses.
	Based on patch from Sean Hanson of The Asylum.
BadRcptThrottle now also works for addresses which return the
	error mailer, e.g., virtusertable entries with the
	right hand side error:.  Patch from Per Hedeland.
Fix printing of 8 bit characters as octals in log messages.
	Based on patch by Andrey J. Melnikoff.
Undo change of algorithm for MIME 7-bit base64 encoding to 8-bit
	text that has been introduced in 8.12.3.  There are some
	examples where the new code fails, but the old code works.
	To get the 8.12.3-8.12.10 version, compile sendmail with
	-DMIME7TO8_OLD=0.  If you have an example of improper
	7 to 8 bit conversion please send it to us.
Return normal error code for unknown SMTP commands instead of
	the one specified by check_relay or a milter for a
	connection.  Problem noted by Andrzej Filip.
Some ident responses contain data after the terminating CRLF which
	causes sendmail to log "POSSIBLE ATTACK...newline in string".
	To avoid this everything after LF is ignored.
If the operating system supports O_EXLOCK and HASFLOCK is set
	then a possible race condition for creating qf files
	can be avoided.  Note: the race condition does not
	exist within sendmail, but between sendmail and an
	external application that accesses qf files.
Log the proper options name for TLS related mising files for
	the CACertPath, CACertFile, and DHParameters options.
Do not split an envelope if it will be discarded, otherwise df
	files could be left behind.  Problem found by Wolfgang
	Breyha.
The use of the environment variables HOME and HOSTALIASES has been
	deprecated and will be removed in version 8.13.  This only
	effects configuration which preserve those variable via the
	'E' command in the cf file as sendmail clears out its entire
	environment.
Portability:
	Add support for Darwin 7.0/Mac OS X 10.3 (a.k.a. Panther).
	Solaris 10 has unsetenv(), patch from Craig Mohrman of
		Sun Microsystems.
LIBMILTER: Add extra checks in case a broken MTA sends bogus data
	to libmilter.  Based on code review by Rob Grzywinski.
SMRSH: Properly assemble commands that contain '&&' or '||'.
	Problem noted by Eric Lee of Talking Heads.
New Files:
	devtools/OS/Darwin.7.0
2004-03-27 22:07:32 +00:00
ben
b8bbf79b25 Masao Uebayashi asked me to back out this change.
My apologies for any inconveniences from the original change.
2003-12-03 03:31:16 +00:00
ben
a047ac04e4 This package would install a directory and two files on the build machine
that do make it into the binary package.  Under the default configuration
on NetBSD these files are erroneous.  This fix should resolve PR 20852
Here are the details:

1) /etc/mail/statistics
        This file is created like so:
                statistics:
                        ${CP} /dev/null statistics

        This file is not needed because sendmail is configured to use:
                O StatusFile=/var/log/sendmail.st

        To avoid creating this file, I added to devtools/OS/NetBSD:
                define(`confNO_STATISTICS_INSTALL', `')

2) /etc/mail/submit.cf
        This file is not needed because we install it as:
                ${PREFIX}/share/sendmail/cf/submit.cf

        To avoid installing /etc/mail/submit.cf, I added to devtools/OS/NetBSD:
                define(`confINST_DEP', `')

        If confINST_DEP is undefined, then it will default to:
                `${DESTDIR}/etc/mail/submit.cf ${DESTDIR}${MSPQ}'

3) /var/db/pkg/sendmail-8.12.8nb1/+INSTALL
        This is now created by pkg_add with the binary package.
        It appears the problem is resolved.

4) /var/spool/clientmqueue
        This directory is not needed because sendmail is configured to use:
                O QueueDirectory=/var/spool/mqueue

        To avoid installing this directory, I added to devtools/OS/NetBSD:
                define(`confINST_DEP', `')
2003-12-02 05:45:12 +00:00
grant
3c5bfac5db update to sendmail 8.12.10.
8.12.10/8.12.10 2003/09/24
        SECURITY: Fix a buffer overflow in address parsing.  Problem
                detected by Michal Zalewski, patch from Todd C. Miller
                of Courtesan Consulting.
        Fix a potential buffer overflow in ruleset parsing.  This problem
                is not exploitable in the default sendmail configuration;
                only if non-standard rulesets recipient (2), final (4), or
                mailer-specific envelope recipients rulesets are used then
                a problem may occur.  Problem noted by Timo Sirainen.
        Accept 0 (and 0/0) as valid input for set MaxMimeHeaderLength.
                Problem noted by Thomas Schulz.
        Add several checks to avoid (theoretical) buffer over/underflows.
        Properly count message size when performing 7->8 or 8->7 bit MIME
                conversions.  Problem noted by Werner Wiethege.
        Properly compute message priority based on size of entire message,
                not just header.  Problem noted by Axel Holscher.
        Reset SevenBitInput to its configured value between SMTP
                transactions for broken clients which do not properly
                announce 8 bit data.  Problem noted by Stefan Roehrich.
        Set {addr_type} during queue runs when processing recipients.
                Based on patch from Arne Jansen.
        Better error handling in case of (very unlikely) queue-id conflicts.
        Perform better error recovery for address parsing, e.g., when
                encountering a comment that is too long.  Problem noted by
                Tanel Kokk, Union Bank of Estonia.
        Add ':' to the allowed character list for bogus HELO/EHLO
                checking.  It is used for IPv6 domain literals.  Patch from
                Iwaizako Takahiro of FreeBit Co., Ltd.
        Reset SASL connection context after a failed authentication attempt.
                Based on patch from Rob Siemborski of CMU.
        Check Berkeley DB compile time version against run time version
                to make sure they match.
        Do not attempt AAAA (IPv6) DNS lookups if IPv6 is not enabled
                in the kernel.
        When a milter adds recipients and one of them causes an error,
                do not ignore the other recipients.  Problem noted by
                Bart Duchesne.
        CONFIG: Use specified SMTP error code in mailertable entries which
                lack a DSN, i.e., "error:### Text".  Problem noted by
                Craig Hunt.
        CONFIG: Call Local_trust_auth with the correct argument.  Patch
                from Jerome Borsboom.
        CONTRIB: Better handling of temporary filenames for doublebounce.pl
                and expn.pl to avoid file overwrites, etc.  Patches from
                Richard A. Nelson of Debian and Paul Szabo.
        MAIL.LOCAL: Fix obscure race condition that could lead to an
                improper mailbox truncation if close() fails after the
                mailbox is fsync()'ed and a new message is delivered
                after the close() and before the truncate().
        MAIL.LOCAL: If mail delivery fails, do not leave behind a
                stale lockfile (which is ignored after the lock timeout).
                Patch from Oleg Bulyzhin of Cronyx Plus LLC.
        Portability:
                Port for AIX 5.2.  Thanks to Steve Hubert of University
                        of Washington for providing access to a computer
                        with AIX 5.2.
                setreuid(2) works on OpenBSD 3.3.  Patch from
                        Todd C. Miller of Courtesan Consulting.
                Allow for custom definition of SMRSH_CMDDIR and SMRSH_PATH
                        on all operating systems.  Patch from Robert Harker
                        of Harker Systems.
                Use strerror(3) on Linux.  If this causes a problem on
                        your Linux distribution, compile with
                        -DHASSTRERROR=0 and tell sendmail.org about it.
        Added Files:
                devtools/OS/AIX.5.2

update provided by Adrian Portelli in PR pkg/22836.
2003-09-18 09:01:03 +00:00
markd
fb5fb47a2e Set smrsh CMDDIR for NetBSD to /usr/libexec/sm.bin to match the in-tree
version.

From PR pkg/21012 from Jim Bernard.
2003-09-15 11:47:28 +00:00
seb
687ccf0955 Update to version 8.12.9.
This is mostly a security fix release.
See the list of changes since 8.12.8 below.

Package change: always put M4 in MAKE_ENV so we are sure of the one used.
Note: this also update mail/libmilter the same version.

8.12.9/8.12.9   2003/03/29
        SECURITY: Fix a buffer overflow in address parsing due to
                a char to int conversion problem which is potentially
                remotely exploitable.  Problem found by Michal Zalewski.
                Note: an MTA that is not patched might be vulnerable to
                data that it receives from untrusted sources, which
                includes DNS.
        To provide partial protection to internal, unpatched sendmail MTAs,
                8.12.9 changes by default (char)0xff to (char)0x7f in
                headers etc.  To turn off this conversion compile with
                -DALLOW_255 or use the command line option -d82.101.
        To provide partial protection for internal, unpatched MTAs that may be
                performing 7->8 or 8->7 bit MIME conversions, the default
                for MaxMimeHeaderLength has been changed to 2048/1024.
                Note: this does have a performance impact, and it only
                protects against frontal attacks from the outside.
                To disable the checks and return to pre-8.12.9 defaults,
                set MaxMimeHeaderLength to 0/0.
        Do not complain about -ba when submitting mail.  Problem noted
                by Derek Wueppelmann.
        Fix compilation with Berkeley DB 1.85 on systems that do not
                have flock(2).  Problem noted by Andy Harper of Kings
                College London.
        Properly initialize data structure for dns maps to avoid various
                errors, e.g., looping processes.  Problem noted by
                Maurice Makaay.
        CONFIG: Prevent multiple application of rule to add smart host.
                Patch from Andrzej Filip.
        CONFIG: Fix queue group declaration in MAILER(`usenet').
        CONTRIB: buildvirtuser: New option -t builds the virtusertable
                text file instead of the database map.
        Portability:
                Revert wrong change made in 8.12.7 and actually use the
                        builtin getopt() version in sendmail on Linux.
                        This can be overridden by using -DSM_CONF_GETOPT=0
                        in which case the OS supplied version will be used.
2003-03-29 19:55:56 +00:00
seb
3f300e3259 Update to version 8.12.8. Security related change included.
Also SASL 2 support added and PLIST tuning.

8.12.8/8.12.8	2003/02/11
	SECURITY: Fix a remote buffer overflow in header parsing by
		dropping sender and recipient header comments if the
		comments are too long.  Problem noted by Mark Dowd
		of ISS X-Force.
	Fix a potential non-exploitable buffer overflow in parsing the
		.cf queue settings and potential buffer underflow in
		parsing ident responses.  Problem noted by Yichen Xie of
		Stanford University Compilation Group.
	Fix ETRN #queuegroup command: actually start a queue run for
		the selected queue group.  Problem noted by Jos Vos.
	If MaxMimeHeaderLength is set and a malformed MIME header is fixed,
		log the fixup as "Fixed MIME header" instead of "Truncated
		MIME header".  Problem noted by Ian J Hart.
	CONFIG: Fix regression bug in proto.m4 that caused a bogus
		error message: "FEATURE() should be before MAILER()".
	MAIL.LOCAL: Be more explicit in some error cases, i.e., whether
		a mailbox has more than one link or whether it is not
		a regular file.  Patch from John Beck of Sun Microsystems.

8.12.7/8.12.7	2002/12/29
	Properly clean up macros to avoid persistence of session data
		across various connections.  This could cause session
		oriented restrictions, e.g., STARTTLS requirements,
		to erroneously allow a connection.  Problem noted
		by Tim Maletic of Priority Health.
	Do not lookup MX records when sorting the MSP queue.  The MSP
		only needs to relay all mail to the MTA.  Problem found
		by Gary Mills of the University of Manitoba.
	Do not restrict the length of connection information to 100
		characters in some logging statements.  Problem noted by
		Erik Parker.
	When converting an enhanced status code to an exit status, use
		EX_CONFIG if the first digit is not 2, 4, or 5 or if *.1.5
		is used.
	Reset macro $x when receiving another MAIL command.  Problem
		noted by Vlado Potisk of Wigro s.r.o.
	Don't bother setting the permissions on the build area statistics
		file, the proper permissions will be put on the file at
		install time.  This fixes installation over NFS for some
		users.  Problem noted by Martin J. Dellwo of 3-Dimensional
		Pharmaceuticals, Inc.
	Fix problem of decoding SASLv2 encrypted data.  Problem noted by
		Alex Deiter of Mobile TeleSystems, Komi Republic.
	Log milter socket open errors at MilterLogLevel 1 or higher instead
		of 11 or higher.
	Print early system errors to the console instead of silently
		exiting.  Problem noted by James Jong of IBM.
	Do not process a queue group if Runners is set to 0, regardless
		of whether F=f or sendmail is run in verbose mode (-v).
		The use of -qGname will still force queue group "name"
		to be run even if Runners=0.
	Change the level for logging the fact that a daemon is refusing
		connections due to high load from LOG_INFO to LOG_NOTICE.
		Patch from John Beck of Sun Microsystems.
	Use location information for submit.cf from NetInfo
		(/locations/sendmail/submit.cf) if available.
	Re-enable ForkEachJob which was lost in 8.12.0.  Problem noted by
		Neil Rickert of Northern Illinois University.
	Make behavior of /canon in debug mode consistent with usage in
		rulesets.  Patch from Shigeno Kazutaka of IIJ.
	Fix a potential memory leak in envelope splitting.  Problem noted
		by John Majikes of IBM.
	Do not try to share an mailbox database LDAP connection across
		different processes.  Problem noted by Randy Kunkee.
	Fix logging for undelivered recipients when the SMTP connection
		times out during message collection.  Problem noted by Neil
		Rickert of Northern Illinois University.
	Avoid problems with QueueSortOrder=random due to problems with
		qsort() on Solaris (and maybe some other operating systems).
		Problem noted by Stephan Schulz of Gruner+Jahr..
	If -f "" is specified, set the sender address to "<>".  Problem
		noted by Matthias Andree.
	Fix formatting problem of footnotes for plain text output on some
		versions of tmac.  Patch from Per Hedeland.
	Portability:
		Berkeley DB 4.1 support (requires at least 4.1.25).
		Some getopt(3) implementations in GNU/Linux are broken
			and pass a NULL pointer to an option which requires
			an argument, hence the builtin version of
			sendmail is used instead.  This can be overridden
			by using -DSM_CONF_GETOPT=0.  Problem noted by
			Vlado Potisk of Wigro s.r.o.
		Support for nph-1.2.0 from Mark D. Roth of the University
			of Illinois at Urbana-Champaign.
		Support for FreeBSD 5.0's MAC labeling from Robert Watson
			of the TrustedBSD Project.
		Support for reading the number of processors on an IRIX
			system from Michel Bourget of SGI.
		Support for UnixWare 7.1 based on input from Larry Rosenman.
		Interix support from Nedelcho Stanev of Atlantic Sky
			Corporation.
		Update Mac OS X/Darwin portability from Wilfredo Sanchez.
	CONFIG: Enforce tls_client restrictions even if delay_checks
		is used.  Problem noted by Malte Starostik.
	CONFIG: Deal with an empty hostname created via bogus
		DNS entries to get around access restrictions.
		Problem noted by Kai Schlichting.
	CONFIG: Use FEATURE(`msp', `[127.0.0.1]') in submit.mc by default
		to avoid problems with hostname resolution for localhost
		which on many systems does not resolve to 127.0.0.1 (or
		::1 for IPv6).  If you do not use IPv4 but only IPv6 then
		you need to change submit.mc accordingly, see the comment
		in the file itself.
	CONFIG: Set confDONT_INIT_GROUPS to True in submit.mc to avoid
		error messages from initgroups(3) on AIX 4.3 when sending
		mail to non-existing users. Problem noted by Mark Roth of
		the University of Illinois at Urbana-Champaign.
	CONFIG: Allow local_procmail to override local_lmtp settings.
	CONFIG: Always allow connections from 127.0.0.1 or IPv6:::1 to
		relay.
	CONTRIB: cidrexpand: Deal with the prefix tags that may be included
		in access_db.
	CONTRIB: New version of doublebounce.pl contributed by Leo Bicknell.
	LIBMILTER: On Solaris libmilter may get into an endless loop if
		an error in the communication from/to the MTA occurs.
		Patch from Gurusamy Sarathy of Active State.
	LIBMILTER: Ignore EINTR from sigwait(3) which may happen on Tru64.
		Patch from from Jose Marcio Martins da Cruz of Ecole
		Nationale Superieure des Mines de Paris.
	MAIL.LOCAL: Fix a truncation race condition if the close() on
		the mailbox fails.  Problem noted by Tomoko Fukuzawa of
		Sun Microsystems.
	MAIL.LOCAL: Fix a potential file descriptor leak if mkstemp(3)
		fails.  Patch from John Beck of Sun Microsystems.
	SMRSH: SECURITY: Only allow regular files or symbolic links to be
		used for a command.  Problem noted by David Endler of
		iDEFENSE, Inc.
	New Files:
		devtools/OS/Interix
		include/sm/bdb.h
2003-03-04 00:21:31 +00:00
itojun
02d6875217 http://www.sendmail.org/smrsh.adv.txt 2002-10-03 03:59:24 +00:00
markd
6b3f43045b Update to sendmail-8.12.6
Large number of bug fixes and feature enhancements, especially Milter
(Mail Filter) support and by default installation of sendmail does not use
set-user-ID root anymore.
2002-09-23 12:56:57 +00:00
taca
2bcd99ab2b Enable wide patch and make this package sendmail-8.11.6nb1.
Please look at ${WRKSRC}/sendmail/00READ_ME.WIDE file created by
sendmail8.11.6+3.4W.patch.gz for detail of the patch.
2001-09-09 16:41:40 +00:00
itojun
6a9a833390 upgrade to 8.11.6. fixes a security problem with command line processing. 2001-08-21 06:49:53 +00:00
itojun
fa55f2adba upgrade to 8.11.5. minor bug fixes from 8.11.4.
patch-zz (security patch on signal handling) is now in 8.11.5.
2001-08-01 02:39:38 +00:00
wiz
1466e3f198 In some cases, SIGHUP may kill sendmail instead of restarting it.
Avoid this by using
http://www.sendmail.org/~ca/email/patches/daemon.c.8.401.4.62
as proposed by Wolfgang Rupprecht in pkg/13267.
(Added as patch-zz, should be removed on next update.)
2001-06-25 23:22:51 +00:00
itojun
e28699f8b4 update to 8.11.4. security related change included (no exploit available yet)
8.11.4/8.11.4	2001/05/28
	Clean up signal handling routines to reduce the chances of heap
		corruption and other potential race conditions.
		Terminating and restarting the daemon may not be
		instantaneous due to this change.  Also, non-root users can
		no longer send out-of-band signals.  Problem reported by
		Michal Zalewski of BindView.
	If LogLevel is greater than 9 and SASL fails to negotiate an
		encryption layer, avoid core dump logging the encryption
		strength.  Problem noted by Miroslav Zubcic of Crol.
	If a server offers "AUTH=" and "AUTH " and the list of mechanisms is
		different in those two lines, sendmail might not have
		recognized (and used) all of the offered mechanisms.
	Fix an IP address lookup problem on Solaris 2.0 - 2.3.  Patch
		from Kenji Miyake.
	This time, really don't use the .. directory when expanding
		QueueDirectory wildcards.
	If a process is interrupted while closing a map, don't try to close
		the same map again while exiting.
	Allow local mailers (F=l) to contact remote hosts (e.g., via
		LMTP).  Problem noted by Norbert Klasen of the University
		of Tuebingen.
	If Timeout.QueueReturn was set to a value less the time it took
		to write a new queue file (e.g., 0 seconds), the bounce
		message would be lost.  Problem noted by Lorraine L Goff of
		Oklahoma State University.
	Pass map argument vector into map rewriting engine for the regex
		and prog map types.  Problem noted by Stephen Gildea of
		InTouch Systems, Inc.
	When closing an LDAP map due to a temporary error, close all of the
		other LDAP maps which share the original map's connection
		to the LDAP server.  Patch from Victor Duchovni of
		Morgan Stanley.
	To detect changes of NDBM aliases files check the timestamp of the
		.pag file instead of the .dir file.  Problem noted by Neil
		Rickert of Northern Illinois University.
	Don't treat temporary hesiod lookup failures as permanent.  Patch
		from Werner Wiethege.
	If ClientPortOptions is set, make sure to create the outgoing socket
		with the family set in that option.  Patch from Sean Farley.
	Avoid a segmentation fault trying to dereference a NULL pointer
		when logging a MaxHopCount exceeded error with an empty
		recipient list.  Problem noted by Chris Adams of HiWAAY
		Internet Services.
	Fix DSN for "Too many hops" bounces.  Problem noticed by Ulrich
		Windl of the Universitaet Regensburg.
	Fix DSN for "mail loops back to me" bounces.  Problem noticed by
		Kari Hurtta of the Finnish Meteorological Institute.
	Portability:
		OpenBSD has a broken setreuid() implementation.
	CONFIG: Undo change from 8.11.1: change 501 SMTP reply code back
		to 553 since it is allowed by DRUMS.
	CONFIG: Add OSTYPE(freebsd4) for FreeBSD 4.X.
	DEVTOOLS: install.sh did not properly handle paths in the source
		file name argument.  Noted by Kari Hurtta of the Finnish
		Meteorological Institute.
	DEVTOOLS: Add FAST_PID_RECYCLE to compile time options for OpenBSD
		since it generates random process ids.
	PRALIASES: Add back adaptive algorithm to deal with different endings
		of entries in the database (with/without trailing '\0').
		Patch from John Beck of Sun Microsystems.
	New Files:
		cf/ostype/freebsd4.m4
2001-05-29 03:31:26 +00:00
agc
b26a4eb88b Move to sha1 digests, and add distfile sizes. 2001-04-20 13:09:54 +00:00
agc
9e8d6c8b8d + move the distfile digest/checksum value from files/md5 to distinfo
+ move the patch digest/checksum values from files/patch-sum to distinfo
2001-04-17 11:33:31 +00:00
Renamed from mail/sendmail/files/patch-sum (Browse further)