aboutsummaryrefslogtreecommitdiff
path: root/src/ejabberd_s2s_out.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/ejabberd_s2s_out.erl')
-rw-r--r--src/ejabberd_s2s_out.erl12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/ejabberd_s2s_out.erl b/src/ejabberd_s2s_out.erl
index 0384297d2..c1b092bb0 100644
--- a/src/ejabberd_s2s_out.erl
+++ b/src/ejabberd_s2s_out.erl
@@ -438,7 +438,17 @@ wait_for_starttls_proceed({xmlstreamelement, El}, StateData) ->
?INFO_MSG("starttls: ~p", [{StateData#state.myname,
StateData#state.server}]),
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,
{ok, TLSSocket} = tls:tcp_to_tls(Socket, TLSOpts),
ejabberd_receiver:starttls(
StateData#state.receiver, TLSSocket),