Thu Apr 21 12:30:35 EST 1994	Luke Mewburn (lm@yallara)

	* cleaned up code a tad, bumped to v3.3.3, 940421.


Tue Apr 12 21:45:32 EST 1994	Luke Mewburn (root@icosa)

	* to: fixed status reporting when no message was sent
	due to all destination terminals having mesg n.

	* moved around and simplified some tests in to::send_message
	by using a goto (yes!, a goto! :) label just in front
	of the autoreply part. this fixed a few potential fall
	throughs that I didn't count on.

	* relocated some filter_bufs in to::send_message because
	some data was being used before being filtered.

	* in to::main, use hostname upto the first `.'.


Sun Mar 27 20:30:48 EST 1994	Luke Mewburn (root@icosa)

	* cleaned up description of DEFS in Makefile.in,
	removed superfulous entries.

	* increased to version 3.3.2, 940328.


Fri Mar 25 03:49:40 EST 1994	Luke Mewburn (lm@yallara)

	* don't internally store _PATH_DEV infront of any
	printable variables in to.c

	* _to_ now searchs for least idle writable tty

	* _to_ will use least idle writable tty if the tty
	specified for the . user is invalid. This is not the
	case when -t tty is used (it will just barf in this
	case.)

	* moved some of the #defines in to.c into an enum in
	casu.h

	* removed dependance of COPYLEFT to be after ERROROPT
	in enum. The usage init::parse_options() checks for
	both values.


Tue Feb  8 13:02:15 EST 1994	Luke Mewburn (lm@yallara)

	* fixed configure.in's use of have_headers to use
	a space as a separator (instead of comma.) This means
	that paths.h & unistd.h get correctly checked for.

	* default is not to generate link from _flon_ to _who_


Tue Feb  1 18:00:20 EST 1994	Luke Mewburn (lm@yallara)

	* only predefined sys_errlist if we need strerror()


Fri Jan 21 12:13:07 EST 1994	Luke Mewburn (lm@yallara)

	* fixed Steve Riehm's mail address in the _to_ man page.


Thu Dec 23 12:36:26 EST 1993	Luke Mewburn (lm@yallara)

	* increased to version 3.3.1, 931223 and prepared
	for patch01 generation and release.

	* touched up README a bit.

	* separated installation of manuals from programs, and
	provided installation directives for unformatted (install.man)
	and formatted (install.catman) manual pages.

	* changed bitmask from 0x077 to 077 in source for
	determining tty permissions in configure.in. (Bug
	found by Michael Schroeder <screen@uni-erlangen.de>)


Wed Dec 22 16:22:16 EST 1993	Luke Mewburn (lm@yallara)

	* added patchlevel.h as a header that source should be
	dependant upon.

	* terminated an echo in Makefile.in with a `;' so that
	the multiline statement that makes _to_ setgid tty
	work correctly.

	* split VERSION into VERSION and RELDATE, updated
	usage statements in source accordingly.


Tue Dec 21 17:04:46 EST 1993	Luke Mewburn (lm@yallara)

	* prepared for comp.sources.misc submission, created patchlevel.h

	* increased to version 3.3


Tue Dec 21 14:42:42 EST 1993	Luke Mewburn (lm@yallara)

	* added %b (host in brackets) to flon.

	* rename bsearch.c::bsearch to nbsearch, and always use it.

	* determine if YP/NIS is running, and define USE_GETPWENT
	if that is the case.

	* updated email address to <lm@rmit.edu.au>


Sun Nov  7 00:07:00 EST 1993	Luke Mewburn (root@ironbark)

	* Added <paths.h> inclusion (if it exists), for definition
	of _PATH_DEV
	
	* If _to_ is running setgid(tty), then ensure that .torc
	is written with the user's group by first doing
	setgid(getgid()).

	* Slightly re-word the ``you're not logged in'' message.


Tue Sep  7 13:55:32 EST 1993	Luke Mewburn (lm@yallara)
   
	* Released as v 3.2.2 to alt.sources


