Commit dc466733 authored by Matt Caswell's avatar Matt Caswell
Browse files

Mark a HelloRequest record as read if we ignore it



Otherwise the client will try to process it again. The second time around
it will try and move the record data into handshake fragment storage and
realise that there is no data left. At that point it marks it as read
anyway. However, it is a bug that we go around the loop a second time, so
we prevent that.

Reviewed-by: default avatarRich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/2200)
(cherry picked from commit 290a0419)
parent db2fed44
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -1297,7 +1297,12 @@ int ssl3_read_bytes(SSL *s, int type, int *recvd_type, unsigned char *buf,
                        return (-1);
                    }
                }
            } else {
                SSL3_RECORD_set_read(rr);
            }
        } else {
            /* Does this ever happen? */
            SSL3_RECORD_set_read(rr);
        }
        /*
         * we either finished a handshake or ignored the request, now try