# ANU-News V6.1B10 Release Notes

Date: April 24, 1995
Updated sections on GNU C and Patches on December 4, 1995

The HTML version of this document with active links can be found at http://www.ijs.si/anu-news/ .

- Introduction
- New in this version
- A note about compiling under GNU C
- Some unresolved items
- Patches
- Availability
- Installation
- Change log

## Introduction

We are glad to announce the availability of a new version of ANU-NEWS, the V6.1B10. ANU-NEWS is a Usenet news server and client software running under OpenVMS on VAX and AXP platforms using various vendor TCP/IP transport packages or DECnet.

First a short explanation is due on why the beta series of releases goes on and on and when will this stop. The main reason is that the documentation is pretty much out of sync with code. It was long hoped that the V6.1 (non-beta) would be released as soon as the documentation is available. The time went on, and so did B4, B5, B6, ... . The later beta versions are much more robust though, than the last 'official' V6.0-3 release, so please do not be scared away by the 'beta' attribute.

Thanks to the new ANU-News Setup and Management Manual (see on-line version or PostScript version) maintained by Charles Bailey (file `SETUP_DOCS.COM` in the distribution) at least the most pressing documentation needs are now covered. The intention is to come out with what has accumulated over the last nine months since B9 and name that V6.1B10, then collect first impressions and only the most pressing patches, update HELP file, and soon afterwards release the true non-beta version under the name V6.2, so as to avoid possible misunderstandings with the elusive version name V6.1.

Volunteers to help with updating the documentation are welcome. The documentation rewrite is coordinated by Steve Bonine (spb@ntrs.com).

As the whole V6.1 BETA range of versions use the same format of database files the upgrade should not cause problems. Make sure that the systemwide logical names are defined in /EXECUTIVE mode since this is enforced from version V6.1B8 onwards.

## New in this version

The most important changes from ANU-NEWS V6.1B9 to the current V6.1B10 release are the following:

Remote moderation
  Remote moderation of newsgroups is now possible via the nntp POST command. Any article which has an Approved: header will be accepted by the POST command and added to the local database, rather than being emailed to the moderator. This behaviour is consistant with the way INN handles moderated groups.
XOVER supported by nntp server
  A sort of "poor man's" NOV support was added to the nntp server, although it isn't turned on by default (see module `NNTP_SERVER.C`). NOV (implemented by the XOVER command in the nntp server) is a way to get selected article headers quickly. As defined, the news provider is supposed to provide .overview files which contain information about each article. These files should be created and updated as the articles are added and deleted to/from the news database. The nntp server now has the code to build the .overview data "on the fly" rather than having it pre-built. Building the .overview files would be fairly easy to add, but we haven't figured out a good way to keep them up to date when articles are removed. The SKIM processing is slow enough now, without adding the extra overhead of keeping the .overview files up to date. Also, the NOV specs say that the nntp server should validate the information returned, and that requires testing to see if the article exists. Once you know the article exists, it isn't that much more overhead to read it and construct the .overview information. If someone writes a NOV package some day to maintain the .overview files it will be easy to integrate into the nntp server. (Bob Sloane)
Netscape support
  Nntp server is now tolerant to the Netscape's (mis)use of the nntp command GROUP. To get full use of this WWW reader the ANU nntp server's XOVER support should be turned on.
Implicit file protection defaults
  The ADD FILE no longer explicitly sets the protection of every item file created. This saves about 4% of the precious elapsed time. The file protection is now governed by the usual VMS rules (default protection, ACLs on directories, etc). To be explicit you may want to add the following line to the DCL procedure which does the ADD FILE:

      $ SET PROTECTION=(S:RWED,O:RWED,G:RE,W:RE)/DEFAULT

  ANU-NEWS enables SYSPRV when it opens item files, so WORLD:R is not really necessary. To revert to the previous behaviour you may uncomment the call to chmod in routine create_article in file `NEWSADD.C`.
Multiple disk free-space checking by nntp server
  Allow multiple device names in the logical name NNTP_DISK, separated by commas. Each device in the list is checked against NNTP_DISK_DANGER and diskdanger() fails if any disk doesn't have enough space. Note that NNTP_DISK should contain one string and not a search list, so don't forget to enclose the list in double quotes for the `DEFINE` command.
