ANU-News V6.1B10 Release Notes -- Change log

Appended is a selection of source change notes since the relase date of V6.1B9.

The V6.1B10 Release Notes are available in separate document.

All modules:

(major effort went in the code to conform to ANSI C (GCC & DECC)):
*  V6.1b9       17-Aug-1994     Mark Martinec   mark.martinec@ijs.si
*    - code cleanup to make it compile under gcc 2.6.0 with full
*      warnings reporting turned on - with no or very few harmless warnings
*  V6.1b9       17-Sep-1994     Mark Martinec   mark.martinec@ijs.si
*    - code cleanup to preserve the read-only nature of string literals
*      (strategically placed 'const' attribute to string parameters)

NEWSMSG.COM:

*  V6.1B9  25-May-1994  Pat Rankin, rankin@eql.caltech.edu
*    - initial version -- construct source file newsmsg.h from newsmsg.msg
*  V6.1B10 26-Oct-1994  Pat Rankin, rankin@eql.caltech.edu
*    - turn off DCL verification by default, and add 'newsmsg_debug'
*      to control reenabling it during execution

NEWSBUILD.COM:

*  V6.1b9  23-Jun-1994  Mark Martinec  mark.martinec@ijs.si
*    - modify subroutine 'makeobj' to look more like subroutine 'compile';
*    - subroutine 'makeobj' now handles compiling .MSG and .CLD files,
*      and as a special case calls Pat Rankin's (rankin@eql.caltech.edu)
*      DCL procedure NEWSMSG.COM to make newsmsg.h from newsmsg.msg .
*      This was necessary in order to accomodate gcc compiler which
*      does not like globaldef VAXC directive; (tested with gcc 2.6.0)
*    - add logical name for the GNU cc compiler include directories;
*    - add '.obj' to all 'cc/object' commands for the sake of gcc compiler
*      which otherwise produces object files with empty file types
*    - add  '$ set symbol/scope=(nolocal,noglobal)' command
*      to prevent influence of user-defined symbols to NEWSBUILD.COM
*  V6.1b9  16-Sep-1994  Mark Martinec  mark.martinec@ijs.si
*    - removed the __TYPES hack from 3-Feb-1991
*    - for VAXC with Multinet use logical names SYS, ARPA, ...
*      instead of VAXC$INCLUDE search list to simplify include files
*      (now the same mechanism for finding system include files
*      is used both for DECC and VAX11C compilers)
*  V6.1b9  27-Sep-1994  Mark Martinec  mark.martinec@ijs.si
*    - handle the case of DECC compiler on VAX:  determine the
*      actual compiler based on its predefined preprocessor macros
*  V6.1b9   6-Oct-1994  Mark Martinec  mark.martinec@ijs.si
*    - create directories [-.news_build] and [-.news_dist]
*      if they are missing
*  V6.1b9  22-Jan-1995  Charles Bailey  bailey@genetics.upenn.edu
*    - add WINOBJECT, fix dependencies for TCP/IP headers, fix
*      dependencies for link-only runs
*  V6.1b9  28-FEB-1995  Mark Martinec  mark.martinec@ijs.si
*    - use DCL symbol CC_OPT to specify CC optimization level;
*      this solves the problem when gcc was called with /OPT=2/OPT
*      where the second qualifier would reduce the optimization level to 1

NEWSADD:

*  V6.1b9   5-Jan-1995     Mark Martinec   mark.martinec@ijs.si
*    - added to statistics report: CPU load, average article crossposting
*  V6.1b9   2-Mar-1995     Mark Martinec   mark.martinec@ijs.si
*    - commented out chmod(fn,0755) in create_article() to save
*      about 4% in elapsed time during ADD FILE
*  V6.1b9   9-Mar-1995     Mark Martinec   mark.martinec@ijs.si
*    - call new site-specific routine try_to_make_some_free_space()
*      when file creation fails (specially due to insufficient
*      contiguous free space on NEWS_DEVICE)

NEWSCONTROL:

