diff options
author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-07-13 10:06:00 +0100 |
---|---|---|
committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-07-13 10:06:00 +0100 |
commit | dfbef9cffd8c0bf04c5c1276214f78f0e43cac6f (patch) | |
tree | 606f5379ec3b5465826ef78cc68d810712efec3a | |
parent | 06fc6e65a367cd93b89de13588e5768eb0f8ddaf (diff) | |
download | rabbitmq-server-dfbef9cffd8c0bf04c5c1276214f78f0e43cac6f.tar.gz |
"" is changed to "^$" when checking permissions
% rabbitmqctl set_permissions guest "" "" ""
Setting permissions for user "guest" in vhost "/" ...
...done.
% rabbitmqctl list_permissions
Listing permissions in vhost "/" ...
guest "" "" ""
...done.
-rw-r--r-- | src/rabbit_access_control.erl | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl index 5b330e13..1265b078 100644 --- a/src/rabbit_access_control.erl +++ b/src/rabbit_access_control.erl @@ -172,9 +172,13 @@ check_resource_access(Username, [] -> false; [#user_permission{permission = P}] -> + PermRegexp = case element(permission_index(Permission), P) of + <<"">> -> <<$^, $$>>; + RE -> RE + end, case regexp:match( binary_to_list(Name), - binary_to_list(element(permission_index(Permission), P))) of + binary_to_list(PermRegexp)) of {match, _, _} -> true; nomatch -> false end @@ -307,11 +311,7 @@ validate_regexp(RegexpBin) -> end. set_permissions(Username, VHostPath, ConfigurePerm, WritePerm, ReadPerm) -> - [ConfigurePerm1, WritePerm1, ReadPerm1] = - lists:map(fun(<<"">>) -> <<$^, $$>>; - (Regexp) -> ok = validate_regexp(Regexp), - Regexp - end, [ConfigurePerm, WritePerm, ReadPerm]), + lists:map(fun validate_regexp/1, [ConfigurePerm, WritePerm, ReadPerm]), rabbit_misc:execute_mnesia_transaction( rabbit_misc:with_user_and_vhost( Username, VHostPath, @@ -321,9 +321,9 @@ set_permissions(Username, VHostPath, ConfigurePerm, WritePerm, ReadPerm) -> username = Username, virtual_host = VHostPath}, permission = #permission{ - configure = ConfigurePerm1, - write = WritePerm1, - read = ReadPerm1}}, + configure = ConfigurePerm, + write = WritePerm, + read = ReadPerm}}, write) end)). |