diff options
| author | Luke Bakken <lbakken@pivotal.io> | 2019-03-25 14:45:18 -0700 |
|---|---|---|
| committer | Luke Bakken <lbakken@pivotal.io> | 2019-03-25 14:45:18 -0700 |
| commit | f5fb70b47ce2f508cea95b1c09e1adeaab70f3fc (patch) | |
| tree | 1a638bb7be82504f5f4573d5db782082adb89412 | |
| parent | 4046eb6d9ece830ff2f294f8a3d3700d991c9f7d (diff) | |
| download | rabbitmq-server-git-f5fb70b47ce2f508cea95b1c09e1adeaab70f3fc.tar.gz | |
Add comments
| -rw-r--r-- | src/rabbit_access_control.erl | 4 | ||||
| -rw-r--r-- | src/rabbit_direct.erl | 2 |
2 files changed, 5 insertions, 1 deletions
diff --git a/src/rabbit_access_control.erl b/src/rabbit_access_control.erl index 222820f5d9..954d003991 100644 --- a/src/rabbit_access_control.erl +++ b/src/rabbit_access_control.erl @@ -133,9 +133,11 @@ get_authz_data_from({socket, Sock}) -> get_authz_data_from(undefined) -> undefined. +% Note: ip can be either a tuple or, a binary if reverse_dns_lookups +% is enabled and it's a direct connection. -spec check_vhost_access(User :: rabbit_types:user(), VHostPath :: rabbit_types:vhost(), - AuthzRawData :: {socket, rabbit_net:socket()} | {ip, inet:ip_address()} | undefined) -> + AuthzRawData :: {socket, rabbit_net:socket()} | {ip, inet:ip_address() | binary()} | undefined) -> 'ok' | rabbit_types:channel_exit(). check_vhost_access(User = #user{username = Username, authz_backends = Modules}, VHostPath, AuthzRawData) -> diff --git a/src/rabbit_direct.erl b/src/rabbit_direct.erl index d928b7df1a..6a3cafbc28 100644 --- a/src/rabbit_direct.erl +++ b/src/rabbit_direct.erl @@ -182,6 +182,8 @@ notify_auth_result(Username, AuthResult, ExtraProps) -> rabbit_event:notify(AuthResult, [P || {_, V} = P <- EventProps, V =/= '']). connect1(User, VHost, Protocol, Pid, Infos) -> + % Note: peer_host can be either a tuple or + % a binary if reverse_dns_lookups is enabled PeerHost = proplists:get_value(peer_host, Infos), try rabbit_access_control:check_vhost_access(User, VHost, {ip, PeerHost}) of ok -> ok = pg_local:join(rabbit_direct, Pid), |
