aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_c2s.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl11
1 files changed, 10 insertions, 1 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index a567303b6..abc0cf670 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -473,7 +473,16 @@ wait_for_feature_request({xmlstreamelement, El}, StateData) ->
TLSEnabled == false,
SockMod == gen_tcp ->
Socket = StateData#state.socket,
- TLSOpts = StateData#state.tls_options,
+ TLSOpts = case ejabberd_config:get_local_option(
+ {domain_certfile, StateData#state.server}) of
+ undefined ->
+ StateData#state.tls_options;
+ CertFile ->
+ [{certfile, CertFile} |
+ lists:keydelete(
+ certfile, 1, StateData#state.tls_options)]
+ end,
+ io:format("O: ~p~n", [TLSOpts]),
{ok, TLSSocket} = tls:tcp_to_tls(Socket, TLSOpts),
ejabberd_receiver:starttls(StateData#state.receiver, TLSSocket),
send_element(StateData,