Wed Aug 25 15:24:45 EST 1993	Luke Mewburn (lm@yallara)

	* check if bsearch() is declared in <stdlib.h> and don't
	define if that's the case.


Sun Aug 15 23:22:25 EST 1993	Luke Mewburn (nroot@icosahedron)

	* upgraded to version 3.2.2

	* touched up manual pages & other documentation for new version

	* added LN_S checks to configure.in

	* re-ordered output of -r and -l for to (-r is now first.)
	* if you->tty == NULL, and no message got through, but you're
	on (and the message was to yourself), there are two entries
	in the passwd file for your uid (root/croot/nroot is usual case
	:). So, print `you are only logged on once.' This may not be
	correct for all situations like this, but I'm pretty sure it is.

	* determine if malloc(), read(), open(), and gethostname()
	are declared in <*.h> and don't prototype if that's the case.

	* re-ordered & touched up configure.in & Makefile.in


Sat Aug 14 12:08:06 EST 1993	Luke Mewburn (lm@yallara)

	* removed formatted manual pages from distribution (because
	'make -f Makefile.in dist' relies upon @ROFF@ & @TBL@ from
	configure, and configure hasn't been run yet...)

	* all strings which are modifiable by a user (pseudonym,
	autoreplies, and the message) are now passed through
	filter_buf() to remove `illegal' characters. Just make this
	a dummy function if you don't like this behaviour.

	* changed u_char to unsigned char in qsort.c

	* added Steve Riehm's patchs (with minor changes) for
	a dottty (remember user AND tty), with relevant changes
	to manual.


Fri Aug  6 18:05:25 EST 1993	Luke Mewburn (lm@yallara)
	
	* added  '\" t  as the first line of the *.rof files so that
	Solaris 2's man(1) would preprocess the pages through tbl.

	* added `remove exclude entry'.

	* ignore multiple additions of an exclude entry for a user.

	* renamed add_alias & remove_alias to add_alist_ent &
	remove_alist_ent, which better describes their function

	* fixed a couple of linked list bugs when adding an exclude
	entry to the alist (experienced when an exclude & an alias
	had the same userid).

	* changed argv & argc globals in to.c to be explicitly
	static


Sun Aug  1 00:49:49 EST 1993	Luke Mewburn (nroot@icosahedron)

	* changed version to 3.2.1, and released to alt.sources

	* check for <sys/utsname.h> & uname() if gethostname()
	is not available. If neither is available, print no
	host information in the _to_ header. Store `@' in host[]
	if we need it (in to.c:send_message)

	* ensured man page, option parsing, and usage were all
	consistant with each other (WRT command line options.)
	Updated the manual pages for the new features.

	* added some important porting information to `README'
	Included a `NEWS' file.

	* distribution now supplied with preformatted manuals
	for those without nroff.

	* reset default width for %h back to 16

	* casu.h will only proto malloc/calloc/etc if stdlib.h
	isn't included.

	* added -lsocket if found (for gethostname() on SCO & Solaris)


Sat Jul 31 00:28:56 EST 1993	Luke Mewburn (s902113@minyos)
	
	* added (non extern) definition of Kludge to to.c
	for SCO

	* added the ability to exclude users in _to_, and an
	appropriate auto-reply message.

	* fixed Makefile.in so object files were correctly rebuilt
	if casu.h was modified

	* limit message to LINESIZ (256) chars, and replace all
	non-ascii & control codes with `?'.


Wed Jul 28 16:21:06 EST 1993	Luke Mewburn (s902113@minyos)

	* added 3rd arg (of 0) to open() in getutent.c

	* added reading of message from stdin in _to_, but only
	if stdin is a terminal.

	* renamed qsort in qsort.c to nqsort to avoid conflicts
	with partially ANSI compilers/headers (This version of
	qsort is always used over the libc version because it
	is guaranteed to have O(NlgN) worst case, unlike a lot
	of versions shipped with older systems.)
	
	* changed all use of buffers using MAXPATHLEN, MAXHOSTNAMELEN,
	BUFSIZ, etc to have an extra char (for NUL), and to strnc0py
	values using sizeof(buffer).


Tue Jul 27 01:13:10 EST 1993	Luke Mewburn (s902113@minyos)

	* RELEASE of CaSU 3.2 to alt.sources!

	* used autoconf 1.5 to generate configure script

	* cleaned up a couple of warnings generated by the
	Solaris 2 compiler.


Mon Jul 26 02:04:49 EST 1993	Luke Mewburn (nroot@icosahedron)

	* allowed _to_ to recognize `.user' or `. user' in .torc.

	* cleaned up the docs, added the format of the .torc to
	TO.rof.


