summaryrefslogtreecommitdiff
path: root/src/ne_gnutls.c
diff options
context:
space:
mode:
authorjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2007-12-05 15:11:24 +0000
committerjoe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845>2007-12-05 15:11:24 +0000
commitbf351d74fb8d035e6304d3e21597e3f4bef9a321 (patch)
treefc47b8d295bf9715836cdba0537aa699bb841f1a /src/ne_gnutls.c
parent04be632f2538323834f533d79a03f286d913ff24 (diff)
downloadneon-bf351d74fb8d035e6304d3e21597e3f4bef9a321.tar.gz
Enable TLS SNI support for GnuTLS builds:
* src/ne_privssl.h [HAVE_GNUTLS] (struct ne_ssl_context_s): Add hostname field. * src/ne_gnutls.c (ne__negotiate_ssl): Pass through hostname if SNI enabled. ,* src/ne_socket.c [HAVE_GNUTLS] (ne_sock_connect_ssl): Set hostname. git-svn-id: http://svn.webdav.org/repos/projects/neon/trunk@1290 61a7d7f5-40b7-0310-9c16-bb0ea8cb1845
Diffstat (limited to 'src/ne_gnutls.c')
-rw-r--r--src/ne_gnutls.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/src/ne_gnutls.c b/src/ne_gnutls.c
index 5262039..dd89c8c 100644
--- a/src/ne_gnutls.c
+++ b/src/ne_gnutls.c
@@ -717,6 +717,10 @@ int ne__negotiate_ssl(ne_session *sess)
NE_DEBUG(NE_DBG_SSL, "Negotiating SSL connection.\n");
+ /* Pass through the hostname if SNI is enabled. */
+ ctx->hostname =
+ sess->flags[NE_SESSFLAG_TLS_SNI] ? sess->server.hostname : NULL;
+
if (ne_sock_connect_ssl(sess->socket, ctx, sess)) {
ne_set_error(sess, _("SSL negotiation failed: %s"),
ne_sock_error(sess->socket));