Control subgroups
  ANU-NEWS now has the ability to split up control messages over several groups. The basic format for the control group set is now:

      control[.type[.hier]]

  where type is the type of the control message (cancel, rmgroup, etc) and hier is the first element of the first newsgroup to which the article is posted (ie, the text before the first "." or "," in the Newsgroups: header). If the group control.type.hier doesn't exist for a particular type and hierarchy, then control.type is tried, and if that doesn't exist, then just control is used. For example:

      Newsgroups: alt.config
      Control: newgroup general.misc
      ...

  NEWS would first try to put this article in control.newgroup.alt, and if that didn't exist, it would try control.newgroup, and if that didn't exist it would use control. The group must be created with the normal CREATE NEWSGROUP command, for example:

      NEWS> CREATE NEWSGROUP CONTROL.CANCEL/NOCONFIRM
      NEWS> CREATE NEWSGROUP CONTROL.CANCEL.ALT/NOCONFIRM

  would put all cancel message in one of the above groups. Remember the first element of the Newsgroups: header controls the hierarchy, and that is frequently something like `Newsgroups: control,alt.config` which would end up in control.cancel.control, not control.cancel.alt. (Bob Sloane)
NNTP server bugs fixed
  The most pressing bugs in NNTP_SERVER.C that showed up mainly in the multithreaded version of the server are now fixed. The multithreaded server NNTP_TCPUCXM runs now under Multinet as well.
NEWS_STOP message
  When the logical name NEWS_STOP is defined, ANU-NEWS immediately exits on startup. What is new is that the logical name NEWS_STOP may now be set to a string (longer than 4 characters), which is then included in the exit message:

      $ DEFINE/SYS/EXEC NEWS_STOP "disk salvage in progress"
      $ NEWS
      NEWS is currently locked - forced exit (disk salvage in progress)

ANSI C cleanup, GCC, DECC, VAXC
  The code is now free of VAX C idiosyncrasies and adheres to the relaxed ANSI C standard. The following compilers are now fully supported:
  VAX C on VAX
    tested with: (VAXC 3.2, Multinet V3.3A, OpenVMS 5.5-1)
  GNU C on VAX
    tested with: (V2.6.1, 2.7.0 (recommended version is V2.6.3 or later, see below), Multinet V3.3A, OpenVMS 5.5-1)
  DEC C on VAX
    tested with DECC 4.0, OpenVMS 5.5
  DEC C on AXP
    tested with: (DECC 4.1, Multinet, OpenVMS 6.1), (DECC 4.0, UCX 3.2, OpenVMS 6.1), (DECC 1.3, UCX 3.2, OpenVMS 6.1)
Read-only strings protected
  All the literal constants are now protected by the const ANSI C qualifier. The same holds for most of the read-only function parameters.
Code cleanup
  Hundreds of compiler warnings about sloppy code, unmatched types and the like were honored (and the GNU C and DEC C can be very extensive with their complaints and suggestions). Please try to keep the code tidy when you write modifications.
NNTPINCLUDE.H
  Common declarations for NNTP stuff have been unified, the common includes and declarations went into the new file `NNTPINCLUDE.H` . This should ease portability between different TCP/IP transports.
NEWSMSG.H
  There is a new file `NEWSMSG.H` which is automatically generated from the `NEWSMSG.MSG` file during build -- thanks to Pat Rankin. This removes the compiler-portability problems caused by globalvalue declaration.
Bug fixes
  numerous bugs fixed (and some new ones introduced :-} )

## A note about compiling under GNU C

The recommended version of GNU C is 2.5.8 and earlier or 2.6.3 and later. The versions inbetween can cause looping during ADD FILE or other unexpected behaviour in ANU-NEWS and should be avoided.

The VMS header files that are distributed with 2.3 or earlier version of GNU C for VAX are not very useful. Perhaps it would be the easiest to grab GNU C 2.7.x -- here is an abridged mail from Pat Rankin <rankin@eql.caltech.edu> from November 28, 1995 :

