The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
2004-01-25  kragen  <kragen@pobox.com>

	* added copyright and license notice, renamed for release

Copyright (c) 2003-2004 AirWave Wireless, Inc.

Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions
are met:

   1. Redistributions of source code must retain the above
   copyright notice, this list of conditions and the following
   disclaimer.
   2. Redistributions in binary form must reproduce the above
   copyright notice, this list of conditions and the following
   disclaimer in the documentation and/or other materials provided
   with the distribution.
   3. The name of the author may not be used to endorse or
   promote products derived from this software without specific
   prior written permission.

THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS
OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
	
2004-01-07  kragen  <kragen@pobox.com>

	* SNMP/Agent.pm, SNMP/Agent.t, SNMP/Mapper.pm, SNMP/Simple.pm,
	SNMP/Simple.t, ChangeLog, README, SNMP.pm, SNMP.t, TODO,
	methtest.pl, update-todo: 

	Added placeholders for copyright notice.

	Eliminated duplicate lines from ChangeLog.

	Updated and cleaned up documentation and comments, fixing several
	errors.

	Trimmed source lines to 80 columns.

	Removed excessive peformance history in SNMP.pm comments.

	Updated TODO.

2003-12-24  kragen  <kragen@pobox.com>

	* SNMP/Agent.t, SNMP/Simple.t, SNMP.pm, SNMP.t, WHY, linecount:
	Packaged things up for distribution:
	 - Updated tests to run better in the test harness.
	 - Updated bragging line counts.
	 - fixed a warning during some tests.

2003-12-20  kragen  <kragen@pobox.com>

	* SNMP/Simple.t, SNMP/Simple.pm, TODO, getsysname-lots-net-snmp.pl, SNMP.pm:
	Updated documentation in preparation for release.

	Rearranged TODO.

	Added another couple of tests.

2003-12-10  kragen  <kragen@pobox.com>

	* ChangeLog: Updated ChangeLog.

	* SNMP/Agent.t, SNMP/Simple.pm, SNMP/Simple.t, ChangeLog, SNMP.pm, SNMP.t, TODO:
	Added ability to encode Perlish values in SNMP::Simple::set.  Haven't
	measured performance impact.  User impact is that you have to supply a
	type when you set things.  Ick.

	Updated documentation.

	Minor cleanups here and there.

	Added tests for encoding and decoding packets with many lengths, and
	for badValue.  Found a buglet: some warning in 'unpack' for some
	packet lengths.

	TODO list slowly shrinking.

2003-12-09  kragen  <kragen@pobox.com>

	* SNMP/Simple.pm, SNMP/Simple.t, SNMP.pm, TODO:
	Added ability to get many different data types.

	Supposedly boosted performance in SNMP.pm by normally using the short-form
	encoding.  Haven't measured.

	Added and rearranged documentation in SNMP.pm.

2003-12-08  kragen  <kragen@pobox.com>

	* SNMP/Simple.pm, SNMP/Simple.t, TODO:
	Added basic support for getting integers.

