Line 0
Link Here
|
|
|
1 |
--- src/third_party/asio-asio-1-11-0/asio/include/asio/ssl/impl/context.ipp.orig 2018-11-22 19:30:49 UTC |
2 |
+++ src/third_party/asio-asio-1-11-0/asio/include/asio/ssl/impl/context.ipp |
3 |
@@ -192,13 +192,13 @@ context::~context() |
4 |
{ |
5 |
if (handle_) |
6 |
{ |
7 |
- if (handle_->default_passwd_callback_userdata) |
8 |
+ if (SSL_CTX_get_default_passwd_cb_userdata(handle_)) |
9 |
{ |
10 |
detail::password_callback_base* callback = |
11 |
static_cast<detail::password_callback_base*>( |
12 |
- handle_->default_passwd_callback_userdata); |
13 |
+ SSL_CTX_get_default_passwd_cb_userdata(handle_)); |
14 |
delete callback; |
15 |
- handle_->default_passwd_callback_userdata = 0; |
16 |
+ SSL_CTX_set_default_passwd_cb_userdata(handle_, 0); |
17 |
} |
18 |
|
19 |
if (SSL_CTX_get_app_data(handle_)) |
20 |
@@ -530,8 +530,8 @@ asio::error_code context::use_certificate_chain( |
21 |
{ |
22 |
x509_cleanup cert = { |
23 |
::PEM_read_bio_X509_AUX(bio.p, 0, |
24 |
- handle_->default_passwd_callback, |
25 |
- handle_->default_passwd_callback_userdata) }; |
26 |
+ SSL_CTX_get_default_passwd_cb(handle_), |
27 |
+ SSL_CTX_get_default_passwd_cb_userdata(handle_)) }; |
28 |
if (!cert.p) |
29 |
{ |
30 |
ec = asio::error_code(ERR_R_PEM_LIB, |
31 |
@@ -548,15 +548,17 @@ asio::error_code context::use_certificate_chain( |
32 |
return ec; |
33 |
} |
34 |
|
35 |
- if (handle_->extra_certs) |
36 |
+ STACK_OF(X509) *extra_certs; |
37 |
+ SSL_CTX_get_extra_chain_certs_only(handle_, &extra_certs); |
38 |
+ if (extra_certs) |
39 |
{ |
40 |
- ::sk_X509_pop_free(handle_->extra_certs, X509_free); |
41 |
- handle_->extra_certs = 0; |
42 |
+ ::sk_X509_pop_free(extra_certs, X509_free); |
43 |
+ SSL_CTX_clear_extra_chain_certs(handle_); |
44 |
} |
45 |
|
46 |
while (X509* cacert = ::PEM_read_bio_X509(bio.p, 0, |
47 |
- handle_->default_passwd_callback, |
48 |
- handle_->default_passwd_callback_userdata)) |
49 |
+ SSL_CTX_get_default_passwd_cb(handle_), |
50 |
+ SSL_CTX_get_default_passwd_cb_userdata(handle_))) |
51 |
{ |
52 |
if (!::SSL_CTX_add_extra_chain_cert(handle_, cacert)) |
53 |
{ |
54 |
@@ -632,8 +634,8 @@ asio::error_code context::use_private_key( |
55 |
break; |
56 |
case context_base::pem: |
57 |
evp_private_key.p = ::PEM_read_bio_PrivateKey( |
58 |
- bio.p, 0, handle_->default_passwd_callback, |
59 |
- handle_->default_passwd_callback_userdata); |
60 |
+ bio.p, 0, SSL_CTX_get_default_passwd_cb(handle_), |
61 |
+ SSL_CTX_get_default_passwd_cb_userdata(handle_)); |
62 |
break; |
63 |
default: |
64 |
{ |
65 |
@@ -691,8 +693,8 @@ asio::error_code context::use_rsa_private_key( |
66 |
break; |
67 |
case context_base::pem: |
68 |
rsa_private_key.p = ::PEM_read_bio_RSAPrivateKey( |
69 |
- bio.p, 0, handle_->default_passwd_callback, |
70 |
- handle_->default_passwd_callback_userdata); |
71 |
+ bio.p, 0, SSL_CTX_get_default_passwd_cb(handle_), |
72 |
+ SSL_CTX_get_default_passwd_cb_userdata(handle_)); |
73 |
break; |
74 |
default: |
75 |
{ |
76 |
@@ -911,11 +913,11 @@ int context::verify_callback_function(int preverified, |
77 |
asio::error_code context::do_set_password_callback( |
78 |
detail::password_callback_base* callback, asio::error_code& ec) |
79 |
{ |
80 |
- if (handle_->default_passwd_callback_userdata) |
81 |
+ if (SSL_CTX_get_default_passwd_cb_userdata(handle_)) |
82 |
delete static_cast<detail::password_callback_base*>( |
83 |
- handle_->default_passwd_callback_userdata); |
84 |
+ SSL_CTX_get_default_passwd_cb_userdata(handle_)); |
85 |
|
86 |
- handle_->default_passwd_callback_userdata = callback; |
87 |
+ SSL_CTX_set_default_passwd_cb_userdata(handle_, callback); |
88 |
|
89 |
SSL_CTX_set_default_passwd_cb(handle_, &context::password_callback_function); |
90 |
|