[openssl] master update

Richard Levitte levitte at openssl.org
Tue Jul 2 18:11:38 UTC 2019


The branch master has been updated
       via  7a2027240e1d01f7f5b209998d1de36af221b34b (commit)
      from  bd01733fdd9a5a0acdc72cf5c6601d37e8ddd801 (commit)


- Log -----------------------------------------------------------------
commit 7a2027240e1d01f7f5b209998d1de36af221b34b
Author: Martin Peylo <martin.peylo at nokia.com>
Date:   Wed Aug 22 12:48:22 2018 +0300

    Adding Test.pm with workaround for Perl abs2rel bug
    
    If SRCTOP != BLDTOP, and SRCTOP is given in relative form, e.g.
    "./config ../openssl", then a bug in Perl's abs2rel may trigger that directory-
    rewriting in __cwd results in wrong entries in %directories under certain
    circumstances, e.g. when a test executes run(app(["openssl"]) after indir.
    
    There should not be any need to go to a higher directory from BLDDIR or SRCDIR,
    so it should be OK to use them in their absolute form, also resolving all
    possible symlinks, right from the start.
    
    Following the File::Spec::Functions bug description (reported to perl.org):
    
    When abs2rel gets a path argument with ..s that are crossing over the ..s
    trailing the base argument, the result is wrong.
    
    Example
    PATH: /home/goal/test/..
    BASE: /home/goal/test/../../base
    Good result: ../goal
    Bad  result: ../..
    
    Bug verified with File::Spec versions
    - 3.6301
    - 3.74 (latest)
    
    Reviewed-by: Matt Caswell <matt at openssl.org>
    Reviewed-by: Richard Levitte <levitte at openssl.org>
    (Merged from https://github.com/openssl/openssl/pull/7031)

-----------------------------------------------------------------------

Summary of changes:
 util/perl/OpenSSL/Test.pm | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/util/perl/OpenSSL/Test.pm b/util/perl/OpenSSL/Test.pm
index ee4c8eb..cf7502b 100644
--- a/util/perl/OpenSSL/Test.pm
+++ b/util/perl/OpenSSL/Test.pm
@@ -66,6 +66,7 @@ use File::Spec::Functions qw/file_name_is_absolute curdir canonpath splitdir
                              rel2abs/;
 use File::Path 2.00 qw/rmtree mkpath/;
 use File::Basename;
+use Cwd qw/abs_path/;
 
 my $level = 0;
 
@@ -932,8 +933,8 @@ i.e. Some tests may only work in non FIPS mode.
 sub __env {
     (my $recipe_datadir = basename($0)) =~ s/\.t$/_data/i;
 
-    $directories{SRCTOP}  = $ENV{SRCTOP} || $ENV{TOP};
-    $directories{BLDTOP}  = $ENV{BLDTOP} || $ENV{TOP};
+    $directories{SRCTOP}  = abs_path($ENV{SRCTOP} || $ENV{TOP});
+    $directories{BLDTOP}  = abs_path($ENV{BLDTOP} || $ENV{TOP});
     $directories{BLDAPPS} = $ENV{BIN_D}  || __bldtop_dir("apps");
     $directories{SRCAPPS} =                 __srctop_dir("apps");
     $directories{BLDFUZZ} =                 __bldtop_dir("fuzz");


More information about the openssl-commits mailing list