summaryrefslogtreecommitdiff
path: root/src/lib/libtls/tls_client.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libtls/tls_client.c')
-rw-r--r--src/lib/libtls/tls_client.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/lib/libtls/tls_client.c b/src/lib/libtls/tls_client.c
index 0e519684ef..b92490f25d 100644
--- a/src/lib/libtls/tls_client.c
+++ b/src/lib/libtls/tls_client.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls_client.c,v 1.41 2017/04/10 17:11:13 jsing Exp $ */ 1/* $OpenBSD: tls_client.c,v 1.42 2017/05/07 03:27:06 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 3 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
4 * 4 *
@@ -230,6 +230,8 @@ tls_connect_common(struct tls *ctx, const char *servername)
230 goto err; 230 goto err;
231 } 231 }
232 } 232 }
233
234 ctx->state |= TLS_CONNECTED;
233 rv = 0; 235 rv = 0;
234 236
235 err: 237 err:
@@ -297,6 +299,11 @@ tls_handshake_client(struct tls *ctx)
297 goto err; 299 goto err;
298 } 300 }
299 301
302 if ((ctx->state & TLS_CONNECTED) == 0) {
303 tls_set_errorx(ctx, "context not connected");
304 goto err;
305 }
306
300 ctx->state |= TLS_SSL_NEEDS_SHUTDOWN; 307 ctx->state |= TLS_SSL_NEEDS_SHUTDOWN;
301 308
302 ERR_clear_error(); 309 ERR_clear_error();