LSTSRV-L Archives

LISTSERV Site Administrators' Forum

LSTSRV-L

Options: Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Topic: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Eric Thomas <ERIC@LEPICS>
Thu, 1 Jun 89 19:35:47 GMT
text/plain (349 lines)
    Description of the changes from release 1.5o to 1.6a of LISTSERV
     --------------------------------------------------------------
                             June 1st, 1989
 
***********
* Warning *
***********
 
The planned availability of release 1.6a  of LISTSERV is the week of June
19th-23rd. The following description  applies to the beta-test programme,
which has been started on May  31st; minor design changes or additions of
new functions can be made before  the final version is released. In order
to save network  bandwidth, this document will probably  not be re-posted
in its final  form to the LSTSRV-M list; instead,  a smaller file listing
the changes  made to it  will be  sent, so that,  in order to  obtain the
current description of the changes from  release 1.5o to 1.6a, you should
search the LSTSRV-M  archives for all items with a  subject starting with
"Changes from release 1.5o to 1.6a".
 
****************
* Requirements *
****************
 
LISTSERV  release  1.6a is  supported  on  any hardware/operating  system
configuration supporting  release 1.5o. In particular,  support for VM/XA
SP (in  370 mode) is  available in the "base"  version of 1.6a  (no "fix"
shipment required).
 
Release 1.6 of  LISTSERV is available only to BITNET  and NetNorth sites,
for  political reasons.  EARN  sites  now receive  support  for the  EARN
version of LISTSERV  from Turgut Kalfaoglu <TURGUT@TREARN>,  to whom EARN
users should address any and all inquiries regarding LISTSERV.
 
*****************
* Compatibility *
*****************
 
Release 1.6a  is fully compatible  with 1.5o,  with the exception  of the
behavioural changes noted  under the heading "Use of BSMTP  to reduce the
load on Internet gateways" and of the removal of the DIST1 command, which
is now handled by the DIST2 processor. The syntax of the DIST2 command is
a superset of that of DIST1, and the results produced are compatible with
those produced by DIST1; however, some of the messages are different, and
the selected distribution path might not be the same.
 
Release 1.6a  includes all the  fixes contained in the  'FIX15O1' service
shipment. It can be installed directly on top of the base 1.5o version.
 
LSVDIST and  LSVBITWT have been  made obsolete by release  1.6a; LSVBITWT
MODULE and ASSEMBLE  have consequently been removed  from TOOLS FILELIST.
The  following  files  can  be  erased from  LISTSERV's  disks  once  the
migration  is  complete:  LSVBITWT ASSEMBLE,  LSVBITWT  MODULE,  LSVBITWT
HELPCMS, LSVDIST EXEC and LSVDISTX EXEC.
 
***************************
* Important fix: LSVCARDR *
***************************
 
The release 1.5o version of LSVCARDR had a bug which could cause LISTSERV
to  enter  a disabled  loop  or  die  with  an addressing  or  protection
exception. This was the most frequent cause of LISTSERV crashes, with the
well-known storage fragmentation problem  causing the REXX interpreter to
stop with a  "Machine storage exhausted" message, and  about which little
or nothing  can be  done. This  bug, which was  triggered by  a transient
abnormal behaviour of CP release 5, has been fixed in 1.6a.
 
*************************************************************
* Removal: DIST1 command now handled by the DIST2 processor *
*************************************************************
 
