+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
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).
aclspec = ACLSpec} ->
mnesia:write(
#acl{aclname = {ACLName, Host},
- aclspec = ACLSpec})
+ aclspec = normalize_spec(ACLSpec)})
end
end, ACLs)
end,
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) ->