Hello community, here is the log from the commit of package perl-IO-Socket-SSL checked in at Thu Dec 14 02:04:01 CET 2006. -------- --- perl-IO-Socket-SSL/perl-IO-Socket-SSL.changes 2006-09-15 19:50:21.000000000 +0200 +++ /mounts/work_src_done/STABLE/perl-IO-Socket-SSL/perl-IO-Socket-SSL.changes 2006-12-13 13:35:24.000000000 +0100 @@ -1,0 +2,11 @@ +Wed Dec 13 12:18:37 CET 2006 - anicka@suse.cz + +- update to 1.02 + * added some info to BUGS and to BUGS section of pod + * added TELL and BINMODE to IO::Socket::SSL::SSL_HANDLE, even + if they do nothing useful. + * all tests allocate now the ports dynamically, so there should + be no longer a conflict with open ports on the system where + the tests run + +------------------------------------------------------------------- Old: ---- IO-Socket-SSL-1.01-store_set_flags.diff IO-Socket-SSL-1.01.tar.bz2 New: ---- IO-Socket-SSL-1.02-store_set_flags.diff IO-Socket-SSL-1.02.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-IO-Socket-SSL.spec ++++++ --- /var/tmp/diff_new_pack.sPexFQ/_old 2006-12-14 02:03:28.000000000 +0100 +++ /var/tmp/diff_new_pack.sPexFQ/_new 2006-12-14 02:03:28.000000000 +0100 @@ -1,5 +1,5 @@ # -# spec file for package perl-IO-Socket-SSL (Version 1.01) +# spec file for package perl-IO-Socket-SSL (Version 1.02) # # Copyright (c) 2006 SUSE LINUX Products GmbH, Nuernberg, Germany. # This file and all modifications and additions to the pristine @@ -12,7 +12,7 @@ Name: perl-IO-Socket-SSL BuildRequires: perl-Net_SSLeay perl-libwww-perl -Version: 1.01 +Version: 1.02 Release: 1 Provides: p_iossl Obsoletes: p_iossl @@ -64,6 +64,14 @@ /var/adm/perl-modules/%{name} %changelog -n perl-IO-Socket-SSL +* Wed Dec 13 2006 - anicka@suse.cz +- update to 1.02 + * added some info to BUGS and to BUGS section of pod + * added TELL and BINMODE to IO::Socket::SSL::SSL_HANDLE, even + if they do nothing useful. + * all tests allocate now the ports dynamically, so there should + be no longer a conflict with open ports on the system where + the tests run * Thu Sep 14 2006 - anicka@suse.cz - update to 1.01 * add support for Diffie Hellman Key Exchange. ++++++ IO-Socket-SSL-1.01-store_set_flags.diff -> IO-Socket-SSL-1.02-store_set_flags.diff ++++++ ++++++ IO-Socket-SSL-1.01.tar.bz2 -> IO-Socket-SSL-1.02.tar.bz2 ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/BUGS new/IO-Socket-SSL-1.02/BUGS --- old/IO-Socket-SSL-1.01/BUGS 2006-08-15 22:12:46.000000000 +0200 +++ new/IO-Socket-SSL-1.02/BUGS 2006-12-01 10:39:42.000000000 +0100 @@ -2,6 +2,13 @@ Following are some common errors to watch out for: +It doesn't work together with Storable::fd_retrieve|fd_store, see +https://rt.cpan.org/Ticket/Display.html?id=23419. +You need to use freeze/nfreeze/thaw and syswrite/sysread the data +yourself. See the bug for examples how to do it. + +--------------------- + If you get an SSL connection but not certificate you might check the cipher with Net::SSLeay::get_cipher( $socket->_get_ssl_object ). If it is something like 'ADH-AES256-SHA' you should try to disable @@ -11,6 +18,14 @@ --------------------- +There is a problem with openssl versions 0.9.8a and 0.9.8b, see +http://marc.theaimsgroup.com/?l=openssl-dev&m=113550694922967&w=2 +The bug was fixed in newer releases, but if you are forced to use +these buggy versions you should apply a patch to Net::SSLeay 1.30, +see http://rt.cpan.org/Public/Bug/Display.html?id=22910. + +--------------------- + IO::Socket::SSL does not currently support using both IPv4 and IPv6 in the same program. For a quick workaround, copy the module 'SSL.pm' to another named 'SSL6.pm' and adjust the package declaration diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/Changes new/IO-Socket-SSL-1.02/Changes --- old/IO-Socket-SSL-1.01/Changes 2006-09-13 13:07:24.000000000 +0200 +++ new/IO-Socket-SSL-1.02/Changes 2006-12-01 10:54:59.000000000 +0100 @@ -1,3 +1,10 @@ +v1.02 + - added some info to BUGS and to BUGS section of pod + - added TELL and BINMODE to IO::Socket::SSL::SSL_HANDLE, even + if they do nothing useful. + - all tests allocate now the ports dynamically, so there should + be no longer a conflict with open ports on the system where + the tests run v1.01 - work around Bug in Net::HTTPS where it defines sub blocking as {}, e.g. force scalar context when calling sub blocking diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/SSL.pm new/IO-Socket-SSL-1.02/SSL.pm --- old/IO-Socket-SSL-1.01/SSL.pm 2006-09-13 13:04:19.000000000 +0200 +++ new/IO-Socket-SSL-1.02/SSL.pm 2006-12-01 10:51:44.000000000 +0100 @@ -40,7 +40,7 @@ BEGIN { # Declare @ISA, $VERSION, $GLOBAL_CONTEXT_ARGS @ISA = qw(IO::Socket::INET); - $VERSION = '1.01'; + $VERSION = '1.02'; $GLOBAL_CONTEXT_ARGS = {}; #Make $DEBUG another name for $Net::SSLeay::trace @@ -748,6 +748,7 @@ package IO::Socket::SSL::SSL_HANDLE; use strict; use vars qw($HAVE_WEAKREF); +use Errno 'EBADF'; BEGIN { local ($@, $SIG{__DIE__}); @@ -774,6 +775,9 @@ sub FILENO { ${shift()}->fileno (@_) } +sub TELL { $! = EBADF; return -1 } +sub BINMODE { return 0 } # not perfect, but better than not implementing the method + sub CLOSE { #<---- Do not change this function! my $ssl = ${$_[0]}; local @_; @@ -1412,6 +1416,9 @@ uses a global object to access some of the API of openssl and is therefore not threadsafe. +IO::Socket::SSL does not work together with Storable::fd_retrieve/fd_store. +See BUGS file for more information and how to work around the problem. + =head1 LIMITATIONS IO::Socket::SSL uses Net::SSLeay as the shiny interface to OpenSSL, which is diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/t/02settings.t new/IO-Socket-SSL-1.02/t/02settings.t --- old/IO-Socket-SSL-1.01/t/02settings.t 2006-07-18 15:23:19.000000000 +0200 +++ new/IO-Socket-SSL-1.02/t/02settings.t 2006-12-01 10:15:24.000000000 +0100 @@ -4,15 +4,16 @@ use IO::Socket::SSL; eval {require "t/ssl_settings.req";} || eval {require "ssl_settings.req";}; -use vars qw($SSL_SERVER_PORT $SSL_SERVER_ADDR); +use vars qw($SSL_SERVER_ADDR); print "1..1\n"; $test=1; -my $server = new IO::Socket::INET(LocalPort => $SSL_SERVER_PORT, - LocalAddr => $SSL_SERVER_ADDR, - Listen => 1, - ReuseAddr => 1); +my $server = IO::Socket::INET->new( + # pick any port on LocalAddr + LocalAddr => $SSL_SERVER_ADDR, + Listen => 1 +); if (!$server) { print "Bail out! "; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/t/cert_no_file.t new/IO-Socket-SSL-1.02/t/cert_no_file.t --- old/IO-Socket-SSL-1.01/t/cert_no_file.t 2006-07-24 16:14:59.000000000 +0200 +++ new/IO-Socket-SSL-1.02/t/cert_no_file.t 2006-12-01 10:16:36.000000000 +0100 @@ -16,7 +16,7 @@ use IO::Socket::SSL; use strict; -use vars qw( $SSL_SERVER_PORT $SSL_SERVER_ADDR ); +use vars qw( $SSL_SERVER_ADDR ); do "t/ssl_settings.req" || do "ssl_settings.req"; if ( grep { $^O =~m{$_} } qw( MacOS VOS vmesa riscos amigaos ) ) { diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/t/compatibility.t new/IO-Socket-SSL-1.02/t/compatibility.t --- old/IO-Socket-SSL-1.01/t/compatibility.t 2006-07-18 15:23:19.000000000 +0200 +++ new/IO-Socket-SSL-1.02/t/compatibility.t 2006-12-01 10:18:48.000000000 +0100 @@ -3,6 +3,7 @@ # `make test'. After `make install' it should work as `perl t/compatibility.t' use IO::Socket::SSL; +use Socket; eval {require "t/ssl_settings.req";} || eval {require "ssl_settings.req";}; @@ -21,10 +22,11 @@ IO::Socket::SSL::context_init(SSL_verify_mode => 0x01, SSL_version => 'TLSv1' ); -my $server = new IO::Socket::INET(LocalPort => $SSL_SERVER_PORT, - LocalAddr => $SSL_SERVER_ADDR, - Listen => 1, - Proto => 'tcp', ReuseAddr => 1, Timeout => 15); +my $server = IO::Socket::INET->new( + LocalAddr => $SSL_SERVER_ADDR, + Listen => 1, + Proto => 'tcp', ReuseAddr => 1, Timeout => 15 +); if (!$server) { print "Bail out! "; @@ -34,6 +36,8 @@ exit; } +my ($SSL_SERVER_PORT) = unpack_sockaddr_in( $server->sockname ); + print "ok\n"; unless (fork) { diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/t/core.t new/IO-Socket-SSL-1.02/t/core.t --- old/IO-Socket-SSL-1.01/t/core.t 2006-07-24 16:15:07.000000000 +0200 +++ new/IO-Socket-SSL-1.02/t/core.t 2006-12-01 10:21:03.000000000 +0100 @@ -47,19 +47,20 @@ (SSL_key_file => "certs/client-key.pem"); -my $server = new IO::Socket::SSL(LocalPort => $SSL_SERVER_PORT, - LocalAddr => $SSL_SERVER_ADDR, - Listen => 2, - Timeout => 30, - ReuseAddr => 1, - SSL_verify_mode => 0x00, - SSL_ca_file => "certs/test-ca.pem", - SSL_use_cert => 1, - SSL_cert_file => "certs/client-cert.pem", - SSL_version => 'TLSv1', - SSL_cipher_list => 'HIGH', - SSL_error_trap => \&error_trap, - %extra_options); +my $server = IO::Socket::SSL->new( + LocalAddr => $SSL_SERVER_ADDR, + Listen => 2, + Timeout => 30, + ReuseAddr => 1, + SSL_verify_mode => 0x00, + SSL_ca_file => "certs/test-ca.pem", + SSL_use_cert => 1, + SSL_cert_file => "certs/client-cert.pem", + SSL_version => 'TLSv1', + SSL_cipher_list => 'HIGH', + SSL_error_trap => \&error_trap, + %extra_options +); if (!$server) { print "not ok\n"; @@ -70,6 +71,9 @@ print "not " if (!defined fileno($server)); &ok("Server Fileno Check"); +my ($SSL_SERVER_PORT) = unpack_sockaddr_in( $server->sockname ); + + unless (fork) { close $server; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/t/nonblock.t new/IO-Socket-SSL-1.02/t/nonblock.t --- old/IO-Socket-SSL-1.01/t/nonblock.t 2006-07-24 16:15:40.000000000 +0200 +++ new/IO-Socket-SSL-1.02/t/nonblock.t 2006-12-01 10:22:06.000000000 +0100 @@ -10,7 +10,7 @@ use Errno qw( EAGAIN EINPROGRESS EPIPE ECONNRESET ); use strict; -use vars qw( $SSL_SERVER_PORT $SSL_SERVER_ADDR ); +use vars qw( $SSL_SERVER_ADDR ); do "t/ssl_settings.req" || do "ssl_settings.req"; if ( ! eval "use 5.006; use IO::Select; return 1" ) { @@ -44,7 +44,6 @@ my $ID = 'server'; my $server = IO::Socket::INET->new( Blocking => 0, - LocalPort => $SSL_SERVER_PORT, LocalAddr => $SSL_SERVER_ADDR, Listen => 2, ReuseAddr => 1, @@ -53,7 +52,7 @@ print "not ok: $!\n", exit if !$server; # Address in use? ok("Server Initialization"); - +my ($SSL_SERVER_PORT) = unpack_sockaddr_in( $server->sockname ); defined( my $pid = fork() ) || die $!; if ( $pid == 0 ) { diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/t/sessions.t new/IO-Socket-SSL-1.02/t/sessions.t --- old/IO-Socket-SSL-1.01/t/sessions.t 2006-07-18 15:23:19.000000000 +0200 +++ new/IO-Socket-SSL-1.02/t/sessions.t 2006-12-01 10:35:44.000000000 +0100 @@ -3,6 +3,7 @@ # `make test'. After `make install' it should work as `perl t/core.t' use Net::SSLeay; +use Socket; use IO::Socket::SSL; eval {require "t/ssl_settings.req";} || eval {require "ssl_settings.req";}; @@ -42,9 +43,9 @@ SSL_cipher_list => 'HIGH'); -my @servers = (new IO::Socket::SSL(LocalPort => $SSL_SERVER_PORT, %server_options), - new IO::Socket::SSL(LocalPort => $SSL_SERVER_PORT2, %server_options), - new IO::Socket::SSL(LocalPort => $SSL_SERVER_PORT3, %server_options)); +my @servers = (IO::Socket::SSL->new( %server_options), + IO::Socket::SSL->new( %server_options), + IO::Socket::SSL->new( %server_options)); if (!$servers[0] or !$servers[1] or !$servers[2]) { print "not ok # Server init\n"; @@ -52,6 +53,11 @@ } &ok("Server initialization"); +my ($SSL_SERVER_PORT) = unpack_sockaddr_in( $servers[0]->sockname ); +my ($SSL_SERVER_PORT2) = unpack_sockaddr_in( $servers[1]->sockname ); +my ($SSL_SERVER_PORT3) = unpack_sockaddr_in( $servers[2]->sockname ); + + unless (fork) { close $_ foreach @servers; my $ctx = new IO::Socket::SSL::SSL_Context diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/t/ssl_settings.req new/IO-Socket-SSL-1.02/t/ssl_settings.req --- old/IO-Socket-SSL-1.01/t/ssl_settings.req 2006-07-18 15:23:19.000000000 +0200 +++ new/IO-Socket-SSL-1.02/t/ssl_settings.req 2006-12-01 10:15:50.000000000 +0100 @@ -1,6 +1,3 @@ -#Change the following to a port and address that you can create a listening socket on: -$SSL_SERVER_PORT = 2000; -$SSL_SERVER_PORT2 = 2001; -$SSL_SERVER_PORT3 = 2002; +#Change the following to an address that you can create a listening socket on: $SSL_SERVER_ADDR = '127.0.0.1'; -'True Value'; \ No newline at end of file +'True Value'; diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/t/startssl.t new/IO-Socket-SSL-1.02/t/startssl.t --- old/IO-Socket-SSL-1.01/t/startssl.t 2006-07-24 16:15:55.000000000 +0200 +++ new/IO-Socket-SSL-1.02/t/startssl.t 2006-12-01 10:26:21.000000000 +0100 @@ -10,7 +10,7 @@ use Errno qw(EAGAIN EINPROGRESS ); use strict; -use vars qw( $SSL_SERVER_PORT $SSL_SERVER_ADDR ); +use vars qw( $SSL_SERVER_ADDR ); do "t/ssl_settings.req" || do "ssl_settings.req"; if ( ! eval "use 5.006; use IO::Select; return 1" ) { @@ -27,7 +27,6 @@ my $server = IO::Socket::INET->new( - LocalPort => $SSL_SERVER_PORT, LocalAddr => $SSL_SERVER_ADDR, Listen => 2, ReuseAddr => 1, @@ -39,6 +38,8 @@ print "not " if (!defined fileno($server)); ok("Server Fileno Check"); +my ($SSL_SERVER_PORT) = unpack_sockaddr_in( $server->sockname ); + defined( my $pid = fork() ) || die $!; if ( $pid == 0 ) { diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.01/t/sysread_write.t new/IO-Socket-SSL-1.02/t/sysread_write.t --- old/IO-Socket-SSL-1.01/t/sysread_write.t 2006-08-02 08:43:28.000000000 +0200 +++ new/IO-Socket-SSL-1.02/t/sysread_write.t 2006-12-01 10:26:57.000000000 +0100 @@ -11,7 +11,7 @@ use IO::Socket::SSL; use strict; -use vars qw( $SSL_SERVER_PORT $SSL_SERVER_ADDR ); +use vars qw( $SSL_SERVER_ADDR ); do "t/ssl_settings.req" || do "ssl_settings.req"; if ( grep { $^O =~m{$_} } qw( MacOS VOS vmesa riscos amigaos ) ) { @@ -30,7 +30,6 @@ # first create simple ssl-server my $ID = 'server'; my $server = IO::Socket::SSL->new( - LocalPort => $SSL_SERVER_PORT, LocalAddr => $SSL_SERVER_ADDR, Listen => 2, ReuseAddr => 1, @@ -44,6 +43,7 @@ print "not ok: $!\n", exit if !$server; # Address in use? ok("Server Initialization"); +my ($SSL_SERVER_PORT) = unpack_sockaddr_in( $server->sockname ); defined( my $pid = fork() ) || die $!; if ( $pid == 0 ) { ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org