CHANGES
-------
2.74  2020-09-09 09:21:39 rurban
      Features
      - Add ICMPv6_NI_REPLY support.
      Bugfixes
      - Fix icmp payload offset to match icmpv6 (JimC Leones GH #21)
        Skip the 20 byte header to reliably find the various return types.
        This unifies icmpv6 with icmp better.
      - Fix $SOCKET::VERSION eval (Petr Pavlu, PR #22)
      META Changes
      - Fix and improve the META repository as hashref, license as arrayref
        (Tom Hukins, PR #19)
      - add TEST_REQUIRES
      - sort MANIFEST
      - add windows smokers: appveyor
      Test fixes
      - Improve the tcp test to localhost, when there is no route to localhost
        (freebsd mostly)
      - TODO a flaky 450_service.t on 127.0.0.1 on port 2 on Windows (analog to freebsd, ...)
        (Christian Walde, PR #20)
      - Skip 501_ping_icmpv6.t when icmpv6 cannot be initialized. Mostly due to missing
        icmpv6 support. (GH #15)
      - add more xt tests: t/602_kwalitee.t, t/603_meta.t, t/604_manifest.t

2.73  Thu Feb 27 14:32:25 CET 2020 (rurban)
      Bugfixes
       - Fix shadowing of hash options in constructor (Patrick Heesom, RT #131919)
       - Fix icmp v4 length with given bytes/data_size option (Patrick Heesom, RT #131919)
       - Call _resolv as class method (Marc Reissner, GH #16)

2.72  Thu 28 Mar 2019 09:01:39 AM CET (rurban)
      Features
      - add .cirrus.yml smoker https://cirrus-ci.com/github/rurban/Net-Ping
      Test fixes
      - Skip failing freebsd localhost resolver tests

2.71  Tue Oct 16 18:41:51 CEST 2018 (rurban)
       Features
       - Allow data_size > 1024, up to 65535, i.e. fragmented packets.
         It is recommended to stay below 1472 though for the typical 1500 MTU.
         Many simple devices do not allow fragmented ICMP packets (> 1472).
         RT #17409
       Bugfixes
       - Fix the max_datasize documentation
       Test fixes
       - The 2 sudo tests on PERL_CORE with a shared perl lib

2.70  Tue Aug  7 10:33:24 CEST 2018 (rurban)
       Test fixes
       - Fix broken skip count on 510_ping_udp.t (windows only)

2.69  Mon Aug  6 15:13:25 CEST 2018 (rurban)
       Test fixes
       - Allow NET_PING_FAIL_IP override for testing an IP which should not exist,
         RT #126006 hmbrand
       META Changes
       - Updated README

2.68  Wed Jun 27 11:55:06 CEST 2018 (rurban)
       Bugfixes
       - Fixed _resolv return value on failing DNS name lookup. (GH #12 nlv02636)
       - Fixed installation dir from CPAN. Install into site, not perl there.
         (GH #12 nlv02636)

2.67  Mon Jun 25 18:10:42 CEST 2018 (rurban)
       Bugfixes
       - Fixed non-core icmp ping test. PR #10 Guillaume Bougard
       - Change croak on failing name lookup to return undef,
         matching the documentation.
         Fixes the regression from 2.43, RT #124830
       - Stabilize Socket::VERSION comparisons, errored with Net::Socket
         2.020_03, RT #125677 Smoot Carl-Mitchell
       Features
       - Added icmp message_type method with timestamp support.
         PR #11 Guillaume Bougard

2.66  Thu Mar  8 16:44:03 CET 2018 (rurban)
       Bugfixes
       - Fixed icmpv6 ICMP_ECHOREPLY: nikolas@garofil.be RT 80479
       - Fixed icmpv6 default family
       - Simplify t/020_external.t
       - Seperate timeout=0 and undef RT #97884
       Features
       - Added icmpv6 test.
       - Added optional local tests hosts for the icmp tests:
         TEST_PING_HOST and TEST_PING6_HOST
       - allow sudo tests with local .git
       - skip sudo test with asan leak detector on linux

2.65  Wed Mar  7 09:38:51 CET 2018 (rurban)
       META Changes
       - strip wrong Text::Template dependency and generation for the README
         https://rt.cpan.org/Public/Bug/Display.html?id=124693
         This is in core.
       - Changed repo name from net-ping to Net-Ping.
       - Changed bugtracker to https://github.com/rurban/Net-Ping/issues
       - Made Makefile.PL more stable for the CPAN release, support older
         perl + EUMM versions.
       - Fixed up TODO for IPv6

2.64  Sat Mar  3 15:56:14 CET 2018 (rurban)
       Bugfixes
        - use NIx_NOSERV flag for windows (PR #6 by chorny)

2.63  Sun Nov 26 18:56:04 CET 2017 (rurban)
       Bugfixes
        - Keep v5.002 - v5.6 support
        - Removed outdated demo/fping from the documentation
          (RT #123750 by Steve Morris)
        - Added t/420_ping_syn_port.t (#4 by Julio Fraire)
          with fixes.
       Features
        - added indices and crosslinks to the documentation

2.62  Tue Sep 12 13:20:25 2017 -0600 (Nicholas R)
       Limitations (not on CPAN)
       - Removed support for v5.002 < v5.6 by introducing our

2.61  Sat Jun 17 13:12:58 CEST 2017 (rurban)
       Bugfixes
        - Fix ping_udp for a started udp echo server (PR#5 by Stephan Loyd)

2.60  Mon Jun 12 20:14:13 CEST 2017 (rurban)
       Bugfixes
        - Fix t/400_ping_syn.t phases
        - Try to handle Windows Socket::getnameinfo errors
        - Improve some tests on missing network connections

2.59  Tue Apr 18 08:46:48 2017 +0200 (rurban)
       Bugfixes
        - skip udp ping tests on more platforms: hpux, irix, aix.
          also pingecho on os390.
          (from perl5 core)
       Features
        - added a make release target

2.58  Wed Feb  1 19:34:03 CET 2017 (rurban)
       Features
        - return the port num as 5th return value with ack (jfraire)

2.57  Wed Feb  1 19:34:03 CET 2017 (rurban)
       Bugfixes
        - Resigned with new gpg key

2.56  Wed Jan 18 16:00:00  2017 -0700 (bbb)
       Bugfixes
        - Stabilize tests

2.55  Thu Oct 20 09:16:06  2016 +0200 (rurban)

       Bugfixes
       - Skip sudo for t/500_ping_icmp.t if a prompt is required
         [RT #118451]

2.54  Thu Oct 20 09:16:06  2016 +0200 (rurban)

       Bugfixes
       - Fixed ping_external argument type, either packed ip or hostname.
         [RT #113825]
       - Fixed wrong skip message in t/020_external.t

2.53  Thu Oct 20 09:16:06  2016 +0200 (rurban)

       Bugfixes
       - Relax icmp tests on local firewalls, eg. as here on windows reported
         by kmx. [RT #118441]

       Internals
       - Enhanced .travis.yml

2.52  Tue Oct 18 16:29:29 2016 +0200 (rurban)
       version in cperl since 5.25.2c

       Bugfixes
       - Fixed _pack_sockaddr_in for a proper 2nd argument type, hash or packed address.
       - Improved 500_ping_icmp.t to try sudo.
       
       Internals
       - Converted all hash string keys to bare.

2.51  Mon Oct 17 16:11:03 2016 +0200 (rurban)
       version in cperl since 5.25.2c
 
       Bugfixes
       - Fixed missing _unpack_sockaddr_in family, which took AF_INET6 for
         a AF_INET addr in t/500_ping_icmp.t and t/500_ping_icmp_ttl.t.
         Use now a proper default.

2.50  Sat Apr 16 11:50:20 2016 +0200 (rurban)
       version in cperl since 5.22.2c

       Features
       - Handle IPv6 addresses and the AF_INET6 family.
       - Added the optional family argument to most methods.
         valid values: 6, "v6", "ip6", "ipv6", AF_INET6
       - new can take now named arguments, a hashref.
       - Added the following named arguments to new:
         gateway host port bind retrans pingstring source_verify econnrefused
         IPV6_USE_MIN_MTU IPV6_RECVPATHMTU IPV6_HOPLIMIT
       - Added a dontfrag option, setting IP_DONTFRAG and on linux
         also IP_MTU_DISCOVER to IP_PMTUDISC_DO. Note that is ignored if
         Socket does not export IP_DONTFRAG.
       - Added the wakeonlan method
       - Improve argument default handling
       - Added missing documentation

       Bugfixes
       - Reapply tos with ping_udp, when the address is changed.
         RT #6706 (Torgny.Hofstedt@sevenlevels.se)
         ditto re-bind to a device.

       Internals
       - $ip is now a hash with {addr, addr_in, family} not the addr_in packed IP.
       - added _resolv replacing inet_aton,
         _pack_sockaddr_in and _unpack_sockaddr_in replacing sockaddr_in,
         _inet_ntoa replacing inet_ntoa
       - Use _isroot helper, with Win32 _IsAdminUser helper.
       - added several new tests (Steve Peters)

2.43  Mon Apr 29 00:23:56 2013 -0300
        version in perl core since 5.19.9
        Bugfixes
        - Handle getprotobyn{ame,umber} not being available
2.42  Sun May 26 19:08:46 2013 -0700
        version in perl core since 5.19.1
        Bugfixes
        - Stabilize tests
       Internals
        - wrap long pod lines
2.41  Mar 17 09:35 2013
        Bugfixes
        - Windows Vista does not appear to support inet_ntop().  It seems to
          have InetNtop() instead.  So, working around by using getnameinfo()
          and passing in the NI_NUMERICHOST to get an IP address.
        Features
        - Change Net::Ping to use Time::HiRes::time() instead of CORE::time()
          by default.  For most successful cases, CORE::time() returned zero. 
2.40  Mar 15 11:20 2013
        Bugfixes
        - several fixes to tests to stop the black smoke on Win32's 
          and Cygwin since the core updated the module to Test::More.
          I had planned a later release, but all the black smoke is
          forcing a release.
        - fixes to some skips in tests that were still using the 
          Test style skip's.
        - Documentation fix for https://rt.cpan.org/Ticket/Display.html?id=48014.
          Thanks to Keith Taylor <keith@supanet.net.uk>
        - Instead of using a hard-coded TOS value, import IP_TOS from 
          Socket.  This fixes an outstanding bug on Solaris which uses a 
          different value for IP_TOS in it headers than Linux.  I'm assuming
          other OS's were fixed with this change as well.

        Features
        - added TTL handling for icmp pings to allow traceroute like 
          applications to be built with Net::Ping.  Thanks to 
          <rolek@bokxing.nl> for the patch and tests!

       Internals
        - replaced SOL_IP with IPPROTO_IP.  SOL_IP is not portable and was 
          hard-coded anyway.
        - added IPPROTO_IP, IP_TOS, IP_TTL, and AF_INET to the list of Socket 
          constants imported.
        - removed some hard-coded constants.
        - converted all calls to inet_ntoa() to inet_ntop() in preparation
          for further ipv6 updates.

        Infrastructure
        - Makefile.PL updated to require Test::More, Time::HiRes, and a
          recent Socket
        - several changes for github hosting
          - add a .gitignore file
          - added a .travis.yml file to allow CI testing with changes pushed
            to github
          - replaced the README with a README.md which displays the
            Travis CI build status on github.


2.39  Mar 13 09:25 2013
        - patch from Matthew Musgrove to resolve RT #45812.  Thanks!
        - pulled in several changes from the Perl core

2.36  Jun 08 12:00 2009
        - release to include a few fixes from the Perl core

2.35  Feb 08 14:42 2008
	- Patch in Perl change #33242 by Nicholas Clark 
		<http://perl5.git.perl.org/perl.git/commit/5d6b07c5a4c042580b85248d570ee299fd102a79>

2.34  Dec 19 08:51 2007
        - Release primarily to prevent problems with the Perl core in
	  preparation for the Perl 5.10 release.  No real bug fixes, but
          text fixes are included.
	- skip test t/510_ping_udp.t on Windows Vista.  Thanks to Jan
	  Dubois for the code to test for Vista.
        - t/510_ping_udp.t should check for a udp echo port, not a tcp
	  echo port.

2.33  Jul 31 20:15 2007
	- add new method port_number() rather than asking users to
          twiddle with the internals of Net::Ping to probe a specific
          port.  This should resolve a few bugs where the documentation
	  was lacking.
	- apply patch from bergonz at labs.it.  This patch resolves
	  several problems logged regarding using Net::Ping in a multi-
	  threaded program.  Thanks so much!
		<http://rt.cpan.org/Ticket/Display.html?id=17408>

2.32  Jul 30 21:30 2007
	- new co-maintainer Steve Peters
	- integrate assorted bleadperl fixes from the past four years
		<http://rt.cpan.org/Public/Bug/Display.html?id=28348>

2.31  Jun 28 14:00 2003
	- Win32 Compatibility fixes.
	  Patch by mhx-perl@gmx.net (Marcus Holland-Moritz)
	- Apply bleadperl patch #22204
	- Add ToS support.
	  Patch by martin@lorensen.dk (Martin Lorensen)

2.30  Apr 18 14:00 2003
	- Fix select() bug for UDP and ICMP protocols
	  in case packet comes from wrong source or seq.
	- Allow UDP ping to different IP addresses
	  without instantiating a new object.
	- Add retrans() method to customize or disable
	  backoff factor for udp pings.
	  Thanks Torgny.Hofstedt@sevenlevels.se
	- Let ECONNRESET be considered reachable for
	  UDP pings.  Now it works for cygwin.
	  Spot by jhi@iki.fi (Jarkko Hietaniemi).

2.29  Apr 12 15:00 2003
	- Implement "double send()" concept for udp pings.
	  See: <http://perlmonks.thepen.com/42898.html>
	  Thanks to rdw @ perlmonks.
	- Send multiple udp packets in case of loss.
	- Exponential backoff code swiped from Net::DNS
	  Thanks to mike@fuhr.org (Michael Fuhr).
	- Also allows to capture udp ECONNREFUSED condition.
	- Rename tcp_service_check method to service_check.
	- Allow demo/fping -s to force service check.
	  Idea by ralijani@yahoo.com (REZA Alijani)
	- Fix return from ping to be compatible with wantarray
	  when the host doesn't even resolve.
	- Add udp proto test to test suite.
	- VMS patch from Craig Berry to pre-check echo.
	- Apply bleadperl patch (change #18904)
	- Apply bleadperl patch as explained:
	http://www.xray.mpe.mpg.de/mailing-lists/perl5-
	porters/2003-03/msg00992.html

2.28  Jan 23 18:00 2003
	- No new features.  Bug fixes only.
	- Fixed ICMP_STRUCT to work on Big Endian platforms.
	  Thanks to danb@thelittlemacshop.com (Dan Buettner)
	  for testing on Mac OS X 10.2.3 and many others
	  for testing on Big Endian boxes.
	- Not do binmode(). Causes more problems than helps.
	- Perl 5.004 compatibility fixes (Spot by Honza).

2.27  Jan 15 23:00 2003
	- Patch by slebedev@iwl.net (Sergey Lebedev):
	- 1) Fixed response packet parsing offsets in ping_icmp.
	- 2) Added icmp_result method.
	- Patch by radu@netsoft.ro (Radu Greab):
	- 1) Changed ping_tcp() to use non-blocking connect
	  instead of alarm() interface in order to avoid
	  conflicts with user applications.
	- 2) Also get rid of all eval {} code in ping_tcp
	  in order to avoid catching SIGALRM trigger and
	  to avoid conflicts with other evals.
	- 3) Avoid ioctl() syscall for more accurate error
	  detection on non-blocking tcp connects.
	- 4) Fix fcntl() syntax usage.
	- Patch by adelton@fi.muni.cz (Honza Pazdziora):
	- 1) Fix icmp request pack code to be more platform
	  independent regardless of Big/Little Endian.
	- 2) Use binmode for filehandle in case perl 5.8.0
	  tries to dink with the data stream.
	- Other changes by Rob Brown:
	- Fixed ack() failures under certain rare conditions.
	- Use more appropriate \z instead of $ in regex.
	- Resolved Cygwin "make test" problems reported by
	  h.m.brand@hccnet.nl (H.Merijn Brand).
	- Add sending a real ICMP packet in the test suite.
	- Add Socket to PREREQ_PM (missing on some boxes?)
	- Adjust syn_forking IPC pipe for fatter Win32 pids.
	- Better handling of alarm() in test suite for Win32.
	- Add a DESTROY method to reduce chances of
	  lingering connect-choking children.

2.26  Dec 02 12:00 2002
	- More compatibility fixes.
	- Thanks for Solaris bug reports:
	  Paul.Gaborit@enstimac.fr (Paul Gaborit)
	  Jost.Krieger@ruhr-uni-bochum.de (Jost Krieger)
	- Thanks for Solaris testing box:
	  Gunther.Heintzen@rrze.uni-erlangen.de (Gunther Heintzen)
	- Solaris ENOTCONN select() for write choke bug.
	- Thanks for Cygwin bug reports:
	  h.m.brand@hccnet.nl (H.Merijn Brand)
	- Cygwin "EAGAIN instead of ECONNREFUSED" buttwag.

2.25  Nov 19 12:00 2002
	- Handle condition where O_NONBLOCK tcp connects
	  immediately fail without EINPROGRESS
	  (certain platforms or SMP optimizations).

2.24  Oct 21 22:00 2002
	- Compatibility fixes.
	- Avoid using 127.1.1.1 and 127.2.2.2 because
	  it breaks on some platforms (Irix).
	- Handle condition where nonblocking tcp connects
	  immediately connect on some platforms
	  (solaris and freebsd) and to be SMP safer.
	- Win32 $p->ack( $host ) method should now work.
	- Add ack( $host ) test cases to test suite.

2.23  Oct 18 22:00 2002
	- Fix ack() fd "each" detection bug.
	- Add nack() method for OO interface to the
	  reason why the ack() failed.
	- Fix premature "Timed out" side effect when a
	  different specified ack( $host ) fails.
	- IO::Socket::INET ephemeral port buttwag
	  hack for the t/450_service.t test.
	- Documental changes.

2.22  Oct 17 16:00 2002
	- Add $p->tcp_service_check() method to enforce
	  remote tcp service availability checking.
	  Patch by jef@linuxbe.org (Jean-Francois Dive).
	- Changed default behavior of "syn" protocol to
	  disabled tcp_service_check instead of enabled.
	- Win32 compatibility changes ("syn" protocol).
	- Increase timeouts for tests in case client or
	  server network(s) are busy.

2.21  Oct 14 12:00 2002
	- Preserve/restore ALRM settings for tcp mode pings.
	  Spot by d@niel-berlin.de (Daniel Berlin)
	- Can now select device for udp and icmp protocols.
	  Patch by sarfata@altern.org (Thomas Sarlandie).
	- Add new "syn" protocol to allow for mass parallel
	  (synchronous) TCP service reachability checking.
	- Add ack() method to utilize non-blocking connect
	  (SYN/ACK) feature of the "syn" protocol.
	- Add demo/fping script as a "syn" demonstration.
	- Compatibility patches for cygwin.
	  Spot by frazee.23@osu.edu (Joseph Frazee)

2.20  Jun 20 10:00 2002
	- Perl 5.8.0 compatibility stuff.
	  Spot by dcd@tc.fluke.com (David Dyck).
	  And patch by jhi@iki.fi (Jarkko Hietaniemi).
	- Move INSTALL doc into perldoc.
	- Allow source_verify method to work
	  for icmp protocol as well as udp.
	  Spot by taner@taner.net (Taner Halicioglu)

2.19  Jun 03 19:00 2002
	- Add $p->source_verify method to skip source
	  endpoint verification of udp protocol pings for
	  those remote destinations with multiple interfaces
	  that may have the "reverse telnet" bug.
	  Spot by dcd@tc.fluke.com (David Dyck)
	- Moved files to more standard locations.
	- Less common martian used for ping test
	  to reduce conflicts

2.18  May 06 12:00 2002
	- More RPM spec generalizations.

2.17  May 03 18:00 2002
	- RPM spec generalizations.
	  michael.mclagan@linux.org (Michael McLagan)
	- Win32 compatibility changes.
	  (Didn't compile on Win32 since v2.11.)

2.16  Apr 11 14:00 2002
	- Documentation changes.
	- Added INSTALL doc.
	- Added README to rpm %doc.
	- Added neat MakeMaker constants routine.
	- Buttwag around Makefile.PL warnings:
	  o "the following files are missing in your kit"
	  o "is not a known MakeMaker parameter name"

2.15  Apr 06 23:00 2002
	- Added ABSTRACT info.
	- Allow for smoother upgrade from
	  from older Net::Ping versions.
	- Change default protocol from udp to tcp
	  so it will work on most default systems
	  without any arguments to new().

2.14  Apr 01 14:00 2002
	- Added text ip lookup feature.
	  e@arix.com (Erick Calder)

2.13  Apr 01 14:00 2002
	- Added ping time measuring feature.
	  e@arix.com (Erick Calder)
	- Optionally allow for high resolution
	  precision for timeouts and measuring
	  using the Time::HiRes module (Erick).

2.12  Feb 17 19:00 2002
	- More general error determination for
	  better cross platform consistency and
	  foreign language support.
	  Spotted by arnaud@romeconcept.com
	- Test changes for VMS (Craig Berry)

2.11  Feb 02 12:00 2002
	- Test changes in case echo port is not available.
	- Fix 110_icmp_inst.t to use icmp protocol
	  Spotted by craigberry@mac.com (Craig Berry)

2.10  Dec 26 12:00 2001
	- Added bind() function useful for clients with multiple
	  network interfaces performing the ping check thanks to
	  sethb@clarkhill.com (Seth Blumberg).
	- Execution optimizations for several constants (Seth).
	- More test changes in case Socket module is not available
	  (Jarkko Hietaniemi).

2.09  Dec 06 19:00 2001
	- Documental and test changes only.
	- No functional changes.

2.08  Dec 04 13:00 2001
	- Faster response for Win32 tcp_connect.
	- Better explanations in test comments.

2.07  Nov 28 13:00 2001
	- Compatibility changes
	- Works with UNIX and Win32 OS
	- Works with Perl 5.005 5.6.x 5.7.x 5.8.x
	- Applied several patches from distro
	- External protocol added thanks to
	  colinm@cpan.org (Colin McMillen)
	- Stream protocol added thanks to
	  bronson@trestle.com (Scott Bronson)

2.06  Nov 19 12:00 2001
	- Added Net-Ping.spec for RPM to easily
	  utilize using "rpm -ta Net-Ping*tar.gz"
	- Moved Copyright section to perldoc

2.05  Nov 18 20:00 2001
	- Added test suite

2.04  Nov 16 16:00 2001
	- Added CHANGES and README to tarball.
	- No functional changes.

2.03  Nov 15 12:00 2001
	- Portability adjustments to ping_tcp()
	  made by Rob Brown to work with most
	  default systems.

2.02  Sep 27 12:00 1996
	- Magic version by Russell Mosemann from CPAN
