Hello community,
here is the log from the commit of package perl-IO-Socket-SSL
checked in at Mon Jan 28 16:08:42 CET 2008.
--------
--- perl-IO-Socket-SSL/perl-IO-Socket-SSL.changes 2007-11-01 15:47:19.000000000 +0100
+++ /mounts/work_src_done/STABLE/perl-IO-Socket-SSL/perl-IO-Socket-SSL.changes 2008-01-28 15:32:24.000000000 +0100
@@ -1,0 +2,11 @@
+Mon Jan 28 15:27:25 CET 2008 - anicka@suse.cz
+
+- update to 1.13
+ * removed CLONE_SKIP which was added in 1.03 because this breaks
+ windows forking. Handled threads/windows forking better by
+ making sure that CTX from Net::SSLeay gets not freed multiple
+ times from different threads after cloning/forking
+ * removed setting LocalPort to 0 in tests, instead leave it undef
+ if a random port should be allocated.
+
+-------------------------------------------------------------------
Old:
----
IO-Socket-SSL-1.12-store_set_flags.diff
IO-Socket-SSL-1.12.tar.bz2
New:
----
IO-Socket-SSL-1.13-store_set_flags.diff
IO-Socket-SSL-1.13.tar.bz2
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Other differences:
------------------
++++++ perl-IO-Socket-SSL.spec ++++++
--- /var/tmp/diff_new_pack.C22329/_old 2008-01-28 16:06:35.000000000 +0100
+++ /var/tmp/diff_new_pack.C22329/_new 2008-01-28 16:06:35.000000000 +0100
@@ -1,7 +1,7 @@
#
-# spec file for package perl-IO-Socket-SSL (Version 1.12)
+# spec file for package perl-IO-Socket-SSL (Version 1.13)
#
-# Copyright (c) 2007 SUSE LINUX Products GmbH, Nuernberg, Germany.
+# Copyright (c) 2008 SUSE LINUX Products GmbH, Nuernberg, Germany.
# This file and all modifications and additions to the pristine
# package are under the same license as the package itself.
#
@@ -12,7 +12,7 @@
Name: perl-IO-Socket-SSL
BuildRequires: perl-Net_SSLeay perl-libwww-perl
-Version: 1.12
+Version: 1.13
Release: 1
Provides: p_iossl
Obsoletes: p_iossl
@@ -64,8 +64,17 @@
%{perl_vendorlib}/IO
%{perl_vendorarch}/auto/IO
/var/adm/perl-modules/%{name}
+
%changelog
-* Thu Nov 01 2007 - anicka@suse.cz
+* Mon Jan 28 2008 anicka@suse.cz
+- update to 1.13
+ * removed CLONE_SKIP which was added in 1.03 because this breaks
+ windows forking. Handled threads/windows forking better by
+ making sure that CTX from Net::SSLeay gets not freed multiple
+ times from different threads after cloning/forking
+ * removed setting LocalPort to 0 in tests, instead leave it undef
+ if a random port should be allocated.
+* Thu Nov 01 2007 anicka@suse.cz
- update to 1.12
* treat timeouts of 0 for accept_SSL and connect_SSL like
no timeout, like IO::Socket does.
@@ -75,37 +84,37 @@
Timeout so that the SSL handshake will not block forever. Only
used if the socket is blocking. If not set the Timeout value
from the underlying IO::Socket is used
-* Mon Oct 08 2007 - anicka@suse.cz
+* Mon Oct 08 2007 anicka@suse.cz
- update to 1.09
* new method stop_SSL as opposite of start_SSL
* try to make it clearer that thread support is buggy
* make sure that Scalar::Util has support for dualvar
(Makefile.PL,SSL.pm) because the perl*only version has
has no dualvar
-* Mon Jun 11 2007 - anicka@suse.cz
+* Mon Jun 11 2007 anicka@suse.cz
- update to 1.07
* fix t/nonblock.t on systems which have by default a larger
socket buffer. Set SO_SNDBUF explicitly with setsockopt
to force smaller writes on the socket
- move testing to %%check
-* Tue May 15 2007 - anicka@suse.cz
+* Tue May 15 2007 anicka@suse.cz
- update to 1.06
* instead of setting undef args to '' in configure_SSL drop
them. This makes Net::SMTP::SSL working again because it
does not give LocalPort of '' to IO::Socket::INET any more
-* Mon Apr 23 2007 - anicka@suse.cz
+* Mon Apr 23 2007 anicka@suse.cz
- update to 1.05
* make session cache working even if the IO::Socket::SSL object
was not created with IO::Socket::SSL->new but with
IO::Socket::SSL->start_SSL on an established socket
-* Fri Mar 30 2007 - anicka@suse.cz
+* Fri Mar 30 2007 anicka@suse.cz
- update to 1.04
* added way to create SSL object with predefined session
cache
-* Wed Mar 07 2007 - anicka@suse.cz
+* Wed Mar 07 2007 anicka@suse.cz
- update to 1.03
* add CLONE_SKIP
-* Wed Dec 13 2006 - anicka@suse.cz
+* 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
@@ -113,66 +122,66 @@
* 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
+* Thu Sep 14 2006 anicka@suse.cz
- update to 1.01
* add support for Diffie Hellman Key Exchange.
* accept_SSL sets errors on $socket (the accepted socket)
not $self (the listening socket if called from accept)
* many bugfixes
-* Mon Jul 24 2006 - anicka@suse.cz
+* Mon Jul 24 2006 anicka@suse.cz
- update to 0.993
* added test for sysread/syswrite behavior
* fix Makefile.PL to allow detectection of failures in PREREQ_PM
* fix problems with HTTP::Daemon::SSL
-* Tue Jul 18 2006 - anicka@suse.cz
+* Tue Jul 18 2006 anicka@suse.cz
- update to 0.99
* Maintainer changed to
* Better support for nonblocking sockets
* Bugfixes
-* Wed Jan 25 2006 - mls@suse.de
+* Wed Jan 25 2006 mls@suse.de
- converted neededforbuild to BuildRequires
-* Mon Aug 01 2005 - mjancar@suse.cz
+* Mon Aug 01 2005 mjancar@suse.cz
- update to 0.97
-* Wed Sep 29 2004 - mls@suse.de
+* Wed Sep 29 2004 mls@suse.de
- use X509_STORE_set_flags instead of X509_STORE_CTX_set_flags
-* Thu Aug 19 2004 - mjancar@suse.cz
+* Thu Aug 19 2004 mjancar@suse.cz
- update to 0.96
-* Thu Feb 26 2004 - mjancar@suse.cz
+* Thu Feb 26 2004 mjancar@suse.cz
- update to 0.95
-* Sun Jan 11 2004 - adrian@suse.de
+* Sun Jan 11 2004 adrian@suse.de
- build as user
-* Fri Aug 22 2003 - mjancar@suse.cz
+* Fri Aug 22 2003 mjancar@suse.cz
- require the perl version we build with
-* Thu Jul 24 2003 - mjancar@suse.cz
+* Thu Jul 24 2003 mjancar@suse.cz
- update 0.94
-* Thu Jul 17 2003 - mjancar@suse.cz
+* Thu Jul 17 2003 mjancar@suse.cz
- adapt to perl-5.8.1
- use %%perl_process_packlist
-* Mon Jun 16 2003 - mjancar@suse.cz
+* Mon Jun 16 2003 mjancar@suse.cz
- run make test
- fix filelist
-* Tue May 20 2003 - mjancar@suse.cz
+* Tue May 20 2003 mjancar@suse.cz
- remove unpackaged files
-* Fri Dec 20 2002 - prehak@suse.cz
+* Fri Dec 20 2002 prehak@suse.cz
- updated to 0.92
- added example directory
-* Wed Dec 18 2002 - prehak@suse.cz
+* Wed Dec 18 2002 prehak@suse.cz
- updated to version 0.901
-* Thu Jul 11 2002 - prehak@suse.cz
+* Thu Jul 11 2002 prehak@suse.cz
- updated to version 0.81
- added demo, util and more to documetation
-* Tue Jul 02 2002 - mls@suse.de
+* Tue Jul 02 2002 mls@suse.de
- remove race in .packlist generation
-* Mon Jan 14 2002 - rvasice@suse.cz
+* Mon Jan 14 2002 rvasice@suse.cz
- update to version 0.80
-* Fri Aug 24 2001 - rvasice@suse.cz
+* Fri Aug 24 2001 rvasice@suse.cz
- removed make test - need network
-* Tue Aug 14 2001 - rvasice@suse.cz
+* Tue Aug 14 2001 rvasice@suse.cz
- update to version 0.79
- add make test
-* Tue Mar 13 2001 - cihlar@suse.cz
+* Tue Mar 13 2001 cihlar@suse.cz
- update to version 0.77
-* Fri Nov 10 2000 - cihlar@suse.cz
+* Fri Nov 10 2000 cihlar@suse.cz
- renamed p_iossl -> perl-IO-Socket-SSL
-* Wed Aug 23 2000 - cihlar@suse.cz
+* Wed Aug 23 2000 cihlar@suse.cz
- package created
++++++ IO-Socket-SSL-1.12-store_set_flags.diff -> IO-Socket-SSL-1.13-store_set_flags.diff ++++++
++++++ IO-Socket-SSL-1.12.tar.bz2 -> IO-Socket-SSL-1.13.tar.bz2 ++++++
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.12/Changes new/IO-Socket-SSL-1.13/Changes
--- old/IO-Socket-SSL-1.12/Changes 2007-10-26 08:26:27.000000000 +0200
+++ new/IO-Socket-SSL-1.13/Changes 2008-01-28 07:42:13.000000000 +0100
@@ -1,3 +1,11 @@
+v1.13
+ - removed CLONE_SKIP which was added in 1.03 because this breaks
+ windows forking. Handled threads/windows forking better by making
+ sure that CTX from Net::SSLeay gets not freed multiple times from
+ different threads after cloning/forking
+ - removed setting LocalPort to 0 in tests, instead leave it undef
+ if a random port should be allocated. This should fix build problems
+ with 5.6.1. Thanks to
v1.12
- treat timeouts of 0 for accept_SSL and connect_SSL like no timeout,
like IO::Socket does.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.12/Makefile.PL new/IO-Socket-SSL-1.13/Makefile.PL
--- old/IO-Socket-SSL-1.12/Makefile.PL 2007-10-26 07:45:27.000000000 +0200
+++ new/IO-Socket-SSL-1.13/Makefile.PL 2008-01-11 18:48:16.000000000 +0100
@@ -29,6 +29,7 @@
print "Net::SSLeay could not find a random number generator on\n";
print "your system. This will likely cause most of the tests\n";
print "to fail. Please see the README file for more information.\n";
+ print "the message from Net::SSLeay was: $warning\n";
# Taken from ExtUtils::MakeMaker 6.16 (Michael Schwern) so that
# the prompt() function can be emulated for older versions of ExtUtils::MakeMaker.
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.12/SSL.pm new/IO-Socket-SSL-1.13/SSL.pm
--- old/IO-Socket-SSL-1.12/SSL.pm 2007-10-26 08:19:21.000000000 +0200
+++ new/IO-Socket-SSL-1.13/SSL.pm 2008-01-28 07:40:06.000000000 +0100
@@ -52,7 +52,7 @@
BEGIN {
# Declare @ISA, $VERSION, $GLOBAL_CONTEXT_ARGS
@ISA = qw(IO::Socket::INET);
- $VERSION = '1.12';
+ $VERSION = '1.13';
$GLOBAL_CONTEXT_ARGS = {};
#Make $DEBUG another name for $Net::SSLeay::trace
@@ -70,13 +70,12 @@
sub DEBUG {
$DEBUG or return;
- my (undef,undef,$line) = caller;
+ my (undef,$file,$line) = caller;
my $msg = shift;
$msg = sprintf $msg,@_ if @_;
- print STDERR "DEBUG: $line: $msg\n";
+ print STDERR "DEBUG: $file:$line: $msg\n";
}
-sub CLONE_SKIP { 1 }
# Export some stuff
# inet4|inet6|debug will be handeled by myself, everything
@@ -965,7 +964,6 @@
$HAVE_WEAKREF = $@ ? 0 : 1;
}
-sub CLONE_SKIP { 1 }
sub TIEHANDLE {
my ($class, $handle) = @_;
@@ -996,17 +994,20 @@
package IO::Socket::SSL::SSL_Context;
use strict;
+my %CTX_CREATED_IN_THIS_THREAD;
+*DEBUG = *IO::Socket::SSL::DEBUG;
+
# should be better taken from Net::SSLeay, but they are not (yet) defined there
use constant SSL_MODE_ENABLE_PARTIAL_WRITE => 1;
use constant SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER => 2;
-sub CLONE_SKIP { 1 }
# Note that the final object will actually be a reference to the scalar
# (C-style pointer) returned by Net::SSLeay::CTX_*_new() so that
# it can be blessed.
sub new {
my $class = shift;
+ DEBUG( "$class @_" );
my $arg_hash = (ref($_[0]) eq 'HASH') ? $_[0] : {@_};
my $ctx_object = $arg_hash->{'SSL_reuse_ctx'};
@@ -1124,6 +1125,9 @@
Net::SSLeay::CTX_set_verify($ctx, $verify_mode, $verify_callback);
$ctx_object = { context => $ctx };
+ DEBUG( "new ctx $ctx" );
+ $CTX_CREATED_IN_THIS_THREAD{$ctx} = 1;
+
if ( my $cache = $arg_hash->{SSL_session_cache} ) {
# use predefined cache
$ctx_object->{session_cache} = $cache
@@ -1152,18 +1156,23 @@
}
+sub CLONE { %CTX_CREATED_IN_THIS_THREAD = (); DEBUG( "clone!" ) }
sub DESTROY {
my $self = shift;
- $self->{context} and Net::SSLeay::CTX_free($self->{context});
+ if ( my $ctx = $self->{context} ) {
+ DEBUG( "free ctx $ctx open=".join( " ",keys %CTX_CREATED_IN_THIS_THREAD ));
+ if ( %CTX_CREATED_IN_THIS_THREAD and
+ delete $CTX_CREATED_IN_THIS_THREAD{$ctx} ) {
+ DEBUG( "OK free ctx $ctx" );
+ Net::SSLeay::CTX_free($ctx);
+ }
+ }
delete(@{$self}{'context','session_cache'});
}
-
package IO::Socket::SSL::Session_Cache;
use strict;
-sub CLONE_SKIP { 1 }
-
sub new {
my ($class, $size) = @_;
$size>0 or return;
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.12/t/cert_no_file.t new/IO-Socket-SSL-1.13/t/cert_no_file.t
--- old/IO-Socket-SSL-1.12/t/cert_no_file.t 2007-10-26 07:45:27.000000000 +0200
+++ new/IO-Socket-SSL-1.13/t/cert_no_file.t 2008-01-28 07:37:32.000000000 +0100
@@ -29,7 +29,6 @@
my $ID = 'server';
my %server_args = (
- LocalPort => 0, # take random port
LocalAddr => $SSL_SERVER_ADDR,
Listen => 2,
ReuseAddr => 1,
diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/IO-Socket-SSL-1.12/t/testlib.pl new/IO-Socket-SSL-1.13/t/testlib.pl
--- old/IO-Socket-SSL-1.12/t/testlib.pl 2007-10-26 07:45:27.000000000 +0200
+++ new/IO-Socket-SSL-1.13/t/testlib.pl 2008-01-28 07:38:20.000000000 +0100
@@ -175,10 +175,9 @@
sub create_listen_socket {
my ($addr,$port,$proto) = @_;
$addr ||= '127.0.0.1';
- $port ||= 0;
my $sock = IO::Socket::INET->new(
LocalAddr => $addr,
- LocalPort => $port,
+ $port ? ( LocalPort => $port ) : (),
Listen => 10,
Reuse => 1
) || die $!;
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Remember to have fun...
---------------------------------------------------------------------
To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org
For additional commands, e-mail: opensuse-commit+help@opensuse.org