Opened 5 months ago

Closed 5 months ago

#15421 closed enhancement (fixed)

sendmail-8.17.1

Reported by: Bruce Dubbs Owned by: Douglas R. Reno
Priority: normal Milestone: 11.0
Component: BOOK Version: git
Severity: normal Keywords:
Cc:

Description

New minor version.

Change History (5)

comment:1 by Douglas R. Reno, 5 months ago

Owner: changed from blfs-book to Douglas R. Reno
Status: newassigned

comment:2 by Douglas R. Reno, 5 months ago

8.17.1/8.17.1	2021/08/17
	Deprecation notice: due to compatibility problems with some
		third party code, we plan to finally switch from K&R
		to ANSI C. If you are using sendmail on a system
		which does not have a compiler for ANSI C contact us
		with details as soon as possible so we can determine
		how to proceed.
	Experimental support for SMTPUTF8 (EAI, see RFC 6530-6533)
		is available when using the compile time option USE_EAI
		(see also devtools/Site/site.config.m4.sample for other
		required settings) and the cf option SMTPUTF8.
		If a mail submission via the command line requires
		the use of SMTPUTF8, e.g., because a header uses UTF-8
		encoding, but the addresses on the command line are all
		ASCII, then the new option -U must be used, and
		the cf option SMTPUTF8 must be set in submit.cf.
		Please test and provide feedback.
	Experimental support for SMTP MTA Strict Transport Security
		(MTA-STS, see RFC 8461) is available when using
		- the compile time option _FFR_MTA_STS (which requires
		  STARTTLS, MAP_REGEX, SOCKETMAP, and _FFR_TLS_ALTNAMES),
		- FEATURE(sts), which implicitly sets the cf option
		  StrictTransportSecurity,
		- postfix-mta-sts-resolver, see
		https://github.com/Snawoot/postfix-mta-sts-resolver.git
	New ruleset check_other which is called for all unknown SMTP
		commands in the server and for commands which do not
		have specific rulesets, e.g., NOOP and VERB.
	New ruleset clt_features which can be used to select features
		in the SMTP client per server.  Currently only two
		flags are available: D/M to disable DANE/MTA-STS,
		respectively.
	Avoid leaking session macros for an envelope between
		delivery attempts to different servers.  This problem
		could have affected check_compat.
	Avoid leaking actual SMTP replies between delivery attempts
		to different servers which could cause bogus logging
		of reply= entries.
	Change default SMTP reply code for STARTTLS related problems
		from 403 to 454 to better match the RFCs.
	Fix a theoretical buffer overflow when encountering an
		unknown/unsupported socket address family on an
		operating system where sa_data is larger than 30
		(the standard is 14).  Based on patch by Toomas Soome.
	Several potential memory leaks and other similar problems
		(mostly in error handling code) have been fixed.
		Problems reported by Tomas Korbar of RedHat.
	Previously the commands GET, POST, CONNECT, or USER terminate
		a connection immediately only if sent as first command.
		Now this is also done if any of these is sent directly
		after STARTTLS or if the 'h' option is set via
		srv_features.
	CDB map locking has been changed so a sendmail process which
		does have a CDB map open does not block an in-place
		update of the map by makemap.  The simple workaround
		for that problem in earlier versions is to create
		the map under a different name and then move it
		into place.
	On some systems the rejection of a RCPT by a milter could
		silently fail.
	CONFIG: New FEATURE(`check_other') to provide a default
		check_other ruleset.
	CONFIG: FEATURE(`tls_failures') is deprecated and will be
		removed in future versions because it has a fundamental
		problem: it is message oriented but STARTTLS is
		session oriented.  For example, having multiple
		RCPTs in one envelope for different destinations,
		with different temporary errors, does not work
		properly, as the persistent macro applies to all
		RCPTs and hence implicitly to all destinations (servers).
		The option TLSFallbacktoClear should be used if needed.
	MAIL.LOCAL: Enhance some error messages to simplify
		troubleshooting.
	Portability:
		Add support for Darwin 19 & 20.
		NOTE: File locking using fcntl() does not interoperate
		  with Berkeley DB 5.x (and probably later).  Use
		  CDB, flock() (-DHASFLOCK), or an earlier Berkeley
		  DB version.  Problem noted by Harald Hannelius.
	New Files:
		cf/feature/check_other.m4
		cf/feature/sts.m4
		devtools/OS/Darwin.19.x
		devtools/OS/Darwin.20.x
		include/sm/ixlen.h
		libsm/ilenx.c
		libsm/lowercase.c
		libsm/strcaseeq.c
		libsm/t-ixlen.c
		libsm/t-ixlen.sh
		libsm/t-streq.c
		libsm/t-streq.sh
		libsm/utf8_valid.c
		libsm/uxtext_unquote.c
		libsm/xleni.c
		libsmutil/t-lockfile.c
		libsmutil/t-lockfile-0.sh
		libsmutil/t-maplock-0.sh

comment:3 by Douglas R. Reno, 5 months ago

When trying to build this, I'm encountering a FTBFS. I'm going to try adding -DHASFLOCK next. I've also tried including <sys/file.h> in sendmail/conf.h since file.h contains the flock() function per https://linux.die.net/man/2/flock

The release notes mention -DHASFLOCK, so trying that next

cc -O2 -I. -I../../include  -I/usr/include/sasl -DNEWDB  -DSTARTTLS -DSASL -DLDAPMAP -DNDBM      -c -o collect.o collect.c
cc -O2 -I. -I../../include  -I/usr/include/sasl -DNEWDB  -DSTARTTLS -DSASL -DLDAPMAP -DNDBM      -c -o conf.o conf.c
conf.c:5955:6: error: invalid preprocessing directive #ERROR
 5955 | #    ERROR "Berkeley DB file locking needs flock() for version 5.x (and greater?)"
      |      ^~~~~
make: *** [<builtin>: conf.o] Error 1
7.5 Elasped Time - sendmail.8.17.1

This is the relevant error

comment:4 by Douglas R. Reno, 5 months ago

Adding -DHASFLOCK did the trick, proceeding with the update

comment:5 by Douglas R. Reno, 5 months ago

Resolution: fixed
Status: assignedclosed
Note: See TracTickets for help on using tickets.