Wed Jul 21 22:49:16 EST 1993	Luke Mewburn (nroot@icosahedron)

	* fixed error messages for _to_ to correctly indicate
	why the transmission failed.

	* _to_ now sends the message to the least idle tty (if
	one exists.)


Wed Jul 21 05:03:51 EST 1993	Luke Mewburn (nroot@icosahedron)

	* fixed minor definition problems with utmp & utmpx
	formats. NULL_UTMP_ENTRY for checks ut_name[0] as well
	as ut_type - necessary for SVR4 & possibly IRIX.

	* changed default width for %h to 32

	* doc fixes (added standard INSTALL file, moved old
	INSTALL & Notes to README, made __TODO__)

	* fixed a couple of typos in Makefile.in which prevented
	the installation from working correctly.

	* re-introduced system call/library prototypes to casu.h.
	Should be ok for most systems. If problems occur, just hack
	the definition of __PROT.


Tue Jul 20 20:18:52 EST 1993	Luke Mewburn (s902113@yallara)

	* include -lnsl so Solaris 2 can find gethostname()

	* include <netdb.h> if MAXHOSTNAMELEN defined there
	(for Solaris 2)


Tue Jul 20 13:25:24 EST 1993	Luke Mewburn (nroot@icosahedron)
	
	* autodetect if _to_ must be setgid tty (because terminals
	are owned by tty, and there is no global write perms to
	them.) Set TTY_RESTRICTED if this is the case, and TO_GRP
	to the numeric GID to install _to_ setgid.

	* autodetect /etc/passwd.dir || /etc/pwd.db and set
	USE_GETPWENT if either exists. Otherwise, _flon_ will use
	custom /etc/passwd reading code.

	* added support for SVR4's <utmpx.h>. Assumes that ut_host
	field exists, and ut_time is actually ut_tv.tv_sec.

	* checked for potential overrun of buffer in convert_realname

	* doc fixes (to .rof sources)

	* depreciated the NO_GETLOGIN define (since the machine
	that it was a hack for has been replaced)

	* began implementation of the GNU auto-configuration package.

	* upgraded the version to 3.2 in light of the changes made.


Tue Jul 20 01:30:38 EST 1993	Luke Mewburn (s902113@minyos)

	* placed _flon_ & _to_ changelogs into this file at this point,
	for easier reference.


