= 2006/11/30 1.9015 Fix bug # 22662 reported by grjones at gmail: cidrs2inverse wouldn't notice /32-sized leftovers. = 2006/10/13 1.9014 Fix bug # 22085 reported by grjones at gmail: cidrs2inverse wouldn't notice /32-sized holes. = 2006/09/06 1.9013 Added the nextblock() method as suggested by Robert Drake Bugfix: it couldn't parse 10/8 or 127/8 = 2004/05/31 1.9011 Some speed improvements from Todd R. Eigenschink = 2004/04/12 1.9009 Fix to netmasks.t for compatability with older perls = 2004/04/06 1.9008 Added cidrs2inverse() which will find the gaps in a list of blocks. Based on a request from Howard Jones the tag() method was added. It allows you to store your own data in a Net::Netmask object. (Of course, you could have anyway as long as you didn't use the keys 'IBASE' or 'BITS') Long ago, Alexandros M Manoussakis reported a bug that findAllNetblock would often return the same block multiple times. Fixed. Based on requests from Alexandros M Manoussakis and Lamprecht Andreas the undefined behavior for overlapping blocks with cidrs2contiglists is no longer. Such blocks will be in the same sublist. Based on a requests from Tom Rudnick and Anthony Pardini new function was added: cidrs2cidrs(). cidrs2cidrs will condense a set of netblocks by combining blocks together that make up larger blocks. Anthony Pardini , Frank Tegtmeyer and George Walker pointed me to a bug with the contains() method. Fixed. = 2004/01/01 1.9007 At Max Baker 's request, the "require 5.6.1" was removed for better compatability with older perl versions. = 2003/12/05 1.9006 Removed '@'s from this file. = 2003/11/29 1.9005 Matija Papec suggested that I do a Schwartzian transform on the IP address sort function. I tried it. It's faster. Sort function replaced. Added a sort_network_blocks function. Added a contains() function to test if one block fits within another. Peter Chen was concerned about using an illegal bitmask. Now checked. Long ago, Alexandros M Manoussakis noted that could be exported even though it was in EXPORT_OK. Fixed. = 2003/05/28 1.9004 Martin Lorensen : make 'any' a synonym for 'default'. Bugfix (aslo from Martin): fix the require to accept 5.6.1 = 2003/05/26 1.9003 Roman Shishkin provided several (public exported) functions for looking at network tables: dumpNetworkTable() checkNetblock() Inspired: changing findOuterNetblock() so it can take a block as it's IP address. Bugfix: notice that '218.0.0.0 - 221.255.255.255' isn't a valid netmask. Reported by Dan Wright . Bugfix: could not specify network '0.0.0.0-255.255.255.255'. Fix from Dominic Mitchell . Added ->sameblock() from Martin Lorensen Added ->cmpblocks(). Added overloaded stringification so that blocks stringify to their description. Added overloaded block comparision so that blocks can be compared and sorted. Added hostmask syntax a.b.c.d#hostmask - Martin Lorensen Bugfix: t/badnets.t was missing from the MANIFEST. Some spelling and typo mistakes fixed in the documentation. = 2001/11/12 Change the license to make the Debian folks happy. Interface through Jonas Smedegaard . = 2001/09/29 Sapient Fridge and Alexander Karptsov sent a patch for a bug in range2cidrlist. The last IP in the range was skipped. Sam Denton requested support for a.b.c.d/mask.mask.mask.mask. Sam also sent a request that I include the world's fastest sort-by-ip-address-in-perl function in Net::Netmask as there didn't seem to be a better place to put it. I've included it. The function in question was found/benchmarked by John Porter and written about in the Perl-Users Digest, Issue 3860, Volume 8. Sam sent a patch to eliminate a couple of trailing spaces in the error codes. My IP address are now 216.240.32/19 instead of 140.174.82/19 and thus I've changed the examples in the pod. :-) = 2001/05/15 Added deleteNetblock to match storeNetblock. Carol Lerche contributed findOuterNetblock() and findAllNetblocks(). Kevin Baker sent in patches that suggested a new handling of error conditions; extra error conditions to test for; and a test script to exercise the error conditions. Bruce Peikon sent a contribution which suggested that enumerate could do so by network. Dominic Mitchell sent in code that suggested the creation of cidrs2contiglists() and range2cidrlist(). A couple of documentation fixes from Igor Vinokurov . = 1999/09/20 Modified the match() method to return the position within the block. = 1999/09/15 Added support for understanding network blocks in the form that the whois database uses: FirstIP-LastIP. = 1999/03/27 Jochen Wiedmann contributed a function to test an IP address and a block to test see if the IP address is in the block. Accordingly, there is now a match() method. Rob Walker contributed a function to return the first usable adress in a block. Instead of using that, I added a function to return the nth address in a block. There is now an nth() function. = 1998/11/29 Jean-Luc Szpyrka requested that a function be provided that returns the oposite of a netmask. Accordingly, there is now the hostmask() method. http://faqchest.dynhost.com/prgm/perlu-l/perl-98/perl-9809/perl-980905/perl98093023_24256.html