Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.50: Some new features #5

Open
wants to merge 10 commits into
base: master
Choose a base branch
from
Open

2.50: Some new features #5

wants to merge 10 commits into from

Conversation

rurban
Copy link

@rurban rurban commented Apr 16, 2016

p5p didn't agree with your test reorganization, and they are default upstream.
So use their layout, but I added your new tests there.

This is the version in cperl since 5.22.2c, I've also added better Socket support there.
I've added the latest changes from p5p.

I would prefer to get co-maint, so I can maintain it better.
Development stalled in your branch and at p5p.

   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 bind retrans pingstring source_verify econnrefused
   - Added the wakeonlan method

   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
   - added several new tests (Steve Peters)

smpeters and others added 8 commits April 16, 2016 09:21
to be compatible to upstream core
These two tests are already skipped for hpux, and one for win32.  I'm
assuming the same issue here.
There is currently no IPv6 support in Net::Ping relying on IPv4 only
routines like sockaddr_in and inet_ntoa/aton.  I've created a patch to
support IPv6.  It's 95% complete.  I'm having issues calculating the
ICMPv6 checksum.

As you may know, the ICMPv6 checksum is different than ICMPv4 in that
ICMPv6 uses a pseudo-header (much like TCP/UDP) for checksum
calculation.  How to find the source address if the user does not call
bind() before actually sending the packet?

Other than that, IPv4 remains the default and all tests result in the
same output for me as they did before the patch.  IPv6 ping now also
works, only not with ICMPv6 as transport (due to aforementioned checksum
issue).

I'd like some help getting that last ICMPv6 checksum part resolved and
get this IPv6 support added to Net::Ping.

Signed-off-by: Reini Urban <rurban@cpanel.net>
No ipv6 test and the hires test is failing.
Wrong sockaddr_in in ntop.
Document changed $ip as hash.
Add Changes

All tests pass, but ipv6 tests missing.
Need to check the ICMPv6 checksum and source address.
@rurban rurban force-pushed the icmpv6 branch 2 times, most recently from f10d127 to 35dde4c Compare April 16, 2016 10:47
Reini Urban added 2 commits April 16, 2016 15:16
Add the icmpv6 protocol,
Support named arguments for new: proto timeout data_size device tos ttl family
                  gateway host bind retrans pingstring source_verify
                  econnrefused IPV6_USE_MIN_MTU IPV6_RECVPATHMTU

Add the wakeonlan function

Add missing documentation, and t/601_pod-coverage.t
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants