can't get article via NNTP, can get it via sm...

christian mock cm at tahina.priv.at
Sun May 19 22:03:54 UTC 2002


> 
> In article <20020519101902.308D1D1841 at laberl.tahina.priv.at>,
> 	christian mock <cm at tahina.priv.at> wrote;
> 
> } hangs all the same. there seems to be no way to get to that article 
> } via NNTP...
> 
> It looks like ARTsendmmap() falls into infinite loop.

I don't think so -- the respective nnrpd isn't looping, it just sits 
there in READline trying to get the next command from stdin. 

> Can you debug with gdb when it happens?  And can you
> see the article with sm(8)?

yup, as I wrote, the article is accessible via sm. 

<sfx type="read code, fire up gdb, scratch head">

the point is: first, I'm using a pathhost: statement in readers.conf;
second, the article contains a complete Path: line in the _body_[0],
which contains that pathhost entry.

at article.c:432 the VirtualPath is searched for starting with the 
Path header up to the end of the _whole_ article, so the entry in the 
body matches; s is greater than xref at that point, so the length 
parameter for the second SendIOV at article.c:440

                SendIOv(s + 1, xref - (s + 1));

becomes negative, which apparently disables the whole IOV array from 
being sent further down the code.

so the fix seems to be to only check up to the end of the header on
line 432; another thing which would help would be to check the return
code of the PushIOV() call at article.c:480 (or actually, _all_
PushIOV calls), because the way it is now, _nothing_ gets written to
the client connection, not even the \r\n.\r\n, so client and server
de-synchronize. It would probably be better to close the connection in
case PushIOV fails, if it is impossible to know how much has been
sent.

(all line numbers are from inn-CURRENT-20020419)

and the RISKS in this?

- don't search thru more data than you need

- always check return codes!

- code coverage analysis can't find issues like this.

(what do you mean "wrong mailing list"? :-)

ciao,

cm.

[0] because it is a followup to a test message by myself quoting the 
path header.

-- 
** christian mock in vienna, austria -- http://www.tahina.priv.at/~cm/
...the [APL] Execution Environment (makes me think about sunny walls,
indifferent marksmen, and the offer of a blindfold and a cigarette)...
			-- Mike Andrews




-- Attached file included as plaintext by Ecartis --

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.6 (GNU/Linux)
Comment: Exmh version 2.1.1 10/15/1999 (debian)

iQCVAwUBPOghSTN1HR51PEZdAQIP0QP+I+httg+619nP1JSNrMggsU4U+0+3bzkG
QjBeWqins1jrLCpYARvm19Bx8vsdH8oQ7XHvkqY518AwzF+ZhDHL8u0n28YPyrpE
sQfMQcs+a0rJLyR7UNOFBP8HxR4ry3MgYMn17QMAokxJPl8KaifT1AcjOqCvuykl
SFMH62GbzvE=
=uvDv
-----END PGP SIGNATURE-----




More information about the inn-workers mailing list