Invalid 431 response when server is paused

Julien ÉLIE julien at
Wed Jan 4 20:21:10 UTC 2012

Hi River,

>> If I understand well the code, I see that the first command you send
>> is MODE STREAM, just after the initial greeting response.  Unless
>> you receive 203, CAPABILITIES is sent.  I believe it is a workaround
>> for Cyclone (probably amongst other servers).
> Yes.  It seems a bit pointless to check CAPABILITIES if MODE STREAM
> failed, but the code was already there, so...

If a server supports CAPABILITIES, I believe it will also support MODE 
STREAM.  Sending CAPABILITIES when MODE STREAM fails is therefore 
pointless, as you say, but who knows, maybe in a (far) future, it will 
be useful again owing to the following note in RFC 4644;

2.3.  MODE STREAM Command

    Servers MUST accept the
    MODE STREAM command for backwards compatibility with legacy clients
    that don't use the CAPABILITIES discovery command.

    NOTE: This command may be removed from a future version of this
    specification, therefore clients are urged to transition to the
    CAPABILITIES command wherever possible.

> if we connect to an nnrpd that happens to allow posting from
> us, we'll start injecting articles via nnrpd's IHAVE, which could be
> unfortunate (or at least, be really slow, while appearing to work).

An advantage of nnrpd's IHAVE is that it can benefit from the native 
STARTTLS extension nnrpd has (and therefore also compression TLS can 
do), or SASL authentication.
All of that is of course possible if RT/NTS supports it.

I know stunnel can be used with innd as a way to use an encrypted 
connection...  Anyway, I was only giving you a possible use for nnrpd's 

Is nnrpd's IHAVE "*really* slow"?  (I have not benchmarked it; I ask in 
case you already compared it to innd's IHAVE and had figures.)

> (I recall some confusion about whether a line that starts
> with "." but has further text on it should be escaped or not.)

A confusion in an existing document?
RFC 3977 seems clear:

3.1.1.  Multi-line Data Blocks

    3.  If any line of the data block begins with the "termination octet"
        ("." or %x2E), that line MUST be "dot-stuffed" by prepending an
        additional termination octet to that line of the block.

Julien ÉLIE

« Le tennis c'est comme le ping-pong, sauf qu'au tennis, les joueurs
   sont debout sur la table. »

More information about the inn-workers mailing list