*  V6.1b9  25-May-1994  Charles Bailey  bailey@genetics.upenn.edu
*    - add dummy flk param to do_oitem calls
*  V6.1b9       24-May-1994     mark.martinec@ijs.si
*    - avoid looping when an empty article is received like in:
*      #! rnews 1
*      #! rnews 1798
*  V6.1b9       14-Jun-1994 Saul Tannenbaum saul@hnrc.tufts.edu
*    - add rms tuning hooks
*  V6.1b9       22-Jun-1994     mark.martinec@ijs.si
*    - make header_size and body_size module-global variables;
*    - create_article, length_header:  make a more accurate
*      estimate on article size (based on previous patch by ST)
*      in order to pre-allocate the proper file size
*      during the .ITM file creation.
*      Also remove an unnecessary fstat used to get the tmp file size.
*       - add RELAY_VERSION to the set of header lines that should
*      not be wrapped;
*       - better handle cases when batch file can not be opened
*      (more informative diagnostics, skip the file)
*  V6.1b9   5-Jan-1995     Mark Martinec   mark.martinec@ijs.si
*    - added to statistics report: CPU load, average article crossposting
*  V6.1b9  24-Feb-1995     Bob Sloane sloane@kuhub.cc.ukans.edu
*    - added extended newsgroup names for control items:
*      control.type.hier, so that cancel, rmgroup, etc messages
*      can be put in groups like control.cancel.alt, or control.rmgroup.
*  V6.1b9   3-Mar-1995     mark.martinec@ijs.si
*    - replace strncpy with util_idcpy to match the way it is done
*      in NNTP_SERVER.C (is item ID size 60 or 59+'\0' characters ?)

NEWSDIST:

*  V6.1b9  04-Jun-1994 munroe@dmc.com
*    - Rig a mechanism for limiting the sizes of individual NNTP batches.
*      The Type of Batch field can be of the form Nnumber where number is
*      the number of articles to be included in each batch.
*  V6.1b10 09-Mar-1995     Mark Pizzolato  mark@infocomm.com
*    - Included code to keep down stream article-ID files open in the
*      same fashion that down stream batch files are kept open for the
*      duration of an ADD FILE/BATCH operation.

NEWSFILES:

*  V6.1b9   1-Jun-1994  mark.martinec@ijs.si
*    - set variable brdcst_col in get_input_general() (which knows
*      the actual size of the prompt) as a temporary remedy for
*      cursor repositioning problems after displaying broadcast messages.
*      The true solution would be to move the call to display_brdcst()
*      out of the AST routine.  The problem remains as the code stands now
*      because during data entry in smg$read_composed_line()
*      the exact cursor position is not known outside SMG.
*  V6.1b9  14-Jun-1994  saul@hnrc.tufts.edu
*    - modifications to some of my rms performance patches:
*      separate out potentially dangerous deferred write
*      add latent support for "fast delete" on item file
*      change logical names to conform to NEWS_ standard

NEWSLOCK:

*  V6.1b9  21-Mar-1995     Mark Martinec   mark.martinec@ijs.si
*     - replaced $trnlnm("NEWS_STOP") with news_getenv(...,1)
*     - if the logical name NEWS_STOP contains text, it is included
*       with the shutdown message

NEWSREAD:

*  V6.1b8  22-Dec-1993  mark.martinec@ijs.si
*    - convert calls to RMS to use new sys_* macros for error handling 
*  V6.1b9   8-Jan-1995  bailey@genetics.upenn.edu
*    - add support for grp_funread and clean up read/unread update code

NEWSREMCLIENT:

*  V6.1b9       23-Sep-1994     Mark Martinec   mark.martinec@ijs.si
*    - replace testing macros MULTINET, UCX, TWG, ... for value
*      with a test for defined(), to prevent evaluating undefined macro
*  V6.1b9       20-Oct-1994     Mark Martinec   mark.martinec@ijs.si
*    - nntp_read() and nntp_read_line():  use memcpy for efficiency,
*      be more careful and avoid writing beyond buffer size
*    - nntp_write(): bump obuf buffer size to accomodate
*      inpline buffer in a call to nntp_write() from post_to_server()
*    - remove definition of MAX_NNTP_SIZE as it is not used anymore

