Skip to content

Commit 4b200bb

Browse files
committed
Merge tag 'clone-5.7.20-build' into mysql-5.7-cluster-7.5
2 parents 489cb5b + d665420 commit 4b200bb

File tree

667 files changed

+15270
-2711
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

667 files changed

+15270
-2711
lines changed

VERSION

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
11
MYSQL_VERSION_MAJOR=5
22
MYSQL_VERSION_MINOR=7
3-
MYSQL_VERSION_PATCH=19
3+
MYSQL_VERSION_PATCH=20
44
MYSQL_VERSION_EXTRA=-ndb-7.5.8

client/client_priv.h

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
2+
Copyright (c) 2001, 2017, Oracle and/or its affiliates. All rights reserved.
33
44
This program is free software; you can redistribute it and/or modify
55
it under the terms of the GNU General Public License as published by
@@ -145,11 +145,11 @@ enum options_client
145145
Client deprecation warnings
146146
*/
147147
#define CLIENT_WARN_DEPRECATED_NO_REPLACEMENT(opt) \
148-
printf("WARNING: " opt \
148+
fprintf(stderr, "WARNING: " opt \
149149
" is deprecated and will be removed in a future version\n")
150150

151151
#define CLIENT_WARN_DEPRECATED(opt, new_opt) \
152-
printf("WARNING: " opt \
152+
fprintf(stderr, "WARNING: " opt \
153153
" is deprecated and will be removed in a future version. " \
154154
"Use " new_opt " instead.\n")
155155

client/dump/abstract_chain_element.cc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright (c) 2015, 2016 Oracle and/or its affiliates. All rights reserved.
2+
Copyright (c) 2015, 2017 Oracle and/or its affiliates. All rights reserved.
33
44
This program is free software; you can redistribute it and/or modify
55
it under the terms of the GNU General Public License as published by

client/dump/abstract_progress_watcher.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright (c) 2015, Oracle and/or its affiliates. All rights reserved.
2+
Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved.
33
44
This program is free software; you can redistribute it and/or modify
55
it under the terms of the GNU General Public License as published by
@@ -82,7 +82,7 @@ void Abstract_progress_watcher::object_processing_ended(
8282
Table_rows_dump_task* processed_table_task=
8383
dynamic_cast<Table_rows_dump_task*>(
8484
finished_process_data->get_process_task_object());
85-
if (processed_table_task != NULL && processed_table_task->is_completed()
85+
if (processed_table_task != NULL
8686
&& finished_process_data->had_chain_created())
8787
{
8888
m_progress.m_table_count++;

client/mysql_ssl_rsa_setup.cc

+82-8
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
Copyright (c) 2015, 2016, Oracle and/or its affiliates. All rights reserved.
2+
Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved.
33
44
This program is free software; you can redistribute it and/or modify
55
it under the terms of the GNU General Public License as published by
@@ -71,6 +71,12 @@ enum certs
7171
OPENSSL_RND
7272
};
7373

74+
enum extfiles
75+
{
76+
CAV3_EXT=0,
77+
CERTV3_EXT
78+
};
79+
7480
Sql_string_t cert_files[] =
7581
{
7682
create_string("ca.pem"),
@@ -87,6 +93,12 @@ Sql_string_t cert_files[] =
8793
create_string(".rnd")
8894
};
8995

96+
Sql_string_t ext_files[] =
97+
{
98+
create_string("cav3.ext"),
99+
create_string("certv3.ext")
100+
};
101+
90102
#define MAX_PATH_LEN (FN_REFLEN - strlen(FN_DIRSEP) \
91103
- cert_files[SERVER_CERT].length() - 1)
92104
/*
@@ -314,6 +326,49 @@ class X509_key
314326
stringstream m_subj_prefix;
315327
};
316328

329+
class X509v3_ext_writer
330+
{
331+
public:
332+
X509v3_ext_writer()
333+
{
334+
m_cav3_ext_options << "basicConstraints=CA:TRUE" << std::endl;
335+
336+
m_certv3_ext_options << "basicConstraints=CA:FALSE" << std::endl;
337+
}
338+
~X509v3_ext_writer() {};
339+
340+
bool operator()(const Sql_string_t &cav3_ext_file,
341+
const Sql_string_t &certv3_ext_file)
342+
{
343+
if (!cav3_ext_file.length() ||
344+
!certv3_ext_file.length())
345+
return true;
346+
347+
std::ofstream ext_file;
348+
349+
ext_file.open(cav3_ext_file.c_str(),
350+
std::ios::out|std::ios::trunc);
351+
if (!ext_file.is_open())
352+
return true;
353+
ext_file << m_cav3_ext_options.str();
354+
ext_file.close();
355+
356+
ext_file.open(certv3_ext_file.c_str(),
357+
std::ios::out|std::ios::trunc);
358+
if (!ext_file.is_open())
359+
{
360+
remove_file(cav3_ext_file.c_str(), false);
361+
return true;
362+
}
363+
ext_file << m_certv3_ext_options.str();
364+
ext_file.close();
365+
366+
return false;
367+
}
368+
private:
369+
stringstream m_cav3_ext_options;
370+
stringstream m_certv3_ext_options;
371+
};
317372

318373
class X509_cert
319374
{
@@ -328,15 +383,17 @@ class X509_cert
328383
uint32_t serial,
329384
bool self_signed,
330385
const Sql_string_t &sign_key_file,
331-
const Sql_string_t &sign_cert_file)
386+
const Sql_string_t &sign_cert_file,
387+
const Sql_string_t &ext_file)
332388
{
333389
stringstream command;
334390
command << "openssl x509 -sha256 -days " << m_validity;
335-
command << " -set_serial " << serial << " -req -in " << req_file << " ";
391+
command << " -extfile " << ext_file;
392+
command << " -set_serial " << serial << " -req -in " << req_file;
336393
if (self_signed)
337-
command << "-signkey " << sign_key_file;
394+
command << " -signkey " << sign_key_file;
338395
else
339-
command << "-CA " << sign_cert_file << " -CAkey " << sign_key_file;
396+
command << " -CA " << sign_cert_file << " -CAkey " << sign_key_file;
340397
command << " -out " << cert_file;
341398

342399
return command.str();
@@ -551,6 +608,7 @@ int main(int argc, char *argv[])
551608
Sql_string_t empty_string("");
552609
X509_key x509_key(suffix_string);
553610
X509_cert x509_cert;
611+
X509v3_ext_writer x509v3_ext_writer;
554612

555613
/* Delete existing files if any */
556614
remove_file(cert_files[CA_REQ], false);
@@ -560,14 +618,23 @@ int main(int argc, char *argv[])
560618
remove_file(cert_files[CLIENT_KEY], false);
561619
remove_file(cert_files[OPENSSL_RND], false);
562620

621+
/* Remove existing v3 extension files */
622+
remove_file(ext_files[CAV3_EXT], false);
623+
remove_file(ext_files[CERTV3_EXT], false);
624+
625+
/* Create v3 extension files */
626+
if (x509v3_ext_writer(ext_files[CAV3_EXT], ext_files[CERTV3_EXT]))
627+
goto end;
628+
563629
/* Generate CA Key and Certificate */
564630
if ((ret_val= execute_command(x509_key("_Auto_Generated_CA_Certificate",
565631
cert_files[CA_KEY], cert_files[CA_REQ]),
566632
"Error generating ca_key.pem and ca_req.pem")))
567633
goto end;
568634

569635
if ((ret_val= execute_command(x509_cert(cert_files[CA_REQ], cert_files[CA_CERT], 1,
570-
true, cert_files[CA_KEY], empty_string),
636+
true, cert_files[CA_KEY], empty_string,
637+
ext_files[CAV3_EXT]),
571638
"Error generating ca_cert.pem")))
572639
goto end;
573640

@@ -578,7 +645,8 @@ int main(int argc, char *argv[])
578645
goto end;
579646

580647
if ((ret_val= execute_command(x509_cert(cert_files[SERVER_REQ], cert_files[SERVER_CERT], 2,
581-
false, cert_files[CA_KEY], cert_files[CA_CERT]),
648+
false, cert_files[CA_KEY], cert_files[CA_CERT],
649+
ext_files[CERTV3_EXT]),
582650
"Error generating server_cert.pem")))
583651
goto end;
584652

@@ -589,7 +657,8 @@ int main(int argc, char *argv[])
589657
goto end;
590658

591659
if ((ret_val= execute_command(x509_cert(cert_files[CLIENT_REQ], cert_files[CLIENT_CERT], 3,
592-
false, cert_files[CA_KEY], cert_files[CA_CERT]),
660+
false, cert_files[CA_KEY], cert_files[CA_CERT],
661+
ext_files[CERTV3_EXT]),
593662
"Error generating client_cert.pem")))
594663
goto end;
595664

