mirror of
https://github.com/processone/ejabberd.git
synced 2024-11-30 16:36:29 +01:00
* src/acl.erl: Normalize ACL before adding to the configuration
tables (EJAB-521) SVN Revision: 1185
This commit is contained in:
parent
7d73151737
commit
60e1972f61
@ -1,3 +1,8 @@
|
|||||||
|
2008-02-12 Badlop <badlop@process-one.net>
|
||||||
|
|
||||||
|
* src/acl.erl: Normalize ACL before adding to the configuration
|
||||||
|
tables (EJAB-521)
|
||||||
|
|
||||||
2008-02-11 Christophe Romain <christophe.romain@process-one.net>
|
2008-02-11 Christophe Romain <christophe.romain@process-one.net>
|
||||||
|
|
||||||
* src/mod_pubsub/mod_pubsub.erl: Bugfix: event used in place of x when
|
* src/mod_pubsub/mod_pubsub.erl: Bugfix: event used in place of x when
|
||||||
|
17
src/acl.erl
17
src/acl.erl
@ -48,12 +48,12 @@ start() ->
|
|||||||
ok.
|
ok.
|
||||||
|
|
||||||
to_record(Host, ACLName, ACLSpec) ->
|
to_record(Host, ACLName, ACLSpec) ->
|
||||||
#acl{aclname = {ACLName, Host}, aclspec = ACLSpec}.
|
#acl{aclname = {ACLName, Host}, aclspec = normalize_spec(ACLSpec)}.
|
||||||
|
|
||||||
add(Host, ACLName, ACLSpec) ->
|
add(Host, ACLName, ACLSpec) ->
|
||||||
F = fun() ->
|
F = fun() ->
|
||||||
mnesia:write(#acl{aclname = {ACLName, Host},
|
mnesia:write(#acl{aclname = {ACLName, Host},
|
||||||
aclspec = ACLSpec})
|
aclspec = normalize_spec(ACLSpec)})
|
||||||
end,
|
end,
|
||||||
mnesia:transaction(F).
|
mnesia:transaction(F).
|
||||||
|
|
||||||
@ -75,7 +75,7 @@ add_list(Host, ACLs, Clear) ->
|
|||||||
aclspec = ACLSpec} ->
|
aclspec = ACLSpec} ->
|
||||||
mnesia:write(
|
mnesia:write(
|
||||||
#acl{aclname = {ACLName, Host},
|
#acl{aclname = {ACLName, Host},
|
||||||
aclspec = ACLSpec})
|
aclspec = normalize_spec(ACLSpec)})
|
||||||
end
|
end
|
||||||
end, ACLs)
|
end, ACLs)
|
||||||
end,
|
end,
|
||||||
@ -86,6 +86,17 @@ add_list(Host, ACLs, Clear) ->
|
|||||||
false
|
false
|
||||||
end.
|
end.
|
||||||
|
|
||||||
|
normalize(A) ->
|
||||||
|
jlib:nodeprep(A).
|
||||||
|
normalize_spec({A, B}) ->
|
||||||
|
{A, normalize(B)};
|
||||||
|
normalize_spec({A, B, C}) ->
|
||||||
|
{A, normalize(B), normalize(C)};
|
||||||
|
normalize_spec(all) ->
|
||||||
|
all;
|
||||||
|
normalize_spec(none) ->
|
||||||
|
none.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
match_rule(global, Rule, JID) ->
|
match_rule(global, Rule, JID) ->
|
||||||
|
Loading…
Reference in New Issue
Block a user