Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/boringssl.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDavid Benjamin <davidben@chromium.org>2014-12-15 03:05:38 +0300
committerAdam Langley <agl@google.com>2014-12-16 04:37:33 +0300
commitbf42f82ad9461bb36ff8fa5b945857e6dac1e9cf (patch)
treea1d0971f6d4ce743f2e8b3f8d190fab48f3f64ba /ssl/s3_srvr.c
parent07046a094637630f7e8255100b0a4bc47d7a5c9d (diff)
Add comments explaining what NETSCAPE_HANG_BUG does.
(Or should we just drop this? It only matters for servers trying to use client auth.) Change-Id: I50b6999375dc8f9246bf617f17929ae304503c57 Reviewed-on: https://boringssl-review.googlesource.com/2602 Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'ssl/s3_srvr.c')
-rw-r--r--ssl/s3_srvr.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/ssl/s3_srvr.c b/ssl/s3_srvr.c
index fba45eb0..433d81b2 100644
--- a/ssl/s3_srvr.c
+++ b/ssl/s3_srvr.c
@@ -465,6 +465,8 @@ int ssl3_accept(SSL *s)
#ifndef NETSCAPE_HANG_BUG
s->state=SSL3_ST_SW_SRVR_DONE_A;
#else
+ /* ServerHelloDone was already sent in the
+ * previous record. */
s->state=SSL3_ST_SW_FLUSH;
s->s3->tmp.next_state=SSL3_ST_SR_CERT_A;
#endif
@@ -1883,6 +1885,8 @@ int ssl3_send_certificate_request(SSL *s)
#ifdef NETSCAPE_HANG_BUG
if (!SSL_IS_DTLS(s))
{
+ /* Prepare a ServerHelloDone in the same record. This is
+ * to workaround a hang in Netscape. */
if (!BUF_MEM_grow_clean(buf, s->init_num + 4))
{
OPENSSL_PUT_ERROR(SSL, ssl3_send_certificate_request, ERR_R_BUF_LIB);