Package: sendmail-bin
Version: 8.18.2-2
Severity: normal
Tags: patch
Dear Maintainer,
I was having certificate failures when sending mail to a sendmail
submission server and traced the issue down to sendmail not sending the
entire cert chain. The reason is that it uses
SSL_CTX_use_certificate_file() to read the file and not
SSL_CTX_use_certificate_chain_file(). Poking around the sendmail source
I noticed that this was gated behind the
_FFR_TLS_USE_CERTIFICATE_CHAIN_FILE define. I made a patch to
debian/configure.ac to add that, rebuilt the package, and verified that
it now sends the whole cert chain.
I've attached the patch.
I think it's an important feature--nowadays most "real" SSL certs have
intermediates in them, especially in the LetsEncrypt/ACME space, and
sendmail will not produce a validating cert chain unless this option is
enabled.
Thanks,
David
-- System Information:
Debian Release: forky/sid
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 6.17.13+deb14-amd64 (SMP w/8 CPU threads; PREEMPT)
Kernel taint flags: TAINT_FIRMWARE_WORKAROUND
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8), LANGUAGE
not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Versions of packages sendmail-bin depends on:
ii debconf 1.5.92
ii libc6 2.42-17
ii libdb5.3t64 5.3.28+dfsg2-11+b1
ii libldap2 2.6.13+dfsg-1
ii liblockfile1 1.17-2+b2
ii libnsl3 2.0.1-2
ii libsasl2-2 2.1.28+dfsg1-11
ii libssl3t64 3.6.3-1
ii libwrap0 7.6.q-37
ii procps 2:4.0.6-2
ii sendmail-base 8.18.2-2
ii sendmail-cf 8.18.2-2
sendmail-bin recommends no packages.
Versions of packages sendmail-bin suggests:
ii libsasl2-modules 2.1.28+dfsg1-11
ii openssl 3.6.3-1
ii sasl2-bin 2.1.28+dfsg1-11
ii sendmail-doc 8.18.2-2
Versions of packages sensible-mda depends on:
ii libc6 2.42-17
ii procmail 3.24+really3.22-6
Versions of packages rmail depends on:
ii libc6 2.42-17
ii libldap2 2.6.13+dfsg-1
Versions of packages libmilter1.0.1 depends on:
ii libc6 2.42-17
Versions of packages sendmail depends on:
ii sendmail-base 8.18.2-2
ii sendmail-cf 8.18.2-2
ii sensible-mda 8.18.2-2
Versions of packages sendmail suggests:
ii rmail 8.18.2-2
ii sendmail-doc 8.18.2-2
-- no debconf information
From fc747debdbec241c719257ed493006bed7bda7bb Mon Sep 17 00:00:00 2001
From: David Caldwell <[email protected]>
Date: Thu, 30 Jul 2026 14:00:49 -0700
Subject: [PATCH] Make certificate chains work in TLS with a "FFR" flag ("For
Future Release")
Specifically: _FFR_TLS_USE_CERTIFICATE_CHAIN_FILE
Without this, STARTTLS only offers up the first cert in the file.
---
debian/configure.ac | 2 ++
1 file changed, 2 insertions(+)
diff --git a/debian/configure.ac b/debian/configure.ac
index 7a78853..229195a 100644
--- a/debian/configure.ac
+++ b/debian/configure.ac
@@ -1428,6 +1428,8 @@ if test $sm_enable_tls != no; then
sm_suggests="$sm_suggests, openssl";
sm_sendmail_envdef="$sm_sendmail_envdef -DSTARTTLS";
sm_sendmail_envdef="$sm_sendmail_envdef -DDANE=1"
+ # Make TLS send the whole cert chain instead of the
topmost cert in a cert chain file.
+ sm_sendmail_envdef="$sm_sendmail_envdef
-D_FFR_TLS_USE_CERTIFICATE_CHAIN_FILE=1"
sm_sendmail_libs="$sm_sendmail_libs -lcrypto -lssl";
sm_ffr="$sm_ffr -D_FFR_TLS_EC";
elif test $sm_enable_tls = auto; then
--
2.53.0