-ChangeLog-		-*-Indented-Text-*-

07 May 89 - gore

   Notes is now compilable by GCC in ANSI mode.

   Added support for SunOS-4 (I think), and for the Sun 386i (what a pain
   in the neck...).  One known bug on the 386i: config's Organization is
   ignored. 

   Modified miscio.c and tio.c to use the "contsig" flag, which makes
   the SIGTSTP signal handler just return instead of doing the longjmp.
   Otherwise, a user would lose their posting if they suspend notes at the
   post/edit/list/abort prompt.

23 Apr 89 - gore

   Ripped out all the "#ifndef NWU" code: we are now committed to 2.9.
   Changed the make files so that they configure the scripts.  Most scripts
   need no further editing.  Make now installs the manual pages.  Updated
   the rest of the manual pages.  Added umax-bsd.gmake.  Modified the
   installation instructions.

04 Feb 89 - gore

   Fixed the problem of duplicate functions in lib/rfc822.c (came with
   recnews) and previously existing modules.

30 Jan 89 - gore

   Fixed options '-d DMP_FORMAT', '-j' and '-c' so that they behave the
   same way as the sequencer-related options do when they are intermixed
   with notesfile names in the command line or the notesrc file.

   Simplified nfdirect.c a little, making it work correctly with multiple
   notesfiles and with wildcards.

   Fixed a bug in lib/libnotes.gmake that made make lose track of
   dependencies on .h files.

   Fixed checknotes.

   Updated notes.1, checknotes.1 and notesrc.5.

17 Dec 88 - gore

   Changed lib/libnotes.gmake so that dependencies are established between
   libnotes.a elements and their .c files directly, and the .o files are
   not left laying around.

   Made some more bug fixes in moderation control message handling.

07 Dec 88 - gore

   Made nfmaint messages dealing with moderation more meaningful.  There
   was a bug there anyway...

   Modified savemap.sh to be more careful about how it interprets the
   "cat << marker > map-file" line.

   Made sendnntp.sh use 'find . -print' instead of 'ls' to get the list of
   individual article files.  This presents them in the order they appear
   in the directory file, instead of alphabetically.  Should help speed up
   nntpxmit when the spool directory is huge.

21 Nov 88 - gore

   During the post/edit/abort/list query, if $PAGER could not be executed,
   the note would be lost.  This is fixed now.

06 Oct 88 - gore

   Incorporated Erik E. Fair's nrecnews as recnotes.  It calls newsinput
   instead of inews.

   The 't' command while reading a note ("talk to author") now gives
   the talk program the benefit of the doubt, and just invokes it with
   "author@system" as parameter.

19 Sep 88 - gore

   Made sure that the invoking account's real uid and gid are in effect
   when a message is saved to a file.  There was a bug in rfopen() that
   would allow users to open new files in directories writable by group
   'notes'.  This bug has been fixed for systems other than 4.2BSD (and
   up).  4.2BSD folks painted themselves into a corner here by making the
   real and the effective gid's automatic members of the process's group
   list, which made both the setregid() call they love and the access()
   call they despise totally useless in this situation.

   Wrote bsd_access(), which works around the BSD GID problem as much as
   possible.

   Made uninterpretable posting dates default to receiving dates (instead
   of the former '-1' -- "Wed 31 Dec 1969 23:59:59 GMT").  This should
   only affect messages coming in through mail.

   Removed the generation of "Relay-Version:" and "Posting-Version:".
   (HP has already been running a version that does not put these in, but
   the source that I got still does.  Somebody with the latest HP 2.8.2
   source may want to compare these fixes.)

   Expanded the message dumping facility to include these options:
		MAIL_V7:	for mail, mailx, Mail ("From " line in front)
		MAIL_MMDF:	for msg (4 ^A's delimiting the message)
		TEXT:		just the text, no header at all
		NOTE:		1-line reference header + the text
		HEADED:		header and note (can be used by newsinput)
   The default is MAIL_V7, just like in 2.8.2.  A different default can be
   specified in the config file as "Default-Save-Format:".  The user can
   specify which format they want using the "-d" (for "-D-isk saving
   format") command-line option.  (It would be nice to be able to change
   this setting from within notes...)

   Completed Walter's (I think) work on being able to jump over
   cross-posted articles that have already been read in another newsgroup.
   This is enabled with the "-j" option to notes.

   Added code to expand() to allow options with arguments.  All command
   line options except "-f" and "-a" can now be specified in .notesrc.

10 Sep 88 - gore

   Added provisions for default moderator.  If "Default-Moderator:" is in
   config file, uses that.  If it contains a "?" in it, the "?" is replaced
   with group name (with dots changed to hyphens).  "\?" can be used to
   actually include a "?" in the address.  If "Default-Moderator:"
   is not specified, uses "notes".  (First thought of using "%s" instead of
   "?", but since "%"s tend to show up in addresses... just too much trouble.) 

   Made the 'newgroup' control message handler recognize the "moderated"
   option.  This can be disabled by putting "Manual-Mod-Changes: yes" into
   the config file.

   Put in a general provision for switching to a different LIBDIR from
   within the config file ("Real-LIBDIR:").  Its implementation takes
   advantage of the config-file preloading implementation (see log entry
   for 06 Mar 88).  Made the RFA "delicate dance" code (very similar goals)
   take advantage of the preloading too.  All entries in the original
   config file overrule the corresponding entries in the new config file.
   If "Real-LIBDIR:" occurs in the new config file too, it will be ignored.

04 Aug 88 - gore

   Made mknf use the new acl (access control list) library.  This completes
   the transition to acl.

   Editor is now selected by checking $VISUAL first, then $EDITOR, etc.
   (Should this be '#ifdef BSD'?)

11 Jun 88 - gore

   Wrote a set of GNU Make files to make compile-time configuration easier.
   Ideally, the installer will only need to edit file "src/config.gmake".

   Moved obsolete code into src/obsolete, and code related to the old
   (pre-2.7) Notes format into src/oldnotes.

22 May 88 - gore

   Created the per-group string pool, so that new strings can be added
   without changing the header struct (which would require dumping and
   reloading the database).

   Added code for setting of moderation status (using the string pool)
   and completed wunder's code for posting to a moderated group (both
   as a base note and as a response).  Moderation status can be set from
   the director's menu, and also using nfdirect.

