In perl.git, the branch blead has been updated <http://perl5.git.perl.org/perl.git/commitdiff/4162ad3831017e260ebcd8d24b2169f3a3036845?hp=a845303db8f4bb4f618588d3f8e0f4356427de94>
- Log ----------------------------------------------------------------- commit 4162ad3831017e260ebcd8d24b2169f3a3036845 Author: Steve Hay <[email protected]> Date: Mon Mar 30 08:38:07 2015 +0100 No need to list FindExt in perldelta - it isn't an installed module M pod/perldelta.pod commit 79a771277b79fccc1107de68b1b6fffe953f2d26 Author: Steve Hay <[email protected]> Date: Mon Mar 30 08:35:36 2015 +0100 Sort list of upgraded modules in perldelta M pod/perldelta.pod commit 60dcce551ca1ba36e908899ce72f10e2842787f1 Author: Steve Hay <[email protected]> Date: Mon Mar 30 08:34:26 2015 +0100 perldelta for previous commit M pod/perldelta.pod commit be3cfe4c756a1d69583e9e0f31aa85cacc6d18e5 Author: Steve Hay <[email protected]> Date: Thu Mar 26 08:26:27 2015 +0000 Upgrade IO-Socket-IP from version 0.36 to 0.37 M Porting/Maintainers.pl M cpan/IO-Socket-IP/lib/IO/Socket/IP.pm M cpan/IO-Socket-IP/t/02local-server-v4.t M cpan/IO-Socket-IP/t/03local-cross-v4.t M cpan/IO-Socket-IP/t/05local-server-v6.t M cpan/IO-Socket-IP/t/06local-cross-v6.t M cpan/IO-Socket-IP/t/16v6only.t ----------------------------------------------------------------------- Summary of changes: Porting/Maintainers.pl | 2 +- cpan/IO-Socket-IP/lib/IO/Socket/IP.pm | 32 +++++++++++++++++--------------- cpan/IO-Socket-IP/t/02local-server-v4.t | 6 +++++- cpan/IO-Socket-IP/t/03local-cross-v4.t | 2 +- cpan/IO-Socket-IP/t/05local-server-v6.t | 2 +- cpan/IO-Socket-IP/t/06local-cross-v6.t | 2 +- cpan/IO-Socket-IP/t/16v6only.t | 4 ++++ pod/perldelta.pod | 18 +++++++++--------- 8 files changed, 39 insertions(+), 29 deletions(-) diff --git a/Porting/Maintainers.pl b/Porting/Maintainers.pl index ede0cfb..39bbd61 100755 --- a/Porting/Maintainers.pl +++ b/Porting/Maintainers.pl @@ -628,7 +628,7 @@ use File::Glob qw(:case); }, 'IO::Socket::IP' => { - 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.36.tar.gz', + 'DISTRIBUTION' => 'PEVANS/IO-Socket-IP-0.37.tar.gz', 'FILES' => q[cpan/IO-Socket-IP], 'EXCLUDED' => [ qr{^examples/}, diff --git a/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm b/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm index 5435f4f..3266fab 100644 --- a/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm +++ b/cpan/IO-Socket-IP/lib/IO/Socket/IP.pm @@ -7,7 +7,7 @@ package IO::Socket::IP; # $VERSION needs to be set before use base 'IO::Socket' # - https://rt.cpan.org/Ticket/Display.html?id=92107 BEGIN { - $VERSION = '0.36'; + $VERSION = '0.37'; } use strict; @@ -396,6 +396,12 @@ sub _io_socket_ip__configure my @localinfos; my @peerinfos; + my $listenqueue = $arg->{Listen}; + if( defined $listenqueue and + ( defined $arg->{PeerHost} || defined $arg->{PeerService} || defined $arg->{PeerAddrInfo} ) ) { + croak "Cannot Listen with a peer address"; + } + if( defined $arg->{GetAddrInfoFlags} ) { $hints{flags} = $arg->{GetAddrInfoFlags}; } @@ -503,10 +509,6 @@ sub _io_socket_ip__configure push @sockopts_enabled, SO_REUSEPORT if $arg->{ReusePort}; push @sockopts_enabled, SO_BROADCAST if $arg->{Broadcast}; - my $listenqueue = $arg->{Listen}; - - croak "Cannot Listen with a PeerHost" if defined $listenqueue and @peerinfos; - my $blocking = $arg->{Blocking}; defined $blocking or $blocking = 1; @@ -628,7 +630,7 @@ sub setup return 1; } - if( $! == EINPROGRESS or HAVE_MSWIN32 && $! == Errno::EWOULDBLOCK() ) { + if( $! == EINPROGRESS or $! == EWOULDBLOCK ) { ${*$self}{io_socket_ip_connect_in_progress} = 1; return 0; } @@ -820,11 +822,11 @@ Return the resolved name of the local port number =cut -sub sockhost { my $self = shift; ( $self->_get_host_service( $self->sockname, NI_NUMERICHOST, NIx_NOSERV ) )[0] } -sub sockport { my $self = shift; ( $self->_get_host_service( $self->sockname, NI_NUMERICSERV, NIx_NOHOST ) )[1] } +sub sockhost { my $self = shift; scalar +( $self->_get_host_service( $self->sockname, NI_NUMERICHOST, NIx_NOSERV ) )[0] } +sub sockport { my $self = shift; scalar +( $self->_get_host_service( $self->sockname, NI_NUMERICSERV, NIx_NOHOST ) )[1] } -sub sockhostname { my $self = shift; ( $self->_get_host_service( $self->sockname, 0, NIx_NOSERV ) )[0] } -sub sockservice { my $self = shift; ( $self->_get_host_service( $self->sockname, 0, NIx_NOHOST ) )[1] } +sub sockhostname { my $self = shift; scalar +( $self->_get_host_service( $self->sockname, 0, NIx_NOSERV ) )[0] } +sub sockservice { my $self = shift; scalar +( $self->_get_host_service( $self->sockname, 0, NIx_NOHOST ) )[1] } =head2 $addr = $sock->sockaddr @@ -873,11 +875,11 @@ Return the resolved name of the peer port number =cut -sub peerhost { my $self = shift; ( $self->_get_host_service( $self->peername, NI_NUMERICHOST, NIx_NOSERV ) )[0] } -sub peerport { my $self = shift; ( $self->_get_host_service( $self->peername, NI_NUMERICSERV, NIx_NOHOST ) )[1] } +sub peerhost { my $self = shift; scalar +( $self->_get_host_service( $self->peername, NI_NUMERICHOST, NIx_NOSERV ) )[0] } +sub peerport { my $self = shift; scalar +( $self->_get_host_service( $self->peername, NI_NUMERICSERV, NIx_NOHOST ) )[1] } -sub peerhostname { my $self = shift; ( $self->_get_host_service( $self->peername, 0, NIx_NOSERV ) )[0] } -sub peerservice { my $self = shift; ( $self->_get_host_service( $self->peername, 0, NIx_NOHOST ) )[1] } +sub peerhostname { my $self = shift; scalar +( $self->_get_host_service( $self->peername, 0, NIx_NOSERV ) )[0] } +sub peerservice { my $self = shift; scalar +( $self->_get_host_service( $self->peername, 0, NIx_NOHOST ) )[1] } =head2 $addr = $peer->peeraddr @@ -917,7 +919,7 @@ sub socket :method # Versions of IO::Socket before 1.35 may leave socktype undef if from, say, an # ->fdopen call. In this case we'll apply a fix BEGIN { - if( $IO::Socket::VERSION < 1.35 ) { + if( eval($IO::Socket::VERSION) < 1.35 ) { *socktype = sub { my $self = shift; my $type = $self->SUPER::socktype; diff --git a/cpan/IO-Socket-IP/t/02local-server-v4.t b/cpan/IO-Socket-IP/t/02local-server-v4.t index 5f7d0fb..c0d349f 100644 --- a/cpan/IO-Socket-IP/t/02local-server-v4.t +++ b/cpan/IO-Socket-IP/t/02local-server-v4.t @@ -27,7 +27,7 @@ foreach my $socktype (qw( SOCK_STREAM SOCK_DGRAM )) { my $testserver = IO::Socket::IP->new( ( $socktype eq "SOCK_STREAM" ? ( Listen => 1 ) : () ), LocalHost => "127.0.0.1", - Port => 0, + LocalPort => "0", Type => Socket->$socktype, ); @@ -43,6 +43,10 @@ foreach my $socktype (qw( SOCK_STREAM SOCK_DGRAM )) { ok( eval { $testserver->peerport; 1 }, "\$testserver->peerport does not die for $socktype" ) or do { chomp( my $e = $@ ); diag( "Exception was: $e" ) }; + is_deeply( { host => $testserver->peerhost, port => $testserver->peerport }, + { host => undef, port => undef }, + 'peerhost/peersock yield scalar' ); + my $socket = IO::Socket::INET->new( PeerHost => "127.0.0.1", PeerPort => $testserver->sockport, diff --git a/cpan/IO-Socket-IP/t/03local-cross-v4.t b/cpan/IO-Socket-IP/t/03local-cross-v4.t index 4d75d95..8cac72a 100644 --- a/cpan/IO-Socket-IP/t/03local-cross-v4.t +++ b/cpan/IO-Socket-IP/t/03local-cross-v4.t @@ -11,7 +11,7 @@ foreach my $socktype (qw( SOCK_STREAM SOCK_DGRAM )) { my $testserver = IO::Socket::IP->new( ( $socktype eq "SOCK_STREAM" ? ( Listen => 1 ) : () ), LocalHost => "127.0.0.1", - Port => 0, + LocalPort => "0", Type => Socket->$socktype, ) or die "Cannot listen on PF_INET - $@"; diff --git a/cpan/IO-Socket-IP/t/05local-server-v6.t b/cpan/IO-Socket-IP/t/05local-server-v6.t index cecdbd5..bd33d41 100644 --- a/cpan/IO-Socket-IP/t/05local-server-v6.t +++ b/cpan/IO-Socket-IP/t/05local-server-v6.t @@ -33,7 +33,7 @@ foreach my $socktype (qw( SOCK_STREAM SOCK_DGRAM )) { my $testserver = IO::Socket::IP->new( ( $socktype eq "SOCK_STREAM" ? ( Listen => 1 ) : () ), LocalHost => "::1", - Port => 0, + LocalPort => "0", Type => Socket->$socktype, GetAddrInfoFlags => 0, # disable AI_ADDRCONFIG ); diff --git a/cpan/IO-Socket-IP/t/06local-cross-v6.t b/cpan/IO-Socket-IP/t/06local-cross-v6.t index 8d40f4a..9618b97 100644 --- a/cpan/IO-Socket-IP/t/06local-cross-v6.t +++ b/cpan/IO-Socket-IP/t/06local-cross-v6.t @@ -14,7 +14,7 @@ foreach my $socktype (qw( SOCK_STREAM SOCK_DGRAM )) { my $testserver = IO::Socket::IP->new( ( $socktype eq "SOCK_STREAM" ? ( Listen => 1 ) : () ), LocalHost => "::1", - Port => 0, + LocalPort => "0", Type => Socket->$socktype, ) or die "Cannot listen on PF_INET6 - $@"; diff --git a/cpan/IO-Socket-IP/t/16v6only.t b/cpan/IO-Socket-IP/t/16v6only.t index 8e3ee31..d900cd7 100644 --- a/cpan/IO-Socket-IP/t/16v6only.t +++ b/cpan/IO-Socket-IP/t/16v6only.t @@ -14,6 +14,10 @@ eval { IO::Socket::IP->new( LocalHost => "::1" ) } or eval { defined IPV6_V6ONLY } or plan skip_all => "IPV6_V6ONLY not available"; +# https://rt.cpan.org/Ticket/Display.html?id=102662 +$^O eq "irix" and + plan skip_all => "$^O: IPV6_V6ONLY exists but getnameinfo() fails with EAI_NONAME"; + # Don't be locale-sensitive $! = Errno::ECONNREFUSED; my $ECONNREFUSED_STR = "$!"; diff --git a/pod/perldelta.pod b/pod/perldelta.pod index a681cda..d3ca2cd 100644 --- a/pod/perldelta.pod +++ b/pod/perldelta.pod @@ -126,9 +126,11 @@ XXX =item * -L<Module::CoreList> has been upgraded from version 5.20150320 to 5.20150420. +L<attributes> has been upgraded from version 0.26 to 0.27. -Updated to cover the latest releases of Perl. +=item * + +L<Cwd> has been upgraded from version 3.55 to 3.56. =item * @@ -136,11 +138,13 @@ L<ExtUtils::Miniperl> has been upgraded from version 1.04 to 1.05. =item * -FindExt has been upgraded from version 1.02 to 1.03. +L<IO::Socket::IP> has been upgraded from version 0.36 to 0.37. =item * -L<Cwd> has been upgraded from version 3.55 to 3.56. +L<Module::CoreList> has been upgraded from version 5.20150320 to 5.20150420. + +Updated to cover the latest releases of Perl. =item * @@ -148,16 +152,12 @@ L<PerlIO::mmap> has been upgraded from version 0.013 to 0.014. =item * -L<attributes> has been upgraded from version 0.26 to 0.27. +L<utf8> has been upgraded from version 1.15 to 1.16. =item * L<warnings> has been upgraded from version 1.31 to 1.32. -=item * - -L<utf8> has been upgraded from version 1.15 to 1.16. - =back =head2 Removed Modules and Pragmata -- Perl5 Master Repository
