November 6th, 2013: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.4 for release.

March 18th, 2012: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with unknown_trap_exec_format which resulted in duplicate text
  when a custom format is used.  (Bug #37)

Oct 22nd, 2012: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with fix that was applied for bug 3567748 (syslog % escaping). 
- Changed version to snmptt1.4beta2

Oct 21th, 2012: Alex Burger <alex_b@users.sourceforge.net>
- Release of snmptt1.4beta1

Oct 21th, 2012: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with snmptt hanging if the log message sent to syslog contained a 
  % symbol.  All %'s are now escaped before sending to syslog (3567748). 
  Thanks to Edward Greenspan.
- Fixed bug with LOGONLY severity (3567744).  EXEC was being executed even if
  the trap had a severity of LOGONLY.  
- Fixed bug with not being able to write to the debug log file when running
  snmptt as non-root if the debug file didn't already exist with the correct
  permissions at startup.  The ownership of snmptt.debug is now set to
  daemon_uid before switching to the new uid.  Patch 3423525.  Thanks to
  Matvey Marinin.

Oct 30th, 2011: Alex Burger <alex_b@users.sourceforge.net>
- Installation documentation updates (bug 3425999). Thanks to Brian Excarnate.
- Fixed bug with MATCH where number ranges were not working (3397982). Thanks to Maex.
- Fixed bug with syslog logging.  Function was not being called properly (3166749).

Oct 9th, 2010: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug where if the spool directory is not defined, files may be deleted
  from the wrong folder (3020696).

May 5th, 2010: Alex Burger <alex_b@users.sourceforge.net>
- Fixed possible bug with MySQL.  Put CONNECT string on one line.
- Fixed bug where the hostname is not detected properly when snmptrapd
  is configured to not use DNS.
- Fixed bug with syslog (2980512).  Log entries were supposed to be logged with
  snmptt[pid] but instad of the pid it was actually the effective user ID.
  Thanks to Matteo P for the fix.
- Fixed bug with multi-line traps (2915658).  Thanks to AndrewB for the fix.
- Added snmptt.ini option net_snmp_perl_cache_enable to enable caching of
  Net-SNMP Perl module OID and ENUM translations.  This may speed up
  translations and reduce CPU load when net_snmp_perl_enable and translate_* 
  options are enabled.

April 23rd, 2010: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with MATCH.  The PREEXEC $p variable could not be used with
  MATCH.  PREEXEC is now executed first if MATCH contains $p.

April 15th, 2010: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with snmptthandler-embedded where IP addresses and OIDs were
  not being detected properly because they contained 'OID:', 'IpAddress:'
  etc.

February 16th, 2010: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.4beta1
- Added patch 2943209 from Ricardo Duarte for snmpttconvertmib to add new
  format option 4 for trap name and variables similar to FORMAT $+*.

November 15th, 2009: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.3 for release.

June 25th, 2009: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.3beta2 for release.

July 21th, 2009: Alex Burger <alex_b@users.sourceforge.net>July 18th, 2009: 
- Fixed bug with snmptthandler-embedded.  It was using the wrong IP address
  for hostname / ipaddress.

July 18th, 2009: Alex Burger <alex_b@users.sourceforge.net>July 18th, 2009: 
- Updated documentation for 1.3beta1 release

July 18th, 2009: Alex Burger <alex_b@users.sourceforge.net>July 18th, 2009: 
- Updated snmptthandler-embedded to support securityName and contextName.
- Added variable substitutions Be, Bu, BE, Bn for SNMPv3 when using
  snmptthandler-embedded.

May 17th, 2009: Alex Burger <alex_b@users.sourceforge.net>
- Added snmptthandler-embedded - a Net-SNMP embedded Perl version of
  snmptthandler.
- Added LSB init keywords and actions to snmptt-init.d and changed the
  priority for start / stop so that it starts after snmptrapd and stops
  before snmptrapd.  Thanks to Ville Skytta for the patch.
- Changed the default log path to /var/log/snmptt for Unix and c:\snmpt\log
  for Windows to make it easier to grant write permission to the snmptt
  process.  Thanks to Ville Skytta for the patch.
- Changed umask for log files to 002 to ensure they are not created as world
  writable.  Thanks to Ville Skytta for the suggestion.
- Fixed a bug where the the PID file was being created using the parent (root)
  PID instead of the child (daemon_uid) when daemon_uid is used.
- The DEBUG log file will now be re-opened when a HUP signal is sent.  Thanks 
  to Ville Skytta for the suggestion.
- When debugging is enabled, flush buffers every sleep cycle so we can tail
  the debug log file.
- Don't print messages to the console when starting in daemon mode unless
  debugging is enabled or an error occurs.  Thanks to Ville Skytta for the 
  suggestion.
- 'Could not open debug output file!' is no longer reported when debugging
  is disabled.  Thanks to Ville Skytta for the suggestion.
- Added snmptt.logrotate file from Ville Skytta.

January 15th, 2009: Alex Burger <alex_b@users.sourceforge.net>
- Re-applied patch for bug 1748512.  Somehow it was added wrong and it
  prevented trap lines that contained single line items inside of quotes
  from working.

August 4th, 2008: Alex Burger <alex_b@users.sourceforge.net>
- Added duplicate_trap_window variable for duplicate trap detection.

March 2nd, 2008: Alex Burger <alex_b@users.sourceforge.net>
- Fixed a bug where with handling escaped quotes in a trap message.
  Bug 1748512.  Thanks to Erwin Abrahamse for the fix.

October 12th, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Updated snmptt-net-snmp-test to test MIB descriptions.

June 16th, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.3beta1
- Fixed a bug where snmpttconvertmib would not recognize a MIB file if the
  DEFINITIONS ::= BEGIN line was split across two lines.  Thanks to Alex 
  Peeters for reporting the bug.  Bug 1678270.
- Improved a previous bug fix for when a TRAP-TYPE / NOTIFICATION-TYPE line 
  was split across two lines.  Fix did not allow the trap name to contain
  a symbol such as a -.

June 16th, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.2 for release.

June 9th, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Change REGEX to use Text::Balanced instead of split to fix bug with
  REGEX statements that contain captures.

Apr 6th, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Release snmptt_1.2beta3

Apr 6th, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Add workaround to Net-SNMP 5.4 bug 1638225 where the host name passed
  in the traphandle is <UNKNOWN>.

Mar 4th, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug where snmptt tried to log to syslog when 
  changing UIDs even if syslog_system_enable was set to 0.
  Thanks to Alex Peeters for reporting the bug.
- The snmptt.pid file is now deleted when SNMPTT exits gracefully.
- When running in daemon mode with a daemon_uid user defined, a
  second (child) process will be started as the daemon_uid user so
  there will be two snmptt processes running.
  The first process will continue to run as the user that ran
  snmptt (usually root), waiting for the child to quit.  After the
  child quits, the parent process will remove the snmptt.pid file 
  and exit.  The snmptt.pid file will contain the pid of the parent
  process.  Sending a TERM signal to either process will cause
  SNMPTT to terminate gracefully.
  If you are not starting snmptt using root, then you should not
  be defining daemon_uid.
- Now aborts startup if an existing snmptt.pid file is found.
- Verifies that it is able to write to the pid_file folder before
  starting up.  If it can not, it aborts.  Only does this if
  pid_file has been defined.  Otherwise it attempts to create the
  pid file and if it fails, it just continues as in previous versions.

Mar 3rd, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Added a text system log in addition to the existing syslog and Event 
  Log logs.  Added log_system and log_system_file snmptt.ini options.  
  Thanks to Alex Peeters for reporting the bug.
- Added snmptt.ini option pid_file to allow for custom pid file locations
  when running in daemon mode.  Thanks to Alex Peeters for the suggestion.
- Fixed bug where pid file did not contain the current pid of snmptt.
  Thanks to Alex Peeters for reporting the bug.  

Feb 10th, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Added information to Nagios section of documentation for
  using freshness checks to automatically clear trap alerts.
- Added information to Nagios section of documentation for
  using SNMP traps as heartbeats by using freshness checks.
  Thanks to Martin Fuerstenau.  See bug 1629565.
  
Jan 27th, 2007: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug in threads support.  EXEC'd commands were all passed
  the same $command variable.  Threads are now detached after
  being created.
- Changed version to snmptt_1.2beta3

Dec 21st, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug in snmpttconvertmib where a --#SEVERITYMAP line
  would be used instead of --#SEVERITY.

Dec 18th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Added unknown_trap_exec_format option

Dec 7th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Added exec_escape option
- Changed version to snmptt_1.2beta2

Nov 18th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.2beta1

Sept 23rd, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Added a simple check to see if the trap file being processed is a
  valid file.  If it is not, the file is skipped and not deleted.

Sept 15th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Added snmptt.ini options date_format, time_format, date_time_format,
  date_time_format_sql and stat_time_format_sql to allow the output format 
  for $x and $X substitution variables, and the format of the date/time for
  text logs and SQL to be changed using strftime() variables.  This allows 
  for proper date/time data types to be used in SQL databases.

June 18th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Prevent logging to syslog and event log when running SNMPTT with
  the --time option.  Thanks to Stefan Mohr.
- Fixed a bug under Windows where SNMPTT was trying to log to syslog instead of
  the event log.  Thanks to Roger Lindholm.
- Add threads (ithreads) support for EXEC.  When enabled, EXEC commands will 
  launch in a thread to allow SNMPTT to continue processing other traps.  
  Added snmptt.ini options threads_enable and threads_max.

May 13th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Moved unknown_trap_exec to Exec section in snmptt.ini.  Patch
  1476071.  Thanks to George Kourvoulis.

Mar 23rd, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Added MATCH support for bitwise AND

Mar 13th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Fix a bug where snmpttconvertmib does not handle ARGUMENTS lines
  that have $1, $2 etc instead of %0, %1.  Thanks to Todd A. Green.
  Bug 1438394.

Mar 12th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Move all SQL update code to subroutines (mysql_update etc).
- Added logging of trap statistics to SQL table.  Added *table_statistics
  snmptt.ini variable to define the table to be used.
- Added ability to add custom columns to *_table and *_table_unknown
  tables.  Added sql_custom_columns and sql_custom_columns_unknown
  snmptt.ini options.
- Added variable substitution $H.  This variable will default to the 
  host name of the computer that is running SNMPTT, unless the 
  snmptt_system_name snmptt.ini option is defined.
- Sys::Hostname is now required.

Mar 4th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Fix a bug where snmpttconvertmib would not translate a TRAP-TYPE / 
  NOTIFICATION-TYPE line if it was split across two lines.  Thanks
  to Todd A. Green.  Bug 1438794.

Jan 20th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.2beta
- Fix bug in process trap for $match_temp 'remove any white space from before 
  and after i modifier'
- Added 'use strict' to snmptt
- Added 'use strict' to snmpttconvertmib
- Added 'use strict' to snmpttconvert
- Added 'use strict' to snmptthandler and improved debugging

Jan 17th, 2006: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.1

Dec 31st, 2005: Alex Burger <alex_b@users.sourceforge.net>
- Clean up white space formatting of code.

Dec 10th, 2005: Alex Burger <alex_b@users.sourceforge.net>
- Update version stamp in all files
- Changed 'sub match' to only do variable substitution if needed.

Nov 22nd, 2005: Alex Burger <alex_b@users.sourceforge.net>
- MATCH statement now accepts any variable name instead of only
  enterprise variables.  Example: MATCH $s:(Normal)

Nov 5th, 2005: Alex Burger <alex_b@users.sourceforge.net>
- Added NODES MODE= snmptt.conf file option to allow you to 
  select either POS (positive - the default) or NEG (negative)
  for NODES matches.  If set to NEG, then the NODES is a 'match'
  only if NONE of the NODES entries match.  POS = x | x | x etc.
  NEG = !x & !x & !x etc.
- Fixed bug in NODES where NODES entries from previous EVENTs
  were not being purged correctly.
- Changed version to snmptt_1.1beta2

Nov 5th, 2005: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.1beta1
- Changed MySQL INSERT statements to PREPARE / EXECUTE as it is
  safer than trying to escape all the fields manually.  This way
  all escaping is done via the MySQL Perl module.

Nov 2nd, 2005: Alex Burger <alex_b@users.sourceforge.net>
- Added PREEXEC snmptt.conf file option to allow an external 
  program to be run before processing the FORMAT and EXEC lines.
  The output of the external program is stored in the $pn variable
  where n is a number starting from 1.  Multiple PREEXEC lines
  are permitted.  The first PREEXEC stores the result of the
  command in $p1, the second in $p2 etc.  Any ending newlines
  are removed.  The snmptt.ini parameter pre_exec_enable can be used
  to enable / disable it.
- If the debug log file can not be opened, a message is now logged
  to syslog if syslog_system_enable is enabled, and to the 
  Event Log if eventlog_system_enable is enabled.
- Fixed a problem when --format_desc=n was used. It was adding a 
  trailing whitespace for every non existent line in the description.
  Thanks to Carlos Velasco for the fix.
- Added unknown_trap_exec snmptt.ini option.  If defined, the 
  command will be executed for ALL unknown traps.  Passed to the
  command will be all standard and enterprise variables, similar 
  to unknown_trap_log_file but without the newlines.  Thanks to
  Carlos Velasco for the patch.
- Modify output of hash dump to print Event: instead of hash:
- Add dump of duplicate events for --dump option
- Fixed bug with --dump trying to open up syslog, eventlog etc

Oct 9th, 2005: Alex Burger <alex_b@users.sourceforge.net>
- Changed PostgreSQL INSERT statements to PREPARE / EXECUTE to 
  prevent issue with trap data being interpreted as placeholders
  in the SQL statement which was causing logging errors.

April 16th, 2005: Alex Burger <alex_b@users.sourceforge.net>
- snmpttconvertmib was not printing 'Processing MIB xxx' if 
  DEFINITIONS::= line didn't contain spaces (similar to 11/19/04).

April 15th, 2005: Alex Burger <alex_b@users.sourceforge.net>
- Added Windows Event Log forwarding documentation to integration section

April 11th, 2005: Alex Burger <alex_b@users.sourceforge.net>
- Fix bug in snmpttconvertmib:  --ARGUMENTS {} line was expected to have
  one space between ARGUMENTS and {}.  It can now be any amount of white
  space, or no space at all.

November 19th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Allow for .* wildcard.  Only .x.* worked before.

November 19th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.0.1
- Change snmpttconvertmib to allow for DEFINITIONS::= (no spaces)

Aug 30th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_1.0

Aug 18th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Change PostreSQL and ODBC ping functions to not use errno like in MySQL.
  Thanks to mike at mccartney.net.

Aug 16th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Change version to 0.9.5
- Add daemon sample traps
- Fixed missing _unknown in unknown logging for PostgreSQL, ODBC
  and Win32::ODBC.  Thanks to mike at mccartney.net 

Aug 15th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Moved xx_ping_on_insert check before if (defined ($dbh..))

Aug 10th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Added database ping support to PostgreSQL and DBD::ODBC.  Added debug
  logging improvements for database connect and INSERT sections.  Thanks
  to mike at mccartney.net.

Debug output now prints out $n variable number beside 'Ent Value x' such as 
  'Ent Value 2 ($3):' to reduce confusion when troubleshooting.

Aug 9th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Debug output now prints out $n variable number beside 'Ent Value x' such as 
  'Ent Value 2 ($3):' to reduce confusion when troubleshooting.

July 14th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- snmpttconvertmib:  Fix bug with infinite loop when processing VARIABLES
  section if MIB file had spaces after }.  Thanks to mike at mccartney.net

