aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRaimo Niskanen <[email protected]>2017-11-29 08:39:48 +0100
committerRaimo Niskanen <[email protected]>2017-11-29 10:57:33 +0100
commit18867faa3c898bc5c65c2eff39183b2fbd89c8bd (patch)
tree9e63fde024679bc8ead2b2973be2d2feadf8937d
parent2b9e5ea8652ad8d85c9bc3ceda812904718578a2 (diff)
downloadotp-18867faa3c898bc5c65c2eff39183b2fbd89c8bd.tar.gz
otp-18867faa3c898bc5c65c2eff39183b2fbd89c8bd.tar.bz2
otp-18867faa3c898bc5c65c2eff39183b2fbd89c8bd.zip
Stop checking DNS name for SNI
-rw-r--r--lib/ssl/src/ssl.erl20
1 files changed, 12 insertions, 8 deletions
diff --git a/lib/ssl/src/ssl.erl b/lib/ssl/src/ssl.erl
index 4007e44a83..4bff9fdf39 100644
--- a/lib/ssl/src/ssl.erl
+++ b/lib/ssl/src/ssl.erl
@@ -992,17 +992,21 @@ validate_option(next_protocols_advertised, Value) when is_list(Value) ->
Value;
validate_option(next_protocols_advertised, undefined) ->
undefined;
-validate_option(server_name_indication = Opt, Value) when is_list(Value) ->
+validate_option(server_name_indication, Value) when is_list(Value) ->
%% RFC 6066, Section 3: Currently, the only server names supported are
%% DNS hostnames
- case inet_parse:domain(Value) of
- false ->
- throw({error, {options, {{Opt, Value}}}});
- true ->
- Value
- end;
-validate_option(server_name_indication, undefined = Value) ->
+ %% case inet_parse:domain(Value) of
+ %% false ->
+ %% throw({error, {options, {{Opt, Value}}}});
+ %% true ->
+ %% Value
+ %% end;
+ %%
+ %% But the definition seems very diffuse, so let all strings through
+ %% and leave it up to public_key to decide...
Value;
+validate_option(server_name_indication, undefined) ->
+ undefined;
validate_option(server_name_indication, disable) ->
disable;