diff options
author | Ingela Anderton Andin <[email protected]> | 2016-05-10 12:00:15 +0200 |
---|---|---|
committer | Ingela Anderton Andin <[email protected]> | 2016-05-10 12:00:15 +0200 |
commit | 07953e9d711962b0cb083098d51697d27b5cb292 (patch) | |
tree | cb934719f60d5dbfe528c3b464dffe843646fd40 /lib/ssl | |
parent | 929039adce30e62592cec1e8334dab99c4581b83 (diff) | |
download | otp-07953e9d711962b0cb083098d51697d27b5cb292.tar.gz otp-07953e9d711962b0cb083098d51697d27b5cb292.tar.bz2 otp-07953e9d711962b0cb083098d51697d27b5cb292.zip |
ssl: ordsets:intersection/2 did not give the expected result
Turns out we can not count on the "hashsigns" sent by the client and
the supported "hashigns" sets to have required properties of ordsets.
Diffstat (limited to 'lib/ssl')
-rw-r--r-- | lib/ssl/src/tls_handshake.erl | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/lib/ssl/src/tls_handshake.erl b/lib/ssl/src/tls_handshake.erl index 102dbba198..f34eebb0e4 100644 --- a/lib/ssl/src/tls_handshake.erl +++ b/lib/ssl/src/tls_handshake.erl @@ -283,7 +283,8 @@ available_signature_algs(undefined, SupportedHashSigns, _, {Major, Minor}) when SupportedHashSigns; available_signature_algs(#hash_sign_algos{hash_sign_algos = ClientHashSigns}, SupportedHashSigns, _, {Major, Minor}) when (Major >= 3) andalso (Minor >= 3) -> - ordsets:intersection(ClientHashSigns, SupportedHashSigns); + sets:to_list(sets:intersection(sets:from_list(ClientHashSigns), + sets:from_list(SupportedHashSigns))); available_signature_algs(_, _, _, _) -> undefined. |