*
* CHANGELOG for _flon_ v3.1 and before:
*

	3.1, 930715
	- added -P (minimum time before it prints time instead of
	  `...' in %i)
	- added seconds & minutes suffixes (s & m) for -p & -P
	- added -e & -E back in, with a different meaning. (Because
	  it's Not Good to make an option, even a useless one, illegal
	  in a newer version). This pair of options toggles the
	  Exclusion of people in your friends file (implicit -a).
	930621
	- compare_utmp now returns 0 for 2 NULL entries, not -1.
	  (just an optimization)
	930619
	- hostname info is now from least idle tty.
	- `flon -w ...' is synonymous with `who ...'.
	- fixed `not clearing cur_ent' with no duplicates & a user who
	  was `totally idled out'
	930613
	- deprecieated 'no errors' (-e & -E) options (it wasn't _that_ useful).
	- cleaned up version info, etc.
	- cur_ent.on now is #times_on - 1.
	930610
	- fixed yet another quote bug. should be robust now!
	- upped to v 3.1 and added to casu package.

	3.0.4c, 930530
	- improved quote and backslash parsing of $FLON
	930529
	- %h handling not correct on machines which didn't support UT_HOST
	- finally got varient width and truncation working (I hope!)
	- number parsing (for -p and %<num><specifier>) improved.
	- moved misc routines from init.c & main.c to various.c

	3.0.4b, 930528
	- wasn't null-terminating outbuf, so varient records overlapped stuff.
	930526
	- fixed bug in C_COUNT printing for duplicates.
	930525
	- version upped to 3.0.4, and released for general
	  beta-testing.

	3.0.3d, 930525
	- dumped heapsort() - trashes data created by malloc() on cc on minyos.
	  Back to Net/2's qsort().
	930524:
	- moved putstr code directly into loop - makes debugging
	  easier and speeds up the code a bit.
	930523
	- finished varient records
	930522
	- began implementing varient records.
	- rewrote outbuf handling code - doesn't rely upon chars
	  being signed 8bit values.

	3.0.3b, 930520
	- cleaned up printing code, and code in general (WRT
	  localizing variable use, etc)
	- totally rewrote ' parsing in add_envopt. Should work with
	  any number of ' pairs/word (a la csh) instead of only
	  allowing 1 pair of 's per word.
	- using NET/2 bsearch() and heapsort() routines. (instead
	  of qsort())
	- moved all printbuf stuff into 1 struct.

	3.0.3a, 930519
	- %c and %x will print spaces if -d not given
	- -v is synonym for -V
	- added %a (availability). %m is always correct for
	  the current tty. %a is as %[cx] when -d not given.
	930518
	- Moved all #define stuff from Makefile into lon.h
	- Removed BSEARCH define and associated qsort() stuff for
	  passwd file.

	3.0.2, 930504
	- Fixed definition of struct utmp Kludge for SCO boxes
	930503
	- Cleaned up parsing of output format.
	- Fixed bug with get_username() when getlogin() fails.

	3.0.1, 930414
	- Fixed up who am I (it was not checking `I' correctly, only `i')

	3.0, 930328
	- Entirely redesigned method of parsing format string. Only
	  limitation is 1 %X (X == any specifier type) field can't
	  exceed 127 bytes.
	- Cleaned up manual.

	2.7, 930316
	- Enhanced $FLON parsing. Use modified code from gzip 1.0.6
	  (which in itself was code modified from stuff I wrote &
	  donated :), so $FLON format is now like:
	    setenv FLON "-ht -o'%-u %p' -p30"

	2.6.4b, 930125
	- Prototyped lon.h with __PROT() technique.

	2.6.4a, 930123
	- Added optional use of getpw*() routines (for BSD boxes with
	  cached entries).
	- Fixed error reporting for $FLON (got progname and varname
	  mixed somehow between 2.6.2 and 2.6.4...)

	2.6.3, 921019
	- Put options -O, -N, and -Y which reset the -o, -y, and -n
	  options respectively to their compiled in defaults.

	2.6.2, 920916
	- Default idle cutoff was 0 seconds instead of 5 minutes (an
	  accidental change caused this...) Found by Albert Zvara, who,
	  unlike the author, hadn't changed the default...

	2.6.1, 920912
	- Fixed 'who am I <anyfile' so that it acts like 386BSD who(1).
	  (I.e, outputs something like: "nroot	tty??	current_time")
	- Talk status when duplicates are removed is calculated
	  differently, depending upon whether the idle time/tty for
	  the least idle terminal is required or not.
	- Rewrote print.c so that flags that needed to be reset
	  between lines of different users were being reset.
	- Put the global variables as a conditional extern in lon.h

	2.6, 920905
	- Finally put flon under the GNU Public License, Version 2.

	2.5.2, 920903
	- Modified Makefile to generate tarfile based on current
	  version number in header file.
	- Fixed a fatal bug in the passwd file routine (which was
	  only discovered after a kernel upgrade - I suspected the
	  upgrade at first :) where I was overrunning the end of
	  malloc region.

	2.5.1, 920831
	- Fixed mix-ups with ttys. Caused when you a) wanted psuedonums,
	  b) only wanted friends. I was resetting a flag (li_valid)
	  which indicates the idle data is invalid. Thanx to W. Kasdorp
	  for notifying me of the bug.

	2.5rel, 920826
	- Entries for duplicates are printed with the most useful
	  bit of info. The login/idle time and tty from the tty
	  which has been idle the least is used.
	920825
	- By default, entries with ttys which can't be statted are 
	  printed, but without idle time or mesg status displayed.
	  -e now just doesn't print those entries.

	2.5b, 920824
	- Really cleaned up Makefile: now you just edit the defines
	- Fixed up some of the compile options (WANTPROTO, etc)
	- 'who am I </dev/null' returns "Must be attached to tty.."
	  (a la Sys V.).

	2.5a, 920823
	- Made output compatible with 386BSD who(1). (Acts like who(1)
	  when argv[0] is found to be 'who'). Doesn't do the (...) of
	  hostname properly though...
	  BUG: Can't handle 'who am I < anyfile' - acts as 'who'.
	- Fixed ampersand handling in passwd file. (Expands & in
	  gcos field to username.)
	
	2.4.4 (internal beta version), 920822
	- Cleaned up detection of different utmp/passwd defines.
	- decided to create a changelog/notes file (This is that
	  file...)

	2.4.3, 920820
	- Fixed the tolower() problem in init.c (where uppercase
	  formats were recogised, but were not being stored as lowercase)
	- Ported to 386BSD. (Added <stdlib.h> and <unistd.h>)

	2.4.2
	- Friends files specified on the cmd line or in $FLON are
	  taken to be relative to $cwd - let the OS decide (instead
	  of assuming everything was relative to $HOME)

	2.4.1
	- Fixed some of the passwd file stuff.
	- Added -e (ignore errors when statting /dev).

	2.4
	- Added '%r' (real name of user).
	- Added -b. (%p acts as %r if no pseudonym found).

	2.1->2.3
	- Undocumented bug fixes and featuritis adding.

	2.0
	- First release to alt.sources.

	1.0 -> 1.2
	- Undocumented original internal (to RMIT) version.


*
* CHANGELOG for _to_ v3.1 and before.
*

	3.1, 930715
	- changed a couple of global variable names to reflect changes in
	  casu.h
	930619
	- fixed bug when stdin redirected away from tty.
	930615
	- cleaned up error messages.
	930613
	- Improved code consistancy.
	- Removed assumption that alias & name in .torc were going to be
	  16 & 8 chars long respectively.
	930609
	- Moved the code around, reduced the # of global variables.
	930608
	- Updated the version, included as part as CaSU package.
	- Hacked to code to work as part of CaSU.

	3.0.6, 930503
	- Fixed up minor bugs with confusion between idle & gone auto-reply.
	  (I.e, I cut & pasted a lot of lines :)
	 930425
	- Fixed up pseudo handling. (Only writes pseudo from $NAME or
	  $PSEUDONYM _if_ no pseudo currently defined in .torc)
	 930423
	- Give a warning if your messages are off.
	- Fixed up usage message (and basenamed progname)
	 930421
	- Added idle auto-reply.
	- Added unalias
	- Give warning if no arguments are given at all.

	3.0.5, 930419
	- Cleaned up userid/name display.

	3.0.4, 930415 
	- Added name/pseudonym storage in the .torc (only if it's from
	- -P, $PSEUDONYM, or $NAME)
	- Improved name handling.
	- Cleaned up code & argument passing, global variables, external
	  function definitions.

	3.0.3, 930408
	- Added -t tty option.

	3.0.2, 930407
	- Fixed up inconsistancies with the dotuser (moved the variable
	  to the user_t struct.)
	- Made all function passing of user_t with pointers.

	3.0.1, 930406
	- Cleaned up messages to destinations.

	3.0, 930327
	- First release of version by Luke Mewburn.
