boringssl/ssl
David Benjamin 5fa3eba03d Clear the error queue when dropping a bad DTLS packet.
This regressed in e95d20dcb8. EVP_AEAD will push
errors on the error queue (unlike the EVP_CIPHER codepath which checked
everything internally to ssl/ and didn't bother pushing anything). This meant
that a dropped packet would leave junk in the error queue.

Later, when SSL_read returns <= 0 (EOF or EWOULDBLOCK), the non-empty error
queue check in SSL_get_error kicks in and SSL_read looks to have failed.

BUG=https://code.google.com/p/webrtc/issues/detail?id=4214

Change-Id: I1e5e41c77a3e5b71e9eb0c72294abf0da677f840
Reviewed-on: https://boringssl-review.googlesource.com/2982
Reviewed-by: Adam Langley <agl@google.com>
2015-01-22 22:06:40 +00:00
..
pqueue
test Clear the error queue when dropping a bad DTLS packet. 2015-01-22 22:06:40 +00:00
CMakeLists.txt Remove dead code from EVP_CIPHER codepaths. 2015-01-14 21:05:41 +00:00
d1_both.c Clarify dtls1_do_write's interaction with the buffering BIO. 2015-01-14 21:48:31 +00:00
d1_clnt.c Reformatting of several DTLS source files. 2014-12-13 16:28:18 -08:00
d1_lib.c Account for the MTU BIO_ctrls returning negative or overly large numbers. 2015-01-14 21:46:50 +00:00
d1_meth.c Implement SSL_clear with ssl_new and ssl_free. 2015-01-12 22:35:58 +00:00
d1_pkt.c Clear the error queue when dropping a bad DTLS packet. 2015-01-22 22:06:40 +00:00
d1_srtp.c Store SRTP_PROTECTION_PROFILES as const. 2015-01-14 22:10:08 +00:00
d1_srvr.c Support EVP_AEAD in DTLS. 2015-01-14 21:03:40 +00:00
s3_both.c Touch up ssl3_get_message. 2014-12-17 00:16:23 +00:00
s3_clnt.c Remove SSL_SESSION::cipher_id. 2015-01-14 21:10:55 +00:00
s3_enc.c Implement SSLv3 ciphers with stateful AEADs. 2015-01-14 20:55:58 +00:00
s3_lib.c Switch OBJ_undef uses to NID_undef. 2015-01-14 21:51:25 +00:00
s3_meth.c Implement SSL_clear with ssl_new and ssl_free. 2015-01-12 22:35:58 +00:00
s3_pkt.c Normalize tls1_enc return values. 2015-01-22 22:00:01 +00:00
s3_srvr.c Remove constraints on curve ID values. 2015-01-14 21:52:28 +00:00
ssl_algs.c Make SSL_load_error_strings a no-op. 2015-01-14 22:09:58 +00:00
ssl_asn1.c Remove SSL_SESSION::cipher_id. 2015-01-14 21:10:55 +00:00
ssl_cert.c Add (void) to some macros to satisfy compiler. 2015-01-12 23:46:03 +00:00
ssl_ciph.c ssl_create_cipher_list: check whether push onto cipherstack succeeds 2015-01-14 21:48:55 +00:00
ssl_error.c Guard against small MTUs from the BIO. 2015-01-14 21:43:07 +00:00
ssl_lib.c Return SSL_ERROR_SYSCALL on unclean EOF. 2015-01-22 22:01:35 +00:00
ssl_locl.h aarch64 support. 2015-01-14 23:38:11 +00:00
ssl_rsa.c Reformat the rest of ssl/. 2014-12-18 17:43:03 -08:00
ssl_sess.c Tag a number of globals as const. 2015-01-14 21:53:00 +00:00
ssl_stat.c Reformat the rest of ssl/. 2014-12-18 17:43:03 -08:00
ssl_test.c Merge SSLv23_method and DTLS_ANY_VERSION. 2014-12-13 15:22:21 -08:00
ssl_txt.c Remove SSL_SESSION::cipher_id. 2015-01-14 21:10:55 +00:00
t1_enc.c Normalize tls1_enc return values. 2015-01-22 22:00:01 +00:00
t1_lib.c Remove P-521 from the default supported curves list. 2015-01-14 21:53:23 +00:00
t1_reneg.c Reformat the rest of ssl/. 2014-12-18 17:43:03 -08:00