[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: router barfing on (comment(comment))
> I'm still running version 2.2 (no offense to Matti - I'm just too busy,
> and 2.2 mostly works for us and I don't want to have to re-create all
> the local magic in our cf files).
I do think you can run your current cf -files with the new
routers as well.
> Has anybody ever figured out why header lines containing addresses (To:
> From: etc.) with comments containing"(" and ")" cause the router to die a
> terrible death?
No, I didn't figure it out, Mr. Massimo Fusaro did back in 1992..
I have attached most of his email below.
Essentially a one-off bug..
> I have some Start Trek fans who keep managing to nuke all 9 of our
> routers because they love to use comments within comments. And it really
> should be able to handle it.
>
> Even if I can find out how it's been fixed in the mea-* code (has it
> been?), I could probably apply that fix to the 2.2 code...
Yes, painfull thing, isn't/wasn't it.
> -Andy
>
> Andy Poling Internet: Andy.Poling@jhu.edu
> UNIX Systems Programmer URL: http://jhunix.hcf.jhu.edu/~andy/
> Homewood Academic Computing Voice: (410)516-8096
> Johns Hopkins University (Balto, MD) UUCP: uunet!mimsy!jhunix!andy
/Matti Aarnio <mea@nic.funet.fi>
Date: Tue, 15 Dec 1992 21:09:30 +0200
From: max@helios.sixcom.it
Subject: bug in lib/rfc822scan.c
To: zmailer@cs.toronto.edu
I found a bug in lib/rfc822scan.c.
The bug manifest itself scanning a nested comment with two consecutive ')'
like this:
max (Nested (Comment))
here is a simple patch:
----
*** rfc822scan.c.old Tue Dec 15 19:58:16 1992
--- rfc822scan.c Tue Dec 15 19:58:24 1992
***************
*** 119,125 ****
if (*cp == cstart && type == Comment) {
i = n;
n = _hdr_compound(cp, n, cstart, cend,
! type, tp, tlist, tlistp);
cp = (*tlistp)->t_pname + TOKENLEN(*tlistp) - n;
} else if (*cp == '\\') {
if (n == 1) {
--- 119,125 ----
if (*cp == cstart && type == Comment) {
i = n;
n = _hdr_compound(cp, n, cstart, cend,
! type, tp, tlist, tlistp) +1;
cp = (*tlistp)->t_pname + TOKENLEN(*tlistp) - n;
} else if (*cp == '\\') {
if (n == 1) {
--
+-------------------------------------------------------------------+
|Massimo Fusaro | E-mail: max@sixcom.it |
|Sixtel S.p.A. | X400: c=it;admd=garr;prmd=IUnet;O=sixcom;S=max |
|Milan, Italy | Phone: +39 (2) 3192 216 |
+-------------------------------------------------------------------+