diff options
author | valentino <valentino@redislabs.com> | 2018-12-20 16:26:24 +0200 |
---|---|---|
committer | Mark Nunberg <mnunberg@haskalah.org> | 2019-02-20 09:10:10 -0500 |
commit | 58222c26f4889c3f83c453bd7ec87e387459fd0c (patch) | |
tree | cf07f0fefd55a3ea381f1d26567252c4899ada12 /sslio.c | |
parent | 389e694abe6bb9ed6e5a44674d89a866c5231422 (diff) |
Support SNI
Diffstat (limited to 'sslio.c')
-rw-r--r-- | sslio.c | 8 |
1 files changed, 7 insertions, 1 deletions
@@ -87,7 +87,7 @@ void redisFreeSsl(redisSsl *ssl){ } int redisSslCreate(redisContext *c, const char *capath, const char *certpath, - const char *keypath) { + const char *keypath, const char *servername) { assert(!c->ssl); c->ssl = calloc(1, sizeof(*c->ssl)); static int isInit = 0; @@ -131,6 +131,12 @@ int redisSslCreate(redisContext *c, const char *capath, const char *certpath, __redisSetError(c, REDIS_ERR, "Couldn't create new SSL instance"); return REDIS_ERR; } + if (servername) { + if (!SSL_set_tlsext_host_name(s->ssl, servername)) { + __redisSetError(c, REDIS_ERR, "Couldn't set server name indication"); + return REDIS_ERR; + } + } SSL_set_fd(s->ssl, c->fd); SSL_set_connect_state(s->ssl); |