summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2015-11-09 16:57:16 +0300
committerMichael Klishin <michael@novemberain.com>2015-11-09 16:57:16 +0300
commit0f892337184752e779935eb5716d657d2ed7def6 (patch)
treecb4384c0c2d9cdaa989de260e6de976cd675af98
parenta0e04b76737b350633196e2a3841afb0e84aa118 (diff)
parent168524364c4449a7f4ee5e86488faff9c72dd548 (diff)
downloadrabbitmq-server-git-0f892337184752e779935eb5716d657d2ed7def6.tar.gz
Merge pull request #407 from rabbitmq/rabbitmq-server-237
Changes error code when connecting to a non-existent or forbidden vhost
-rw-r--r--src/rabbit_access_control.erl8
-rw-r--r--src/rabbit_direct.erl4
2 files changed, 8 insertions, 4 deletions
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl
index 3fe7212276..f649e4b274 100644
--- a/src/rabbit_access_control.erl
+++ b/src/rabbit_access_control.erl
@@ -142,7 +142,7 @@ check_vhost_access(User = #user{username = Username,
auth_user(User, Impl), VHostPath, Sock)
end,
Mod, "access to vhost '~s' refused for user '~s'",
- [VHostPath, Username]);
+ [VHostPath, Username], not_allowed);
(_, Else) ->
Else
end, ok, Modules).
@@ -164,7 +164,11 @@ check_resource_access(User = #user{username = Username,
(_, Else) -> Else
end, ok, Modules).
+
check_access(Fun, Module, ErrStr, ErrArgs) ->
+ check_access(Fun, Module, ErrStr, ErrArgs, access_refused).
+
+check_access(Fun, Module, ErrStr, ErrArgs, ErrName) ->
Allow = case Fun() of
{error, E} ->
rabbit_log:error(ErrStr ++ " by ~s: ~p~n",
@@ -177,5 +181,5 @@ check_access(Fun, Module, ErrStr, ErrArgs) ->
true ->
ok;
false ->
- rabbit_misc:protocol_error(access_refused, ErrStr, ErrArgs)
+ rabbit_misc:protocol_error(ErrName, ErrStr, ErrArgs)
end.
diff --git a/src/rabbit_direct.erl b/src/rabbit_direct.erl
index 4940ab2b53..623d16215b 100644
--- a/src/rabbit_direct.erl
+++ b/src/rabbit_direct.erl
@@ -114,8 +114,8 @@ connect1(User, VHost, Protocol, Pid, Infos) ->
rabbit_event:notify(connection_created, Infos),
{ok, {User, rabbit_reader:server_properties(Protocol)}}
catch
- exit:#amqp_error{name = access_refused} ->
- {error, access_refused}
+ exit:#amqp_error{name = Reason = not_allowed} ->
+ {error, Reason}
end.
start_channel(Number, ClientChannelPid, ConnPid, ConnName, Protocol, User,