Fix: redisReconnect() should clear SSL context.

We should not attempt to keep the context and re-establish the
TLS connection for several reasons:

1. Maintain symmetry between redisConnect() and redisReconnect(), so in
both cases an extra step is required to initiate SSL.
2. The caller may also wish to reconfigure the SSL session and needs a
chance to do that.
3. It is not a practical thing to do on an async non-blocking connection
context.
This commit is contained in:
Yossi Gottlieb 2019-09-16 17:15:34 +03:00
parent bd2c8fedf7
commit d41443bd3d
1 changed files with 5 additions and 0 deletions

View File

@ -708,6 +708,11 @@ int redisReconnect(redisContext *c) {
c->err = 0;
memset(c->errstr, '\0', strlen(c->errstr));
if (c->privdata && c->funcs->free_privdata) {
c->funcs->free_privdata(c->privdata);
c->privdata = NULL;
}
redisNetClose(c);
sdsfree(c->obuf);