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://ijs.muzej.si/anu-news/ .
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.
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 :-} )
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:
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.)
- 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
Archive of all
patches is maintained by Charles Bailey.
You will probably want to apply at least the following:
- 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
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).