Skip to content

Commit

Permalink
Merge pull request #193 from xosdy/add-ciphers
Browse files Browse the repository at this point in the history
Add `sockopts` options `ciphers`
  • Loading branch information
mworrell authored May 23, 2020
2 parents debd38a + 97d7e4d commit 62f585b
Showing 1 changed file with 10 additions and 6 deletions.
16 changes: 10 additions & 6 deletions src/smtp_socket.erl
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,8 @@
{versions, ['tlsv1', 'tlsv1.1', 'tlsv1.2']},
{port, 0}]).

-define(SSL_CONNECT_OPTIONS_KEYS, [ciphers]).

-ifdef(TEST).
-include_lib("eunit/include/eunit.hrl").
-endif.
Expand Down Expand Up @@ -321,7 +323,9 @@ proplist_merge(PrimaryList, DefaultList) ->
MergedOther = lists:merge(lists:sort(PrimaryOther), lists:sort(DefaultOther)),

%% remove all the values that don't belong here
[Option || Option = {Key, _} <- MergedTuples, proplists:is_defined(Key, DefaultList)] ++ [Option || Option <- MergedOther, Option == inet6 ].
[Option || Option = {Key, _} <- MergedTuples,
lists:member(Key, ?SSL_CONNECT_OPTIONS_KEYS) or proplists:is_defined(Key, DefaultList)]
++ [Option || Option <- MergedOther, Option == inet6 ].

parse_address(Options) ->
case proplists:get_value(ip, Options) of
Expand Down Expand Up @@ -652,11 +656,11 @@ option_test_() ->
{"ssl_connect_options merges provided proplist",
fun() ->
?assertEqual(lists:sort([list,{active, true},
{depth, 0},
{ip, {0,0,0,0}},
{port, 0},
{packet, 2},
{versions,[tlsv1,'tlsv1.1','tlsv1.2']}]),
{depth, 0},
{ip, {0,0,0,0}},
{port, 0},
{packet, 2},
{versions, [tlsv1,'tlsv1.1','tlsv1.2']}]),
lists:sort(ssl_connect_options([{active, true},{packet,2}])))
end
}
Expand Down

0 comments on commit 62f585b

Please sign in to comment.