C News patch of 1-Sep-1990 (URGENT!!!) (tentative fix)
Henry Spencer
henry at zoo.toronto.edu
Fri Sep 7 09:37:18 AEST 1990
The problem has been found: an interlocking pair of bugs in the is-this-
site-already-in-the-Path logic. It ends up saying "no" in cases
where it should say "yes", thus causing articles to be looped back
to the site you get them from (where they generally get rejected as
duplicates immediately, so this is fairly benign). And certain arcane
combinations of circumstances cause it to answer "yes" when it should
say "no", thus preventing articles from being fed onward. The
arcane circumstances are sufficiently obscure that the regression test
missed them: it happens only with certain combinations of name lengths
and is sensitive to the occurrence of the site's first character in
the Path!
For the benefit of those who are already running with this code and can't
easily fall back, here is the tentative fix. This is not an official
patch; one will be forthcoming in a day or two when this is more thoroughly
tested. If you haven't installed the 1-Sep patch yet, we suggest you wait
for the official correction.
*** string.c.orig Thu Jul 19 11:10:08 1990
--- string.c Thu Sep 6 19:00:29 1990
***************
*** 271,277 ****
STRCHR(pathp, host[0], nxpathp); /* find plausible start */
if (nxpathp == NULL)
return NULL; /* path exhausted */
! if (STREQN(pathp, host, hostlen) == 0 &&
(pathp == path || nothostchar(pathp[-1])) &&
nothostchar(pathp[hostlen]))
return &pathp[hostlen];
--- 271,278 ----
STRCHR(pathp, host[0], nxpathp); /* find plausible start */
if (nxpathp == NULL)
return NULL; /* path exhausted */
! pathp = nxpathp;
! if (STREQN(pathp, host, hostlen) &&
(pathp == path || nothostchar(pathp[-1])) &&
nothostchar(pathp[hostlen]))
return &pathp[hostlen];
--
TCP/IP: handling tomorrow's loads today| Henry Spencer at U of Toronto Zoology
OSI: handling yesterday's loads someday| henry at zoo.toronto.edu utzoo!henry
More information about the Comp.sources.bugs
mailing list