$Id: Changes 319 2009-04-16 19:19:06Z keescook $

1.1.1: (2009-04-16)
    - changed Sys::Hostname to Sys::Hostname::Long since we need
      the FQDN to be a valid email address.  (Thanks Joh Clarke!)
    - fixed time-out code to handle endless failure situation (from 1.0.2)
    - fixed recipient bleed-through across SEND/RESE in SNPP (from 1.0.2)
    - fixed queue filename collision (from 1.0.2)
    - added minimal "use" testing (from 1.0.2)
    - corrected version number reporting on banner (from 1.0.2)
    - added SMS delivery capabilities (proto=SMS)
    - changed default "group-tty" to "dailout"
    - Google Summer of Code cleanups by Zak B. Elep
    - Don't include RFC1861 -- the license is non-free

1.1.0: (2005-06-10)
    - rearranged modem init so that failed modems will be skipped
      (thanks to Peter Smith for pointing that out).
    - adding timing arguments to command completion. (recommended
      by Russell Adams)
    - added the options "pc:cc-simple" and "pc:proto=Test" for
      functionality similar to Bill Ayres's "null PC" patch.
    - updated postfix instructions from Russell L. Adams.
    - added "max-age" PC option to age-out undelivered pages (funded
      by David St. John).
    - corrected version report
    - correct reload failure

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.  :)

