Don't schedule excess_renegotiations_callback unless it's set

Partial fix for bug 4587; reported by "frosty_un".
This commit is contained in:
Nick Mathewson 2011-11-27 08:21:59 -05:00
parent 58d1aa4402
commit 617617e21a

View File

@ -1318,7 +1318,8 @@ tor_tls_got_client_hello(tor_tls_t *tls)
}
tls->got_renegotiate = 1;
} else if (tls->server_handshake_count > 2) {
} else if (tls->server_handshake_count > 2 &&
tls->excess_renegotiations_callback) {
/* We got more than one renegotiation requests. The Tor protocol
needs just one renegotiation; more than that probably means
They are trying to DoS us and we have to stop them. We can't