mirror of
https://github.com/vincentmli/bpfire.git
synced 2026-04-13 12:32:59 +02:00
vpnmain.cgi: Return the entire error message if OpenSSL fails
The function did not evaluate the return code which is why it used a hack to figure out if some output is an error or not. This is being fixed in this commit and the entire output is being returned if the return code is non-zero. Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
This commit is contained in:
@@ -229,13 +229,14 @@ sub callssl ($) {
|
||||
my $opt = shift;
|
||||
my $retssl = `/usr/bin/openssl $opt 2>&1`; #redirect stderr
|
||||
my $ret = '';
|
||||
foreach my $line (split (/\n/, $retssl)) {
|
||||
&General::log("ipsec", "$line") if (0); # 1 for verbose logging
|
||||
$ret .= '<br>'.$line if ( $line =~ /error|unknown/ );
|
||||
}
|
||||
if ($ret) {
|
||||
$ret= &Header::cleanhtml($ret);
|
||||
|
||||
if ($?) {
|
||||
foreach my $line (split (/\n/, $retssl)) {
|
||||
&General::log("ipsec", "$line") if (0); # 1 for verbose logging
|
||||
$ret .= '<br>' . &Header::escape($line);
|
||||
}
|
||||
}
|
||||
|
||||
return $ret ? "$Lang::tr{'openssl produced an error'}: $ret" : '' ;
|
||||
}
|
||||
###
|
||||
|
||||
Reference in New Issue
Block a user