* src/acl.erl: Normalize ACL before adding to the configuration

tables (EJAB-521)

SVN Revision: 1185
This commit is contained in:
Badlop 2008-02-12 01:04:47 +00:00
parent 7d73151737
commit 60e1972f61
2 changed files with 19 additions and 3 deletions

View File

@ -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>
* src/mod_pubsub/mod_pubsub.erl: Bugfix: event used in place of x when

View File

@ -48,12 +48,12 @@ start() ->
ok.
to_record(Host, ACLName, ACLSpec) ->
#acl{aclname = {ACLName, Host}, aclspec = ACLSpec}.
#acl{aclname = {ACLName, Host}, aclspec = normalize_spec(ACLSpec)}.
add(Host, ACLName, ACLSpec) ->
F = fun() ->
mnesia:write(#acl{aclname = {ACLName, Host},
aclspec = ACLSpec})
aclspec = normalize_spec(ACLSpec)})
end,
mnesia:transaction(F).
@ -75,7 +75,7 @@ add_list(Host, ACLs, Clear) ->
aclspec = ACLSpec} ->
mnesia:write(
#acl{aclname = {ACLName, Host},
aclspec = ACLSpec})
aclspec = normalize_spec(ACLSpec)})
end
end, ACLs)
end,
@ -86,6 +86,17 @@ add_list(Host, ACLs, Clear) ->
false
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) ->