diff options
author | David Benjamin <davidben@chromium.org> | 2014-08-31 06:14:20 +0400 |
---|---|---|
committer | Adam Langley <agl@google.com> | 2014-09-04 00:17:45 +0400 |
commit | c92c2d7a076ca61d61f3c96b837b18bfdfb56cb5 (patch) | |
tree | 969045bfab4028495085e04ccb7f287820840b0d /ssl/t1_enc.c | |
parent | 859ec3cc09f244348f3c919693817acb01064535 (diff) |
Prune some dead quirks and document the SSL_OP_ALL ones.
Update SSL_OP_ALL to account for SSL_OP_CRYPTOPRO_TLSEXT_BUG being gone,
and update ssl3_setup_write_buffer to account for SSL_MODE_CBC_RECORD_SPLITTING
rather than the now defunct SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS.
Also remove SSL_OP_TLS_BLOCK_PADDING_BUG. This is to allow for a buggy peer
which pads CBC with N bytes of value N rather than N+1 bytes of value N. This
quirk has been broken since CBC padding checks became constant-time, as
demonstrated by this attempt at a test. (Instead of just decrementing
padding_length, it needs to also keep track of a separate padding_value and not
decrement that one.)
https://boringssl-review.googlesource.com/#/c/1690/
(The quirk would also fall over anyway if the buggy client ever did a session
resumption; then the server speaks first rather than the client, and the quirk
triggered on reading the first encrypted record from the peer.)
Change-Id: I19942dc629a47832aead77a46bb50e0b0a9780b3
Reviewed-on: https://boringssl-review.googlesource.com/1694
Reviewed-by: Adam Langley <agl@google.com>
Diffstat (limited to 'ssl/t1_enc.c')
-rw-r--r-- | ssl/t1_enc.c | 5 |
1 files changed, 0 insertions, 5 deletions
diff --git a/ssl/t1_enc.c b/ssl/t1_enc.c index abe5183f..2f925245 100644 --- a/ssl/t1_enc.c +++ b/ssl/t1_enc.c @@ -903,11 +903,6 @@ int tls1_enc(SSL *s, int send) /* we need to add 'i' padding bytes of value j */ j=i-1; - if (s->options & SSL_OP_TLS_BLOCK_PADDING_BUG) - { - if (s->s3->flags & TLS1_FLAGS_TLS_PADDING_BUG) - j++; - } for (k=(int)l; k<(int)(l+i); k++) rec->input[k]=j; l+=i; |