> The folks at the FSF still haven't provided permanent archive space for the new gcc-vms distribution. For anyone who grabbed my non-announced copy from ftp.cco.caltech.edu, it has been updated to contain gcc 2.7.1 and gas 2.6, plus some header file revisions (including "jacket headers" for Motif V1.2-3). I have mentioned its existence in comp.os.vms, so it isn't quite "non-announced" any more, but the current location should not be considered to be a permanent archive site.

> See ftp://ftp.cco.caltech.edu/pub/rankin/, namely:

> - ftp://ftp.cco.caltech.edu/pub/rankin/gcc-vms-2_7_1.README
> - ftp://ftp.cco.caltech.edu/pub/rankin/gcc-vms-2_7_1.tar-gz

> gcc 2.7.1 incorporates one VMS-specific bug fix in addition to whatever other changes were made since 2.7.0, and gas 2.6 produces slightly smaller object files for VMS (due to condensing some of the meta-data which gives directtions to the linker, so no reduction in size of final executables should be expected).

> I'm not planning to make any gcc-vms-2_7_2 distribution. (The changes are mainly for build problems on various Unix platforms.)

## Some unresolved items

- on AXP the SMG may crash with ACCVIO in some scenarios
- the "first unread item number" for each newsgroup is now kept in newsrc, but on a rare occasion this information is lost, reverting to the default item directory positioning on the screen
- UCXSOCKETS transport is not supported, use UCXQIO instead

## Patches

Archive of all patches is maintained by Charles Bailey. You will probably want to apply at least the following:

- 950508_newsutility.patch, to fix scrolling problem
- 950817_nntp_server.patch, if you will be running NNTP server

## Availability

- The ANU-NEWS Home Page at http://www.ijs.si/anu-news/ contains all the relevant links to the documents and servers mentioned in this Release Notes, so you might save yourself some typing by starting with this document.
- the official source site is kuhub.cc.ukans.edu, files are available at ftp://kuhub.cc.ukans.edu/anu_v61b10/
- the following ftp mirror sites are available:
  North America:
    ftp://genetics.upenn.edu/anu_news/distribution/
  Europe (Slovenia):
    ftp://ftp.arnes.si/software/VMS/anu-news/
  Europe (UK):
    ftp://zippy.dct.ac.uk/vms/anu/
  Canada:
    mailserver access only via mrcserv@mtroyal.ab.ca
- the ANU-NEWS V6.1B10 distribution consists of three ZIP archives:
  `news_v61-beta10_src.zip`
    the complete sources that should be unpacked into the `[.NEWS_SRC]` directory
  `news_v61-beta10_dist.zip`
    some support DCL procedures and precompiled code (Multinet, OpenVMS 5.5-2, AXP 6.1)
  `news_v61-beta10_doc.zip`
    documentation (the new site setup manual)
  If you do not already have UNZIP on your system the program `UNZIP.EXE` (code for VAX and AXP) is available in the same directory with the archives. Make sure you use binary mode for file transfer.
- ANU-News Setup and Management Manual is also available separately in on-line version at http://www.ijs.si/anu-news/setup_manual_toc.html or as a PostScript document at http://www.ijs.si/anu-news/setup_docs.ps

## Installation

- obtain the three ZIP archives (actually only the `news_*_src.zip` is necessary for existing installations)
- UNZIP the archives into subdirectories `[.NEWS_SRC]`, `[.NEWS_DIST]` and `[.NEWS_DOC]`. Discard the `[.NEWS_BUILD]` subdirectory if one exist.
- read the setup manual before building News; it has advice about running `NEWSBUILD.COM`, looking at parameters in `NEWSSITE.H`, etc.
- go into the `[.NEWS_SRC]` subdirectory, read comments in `NEWSBUILD.COM` and run this procedure with appropriate parameters, e.g.
  `$ @NEWSBUILD`
- join the Usenet forum of anu-news users and developers in the newsgroup: news.software.anu-news or the mailing list: anu-news@vm1.nodak.edu

## Change log

The selection of source change notes since the relase date of V6.1B9 is available in a separate document (referenced from the on-line version of this Release Notes).