July 5th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Add SEC documentation
- Update help for snmpttconvertmib

June 25th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Changed mysql_ping_insert to mysql_ping_on_insert.
- Added $Fz variable which outputs the processed FORMAT line for use in 
  EXEC lines so if the FORMAT and EXEC lines contain the same thing (minus
  the program to execute of course) the EXEC line can be simplified.
- Removed mib_descriptions_enable and replaced with description_mode and
  description_clean.  Can now use the description from either the 
  SNMPTT.CONF or the MIB files.
- Snmpttconvertmib:  Bug:  Was not parsing OBJECTS lines, only 
  VARIABLES lines.

June 24th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Removed references from sub substitute2.

June 23th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Added config option mysql_ping_insert to enable / disable pinging the
  database before an INSERT.
- Changed ping_mysql subroutine to mysql_ping

June 18th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- MySQL:  Now does a ping before trying to do the INSERT even if
  mysql_ping_interval is disabled.
- Set default for mysql_ping_interval in snmptt to 500 match the .ini default.

June 17th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Removed escape_sequences_enable option and replaced it with variable
  substitutions $Fa, $Ff, $Fn, $Fr and $Ft.

June 11th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Added mysql_ping_interval option to set how often the MySQL server
  should be 'pinged'.  If the 'ping' fails, it will attempt to re-connect
  to the database.
