diff options
author | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2013-10-28 22:38:11 +0000 |
---|---|---|
committer | Chris 'BinGOs' Williams <chris@bingosnet.co.uk> | 2013-10-28 22:38:11 +0000 |
commit | 538c5178ddc0470ec56edd6c1ef5416c46f217c7 (patch) | |
tree | fbf9a5c0b31e49e003f3567a6151f8de319ff98a /cpan/Socket | |
parent | c010de1f1b69b5f07f06f13fa2ac1ec823efb1bc (diff) | |
download | perl-538c5178ddc0470ec56edd6c1ef5416c46f217c7.tar.gz |
Update Socket to CPAN version 2.013
[DELTA]
2.013 2031/10/28 00:49:43
[BUGFIXES]
* Unit-test bugfixes for VMS (RT89766):
+ Need to pass protocol => IPPROTO_TCP to avoid SCTP as well
+ Perform AI_NUMERICHOST test against non-"localhost"
+ May have to set NI_NUMERICSERV flag if it fails without
Diffstat (limited to 'cpan/Socket')
-rw-r--r-- | cpan/Socket/Socket.pm | 2 | ||||
-rw-r--r-- | cpan/Socket/t/getaddrinfo.t | 12 | ||||
-rw-r--r-- | cpan/Socket/t/getnameinfo.t | 10 |
3 files changed, 16 insertions, 8 deletions
diff --git a/cpan/Socket/Socket.pm b/cpan/Socket/Socket.pm index ed41f2a5b6..438f11a7f9 100644 --- a/cpan/Socket/Socket.pm +++ b/cpan/Socket/Socket.pm @@ -3,7 +3,7 @@ package Socket; use strict; { use 5.006001; } -our $VERSION = '2.012'; +our $VERSION = '2.013'; =head1 NAME diff --git a/cpan/Socket/t/getaddrinfo.t b/cpan/Socket/t/getaddrinfo.t index e4ae57c732..b1b19118c1 100644 --- a/cpan/Socket/t/getaddrinfo.t +++ b/cpan/Socket/t/getaddrinfo.t @@ -54,8 +54,8 @@ cmp_ok( $err, "==", 0, '$err == 0 for host=127.0.0.1/service=undef' ); '$res[0] addr is {"127.0.0.1", ??}' ); } -( $err, @res ) = getaddrinfo( "", "80", { family => AF_INET, socktype => SOCK_STREAM } ); -cmp_ok( $err, "==", 0, '$err == 0 for service=80/family=AF_INET/socktype=STREAM' ); +( $err, @res ) = getaddrinfo( "", "80", { family => AF_INET, socktype => SOCK_STREAM, protocol => IPPROTO_TCP } ); +cmp_ok( $err, "==", 0, '$err == 0 for service=80/family=AF_INET/socktype=STREAM/protocol=IPPROTO_TCP' ); is( scalar @res, 1, '@res has 1 result' ); # Just pick the first one @@ -102,8 +102,12 @@ SKIP: { # Now check that names with AI_NUMERICHOST fail -( $err, @res ) = getaddrinfo( "localhost", "ftp", { flags => AI_NUMERICHOST, socktype => SOCK_STREAM } ); -ok( $err != 0, '$err != 0 for host=localhost/service=ftp/flags=AI_NUMERICHOST/socktype=SOCK_STREAM' ); +SKIP: { + skip "Resolver has no answer for $goodhost", 1 unless gethostbyname( $goodhost ); + + ( $err, @res ) = getaddrinfo( $goodhost, "ftp", { flags => AI_NUMERICHOST, socktype => SOCK_STREAM } ); + ok( $err != 0, "\$err != 0 for host=$goodhost/service=ftp/flags=AI_NUMERICHOST/socktype=SOCK_STREAM" ); +} # Some sanity checking on the hints hash ok( defined eval { getaddrinfo( "127.0.0.1", "80", undef ); 1 }, diff --git a/cpan/Socket/t/getnameinfo.t b/cpan/Socket/t/getnameinfo.t index ca24e2c214..035b3452b6 100644 --- a/cpan/Socket/t/getnameinfo.t +++ b/cpan/Socket/t/getnameinfo.t @@ -32,11 +32,15 @@ is( $host, $expect_host, "\$host is $expect_host for NS" ); is( $service, "80", '$service is 80 for NS' ); # Probably "www" but we'd better ask the system to be sure +my $flags = NI_NUMERICHOST; my $expect_service = getservbyport( 80, "tcp" ); -defined $expect_service or $expect_service = "80"; +unless( defined $expect_service ) { + $expect_service = "80"; + $flags |= NI_NUMERICSERV; # don't seem to have a service name +} -( $err, $host, $service ) = getnameinfo( pack_sockaddr_in( 80, inet_aton( "127.0.0.1" ) ), NI_NUMERICHOST ); -cmp_ok( $err, "==", 0, '$err == 0 for {family=AF_INET,port=80,sinaddr=127.0.0.1}/NI_NUMERICHOST' ); +( $err, $host, $service ) = getnameinfo( pack_sockaddr_in( 80, inet_aton( "127.0.0.1" ) ), $flags ); +cmp_ok( $err, "==", 0, '$err == 0 for {family=AF_INET,port=80,sinaddr=127.0.0.1}/NI_NUMERICHOST[|NI_NUMERICSERV]' ); is( $host, "127.0.0.1", '$host is 127.0.0.1 for NH' ); is( $service, $expect_service, "\$service is $expect_service for NH" ); |