2003-12-07  kragen  <kragen@pobox.com>

	* ChangeLog: Updated ChangeLog.

	* SNMP/Simple.t, SNMP.pm, SNMP.t, TODO, ChangeLog:
	Fixed encoding of things with long length fields.  It's like 40 more
	lines of code, and 30 more microseconds (on top of only 136 before, so
	it's a significant jump!)  Cranked down performance thresholds in
	tests to compensate for the lousier performance.  1000
	request/response pairs per CPU second still isn't too bad, though.

2003-12-07  kragen  <kragen@pobox.com>

	* SNMP/Simple.pm, SNMP.t, decodetest.pl, SNMP/Simple.t, SNMP.pm,
	SNMP.t, TODO, ChangeLog:
	
	Fixed encoding and decoding of things with long length fields.
	10% performance penalty for things without, but at least the code
	is correct now.

2003-12-04  kragen  <kragen@pobox.com>

	* BERdecode.pm, SNMP.t: Found a really serious bug --- my
	length-field decoding is wrong, everywhere, so it fails on long
	packets.  Fixed it in BERdecode (that was easy enough), but
	haven't yet fixed it in SNMP, where it has performance
	requirements.

	* linecount: Added line-count script.

	* ChangeLog, TODO, update-todo: Updated.

	* SNMP/Agent.pm, SNMP/Agent.t, SNMP/Simple.pm, SNMP/Simple.t:
	Fixed Simple to handle packets >1024 bytes, up to 64K.

	Added performance test to Simple.t (which now takes >15 seconds,
	ick.).  Improved performance of agent for walks.  The performance test
	automatically takes care of ensuring Simple reuses its socket, because
	performance halves when it doesn't.

	Simplified and optimized walk code in Simple.  Also, it now handles
	leading dots the way the documentation I wrote this morning said it
	did.

	Doubled Agent.t's timeout on socket reads to 250ms --- I had a
	spurious test failure.

	Added getNextRequest handling to the SNMP agent and walks to
	SNMP::Simple.

	Added $SNMP::Simple::error_status.

	Updated and corrected documentation and TODO file.

	Refactored some tests.

2003-12-03  kragen  <kragen@pobox.com>

	* SNMP/Agent.pm, SNMP/Agent.t, SNMP/Simple.pm, SNMP/Simple.t, SNMP.pm, SNMP.t:
	Added robustness against garbage packets in SNMP, SNMP::Simple, and
	SNMP::Agent.

	Implemented adjustable timeouts and retries in SNMP::Simple, with defaults
	from Net::SNMP.

	Added request-ID generation and checking to SNMP::Simple.

	Raised threshold on Mapper performance test so it doesn't fail
	sporadically.

	* TODO: Updated TODO.

2003-12-01  kragen  <kragen@pobox.com>

	* SNMP/Agent.pm, SNMP/Agent.t, SNMP/Simple.pm, SNMP/Simple.t, TODO, WHY:
	Changed Simple.t tests to use SNMP::Agent instead of whatever's running
	on port 161.  Moved 'spawn agent' routine into SNMP::Agent.  Made
	SNMP::Simple able to accept a port number, and added some error checking.

	Added community string handling to agent.

2003-11-30  kragen  <kragen@pobox.com>

	* SNMP/Simple.t, ChangeLog, TODO, WHY: Commented tests, added WHY.

	* SNMP/Agent.pm, SNMP/Agent.t, SNMP/Simple.pm, SNMP/agent.pl:
	Added ChangeLog.

	Now SNMP agent actually uses network and handles get and set requests,
	but it's still pretty incomplete.

	* ChangeLog: Added ChangeLog.

	* SNMP/Agent.pm, SNMP/Agent.t, SNMP/Mapper.pm, SNMP/handle-lotsa-requests.pl:
	Added SNMP agent implementation --- it can generate plausible response
	packets, but doesn't yet know how to ship them over the network.  And it
	looks like it can do that about 2000 times per second!

	* SNMP.pm, SNMP.t, TODO, getsysname-lots-simple.pl, update-todo:
	Added SNMP::Simple module to do one-line SNMP gets and sets.  Not really
	production-quality yet.  Needs a lot more work.  Significantly slower
	than raw SNMP.pm, but still 10x as fast as Net::SNMP.

	Added TODO file and build script.

	Corrected test count.

2003-11-29  kragen  <kragen@pobox.com>

	* BERdecode.pm, SNMP/Mapper.pm, decodetest.pl, encode_oid.pl,
	getsysname.pl, SNMP/Mapper.pm, SNMP.pm,
	getsysname-lots-net-snmp.pl, getsysname-lots.pl:
	
	Initial CVS import.  Can encode and decode SNMP messages, and
	there are some scripts to use this ability to do actual SNMP
	transactions, about 12x as fast as Net::SNMP 4.1.2.