- Added escape_sequences_enable option to enable the use of 
  common escape sequences in FORMAT and EXEC lines.
- Added variable substitution $D to dump the description text from 
  the MIB file.  Enabled using the mib_descriptions_enable snmptt.ini
  variable.  Thanks to Toshiyuki Haginaga.

June 7th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Moved database connection code to create_db_connections function.
  Function is now called AFTER changing users when running in 
  daemon mode to prevent 'MySQL gone away' errors on some systems.
  Thanks to Toshiyuki Haginaga.

May 24th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Added 'Total traps ignored' to stats.

May 14th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Added error number output for MySQL.

May 13th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Add support for /usr/local/etc/snmp and /usr/local/etc.
- Added help text for user when a Perl module is not found when loading
  via 'require'.
- Bug fix: debug log started time printed as serial instead of
  regular date/time.

April 4th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Add db_unknown_trap_format variable, update docs, faq
- Statistics dumped at shutdown: 
  Total traps received
  Total traps translated
  Total unknown traps
- Statistics can be dumped every x seconds via statistics_interval 
  variable or by creating a !statistics file in the spool directory.

April 3rd, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Add support for logging unknown traps to SQL table.
  Added xxx_table_unknown variable for each SQL type.

January 25th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Clean up yesterday's symbolic fix.  It now translates all
  variable NAMES (if needed), the trap OID and the enterprise
  VALUE.