NEWSRC:

*  V6.1b8  24-May-1994  mark.martinec@ijs.si
*    - avoid calling clsallfiles(n) from fastscan() before files are open
*  V6.1b9       26-May-1994     bailey@genetics.upenn.edu
*    - fixed bug which caused profile DotNewsRc setting to override /DotNewsRC
*      qualifier on News CL once startup was completed
*  V6.1b9  24-Jun-1994  bailey@genetics.upenn.edu
*    - moved code from read_reg_file() to reg_context() to restore context
*      to group+item at which last session ended.
*  V6.1b9       17-Sep-1994     Mark Martinec   mark.martinec@ijs.si
*      - added procedure get_tag_word
*  V6.1b9       22-Sep-1994     Mark Martinec   mark.martinec@ijs.si
*      - rewritten function putl to avoid modifying const parameter string
*  V6.1b9       14-Oct-1994     Mark Martinec   mark.martinec@ijs.si
*      - in write_reg_file() hopefully fixed the statement:
*          if (l_ga->grp_topreadnum > l_ga->grp_topnum)
*            l_ga->grp_topreadnum = l_ga->grp_topnum;
*        which should now handle the case of newsrc file being out of sync
*        with the highest article number within a group
*  V6.1b9  15-Jan-1995  Charles Bailey  bailey@genetics.upenn.edu
*      - added support for grp_funread field of ga entry

NEWSRTL:

