[ET Trac] [Einstein Toolkit] #1439: SSL certificate check failing
Einstein Toolkit
trac-noreply at einsteintoolkit.org
Mon Sep 16 13:21:05 CDT 2013
#1439: SSL certificate check failing
--------------------+-------------------------------------------------------
Reporter: rhaas | Owner:
Type: defect | Status: new
Priority: major | Milestone:
Component: Other | Version: development version
Keywords: |
--------------------+-------------------------------------------------------
The check for SSL certificates in line 535:
{{{#perl
# check for svn SSL problems
if ( $rec{"TYPE"} eq "svn" && defined $rec{"AUTH_URL"} ) {
my $base = $rec{"AUTH_URL"};
$base =~ s/(https\:\/\/[\w\.]+)\/(.*)$/$1/i;
unless ( defined $svn_servers{$base} ) {
my $ret = `$svn --non-interactive info $rec{AUTH_URL} 2>&1`;
if ( $ret =~ /Server certificate verification failed/ ) {
$svn_servers{$base} = 0;
}
else {
$svn_servers{$base} = 1;
}
}
}
}}}
is incorrect since eg for the ET manifest where
{{{
AUTH_URL=https://svn.einsteintoolkit.org/$1/trunk
}}}
the executed svn command is:
{{{
svn --non-interactive info https://svn.einsteintoolkit.org/$1/trunk 2>&1
}}}
which actually returns and error:
{{{
svn: E175002: Unable to connect to a repository at URL
'https://svn.einsteintoolkit.org/trunk'
svn: E175002: The OPTIONS request returned invalid XML in the response:
XML parse error at line 1: Extra content at the end of the document
(https://svn.einsteintoolkit.org/trunk)
}}}
but the code does not test for svn failures at all at this point.
The simplest fix would be to move the check further down where {{{$1}}}
has been replaced by an actual value, eg into the loop:
{{{
# we are splitting each group of components into individuals
# to check for existence. they will now be passed individually to
# the checkout/update subroutines. this will take up more memory,
# but it should make it easier if the user decides to add another
# component from the same repository later
my @checkouts = split( /\s+/m, $rec{"CHECKOUT"} );
foreach my $checkout (@checkouts) {
}}}
in line 565 which however causes the test to run for every single CHECKOUT
item.
--
Ticket URL: <https://trac.einsteintoolkit.org/ticket/1439>
Einstein Toolkit <http://einsteintoolkit.org>
The Einstein Toolkit
More information about the Trac
mailing list