January 24th, 2004: Alex Burger <alex_b@users.sourceforge.net>
- Traps received using symbolic format (snmptrapd without -On) 
  were not being handled correctly.  Code in readtrap was looking
  at wrong variable name.  Moved to function 
  translate_symbolic_to_oid.  Called for trap OID variable value,
  agent_address,  community and agent addrss variable names

December 5th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.9.1
- snmptt.conf file can now contain EXEC lines without FORMAT lines.

November 3rd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.9
- snmptt-net-snmp-test now defaults to best_guess=2

October 27th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Syslog messages now use snmptt[pid] instead of TRAPD (traps) and
  snmptt-sys[pid] instead of SNMPTT (system messages)

October 10th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added daemon_uid support to change user snmptt runs as after
  starting up

October 9th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with MATCH statement integer range.  1-5 would match
  only 2-4 instead of 1-5.

October 1st, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with translate_value_oids_sub.  Was not detecting
  IP addresses correctly (backtracing problem).  Function
  resolve_value_ip_addresses_sub also changed.

September 16th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.8.1

September 16th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.8

September 15th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Bug fix - sometimes Net-SNMP would pass a quoted line on multiple
  lines.  They are now combined into one in snmptt.  Thanks to
  António Cardoso.

September 12th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Fix MATCH.  sub match_result was not returning a 0 (didn't really
  matter).  If a match regex contained a space, it was removed...  Fixed
