gih900@csc.anu.oz (Geoff Huston) (10/10/89)
$! ------------------ CUT HERE ----------------------- $ v='f$verify(f$trnlnm("SHARE_VERIFY"))' $! $! This archive created by VMS_SHARE Version 7.1-004 3-AUG-1989 $! On 10-OCT-1989 10:55:33.53 By user GIH900 $! $! This VMS_SHARE Written by: $! Andy Harper, Kings College London UK $! $! Acknowledgements to: $! James Gray - Original VMS_SHARE $! Michael Bednarek - Original Concept and implementation $! $!+ THIS PACKAGE DISTRIBUTED IN 5 PARTS, TO KEEP EACH PART $! BELOW 30 BLOCKS $! $! TO UNPACK THIS SHARE FILE, CONCATENATE ALL PARTS IN ORDER $! AND EXECUTE AS A COMMAND PROCEDURE ( @name ) $! $! THE FOLLOWING FILE(S) WILL BE CREATED AFTER UNPACKING: $! 1. AAREADME.TXT;1 $! 2. ADD_TRANSFORM.DIFF;3 $! 3. MAILDEF.DIFF;2 $! 4. NEWS.DIFF;2 $! 5. NEWSADD.DIFF;2 $! 6. NEWSBUILD.DIFF;2 $! 7. NEWSCMD.DIFF;2 $! 8. NEWSDEFINE.DIFF;2 $! 9. NEWSDELETE.DIFF;2 $! 10. NEWSDIR.DIFF;2 $! 11. NEWSDISPLAY.DIFF;2 $! 12. NEWSDIST.DIFF;2 $! 13. NEWSEXTERN.DIFF;2 $! 14. NEWSEXTRACT.DIFF;2 $! 15. NEWSFILES.DIFF;2 $! 16. NEWSFORWARD.DIFF;2 $! 17. NEWSHELP.DIFF;2 $! 18. NEWSINCLUDE.DIFF;2 $! 19. NEWSMOD.DIFF;2 $! 20. NEWSMODE.DIFF;2 $! 21. NEWSPOST.DIFF;2 $! 22. NEWSRC.DIFF;2 $! 23. NEWSREAD.DIFF;2 $! 24. NEWSREGISTER.DIFF;2 $! 25. NEWSREMCLIENT.DIFF;2 $! 26. NEWSRTL.DIFF;2 $! 27. NEWSSEARCH.DIFF;2 $! 28. NEWSSELECT.DIFF;2 $! 29. NEWSSETSHOW.DIFF;2 $! 30. NEWSSITE.DIFF;2 $! 31. NEWSSITE_H.DIFF;2 $! 32. NEWSSKIM.DIFF;2 $! 33. NEWSSKIP.DIFF;2 $! 34. NEWSUTILITY.DIFF;2 $! 35. NEWSV58_UPGRADE.DIFF;2 $! 36. NEWSVARIABLES.DIFF;2 $! 37. NEWSVMSMAIL.DIFF;2 $! 38. NEWS_HLP.DIFF;2 $! 39. NNTP_CLIENT.DIFF;2 $! 40. NNTP_DEC.DIFF;2 $! 41. NNTP_DECM.DIFF;2 $! 42. NNTP_FEED.DIFF;2 $! 43. NNTP_SERVER.DIFF;2 $! 44. NNTP_TCPCMU.DIFF;2 $! 45. NNTP_TCPWIN.DIFF;2 $! 46. NNTP_TTY.DIFF;2 $! 47. NNTP_XFER.C;1 $! $set="set" $set symbol/scope=(nolocal,noglobal) $f=f$parse("SHARE_TEMP","SYS$SCRATCH:.TMP_"+f$getjpi("","PID")) $e="write sys$error ""%UNPACK"", " $w="write sys$output ""%UNPACK"", " $ if f$trnlnm("SHARE_LOG") then $ w = "!" $ if f$getsyi("version") .ges. "V4.4" then $ goto START $ e "-E-OLDVER, Must run at least VMS 4.4" $ v=f$verify(v) $ exit 44 $UNPACK: SUBROUTINE ! P1=filename, P2=checksum $ if f$search(P1) .eqs. "" then $ goto file_absent $ e "-W-EXISTS, File ''P1' exists. Skipped." $ delete/nolog 'f'* $ exit $file_absent: $ if f$parse(P1) .nes. "" then $ goto dirok $ dn=f$parse(P1,,,"DIRECTORY") $ w "-I-CREDIR, Creating directory ''dn'." $ create/dir 'dn' $ if $status then $ goto dirok $ e "-E-CREDIRFAIL, Unable to create ''dn'. File skipped." $ delete/nolog 'f'* $ exit $dirok: $ w "-I-PROCESS, Processing file ''P1'." $ define/user sys$output nl: $ EDIT/TPU/NOSEC/NODIS/COM=SYS$INPUT 'f'/OUT='P1' PROCEDURE Unpacker ON_ERROR ENDON_ERROR;SET(FACILITY_NAME,"UNPACK");SET( SUCCESS,OFF);SET(INFORMATIONAL,OFF);f:=GET_INFO(COMMAND_LINE,"file_name"); buff:=CREATE_BUFFER(f,f);p:=SPAN(" ")@r&LINE_END;POSITION(BEGINNING_OF(buff)) ;LOOP EXITIF SEARCH(p,FORWARD)=0;POSITION(r);ERASE(r);ENDLOOP;POSITION( BEGINNING_OF(buff));g:=0;LOOP EXITIF MARK(NONE)=END_OF(buff);x:= ERASE_CHARACTER(1);IF g = 0 THEN IF x="X" THEN MOVE_VERTICAL(1);ENDIF;IF x= "V" THEN APPEND_LINE;MOVE_HORIZONTAL(-CURRENT_OFFSET);MOVE_VERTICAL(1);ENDIF; IF x="+" THEN g:=1;ERASE_LINE;ENDIF;ELSE IF x="-" THEN g:=0;ENDIF;ERASE_LINE; ENDIF;ENDLOOP;p:="`";POSITION(BEGINNING_OF(buff));LOOP r:=SEARCH(p,FORWARD); EXITIF r=0;POSITION(r);ERASE(r);COPY_TEXT(ASCII(INT(ERASE_CHARACTER(3)))); ENDLOOP;o:=GET_INFO(COMMAND_LINE,"output_file");WRITE_FILE(buff,o); ENDPROCEDURE;Unpacker;EXIT; $ delete/nolog 'f'* $ CHECKSUM 'P1' $ IF CHECKSUM$CHECKSUM .eqs. P2 THEN $ EXIT $ e "-E-CHKSMFAIL, Checksum of ''P1' failed." $ ENDSUBROUTINE $START: $ create/nolog 'f' XRelease notes for NEWS V5.9A release. X XI have built V5.9A using the VAX C compiler V3.0. If you are using an earlie Vr Xversion of the compiler you'll need to keep the .h files which have been pos Vted Xto the anu-news mailing list in September 1989. I will not include these fil Ves Xin any subsequent releases. X Xa) File changes in V5.9a X`009DELETED`009 sortdef.h`009-- no longer referenced in any of the module Vs X`009RENAMED newsmail.c`009-- newsvmsmail.c X`009NEW FILE nntp X Xb) BEFORE applying the v5.9a patches RENAME NEWSMAIL.C to NEWSVMSMAIL.C X XGeoff Huston $ CALL UNPACK AAREADME.TXT;1 1918433 $ create/nolog 'f' X*** `091.news_v59_src`093add_transform.c X--- `091.news_src`093add_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 */ $ CALL UNPACK ADD_TRANSFORM.DIFF;3 1630369066 $ create/nolog 'f' X*** `091.news_v59_src`093maildef.h X--- `091.news_src`093maildef.h $ CALL UNPACK MAILDEF.DIFF;2 1985494578 $ create/nolog 'f' X*** `091.news_v59_src`093news.c X--- `091.news_src`093news.c $ CALL UNPACK NEWS.DIFF;2 1985494772 $ create/nolog 'f' X*** `091.news_v59_src`093newsadd.c X--- `091.news_src`093newsadd.c X************** X*** 1170,1176 X char *id, X *ide, X *mail_sender = itm`091SENDER`093, X! net_sender`091132`093; X `032 X if ((id = strchr(itm`091SUPERSEDES`093,'<')) X && (ide = strchr(itm`091SUPERSEDES`093,'>'))) `123 X--- 1170,1177 ----- X char *id, X *ide, X *mail_sender = itm`091SENDER`093, X! net_sender`091132`093, X! `009 save_itm_fname`091256`093; X `032 X strcpy(save_itm_fname,itm_fname); X if ((id = strchr(itm`091SUPERSEDES`093,'<')) X************** X*** 1172,1177 X *mail_sender = itm`091SENDER`093, X net_sender`091132`093; X `032 X if ((id = strchr(itm`091SUPERSEDES`093,'<')) X && (ide = strchr(itm`091SUPERSEDES`093,'>'))) `123 X *(ide + 1) = '\0'; X--- 1173,1179 ----- X net_sender`091132`093, X `009 save_itm_fname`091256`093; X `032 X+ strcpy(save_itm_fname,itm_fname); X if ((id = strchr(itm`091SUPERSEDES`093,'<')) X && (ide = strchr(itm`091SUPERSEDES`093,'>'))) `123 X *(ide + 1) = '\0'; X************** X*** 1193,1198 X if (!del_id(id,net_sender)) hist_add(id); X printf(" (Supersedes %s)",itm`091SUPERSEDES`093); X `125 X `125 X `125 X if (*itm_fname) sys_remote_send(itm`091PATH`093,itm`091NEWSGROUPS`093,it Vm`091DISTRIBUTION`093,itm_fname,itm`091MESSAGE_ID`093,!mod_add); X--- 1195,1201 ----- X if (!del_id(id,net_sender)) hist_add(id); X printf(" (Supersedes %s)",itm`091SUPERSEDES`093); X `125 X+ strcpy(itm_fname,save_itm_fname);`009/* new */ X `125 X `125 X if (*itm_fname) sys_remote_send(itm`091PATH`093,itm`091NEWSGROUPS`093,it Vm`091DISTRIBUTION`093,itm_fname,itm`091MESSAGE_ID`093,!mod_add); $ CALL UNPACK NEWSADD.DIFF;2 672149631 $ create/nolog 'f' X*** `091.news_v59_src`093newsbuild.com X--- `091.news_src`093newsbuild.com X************** X*** 46,51 X twg$tcp:`091netdist.include.sys`093,- X twg$tcp:`091netdist.include.vms`093,- X twg$tcp:`091netdist.include.netinet`093,- X sys$library X $ define lnk$library twg$tcp:`091netdist.lib`093libnet X $ define lnk$library_1 twg$tcp:`091netdist.lib`093libnetacc X--- 46,52 ----- X twg$tcp:`091netdist.include.sys`093,- X twg$tcp:`091netdist.include.vms`093,- X twg$tcp:`091netdist.include.netinet`093,- X+ twg$tcp:`091netdist.include.arpa`093,- X sys$library X $ define lnk$library twg$tcp:`091netdist.lib`093libnet X $ define lnk$library_1 twg$tcp:`091netdist.lib`093libnetacc X************** X*** 77,83 X $ call compile "NEWSFILES" "DELOBJ" 'p1 X $ call compile "NEWSFORWARD" "DELOBJ" 'p1 X $ call compile "NEWSHELP" "DELOBJ" 'p1 X! $ call compile "NEWSMAIL" "DELOBJ" 'p1 X $ call compile "NEWSMOD" "DELOBJ" 'p1 X $ call compile "NEWSMODE" "DELOBJ" 'p1 X $ call compile "NEWSPOST" "DELOBJ" 'p1 X--- 78,84 ----- X $ call compile "NEWSFILES" "DELOBJ" 'p1 X $ call compile "NEWSFORWARD" "DELOBJ" 'p1 X $ call compile "NEWSHELP" "DELOBJ" 'p1 X! $ call compile "NEWSVMSMAIL" "DELOBJ" 'p1 X $ call compile "NEWSMOD" "DELOBJ" 'p1 X $ call compile "NEWSMODE" "DELOBJ" 'p1 X $ call compile "NEWSPOST" "DELOBJ" 'p1 X************** X*** 317,322 X $ link/notrace/nomap/exe=`091-.NEWS_DIST`093NNTP_FEED nntp_feed,`091-.news V_src`093options_c_link/opt X $ purge nntp_feed.*,`091-.news_dist`093nntp_feed.* X $past18: X $! X $! NNTP_TCPCMU X $! X--- 318,346 ----- X $ link/notrace/nomap/exe=`091-.NEWS_DIST`093NNTP_FEED nntp_feed,`091-.news V_src`093options_c_link/opt X $ purge nntp_feed.*,`091-.news_dist`093nntp_feed.* X $past18: X+ $! X+ $! NNTP_XFER X+ $! X+ $ if f$search("NNTP_XFER.OBJ").eqs."" then $ goto do9a X+ $ if f$cvtime(f$file_attributes("`091-.NEWS_SRC`093NNTP_XFER.C","rdt")).gt Vs.- X+ f$cvtime(f$file_attributes("NNTP_XFER.OBJ","rdt")) then $ goto do9a X+ $ goto past9a X+ $do9a: X+ $ set def `091-.news_src`093 X+ $ write sys$output "$ cc nntp_xfer" X+ $ cc/nolis/object=`091-.news_build`093nntp_xfer nntp_xfer X+ $ set def `091-.news_build`093 X+ $ purge nntp_xfer.*,`091-.news_src`093nntp_xfer.* X+ $past9a: X+ $ if f$search("`091-.NEWS_DIST`093NNTP_XFER.EXE").eqs."" then $ goto do18a X+ $ if f$cvtime(f$file_attributes("NNTP_XFER.OBJ","rdt")).gts.- X+ f$cvtime(f$file_attributes("`091-.NEWS_DIST`093NNTP_XFER.EXE","rdt")) th Ven $ goto do18a X+ $ goto past18a X+ $do18a: X+ $ write sys$output "$ link nntp_xfer" X+ $ link/notrace/nomap/exe=`091-.NEWS_DIST`093nntp_xfer nntp_xfer,`091-.news V_src`093options_c_link/opt X+ $ purge nntp_xfer.*,`091-.news_dist`093nntp_xfer.* X+ $past18a: X $! X $! NNTP_TCPCMU X $! $ CALL UNPACK NEWSBUILD.DIFF;2 962889786 $ create/nolog 'f' X*** `091.news_v59_src`093newscmd.cld X--- `091.news_src`093newscmd.cld X************** X*** 478,484 X define syntax SET_ITEM X routine do_set_item X parameter P1 label=OPTIONS, value(required) X! parameter P2 label=NEWSITEM X qualifier HOLD value(default="0") X `032 X define syntax SET_MANAGER X--- 478,484 ----- X define syntax SET_ITEM X routine do_set_item X parameter P1 label=OPTIONS, value(required) X! parameter P2 label=NOTEID X qualifier HOLD value(default="0") X `032 X define syntax SET_MANAGER X************** X*** 660,673 X routine do_error X parameter P1 label=OPTIONS, prompt="_NEWS ADD>", value(requ Vired,type=ADD_OPTIONS) X `032 X- define verb ANSWER X- routine do_followup X- parameter P1, label=INFILE,value(type=$infile) X- qualifier EDIT, negatable,default X- qualifier EXTRACT, negatable,default X- qualifier HEADERS, negatable X- qualifier SELF, negatable X-`032 X define verb ATTACH X routine do_attach X parameter P1, label=PROCESSNAME X--- 660,665 ----- X routine do_error X parameter P1 label=OPTIONS, prompt="_NEWS ADD>", value(requ Vired,type=ADD_OPTIONS) X `032 X define verb ATTACH X routine do_attach X parameter P1, label=PROCESSNAME X************** X*** 736,741 X qualifier OUTPUT value(required,type=$outfile) X qualifier TITLE value(required) X qualifier UNSEEN X qualifier CONFERENCES, nonnegatable,syntax=DIR_CONFERENCES X qualifier ENTRIES, nonnegatable,syntax=DIR_ENTRIES X qualifier NOTEBOOK, nonnegatable,syntax=DIR_NOTEBOOK X--- 728,734 ----- X qualifier OUTPUT value(required,type=$outfile) X qualifier TITLE value(required) X qualifier UNSEEN X+ qualifier UNREGISTERED nonnegatable X qualifier CONFERENCES, nonnegatable,syntax=DIR_CONFERENCES X qualifier ENTRIES, nonnegatable,syntax=DIR_ENTRIES X qualifier NOTEBOOK, nonnegatable,syntax=DIR_NOTEBOOK X************** X*** 739,745 X qualifier CONFERENCES, nonnegatable,syntax=DIR_CONFERENCES X qualifier ENTRIES, nonnegatable,syntax=DIR_ENTRIES X qualifier NOTEBOOK, nonnegatable,syntax=DIR_NOTEBOOK X! disallow any2 (ALL,ITEMS,NEW,NEWSGROUPS,REGISTER,SINCE) X `032 X define verb DISPLAY X routine do_display_file X--- 732,738 ----- X qualifier CONFERENCES, nonnegatable,syntax=DIR_CONFERENCES X qualifier ENTRIES, nonnegatable,syntax=DIR_ENTRIES X qualifier NOTEBOOK, nonnegatable,syntax=DIR_NOTEBOOK X! disallow any2 (ALL,ITEMS,NEW,NEWSGROUPS,REGISTER,SINCE,UNREGISTERED V) X `032 X define verb DISPLAY X routine do_display_file X************** X*** 782,787 X or (TITLE and SUBJECT) or (UNSEEN and UNREAD) X `032 X define verb FOLLOWUP X routine do_followup +-+-+-+-+-+-+-+- END OF PART 1 +-+-+-+-+-+-+-+-