summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjsing <>2018-03-17 14:26:13 +0000
committerjsing <>2018-03-17 14:26:13 +0000
commitc4c1e84288a86d95e15fe7e412ca4b07fa5c10a0 (patch)
treeee409dfd3af40154d4169b0a8876a4f5a4eeb9c8
parent312779017f3b169989e1acb5381a4061b7370c43 (diff)
downloadopenbsd-c4c1e84288a86d95e15fe7e412ca4b07fa5c10a0.tar.gz
openbsd-c4c1e84288a86d95e15fe7e412ca4b07fa5c10a0.tar.bz2
openbsd-c4c1e84288a86d95e15fe7e412ca4b07fa5c10a0.zip
Provide SSL_SESSION_get0_id_context().
-rw-r--r--src/lib/libssl/Symbols.list5
-rw-r--r--src/lib/libssl/ssl.h8
-rw-r--r--src/lib/libssl/ssl_sess.c20
3 files changed, 22 insertions, 11 deletions
diff --git a/src/lib/libssl/Symbols.list b/src/lib/libssl/Symbols.list
index a8ae29ccca..4947bce162 100644
--- a/src/lib/libssl/Symbols.list
+++ b/src/lib/libssl/Symbols.list
@@ -65,8 +65,8 @@ SSL_CTX_get_client_cert_cb
65SSL_CTX_get_ex_data 65SSL_CTX_get_ex_data
66SSL_CTX_get_ex_new_index 66SSL_CTX_get_ex_new_index
67SSL_CTX_get_info_callback 67SSL_CTX_get_info_callback
68SSL_CTX_get_min_proto_version
69SSL_CTX_get_max_proto_version 68SSL_CTX_get_max_proto_version
69SSL_CTX_get_min_proto_version
70SSL_CTX_get_quiet_shutdown 70SSL_CTX_get_quiet_shutdown
71SSL_CTX_get_timeout 71SSL_CTX_get_timeout
72SSL_CTX_get_verify_callback 72SSL_CTX_get_verify_callback
@@ -132,6 +132,7 @@ SSL_CTX_use_certificate_chain_file
132SSL_CTX_use_certificate_chain_mem 132SSL_CTX_use_certificate_chain_mem
133SSL_CTX_use_certificate_file 133SSL_CTX_use_certificate_file
134SSL_SESSION_free 134SSL_SESSION_free
135SSL_SESSION_get0_id_context
135SSL_SESSION_get0_peer 136SSL_SESSION_get0_peer
136SSL_SESSION_get_compress_id 137SSL_SESSION_get_compress_id
137SSL_SESSION_get_ex_data 138SSL_SESSION_get_ex_data
@@ -190,8 +191,8 @@ SSL_get_ex_new_index
190SSL_get_fd 191SSL_get_fd
191SSL_get_finished 192SSL_get_finished
192SSL_get_info_callback 193SSL_get_info_callback
193SSL_get_min_proto_version
194SSL_get_max_proto_version 194SSL_get_max_proto_version
195SSL_get_min_proto_version
195SSL_get_peer_cert_chain 196SSL_get_peer_cert_chain
196SSL_get_peer_certificate 197SSL_get_peer_certificate
197SSL_get_peer_finished 198SSL_get_peer_finished
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h
index 5f9d248ced..3a5e2f5f03 100644
--- a/src/lib/libssl/ssl.h
+++ b/src/lib/libssl/ssl.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl.h,v 1.147 2018/03/15 12:27:01 jca Exp $ */ 1/* $OpenBSD: ssl.h,v 1.148 2018/03/17 14:26:13 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 *
@@ -1318,9 +1318,11 @@ int SSL_SESSION_set1_id_context(SSL_SESSION *s,
1318SSL_SESSION *SSL_SESSION_new(void); 1318SSL_SESSION *SSL_SESSION_new(void);
1319void SSL_SESSION_free(SSL_SESSION *ses); 1319void SSL_SESSION_free(SSL_SESSION *ses);
1320int SSL_SESSION_up_ref(SSL_SESSION *ss); 1320int SSL_SESSION_up_ref(SSL_SESSION *ss);
1321const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, 1321const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *ss,
1322 unsigned int *len); 1322 unsigned int *len);
1323unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); 1323const unsigned char *SSL_SESSION_get0_id_context(const SSL_SESSION *ss,
1324 unsigned int *len);
1325unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *ss);
1324int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses); 1326int SSL_SESSION_print_fp(FILE *fp, const SSL_SESSION *ses);
1325int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses); 1327int SSL_SESSION_print(BIO *fp, const SSL_SESSION *ses);
1326int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp); 1328int i2d_SSL_SESSION(SSL_SESSION *in, unsigned char **pp);
diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c
index 37a0238004..9d7008e24b 100644
--- a/src/lib/libssl/ssl_sess.c
+++ b/src/lib/libssl/ssl_sess.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_sess.c,v 1.74 2018/02/22 17:25:18 jsing Exp $ */ 1/* $OpenBSD: ssl_sess.c,v 1.75 2018/03/17 14:26:13 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 *
@@ -228,15 +228,23 @@ SSL_SESSION_new(void)
228} 228}
229 229
230const unsigned char * 230const unsigned char *
231SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len) 231SSL_SESSION_get_id(const SSL_SESSION *ss, unsigned int *len)
232{ 232{
233 if (len) 233 if (len != NULL)
234 *len = s->session_id_length; 234 *len = ss->session_id_length;
235 return s->session_id; 235 return ss->session_id;
236}
237
238const unsigned char *
239SSL_SESSION_get0_id_context(const SSL_SESSION *ss, unsigned int *len)
240{
241 if (len != NULL)
242 *len = (unsigned int)ss->sid_ctx_length;
243 return ss->sid_ctx;
236} 244}
237 245
238unsigned int 246unsigned int
239SSL_SESSION_get_compress_id(const SSL_SESSION *s) 247SSL_SESSION_get_compress_id(const SSL_SESSION *ss)
240{ 248{
241 return 0; 249 return 0;
242} 250}