BUG/MEDIUM: ssl: cache doesn't release shctx blocks

Since the rework of the shctx with the hot list system, the ssl cache
was putting session inside the hot list, without removing them.
Once all block were used, they were all locked in the hot list, which
was forbiding to reuse them for new sessions.

Bug introduced by 4f45bb9 ("MEDIUM: shctx: separate ssl and shctx")

Thanks to Jeffrey J. Persch for reporting this bug.

Must be backported to 1.8.
This commit is contained in:
William Lallemand 2018-01-03 19:15:51 +01:00 committed by Willy Tarreau
parent e2a34967a9
commit 99b90af621

View File

@ -3849,8 +3849,12 @@ static int sh_ssl_sess_store(unsigned char *s_id, unsigned char *data, int data_
first->len = sizeof(struct sh_ssl_sess_hdr);
}
if (shctx_row_data_append(ssl_shctx, first, data, data_len) < 0)
if (shctx_row_data_append(ssl_shctx, first, data, data_len) < 0) {
shctx_row_dec_hot(ssl_shctx, first);
return 0;
}
shctx_row_dec_hot(ssl_shctx, first);
return 1;
}