home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Usenet 1994 October
/
usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso
/
unix
/
volume7
/
2.11news
/
patch07
< prev
next >
Wrap
Text File
|
1987-04-07
|
8KB
|
345 lines
Path: mirror!adelie!necntc!husc6!seismo!rick
From: rick@seismo.CSS.GOV (Rick Adams)
Newsgroups: news.software.b
Subject: Patch #7 for news 2.11 src
Message-ID: <43252@beno.seismo.CSS.GOV>
Date: 7 Apr 87 17:58:13 GMT
Organization: Center for Seismic Studies, Arlington, VA
Lines: 335
This patch contains no enhancements. It is intended to only correct
problems in patch #6. In theory, patch #7 should be a stable,
largely bugfree version. #8 will add more enhancements and undoubtably
introduce new bugs.
Description:
This is patch #7 for news 2.11 source. It addresses the following
problems:
Fix more problems with the GENERICPATH/GENERICFROM defines.
Fix a problem with the interaction of SPOOLNEWS and moderators
posting.
Add ifdef so machines that support flock() but not the fcntl()
interface can define FLOCK.
username was not set in expire causing it to drop core when it
tried to log an error.
inews now handles non-batched rnews input correctly.
checknews now complains if no argument is given with -N
Fix:
cd to the src directory and apply the following patch
Index: patchlevel.h
Prereq: 6
*** .d/patchlevel.h Tue Mar 24 13:51:17 1987
--- patchlevel.h Mon Apr 6 19:43:42 1987
***************
*** 1,3 ****
! #define PATCHLEVEL 6
! #define NEWS_VERSION "B 2.11 3/23/87"
--- 1,3 ----
! #define PATCHLEVEL 7
! #define NEWS_VERSION "B 2.11 4/06/87"
Index: params.h
Prereq: 2.22
*** .d/params.h Tue Mar 24 13:51:47 1987
--- params.h Mon Apr 6 19:43:42 1987
***************
*** 3,7 ****
*/
! /* @(#)params.h 2.22 3/20/87 */
#include <stdio.h>
--- 3,7 ----
*/
! /* @(#)params.h 2.23 4/6/87 */
#include <stdio.h>
***************
*** 118,121 ****
--- 118,122 ----
# ifndef GENERICFROM /* Ugly fix, only for use in pathinit.c */
# define GENERICFROM "%s%0.0s%s", HIDDENNET
+ # define HIDDENNET_IN_LOCALSYSNAME
# endif
# ifndef GENERICPATH
Index: pathinit.c
Prereq: 1.22
*** .d/pathinit.c Tue Mar 24 13:51:48 1987
--- pathinit.c Mon Apr 6 19:43:43 1987
***************
*** 35,39 ****
#ifdef SCCSID
! static char *SccsId = "@(#)pathinit.c 1.22 3/23/87";
#endif /* SCCSID */
--- 35,39 ----
#ifdef SCCSID
! static char *SccsId = "@(#)pathinit.c 1.23 4/6/87";
#endif /* SCCSID */
***************
*** 118,125 ****
char *p;
#endif /* EXP */
! #if !defined(CHKN) && !defined(EXP)
! #ifdef GENERICFROM
! int len;
! #endif /* GENERICFROM */
struct utsname ubuf;
char buf[BUFLEN];
--- 118,122 ----
char *p;
#endif /* EXP */
! #ifndef CHKN
struct utsname ubuf;
char buf[BUFLEN];
***************
*** 128,149 ****
uname(&ubuf);
#ifdef GENERICFROM
(void) sprintf(buf, GENERICFROM, ubuf.nodename, mydomain());
FROMSYSNAME = AllocCpy(buf);
! len = strlen(ubuf.nodename);
! if (FROMSYSNAME[len] == '.' &&
! strncmp(ubuf.nodename, FROMSYSNAME, len) == 0)
! LOCALSYSNAME = FROMSYSNAME;
! else {
! (void) sprintf(buf, "%s.%s", ubuf.nodename, FROMSYSNAME);
! LOCALSYSNAME = AllocCpy(buf);
! }
! #else /* !GENERICFROM */
! (void) sprintf(buf, "%s%s", ubuf.nodename, mydomain());
! LOCALSYSNAME = AllocCpy(buf);
FROMSYSNAME = LOCALSYSNAME;
! #endif /* !GENERICFROM */
LOCALPATHSYSNAME = AllocCpy(ubuf.nodename);
#ifdef GENERICPATH
(void) sprintf(buf, GENERICPATH, ubuf.nodename, mydomain());
--- 125,147 ----
uname(&ubuf);
+ #ifdef HIDDENNET_IN_LOCALSYSNAME
+ /* old compatibility code, remove when HIDDENNET is used no more */
+ if (strcmp(ubuf.nodename, HIDDENNET) != 0)
+ (void) sprintf(buf, "%s.%s%s", ubuf.nodename, HIDDENNET,
+ mydomain());
+ else
+ #endif
+ (void) sprintf(buf, "%s%s", ubuf.nodename, mydomain());
+ LOCALSYSNAME = AllocCpy(buf);
+
#ifdef GENERICFROM
(void) sprintf(buf, GENERICFROM, ubuf.nodename, mydomain());
FROMSYSNAME = AllocCpy(buf);
! #else /* !GENERICFROM */
FROMSYSNAME = LOCALSYSNAME;
! #endif /* !GENERICFROM */
LOCALPATHSYSNAME = AllocCpy(ubuf.nodename);
+
#ifdef GENERICPATH
(void) sprintf(buf, GENERICPATH, ubuf.nodename, mydomain());
***************
*** 153,157 ****
#endif /* !GENERICPATH */
! #endif /* !CHKN && ! EXP */
#ifdef HOME
--- 151,155 ----
#endif /* !GENERICPATH */
! #endif /* !CHKN */
#ifdef HOME
Index: ifuncs.c
Prereq: 2.63
*** .d/ifuncs.c Tue Mar 24 13:51:41 1987
--- ifuncs.c Mon Apr 6 19:43:39 1987
***************
*** 17,21 ****
#ifdef SCCSID
! static char *SccsId = "@(#)ifuncs.c 2.63 3/23/87";
#endif /* SCCSID */
--- 17,21 ----
#ifdef SCCSID
! static char *SccsId = "@(#)ifuncs.c 2.64 4/6/87";
#endif /* SCCSID */
***************
*** 1052,1057 ****
{
int c;
! setbuf(infp, NULL);
while ((c = getc(infp)) == '#') {
/* some kind of batch, investigate further */
--- 1052,1058 ----
{
int c;
+ char *cp;
! setbuf(infp, (char *)NULL);
while ((c = getc(infp)) == '#') {
/* some kind of batch, investigate further */
***************
*** 1194,1197 ****
--- 1195,1201 ----
}
} /* while a batch */
+ cp = malloc((unsigned)BUFSIZ);
+ if (cp != NULL)
+ setbuf(infp, cp);
if (c != EOF)
(void) ungetc(c, infp);
***************
*** 1398,1402 ****
LockFd = open(SUBFILE, 2);
if (LockFd < 0)
! logerr("Can't open(%s,2) to lock", SUBFILE);
/* This will sleep until the other program releases the lock */
/* We may need to alarm out of this, but I don't think so */
--- 1402,1406 ----
LockFd = open(SUBFILE, 2);
if (LockFd < 0)
! logerr("Can't open(\"%s\",2) to lock", SUBFILE);
/* This will sleep until the other program releases the lock */
/* We may need to alarm out of this, but I don't think so */
Index: inews.c
Prereq: 2.78
*** .d/inews.c Tue Mar 24 13:51:45 1987
--- inews.c Mon Apr 6 19:43:41 1987
***************
*** 18,22 ****
#ifdef SCCSID
! static char *SccsId = "@(#)inews.c 2.78 3/23/87";
#endif /* SCCSID */
--- 18,22 ----
#ifdef SCCSID
! static char *SccsId = "@(#)inews.c 2.79 4/6/87";
#endif /* SCCSID */
***************
*** 27,31 ****
--- 27,33 ----
# include <fcntl.h>
+ # ifdef F_RDLCK
struct flock news_lock;
+ # endif /* F_RDLCK */
# endif /* LOCKF */
***************
*** 353,357 ****
/* there are certain fields we won't let him specify. */
if (header.from[0]) {
! if (Sflag) {
register char *p;
strcpy(bfr, header.from);
--- 355,360 ----
/* there are certain fields we won't let him specify. */
if (header.from[0]) {
! if (Sflag && !Mflag && !header.approved[0] &
! !header.sender[0]) {
register char *p;
strcpy(bfr, header.from);
***************
*** 533,537 ****
mfd = mailhdr((struct hbuf *)NULL,
exists(dir) ? "Unwritable directories" : "Missing directories");
! if (mfs == NULL)
return;
putc('\n', mfd);
--- 536,540 ----
mfd = mailhdr((struct hbuf *)NULL,
exists(dir) ? "Unwritable directories" : "Missing directories");
! if (mfd == NULL)
return;
putc('\n', mfd);
***************
*** 941,946 ****
savehist(histline);
} else {
! if (s_find(&srec, PATHSYSNAME) == FALSE) {
! logerr("Cannot find my name '%s' in %s", PATHSYSNAME, SUBFILE);
srec = dummy_srec;
}
--- 944,950 ----
savehist(histline);
} else {
! if (s_find(&srec, LOCALPATHSYSNAME) == FALSE) {
! logerr("Cannot find my name '%s' in %s",
! LOCALPATHSYSNAME, SUBFILE);
srec = dummy_srec;
}
Index: checknews.c
Prereq: 2.28
*** .d/checknews.c Tue Feb 24 17:55:41 1987
--- checknews.c Mon Apr 6 19:43:35 1987
***************
*** 17,21 ****
#ifdef SCCSID
! static char *SccsId = "@(#)checknews.c 2.28 2/22/87";
#endif /* SCCSID */
--- 17,21 ----
#ifdef SCCSID
! static char *SccsId = "@(#)checknews.c 2.29 4/6/87";
#endif /* SCCSID */
***************
*** 72,75 ****
--- 72,77 ----
case 'N':
nflag++;
+ if (argc <= 1)
+ xerror("No newsgroup specified with -N");
strcpy(narggrp,argv[1]);
strcat(narggrp,",");
Index: expire.c
Prereq: 2.52
*** .d/expire.c Tue Mar 24 13:51:29 1987
--- expire.c Mon Apr 6 19:43:37 1987
***************
*** 18,22 ****
#ifdef SCCSID
! static char *SccsId = "@(#)expire.c 2.52 3/20/87";
#endif /* SCCSID */
--- 18,22 ----
#ifdef SCCSID
! static char *SccsId = "@(#)expire.c 2.53 4/6/87";
#endif /* SCCSID */
***************
*** 114,117 ****
--- 114,118 ----
pathinit();
(void) umask(N_UMASK);
+ username = NEWSUSR;
/*