$Id: Changes 316 2008-01-03 20:21:19Z keescook $

1.0.3: (2008-01-03)
    - drop RFC documentation -- the license isn't free

1.0.2: (2006-06-16)
    - fixed time-out code to handle endless failure situation
    - fixed recipient bleed-through across SEND/RESE in SNPP
    - fixed queue filename collision
    - added minimal "use" testing
    - corrected version number reporting on banner

1.0.1: (2005-06-10)
    - fixed version report (backport from 1.1.0)
    - fixed reload failures (backport from 1.1.0)

1.0.0: (2005-02-23)
	- changed how email2page handles the header regex list.  This
	  will allow each rule to match each header line, rather
	  that just the first match.  Recommended by Erastus Z Allen.
	- changed syslog-facility default to "daemon".  To keep
	  prior behavior, set "syslog-facility = local6".
	- created syslog-minlevel with default of "info". To keep
	  prior behavior, set "syslog-minlevel = debug".
	- creating a "stable" version since I'll never reach 1.0.0  :)
	- updated copyright years
	- added older debian rules to CVS
	- created sendpage.spec from many sources
	- handling "strict parity" from Device::SerialPort
	- added "chars-per-block" config to the sendpage.cf examples
	- fixed field-spanning block code bug noticed by David St. John
	- added DBI support from Todd T. Fries
	- found evil SNPP hang bug, funded by David St. John
	- added few more comments, and renamed functions more sensibly
	- fixed up calls to KeesLog to not allow format strings to show up
	  (thanks to Peter Smith for persisting with his queries about this)

0.9.14: (31May2002)
	- oops!  I recreated an earlier bug where splits would destroy
	  the page text for the next person in an alias.  Fixed in
	  SNPPServer.pm
        - corrected 8-bit CRC bug, thanks to Mark Frey
        - added UCP support, thanks to a great patch from Adrian Steiner

0.9.13: (04Nov2001)
	- added parameters and code for completion command execution.
	- fixed lock-file parsing to handle minicom's strange format.
	- allowed pid "0" to exist in lockfiles
	- wasn't including Sys::Hostname.  whoops!
	- changed "ignore-carrier" to "carrier-detect" multi-selection
	- FINALLY found the DESTROY bug with Modem.pm.
	- Requires Device::SerialPort 0.12 now (goes with DESTROY bug)

0.9.12: (17Jul2001)
	- changed Modem.pm to deal with vmin problems under Solaris
	- fixed bug in email2page where bodies weren't being chopped correctly
	- "fixed" Modem.pm to close the device opened by Device::SerialPort
	- corrected the format of the PID printing in the lock file

0.9.11: (15May2001)
	- added "maxlines" to email2page.
	- changed (once again) how I reap dead children.  (sendpage)
	- added the ability to write directly to the queues.  (sendpage)
	- updated documentation slightly, some fixes in SNPP module for
	  direct writing.

0.9.10: (20Apr2001)
	- tempfail-notify-after was going off on the very first temp
	  failure, if it was set at all. (PagingCental.pm)
	- ignore-carrier was not boolean. (sendpage)
	- claim shutdown source correctly on children. (sendpage)
	- removed closed pipes from select set correctly (typos). (sendpage)
	- closed the RIGHT file descriptors. (typos, sendpage)
	- added "debug-snpp" for SNPP debugging. (sendpage)
	- added "debug-select" for select-loop debugging. (sendpage)
	- added Randy Emler's postfix instructions to docs/.
	- increased accept queue to 20 in SNPPServer.pm
	- I've wrapped the signal blocker around everything but the
	  select now.  I'm worried this might do bad things, but I
	  haven't been able to prove it yet.  Hmm.

0.9.9: (06Mar2001)
	- improved call-out debugging in Modem.pm
	- corrected pet3 handling, added the 'proto' option to PCs
	- allow whitespace to preceed comments in sendpage.cf
	- fixed "dialout" typo in Modem.pm
	- changed the email-sending error messages
	- fixed bug with empty "from" getting filled to "nobody" on splits
	- improved sendpage.init to be a little more flexible
	- added "Errors-To" field for outbound email
	- fixed bug in "PC logon handshake timeout" in PagingCentral.pm
	- added page-daemon on CC for any failures, if configured
	- added new "fallbackget" for KeesConf to pull PC-overridden variables
	- added "cc-on-error" to both global and PC sections to control if
	  page-daemon will actually get CC's of failed pages
	- implemented "maxpages" variable to force PC to hang up after
          handling a certain number of pages
	- implemented "maxblocks" variable to force PC to hang up after
	  transmitting a certain number of blocks
	- added email debugging to PagingCentral.pm
	- whoops: fixed total lack of "snpp-addr" working
	- fixed bug in SNPPServer.pm during unexpected loss of socket
	- implemented "/etc/snpp.conf" file for snpp defaults
	- fixed bug with "esc=true" for PagingCentral.pm
	- added "disabled" notice to the "-bq" output
	- added proper signal handler control during forks
	- fixed bug with hanging SNPP clients during a HUP
	- fixed "fail-notify" to be a boolean
	- added "fail-notify", "tempfail-notify-after", and "max-tempfail"
	  to PC section, allowing for global fall back
	- added first pass at IP address Access Control Lists
	- wrote a simple PHP script to demo CGI-style delivery
	- updated README to reflect changes in docs directory