- Add i modifier support for MATCH

September 8th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added snmptt.pid support

September 7th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvertmib:  Problem from below must be a Net-SNMP bug.
  MIBS environment variable now set to the filename of the MIB
  instead of the MIB module name.
- Snmpttconvertmib:  Checks for TRAP / NOTIF lines that have a --
  in it.  Ignores them - comments..

September 5th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvertmib now exits with exit 1 instead of die when
  not enough parameters specified
- Snmpttconvertmib: Some mib files contain multiple BEGIN/END 
  statements and they were not being handled correctly.  Script
  now looks for them throughout the file and sets the mib_name
  variable correctly so lookups are correct with snmptranslate.
  May be a bug in Net-SNMP:  If you set the MIBS environment
  variable to anything except ALL or the first BEGIN value
  in a file that contains multiple BEGIN/ENDs, then snmptranslate
  does not work.  For now, MIBS environment is set to the first
  occurance only.  If it turns out to be a bug in Net-SNMP, it
  will be changed here to account for it.  Also added a --mibs=s
  parameter to override the environment variable.
- Snmpttconvertmib:  exec defaults to blank instead of qpage...
- Clean up some warnings when running with perl -w

September 4rd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Finished fix for translate_value_oids_sub.  Both while loops now
  have a break out to prevent an infinit loop, although it should
  not occur..
- When using e modifier with REGEX, force a new package to prevent
  user from accessing internal snmptt variables, and prevent access
  to the main:: package variables.
- Added resolve_value_ip_addresses option, updated .ini files

September 3rd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added support for i, g and e modifiers for REGEX
- Fix translate_value_oids_sub.  If string contained multiple OIDs,
  they may not be converted correctly.  Example, if you had
  .1.2.3.4 and .1.2.3.4.5 it would translate to whatever and
  whatever.5.  Improved with lookaheads and lookbehinds

August 14th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added support for DBD:Pg for PostgreSQL
- Added postgresql_dbi_module and postgresql_dbi_hostport_enable 
  options

July 8th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Improve NODES handling of files to only load the NODES file
  once when dynamic is off - uses a hash to store the entries
  for each 'filename'

July 7th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Allow multiple EXEC lines in config
- Added dynamic_nodes config option
- Allow multiple NODES lines in config

July 2nd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added remote database support (host & port) for MySQL

June 28th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added remote database support (host & port) for PostreSQL

June 24th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvertmib: Took out most of the net_snmp_perl code
  and moved only the variables code into the main 
  snmptranslate code as that's really the only difference,
  and snmptranslate now works fast as the exact MIB name
  is used on the command line.  Perl module only used to 
  convert variable syntax, desc and enums.
- Improved formatting of variables output
- Allow comments on VARIABLES lines in MIB files

June 21th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvertmib: Changed --net_snmp_perl method to use
  the moduleID from the hash of OIDs instead of trying to 
  load a specific MIB using setMib etc as some MIB files were
  not converting.

June 20th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvertmib: Changed snmptranslate method to use
  modulename::trapname instead of enterprise.trapname as some
  MIB files were not converting.

June 19th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Fixed $# - was giving one less than the actual number of enterprise
  variables
- Fixed MATCH statement to start at $1 instead of $0
- Changed $n to $i to prevent confusion

June 18th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Change help for snmpttconvertmib --exec= line

June 11th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Changed ODBC & WinODBC code to not escape quotes.  Instead, double up
  single quotes, and do not touch double quotes.

May 27th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added trapoid database column to contain the actual trap OID received from
  Net-SNMP.  eventid will contain what was matched in the .conf file.

May 9th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug when using wildcards.  The received trap was reset to the 
  matching EVENT entry which contained the .*.  This caused things like
  $S not to work.  Changed so that actual received trap is not overwritten
  with what it matched to in the EVENT table.

May 7th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- SNMPTT will strip DOS carriage return from snmptt.conf files if detected.

April 29th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvertmib:  Printing of INTEGER enums was wrong.  Fixed.

April 29th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Enterprise variables in snmpttunknown.log now start with Ent Value: instead
  of just Value:

