Newer
Older
NetAddr-IP / Lite / Changes
@Michael Robinton Michael Robinton on 21 Oct 2014 11 KB Import of MIKER/NetAddr-IP-4.058 from CPAN.
  1. Revision history for Perl extension NetAddr::IP::Lite
  2.  
  3. 1.41 Fri Nov 11 19:23:11 PST 2011
  4. up rev for documentation update
  5. update documentation in InetBase v0.06
  6.  
  7. 1.40 Fri Nov 11 13:20:32 PST 2011
  8. add call to InetBase::fillIPv4 to all uses of gethostbyname
  9.  
  10. break out the code in InetBase v0.05 that expands short IPv4
  11. addresses into dotquad format to account for broken BSD
  12. implementations of inet_aton and gethostbyname that do
  13. not recognize the short format. EXPORT this as sub 'fillIPv4'
  14.  
  15. in Util.pm v1.45, add 'fillIPv4' to calls to gethostbyname to
  16. work around broken inet_aton and gethostbyname implementations
  17. in certain BSD implementations
  18.  
  19. 1.39 Wed Nov 2 19:15:31 PDT 2011
  20. bump rev to incorporate
  21. improved inet_aton in InetBase v0.04 to overcome broken
  22. gethostbyname found in NetBSD and OpenBSD
  23.  
  24. 1.38 Fri Oct 28 11:41:22 PDT 2011
  25. patch for bug 71869, issues with Math::BigInt varients
  26.  
  27. 1.37 Thu Oct 27 12:48:55 PDT 2011
  28. add detection of early Math::Bigint 0.01 object structures
  29. circa perl 5.6.1
  30.  
  31. remove Calc.pm as part of above
  32.  
  33. fix bug 71869 - a failed test routine
  34.  
  35. 1.36 Wed Oct 26 08:52:34 PDT 2011
  36. fix bug #71925. A a sub-varient of #62521 that showed up only for
  37. short notation for IPv4. i.e. 127/n, 127.0/n, 127.0.0/n but
  38. not 127.0.0.0/n
  39.  
  40. 1.35 Tue Oct 25 16:18:38 PDT 2011
  41. add test for api-version of Math::BigInt to support versions
  42. earlier than 1.70, circa Dec 2003.
  43. Thanks to Paul Howarth <paul@city-fan.org> for spotting that bug.
  44.  
  45. 1.34 Mon Oct 24 14:38:16 PDT 2011
  46. use Math::BigInt::Calc for creating BigInt values and fall
  47. back to NetAddr::IP::Calc if Math::BigInt is not present.
  48. Thanks to Paul Howarth <paul@city-fan.org> for spotting that bug.
  49.  
  50. remove reference to Config{osname} in InetBase.pm v0.03
  51. (Util 1.43)
  52.  
  53. 1.33 Sat Oct 22 01:47:42 PDT 2011
  54. In Lite/Util/lib/NetAddr/IP/Lite/Util/InetBase.pm v0.02
  55. Socket6 prior to version 0.23 does not have AF_INET6 in the
  56. EXPORT_OK array, modify InetBase.pm v0.2 to work around this.
  57.  
  58. Add support for Math::BigInt objects
  59.  
  60. 1.32 Sat Oct 15 22:05:23 PDT 2011
  61. bug68723, add capability to parse input of the form
  62. ->new6(12345,1). This should have been there but was
  63. missing. Thanks to Andrei Benea for spotting this.
  64. In Util v1.41
  65. add inet_pton, inet_ntop, AF_INET, AF_INET6
  66.  
  67. modify inet_n2dx and inet_n2ad to
  68. recognize the new 128 bit IPv4 format
  69. ::FFFF:FFFF:0:0
  70.  
  71. replace isIPv4 with a pure perl version for portablity
  72.  
  73. split the following into NetAddr::IP::InetBase v0.01
  74. to provide better long term support for IPv6
  75. inet_aton
  76. inet_ntoa
  77. ipv6_aton
  78. ipv6_n2x
  79. ipv6_n2d
  80. inet_any2n
  81. inet_n2dx
  82. inet_n2ad
  83. inet_ntop
  84. inet_pton
  85. packzeros
  86. isIPv4
  87. isNewIPv4
  88. isAnyIPv4
  89. AF_INET
  90. AF_INET6
  91.  
  92. 1.31 Sat Oct 8 01:33:44 PDT 2011
  93. remove debug print statement from Util.pm v1.40
  94.  
  95. 1.30 Thu Oct 6 23:41:42 PDT 2011
  96. correct internal variable reference in Util.pm 1.39
  97.  
  98. 1.29 Thu Oct 6 20:20:33 PDT 2011
  99. updated to UTIL 1.38
  100.  
  101. 1.28 Wed Apr 6 11:31:19 PDT 2011
  102. Update documentation on the use of "adding constants
  103. to an IP address".
  104.  
  105. 1.27 Tue Mar 22 15:26:02 PDT 2011
  106. Update Lite.pm to encompass treatment of /31 and /127
  107. point-to-point networks as described in RFC 3021
  108.  
  109. NOTE: for /31's and /127's
  110. this changes the behavior of the following methods:
  111. first returns the "network" address
  112. last returns the "broadcast" address
  113. nth index 0 returns "network" addr instead of undef
  114. nth index 1 returns "broadcast" addr instead of undef
  115. num returns 2 instead of 0 (zero)
  116.  
  117. "old_nth" behavior is unchanged
  118.  
  119. Thanks to Todd Caine todd.caine@gmail.com for pointing this out.
  120.  
  121. 1.26 Tue Mar 8 15:18:16 PST 2011
  122. Updated "sub num" to support usable IP ranges greater than 2**32
  123.  
  124. Thanks to Jan Ploski jan@plosquare.com for finding this bug
  125.  
  126. 1.25 Sat Feb 19 10:04:00 PST 2011
  127. correction to use of Util.pm package lexicals
  128.  
  129. thanks to mishikal@yahoo.com for spotting the bug and to
  130. Mark Martinec mark.martinec+ama...@ijs.si for the solution.
  131.  
  132. 1.24 Fri Dec 17 17:47:47 PST 2010
  133. Modify subs "new" and "new6" to accomodate
  134. Cisco mask syntax that uses space instead of "/" for a separator
  135. This eliminates the need for "new_cis" and "newcis6" which are now
  136. deprecated.
  137.  
  138. Modify t/v4-cnew.t and add t/v6-cnew.t to test the above
  139.  
  140. 1.23 Fri Nov 19 10:48:01 PST 2010
  141. add :upper and :lower to Lite.pm v1.23
  142. add comments about rfc5952 requirement for lowercase ipV6 notation
  143. add test for :lower
  144.  
  145. 1.22 Tue Nov 16 16:28:37 PST 2010
  146. update new6 to properly classify short ipv4 notation
  147. i.e. 127/8 with test for ":" rather than match for \d.\d.\d.\d
  148. thanks to Steve Huff (SHUFF) * shuff@cpan.org for
  149. spotting that bug.
  150.  
  151. update t/v4-new.t for deprecated array syntax in perl 5.13
  152. was: qw(...stuff...)
  153. is: (qw(...stuff...))
  154.  
  155. thanks to Todd Rinaldo <toddr@cpan.org> for reporting this
  156.  
  157. 1.21 Thu Oct 28 14:26:19 PDT 2010
  158. fix bug where new6 improperly assigns the mask value
  159. for and ipv4 address in 32 bit space instead of 128 bit space
  160.  
  161. Thanks to Mark Martinec and Steve Huff (SHUFF) * shuff@cpan.org
  162. for spotting and replicating that bug
  163.  
  164. added new_cis and new_cis6 to Lite.pm v1.21 to accomodate
  165. Cisco syntax that has IP and MASK seperated by a space.
  166.  
  167. Updated typo in documentation that left out example
  168. print new6 stuff
  169.  
  170. 1.20 Mon Oct 25 16:22:01 PDT 2010
  171. Updated _xnew to properly handle ipV6 notation of the form
  172. xxxx:xxxx:xxxx:xxxx:xxxx:xxxx, DDD
  173.  
  174. Thanks to Dusty Mabe <Dusty.Mabe@tekelec.com> for spotting this bug
  175.  
  176. 1.19 Wed Sep 29 10:32:50 PDT 2010
  177. Conditionalize import of AF_INET6 in Util.pm
  178. NetAddr::IP::UtilPolluted
  179.  
  180. 1.18 Wed Sep 22 13:39:08 PDT 2010
  181. Added overload => 'ne' and '!=' to Lite.pm
  182.  
  183. 1.17 Tue Sep 21 17:50:50 PDT 2010
  184. Pull Socket6 stuff out of Lite and put into
  185. NetAddr::IP::Util.pm in its own namespace
  186.  
  187. 1.16 Wed Aug 11 12:45:49 PDT 2010
  188. When using Socket6, pull in missing symbol PF_INET6, which may
  189. or may not be present, from Socket.
  190.  
  191. 1.15 Tue Jul 20 15:32:23 PDT 2010
  192. Resolve named hosts using gethostbyname, followed by gethostbyname6
  193. to determine whether to set ipV6 flag
  194.  
  195. Thanks to Dusty Mabe <Dusty.Mabe@tekelec.com> for spotting this bug
  196.  
  197. 1.14 Thu Jul 8 18:17:38 PDT 2010
  198. added support for the sub "new" to resolve host6 names
  199. if the OPTIONAL perl Socket6 module is available
  200.  
  201. 1.13 Tue Dec 9 16:00:35 PST 2008
  202. added missing regexp to classify arguments as BCD numbers,
  203. apparently this has been missing from NetAddr::IP::Lite
  204. since the first release.
  205. Thanks to Carlos Vicente cvicente@cpan.org for reporting this bug.
  206.  
  207. revised UtilPP v1.7 to work around perl 5.8.4
  208. failures with certain @_ operations of goto &sub...
  209. see perl bug [ 23429]. Unfortunately, perl-5.8.4 is
  210. the distribution of choice for many solaris boxes
  211.  
  212. 1.12 Sun Nov 23 19:32:59 PST 2008
  213. repaired missing sub Zeros
  214.  
  215. added minus (-) overloading to allow the subtraction
  216. of two NetAddr::IP objects to get the difference between
  217. the object->{addr}'s as a numeric value
  218. Thanks to Rob Riepel <riepel@networking.Stanford.EDU>
  219. for the initial code and inspiration for this enhancement
  220.  
  221. 1.11 Sat Nov 1 15:13:48 PST 2008
  222. add test for characters not allowed by rfc952 before
  223. the call to gethostbyname in sub new() for those people
  224. that insist on using deprecated functionality :aton
  225. and OS's that fail to notice calls to gethostbyname
  226. with binary arguments
  227.  
  228. 1.10 Wed Oct 22 14:54:12 PDT 2008
  229. add new no octal method for improperly formatted ipV4 addresses
  230.  
  231. In Util.pm v1.22, eliminated dependence on PL_sawampersand
  232. thanks to Mark Martinec <Mark.Martinec@ijs.si>
  233. for spotting this and submitting a patch.
  234.  
  235. In Util.pm v1.22, force -noxs mode for Win32
  236.  
  237. In Util.pm v1.22, use autoconf to configure 'C' build
  238.  
  239. 1.09 Thu Oct 16 19:35:33 PDT 2008
  240. again... clear build bug for Win32 in Util.pm v 1.21
  241.  
  242. 1.08 Sat Sep 27 12:27:28 PDT 2008
  243. in Util v0.19
  244. updated test for ENDIANess in siteconf
  245.  
  246. add test in inet_aton to detect overange IP dot quad values
  247. missed by some broken Socket implementations
  248. i.e. 256.1.1.1
  249.  
  250. 1.07 Tue Sep 2 19:09:57 PDT 2008
  251. in the off chance that NetAddr::IP::Lite objects are created
  252. and the caller later loads NetAddr::IP and expects to use
  253. those objects, let the AUTOLOAD routine find and redirect
  254. NetAddr::IP::Lite method and subroutine calls to NetAddr::IP.
  255.  
  256. updated t/v4-wnew.t so that non-existent
  257. domains are "really" not there
  258.  
  259. 1.06 Sat Jun 7 12:57:18 PDT 2008
  260. add method "new_from_aton" and related documentation
  261.  
  262. comparisons of the form <, >, <=, >=
  263. 10.0.0.0/24 {operator} 10.0.0.0/16
  264. return now return the comparison of the cidr value
  265. when the address portion is equal.
  266. NOTE: this comparison returns the comparison of the NUMERIC
  267. value of the CIDR. This produces the counter intuitive result
  268. that /24 > /16. There is logic to this, really! For proper
  269. operation of commands like "Compact" and "Coalesce", lists of
  270. netaddr objects must sort in ascending order. However, this
  271. conflicts with the requirement for larger netblocks to sort
  272. FIRST so as to include smaller ones. This logic extends to
  273. any requirement for a sort of netaddr objects. It should be
  274. further noted that the mixing of netaddr objects with varying
  275. IP addresses and CIDR allocations can lead to unexpected
  276. results since the comparisons done first on the IP portion
  277. and then on the CIDR portion. The documentation has been
  278. updated appropriately.
  279. Thanks to Peter DeVries for spotting this discrepancy
  280.  
  281. 1.05 undocumented
  282. 1.04 undocumented
  283.  
  284. 1.03 Sun Aug 6 10:48:25 PDT 2006
  285. update Util.pm v0.18 documentation
  286.  
  287. 1.02 Fri Aug 4 14:14:16 PDT 2006
  288. $isV6 global converted to a lexical variable within sub "_xnew"
  289. $Class global removed and replaced by calls to UNIVERSAL::isa
  290. Thanks to julian@mehnle.net for spotting problems related to
  291. using the Lite.pm with mod_perl
  292.  
  293. 1.01 Thu Jul 6 10:46:48 PDT 2006
  294. update v4-wnew.t to warn user of possible long wait
  295. update Util.pm v0.17 -- see Changes in that distro
  296.  
  297. 1.00 Mon Jun 26 13:34:00 PDT 2006
  298. changed behavior of ->nth and ->num
  299. to 'exactly' conform to the documentation
  300.  
  301. add :old_nth tag to preserve old behavior
  302. and update tests to check both
  303.  
  304. 0.12 Sun Jun 25 16:13:00 PDT 2006
  305. imported missing 'bcd2bin'
  306.  
  307. fixed Util->new() issues with long digit strings
  308. ->new('::fffff') and non hex digits ->new('::foo').
  309. Thanks to Radoslaw Zielinski <radek42@gmail.com>
  310. for spotting these 3 bugs
  311.  
  312. 0.11 Wed Jun 14 14:53:21 PDT 2006
  313. add 'sub new6' and related functionality to methods
  314. that print or return v4/6 information or text.
  315.  
  316. add $self->{isv6} flag for hint to ipV6 status
  317.  
  318. corrected bug in sub num that miscalculated the number
  319. of IP's in a net for /31 /32
  320.  
  321. 0.10 Tue Jun 13 14:07:46 PDT 2006
  322. bring 'sub new' into full compliance with NetAddr::IP,
  323. correct compatibility with for ==,>,<,=>,>=,<=>,cmp
  324. and update documentation to reflect actual implementation
  325.  
  326. add 'copy' function that return a completely new object
  327.  
  328. export (Zero Ones V4mask V4net)
  329.  
  330. update Util.pm v0.15 so shiftleft returns original
  331. argument when the shift count is zero or undefined
  332.  
  333. 0.09 Tue Jun 6 08:37:01 PDT 2006
  334. update Util/Makefile.PM to check for link libraries
  335. that ExtUtils::MakeMaker does not find properly
  336.  
  337. remove 'use warnings' from Lite.pm for backwards
  338. compatibility with older perl versions
  339.  
  340. 0.08 Tue Jun 6 08:33:11 PDT 2006
  341. update Util.xs for build on windoze
  342.  
  343. 0.07 Tue Jun 6 08:21:12 PDT 2006
  344. update NetAddr::IP::Util to v0.12
  345.  
  346. 0.06 Mon Jun 5 21:34:28 PDT 2006
  347. fix Sparc problems in Util v0.11
  348. 1) add workaround for OS's that do not have inet_aton
  349.  
  350. 2) add workaround for compilers that do not understand
  351. #if MACRO1 == MACRO2
  352.  
  353. 0.05 Sun May 7 18:06:43 PDT 2006
  354. updated UtilPP.pm v0.06 to remove unnecessary pack(unpack) sequences
  355. to speed up ipv6->4, ipv4->6 conversions
  356.  
  357. 0.04 Fri Apr 28 17:36:28 PDT 2006
  358. left Util/Makefile.pl out of the top level distro
  359.  
  360. 0.03 Fri Apr 28 17:26:51 PDT 2006
  361. oops! left prerequisite Util 0.08 in the Makefile
  362. when it is include in this distro
  363.  
  364. 0.02 Fri Apr 28 16:11:00 PDT 2006
  365. update Lite.pm to accept ->new('addr/mask')
  366. where addr and mask are both in IP address format
  367.  
  368. add test for above t/netaddr.t
  369.  
  370. 0.01 Wed Apr 26 19:03:18 PDT 2006
  371. initial release