[news.software.nntp] OFFICIAL PATCH #2 for nntp 1.5

sob@bcm.tmc.edu (Stan Barber) (05/07/88)

> Index: nntp.1.5/server nntp.1.5/xmit (following patch #1)

Description:
	1. Arguements are reversed in one line in ahbs.c
	2. Patch #1 contained a typo in patch to strcasecmp.c
	3. nntp_awk script fails on entries created by nntpxmit under
	System V.

Repeat-by:
	1. Try using the ARTICLE, HEAD, BODY or STAT  command
	with no arguement. Does the usage line look right? Does it
	crash the server progrm?
	2. Try to compile strcasecmp.c with u_char undefined. See
	how the compiler is very happy about the extra semi-colon :-).
	3. Use the nntp_awk scipt under system V. Notice how all the
	unrecognized log lines are those produced by nntpxmit.

Fix:

Apply the following patches after you have change directory to nntp.1.5

NOTICE: PATCH #1 must have been applied before applying this patch.

Index: server/ahbs.c
*** ahbs.c	Fri May  6 18:36:14 1988
--- ../../nntp_gazette/server/ahbs.c	Fri May  6 18:38:00 1988
***************
*** 28,35 ****
  	register FILE	*fp;		/* For Message-ID retrieval only */
  
  	if (argc > 2) {
! 		printf("%d Usage: %s <message-id>|article_number.\r\n", argv[0],
! 			ERR_CMDSYN);
  		(void) fflush(stdout);
  		return;
  	}
--- 28,35 ----
  	register FILE	*fp;		/* For Message-ID retrieval only */
  
  	if (argc > 2) {
! 		printf("%d Usage: %s <message-id>|article_number.\r\n",
! 			ERR_CMDSYN,argv[0]);
  		(void) fflush(stdout);
  		return;
  	}
Index: server/strcasecmp.c
*** strcasecmp.c	Fri May  6 18:36:18 1988
--- ../../nntp_gazette/server/strcasecmp.c	Fri May  6 18:36:43 1988
***************
*** 16,22 ****
  
  #include <sys/types.h>
  #ifndef u_char
! #define u_char  unsigned char;
  #endif
  
  /*
--- 16,22 ----
  
  #include <sys/types.h>
  #ifndef u_char
! #define u_char  unsigned char
  #endif
  
  /*

	
Index:xmit/nntpxmit.c

*** nntpxmit.c	Tue Jan 12 02:37:55 1988
--- ../../nntp_gazette/xmit/nntpxmit.c	Sun Apr 17 02:07:18 1988
***************
*** 321,330 ****
  	log(L_INFO, buf);
  #ifdef 	USELOG
  	if (Logfp != (FILE *)NULL) {
  		(void) time(&tstamp);
  		tp = ctime(&tstamp);
! 		tp[19] = '\0';
! 		fprintf(Logfp, Fmt, &tp[4], buf);
  	}
  #endif	USELOG
  
--- 321,331 ----
  	log(L_INFO, buf);
  #ifdef 	USELOG
  	if (Logfp != (FILE *)NULL) {
+ 		char * loc;
  		(void) time(&tstamp);
  		tp = ctime(&tstamp);
! 		if ((loc = index(tp,'\n')) != NULL) *(loc) = '\0';
! 		fprintf(Logfp, Fmt, tp, buf);
  	}
  #endif	USELOG
  
***************
*** 333,339 ****
  	log(L_INFO, buf);
  #ifdef 	USELOG
  	if (Logfp != (FILE *)NULL) {
! 		fprintf(Logfp, Fmt, &tp[4], buf);
  		(void) fflush(Logfp);
  	}
  #endif	USELOG
--- 334,340 ----
  	log(L_INFO, buf);
  #ifdef 	USELOG
  	if (Logfp != (FILE *)NULL) {
! 		fprintf(Logfp, Fmt, tp, buf);
  		(void) fflush(Logfp);
  	}
  #endif	USELOG



Stan           internet: sob@tmc.edu          Baylor College of Medicine
Olan           uucp: {rice,killer,hoptoad}!academ!sob
Barber         Opinions expressed are only mine.