This queue is for tickets about the HTTP-Daemon-SSL CPAN distribution.

Report information
The Basics
Id:
88998
Status:
open
Priority:
Low/Low

People
Owner:
Nobody in particular
Requestors:
victor [...] vsespb.ru
Cc:
AdminCc:

BugTracker
Severity:
Critical
Broken in:
1.04
Fixed in:
(no value)

Attachments
HTTP-Daemon-SSL-1.04-Generate-keys-and-certificates-at-test-time.patch



Subject: Test failures
I am getting the following: Can't call method "get_request" on an undefined value at t/testmodule.t line 90. =============== cpanm (App::cpanminus) 1.7000 on perl 5.018001 built for i686-linux-64int Work directory is /home/perltest/.cpanm/work/1380275431.726 You have make /usr/bin/make You have LWP 6.05 You have /bin/tar: tar (GNU tar) 1.26 Copyright (C) 2011 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Written by John Gilmore and Jay Fenlason. You have /usr/bin/unzip Searching HTTP::Daemon::SSL on cpanmetadb ... --> Working on HTTP::Daemon::SSL Fetching http://www.cpan.org/authors/id/A/AU/AUFFLICK/HTTP-Daemon-SSL-1.04.tar.gz ... OK Unpacking HTTP-Daemon-SSL-1.04.tar.gz HTTP-Daemon-SSL-1.04/ HTTP-Daemon-SSL-1.04/certs/ HTTP-Daemon-SSL-1.04/certs/server-cert.pem HTTP-Daemon-SSL-1.04/certs/server-key.pem HTTP-Daemon-SSL-1.04/certs/.svn/ HTTP-Daemon-SSL-1.04/certs/.svn/tmp/ HTTP-Daemon-SSL-1.04/certs/.svn/tmp/props/ HTTP-Daemon-SSL-1.04/certs/.svn/tmp/text-base/ HTTP-Daemon-SSL-1.04/certs/.svn/tmp/prop-base/ HTTP-Daemon-SSL-1.04/certs/.svn/all-wcprops HTTP-Daemon-SSL-1.04/certs/.svn/props/ HTTP-Daemon-SSL-1.04/certs/.svn/text-base/ HTTP-Daemon-SSL-1.04/certs/.svn/text-base/server-cert.pem.svn-base HTTP-Daemon-SSL-1.04/certs/.svn/text-base/test-ca.pem.svn-base HTTP-Daemon-SSL-1.04/certs/.svn/text-base/server-key.pem.svn-base HTTP-Daemon-SSL-1.04/certs/.svn/entries HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/ HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/server-cert.pem.svn-base HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/test-ca.pem.svn-base HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/server-key.pem.svn-base HTTP-Daemon-SSL-1.04/certs/.svn/format HTTP-Daemon-SSL-1.04/certs/test-ca.pem HTTP-Daemon-SSL-1.04/Makefile.PL HTTP-Daemon-SSL-1.04/README HTTP-Daemon-SSL-1.04/SSL.pm HTTP-Daemon-SSL-1.04/BUGS HTTP-Daemon-SSL-1.04/Changes HTTP-Daemon-SSL-1.04/MANIFEST HTTP-Daemon-SSL-1.04/META.yml HTTP-Daemon-SSL-1.04/t/ HTTP-Daemon-SSL-1.04/t/ssl_settings.req HTTP-Daemon-SSL-1.04/t/testmodule.t HTTP-Daemon-SSL-1.04/t/loadmodule.t HTTP-Daemon-SSL-1.04/t/.svn/ HTTP-Daemon-SSL-1.04/t/.svn/tmp/ HTTP-Daemon-SSL-1.04/t/.svn/tmp/props/ HTTP-Daemon-SSL-1.04/t/.svn/tmp/text-base/ HTTP-Daemon-SSL-1.04/t/.svn/tmp/prop-base/ HTTP-Daemon-SSL-1.04/t/.svn/all-wcprops HTTP-Daemon-SSL-1.04/t/.svn/props/ HTTP-Daemon-SSL-1.04/t/.svn/text-base/ HTTP-Daemon-SSL-1.04/t/.svn/text-base/testmodule.t.svn-base HTTP-Daemon-SSL-1.04/t/.svn/text-base/loadmodule.t.svn-base HTTP-Daemon-SSL-1.04/t/.svn/text-base/ssl_settings.req.svn-base HTTP-Daemon-SSL-1.04/t/.svn/entries HTTP-Daemon-SSL-1.04/t/.svn/prop-base/ HTTP-Daemon-SSL-1.04/t/.svn/prop-base/testmodule.t.svn-base HTTP-Daemon-SSL-1.04/t/.svn/prop-base/loadmodule.t.svn-base HTTP-Daemon-SSL-1.04/t/.svn/prop-base/ssl_settings.req.svn-base HTTP-Daemon-SSL-1.04/t/.svn/format Entering HTTP-Daemon-SSL-1.04 Checking configure dependencies from META.yml Running Makefile.PL Configuring HTTP-Daemon-SSL-1.04 ... Checking if your kit is complete... Looks good Writing Makefile for HTTP::Daemon::SSL Writing MYMETA.yml and MYMETA.json OK Checking dependencies from MYMETA.json ... Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.66) Checking if you have HTTP::Daemon 1 ... Yes (6.01) Checking if you have IO::Socket::SSL 0.93 ... Yes (1.954) Building and testing HTTP-Daemon-SSL-1.04 ... cp SSL.pm blib/lib/HTTP/Daemon/SSL.pm Manifying blib/man3/HTTP::Daemon::SSL.3 PERL_DL_NONLAZY=1 /home/perltest/perl5/perlbrew/perls/perl-5.18.1-64int/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/loadmodule.t .. ok t/testmodule.t .. 4/9 Can't call method "get_request" on an undefined value at t/testmodule.t line 90. t/testmodule.t .. Dubious, test returned 255 (wstat 65280, 0xff00) Failed 4/9 subtests Test Summary Report ------------------- t/testmodule.t (Wstat: 65280 Tests: 7 Failed: 2) Failed tests: 4, 7 Non-zero exit status: 255 Parse errors: Tests out of sequence. Found (4) but expected (6) Bad plan. You planned 9 tests but ran 7. Files=2, Tests=10, 2 wallclock secs ( 0.02 usr 0.00 sys + 0.13 cusr 0.02 csys = 0.17 CPU) Result: FAIL Failed 1/2 test programs. 2/10 subtests failed. make: *** [test_dynamic] Error 255 FAIL ! Installing HTTP::Daemon::SSL failed. See /home/perltest/.cpanm/work/1380275431.726/build.log for details. Retry with --force to force install it. Command terminated with non-zero status. Command [cpanm --verbose HTTP::Daemon::SSL] terminated with exit code 1 ($? = 256) under the following perl environment: Current perl: Name: perl-5.18.1-64int Path: /home/perltest/perl5/perlbrew/perls/perl-5.18.1-64int/bin/perl Config: -de -Dprefix=/home/perltest/perl5/perlbrew/perls/perl-5.18.1-64int -Duse64bitint -Aeval:scriptdir=/home/perltest/perl5/perlbrew/perls/perl-5.18.1-64int/bin Compiled at: Sep 6 2013 04:02:16 perlbrew: version: 0.66 ENV: PERLBREW_ROOT: /home/perltest/perl5/perlbrew PERLBREW_HOME: /home/perltest/.perlbrew PERLBREW_PATH: /home/perltest/perl5/perlbrew/bin:/home/perltest/perl5/perlbrew/perls/perl-5.18.1-64int/bin PERLBREW_MANPATH: /home/perltest/perl5/perlbrew/perls/perl-5.18.1-64int/man =============== similar report here http://www.cpantesters.org/cpan/report/bdf084c2-08d1-11e3-9963-336a7413e2a9 actually there are a lot of test failures on CPANTESTERS (800 of 2600) http://www.cpantesters.org/distro/H/HTTP-Daemon-SSL.html#HTTP-Daemon-SSL-1.04
From: victor@vsespb.ru
I've modified that part of code: ====== if ($conn = $server->accept) { &ok("valid request handled"); } else { print STDERR $IO::Socket::SSL::ERROR; print "not ok $test # valid request did not return a socket $!\n"; } ====== and got: ====== ok #server init 1 ok #server fileno 2 ok #server url test 3 ok #client bad connection test 1 ok #bad request handled 4 SSL accept attempt failed with unknown error error:1408A0C1:SSL routines:SSL3_GET_CLIENT_HELLO:no shared ciphernot ok 4 # valid request did not return a socket Can't call method "get_request" on an undefined value at t/1.t line 97. not ok #client failure ====== On Fri Sep 27 13:51:28 2013, vsespb wrote:
Show quoted text
> I am getting the following: > > Can't call method "get_request" on an undefined value at > t/testmodule.t line 90. > > =============== > cpanm (App::cpanminus) 1.7000 on perl 5.018001 built for i686-linux- > 64int > Work directory is /home/perltest/.cpanm/work/1380275431.726 > You have make /usr/bin/make > You have LWP 6.05 > You have /bin/tar: tar (GNU tar) 1.26 > Copyright (C) 2011 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > <http://gnu.org/licenses/gpl.html>. > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > > Written by John Gilmore and Jay Fenlason. > You have /usr/bin/unzip > Searching HTTP::Daemon::SSL on cpanmetadb ... > --> Working on HTTP::Daemon::SSL > Fetching http://www.cpan.org/authors/id/A/AU/AUFFLICK/HTTP-Daemon-SSL- > 1.04.tar.gz ... OK > Unpacking HTTP-Daemon-SSL-1.04.tar.gz > HTTP-Daemon-SSL-1.04/ > HTTP-Daemon-SSL-1.04/certs/ > HTTP-Daemon-SSL-1.04/certs/server-cert.pem > HTTP-Daemon-SSL-1.04/certs/server-key.pem > HTTP-Daemon-SSL-1.04/certs/.svn/ > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/ > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/props/ > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/text-base/ > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/prop-base/ > HTTP-Daemon-SSL-1.04/certs/.svn/all-wcprops > HTTP-Daemon-SSL-1.04/certs/.svn/props/ > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/ > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/server-cert.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/test-ca.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/server-key.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/entries > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/ > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/server-cert.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/test-ca.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/server-key.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/format > HTTP-Daemon-SSL-1.04/certs/test-ca.pem > HTTP-Daemon-SSL-1.04/Makefile.PL > HTTP-Daemon-SSL-1.04/README > HTTP-Daemon-SSL-1.04/SSL.pm > HTTP-Daemon-SSL-1.04/BUGS > HTTP-Daemon-SSL-1.04/Changes > HTTP-Daemon-SSL-1.04/MANIFEST > HTTP-Daemon-SSL-1.04/META.yml > HTTP-Daemon-SSL-1.04/t/ > HTTP-Daemon-SSL-1.04/t/ssl_settings.req > HTTP-Daemon-SSL-1.04/t/testmodule.t > HTTP-Daemon-SSL-1.04/t/loadmodule.t > HTTP-Daemon-SSL-1.04/t/.svn/ > HTTP-Daemon-SSL-1.04/t/.svn/tmp/ > HTTP-Daemon-SSL-1.04/t/.svn/tmp/props/ > HTTP-Daemon-SSL-1.04/t/.svn/tmp/text-base/ > HTTP-Daemon-SSL-1.04/t/.svn/tmp/prop-base/ > HTTP-Daemon-SSL-1.04/t/.svn/all-wcprops > HTTP-Daemon-SSL-1.04/t/.svn/props/ > HTTP-Daemon-SSL-1.04/t/.svn/text-base/ > HTTP-Daemon-SSL-1.04/t/.svn/text-base/testmodule.t.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/text-base/loadmodule.t.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/text-base/ssl_settings.req.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/entries > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/ > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/testmodule.t.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/loadmodule.t.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/ssl_settings.req.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/format > Entering HTTP-Daemon-SSL-1.04 > Checking configure dependencies from META.yml > Running Makefile.PL > Configuring HTTP-Daemon-SSL-1.04 ... Checking if your kit is > complete... > Looks good > Writing Makefile for HTTP::Daemon::SSL > Writing MYMETA.yml and MYMETA.json > OK > Checking dependencies from MYMETA.json ... > Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.66) > Checking if you have HTTP::Daemon 1 ... Yes (6.01) > Checking if you have IO::Socket::SSL 0.93 ... Yes (1.954) > Building and testing HTTP-Daemon-SSL-1.04 ... cp SSL.pm > blib/lib/HTTP/Daemon/SSL.pm > Manifying blib/man3/HTTP::Daemon::SSL.3 > PERL_DL_NONLAZY=1 /home/perltest/perl5/perlbrew/perls/perl-5.18.1- > 64int/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, > 'blib/lib', 'blib/arch')" t/*.t > t/loadmodule.t .. ok > t/testmodule.t .. 4/9 Can't call method "get_request" on an undefined > value at t/testmodule.t line 90. > t/testmodule.t .. Dubious, test returned 255 (wstat 65280, 0xff00) > Failed 4/9 subtests > > Test Summary Report > ------------------- > t/testmodule.t (Wstat: 65280 Tests: 7 Failed: 2) > Failed tests: 4, 7 > Non-zero exit status: 255 > Parse errors: Tests out of sequence. Found (4) but expected (6) > Bad plan. You planned 9 tests but ran 7. > Files=2, Tests=10, 2 wallclock secs ( 0.02 usr 0.00 sys + 0.13 cusr > 0.02 csys = 0.17 CPU) > Result: FAIL > Failed 1/2 test programs. 2/10 subtests failed. > make: *** [test_dynamic] Error 255 > FAIL > ! Installing HTTP::Daemon::SSL failed. See > /home/perltest/.cpanm/work/1380275431.726/build.log for details. Retry > with --force to force install it. > Command terminated with non-zero status. > Command [cpanm --verbose HTTP::Daemon::SSL] terminated with exit code > 1 ($? = 256) under the following perl environment: > Current perl: > Name: perl-5.18.1-64int > Path: /home/perltest/perl5/perlbrew/perls/perl-5.18.1-64int/bin/perl > Config: -de -Dprefix=/home/perltest/perl5/perlbrew/perls/perl- > 5.18.1-64int -Duse64bitint > -Aeval:scriptdir=/home/perltest/perl5/perlbrew/perls/perl-5.18.1- > 64int/bin > Compiled at: Sep 6 2013 04:02:16 > > perlbrew: > version: 0.66 > ENV: > PERLBREW_ROOT: /home/perltest/perl5/perlbrew > PERLBREW_HOME: /home/perltest/.perlbrew > PERLBREW_PATH: > /home/perltest/perl5/perlbrew/bin:/home/perltest/perl5/perlbrew/perls/perl- > 5.18.1-64int/bin > PERLBREW_MANPATH: /home/perltest/perl5/perlbrew/perls/perl-5.18.1- > 64int/man > =============== > > similar report here http://www.cpantesters.org/cpan/report/bdf084c2- > 08d1-11e3-9963-336a7413e2a9 > > actually there are a lot of test failures on CPANTESTERS (800 of 2600) > http://www.cpantesters.org/distro/H/HTTP-Daemon-SSL.html#HTTP-Daemon- > SSL-1.04
From: victor@vsespb.ru
I think this can be fixed as specified in https://rt.cpan.org/Public/Bug/Display.html?id=85278 with this change: ===== my $server = new HTTP::Daemon::SSL(LocalPort => $SSL_SERVER_PORT, LocalAddr => $SSL_SERVER_ADDR, Listen => 5, Timeout => 30, ReuseAddr => 1, SSL_cipher_list => 'ALL:!LOW', SSL_verify_mode => 0x00, SSL_ca_file => "certs/test-ca.pem", SSL_key_file => "certs/server-key.pem", SSL_cert_file => "certs/server-cert.pem"); ==== test passes. On Fri Sep 27 16:52:54 2013, vsespb wrote:
Show quoted text
> I've modified that part of code: > ====== > if ($conn = $server->accept) { > &ok("valid request handled"); > } else { > print STDERR $IO::Socket::SSL::ERROR; > print "not ok $test # valid request did not return a socket $!\n"; > } > ====== > > and got: > > ====== > ok #server init 1 > ok #server fileno 2 > ok #server url test 3 > ok #client bad connection test 1 > ok #bad request handled 4 > SSL accept attempt failed with unknown error error:1408A0C1:SSL > routines:SSL3_GET_CLIENT_HELLO:no shared ciphernot ok 4 # valid > request did not return a socket > Can't call method "get_request" on an undefined value at t/1.t line > 97. > not ok #client failure > ====== > > > On Fri Sep 27 13:51:28 2013, vsespb wrote:
> > I am getting the following: > > > > Can't call method "get_request" on an undefined value at > > t/testmodule.t line 90. > > > > =============== > > cpanm (App::cpanminus) 1.7000 on perl 5.018001 built for i686-linux- > > 64int > > Work directory is /home/perltest/.cpanm/work/1380275431.726 > > You have make /usr/bin/make > > You have LWP 6.05 > > You have /bin/tar: tar (GNU tar) 1.26 > > Copyright (C) 2011 Free Software Foundation, Inc. > > License GPLv3+: GNU GPL version 3 or later > > <http://gnu.org/licenses/gpl.html>. > > This is free software: you are free to change and redistribute it. > > There is NO WARRANTY, to the extent permitted by law. > > > > Written by John Gilmore and Jay Fenlason. > > You have /usr/bin/unzip > > Searching HTTP::Daemon::SSL on cpanmetadb ... > > --> Working on HTTP::Daemon::SSL > > Fetching http://www.cpan.org/authors/id/A/AU/AUFFLICK/HTTP-Daemon- > > SSL- > > 1.04.tar.gz ... OK > > Unpacking HTTP-Daemon-SSL-1.04.tar.gz > > HTTP-Daemon-SSL-1.04/ > > HTTP-Daemon-SSL-1.04/certs/ > > HTTP-Daemon-SSL-1.04/certs/server-cert.pem > > HTTP-Daemon-SSL-1.04/certs/server-key.pem > > HTTP-Daemon-SSL-1.04/certs/.svn/ > > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/ > > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/props/ > > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/text-base/ > > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/prop-base/ > > HTTP-Daemon-SSL-1.04/certs/.svn/all-wcprops > > HTTP-Daemon-SSL-1.04/certs/.svn/props/ > > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/ > > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/server-cert.pem.svn-base > > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/test-ca.pem.svn-base > > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/server-key.pem.svn-base > > HTTP-Daemon-SSL-1.04/certs/.svn/entries > > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/ > > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/server-cert.pem.svn-base > > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/test-ca.pem.svn-base > > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/server-key.pem.svn-base > > HTTP-Daemon-SSL-1.04/certs/.svn/format > > HTTP-Daemon-SSL-1.04/certs/test-ca.pem > > HTTP-Daemon-SSL-1.04/Makefile.PL > > HTTP-Daemon-SSL-1.04/README > > HTTP-Daemon-SSL-1.04/SSL.pm > > HTTP-Daemon-SSL-1.04/BUGS > > HTTP-Daemon-SSL-1.04/Changes > > HTTP-Daemon-SSL-1.04/MANIFEST > > HTTP-Daemon-SSL-1.04/META.yml > > HTTP-Daemon-SSL-1.04/t/ > > HTTP-Daemon-SSL-1.04/t/ssl_settings.req > > HTTP-Daemon-SSL-1.04/t/testmodule.t > > HTTP-Daemon-SSL-1.04/t/loadmodule.t > > HTTP-Daemon-SSL-1.04/t/.svn/ > > HTTP-Daemon-SSL-1.04/t/.svn/tmp/ > > HTTP-Daemon-SSL-1.04/t/.svn/tmp/props/ > > HTTP-Daemon-SSL-1.04/t/.svn/tmp/text-base/ > > HTTP-Daemon-SSL-1.04/t/.svn/tmp/prop-base/ > > HTTP-Daemon-SSL-1.04/t/.svn/all-wcprops > > HTTP-Daemon-SSL-1.04/t/.svn/props/ > > HTTP-Daemon-SSL-1.04/t/.svn/text-base/ > > HTTP-Daemon-SSL-1.04/t/.svn/text-base/testmodule.t.svn-base > > HTTP-Daemon-SSL-1.04/t/.svn/text-base/loadmodule.t.svn-base > > HTTP-Daemon-SSL-1.04/t/.svn/text-base/ssl_settings.req.svn-base > > HTTP-Daemon-SSL-1.04/t/.svn/entries > > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/ > > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/testmodule.t.svn-base > > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/loadmodule.t.svn-base > > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/ssl_settings.req.svn-base > > HTTP-Daemon-SSL-1.04/t/.svn/format > > Entering HTTP-Daemon-SSL-1.04 > > Checking configure dependencies from META.yml > > Running Makefile.PL > > Configuring HTTP-Daemon-SSL-1.04 ... Checking if your kit is > > complete... > > Looks good > > Writing Makefile for HTTP::Daemon::SSL > > Writing MYMETA.yml and MYMETA.json > > OK > > Checking dependencies from MYMETA.json ... > > Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.66) > > Checking if you have HTTP::Daemon 1 ... Yes (6.01) > > Checking if you have IO::Socket::SSL 0.93 ... Yes (1.954) > > Building and testing HTTP-Daemon-SSL-1.04 ... cp SSL.pm > > blib/lib/HTTP/Daemon/SSL.pm > > Manifying blib/man3/HTTP::Daemon::SSL.3 > > PERL_DL_NONLAZY=1 /home/perltest/perl5/perlbrew/perls/perl-5.18.1- > > 64int/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, > > 'blib/lib', 'blib/arch')" t/*.t > > t/loadmodule.t .. ok > > t/testmodule.t .. 4/9 Can't call method "get_request" on an undefined > > value at t/testmodule.t line 90. > > t/testmodule.t .. Dubious, test returned 255 (wstat 65280, 0xff00) > > Failed 4/9 subtests > > > > Test Summary Report > > ------------------- > > t/testmodule.t (Wstat: 65280 Tests: 7 Failed: 2) > > Failed tests: 4, 7 > > Non-zero exit status: 255 > > Parse errors: Tests out of sequence. Found (4) but expected (6) > > Bad plan. You planned 9 tests but ran 7. > > Files=2, Tests=10, 2 wallclock secs ( 0.02 usr 0.00 sys + 0.13 > > cusr > > 0.02 csys = 0.17 CPU) > > Result: FAIL > > Failed 1/2 test programs. 2/10 subtests failed. > > make: *** [test_dynamic] Error 255 > > FAIL > > ! Installing HTTP::Daemon::SSL failed. See > > /home/perltest/.cpanm/work/1380275431.726/build.log for details. > > Retry > > with --force to force install it. > > Command terminated with non-zero status. > > Command [cpanm --verbose HTTP::Daemon::SSL] terminated with exit code > > 1 ($? = 256) under the following perl environment: > > Current perl: > > Name: perl-5.18.1-64int > > Path: /home/perltest/perl5/perlbrew/perls/perl-5.18.1- > > 64int/bin/perl > > Config: -de -Dprefix=/home/perltest/perl5/perlbrew/perls/perl- > > 5.18.1-64int -Duse64bitint > > -Aeval:scriptdir=/home/perltest/perl5/perlbrew/perls/perl-5.18.1- > > 64int/bin > > Compiled at: Sep 6 2013 04:02:16 > > > > perlbrew: > > version: 0.66 > > ENV: > > PERLBREW_ROOT: /home/perltest/perl5/perlbrew > > PERLBREW_HOME: /home/perltest/.perlbrew > > PERLBREW_PATH: > > /home/perltest/perl5/perlbrew/bin:/home/perltest/perl5/perlbrew/perls/perl- > > 5.18.1-64int/bin > > PERLBREW_MANPATH: /home/perltest/perl5/perlbrew/perls/perl- > > 5.18.1- > > 64int/man > > =============== > > > > similar report here http://www.cpantesters.org/cpan/report/bdf084c2- > > 08d1-11e3-9963-336a7413e2a9 > > > > actually there are a lot of test failures on CPANTESTERS (800 of > > 2600) > > http://www.cpantesters.org/distro/H/HTTP-Daemon-SSL.html#HTTP-Daemon- > > SSL-1.04
From: ppisar@redhat.com
Dne Pá 27.zář.2013 08:52:54, vsespb napsal(a):
Show quoted text
> SSL accept attempt failed with unknown error error:1408A0C1:SSL > routines:SSL3_GET_CLIENT_HELLO:no shared ciphernot ok 4 # valid > request did not return a socket > Can't call method "get_request" on an undefined value at t/1.t line > 97. > not ok #client failure > ====== > >
With OpenSSL 1.0.1 you get different SSL error because the pregenerated 512-bit RSA key cannot be used to sign digests in the SSL handshake when client chooses digest algorithm with too large digest. See <http://rt.openssl.org/Ticket/Display.html?id=2769&user=guest&pass=guest>.
From: ppisar@redhat.com
Dne St 14.Květen.2014 03:24:25, ppisar napsal(a):
Show quoted text
> With OpenSSL 1.0.1 you get different SSL error because the > pregenerated 512-bit RSA key cannot be used to sign digests in the SSL > handshake when client chooses digest algorithm with too large digest. >
Attached patch fixes my problem. I believe it fixes also the problem originally reported. -- Petr
Subject: HTTP-Daemon-SSL-1.04-Generate-keys-and-certificates-at-test-time.patch
From 2b728bdd6df8968d1dae92856ac5ebed85d71d2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Petr=20P=C3=ADsa=C5=99?= <ppisar@redhat.com> Date: Wed, 14 May 2014 10:36:50 +0200 Subject: [PATCH] Generate keys and certificates at test-time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This fixes <https://rt.cpan.org/Public/Bug/Display.html?id=88998>. Signed-off-by: Petr Písař <ppisar@redhat.com> --- Makefile.PL | 2 ++ t/testmodule.t | 38 +++++++++++++++++++++++++++++++++++++- 2 files changed, 39 insertions(+), 1 deletion(-) diff --git a/Makefile.PL b/Makefile.PL index 17fe591..b8927b2 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -10,5 +10,7 @@ WriteMakefile( 'VERSION_FROM' => 'SSL.pm', 'DISTNAME' => 'HTTP-Daemon-SSL', 'PREREQ_PM' => { 'HTTP::Daemon' => 1.0, 'IO::Socket::SSL' => 0.93 }, + 'BUILD_REQUIRES' => { 'HTTP::Daemon' => 1.0, 'IO::Socket::SSL' => 0.93, + 'IO::Socket::SSL::Utils' => 0 }, 'dist' => { COMPRESS => 'gzip', SUFFIX => 'gz', }, ); diff --git a/t/testmodule.t b/t/testmodule.t index 6ca235a..c83d9ab 100644 --- a/t/testmodule.t +++ b/t/testmodule.t @@ -4,10 +4,11 @@ use HTTP::Daemon::SSL; use HTTP::Status; +use IO::Socket::SSL::Utils; eval {require "t/ssl_settings.req";} || eval {require "ssl_settings.req";}; -$numtests = 9; +$numtests = 14; $|=1; $SIG{PIPE}='IGNORE'; @@ -22,6 +23,41 @@ print "1..$numtests\n"; $test = 0; +my ($ca_cert, $ca_key) = CERT_create( + subject => { commonName => 'Dummy IO::Socket::SSL Certificate Authority' }, + CA => 1, +); +(defined $ca_cert and defined $ca_key) || print 'not '; +&ok('authority certificate generated'); + +my ($server_cert, $server_key) = CERT_create( + subject => { commonName => 'IO::Socket::SSL Dummy Server Certificate' }, + CA => 0, + issuer_cert => $ca_cert, + issuer_key => $ca_key, +); +(defined $server_cert and defined $server_key) || print 'not '; +&ok('server certificate generated'); + +eval { PEM_cert2file($ca_cert, 'certs/test-ca.pem') }; +(!$@ and -s 'certs/test-ca.pem') || print 'not '; +&ok('authority certificate saved'); + +PEM_cert2file($server_cert, 'certs/server-cert.pem'); +(!$@ and -s 'certs/server-cert.pem') || print 'not '; +&ok('server certificate saved'); + +PEM_key2file($server_key, 'certs/server-key.pem'); +(!$@ and -s 'certs/server-key.pem') || print 'not '; +&ok('server key saved'); + +# freeing fails now <https://bugzilla.redhat.com/show_bug.cgi?id=1097640> +#CERT_free($ca_cert); +#KEY_free($ca_key); +#CERT_free($server_cert); +#KEY_free($server_key); + + unless (fork) { sleep 1; -- 1.9.0
RT-Send-CC: ppisar@redhat.com
On 2014-05-14 04:46:44, ppisar wrote:
Show quoted text
> Dne St 14.Květen.2014 03:24:25, ppisar napsal(a):
> > With OpenSSL 1.0.1 you get different SSL error because the > > pregenerated 512-bit RSA key cannot be used to sign digests in the > > SSL > > handshake when client chooses digest algorithm with too large digest. > >
> Attached patch fixes my problem. I believe it fixes also the problem > originally reported. > > -- Petr
The combined wisdom of this ticket is now available for CPAN.pm users using distroprefs files: https://github.com/eserte/srezic-cpan-distroprefs/blob/master/HTTP-Daemon-SSL.yml
On Fri Sep 27 05:51:28 2013, vsespb wrote:
Show quoted text
> I am getting the following: > > Can't call method "get_request" on an undefined value at > t/testmodule.t line 90. > > =============== > cpanm (App::cpanminus) 1.7000 on perl 5.018001 built for i686-linux- > 64int > Work directory is /home/perltest/.cpanm/work/1380275431.726 > You have make /usr/bin/make > You have LWP 6.05 > You have /bin/tar: tar (GNU tar) 1.26 > Copyright (C) 2011 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > <http://gnu.org/licenses/gpl.html>. > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. > > Written by John Gilmore and Jay Fenlason. > You have /usr/bin/unzip > Searching HTTP::Daemon::SSL on cpanmetadb ... > --> Working on HTTP::Daemon::SSL > Fetching http://www.cpan.org/authors/id/A/AU/AUFFLICK/HTTP-Daemon-SSL- > 1.04.tar.gz ... OK > Unpacking HTTP-Daemon-SSL-1.04.tar.gz > HTTP-Daemon-SSL-1.04/ > HTTP-Daemon-SSL-1.04/certs/ > HTTP-Daemon-SSL-1.04/certs/server-cert.pem > HTTP-Daemon-SSL-1.04/certs/server-key.pem > HTTP-Daemon-SSL-1.04/certs/.svn/ > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/ > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/props/ > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/text-base/ > HTTP-Daemon-SSL-1.04/certs/.svn/tmp/prop-base/ > HTTP-Daemon-SSL-1.04/certs/.svn/all-wcprops > HTTP-Daemon-SSL-1.04/certs/.svn/props/ > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/ > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/server-cert.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/test-ca.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/text-base/server-key.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/entries > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/ > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/server-cert.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/test-ca.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/prop-base/server-key.pem.svn-base > HTTP-Daemon-SSL-1.04/certs/.svn/format > HTTP-Daemon-SSL-1.04/certs/test-ca.pem > HTTP-Daemon-SSL-1.04/Makefile.PL > HTTP-Daemon-SSL-1.04/README > HTTP-Daemon-SSL-1.04/SSL.pm > HTTP-Daemon-SSL-1.04/BUGS > HTTP-Daemon-SSL-1.04/Changes > HTTP-Daemon-SSL-1.04/MANIFEST > HTTP-Daemon-SSL-1.04/META.yml > HTTP-Daemon-SSL-1.04/t/ > HTTP-Daemon-SSL-1.04/t/ssl_settings.req > HTTP-Daemon-SSL-1.04/t/testmodule.t > HTTP-Daemon-SSL-1.04/t/loadmodule.t > HTTP-Daemon-SSL-1.04/t/.svn/ > HTTP-Daemon-SSL-1.04/t/.svn/tmp/ > HTTP-Daemon-SSL-1.04/t/.svn/tmp/props/ > HTTP-Daemon-SSL-1.04/t/.svn/tmp/text-base/ > HTTP-Daemon-SSL-1.04/t/.svn/tmp/prop-base/ > HTTP-Daemon-SSL-1.04/t/.svn/all-wcprops > HTTP-Daemon-SSL-1.04/t/.svn/props/ > HTTP-Daemon-SSL-1.04/t/.svn/text-base/ > HTTP-Daemon-SSL-1.04/t/.svn/text-base/testmodule.t.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/text-base/loadmodule.t.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/text-base/ssl_settings.req.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/entries > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/ > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/testmodule.t.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/loadmodule.t.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/prop-base/ssl_settings.req.svn-base > HTTP-Daemon-SSL-1.04/t/.svn/format > Entering HTTP-Daemon-SSL-1.04 > Checking configure dependencies from META.yml > Running Makefile.PL > Configuring HTTP-Daemon-SSL-1.04 ... Checking if your kit is > complete... > Looks good > Writing Makefile for HTTP::Daemon::SSL > Writing MYMETA.yml and MYMETA.json > OK > Checking dependencies from MYMETA.json ... > Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.66) > Checking if you have HTTP::Daemon 1 ... Yes (6.01) > Checking if you have IO::Socket::SSL 0.93 ... Yes (1.954) > Building and testing HTTP-Daemon-SSL-1.04 ... cp SSL.pm > blib/lib/HTTP/Daemon/SSL.pm > Manifying blib/man3/HTTP::Daemon::SSL.3 > PERL_DL_NONLAZY=1 /home/perltest/perl5/perlbrew/perls/perl-5.18.1- > 64int/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, > 'blib/lib', 'blib/arch')" t/*.t > t/loadmodule.t .. ok > t/testmodule.t .. 4/9 Can't call method "get_request" on an undefined > value at t/testmodule.t line 90. > t/testmodule.t .. Dubious, test returned 255 (wstat 65280, 0xff00) > Failed 4/9 subtests > > Test Summary Report > ------------------- > t/testmodule.t (Wstat: 65280 Tests: 7 Failed: 2) > Failed tests: 4, 7 > Non-zero exit status: 255 > Parse errors: Tests out of sequence. Found (4) but expected (6) > Bad plan. You planned 9 tests but ran 7. > Files=2, Tests=10, 2 wallclock secs ( 0.02 usr 0.00 sys + 0.13 cusr > 0.02 csys = 0.17 CPU) > Result: FAIL > Failed 1/2 test programs. 2/10 subtests failed. > make: *** [test_dynamic] Error 255 > FAIL > ! Installing HTTP::Daemon::SSL failed. See > /home/perltest/.cpanm/work/1380275431.726/build.log for details. Retry > with --force to force install it. > Command terminated with non-zero status. > Command [cpanm --verbose HTTP::Daemon::SSL] terminated with exit code > 1 ($? = 256) under the following perl environment: > Current perl: > Name: perl-5.18.1-64int > Path: /home/perltest/perl5/perlbrew/perls/perl-5.18.1-64int/bin/perl > Config: -de -Dprefix=/home/perltest/perl5/perlbrew/perls/perl- > 5.18.1-64int -Duse64bitint > -Aeval:scriptdir=/home/perltest/perl5/perlbrew/perls/perl-5.18.1- > 64int/bin > Compiled at: Sep 6 2013 04:02:16 > > perlbrew: > version: 0.66 > ENV: > PERLBREW_ROOT: /home/perltest/perl5/perlbrew > PERLBREW_HOME: /home/perltest/.perlbrew > PERLBREW_PATH: > /home/perltest/perl5/perlbrew/bin:/home/perltest/perl5/perlbrew/perls/perl- > 5.18.1-64int/bin > PERLBREW_MANPATH: /home/perltest/perl5/perlbrew/perls/perl-5.18.1- > 64int/man > =============== > > similar report here http://www.cpantesters.org/cpan/report/bdf084c2- > 08d1-11e3-9963-336a7413e2a9 > > actually there are a lot of test failures on CPANTESTERS (800 of 2600) > http://www.cpantesters.org/distro/H/HTTP-Daemon-SSL.html#HTTP-Daemon- > SSL-1.04
These test failures are still present when I attempt to install this module against perl-5.27.11 on FreeBSD-11.1: ##### PERL_DL_NONLAZY=1 "/usr/home/jkeenan/var/tad/testing/perl-5.27.11/bin/perl5.27.11" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/loadmodule.t .. ok Can't use an undefined value as a symbol reference at t/testmodule.t line 31. t/testmodule.t .. Failed 9/9 subtests Test Summary Report ------------------- t/testmodule.t (Wstat: 0 Tests: 1 Failed: 1) Failed test: 0 Parse errors: Tests out of sequence. Found (0) but expected (1) Bad plan. You planned 9 tests but ran 1. Files=2, Tests=4, 1 wallclock secs ( 0.02 usr 0.02 sys + 0.12 cusr 0.05 csys = 0.20 CPU) Result: FAIL Failed 1/2 test programs. 1/4 subtests failed. ##### PERL_DL_NONLAZY=1 "/usr/home/jkeenan/var/tad/testing/perl-5.27.11/bin/perl5.27.11" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/loadmodule.t .. ok Can't use an undefined value as a symbol reference at t/testmodule.t line 31. t/testmodule.t .. Failed 9/9 subtests Test Summary Report ------------------- t/testmodule.t (Wstat: 0 Tests: 1 Failed: 1) Failed test: 0 Parse errors: Tests out of sequence. Found (0) but expected (1) Bad plan. You planned 9 tests but ran 1. Files=2, Tests=4, 1 wallclock secs ( 0.02 usr 0.02 sys + 0.12 cusr 0.05 csys = 0.20 CPU) Result: FAIL Failed 1/2 test programs. 1/4 subtests failed.


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.