$OpenBSD: patch-ssl_c,v 1.7 2017/02/05 14:22:06 sthen Exp $

Use SSL_get_state instead of directly referencing ssl->state which
is internal-only.

Don't print "connect/accept socket", ssl->type is also internal-only
but doesn't have an accessor. This is currently only used in a debug
printf anyway.

--- ssl.c.orig	Fri Jan 27 11:07:56 2017
+++ ssl.c	Sun Feb  5 14:19:57 2017
@@ -477,15 +477,14 @@ ssl_ssl_state_to_str(SSL *ssl)
 	int rv;
 
 	rv = asprintf(&str, "%08x = %s%s%s%04x = %s (%s) [%s]",
-	              ssl->state,
-	              (ssl->state & SSL_ST_CONNECT) ? "SSL_ST_CONNECT|" : "",
-	              (ssl->state & SSL_ST_ACCEPT) ? "SSL_ST_ACCEPT|" : "",
-	              (ssl->state & SSL_ST_BEFORE) ? "SSL_ST_BEFORE|" : "",
-	              ssl->state & SSL_ST_MASK,
+	              SSL_get_state(ssl),
+	              (SSL_get_state(ssl) & SSL_ST_CONNECT) ? "SSL_ST_CONNECT|" : "",
+	              (SSL_get_state(ssl) & SSL_ST_ACCEPT) ? "SSL_ST_ACCEPT|" : "",
+	              (SSL_get_state(ssl) & SSL_ST_BEFORE) ? "SSL_ST_BEFORE|" : "",
+	              SSL_get_state(ssl) & SSL_ST_MASK,
 	              SSL_state_string(ssl),
 	              SSL_state_string_long(ssl),
-	              (ssl->type == SSL_ST_CONNECT) ? "connect socket"
-	                                            : "accept socket");
+	              "");
 
 	return (rv < 0) ? NULL : str;
 }
