ANU-News V6.2.0 Release Notes
Date: June 12, 1997
The HTML version of this document with active links can be found at
http://ijs.muzej.si/anu-news/release-notes-v620.html .
We are glad to announce the availability of a new version of ANU-NEWS,
the V6.2.0. 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.
V6.2.0 uses the same format of database files as the whole
V6.1 BETA range of versions, so 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.
V6.2.0 sources differ from V6.1B10 in numerous details.
The main issues were: performance improvements,
longer newsgroup names, PGP verification of control messages,
improved XOVER support, and robustness.
ANU-NEWS was originally distributed under the license terms
found in the file LICENSE_GHUSTON.TXT in the sources directory.
Due to incorporating some GNU code (namely the MD5 module)
into ANU-NEWS, this license may conflict with the
GNU GENERAL PUBLIC LICENSE, so Geoff Huston
has agreed to allow ANU-NEWS to be covered by the
GNU GENERAL PUBLIC LICENSE (file LICENSE_GNUGPL.TXT)
unless you find it too restrictive, in which case you may
apply the original license terms.
The module MD5 is covered only by the GNU GPL.
The most important changes from
ANU-NEWS V6.1B10 (Apr 24, 1995)
to the current V6.2.0 release (June 1997) are the following:
Performance improvements:
- Reduced working set
- Significantly reduce the required working set and
paging for the client. It is now possible to run NNTP client
accessing 15.000 newsgroups in WSQUOTA of less than 1000 pages.
- Client speedup
- Significant performance optimizations for ANU client
(especially during startup) where the number of newsgroups is large.
Speedup by a factor of 2 to 5, depending on the number of newsgroups.
- Interlocked ADD FILE
- Added ability to run concurrent ADD FILE processes
on the same set of files.
- Faster SKIM/ITEMS
- SKIM/ITEMS now deletes items in reverse numeric order
which will always be quicker on any ODS II file system.
Changed file delete logic for SKIM/ITEMS to actually delete
files in several AST threads that run in parallel with other SKIM
processing. This allows for much more overlapped I/O (even
overlapped I/O for file deletes since we will potentially be
deleting files for up to n different newsgroups at any one time,
n in this case is specified by the user with SKIM/ITEMS=n,
n defaults to 5. A value of 0 for n disables this AST based
delete processing).
New functionality:
- Longer newsgroup names
- ANU as a NNTP client can handle newsgroup names up to 99 characters.
ANU with a local database can handle 50-char newsgroup names
(previously 49) with no changes, and 80-char names with recompile
and conversion of file NEWS.GROUPS (see GROUPS_CONVERT_V62.COM in
the directory with sources).
- PGP signature verification of control messages
- Recognize header 'X-PGP-Sig:' and check PGP signatures
of control messages newgroup and rmgroup.
See: 'HELP ADD FILE PGP_verification' and
ftp://ftp.isc.org/pub/pgpcontrol/README.html.
This required the following (backwards compatible) change
(see 'HELP ADD FILE/EXECUTE' and ''HELP ADD FILE/RMGROUP'):
- add qualifier /RMGROUP to ADD FILE which implements part
of the semantics formerly under /EXECUTE. Default: /RMGROUP=RETAIN
- add list of keywords to qualifier /EXECUTE to distinguish between
different types of control messages by accepting qualifier values
CHECKGROUPS, NEWGROUP and RMGROUP. If only /EXECUTE is specified,
it defaults to /EXECUTE=(NEWGROUP,RMGROUP).
/EXECUTE=ALL equals /EXECUTE=(CHECKGROUPS,NEWGROUP,RMGROUP).
This permits us to use /EXECUTE qualifier with PGP signature
verification without fear that Checkgroups control messages
would also be executed, and at the same time keeping
backwards compatibility.
- New Message-ID generation
- Rewrite gen_id() to generate a non-talking unique message id.
- Easy change of TCP transport
- Allow changing TCP transport software without changing NEWSRC user files
(automatically changes requested and unavailable TCP library to the one
that is compiled-in with the program).
- Better NNTP client diagnostics
- Return more informative diagnostics in NNTP client mode.
- Retry on timeout
- When remote NNTP server drops a connection due to timeout,
ANU as a NNTP clients now tries to reopen the connection.
- Quad-dot format allowed
- Allow NNTP server to be specified by IP address
(not only by dns name) (transports: MULTINET,WIN,TCPWARE)
- Wide screens
- Better handle displays wider or narrower than 80 columns.
- Nicer header on display
- Better format (squeeze) info about the newsgroup in the display header.
- SKIM by alphabet
- Changed SKIM/ITEMS and SKIM/NEWSGROUPS to process groups in
lexical order when processing all newsgroups.
- Crossposting of mailing list feeds
- Allow qualifiers /DEFNEWSGROUP and /NEWSGROUP to specify a list of values.
- NNTP_TCPUCX NNTP Server
- A working version of NNTP_TCPUCX.C is included. This provides an
interface to UCX's inetd service thus allowing multiple copies of the
server to run at any one time. This avoids the problem of being forced
to use the multi-threaded server which has poor interactive response
when handling multiple clients requesting overview info (all threads
block until NNTP command completes).
- XOVER save to disk code
- This code allows ANU News to save overview info to disk
by having the server rather than the NEWSADD code
update the information. The more frequently read a
group the more up-to-date the information. Stale
information should never be returned.
Both XOVER and XOVER_SAVE_TO_DISK must be defined
and then the option can be controlled dynamically
by defining (or undefining) the logical NEWS_DEVICE_OVERVIEW
normally this would be set as:
$ DEFINE/SYS/EXEC NEWS_DEVICE_OVERVIEW NEWS_DEVICE
but could point to a different tree if (say) only
a subset of groups were to be handled this way.
Add the following to your nightly (or weekly) skim
$ delete news_device_overview:[*...]*.nntp;* /log/before="-15-"
This just prevents groups which are only read once
in a blue moon from taking up extra disk space.
Fixes:
- properly handle newsgroups with mixed-case names in NNTP client mode
- fix the year 2000 problem in 'Date:' headers
and when dates are used in the NNTP protocol
- fix the "Lock check variable already set to 1" error in the CACHE
- fix NEWSUTILITY\xoverni() from failing in case of illegal input
- fix %NEWS-E-INVSA, Invalid signal array length, sa_l = 0
- fix %NEWS-E-ASSERT, Assert failed, expr not true:
"size < MALLOC_SANITY_LIMIT"
- fix XOVER memory handling bug in the NNTP server
- fixed ACCVIO bug with control checkgroups for groups that
previously didn't have a topic string set.
- add space after "Subject:" and "Message-ID:" when forming headers
- map_items tried to allocate unreasonably large initial memory chunk
for gap->grp_ia in case a user once peeked at a newsgroup
with heavy traffic and never visited it again
- clean-up some errors when using UCXSOCKETS, probably this transport
is now ok to use, although UCXQIOS is still a safer bet
- strip_compress_lower(): convert properly ISO Latin 1 char set
- fixed ACCVIO in NNTP client during READ/REF
- NNTP_SERVER\argparse(): fixed buffer overflow
- group(): avoid buffer overflow - return '411 no such news group'
if newsgroup name is longer than GRPNAMELEN_F
Robustness:
- replace most calls to strcpy/strcat with safer strnncpy/strnncat
- replace pattern strcat(err_oline,x) with err_oline_cat(x)
- change %s to %.<n>s in sprintf to guard against overwriting buffer
- added some checking in read_reg_file() to survive certain
syntax errors in the NEWSRC file without ACCVIO
- ANU-NEWS server still reformats article header lines passing through it
(joining continuation lines during read, writing them out possibly as
several lines). Although not strictly against RFC, this behaviour
is causing PGP verification of control messages to fail at downstream sites.
As a workaround the V6.2.0 specially handles 'X-PGP-Sig:' header lines.
- HELP file is still not fully up-to-date with the code.
- The ANU-NEWS Home Page
at http://ijs.muzej.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, archives are available at
ftp://kuhub.cc.ukans.edu/anu_v620/
- the following ftp mirror sites are available:
- North America:
- ftp://perl.newman.upenn.edu/anu_news/distribution/
- Europe (Slovenia):
- ftp://ftp.arnes.si/software/VMS/anu-news/
- Europe (UK):
- ftp://ftp.dct.ac.uk/vms/anu/
- Canada:
- mailserver access only via mrcserv@mtroyal.ab.ca
- the ANU-NEWS V6.2.0 distribution consists of three ZIP archives:
- news_v620_src.zip
- the complete sources that should be unpacked into the
[.NEWS_SRC] directory
- news_v620_dist.zip
- some support DCL procedures and precompiled code
(Multinet, OpenVMS 5.5-2, AXP 6.1)
- news_v620_doc.zip
- the documentation (except for the new site setup manual
the rest of the documentation is old and applies to V6.0-3).
NOTE: The documentation hasn't changed since the V6.1B10 (or earlier),
so this file may be missing - use news_v61B10_doc.zip instead.
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://ijs.muzej.si/anu-news/setup_manual_toc.html
or as a PostScript document at
http://ijs.muzej.si/anu-news/setup_docs.ps
- 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 exists.
- read the setup manual before building News for the first time;
it has advice about running NEWSBUILD.COM, checking 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 archives of the newsgroup are available at
http://listserv.nodak.edu/archives/anu-news.html .
The selection of source change notes since the
relase date of V6.1B10 is available as a separate document at
http://ijs.muzej.si/anu-news/release-notes-v620-changes.html .
This document was compiled by
Mark Martinec