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