gih900@csc.anu.oz (Geoff Huston) (12/21/89)
$! ................... Cut between dotted lines and save. ................... $!........................................................................... $! VAX/VMS archive file created by VMS_SHARE V06.10 7-FEB-1989. $! $! VMS_SHARE was written by James Gray (Gray:OSBUSouth@Xerox.COM) from $! VMS_SHAR by Michael Bednarek (U3369429@ucsvc.dn.mu.oz.au). $! $! To unpack, simply save, concatinate all parts into one file and $! execute (@) that file. $! $! This archive was created by user GIH900 $! on 20-DEC-1989 16:06:22.97. $! $! ATTENTION: To keep each article below 31 blocks (15872 bytes), this $! program has been transmitted in 21 parts. You should $! concatenate ALL parts to ONE file and execute (@) that file. $! $! It contains the following 46 files: $! AAREADME.TXT $! ADD_TRANSFORM.DIFF $! MAILDEF.DIFF $! NEWS.DIFF $! NEWSADD.DIFF $! NEWSBUILD.DIFF $! NEWSCMD.DIFF $! NEWSDEFINE.DIFF $! NEWSDELETE.DIFF $! NEWSDIR.DIFF $! NEWSDISPLAY.DIFF $! NEWSDIST.DIFF $! NEWSEXTERN.DIFF $! NEWSEXTRACT.DIFF $! NEWSFILES.DIFF $! NEWSFORWARD.DIFF $! NEWSHELP.DIFF $! NEWSINCLUDE.DIFF $! NEWSMOD.DIFF $! NEWSMODE.DIFF $! NEWSPOST.DIFF $! NEWSRC.DIFF $! NEWSREAD.DIFF $! NEWSREGISTER.DIFF $! NEWSREMCLIENT.DIFF $! NEWSRTL.DIFF $! NEWSSEARCH.DIFF $! NEWSSELECT.DIFF $! NEWSSETSHOW.DIFF $! NEWSSITE.DIFF $! NEWSSITE_H.DIFF $! NEWSSKIM.DIFF $! NEWSSKIP.DIFF $! NEWSUTILITY.DIFF $! NEWSV58_UPGRADE.DIFF $! NEWSVARIABLES.DIFF $! NEWSVMSMAIL.DIFF $! NEWS_HLP.DIFF $! NNTP_CLIENT.DIFF $! NNTP_DEC.DIFF $! NNTP_DECM.DIFF $! NNTP_FEED.DIFF $! NNTP_SERVER.DIFF $! NNTP_TCPCMU.DIFF $! NNTP_TCPWIN.DIFF $! NNTP_TTY.DIFF $! $!============================================================================ $ SET SYMBOL/SCOPE=( NOLOCAL, NOGLOBAL ) $ VERSION = F$GETSYI( "VERSION" ) $ IF VERSION .GES "V4.4" THEN GOTO VERSION_OK $ WRITE SYS$OUTPUT "You are running VMS ''VERSION'; ", - "VMS_SHARE V06.10 7-FEB-1989 requires VMS V4.4 or higher." $ EXIT 44 ! SS$_ABORT $VERSION_OK: $ GOTO START $! $UNPACK_FILE: $ WRITE SYS$OUTPUT "Creating ''FILE_IS'" $ DEFINE/USER_MODE SYS$OUTPUT NL: $ EDIT/TPU/COMMAND=SYS$INPUT/NODISPLAY/OUTPUT='FILE_IS'/NOSECTION - VMS_SHARE_DUMMY.DUMMY b_part := CREATE_BUFFER( "{Part}", GET_INFO( COMMAND_LINE, "file_name" ) ) ; s_file_spec := GET_INFO( COMMAND_LINE, "output_file" ); SET( OUTPUT_FILE , b_part, s_file_spec ); b_errors := CREATE_BUFFER( "{Errors}" ); i_errors := 0; pat_beg_1 := ANCHOR & "-+-+-+ Beginning"; pat_beg_2 := LINE_BEGIN & "+-+-+-+ Beginning"; pat_end := ANCHOR & "+-+-+-+-+ End"; POSITION ( BEGINNING_OF( b_part ) ); LOOP EXITIF SEARCH( SPAN( ' ' )@r_trail & LINE_END, FORWARD) = 0; POSITION( r_trail ); ERASE( r_trail ); ENDLOOP ; POSITION( BEGINNING_OF( b_part ) ); i_append_line := 0; LOOP EXITIF MARK ( NONE ) = END_OF( b_part ); s_x := ERASE_CHARACTER( 1 ) ; IF s_x = '+' THEN r_skip := SEARCH( pat_beg_1, FORWARD, EXACT ); IF r_skip <> 0 THEN s_x := ''; MOVE_HORIZONTAL( -CURRENT_OFFSET ); ERASE_LINE; ENDIF ; ENDIF; IF s_x = '-' THEN r_skip := SEARCH( pat_end, FORWARD, EXACT ) ; IF r_skip <> 0 THEN s_x := ''; MOVE_HORIZONTAL( -CURRENT_OFFSET ); m_skip := MARK( NONE ); r_skip := SEARCH( pat_beg_2, FORWARD, EXACT ); IF r_skip <> 0 THEN POSITION( END_OF( r_skip ) ); MOVE_HORIZONTAL( -CURRENT_OFFSET ) ; MOVE_VERTICAL( 1 ); MOVE_HORIZONTAL( -1 ); ELSE POSITION( END_OF( b_part ) ); ENDIF; ERASE( CREATE_RANGE( m_skip, MARK( NONE ), NONE ) ); ENDIF; ENDIF ; IF s_x = 'V' THEN s_x := ''; IF i_append_line <> 0 THEN APPEND_LINE ; MOVE_HORIZONTAL( -CURRENT_OFFSET ); ENDIF; i_append_line := 1 ; MOVE_VERTICAL( 1 ); ENDIF; IF s_x = 'X' THEN s_x := ''; IF i_append_line <> 0 THEN APPEND_LINE; MOVE_HORIZONTAL( -CURRENT_OFFSET ); ENDIF ; i_append_line := 0; MOVE_VERTICAL( 1 ); ENDIF; IF s_x <> '' THEN i_errors := i_errors + 1; s_text := CURRENT_LINE; POSITION( b_errors ); COPY_TEXT ( "The following line could not be unpacked properly:" ); SPLIT_LINE ; COPY_TEXT( s_x ); COPY_TEXT( s_text ); POSITION( b_part ); MOVE_VERTICAL ( 1 ); ENDIF; ENDLOOP; POSITION( BEGINNING_OF( b_part ) ); LOOP r_x := SEARCH ( "`", FORWARD, EXACT ); EXITIF r_x = 0; POSITION( r_x ); ERASE_CHARACTER( 1 ); COPY_TEXT( ASCII( INT( ERASE_CHARACTER( 3 ) ) ) ); ENDLOOP ; IF i_errors = 0 THEN SET( NO_WRITE, b_errors, ON ); ELSE POSITION ( BEGINNING_OF( b_errors ) ); COPY_TEXT( FAO ( "The following !UL errors were detected while unpacking !AS", i_errors , s_file_spec ) ); SPLIT_LINE; SET( OUTPUT_FILE, b_errors, "SYS$COMMAND" ) ; ENDIF; EXIT; $ DELETE VMS_SHARE_DUMMY.DUMMY;* $ CHECKSUM 'FILE_IS $ WRITE SYS$OUTPUT " CHECKSUM ", - F$ELEMENT( CHECKSUM_IS .EQ. CHECKSUM$CHECKSUM, ",", "failed!!,passed." ) $ RETURN $! $START: $ FILE_IS = "AAREADME.TXT" $ CHECKSUM_IS = 1566054660 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY XRelease notes for NEWS V5.9C release. X XI have built V5.9C using the VAX C compiler V3.0. If you are using an earlier Vversion of the compiler you'll need to keep the .h files which have been post Xed Vto the anu-news mailing list in September 1989. I will not include these file Xs Xin any subsequent releases. X XThe diffs here refer to V5.9 NOT V5.9A or 5.9B X ---- X X XGeoff Huston X20/12/89 $ GOSUB UNPACK_FILE $ FILE_IS = "ADD_TRANSFORM.DIFF" $ CHECKSUM_IS = 1630369066 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]add_transform.c X--- [.news_src]add_transform.c X************** X*** 45,51 X **`009`009# this is an example address cnf file X **`009`009*@*.anu.* \002::\001 X **`009`009*@*.anu`009 \002::\001 X! **`009`009*@*`009 "gateway::in%""\001@\002""" X **`009`009*::*`009 \001::\002 X **`009`009*`009 \001 X ** X--- 45,51 ----- X **`009`009# this is an example address cnf file X **`009`009*@*.anu.* \002::\001 X **`009`009*@*.anu`009 \002::\001 X! **`009`009*@*`009 gateway::in%"\001@\002" X **`009`009*::*`009 \001::\002 X **`009`009*`009 \001 X ** X************** X*** 113,120 X `009`123"in%*", "in%\001"`125, X `009`123"psi%*", "psi%\001"`125, X `009`123"@*",`009 "@\001"`125, X! `009`123"*@*",`009 "\"in\%\"\"\001@\002\"\"\""`125, X! `009`123"*::*", "\"in\%\"\"\002@\001\"\"\""`125, X `009`123"*",`009 "\001"`125, X `009`123"",""`125`125, X *addrs = 0;`009/* Pointer to loaded rule set`009`009`009 */ X--- 113,120 ----- X `009`123"in%*", "in%\001"`125, X `009`123"psi%*", "psi%\001"`125, X `009`123"@*",`009 "@\001"`125, X! `009`123"*@*",`009 "in\%\"\001@\002\""`125, X! `009`123"*::*", "in\%\"\002@\001\""`125, X `009`123"*",`009 "\001"`125, X `009`123"",""`125`125, X *addrs = 0;`009/* Pointer to loaded rule set`009`009`009 */ $ GOSUB UNPACK_FILE $ FILE_IS = "MAILDEF.DIFF" $ CHECKSUM_IS = 1985494578 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]maildef.h X--- [.news_src]maildef.h $ GOSUB UNPACK_FILE $ FILE_IS = "NEWS.DIFF" $ CHECKSUM_IS = 1985494772 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]news.c X--- [.news_src]news.c $ GOSUB UNPACK_FILE $ FILE_IS = "NEWSADD.DIFF" $ CHECKSUM_IS = 790678723 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X*** [.news_v59_src]newsadd.c X--- [.news_src]newsadd.c X************** X*** 64,69 X ** V5.9 18-Apr-1989 GIH V ** - Make the auto mail to usenet in response to a cancel control me Xssage X ** conditional on the compilation constant CANCELMAIL X **-- X **/ X `012 X--- 64,72 ----- X ** V5.9 18-Apr-1989 GIH V ** - Make the auto mail to usenet in response to a cancel control me Xssage X ** conditional on the compilation constant CANCELMAIL X+ **`009V5.9B`00912-Oct-1989`009Mark Pizzolato X+ **`009 - Amended the routines control_ihave and control_sendme to actually X+ **`009 work properly. X **-- X **/ X `012 X************** X*** 401,407 X fprintf(fpm,"$ NEWS/NOSCREEN\n"); X if (ga[g]->grp_flags & NEWS_M_LOCAL) X fprintf(fpm,"Set NEWSGROUP %s/NOLOCAL\n",ga[g]->grp_name); V! if (mod) fprintf(fpm,"Set NEWSGROUP %s/MOD\n\n",ga[g]->grp_na Xme); X else if (!mod && (ga[g]->grp_flags & NEWS_M_MAILMODERATE)) X fprintf(fpm,"Set NEWSGROUP %s/NOMOD\n",ga[g]->grp_name); X fprintf(fpm,"EXIT\n"); X--- 404,410 ----- X fprintf(fpm,"$ NEWS/NOSCREEN\n"); X if (ga[g]->grp_flags & NEWS_M_LOCAL) X fprintf(fpm,"Set NEWSGROUP %s/NOLOCAL\n",ga[g]->grp_name); V! if (mod) fprintf(fpm,"Set NEWSGROUP %s/MOD\n\r\n",ga[g]->grp_ Xname); X else if (!mod && (ga[g]->grp_flags & NEWS_M_MAILMODERATE)) X fprintf(fpm,"Set NEWSGROUP %s/NOMOD\n",ga[g]->grp_name); X fprintf(fpm,"EXIT\n"); X************** X*** 417,423 X fprintf(fpm,"CREATE NEWSGROUP %s",locname); X if (mod) fprintf(fpm,"/MOD"); X fprintf(fpm,"\nY\n"); X! if (mod) fprintf(fpm,"\n"); X fprintf(fpm,"EXIT\n"); X `125 X else printf("\tControl: newgroup - Cannot open tmp file\n"); X--- 420,426 ----- X fprintf(fpm,"CREATE NEWSGROUP %s",locname); X if (mod) fprintf(fpm,"/MOD"); X fprintf(fpm,"\nY\n"); X! if (mod) fprintf(fpm,"\r\n"); X fprintf(fpm,"EXIT\n"); X `125 X else printf("\tControl: newgroup - Cannot open tmp file\n"); X************** X*** 597,603 X fprintf(fpm,"Set Newsgroup %s/Moderated\n",locname); X `125 X else X! fprintf(fpm,"SET NEWSGROUP \"%s\"/MOD\n\n",locname); X `125 X `125 X `032 X--- 600,606 ----- X fprintf(fpm,"Set Newsgroup %s/Moderated\n",locname); X `125 X else X! fprintf(fpm,"SET NEWSGROUP \"%s\"/MOD\n\r\n",locname); X `125 X `125 X `032 X************** X*** 645,651 X if (execute_control) X at->glmod = 1; X else `123 X! fprintf(fpm,"SET NEWSGROUP \"%s\"/MOD\n\n",locname); X `125 X `125 X `125 X--- 648,654 ----- X if (execute_control) X at->glmod = 1; X else `123 X! fprintf(fpm,"SET NEWSGROUP \"%s\"/MOD\n\r\n",locname); X `125 X `125 X `125 X************** X*** 668,674 X fprintf(fpm,"! Remove NEWSGROUP %s\n",ga[g]->grp_name); X fprintf(fpm,"SET NEWSGROUP \"%s\"/HOLD=14\n",ga[g]->grp_name); X fprintf(fpm,"! Or:\n"); X! fprintf(fpm,"!SET NEWSGROUP \"\"/LOCAL\n",ga[g]->grp_name); V fprintf(fpm,"!DELETE NEWSGROUP \"%s\"/NOCONFIRM\n",ga[g]->grp_name) X; X `125 X `125 X--- 671,677 ----- X fprintf(fpm,"! Remove NEWSGROUP %s\n",ga[g]->grp_name); X fprintf(fpm,"SET NEWSGROUP \"%s\"/HOLD=14\n",ga[g]->grp_name); X fprintf(fpm,"! Or:\n"); X! fprintf(fpm,"!SET NEWSGROUP \"%s\"/LOCAL\n",ga[g]->grp_name); V fprintf(fpm,"!DELETE NEWSGROUP \"%s\"/NOCONFIRM\n",ga[g]->grp_name) X; X `125 X `125 X************** X*** 855,861 X s_str[132], X newsgroups[132], X *il = itm[CONTROL] + 5, X! *cp; X FILE *fpw = 0, X *fpr; X int line_count = 0; X--- 858,865 ----- X s_str[132], X newsgroups[132], X *il = itm[CONTROL] + 5, X! *cp, X! subject[132]; X FILE *fpw = 0, X *fpr; X int line_count = 0, X************** X*** 858,864 X *cp; X FILE *fpw = 0, X *fpr; X! int line_count = 0; X `032 X sprintf(s_str,"to.%s",news_node); X strcpy(newsgroups,itm[NEWSGROUPS]); X--- 862,869 ----- X subject[132]; X FILE *fpw = 0, X *fpr; X! int line_count = 0, X! cre_grp[2]; X `032 X sprintf(s_str,"to.%s",news_node); X strcpy(newsgroups,itm[NEWSGROUPS]); X************** X*** 863,869 X sprintf(s_str,"to.%s",news_node); X strcpy(newsgroups,itm[NEWSGROUPS]); X s_to_lower(newsgroups); X! if (strcmp(newsgroups,s_str)) `123 V printf("Control: %s - Directed to foreign node: %s\n",itm[CONTROL],news Xgroups); X return; X `125 X--- 868,876 ----- X sprintf(s_str,"to.%s",news_node); X strcpy(newsgroups,itm[NEWSGROUPS]); X s_to_lower(newsgroups); X! strcpy(xbuf, newsgroups); X! if ((cp = strrchr(xbuf, '.')) && !strcmp(".ctl",cp)) *cp = '\0'; X! if (strcmp(xbuf,s_str)) `123 V printf("Control: %s - Directed to foreign node: %s\n",itm[CONTROL],news Xgroups); X return; X `125 X************** X*** 884,890 X `125 X s_to_lower(s_str); X sprintf(send_scr_file,"SYS$SCRATCH:SENDME_MAIL_%X.TMP",getpid()); X! fpw = fopen(send_scr_file,"w"); X `032 X il = itm[CONTROL] + 5; X while (cp = strchr(il,'<')) `123 X--- 891,897 ----- X `125 X s_to_lower(s_str); X sprintf(send_scr_file,"SYS$SCRATCH:SENDME_MAIL_%X.TMP",getpid()); X! fpw = fopen(send_scr_file,"w","mbc=32"); X `032 X il = itm[CONTROL] + 5; X while (cp = strchr(il,'<')) `123 X************** X*** 896,902 X `125 X else ++il; X `125 X! if (fpr = fopen(fn,"r")) `123 X while ((fgets(xbuf,510,fpr)) && (*xbuf != '\n')); X while (fgets(xbuf,510,fpr)) `123 X if (*xbuf == '\n') continue; X--- 903,909 ----- X `125 X else ++il; X `125 X! if (fpr = fopen(fn,"r","mbc=32","mbf=2")) `123 X while ((fgets(xbuf,510,fpr)) && (*xbuf != '\n')); X while (fgets(xbuf,510,fpr)) `123 X if (*xbuf == '\n') continue; X************** X*** 915,922 X int cur_time; X struct tm *stm; X `032 X! fpr = fopen(send_scr_file,"r"); X! fpw = fopen(send_scr_file,"w"); X sprintf(post_path," %s!%s",news_node,usr_username); X fprintf(fpw,"Path: %s\n",post_path); X fprintf(fpw,"From: %s@%s",usr_username,Node_address); X--- 922,929 ----- X int cur_time; X struct tm *stm; X `032 X! fpr = fopen(send_scr_file,"r","mbc=32","mbf=2"); X! fpw = fopen(send_scr_file,"w","mbc=32"); X sprintf(post_path," %s!%s",news_node,usr_username); X fprintf(fpw,"Path: %s\n",post_path); X fprintf(fpw,"From: %s@%s",usr_username,Node_address); X************** X*** 923,930 X if (*usr_persname) fprintf(fpw," (%s)",usr_persname); X fprintf(fpw,"\n"); X fprintf(fpw,"Newsgroups: %s\n",s_str); X! fprintf(fpw,"Control: sendme %s\n",news_node); X! fprintf(fpw,"Subject: sendme %s\n",news_node); X time(&cur_time); X p = ctime(&cur_time); X p += 4; X--- 930,938 ----- X if (*usr_persname) fprintf(fpw," (%s)",usr_persname); X fprintf(fpw,"\n"); X fprintf(fpw,"Newsgroups: %s\n",s_str); X! sprintf(subject,"sendme %s",news_node); -+-+-+-+-+ End of part 1 +-+-+-+-+-