summaryrefslogtreecommitdiff
path: root/src/ssl/ssl_stat.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/ssl/ssl_stat.c')
-rw-r--r--src/ssl/ssl_stat.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/ssl/ssl_stat.c b/src/ssl/ssl_stat.c
index 479288a2..571b4a9a 100644
--- a/src/ssl/ssl_stat.c
+++ b/src/ssl/ssl_stat.c
@@ -83,11 +83,22 @@
#include <openssl/ssl.h>
+#include <assert.h>
+
#include "internal.h"
+static int ssl_state(const SSL *ssl) {
+ if (ssl->s3->hs == NULL) {
+ assert(ssl->s3->initial_handshake_complete);
+ return SSL_ST_OK;
+ }
+
+ return ssl->s3->hs->state;
+}
+
const char *SSL_state_string_long(const SSL *ssl) {
- switch (SSL_state(ssl)) {
+ switch (ssl_state(ssl)) {
case SSL_ST_ACCEPT:
return "before accept initialization";
@@ -203,7 +214,7 @@ const char *SSL_state_string_long(const SSL *ssl) {
}
const char *SSL_state_string(const SSL *ssl) {
- switch (SSL_state(ssl)) {
+ switch (ssl_state(ssl)) {
case SSL_ST_ACCEPT:
return "AINIT ";