diff --git a/ChangeLog b/ChangeLog index 3b009fe1d..9c98b3e51 100644 --- a/ChangeLog +++ b/ChangeLog @@ -18,6 +18,11 @@ calling ejabberd_sm:set_presence/7. Don't convert broadcast children, because it's an internal special element. + * src/acl.erl: Convert to exmpp. + + * src/ejabberd_c2s.erl, src/ejabberd_s2s_in.erl: acl doesn't require + conversion anymore. + 2008-06-30 Jean-Sébastien Pédron * src/Makefile.in: Remove the -I flag for exmpp includes; the diff --git a/src/acl.erl b/src/acl.erl index eed295cb8..e65c34c4a 100644 --- a/src/acl.erl +++ b/src/acl.erl @@ -87,7 +87,7 @@ add_list(Host, ACLs, Clear) -> end. normalize(A) -> - jlib:nodeprep(A). + exmpp_stringprep:nodeprep(A). normalize_spec({A, B}) -> {A, normalize(B)}; normalize_spec({A, B, C}) -> @@ -158,7 +158,7 @@ match_acl(ACL, JID, Host) -> all -> true; none -> false; _ -> - {User, Server, Resource} = jlib:jid_tolower(JID), + {User, Server, Resource} = jlib:short_jid(JID), lists:any(fun(#acl{aclspec = Spec}) -> case Spec of all -> diff --git a/src/ejabberd_c2s.erl b/src/ejabberd_c2s.erl index f47433896..271ffabd7 100644 --- a/src/ejabberd_c2s.erl +++ b/src/ejabberd_c2s.erl @@ -392,10 +392,8 @@ wait_for_auth({xmlstreamelement, El}, StateData) -> {auth, _ID, set, {U, P, D, R}} -> try JID = exmpp_jid:make_jid(U, StateData#state.server, R), - % XXX OLD FORMAT: JID. - JIDOld = jlib:to_old_jid(JID), case acl:match_rule(StateData#state.server, - StateData#state.access, JIDOld) of + StateData#state.access, JID) of allow -> case ejabberd_auth:check_password_with_authmodule( U, StateData#state.server, P, @@ -717,11 +715,9 @@ wait_for_session({xmlstreamelement, El}, StateData) -> U = StateData#state.user, R = StateData#state.resource, JID = StateData#state.jid, - % XXX OLD FORMAT: JID. - JIDOld = jlib:to_old_jid(JID), true = exmpp_server_session:want_establishment(El), case acl:match_rule(StateData#state.server, - StateData#state.access, JIDOld) of + StateData#state.access, JID) of allow -> ?INFO_MSG("(~w) Opened session for ~s", [StateData#state.socket, @@ -757,6 +753,7 @@ wait_for_session({xmlstreamelement, El}, StateData) -> privacy_list = PrivList}); _ -> % XXX OLD FORMAT: Jid. + JIDOld = jlib:to_old_jid(JID), ejabberd_hooks:run(forbidden_session_hook, StateData#state.server, [JIDOld]), ?INFO_MSG("(~w) Forbidden session for ~s", diff --git a/src/ejabberd_s2s_in.erl b/src/ejabberd_s2s_in.erl index b3229a69e..562033076 100644 --- a/src/ejabberd_s2s_in.erl +++ b/src/ejabberd_s2s_in.erl @@ -573,9 +573,7 @@ send_element(StateData, El) -> change_shaper(StateData, Host, JID) -> - % XXX OLD FORMAT: JIDOld is an old #jid. - JIDOld = jlib:to_old_jid(JID), - Shaper = acl:match_rule(Host, StateData#state.shaper, JIDOld), + Shaper = acl:match_rule(Host, StateData#state.shaper, JID), (StateData#state.sockmod):change_shaper(StateData#state.socket, Shaper).