r74922 - in /branches/upstream/libio-socket-ssl-perl/current: Changes META.yml SSL.pm t/nonblock.t

ghedo-guest at users.alioth.debian.org ghedo-guest at users.alioth.debian.org
Sat May 28 11:45:02 UTC 2011


Author: ghedo-guest
Date: Sat May 28 11:44:53 2011
New Revision: 74922

URL: http://svn.debian.org/wsvn/pkg-perl/?sc=1&rev=74922
Log:
[svn-upgrade] new version libio-socket-ssl-perl (1.44)

Modified:
    branches/upstream/libio-socket-ssl-perl/current/Changes
    branches/upstream/libio-socket-ssl-perl/current/META.yml
    branches/upstream/libio-socket-ssl-perl/current/SSL.pm
    branches/upstream/libio-socket-ssl-perl/current/t/nonblock.t

Modified: branches/upstream/libio-socket-ssl-perl/current/Changes
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libio-socket-ssl-perl/current/Changes?rev=74922&op=diff
==============================================================================
--- branches/upstream/libio-socket-ssl-perl/current/Changes (original)
+++ branches/upstream/libio-socket-ssl-perl/current/Changes Sat May 28 11:44:53 2011
@@ -1,4 +1,10 @@
 
+v1.44 2011.05.27
+- fix invalid call to inet_pton in verify_hostname_of_cert when 
+  identity should be verified as ipv6 address, because it contains
+  colon.
+v1.43_1 2011.05.12
+- try to make t/nonblock.t more stable, especially on Mac OS X
 v1.43 2011.05.11
 - fix t/nonblock.t
 - stability improvements t/inet6.t

Modified: branches/upstream/libio-socket-ssl-perl/current/META.yml
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libio-socket-ssl-perl/current/META.yml?rev=74922&op=diff
==============================================================================
--- branches/upstream/libio-socket-ssl-perl/current/META.yml (original)
+++ branches/upstream/libio-socket-ssl-perl/current/META.yml Sat May 28 11:44:53 2011
@@ -1,6 +1,6 @@
 --- #YAML:1.0
 name:               IO-Socket-SSL
-version:            1.43
+version:            1.44
 abstract:           Nearly transparent SSL encapsulation for IO::Socket::INET.
 author:
     - Steffen Ullrich & Peter Behroozi & Marko Asplund
@@ -17,7 +17,7 @@
     directory:
         - t
         - inc
-generated_by:       ExtUtils::MakeMaker version 6.54
+generated_by:       ExtUtils::MakeMaker version 6.55_02
 meta-spec:
     url:      http://module-build.sourceforge.net/META-spec-v1.4.html
     version:  1.4

Modified: branches/upstream/libio-socket-ssl-perl/current/SSL.pm
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libio-socket-ssl-perl/current/SSL.pm?rev=74922&op=diff
==============================================================================
--- branches/upstream/libio-socket-ssl-perl/current/SSL.pm (original)
+++ branches/upstream/libio-socket-ssl-perl/current/SSL.pm Sat May 28 11:44:53 2011
@@ -78,7 +78,7 @@
 	}) {
 		@ISA = qw(IO::Socket::INET);
 	}
-	$VERSION = '1.43';
+	$VERSION = '1.44';
 	$GLOBAL_CONTEXT_ARGS = {};
 
 	#Make $DEBUG another name for $Net::SSLeay::trace
@@ -1104,7 +1104,8 @@
 			#  make sure that Socket6 was loaded properly
 			UNIVERSAL::can( __PACKAGE__, 'inet_pton' ) or croak
 				q[Looks like IPv6 address, make sure that Socket6 is loaded or make "use IO::Socket::SSL 'inet6'];
-			$ipn = inet_pton( $identity ) or croak "'$identity' is not IPv6, but neither IPv4 nor hostname";
+			$ipn = inet_pton(AF_INET6,$identity) 
+				or croak "'$identity' is not IPv6, but neither IPv4 nor hostname";
 		} elsif ( $identity =~m{^\d+\.\d+\.\d+\.\d+$} ) {
 			 # definitly no hostname, try IPv4
 			$ipn = inet_aton( $identity ) or croak "'$identity' is not IPv4, but neither IPv6 nor hostname";

Modified: branches/upstream/libio-socket-ssl-perl/current/t/nonblock.t
URL: http://svn.debian.org/wsvn/pkg-perl/branches/upstream/libio-socket-ssl-perl/current/t/nonblock.t?rev=74922&op=diff
==============================================================================
--- branches/upstream/libio-socket-ssl-perl/current/t/nonblock.t (original)
+++ branches/upstream/libio-socket-ssl-perl/current/t/nonblock.t Sat May 28 11:44:53 2011
@@ -91,11 +91,21 @@
 
 	# nonblocking connect of tcp socket
 	while (1) {
-	    $to_server->connect( $server_addr ) && last;
-	    if ( $! == EINPROGRESS ) {
+	    connect($to_server,$server_addr ) && last;
+	    if ( $!{EINPROGRESS} ) {
 		diag( 'connect in progress' );
-		IO::Select->new( $to_server )->can_read(30) && next;
+		IO::Select->new( $to_server )->can_write(30) && next;
 		print "not ";
+		last;
+	    } elsif ( $!{EALREADY} ) {	
+		diag( 'connect not yet completed'); 
+		# just wait
+		select(undef,undef,undef,0.1);
+		next;
+	    } elsif ( $!{EISCONN} ) {
+		diag('claims that socket is already connected');
+		# found on Mac OS X, dunno why it does not tell me that
+		# the connect succeeded before
 		last;
 	    }
 	    diag( 'connect failed: '.$! );
@@ -111,7 +121,27 @@
 	$to_server->blocking(0);
 
 	# send some plain text on non-ssl socket
-	syswrite( $to_server,'plaintext' ) || print "not ";
+	my $pmsg = 'plaintext';
+	while ( $pmsg ne '' ) {
+	    my $w = syswrite( $to_server,$pmsg );
+	    if ( ! defined $w ) {
+	    	if ( ! $!{EAGAIN} ) {
+		    diag("syswrite failed with $!");
+		    print "not ";
+		    last;
+		}
+		IO::Select->new($to_server)->can_write(30) or do {
+		    diag("failed to get write ready");
+		    print "not ";
+		    last;
+		};
+	    } elsif ( $w>0 ) {
+	    	diag("wrote $w bytes");
+		substr($pmsg,0,$w,'');
+	    } else {
+		die "syswrite returned 0";
+	    }
+	}
 	ok( "write plain text" );
 
 	# let server catch up, so that it awaits my connection




More information about the Pkg-perl-cvs-commits mailing list