06 Mar 88 - gore

   Changed the config-file code to read in the whole file the first time
   and keep it in a list in memory (sans comment & blank lines), instead of
   performing an open-scan-close sequence for each getconfig call.

04 Mar 88 - gore

   Wrote nfdirect.  All options except "moderated" are implemented. 

   Made a separate group of routines for manipulation of access control
   lists (acl.h and lib/acl.c).  They are used in "nfdirect".  Older
   routines that deal with access control were left alone (just modified to
   include acl.h) -- they should be changed to use the acl stuff.

28 Feb 88 - gore

   Started using the triple <full_hostname,hostname_in_path,replyto_hostname>
   to identify the system.  This removed the former assumption that the
   leftmost word in the full hostname is to be used in the message path (for
   example, "hplabs.hp.com" and "hplabs!decwrl!...").

   Added "Reply-To-Hostname:", "Full-Hostname:" and "Hostname-In-Path:" fields
   to the config file.  Added "-r reply-to-address" option to notes.

   Added "-c" ("concise quotations") option to notes.  It makes header line
   a little shorter by excluding the "system-name:" and the "time of day"
   strings.

   Minor bug fixes.  (Probably minor bug introductions, too :-)

 6 Feb 88 - gore

   Made mailing to poster give preference to the "Reply-To:" field over the
   "From:" field.

 1 Feb 87 - wunder

   Fixed some bogus pointers in docontrol.c.  Now a sendsys control
   message will not cause a coredump.

   Added the Manual-rmgroup option to the config file.

   Newsinput used to strip the Re: from a subject on an orphan (got
   posted as a basenote).  Fixed it so the Re: is kept.

17 Jan 87 - wunder

   Finally put in GMT sequencers.  Arpadate() now prints in GMT, so
   all times, including those in message headers, are in GMT.  A new
   function, localdate(), was added in case it is ever needed.

   Added -u option to mknf to force update of Active file.  Improved
   usage message on rmnf.

   Imported News 2.11 changes into getdate.y.

11 Jan 87 - wunder

   Started on moderated notesfiles.  Replying now mails, as it should,
   but posting a basenote requires a different approach.

18 Dec 86 - wunder

   Added -A option to newsoutput so we can create newsbatch archives.
   Also added -o option (old) to force old format and make notesformat
   archives.  This obsoletes the nfdump command.

20 Nov 86 - wunder

   Added -A option to newsinput for restoring archives.  Copies
   "Date:" line into msg.m_rectime to put articles in something
   resembling proper sequence.  Also sets zaptime to zero so articles
   older than Archive-Days won't be bitbucketed.

