Hello community, here is the log from the commit of package perl-HTTPS-Daemon checked in at Sun Apr 6 07:40:41 CEST 2008. -------- --- perl-HTTPS-Daemon/perl-HTTPS-Daemon.changes 2006-01-25 21:39:45.000000000 +0100 +++ perl-HTTPS-Daemon/perl-HTTPS-Daemon.changes 2008-04-04 11:18:22.872910000 +0200 @@ -1,0 +2,11 @@ +Fri Apr 4 11:16:58 CEST 2008 - ug@suse.de + +- version update from 1.02 to 1.04 +- removes unnecessary _need_more +- which, by side effect, fixes two outstanding bugs: + http://rt.cpan.org/Ticket/Display.html?id=21395 + http://rt.cpan.org/Ticket/Display.html?id=15470 +- Fixes problem where accep() will never timeout + http://rt.cpan.org/Ticket/Display.html?id=28417 + +------------------------------------------------------------------- Old: ---- HTTP-Daemon-SSL-1.02.tar.gz New: ---- HTTP-Daemon-SSL-1.04.tar.gz ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ perl-HTTPS-Daemon.spec ++++++ --- /var/tmp/diff_new_pack.o26786/_old 2008-04-06 07:34:47.000000000 +0200 +++ /var/tmp/diff_new_pack.o26786/_new 2008-04-06 07:34:47.000000000 +0200 @@ -1,24 +1,25 @@ # -# spec file for package perl-HTTPS-Daemon (Version 1.02) +# spec file for package perl-HTTPS-Daemon (Version 1.04) # -# Copyright (c) 2005 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. # -# Please submit bugfixes or comments via http://www.suse.de/feedback/ +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # # norootforbuild + Name: perl-HTTPS-Daemon BuildRequires: perl-IO-Socket-SSL License: Artistic License Group: Development/Libraries/Perl Requires: perl-IO-Socket-SSL perl-libwww-perl -Autoreqprov: on +AutoReqProv: on Summary: a simple http server class with SSL support -Version: 1.02 -Release: 6 +Version: 1.04 +Release: 1 Source: HTTP-Daemon-SSL-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -82,17 +83,25 @@ %doc %{_mandir}/man3/* %doc certs -%changelog -n perl-HTTPS-Daemon -* Wed Jan 25 2006 - mls@suse.de +%changelog +* Fri Apr 04 2008 ug@suse.de +- version update from 1.02 to 1.04 +- removes unnecessary _need_more +- which, by side effect, fixes two outstanding bugs: + http://rt.cpan.org/Ticket/Display.html?id=21395 + http://rt.cpan.org/Ticket/Display.html?id=15470 +- Fixes problem where accep() will never timeout + http://rt.cpan.org/Ticket/Display.html?id=28417 +* Wed Jan 25 2006 mls@suse.de - converted neededforbuild to BuildRequires -* Thu Sep 29 2005 - dmueller@suse.de +* Thu Sep 29 2005 dmueller@suse.de - add norootforbuild -* Wed Aug 03 2005 - ro@suse.de +* Wed Aug 03 2005 ro@suse.de - disable make test for the moment, it hangs -* Fri Jan 21 2005 - ug@suse.de +* Fri Jan 21 2005 ug@suse.de - version update from 1.01 to 1.02 - Async updates - Documentation update to mention SSL certificates. - Update to URL function to return 'https' instead of 'http' -* Mon Aug 25 2003 - ug@suse.de +* Mon Aug 25 2003 ug@suse.de - initial package ++++++ HTTP-Daemon-SSL-1.02.tar.gz -> HTTP-Daemon-SSL-1.04.tar.gz ++++++ diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/HTTP-Daemon-SSL-1.02/BUGS new/HTTP-Daemon-SSL-1.04/BUGS --- old/HTTP-Daemon-SSL-1.02/BUGS 2003-07-27 17:19:40.000000000 +0200 +++ new/HTTP-Daemon-SSL-1.04/BUGS 2008-02-12 02:27:03.000000000 +0100 @@ -1,4 +1,4 @@ -None known for this release. +Authoritative bug list is on rt.cpan.org: + +http://rt.cpan.org/Public/Dist/Display.html?Name=HTTP-Daemon-SSL --- -Peter Behroozi (behrooz at fas.harvard.edu) \ No newline at end of file diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/HTTP-Daemon-SSL-1.02/Changes new/HTTP-Daemon-SSL-1.04/Changes --- old/HTTP-Daemon-SSL-1.02/Changes 2004-12-12 18:33:46.000000000 +0100 +++ new/HTTP-Daemon-SSL-1.04/Changes 2008-02-12 02:27:03.000000000 +0100 @@ -1,3 +1,18 @@ +v1.04 + - production release + - only documentation and text file changes from 1.03_02 + +v1.03_02 + - removes unnecessary _need_more + - which, by side effect, fixes two outstanding bugs: + http://rt.cpan.org/Ticket/Display.html?id=21395 + http://rt.cpan.org/Ticket/Display.html?id=15470 + +v1.03_01 + - First release by Mark Aufflick + - Fixes problem where accep() will never timeout + http://rt.cpan.org/Ticket/Display.html?id=28417 + v1.02 - Async updates - Documentation update to mention SSL certificates. (requested @@ -14,4 +29,4 @@ instead of IO::Socket::SSL. v1.00 2003.7.24 - - Initial public release. \ No newline at end of file + - Initial public release. diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/HTTP-Daemon-SSL-1.02/META.yml new/HTTP-Daemon-SSL-1.04/META.yml --- old/HTTP-Daemon-SSL-1.02/META.yml 2004-12-16 07:05:41.000000000 +0100 +++ new/HTTP-Daemon-SSL-1.04/META.yml 2008-02-12 02:27:03.000000000 +0100 @@ -1,7 +1,6 @@ # http://module-build.sourceforge.net/META-spec.html -#XXXXXXX This is a prototype!!! It will change in the future!!! XXXXX# name: HTTP-Daemon-SSL -version: 1.02 +version: 1.04 version_from: SSL.pm installdirs: site license: perl diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/HTTP-Daemon-SSL-1.02/README new/HTTP-Daemon-SSL-1.04/README --- old/HTTP-Daemon-SSL-1.02/README 2003-07-27 17:18:47.000000000 +0200 +++ new/HTTP-Daemon-SSL-1.04/README 2008-02-12 02:27:03.000000000 +0100 @@ -1,3 +1,26 @@ +Quick note: + +I have just taken over maintenance of HTTP::Daemon::SSL. This +release fixes various bugs: + * http://rt.cpan.org/Ticket/Display.html?id=28417 + * http://rt.cpan.org/Ticket/Display.html?id=21395 + * http://rt.cpan.org/Ticket/Display.html?id=15470 + +The todo list, in no particular order, is: + + * convert build system to Module::Build + * change tests to use Test::More + * improve test cases + +Latest versions are available on CPAN. My subversion repository is +also available: + + http://cvs.pumptheory.com/ (browse) + http://cvs.pumptheory.com/repos/ (repository) + +Mark Aufflick, + +------- HTTP::Daemon::SSL is a descendant of HTTP::Daemon that uses SSL sockets (via IO::Socket::SSL) instead of cleartext sockets. It diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/HTTP-Daemon-SSL-1.02/SSL.pm new/HTTP-Daemon-SSL-1.04/SSL.pm --- old/HTTP-Daemon-SSL-1.02/SSL.pm 2004-12-12 19:05:11.000000000 +0100 +++ new/HTTP-Daemon-SSL-1.04/SSL.pm 2008-02-12 02:27:03.000000000 +0100 @@ -46,7 +46,8 @@ to a object of the IHTTP::Daemon::ClientConn::SSL class which is another IIO::Socket::SSL subclass. In a list context a two-element array is returned containing the new IHTTP::Daemon::ClientConn::SSL reference -and the peer address; the list will be empty upon failure. Calling +and the peer address; the list will be empty upon failure. (Note that version + 1.02 erroneously did not honour list context). Calling the get_request() method on the IHTTP::Daemon::ClientConn::SSL object will read data from the client and return an IHTTP::Request object reference. @@ -71,7 +72,7 @@ use IO::Socket::SSL; use HTTP::Daemon; -$VERSION = "1.02"; +$VERSION = "1.04"; @ISA = qw(IO::Socket::SSL HTTP::Daemon); =item $d = new HTTP::Daemon::SSL @@ -105,10 +106,13 @@ { my $self = shift; my $pkg = shift || "HTTP::Daemon::ClientConn::SSL"; - while (1) { - my $sock = IO::Socket::SSL::accept($self,$pkg); - ${*$sock}{'httpd_daemon'} = $self if ($sock); - return $sock if ($sock || $self->errstr =~ /^IO::Socket[^\n]* accept failed$/); + my ($sock, $peer) = IO::Socket::SSL::accept($self,$pkg); + if ($sock) { + ${*$sock}{'httpd_daemon'} = $self; + return wantarray ? ($sock, $peer) : $sock; + } + else { + return; } } @@ -148,39 +152,14 @@ $self->kill_socket; } +# we're not overriding any methods here, but we are inserting IO::Socket::SSL +# into the message dispatch tree package HTTP::Daemon::ClientConn::SSL; use vars qw(@ISA $DEBUG); @ISA = qw(IO::Socket::SSL HTTP::Daemon::ClientConn); *DEBUG = \$HTTP::Daemon::DEBUG; -sub _need_more -{ - my $self = shift; - if ($_[1]) { - my($timeout, $fdset) = @_[1,2]; - print STDERR "select(,,,$timeout)\n" if $DEBUG; - my $n = select($fdset,undef,undef,$timeout); - unless ($n) { - $self->reason(defined($n) ? "Timeout" : "select: $!"); - return; - } - } - my $total = 0; - while (1){ - print STDERR sprintf("sysread() already %d\n",$total) if $DEBUG; - my $n = sysread($self, $_[0], 2048, length($_[0])); - print STDERR sprintf("sysread() just \$n=%s\n",(defined $n?$n:'undef')) if $DEBUG; - $total += $n if defined $n; - last if $! =~ 'Resource temporarily unavailable'; - #SSL_Error because of aggressive reading - - $self->reason(defined($n) ? "Client closed" : "sysread: $!") unless $n; - last unless $n; - last unless $n == 2048; - } - $total; -} =head1 SEE ALSO diff -urN --exclude=CVS --exclude=.cvsignore --exclude=.svn --exclude=.svnignore old/HTTP-Daemon-SSL-1.02/t/testmodule.t new/HTTP-Daemon-SSL-1.04/t/testmodule.t --- old/HTTP-Daemon-SSL-1.02/t/testmodule.t 2004-12-12 19:03:04.000000000 +0100 +++ new/HTTP-Daemon-SSL-1.04/t/testmodule.t 2008-02-12 02:27:01.000000000 +0100 @@ -7,7 +7,7 @@ eval {require "t/ssl_settings.req";} || eval {require "ssl_settings.req";}; -$numtests = 8; +$numtests = 9; $|=1; $SIG{PIPE}='IGNORE'; @@ -73,24 +73,30 @@ print "not " unless ($server->url =~ m!^https:!); &ok("server url test"); -my $client = $server->accept; +my $conn; +if (!($conn = $server->accept)) { + # first client request is a bad request + &ok("bad request handled"); +} else { + print "not ok $test # bad request returned a socket\n"; +} -if (!$client) { - print "not ok # no client\n"; - exit; +if ($conn = $server->accept) { + &ok("valid request handled"); +} else { + print "not ok $test # valid request did not return a socket\n"; } -&ok("server accept"); -my $r = $client->get_request(); +my $r = $conn->get_request(); unless ($r->method eq 'GET' and $r->url->path eq '/foo') { print "not "; } &ok("server method processing"); -$client->send_error(RC_FORBIDDEN); +$conn->send_error(RC_FORBIDDEN); -close $client; +close $conn; wait; sub ok { ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... --------------------------------------------------------------------- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org