Commit graph

26 commits

Author SHA1 Message Date
jnemeth
9c6c534c5e Change from using ${OPSYS} to looking for /usr/include/blacklist.h
to determine whether to use the blacklistd feature.  This allows
for automatically picking up new OSes that provide blacklistd as
well as ignoring older versions of NetBSD and FreeBSD that don't
have blacklistd.

Add UseBlacklist to M4 config generator.  This means that you can
turn it on by doing something like:

LOCAL_CONFIG
...
define(`confUSE_BLACKLIST', `True')dnl
...

It is set to false as the feature is experimental having just been
created.

Ride previous PKGREVISION bump as it was less than an hour ago.
2019-07-15 05:30:33 +00:00
jnemeth
b243d8a934 Add support for working with blacklistd. These patches were
originally created for FreeBSD and were ported to pkgsrc by Hauke
Fath with some cleanup by myself.

These patches add a new "UseBlacklist" option to sendmail to have
it send authentication failure notices to blacklistd.
2019-07-15 04:32:49 +00:00
jnemeth
e5db186a98 Add sendmail-ffr-badrcptshutdown option. This option enables the
sendmail options BadRcptShutdown and BadRcptShutdownGood to be
used.  "ffr" stands for For Future Release, which means it is a
beta test feature that may show up in a future release of sendmail.

The sendmail-ffr-badrcptshutdown option is disabled by default so
no change to binary packages, thus not bumping PKGREVISION.
2019-07-15 02:06:42 +00:00
jnemeth
3db59d5572 Update sendmail to 8.15.2.
pkgsrc change:  default to enable TLS
- this has been requested a couple of times and most systems are going
  to have a recent enough version of openssl so in most cases there
  won't be additional dependencies

8.15.2/8.15.2	2015/07/03
	If FEATURE(`nopercenthack') is used then some bogus input triggered
		a recursion which was caught and logged as
		SYSERR: rewrite: excessive recursion (max 50) ...
		Fix based on patch from Ondrej Holas.
	DHParameters now by default uses an included 2048 bit prime.
		The value 'none' previously caused a log entry claiming
		there was an error "cannot read or set DH parameters".
		Also note that this option applies to the server side only.
	The U= mailer field didn't accept group names containing hyphens,
		underbars, or periods.  Based on patch from David Gwynne
		of the University of Queensland.
	CONFIG: Allow connections from IPv6:0:0:0:0:0:0:0:1 to relay again.
		Patch from Lars-Johan Liman of Netnod Internet Exchange.
	CONFIG: New option UseCompressedIPv6Addresses to select between
		compressed and uncompressed IPv6 addresses.  The default
		value depends on the compile-time option IPV6_FULL:
		For 1 the default is False, for 0 it is True, thus
		preserving the current behaviour.  Based on patch from
		John Beck of Oracle.
	CONFIG: Account for IPv6 localhost addresses in
		FEATURE(`block_bad_helo').  Suggested by Andrey Chernov
		from FreeBSD and Robert Scheck from the Fedora Project.
	CONFIG: Account for IPv6 localhost addresses in check_mail ruleset.
	LIBMILTER: Deal with more invalid protocol data to avoid potential
		crashes.  Problem noted by Dimitri Kirchner.
	LIBMILTER: Allow a milter to specify an empty macro list ("", not
		NULL) in smfi_setsymlist() so no macro is sent for the
		selected stage.
	MAKEMAP: A change to check TrustedUser in fewer cases which was
		made in 2013 caused a potential regression when makemap
		was run as root (which should not be done anyway).
	Note: sendmail often contains options "For Future Releases"
		(prefix _FFR_) which might be enabled in a subsequent
		version or might simply be removed as they turned out not
		to be really useful.  These features are usually not
		documented but if they are, then the required (FFR)
		options are listed in
		- doc/op/op.* for rulesets and macros,
		- cf/README for mc/cf options.
2015-07-11 10:08: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
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
jnemeth
ade64d0368 sendmail is incompatible with current versions of databases/db4
as the latter is now threaded, so delete the option
2012-12-28 05:27:06 +00:00
wiz
f98e8b0585 Add inet6 to default suggested options. It's 2012. 2012-06-12 15:45:54 +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
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
ghen
2eca3d9f2c The databases/openldap package has been split in -client and -server component
packages.  Convert LDAP-based applications to depend on openldap-client, and
bump PKGREVISION for those that depend on it by default.
2006-05-31 18:22:23 +00:00
wiz
0719006c41 Update path from cyrus-sasl2 to cyrus-sasl. 2006-04-13 21:45:12 +00:00
adrianp
d28cf318e5 While I'm here add back the PKG_OPTIONS_LEGACY_OPTS for socketmap 2005-10-20 15:10:01 +00:00
adrianp
ad189155c2 Update options.mk with a PKG_OPTIONS_LEGACY_OPTS to migrate from starttls
to tls.
Pointed out by Gilles@Gravier.org on netbsd-users@
2005-10-20 15:07:26 +00:00
wiz
5c11268df7 Remove some more *LEGACY* settings that are over a month old and
thus were before 2005Q3.
2005-10-05 13:29:49 +00:00
wiz
8f60660ad3 Rename socketmap option to sendmail-socketmap. 2005-08-01 15:27:00 +00:00
adrianp
d34190732e - Move option from "starttls" to "tls" as pointed out by schmonz@ in private
email.
- Use PKG_OPTIONS_LEGACY_OPTS to deal with the change.
2005-07-18 21:33:24 +00:00
jlam
3e474a90d8 Get rid of USE_PERL5. The new way to express needing the Perl executable
around at either build-time or at run-time is:

	USE_TOOLS+=	perl		# build-time
	USE_TOOLS+=	perl:run	# run-time

Also remove some places where perl5/buildlink3.mk was being included
by a package Makefile, but all that the package wanted was the Perl
executable.
2005-07-16 01:19:06 +00:00
tv
ca42281873 standardize whitespace in .include directives 2005-07-02 01:12:52 +00:00
dillo
f81ae835ad Packages have no business modifying PKG_DEFAULT_OPTIONS -- it's a
user settable variable.  Set PKG_SUGGESTED_OPTIONS instead.  Also,
make use of PKG_OPTIONS_LEGACY_VARS.

Reviewed by wiz.
2005-05-31 10:01:36 +00:00
jlam
e8b16d2e6e Remove security/cyrus-sasl and security/cy-login. These packages
tracked the Cyrus SASL 1.5.x releases, which are no longer maintained.
Adjust packages to use security/cyrus-sasl2 instead for SASL support.
This closes PR pkg/28218 and PR pkg/29736.
2005-03-28 09:39:56 +00:00
adrianp
b00f963141 Remove inet6 from PKG_DEFAULT_OPTIONS as this can cause the package
to build in IPv6 support on systems where USE_INET6 has been set to NO.

This addresses PR #28708 opened by georg.schwarz (at) freenet.de
2005-01-02 11:59:36 +00:00
xtraeme
54d05fa49a Remove obsolete variables. You'll want to use:
PKG_OPTIONS.<pkg>+= foo blah
2004-11-17 19:56:49 +00:00
adrianp
c2e18332da options.mk fixes for this package including:
- Option handling was ignoring old USE_* statements
- Don't try and compile sendmail with SASLv1 _and_ SASLv2 support
- Add missing migration option for USE_STARTTLS
2004-09-02 21:09:17 +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