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