Hello community, here is the log from the commit of package perl-Net-SSLGlue for openSUSE:Factory checked in at 2015-11-08 11:27:03 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-Net-SSLGlue (Old) and /work/SRC/openSUSE:Factory/.perl-Net-SSLGlue.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "perl-Net-SSLGlue" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-Net-SSLGlue/perl-Net-SSLGlue.changes 2015-05-02 17:44:55.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-Net-SSLGlue.new/perl-Net-SSLGlue.changes 2015-11-08 11:27:16.000000000 +0100 @@ -1,0 +2,10 @@ +Fri Nov 6 10:13:55 UTC 2015 - coolo@suse.com + +- updated to 1.055 + see /usr/share/doc/packages/perl-Net-SSLGlue/Changes + + 1.055 2015/10/25 + - fix memory leak in Net::SSLGlue::Socket, RT#107816. + Thanks to kasyap.mr[AT]gmail[DOT]com for reporting + +------------------------------------------------------------------- Old: ---- Net-SSLGlue-1.054.tar.gz New: ---- Net-SSLGlue-1.055.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-Net-SSLGlue.spec ++++++ --- /var/tmp/diff_new_pack.wvAAek/_old 2015-11-08 11:27:17.000000000 +0100 +++ /var/tmp/diff_new_pack.wvAAek/_new 2015-11-08 11:27:17.000000000 +0100 @@ -17,7 +17,7 @@ Name: perl-Net-SSLGlue -Version: 1.054 +Version: 1.055 Release: 0 %define cpan_name Net-SSLGlue Summary: Add/Extend Ssl Support for Common Perl Modules ++++++ Net-SSLGlue-1.054.tar.gz -> Net-SSLGlue-1.055.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSLGlue-1.054/Changes new/Net-SSLGlue-1.055/Changes --- old/Net-SSLGlue-1.054/Changes 2015-04-28 08:53:18.000000000 +0200 +++ new/Net-SSLGlue-1.055/Changes 2015-10-25 13:40:39.000000000 +0100 @@ -1,3 +1,7 @@ +1.055 2015/10/25 +- fix memory leak in Net::SSLGlue::Socket, RT#107816. + Thanks to kasyap.mr[AT]gmail[DOT]com for reporting + 1.054 2015/04/28 - if a version of libnet is detected which already supports TLS (i.e. libnet 3.0+) warn and use this instead. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSLGlue-1.054/META.json new/Net-SSLGlue-1.055/META.json --- old/Net-SSLGlue-1.054/META.json 2015-04-28 09:24:49.000000000 +0200 +++ new/Net-SSLGlue-1.055/META.json 2015-10-25 13:40:58.000000000 +0100 @@ -42,5 +42,5 @@ "url" : "https://github.com/noxxi/p5-net-sslglue" } }, - "version" : "1.054" + "version" : "1.055" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSLGlue-1.054/META.yml new/Net-SSLGlue-1.055/META.yml --- old/Net-SSLGlue-1.054/META.yml 2015-04-28 09:24:49.000000000 +0200 +++ new/Net-SSLGlue-1.055/META.yml 2015-10-25 13:40:57.000000000 +0100 @@ -21,4 +21,4 @@ IO::Socket::SSL: 1.19 resources: repository: https://github.com/noxxi/p5-net-sslglue -version: 1.054 +version: 1.055 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSLGlue-1.054/lib/Net/SSLGlue/Socket.pm new/Net-SSLGlue-1.055/lib/Net/SSLGlue/Socket.pm --- old/Net-SSLGlue-1.054/lib/Net/SSLGlue/Socket.pm 2014-01-10 13:27:40.000000000 +0100 +++ new/Net-SSLGlue-1.055/lib/Net/SSLGlue/Socket.pm 2015-10-25 13:36:12.000000000 +0100 @@ -1,6 +1,6 @@ package Net::SSLGlue::Socket; -our $VERSION = 1.001; +our $VERSION = 1.002; use strict; use warnings; @@ -35,11 +35,11 @@ or return; my $self = gensym(); - *$self = *$sock; # clone handle bless $self,$class; ${*$self}{sock} = $sock; ${*$self}{ssl} = $ssl; ${*$self}{sslargs} = \%sslargs; + tie *{$self}, "Net::SSLGlue::Socket::HANDLE", $self; return $self; } @@ -114,6 +114,33 @@ return ${*$self}{ssl} && ${*$self}{sock}; } +package Net::SSLGlue::Socket::HANDLE; +use strict; +use Errno 'EBADF'; +use Scalar::Util 'weaken'; + +sub TIEHANDLE { + my ($class, $handle) = @_; + weaken($handle); + bless \$handle, $class; +} + +sub READ { ${shift()}->sysread(@_) } +sub READLINE { ${shift()}->readline(@_) } +sub GETC { ${shift()}->getc(@_) } +sub PRINT { ${shift()}->print(@_) } +sub PRINTF { ${shift()}->printf(@_) } +sub WRITE { ${shift()}->syswrite(@_) } +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 @_; + $ssl->close(); +} + + 1; =head1 NAME @@ -138,7 +165,11 @@ $plain->stop_SSL -=head1 DESCRIPTION +=head1 DESCRIPTIONA + +First, it is recommended to use LIO::Socket::SSL directly instead of this +module, since this kind of functionality is available in IO::Socket::SSL since +version 1.994. LNet::SSLGlue::Socket implements a socket which can be either plain or SSL. If IO::Socket::IP or IO::Socket::INET6 are installed it will also transparently @@ -198,7 +229,7 @@ =head1 COPYRIGHT -This module is copyright (c) 2013, Steffen Ullrich. +This module is copyright (c) 2013..2015, Steffen Ullrich. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/Net-SSLGlue-1.054/lib/Net/SSLGlue.pm new/Net-SSLGlue-1.055/lib/Net/SSLGlue.pm --- old/Net-SSLGlue-1.054/lib/Net/SSLGlue.pm 2015-04-28 08:02:38.000000000 +0200 +++ new/Net-SSLGlue-1.055/lib/Net/SSLGlue.pm 2015-10-25 13:36:40.000000000 +0100 @@ -1,5 +1,5 @@ package Net::SSLGlue; -our $VERSION = '1.054'; +our $VERSION = '1.055'; =head1 NAME @@ -36,7 +36,7 @@ =head1 COPYRIGHT This module and the modules in the Net::SSLGlue Hierarchy distributed together -with this module are copyright (c) 2008-2013, Steffen Ullrich. +with this module are copyright (c) 2008-2015, Steffen Ullrich. All Rights Reserved. These modules are free software. They may be used, redistributed and/or modified under the same terms as Perl itself.