###########################################################################
# LPRng - An Extended Print Spooler System
#
# Copyright 1988-1995 Patrick Powell, San Diego State University
#     papowell@sdsu.edu
# See LICENSE for conditions of use.
#
###########################################################################
# MODULE: Changes
# PURPOSE: Record Changes
# $Id: CHANGES,v 3.11 1996/07/27 18:15:32 papowell Exp $
########################################################################## 

Release LPRng 2-3-9
	killchild.c - minor bug on cleanup.  If cleanup called with 0
	  argument, never killed off children.  Under very rare circumstances,
	  this resulted in a OF filter process hanging up,  and never exiting.
	LPR: the -s option is now silently ignored.
	  (Jon E. Ferguson" <jon@media.mit.edu>)
	ULTRIX has a sys/syslog.h and a syslog.h file, need to use sys/syslog.h
	  (Per Foreby <perf@efd.lth.se>)
	Accounting Filters: the :as: (accounting start) filter returning JREMOVE
	  did not cause the job to be removed. Fixed.
	  (Reported by Panos Dimakopoulos <dimakop@cti.gr>)

Release LPRng 2-3-8
	lpr_makejob.c - not handling -w and -0 (font options) correctly.
	  (Reported by Jens Thiel <thielj@athene.informatik.uni-bonn.de>)
    Comments in sendjob.c updated to reflect reality.
	  (George Lindholm <lindholm@ucs.ubc.ca>)

Release LPRng 2-3-7
	lpd.conf default file - updated example configuration values
	Documentation miswordings, downright errors, and missing information
	  corrections and comments added.
	  (Bertrand Decouty-INRIA Rennes-France <Bertrand.Decouty@irisa.fr>)
	struct fd_set declarations changed to fd_set to make it compatible
	  with POSIX.
      (Reported by Alan Shutko <ats@shep1.wustl.edu>)
	use_shorthost flag not working - fixed.
	  (Bertrand Decouty-INRIA Rennes-France <Bertrand.Decouty@irisa.fr>)
    setup_filter.c - %h in an option string is now expanded to the short
	  form of the host name.
	ROOT perms for filters - added the ROOT_PERMS_TO_FILTER_SECURITY_LOOPHOLE
	  definition to the src/Makefile, modified common/setup_filter.c.
	  Added comments to man/lpd.8. Comments by Patrick Powell, mods by
	  (Jens Thiel <thielj@uran.informatik.uni-bonn.de>)

Release LPRng 2-3-6
	LPR/lpd_rcvjob.c - snprint() replaced by plp_snprintf()
	src/common/defaults.c - erroneous LD_LIBRARY_PATH= and PATH= values in
	  configuration variables. 
	  (Reported by Jens Thiel <thielj@athene.informatik.uni-bonn.de>)

 LPRng 2-3-5
	printcap.c - when lpd-perms array gets longer than 40kB or so,
      lpd crashes with an segmentation fault when it's getting started.
      fixed by: Dirk Wrocklage <dirkw@uni-paderborn.de>
	permissions.c, globmatch.c - updated error reporting, and added
	  check for user's default group when checking GROUP permissions. 
	  (Stefan Monnier" <stefan.monnier@lia.di.epfl.ch> and
	  Ron Roskens <roskens@cs.umn.edu>) Also, changed strcmp to strcasecmp
	  to make comparisons case insensitive.
    LPD/lpd_control.c - modified error message to better indicate failure.

	long job numbers - lpd_rcvjobs.c, cleantext.c, lpr_makejob.c, printcap.c
	  added the capability to have long (6 digit) job numbers.  This is done
	  by reformatting the job control file and the job file names.
	  printcap :longnumber: and configuration longnumber=yes enables this.
	  Note that :bk: (Backwards compatibility) overrides long numbers.
	  If a queue is marked :bk: then it will attempt to shorten long numbers
	  to produce a short number file.  This can be used with a bounce queue
	  to produce files compatible with the older vintage systems.
	  As a side effect, tightened up format checking of unlink entries,
	  and other issues reported by the following folks.
	  (Lennart.Sorth@ecmwf.int, Desmond Macauley <desmondm@eng.dowjones.com>)

	lprm - fixed the removal algorithm so that multiple tags select multiple
	  jobs.  i.e. - lprm 1 2 3 removes jobs with numbers 1, 2, and 3.
	  If you do lprm user, all jobs with the tag 'user' are deleted.
	  This allows much easier job purging,  which is usually why you
	  are using lprm...

	use_info_cache flag - printcap.c(Free_pc()) routine brutally wipes
	  out all data now.  This will either force the reread or crash the
	  process.
	  (reported by Dirk Wrocklage <dirkw@uni-paderborn.de>)

	configuration variables: added default_format, default_priority
	  to configuration as well as printcap variables. lpd.conf.5 and
	  printcap.5 man pages have been updated.  Apparently they were never
	  documented in man pages.
	  (reported by Stefan Monnier <stefan.monnier@lia.di.epfl.ch>)

	common/sendjob.c:  error reporting for DATAFILE was incorrect.
	  (reported Brad Greer <brad@cac.washington.edu>)

 	:send_data_first: printcap and configuration variable added.
	  causes data files to be sent to the destination first, before
	  control files.  (Supports horrible spoolers that violates RFC1179)
	  (suggested Brad Greer <brad@cac.washington.edu>)

	:connect_grace#nn: printcap and configuration variable added.
	  Klaus Steingerger reports that some printers require a grace
	  period between connection attempts.  This variable provides
	  a suitable delay.  Also, the Clear_timeout() routine now
	  restores the ORIGINAL signal handler.  This means you can
	  only have one timeout pending at a time - which makes sense
	  in this implementation.
	  (reported and mods by Klaus Steinberger
	   <Klaus.Steinberger@Physik.Uni-Muenchen.DE>)

	globmatch.c - a bug with checking for upper and lower case chars.
	  (reported by Per Foreby <perf@efd.lth.se>)

Release LPRng 2-3-4
	typos in the documentation - fixed

Release LPRng 2-3-3
	getcfng.c - "use_info_cache" entry out of order.
     (Alan F Lundin <aflundi@sandia.gov>)

Release LPRng 2-3-3
    LPR and :qq: printcap entry,  use_queuename configuration information
    Added 'use_queuename = no' to the common/default.c file - the
    use_queuename will force control files to have the 'Qqueuename' entry
    placed into them.  The :bk: (backwards compatible) entry can be used
    to override this when sending to non-LPRng systems.  When receiving
    a job and use_queuename is TRUE,  then LPD will add the name of the
    spool queue to the control file.

Release LPRng 2-3-2
	common/defaults.c - removed :xt: from the printcap defaults.
	common/getcnfinfo.c - added "true", "all", "false" keywords for flags.
	common/termclear.c - for LINUX, added include <termios.h>
	  (Avery Earle <ae@play.psych.mun.ca>)

Release LPRng 2-3-1
	printcap.5 :xt: entry updated
	bk, qq, and bounce queue filter interaction: printjob.c modified to
		add Queuename information for filters if :qq: option or Q entry
		in job file.

Release LPRng 2-3-0
	Minor rewording on printcap.5 man page.
	common/termclear.c - defined(solaris) changed to defined(SOLARIS)
		(Andrew Richards <physajr@phys.canterbury.ac.nz>)
	common/printcap.c, CHECKPC/checkpc.c - subtle bug when reading
		printcap information from a filter AND the 'oh=host' specified
		AND the host is not the current host.  Fixed.  In addition,
		checkpc will not create queue entries for queues not used/defined
		on the current host.
		(Dirk Wrocklage <dirkw@uni-paderborn.de>)

Release LPRng 2-2-9
    printcap.c - malformatted printcap entries ending with a \
    at the end of the file are now accepted.

Release LPRng 2-2-8
	LPR now uses a reasonable size buffer when copying files.

Release LPRng 2-2-7
	lpq:  back to the previous format!
	  lpq -s - does the very short format
	  lpq    - prints short form of detailed information
	  lpq -llll... - each l doubles status information
	lpq.1 - man page updated.
	printcap, lpd.conf: send_failure_action - added a 'hold'
	  keyword that will hold the job on error rather than deleting it.
	  updated printcap.5, lpd.conf.5 man pages
	lpd_jobs.c - added checks for filter non-zero status exit.
	configure.in - printf("%s",sys_siglist[0]) added
	  (<harlan.stenn@pfcs.com>)

Release LPRng 2-2-7
	lpq:  by default, a very very short format-  pr@host:(status stuff) NN jobs
		lpq -l  -  short, verbose format
		lpq -l -l or lpq -ll - longer format
	lprm: was not removing all jobs when 'lprm all' specified.
	lpr.1 man page: priority of jobs is A (highest) to Z (lowest)

Release LPRng 2-2-6
	lpr: -K option did not have ':' in getopt options string.
	  (Klaus Steinberger <Klaus.Steinberger@Physik.Uni-Muenchen.DE>)
	lpr: -# has been readded, in spite of my better judgement, to be
		compatible with antique LPR systems.
	lpd: 'sending job to...' message error
	  (Dwaine C. Gonyier <virtual@panthra.catt.ncsu.edu>)
	printcap.c, getcnfginfo.c - ordering of parameters not alphabetical.
	  (Ron Roskens <roskens@cs.umn.edu>)
	lpr, configuration - check_for_nonprintable code got mushed,  fixed
	  now; the :xt: (check text) printcap flag added as well. man page fixed.
	  (Ole Benner <olb@kom.auc.dk>)
	configure.in- library check fixed, added additional library check
	  (Harlan.Stenn@pfcs.com)
	lpc - the 'lpc lpd xx' operation set the current printer to xx. Fixed.
	  (Jos Backus <jos@oce.nl>)

Release LPRng 2-2-5
	** changed the bqfilter flag to bq=destination_queue
		This now forces all input to be passed through the filter.
		Changes in the bq filter information as well.
	Bounce_filter: removes temporary bounce queue file on exit unless
		debugging is high level.  bounce queue file name is bfAnnnHost,
		i.e.- has same format as a job file.  This makes job related
		processing easier to debug.
	lpc - Updated queue status display
	  lpc status now shows autohold status
	  lpc noautohold now restarts printer on 'NOAUTOHOLD' command
	lprm with no options removes first removable job in queue
	  This is compatible with BSD lprm functionality
	configure - GCC version checks moved to start of configuration
		added checks for sys/utsname.h, utsname.h
	common/gethostinfo.c - uses sys/utsname.h
		configure.in has check added for utsname.h
	lpd - printjob now checks for exit status of filters - should
		terminate now if filter has bad exit status.
		(Note: this may not be bombproof in all situations.)
	printcap and configuration - connect_retry was defined as connect_try
		documentation fixed as well.
	CHECKPC- checkpc -r -A nD now removes all job related files older than
          n Days.  This can be put into crontab and run periodically.
	printcap :ah: (autohold) now operational.  Note that LPC will
		override printcap default.  lpc status now indicates if autohold
		is on.

Release LPRng 2-2-4
	:bk: (backwards compatible) flag now causes removal of non-BSD compatible
		control file entries as well as modifying the order.
	:qq: (Queuename in control file) flag is now  overridden by :bk: flag.
		This will now generate Berkeley compatible job files.
	lpr - improved 'connnection failed' message format.
	accounting_server and accounting_check added for accounting.
		printcap.5, README.accounting,  and other documentation updated.

Release LPRng 2-2-3
	Once more the portability/bugfix Gods need yet another sacrifice.
	    BSDI V2.1 setreuid() returns erroneous error codes - setuid.c
		fixed yet again...  I suspect other BSD derivatives to have same
		problem.  Sigh...
	cleanup() now unblocks signals before exiting.
	Print_open() - better status messages on open failure.

Release LPRng 2-2-2
	TESTSUPPORT: removed lpf generation
	Perms_check(): missing ntohl(HostIP), needed for host order of addresses.
	Lock_fd(): - saves errno error codes and returns them correctly
	Prefix_line in malloclist(): - copy now done in correct order
		fixes print queue bug.
	Accounting Filters:
		1. the filter command is not passed as an argument to the accounting
           filter.  This solves some problems with shell script filters,
           as the last filter command would have the form:
             filter -H... -a|filter |filter
		2. Accounting information now logged at start and end of job.
	GROUP Permissions: permissions.c now checks to see if a specified
		group exists first, using getgrnam(), then tries wildcard
		search next.
	Permissions: IP=host/netmask format updated- allow /n to be n bit mask
		i.e. - 130.191.163.12/16 -> 130.191.163.12/255.255.0.0

Release LPRng 2-2-1
	LPF filter: added source code to the LPRng main distribution.
		This provides a passthrough filter for most applications.
	README.printcap: updated to reflect use of lpf filter and
		banner printing
	LPRM/LPD: lpd restarts printing if the active job is removed.
	LPQ: more robust handling of bad printcap entries
	LPD: attempt to solve problems of filters which print to
		serial devices hanging because the device has pending
		output, has been sent a ^Q to stop output,  and has not
		received a ^S to restart.  Uses tcflush() to flush serial devices.
	LPR: added a 'use_shorthost' configuration and printcap variable
		to force the use of short host names for print job control and data
		files.  The code was present in LPR,  but not enabled.
		Update lpd.conf.5 and printcap.5 man pages.
	Debugging Flags: added keyword and flag capability.  For example:
        -Dthis,that@  can be used to set the 'this' flag and clear the
        that flag.  see common/parsedebug.c for details.
	NGPRINTER environment variable added. Used to override PRINTER environment
		variable.  Allows one format for PLP/LPR/Solaris, one for LPRng.
		(marty leisner@sdsp.mc.xerox.com)
	LPC: command of form 'status printer@host' was not formatted correctly.
		(Jarrod Douglas <jarrod@cs.curtin.edu.au>)
	man/printcat.5 - added a functional listing as well as alphabetical.
		(Sherwood Botsford <sherwood@space.ualberta.ca>)
	LPD, LPQ: added termination error messages to status output.
		Details for job failure now available.
	printcap :qq: and lpr -Q option now fully operational.
		 lpr -Q or :qq: printcap field sets Qqueuename in job file;
		 lpd bounce queue will add Qqueuename line to the control file.

Release LPRng 2-2-0
	Updated README files.
		README.1st     - overview
		README.install - much more complete
		README.lpd.conf - explains lpd.conf
		README.lpd.perms - lpd permissions structure listed
	man/lpr.1 - missing -k information added.
	man/lprm.1 - fixed typos
	man/lpd.perms.5 - lpd.conf documented
	DOC/Tutorial - added additional information
	DOC/Install - extended to include more testing and installation
		details.
	strdup() changed to plp_strdup() to avoid problems with C library.
	configure.in - check for sys_siglist[] improved.
	src/commmon/decodestatus.c - fixed problem with Solaris 2.5
		and sys_siglist[]
	Makefile - added default target to install default lpd.conf and
		lpd.perms files;  prototype files added as well.
	man/lpd.conf.5 man page added
	src/common/permission.c: added a SERVER key, to allow restriction
		to users on the server.
	checkpc - truncation now done on log, accounting, and status files.
	LP_SIMULATION - SVR4 simulation with lp.sh and lpstat.pl scripts

Release LPRng 2-1-3
	waitchild.c - race condition with malloc() in the SIGCHLD handler
	  would result in rare, very very rare problems.  Data structures
	  are now pre-allocated.
	LPD/lpd_jobs.c - WIFSTOPPED and WIFSIGNAL checks done improperly.
	  Shows up in OSF1 based systems.  The test is now done correctly.
	AIX portability - added sys/select.h to include list
	LPQ status display modified to be consistent-
      Filter status:  -> Filter_status:
      Now all the comment and information lines have a : at the end
	  of the first field.  This makes parsing by perl/awk, etc. simple
	  Note that the Rank Owner ... line still does not have a colon
	joost@cadlab.de - minor fixes for Apollo DN4500 and portability
	  TESTSUPPORT/Makefile.in, as well as minor fixes in portable.h


Release LPRng 2-1-2
	STATVFS typeo corrected in in configure.in, portable.h, freespace.c 
	  (curt@ltpmail.gsfc.nasa.gov (Curt Tilmes))
	Missing VARARGS declaration for setstatus() in lp.h
	  (Marc Baudoin <Marc.Baudoin@hsc.fr.net>)
	Makefile.in (in general) - fixed realclean mostlyclean targets
	  (Paul Eggert <eggert@twinsun.com>)
	setproctitle() - check made in configure, and if not present
	  the proctitle.c code is used. (Marc Baudoin <Marc.Baudoin@hsc.fr.net>)
	Makefiles - realclean and distclean targets did not remove Makefile
		(Paul Eggert <eggert@twinsun.com>)
    Missing read permissions on various files
		(Paul Eggert <eggert@twinsun.com>)
    configure.in (CFLAGS): Use a more accurate test to decide
      whether we are using GCC version 2.4.5 or earlier.  The old
      test didn't handle GCC snapshots correctly.
      (Paul Eggert <eggert@twinsun.com>)


Release LPRng 2-1-1
	CHECKPC- added test for the printcap 'ps' - printer status file
	  - fixed up test for printer device, now ignores remote and filters
	  - added 'checkpc -s' option to not create/check printer status file
	common/sendjob.c - Bounce Queue Filters are only invoked by the server;
		added a check for Interactive and printcap :bqfilter: flag BOTH
		set before invoking filter.  This prevents clients from invoking
		filters.

Release LPRng 2-1-0
	Added 'rs' (time between spool queue rescans) printcap entry
	Added 'oh' (option for host) printcap entry
	Added check for NULL printcap pointers.  Printcap files entirely
		consisting of comments and empty lines are now handled
		correctly.
	Added ntohl() and htonl() calls to fix IP addresses for permissions
		checking.  This showed up on X86 systems.

Release LPRng 2-0-9
	Patch to make sigsetjmp() work correctly on Solaris.  Sigh...

Release LPRng 2-0-8
	Solaris 2.5 requires sigsetjmp() and siglongjmp() for alarms and
		timeouts to work reliably.  Note that GCC now does not put out
		warnings about 'variables may not be restored after longjmp'
		C'est la vie, c`est le guerre...
	Documented getting permission database with a filters, allowing
		dynamic checking of a database.


Release LPRng 2-0-7
	Fixed up the setuid() code yet again - portablility issues on
		BSDI and FreeBSD - need to do a setuid() operation first.

Release LPRng 2-0-6
	Removed default non-blocking open() operations;
		added printcap 'nb' (Nonblocking_open) variable to allow
		nonblocking open for specific devices
	Updated man pages and DOC files to reflect new open() capabilities

Release LPRng 2-0-5
	getuserinfo() was not using the original RUID value.
	Fixed device locking again,  this time to do a fallback to
		fcntl() based locking if TIOCEXCL is not functioning
	Removed MFLAGS from Makefiles, also put in cleaner test for GNU Make
	The sleep() implementation on linux is defective; replaced
		by a plp_sleep() using select().

Release LPRng 2-0-4
	src/cleantext.c - Check_format() was too strict in checking
		hostnames - now allow '-' as well as . and _ in name.
	configure.in - SGI IRIX configuration needs SVR4 definition forced.
	added more specifics for solaris

Release LPRng 2-0-3
	- mostly portability fixes
	man/Makefile.in - removed $(FILES) targets
		did updates in a 'sane' manner
	Fixed missing declarations of functions for fussy compilers.
	Fixed CHECKPC/checkpc_port.c - SunOS4.1.4 has two versions of
		stty - /bin/stty and /usr/5bin/stty
		forced use of /bin/stty
	configure.in - added gcc version check,  fixed up CFLAGS
	HPUX portability kludges -
		1. O_NDELAY and O_NONBLOCK interact - removed one of them
		2. Need to use fcntl() after open to fix the non-blocking
			read operation.
	device locking now works on Solaris 5.4
	checkpc- added a couple of sanity check functions for internal
		tables - Check_pc_list() and Check_config_list()
		discovered a couple of entries in wrong order (bp was one)
		that prevented use of banner printing.

Release LPRng 2-0-2
	Modified configure to use config.guess; fixed config.guess as well.
		- config.guess did not recognized BSDI systems,  and exited
			with an error.
	Fixed configure.in to force library order if necessary.
	Ripped out several SVR4 dependencies; src/killchild.c
	Filters + Bounce Queues - added filtering capability
     printcap variables - bqfilter (flag)
     If a bounce queue (one that sends files to a remote printer/host)
     has filters speicified, and the :pqfilter: printcap flag is set,
     the data files will be passed through a filter,  if there is a
     filter for that format.  Updated printcap.5, lpd.8 documentation,
     as well as DOC/Intro.

Release LPRng 2-0-1
	configure.in -
		WARNING ** gcc version 2.4.5 and below
		The -O option produces erroneous code several places.
		configure.in has been modified to remove the -O option.
	configure.in - added explicit check for elf.h - now defines
		SVR4 if the file is present (see autoconf documentation
		for test).  Compatibilty check.  Updated CFLAGS with define
        for HPUX and uses the @CFLAGS@ edit in Makefiles.  This
		solves a problem when configure sets CFLAGS and the
		default GNU Make .o.c rule set needs to be used.
	LPRM: If a user has LPC CONTROL permissions, he can now remove
		jobs from a queue.
	Makefile.in, Makefile - Added various GNU compatible targets
		such as clean, dist, reallyclean, etc.
	Fixed the man/Makefile to better update the man pages when
		installing them.
	checkpc -T line : fixed up the STTY reporting to be more robust
		should work with SVR4 better.
	LPR: added locale initialization; printable checks now use
		8 bit characters if the locale has been enabled.
	O_NONBLOCK|O_NBLOCK - these both must be set on a SVR4 system to
		do a non-blocking open.  This might be considered a documentation
		feature in some circles.
	FreeBSD defines: various files have had #ifdefs for FreeBSD added.
	Accounting: modified the default accounting string to add the
		control file name;  allowed the accounting filter to exit
		with error status and write an error message.

Release LPRng 2-0-0
	Baseline Release Version

Release LPRng 1-2-6
	PERMISSIONS: permissions checking was defective- correct values now
	 used.
	LPC: usage message updated
	Error reporting: connection permission errors reported to connecting
	 system now.
	LPR: now reports server error msgs to user on STDERR.

Release LPRng 1-2-5
	PERMISSIONS: lpc operations split, 'C' are control, 'S' are status
	 this allows 'lpc status' command to be used by non-privileged users
	 Updated documentation to reflect this change as well.
    Updated lpq, lpc, lprm -V option to be less verbose
     by default;  -V -V will show copyright information.
	 ("Marty Leisner" <leisner@sdsp.mc.xerox.com>)
    Control file format: allowed first 'N' line to appear before
	 data file information, and stuck in middle of control file.
     This makes it compatible with other LPR implementations.  Sigh.
	If a filter is not available,  this is logged in status and the
	 job is discarded.  This prevents a job with bad format information
	 locking up the printer queue.
	Filter program lookup in printcap entry has been fixed to be a little
	 more effective.
	Fixed checkpc and setproctitle() to work with FreeBSD
	 (Richard Letts  R.J.Letts@salford.ac.uk University of Salford)

Release LPRng 1-2-4
	Harlan Stenn <Harlan.Stenn@pfcs.com>
	termclear.c - there is an interesting problem with termcap.h, curses.h,
	  terminfo.h.  On some systems you do not want to include curses.h,
	  but not terminfo.h and termcap.h.  I recommend putting guards in the
	  terminfo.h include file so you can include it multiple times without
	  redefinition problems.
    curt@ltpmail.gsfc.nasa.gov (Curt Tilmes)
	  - removed O_NDELAY from various open statements
    Makefile.in - removed ${SRC}/src, etc. to allow compilation
      in separate directories.

Release LPRng 1-2-3
    Fixed lprm -a flag;  documentation error as well
    common/jobcontrol.c - erroneous error field update
    miscellaneous errors reported by users.
    SVR4 - added sys/systeminfo.h, sysinfo() call replace gethostinfo()
    printcap - added 'qq' (save queue name in job file)

Release LPRng 1-2-2
    This sounds ridiculous,  but there is yet ANOTHER problem with
    implementing portable file locking.  It turns out that some systems
    allow file locking only if the files are opened R/W, no APPEND.
    This is only a problem in pr_support.c;  the permutations and
    combinations of files, devices, etc., are too much to deal with
    algorithmically.  An new printcap flag 'lk' (lock LP device) is
    introduced to handle this.  By default, no file or device locking
    is done.

Release LPRng 1-2-1
    Martin Forssen: maf@dtek.chalmers.se or maf@math.chalmers.se
     - fixed an erroneous test in checkremote.c - missing data
     initialization in LPD/lpd_jobs.c, LPD/lpd_status.c
	 - common/getqueue.c off by one error - LPD/lpd_remove.c - cfpp
     uninitialized in Get_queue_remove()
	hagberg@mail.med.cornell.edu (Eric Hagberg) A/UX portability
     fixes in portable.h Fixed lpr, lprm MAN pages;  fixed usage
    messages.  Added CONTROL permission checking for LPRM operation;
    i.e. - if you have CONTROL permission you also can remove files.

Release LPRng 1-2-0
    Documentation - DOC/Intro and DOC/Install 
    Filters: CTI-ifhp-1.1.1 lp-pipe-1.0.0  lp-support-1.0.0 psfilter-1.0.2
    Fixed a minor bug in LPD/lpd.c - geteuid() missing

   
Release LPRng 1-1-2

	Documentation (Introduction, and Installation) added
 	psfilter-1.0.1 added to FILTERS
	Added test for signal.h to configure.in.
	reported by Martin Forssen <maf@math.chalmers.se>
	  fixed missing bounds check in common/printcap.c,  put install-sh in
	  directories needed (autoconf does not fix up $(INSTALL) correctly)
      lookup loop for remote hosts in common/checkremote.c
      Link_listened(void) missing in include/lp.h
	
Release LPRng 1-1-1

	Added lp,lpsched, lp-pipes support
	Fixed a bug in the job renumbering code in lpd_rcvjob.c; always started
	with 0, instead of next job in sequence.
	Fixed a bug in lpd_rcvjob.c, additional 0 ACKS being sent.
	Fixed a bug with the filter options;  added $0, $-, $'
	Fixed the default filter parameter list - accounting file at end

Release LPRng 1-1-0

	Cleaned up all sorts of minor problems with duplicate variables
		being declared in two places.
	Hopefully cleaned up the problems with Errormsg() not getting
	 sys_nerr; sigh.
	Fixed accounting. Again. Sigh.
	Added (fixed) support for host%port
	Added install/test documentation.

	Added even more portability tests to checkpc. - device locking,
		stty, file locking.

Release LPRng 1Alpha9

	Accounting has been added.

	Fixed up a very very very rare problem with file locking by
	redoing some tests.

	Added the checkpc -T serial_line option 
	This performs a whole series of portability tests, all of which
	need to pass.

	Include file problems strick again: fixed up the right set.

Release LPRng 1Alpha8

	Sun Aug  6 11:07:51 PDT 1995 Patrick Powell

	Renamed files with pathnames greater than 14 chars to shorter ones;
	Antique file systems strike again.

	Added 'form' and 'hold queue' capability; modified the control and
	job files; Renamed the release name to be consistent with GNU standards.
	Fixed problem with compatibility between SUN and other systems.
	Added LPR -Q flag, LPR -k flag to make it work.

	Sun Jul 30 09:09:49 PDT 1995 Patrick Powell

	Discovered some problems with the job printing code in LPD/lpd_jobs.c,
	re-editted it and put in some stronger checks.

	Modified the spool control file format slightly.
	This did not work as well as I thought it would in the overall design;
	now the spool control file can have any number of different types
	of entries for future expansion, i.e.
	printing_disabled   1
	redirect            printer@host

	Several rather silly coding errors in various places that turned up
	when a code checkout program was run: if/then not being executed,
	etc. etc.

	Fixed up the configure.in file to use the old dnl, socket, etc. libraries.

	man/Makefile and src/Makefile modified to use INCLUDE=.. so that configure
	can be run from another directory.  This is very very strange autoconf 
	dependency,  but who cares, as long as it works.

	Fixed up a whole minor mess of writes and timeout interactions.  Who would
	have guessed at this interaction?  Created a couple of utility functions
	(Write_fd_str(), Write_fd_len()),  and timeout (Set_timeout(), Clear_timeout())
	routines.  These assume that writes will be done with timeouts;  all places
	where writes are done have been surrounded by Set_timeout, Clear_timeout.

Release LPRng 1Alpha7
Mon Jul 24 09:29:15 PDT 1995 Patrick Powell

	Changed the Makefile 'TARGET' name to avoid conflicts with other
	Makefiles... sigh...

	In link_support.c/Link_send(),  the original code was using
	several writes to send a line;  this has been modified to use
	a single write where possible.  Apparently some implementations
	of LPD code expect the command lines to be sent as a single
	TCP write operation, and do not look for the \n terminator.

	Removed the 'lorder/tsort' from Makefile, and hardcoded the
	library file order.  This provides a simple form of portability,
	but will require updates to the Makefile if a new library file
	is added.

	Added better tests for sys_errlist and sys_siglist definitions.

	Moved all of the configuration information to the root level;
	this fixes a bug with the autoconf code that cannot handle
	more than one level of directory structure.  You can now
	compile the LPRng software in another directory by using:
	cd LPRng.<version>; SRC=`pwd`; \
	cp configure $DEST; cd $DEST; configure --srcdir=$SRC; \
	make all

	Modified the top level Makefile to use the GNU Make -C directory
	capability.

	Fixed Send_job() to make it more robust in the face of protocol
	errors.  The numbers of times a job is retried is set by the
	Connection_retry value. 

	Modified the LPC status reporting to make it clearer.
	Removed a redundant error message.

Release LPRng 1Alpha6
Thu Jul 20 19:23:03 PDT 1995 Patrick Powell

	Reorganized the auto configuration code so that it is at the top
	level of the distribution.  Added top level MAKEFILE with directory
	recursion.

	Separated out default printcap and configuration initialization,
	put them in src/default.c

	Fixed up some minor 'lint' level errors.

	Update man pages.  Fix up installation so that VERSION information
	  is put in the MAN page source.
	Editted MAN pages heavily in light of comments from people.

	Clean up some code in printcap.h, printcap.c, lp_config.h, getconfig.c

	Fixed a missing check for null string with STRCMP in src/getqueue.c.
	Considered using safestrcmp() for this reason; checked most places;
	safe or appear to be safe.

	Modified the format for LPQ status information,  added more detail
	about the printer status.

	Added -Pprinter option to LPD to simply start and run a spool queue
	server.  This allows debugging of filters much easier.

	Added bk-of-filter-options and bk-filter-options to provide compatibility
	with old style filters.

	Fixed up a lot of minor portability issues with Solaris2.4, using the
	SUN Soft C compiler.  Fixed fumble in gethostinfo.c - will die if
	it cannot find the local host name; this is very bad and should be
	immediately fatal instead of dying later.

	Fixup the the TESTSUPPORT/Makefile to be a little more intelligent.
	Also, put in guards to make sure that you have GNU Make.  This appears
	to be essential for sanity reasons alone.

Release LPRng 1Alpha5
Mon Jul 17 10:57:49 PDT 1995 Patrick Powell

	********* BSDI *************
	Literally hundreds of questionable items were reviewed, fixed
	or modified.  The 'snprintf' function was renamed to 'plp_snprintf'
	in order to avoid conflict with the BSDI/GCC snprintf functions.
	Fixed up some questionable uses of snprintf, changed to sprintf.
	Discovered an incredibly vulgar behaviour in strncat(),  and
	fixed up its uses.  Strncpy will clobber all information in string;
	double checked its uses where possible.

Fri Jul 14 08:22:03 PDT 1995 Patrick Powell
	Fixed up configuration file reading. Was always using default
	values.

Fri Jul 14 08:23:06 PDT 1995 Patrick Powell
	LPD status reporting did not read the printcap 'st' status file.
	Now reads the file and reports information using short form or
	long form as needed.
