Fix DTLS failure when used in a build which has SCTP enabled
authorMatt Caswell <matt@openssl.org>
Tue, 20 Jun 2017 15:36:30 +0000 (16:36 +0100)
committerMatt Caswell <matt@openssl.org>
Wed, 21 Jun 2017 13:56:24 +0000 (14:56 +0100)
commit9924087573cfbc8d2bc97088f36d1a81ca00cda3
tree8154afee40669f8394aeff3b784543f65a21c903
parent72257204bd2a88773461150765dfd0e0a428ee86
Fix DTLS failure when used in a build which has SCTP enabled

The value of BIO_CTRL_DGRAM_SET_PEEK_MODE was clashing with the value for
BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE. In an SCTP enabled build
BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE was used unconditionally with
the reasoning that it would be ignored if SCTP wasn't in use. Unfortunately
due to this clash, this wasn't the case. The BIO ended up going into peek
mode and was continually reading the same data over and over - throwing it
away as a replay.

Fixes #3723

Reviewed-by: Rich Salz <rsalz@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3724)
crypto/bio/bss_dgram.c
include/openssl/bio.h
ssl/statem/statem.c