aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl
diff options
context:
space:
mode:
authorIngela Anderton Andin <[email protected]>2010-08-24 09:03:30 +0200
committerIngela Anderton Andin <[email protected]>2010-08-24 09:03:30 +0200
commit812a0bbde555b9f9aa670aca8aafe3892c9ebf96 (patch)
tree2587c3165bdf75fbab0634696b1a785e5c76b0f2 /lib/ssl
parent574a68e84c92a8a44ea2e5d18a1cd2025892d496 (diff)
parentb688f48b13f94b15665e951ee08be5d7f4d07ca7 (diff)
downloadotp-812a0bbde555b9f9aa670aca8aafe3892c9ebf96.tar.gz
otp-812a0bbde555b9f9aa670aca8aafe3892c9ebf96.tar.bz2
otp-812a0bbde555b9f9aa670aca8aafe3892c9ebf96.zip
Merge branch 'ia/ssl-interop/OTP-8740' into dev
* ia/ssl-interop/OTP-8740: Do not check the padding for TLS 1.0
Diffstat (limited to 'lib/ssl')
-rw-r--r--lib/ssl/src/ssl_cipher.erl6
1 files changed, 6 insertions, 0 deletions
diff --git a/lib/ssl/src/ssl_cipher.erl b/lib/ssl/src/ssl_cipher.erl
index cb08d74f54..8230149304 100644
--- a/lib/ssl/src/ssl_cipher.erl
+++ b/lib/ssl/src/ssl_cipher.erl
@@ -506,6 +506,12 @@ generic_stream_cipher_from_bin(T, HashSz) ->
is_correct_padding(_, {3, 0}) ->
true;
+%% For interoperability reasons we do not check the padding in TLS 1.0 as it
+%% is not strictly required and breaks interopability with for instance
+%% Google.
+is_correct_padding(_, {3, 1}) ->
+ true;
+%% Padding must be check in TLS 1.1 and after
is_correct_padding(#generic_block_cipher{padding_length = Len, padding = Padding}, _) ->
list_to_binary(lists:duplicate(Len, Len)) == Padding.