Path: utzoo!utgpu!news-server.csri.toronto.edu!rpi!zaphod.mps.ohio-state.edu!sdd.hp.com!spool.mu.edu!munnari.oz.au!metro!seagoon.newcastle.edu.au!cc.newcastle.edu.au!sysnet From: sysnet@cc.newcastle.edu.au Newsgroups: news.software.nntp Subject: Re: nntpxfer problems Message-ID: <1991Apr4.194210.9921@cc.newcastle.edu.au> Date: 4 Apr 91 09:42:10 GMT Article-I.D.: cc.1991Apr4.194210.9921 References: <1991Mar22.115643.23058@cimcor.mn.org> Organization: University of Newcastle, AUSTRALIA Lines: 59 In article <1991Mar22.115643.23058@cimcor.mn.org>, mike@cimcor.mn.org (Michael Grenier) writes: > We've been using nntpxfer to selectively pick the newsgroups > we need which reduces net traffic. Recently though we've hit > a problem where requesting an article fails with a > > 502 : Can't give that to you, sorry I discovered this in 1.5.10 and sent the following to Stan Barber (too late for 1.5.11): I have been using nntpxfer to grab large amounts of news from a nearby server to set up a new one. In the course of this, I discovered what might be a bug, or might be a misinterpretation of something by the server. Anyway, what happened was that nntpxfer would ask for new news in a newsgroup (or a wildcard list of newsgroups). The server would respond with the list of new items, and my machine would then proceed to ask for them individually. Unfortunately, requests for some articles would give the response (produced with debugging enabled in nntpxfer): >>> ARTICLE <0094344F.15962800@robot.nuceng.ufl.edu> 502 Can't give that to you, sorry. nntpxfer: protocol error: got '502 Can't give that to you, sorry.' The nntp session was then closed immediately, leaving a whole lot of news items unable to be retrieved. When I looked at nntpxfer.c, it seems that the checking of responses is perhaps not as rigorous as it might be. In the short term, I have added code which just skips an article whose returned status is 5xx. Here is the diff output showing the lines added to the version of nntpxfer distributed with nntp 1.5.10. *** nntpxfer.c.orig Sun Aug 26 07:59:00 1990 --- nntpxfer.c Fri Feb 1 16:34:01 1991 *************** *** 384,389 **** --- 384,397 ---- return(0); } + /* Start DFM 1-Feb-91 */ + if (buf[0] == '5') /* Some unspecified error - skip the article */ + { + misart++; + return(0); + } + /* End DFM 1-Feb-91 */ + if (buf[0] != '2') /* uh-oh, something's wrong! */ { #ifdef SYSLOG All this does is recognise an "unspecified error" and goes on to the next article rather than having it treated as a "real" error and dying. -- David Morrison, Manager, Networks and Comms, Uni of Newcastle, Australia sysnet@cc.newcastle.edu.au or (VAX PSI) psi%0505249626002::sysnet Phone: +61 49 215397 Fax: +61 49 ?????? (New PABX, not connected yet :-( )