Support for the DIST1 command has been  withdrawn a long time ago, but it
had been kept for compatibility  reasons. The DIST2 command is compatible
with DIST1, both in terms of syntax and of results produced; in addition,
it solves  many of the  problems inherent  to the DIST1  algorithm (among
which  is  the  well-known  "No   recipient  for  this  server,  probable
inconsistency in routing tables" message), and it requires about 10 times
less CPU time. The amount of complaints about the aforesaid DIST1 message
has  not  significantly  decreased  since the  inception  of  DIST2  and,
although the answer  is always the same,  it does take a lot  of time for
the LISTSERV  Coordinators to  answer these  questions. It  has therefore
been decided to remove the DIST1 command, and to automatically process it
as a DIST2 command. In addition, lists with "Mail-via= DIST1" will now be
treated as if "Mail-via= DIST2" had been specified.
 
********************************************************
* Procedural change: New ":foreign" tag in PEERS NAMES *
********************************************************
 
Pending a final decision from the EARN Executive Committee, it is assumed
that EARN does not want the PEERS NAMES and LINKSWT FILE to be updated on
EARN servers by  Eric Thomas. It is  in any case clear that,  in the long
run, this will  not be possible: two "obvious" reasons  are the change in
the format of the  LINKSWT FILE (see below), and the  need to establish a
LISTSERV "gateway" between the two  networks. LISTSERV has therefore been
modified to  recognize a  ":foreign.YES" tag  in a  PEERS NAMES  entry as
meaning that the  server in question, although known by  LISTSERV, is not
to receive any of the files  that are normally distributed to all servers
when a new version is received  from the LISTSERV Master Coordinator. The
exact meaning  of this  tag may  change in the  future, depending  on how
exactly  it is  decided  to loosen  the bond  between  EARN and  non-EARN
servers.
 
**************************************************************
* Performance: "Sent file" messages now discarded by LSVIUCV *
**************************************************************
 
In  order to  improve the  performance  of "hub"  LISTSERV machines,  and
particularly  the ones  which  run  the LMON  package,  LSVIUCV has  been
modified to process the following RSCS messages at the assembler level:
 
1. "Sent  file"  and  "Spooled  to" are  counted  and  discarded  without
   returning to the REXX level.
 
2. "File  enqueued on link"  messages are discarded without  returning to
   the REXX level.
 
Some hub LISTSERVs used to be held 100% busy for several minutes (periods
of up to 15 minutes have  been actually seen) discarding such messages at
peak time (the inbound message rate  being then over 10/second). The SHOW
command (see below) will display the counter mentioned in point 1.
 
********************************************************
* Enhancement: 32-bits weight support for LINKSWT FILE *
********************************************************
 
Release 1.5o  did not  allow the  distance between any  two nodes  in the
network to exceed 32768 "weighted hops". It also did not make it possible
to define links  faster than the "standard" 9600bps,  yet not "infinitely
fast" (as CTC links are usually  assumed to be). This conflicted with the
goals of  the new BITEARN  NODES format, and  also made it  impossible to
accurately  represent the  topology  of  a network  where  more and  more
64k/56k are being introduced.
 
With  release 1.6a,  the  distance  and link  weight  counters have  been
changed to  32-bits, which required  a change in  the format of  the link
summary file,  formerly known as  BITEARN LINKSUM. To avoid  any possible
confusion, the  new link summary  file has been called  BITEARN LINKSUM2;
this makes it  impossible to use the  old LSVBITFD with the  new file, or
vice-versa.
 
The format of the link weights file (LINKSWT FILE) has also been enhanced
to make it possible to define a  "default" weight different from 1, ie to
rate a  "standard" 9600bps line  as weighing more  than 1, which  in turn
makes it possible to properly declare the faster 64k lines.
 
This change has been accompanied by a performance improvement of a factor
of 4 for LSVBITFD (the  program that calculates distances between nodes),
and  by a  minor enhancement  to  LSVBITGN, which  now produces  detailed
warning messages when invalid entries are found in LINKSWT FILE. LSVBITWT
is now obsolete, and can be erased once the migration is complete.
 
*******************************************************************
* Enhancement: GET quota no longer stops transmission of packages *
*******************************************************************
 
With release 1.6a, the retrieval of  a package cannot be interrupted by a
"quota exceeded" error. That is, if  LISTSERV has decided to allow you to
retrieve the package, it  will not "stop in the middle" as  it used to do
under 1.5o.  If your daily quota  has already been exceeded  when you ask
for the package, it will, of course, refuse to send it.
 
For technical  reasons related to the  way the "GET package"  function is
implemented (using recursion)  and to the calling convention  for the GET
quota exit  (LSV$GETQ EXEC), it was  not possible to calculate  the total
size of the package in advance and present it to the exit for validation.
The result is that what the exit will  be called for is the first file of
the  package, whatever  that file  happens to  be, and  the call  will be
suppressed for all the other files in the package. If nested packages are
used,  only the  first  (outermost) package  will cause  the  exit to  be
called, so all the files required to run the package are indeed sent.
 
*********************************************************************
* Enhancement: Use of BSMTP to reduce the load on Internet gateways *
*********************************************************************
 
New support  has been  added to release  1.6a to reduce  the load  on the
various Internet  gateways through the  use of BSMTP. The  gateways store
each individual message in a separate disk file, regardless of the number
of  recipients  of  that  message.   The  "LISTSERV  standard"  means  of
distributing list postings is to build a different RFC822 header for each
recipient,  whose 'To:'  field points  to the  person(s) in  question. To
limit the size of  the header, it is clearly not  possible to include the
name and  RFC822 address  of all  recipients of the  message in  a single
RFC822 header; indeed, LISTSERV limits the amount of addresses in a given
'To:' field  (and hence  in a  given message) to  5, and  only recipients
located at  the same node  are "batched  together" in this  fashion. This
clearly makes  it impossible  to send  a single  message to  the internet
gateway with a  single header corresponding to all the  recipients of the
mail.
 
In order  to solve  this problem, a  new form of  RFC822 header  has been
introduced  in  release  1.6a.  In addition  to  the  default  "cleansed"
SHORTHDR and to  the comprehensive FULLHDR, it is now  possible for users
to  select (via  the  'SET listname  option' command)  two  new types  of
headers:  SHORTBSMTP  and  FULLBSMTP (minimum  abbreviation:  SHORTB  and
FULLB).  These   contain  the  same   fields  as  SHORTHDR   and  FULLHDR
(respectively), with the only difference  that the 'To:' field contains a
constant string rather than the  address of the recipient(s). This string
is normally  'Multiple recipients of  list xxxx <xxxx@yyyy>', but  it can
get changed  to 'Multiple  recipients <BSMTP@LIST>'  if the  message gets
distributed via LISTSERV sites that have  not yet upgraded to 1.6a (these
servers  would  not forward  the  original  string while  processing  the
DISTRIBUTE job,  and the final  1.6a server  would therefore have  to use
something else instead). In any case, the name of the list will appear in
the 'Sender:' field, as usual; the only reason why it has been decided to
put it  into the 'To:' field  at all is  that some mail user  agents like
Rice MAIL  display the contents of  this field on the  incoming mail menu
and make it possible to select messages based on its contents.
 
In order  to save postmasters  and list  owners the tremendous  amount of
time  that would  be  required  to update  the  entries  of all  Internet
recipients of BITNET lists to take advantage of this new facility, it has
been  decided that  subscribers which  are signed  up with  a domain-type
address (eg 'CUNYVM.CUNY.EDU' as  opposed to 'CUNYVM') will automatically
receive  a  SHORTBSMTP  header,  unless  they  issue  a  SET  command  to
explicitly  request another  form of  header (eg  'SET XYZ-L  SHORTHDR').
Recipients  signed up  under  an NJE  address will  continue  to get  the
standard LISTSERV header they are  used to (they can, however, explicitly
request a BSMTP header if they so desire).
 
The SHORTBSMTP  and FULLBSMTP options  will, of course, be  valid choices
for the  "Default-options=" list header  keyword. The output of  a 'QUERY
listname' command  will show 'Header=  Short' (resp 'Full') for  a normal
short (resp full)  header, and 'Short(BSMTP)' (resp  'Full(BSMTP)') for a
BSMTP  one. It  should be  noted, however,  that BSMTP  headers are  only
supported for lists  which are DISTRIBUTEd (ie  "Mail-via= DISTRIBUTE" or
"Mail-via= DIST2"  is present  in the  list header). If  the list  is not
distributed, normal (non-BSMTP) headers of the same kind are produced for
the recipients which had selected  BSMTP. The purpose of this restriction
is to avoid  a duplication of code  which was felt to  be unjustified, as
the only way  to significantly reduce the  load imposed by a  list on the
network  is  to   use  the  DISTRIBUTE  function.   We  should  therefore
concentrate our efforts on improving this function, rather than designing
ways to make it slightly less inefficient to bypass it.
 
Finally, it should be noted that  the BSMTP support is release dependent,
and that  it will not  work as documented unless  all the servers  in the
distribution path  (from the one hosting  the list to the  one performing
the  final  delivery)  are  upgraded  to 1.6a.  Minor  problems  will  be
experienced if this is not the case:
 
1. The server hosting  the list is still running 1.5o  or older: the 'SET
   listname  xxxBSMTP' command  will be  rejected, and  distribution will
   proceed using normal headers, as it used to do under 1.5o.
 
2. The  server performing  the final  delivery is  still running  1.5o or
   older: a  normal header will  be generated,  and the 'To:'  field will
   read 'To: BSMTP <userid@nodeid>'.
 
3. Both host  and final servers run  1.6a or higher, but  some servers in
   the DISTRIBUTE path  are still running 1.5o or older:  the contents of
   the 'To:'  field of BSMTP  headers will read 'To:  Multiple recipients
   <BSMTP@LIST>'.
 
*******************************************************************
* Enhancement: "Editor=" keyword now processed as a 'mon-address' *
*******************************************************************
 
The "Editor="  keyword, which used  to be handled  as a series  of RFC822
addresses, is now processed as a 'mon-address' (see LISTKEYW MEMO), which
makes it possible to authorize the owners or subscribers of a list not to
have to go through the moderator  to mail to it (eg 'Editor= userid@node,
(listname),Owner(listname),etc').  The  first   address  in  the  keyword
('userid@node' in the example above) is  still the one to which mail will
be  forwarded if  the sender  does  not match  one  of the  items in  the
"Editor=" keyword; because the order  in which recipients are listed when
"generic" items such as 'Owner(listname)'  are used is unpredictable, the
first item in  the "Editor=" field must always be  a full RFC822 address:
"Editor= JOHN@LONDON,Owner(SMOG-L)" is valid, but "Editor= Owner(SMOG-L),
Postmasters" is  not because the order  in which the postmasters  and the
various owners of  list SMOG-L will be merged into  the "Editor=" keyword
is unpredictable  and the  definition of the  keyword would  therefore be
ambiguous.
 
**************************************************************
* Enhancement: Prototype version of the UDD included in 1.6a *
**************************************************************
 
The  current  PROTOTYPE  version  of the  LISTSERV  UDD  (User  Directory
Database) has been included in release 1.6a of LISTSERV. This function is
not currently supported  for production use, and still lacks  a couple of
functions (eg the NAD cannot yet act on behalf of his users), but you are
encouraged to  give it  a try  and send your  comments to  UDD-L@CEARN, a
public forum for discussing issues related  to the UDD. You may also wish
to subscribe to this list.
 
For more information about the functions provided by the UDD, please read
the archives of the UDD-L@CEARN list.
 
************************************************************
* Enhancement: Batching of recipients with DISTRIBUTE MAIL *
************************************************************
 
The DIST2 processor has been enhanced to batch up to 5 recipients located
on  the  same node  in  a  single  outbound  mailfile when  processing  a
DISTRIBUTE  MAIL  job. This  will  reduce  the traffic  whenever  several
recipients at  a site running MAILER  but not LISTSERV are  subscribed to
the  same list;  it  will  also ensure  consistency  in  the delivery  of
distribution  list postings,  which  will  now be  handled  the same  way
regardless  of  whether   or  not  the  list   operates  with  "Mail-via=
DISTRIBUTE".
 
*************************************************************
* Enhancement: Basic statistics on the activity of LISTSERV *
*************************************************************
 
LISTSERV  now collects  "coarse" statistics  on its  activity. These  are
mostly counters  which are kept in  storage (never written to  disk), and
give some information about the amount  of activity which has taken place
since LISTSERV was last rebooted. More information and optional automatic
recording/checkpointing to disk would also be useful, but not enough time
was available to implement these functions.
 
These statistics are displayed whenever  you issue a STOP command, unless
the QUIET option is used (you will probably want to change the "shut down
all servers" procedure of your operators to do TELL LISTSERV QUIET STOP).
They are, in any case, displayed on the LISTSERV console log. An easy way
to collect them is  to have some server issue a  'TELL LISTSERV MAIL STOP
REBOOT' command every day and collect the resulting output file. There is
also a  new command, 'SHOW',  which allows you  (or any user)  to display
these  counters,  along with  some  more  information  on the  status  of
LISTSERV  (number  of queued  jobs/messages,  if  any, average  CPU  time
utilization, etc). The output from this command might look like this:
 
-------------------------------------------------------------------------
>LISTSERV@XYZ  is a  backbone  server running  version  1.6a under  VM/SP
>RELEASE 4 HPO LEVEL  42 and CMS release 4. The average  CPU time used by
>LISTSERV is  3.7%. Since LISTSERV was  last rebooted (on 31  May 1989 at
>23:59, ie 11h35 ago), the following requests have been processed:
>
>- Interactive messages from users    261
>- Sent file/Spooled to messages     1233 (ignored, useless network traffic)
>- Network (RSCS) status messages      99 (excludes Sent file/Spooled to)
>
>- Postings to distribution lists      50 (49 via DISTRIBUTE)
>- DISTRIBUTE jobs (mail files)       182
>- DISTRIBUTE jobs (non-mail files)     9
>- Other reader files (jobs, etc)     158
>
>- Database searches (interactive)      1
>- Database searches (batch mode)    None
-------------------------------------------------------------------------
 
You  are  strongly  advised  to  reboot  LISTSERV  on  a  regular  basis,
preferrably once  a day, if  you want to make  use of these  counters, as
some of them (notably the "Sent  file" one) may increase very quickly and
produce very  large numbers which  are not  very "friendly" to  the human
reader.

ATOM RSS1 RSS2