Fix problem with SCTP close_notify alerts
authorMatt Caswell <matt@openssl.org>
Fri, 21 Apr 2017 15:56:06 +0000 (16:56 +0100)
committerMatt Caswell <matt@openssl.org>
Tue, 25 Apr 2017 10:13:39 +0000 (11:13 +0100)
commit41b3c9ce2a02195aa7cf74c90b80468354ac708d
tree35494eaa6ea061272ae5b91f5de361ab4ce5aa3e
parentaefb925647175a310df73416c9c7253424a65106
Fix problem with SCTP close_notify alerts

In SCTP the code was only allowing a send of a close_notify alert if the
socket is dry. If the socket isn't dry then it was attempting to save away
the close_notify alert to resend later when it is dry and then it returned
success. However because the application then thinks that the close_notify
alert has been successfully sent it never re-enters the DTLS code to
actually resend the alert. A much simpler solution is to just fail with a
retryable error in the event that the socket isn't dry. That way the
application knows to retry sending the close_notify alert.

Reviewed-by: Richard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/3286)
crypto/bio/bss_dgram.c