Xref: utzoo news.software.b:3129 news.software.nntp:312
Path: utzoo!attcan!uunet!ucscc.ucsc.edu!gorn!filbo
From: filbo@gorn.santa-cruz.ca.us (Bela Lubkin)
Newsgroups: news.software.b,news.software.nntp
Subject: rn/rrn patchlevels, etc.
Message-ID: <47.filbo@gorn.santa-cruz.ca.us>
Date: 30 Sep 89 17:08:27 GMT
Organization: R Pentomino
Lines: 71
X-Claimer: I >am< R Pentomino!

I have been working on some patches to rrn.  The base version of rrn that I'm
working from claims to be rn patchlevel 40, with the rrn patches applied to it.
What is rn patch 40?  All the ftp sites seem to have rn patchlevel 39.  I
grabbed ucbvax:/pub/rrn.39.tar.Z; the local version differs only slightly, in
files common.h, rcln.c and respond.c.  At the end of this message are shortened
diffs of those three files, local copy vs. ucbvax patchlevel 39 sources.
Would someone please confirm that the changes represent patchlevel 40 and that
it's a valid patch...

The patches I'm working on improve rrn's use of NNTP, improving both user
speed and network bandwidth requirements.  I would like to know how to
dispose of them when they are complete -- send to comp.sources.unix, Larry
Wall, whoever the current Keeper of NNTP is, or what?  Someone please mail
me some guidance on this.

Also, this rrn suffers from an annoying bug, which I seem to remember
seeing mention of a patch for, but cannot find anything about:  When joining
a new group, if there is an ancient (Expires:) message followed by a large
number of expired messages, rrn will catch up the entire group rather than
finding the first existing article.  We had another rrn version, unfortunately
sans source, that did not do this.  Watching the NNTP stream, it appears to
be giving up after several HEADs fail consecutively.  Is there a patch for
this?  Where can I find patches, if any, later than the original rn->rrn
diffs?

Thanks in advance.  Diffs of ucbvax:39 vs. local:40 follow...

In common.h, all occurences of ".UUCP" were removed;

In rcln.c, 
***
!     *(rcline[ngnum] + rcnums[ngnum] - 1) = rcchar[ngnum];
---
! {
! 	char c = rcchar[ngnum];
!     *(rcline[ngnum] + rcnums[ngnum] - 1) = c;
! }

In respond.c,

***
      if (chdir(spool)) {
! #else not SERVER
      if (chdir(spool) || chdir(ngdir)) {
- #endif SERVER
  	printf(nocd,ngdir) FLUSH;
---
      if (chdir(spool)) {
! 	printf(nocd,spool) FLUSH;
! #else
      if (chdir(spool) || chdir(ngdir)) {
  	printf(nocd,ngdir) FLUSH;
+ #endif /* !SERVER */

***
      if (chdir(spool)) {
! #else not SERVER
      if (chdir(spool) || chdir(ngdir)) {
- #endif SERVER
  	printf(nocd,ngdir) FLUSH;
---
      if (chdir(spool)) {
! 	printf(nocd,spool) FLUSH;
! #else
      if (chdir(spool) || chdir(ngdir)) {
  	printf(nocd,ngdir) FLUSH;
+ #endif /* !SERVER */

Bela Lubkin     * *   filbo@gorn.santa-cruz.ca.us   CIS: 73047,1112
     @        * *     ...ucbvax!ucscc!gorn!filbo    ^^^  REALLY slow [months]
R Pentomino     *     Filbo @ Pyrzqxgl (408) 476-4633 & XBBS (408) 476-4945