aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ssl/src/ssl.appup.src
diff options
context:
space:
mode:
authorRaimo Niskanen <[email protected]>2016-07-19 10:55:30 +0200
committerRaimo Niskanen <[email protected]>2016-07-21 10:42:52 +0200
commita138a928849f3b68a2542f2592e95e7362217e3d (patch)
tree8690ce3064c9c75477c5ad495a61d9d30fcff2ed /lib/ssl/src/ssl.appup.src
parent53e7743216647d810d529e397bd3ea7278c6047c (diff)
downloadotp-a138a928849f3b68a2542f2592e95e7362217e3d.tar.gz
otp-a138a928849f3b68a2542f2592e95e7362217e3d.tar.bz2
otp-a138a928849f3b68a2542f2592e95e7362217e3d.zip
Improve version selection
Use the list of versions that the server allows and among those choose the highest version that is not higher than the client's version. Note that this chosen version might be lower than the client's version, but is used to improve interoperability. Patch suggested by Dimitry Borisov refering to RFC 5246 appendix E.1.
Diffstat (limited to 'lib/ssl/src/ssl.appup.src')
-rw-r--r--lib/ssl/src/ssl.appup.src10
1 files changed, 8 insertions, 2 deletions
diff --git a/lib/ssl/src/ssl.appup.src b/lib/ssl/src/ssl.appup.src
index 11728128c4..203a4f7d10 100644
--- a/lib/ssl/src/ssl.appup.src
+++ b/lib/ssl/src/ssl.appup.src
@@ -1,14 +1,20 @@
%% -*- erlang -*-
{"%VSN%",
[
- {<<"7\\..*">>, [{restart_application, ssl}]},
+ {<<"^7[.]3[.]3$">>,
+ [{load_module, ssl_handshake, soft_purge, soft_purge, []}
+ ]},
+ {<<"^7[.][^.].*">>, [{restart_application, ssl}]},
{<<"6\\..*">>, [{restart_application, ssl}]},
{<<"5\\..*">>, [{restart_application, ssl}]},
{<<"4\\..*">>, [{restart_application, ssl}]},
{<<"3\\..*">>, [{restart_application, ssl}]}
],
[
- {<<"7\\..*">>, [{restart_application, ssl}]},
+ {<<"^7[.]3[.]3$">>,
+ [{load_module, ssl_handshake, soft_purge, soft_purge, []}
+ ]},
+ {<<"^7[.][^.].*">>, [{restart_application, ssl}]},
{<<"6\\..*">>, [{restart_application, ssl}]},
{<<"5\\..*">>, [{restart_application, ssl}]},
{<<"4\\..*">>, [{restart_application, ssl}]},