13 Nov 86 - wunder

   lock() and unlock() now leave the seek pointer alone.  Doesn't
   seem to be necessary, but trashing it made me nervous.

 6 Nov 86 - wunder

   Fixed "no replot after help" problem in readem().

   nfarchive now will only delete inactive, empty groups.  Only
   checked age, now checks for BODY.TEXT of length 4 bytes (nothing
   but a free pointer).

 4 Nov 86 - wunder

   Added lockf() locking to lock.c.

31 Oct 86 - wunder

   Neutered the rmgroup control message until I can put some
   kind of Manual/Automatic flag in the config file.

   Fixed an off by one problem in display.c -- core dumped when you
   tried to back up a page after filling up the array that saved
   previous page positions.  Also increased the back-up stack to
   120 pages.

   Brought getdate.y up to the version distributed with News 2.10.3.
   This adds the European timezones.

 4 Oct 86 - wunder

   Index page display was pretty chunky with fully buffered IO,
   so I added an fflush() after each line.

   d_lstxmit in the descripter was never set (!), so I fixed it.
   Newsoutput now sets that.  The code that is supposed to prevent
   editing a note after is is sent out depended on that variable.
   Added a check so that the title of a note cannot be changed
   after the basenote has been transmitted.

   Now writes the user's sequencer every two minutes, so that
   your entire sequencer isn't lost if your modem hangs up after
   two hours of notes reading.

   Fixed odd behavior in addgrp() (expand.c), where the sequencing
   type for a notesfile was set in every occurrance rather than
   the first.  That meant that "-s hp.notes, -i hp.*" set hp.notes to
   "-i".  Now it will be "-s".

25 Jul 86 - wunder

   Release of Notes 2.7 -- many, many changes.

	put back in notes format transmission
	added reverse Message-ID munging to avoid duplicates
	new command, seqset, to set sequencer for systems
	improved error messages almost everywhere (tw)

30 Nov 85 - tw

   Decided that there were too many configuration files, so combined
   them into LIBDIR/config.  It contains lines like:
       Domain: .ISL.HP
       Organization: HP Farm Tractor Division - Omaha, NE
       Prompt: >>
       Shell: /bin/ksh
       Spool-Directory: /usr/spool/notes
   This should make it very easy to ship binary distributions; the
   only thing fixed is the location of LIBDIR.  This makes all the
   stuff in parms.h be the defaults; most of it can be overridden
   this way.  These are system defaults; things like EDITOR can be
   overridden by the individual user via environment variables.
   Major changes are in lib/initenv.c and structs.h; also a new
   module lib/config.c contains the functions to read the config
   file.

    Added code to optionally reject incoming notes older than
    the archive-period, and to refuse to emit notes older than
    the archive period via newsoutput.  Keys off two config file
    lines:
       Archive-Days: 7
       Allow-Old: YES (default is NO)
    Changes for this are in newsinput.c and newsoutput.c.

    Added control message support at newsinput time.  Module
    "control.c" was ripped off straight out of news 2.10.2;
    is called from newsinput.c.  All the stuff that either isn't
    implemented yet has "ifdef NOTIMP" wrapped around it.  Supported
    (but poorly tested) stuff includes:  newgroup, rmgroup, senduuname,
    sendsys, sendversion.

29 Nov 85 - tw

   Changed the spool directory into a heirarchy, same as news does it.
   This is pretty essential for those of us with shortname filesystems.
   Most substantial changes in mknf.c and lib/pattern.c, and the addition
   of lib/fname.c.  Other minor changes at each occurrence of SPOOLDIR.

   Added variable argument capability to "x" so that it can be used like
   printf.  I hate terse error messages, and this should make it much easier
   to do better.   Also took out "call a notes guru" - I'm really tired of
   getting phone calls from folks I never heard of, that got that message
   and decided that meant me.

   Cleaned up all the error messages in "mknf"; added a usage message to
   mknf, rmnf, newsoutput, and notes - before you only got "bad switch" if
   you specified wrong.
   
   Cleaned up error messages in loads of modules; hopefully you can actually
   tell what failed and what file was trashed.   Still need to catch some.

   Added organization to the recognized part of the header.  Changes
   mainly in display.c, lib/genhdr.c, lib/puthdr.c, structs.h (added m_org).
   Display needs reworked because the organization doesn't fit with the
   existing screen layout.  Probably will switch to our hp-notes style
   headers, which look ok.

   Started to incorporate archiver upgrade but chickened out.  Need listings
   of both to work from, or a bigger screen.
   
   Now reads myorganization and mydomain from files in LIBDIR; if the
   files aren't present, or are bogus, uses the default.  Format:
   
   LIBDIR/myorg:	one line, <= 128 chars is uses, rest ignored
   LIBDIR/mydomain:	one line, must start with ".", as in ".ISL.HP".
