aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPablo Polvorin <pablo.polvorin@process-one.net>2011-12-01 12:55:20 -0300
committerPablo Polvorin <pablo.polvorin@process-one.net>2011-12-01 13:16:21 -0300
commit87df27109a18146ba8870a26eece1fbf51cd879b (patch)
tree28aed9227badae92d570a1768c1afbb4f59fbcee /src
parentadd hooks for node creation/deletion (EJAB-1470) (diff)
Fix bug on s2s shaper when TLS is used
The shaper was not enabled if the remote server authenticates using a certificate instead of dialback.
Diffstat (limited to 'src')
-rw-r--r--src/ejabberd_s2s_in.erl6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl
index 848e58c95..590b560bd 100644
--- a/src/ejabberd_s2s_in.erl
+++ b/src/ejabberd_s2s_in.erl
@@ -356,6 +356,12 @@ wait_for_feature_request({xmlstreamelement, El}, StateData) ->
[{"xmlns", ?NS_SASL}], []}),
?DEBUG("(~w) Accepted s2s authentication for ~s",
[StateData#state.socket, AuthDomain]),
+
+ %% acess rules are first checked against the globally defined ones, that have precedence over
+ %% domain-specific ones.. http://www.process-one.net/docs/ejabberd/guide_en.html#AccessRights
+ %% since there is allways a shaper defined globally for s2s, it doesn't matter the actual
+ %% local host, since the globall one will be used, even if this domain has a special rule
+ change_shaper(StateData, "", jlib:make_jid("", AuthDomain, "")),
{next_state, wait_for_stream,
StateData#state{streamid = new_id(),
authenticated = true,