Changes file for VNEWS. September, 1991 [Version 1.41 release] CMD.FOR - only check user@site in verifying validity of cancel command. - let user edit a file twice without restoring original file - don't always blow up when the server makes a mistake. - pull out cmd_article* subroutines. - output changes to accomodate Japanese character set CMD_ARTICLE.FOR - pull out cmd_article* subroutines into this file. COMPILE_VNEWS.COM - version number update - update for cmd_article* DECNETLIB.FOR - move DECnet data structure to include file NETWORK.DEF GET_INIT.FOR - allow use of NNTP_HOST_NAME to over-ride local TCP/IP name. - output changes to accomodate Japanese character set KEYPAD_HELP.FOR - add Q! command to abort run LINK_VNEWS.COM - update for cmd_article* MAKEFILE - make sure that everyone links against VAXCRTL - version number update - update for cmd_article NETWORK.DEF - increase size of DECnet node name to 64 NEWS.FOR - add concept of "aborting" to quit_news subroutine NNTP.FOR - seriously speed up loading of group names. - make sure that group names are not too long. - cosmetic problems in several messages fixed. (twice) - output changes to accomodate Japanese character set OPEN_NEWSRC.FOR - output changes to accomodate Japanese character set READ_NEWS.FOR - fix typo making $ not work. - add Q! command. - output changes to accomodate Japanese character set July, 1991 [Version 1.40 release] The following list is just things which have changed between the beta and the current version. VNEWS.CLD - remove (list) from MARK qualifier. CMD.FOR - don't delete message if user fooled with headers. Tell user where he can get his message. NNTP.FOR - fix bugs in subscribing code. NEWS.FOR - reinstate NEWGROUPS command. Fix newgroups handling to be more sublime. CMD.FOR - fix bug in From vs. OldFrom handling. STR_STRIP_RE.FOR - don't know why this ever worked. rewrote. NEWS.FOR - make more polite and informative. CMD.FOR - major massive performance fix to make vnews as fast as it was before March, 1991 [Version 1.4 beta 1] note: major contributors to this version: jms (Joel Snyder, jms@arizona.edu), pr (Pat Rankin, rankin@eql.caltech.edu), jfem (John 'Fast-Eddie' McMahon, mcmahon@tgv.com), jg (Jim Gerland, gerland@ubvm), paf (Peter A Fox, fox@solar.astro.yale.edu), eg (Ehud Gavron, gavron@vesta.sunquest.com) Module SRV.FOR - In Srv_Recv, there was an error checking return status, and in returning if there was an error. Fixed. jms/910320 (also pointed out by pwf@vx.acs.umn.edu, Paul Falker) In Cmd, if the command is 'QUIT,' then instead of waiting for a response, simply close the connection. jms,others/910325 Added support for AUTHINFO commands. jms,jg/910414 Simplify new code. pr/910416 Added code to call socket_perror to enhance debugging. jfem/910430 Bugfix in authinfo commands to help with FORTRAN failure to support recursion, etc. pr,jms/910620 Modules READ_NEWS, NEWS, NEWS.DEF, and CMD - If the server doesn't allow posting, then remember this (new common block variable "posting_allowed") and modify all future menus and help printouts. jms/910320 Add Group_Header subroutine. pr,jg/910325 Add Z command. pr/910325 Add Y,N commands. jms/910330 Add Cancel command. jms/910331 Cosmetic fixes. pr/910414 Changed %T to %D in F$FAO. jfem/910414 Fixed m/g command. pr/910619 Added F, S commands. Added /c switch. jms/910705 Module CMD.FOR - Create a unique Message_ID: for each message when sending to the server. jms/910320 Make detection of "Re:" in subject lines less sensitive to case and character. pr/910325 Make subjects of '500' more robust. pr/910325 Bugfix in filenames. pr/910325 Bugfix and enhancements in moving groups. pr/910325 Check to see if files exist before deleting them. Delete all versions of output file. Jim Rapp/910326 Modify Fld to be NwsGrpSz. jg/910326 Trim trailing blanks from some fields. jg/910326 Add the Y and N commands, which turn off confirmation of the C command. jms,paf/910327. Also, changes in NEWS.DEF (add NOASK logical) and in READ_NEWS. Fix problem with some buggy server returnning wrong status code. jms/910327. Added Cancel command (C). jms,LHWong/910331. (cancel code from Lam Wong, LHWong@csa2.lbl.gov) Fixed 'post' with distribution error so you don't have to start over. jms/910331 Try 500 fix again. I'm not a happy camper. jms/910416 Adjust column layout for d/g command. pr/910416 Add more informative messages. jfem/910430 Don't erase st% status message. jfem/910430 Make CMD_SPAWN smarter to try and reuse subprocesses. pr/910619 Fix Cmd_Article_Restore. pr/910619 Add in logic to deal with validate_headers. Remove much header writing, in favor of putting it in later. jms/910704 Add F, R/c and F/c commands. jms/910705 Properly deal with followup-Tos directed to poster. jms/910705 Add S command (cmd_articlesend). jms/910705 New Module Validate_Headers - validates and updates headers in articles before posting. This is based on Gavron's "Fascist" mode, where the user isn't allowed to screw with things that the Fascist news software things he shouldn't. In particular, users aren't given the chance to play with Message-ID, Date, References, Path, Organization, and News-Software. We do some nice stuff---if the user changes From, then we automatically include a Sender (RFC1036). jms/910704 NEW Module RFC_Date (and changes to CMD.FOR) - Change to use dates compliant with RFCs 822, 1036, and 1123. jms/910620 NEW Module Edit_File (and changes to CMD.FOR) - Change to use Edit_File subroutine for more powerful editing. pr/910325. New Module SITE_SPECIFIC.DEF - moved all site specific stuff to this single include file, with much stronger documentation for lazy installers (like me!). Also, moved ALL logical name translations for external parameters into this module. Implies changes in GET_INIT, NEWS, EDIT_FILE, and DECNETLIB. jms/910329 Added NNTP_TIMEZONE variable/logical name. jms/910624 Added NewsRC_Loc variable. jms/910624\ Added NNTP_REPLY logical name for Reply-to: headers. jms/910705 Module NEWS - A call to SYS$FAO was incorrectly coded. Fix to include the output argument. jms/910320 Add a call to SMG_final to clean up at end. paf/910326. Add calls to establish exit handlers. paf/910326. Update error messages to be a little more helpful. jfem/910430 Keep some basic stats about usags. Includes changes to CMD.FOR and READ_NEWS.FOR, as well as new common blocks in NEWS.DEF. jms/910430 Update to work with kept subprocesses (pr,jms/910619) Add new switch /AUTOCATCHUP. jms/910620 NEW Module CMULIB - emulation library for CMU TEK TCP/IP. Files CMULIB.FOR and CMULIB.DEF were added to the kit at the suggestion of David Paschall-Zimbel. These subroutines provide a "look-alike" socket library for CMU TCP/IP and were written by Mike Iglesias at U California Irvine. Added shutdown() subroutine. jms/910328 Added inet_addr() subroutine. jms/910330 New Module GETHOSTBYNAME.C - GetHostByName needed, and CMU TEK TCP/IP doesn't have it. However, Bruce Miller happened to be vagranting nearby, so he wrote it. bm17+/910500 New Module HtoNs - Host to Network (short) conversion routine. Needed by CMU and DECnet (even though it never gets called). New Module DECNETLIB - emulation library for DECNET. Written by Peter Fox. Also, substantial changes in GET_INIT.FOR to accomodate DECnet. Added shutdown() subroutine. jms/910328 Lots of little bugs in DECNETLIB fixed. jms/910501 New Module PSCLIB - emulation library for Process Software Corp's TCPWARE. Many thanks to Martin Egger (egger@id.unibe.ch) for the updates to this and makefile. to make it all work. jms/910619 Module NEW_VERSION - now called VERSION.COM, this generates VERSION.FOR given an argument which is the version number for VNEWS. The version number comes from the first line of the MAKEFILE. Several minor bugfixes in VERSION.COM. jms,pr/910320,910327 Makefile - completely new. Credit to jg,jms/910324. Add support for UCX. jms/910326 (untested!) Other changes to clean up. pr/910327. Add support for TCPware. jms/910619 Module NEWS.DEF - added constants for maximum group size, and upped hardcoded values for maximum number of groups and size of range. Included comments to discuss how to up these in the future. jms,pr,jg/910324 Changed sizes of some constants and variable sizes so that VNEWS would compile under FORTRAN-HPO. Thanks to mcnair@utkvx.utk.edu & others. jms/910619 Module USER_OPEN.DEF - moved things around to support FOrtran-HPO. Thanks to mcnair@utkvx.utk.edu & others. jms/910619 New Modules DEBUG.DEF, NETWORK.DEF - moved some constants and data structures out to their own .DEF files to reduce collisions in some modules. jms/910328 Added concept of NNTP_Transport global in network.def so that network code can be smarter about itself. Only used right now for DECnet. jms/910501 Module GROUP_FIND.FOR - optimize call to TrimLg out of tight loop. pr/910325 Further optimize to not do a MATCH_WILD if no wildcard charcters present. pr/910327 Module SMG.FOR (and associated changes in CMD.FOR and other places) Change handling of broadcast trapping. pr/910325 Add new SMG_Final subroutine. paf/910326. Bugfix - don't print blank broadcasts. paf/910326. Re-write broadcast trapping code to use queue. Messages are delayed a little longer, but they now come out in a nicer manner. jms/910620 Module SMG.FOR, NEWS.FOR, NEW VNEWS_CLD.CLD - add a better DCL interface to VNEWS. pr/910325 Add /AUTOCATCHUP switch to VNEWS. jms/910620 Module CLOSE_NEWSRC.FOR - optimize to not include messages which aren't on the server. pr/910325 Make sure we close the file. jms/910327 Support for NewsRC_Loc logical name. jms/910624 Module OPEN_NEWSRC.FOR - Better handle errors in .newsrc file. pr/910325 Make sure we don't have more than MX_Group groups. jfem/910430 Support for NewsRC_Loc logical name. jms/910624 NEW Module GETPERSONALNAME.FOR - Gets personal name, first from a logical name (NNTP_NAME), then from the MAILUAF, and then from the SYSUAF. Trim trailing nulls. jms/910327 Module GETUSERDIRECTORY.FOR - remove code which gets personal name, and created new GETPERSONALNAME. jms/910325 Bugfix to put in proper size for UAI$_DEFDEV (from $GETUAI in SYS-317. jms,jg/910326. Module GETUSERNAME.FOR - massive bugs. rewritten from scratch. Include new ITEMLIST.DEF. jms/910326 Module TRANSLOG.FOR (and all subroutines that call it) - Simplified all code in VNEWS which does logical name translations: now, all translations are done process/job/group/system in that order, in all access modes. Module GET_INIT.FOR - Move all site specific things to a new include file, site_specific.def. jms/910325 Change to use gethostbyname() instead of ugly numeric IP address. pr/910325 Module SEND_MAIL.FOR, NEWS.FOR - disable installed privileges; re-enable them only while sending mail; necessary to securely install VNEWS with SYSPRV in order to work-around a PMDF problem. Pat Rankin (rankin@eql.caltech.edu) pr/910325 Make the mail sending process more robust. jms/910325 Make mail believe in your COPY_SELF flags (either Reply or Send, since it's not clear what these are...) jms/910705 Module NNTP.FOR - variety of bug fixes. pr/910325. Change to move query_groups to a separate subroutine. pr/910325 Bugfix to prior bugfix. pr/910416 Removed 'newgroups' command, claimed to be obsolete. jms/910430 (actually a change to news.for to not call this routine) Module Mark_XREF_AS_READ.FOR - bugfix to correct group size. jg/910326 Additional bugfix on sizes. pr/910414 (a3) New Module DELETE_FILE.FOR - deletes a file. Replaces calls several places in VNEWS code to LIB$DELETE_FILE. This checks to see if the file already exists, and writes out an error message if it cannot be deleted. jms/910326 Update per suggestion pr to delete all versions. jms/910414 New Module HANDLER.FOR - adds a ^Y handler for VNEWS. This implies an entry point for exit code, so we changed NEWS.FOR to call quit_news() when it's all done. paf/910327 This could use a lot of careful work. Fix bugs in SMG_FINAL (thanks to pr); create global state variables so we know what kind of exiting we have to do; also implied several updates to QUIT_NEWS() and the creation of a new HANDLER.DEF. New Module AUTH.FOR - add support for AUTHINFO commands. Includes changes to NEWS.DEF, SITE_SPECIFIC.DEF. Also, stuck NNTP.H at the end for future reference. Thanks to Jim Gerland for pointing the way on this. jms/910331,910410. (a3) Module GETINTEGER.FOR - Alain Cedelle (cedelle@yin.irisa.fr) provided a new GET_INTEGER which tends not to overflow integer values. This required changes in CMD.FOR and NNTP.FOR. 910416 NEW module 47compat.for - Warren Massey (massey@travis.llnl.gov) wanted a VMS 4.7 compatibility mode, so I kludged up a quick one.