@@ -20,15 +20,6 @@ use rustls::{
2020
2121const GCM_EXPLICIT_NONCE_LENGTH : usize = 8 ;
2222const GCM_IMPLICIT_NONCE_LENGTH : usize = 4 ;
23- const MAX_TLS12_PLAINTEXT_FRAGMENT_LEN : usize = 16_384 ;
24-
25- fn reject_oversized_tls12_plaintext ( plaintext_len : usize ) -> Result < ( ) , Error > {
26- if plaintext_len > MAX_TLS12_PLAINTEXT_FRAGMENT_LEN {
27- return Err ( Error :: PeerSentOversizedRecord ) ;
28- }
29-
30- Ok ( ( ) )
31- }
3223
3324static ECDSA_SCHEMES : & [ SignatureScheme ] = & [
3425 SignatureScheme :: ECDSA_NISTP521_SHA512 ,
@@ -290,7 +281,6 @@ impl MessageDecrypter for AesGcmDecrypter {
290281 & aad,
291282 & mut payload. as_mut ( ) [ GCM_EXPLICIT_NONCE_LENGTH ..] ,
292283 ) ?;
293- reject_oversized_tls12_plaintext ( plaintext_len) ?;
294284
295285 // Remove the explicit nonce from the front of the buffer, as it's not part of the plaintext.
296286 payload. copy_within (
@@ -344,7 +334,6 @@ impl MessageDecrypter for ChaCha20Poly1305Crypter {
344334 tag. copy_from_slice ( & payload[ message_len..] ) ;
345335
346336 let plaintext_len = self . key . open ( nonce. 0 , & aad, payload) ?;
347- reject_oversized_tls12_plaintext ( plaintext_len) ?;
348337 payload. truncate ( plaintext_len) ;
349338 Ok ( msg. into_plain_message ( ) )
350339 }
@@ -358,20 +347,4 @@ mod tests {
358347 fn tls12_ecdsa_sign_schemes_do_not_advertise_ed25519 ( ) {
359348 assert ! ( !ECDSA_SCHEMES . contains( & SignatureScheme :: ED25519 ) ) ;
360349 }
361-
362- #[ test]
363- fn aes_gcm_decrypter_rejects_oversized_plaintext ( ) {
364- assert ! ( matches!(
365- reject_oversized_tls12_plaintext( MAX_TLS12_PLAINTEXT_FRAGMENT_LEN + 1 ) ,
366- Err ( Error :: PeerSentOversizedRecord )
367- ) ) ;
368- }
369-
370- #[ test]
371- fn chacha20_poly1305_decrypter_rejects_oversized_plaintext ( ) {
372- assert ! ( matches!(
373- reject_oversized_tls12_plaintext( MAX_TLS12_PLAINTEXT_FRAGMENT_LEN + 1 ) ,
374- Err ( Error :: PeerSentOversizedRecord )
375- ) ) ;
376- }
377350}
0 commit comments