April 25th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvertmib:  Now prints the variables contained in each
  trap unless --no_variables is set.  When using --net_snmp_perl
  it will also resolve the Syntax (INTEGER, OCTETSTR etc) and 
  description.  If it's an INTEGER, will also print out the enums.  

April 23rd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added my_getType and my_mapEnum functions.  Both attempt to use the
  numeric OID first.  If that fails, then it converts the OID to a short
  symbolic and uses that.  UCD-SNMP works with numeric, Net-SNMP 5.0.8 
  does not.  Newer versions of Net-SNMP will work with numeric.  Numeric
  is preferred as there is no chance of matching the wrong object.

April 22st, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Add getType test to snmptt-net-snmp-test
- If DNS is enabled, NODES entries are resolved to IP addresses before
  comparing.  Will allow for aliases / CNAMES to match etc.
- NODES match uses agent IP instead of host IP

April 20th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- If agent IP address missing, copies IP from host IP address
- If host name not resolved, resolves via DNS if enabled
- If agent IP same as host IP, copies host DNS instead of resolving.
- Added dns_enable option and changed (nearly) all $var[0] 
  to $agent_dns_name

April 19th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added additional translation options

April 18th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Cleaned up NODES / MATCH code
- Changed version to snmptt_0.7.1

April 17th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added MATCH support for snmptt.conf
- Changed version to snmptt_0.7
- Added Net-SNMP Perl module version output to debug
- Added snmptt-net-snmp-test program

April 15th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added ability to reload configuration files by adding a
  file called '!reload' to the spool directory
- Added support for symbolic OIDs from snmptrapd

April 12th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added support for translate_trap_oid
- Added support for symbolic OIDs on EVENT line

April 2nd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Replace all back ticks with forward ticks on received trap
- Prepend a backslash to ' and " characters when logging to SQL 
  databases (community and format line)
- Added REGEX support for snmptt.conf
- Added translate_oids option
- Snmpttconvertmib: Replace any spaces with -'s in severity

April 1st, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvertmib: Add --severity and --no_severity switches
- Snmpttconvertmib: Combines multiple --#SUMMARY lines into one
- Snmpttconvertmib: Uses --#SEVERITY line
- Checks for both INTEGER and Integer32 types when checking MIB entries
  in SNMPTT.  Improve debugging output for this section also.

March 31th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvertmib:  --exec command line option

March 28th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Snmpttconvert, snmpttconvertmib:  Will strip DOS carriage return from
  input files if detected.
- Snmpttconvertmib:  Add new options to include both summary and
  description lines in the FORMAT and EXEC lines.  Allows either or
  both.  Also allows x number of sentences from the description to be
  used on the FORMAT and EXEC lines.

March 27th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- NODES can now contain CIDR address and network ranges.  The NODES line
  can now contain a mix of host names, IP addresses / network ranges 
  and filenames.
- Added option to disable the default of $* in snmpttconvertmib
  when there is no --#SUMMARY line, and the description does not
  contain any variables

March 26th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Translation of integers not working under Net-SNMP 5.0.8.  Fixed.  Reasons:

  Problem #1: UCD-SNMP 4.2.3 allows getType and mapEnum to be passed
  a numerical OID.  Net-SNMP 5.0.8 does not.
  Because of this, we should make sure we use a textual OID instead when 
  calling getType or mapEnum.  It's probably the correct way to do it anyways.	

  Problem #2: UCD-SNMP 4.2.3 translateObject returns the textualOID followed
  by .#, even if it is called with ,0 to use short names.  Net-SNMP 5.0.8
  returns a short name some what correctly, but trails the textual name 
  with a .

- PostgreSQL support via DBD::PgPP
- Changed version to snmptt_0.6.1

March 25th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.6
- Fixed bug in snmptt - domain name strip not working correctly
- Re-fixed bug in snmpttconvertmib that would cause the last trap
  (notification) converted from a v2 MIB file to contain an
  incorrect DESCRIPTION and possibly FORMAT line when the last
  thing in the MIB file is not the last trap definition
  (broken when merging code below).  Applied only to Perl module
  version.

March 24th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Can now specify a NODES entry with snmpttconvertmib

March 23rd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Re-fixed bug in snmpttconvertmib that would cause the last trap
  (notification) converted from a v2 MIB file to contain an
  incorrect DESCRIPTION and possibly FORMAT line when the last
  thing in the MIB file is not the last trap definition
  (broken when merging code below)

March 22nd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Cleanup snmpttconvertmib code - combine V1 and V2 trap conversion
  into one section
- snmpttconvertmib now uses GetOpt::Long for arguments, using --in and
  --out switches for in / out file, --version, --help, --debug.
- Added support to snmpttconvertmib for the NET-SNMP Perl module.  Can
  enable using --net_snmp_perl switch, or run as usual using snmptranslate.
  Must also specify the mib file directory with --mibdir

March 21th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Removed unused emerg ini setting, init $debugcmdline and 
  $debugfilecmdline, remove unused $vartype variable, change a \1 to $1
