Bug Report for NEWS V5.8 ------------------------ B.5.8.1 From: Leonard J. Peirce This correspondance deals with the Digital distributed implementation of the NNTP protocol as a DECnet object on an Ultrix system. The problem was that the NEWS NNTP DECnet implementation has problems talking to the Ultrix implementation, giving sync problems... I corresponded with Matt Thomas some more after that and he put me on the trail of the problem that I was having. It does appear that the difference in DECnet socket type between ULTRIX and VMS was causing the problem. I modified the code and rebuilt and things seem to be working just fine now. I thought that you might be interested to know what I did to make it work. The fix itself is very simple. Just modify any QIO call that is writing/reading to/from a DECnet socket to include the IO$M_MULTIPLE modifier. This makes it act like a stream socket and things work great. I have NOT included these changes in the distributin of NEWS NNTP over DECnet as such, but have placed all the code in conditional compilation section, using the compiler constant "DECNETSTREAM". The reason for this is that I would like by default the new version to be compatible with previous versions. The change described here is only relevant in the case where a VMS system wants to make a connection to an Ultrix NNTP DECnet object. I have added conditional entries in the files NNTP_FEED.C and NEWSREMCLIENT.C. I need to convert NNTP_DEC.C to use QIOs and also change and test NNTP_DECM.C. B.5.8.2 The directory of a newsgroup with > 841 items (e.g. 1125) is incorrectly displayed after item 841. Information on items after the 841st becomes unavailable. This is a bug induced by a 64k byte limit on the size of a SMG virtual display. This is a VMS V4.x bug. the VMS V5 release notes indicates that SMG displays can now be breater than 64K, but it doesn't seem to have happened!! B.5.8.5 From: Jonathan Ridler Default protection ACE's on newsgroup directories are ignored by NEWS when news-item text files are created in those directories. B.5.8.6 From: Jonathan Ridler Our PMDF mailer failed to deliver some news batches to a downstream site. It sent several mail messages to our NEWSMGR account to indicate this. An example of one of the messages is: Date: Thu, 23 Mar 89 00:30 +1000 From: PMDF Mail Server Subject: Undeliverable mail To: NEWSMGR@ucsvc.unimelb.edu.au Your message could not be delivered to: NEWSMGR@phillip.edu.au Your message has been enqueued and undeliverable for 3 days. The mail system will continue to try to deliver your message for an additional 9 days. The beginning of your message follows: Date: Sun, 19 Mar 89 07:17 +1000 From: News System Administrator Subject: Usenet News Item(s) from UCSVC To: NEWSMGR@phillip.edu.au X-VMS-To: in%"NEWSMGR@phillip.edu.au" N#! rnews 785 NRelay-Version: VMS News - V5.7 09/01/89 VAX/VMS V5.0; site ucsvc.unimelb.edu.au NPath: ucsvc!murdu!murtoa.cs.mu.oz.au!munnari!uunet!visenix!beattie NNewsgroups: comp.os.minix NSubject: ls patches NEWS added the stub of the failed messsage into the newsgroup (adding a "** Sender Unknown **" header and a (newly-created?) "Message-Id"). Whilst it is difficult to cater for all anomalous mail to NEWSMGR, the circumstance above gives at least one clue to a problem - the Path header contains "ucsvc" (our site name). NEWS added the item, updating this Path header to be "ucsvc!ucsvc!murdu!...". Perhaps in such cases the "item" should be JUNKed (Path Loop?)? B.5.8.7 From: Jonathan Ridler The "Unread" count in the /NEW directory (perhaps others too?) is sometimes 1 (one) greater than is correct. SELECTing the newsgroup and then re-displaying the /NEW directory fixes the count. This appears to happen (at least) when the last but one newsitem has been deleted. This is not a bug but a feature - NEWS makes a guess at the unread count on the initial directory display. B.5.8.8 From: Jonathan Ridler Directory displays of items with zero lines do not put a zero (0) in the lines column. This also causes problems in an extracted/printed listing of such directories. B.5.8.9 From: Jonathan Ridler Issuing the command EXTRACT /MARK=mark output_file causes _only_ the current item to be extracted, regardless of whether it is marked or not. Marked items appear to be ignored. B.5.8.10 From: Jonathan Ridler In investigating problem 19 above, it was found that SHOW MARK occassionally listed a single marked item twice for the same tag. Suggestions List for NEWS V5.8 ------------------------------ S.5.8.1 The 'search/edit' command should as a result edit the item where the string searched for is found and position at that string within the file. This is not possible in a generic fashion - As the Editor used is configurable by each user a positioning command is not possible in a general manner. The only possible solution is to set up a process level logical name(s) which indicate the file, line number and character number, and leave the interpretation of these logical names to the editor startup procedure. S.5.8.2 One of the aspects of NEWS being able to have server nodes is that unfriendly users can ,by collecting all items from a remote server for instance, possibly write melt down a disk on the node at which he is working. This requires the NEWS files to be owned by a specific account. Then a logical name (NEWS_DISKQ_TRAGET) could be used as the 'target' news disk space. When disk usage exceeds this amount, no further server requests are saved on the NEWS area, (but are local to the requesting user). When SKIM/ITEMS is executed, local copies of news items (starting at the oldest in some way), are deleted until the target is achieved. USENET would also be mailed when SKIM detects that usage is over quota. S.5.8.3 If ADD FILE/CREGRP is used within NEWS and a group gets actually created a message should still be posted to USENET. This is possible, but may result in a lot of mail!! S.5.8.4 Various error conditions should be a bit more detailed. For instance when the NEWS command 'create group groupname' fails only the error line 'cannot create group' is displayed. There can be a lot of reasons why however. One line for instance could be 'cannot create group (diskquota exceeded)'. For instance a user reads an article in a group which is served at a remote node.He sometimes gets the error message 'cannot access item text'. This might however be 'cannot access item text (node unreachable)' or 'cannot access item text (network protocol error)'. This area of error treatment requires much more attention - A .MSG file with appropriate LIB$SIGNAL calls is the best answer here. This is future release material. S.6 A suggestion from several users: can SEARCH "string" optionally continue from the current item (as per continue search) rather than always start from the first item again? S.10 SKIM /ITEMS appears to make a full date/time comparison to determine if an item has expired, leading to SKIMs at different times of the same day continuing to find articles to expire. Is this intended/desirable? SKIM is very literal - it takes the creation time (exact to the second!), adds the expiry delta value, then compares to the current time. There are no plans to change this algorithm at this point. S.11 When modifying the contents or "attributes" of a newsgroup (e.g. when deleting items manually, changing expiry period, priority of registration, making local, etc.), the item directory is updated as appropriate, but the heading contains "stale" information. Can this display be updated at the time of change also? S.12 Provide a logical name "NEWS_HELPLIBRARY" to point to a library-file containing NEWS-help. We have a central help-file which contains several HELP information. It would be nice to have only one copy on the disk. S.13 From: PSI%AUSTPAC.024020019700620::SYS_MS "Mats Sundvall" To: PSI%FAC.ANU.OZ::GIH900 Subj: Thoughts on nntp distribution I think we may have a problem with the nntp distribution. The way things are now make it possible that a site do not recieve all articles destined for it. This is because while you transfer news with nntpfeed you lock the nntpid file and if you try to ADD an entry into the database at the same time this id will not get written to the idfile. I just discovered this because I have rewritten the newsserver to ADD entries into the database directly instead of writing them to temporay files. This will speed up item availability, but you do loose the sequential nature of adding and then transfering the news. Anyway this could happen before if a user was posting something while there was nntptransfer. Trying to get around the whole problem by renaming files to work files etc soon gets very complicated. I have tried. You always end up with a period of time when all this can happen anyway. Maybe another solution would be to use an indexed file for nntpitemids. You write the itemid, destination, current date&time to the file. The procedure sys_remote_send will open this file ONCE. Then all machines with type 'N' will write itemids to the same file with shared write. You will gain performance because you do not have to OPEN/CLOSE files once for every ID and destination. This is important for a site will full feeds that transfer a lot of news. When News exits you close this nntpitemfile. NNTPFEED you change to just open this file. Take the destination parameter and make an indexed search in the file. When you have the items you loop through the items and delete them one after another. Maybe you should lock just these records before you start the transfer. Now you do not need to write failed records to temporary files and rename this file after transfer. If the system crashes while during transfer, the next transfer will not try to transfer the same items again. A lot better. Of course it is nice with plain text files. But if you want to implement an interactive newsfacility with synchronous delivery i think this is the way to go. Then you could have a new SKIM command that skims away to old entries from the NNTPITEM file or you just leave them there until they expires from the main database. If you want to you can implement a variant of the current NNTPFEED that transfer to all rechable systems at the same time. Open connections to every system that shall have nntpnews. Get next item from the nntpitemfile. Fetch the item from news and write it to all systems that want it at the same time and just toggle the links for those that do not want it. Delete the nntpitem records for those that did recieve it OK. Next nntpitem... This way you will only do the newsprocessing onces for every item that shall be transfered. Of course this scheem is no good if you have very different speeds on your network links or an unstable network. But it could be an alternative to the ordinary nntpfeed. Even better is to transfer the news at the same time it is added to the newsdatabase. This way you get the same interactivity as mail. You write the id to the nntpitemid file and then wake up a transfer daemon that will scan the nntpitem file and transfer the last items that was written to the file. It opens up a lot of new possibilities. What do you think Geoff. I have not had time to do any ccoding yet, but I wanted to here your opinion first. The changes in sys_remote_send is simple enogh. You know RMS files a lot better than me, so maybe you should do it. S.14 From: Jonathan Ridler To dramatically reduce the size of NEWSSKIM batch logs when a SKIM is done, could NEWS log the deletion of consecutive items (all for the same reason), as a range? For example: #1125-1493 Items deleted (expiry) #1495 Item deleted (expiry) #1498-1524 Items deleted (expiry) S.15 From: Jonathan Ridler Could NEWS create newsgroup directories in a manner such that after the newsgroups are deleted, it is not necessary to manually set the protections on the directory files to allow DELETE access before a SKIM/DIR will delete the empty directories? S.16 From: Jonathan Ridler Is it necessary for NEWS to send a mail message to USENET for each cancel control item processed? S.17 From: Jonathan Ridler Could MARK/UNMARK be enhanced to take an optional item_range/item_list parameter? S.18 From: Jonathan Ridler When a newsgroup is deleted from some types of directory display, (e.g. /NEW and /REG), (because the newsgroup has, for example, been SKIPed, DEREGISTERed or DELETE'ed), NEWS returns to the top of the directory after the action. This can be quite inconvenient. Can it stay at the same spot (as in DIR/ALL)? Fixed Bugs: V5.8 ---------------- These bugs were present in the V5.7 code. The Fixes described here are in the V5.8 release of NEWS F.5.8.1 SET NEWSGROUP ABC.XYZ /NOMOD where ABC.XYZ is _not_ already moderated causes NEWS to set the group to be moderated. (Ambiguities in general use of /MOD and /NOMOD). Bug in NEWSSETSHOW.C - fixed F.5.8.2 If an item has lines that are longer than the screen-width (80 chars), the item is displayed correctly wrapped and paged, but the line count statistics in the status line are incorrect. The total line count is incremented when a long line is displayed, making the count as accurate as possible on the fly - the changes are within NEWSDISPLAY.C F.5.8.3 There is no indication from SHOW NEWSGROUP or the newsgroup banner that the newsgroup is restricted. I have rewritten the status line at the head of the news item directory to include this information F.4 "ADD MEMBER xxx" adds the member but without the default WRITE privilege. This is essentailly a documentation problem about what WRITE access is all about - but I have changed both the program and the documentation to remove any ambiguity. F.5 A member ADDed as in 5 above cannot be deleted with DELETE MEMBER. I cannot reproduce this problem - Dont forget that a "local moderator" must execute the command "SET MODERATOR" to enable local moderator privileges. F.6 Attempting to MODIFY a member ADDed as in 5 above causes NEWS to crash with an ACCESS VIOLATION. I could not reproduce the accvio, but the modify member code did have bugs - these have been fixed F.7 The MODERATE privilege is not displayed by SHOW MEMBER. I could not reproduce this problem F.8 A member ADDed specifically with /PRIV=WRITE continues to display as having WRITE privilege even after a MODIFY MEMBER to remove the privilege. This is fixed F.9 Is it possible to UNRESTRICT a restricted newsgroup? SET NEWSGROUP/NORESTRICT is the command. F.10 From: Tom Limoncelli "One mis-feature in ANU NEWS that could be easily corrected would be to automatically disable the SPAWN command if the user is in a CAPTIVE account." Fixed (NEWSSITE.C and NEWSUTILITY.C) F.11 When the item number exceeds 32,000, display and selection of item numbers does not function correctly. Item numbers are stored as unsigned 16 bit values. Some parts of the code treat this value (incorrectly) as a signed value, causing the problem. The first fix would be to change all signed references to unsigned, but this is only delaying a subsequent problem of the item number exceeding 64,000. In this case the item numbers will wrap back through 0, but the user context files will assume that these new items have already been viewed. What is required is a method of automatic re-sequencing of item numbers, tied with a method of resequencing the user context file item references. I have re-defined the newsgroup and newsitem files with 32 bit indices. F.12 The server node name is limited to 6 chars (or less). This should be extended to 132 (or thereabouts!) Fixed V5.8 1/2/89 1. Two problems fixed with ADD FILE/MOD Attempt to mail to a rubbish address if the parser is presented with a junk item fragment (NEWSADD.C) ADD FILE/MOD creates a file .;1 in the current directory. The bug is is in the way in which sys_remote_send determines if the sys entry refers to the local node (NEWSADD.C, NEWSSITE.C) 2. Bug with implementation of the identifiers NEWS_NETPOST and NEWS_NONETPOST Users could post to non-local newsgroups despite owning the identifier defined by NEWS_NONETPOST, or not owning the identifier defined by NEWS_NETPOST (NEWSSITE.C) 3. Fix bug with the use of the logical name NEWS_node_TASK. This logical name must be converted to uppercase (NEWSREMCLIENT.C) 4. Allow the automatic registration of new newsgroups to be user selectable Implement the command SET PROFILE/NEWREGISTER [=pattern] (NEWSREGISTER.C, NEWSCMD.CLD) 5. Bug with acceptance of items in test_accept (NEWSSITE.C) 6. Alter behaviour of item text display - invalid command does not imply drop back to newsitem directory screen Added new command check_command and alter do_parse (NEWSUTILITY.C) Added call to check_command to put_line (NEWSDISPLAY.C) 7. Bug with CMU TCP support - change buffer size from 2048 down to 1024 in NNTP_TCPCMU.C 8. If the NEWSRC file is empty then don't accvio all over the floor (NEWSREGISTER.C) 9. Alter the help file organisation to bring all commands to level 1 Also fix bug in determination of screen size in HELP display (NEWSHELP.C) 10. Add /[no]filecheck qualifier to SKIM to speed up daily skim (NEWSSKIM.C) 11. Correct bug with SET NEWSGROUP n/NOMOD (NEWSSETSHOW.C) 12. If an item has lines that are longer than the screen-width (80 chars), the item is displayed correctly wrapped and paged, but the line count statistics in the status line were incorrect. (NEWSDISPLAY.C) 13. Correct bug with broadcast trapping with SPAWN of moderator mail (NEWSPOST.C) 14. There was no indication from SHOW NEWSGROUP or the newsgroup banner that the newsgroup is restricted. I have rewritten the status line at the head of the news item directory to include this information (NEWSUTILITY.C) 15. Remove inconsistency between documentation and program with the "ADD MEMBER xxx" commnand and WRITE access. WRITE is now the default privilege. (NEWSSETSHOW.C) 16. Bugs with MODIFY MEMBER command - these have been fixed (NEWSSETSHOW.C) 17. Alter ADD MEMBER to ask if the member should be added if the newsgroup is not a restricted newsgroup (NEWSSETSHOW.C) 18. Alter CREATE NEWSGROUP/RESTRICT - the qualifier value of /RESTRICT is now ignored (NEWSCREATE.C) 19. Make NEWS.DISTRIBUTION an optional file. If not present then the local node will post to all neighbours as defined in the SYS file. 20. Add support for NOTICE and TITLE - SET NEWSGROUP/NOTICE=notice-string and SET NEWSGROUP/TITLE=title-string 21. Add support for 32 bit item and newsgroup indices 22. Add support for long (132) char server node names. B.5.8.3 When DEREGISTERing a newsgroup from the DIRECTORY/REG display, the display returns to newsgroup number 1 (instead of remaining at the next (or previous) newsgroup as occurs when DELETE'ing a news group from DIRECTORY/ALL). V5.7 1. New configuration file added: NEWS_MANAGER:NEWS_POST.DEFAULTS This file is used to determine default values for header lines of local postings. The purpose is to allow NEWS to be configured such that all postings to a particular newsgroup can be supplied with default values for various header lines. In V5.7 the Followup-To: and Distribution: headers may be defaulted using this file. The sample file defaults distributed with V5.7 indicates the format of the file and how the file contents are used when posting. V5.6 3-Nov-1988 1. *** NOTE COMMAND SYNTAX CHANGES ***** "ADD" renamed to "ADD FILE" or "ADD BATCH" This will allow a number of other ADD xxx commands at a later stage "CREATE" renamed to "CREATE BATCH" As with ADD there a number of other CREATE commands coming. 2. ADD BATCH/MODERATOR to allow a newsgroup moderator to post items into a moderated newsgroup with correct approval and retention of the original poster's address. 3. Alter CANCEL command to allow a moderator to cancel any posting in the relevant moderated newsgroup. 4. I have added a number of new commands and command qulaifiers. In general these are synonyms for existing functions. The HELP file describes these commands in detail. 5. The default keypad has changed again (ugh! - sorry bout this): KP5 is UP KP2 is DOWN the DIR functions KP4, KP5, KP6, KP, have been moved up 1 row: KP 7,8,9,- The previous top row functions now need the gold prefix ie what was KP7 is now PF1,KP7 and so on. V5.5 10-Oct-1988 NEWS V5.5 includes the stubs of a number of areas that will be included in NEWS V6.0. These include - - An interface to VMS MAIL including most of the functionality of the VMS MAIL User Agent - Changes to the display algorithm to allow the display virtual display to change in size in relation to the size of the text file, to a maximum of 10,000 lines of text. 1. Use the V5 VMSMAIL_PROFILE.DATA file for personal name, editor, print queue, queue form, and send flags - For V5.5 this only includes the personal name - the other fields will be added in V6.0 2. Logical name NEWS_TIMEZONE This is a logical name which is set to the code of the local timezone: e.g. $ DEFINE/SYSTEM/EXEC NEWS_TIMEZONE "PDT" This corrects a bug in NEWS where local time was specified as "GMT" in all outgoing news postings. Note that if you do not define this logical name, then "GMT" is still used as the timezone! 3. NEWS_PERSONALNAME logical name This logical name (if defined) overrides the use of the mail personal name as the personal name for the user when posting NEWS items. The logical name should be defined as a process level logical name. 4. NEWSRC, NEWS_REGISTER logicals, NEWSRC profile NEWS profile file. NEWS maintains a NEWS profile file on a per user basis. The default file specification of this file has been changed to: "SYS$LOGIN:NEWSRC" If the logical name "NEWSRC" is defined (as a process logical name), then this logical name is used, and for compatibility with previous NEWS versions, if the logical name "NEWS_REGISTER" is defined (and not NEWSRC), then NEWS_REGISTER is used as the profile file spec. NOTE that these logical names should translate to FULL file specifications - NEWS does NOT supply a default file spec when opening the profile file. 5. NNTP object name for DECnet The DECnet NNTP driver code now attempts to connect to: node::"TASK=NNTP" Therefore the remote system will attempt to run NNTP.COM from the DECNET account. 6. NEWS_node_TASK logical name (NNTP connection over DECnet) V5.5 introduces a change to the DECNET object name for the NNTP server: V5.4 and previous versions connected to a remote NNTP server over DECnet via the string: node::"NEWS=". I have been informed that Ultrix supports a DECnet implementation of an NNTP server, but the connection string is: node::"TASK=NNTP" Version V5.5 now attempts to connect to the "TASK=NNTP" for all remote DECnet connections to NNTP. You can change this by using the logical name NEWS_node_TASK to be defined as the object connection string. e.g.: $ DEFINE/SYSTEM/EXEC/NOALIAS NEWS_CSC_TASK "NEWS=" will alter NEWS to connect to node "CSC" using the string: CSC::"NEWS=" to access the NNTP server on node CSC. 7. NEWS_NETPOST, NEWS_NONETPOST logical name Two logical names have been added to the NEWS configuration. The intent of these logical names is to allow the local news manager to restrict some users on the local system to posting rights only on LOCAL newsgroups, and not network-wide newsgroups. NEWS_NONETPOST is an optional /SYSTEM/EXEC logical name which translates to an identifier. If the user owns this identifier, then the user cannot post to network groups. This logical name is used when the majority of users have network posting rights, but a small subset are restricted to local newsgroups. NEWS_NETPOST is an optional /SYSTEM/EXEC logical name which translates to an identifier. If this logical name is defined when ownership of the identifier is required for non-local newsgroup posting. This logical name would be used where the majority of users are restricted to local newsgroups, and a small subset have rights to post into the wider network. 8. File name changes: All NNTP modules have been changed to the form NNTP_function. The NEWS.DOC file documents the purpose of each file. V5.4 20-Aug-1988 1: MAIL_READER.EXE is not shipped in this release. With the integration of the functionality of this code into the ADD command of NEWS, there is no longer any requirement for a separate pass through the NEWS input files. 2: VMS Version 5.0. I have tested NEWS under VMS V5.0 as yet, but not exhaustively. I understand VMS V5 contains some enhancements which affects NEWS: 2.1 SMG now allows large virtual displays: this fixes a bug in NEWS where newsgroups which contain more than 820 items were displayed incorrectly. 2.2 SYS$SYSTEM:VMSMAIL.DAT has been replaced by VMSMAIL_PROFILE.DATA. This implies that the startup code which gets the user's personal mail mail name is now incorrect. This requires a code fix. The changes required for VMS V5.0 were limited to a re-link, but I have not had sufficient time to exhaustively check everything 3: Added /DIRECTORIES pass to the SKIM command. This pass deletes all directory files within the NEWS_ROOT file hierarchy which do not match current active newsgroups. 4: Changed ADD command to dispose of message fragments which in v5.4 were files in the "junk" newsgroup. Such message fragments are now not saved. 5: Changed default format of ADD_TRANSFORM translation table to correctly parse the @distribution address format 6: Change REPLY and FORWARD commands to accept lists of internet addresses 7: Add ACLs for newsgroups to allow control over access to newsgroups. Read access to the newsgroup directory is required before the newsgroup is added to the local newsgroup set. 8: Make SET SEEN a synomym for SKIP 9: Make CLOSE a synomym for NEWSGROUPS 10: WIN TCP/IP is now supported in this code, but there are a number of items to note: 1 - I have not had the opportunity to test this code - the interface routines were supploed by Jim Patterson (jimp@cognos.uucp), and are included as is. 2 - To include the WIN code you will need to run NEWSBUILD.COM and recompile NEWS. NEWSBUILD.COM will look for files in the area TWG$TCP:[NETDIST.INCLUDE], and if found then WIN calls will be included in the compilation. 3 - If the TWG support is used then protocol "TCP" is the WIN interface. To explicitly nominate the protocol, then the protocol values "CMUTCP" and "WINTCP" have been added for this purpose. 11: The HISTORY file (NEWS_ROOT:HISTORY.DAT) is no longer used in this version Due to speed reasons this has been changed to an RMS ISAM file, "NEWS_ROOT:HISTORY.V60". You can delete the .DAT file. V5.3 5-Aug-1988 The following bugs have been reported by Jonathan Ridler (Melbourne University): >1. Use of SEARCH causes the up-arrow key to lose its definition and revert > to its DCL command line recall function. Down-arrow is unaffected. ** Fixed (newssearch.c) >2. When SEARCH'ing with the qualifier /[NO]DISPLAY but without a search-text > specified (i.e. continuing search), the qualifier is ignored. The > qualifier of the original command (with search-text) always applies. ** Fixed (newssearch.c) >3. When the length of a line in an added item exceeds 80 characters, the line > is wrapped to the next line, but appearing to lose 1 (one) character at > each wrap. ** Fixed (newsdisplay.c) >4. The documentation for NEWS_SCANSIZE uses the term "scanning through" > news items. The scansize applies in SEARCH (ok), but also apparently > in READ's. Is this intended? Yes - this is intended. I have added a new command: SET DISPLAY/SCANSIZE=n If n == 0 then the old display algorithm is used - otherwise the first n lines of the item are displayed on the first screen in both SEARCH and READ. >5. In NEWSSITE.C, the VMS MAIL file is presumed to be SYS$SYSTEM:VMSMAIL.DAT. > On a VAXcluster, the logical name VMSMAIL can be used to refer to a > different mail database file. Would it be possible to use VMSMAIL if > defined (in Exec-mode) else default to SYS$SYSTEM:VMSMAIL.DAT ? [ This > would obviate the only change we make to the NEWS sources here. :-) ] ** Fixed (newssite.c) >6. Is the problem which you have previously explained about opening the > SMG pasteboard on SYS$OUTPUT (versus TT:) (causing blank lines in batch > log files), also causing the screen to be cleared when invoking NEWS with > /NOSCREEN. Can this be overcome? ** Fixed - much the same as bug #10 >7. In a newly created (local) newsgroup, if an item (i.e. #1) is posted and > then immediately refered to (e.g. READ, SHOW ITEM, etc.), there is "no > current item". Pressing Up- or Down-arrow enables the item to be > recognized. ** Fixed (newsutility.c) 8. Items which have been READ are sometimes left as UNREAD when NEWS is EXIT'ed. The following demonstrates: SELECT ... ! get into item directory of a newsgroup. DOWN 1000 ! point to last item. POST ... ! post an item to the current newsgroup. DOWN ! point to new item. READ EXIT ! ... new item remains unread at next entry to NEWS. ** Fixed (newsregister.c, newsutility.c) >9. Not any fault of NEWS this, but a suggestion: a Melb. Uni. Unix site had > a s/w fault which allowed an item to be *posted* to a moderated newsgroup, > as well as mailed to the moderator. This Unix site feeds our VMS news site > (UCSVC) and consequently, the item arrived and was added into the newsgroup. > The item was obviously feral (after a fashion anyway) and lacked an > "Approved: " header. Is it reasonable to expect (and enforce) an > "Approved: " header on moderated newsgroup items being added? ** Fixed (newsutility.c) This code had been commented out - I was testing at the time. >10. I'm not sure how to tackle this one: NEWS (or perhaps SMG?) seems to use > the "Device_Type" attribute of the terminal to determine how to format the > screen - fair enough ... if the device_type is something other than > "Unknown". Because of the variety of terminals we have here, we > do not put any SET TERM /INQUIRE into our system login. Since users > here are not infrequently "computer illiterate", their terminals remain > device_type "Unknown" (even VT220's) unless they do something themselves - > generally of course, they don't. Not unreasonably I guess, NEWS responds > somewhat unhelpfully in such circumstances. Can any account be taken of > this attribute (or others?), any assumptions made, or on-line advice > given? Perhaps /NOSCREEN should be presumed under these circumstances? > Certainly, an extra section in the documentation (HELP and .DOC) on > Terminal_Setup would be, I think, very useful. ** FIXED (news.c,newsutility.c) DOCS not updated. >11. Something which is mentioned not infrequently by users, and I am hence > obliged to ask, is can the startup time for NEWS be reduced? My usual > response to the question is something like "it has to do a lot of stuff > to give you all that info; it's a sophisticated system, you know!". But, > I thought I'd better ask. (Please ignore this question if it is excessively > stupid or presumptuous). There is a fair amount of mapping files into memory - it could only become faster on startup if I started using async file qios (ugh!) - the other aspect is that of response time while running news vs startup time - the method of mapping large amounts of data to memory makes the program run faster, but the consequent memory demands slow down startup. Its one of those trade-offs. The following bugs have been reported by Marc Elsen: From: PSI%AUSTPAC.02062166012::ELSEN 1-JUN-1988 06:34 To: PSI%UUNEWS::GIH900 Subj: NEWS V5.2 , an SPR ! > Geoff , > > The following letter is an attempt to suggest some improvements and > remarks with respect to NEWS V5.2. > I would like to point out however that all these points must be regarded > as positive criticism since I deeply respect the undertaking of writing > a program like this and distributing it to the public community. > > News V5.2 should is a clear example of the fact that writing software > in today's times is a very difficult enterprise. > I mean by this that standards for software packages qua interactivity, > documentation , readable source code , modularity , maintainability are > becoming so high that one REALLY SHOULD THINK TWICE before writing a > computer program. > This aspect is somewhat too less realized by many people.I always feel a > bit sorry when I see people posting programs in comp.os.vms setting > your prompt to current directory , doing this ,doing that... > I relealize however that especially when one is a starting computer user > writing a computer program can be a very creative and fullfilling > hobby. > > I believe NEWS meets the standards described above.It for instance uses > a menu systems which in a few years every basic 'terminal' will offer > to a user,while probably within 20 years it will become an audio/visual > system. > > So , here it goes.I might post this list again with followup points > and arguments if I find any. > If always repost everything with points added , please note that this > is only for the sake of keeping archive and as a result is has no other > intentions. > > Please feel free to correct me of any of my remarks are incorrect , > unjustified or a result of not very well reading the documentation. > > All the following remarks are related to : * NEWS V5.2 > compiled with : * VAXC V2.3 > used under : * VAX/VMS V4.7 (and V4.7A) > > > 1. News exits with an access violations if the command > 'clear mark' is used within NEWS. ** Fixed (newsregister.c) > 2. When dealing with 'checkgroup' control messages NEWS exits with > an access violation unless the source module NEWSADD.C is compiled > with /NOOP ** I have never noticed this error - more information required please (a minor change has been made to newsadd.c but this may not be the problem) > 3. (keeping this one still under further investigation...) ** fair enough! > 4. NEWS should be able to automatically react on various control messages > such as 'set group moderated' or 'newgroup' control messages. > Now only a command file is created which must always be manually > executed by NEWSMGR. > Unix news packages for instance can create or modify groups > automatically although a mail is still send to the news account. ** Fixed (newsadd.c, newwscmd.cld) ADD/EXECUTE command (/EXECUTE is the default) > Also there should be some mechanism for NEWS to recognize that a > particular node uses for instance a main server for all USENET > newsgroups , thereby automatically creating COM files with > lines containing '/server=node' as a result from for instance > checkgroup control messages. > Until now such com files must always be edited and the > qualifier above must be edited manually on the lines were needed. ** Fixed (newsutility.c) but not in the way suggested - the attributes of the "default" newsgroup are passed on BY DEFAULT to all created newsgroups, so that there is no need to add additional qualifiers into the checkgroups command file. > 5. Since there is a 'clear mark' command in NEWS I feel there also should > be an 'clear kill' commamnd to remove KILL filters so that editing > 'news_groups.register' would no longer be needed. ** Fixed (newsregister.c) > 6. The 'search/edit' kommand should as a result edit the item where the > string searched for is found and position at that string within > the file.Now the cursor is just at the beginning of the file. > (I realize that this is a fancy one and might be difficult to implement). ** Correct - but this is not easy - particularly if the editor is user definable. Do you have any suggestions as to how this could be done?? > 7. The NEWS command 'add/delete news.batch;*' does not work.I.e. it only > reads the last version of 'news.batch' without considering the others > Note that the commmand behaves in the same way without /delete. ** I cannot reproduce this problem - I get wildcard expansion correctly Do you have any more details?? > 8. One of the aspects of NEWS being able to have server nodes is that > unfriendly users can ,by collecting all items from a remote server > for instance, possibly write melt down a disk on the node at which he > is working. > Maybe NEWS should support some kind of accounting mechanism thereby > generating reports to news managers telling them who mainly uses NEWS > and who for instance is responsible for high server load! ** I'll keep this in mind - Currently there is a qualifier /KEEPREQUEST on SET NEWSGROUP. If this qualifier is negated then NO local copy of the item is kept. The best solution is to define the logical name NEWS_DISK_ALLOCATION as a 'target' number of disk blocks for NEWS to occupy (this number would be logically tied to the disk quota for the news manager account which owns all the item files. The actions of SKIM would be to remove local copies of item files (only in /SERVED newsgroups) to achieve this target, and also inhibit the local saving of remotely accessed item files once this disk quota is exceeded (as well as mailing USENET each time a SKIM finds that usage is over quota). I'll look at this in a future release. > 9. If the 'add/cregrp' is used within NEWS and a group gets actually created > a message should still be posted to USENET.I believe this is not the case > at this moment. ** I'm not sure I agree with this - as /cregrp requires mews manager privs, then logically the news manager is creating the newsgroup. I'll look at this in a future release. >10. When NEWS displays an error condition at the bottom line then this line > should be cleared immediately when that error condition no longer exists. > This can sometimes be a bit confusing.I don't have a good example > for the moment but I might add one later. ** I thought I'd done this!! >11. Some combination of qualifiers should be supported within NEWS > such as 'DIR/REG/SIN=TOD' ! 'DIR/SIN=TOD' for instance only works > for all newsgroups. ** This will be fixed in a future release of news. >12. NEWS should support the command 'print/queue' thereby immediately > printing the item requested on the specified queue.This has > the advantage of letting users print items on different print queues > from within news. > Also users with low diskquota could be hampered when they start > using a lot of print command within news.At a certain point they > will be forced to exit news,print their files and then enter news > again. ** This will be fixed in a future release of news. >13. NEWS should support the callable editor interfaces (EDT,LSE,TPU). > This will improve speed by avoiding subprocess creation inorder to 'run' > the editor needed. ** I haven't placed support in for callable LSE yet, but callable tpu and now callable edt are supported in NEWS >14. Various error conditions should be a bit more detailed. > For instance when the NEWS command 'create group groupname' fails only > the error line 'cannot create group' is displayed.There can > be a lot of reasons why however. > One line for instance could be 'cannot create group (diskquota exceeded)'. > > For instance a user reads an article in a group which is served > at a remote node.He sometimes gets the error message > 'cannot access item text'.This might however be > 'cannot access item text (node unreachable)' or > 'cannot access item text (network protocol error)'. ** this area of error treatment requires much more attention - A .MSG file with appropriate LIB$SIGNAL calls is the best answer here. This is future release material. >15. When creating a group called 'comp.protocols.iso.x400.gateway' I > got the error '%REM-I-QIOERR, internal QIO error' after pushing > return on the 'create [y]' prompt. > Everything seemed o.k with the group however.I was indeed at that time > logged on to that VAX with set host,so this problem might be > entirely due to the 'set host' (REM) facility and as a result not be > related to NEWS. ** The diagnostic indicates this is an error associated with SET HOST >16. When reading articles in NEWS one sometimes can get bored reading > a certain article.The line should therefore > for instance be modified and read > indicating to the reader how many lines 'are still to come'... ** Good suggestion - Fixed (newsdisplay.c) >17. The arrow keys in NEWS should retain there standard VMS function > also in SCREEN mode. > What I mean by this is that various VMS utilities such as mail , based > on MSG, still leave the up and down arrow keys free for the > COMMAND RECALL CAPABILITY.In fact the COMMAND RECALL CAPABILITY is > programmed in these utilities. > This is not so in NEWS and sometimes can > be very irritating (pressing the up arrow key accidently expecting the > last kommand entered to show up again). ** Its an either/or situation - the up/down arrow keys are used to move the cursor within the current directory - I cannot also use them with a command recall functionality at the same time. >18. The command 'set newsgroup */itemhold= ...' is VERY CONFUSING in news. > I.e. it should do what is says namely setting all groups to the > values of the qualifier specified. > This facility is if I understand it correctly currently not available > in NEWS. ** Fixed (newssetshow.c) set newsgroup * will modify ALL newsgroups: the syntax is altered to allow wildcard expansion: set newsgroup anu* will modify all anu newsgroups and so on. > The above command only sets a default which gets applied when > a newsgroup is created.That feature however should be denoted with > a command such as 'set newsgroup DEFAULT/itemhold=...' or > 'set newsgroup ALL ...' ** Fixed (newssetshow.c) - "set newsgroup default" implemented to change the default values. >19. The commands 'forward/headers' and 'reply/headers' do not work as intended. > When the editor is called to view the item the header lines are not > included. ** Fixed (newsforward.c) Marc Elsen (System Manager/Software Engineer) Kathol. Univ. of Louvain Dep. E.S.A.T. Kard. Mercierlaan 94 3030 HEVERLEE Belgium tel. 32(0)16220931(ext. 1080) EMAIL : ...!kulcs!kulesat!elsen (UUCP) elsen%kulesat.uucp@blekul60 (BITNET) psi%020622166012::elsen (PSI MAIL) NEWS V5.2 26-Apr-1988 --------- CHANGES TO NEWS from V5.1 to V5.2 1.NEWS remembers the newsgroup directory setting across invocations of NEWS. News will now record the directory level in news_groups.register. The directory level is stored at the end of the first record of the file, delimited by a '^' character: 0 comp.protocols.iso^3 -- If this field is not located, then DIR/ALL is the default. 2.Forcing a default directory mode: Users may define the logical name NEWS_DEFAULT_DIRECTORY to be one of the values ALL NEW REG SINCE SINCE="date" In this case NEWS will ALWAYS initialize the directory mode to the value of the logical name 3.Forcing mail copies of local postings. The system manager may create the file "news_manager:news_post.cc" to force local users to perform mail copies to pre-defined addresses of local postings into certain newsgroups. The file contains a list of newsgroups and internet mail addresses. eg: # news_manager:news_post.cc # # cc: file for local postings. The file format is two fields per line - # the first field (in col 1) is the newsgroup, and the second field # is the internet-format address of the cc: mail copy comp.os.vms info-vax@kl.sri.com anu.network gih900@fac3.anu.oz This is similar to 'semi'-moderated newsgroups - a moderator (or a mailing list address) can be cc'ed all local postings. This mechanism does NOT apply to network news feeds - only locally originated items. 4.User selectable copies of personal postings. The user may create the file "sys$login:news_post.cc" or use the logical name NEWS_POST_CC to make cc'ed mailings of personal postings into specified newsgroups e.g: * gih900@fac3.anu.oz Would generate a mail copy of all postings made by yourself. 5.New qualifier to POST and FOLLOWUP: /SELF is now implemented for these commands. /NOSELF is the default. /SELF generates a mailed copy of the news posting back to yourself. 6.NEWS.EXE will be shipped for the V5.2 version - previously each site had to edit (or rewrite) the module add_transform.c. V5.2 has introduced the following changes to internet - vms mail address translation scheme: o Add_transform will also attempt to read "news_manager:news_address.cnf" to load the address translation rules from a text file (avoiding the requirement to write site specific code and re-link NEWS for each site). The format of the address translation rules is the same as the internal format used in previous versions of add_transform.c. e.g.: # news_manager:news_address.cnf # # This file contains the address translation rules, which allows site # specific translation of internet-style address formats into formats # acceptable to VMS MAIL. # # The file has the following format: # # (in column 1) is a comment line - the line is ignored # internet_address rebuild_rule # internet_address rebuild_rule # internet_address rebuild_rule # # The internet address field must start in column 1 and must not # contain space characters. The '*' character may be used to # force a wildcard match with the address being tested. The '?' # character matches any single character. # # The rebuild rule must be separated from the internet address # by at least one space character. The '\' character is used # as the escape character: normally it is used to specify # match subsitiutions. (the '\' character itself is specified # by the sequence '\\' # # For example the following rules extract any internet addresses which # mention the "anu" subdomain and use decnet addressing - otherwise # the mail is forwarded via decnet to node "gateway" and directed to # the PMDF mail handler on that node: # # # this is an example address cnf file # *@*.anu.* \002::\001 # *@*.anu \002::\001 # *@* "gateway::in%""\001@\002""" # *::* \001::\002 # * \001 # The following rules are used on the production anu system "fac3" #------------------------------------------------------------------ # local mail: *@fac3 \001 *@fac3.anu* \001 fac3::* \001 # any other internet addresses redirected to ultrix internet gateway (node anu) *@* "anu::""\001@\002""" # any other decnet addresses *::* \001::\002 # anything else * \001 o By default (if news_manager:news_address.cnf cannot be located or opened) add_transform will translate all addresses of the form *@* to the address in%"*@*" - i.e. direct all addresses to the PMDF mail handler. 7.Store Message-ids in lower case - This has been a somewhat confusing area: V5.0 used lower case conversion on all message ids - which removed the somewhat annoying aspect of having to type in message-ids in the correct mixed case - V5.1 (with a NNTP link to a Unix system in mind) used exact case for message ids - HOWEVER, to quote from RFC977 "Commands and command parameters are not case sensitive." With this in mind, it is far easier to convert all identifiers to lower case. There still remains some confusion on this issue as this is at variance with the RFC822 spec. NEWS will use internal lowercase format until the debate about this issue on the net is resolved one way of the other. 8.New qualifier combination: READ/NEW/FOLLOWUP will read according to the following algorithm: read the next unread item within the current group which is a followup posting to the current item if no such item is found, use the normal read/new algorithm This allows reading of new items on a conversation base rather than random conversation order. This command is bound by default to the '.' key on the keypad 9.Full NNTP support over CMU's TCP/IP - there are number of changes: new files: TCPSERVER.EXE - NNTP server which can be configured into IP/TCP as a known server on socket 119 NEWSCLIENT.EXE - support for remote access over TCP to remote news server new qualifier: /PROTO Proto may be one of two values - "DECNET" (the default value) indicating that the remote newsserver is reachable via a call to the remote decnet news server object, or "TCP" indicating that the TCP transport should be used to connect to post 119 on the remote system. This qualifier is used with the CREATE and SET NEWSGROUP commands e.g.: CREATE newsgroup/SERVE=node/PROTO=TCP SET NEWSGROUP newsgroup/SERVE=node/PROTO=DECNET 10. SKIM now accepts a list of newsgroups (including wildcards) as the newsgroup list to skim (performing the same skim operations on a subset of the available newsgroups). e.g. SKIM aus.*,anu.* 11. Wildcard characters now include the '?' character as well as the '*' character: '?' matches any single non-null character. 12. POST has an additional qualifier: /CONTROL. This qualifier creates a Control: line in the news item header whose contents is the same as the Subject: line. NEWS MANAGER privilege is required to use this qualifier.: e.g. NEWS> POST/SUBJECT="version"/CONTROL .... 13. The POST/HEADER and FOLLOWUP/HEADER now prompt for the value to use as the optional item expiry time. The input format used is the VMS date format. 14. The Expires: header is now examined on incoming network NEWS feeds. If used then the item life is set using this date. The minimum value accepted is 2 days and the maximum is one year. 15. The interpretation of the FLAGS in NEWS.SYS and the Control: line parser have been altered to support ihave/sendme feed types. The 'N' flag in NEWS.SYS will generate a feed file based on item identifiers, and this file can be sent to the remote site using the POST/CONTROL command. Incoming sendme Control messages generate postings of the requested items and incoming ihave messages generate automatic sendme responses as required. 16. The ihave/sendme protocol has been extended to include a NNTP-based link. A new file, NNTPFEED.EXE has been written to feed a set of NEWS items to a remote site using the NNTP ihave command. V5.1 1. Added UNREAD and MARK commands V5.0 1. Implement NNTP server as a DECNET object, and integrate the ability to serve newsgroups on a client node from a server into the NEWS program. 2. Remove the OPEN/CLOSED status from newsgroups 3. Add more qualifiers to SKIP and DIR V4.4 1. Move moderator addresses into the file NEWS_MANAGER:MAILPATHS V4.3 1. More bug fixes 2. Implement SEARCH command 3. Implement CANCEL command V4.2 1. Minor (and some major!) sundry bug fixes V4.1 1. More bug fixes 2. Change register file to track ALL newsgroups - not just registered ones 3. Improve startup time using delayed reading of newsitems. V4.02 1. Added execution of the control messages 2. Fixed sundry bugs in all modules V4.01 1. Minor bug fix in NEWSUTILITY - no number greater than 127 could be read in at the command level.