summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-10-11 08:48:35 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-10-11 08:48:35 +0100
commitb7c33555ccd990a3f95b8cfe096449863d225c95 (patch)
treefa7f921ca03c063a8432176d5db8374ab5d37147 /src
parent9c60db6b5eaf9d036d89f70c4a1b9c041e81ab30 (diff)
downloadrabbitmq-server-git-b7c33555ccd990a3f95b8cfe096449863d225c95.tar.gz
make default exchange publish-only
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_access_control.erl6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl
index 73fd6f0e51..a2cc6759d9 100644
--- a/src/rabbit_access_control.erl
+++ b/src/rabbit_access_control.erl
@@ -180,6 +180,12 @@ check_resource_access(Username,
R#resource{name = <<"amq.default">>},
Permission);
check_resource_access(Username,
+ R = #resource{kind = exchange, name = <<"amq.default">>},
+ Permission)
+ when Permission =/= write ->
+ rabbit_misc:protocol_error(access_refused,
+ "default exchange is publish-only", []);
+check_resource_access(Username,
R = #resource{virtual_host = VHostPath, name = Name},
Permission) ->
Res = case mnesia:dirty_read({rabbit_user_permission,