- Cleanup: Replaced many @xxx[] that should be $xxx[]

March 18th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with MySQL database not closing correctly at shutdown due to 
  previous MySQL changes

March 13th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with handling trap data that contains spaces but is not inside of quotes
  for traps received from snmptrapd 4.2.3
- Fixed bug with translation of integers.  If the value could not be translated,
  it should use the non-translated value
- If a variable is passed from snmptrapd that is blank, snmptt will replace it with
  (null)
- snmpttconvertmib now checks the version of snmptranslate before converting
  the mib.  To ensure OIDs are outputted as numerical, the -On switch is added 
  to the snmptranslate command when snmptranslate is v5.0.2 or newer.
  Net-SNMP 5.0.2 and newer (more specifically, snmplib/mib.c version 5.7 or newer 
  in CVS) uses the -On switch to SET numeric OID output.  Anything before 5.0.2 
  is used to TOGGLE the setting.  For older than v5.0.2, the snmp.conf file should
  contain the line:  printNumericOids 1

March 9th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Cleaned up wildcard expansion code.  Added wildcard_expansion_separator
  variable
- Remove trailing space after expanding wildcards

March 7th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Improved syslog and event log support by allowing different syslog and
  NT Event Log levels based on the severity level defined in the snmptt.conf
  file
- Added variable expansion for variable names using $vn, $+n, $-n, $+* and $-*
- Fixed bug that would prevent variables numbered 10 or higher from being
  translated correctly

February 28th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added more entries to snmptt-eventlog.mc (total of 30) and recompiled DLL

February 27th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Fixed error messages for SQL and NT event ID numbers.  Udpated docs

February 25th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Updated keep_unlogged_traps option to have SNMPTT erase the spooled trap
  file only after it successfully logs to at least one or all log systems. 
  This will help prevent traps from being lost due to logging problems.

February 24th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added keep_unlogged_traps variable to prevent SNMPTT from deleting the
  spooled trap file if NONE of defined logging systems successfully logged 
  the trap
- Added support for logging of traps using DBD::ODBC
- Cleaned up MySQL code
- Fixed bug with Win32::ODBC connection not being closed on exit of 
  SNMPTT.

February 22nd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added support for logging traps to the NT Event Log
- Added syslog and NT Event Log support for SNMPTT 'system' events 
  such as startup, shutdown, errors handling trap spool directory 
  and files.  See readme for info on NT Event Log.
- Added separate debug file for snmptthandler
- Cleaned up defaults code for snmptthandler

February 21st, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added ability to translate integer values to enumeration tags defined
  in MIB files.  Configure using snmptt.ini variables translate_integers
  and mibs_environment.  Requires UCD / NET-SNMP Perl module (SNMP.pm)

February 18th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug in snmpttconvertmib that would cause the last trap
  (notification) converted from a v2 MIB file to contain an
  incorrect DESCRIPTION and possibly FORMAT line when the last
  thing in the MIB file is not the last trap definition
- Values passed to snmptt that contained spaces but were not 
  inside of quotes were being treated as multiple variables / 
  values.  Replaced main readtrap code to fix this.

February 15th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.5.1

February 12th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.5
- Changed fqdn_enable ini parameter to strip_domain.  Strip_domain
  can now be 0, 1 or 2.  0 = do not strip domain name.  1 = strip
  domain name.  2 = strip domain name based on list of domains contained
  in strip_domain_list ini parameter.  Defaults to 0.  Note: With 
  fqdn_enable, it defaulted to disable (strip domain).  If you were using
  the CVS version with fqdn_enable set to 0, change strip_domain to 1.
- Added strip_domain_list paramater to ini file

January 23rd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Spool file list sorted before processing to ensure traps are 
  processed in the order they are received when in daemon mode.

January 22nd, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Changed SNMPTTHANDLER to output the current date and time on the
  first line of the spool file.
- Changed SNMPTTHANDLER to v0.2
- Added use_trap_time variable to config file for daemon mode to
  have SNMPTT use either the time from the spool file, or the current
  time.
- Fixed code for default variable settings for .ini file.  Defaults
  were not being set correctly if variable was not defined in .ini
  file.

January 20th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Cleaned up code for determining whether to run as a daemon or
  standalone mode.
- Fix bug with Nodes list not being flushed out when processing 
  multiple traps at once.  Thanks to Christophe Belmont.

January 6th, 2003: Alex Burger <alex_b@users.sourceforge.net>
- Added fqdn_enable option to remove domain name from host name
  passed to SNMPTT.  Defaults to stripping the domain name (0)

December 3rd, 2002: Alex Burger <alex_b@users.sourceforge.net>
- By default, snmpttconvertmib will now prepend the --TYPE line 
  to the summary line followed by a ':'.  This can be disabled 
  in the script in the OPTIONS section.  This should create a 
  more descriptive FORMAT / EXEC line.  Example: 
  "Status Trap: NIC switchover to slot $3"
