summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorjsing <>2017-01-23 00:12:55 +0000
committerjsing <>2017-01-23 00:12:55 +0000
commitebf810ecb3df5037cf52818180e9d1f9b811019d (patch)
treedbb00e45128efea271755d0b8b656130a43435f6 /src
parentfcfe199cc99431d4e250ada852b3989b210b67ca (diff)
downloadopenbsd-ebf810ecb3df5037cf52818180e9d1f9b811019d.tar.gz
openbsd-ebf810ecb3df5037cf52818180e9d1f9b811019d.tar.bz2
openbsd-ebf810ecb3df5037cf52818180e9d1f9b811019d.zip
Move the stats struct from SSL_CTX to internal.
ok beck@
Diffstat (limited to 'src')
-rw-r--r--src/lib/libssl/d1_clnt.c10
-rw-r--r--src/lib/libssl/d1_srvr.c8
-rw-r--r--src/lib/libssl/s23_clnt.c4
-rw-r--r--src/lib/libssl/s23_srvr.c4
-rw-r--r--src/lib/libssl/s3_clnt.c10
-rw-r--r--src/lib/libssl/s3_srvr.c8
-rw-r--r--src/lib/libssl/ssl.h21
-rw-r--r--src/lib/libssl/ssl_lib.c30
-rw-r--r--src/lib/libssl/ssl_locl.h22
-rw-r--r--src/lib/libssl/ssl_sess.c12
10 files changed, 64 insertions, 65 deletions
diff --git a/src/lib/libssl/d1_clnt.c b/src/lib/libssl/d1_clnt.c
index af3196ff17..71cd845ac6 100644
--- a/src/lib/libssl/d1_clnt.c
+++ b/src/lib/libssl/d1_clnt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: d1_clnt.c,v 1.62 2017/01/22 09:02:07 jsing Exp $ */ 1/* $OpenBSD: d1_clnt.c,v 1.63 2017/01/23 00:12:54 jsing Exp $ */
2/* 2/*
3 * DTLS implementation written by Nagendra Modadugu 3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
@@ -205,7 +205,7 @@ dtls1_connect(SSL *s)
205 case SSL_ST_RENEGOTIATE: 205 case SSL_ST_RENEGOTIATE:
206 s->renegotiate = 1; 206 s->renegotiate = 1;
207 s->state = SSL_ST_CONNECT; 207 s->state = SSL_ST_CONNECT;
208 s->ctx->stats.sess_connect_renegotiate++; 208 s->ctx->internal->stats.sess_connect_renegotiate++;
209 /* break */ 209 /* break */
210 case SSL_ST_BEFORE: 210 case SSL_ST_BEFORE:
211 case SSL_ST_CONNECT: 211 case SSL_ST_CONNECT:
@@ -242,7 +242,7 @@ dtls1_connect(SSL *s)
242 /* don't push the buffering BIO quite yet */ 242 /* don't push the buffering BIO quite yet */
243 243
244 s->state = SSL3_ST_CW_CLNT_HELLO_A; 244 s->state = SSL3_ST_CW_CLNT_HELLO_A;
245 s->ctx->stats.sess_connect++; 245 s->ctx->internal->stats.sess_connect++;
246 s->init_num = 0; 246 s->init_num = 0;
247 /* mark client_random uninitialized */ 247 /* mark client_random uninitialized */
248 memset(s->s3->client_random, 0, 248 memset(s->s3->client_random, 0,
@@ -555,12 +555,12 @@ dtls1_connect(SSL *s)
555 555
556 ssl_update_cache(s, SSL_SESS_CACHE_CLIENT); 556 ssl_update_cache(s, SSL_SESS_CACHE_CLIENT);
557 if (s->hit) 557 if (s->hit)
558 s->ctx->stats.sess_hit++; 558 s->ctx->internal->stats.sess_hit++;
559 559
560 ret = 1; 560 ret = 1;
561 /* s->server=0; */ 561 /* s->server=0; */
562 s->handshake_func = dtls1_connect; 562 s->handshake_func = dtls1_connect;
563 s->ctx->stats.sess_connect_good++; 563 s->ctx->internal->stats.sess_connect_good++;
564 564
565 if (cb != NULL) 565 if (cb != NULL)
566 cb(s, SSL_CB_HANDSHAKE_DONE, 1); 566 cb(s, SSL_CB_HANDSHAKE_DONE, 1);
diff --git a/src/lib/libssl/d1_srvr.c b/src/lib/libssl/d1_srvr.c
index 8722c1690d..7cb1fdf3de 100644
--- a/src/lib/libssl/d1_srvr.c
+++ b/src/lib/libssl/d1_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: d1_srvr.c,v 1.72 2017/01/22 09:02:07 jsing Exp $ */ 1/* $OpenBSD: d1_srvr.c,v 1.73 2017/01/23 00:12:54 jsing Exp $ */
2/* 2/*
3 * DTLS implementation written by Nagendra Modadugu 3 * DTLS implementation written by Nagendra Modadugu
4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. 4 * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.
@@ -259,11 +259,11 @@ dtls1_accept(SSL *s)
259 } 259 }
260 260
261 s->state = SSL3_ST_SR_CLNT_HELLO_A; 261 s->state = SSL3_ST_SR_CLNT_HELLO_A;
262 s->ctx->stats.sess_accept++; 262 s->ctx->internal->stats.sess_accept++;
263 } else { 263 } else {
264 /* s->state == SSL_ST_RENEGOTIATE, 264 /* s->state == SSL_ST_RENEGOTIATE,
265 * we will just send a HelloRequest */ 265 * we will just send a HelloRequest */
266 s->ctx->stats.sess_accept_renegotiate++; 266 s->ctx->internal->stats.sess_accept_renegotiate++;
267 s->state = SSL3_ST_SW_HELLO_REQ_A; 267 s->state = SSL3_ST_SW_HELLO_REQ_A;
268 } 268 }
269 269
@@ -641,7 +641,7 @@ dtls1_accept(SSL *s)
641 641
642 ssl_update_cache(s, SSL_SESS_CACHE_SERVER); 642 ssl_update_cache(s, SSL_SESS_CACHE_SERVER);
643 643
644 s->ctx->stats.sess_accept_good++; 644 s->ctx->internal->stats.sess_accept_good++;
645 /* s->server=1; */ 645 /* s->server=1; */
646 s->handshake_func = dtls1_accept; 646 s->handshake_func = dtls1_accept;
647 647
diff --git a/src/lib/libssl/s23_clnt.c b/src/lib/libssl/s23_clnt.c
index c4fad5b011..a7ad53fd98 100644
--- a/src/lib/libssl/s23_clnt.c
+++ b/src/lib/libssl/s23_clnt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s23_clnt.c,v 1.49 2017/01/03 16:57:15 jsing Exp $ */ 1/* $OpenBSD: s23_clnt.c,v 1.50 2017/01/23 00:12:54 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 *
@@ -174,7 +174,7 @@ ssl23_connect(SSL *s)
174 } 174 }
175 175
176 s->state = SSL23_ST_CW_CLNT_HELLO_A; 176 s->state = SSL23_ST_CW_CLNT_HELLO_A;
177 s->ctx->stats.sess_connect++; 177 s->ctx->internal->stats.sess_connect++;
178 s->init_num = 0; 178 s->init_num = 0;
179 break; 179 break;
180 180
diff --git a/src/lib/libssl/s23_srvr.c b/src/lib/libssl/s23_srvr.c
index a80d196290..e4cb633d06 100644
--- a/src/lib/libssl/s23_srvr.c
+++ b/src/lib/libssl/s23_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s23_srvr.c,v 1.50 2017/01/22 09:02:07 jsing Exp $ */ 1/* $OpenBSD: s23_srvr.c,v 1.51 2017/01/23 00:12:54 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 *
@@ -164,7 +164,7 @@ ssl23_accept(SSL *s)
164 } 164 }
165 165
166 s->state = SSL23_ST_SR_CLNT_HELLO_A; 166 s->state = SSL23_ST_SR_CLNT_HELLO_A;
167 s->ctx->stats.sess_accept++; 167 s->ctx->internal->stats.sess_accept++;
168 s->init_num = 0; 168 s->init_num = 0;
169 break; 169 break;
170 170
diff --git a/src/lib/libssl/s3_clnt.c b/src/lib/libssl/s3_clnt.c
index 0d3f09728e..18e34f7b7b 100644
--- a/src/lib/libssl/s3_clnt.c
+++ b/src/lib/libssl/s3_clnt.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s3_clnt.c,v 1.162 2017/01/22 09:02:07 jsing Exp $ */ 1/* $OpenBSD: s3_clnt.c,v 1.163 2017/01/23 00:12:54 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 *
@@ -199,7 +199,7 @@ ssl3_connect(SSL *s)
199 case SSL_ST_RENEGOTIATE: 199 case SSL_ST_RENEGOTIATE:
200 s->renegotiate = 1; 200 s->renegotiate = 1;
201 s->state = SSL_ST_CONNECT; 201 s->state = SSL_ST_CONNECT;
202 s->ctx->stats.sess_connect_renegotiate++; 202 s->ctx->internal->stats.sess_connect_renegotiate++;
203 /* break */ 203 /* break */
204 case SSL_ST_BEFORE: 204 case SSL_ST_BEFORE:
205 case SSL_ST_CONNECT: 205 case SSL_ST_CONNECT:
@@ -241,7 +241,7 @@ ssl3_connect(SSL *s)
241 } 241 }
242 242
243 s->state = SSL3_ST_CW_CLNT_HELLO_A; 243 s->state = SSL3_ST_CW_CLNT_HELLO_A;
244 s->ctx->stats.sess_connect++; 244 s->ctx->internal->stats.sess_connect++;
245 s->init_num = 0; 245 s->init_num = 0;
246 break; 246 break;
247 247
@@ -539,12 +539,12 @@ ssl3_connect(SSL *s)
539 539
540 ssl_update_cache(s, SSL_SESS_CACHE_CLIENT); 540 ssl_update_cache(s, SSL_SESS_CACHE_CLIENT);
541 if (s->hit) 541 if (s->hit)
542 s->ctx->stats.sess_hit++; 542 s->ctx->internal->stats.sess_hit++;
543 543
544 ret = 1; 544 ret = 1;
545 /* s->server=0; */ 545 /* s->server=0; */
546 s->handshake_func = ssl3_connect; 546 s->handshake_func = ssl3_connect;
547 s->ctx->stats.sess_connect_good++; 547 s->ctx->internal->stats.sess_connect_good++;
548 548
549 if (cb != NULL) 549 if (cb != NULL)
550 cb(s, SSL_CB_HANDSHAKE_DONE, 1); 550 cb(s, SSL_CB_HANDSHAKE_DONE, 1);
diff --git a/src/lib/libssl/s3_srvr.c b/src/lib/libssl/s3_srvr.c
index 099537f7ea..a18b218207 100644
--- a/src/lib/libssl/s3_srvr.c
+++ b/src/lib/libssl/s3_srvr.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: s3_srvr.c,v 1.141 2017/01/22 09:02:07 jsing Exp $ */ 1/* $OpenBSD: s3_srvr.c,v 1.142 2017/01/23 00:12:54 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 *
@@ -246,7 +246,7 @@ ssl3_accept(SSL *s)
246 } 246 }
247 247
248 s->state = SSL3_ST_SR_CLNT_HELLO_A; 248 s->state = SSL3_ST_SR_CLNT_HELLO_A;
249 s->ctx->stats.sess_accept++; 249 s->ctx->internal->stats.sess_accept++;
250 } else if (!S3I(s)->send_connection_binding) { 250 } else if (!S3I(s)->send_connection_binding) {
251 /* 251 /*
252 * Server attempting to renegotiate with 252 * Server attempting to renegotiate with
@@ -264,7 +264,7 @@ ssl3_accept(SSL *s)
264 * s->state == SSL_ST_RENEGOTIATE, 264 * s->state == SSL_ST_RENEGOTIATE,
265 * we will just send a HelloRequest 265 * we will just send a HelloRequest
266 */ 266 */
267 s->ctx->stats.sess_accept_renegotiate++; 267 s->ctx->internal->stats.sess_accept_renegotiate++;
268 s->state = SSL3_ST_SW_HELLO_REQ_A; 268 s->state = SSL3_ST_SW_HELLO_REQ_A;
269 } 269 }
270 break; 270 break;
@@ -660,7 +660,7 @@ ssl3_accept(SSL *s)
660 660
661 ssl_update_cache(s, SSL_SESS_CACHE_SERVER); 661 ssl_update_cache(s, SSL_SESS_CACHE_SERVER);
662 662
663 s->ctx->stats.sess_accept_good++; 663 s->ctx->internal->stats.sess_accept_good++;
664 /* s->server=1; */ 664 /* s->server=1; */
665 s->handshake_func = ssl3_accept; 665 s->handshake_func = ssl3_accept;
666 666
diff --git a/src/lib/libssl/ssl.h b/src/lib/libssl/ssl.h
index fa1027fa28..9f9343e69d 100644
--- a/src/lib/libssl/ssl.h
+++ b/src/lib/libssl/ssl.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl.h,v 1.106 2017/01/22 06:36:49 jsing Exp $ */ 1/* $OpenBSD: ssl.h,v 1.107 2017/01/23 00:12:54 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 *
@@ -730,25 +730,6 @@ struct ssl_ctx_st {
730 SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl, 730 SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl,
731 unsigned char *data, int len, int *copy); 731 unsigned char *data, int len, int *copy);
732 732
733 struct {
734 int sess_connect; /* SSL new conn - started */
735 int sess_connect_renegotiate;/* SSL reneg - requested */
736 int sess_connect_good; /* SSL new conne/reneg - finished */
737 int sess_accept; /* SSL new accept - started */
738 int sess_accept_renegotiate;/* SSL reneg - requested */
739 int sess_accept_good; /* SSL accept/reneg - finished */
740 int sess_miss; /* session lookup misses */
741 int sess_timeout; /* reuse attempt on timeouted session */
742 int sess_cache_full; /* session removed due to full cache */
743 int sess_hit; /* session reuse actually done */
744 int sess_cb_hit; /* session-id that was not
745 * in the cache was
746 * passed back via the callback. This
747 * indicates that the application is
748 * supplying session-id's from other
749 * processes - spooky :-) */
750 } stats;
751
752 int references; 733 int references;
753 734
754 /* if defined, these override the X509_verify_cert() calls */ 735 /* if defined, these override the X509_verify_cert() calls */
diff --git a/src/lib/libssl/ssl_lib.c b/src/lib/libssl/ssl_lib.c
index 96aea4c5dd..f4bb212865 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.129 2017/01/22 09:02:07 jsing Exp $ */ 1/* $OpenBSD: ssl_lib.c,v 1.130 2017/01/23 00:12:54 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 *
@@ -1157,27 +1157,27 @@ SSL_CTX_ctrl(SSL_CTX *ctx, int cmd, long larg, void *parg)
1157 case SSL_CTRL_SESS_NUMBER: 1157 case SSL_CTRL_SESS_NUMBER:
1158 return (lh_SSL_SESSION_num_items(ctx->sessions)); 1158 return (lh_SSL_SESSION_num_items(ctx->sessions));
1159 case SSL_CTRL_SESS_CONNECT: 1159 case SSL_CTRL_SESS_CONNECT:
1160 return (ctx->stats.sess_connect); 1160 return (ctx->internal->stats.sess_connect);
1161 case SSL_CTRL_SESS_CONNECT_GOOD: 1161 case SSL_CTRL_SESS_CONNECT_GOOD:
1162 return (ctx->stats.sess_connect_good); 1162 return (ctx->internal->stats.sess_connect_good);
1163 case SSL_CTRL_SESS_CONNECT_RENEGOTIATE: 1163 case SSL_CTRL_SESS_CONNECT_RENEGOTIATE:
1164 return (ctx->stats.sess_connect_renegotiate); 1164 return (ctx->internal->stats.sess_connect_renegotiate);
1165 case SSL_CTRL_SESS_ACCEPT: 1165 case SSL_CTRL_SESS_ACCEPT:
1166 return (ctx->stats.sess_accept); 1166 return (ctx->internal->stats.sess_accept);
1167 case SSL_CTRL_SESS_ACCEPT_GOOD: 1167 case SSL_CTRL_SESS_ACCEPT_GOOD:
1168 return (ctx->stats.sess_accept_good); 1168 return (ctx->internal->stats.sess_accept_good);
1169 case SSL_CTRL_SESS_ACCEPT_RENEGOTIATE: 1169 case SSL_CTRL_SESS_ACCEPT_RENEGOTIATE:
1170 return (ctx->stats.sess_accept_renegotiate); 1170 return (ctx->internal->stats.sess_accept_renegotiate);
1171 case SSL_CTRL_SESS_HIT: 1171 case SSL_CTRL_SESS_HIT:
1172 return (ctx->stats.sess_hit); 1172 return (ctx->internal->stats.sess_hit);
1173 case SSL_CTRL_SESS_CB_HIT: 1173 case SSL_CTRL_SESS_CB_HIT:
1174 return (ctx->stats.sess_cb_hit); 1174 return (ctx->internal->stats.sess_cb_hit);
1175 case SSL_CTRL_SESS_MISSES: 1175 case SSL_CTRL_SESS_MISSES:
1176 return (ctx->stats.sess_miss); 1176 return (ctx->internal->stats.sess_miss);
1177 case SSL_CTRL_SESS_TIMEOUTS: 1177 case SSL_CTRL_SESS_TIMEOUTS:
1178 return (ctx->stats.sess_timeout); 1178 return (ctx->internal->stats.sess_timeout);
1179 case SSL_CTRL_SESS_CACHE_FULL: 1179 case SSL_CTRL_SESS_CACHE_FULL:
1180 return (ctx->stats.sess_cache_full); 1180 return (ctx->internal->stats.sess_cache_full);
1181 case SSL_CTRL_OPTIONS: 1181 case SSL_CTRL_OPTIONS:
1182 return (ctx->options|=larg); 1182 return (ctx->options|=larg);
1183 case SSL_CTRL_CLEAR_OPTIONS: 1183 case SSL_CTRL_CLEAR_OPTIONS:
@@ -1836,7 +1836,7 @@ SSL_CTX_new(const SSL_METHOD *meth)
1836 ret->get_session_cb = 0; 1836 ret->get_session_cb = 0;
1837 ret->generate_session_id = 0; 1837 ret->generate_session_id = 0;
1838 1838
1839 memset((char *)&ret->stats, 0, sizeof(ret->stats)); 1839 memset((char *)&ret->internal->stats, 0, sizeof(ret->internal->stats));
1840 1840
1841 ret->references = 1; 1841 ret->references = 1;
1842 ret->quiet_shutdown = 0; 1842 ret->quiet_shutdown = 0;
@@ -2285,8 +2285,8 @@ ssl_update_cache(SSL *s, int mode)
2285 if ((!(i & SSL_SESS_CACHE_NO_AUTO_CLEAR)) && 2285 if ((!(i & SSL_SESS_CACHE_NO_AUTO_CLEAR)) &&
2286 ((i & mode) == mode)) { 2286 ((i & mode) == mode)) {
2287 if ((((mode & SSL_SESS_CACHE_CLIENT) ? 2287 if ((((mode & SSL_SESS_CACHE_CLIENT) ?
2288 s->session_ctx->stats.sess_connect_good : 2288 s->session_ctx->internal->stats.sess_connect_good :
2289 s->session_ctx->stats.sess_accept_good) & 0xff) == 0xff) { 2289 s->session_ctx->internal->stats.sess_accept_good) & 0xff) == 0xff) {
2290 SSL_CTX_flush_sessions(s->session_ctx, time(NULL)); 2290 SSL_CTX_flush_sessions(s->session_ctx, time(NULL));
2291 } 2291 }
2292 } 2292 }
diff --git a/src/lib/libssl/ssl_locl.h b/src/lib/libssl/ssl_locl.h
index a187c8d77a..3f63b1de2f 100644
--- a/src/lib/libssl/ssl_locl.h
+++ b/src/lib/libssl/ssl_locl.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: ssl_locl.h,v 1.151 2017/01/22 09:02:07 jsing Exp $ */ 1/* $OpenBSD: ssl_locl.h,v 1.152 2017/01/23 00:12:55 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 *
@@ -384,6 +384,25 @@ typedef struct ssl_ctx_internal_st {
384 uint16_t min_version; 384 uint16_t min_version;
385 uint16_t max_version; 385 uint16_t max_version;
386 386
387 struct {
388 int sess_connect; /* SSL new conn - started */
389 int sess_connect_renegotiate;/* SSL reneg - requested */
390 int sess_connect_good; /* SSL new conne/reneg - finished */
391 int sess_accept; /* SSL new accept - started */
392 int sess_accept_renegotiate;/* SSL reneg - requested */
393 int sess_accept_good; /* SSL accept/reneg - finished */
394 int sess_miss; /* session lookup misses */
395 int sess_timeout; /* reuse attempt on timeouted session */
396 int sess_cache_full; /* session removed due to full cache */
397 int sess_hit; /* session reuse actually done */
398 int sess_cb_hit; /* session-id that was not
399 * in the cache was
400 * passed back via the callback. This
401 * indicates that the application is
402 * supplying session-id's from other
403 * processes - spooky :-) */
404 } stats;
405
387 /* Next protocol negotiation information */ 406 /* Next protocol negotiation information */
388 /* (for experimental NPN extension). */ 407 /* (for experimental NPN extension). */
389 408
@@ -422,7 +441,6 @@ typedef struct ssl_ctx_internal_st {
422 /* Client list of supported protocols in wire format. */ 441 /* Client list of supported protocols in wire format. */
423 unsigned char *alpn_client_proto_list; 442 unsigned char *alpn_client_proto_list;
424 unsigned int alpn_client_proto_list_len; 443 unsigned int alpn_client_proto_list_len;
425
426} SSL_CTX_INTERNAL; 444} SSL_CTX_INTERNAL;
427 445
428typedef struct ssl_internal_st { 446typedef struct ssl_internal_st {
diff --git a/src/lib/libssl/ssl_sess.c b/src/lib/libssl/ssl_sess.c
index dc4894c64c..7f03d12d35 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.55 2017/01/22 05:14:42 beck Exp $ */ 1/* $OpenBSD: ssl_sess.c,v 1.56 2017/01/23 00:12:55 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 *
@@ -466,7 +466,7 @@ ssl_get_prev_session(SSL *s, unsigned char *session_id, int len,
466 CRYPTO_r_unlock(CRYPTO_LOCK_SSL_CTX); 466 CRYPTO_r_unlock(CRYPTO_LOCK_SSL_CTX);
467 467
468 if (ret == NULL) 468 if (ret == NULL)
469 s->session_ctx->stats.sess_miss++; 469 s->session_ctx->internal->stats.sess_miss++;
470 } 470 }
471 471
472 if (try_session_cache && ret == NULL && 472 if (try_session_cache && ret == NULL &&
@@ -475,7 +475,7 @@ ssl_get_prev_session(SSL *s, unsigned char *session_id, int len,
475 475
476 if ((ret = s->session_ctx->get_session_cb(s, session_id, 476 if ((ret = s->session_ctx->get_session_cb(s, session_id,
477 len, &copy))) { 477 len, &copy))) {
478 s->session_ctx->stats.sess_cb_hit++; 478 s->session_ctx->internal->stats.sess_cb_hit++;
479 479
480 /* 480 /*
481 * Increment reference count now if the session 481 * Increment reference count now if the session
@@ -542,7 +542,7 @@ ssl_get_prev_session(SSL *s, unsigned char *session_id, int len,
542 542
543 if (ret->timeout < (time(NULL) - ret->time)) { 543 if (ret->timeout < (time(NULL) - ret->time)) {
544 /* timeout */ 544 /* timeout */
545 s->session_ctx->stats.sess_timeout++; 545 s->session_ctx->internal->stats.sess_timeout++;
546 if (try_session_cache) { 546 if (try_session_cache) {
547 /* session was from the cache, so remove it */ 547 /* session was from the cache, so remove it */
548 SSL_CTX_remove_session(s->session_ctx, ret); 548 SSL_CTX_remove_session(s->session_ctx, ret);
@@ -550,7 +550,7 @@ ssl_get_prev_session(SSL *s, unsigned char *session_id, int len,
550 goto err; 550 goto err;
551 } 551 }
552 552
553 s->session_ctx->stats.sess_hit++; 553 s->session_ctx->internal->stats.sess_hit++;
554 554
555 if (s->session != NULL) 555 if (s->session != NULL)
556 SSL_SESSION_free(s->session); 556 SSL_SESSION_free(s->session);
@@ -641,7 +641,7 @@ SSL_CTX_add_session(SSL_CTX *ctx, SSL_SESSION *c)
641 ctx->session_cache_tail, 0)) 641 ctx->session_cache_tail, 0))
642 break; 642 break;
643 else 643 else
644 ctx->stats.sess_cache_full++; 644 ctx->internal->stats.sess_cache_full++;
645 } 645 }
646 } 646 }
647 } 647 }