arnold@skeeve.UUCP (Arnold D. Robbins) (01/27/89)
See the announcement in unix-pc.general for what this is and why you might want it. ---------------------------------------------------------------- From gatech!ncar!ames!amdcad!sun!pitstop!sundc!seismo!uunet!rick Wed Jan 25 13:16:10 EST 1989 Article 1798 of news.software.b: Path: emory!gatech!ncar!ames!amdcad!sun!pitstop!sundc!seismo!uunet!rick >From: rick@uunet.UU.NET (Rick Adams) Newsgroups: news.software.b Subject: Patch #16 for news 2.11 source Summary: part two of three Message-ID: <47349@uunet.UU.NET> Date: 25 Jan 89 03:27:17 GMT References: <47348@uunet.UU.NET> Organization: UUNET Communications Services, Arlington, VA Lines: 2084 Description: This is the second part of three patches. After applying this you should be at patchlevel 16. Fix: apply this in the same manner as patch 15. Index: inews.c Prereq: 2.85 *** old/inews.c Fri Dec 4 02:52:12 1987 --- inews.c Tue Jan 24 15:24:00 1989 *************** *** 1,3 /* ! * This software is Copyright (c) 1986 by Rick Adams. * --- 1,3 ----- /* ! * This software is Copyright 1986, 1989 by Rick Adams. * *************** *** 19,21 #ifdef SCCSID ! static char *SccsId = "@(#)inews.c 2.85 11/30/87"; #endif /* SCCSID */ --- 19,21 ----- #ifdef SCCSID ! static char *SccsId = "@(#)inews.c 2.91 1/24/89"; #endif /* SCCSID */ *************** *** 28,30 ! # if defined(F_RDLCK) && defined(F_SETLK) struct flock news_lock; --- 28,30 ----- ! # if defined(F_RDLCK) && defined(F_SETLK) && !defined(HP9K5) struct flock news_lock; *************** *** 30,32 struct flock news_lock; ! # endif /* F_RDLCK && F_SETLK */ # endif /* LOCKF */ --- 30,32 ----- struct flock news_lock; ! # endif /* F_RDLCK && F_SETLK && !HP9K5 */ # endif /* LOCKF */ *************** *** 59,61 /* Fake sys line in case they forget their own system */ - struct srec dummy_srec = { "MEMEME", "", "all", "", "" }; --- 59,60 ----- /* Fake sys line in case they forget their own system */ *************** *** 100,101 FILE *mailhdr(); extern int errno, xxit(); --- 99,101 ----- FILE *mailhdr(); + extern FILE *controlmail; extern int errno, xxit(); *************** *** 127,128 FILE *mfd; /* mail file file-descriptor */ --- 127,131 ----- FILE *mfd; /* mail file file-descriptor */ + #if !defined(LOCKF) && !defined(BSD4_2) + struct stat stbuf; + #endif /* !LOCKF && ! BSD4_2 */ *************** *** 139,140 ptr = *argv - 1; actfp = xfopen(ACTIVE, "r+"); --- 142,147 ----- ptr = *argv - 1; + + #ifdef NFSCLIENT + actfp = xfopen(ACTIVE, "r"); + #else /* !NFSCLIENT */ actfp = xfopen(ACTIVE, "r+"); *************** *** 140,142 actfp = xfopen(ACTIVE, "r+"); - #ifndef NFSCLIENT #ifdef LOCKF --- 147,148 ----- actfp = xfopen(ACTIVE, "r+"); #ifdef LOCKF *************** *** 142,144 #ifdef LOCKF ! # if defined(F_RDLCK) && defined(F_SETLK) news_lock.l_type = F_RDLCK; --- 148,150 ----- #ifdef LOCKF ! # if defined(F_RDLCK) && defined(F_SETLK) && !defined(HP9K5) news_lock.l_type = F_RDLCK; *************** *** 145,147 if (fcntl(fileno(actfp), F_SETLK, &news_lock) < 0) { ! # else /* !F_RDLCK */ if (lockf(fileno(actfp), F_TLOCK, 0L) < 0) { --- 151,153 ----- if (fcntl(fileno(actfp), F_SETLK, &news_lock) < 0) { ! # else /* !(F_RDLCK && F_SETLK && !HP9K5) */ if (lockf(fileno(actfp), F_TLOCK, 0L) < 0) { *************** *** 147,149 if (lockf(fileno(actfp), F_TLOCK, 0L) < 0) { ! # endif /* !F_RDLCK */ if (errno != EAGAIN && errno != EACCES) --- 153,155 ----- if (lockf(fileno(actfp), F_TLOCK, 0L) < 0) { ! # endif /* !(F_RDLCK && F_SETLK && !HP9K5) */ if (errno != EAGAIN && errno != EACCES) *************** *** 155,158 sprintf(bfr, "%s.lock", ACTIVE); ! if (LINK(ACTIVE, bfr) < 0) { ! if (errno != EEXIST) #endif /* V7 */ --- 161,168 ----- sprintf(bfr, "%s.lock", ACTIVE); ! /* assume a dead lock if the active file is over 12 hours old */ ! if (LINK(ACTIVE, bfr) < 0 && ! (errno != EEXIST || ! (stat(bfr, &stbuf) == 0 && ! (time((char *)0) - stbuf.st_mtime) < DAYS/2))) { ! if (errno != EEXIST) #endif /* V7 */ *************** *** 225,227 } ! state = OPTION; --- 235,245 ----- } ! #ifdef MINFREE ! if (space()) { /* check disk space */ ! mode = PROC; ! logerr("Out of space in %s. Saving for later processing.", ! SPOOLDIR); ! dospool((char *)NULL, FALSE); ! /* NOT REACHED */ ! } ! #endif /* MINFREE */ state = OPTION; *************** *** 281,283 - #ifndef DOGETUSER /* --- 299,300 ----- /* *************** *** 286,288 */ ! if (isatty(fileno(stderr))) { if ((user = getenv("USER")) == NULL) --- 303,309 ----- */ ! if (isatty(fileno(stderr)) ! #ifdef DOGETUSER ! && uid == 0 /* allow root to set name in any case */ ! #endif /* !DOGETUSER */ ! ) { if ((user = getenv("USER")) == NULL) *************** *** 292,294 } - #endif /* !DOGETUSER */ if (user == NULL || home == NULL) --- 313,314 ----- } if (user == NULL || home == NULL) *************** *** 440,442 else if (!header.path[0]) { ! (void) strcpy(header.path, forgedname); --- 460,469 ----- else if (!header.path[0]) { ! if ((p1 = rindex(forgedname, '@')) == NULL) ! (void) strcpy(header.path, forgedname); ! else { ! *p1 = '\0'; ! (void) sprintf(header.path, "%s!%s", ! p1+1, forgedname); ! *p1 = '@'; ! } *************** *** 568,569 if (rwaccess(f)) --- 595,597 ----- + #ifndef NFSCLIENT if (rwaccess(f)) *************** *** 572,573 exists(f) ? "Unwritable files!" : "Missing files!"); if (mfd == NULL) --- 600,606 ----- exists(f) ? "Unwritable files!" : "Missing files!"); + #else /* NFSCLIENT */ + if (exists(f)) + return; /* everything is ok */ + mfd = mailhdr((struct hbuf *)NULL, "Missing files!"); + #endif /* NFSCLIENT */ if (mfd == NULL) *************** *** 676,678 ! (void) sprintf(sfile, "%s/.spXXXXXX", SPOOL); MKTEMP(sfile); --- 709,711 ----- ! (void) sprintf(sfile, "%s/.tmp/spXXXXXX", SPOOL); MKTEMP(sfile); *************** *** 775,776 char firstbufname[BUFLEN]; /* --- 808,812 ----- char firstbufname[BUFLEN]; + + static char *artlinks[32]; + static int linkcount; /* *************** *** 854,855 /* * This works around a bug in the 4.1bsd stdio --- 890,899 ----- /* + * Keep track of destination file names so we can delete + * the article files if the write-out fails. + */ + cp = malloc(strlen(bfr)+1); + (void) strcpy(cp, bfr); + artlinks[linkcount++] = cp; + + /* * This works around a bug in the 4.1bsd stdio *************** *** 937,938 tfp = xfopen(ARTICLE, "w"); --- 981,983 ----- tfp = xfopen(ARTICLE, "w"); + linkcount = 0; *************** *** 940,942 if (is_invalid) { ! logerr("No valid newsgroups found, moved to junk"); if (localize("junk")) --- 985,988 ----- if (is_invalid) { ! logerr("%s: No valid newsgroups found, moved to junk", ! header.nbuf); if (localize("junk")) *************** *** 1047,1049 LOCALPATHSYSNAME, SUBFILE); ! srec = dummy_srec; } --- 1093,1099 ----- LOCALPATHSYSNAME, SUBFILE); ! strcpy(srec.s_name, "ME-dummy"); ! srec.s_nosend = NULL; ! strcpy(srec.s_nbuf, "all"); ! srec.s_flags[0] = '\0'; ! srec.s_xmit[0] = '\0'; } *************** *** 1096,1098 /* Part 2 of kludge to get around article truncation problem */ ! if (c == ' ' || c == '\t' ) putc('\n', tfp); --- 1146,1148 ----- /* Part 2 of kludge to get around article truncation problem */ ! if (c == ' ' || c == '\t' ) { putc('\n', tfp); *************** *** 1098,1099 putc('\n', tfp); /* End of part 2 */ --- 1148,1152 ----- putc('\n', tfp); + if (controlmail) + putc('\n', controlmail); + } /* End of part 2 */ *************** *** 1100,1102 ungetc(c, infp); ! while (fgets(bfr, BUFLEN, infp) != NULL) fputs(bfr, tfp); --- 1153,1155 ----- ungetc(c, infp); ! while (fgets(bfr, BUFLEN, infp) != NULL) { fputs(bfr, tfp); *************** *** 1102,1105 fputs(bfr, tfp); ! if (bfr[strlen(bfr)-1] != '\n') ! putc('\n',tfp); } --- 1155,1164 ----- fputs(bfr, tfp); ! if (controlmail) ! fputs(bfr, controlmail); ! } ! if (bfr[strlen(bfr)-1] != '\n') { ! putc('\n', tfp); ! if (controlmail) ! putc('\n', controlmail); ! } } *************** *** 1105,1106 } if (ferror(tfp)) --- 1164,1169 ----- } + if (controlmail) + (void) mclose(controlmail); + controlmail = NULL; + fflush(tfp); if (ferror(tfp)) *************** *** 1106,1107 if (ferror(tfp)) xerror("Write failed for temp file"); --- 1169,1174 ----- if (ferror(tfp)) + { + (void) UNLINK(ARTICLE); + for (c = 0; c < linkcount; c++) + (void) UNLINK(artlinks[c]); xerror("Write failed for temp file"); *************** *** 1107,1108 xerror("Write failed for temp file"); (void) fclose(tfp); --- 1174,1181 ----- xerror("Write failed for temp file"); + } + else + { + for (c = 0; c < linkcount; c++) + free(artlinks[c]); + } (void) fclose(tfp); *************** *** 1225,1226 (void) fclose(infp); if (mode != PROC && --- 1298,1316 ----- (void) fclose(infp); + if (mode != PROC && + index(header.nbuf,',') != NULL && + strlen(header.followto) == 0) { + /* + * they didn't give us a followup-to + * so we'll make one for them + */ + char *comma; + + /* just use the first newsgroup in the Newsgroups: line */ + strcpy(header.followto, header.nbuf); + comma = index(header.followto, ','); + if (comma != NULL) { /* this should always be true! */ + *comma = '\0'; + } + } + if (mode != PROC && *************** *** 1244,1245 break; if (siglines > 4) --- 1334,1340 ----- break; + else if (index(sbuf, '\n') == 0) { + fprintf(stderr, ".signature not included (long or unterminated line)\n"); + siglines = -1; + break; + } if (siglines > 4) *************** *** 1246,1248 fprintf(stderr,".signature not included (> 4 lines)\n"); ! else { rewind(infp); --- 1341,1345 ----- fprintf(stderr,".signature not included (> 4 lines)\n"); ! else if (siglines == 0) ! fprintf(stderr,".signature not included (empty)\n"); ! else if (siglines > 0) { rewind(infp); *************** *** 1401,1403 register DIR *dirp; ! register struct direct *dir; register int foundsome; --- 1498,1500 ----- register DIR *dirp; ! register DIRECTORY_STRUCT *dir; register int foundsome; *************** *** 1408,1409 #endif /* LOCKF */ #ifdef VMS --- 1505,1510 ----- #endif /* LOCKF */ + + #if !defined(LOCKF) && !defined(BSD4_2) + struct stat stbuf; + #endif /* !LOCKF && ! BSD4_2 */ #ifdef VMS *************** *** 1422,1423 LockFd = xfopen(SEQFILE, "r+w"); if (lockf(fileno(LockFd), F_TLOCK, 0L) < 0) { --- 1523,1526 ----- LockFd = xfopen(SEQFILE, "r+w"); + /* The lseek is kludge for systems with mandatory locking */ + lseek(fileno(LockFd), 512L, 0); if (lockf(fileno(LockFd), F_TLOCK, 0L) < 0) { *************** *** 1436,1439 errno = status; ! if (ret < 0) { ! if (errno != EEXIST) #endif /* V7 */ --- 1539,1546 ----- errno = status; ! /* assume a dead lock if the active file is over 12 hours old */ ! if (ret < 0 && ! (errno != EEXIST || ! (stat(bfr, &stbuf) == 0 && ! (time((char *)0) - stbuf.st_mtime) < DAYS/2))) { ! if (errno != EEXIST) #endif /* V7 */ *************** *** 1479,1481 if (status != 0) { ! sprintf(bfr, "../%s", dir->d_name); (void) LINK(dir->d_name, bfr); --- 1586,1588 ----- if (status != 0) { ! sprintf(bfr, "../.bad/%s", dir->d_name); (void) LINK(dir->d_name, bfr); *************** *** 1481,1483 (void) LINK(dir->d_name, bfr); ! logerr("rnews failed, status %ld. Batch saved in %s/%s", (long)status, SPOOL, dir->d_name); --- 1588,1590 ----- (void) LINK(dir->d_name, bfr); ! logerr("rnews failed, status %ld. Batch saved in %s/.bad/%s", (long)status, SPOOL, dir->d_name); *************** *** 1498 #endif /* !NFSCLIENT */ --- 1605,1633 ----- #endif /* !NFSCLIENT */ + + #ifdef MINFREE + #include <ustat.h> + /* + * determine if there is enough free space on the device + * return 0 if there is and + * anything appropriate if there is not + * written by Stan Barber (sob@bcm.tmc.edu) + */ + space() + { + struct stat file; + struct ustat device; + if (stat(SPOOLDIR,&file)) + return 1; /* can't stat spool */ + if (ustat(file.st_dev, &device)) + return 1; /* can't stat the device */ + if(device.f_tfree < MINFREE) + return 1; + return 0; + } + #else + int space() + { + /* I'll figure this out for BSD some other time */ + return(0); + } + #endif /* MINFREE */ Index: install.sh Prereq: 1.19 *** old/install.sh Mon Nov 23 19:13:25 1987 --- install.sh Sun Jan 15 19:49:00 1989 *************** *** 1,2 ! : '@(#)install.sh 1.19 11/19/87' --- 1,2 ----- ! : '@(#)install.sh 1.20 1/15/89' *************** *** 54,56 then ! for i in $SPOOLDIR $SPOOLDIR/.rnews do --- 54,56 ----- then ! for i in $SPOOLDIR $SPOOLDIR/.rnews $SPOOLDIR/.bad $SPOOLDIR/.tmp do Index: localize.mport *** old/localize.mport Sun Jan 15 19:53:47 1989 --- localize.mport Sun Jan 15 19:49:01 1989 *************** *** 0 --- 1,44 ----- + # Date: Tue, 29 Nov 88 12:14:54 EST + # From: algor2!jeffrey@uunet.UU.NET + + rm -f Makefile + cp Makefile.dst Makefile + chmod u+w Makefile + ed - Makefile <<'EOF' + /^UUXFLAGS/s/-r // + /^COMPRESS=/d + /^#USG IBMFLAGS/s/=/& -Ml/ + /^#USG LFLAGS/s/-i// + /^#USG LINTFLAGS/s/-D/-Ml -D/ + g/^#USG /s/// + g/^#V7 /d + g/^#VMS /d + g/^#BSD4_[123] /d + g/#NOTVMS/s/#NOTVMS.*// + g/termlib/s//curses/ + w + q + EOF + rm -f defs.h + cp defs.dist defs.h + chmod u+w defs.h + ed - defs.h <<'EOF' + /ROOTID/s/10/133/ + /HISTEXP/s;4\*WEEKS;DFLTEXP; + /TMAIL/d + /PAGE/s;/usr/ucb/more;/usr/bin/pg; + /DFTXMIT/s/-r/-gd/ + /UXMIT/s/-r/-gd/ + /NONEWGROUPS/s;/\* ;; + /LOCALNAME/s;/\* ;; + /INTERNET/s;/\* ;; + /DOXREFS/s;/\* ;; + /DOGETUSER/s;/\* ;; + /MKDIRSUB/s;/\* ;; + /MYORG/s;Frobozz Inc., St. Louis;/usr/lib/news/organization; + /NICENESS/s;/\* ;; + /NICENESS/s;4;19; + /SMALL_ADDRESS_SPACE/s;/\* ;; + w + q + EOF Index: localize.nntp *** old/localize.nntp Fri Oct 16 18:21:56 1987 --- localize.nntp Tue Jan 17 13:09:29 1989 *************** *** 4,6 # Basically, you can use the regular localize.sh you use and add those line ! # that contain #NNTP, NNTPSRC and SERVERFILE to make it work. # The string NNTPSRC should be replaced with the location of your nntp source --- 4,13 ----- # Basically, you can use the regular localize.sh you use and add those line ! # that contain #NNTP and NNTPSRC to make it work. You will need two ! # localize.sh files. One will be for the SERVER where you build the regular ! # inews and run the nntpd server. The other will be for the nntp clients. ! # On these machines, you will only build readnews, checknews, vnews and ! # postnews. You only need the parts of the nntp distribution that are in the ! # common directory to build these programs. You will also need the inews ! # program from nntp distribution. ! # # The string NNTPSRC should be replaced with the location of your nntp source *************** *** 6,9 # The string NNTPSRC should be replaced with the location of your nntp source ! # directory. The string SERVERFILE should be replaced with the location of ! # the serverfile. See the nntp (Version 1.4) instructions for more information. # --- 13,15 ----- # The string NNTPSRC should be replaced with the location of your nntp source ! # directory. # *************** *** 9,12 # ! # You will need nntp version 1.4 to make full use of these programs. They ! # make some use of the XHDR extenstion in nntp version 1.4. # --- 15,20 ----- # ! # You will need nntp version 1.5 to make full use of these programs. They ! # make some use of the XHDR extension in nntp version 1.5. They will work ! # with nntp 1.3. If you use nntp 1.4, please manually edit nntp.c to include ! # "response_codes.h". Look at the beginning of the file for details. # *************** *** 13,16 # You do not need to include any reference to the dbm library. DBM may remain ! # undefined. You may also want to remove $(OTHERS) from the line in the ! # Makefile that starts with "all:". # --- 21,23 ----- # You do not need to include any reference to the dbm library. DBM may remain ! # undefined. # *************** *** 17,19 # You may want to include the line that begins with #RESOLVE in localize.sh ! # if you want to link against the resolver library. I use it on my suns. # --- 24,26 ----- # You may want to include the line that begins with #RESOLVE in localize.sh ! # if you want to link against the resolver library. # *************** *** 19,24 # - # You will need to create a "mailpaths" file on each host that uses these - # programs. See the regular news documenation for information on the - # mailpaths file. - # # PROBLEMS: --- 26,27 ----- # # PROBLEMS: *************** *** 26,28 # 1. Distribution checking is disabled in postnews. nntp does not provide this ! # information, so postnews cannot check the article before posting. # --- 29,32 ----- # 1. Distribution checking is disabled in postnews. nntp does not provide this ! # information, so postnews cannot check the article before posting. However, ! # nntp will return status information if the article fails to post. # *************** *** 35,37 # host that uses these programs. nntp does not provide this information from ! # the server. # --- 39,41 ----- # host that uses these programs. nntp does not provide this information from ! # the server. # *************** *** 40,43 # ! # 5. XHDR support is necessary for some functions to work. This can be rewritten ! # to avoid this, but I have not done it yet. # --- 44,47 ----- # ! # 5. XHDR support is necessary for some functions to work. This can be ! # rewritten to avoid this. nntp 1.5 is available which does support this. # *************** *** 68,70 g/^#BSD4_1 /d ! g/^all:/s/$(OTHERS)// g/#NOTVMS/s/#NOTVMS// --- 72,79 ----- g/^#BSD4_1 /d ! g/^BINDIR/s/bin/local\/bin/ ! g/^NEWSUSR/s/news/usenet/ ! g/^LIBS/s/-ldbm// ! g/^LNRNEWS/s/ln/ln -s/ ! g/^RNEWS/s/$(BINDIR)/\/usr\/bin/ ! g/^UUXFLAGS/s/-r/-gN -r/ g/#NOTVMS/s/#NOTVMS// *************** *** 70,74 g/#NOTVMS/s/#NOTVMS// ! g/-DDBM/s/-DDBM// ! g/-ldbm/s/-ldbm// ! g/NNTPSRC/s/NNTPSRC/\/usr\/src\/nntp/ w --- 79,82 ----- g/#NOTVMS/s/#NOTVMS// ! g/-DDBM/s/-DDBM/-DNOSHELL/ ! g/NNTPSRC/s/NNTPSRC/\/usr\/src\/new\/nntp.1.5/ w *************** *** 80,82 ed defs.h << 'EOF' ! g/NNTPSRC/s/NNTPSRC/\usr\/src\/nntp/ g/SERVERFILE/s/SERVERFILE/\/usr\/lib\/news\/server/ --- 88,101 ----- ed defs.h << 'EOF' ! g/DOXREFS/s/^\/\* // ! g/NICENESS/s/^\/\* // ! g/PATH/s/=/=\/usr/ ! g/UUPROG/s/^\/\* // ! g/INTERNET/s/^\/\* // ! g/SENDMAIL/s/^\/\* // ! g/ORGDISTRIB/s/^\/\* // ! g/ GHNAME/s/^\/\* // ! g/ BSD4_2/s/^\/\* // ! g/GENERICPATH/s/^\/\* // ! g/GENERICFROM/s/^\/\* // ! g/NNTPSRC/s/NNTPSRC/\/usr\/src\/new\/nntp.1.5/ g/SERVERFILE/s/SERVERFILE/\/usr\/lib\/news\/server/ *************** *** 92 echo "Good Luck." --- 111,113 ----- echo "Good Luck." + + Index: localize.sun *** old/localize.sun Tue Jan 24 16:14:48 1989 --- localize.sun Tue Jan 24 16:54:40 1989 *************** *** 0 --- 1,38 ----- + # This works on Sun3s and Sun4s running SunOS 4.0 + rm -f Makefile + cp Makefile.dst Makefile + chmod u+w Makefile + ed Makefile <<'EOF' + /^UUXFLAGS/s/-r -z/-r -z -n -gd/ + g/^#V7 /s/// + g/^#BSD4_2 /s/// + g/^#BSD4_1 /d + g/^#USG /d + g/#NOTVMS/s/#NOTVMS.*// + /^SPOOLDIR/s;/usr/spool/news;/var/spool/news; + /^BATCHDIR/s;/usr/spool/batch;/var/spool/batch; + /^LIBDIR/s;/usr/lib/news;/var/spool/news-lib; + /^BINDIR/s;/usr/bin;/usr/local; + /^SPOOL_DISK/s;/usr/spool;/var; + /^LNRNEWS/s/ln/ln -s/ + w + q + EOF + rm -f defs.h + cp defs.dist defs.h + chmod u+w defs.h + ed - defs.h <<'EOF' + /N_UMASK/s/000/002/ + /DFTXMIT/s/-z/-z -gd/ + /UXMIT/s/-z/-z -gd/ + /NONEWGROUPS/s;/\* ;; + /INTERNET/s;/\* ;; + /GHNAME/s;/\* ;; + /DOXREFS/s;/\* ;; + /BSD4_2/s;/\* ;; + /LOCKF/s;/\* ;; + /VOID_SIGNALS/s;/\* ;; + /SENDMAIL/s;/\* ;; + w + q + EOF Index: localize.v.3 *** old/localize.v.3 Sun Jan 15 19:53:52 1989 --- localize.v.3 Thu Jan 19 14:53:18 1989 *************** *** 0 --- 1,35 ----- + # Date: Wed 6 Jan 1988 21:22:55 MET + # Originally-From: mcvax!pan!jw@uunet.uu.net (Jamie Watson) + + rm -f Makefile + cp Makefile.dst Makefile + chmod u+w Makefile + ed - Makefile <<'EOF' + g/^#USG /s/// + g/^#V7 /d + g/^#VMS /d + g/^#BSD4_[123] /d + g/#NOTVMS/s/#NOTVMS.*// + g/termlib/s//curses/ + g/UUXFLAGS/s/-z// + w + q + EOF + rm -f defs.h + cp defs.dist defs.h + chmod u+w defs.h + ed - defs.h <<'EOF' + g/TMAIL/d + g/ PAGE/s;/usr/ucb/more;/usr/bin/pg; + g/DFTXMIT/s/-z // + g/UXMIT/d + g/DFTEDITOR/s;vi;/usr/bin/vi; + g/ UNAME/s;/\* ;; + g/LOCKF/s;/\* ;; + g/MKDIRSUB/s;/\* ;; + g/READDIR/s;/\* ;; + g/DIRENT/s;/\* ;; + g/VOID_SIGNALS/s;/\* ;; + w + q + EOF Index: makeactive.sh Prereq: 1.24 *** old/makeactive.sh Wed Oct 7 16:53:32 1987 --- makeactive.sh Tue Jan 24 17:05:21 1989 *************** *** 2,4 : "Usage: sh makeactive.sh LIBDIR SPOOLDIR NEWSUSR NEWSGRP" ! : '@(#)makeactive 1.24 9/24/87' LIBDIR=$1 --- 2,4 ----- : "Usage: sh makeactive.sh LIBDIR SPOOLDIR NEWSUSR NEWSGRP" ! : '@(#)makeactive 1.27 1/24/89' LIBDIR=$1 *************** *** 8,10 cat <<"E_O_F" | sort > /tmp/$$groups - general Articles that should be read by everyone on your local system comp.ai Artificial intelligence discussions. --- 8,9 ----- cat <<"E_O_F" | sort > /tmp/$$groups comp.ai Artificial intelligence discussions. *************** *** 11,12 comp.ai.digest Artificial Intelligence discussions. (Moderated) comp.arch Computer architecture. --- 10,15 ----- comp.ai.digest Artificial Intelligence discussions. (Moderated) + comp.ai.edu Applications of Artificial Intelligence to Education. + comp.ai.neural-nets All aspects of neural networks. + comp.ai.nlang-know-rep Natural Language and Knowledge Representation. (Moderated) + comp.ai.vision Artificial Intelligence Vision Research. (Moderated) comp.arch Computer architecture. *************** *** 12,13 comp.arch Computer architecture. comp.binaries.amiga Encoded public domain programs in binary. (Moderated) --- 15,17 ----- comp.arch Computer architecture. + comp.archives Descriptions of public access archives. (Moderated) comp.binaries.amiga Encoded public domain programs in binary. (Moderated) *************** *** 13,14 comp.binaries.amiga Encoded public domain programs in binary. (Moderated) comp.binaries.atari.st Binary-only postings for the Atari ST. (Moderated) --- 17,19 ----- comp.binaries.amiga Encoded public domain programs in binary. (Moderated) + comp.binaries.apple2 Binary-only postings for the Apple II computer. comp.binaries.atari.st Binary-only postings for the Atari ST. (Moderated) *************** *** 15,16 comp.binaries.ibm.pc Binary-only postings for IBM PC/MS-DOS. (Moderated) comp.binaries.mac Encoded Macintosh programs in binary. (Moderated) --- 20,22 ----- comp.binaries.ibm.pc Binary-only postings for IBM PC/MS-DOS. (Moderated) + comp.binaries.ibm.pc.d Discussions about IBM/PC binary postings. comp.binaries.mac Encoded Macintosh programs in binary. (Moderated) *************** *** 25,26 comp.dcom.lans Local area network hardware and software. comp.dcom.modems Data communications hardware and software. --- 31,34 ----- comp.dcom.lans Local area network hardware and software. + comp.dcom.lans.hyperchannel Hyperchannel networks within an IP network. + comp.dcom.lans.v2lni Proteon Pronet/V2LNI Ring networks. comp.dcom.modems Data communications hardware and software. *************** *** 29,30 comp.doc.techreports Lists of technical reports. (Moderated) comp.edu Computer science education. --- 37,39 ----- comp.doc.techreports Lists of technical reports. (Moderated) + comp.editors Topics related to computerized text editing. comp.edu Computer science education. *************** *** 30,31 comp.edu Computer science education. comp.emacs EMACS editors of different flavors. --- 39,41 ----- comp.edu Computer science education. + comp.edu.composition Writing instruction in computer-based classrooms. comp.emacs EMACS editors of different flavors. *************** *** 31,32 comp.emacs EMACS editors of different flavors. comp.graphics Computer graphics, art, animation, image processing. --- 41,43 ----- comp.emacs EMACS editors of different flavors. + comp.fonts Typefonts -- design, conversion, use, etc. comp.graphics Computer graphics, art, animation, image processing. *************** *** 33,35 comp.graphics.digest Graphics software, hardware, theory, etc. (Moderated) ! comp.hypercube Massively parallel systems: hardware & software. (Moderated) comp.lang.ada Discussion about Ada*. --- 44,46 ----- comp.graphics.digest Graphics software, hardware, theory, etc. (Moderated) ! comp.ivideodisc Interactive videodiscs -- uses, potential, etc. comp.lang.ada Discussion about Ada*. *************** *** 36,37 comp.lang.apl Discussion about APL. comp.lang.c Discussion about C. --- 47,49 ----- comp.lang.apl Discussion about APL. + comp.lang.asm370 Programming in IBM System/370 Assembly Language. comp.lang.c Discussion about C. *************** *** 38,39 comp.lang.c++ The object-oriented C++ language. comp.lang.forth Discussion about Forth. --- 50,53 ----- comp.lang.c++ The object-oriented C++ language. + comp.lang.clu The CLU language & related topics. (Moderated) + comp.lang.eiffel The object-oriented Eiffel language. comp.lang.forth Discussion about Forth. *************** *** 39,40 comp.lang.forth Discussion about Forth. comp.lang.fortran Discussion about FORTRAN. --- 53,55 ----- comp.lang.forth Discussion about Forth. + comp.lang.forth.mac The CSI MacForth programming environment. comp.lang.fortran Discussion about FORTRAN. *************** *** 40,41 comp.lang.fortran Discussion about FORTRAN. comp.lang.lisp Discussion about LISP. --- 55,58 ----- comp.lang.fortran Discussion about FORTRAN. + comp.lang.icon Topics related to the ICON programming language. + comp.lang.idl IBL (Interface Description Language) related topics. comp.lang.lisp Discussion about LISP. *************** *** 41,42 comp.lang.lisp Discussion about LISP. comp.lang.misc Different computer languages not specifically listed. --- 58,61 ----- comp.lang.lisp Discussion about LISP. + comp.lang.lisp.franz The Franz Lisp programming language. + comp.lang.lisp.x The XLISP language system. comp.lang.misc Different computer languages not specifically listed. *************** *** 44,45 comp.lang.pascal Discussion about Pascal. comp.lang.prolog Discussion about PROLOG. --- 63,65 ----- comp.lang.pascal Discussion about Pascal. + comp.lang.postscript The PostScript Page Description Language. comp.lang.prolog Discussion about PROLOG. *************** *** 45,46 comp.lang.prolog Discussion about PROLOG. comp.lang.smalltalk Discussion about Smalltalk 80. --- 65,70 ----- comp.lang.prolog Discussion about PROLOG. + comp.lang.rexx The REXX command language. + comp.lang.scheme The Scheme Programming language. + comp.lang.scheme.c The Scheme language environment. + comp.lang.sigplan Info & announcements from ACM SIGPLAN. (Moderated) comp.lang.smalltalk Discussion about Smalltalk 80. *************** *** 46,47 comp.lang.smalltalk Discussion about Smalltalk 80. comp.laser-printers Laser printers, hardware & software. (Moderated) --- 70,72 ----- comp.lang.smalltalk Discussion about Smalltalk 80. + comp.lang.visual Visual programming languages. comp.laser-printers Laser printers, hardware & software. (Moderated) *************** *** 48,50 comp.lsi Large scale integrated circuits. ! comp.mail.elm Discussion and fixes for ELM mail system. comp.mail.headers Gatewayed from the ARPA header-people list. --- 73,76 ----- comp.lsi Large scale integrated circuits. ! comp.lsi.cad Electrical Computer Aided Design. ! comp.mail.elm Discussion and fixes for ELM mail system. comp.mail.headers Gatewayed from the ARPA header-people list. *************** *** 51,52 comp.mail.maps Various maps, including UUCP maps. (Moderated) comp.mail.misc General discussions about computer mail. --- 77,79 ----- comp.mail.maps Various maps, including UUCP maps. (Moderated) + comp.mail.mh The UCI version of the Rand Message Handling system. comp.mail.misc General discussions about computer mail. *************** *** 52,53 comp.mail.misc General discussions about computer mail. comp.mail.uucp Mail in the uucp network environment. --- 79,82 ----- comp.mail.misc General discussions about computer mail. + comp.mail.multi-media Multimedia Mail. + comp.mail.sendmail Configuring and using the BSD sendmail agent. comp.mail.uucp Mail in the uucp network environment. *************** *** 54,55 comp.misc General topics about computers not covered elsewhere. comp.newprod Announcements of new products of interest. (Moderated) --- 83,85 ----- comp.misc General topics about computers not covered elsewhere. + comp.music Applications of computers in music research. comp.newprod Announcements of new products of interest. (Moderated) *************** *** 57,58 comp.org.fidonet FidoNews digest, official news of FidoNet Assoc. (Moderated) comp.org.usenix USENIX Association events and announcements. --- 87,89 ----- comp.org.fidonet FidoNews digest, official news of FidoNet Assoc. (Moderated) + comp.org.ieee Issues and announcements about the IEEE & its members. comp.org.usenix USENIX Association events and announcements. *************** *** 58,59 comp.org.usenix USENIX Association events and announcements. comp.os.cpm Discussion about the CP/M operating system. --- 89,92 ----- comp.org.usenix USENIX Association events and announcements. + comp.org.usrgroup News/discussion about/from the /usr/group organization. + comp.os.aos Topics related to Data General's AOS/VS. comp.os.cpm Discussion about the CP/M operating system. *************** *** 59,60 comp.os.cpm Discussion about the CP/M operating system. comp.os.eunice The SRI Eunice system. --- 92,94 ----- comp.os.cpm Discussion about the CP/M operating system. + comp.os.cpm.amethyst Discussion of Amethyst, CP/M-80 software package. comp.os.eunice The SRI Eunice system. *************** *** 62,64 comp.os.misc General OS-oriented discussion not carried elsewhere. ! comp.os.os9 Discussions about the os9 operating system. (Moderated) comp.os.research Operating systems and related areas. (Moderated) --- 96,98 ----- comp.os.misc General OS-oriented discussion not carried elsewhere. ! comp.os.os9 Discussions about the os9 operating system. comp.os.research Operating systems and related areas. (Moderated) *************** *** 64,65 comp.os.research Operating systems and related areas. (Moderated) comp.os.vms DEC's VAX* line of computers & VMS. --- 98,101 ----- comp.os.research Operating systems and related areas. (Moderated) + comp.os.rsts Topics related to the PDP-11 RSTS/E operating system. + comp.os.v The V distributed operating system from Stanford. comp.os.vms DEC's VAX* line of computers & VMS. *************** *** 65,66 comp.os.vms DEC's VAX* line of computers & VMS. comp.periphs Peripheral devices. --- 101,104 ----- comp.os.vms DEC's VAX* line of computers & VMS. + comp.os.xinu The XINU operating system from Purdue (D. Comer). + comp.parallel Massively parallel hardware/software. (Moderated) comp.periphs Peripheral devices. *************** *** 66,67 comp.periphs Peripheral devices. comp.protocols.appletalk Applebus hardware & software. --- 104,106 ----- comp.periphs Peripheral devices. + comp.periphs.printers Information on printers. comp.protocols.appletalk Applebus hardware & software. *************** *** 67,68 comp.protocols.appletalk Applebus hardware & software. comp.protocols.kermit Info about the Kermit package. (Moderated) --- 106,112 ----- comp.protocols.appletalk Applebus hardware & software. + comp.protocols.ibm Networking with IBM mainframes. + comp.protocols.iso The ISO protocol stack. + comp.protocols.iso.dev-environ The ISO Development Environment. + comp.protocols.iso.x400 X400 mail protocol discussions. (Moderated) + comp.protocols.iso.x400.gateway X400 mail gateway discussions. (Moderated) comp.protocols.kermit Info about the Kermit package. (Moderated) *************** *** 69,70 comp.protocols.misc Various forms and types of FTP protocol. comp.protocols.tcp-ip TCP and IP network protocols. --- 113,117 ----- comp.protocols.misc Various forms and types of FTP protocol. + comp.protocols.nfs Discussion about the Network File System protocol. + comp.protocols.pcnet Topics related to PCNET (a personal computer network). + comp.protocols.pup The Xerox PUP network protocols. comp.protocols.tcp-ip TCP and IP network protocols. *************** *** 70,71 comp.protocols.tcp-ip TCP and IP network protocols. comp.risks Risks to the public from computers & users. (Moderated) --- 117,120 ----- comp.protocols.tcp-ip TCP and IP network protocols. + comp.protocols.tcp-ip.domains Topics related to Domain Style names. + comp.protocols.tcp-ip.ibmpc TCP/IP for IBM(-like) personal computers. comp.risks Risks to the public from computers & users. (Moderated) *************** *** 71,72 comp.risks Risks to the public from computers & users. (Moderated) comp.society The impact of technology on society. (Moderated) --- 120,122 ----- comp.risks Risks to the public from computers & users. (Moderated) + comp.simulation Simulation methods, problems, uses. (Moderated) comp.society The impact of technology on society. (Moderated) *************** *** 72,73 comp.society The impact of technology on society. (Moderated) comp.sources.amiga Source code-only postings for the Amiga. (Moderated) --- 122,126 ----- comp.society The impact of technology on society. (Moderated) + comp.society.futures Events in technology affecting future computing. + comp.society.women Women's roles and problems in computing (Moderated) + comp.software-eng Software Engineering and related topics. comp.sources.amiga Source code-only postings for the Amiga. (Moderated) *************** *** 77,78 comp.sources.games Postings of recreational software. (Moderated) comp.sources.mac Software for the Apple Macintosh. (Moderated) --- 130,132 ----- comp.sources.games Postings of recreational software. (Moderated) + comp.sources.games.bugs Bug reports and fixes for posted game software. comp.sources.mac Software for the Apple Macintosh. (Moderated) *************** *** 79,81 comp.sources.misc Posting of software . (Moderated) ! comp.sources.unix Postings of public-domain sources. (Moderated) comp.sources.wanted Requests for software and fixes. --- 133,135 ----- comp.sources.misc Posting of software . (Moderated) ! comp.sources.unix Postings of complete, UNIX-oriented sources. (Moderated) comp.sources.wanted Requests for software and fixes. *************** *** 81,83 comp.sources.wanted Requests for software and fixes. ! comp.std.c Discussion about C language standards. (Moderated) comp.std.internat Discussion about international standards. --- 135,138 ----- comp.sources.wanted Requests for software and fixes. ! comp.sources.x Software for the X windows system. (Moderated) ! comp.std.c Discussion about C language standards. comp.std.internat Discussion about international standards. *************** *** 83,85 comp.std.internat Discussion about international standards. ! comp.std.misc Discussion about various standards. (Moderated) comp.std.mumps Discussion for the X11.1 committee on Mumps. (Moderated) --- 138,140 ----- comp.std.internat Discussion about international standards. ! comp.std.misc Discussion about various standards. comp.std.mumps Discussion for the X11.1 committee on Mumps. (Moderated) *************** *** 87,88 comp.sys.amiga Commodore Amiga: info&uses, but no programs. comp.sys.apollo Apollo computer systems. --- 142,144 ----- comp.sys.amiga Commodore Amiga: info&uses, but no programs. + comp.sys.amiga.tech Technical discussion about the Amiga. comp.sys.apollo Apollo computer systems. *************** *** 93,94 comp.sys.cbm Discussion about Commodore micros. comp.sys.dec Discussions about DEC computer systems. --- 149,152 ----- comp.sys.cbm Discussion about Commodore micros. + comp.sys.cdc Control Data Corporation Computers (e.g., Cybers). + comp.sys.celerity Celerity Computers comp.sys.dec Discussions about DEC computer systems. *************** *** 94,95 comp.sys.dec Discussions about DEC computer systems. comp.sys.hp Discussion about Hewlett-Packard equipment. --- 152,156 ----- comp.sys.dec Discussions about DEC computer systems. + comp.sys.dec.micro DEC Micros (Rainbow, Professional 350/380) + comp.sys.encore Encore's MultiMax computers. + comp.sys.handhelds Handheld computers and programmable calculators. comp.sys.hp Discussion about Hewlett-Packard equipment. *************** *** 97,99 comp.sys.ibm.pc.digest The IBM PC, PC-XT, and PC-AT. (Moderated) ! comp.sys.intel Disucussions about Intel systems and parts. comp.sys.m6809 Discussion about 6809's. --- 158,162 ----- comp.sys.ibm.pc.digest The IBM PC, PC-XT, and PC-AT. (Moderated) ! comp.sys.ibm.pc.rt Topics related to IBM's RT computer. ! comp.sys.intel Discussions about Intel systems and parts. ! comp.sys.intel.ipsc310 Anything related to Xenix on an Intel 310. comp.sys.m6809 Discussion about 6809's. *************** *** 103,104 comp.sys.mac.digest Apple Macintosh: info&uses, but no programs. (Moderated) comp.sys.masscomp The Masscomp line of computers. (Moderated) --- 166,169 ----- comp.sys.mac.digest Apple Macintosh: info&uses, but no programs. (Moderated) + comp.sys.mac.hypercard The Macintosh Hypercard: info & uses. + comp.sys.mac.programmer Discussion by people programming the Apple Macintosh. comp.sys.masscomp The Masscomp line of computers. (Moderated) *************** *** 105,106 comp.sys.misc Discussion about computers of all kinds. comp.sys.nsc.32k National Semiconductor 32000 series chips. --- 170,173 ----- comp.sys.misc Discussion about computers of all kinds. + comp.sys.next Discussion about the new NeXT computer. + comp.sys.northstar Northstar microcomputer users. comp.sys.nsc.32k National Semiconductor 32000 series chips. *************** *** 106,107 comp.sys.nsc.32k National Semiconductor 32000 series chips. comp.sys.pyramid Pyramid 90x computers. --- 173,175 ----- comp.sys.nsc.32k National Semiconductor 32000 series chips. + comp.sys.proteon Proteon gateway products. comp.sys.pyramid Pyramid 90x computers. *************** *** 108,110 comp.sys.ridge Ridge 32 computers and ROS. ! comp.sys.sequent Sequent systems, (esp. Balance 8000). (Moderated) comp.sys.sun Sun "workstation" computers. (Moderated) --- 176,179 ----- comp.sys.ridge Ridge 32 computers and ROS. ! comp.sys.sequent Sequent systems, (Balance and Symmetry). ! comp.sys.sgi Silicon Graphics's Iris workstations and software. comp.sys.sun Sun "workstation" computers. (Moderated) *************** *** 110,111 comp.sys.sun Sun "workstation" computers. (Moderated) comp.sys.tandy Discussion about TRS-80's. --- 179,182 ----- comp.sys.sun Sun "workstation" computers. (Moderated) + comp.sys.super Supercomputers. + comp.sys.tahoe CCI 6/32, Harris HCX/7, & Sperry 7000 computers. comp.sys.tandy Discussion about TRS-80's. *************** *** 112,113 comp.sys.ti Discussion about Texas Instruments. comp.sys.workstations Various workstation-type computers. (Moderated) --- 183,186 ----- comp.sys.ti Discussion about Texas Instruments. + comp.sys.ti.explorer The Texas Instruments Explorer. + comp.sys.transputer The Transputer computer and OCCAM language. comp.sys.workstations Various workstation-type computers. (Moderated) *************** *** 113,114 comp.sys.workstations Various workstation-type computers. (Moderated) comp.terminals All sorts of terminals. --- 186,190 ----- comp.sys.workstations Various workstation-type computers. (Moderated) + comp.sys.xerox Xerox 1100 workstations and protocols. + comp.sys.zenith Heath terminals and related Zenith products. + comp.sys.zenith.z100 The Zenith Z-100 (Heath H-100) family of computers. comp.terminals All sorts of terminals. *************** *** 114,115 comp.terminals All sorts of terminals. comp.text Text processing issues and methods. --- 190,193 ----- comp.terminals All sorts of terminals. + comp.terminals.bitgraph The BB&N BitGraph Terminal. + comp.terminals.tty5620 AT&T Dot Mapped Display Terminals (5620 and BLIT). comp.text Text processing issues and methods. *************** *** 115,117 comp.text Text processing issues and methods. ! comp.text.desktop Technolgy & techniques of desktop publishing. (Moderated) comp.unix Discussion of UNIX* features and bugs. (Moderated) --- 193,200 ----- comp.text Text processing issues and methods. ! comp.text.desktop Technology & techniques of desktop publishing. ! comp.theory Theoretical Computer Science. ! comp.theory.cell-automata Discussion of all aspects of cellular automata. ! comp.theory.dynamic-sys Ergodic Theory and Dynamical Systems. ! comp.theory.info-retrieval Information Retrieval topics. (Moderated) ! comp.theory.self-org-sys Topics related to self-organization. comp.unix Discussion of UNIX* features and bugs. (Moderated) *************** *** 117,118 comp.unix Discussion of UNIX* features and bugs. (Moderated) comp.unix.questions UNIX neophytes group. --- 200,204 ----- comp.unix Discussion of UNIX* features and bugs. (Moderated) + comp.unix.aux The version of UNIX for Apple Macintosh II computers. + comp.unix.cray Cray computers and their operating systems. + comp.unix.microport Discussion of Microport's UNIX. comp.unix.questions UNIX neophytes group. *************** *** 118,119 comp.unix.questions UNIX neophytes group. comp.unix.wizards Discussions, bug reports, and fixes on and for UNIX. --- 204,206 ----- comp.unix.questions UNIX neophytes group. + comp.unix.ultrix Discussions about DEC's Ultrix. (Moderated) comp.unix.wizards Discussions, bug reports, and fixes on and for UNIX. *************** *** 121,122 comp.windows.misc Various issues about windowing systems. comp.windows.news Sun Microsystems' NewS window system. --- 208,210 ----- comp.windows.misc Various issues about windowing systems. + comp.windows.ms Window systems under MS/DOS. comp.windows.news Sun Microsystems' NewS window system. *************** *** 135,137 misc.misc Various discussions not fitting in any other group. ! misc.psi Paranormal abilities and experiences. (Moderated) misc.taxes Tax laws and advice. --- 223,225 ----- misc.misc Various discussions not fitting in any other group. ! misc.security Security in general, not just computers. (Moderated) misc.taxes Tax laws and advice. *************** *** 148,150 news.newsites Postings of new site announcements. ! news.software.b Discussion about B news software. news.software.notes Notesfile software from the Univ. of Illinois. --- 236,239 ----- news.newsites Postings of new site announcements. ! news.software.b Discussion about B-news-compatible software. ! news.software.nntp The Network News Transfer Protocol. news.software.notes Notesfile software from the Univ. of Illinois. *************** *** 150,152 news.software.notes Notesfile software from the Univ. of Illinois. - news.stargate Discussion about satellite transmission of news. news.sysadmin Comments directed to system administrators. --- 239,240 ----- news.software.notes Notesfile software from the Univ. of Illinois. news.sysadmin Comments directed to system administrators. *************** *** 152,155 news.sysadmin Comments directed to system administrators. ! rec.arts.books Books of all genres, shapes, and sizes. ! rec.arts.comics The funnies, old and new. rec.arts.drwho Discussion about Dr. Who. --- 240,244 ----- news.sysadmin Comments directed to system administrators. ! rec.arts.anime Japanese animation fen discussion. ! rec.arts.books Books of all genres, and the publishing industry. ! rec.arts.comics Comic books and strips, graphic novels, sequential art. rec.arts.drwho Discussion about Dr. Who. *************** *** 155,156 rec.arts.drwho Discussion about Dr. Who. rec.arts.movies Discussions of movies and movie making. --- 244,247 ----- rec.arts.drwho Discussion about Dr. Who. + rec.arts.int-fiction Discussions about interactive fiction. + rec.arts.misc Discussions about the arts not in other groups. rec.arts.movies Discussions of movies and movie making. *************** *** 159,161 rec.arts.sf-lovers Science fiction lovers' newsgroup. ! rec.arts.startrek Star Trek, the TV show and the movies. rec.arts.tv The boob tube, its history, and past and current shows. --- 250,252 ----- rec.arts.sf-lovers Science fiction lovers' newsgroup. ! rec.arts.startrek Star Trek, the TV shows and the movies. rec.arts.tv The boob tube, its history, and past and current shows. *************** *** 165,166 rec.autos Automobiles, automotive products and laws. rec.autos.tech Technical aspects of automobiles, et. al. --- 256,258 ----- rec.autos Automobiles, automotive products and laws. + rec.autos.sport Discussion of organized, legal auto competitions. rec.autos.tech Technical aspects of automobiles, et. al. *************** *** 170,171 rec.boats Hobbyists interested in boating. rec.food.cooking Food, cooking, cookbooks, and recipes. --- 262,265 ----- rec.boats Hobbyists interested in boating. + rec.equestrian Discussion of things equestrian. + rec.folk-dancing Folk dances, dancers, and dancing. rec.food.cooking Food, cooking, cookbooks, and recipes. *************** *** 172,174 rec.food.drink Wines and spirits. - rec.food.recipes Recipes from the USENET Cookbook (troff & text). (Moderated) rec.food.veg Vegetarians. --- 266,267 ----- rec.food.drink Wines and spirits. rec.food.veg Vegetarians. *************** *** 182,183 rec.games.misc Games and computer games. rec.games.pbm Discussion about Play by Mail games. --- 275,277 ----- rec.games.misc Games and computer games. + rec.games.moria Comments, hints, and info about the Moria game. rec.games.pbm Discussion about Play by Mail games. *************** *** 183,184 rec.games.pbm Discussion about Play by Mail games. rec.games.rogue Discussion and hints about Rogue. --- 277,279 ----- rec.games.pbm Discussion about Play by Mail games. + rec.games.programmer Discussion of adventure game programming. rec.games.rogue Discussion and hints about Rogue. *************** *** 185,186 rec.games.trivia Discussion about trivia. rec.games.video Discussion about video games. --- 280,282 ----- rec.games.trivia Discussion about trivia. + rec.games.vectrex The Vectrex game system. rec.games.video Discussion about video games. *************** *** 192,194 rec.humor.d Discussions on the content of rec.humor articles. ! rec.humor.spc The Stupid People's Court! (Moderated) rec.mag Magazine summaries, tables of contents, etc. --- 288,290 ----- rec.humor.d Discussions on the content of rec.humor articles. ! rec.humor.funny Jokes that are funny (in the moderator's opinion). (Moderated) rec.mag Magazine summaries, tables of contents, etc. *************** *** 194,195 rec.mag Magazine summaries, tables of contents, etc. rec.mag.otherrealms Edited science fiction & fantasy "magazine". (Moderated) --- 290,292 ----- rec.mag Magazine summaries, tables of contents, etc. + rec.mag.fsfnet A Science Fiction "fanzine." (Moderated) rec.mag.otherrealms Edited science fiction & fantasy "magazine". (Moderated) *************** *** 196,197 rec.misc General topics about recreational/participant sports. rec.motorcycles Motorcycles and related products and laws. --- 293,295 ----- rec.misc General topics about recreational/participant sports. + rec.models.rc Radio-controlled models for hobbyists. rec.motorcycles Motorcycles and related products and laws. *************** *** 197,198 rec.motorcycles Motorcycles and related products and laws. rec.music.classical Discussion about classical music. --- 295,299 ----- rec.motorcycles Motorcycles and related products and laws. + rec.music.beatles Postings about the Fab Four & their music. + rec.music.bluenote Discussion of jazz, blues, and related types of music. + rec.music.cd CDs -- availability and other discussions. rec.music.classical Discussion about classical music. *************** *** 222,223 sci.bio Biology and related sciences. sci.crypt Different methods of data en/decryption. --- 323,325 ----- sci.bio Biology and related sciences. + sci.bio.technology Any topic relating to biotechnology. sci.crypt Different methods of data en/decryption. *************** *** 225,226 sci.lang Natural languages, communication, etc. sci.math Mathematical discussions and pursuits. --- 327,330 ----- sci.lang Natural languages, communication, etc. + sci.lang.japan The Japanese language, both spoken and written. + sci.logic Logic -- math, philosophy & computational aspects. sci.math Mathematical discussions and pursuits. *************** *** 226,227 sci.math Mathematical discussions and pursuits. sci.math.stat Statistics discussion. --- 330,332 ----- sci.math Mathematical discussions and pursuits. + sci.math.num-analysis Numerical Analysis. sci.math.stat Statistics discussion. *************** *** 229,231 sci.med Medicine and its related products and regulations. ! sci.med.aids AIDS -- treatment, consequences, etc. (Moderated) sci.misc Short-lived discussions on subjects in the sciences. --- 334,337 ----- sci.med Medicine and its related products and regulations. ! sci.med.aids AIDS: treatment, pathology/biology of HIV, prevention. (Moderated) ! sci.military Discussion about science & the military. (Moderated) sci.misc Short-lived discussions on subjects in the sciences. *************** *** 231,232 sci.misc Short-lived discussions on subjects in the sciences. sci.philosophy.tech Technical philosophy: math, science, logic, etc. --- 337,340 ----- sci.misc Short-lived discussions on subjects in the sciences. + sci.nanotech Self-reproducing molecular-scale machines. (Moderated) + sci.philosophy.meta Discussions within the scope of "MetaPhilosophy." sci.philosophy.tech Technical philosophy: math, science, logic, etc. *************** *** 233,234 sci.physics Physical laws, properties, etc. sci.research Research methods, funding, ethics, and whatever. --- 341,343 ----- sci.physics Physical laws, properties, etc. + sci.psychology Topics related to psychology. sci.research Research methods, funding, ethics, and whatever. *************** *** 238,240 soc.culture.african Discussions about Africa & things African. ! soc.culture.celtic Group about Celtics (*not* basketball!). soc.culture.greek Group about Greeks. --- 347,352 ----- soc.culture.african Discussions about Africa & things African. ! soc.culture.arabic Technological & cultural issues, *not* politics. ! soc.culture.celtic Group about Celts (*not* basketball!). ! soc.culture.china About China and Chinese culture. ! soc.culture.esperanto The neutral international language Esperanto. soc.culture.greek Group about Greeks. *************** *** 241,243 soc.culture.indian Group for discussion about India & things Indian. ! soc.culture.jewish Group for discussion about Jewish culture & religion. soc.culture.misc Group for discussion about other cultures. --- 353,356 ----- soc.culture.indian Group for discussion about India & things Indian. ! soc.culture.japan Everything Japanese, except the Japanese language. ! soc.culture.jewish Jewish culture & religion. (cf. talk.politics.mideast) soc.culture.misc Group for discussion about other cultures. *************** *** 258,259 talk.philosophy.misc Philosophical musings on all topics. talk.politics.misc Political discussions and ravings of all kinds. --- 371,373 ----- talk.philosophy.misc Philosophical musings on all topics. + talk.politics.mideast Discussion & debate over Middle Eastern events. talk.politics.misc Political discussions and ravings of all kinds. *************** *** 259,260 talk.politics.misc Political discussions and ravings of all kinds. talk.politics.theory Theory of politics and political systems. --- 373,375 ----- talk.politics.misc Political discussions and ravings of all kinds. + talk.politics.soviet Discussion of Soviet politics, domestic and foreign. talk.politics.theory Theory of politics and political systems. Index: ndir.c Prereq: 1.12 *** old/ndir.c Sun Oct 18 18:04:00 1987 --- ndir.c Sun Jan 15 19:49:01 1989 *************** *** 1,3 #include "defs.h" ! #if !defined(BSD4_2) && !defined(BSD4_1C) && !defined(HP9K5) #ifdef M_XENIX --- 1,3 ----- #include "defs.h" ! #if !defined(READDIR) && !defined(BSD4_2) && !defined(HP9K5) #ifdef M_XENIX *************** *** 9,11 #ifdef SCCSID ! static char *SccsId = "@(#)ndir.c 1.12 10/15/87"; #endif /* SCCSID */ --- 9,11 ----- #ifdef SCCSID ! static char *SccsId = "@(#)ndir.c 1.13 1/15/89"; #endif /* SCCSID */ *************** *** 142,143 } ! #endif /* !BSD4_2 && !BSD4_1C && !HP9K5 */ --- 142,143 ----- } ! #endif /* !READDIR && !BSD4_2 && !HP9K5 */ Index: ndir.h Prereq: 1.7 *** old/ndir.h Thu Oct 8 00:22:06 1987 --- ndir.h Sun Jan 15 19:49:01 1989 *************** *** 1,6 ! /* @(#)ndir.h 1.7 10/7/87 */ ! #if defined(HP9K5) ! /* He should have included it instead of this, but prevent confusion */ ! #include <ndir.h> ! #else /* other */ #ifndef DEV_BSIZE --- 1,2 ----- ! /* @(#)ndir.h 1.8 1/15/89 */ #ifndef DEV_BSIZE *************** *** 48,49 #define rewinddir(dirp) seekdir((dirp), (long)0) - #endif /* other */ --- 44 ----- #define rewinddir(dirp) seekdir((dirp), (long)0) Index: nntp.c Prereq: 2.4 *** old/nntp.c Fri Dec 4 02:52:14 1987 --- nntp.c Sun Jan 15 19:49:01 1989 *************** *** 16,18 #ifdef SCCSID ! static char *SccsId = "@(#)nntp.c 2.4 11/30/87"; #endif /* SCCSID */ --- 16,18 ----- #ifdef SCCSID ! static char *SccsId = "@(#)nntp.c 2.5 1/15/89"; #endif /* SCCSID */ *************** *** 23,24 #include "conf.h" --- 23,31 ----- #include "conf.h" + #ifdef SERVER_HOST + /* nntp 1.3 or earlier */ + #include "response_codes.h" + #else + /* nntp 1.5 or later */ + #include "nntp.h" + #endif Index: params.h Prereq: 2.28 *** old/params.h Fri Dec 4 02:52:16 1987 --- params.h Thu Jan 19 00:06:42 1989 *************** *** 4,6 ! /* @(#)params.h 2.28 11/30/87 */ --- 4,6 ----- ! /* @(#)params.h 2.31 1/19/89 */ *************** *** 105,106 #ifdef VMS --- 105,112 ----- + #ifdef VOID_SIGNALS + typedef void (*SIGNAL_TYPE)(); + #else /* int signals */ + typedef int (*SIGNAL_TYPE)(); + #endif /* int signals */ + #ifdef VMS *************** *** 129,131 #define LOCKING ! #endif M_XENIX --- 135,137 ----- #define LOCKING ! #endif /* defined M_XENIX */ *************** *** 154,159 #ifdef READDIR ! #include <sys/dir.h> ! #else /* !READDIR */ ! #include "ndir.h" ! #endif /* !READDIR */ --- 160,176 ----- #ifdef READDIR ! # ifdef DIRENT ! # include <dirent.h> ! typedef struct dirent DIRECTORY_STRUCT; ! # else /* !DIRENT */ ! # ifdef HP9K5 ! # include <ndir.h> ! # else /* !HP9K5 */ ! # include <sys/dir.h> ! # endif /* !HP9K5 */ ! typedef struct direct DIRECTORY_STRUCT; ! # endif /* !DIRENT */ ! #else /* !READDIR */ ! # include "ndir.h" ! typedef struct direct DIRECTORY_STRUCT; ! #endif /* !READDIR */ *************** *** 166,167 #define STRCMP(a,b) ((*(a) != *(b)) ? (*(a)-*(b)) : strcmp((a)+1, (b)+1)) --- 183,191 ----- + /* The gould compiler really sucks */ + #ifdef gould + #define STRCMP(a,b) strcmp(a,b) + #define STRNCMP(a,b,n) strncmp(a,b,n) + extern char charmap[]; + #define PREFIX(a,b) prefix(a,b) + #else #define STRCMP(a,b) ((*(a) != *(b)) ? (*(a)-*(b)) : strcmp((a)+1, (b)+1)) *************** *** 170,171 #define PREFIX(a,b) ((charmap[*(a)] != charmap[*(b)]) ? FALSE : prefix((a)+1, (b)+1)) #define MKTEMP(a) {if (mktemp(a) == 0) xerror("mktemp(%s): ", a);} --- 194,196 ----- #define PREFIX(a,b) ((charmap[*(a)] != charmap[*(b)]) ? FALSE : prefix((a)+1, (b)+1)) + #endif /* gould */ #define MKTEMP(a) {if (mktemp(a) == 0) xerror("mktemp(%s): ", a);} Index: pathinit.c Prereq: 1.25 *** old/pathinit.c Mon Nov 23 19:13:29 1987 --- pathinit.c Sun Jan 15 19:49:02 1989 *************** *** 1,3 /* ! * This software is Copyright (c) 1986 by Rick Adams. * --- 1,3 ----- /* ! * This software is Copyright 1986, 1989 by Rick Adams. * *************** *** 36,38 #ifdef SCCSID ! static char *SccsId = "@(#)pathinit.c 1.25 11/19/87"; #endif /* SCCSID */ --- 36,38 ----- #ifdef SCCSID ! static char *SccsId = "@(#)pathinit.c 1.26 1/15/89"; #endif /* SCCSID */ *************** *** 215,218 #ifndef NFSCLIENT ! Sprintf(ARTICLE, "%s/.arXXXXXX", SPOOL); ! Sprintf(INFILE, "%s/.inXXXXXX", SPOOL); #else /* NFSCLIENT */ --- 215,218 ----- #ifndef NFSCLIENT ! Sprintf(ARTICLE, "%s/.tmp/.arXXXXXX", SPOOL); ! Sprintf(INFILE, "%s/.tmp/.inXXXXXX", SPOOL); #else /* NFSCLIENT */ *************** *** 307,308 mp->m_who_to = ""; } --- 307,309 ----- mp->m_who_to = ""; + (void) fclose(nfd); } Index: postnews.c Prereq: 1.36 *** old/postnews.c Fri Dec 4 02:52:20 1987 --- postnews.c Sun Jan 15 19:49:03 1989 *************** *** 1,3 /* ! * This software is Copyright (c) 1986 by Rick Adams. * --- 1,3 ----- /* ! * This software is Copyright 1986, 1989 by Rick Adams. * *************** *** 19,21 #ifdef SCCSID ! static char *SccsId = "@(#)postnews.c 1.36 11/30/87"; #endif /* SCCSID */ --- 19,21 ----- #ifdef SCCSID ! static char *SccsId = "@(#)postnews.c 1.37 1/15/89"; #endif /* SCCSID */ *************** *** 43,44 char newsgroups[BUFLEN]; char isfrom[BUFLEN]; --- 43,45 ----- char newsgroups[BUFLEN]; + char followupto[BUFLEN]; char isfrom[BUFLEN]; *************** *** 455,456 fprintf(tf, "Newsgroups: %s\n", newsgroups); if (distribution[0] != '\0' && STRCMP(distribution, "world")) --- 456,461 ----- fprintf(tf, "Newsgroups: %s\n", newsgroups); + + if (followupto[0] != '\0') + fprintf(tf, "Followup-To: %s\n", followupto); + if (distribution[0] != '\0' && STRCMP(distribution, "world")) *************** *** 460,461 fprintf(tf, "Keywords: %s\n", keywords); if (summary[0] != '\0') --- 465,467 ----- fprintf(tf, "Keywords: %s\n", keywords); + if (summary[0] != '\0') *************** *** 468,470 of = xfopen(original, "r"); ! while (fgets(buf, BUFSIZ, of) != NULL) if (buf[0] == '\n') /* skip headers */ --- 474,476 ----- of = xfopen(original, "r"); ! while (fgets(buf, BUFLEN, of) != NULL) if (buf[0] == '\n') /* skip headers */ *************** *** 472,474 fprintf(tf, "In article %s, %s writes:\n", msgid, isfrom); ! while (fgets(buf, BUFSIZ, of) != NULL) fprintf(tf, "> %s", buf); --- 478,480 ----- fprintf(tf, "In article %s, %s writes:\n", msgid, isfrom); ! while (fgets(buf, BUFLEN, of) != NULL) fprintf(tf, "> %s", buf); *************** *** 586,587 if (ngmatch(newsgroups, "rec.humor,!rec.humor.all")) { --- 592,602 ----- + #ifdef SunIII + if + ( + ngmatch(newsgroups, "rec.humor,!rec.humor.all") + || + ngmatch(newsgroups, "aus.jokes,!aus.jokes.d") + ) + { + #else if (ngmatch(newsgroups, "rec.humor,!rec.humor.all")) { *************** *** 587,588 if (ngmatch(newsgroups, "rec.humor,!rec.humor.all")) { if (askyes("Could this be offensive to anyone? ","")) { --- 602,604 ----- if (ngmatch(newsgroups, "rec.humor,!rec.humor.all")) { + #endif if (askyes("Could this be offensive to anyone? ","")) { *************** *** 595,597 ! if (ngmatch(newsgroups, "comp.sources.all,!comp.sources.wanted,!comp.sources.d")) { if (!article_line(tempfname, "Subject: ", group)) { --- 611,613 ----- ! if (ngmatch(newsgroups, "comp.sources.all,!comp.sources.wanted,!comp.sources.d,!comp.sources.bugs")) { if (!article_line(tempfname, "Subject: ", group)) { *************** *** 618,621 if (ngmatch(newsgroups, "comp.sources.all")) { ! if (!ngmatch(newsgroups, "comp.sources.wanted") && ! stbuf.st_size < (4*1024)) { printf("Your article seems rather small to be a source distribution.\n"); --- 634,636 ----- if (ngmatch(newsgroups, "comp.sources.all")) { ! if (stbuf.st_size < (4*1024)) { printf("Your article seems rather small to be a source distribution.\n"); *************** *** 637,638 } } --- 652,663 ----- } + if (index(newsgroups, NGDELIM) != NULL && followupto[0] == '\0') { + printf("Your article is being posted to multiple newsgroups.\n"); + printf("In which newsgroup should the responses be posted?\n"); + printf("Newsgroups: %s\n", newsgroups); + printf("(If responses should be mailed to you, enter \"poster\")\n"); + getpr("Followup-To: ", followupto); + if (followupto[0] != '\0') + modify_article(tempfname, "Followup-To: ", followupto, + APPEND); + } } *************** *** 1084,1086 } - get_summary(); --- 1109,1110 ----- } get_summary(); Index: patchlevel.h Prereq: 15 *** .d/patchlevel.h Fri Dec 4 02:52:37 1987 --- patchlevel.h Mon Jan 23 17:22:22 1989 *************** *** 1,2 ! #define PATCHLEVEL 15 --- 1,2 ----- ! #define PATCHLEVEL 16 *************** *** 2,3 ! #define NEWS_VERSION "B 2.11 1/14/89" --- 2,3 ----- ! #define NEWS_VERSION "B 2.11 1/23/89" --- end of patch 16 --- -- "Crack-pot societies of all kinds sprang up everwhere, advocating everything from absolutism to anarchy. Queer cults arose, preaching free love, the imminent end of the world, and many other departures from the norm of thought." E.E. "Doc" Smith, Children of the Lens, 1954 | Arnold Robbins, skeeve!arnold