- Changed version to snmptt_0.4.1
- Changed version to snmpttconvertmib_0.1.1

November 18th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.4

November 13th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Changed default Windows drive from d: to c: in ini file

November 12th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Added $c, $@, $O, $o, $ar, $R, $aR, $G, $S, $X, $N
- Modified: $x
- Modified: $S was name, now is Specific

November 11th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Updated snmptthandler to use .ini file 
- Cleaned up variable names to be easier to read
- Created snmptt.ini-nt file and tested under Windows NT

November 10th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Fixed multiple_event bug - if it was disabled, would not process
  traps
- Now requires Config::IniFiles
- Moved all config options to external ini file
- Added -ini= command line parameter
- Changed version to snmptt_0.3.3

October 22th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Fixed bug with issuing a RELOAD (-HUP) when using a configuration
  file that contains a list of other configuration files.  
  Variable was not being cleared.

October 18th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Minor bug fix for MySQL / ODBC support - eventid wrong, use
  INSERT INTO instead of just INSERT for ODBC to allow it to
  work with MS Access

October 17th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Added support for MySQL (Linux / Windows) and ODBC (Windows)

September 27th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.3.1
- Fixed bug with $x variable - code was searching for $r, not $x
  to replace

September 11th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.3

September 10th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Bug fix - some variables were not being cleared causing data 
  from previous traps being merged with newer traps when using
  daemon mode.

September 4th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Added variable to allow user to disable forking for daemon mode.
- Cleaned up file / directory error handling for daemon mode
- Tested snmptt in deamon mode and snmptthandler on both Linux
  and Windows NT

September 3rd, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Added fork for daemon mode for non Win32 systems
- Fixed minor Win32 file problems and tested deamon mode under 
  Windows NT.  Snmptthandler not tested

August 29th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Fixed reload of configuration file to purge memory first
- Cleaned up spool file error handling for daemon mode
- Added HUP signal to daemon mode to force reload of configuration
  file(s).  Thanks to Stefan Mohr.
- You can now have multiple definitions of the same trap.  Giving
  each entry a different NODES list will allow you to define
  actions for a particular trap based on the node.
  Thanks to Ingo Flaschberger.
- NODES file / list now accepts both IP addresses and host 
  names.  Thanks to Ingo Flaschberger.
- Lines starting with # in NODES file treated as comment.
  Thanks to Ingo Flaschberger.
- Changed @var[3] references to $receivedtrap

August 26th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Added snmptthandler script which when run from snmptrapd.conf
  instead of snmptt, will dump received traps (quickly) into
  the directory defined by $spooldirectory to be later processed
  by snmptt running as a daemon.
- Added daemon mode support to snmptt.  snmptt --daemon or 
  setting daemonmode=1 in script to enable.  Looks in 
  $spooldirectory for files to process every $sleeptime seconds.

August 21th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Passed IP address sometimes in the format of
  udp:ipaddress:port.  udp: and :port now removed.  Thanks to
  Ingo Flaschberger.

August 20th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.2.2

August 15th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.2.1
- Added command line options to snmptt: 
    debug, debugfile, dump, help, version, time
- Updated snmpttconvertmib to use also use enterprise when
  running snmptranslate
- Added updated readme.html (readme is text version of
  readme.html which is updated when new versions are released)
- Added sample-trap to CVS.  snmptt < sample-trap to use
- Added support for NOTIFICATION-TYPE v2 MIB files to
  snmpttconvertmib

August 14th, 2002:  Alex Burger <alex_b@users.sourceforge.net> 
- Add first version of SNMPTTCONVERTMIB

July 15th, 2002:  Alex Burger <alex_b@users.sourceforge.net> 
- Changed version to snmptt_0.2 for release

June 15th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Using UCD-SNMP v4.2.3, data passed from SNMPTRAPD was not
  being handled correctly.  Data being passed only contained
  one item per line instead of two.  This appears to be a
  bug with v4.2.3 as it does not happen with v4.2.1 or 
  v4.2.5.  SNMPTT can now work around it but v4.2.3 should NOT 
  be used with SNMPTT especially if SNMP V2 traps are being 
  used.
- Fixed bug when receiving SNMP V2 traps.  SNMPTT was assuming
  the last three variables were the agent IP, community name
  and enterprise, which was incorrect.  It now looks for 
  specific OIDs.  UCD-SNMP V4.2.3 should not be used due
  to the bug mentioned above.

June 13th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Bug fix with $s - Severity.  Thanks to Hugues Mertens
- Started this ChangeLog

April 30th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Changed version to snmptt_0.1.1
- Improved debugging output

April 18th, 2002: Alex Burger <alex_b@users.sourceforge.net>
- Initial release of snmptt_0.1


