[news.admin] C News history failure! Duplicate articles.

flee@dictionopolis.cs.psu.edu (Felix Lee) (09/01/90)

If you're running C News you may have received many duplicates
recently, all involving message-IDs that have more than one '@'
character in it, like:
    <9008311926.AA17938.mullin@buista.SINet.SLB.COM@ASC.SLB.COM>
(Multiple '@' characters are illegal according to RFC822.)

The problem is that dbz lowercases after the first '@' sign, but
relaynews (and others) lowercases after the last '@' sign, so the
article is never seen in the history due to case mismatch.

The fix I'm using right now is, in rfc822ize() in libcnews/case.c:
*** libcnews/case.c.orig	Wed Nov 15 12:43:18 1989
--- libcnews/case.c	Fri Aug 31 17:19:25 1990
***************
*** 109,113 ****
  		prime();
  
! 	p = strrchr(s, '@');
  	if (p == NULL)			/* no local/domain split */
  		p = "";			/* assume all local */
--- 109,113 ----
  		prime();
  
! 	p = strchr(s, '@');
  	if (p == NULL)			/* no local/domain split */
  		p = "";			/* assume all local */

henry@zoo.toronto.edu (Henry Spencer) (09/02/90)

In article <F=xd97?1@cs.psu.edu> flee@dictionopolis.cs.psu.edu (Felix Lee) writes:
>The problem is that dbz lowercases after the first '@' sign, but
>relaynews (and others) lowercases after the last '@' sign, so the
>article is never seen in the history due to case mismatch.

Sigh...  This is an illegal message-ID anyway (as Felix noted), but it
is definitely bad behavior.  The latest code, to be released in a patch
that should have been out some weeks ago and will be Real Soon Now :-(,
leaves it all to dbz so it's all done consistently.
-- 
TCP/IP: handling tomorrow's loads today| Henry Spencer at U of Toronto Zoology
OSI: handling yesterday's loads someday|  henry@zoo.toronto.edu   utzoo!henry