0.9.8: (30Jan2001)
	- further updates to Device::SerialPort and associated documentation
	- further updates to signal handlers
	- fixed bug in queue directory ownership during creation
	- added script to push email through email2page into snpp for sendmail
	- added page queue/delivery logging
	- fixed bug in expanding multiple pins sent to SNPP server
	- fixed error handler for calls into SNPPServer->create
	- added an init-script

0.9.7: (23Jan2001)
	- implemented level 2 SNPP server
	- added SNPP config options
	- added "enabled" flag to PCs
	- added areacode handling on modems and PCs
	- corrected some queue file logic
	- added immediate notification of pages coming from SNPP clients
	- added parent-death awareness
	- corrected USR1 handling in PC queue runners
	- implemented priv dropping for spawned children (no more
	  craziness with setgid/setuid perl settings, etc)
	- created SNPP client
	- created email-parsing tool (with config file)
	- fixed signal handler inheritance bug

0.9.6: (12/31/2000)
	- ported KeesLog.pm's "new" function to use a hash (and fixed calls)
	- ported Modem.pm's "new" function to use a hash (and fixed calls)
	- started work on the SNPP Server functions
	- added documentation on how to port Device::SerialPort
	- added additional debugging to modem settings
	- created "dtrtime" to allow the DTR toggling timeout to be config'd
	- added logic to fully allow a "directly attached" modem to work
	- fixed a few small typos and other nonesense
	- improved handling of dropped-carrier conditions
	- changed device locking behavior to act like minicom and pppd

0.9.5: (09/27/2000)
	- hopefully fixed queue lock-up bug.  if not, it'll warn
	  now instead of looping forever.
	- added portability support for Solaris, and hopefully for
	  AIX and HPUX.  (and SCO, too.)
	- misc typos and corrections
	- fixed bug where modem settings weren't being passed to
	  the modem when dialing a PC (PC defaults were being used)
	- started to correct problems with Device::SerialPort under
	  other OS's.
	- move kicker section of "chat" in Modem.pm to the front,
	  so kickers won't be sent during the last timeout cycle.
	- created an "answerretries" variable for the Paging Central
	  to match "answerwait" for some slow Paging Centrals.

0.9.4c: (07/28/2000, argh: deadly typo.  I should be more careful)
	- fixed a stupid typo in Modem.pm

0.9.4b: (07/28/2000, another point-release due to serious bug fixes)
	- made sendpage fail with exit codes on bad pager aliases
	- smooshed setgid taint removed in Modem.pm
	- smooshed modem disconnect chat failure buf in Modem.pm
	- queue manager announces it's version (for people sending debugging)

0.9.4a: (07/13/2000, point-release due to serious numeric-only paging bug)
	- created the "lfok" option and corrected the ctrl-char detection
          code.  This bug made paging numeric pagers impossible because of
	  the trailing LF.
	- fixed some typos in the documentation

0.9.4: (06/30/2000)
	- email notification completed
	- error reporting cleaned up further
	- temporary failures will eventually time out
	- added a bunch of documentation
	- converted all the package names to be correct
	- fixed a bug with alias expansion across multiple PCs
	- changed how we listen for children (now a wait loop, not SIGCHLD)
	- fixed up modem ioctl checking
	- allowed any PIN@PC as recipient if the PC exists
	- fixed the stupid damn error I've ever seen with Perl.  The
	  ExtUtils::MakeMaker doesn't let you have imbedded PODs inside
          .pm files that have "config" or "setup" in their name.  STUPID!
          I had to change KeesConfig to KeesConf.  I guess it has a nicer
          ring to it, but that's just plain dumb.

0.9.3: (06/21/2000)
	- created the logging subsystem and migrated to it
	- working more issues out of the TAP implementation
	- more and more error checking
	- started the framework for email support
	- created Makefile.PL and started adding pod documentation

0.9.2: (06/17/2000)
	- queue manager fully implemented and tested.  should be stable.
	- debugging cleaned up: one line at a time, prep'ing for syslog.
	- continued misc bug fixes.

0.9.1: (06/14/2000)
	- queue manager written and mostly functioning.
	- Device::Serial buffer-flushing bug worked around.
	- various improvements and bug fixes to TAP implementation.
	- various improvements to config engine.
	- tested with 2 more PCs.  Seems totally fine.

0.9.0: (04/27/2000)
	- initial public release of new perl version (0.9.x+ tree). 
	- TAP protocol implemented and tested.
	- configuration engine implemented and tested.
	- I registered a Sourceforge account.
	- Code is FAR from finished, but it at least controls the modem
	  correctly (one hard part), has a configuration engine (another
	  hard part), and speaks TAP within most specs that I can find.
	  And I've tested it with a whole *2* paging centrals.  :)

