[net.sources.bugs] rn 4.3 patch #2

lwall@sdcrdcf.UUCP (Larry Wall) (05/14/85)

System: rn version 4.3
Patch #: 2
Priority: LOW
Subject: KILL file can set art < absfirst, causing "(-1 more)" error
From: lwall@sdcrdcf.UUCP (Larry Wall)

Description:
	If a newsgroup with a KILL file is left unread for a long time,
	the last article processed by the KILL file, as recorded by the
	THRU line in the KILL file, can become less than the minimum article
	in the newsgroup due to article expiration.  Unfortunately, there
	was no check to see if this had happened, so it was possible for
	rn to try to junk articles without valid bits in the bitmap.
	This causes rn to think it has junked more articles than it really
	has, causing the count of unread articles to become incorrect.

Fix:	From rn, say "| patch -d DIR", where DIR is your rn source directory.
	Outside of rn, say "cd DIR; patch <thisarticle".  If you don't have
	the patch program, apply the following by hand, or get patch.

	Warning: this patch is not reversed.  If the patch program says
	it is, then this patch has already been applied, and you should
	not apply it again.

	If patch indicates that patchlevel is the wrong version, you may need
	to apply one or more previous patches, or the patch may already
	have been applied.  See the patchlevel file to find out what has or
	has not been applied.  In any event, don't continue with the patch.

Index: patchlevel
Prereq: 1
1c1
< Patch #: 1
---
> Patch #: 2

Index: kfile.c
Prereq: 4.3
*** kfile.c.old	Fri May 10 14:22:47 1985
--- kfile.c	Fri May 10 14:22:49 1985
***************
*** 1,4
! /* $Header: kfile.c,v 4.3 85/05/01 11:41:53 lwall Exp $
   *
   * $Log:	kfile.c,v $
   * Revision 4.3  85/05/01  11:41:53  lwall

--- 1,4 -----
! /* $Header: kfile.c,v 4.3.1.2 85/05/10 14:21:29 lwall Exp $
   *
   * $Log:	kfile.c,v $
   * Revision 4.3.1.2  85/05/10  14:21:29  lwall
***************
*** 1,6
  /* $Header: kfile.c,v 4.3 85/05/01 11:41:53 lwall Exp $
   *
   * $Log:	kfile.c,v $
   * Revision 4.3  85/05/01  11:41:53  lwall
   * Baseline for release with 4.3bsd.
   * 

--- 1,12 -----
  /* $Header: kfile.c,v 4.3.1.2 85/05/10 14:21:29 lwall Exp $
   *
   * $Log:	kfile.c,v $
+  * Revision 4.3.1.2  85/05/10  14:21:29  lwall
+  * Prevented THRU from setting art < absfirst.
+  * 
+  * Revision 4.3.1.1  85/05/10  11:34:33  lwall
+  * Branch for patches.
+  * 
   * Revision 4.3  85/05/01  11:41:53  lwall
   * Baseline for release with 4.3bsd.
   * 
***************
*** 65,71
      while (fgets(buf,LBUFLEN,kfp) != Nullch) {
  	buf[strlen(buf)-1] = '\0';
  	if (strnEQ(buf,"THRU",4)) {
! 	    firstart = atol(buf+4)+1;
  	    continue;
  	}
  	if (*buf == 'X') {		/* exit command? */

--- 71,83 -----
      while (fgets(buf,LBUFLEN,kfp) != Nullch) {
  	buf[strlen(buf)-1] = '\0';
  	if (strnEQ(buf,"THRU",4)) {
! 	    ART_NUM tmpart;
! 
! 	    tmpart = atol(buf+4)+1;
! 	    if (tmpart < absfirst)
! 		tmpart = absfirst;
! 	    check_first(tmpart);
! 	    firstart = tmpart;
  	    continue;
  	}
  	if (*buf == 'X') {		/* exit command? */