forked from mysql/mysql-server
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathcheck_openssl_version.inc
55 lines (46 loc) · 1.32 KB
/
check_openssl_version.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
--disable_query_log
--disable_result_log
let OPENSSL_VERSION_INFO= $MYSQLTEST_VARDIR/log/openssl_version_info.txt;
let OPENSSL_CONFIG_INC= $MYSQLTEST_VARDIR/log/openssl_binary_config.inc;
--error 0,1
--remove_file $OPENSSL_VERSION_INFO
--error 0,1
--remove_file $OPENSSL_CONFIG_INC
--error 0,1, 127
--exec openssl version > $OPENSSL_VERSION_INFO
perl;
use strict;
my $search_file= $ENV{'OPENSSL_VERSION_INFO'};
my $search_pattern_1= "0.9.*";
my $search_pattern_2= "1.0.0.*";
my $search_pattern_3= "1.0.1.*";
my $content= "";
my $dir= $ENV{'MYSQLTEST_VARDIR'};
open(CONFIG_INC, ">$dir/log/openssl_binary_config.inc");
open(FILE, "$search_file") or die("Unable to open '$search_file' : $!\n");
read(FILE, $content, 100, 0);
close(FILE);
if ( ($content =~ m{$search_pattern_1}) || ($content =~ m{$search_pattern_2}) ||
($content =~ m{$search_pattern_3}) ) {
print CONFIG_INC "let \$STATUS_VAR = 1;\n";
}
else {
print CONFIG_INC "let \$STATUS_VAR = 0;\n";
}
close(CONFIG_INC);
EOF
--source $OPENSSL_CONFIG_INC
if ($STATUS_VAR)
{
--error 0,1
--remove_file $OPENSSL_VERSION_INFO
--error 0,1
--remove_file $OPENSSL_CONFIG_INC
--skip Test requires openssl version to be 1.0.2+
}
--error 0,1
--remove_file $OPENSSL_VERSION_INFO
--error 0,1
--remove_file $OPENSSL_CONFIG_INC
--enable_query_log
--enable_result_log