Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 606490 - mail-mta/sendmail: "not enough daemons port configurable" when used with IPv6
Summary: mail-mta/sendmail: "not enough daemons port configurable" when used with IPv6
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal major (vote)
Assignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-01-19 08:42 UTC by Jens Maus
Modified: 2020-08-17 03:06 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jens Maus 2017-01-19 08:42:45 UTC
It is a well-know fact that when trying to setup a full IPv6 environment sendmail (up to the latest 8.14.9 version) lacks the possibility to start enough individual daemons for all individual DAEMON_OPTIONS() setup.

The reason for this being that if you setup sendmail in a full mixed IPv4 and IPv6 environment you easily run into the following error messages upon startup of sendmail:

-- cut here --
Jan 19 09:07:13 frodo sendmail[21723]: NOQUEUE: SYSERR(root): /etc/mail/sendmail.cf: line 389: too many daemons defined (10 max)
Jan 19 09:07:13 frodo sendmail[21723]: NOQUEUE: SYSERR(root): /etc/mail/sendmail.cf: line 390: too many daemons defined (10 max)
-- cut here -- 

That is due to the fact that in a full IPv4/IPv6 environment you have to start up more than 10 individual daemons for listening for all possible SSL/non-SSL/IPv4/IPv6/localhost combinations using DAEMON_OPTIONS(). Thus, to facility a full-fledged IPv6 setup of sendmail you need to specify the following number of DAEMON_OPTIONS() in your sendmail.mc file:

-- cut here --
DAEMON_OPTIONS(`Name=MTA, Port=smtp, Family=inet, Address=localhost')
DAEMON_OPTIONS(`Name=MTA, Port=smtp, Family=inet6, Address=::1')
DAEMON_OPTIONS(`Name=MTA, Port=smtp, Family=inet, Address=host.domain')
DAEMON_OPTIONS(`Name=MTA, Port=smtp, Family=inet6, Address=host.domain')
DAEMON_OPTIONS(`Name=MSA, M=E, Port=submission, Family=inet, Address=localhost')
DAEMON_OPTIONS(`Name=MSA, M=E, Port=submission, Family=inet6, Address=::1')
DAEMON_OPTIONS(`Name=MSA, M=Ea, Port=submission, Family=inet, Address=host.domain')
DAEMON_OPTIONS(`Name=MSA, M=Ea, Port=submission, Family=inet6, Address=host.domain')
DAEMON_OPTIONS(`Name=MSASSL, M=Eas, Port=smtps, Family=inet, Address=localhost')
DAEMON_OPTIONS(`Name=MSASSL, M=Eas, Port=smtps, Family=inet6, Address=::1')
DAEMON_OPTIONS(`Name=MSASSL, M=Eas, Port=smtps, Family=inet, Address=host.domain')
DAEMON_OPTIONS(`Name=MSASSL, M=Eas, Port=smtps, Family=inet6, Address=host.domain')
-- cut here --

As said, on other platforms (e.g. Ubuntu) that problem had already been addressed in the following ticket:

https://bugs.launchpad.net/ubuntu/+source/sendmail/+bug/1223636

There, the developers raised the maximum limit to 64 which I also did here locally for my installation and it work greatly.

IMHO we should also raise the MAXDAEMON limit to something substantially higher because nowadays running something like 32 or even 64 daemons at one shouldn't be a problem (especially for servers having the need for mixed IPv4/IPv6).

In my local environment I solved that problem by patching the build in the following way:

-- cut here --
--- sendmail-8.14.9-r1.ebuild.orig	2017-01-19 09:34:19.439565020 +0100
+++ sendmail-8.14.9-r1.ebuild	2017-01-19 09:35:42.180052061 +0100
@@ -65,6 +65,7 @@
 	local confCCOPTS="${CFLAGS}"
 	local confLDOPTS="${LDFLAGS}"
 	local confMAPDEF="-DMAP_REGEX"
+	local confENVDEF="-DMAXDAEMONS=64"
 	local conf_sendmail_LIBS=""
 	use sasl && confLIBS="${confLIBS} -lsasl2"  \
 		&& confENVDEF="${confENVDEF} -DSASL=2" \
-- cut here --

So please consider adding a similar solution to the official sendmail ebuilds.
Comment 1 Alex Xu (Hello71) 2017-02-06 02:05:32 UTC
solution: stop using sendmail

worse solution: stop using smtps port
Comment 2 Jens Maus 2017-02-08 15:40:56 UTC
I am sorry? But are you serious? If yes, I wonder what your problem might be with sendmail. In addition, I find your comment here quite unprofessional as I am giving here exact and detailed instructions on how a problem can be solved within a actively maintained gentoo ebuild. As such I think it should be worthwhile to actually fix that problem and not simply switch to a different MTA which IMHO is just a matter of taste.

So please stop these kind of replies and let the actual maintainer come up and fixing these issues. And if there isn't an active maintainer for the sendmail package left I would love to send my changed ebuild along this report and hope to see it integrated.
Comment 3 Jens Maus 2018-01-03 12:08:35 UTC
Any chance of fixing this minor issue anytime soon?
Comment 4 Pacho Ramos gentoo-dev 2019-09-06 14:05:16 UTC
please retry with 8.15.2-r2, is this still needed with it?
Comment 5 Jens Maus 2019-09-06 14:08:11 UTC
Sorry, but also because of this issue I completely switched to postfix in the meantime.  However, if you indeed integrated my fix as I proposed (adding "-DMAXDAEMONS=64") then the issue should be indeed solved.
Comment 6 Larry the Git Cow gentoo-dev 2020-08-17 03:06:52 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c97bd0e2aa41d659ac1a5f39c241c2093c7f4241

commit c97bd0e2aa41d659ac1a5f39c241c2093c7f4241
Author:     Aaron Bauman <bman@gentoo.org>
AuthorDate: 2020-08-17 02:52:02 +0000
Commit:     Aaron Bauman <bman@gentoo.org>
CommitDate: 2020-08-17 03:06:40 +0000

    mail-mta/sendmail: bump to 8.16.1
    
    * Bump due to security issue
    * Add -D_FFR_TLS_EC to compile options which supports ECDHE and PFS
    * Stop building libmilter separately and introduce dep on
      mail-filter/libmilter
    * By depending on mail-filter/libmilter sendmail no longer installs
      static-libs.
    * Add -DMAXDAEMONS=64 to fix IPV6 environments
    * Fix various QA issues with lack of dies. More to be fixed.
    
    Bug: https://bugs.gentoo.org/730890
    Bug: https://bugs.gentoo.org/681232
    Closes: https://bugs.gentoo.org/542370
    Closes: https://bugs.gentoo.org/681224
    Closes: https://bugs.gentoo.org/724548
    Closes: https://bugs.gentoo.org/606490
    
    Acked-by: Sam James <sam@gentoo.org>
    Signed-off-by: Aaron Bauman <bman@gentoo.org>

 mail-mta/sendmail/Manifest                         |   1 +
 .../files/sendmail-8.14.6-build-system.patch       |  73 +-------
 mail-mta/sendmail/sendmail-8.16.1.ebuild           | 208 +++++++++++++++++++++
 3 files changed, 219 insertions(+), 63 deletions(-)