Klaus Demo nginx / a9e3c65
Proper SSL shutdown handling. If connection has unsent alerts, SSL_shutdown() tries to send them even if SSL_set_shutdown(SSL_RECEIVED_SHUTDOWN|SSL_SENT_SHUTDOWN) was used. This can be prevented by SSL_set_quiet_shutdown(). SSL_set_shutdown() is required nevertheless to preserve session. Maxim Dounin 10 years ago
1 changed file(s) with 5 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
12041204
12051205 if (c->timedout) {
12061206 mode = SSL_RECEIVED_SHUTDOWN|SSL_SENT_SHUTDOWN;
1207 SSL_set_quiet_shutdown(c->ssl->connection, 1);
12071208
12081209 } else {
12091210 mode = SSL_get_shutdown(c->ssl->connection);
12141215
12151216 if (c->ssl->no_send_shutdown) {
12161217 mode |= SSL_SENT_SHUTDOWN;
1218 }
1219
1220 if (c->ssl->no_wait_shutdown && c->ssl->no_send_shutdown) {
1221 SSL_set_quiet_shutdown(c->ssl->connection, 1);
12171222 }
12181223 }
12191224