boringssl/include/openssl
David Benjamin c8d5122538 Fold dtls1_process_record into dtls1_get_record.
The split was only needed for buffering records. Likewise, the extra
seq_num field is now unnecessary.

This also fixes a bug where dtls1_process_record will push an error on
the queue if the decrypted record is too large, which dtls1_get_record
will ignore but fail to clear, leaving garbage on the error queue. The
error is now treated as fatal; the reason DTLS silently drops invalid
packets is worrying about ease of DoS, but after SSL_AEAD_CTX_open, the
packet has been authenticated. (Unless it's the null cipher, but that's
during the handshake and the handshake is already DoS-able by breaking
handshake reassembly state.)

The function is still rather a mess. Later changes will clean this up.

BUG=468889

Change-Id: I96a54afe0755d43c34456f76e77fc4ee52ad01e3
Reviewed-on: https://boringssl-review.googlesource.com/5557
Reviewed-by: Adam Langley <agl@google.com>
2015-08-05 21:14:11 +00:00
..
aead.h AEADs don't go through ENGINE. 2015-06-22 23:59:40 +00:00
aes.h Fix documentation typo. 2015-07-01 21:33:29 +00:00
asn1_mac.h
asn1.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
asn1t.h Remove last references to named locks. 2015-05-20 19:18:30 +00:00
base64.h
base.h base.h: add typedefs from x509.h, and sort them. 2015-08-03 21:25:22 +00:00
bio.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
blowfish.h
bn.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
buf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
buffer.h Add buffer.h for compatibility. 2015-05-12 00:09:57 +00:00
bytestring.h Make CBB_len return a length, not remaining. 2015-07-09 19:20:09 +00:00
cast.h
chacha.h Fix shared library build. 2015-07-10 18:59:49 +00:00
cipher.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
cmac.h Add support for CMAC (RFC 4493). 2015-05-07 21:13:41 +00:00
conf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
cpu.h Replace cpuid assembly with C code. 2015-07-20 18:59:44 +00:00
crypto.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
des.h Add |DES_set_key_unchecked| as an alias for |DES_set_key|. 2015-07-31 22:26:15 +00:00
dh.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
digest.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
dsa.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
dtls1.h Opaquify DTLS structs. 2015-05-08 18:02:02 +00:00
ec_key.h Fix o2i_ECPublicKey documentation. 2015-07-20 20:39:43 +00:00
ec.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
ecdh.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
ecdsa.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
engine.h Convert reference counts in crypto/ 2015-05-20 19:15:26 +00:00
err.h ERR_LIB_USER should be the last error. 2015-07-16 02:03:03 +00:00
evp.h Revert "pound-define EVP_R_BAD_DECRYPT CIPHER_R_BAD_DECRYPT." 2015-08-05 12:16:11 -07:00
ex_data.h Correct various documentation typos 2015-06-10 22:06:01 +00:00
hkdf.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
hmac.h Remove HMAC_CTX_set_flags. 2015-06-02 01:07:07 +00:00
lhash_macros.h Remove hash table lookups from ex_data. 2015-04-15 23:59:35 +00:00
lhash.h Fix some typos in license headers. 2015-07-29 19:23:51 +00:00
md4.h Fix some typos in license headers. 2015-07-29 19:23:51 +00:00
md5.h Fix some typos in license headers. 2015-07-29 19:23:51 +00:00
mem.h Fix some typos in license headers. 2015-07-29 19:23:51 +00:00
modes.h
obj_mac.h Remove fake RLE compression OID. 2015-05-27 21:49:39 +00:00
obj.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
objects.h
opensslfeatures.h
opensslv.h Get version-related functions from crypto.h rather than ssl.h. 2015-05-20 22:58:14 +00:00
ossl_typ.h
pem.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
pkcs7.h
pkcs8.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
pkcs12.h
poly1305.h Fix shared library build. 2015-07-10 18:59:49 +00:00
pqueue.h
rand.h Make methods of |RAND_SSLEay| do reasonable things. 2015-07-23 17:58:51 +00:00
rc4.h Fix up whitespace in headers for doc.go. 2015-04-08 17:32:55 -07:00
rsa.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00
safestack.h
sha.h Low-level hash 'final' functions cannot fail. 2015-06-01 22:14:01 +00:00
srtp.h
ssl3.h Fold dtls1_process_record into dtls1_get_record. 2015-08-05 21:14:11 +00:00
ssl.h FALLBACK_SCSV is an RFC now. 2015-08-05 20:51:51 +00:00
stack_macros.h Implement custom extensions. 2015-07-31 01:12:00 +00:00
stack.h Implement custom extensions. 2015-07-31 01:12:00 +00:00
thread.h Readd CRYPTO_{LOCK|UNLOCK|READ|WRITE}. 2015-05-27 15:48:29 -07:00
time_support.h Eliminate unnecessary includes from low-level crypto modules. 2015-04-13 20:49:18 +00:00
tls1.h Convert the SRTP extension to the new system 2015-07-21 21:44:22 +00:00
type_check.h Try to fix MSVC and __STDC_VERSION__ again. 2015-05-20 13:42:12 -07:00
x509_vfy.h Remove remaining calls to the old lock functions. 2015-05-20 19:18:13 +00:00
x509.h Don't define typedefs twice. 2015-08-05 05:35:23 +00:00
x509v3.h Get rid of err function codes. 2015-07-16 02:02:08 +00:00