Re: Questions regarding lsb-invalid-mta

Jeff Licquia <[email protected]> Sun, 23 Jun 2013 09:40:01 -0400
Newsgroups gmane.linux.debian.devel.lsb
Message-ID <[email protected]>
On 06/23/2013 07:25 AM, Aaron Sowry wrote:
> I disagree about the decision to use a "dummy" binary, though. Any
> sensibly written software will handle a failed popen, but getting an
> undefined error code back from something pretending to be the sendmail
> binary is almost impossible to handle.

In general, I agree that this is a hack.  But I would assume that any 
sensibly-written software that calls external binaries would handle 
situations where those binaries fail and report an error in their return 
value.

> By the way, according to the sendmail man page, "Sendmail returns an
> exit status describing what it did. The codes are defined in
> <sysexits.h>". sysexits.h has the following define:
>
> #define EX__MAX 78      /* maximum listed value */
>
> So, it seems that 255 is in fact an invalid value to be getting back
> from a call to sendmail. How is the caller supposed to interpret that?

The LSB spec for sendmail is here:

https://refspecs.linuxfoundation.org/LSB_4.1.0/LSB-Core-generic/LSB-Core-generic/baselib-sendmail-1.html

According to that spec, any return value greater than 0 is an error 
condition.  So lsb-invalid-mta does actually conform to the spec it's 
referencing.

> I definitely agree that this package should not be in Debian. If it's a
> downstream problem, let downstream handle it. I have to admit that I'm
> not entirely up to speed with Debian's packaging of it's MTAs however -
> exim4 and sendmail appear to be mutually exclusive, and I see references
> to "citmail" being a replacement for /usr/sbin/sendmail. Perhaps someone
> with a bit more knowledge could suggest a possible solution?

We package a number of "full" MTAs, such as Exim, Sendmail, and Postfix, 
as well as a number of "stripped-down" MTAs such as ssmtp.  As they all 
provide the "sendmail" command-line utility, they all conflict with each 
other.  (As you'd probably expect; how many MTAs do you really need 
installed on a single system?)  The default MTA is Exim.

All of our MTAs Provide: the virtual package "mail-transport-agent", so 
you can get a complete list with apt:

jeff@server1:~$ apt-cache search mail-transport-agent
citadel-mta - complete and feature-rich groupware server (mail transport 
agent)
clamsmtp - virus-scanning SMTP proxy
courier-mta - Courier mail server - ESMTP daemon
esmtp-run - user configurable relay-only MTA - the regular MTA
exim4-daemon-heavy - Exim MTA (v4) daemon with extended features, 
including exiscan-acl
exim4-daemon-light - lightweight Exim MTA (v4) daemon
lsb-invalid-mta - Linux Standard Base sendmail dummy
masqmail - mail transport agent for intermittently connected hosts
msmtp-mta - light SMTP client with support for server profiles - the 
regular MTA
nullmailer - simple relay-only mail transport agent
postfix - High-performance mail transport agent
proxsmtp - multi purpose SMTP Proxy
pyg - Python Mail <-> News Gateway
qmail-run - sets up qmail as mail-transfer-agent
sendmail-bin - powerful, efficient, and scalable Mail Transport Agent
ssmtp - extremely simple MTA to get mail off the system to a mail hub
xmail - advanced, fast and reliable ESMTP/POP3 mail server