diff options
Diffstat (limited to 'debian/perl-framework/Apache-Test')
11 files changed, 192 insertions, 85 deletions
diff --git a/debian/perl-framework/Apache-Test/Changes b/debian/perl-framework/Apache-Test/Changes index d9202ff..ec0c6ef 100644 --- a/debian/perl-framework/Apache-Test/Changes +++ b/debian/perl-framework/Apache-Test/Changes @@ -6,7 +6,51 @@ Changes - Apache::Test change logfile =over 3 -=item 1.41-dev +=item 1.44-dev + +=item 1.43 Nov 7 2021 + +Our implementation of "which" should not search +for a program in the elements of PATH when program +already contains a path. [rjung] + +Fix hash generation when the openssl command +was overwritten with the environment variable +"APACHE_TEST_OPENSSL_CMD". [rjung] + +Add new config option limitrequestline needed +when the local directory paths are long. [rjung] + +=item 1.42 Aug 28 2019 + +Fix loading apache_test_config.pm for recent perls in which '.' is +no longer in @INC by default. [Steve Hay] + +=item 1.41 Jul 11 2019 + +Set DefaultStateDir for > 2.5.1 and add -t_state to override. [jorton] + +Inherit config via IncludeOptional as well as Include. [jorton] + +Increase size of MinSpare, MaxSpare and MaxClients to improve httpd test +framework runs with worker and preform MPMs. [rjung] + +Changed the openssl version detection to work with other *SSL libraries. +[icing] + +Switch test framework from using Net::SSL for +raw TLS sockets to IO::Socket::SSL. [rjung] + +Fix mod_ssl tests under OpenSSL 1.1.1 / TLSv1.3. [jorton] + +Add cwd to generated lib path in TEST script since Perl >=5.26 don't +do that any more. [jorton] + +Override loglevel to trace8 if running in 2.4. [covener] + +Allow an empty PREFIX. [sf] + +Add need_min_apache_fix(). [covener] =item 1.40 Sep 6 2016 @@ -585,7 +629,7 @@ not required between runs. [Geoffrey Young] Apache::TestSmoke imrovements: [Stas] o the command line option -iterations=N should always be respected - (previously it was internally overridden for order!='random'). + (previously it was internally overriden for order!='random'). o since IPC::Run3 broke the Ctrl-C handler, we started to loose any intermediate results, should the run be aborted. So for now, try to always store those results in the temp file: @@ -1111,7 +1155,7 @@ filename and the line number the function was called from. If the with the name of the subroutine the function was called from. [Stas] add support for a new env var APACHE_TEST_TRACE_LEVEL, used to -override the tracing level. It propogates the overridden (either by env +override the tracing level. It propogates the overriden (either by env var APACHE_TEST_TRACE_LEVEL or -trace option) value to the server-side, so we can use Apache::TestTrace in mod_perl handlers, and be able enable/disable tracing from the commmand line. This way we diff --git a/debian/perl-framework/Apache-Test/Makefile.PL b/debian/perl-framework/Apache-Test/Makefile.PL index 713b136..2cfec1a 100644 --- a/debian/perl-framework/Apache-Test/Makefile.PL +++ b/debian/perl-framework/Apache-Test/Makefile.PL @@ -46,17 +46,6 @@ finddepth(sub { push @scripts, "$File::Find::dir/$1"; }, '.'); -my $has_mp; -eval { require mod_perl2 }; -if ($@) { - eval { require mod_perl }; - if (!$@) { - $has_mp = 1; - } -} else { - $has_mp = 2; -} - for (@scripts) { Apache::TestMM::generate_script($_); } @@ -74,6 +63,11 @@ my %prereq = ( 'Cwd' => '2.06', ); +# Apache::TestServer uses Win32::Process on Windows. +if ($^O =~ /MSWin32/i) { + $prereq{'Win32::Process'} = '0' +} + # Apache-Test/META.yml is excluded from mp2 distro to make PAUSE # indexer happy, but then perl Makefile.PL complains about a missing # META.yml, so autogenerate it if it wasn't in the distro diff --git a/debian/perl-framework/Apache-Test/RELEASE b/debian/perl-framework/Apache-Test/RELEASE index fa10838..0ec2b46 100644 --- a/debian/perl-framework/Apache-Test/RELEASE +++ b/debian/perl-framework/Apache-Test/RELEASE @@ -15,7 +15,7 @@ Instructions for Apache-Test Release Manager tags, so keep that in mind. b. commit Changes - % svn ci -m "1.41 rc1" Changes + % svn ci -m "1.44 rc1" Changes c. nuke any preinstalled Apache-Test libs and run 'make test' @@ -37,7 +37,7 @@ Instructions for Apache-Test Release Manager (or maybe longer to give most people a chance to catch up). no need to tag this package - Subject: [RELEASE CANDIDATE] Apache-Test-1.41 RC\d+ + Subject: [RELEASE CANDIDATE] Apache-Test-1.44 RC\d+ a. if problems are detected during stage 2, repeat stages 1 and 2. @@ -54,7 +54,7 @@ Instructions for Apache-Test Release Manager % make -n tag c. commit Changes - % svn ci -m "1.41 release" Changes + % svn ci -m "1.44 release" Changes d. tag % make tag @@ -73,9 +73,8 @@ Instructions for Apache-Test Release Manager o test-dev/perl.apache.org o dev/perl.apache.org o modperl/perl.apache.org - o announce/apache.org - Subject: [ANNOUNCE] Apache-Test-1.41 + Subject: [ANNOUNCE] Apache-Test-1.44 include: - MD5 sig (as it comes from CPAN upload announce). @@ -88,11 +87,11 @@ Instructions for Apache-Test Release Manager b. edit ./Changes: - start a new item with incremented version + '-dev' - =item 1.42-dev + =item 1.45-dev c. bump up version numbers in this file to make it easier to do the next release. % perl -pi.bak -e 's/(\d+)\.(\d+)/join(".", $1, $2+1)/eg' RELEASE d. commit Changes - % svn ci -m "start 1.41-dev cycle" Changes RELEASE lib/Apache/Test.pm + % svn ci -m "start 1.44-dev cycle" Changes RELEASE lib/Apache/Test.pm diff --git a/debian/perl-framework/Apache-Test/lib/Apache/Test.pm b/debian/perl-framework/Apache-Test/lib/Apache/Test.pm index e748c83..b18de11 100644 --- a/debian/perl-framework/Apache-Test/lib/Apache/Test.pm +++ b/debian/perl-framework/Apache-Test/lib/Apache/Test.pm @@ -37,7 +37,7 @@ BEGIN { use vars qw(@ISA @EXPORT %EXPORT_TAGS $VERSION %SubTests @SkipReasons); -$VERSION = '1.41'; +$VERSION = '1.44'; my @need = qw(need_lwp need_http11 need_cgi need_access need_auth need_module need_apache need_min_apache_version need_min_apache_fix diff --git a/debian/perl-framework/Apache-Test/lib/Apache/TestCommon.pm b/debian/perl-framework/Apache-Test/lib/Apache/TestCommon.pm index e65d1d3..9722bc2 100644 --- a/debian/perl-framework/Apache-Test/lib/Apache/TestCommon.pm +++ b/debian/perl-framework/Apache-Test/lib/Apache/TestCommon.pm @@ -53,7 +53,7 @@ sub run_write_test { $received += length $chunk; }); - ok t_cmp($length, $received, 'bytes in body'); + ok t_cmp($received, $length, 'bytes in body'); } } } diff --git a/debian/perl-framework/Apache-Test/lib/Apache/TestConfig.pm b/debian/perl-framework/Apache-Test/lib/Apache/TestConfig.pm index ad0b02c..274f1a0 100644 --- a/debian/perl-framework/Apache-Test/lib/Apache/TestConfig.pm +++ b/debian/perl-framework/Apache-Test/lib/Apache/TestConfig.pm @@ -59,41 +59,44 @@ use Apache::TestRun (); use vars qw(%Usage); %Usage = ( - top_dir => 'top-level directory (default is $PWD)', - t_dir => 'the t/ test directory (default is $top_dir/t)', - t_conf => 'the conf/ test directory (default is $t_dir/conf)', - t_logs => 'the logs/ test directory (default is $t_dir/logs)', - t_pid_file => 'location of the pid file (default is $t_logs/httpd.pid)', - t_conf_file => 'test httpd.conf file (default is $t_conf/httpd.conf)', - src_dir => 'source directory to look for mod_foos.so', - serverroot => 'ServerRoot (default is $t_dir)', - documentroot => 'DocumentRoot (default is $ServerRoot/htdocs', - port => 'Port [port_number|select] (default ' . DEFAULT_PORT . ')', - servername => 'ServerName (default is localhost)', - user => 'User to run test server as (default is $USER)', - group => 'Group to run test server as (default is $GROUP)', - bindir => 'Apache bin/ dir (default is apxs -q BINDIR)', - sbindir => 'Apache sbin/ dir (default is apxs -q SBINDIR)', - httpd => 'server to use for testing (default is $bindir/httpd)', - target => 'name of server binary (default is apxs -q TARGET)', - apxs => 'location of apxs (default is from Apache2::BuildConfig)', - startup_timeout => 'seconds to wait for the server to start (default is 60)', - httpd_conf => 'inherit config from this file (default is apxs derived)', - httpd_conf_extra=> 'inherit additional config from this file', - minclients => 'minimum number of concurrent clients (default is 1)', - maxclients => 'maximum number of concurrent clients (default is minclients+1)', - perlpod => 'location of perl pod documents (for testing downloads)', - proxyssl_url => 'url for testing ProxyPass / https (default is localhost)', - sslca => 'location of SSL CA (default is $t_conf/ssl/ca)', - sslcaorg => 'SSL CA organization to use for tests (default is asf)', - sslproto => 'SSL/TLS protocol version(s) to test', - libmodperl => 'path to mod_perl\'s .so (full or relative to LIBEXECDIR)', - defines => 'values to add as -D defines (for example, "VAR1 VAR2")', + top_dir => 'top-level directory (default is $PWD)', + t_dir => 'the t/ test directory (default is $top_dir/t)', + t_conf => 'the conf/ test directory (default is $t_dir/conf)', + t_logs => 'the logs/ test directory (default is $t_dir/logs)', + t_state => 'the state/ test directory (default is $t_dir/state)', + t_pid_file => 'location of the pid file (default is $t_logs/httpd.pid)', + t_conf_file => 'test httpd.conf file (default is $t_conf/httpd.conf)', + src_dir => 'source directory to look for mod_foos.so', + serverroot => 'ServerRoot (default is $t_dir)', + documentroot => 'DocumentRoot (default is $ServerRoot/htdocs', + port => 'Port [port_number|select] (default ' . DEFAULT_PORT . ')', + servername => 'ServerName (default is localhost)', + user => 'User to run test server as (default is $USER)', + group => 'Group to run test server as (default is $GROUP)', + bindir => 'Apache bin/ dir (default is apxs -q BINDIR)', + sbindir => 'Apache sbin/ dir (default is apxs -q SBINDIR)', + httpd => 'server to use for testing (default is $bindir/httpd)', + target => 'name of server binary (default is apxs -q TARGET)', + apxs => 'location of apxs (default is from Apache2::BuildConfig)', + startup_timeout => 'seconds to wait for the server to start (default is 60)', + httpd_conf => 'inherit config from this file (default is apxs derived)', + httpd_conf_extra => 'inherit additional config from this file', + minclients => 'minimum number of concurrent clients (default is 1)', + maxclients => 'maximum number of concurrent clients (default is minclients+1)', + threadsperchild => 'number of threads per child when using threaded MPMs (default is 10)', + limitrequestline => 'global LimitRequestLine setting (default is 128)', + perlpod => 'location of perl pod documents (for testing downloads)', + proxyssl_url => 'url for testing ProxyPass / https (default is localhost)', + sslca => 'location of SSL CA (default is $t_conf/ssl/ca)', + sslcaorg => 'SSL CA organization to use for tests (default is asf)', + sslproto => 'SSL/TLS protocol version(s) to test', + libmodperl => 'path to mod_perl\'s .so (full or relative to LIBEXECDIR)', + defines => 'values to add as -D defines (for example, "VAR1 VAR2")', (map { $_ . '_module_name', "$_ module name"} qw(cgi ssl thread access auth php)), ); my %filepath_conf_opts = map { $_ => 1 } - qw(top_dir t_dir t_conf t_logs t_pid_file t_conf_file src_dir serverroot + qw(top_dir t_dir t_conf t_logs t_state t_pid_file t_conf_file src_dir serverroot documentroot bindir sbindir httpd apxs httpd_conf httpd_conf_extra perlpod sslca libmodperl); @@ -298,9 +301,7 @@ sub new { $vars->{sslca} ||= catfile $vars->{t_conf}, 'ssl', 'ca'; $vars->{sslcaorg} ||= 'asf'; - if (!defined($vars->{sslproto})) { - require Apache::TestSSLCA; - + if (!defined($vars->{sslproto}) and eval { require Apache::TestSSLCA; 1; }) { $vars->{sslproto} = Apache::TestSSLCA::sslproto(); } else { @@ -308,6 +309,7 @@ sub new { } $vars->{t_logs} ||= catfile $vars->{serverroot}, 'logs'; + $vars->{t_state} ||= catfile $vars->{serverroot}, 'state'; $vars->{t_conf_file} ||= catfile $vars->{t_conf}, 'httpd.conf'; $vars->{t_pid_file} ||= catfile $vars->{t_logs}, 'httpd.pid'; @@ -326,6 +328,7 @@ sub new { $vars->{group} ||= $self->default_group; $vars->{serveradmin} ||= $self->default_serveradmin; + $vars->{threadsperchild} ||= 10; $vars->{minclients} ||= 1; $vars->{maxclients_preset} = $vars->{maxclients} || 0; # if maxclients wasn't explicitly passed try to @@ -338,13 +341,36 @@ sub new { $vars->{maxclients_preset} < $vars->{minclients}) { $vars->{minclients} = $vars->{maxclients_preset}; } + if ($vars->{minclients} < 2) { + $vars->{maxspare} = 2; + } else { + $vars->{maxspare} = $vars->{minclients}; + } + if ($vars->{maxclients} < $vars->{maxspare} + 1) { + $vars->{maxclients} = $vars->{maxspare} + 1; + } + + # for threaded mpms MinClients and MaxClients must be a + # multiple of ThreadsPerChild + { + use integer; + $vars->{minclientsthreadedmpm} = ($vars->{minclients} + $vars->{threadsperchild} - 1) / + $vars->{threadsperchild} * $vars->{threadsperchild}; + $vars->{maxclientsthreadedmpm} = ($vars->{maxclients} + $vars->{threadsperchild} - 1) / + $vars->{threadsperchild} * $vars->{threadsperchild}; + $vars->{maxsparethreadedmpm} = ($vars->{maxspare} + $vars->{threadsperchild} - 1) / + $vars->{threadsperchild} * $vars->{threadsperchild}; + $vars->{startserversthreadedmpm} = $vars->{minclientsthreadedmpm} / $vars->{threadsperchild}; + } + if ($vars->{maxsparethreadedmpm} < 2 * $vars->{threadsperchild}) { + $vars->{maxsparethreadedmpm} = 2 * $vars->{threadsperchild}; + } + if ($vars->{maxclientsthreadedmpm} < $vars->{maxsparethreadedmpm} + $vars->{threadsperchild}) { + $vars->{maxclientsthreadedmpm} = $vars->{maxsparethreadedmpm} + $vars->{threadsperchild}; + } - # for threaded mpms MaxClients must be a multiple of - # ThreadsPerChild (i.e. maxclients % minclients == 0) - # so unless -maxclients was explicitly specified use a double of - # minclients - $vars->{maxclientsthreadedmpm} = - $vars->{maxclients_preset} || $vars->{minclients} * 2; + $vars->{limitrequestline} ||= 128; + $vars->{limitrequestlinex2} = 2 * $vars->{limitrequestline}; $vars->{proxy} ||= 'off'; $vars->{proxyssl_url} ||= ''; @@ -524,6 +550,15 @@ sub configure_proxy { unless ($vars->{maxclients_preset}) { $vars->{minclients}++; $vars->{maxclients}++; + $vars->{maxspare}++; + $vars->{startserversthreadedmpm} ++; + $vars->{minclientsthreadedmpm} += $vars->{threadsperchild}; + $vars->{maxclientsthreadedmpm} += $vars->{threadsperchild}; + $vars->{maxsparethreadedmpm} += $vars->{threadsperchild}; + #In addition allow for some backend processes + #in keep-alive state. For threaded MPMs we + #already should be fine. + $vars->{maxclients} += 3; } $vars->{proxy} = $self->{vhosts}->{'mod_proxy'}->{hostport}; return $vars->{proxy}; @@ -1409,6 +1444,15 @@ sub check_vars { unless ($vars->{maxclients_preset}) { $vars->{minclients}++; $vars->{maxclients}++; + $vars->{maxspare}++; + $vars->{startserversthreadedmpm} ++; + $vars->{minclientsthreadedmpm} += $vars->{threadsperchild}; + $vars->{maxclientsthreadedmpm} += $vars->{threadsperchild}; + $vars->{maxsparethreadedmpm} += $vars->{threadsperchild}; + #In addition allow for some backend processes + #in keep-alive state. For threaded MPMs we + #already should be fine. + $vars->{maxclients} += 3; } } } @@ -1571,6 +1615,7 @@ sub generate_httpd_conf { $self->generate_index_html; $self->gendir($vars->{t_logs}); + $self->gendir($vars->{t_state}); $self->gendir($vars->{t_conf}); my @very_last_postamble = (); @@ -1737,6 +1782,11 @@ sub which { return undef unless $program; + # No need to search PATH components + # if $program already contains a path + return $program if !OSX and !WINFU and + $program =~ /\// and -f $program and -x $program; + my @dirs = File::Spec->path(); require Config; @@ -2166,6 +2216,11 @@ LogLevel debug DefaultRunTimeDir "@t_logs@" LogLevel trace8 </IfVersion> +<IfVersion > 2.4.34> +<IfDirective DefaultStateDir> + DefaultStateDir "@t_state@" +</IfDirective> +</IfVersion> </IfModule> <IfModule mod_log_config.c> @@ -2194,10 +2249,10 @@ HostnameLookups Off LockFile @t_logs@/accept.lock </IfVersion> </IfModule> - StartServers 1 - MinSpareThreads @MinClients@ - MaxSpareThreads @MinClients@ - ThreadsPerChild @MinClients@ + StartServers @StartServersThreadedMPM@ + MinSpareThreads @ThreadsPerChild@ + MaxSpareThreads @MaxSpareThreadedMPM@ + ThreadsPerChild @ThreadsPerChild@ MaxClients @MaxClientsThreadedMPM@ MaxRequestsPerChild 0 </IfModule> @@ -2210,8 +2265,8 @@ HostnameLookups Off </IfModule> NumServers 1 StartThreads @MinClients@ - MinSpareThreads @MinClients@ - MaxSpareThreads @MinClients@ + MinSpareThreads 1 + MaxSpareThreads @MaxSpare@ MaxThreadsPerChild @MaxClients@ MaxRequestsPerChild 0 </IfModule> @@ -2223,8 +2278,8 @@ HostnameLookups Off </IfVersion> </IfModule> StartServers @MinClients@ - MinSpareServers @MinClients@ - MaxSpareServers @MinClients@ + MinSpareServers 1 + MaxSpareServers @MaxSpare@ MaxClients @MaxClients@ MaxRequestsPerChild 0 </IfModule> @@ -2232,8 +2287,8 @@ HostnameLookups Off <IfDefine APACHE1> LockFile @t_logs@/accept.lock StartServers @MinClients@ - MinSpareServers @MinClients@ - MaxSpareServers @MinClients@ + MinSpareServers 1 + MaxSpareServers @MaxSpare@ MaxClients @MaxClients@ MaxRequestsPerChild 0 </IfDefine> diff --git a/debian/perl-framework/Apache-Test/lib/Apache/TestConfigParse.pm b/debian/perl-framework/Apache-Test/lib/Apache/TestConfigParse.pm index fa26f34..60e12e3 100644 --- a/debian/perl-framework/Apache-Test/lib/Apache/TestConfigParse.pm +++ b/debian/perl-framework/Apache-Test/lib/Apache/TestConfigParse.pm @@ -342,7 +342,7 @@ sub inherit_config_file_or_directory { (my $directive, $_) = split /\s+/, $_, 2; - if ($directive eq "Include") { + if ($directive eq "Include" or $directive eq "IncludeOptional") { foreach my $include (glob($self->server_file_rel2abs($_))) { $self->inherit_config_file_or_directory($include); } diff --git a/debian/perl-framework/Apache-Test/lib/Apache/TestRun.pm b/debian/perl-framework/Apache-Test/lib/Apache/TestRun.pm index f398eb5..515f69a 100644 --- a/debian/perl-framework/Apache-Test/lib/Apache/TestRun.pm +++ b/debian/perl-framework/Apache-Test/lib/Apache/TestRun.pm @@ -776,7 +776,7 @@ sub detect_relocation { return unless -e $config_file; my %inc = %INC; - eval { require "$config_file" }; + eval { require "./$config_file" }; %INC = %inc; # be stealth warn($@), return if $@; diff --git a/debian/perl-framework/Apache-Test/lib/Apache/TestRunPHP.pm b/debian/perl-framework/Apache-Test/lib/Apache/TestRunPHP.pm index df01bc4..d2965ba 100644 --- a/debian/perl-framework/Apache-Test/lib/Apache/TestRunPHP.pm +++ b/debian/perl-framework/Apache-Test/lib/Apache/TestRunPHP.pm @@ -234,7 +234,7 @@ what this means, but it isn't important to understand the gory details. instead, it is sufficient to understand that when C<Apache::Test> calls C<bar.php> it feeds the results directly to C<Test::Harness>, a module that comes with every Perl installation, and C<Test::Harness> expects -what it receives to be formatted in a very specific way. by itself, all +what it receives to be formated in a very specific way. by itself, all of this is pretty useless, so C<Apache::Test> provides PHP testers with something much better. here is a much better example: diff --git a/debian/perl-framework/Apache-Test/lib/Apache/TestSSLCA.pm b/debian/perl-framework/Apache-Test/lib/Apache/TestSSLCA.pm index 3f1a24a..ca37f16 100644 --- a/debian/perl-framework/Apache-Test/lib/Apache/TestSSLCA.pm +++ b/debian/perl-framework/Apache-Test/lib/Apache/TestSSLCA.pm @@ -23,7 +23,7 @@ use DirHandle (); use File::Path (); use File::Copy 'cp'; use File::Basename; -use Net::SSLeay; +use File::Spec::Functions qw(devnull); use Apache::TestConfig (); use Apache::TestTrace; @@ -73,6 +73,7 @@ if (Apache::Test::normalize_vstring($version) < my $sslproto = "all"; +eval { require Net::SSLeay; }; if (Apache::Test::normalize_vstring($version) >= Apache::Test::normalize_vstring("1.1.1") && !defined(&Net::SSLeay::CTX_set_post_handshake_auth)) { @@ -293,8 +294,20 @@ nsComment = This Is A Comment 1.3.6.1.4.1.18060.12.0 = DER:0c064c656d6f6e73 subjectAltName = email:\$mail$san_msupn +[ client_ext ] +extendedKeyUsage = clientAuth + [ server_ext ] subjectAltName = DNS:\$CN$san_dnssrv +extendedKeyUsage = serverAuth +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid,issuer + +[ ca_ext ] +subjectKeyIdentifier=hash +authorityKeyIdentifier=keyid:always,issuer +basicConstraints = critical,CA:true + EOF return $file; @@ -325,7 +338,7 @@ sub new_ca { join ':', dn_oneline('client_snakeoil'), $basic_auth_password); - openssl req => "-new -x509 -keyout $cakey -out $cacert $days", + openssl req => "-new -x509 -extensions ca_ext -keyout $cakey -out $cacert $days", config('ca'); export_cert('ca'); #useful for importing into IE @@ -366,7 +379,8 @@ sub sign_cert { my $name = shift; my $exts = ''; - $exts = ' -extensions client_ok_ext' if $name =~ /client_ok/; + $exts = ' -extensions client_ext' if $name =~ /client/; + $exts .= ' -extensions client_ok_ext' if $name =~ /client_ok/; $exts = ' -extensions server_ext' if $name =~ /server/; @@ -422,7 +436,7 @@ sub hash_certs { for my $file ($dh->read) { next unless $file =~ /\.cr[tl]$/; - chomp(my $hash = `openssl $type -noout -hash < $file`); + chomp(my $hash = `$openssl $type -noout -hash < $file`); next unless $hash; my $symlink = "$hash.r$n"; $n++; @@ -572,9 +586,10 @@ sub gendir { } sub version { - my $version = qx($openssl version); - return $1 if $version =~ /^OpenSSL (\S+) /; - return 0; + my $devnull = devnull(); + my $version = qx($openssl version 2>$devnull); + return $1 if $version =~ /^\S+SSL (\S+)/; + die "FATAL: unable to determine openssl version via `$openssl version` from: $version"; } sub dgst { diff --git a/debian/perl-framework/Apache-Test/lib/Apache/TestTrace.pm b/debian/perl-framework/Apache-Test/lib/Apache/TestTrace.pm index 19c5b29..00426ea 100644 --- a/debian/perl-framework/Apache-Test/lib/Apache/TestTrace.pm +++ b/debian/perl-framework/Apache-Test/lib/Apache/TestTrace.pm @@ -126,9 +126,9 @@ sub nc_trace { } sub trace_level { - # overridden by user/-trace + # overriden by user/-trace (defined $Level && $levels{$Level}) || - # or overridden by env var + # or overriden by env var (exists $ENV{APACHE_TEST_TRACE_LEVEL} && $levels{$ENV{APACHE_TEST_TRACE_LEVEL}}) || # or default |