Skip to content
This repository was archived by the owner on Nov 17, 2020. It is now read-only.

Commit 9b62fd4

Browse files
committed
Take peeraddr as binary() into account
1 parent 6911590 commit 9b62fd4

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/rabbit_auth_backend_http.erl

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ user_login_authorization(Username, AuthProps) ->
6161
check_vhost_access(#auth_user{username = Username, tags = Tags}, VHost, #{peeraddr := PeerAddr}) ->
6262
bool_req(vhost_path, [{username, Username},
6363
{vhost, VHost},
64-
{ip, inet:ntoa(PeerAddr)},
65-
{tags, join_tags(Tags)}]).
64+
{ip, parse_peeraddr(PeerAddr)},
65+
{tags, join_tags(Tags)}]).
6666

6767
check_resource_access(#auth_user{username = Username, tags = Tags},
6868
#resource{virtual_host = VHost, kind = Type, name = Name},
@@ -170,3 +170,11 @@ join_tags([]) -> "";
170170
join_tags(Tags) ->
171171
Strings = [rabbit_data_coercion:to_list(T) || T <- Tags],
172172
string:join(Strings, " ").
173+
174+
parse_peeraddr(PeerAddr) ->
175+
handle_inet_ntoa_peeraddr(inet:ntoa(PeerAddr), PeerAddr).
176+
177+
handle_inet_ntoa_peeraddr({error, einval}, PeerAddr) ->
178+
rabbit_data_coercion:to_list(PeerAddr);
179+
handle_inet_ntoa_peeraddr(PeerAddrStr, _PeerAddr0) ->
180+
PeerAddrStr.

0 commit comments

Comments
 (0)