diff options
author | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2007-12-05 15:11:24 +0000 |
---|---|---|
committer | joe <joe@61a7d7f5-40b7-0310-9c16-bb0ea8cb1845> | 2007-12-05 15:11:24 +0000 |
commit | bf351d74fb8d035e6304d3e21597e3f4bef9a321 (patch) | |
tree | fc47b8d295bf9715836cdba0537aa699bb841f1a /src/ne_gnutls.c | |
parent | 04be632f2538323834f533d79a03f286d913ff24 (diff) | |
download | neon-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.c | 4 |
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)); |