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.