Hello community, here is the log from the commit of package perl-IO-Socket-Timeout for openSUSE:Factory checked in at 2015-10-08 08:24:27 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/perl-IO-Socket-Timeout (Old) and /work/SRC/openSUSE:Factory/.perl-IO-Socket-Timeout.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "perl-IO-Socket-Timeout" Changes: -------- --- /work/SRC/openSUSE:Factory/perl-IO-Socket-Timeout/perl-IO-Socket-Timeout.changes 2015-08-11 08:26:13.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.perl-IO-Socket-Timeout.new/perl-IO-Socket-Timeout.changes 2015-10-08 08:24:29.000000000 +0200 @@ -1,0 +2,9 @@ +Sun Oct 4 08:54:18 UTC 2015 - co...@suse.com + +- updated to 0.32 + see /usr/share/doc/packages/perl-IO-Socket-Timeout/Changes + + 0.32 2015-09-29 12:04:23CEST+0200 Europe/Paris + . Remove test that comes from IO::Socket, is outdated and doesn't server anything. Fixes github issue #5 + +------------------------------------------------------------------- Old: ---- IO-Socket-Timeout-0.31.tar.gz New: ---- IO-Socket-Timeout-0.32.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-IO-Socket-Timeout.spec ++++++ --- /var/tmp/diff_new_pack.pDUu1o/_old 2015-10-08 08:24:29.000000000 +0200 +++ /var/tmp/diff_new_pack.pDUu1o/_new 2015-10-08 08:24:29.000000000 +0200 @@ -17,7 +17,7 @@ Name: perl-IO-Socket-Timeout -Version: 0.31 +Version: 0.32 Release: 0 %define cpan_name IO-Socket-Timeout Summary: IO::Socket with read/write timeout ++++++ IO-Socket-Timeout-0.31.tar.gz -> IO-Socket-Timeout-0.32.tar.gz ++++++ diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Socket-Timeout-0.31/Changes new/IO-Socket-Timeout-0.32/Changes --- old/IO-Socket-Timeout-0.31/Changes 2015-08-03 16:06:30.000000000 +0200 +++ new/IO-Socket-Timeout-0.32/Changes 2015-09-29 12:04:26.000000000 +0200 @@ -1,4 +1,8 @@ +0.32 2015-09-29 12:04:23CEST+0200 Europe/Paris + . Remove test that comes from IO::Socket, is outdated and doesn't server anything. Fixes github issue #5 + 0.31 2015-08-03 16:06:26CEST+0200 Europe/Paris + . Requires PerlIO::via::Timeout 0.32, that reverts the previous fix that was broken 0.30 2015-07-29 08:03:13CEST+0200 Europe/Paris . Requires PerlIO::via::Timeout 0.31, that contains a race condition fix diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Socket-Timeout-0.31/MANIFEST new/IO-Socket-Timeout-0.32/MANIFEST --- old/IO-Socket-Timeout-0.31/MANIFEST 2015-08-03 16:06:30.000000000 +0200 +++ new/IO-Socket-Timeout-0.32/MANIFEST 2015-09-29 12:04:26.000000000 +0200 @@ -9,7 +9,6 @@ dist.ini lib/IO/Socket/Timeout.pm t/00-compile.t -t/io_sock.t t/io_unix.t t/preload.t t/release-distmeta.t diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Socket-Timeout-0.31/META.yml new/IO-Socket-Timeout-0.32/META.yml --- old/IO-Socket-Timeout-0.31/META.yml 2015-08-03 16:06:30.000000000 +0200 +++ new/IO-Socket-Timeout-0.32/META.yml 2015-09-29 12:04:26.000000000 +0200 @@ -21,16 +21,16 @@ provides: IO::Socket::Timeout: file: lib/IO/Socket/Timeout.pm - version: 0.31 + version: 0.32 IO::Socket::Timeout::Role::PerlIO: file: lib/IO/Socket/Timeout.pm - version: 0.31 + version: 0.32 IO::Socket::Timeout::Role::SetSockOpt: file: lib/IO/Socket/Timeout.pm - version: 0.31 + version: 0.32 requires: PerlIO::via::Timeout: 0.32 resources: bugtracker: https://github.com/dams/io-socket-timeout/issues repository: git://github.com/dams/io-socket-timeout.git -version: 0.31 +version: 0.32 diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Socket-Timeout-0.31/Makefile.PL new/IO-Socket-Timeout-0.32/Makefile.PL --- old/IO-Socket-Timeout-0.31/Makefile.PL 2015-08-03 16:06:30.000000000 +0200 +++ new/IO-Socket-Timeout-0.32/Makefile.PL 2015-09-29 12:04:26.000000000 +0200 @@ -90,7 +90,7 @@ "Test::More" => 0, "Test::TCP" => 0 }, - "VERSION" => "0.31", + "VERSION" => "0.32", "test" => { "TESTS" => "t/*.t" } diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Socket-Timeout-0.31/README new/IO-Socket-Timeout-0.32/README --- old/IO-Socket-Timeout-0.31/README 2015-08-03 16:06:30.000000000 +0200 +++ new/IO-Socket-Timeout-0.32/README 2015-09-29 12:04:26.000000000 +0200 @@ -1,7 +1,7 @@ This archive contains the distribution IO-Socket-Timeout, -version 0.31: +version 0.32: IO::Socket with read/write timeout diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Socket-Timeout-0.31/lib/IO/Socket/Timeout.pm new/IO-Socket-Timeout-0.32/lib/IO/Socket/Timeout.pm --- old/IO-Socket-Timeout-0.31/lib/IO/Socket/Timeout.pm 2015-08-03 16:06:30.000000000 +0200 +++ new/IO-Socket-Timeout-0.32/lib/IO/Socket/Timeout.pm 2015-09-29 12:04:26.000000000 +0200 @@ -7,7 +7,7 @@ # the same terms as the Perl 5 programming language system itself. # package IO::Socket::Timeout; -$IO::Socket::Timeout::VERSION = '0.31'; +$IO::Socket::Timeout::VERSION = '0.32'; use strict; use warnings; use Config; @@ -116,7 +116,7 @@ } package IO::Socket::Timeout::Role::SetSockOpt; -$IO::Socket::Timeout::Role::SetSockOpt::VERSION = '0.31'; +$IO::Socket::Timeout::Role::SetSockOpt::VERSION = '0.32'; use Carp; use Socket; @@ -174,7 +174,7 @@ } package IO::Socket::Timeout::Role::PerlIO; -$IO::Socket::Timeout::Role::PerlIO::VERSION = '0.31'; +$IO::Socket::Timeout::Role::PerlIO::VERSION = '0.32'; use PerlIO::via::Timeout; sub read_timeout { goto &PerlIO::via::Timeout::read_timeout } @@ -197,7 +197,7 @@ =head1 VERSION -version 0.31 +version 0.32 =head1 SYNOPSIS diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' old/IO-Socket-Timeout-0.31/t/io_sock.t new/IO-Socket-Timeout-0.32/t/io_sock.t --- old/IO-Socket-Timeout-0.31/t/io_sock.t 2015-08-03 16:06:30.000000000 +0200 +++ new/IO-Socket-Timeout-0.32/t/io_sock.t 1970-01-01 01:00:00.000000000 +0100 @@ -1,426 +0,0 @@ -use Config; - -BEGIN { - my $can_fork = $Config{d_fork} || - (($^O eq 'MSWin32' || $^O eq 'NetWare') and - $Config{useithreads} and - $Config{ccflags} =~ /-DPERL_IMPLICIT_SYS/ - ); - my $reason; - if ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bSocket\b/) { - $reason = 'Socket extension unavailable'; - } - elsif ($ENV{PERL_CORE} and $Config{'extensions'} !~ /\bIO\b/) { - $reason = 'IO extension unavailable'; - } - elsif (!$can_fork) { - $reason = 'no fork'; - } - if ($reason) { - print "1..0 # Skip: $reason\n"; - exit 0; - } -} - -my $TimeoutRead = 5; -my $TimeoutWrite = 5; - -my $has_perlio = $] >= 5.008 && find PerlIO::Layer 'perlio'; - -$| = 1; -print "1..26\n"; - -eval { - $SIG{ALRM} = sub { die; }; - alarm 120; -}; - -use IO::Socket; # for AF_INET -use IO::Socket::Timeout; - -$listen = IO::Socket::INET->new(Listen => 2, - Proto => 'tcp', - # some systems seem to need as much as 10, - # so be generous with the timeout - Timeout => 15, - ) or die "$!"; -IO::Socket::Timeout->enable_timeouts_on($listen); -$listen->read_timeout($TimeoutRead); -$listen->write_timeout($TimeoutWrite); - -print "ok 1\n"; - -# Check if can fork with dynamic extensions (bug in CRT): -if ($^O eq 'os2' and - system "$^X -I../lib -MOpcode -e 'defined fork or die' > /dev/null 2>&1") { - print "ok $_ # skipped: broken fork\n" for 2..5; - exit 0; -} - -$port = $listen->sockport; - -if($pid = fork()) { - - $sock = $listen->accept() or die "accept failed: $!"; - print "ok 2\n"; - - $sock->autoflush(1); - - print $sock->getline(); - - print $sock "ok 4\n"; - - $sock->close; - - waitpid($pid,0); - - print "ok 5\n"; - -} elsif(defined $pid) { - - $sock = IO::Socket::INET->new(PeerPort => $port, - Proto => 'tcp', - PeerAddr => 'localhost', - ) - || IO::Socket::INET->new(PeerPort => $port, - Proto => 'tcp', - PeerAddr => '127.0.0.1', - ) - or die "$! (maybe your system does not have a localhost at all, 'localhost' or 127.0.0.1)"; - IO::Socket::Timeout->enable_timeouts_on($sock); - $sock->read_timeout($TimeoutRead); - $sock->write_timeout($TimeoutWrite); - - $sock->autoflush(1); - - print $sock "ok 3\n"; - - print $sock->getline(); - - $sock->close; - - exit; -} else { - die; -} - -# Test various other ways to create INET sockets that should -# also work. -$listen = IO::Socket::INET->new(Listen => '', Timeout => 15, ) or die "$!"; -IO::Socket::Timeout->enable_timeouts_on($listen); -$listen->read_timeout($TimeoutRead); -$listen->write_timeout($TimeoutWrite); -$port = $listen->sockport; - -if($pid = fork()) { - SERVER_LOOP: - while (1) { - last SERVER_LOOP unless $sock = $listen->accept; - while (<$sock>) { - last SERVER_LOOP if /^quit/; - last if /^done/; - print; - } - $sock = undef; - } - $listen->close; -} elsif (defined $pid) { - # child, try various ways to connect - $sock = IO::Socket::INET->new("localhost:$port") - || IO::Socket::INET->new("127.0.0.1:$port"); - IO::Socket::Timeout->enable_timeouts_on($sock); - if ($sock) { - print "not " unless $sock->connected; - print "ok 6\n"; - $sock->print("ok 7\n"); - sleep(1); - print "ok 8\n"; - $sock->print("ok 9\n"); - $sock->print("done\n"); - $sock->close; - } - else { - print "# $@\n"; - print "not ok 6\n"; - print "not ok 7\n"; - print "not ok 8\n"; - print "not ok 9\n"; - } - - # some machines seem to suffer from a race condition here - sleep(2); - - $sock = IO::Socket::INET->new("127.0.0.1:$port"); - IO::Socket::Timeout->enable_timeouts_on($sock); - if ($sock) { - $sock->print("ok 10\n"); - $sock->print("done\n"); - $sock->close; - } - else { - print "# $@\n"; - print "not ok 10\n"; - } - - # some machines seem to suffer from a race condition here - sleep(1); - - $sock = IO::Socket->new(Domain => AF_INET, - PeerAddr => "localhost:$port") - || IO::Socket->new(Domain => AF_INET, - PeerAddr => "127.0.0.1:$port"); - IO::Socket::Timeout->enable_timeouts_on($sock); - if ($sock) { - $sock->print("ok 11\n"); - $sock->print("quit\n"); - } else { - print "not ok 11\n"; - } - $sock = undef; - sleep(1); - exit; -} else { - die; -} - -# Then test UDP sockets -$server = IO::Socket->new(Domain => AF_INET, - Proto => 'udp', - LocalAddr => 'localhost') - || IO::Socket->new(Domain => AF_INET, - Proto => 'udp', - LocalAddr => '127.0.0.1'); -IO::Socket::Timeout->enable_timeouts_on($server); -$server->read_timeout($TimeoutRead); -$server->write_timeout($TimeoutWrite); -$port = $server->sockport; - -if ($pid = fork()) { - my $buf; - $server->recv($buf, 100); - print $buf; -} elsif (defined($pid)) { - #child - $sock = IO::Socket::INET->new(Proto => 'udp', - PeerAddr => "localhost:$port") - || IO::Socket::INET->new(Proto => 'udp', - PeerAddr => "127.0.0.1:$port"); - IO::Socket::Timeout->enable_timeouts_on($sock); - $sock->read_timeout($TimeoutRead); - $sock->write_timeout($TimeoutWrite); - $sock->send("ok 12\n"); - sleep(1); - $sock->send("ok 12\n"); # send another one to be sure - exit; -} else { - die; -} - -print "not " unless $server->blocking; -print "ok 13\n"; - -if ( $^O eq 'qnx' ) { - # QNX4 library bug: Can set non-blocking on socket, but - # cannot return that status. - print "ok 14 # skipped on QNX4\n"; -} else { - $server->blocking(0); - print "not " if $server->blocking; - print "ok 14\n"; -} - -### TEST 15 -### Set up some data to be transfered between the server and -### the client. We'll use own source code ... -# -local @data; -if( !open( SRC, "< $0")) { - print "not ok 15 - $!\n"; -} else { - @data = <SRC>; - close(SRC); - print "ok 15\n"; -} - -### TEST 16 -### Start the server -# -my $listen = IO::Socket::INET->new( Listen => 2, Proto => 'tcp', Timeout => 15) || - print "not "; -IO::Socket::Timeout->enable_timeouts_on($listen); -$listen->read_timeout($TimeoutRead); -$listen->write_timeout($TimeoutWrite); -print "ok 16\n"; -die if( !defined( $listen)); -my $serverport = $listen->sockport; -my $server_pid = fork(); -if( $server_pid) { - - ### TEST 17 Client/Server establishment - # - print "ok 17\n"; - - ### TEST 18 - ### Get data from the server using a single stream - # - $sock = IO::Socket::INET->new("localhost:$serverport") - || IO::Socket::INET->new("127.0.0.1:$serverport"); - IO::Socket::Timeout->enable_timeouts_on($sock); - - if ($sock) { - $sock->print("send\n"); - - my @array = (); - while( <$sock>) { - push( @array, $_); - } - - $sock->print("done\n"); - $sock->close; - - print "not " if( @array != @data); - } else { - print "not "; - } - print "ok 18\n"; - - ### TEST 21 - ### Get data from the server using a stream, which is - ### interrupted by eof calls. - ### On perl-5.7.0@7673 this failed in a SOCKS environment, because eof - ### did an getc followed by an ungetc in order to check for the streams - ### end. getc(3) got replaced by the SOCKS funktion, which ended up in - ### a recv(2) call on the socket, while ungetc(3) put back a character - ### to an IO buffer, which never again was read. - # - ### TESTS 19,20,21,22 - ### Try to ping-pong some Unicode. - # - $sock = IO::Socket::INET->new("localhost:$serverport") - || IO::Socket::INET->new("127.0.0.1:$serverport"); - IO::Socket::Timeout->enable_timeouts_on($sock); - - if ($has_perlio) { - print binmode($sock, ":utf8") ? "ok 19\n" : "not ok 19\n"; - } else { - print "ok 19 - Skip: no perlio\n"; - } - - if ($sock) { - - if ($has_perlio) { - $sock->print("ping \x{100}\n"); - chomp(my $pong = scalar <$sock>); - print $pong =~ /^pong (.+)$/ && $1 eq "\x{100}" ? - "ok 20\n" : "not ok 20\n"; - - $sock->print("ord \x{100}\n"); - chomp(my $ord = scalar <$sock>); - print $ord == 0x100 ? - "ok 21\n" : "not ok 21\n"; - - $sock->print("chr 0x100\n"); - chomp(my $chr = scalar <$sock>); - print $chr eq "\x{100}" ? - "ok 22\n" : "not ok 22\n"; - } else { - print "ok $_ - Skip: no perlio\n" for 20..22; - } - - $sock->print("send\n"); - - my @array = (); - while( !eof( $sock ) ){ - while( <$sock>) { - push( @array, $_); - last; - } - } - - $sock->print("done\n"); - $sock->close; - - print "not " if( @array != @data); - } else { - print "not "; - } - print "ok 23\n"; - - ### TEST 24 - ### Stop the server - # - $sock = IO::Socket::INET->new("localhost:$serverport") - || IO::Socket::INET->new("127.0.0.1:$serverport"); - IO::Socket::Timeout->enable_timeouts_on($sock); - - if ($sock) { - $sock->print("done\n"); - $sock->close; - - print "not " if( 1 != kill 0, $server_pid); - } else { - print "not "; - } - print "ok 24\n"; - -} elsif (defined($server_pid)) { - - ### Child - # - SERVER_LOOP: while (1) { - last SERVER_LOOP unless $sock = $listen->accept; - # Do not print ok/not ok for this binmode() since there's - # a race condition with our client, just die if we fail. - if ($has_perlio) { binmode($sock, ":utf8") or die } - while (<$sock>) { - last SERVER_LOOP if /^quit/; - last if /^done/; - if (/^ping (.+)/) { - print $sock "pong $1\n"; - next; - } - if (/^ord (.+)/) { - print $sock ord($1), "\n"; - next; - } - if (/^chr (.+)/) { - print $sock chr(hex($1)), "\n"; - next; - } - if (/^send/) { - print $sock @data; - last; - } - print; - } - $sock = undef; - } - $listen->close; - exit 0; - -} else { - - ### Fork failed - # - print "not ok 17\n"; - die; -} - -# test Blocking option in constructor - -$sock = IO::Socket::INET->new(Blocking => 0) - or print "not "; -IO::Socket::Timeout->enable_timeouts_on($sock); -$sock->read_timeout($TimeoutRead); -$sock->write_timeout($TimeoutWrite); -print "ok 25\n"; - -if ( $^O eq 'qnx' ) { - print "ok 26 # skipped on QNX4\n"; - # QNX4 library bug: Can set non-blocking on socket, but - # cannot return that status. -} else { - my $status = $sock->blocking; - print "not " unless defined $status && !$status; - print "ok 26\n"; -}