[Mailman-Users] mailman rc1 and zmailer doesn't cooperate?
mea at nic.funet.fi
Mon May 24 11:37:03 CEST 1999
(this grew rather long... much quotations.)
J C Lawrence <claw at varesearch.com> replied thus:
> On Mon, 17 May 1999 16:00:43 +0200
> Tomaz Borstnar <tomaz.borstnar at over.net> wrote:
> > As you can see it's Mailman sending extra space after command -
> > which is not good and which is why Zmailer rejects the message
> > thus making Mailman unusable for me.
> Per my reading its legal per the RFC. ZMailer needs to be fixed.
Thou have invokedth RFC-821:
4.1.2 COMMAND SYNTAX
The following are the SMTP commands:
HELO <SP> <domain> <CRLF>
MAIL <SP> FROM:<reverse-path> <CRLF>
RCPT <SP> TO:<forward-path> <CRLF>
SEND <SP> FROM:<reverse-path> <CRLF>
SOML <SP> FROM:<reverse-path> <CRLF>
SAML <SP> FROM:<reverse-path> <CRLF>
VRFY <SP> <string> <CRLF>
EXPN <SP> <string> <CRLF>
HELP [<SP> <string>] <CRLF>
Do note that in cases where space is allowed (mandated) it is ALSO
REPRESENTED. For "DATA" verb there is nothing allowed to follow it,
except the CR+LF pair.
The RFC 821 is somewhat vague about the issue, and common systems
( = sendmail ) often ignore any possible input following parameterless
verbs, e.g. "DATA", and per that sloppy tradition, so should ZMailer
too. However that particular piece of code in ZMailer's smtp server
has *not* been equipped with sloppyness mode, and it barfed at the
"Mailman". (CVS version does have sloppyness mode available, such was
added after the lattest distribution cut.)
If you want to check your outgoing smtp protocol, run the smtpserver
with option: '-s strict' and it will be truly picky!
Oh yes, the upcoming update of RFC-821 -- say, "821bis", has following
to say on the topic:
4.1.1 Command Semantics and Syntax
The SMTP commands define the mail transfer or the mail system function
requested by the user. SMTP commands are character strings terminated by
<CRLF>. The commands themselves are alphabetic characters terminated by
<SP> if parameters follow and <CRLF> otherwise. (In the interest of
improved interoperability, SMTP receivers are encouraged to tolerate
trailing white space before the terminating <CRLF>.) The syntax of the
local part of a mailbox must conform to receiver site conventions and the
syntax specified in section 4.1.2. The SMTP commands are discussed below.
The SMTP replies are discussed in section 4.2.
A mail transaction involves several data objects which are communicated as
arguments to different commands. The reverse-path is the argument of the
MAIL command, the forward-path is the argument of the RCPT command, and the
mail data is the argument of the DATA command. These arguments or data
objects must be transmitted and held pending the confirmation communicated
by the end of mail data indication which finalizes the transaction. The
model for this is that distinct buffers are provided to hold the types of
data objects, that is, there is a reverse-path buffer, a forward-path
buffer, and a mail data buffer. Specific commands cause information to be
appended to a specific buffer, or cause one or more buffers to be cleared.
Several commands (RSET, DATA, QUIT) are specified as not permitting
parameters. In the absence of specific extensions offered by the server
and accepted by the client, clients MUST NOT send such parameters and
servers SHOULD reject commands containing them as having invalid syntax.
An overall compability guideline is roughly:
- Be lenient at what you accept (ZMailer smtpserver)
- Be strictly per protocol at what you send (Mailman)
So while ZMailer fails at being suitably sloppy at accepting commonly
sloppily processed things, Mailman should be fixed too to not to rely
on sloppy system behaviour.
> J C Lawrence Home: claw at kanga.nu
> ---------(*) Linux/IA64 - Work: claw at varesearch.com
> ... Beware of cromagnons wearing chewing gum and palm pilots ...
/Matti Aarnio <mea at nic.funet.fi>
More information about the Mailman-Users