summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2018-02-14 16:16:10 +0000
committerjsing <>2018-02-14 16:16:10 +0000
commit913c1940295492c07a0e82ccce38a16ac66ad1e9 (patch)
tree73d4e60c73a7a77bad6ef3749dff56b0959b2866
parent77581c8395b0a7294b66eca50b2947a4ede24867 (diff)
downloadopenbsd-913c1940295492c07a0e82ccce38a16ac66ad1e9.tar.gz
openbsd-913c1940295492c07a0e82ccce38a16ac66ad1e9.tar.bz2
openbsd-913c1940295492c07a0e82ccce38a16ac66ad1e9.zip
Provide SSL_CTX_get0_param() and SSL_get0_param().
Some applications that use X509_VERIFY_PARAM expect these to exist, since they're also part of the OpenSSL 1.0.2 API.
-rw-r--r--src/lib/libssl/Symbols.list6
-rw-r--r--src/lib/libssl/ssl.h5
-rw-r--r--src/lib/libssl/ssl_lib.c14
3 files changed, 20 insertions, 5 deletions
diff --git a/src/lib/libssl/Symbols.list b/src/lib/libssl/Symbols.list
index e147ff873d..c91dff9e58 100644
--- a/src/lib/libssl/Symbols.list
+++ b/src/lib/libssl/Symbols.list
@@ -56,6 +56,7 @@ SSL_CTX_check_private_key
56SSL_CTX_ctrl 56SSL_CTX_ctrl
57SSL_CTX_flush_sessions 57SSL_CTX_flush_sessions
58SSL_CTX_free 58SSL_CTX_free
59SSL_CTX_get0_param
59SSL_CTX_get_cert_store 60SSL_CTX_get_cert_store
60SSL_CTX_get_client_CA_list 61SSL_CTX_get_client_CA_list
61SSL_CTX_get_client_cert_cb 62SSL_CTX_get_client_cert_cb
@@ -97,8 +98,8 @@ SSL_CTX_set_default_verify_paths
97SSL_CTX_set_ex_data 98SSL_CTX_set_ex_data
98SSL_CTX_set_generate_session_id 99SSL_CTX_set_generate_session_id
99SSL_CTX_set_info_callback 100SSL_CTX_set_info_callback
100SSL_CTX_set_min_proto_version
101SSL_CTX_set_max_proto_version 101SSL_CTX_set_max_proto_version
102SSL_CTX_set_min_proto_version
102SSL_CTX_set_msg_callback 103SSL_CTX_set_msg_callback
103SSL_CTX_set_next_proto_select_cb 104SSL_CTX_set_next_proto_select_cb
104SSL_CTX_set_next_protos_advertised_cb 105SSL_CTX_set_next_protos_advertised_cb
@@ -162,6 +163,7 @@ SSL_export_keying_material
162SSL_free 163SSL_free
163SSL_get0_alpn_selected 164SSL_get0_alpn_selected
164SSL_get0_next_proto_negotiated 165SSL_get0_next_proto_negotiated
166SSL_get0_param
165SSL_get1_session 167SSL_get1_session
166SSL_get_SSL_CTX 168SSL_get_SSL_CTX
167SSL_get_certificate 169SSL_get_certificate
@@ -231,8 +233,8 @@ SSL_set_ex_data
231SSL_set_fd 233SSL_set_fd
232SSL_set_generate_session_id 234SSL_set_generate_session_id
233SSL_set_info_callback 235SSL_set_info_callback
234SSL_set_min_proto_version
235SSL_set_max_proto_version 236SSL_set_max_proto_version
237SSL_set_min_proto_version
236SSL_set_msg_callback 238SSL_set_msg_callback
237SSL_set_purpose 239SSL_set_purpose
238SSL_set_quiet_shutdown 240SSL_set_quiet_shutdown
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h
index d431b175ad..7768f0a80f 100644
--- a/src/lib/libssl/ssl.h
+++ b/src/lib/libssl/ssl.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl.h,v 1.134 2017/08/30 16:24:21 jsing Exp $ */ 1/* $OpenBSD: ssl.h,v 1.135 2018/02/14 16:16:10 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1336,10 +1336,11 @@ int SSL_set_purpose(SSL *s, int purpose);
1336int SSL_CTX_set_trust(SSL_CTX *s, int trust); 1336int SSL_CTX_set_trust(SSL_CTX *s, int trust);
1337int SSL_set_trust(SSL *s, int trust); 1337int SSL_set_trust(SSL *s, int trust);
1338 1338
1339X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *ctx);
1339int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); 1340int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm);
1341X509_VERIFY_PARAM *SSL_get0_param(SSL *ssl);
1340int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); 1342int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm);
1341 1343
1342
1343void SSL_free(SSL *ssl); 1344void SSL_free(SSL *ssl);
1344int SSL_accept(SSL *ssl); 1345int SSL_accept(SSL *ssl);
1345int SSL_connect(SSL *ssl); 1346int SSL_connect(SSL *ssl);
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c
index c7ae2a9631..9e3ef90729 100644
--- a/src/lib/libssl/ssl_lib.c
+++ b/src/lib/libssl/ssl_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_lib.c,v 1.172 2017/10/11 17:35:00 jsing Exp $ */ 1/* $OpenBSD: ssl_lib.c,v 1.173 2018/02/14 16:16:10 jsing Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -469,12 +469,24 @@ SSL_set_trust(SSL *s, int trust)
469 return (X509_VERIFY_PARAM_set_trust(s->param, trust)); 469 return (X509_VERIFY_PARAM_set_trust(s->param, trust));
470} 470}
471 471
472X509_VERIFY_PARAM *
473SSL_CTX_get0_param(SSL_CTX *ctx)
474{
475 return (ctx->param);
476}
477
472int 478int
473SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm) 479SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm)
474{ 480{
475 return (X509_VERIFY_PARAM_set1(ctx->param, vpm)); 481 return (X509_VERIFY_PARAM_set1(ctx->param, vpm));
476} 482}
477 483
484X509_VERIFY_PARAM *
485SSL_get0_param(SSL *ssl)
486{
487 return (ssl->param);
488}
489
478int 490int
479SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm) 491SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm)
480{ 492{