Return errors even if the cookie validation has succeeded
authorMatt Caswell <matt@openssl.org>
Mon, 30 Nov 2015 10:38:54 +0000 (10:38 +0000)
committerMatt Caswell <matt@openssl.org>
Mon, 30 Nov 2015 10:51:43 +0000 (10:51 +0000)
commit41d049e1cda0e23ad45fbca94fc90cfe9cfee466
tree74b9e08164b89d806278b0d7ffc0ae8e258a7170
parent98b94544e5dcab065404de1892d2aeb726dd6491
Return errors even if the cookie validation has succeeded

In the DTLS ClientHello processing the return value is stored in |ret| which
by default is -1. We wish to return 1 on success or 2 on success *and* we
have validated the DTLS cookie. Previously on successful validation of the
cookie we were setting |ret| to 2. Unfortunately if we later encounter an
error then we can end up returning a successful (positive) return code from
the function because we already set |ret| to a positive value.

This does not appear to have a security consequence because the handshake
just fails at a later point.

Reviewed-by: Andy Polyakov <appro@openssl.org>
ssl/s3_srvr.c