taka@nwt.fxis.fujixerox.co.jp (Takahiro Kanbe) (08/24/90)
Hello, I found some problem of NNTP 1.5.9. Using machine: Sun-4/110 / SunOS 4.0.3, Sun-4/60 / SunOS 4.0.3c. 1. When I defined SYSLOG, but I couldn't get LOG_NOTICE, LOG_INFO and LOG_DEBUG information. 2. When I defined NDBM, couldn't compile some files. 3. Still server/misc.c has uninitialized variable. (Someone pointed out this some time before.) 4. Space checking code still broken on SUN (at least SunOS 4.0.3). Original code compares f_bavail (member of struct statfs) with -1. But on SunOS, f_bavail returns negative value when filesystem is full, not always -1. This is patch Not official and something may wrong. I hope these will fix on NNTP 1.5.10 (and somone correct misunder- standing of mine). (I'm sorry that I can't send mail out of Japan.) diff -c common/conf.h.dist.orig common/conf.h.dist *** common/conf.h.dist.orig Mon Jul 16 08:16:59 1990 --- common/conf.h.dist Mon Jul 16 09:29:24 1990 *************** *** 92,98 **** #define SYSLOG LOG_UUCP #ifdef SYSLOG /* Define LOG if you want copious logging info */ ! #undef LOG /* undef it if you don't */ #endif /* but you can only have LOG if you have SYSLOG */ #ifdef BSD_42 /* This is a logical, warranted assumption */ --- 92,98 ---- #define SYSLOG LOG_UUCP #ifdef SYSLOG /* Define LOG if you want copious logging info */ ! #define LOG /* undef it if you don't */ #endif /* but you can only have LOG if you have SYSLOG */ #ifdef BSD_42 /* This is a logical, warranted assumption */ diff -c server/orig/common.h server/common.h *** server/orig/common.h Tue Jul 10 19:48:09 1990 --- server/common.h Mon Jul 16 08:27:33 1990 *************** *** 62,77 **** * brain death is necessary. */ - #ifdef DBM - # undef NULL - # include <dbm.h> - # undef NULL - # define NULL 0 - #endif DBM - #ifdef NDBM # include <ndbm.h> ! #endif /* * Some generic maximums. */ --- 62,78 ---- * brain death is necessary. */ #ifdef NDBM # include <ndbm.h> ! #else NDBM ! # ifdef DBM ! # undef NULL ! # include <dbm.h> ! # undef NULL ! # define NULL 0 ! # endif DBM ! #endif NDBM ! /* * Some generic maximums. */ diff -c server/orig/misc.c server/misc.c *** server/orig/misc.c Tue Jul 10 19:46:20 1990 --- server/misc.c Mon Jul 16 09:01:42 1990 *************** *** 293,298 **** --- 293,299 ---- static char **ngarray; int ngcount; + ngcount = 0; if (ngpermcount == 0) { if (ALLBUT == 0) return 0; *************** *** 809,815 **** if (filfree(fsys) < MINFILES ) return( DFREE_INODES ); # endif ! if (blkavail(fsys) == -1) { /* the bavail field doesn't apply to this file system */ if(blkfree(fsys) < free_space) return( DFREE_BLOCKS ); --- 810,816 ---- if (filfree(fsys) < MINFILES ) return( DFREE_INODES ); # endif ! if (blkavail(fsys) < 0L) { /* the bavail field doesn't apply to this file system */ if(blkfree(fsys) < free_space) return( DFREE_BLOCKS ); diff -c xfer/orig/nntpxfer.c xfer/nntpxfer.c *** xfer/orig/nntpxfer.c Tue Jul 10 19:46:29 1990 --- xfer/nntpxfer.c Mon Jul 16 08:28:47 1990 *************** *** 59,76 **** #endif #endif - #ifdef DBM - # undef NULL - # include <dbm.h> - # undef NULL - # define NULL 0 - #endif DBM - #ifdef NDBM ! #include <ndbm.h> ! #include <fcntl.h> static DBM *db = NULL; ! #endif #ifndef TIMEOUT #define TIMEOUT (30*60) #endif --- 59,77 ---- #endif #endif #ifdef NDBM ! # include <ndbm.h> ! # include <fcntl.h> static DBM *db = NULL; ! #else NDBM ! # ifdef DBM ! # undef NULL ! # include <dbm.h> ! # undef NULL ! # define NULL 0 ! # endif DBM ! #endif NDBM ! #ifndef TIMEOUT #define TIMEOUT (30*60) #endif -- Takahiro Kanbe, Fuji Xerox Information Systems. XEROX CIN: "taka:FXIS:Fuji Xerox"