*  V6.1b9        27-May-1994    mark.martinec@ijs.si
*    - add conditionally compiled code to news_*alloc* / free routines
*      to fill the allocated areas with known contents
*      and to check the guard region before deallocation
*      (see macros FILL_CH, GUARD_CH, GUARD_L)
*  V6.1b9    6-Jun-1994 saul@hnrc.tufts.edu
*    - in file_copy, dynamically allocate a buffer of up to 63 blocks
*  V6.1b9        21-Jun-1994    mark.martinec@ijs.si
*    - as recommended by Pat Rankin (rankin@eql.caltech.edu) I revoked
*      the routine get_cio_fabrab(): it was of little use,
*      the method is unsupported by DEC, and it contained a bug
*    - use macros set_errno and set_vaxc_errno to set values
*      of errno and vaxc$errno since the proper way to do it
*      is compiler-dependent
*    - change news_assert to just do the normal error signalling
*      and not to force program to abort
*  V6.1b9        23-Jun-1994    mark.martinec@ijs.si
*    - applied code cleanup patch (gcc) by Pat Rankin (rankin@eql.caltech.edu)
*  V6.1b9       17-Sep-1994     Mark Martinec   mark.martinec@ijs.si
*    - add sanity check to the size in news_malloc_raw
*  V6.1b9        6-Oct-1994     Mark Martinec   mark.martinec@ijs.si
*    - reference XABFHC field xab$b_bkz in a more compiler-independent way
*      so that DECC on VAX sees the field declaration
*    - provide an alternative simple version of memory allocation
*      routines if one prefers a faster but not-so-thourough-checking
*      and not-so-robust version of memory allocation routines
*      (enable it by:  #define SIMPLE_MALLOC 1 )
*  V6.1b9        4-Jan-1995     Mark Martinec   mark.martinec@ijs.si
*    - allow news_free(NULL)   (ANSI C explicitly allows free(NULL))
*    - optionally fill news_free-ed memory with VOID_CH in the hope
*      of catching a reuse of already released memory    (normally off)
*    - changed return type of news_free*() functions from int to void
*      to make them interchangeable with equivalent C library functions
*    - eliminated news_cfree() and news_cfree_raw() since they
*      were never used and cfree() is not in ANSI C library
*  V6.1b9   9-Mar-1995     Mark Martinec   mark.martinec@ijs.si
*    - add new (dummy) site-specific routine try_to_make_some_free_space()
*      to be called when file creation fails (specially due to insufficient
*      contiguous free space on NEWS_DEVICE)

NEWSSETSHOW:

*  V6.1b9        6-Oct-1994     Mark Martinec   mark.martinec@ijs.si
*    - when NNTP_CLIENT_ONLY do not call the following routines routines:
*        add_check_id, clear_gl, server_check, noserver_add, noserver_skim
*      since they are not present

NEWSSKIM:

*  V6.1b9  25-May-1994  Charles Bailey  bailey@genetics.upenn.edu
*     - add flk param to do_oitem calls and _ck_*_info macros so
*       file error doesn't cause entire skim pass to abort
*  V6.1b9   2-Jun-1994  bailey@genetics.upenn.edu
*     - once a newsgroup is deleted, don't try to fix item counts in
*       (now nonexistent) group index record
*  V6.1b9  23-Jul-1994  Charles Bailey  bailey@genetics.upenn.edu
*     - fixed bug in doskim() which caused infinite loop if newsgroups
*       pattern specified in Skim command matched all groups
*     - fixed bug in grp_skim() which caused groups to be processed twice
*       when skimming a subset of newsgroups

NEWSSKIP:

*  6.1b8        24-Jan-1994     Mark Martinec  mark.martinec@ijs.si
*    - replace calls to smg$put_chars with calls to smg_put_chars 
*    - check status returned from all calls to SMG$

NEWSUTILITY:

*  V6.1b9  22-May-1994  Charles Bailey  bailey@genetics.upenn.edu
*   - fix memory usage bug which snuck into 6.1b9 release with another patch
*  V6.1b9  25-May-1994  Charles Bailey  bailey@genetics.upenn.edu
*   - add flk to do_openi and do_oitem to allow skim to ignore
*     contention for item files
*  V6.1b9  25-May-1994  Pat Rankin  rankin@eql.caltech.edu
*   - avoid use of `union SMGDEF'; module $SMGDEF is hopelessly mangled
*  V6.1b9  27-May-1994  Charles Bailey  bailey@genetics.upenn.edu
*   - check that group has idmap list before using it in get_itm_by_ident()
*  V6.1b9   1-Jun-1994  Mark Martinec   mark.martinec@ijs.si
*   - ignore SMG$_NONBRDMSG messages in display_brdcst()
*  V6.1b9   7-Jun-1994  Charles Bailey  bailey@genetics.upenn.edu
*   - fix bug in map_items() which caused grp_topnum to be set incorrectly
*     under some circumstances (particularly when group has only one item)
*  V6.1b9  20-Jun-1994  Mark Martinec   mark.martinec@ijs.si
*   - don't take MAIL$_TEXT seriously in news_condition_handler()
*   - introduce variable 'signalled_error_count' in order to limit
*     the infinite loops through the condition handler
*  V6.1b9  23-Jun-1994  Mark Martinec   mark.martinec@ijs.si
*    - applied code cleanup patch (gcc) by Pat Rankin (rankin@eql.caltech.edu)
*  V6.1b9       17-Sep-1994     Mark Martinec   mark.martinec@ijs.si
*    - in map_items: assure that negative number is not assigned
*      to unsigned gap->grp_iasize -- this led later to
*      news_malloc(very_very_large_number) and subsequent crash
*  V6.1b9  14-Nov-1994     Mark Martinec   mark.martinec@ijs.si
*    - in routine do_new_item() replace statically allocated xrefline
*      with a dynamic one to avoid memory corruption during processing
*      of articles with long 'Xref:' lists
*  V6.1b9  29-Dec-1994     Mark Martinec   mark.martinec@ijs.si
*    - added some type casting to news_*alloc() calls
*    - in map_items: additional check for validity of max item number
*      against grp_topnum
*  V6.1b9  08-Jan-1995  Charles Bailey  bailey@genetics.upenn.edu
*    - update item index display in get_itm_by_num()
*  V6.1b9  15-Jan-1995  Charles Bailey  bailey@genetics.upenn.edu
*    - add support for grp_funread field in ga records

NEWSVMSMAIL:

*  V6.1b9  15-Jan-1995  Charles Bailey  bailey@genetics.upenn.edu
*    - clean up handling of grp_topreadnum, grp_unread, and grp_funread

NNTP_SERVER:

*  V6.1b9       24-May-1994  Charles Bailey  bailey@genetics.upenn.edu
*    - added further file optimizations based on patch noted in
*      previous comment (930723_nntp_server.c!saul@hnrc.tufts.edu).
*  V6.1b9       14-Jun-1994     Saul Tannenbaum  saul@hnrc.tufts.edu
*    - RMS optimizations to item, group and history file
*  V6.1b9    4-AUG-1994  Wayne Westmoreland  wayne.westmoreland@srs.gov
*    - Changed auth_list to: 1) Not allow posting for just anyone to a
*                               restricted newsgroup even if it is marked
*                               as writable.
*                            2) Return with an error if the user does not
*                               have write privilege to even *one*
*                               newsgroup being posted to.
*  V6.1b9       24-Aug-1994     Mark Martinec  mark.martinec@ijs.si
*    - code cleanup to make it compile under ansi c
*      (lots of typecasting and minor changes, include newsextern.h
*      to avoid lots of duplication in prototype declarations, modified
*      some function declarations to match prototypes in newsextern.h)
*  V6.1b9  03-Oct-1994     Wayne Westmoreland  (wayne.westmoreland@srs.gov)
*    - Fixed bug in XHDR where continuation lines were not being returned.
*      This caused clients problems when attempting to mark crossposted
*      articles as read or when trying to do reference line threading.
*  V6.1b10 16-Nov-1994     Bob Sloane sloane@kuhub.cc.ukans.edu
*    - Modified the behavior of the POST command to allow remote
*      moderation of newsgroup. Now all that is required is that the
*      article have an Approved: header. This is consistant with the
*      way INN works, and has been requested by several users.
*  V6.1b10 4-Jan-1995     Bob Sloane sloane@kuhub.cc.ukans.edu
*      added a primitive version of NOV support. Only enabled if XOVER
*      is defined. It is OFF by default.
*  V6.1b10 3-Mar-1995      Mark Martinec   mark.martinec@ijs.si
*    - replaced strncpy with util_idcpy when forming RMS key 1, as it
*      turned out that some parts of ANU understood the 60-character
*      item ID key 1 field in NEWS.ITEMS file as a (59 + null) character
*      string, while other parts truncated item ID to full 60 characters.
*      This resulted in nntp clients not being able to access items
*      with long IDs.  As the 59+null form is more common in the code,
*      we'll join the flock, even though one character is wasted.
*  V6.1b10 6-Mar-1995      Alan Greig Alan@dct.ac.uk
*    - Some post bug fixes. Set ihave_size before entering
*      spool_add_item. Allow close_file() to delete scratchfile.
*      Correctly free unk_headers[i].
*  V6.1b10 7-Mar-1995      Alan Greig Alan@dct.ac.uk
*    - Minor correction to previous patch (move fstat into
*      spool_add_item)

NNTP_TCPUCXM:

*  V6.1b9  23-May-1994      Alan Greig  ccdarg@zippy.dct.ac.uk
*    - change #include errno to #include <errno.h> under DECC, because
*      DECC chokes on the former under some (unclear) circumstances.
*  V6.1b9  17-Feb-1995     Mark Martinec   mark.martinec@ijs.si
*    - rearanged getremhost() to support other TCP/IP transports

NNTP_XFER:

*  V6.1b9  14-Feb-1995     Mark Martinec   mark.martinec@ijs.si
*    - bumped the size of cmd in collect_newids() to minimize the
*      chance of overflow in sprintf while compiling NEWNEWS command.
*      This is just a quick fix. (suggested by wayne.westmoreland@srs.gov)