[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                          |
+-------------------------------------------------------------------+