Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/processone/ejabberd.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaweł Chmielowski <pchmielowski@process-one.net>2016-05-25 14:00:16 +0300
committerPaweł Chmielowski <pchmielowski@process-one.net>2016-05-26 12:08:53 +0300
commitfffae9794043e96ae19a10528631c5337ef45ae8 (patch)
treeb24d1c9eb68f7e8ee029d2b485126879a57e3c12 /src/ejabberd_c2s.erl
parent49658e16556aeb41116807f980d62d93c6bc8fc1 (diff)
Use acl:access_matches in c2s
Diffstat (limited to 'src/ejabberd_c2s.erl')
-rw-r--r--src/ejabberd_c2s.erl17
1 files changed, 10 insertions, 7 deletions
diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl
index 188368318..bda3bbd5f 100644
--- a/src/ejabberd_c2s.erl
+++ b/src/ejabberd_c2s.erl
@@ -624,9 +624,9 @@ wait_for_auth({xmlstreamelement, El}, StateData) ->
{auth, _ID, set, {U, P, D, R}} ->
JID = jid:make(U, StateData#state.server, R),
case JID /= error andalso
- acl:match_rule(StateData#state.server,
- StateData#state.access, JID)
- == allow
+ acl:access_matches(StateData#state.access,
+ #{usr => jid:split(JID), ip => StateData#state.ip},
+ StateData#state.server) == allow
of
true ->
DGen = fun (PW) ->
@@ -1103,8 +1103,10 @@ open_session(StateData) ->
R = StateData#state.resource,
JID = StateData#state.jid,
Lang = StateData#state.lang,
- case acl:match_rule(StateData#state.server,
- StateData#state.access, JID) of
+ IP = StateData#state.ip,
+ case acl:access_matches(StateData#state.access,
+ #{usr => jid:split(JID), ip => IP},
+ StateData#state.server) of
allow ->
?INFO_MSG("(~w) Opened session for ~s",
[StateData#state.socket, jid:to_string(JID)]),
@@ -1824,8 +1826,9 @@ terminate(_Reason, StateName, StateData) ->
%%%----------------------------------------------------------------------
change_shaper(StateData, JID) ->
- Shaper = acl:match_rule(StateData#state.server,
- StateData#state.shaper, JID),
+ Shaper = acl:access_matches(StateData#state.shaper,
+ #{usr => jid:split(JID), ip => StateData#state.ip},
+ StateData#state.server),
(StateData#state.sockmod):change_shaper(StateData#state.socket,
Shaper).