1CHANGES 2------- 32.74 2020-09-09 09:21:39 rurban 4 Features 5 - Add ICMPv6_NI_REPLY support. 6 Bugfixes 7 - Fix icmp payload offset to match icmpv6 (JimC Leones GH #21) 8 Skip the 20 byte header to reliably find the various return types. 9 This unifies icmpv6 with icmp better. 10 - Fix $SOCKET::VERSION eval (Petr Pavlu, PR #22) 11 META Changes 12 - Fix and improve the META repository as hashref, license as arrayref 13 (Tom Hukins, PR #19) 14 - add TEST_REQUIRES 15 - sort MANIFEST 16 - add windows smokers: appveyor 17 Test fixes 18 - Improve the tcp test to localhost, when there is no route to localhost 19 (freebsd mostly) 20 - TODO a flaky 450_service.t on 127.0.0.1 on port 2 on Windows (analog to freebsd, ...) 21 (Christian Walde, PR #20) 22 - Skip 501_ping_icmpv6.t when icmpv6 cannot be initialized. Mostly due to missing 23 icmpv6 support. (GH #15) 24 - add more xt tests: t/602_kwalitee.t, t/603_meta.t, t/604_manifest.t 25 262.73 Thu Feb 27 14:32:25 CET 2020 (rurban) 27 Bugfixes 28 - Fix shadowing of hash options in constructor (Patrick Heesom, RT #131919) 29 - Fix icmp v4 length with given bytes/data_size option (Patrick Heesom, RT #131919) 30 - Call _resolv as class method (Marc Reissner, GH #16) 31 322.72 Thu 28 Mar 2019 09:01:39 AM CET (rurban) 33 Features 34 - add .cirrus.yml smoker https://cirrus-ci.com/github/rurban/Net-Ping 35 Test fixes 36 - Skip failing freebsd localhost resolver tests 37 382.71 Tue Oct 16 18:41:51 CEST 2018 (rurban) 39 Features 40 - Allow data_size > 1024, up to 65535, i.e. fragmented packets. 41 It is recommended to stay below 1472 though for the typical 1500 MTU. 42 Many simple devices do not allow fragmented ICMP packets (> 1472). 43 RT #17409 44 Bugfixes 45 - Fix the max_datasize documentation 46 Test fixes 47 - The 2 sudo tests on PERL_CORE with a shared perl lib 48 492.70 Tue Aug 7 10:33:24 CEST 2018 (rurban) 50 Test fixes 51 - Fix broken skip count on 510_ping_udp.t (windows only) 52 532.69 Mon Aug 6 15:13:25 CEST 2018 (rurban) 54 Test fixes 55 - Allow NET_PING_FAIL_IP override for testing an IP which should not exist, 56 RT #126006 hmbrand 57 META Changes 58 - Updated README 59 602.68 Wed Jun 27 11:55:06 CEST 2018 (rurban) 61 Bugfixes 62 - Fixed _resolv return value on failing DNS name lookup. (GH #12 nlv02636) 63 - Fixed installation dir from CPAN. Install into site, not perl there. 64 (GH #12 nlv02636) 65 662.67 Mon Jun 25 18:10:42 CEST 2018 (rurban) 67 Bugfixes 68 - Fixed non-core icmp ping test. PR #10 Guillaume Bougard 69 - Change croak on failing name lookup to return undef, 70 matching the documentation. 71 Fixes the regression from 2.43, RT #124830 72 - Stabilize Socket::VERSION comparisons, errored with Net::Socket 73 2.020_03, RT #125677 Smoot Carl-Mitchell 74 Features 75 - Added icmp message_type method with timestamp support. 76 PR #11 Guillaume Bougard 77 782.66 Thu Mar 8 16:44:03 CET 2018 (rurban) 79 Bugfixes 80 - Fixed icmpv6 ICMP_ECHOREPLY: nikolas@garofil.be RT 80479 81 - Fixed icmpv6 default family 82 - Simplify t/020_external.t 83 - Seperate timeout=0 and undef RT #97884 84 Features 85 - Added icmpv6 test. 86 - Added optional local tests hosts for the icmp tests: 87 TEST_PING_HOST and TEST_PING6_HOST 88 - allow sudo tests with local .git 89 - skip sudo test with asan leak detector on linux 90 912.65 Wed Mar 7 09:38:51 CET 2018 (rurban) 92 META Changes 93 - strip wrong Text::Template dependency and generation for the README 94 https://rt.cpan.org/Public/Bug/Display.html?id=124693 95 This is in core. 96 - Changed repo name from net-ping to Net-Ping. 97 - Changed bugtracker to https://github.com/rurban/Net-Ping/issues 98 - Made Makefile.PL more stable for the CPAN release, support older 99 perl + EUMM versions. 100 - Fixed up TODO for IPv6 101 1022.64 Sat Mar 3 15:56:14 CET 2018 (rurban) 103 Bugfixes 104 - use NIx_NOSERV flag for windows (PR #6 by chorny) 105 1062.63 Sun Nov 26 18:56:04 CET 2017 (rurban) 107 Bugfixes 108 - Keep v5.002 - v5.6 support 109 - Removed outdated demo/fping from the documentation 110 (RT #123750 by Steve Morris) 111 - Added t/420_ping_syn_port.t (#4 by Julio Fraire) 112 with fixes. 113 Features 114 - added indices and crosslinks to the documentation 115 1162.62 Tue Sep 12 13:20:25 2017 -0600 (Nicholas R) 117 Limitations (not on CPAN) 118 - Removed support for v5.002 < v5.6 by introducing our 119 1202.61 Sat Jun 17 13:12:58 CEST 2017 (rurban) 121 Bugfixes 122 - Fix ping_udp for a started udp echo server (PR#5 by Stephan Loyd) 123 1242.60 Mon Jun 12 20:14:13 CEST 2017 (rurban) 125 Bugfixes 126 - Fix t/400_ping_syn.t phases 127 - Try to handle Windows Socket::getnameinfo errors 128 - Improve some tests on missing network connections 129 1302.59 Tue Apr 18 08:46:48 2017 +0200 (rurban) 131 Bugfixes 132 - skip udp ping tests on more platforms: hpux, irix, aix. 133 also pingecho on os390. 134 (from perl5 core) 135 Features 136 - added a make release target 137 1382.58 Wed Feb 1 19:34:03 CET 2017 (rurban) 139 Features 140 - return the port num as 5th return value with ack (jfraire) 141 1422.57 Wed Feb 1 19:34:03 CET 2017 (rurban) 143 Bugfixes 144 - Resigned with new gpg key 145 1462.56 Wed Jan 18 16:00:00 2017 -0700 (bbb) 147 Bugfixes 148 - Stabilize tests 149 1502.55 Thu Oct 20 09:16:06 2016 +0200 (rurban) 151 152 Bugfixes 153 - Skip sudo for t/500_ping_icmp.t if a prompt is required 154 [RT #118451] 155 1562.54 Thu Oct 20 09:16:06 2016 +0200 (rurban) 157 158 Bugfixes 159 - Fixed ping_external argument type, either packed ip or hostname. 160 [RT #113825] 161 - Fixed wrong skip message in t/020_external.t 162 1632.53 Thu Oct 20 09:16:06 2016 +0200 (rurban) 164 165 Bugfixes 166 - Relax icmp tests on local firewalls, eg. as here on windows reported 167 by kmx. [RT #118441] 168 169 Internals 170 - Enhanced .travis.yml 171 1722.52 Tue Oct 18 16:29:29 2016 +0200 (rurban) 173 version in cperl since 5.25.2c 174 175 Bugfixes 176 - Fixed _pack_sockaddr_in for a proper 2nd argument type, hash or packed address. 177 - Improved 500_ping_icmp.t to try sudo. 178 179 Internals 180 - Converted all hash string keys to bare. 181 1822.51 Mon Oct 17 16:11:03 2016 +0200 (rurban) 183 version in cperl since 5.25.2c 184 185 Bugfixes 186 - Fixed missing _unpack_sockaddr_in family, which took AF_INET6 for 187 a AF_INET addr in t/500_ping_icmp.t and t/500_ping_icmp_ttl.t. 188 Use now a proper default. 189 1902.50 Sat Apr 16 11:50:20 2016 +0200 (rurban) 191 version in cperl since 5.22.2c 192 193 Features 194 - Handle IPv6 addresses and the AF_INET6 family. 195 - Added the optional family argument to most methods. 196 valid values: 6, "v6", "ip6", "ipv6", AF_INET6 197 - new can take now named arguments, a hashref. 198 - Added the following named arguments to new: 199 gateway host port bind retrans pingstring source_verify econnrefused 200 IPV6_USE_MIN_MTU IPV6_RECVPATHMTU IPV6_HOPLIMIT 201 - Added a dontfrag option, setting IP_DONTFRAG and on linux 202 also IP_MTU_DISCOVER to IP_PMTUDISC_DO. Note that is ignored if 203 Socket does not export IP_DONTFRAG. 204 - Added the wakeonlan method 205 - Improve argument default handling 206 - Added missing documentation 207 208 Bugfixes 209 - Reapply tos with ping_udp, when the address is changed. 210 RT #6706 (Torgny.Hofstedt@sevenlevels.se) 211 ditto re-bind to a device. 212 213 Internals 214 - $ip is now a hash with {addr, addr_in, family} not the addr_in packed IP. 215 - added _resolv replacing inet_aton, 216 _pack_sockaddr_in and _unpack_sockaddr_in replacing sockaddr_in, 217 _inet_ntoa replacing inet_ntoa 218 - Use _isroot helper, with Win32 _IsAdminUser helper. 219 - added several new tests (Steve Peters) 220 2212.43 Mon Apr 29 00:23:56 2013 -0300 222 version in perl core since 5.19.9 223 Bugfixes 224 - Handle getprotobyn{ame,umber} not being available 2252.42 Sun May 26 19:08:46 2013 -0700 226 version in perl core since 5.19.1 227 Bugfixes 228 - Stabilize tests 229 Internals 230 - wrap long pod lines 2312.41 Mar 17 09:35 2013 232 Bugfixes 233 - Windows Vista does not appear to support inet_ntop(). It seems to 234 have InetNtop() instead. So, working around by using getnameinfo() 235 and passing in the NI_NUMERICHOST to get an IP address. 236 Features 237 - Change Net::Ping to use Time::HiRes::time() instead of CORE::time() 238 by default. For most successful cases, CORE::time() returned zero. 2392.40 Mar 15 11:20 2013 240 Bugfixes 241 - several fixes to tests to stop the black smoke on Win32's 242 and Cygwin since the core updated the module to Test::More. 243 I had planned a later release, but all the black smoke is 244 forcing a release. 245 - fixes to some skips in tests that were still using the 246 Test style skip's. 247 - Documentation fix for https://rt.cpan.org/Ticket/Display.html?id=48014. 248 Thanks to Keith Taylor <keith@supanet.net.uk> 249 - Instead of using a hard-coded TOS value, import IP_TOS from 250 Socket. This fixes an outstanding bug on Solaris which uses a 251 different value for IP_TOS in it headers than Linux. I'm assuming 252 other OS's were fixed with this change as well. 253 254 Features 255 - added TTL handling for icmp pings to allow traceroute like 256 applications to be built with Net::Ping. Thanks to 257 <rolek@bokxing.nl> for the patch and tests! 258 259 Internals 260 - replaced SOL_IP with IPPROTO_IP. SOL_IP is not portable and was 261 hard-coded anyway. 262 - added IPPROTO_IP, IP_TOS, IP_TTL, and AF_INET to the list of Socket 263 constants imported. 264 - removed some hard-coded constants. 265 - converted all calls to inet_ntoa() to inet_ntop() in preparation 266 for further ipv6 updates. 267 268 Infrastructure 269 - Makefile.PL updated to require Test::More, Time::HiRes, and a 270 recent Socket 271 - several changes for github hosting 272 - add a .gitignore file 273 - added a .travis.yml file to allow CI testing with changes pushed 274 to github 275 - replaced the README with a README.md which displays the 276 Travis CI build status on github. 277 278 2792.39 Mar 13 09:25 2013 280 - patch from Matthew Musgrove to resolve RT #45812. Thanks! 281 - pulled in several changes from the Perl core 282 2832.36 Jun 08 12:00 2009 284 - release to include a few fixes from the Perl core 285 2862.35 Feb 08 14:42 2008 287 - Patch in Perl change #33242 by Nicholas Clark 288 <http://perl5.git.perl.org/perl.git/commit/5d6b07c5a4c042580b85248d570ee299fd102a79> 289 2902.34 Dec 19 08:51 2007 291 - Release primarily to prevent problems with the Perl core in 292 preparation for the Perl 5.10 release. No real bug fixes, but 293 text fixes are included. 294 - skip test t/510_ping_udp.t on Windows Vista. Thanks to Jan 295 Dubois for the code to test for Vista. 296 - t/510_ping_udp.t should check for a udp echo port, not a tcp 297 echo port. 298 2992.33 Jul 31 20:15 2007 300 - add new method port_number() rather than asking users to 301 twiddle with the internals of Net::Ping to probe a specific 302 port. This should resolve a few bugs where the documentation 303 was lacking. 304 - apply patch from bergonz at labs.it. This patch resolves 305 several problems logged regarding using Net::Ping in a multi- 306 threaded program. Thanks so much! 307 <http://rt.cpan.org/Ticket/Display.html?id=17408> 308 3092.32 Jul 30 21:30 2007 310 - new co-maintainer Steve Peters 311 - integrate assorted bleadperl fixes from the past four years 312 <http://rt.cpan.org/Public/Bug/Display.html?id=28348> 313 3142.31 Jun 28 14:00 2003 315 - Win32 Compatibility fixes. 316 Patch by mhx-perl@gmx.net (Marcus Holland-Moritz) 317 - Apply bleadperl patch #22204 318 - Add ToS support. 319 Patch by martin@lorensen.dk (Martin Lorensen) 320 3212.30 Apr 18 14:00 2003 322 - Fix select() bug for UDP and ICMP protocols 323 in case packet comes from wrong source or seq. 324 - Allow UDP ping to different IP addresses 325 without instantiating a new object. 326 - Add retrans() method to customize or disable 327 backoff factor for udp pings. 328 Thanks Torgny.Hofstedt@sevenlevels.se 329 - Let ECONNRESET be considered reachable for 330 UDP pings. Now it works for cygwin. 331 Spot by jhi@iki.fi (Jarkko Hietaniemi). 332 3332.29 Apr 12 15:00 2003 334 - Implement "double send()" concept for udp pings. 335 See: <http://perlmonks.thepen.com/42898.html> 336 Thanks to rdw @ perlmonks. 337 - Send multiple udp packets in case of loss. 338 - Exponential backoff code swiped from Net::DNS 339 Thanks to mike@fuhr.org (Michael Fuhr). 340 - Also allows to capture udp ECONNREFUSED condition. 341 - Rename tcp_service_check method to service_check. 342 - Allow demo/fping -s to force service check. 343 Idea by ralijani@yahoo.com (REZA Alijani) 344 - Fix return from ping to be compatible with wantarray 345 when the host doesn't even resolve. 346 - Add udp proto test to test suite. 347 - VMS patch from Craig Berry to pre-check echo. 348 - Apply bleadperl patch (change #18904) 349 - Apply bleadperl patch as explained: 350 http://www.xray.mpe.mpg.de/mailing-lists/perl5- 351 porters/2003-03/msg00992.html 352 3532.28 Jan 23 18:00 2003 354 - No new features. Bug fixes only. 355 - Fixed ICMP_STRUCT to work on Big Endian platforms. 356 Thanks to danb@thelittlemacshop.com (Dan Buettner) 357 for testing on Mac OS X 10.2.3 and many others 358 for testing on Big Endian boxes. 359 - Not do binmode(). Causes more problems than helps. 360 - Perl 5.004 compatibility fixes (Spot by Honza). 361 3622.27 Jan 15 23:00 2003 363 - Patch by slebedev@iwl.net (Sergey Lebedev): 364 - 1) Fixed response packet parsing offsets in ping_icmp. 365 - 2) Added icmp_result method. 366 - Patch by radu@netsoft.ro (Radu Greab): 367 - 1) Changed ping_tcp() to use non-blocking connect 368 instead of alarm() interface in order to avoid 369 conflicts with user applications. 370 - 2) Also get rid of all eval {} code in ping_tcp 371 in order to avoid catching SIGALRM trigger and 372 to avoid conflicts with other evals. 373 - 3) Avoid ioctl() syscall for more accurate error 374 detection on non-blocking tcp connects. 375 - 4) Fix fcntl() syntax usage. 376 - Patch by adelton@fi.muni.cz (Honza Pazdziora): 377 - 1) Fix icmp request pack code to be more platform 378 independent regardless of Big/Little Endian. 379 - 2) Use binmode for filehandle in case perl 5.8.0 380 tries to dink with the data stream. 381 - Other changes by Rob Brown: 382 - Fixed ack() failures under certain rare conditions. 383 - Use more appropriate \z instead of $ in regex. 384 - Resolved Cygwin "make test" problems reported by 385 h.m.brand@hccnet.nl (H.Merijn Brand). 386 - Add sending a real ICMP packet in the test suite. 387 - Add Socket to PREREQ_PM (missing on some boxes?) 388 - Adjust syn_forking IPC pipe for fatter Win32 pids. 389 - Better handling of alarm() in test suite for Win32. 390 - Add a DESTROY method to reduce chances of 391 lingering connect-choking children. 392 3932.26 Dec 02 12:00 2002 394 - More compatibility fixes. 395 - Thanks for Solaris bug reports: 396 Paul.Gaborit@enstimac.fr (Paul Gaborit) 397 Jost.Krieger@ruhr-uni-bochum.de (Jost Krieger) 398 - Thanks for Solaris testing box: 399 Gunther.Heintzen@rrze.uni-erlangen.de (Gunther Heintzen) 400 - Solaris ENOTCONN select() for write choke bug. 401 - Thanks for Cygwin bug reports: 402 h.m.brand@hccnet.nl (H.Merijn Brand) 403 - Cygwin "EAGAIN instead of ECONNREFUSED" buttwag. 404 4052.25 Nov 19 12:00 2002 406 - Handle condition where O_NONBLOCK tcp connects 407 immediately fail without EINPROGRESS 408 (certain platforms or SMP optimizations). 409 4102.24 Oct 21 22:00 2002 411 - Compatibility fixes. 412 - Avoid using 127.1.1.1 and 127.2.2.2 because 413 it breaks on some platforms (Irix). 414 - Handle condition where nonblocking tcp connects 415 immediately connect on some platforms 416 (solaris and freebsd) and to be SMP safer. 417 - Win32 $p->ack( $host ) method should now work. 418 - Add ack( $host ) test cases to test suite. 419 4202.23 Oct 18 22:00 2002 421 - Fix ack() fd "each" detection bug. 422 - Add nack() method for OO interface to the 423 reason why the ack() failed. 424 - Fix premature "Timed out" side effect when a 425 different specified ack( $host ) fails. 426 - IO::Socket::INET ephemeral port buttwag 427 hack for the t/450_service.t test. 428 - Documental changes. 429 4302.22 Oct 17 16:00 2002 431 - Add $p->tcp_service_check() method to enforce 432 remote tcp service availability checking. 433 Patch by jef@linuxbe.org (Jean-Francois Dive). 434 - Changed default behavior of "syn" protocol to 435 disabled tcp_service_check instead of enabled. 436 - Win32 compatibility changes ("syn" protocol). 437 - Increase timeouts for tests in case client or 438 server network(s) are busy. 439 4402.21 Oct 14 12:00 2002 441 - Preserve/restore ALRM settings for tcp mode pings. 442 Spot by d@niel-berlin.de (Daniel Berlin) 443 - Can now select device for udp and icmp protocols. 444 Patch by sarfata@altern.org (Thomas Sarlandie). 445 - Add new "syn" protocol to allow for mass parallel 446 (synchronous) TCP service reachability checking. 447 - Add ack() method to utilize non-blocking connect 448 (SYN/ACK) feature of the "syn" protocol. 449 - Add demo/fping script as a "syn" demonstration. 450 - Compatibility patches for cygwin. 451 Spot by frazee.23@osu.edu (Joseph Frazee) 452 4532.20 Jun 20 10:00 2002 454 - Perl 5.8.0 compatibility stuff. 455 Spot by dcd@tc.fluke.com (David Dyck). 456 And patch by jhi@iki.fi (Jarkko Hietaniemi). 457 - Move INSTALL doc into perldoc. 458 - Allow source_verify method to work 459 for icmp protocol as well as udp. 460 Spot by taner@taner.net (Taner Halicioglu) 461 4622.19 Jun 03 19:00 2002 463 - Add $p->source_verify method to skip source 464 endpoint verification of udp protocol pings for 465 those remote destinations with multiple interfaces 466 that may have the "reverse telnet" bug. 467 Spot by dcd@tc.fluke.com (David Dyck) 468 - Moved files to more standard locations. 469 - Less common martian used for ping test 470 to reduce conflicts 471 4722.18 May 06 12:00 2002 473 - More RPM spec generalizations. 474 4752.17 May 03 18:00 2002 476 - RPM spec generalizations. 477 michael.mclagan@linux.org (Michael McLagan) 478 - Win32 compatibility changes. 479 (Didn't compile on Win32 since v2.11.) 480 4812.16 Apr 11 14:00 2002 482 - Documentation changes. 483 - Added INSTALL doc. 484 - Added README to rpm %doc. 485 - Added neat MakeMaker constants routine. 486 - Buttwag around Makefile.PL warnings: 487 o "the following files are missing in your kit" 488 o "is not a known MakeMaker parameter name" 489 4902.15 Apr 06 23:00 2002 491 - Added ABSTRACT info. 492 - Allow for smoother upgrade from 493 from older Net::Ping versions. 494 - Change default protocol from udp to tcp 495 so it will work on most default systems 496 without any arguments to new(). 497 4982.14 Apr 01 14:00 2002 499 - Added text ip lookup feature. 500 e@arix.com (Erick Calder) 501 5022.13 Apr 01 14:00 2002 503 - Added ping time measuring feature. 504 e@arix.com (Erick Calder) 505 - Optionally allow for high resolution 506 precision for timeouts and measuring 507 using the Time::HiRes module (Erick). 508 5092.12 Feb 17 19:00 2002 510 - More general error determination for 511 better cross platform consistency and 512 foreign language support. 513 Spotted by arnaud@romeconcept.com 514 - Test changes for VMS (Craig Berry) 515 5162.11 Feb 02 12:00 2002 517 - Test changes in case echo port is not available. 518 - Fix 110_icmp_inst.t to use icmp protocol 519 Spotted by craigberry@mac.com (Craig Berry) 520 5212.10 Dec 26 12:00 2001 522 - Added bind() function useful for clients with multiple 523 network interfaces performing the ping check thanks to 524 sethb@clarkhill.com (Seth Blumberg). 525 - Execution optimizations for several constants (Seth). 526 - More test changes in case Socket module is not available 527 (Jarkko Hietaniemi). 528 5292.09 Dec 06 19:00 2001 530 - Documental and test changes only. 531 - No functional changes. 532 5332.08 Dec 04 13:00 2001 534 - Faster response for Win32 tcp_connect. 535 - Better explanations in test comments. 536 5372.07 Nov 28 13:00 2001 538 - Compatibility changes 539 - Works with UNIX and Win32 OS 540 - Works with Perl 5.005 5.6.x 5.7.x 5.8.x 541 - Applied several patches from distro 542 - External protocol added thanks to 543 colinm@cpan.org (Colin McMillen) 544 - Stream protocol added thanks to 545 bronson@trestle.com (Scott Bronson) 546 5472.06 Nov 19 12:00 2001 548 - Added Net-Ping.spec for RPM to easily 549 utilize using "rpm -ta Net-Ping*tar.gz" 550 - Moved Copyright section to perldoc 551 5522.05 Nov 18 20:00 2001 553 - Added test suite 554 5552.04 Nov 16 16:00 2001 556 - Added CHANGES and README to tarball. 557 - No functional changes. 558 5592.03 Nov 15 12:00 2001 560 - Portability adjustments to ping_tcp() 561 made by Rob Brown to work with most 562 default systems. 563 5642.02 Sep 27 12:00 1996 565 - Magic version by Russell Mosemann from CPAN 566