Invalid 431 response when server is paused

River Tarnell river at RT.UK.EU.ORG
Sun Jan 1 01:47:35 UTC 2012


Hi,

While working on some news software I noticed something odd from a peer:

Jan 01 01:36:18 INFO:     feeder: unit0[2001:470:933e::5]:nntp: expected 
msg-id <4efed3fb$0$30390$a8266bb1 at newsreader.readnews.com> but got 431 
Expiring  process 3697

This server is running:

200 news.unit0.net InterNetNews server INN 2.5.2 ready (transit mode)

The problem seems to be the code for handling a paused server state in 
innd/nc.c:

    } else if (Mode == OMpaused) {
        cp->Check_deferred++;
        xasprintf(&buff, "%d %s", NNTP_FAIL_CHECK_DEFER, ModeReason);

ModeReason is set to "Expiring process %ld" while server expiry is 
running.

I tested this on my own server and was able to reproduce the problem:

isis# ctlinnd pause 'testing'
Ok
harmony% telnet isis 433
Trying 2a01:348:65::3...
Connected to isis.RT.UK.EU.ORG.
Escape character is '^]'.
200 isis.rt.uk.eu.org InterNetNews server INN 2.5.2 ready (transit mode)
CHECK <a at b>
431 testing

And then:

Jan 01 01:45:02 INFO:     feeder: isis[2a01:348:65::3]:nnsp: expected 
msg-id <CP-dnS4J7bceqGLTnZ2dnUVZ8tWdnZ2d at brightview.co.uk> but got 431 
testing 

This behaviour is clearly wrong: 431 should always have the message-id 
as the first argument, no matter why it was deferred.

Regards,
-- 
        -- river.                      | Free Usenet: http://news.rt.uk.eu.org/
Non-Reciprocal Laws of Expectations:   | PGP: 2B9CE6F2
    Negative expectations yield negative results.
    Positive expectations yield negative results.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/x-pkcs7-signature
Size: 4184 bytes
Desc: not available
URL: <https://lists.isc.org/pipermail/inn-workers/attachments/20120101/6ced7900/attachment.bin>


More information about the inn-workers mailing list