1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251
|
Revision history for Perl module Net::Netmask
2.0002 2022-08-31
- Documentation fixes (thanks, Breno G. de Oliveira!)
2.0001 2021-03-29
- BUGFIX: Return a netmask length of 0 whenever parsing an invalid
digit.
- Add "safe_new()" method to make it more clear what new2() does. Note
that this executes the same code as new2().
2.0000 2021-03-29
- SECURITY: IPv4 addresses with leading zeros are no longer allowed.
They will return a parse error like any invalid IP address.
- SECURITY: 10.0.0, 10.0, and 10 address portions now by default return
a parse error. This can be overriden by calling new() like:
Net::Netmask->new2('10/8', shortnet => 1); # or new()
or
Net::Netmask->new2('10', '8', shortnet => 1); # or new()
There is also a package-level variable that can change the default
when "shortnet" isn't used passed into the constructor. Usage:
local $Net::Netmask::SHORTNET_DEFAULT = 1;
Net::Netmask->new('10', '8'); # or new2()
1.9104 2018-06-27
- IPv6 support is now GA!
1.9104 2018-06-26
- DEV release only
- IPv6 support
- Add Code of Conduct
1.9103 2018-06-18
- Use ASCII-like regex matching (Github #4)
- Convert tests to Test2
- Pass perlcritic tests
- Pass Kwalitee tests
- Add contributor information
- Add protocol() method (just a stub today that will always return
'IPv4')
1.9102 2018-06-18
- DEV release only
- Contains most changes that made it to 1.9103.
1.9101 2018-06-02
- fix precision issue on long-double platforms (BAYMAX)
- Convert to use Dist::Zilla
- Formatting changes
1.9100 2018-06-02
- DEV release only
- fix precision issue on long-double platforms (BAYMAX)
- Convert to dist.zilla
- Minor formatting changes
1.9022 2015-05-05
- Changes from adamherzog: minor cleanups plus
- A bunch of addtional tests
- A couple of small code fixes
1.9021 2014-07-17
- Spelling fix in documentation.
1.9019 2013-10-01
- Rename $b to $bits so that netmask can be sorted. Change mostly
from https://rt.cpan.org/Ticket/Display.html?id=76939
1.9018 2013-09-26
- Minor MANIFEST fix.
1.9017 2013-09-20
- Add network split() function.
- Re-arrange the distribution a bit.
1.9016 2011-03-22
- Fix bug #46996: warnings issued for bad input.
- Fix bug #43348: use POSIX::floor() instead of int()
- Rewrite netmask.t to use Test::More
1.9015 2006-11-30
- Fix bug # 22662 reported by grjones at gmail: cidrs2inverse
wouldn't notice /32-sized leftovers.
1.9014 2006-10-13
- Fix bug # 22085 reported by grjones at gmail: cidrs2inverse
- wouldn't notice /32-sized holes.
1.9013 2006-09-06
- Added the nextblock() method as suggested by Robert Drake <rdrake at stayonline.net>
- Bugfix: it couldn't parse 10/8 or 127/8
1.9011 2004-05-31
- Some speed improvements from Todd R. Eigenschink <todd at tekinteractive.com>
1.9009 2004-04-12
- Fix to netmasks.t for compatability with older perls
1.9008 2004-04-06
- Added cidrs2inverse() which will find the gaps in a list of blocks.
- Based on a request from Howard Jones <howard.jones at network-i.net>
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 <amm2 at ini.cmu.edu> reported a bug
that findAllNetblock would often return the same block multiple times.
Fixed.
- Based on requests from Alexandros M Manoussakis <amm2 at ini.cmu.edu>
and Lamprecht Andreas <andreas.a.lamprecht at siemens.com> 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 <trudnick at itc.nrcs.usda.gov>
and Anthony Pardini <tony at pardini.org> new function was added:
cidrs2cidrs(). cidrs2cidrs will condense a set of netblocks by
combining blocks together that make up larger blocks.
- Anthony Pardini <tony at pardini.org>, Frank Tegtmeyer <fte @ fte.to>
and George Walker <gwalker at irish-times.com> pointed me to a bug
with the contains() method. Fixed.
1.9007 2004-01-01
- At Max Baker <max at warped.org>'s request, the "require 5.6.1"
was removed for better compatability with older perl versions.
1.9006 2003-12-05
- Removed '@'s from this file.
1.9005 2003-11-29
- Matija Papec <matija at post.hinet.hr> 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 <petechen at netilla.com> was concerned about
using an illegal bitmask. Now checked.
- Long ago, Alexandros M Manoussakis <amm2 at ini.cmu.edu> noted that
could be exported even though it was in EXPORT_OK. Fixed.
1.9004 2003-05-28
- Martin Lorensen <martin at lorensen.dk>: make 'any' a synonym for
'default'.
- Bugfix (aslo from Martin): fix the require to accept 5.6.1
1.9003 2003-05-26
- Roman Shishkin <roman at rt.mipt.ru> 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 <wright at smx.pair.com>.
- Bugfix: could not specify network '0.0.0.0-255.255.255.255'. Fix
from Dominic Mitchell <dom at semantico.com>.
- Added ->sameblock() from Martin Lorensen <martin at lorensen.dk>
- 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 <martin at lorensen.dk>
- Bugfix: t/badnets.t was missing from the MANIFEST.
- Some spelling and typo mistakes fixed in the documentation.
1.9002 2001-11-12
- Change the license to make the Debian folks happy. Interface through
Jonas Smedegaard <dr at jones.dk>.
1.9001 2001-09-29
- Sapient Fridge <sapient.fridge at WaCkY.zzn.com> and Alexander Karptsov
<karp at visti.net> sent a patch for a bug in range2cidrlist. The
last IP in the range was skipped.
- Sam Denton <sdenton at wantec.com> 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. :-)
1.9 2001-05-15
- Added deleteNetblock to match storeNetblock.
- Carol Lerche <cafl at securify.com> contributed findOuterNetblock()
and findAllNetblocks().
- Kevin Baker <kevin at apnic.net> 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 <Bruce.Peikon at msdw.com> sent a contribution which suggested
that enumerate could do so by network.
- Dominic Mitchell <dom at semantico.com> sent in code that suggested the
creation of cidrs2contiglists() and range2cidrlist().
- A couple of documentation fixes from Igor Vinokurov <igor at rtsnet.ru>.
1.8 1999-09-20
- Modified the match() method to return the position within the block.
1.7 1999-09-15
- Added support for understanding network blocks in the form that the
whois database uses: FirstIP-LastIP.
1.6 1999-03-27
- Jochen Wiedmann <joe at ispsoft.de> 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 <rob at varesearch.com> 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.
1.4 1998-11-29
- Jean-Luc Szpyrka <Jean-Luc.Szpyrka at sophia.inria.fr> 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
|