summaryrefslogtreecommitdiff
path: root/src/lib/libtls/tls_internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib/libtls/tls_internal.h')
-rw-r--r--src/lib/libtls/tls_internal.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/src/lib/libtls/tls_internal.h b/src/lib/libtls/tls_internal.h
index bbd231e00e..428e29c857 100644
--- a/src/lib/libtls/tls_internal.h
+++ b/src/lib/libtls/tls_internal.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: tls_internal.h,v 1.39 2016/08/15 15:44:58 jsing Exp $ */ 1/* $OpenBSD: tls_internal.h,v 1.40 2016/08/22 14:51:37 jsing Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org> 3 * Copyright (c) 2014 Jeremie Courreges-Anglas <jca@openbsd.org>
4 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org> 4 * Copyright (c) 2014 Joel Sing <jsing@openbsd.org>
@@ -91,6 +91,13 @@ struct tls_conninfo {
91#define TLS_EOF_NO_CLOSE_NOTIFY (1 << 0) 91#define TLS_EOF_NO_CLOSE_NOTIFY (1 << 0)
92#define TLS_HANDSHAKE_COMPLETE (1 << 1) 92#define TLS_HANDSHAKE_COMPLETE (1 << 1)
93 93
94struct tls_sni_ctx {
95 struct tls_sni_ctx *next;
96
97 SSL_CTX *ssl_ctx;
98 X509 *ssl_cert;
99};
100
94struct tls { 101struct tls {
95 struct tls_config *config; 102 struct tls_config *config;
96 struct tls_error error; 103 struct tls_error error;
@@ -103,11 +110,17 @@ struct tls {
103 110
104 SSL *ssl_conn; 111 SSL *ssl_conn;
105 SSL_CTX *ssl_ctx; 112 SSL_CTX *ssl_ctx;
113
114 struct tls_sni_ctx *sni_ctx;
115
106 X509 *ssl_peer_cert; 116 X509 *ssl_peer_cert;
107 117
108 struct tls_conninfo *conninfo; 118 struct tls_conninfo *conninfo;
109}; 119};
110 120
121struct tls_sni_ctx *tls_sni_ctx_new(void);
122void tls_sni_ctx_free(struct tls_sni_ctx *sni_ctx);
123
111struct tls *tls_new(void); 124struct tls *tls_new(void);
112struct tls *tls_server_conn(struct tls *ctx); 125struct tls *tls_server_conn(struct tls *ctx);
113 126