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