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