Xref: utzoo news.software.b:1665 news.sysadmin:1064 Path: utzoo!utgpu!attcan!uunet!ncrlnk!ncr-sd!hp-sdd!ucsdhub!ucsd!nosc!helios.ee.lbl.gov!lll-tis!ames!pacbell!att!dhp From: dhp@att.ATT.COM (Price) Newsgroups: news.software.b,news.sysadmin Subject: netnews cancer FIX! Keywords: microsoft articles cancer duplicates Message-ID: <165@att.ATT.COM> Date: 10 Oct 88 19:52:29 GMT Organization: AT&T Bell Laboratories, Indian Hill Lines: 41 As many of you are aware, there are, at the time of this posting, three rouge articles ping-ponging around the net. These articles are cancerous. That is, they replicate without limit due to a tab character embedded in the article ID. A tab is also the field separator in the history file, causing the article recognition code to continue to accept the duplicate article. The articles in question are generating thousands of duplicate articles in rec.games.hack, misc.test and sci.space.shuttle. Here follows an EMERGENCY PATCH for header.c that corrects the weakness in the netnews history mechanism that permits this to happen. At approximately line 160 of header.c, insert the declaration for char *cp: register struct hbuf *hp; { int unreccnt = 0; register int i; > register char *cp; i = type(bfr); At approximately line 200, insert the for() loop code after getfield has collected the article ID from the header: case MESSAGEID: getfield(hp->ident, sizeof(hp->ident)); > for (cp = hp->ident; *cp != '\0'; cp++) > if (*cp == '\t') > *cp = ' '; break; This will translate all tabs in the message ID into spaces, which will prevent the history mechanism from failing to note the duplicate article. Hopefully, an official patch will follow from the POWERS THAT BE. -- Douglas H. Price Postmaster, att att!dhp