@@ -622,6 +691,11 @@ int main(int argc, char *argv[])
622691
goto end;
623692

624693
remove_file(cert_files[OPENSSL_RND], false);
694+
695+
/* Remove existing v3 extension files */
696+
remove_file(ext_files[CAV3_EXT], false);
697+
remove_file(ext_files[CERTV3_EXT], false);
698+
625699
}
626700

627701
/*

client/mysqlbinlog.cc

+12-3
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ Query_log_event::rewrite_db_in_buffer(char **buf, ulong *event_len,
218218
char* ptr= *buf;
219219
uint sv_len= 0;
220220

221+
DBUG_EXECUTE_IF("simulate_corrupt_event_len", *event_len=0;);
221222
/* Error if the event content is too small */
222223
if (*event_len < (common_header_len + query_header_len))
223224
return true;
@@ -2532,7 +2533,8 @@ static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,
25322533
char log_file_name[FN_REFLEN + 1];
25332534
Exit_status retval= OK_CONTINUE;
25342535
enum enum_server_command command= COM_END;
2535-
2536+
char *event_buf= NULL;
2537+
ulong event_len;
25362538
DBUG_ENTER("dump_remote_log_entries");
25372539

25382540
fname[0]= log_file_name[0]= 0;
@@ -2691,12 +2693,19 @@ static Exit_status dump_remote_log_entries(PRINT_EVENT_INFO *print_event_info,
26912693
*/
26922694
if (type == binary_log::HEARTBEAT_LOG_EVENT)
26932695
continue;
2696+
event_buf= (char *) net->read_pos + 1;
2697+
event_len= len - 1;
2698+
if (rewrite_db_filter(&event_buf, &event_len, glob_description_event))
2699+
{
2700+
error("Got a fatal error while applying rewrite db filter.");
2701+
DBUG_RETURN(ERROR_STOP);
2702+
}
26942703

26952704
if (!raw_mode || (type == binary_log::ROTATE_EVENT) ||
26962705
(type == binary_log::FORMAT_DESCRIPTION_EVENT))
26972706
{
2698-
if (!(ev= Log_event::read_log_event((const char*) net->read_pos + 1 ,
2699-
len - 1, &error_msg,
2707+
if (!(ev= Log_event::read_log_event((const char*) event_buf,
2708+
event_len, &error_msg,
27002709
glob_description_event,
27012710
opt_verify_binlog_checksum)))
27022711
{

client/mysqldump.c

+3
Original file line numberDiff line numberDiff line change
@@ -5847,7 +5847,10 @@ static my_bool get_view_structure(char *table, char* db)
58475847
if (path)
58485848
{
58495849
if (!(sql_file= open_sql_file_for_table(table, O_WRONLY)))
5850+
{
5851+
mysql_free_result(table_res);
58505852
DBUG_RETURN(1);
5853+
}
58515854

58525855
write_header(sql_file, db);
58535856
}

extra/yassl/README

+8
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,14 @@ before calling SSL_new();
1212

1313
*** end Note ***
1414

15+
yaSSL Release notes, version 2.4.4 (8/8/2017)
16+
This release of yaSSL fixes an interop issue. A fix for detecting cipher
17+
suites with non leading zeros is included as yaSSL only supports cipher
18+
suites with leading zeros. Thanks for the report from Security Innovation
19+
and Oracle.
20+
21+
Users interoping with other SSL stacks should update.
22+
1523
yaSSL Release notes, version 2.4.2 (9/22/2016)
1624
This release of yaSSL fixes a medium security vulnerability. A fix for
1725
potential AES side channel leaks is included that a local user monitoring

extra/yassl/certs/ca-cert.pem

+48-48
Original file line numberDiff line numberDiff line change
@@ -1,40 +1,13 @@
1-
-----BEGIN CERTIFICATE-----
2-
MIIEqjCCA5KgAwIBAgIJAJpBR82hFGKMMA0GCSqGSIb3DQEBBQUAMIGUMQswCQYD
3-
VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8G
4-
A1UECgwIU2F3dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3
5-
dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTAe
6-
Fw0xNDA3MTEwMzIwMDhaFw0xNzA0MDYwMzIwMDhaMIGUMQswCQYDVQQGEwJVUzEQ
7-
MA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8GA1UECgwIU2F3
8-
dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3dy53b2xmc3Ns
9-
LmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZI
10-
hvcNAQEBBQADggEPADCCAQoCggEBAL8Myi0Ush6EQlvNOB9K8k11EPG2NZ/fyn0D
11-
mNOs3gNm7irx2LB9bgdUCxCYIU2AyxIg58xP3kV9yXJ3MurKkLtpUhADL6jzlcXx
12-
i2JWG+9nb6QQQZWtCpvjpcCw0nB2UDBbqOgILHztp6J6jTgpHKzH7fJ8lbCVgn1J
13-
XDjNdyXvvYB1U5Q8PcpjW58VtdMdEy8Z0TzbdjrMuH3J5cLX2kBv2CHccxtCLVOc
14-
/hr8fat6Nj+Y3oR8BWfOahQ4h6nxjLVoy2h/cSAr9aBj9VYvoybSt2+xWhfXOJkI
15-
/pNYb/7DE0kIFgunTWcAUjFnI06Y7VFFHbkE2Qvs2CizS73tNnkCAwEAAaOB/DCB
16-
+TAdBgNVHQ4EFgQUJ45nEXTDJh0/7TNjs6TYHTDl6NUwgckGA1UdIwSBwTCBvoAU
17-
J45nEXTDJh0/7TNjs6TYHTDl6NWhgZqkgZcwgZQxCzAJBgNVBAYTAlVTMRAwDgYD
18-
VQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREwDwYDVQQKDAhTYXd0b290
19-
aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwPd3d3LndvbGZzc2wuY29t
20-
MR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tggkAmkFHzaEUYowwDAYD
21-
VR0TBAUwAwEB/zANBgkqhkiG9w0BAQUFAAOCAQEAeXgMbXmIkfw6FZz5J2IW8CEf
22-
+n0/oqgyHvfyEal0FnRe3BjK8AAq1QMGJjDxR4P9Mm787apPfQxjYDEvfAy/mWaH
23-
7ScIhi3EM+iYIxz+o9uaSU78WkLvccM/rdxKqNKjHQmsMwR7hvNtAFmjyNvRPHP2
24-
DpDWXkngvzZjCHulsI81O1aMETVJBBzQ57pWxQ0KkY3Wt2IZNBJSTNJtfMU9DxiB
25-
VMv2POWE0tZxFewaNAvwoCF0Q8ijsN/ZZ9rirZNI+KCHvXkU4GIK3/cxLjF70TIq
26-
Cv5dFO/ZZFDkg5G8cA3XiI3ZvIQOxRqzv2QCTlGRpKKFFYOv8FubKElfsrMD2A==
27-
-----END CERTIFICATE-----
281
Certificate:
292
Data:
303
Version: 3 (0x2)
314
Serial Number:
32-
9a:41:47:cd:a1:14:62:8c
33-
Signature Algorithm: sha1WithRSAEncryption
5+
b7:b6:90:33:66:1b:6b:23
6+
Signature Algorithm: sha256WithRSAEncryption
347
Issuer: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info@wolfssl.com
358
Validity
36-
Not Before: Jul 11 03:20:08 2014 GMT
37-
Not After : Apr 6 03:20:08 2017 GMT
9+
Not Before: Aug 11 20:07:37 2016 GMT
10+
Not After : May 8 20:07:37 2019 GMT
3811
Subject: C=US, ST=Montana, L=Bozeman, O=Sawtooth, OU=Consulting, CN=www.wolfssl.com/emailAddress=info@wolfssl.com
3912
Subject Public Key Info:
4013
Public Key Algorithm: rsaEncryption
@@ -65,23 +38,50 @@ Certificate:
6538
X509v3 Authority Key Identifier:
6639
keyid:27:8E:67:11:74:C3:26:1D:3F:ED:33:63:B3:A4:D8:1D:30:E5:E8:D5
6740
DirName:/C=US/ST=Montana/L=Bozeman/O=Sawtooth/OU=Consulting/CN=www.wolfssl.com/emailAddress=info@wolfssl.com
68-
serial:9A:41:47:CD:A1:14:62:8C
41+
serial:B7:B6:90:33:66:1B:6B:23
6942

7043
X509v3 Basic Constraints:
7144
CA:TRUE
72-
Signature Algorithm: sha1WithRSAEncryption
73-
79:78:0c:6d:79:88:91:fc:3a:15:9c:f9:27:62:16:f0:21:1f:
74-
fa:7d:3f:a2:a8:32:1e:f7:f2:11:a9:74:16:74:5e:dc:18:ca:
75-
f0:00:2a:d5:03:06:26:30:f1:47:83:fd:32:6e:fc:ed:aa:4f:
76-
7d:0c:63:60:31:2f:7c:0c:bf:99:66:87:ed:27:08:86:2d:c4:
77-
33:e8:98:23:1c:fe:a3:db:9a:49:4e:fc:5a:42:ef:71:c3:3f:
78-
ad:dc:4a:a8:d2:a3:1d:09:ac:33:04:7b:86:f3:6d:00:59:a3:
79-
c8:db:d1:3c:73:f6:0e:90:d6:5e:49:e0:bf:36:63:08:7b:a5:
80-
b0:8f:35:3b:56:8c:11:35:49:04:1c:d0:e7:ba:56:c5:0d:0a:
81-
91:8d:d6:b7:62:19:34:12:52:4c:d2:6d:7c:c5:3d:0f:18:81:
82-
54:cb:f6:3c:e5:84:d2:d6:71:15:ec:1a:34:0b:f0:a0:21:74:
83-
43:c8:a3:b0:df:d9:67:da:e2:ad:93:48:f8:a0:87:bd:79:14:
84-
e0:62:0a:df:f7:31:2e:31:7b:d1:32:2a:0a:fe:5d:14:ef:d9:
85-
64:50:e4:83:91:bc:70:0d:d7:88:8d:d9:bc:84:0e:c5:1a:b3:
86-
bf:64:02:4e:51:91:a4:a2:85:15:83:af:f0:5b:9b:28:49:5f:
87-
b2:b3:03:d8
45+
Signature Algorithm: sha256WithRSAEncryption
46+
0e:93:48:44:4a:72:96:60:71:25:82:a9:2c:ca:60:5b:f2:88:
47+
3e:cf:11:74:5a:11:4a:dc:d9:d8:f6:58:2c:05:d3:56:d9:e9:
48+
8f:37:ef:8e:3e:3b:ff:22:36:00:ca:d8:e2:96:3f:a7:d1:ed:
49+
1f:de:7a:b0:d7:8f:36:bd:41:55:1e:d4:b9:86:3b:87:25:69:
50+
35:60:48:d6:e4:5a:94:ce:a2:fa:70:38:36:c4:85:b4:4b:23:
51+
fe:71:9e:2f:db:06:c7:b5:9c:21:f0:3e:7c:eb:91:f8:5c:09:
52+
fd:84:43:a4:b3:4e:04:0c:22:31:71:6a:48:c8:ab:bb:e8:ce:
53+
fa:67:15:1a:3a:82:98:43:33:b5:0e:1f:1e:89:f8:37:de:1b:
54+
e6:b5:a0:f4:a2:8b:b7:1c:90:ba:98:6d:94:21:08:80:5d:f3:
55+
bf:66:ad:c9:72:28:7a:6a:48:ee:cf:63:69:31:8c:c5:8e:66:
56+
da:4b:78:65:e8:03:3a:4b:f8:cc:42:54:d3:52:5c:2d:04:ae:
57+
26:87:e1:7e:40:cb:45:41:16:4b:6e:a3:2e:4a:76:bd:29:7f:
58+
1c:53:37:06:ad:e9:5b:6a:d6:b7:4e:94:a2:7c:e8:ac:4e:a6:
59+
50:3e:2b:32:9e:68:42:1b:e4:59:67:61:ea:c7:9a:51:9c:1c:
60+
55:a3:77:76
61+
-----BEGIN CERTIFICATE-----
62+
MIIEqjCCA5KgAwIBAgIJALe2kDNmG2sjMA0GCSqGSIb3DQEBCwUAMIGUMQswCQYD
63+
VQQGEwJVUzEQMA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8G
64+
A1UECgwIU2F3dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3
65+
dy53b2xmc3NsLmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTAe
66+
Fw0xNjA4MTEyMDA3MzdaFw0xOTA1MDgyMDA3MzdaMIGUMQswCQYDVQQGEwJVUzEQ
67+
MA4GA1UECAwHTW9udGFuYTEQMA4GA1UEBwwHQm96ZW1hbjERMA8GA1UECgwIU2F3
68+
dG9vdGgxEzARBgNVBAsMCkNvbnN1bHRpbmcxGDAWBgNVBAMMD3d3dy53b2xmc3Ns
69+
LmNvbTEfMB0GCSqGSIb3DQEJARYQaW5mb0B3b2xmc3NsLmNvbTCCASIwDQYJKoZI
70+
hvcNAQEBBQADggEPADCCAQoCggEBAL8Myi0Ush6EQlvNOB9K8k11EPG2NZ/fyn0D
71+
mNOs3gNm7irx2LB9bgdUCxCYIU2AyxIg58xP3kV9yXJ3MurKkLtpUhADL6jzlcXx
72+
i2JWG+9nb6QQQZWtCpvjpcCw0nB2UDBbqOgILHztp6J6jTgpHKzH7fJ8lbCVgn1J
73+
XDjNdyXvvYB1U5Q8PcpjW58VtdMdEy8Z0TzbdjrMuH3J5cLX2kBv2CHccxtCLVOc
74+
/hr8fat6Nj+Y3oR8BWfOahQ4h6nxjLVoy2h/cSAr9aBj9VYvoybSt2+xWhfXOJkI
75+
/pNYb/7DE0kIFgunTWcAUjFnI06Y7VFFHbkE2Qvs2CizS73tNnkCAwEAAaOB/DCB
76+
+TAdBgNVHQ4EFgQUJ45nEXTDJh0/7TNjs6TYHTDl6NUwgckGA1UdIwSBwTCBvoAU
77+
J45nEXTDJh0/7TNjs6TYHTDl6NWhgZqkgZcwgZQxCzAJBgNVBAYTAlVTMRAwDgYD
78+
VQQIDAdNb250YW5hMRAwDgYDVQQHDAdCb3plbWFuMREwDwYDVQQKDAhTYXd0b290
79+
aDETMBEGA1UECwwKQ29uc3VsdGluZzEYMBYGA1UEAwwPd3d3LndvbGZzc2wuY29t
80+
MR8wHQYJKoZIhvcNAQkBFhBpbmZvQHdvbGZzc2wuY29tggkAt7aQM2YbayMwDAYD
81+
VR0TBAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEADpNIREpylmBxJYKpLMpgW/KI
82+
Ps8RdFoRStzZ2PZYLAXTVtnpjzfvjj47/yI2AMrY4pY/p9HtH956sNePNr1BVR7U
83+
uYY7hyVpNWBI1uRalM6i+nA4NsSFtEsj/nGeL9sGx7WcIfA+fOuR+FwJ/YRDpLNO
84+
BAwiMXFqSMiru+jO+mcVGjqCmEMztQ4fHon4N94b5rWg9KKLtxyQuphtlCEIgF3z
85+
v2atyXIoempI7s9jaTGMxY5m2kt4ZegDOkv4zEJU01JcLQSuJofhfkDLRUEWS26j
86+
Lkp2vSl/HFM3Bq3pW2rWt06UonzorE6mUD4rMp5oQhvkWWdh6seaUZwcVaN3dg==
87+
-----END CERTIFICATE-----

0 commit comments

Comments
 (0)