[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Questions regarding lsb-invalid-mta



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


Reply to: