diff options
11 files changed, 37 insertions, 23 deletions
diff --git a/deps/rabbit/src/rabbit_amqqueue.erl b/deps/rabbit/src/rabbit_amqqueue.erl index e85b653438..ad33829689 100644 --- a/deps/rabbit/src/rabbit_amqqueue.erl +++ b/deps/rabbit/src/rabbit_amqqueue.erl @@ -214,7 +214,7 @@ declare(QueueName, Durable, AutoDelete, Args, Owner, ActingUser) -> rabbit_framing:amqp_table(), rabbit_types:maybe(pid()), rabbit_types:username(), - node()) -> + node() | {'ignore_location', node()}) -> {'new' | 'existing' | 'owner_died', amqqueue:amqqueue()} | {'absent', amqqueue:amqqueue(), absent_reason()} | {protocol_error, Type :: atom(), Reason :: string(), Args :: term()}. diff --git a/deps/rabbitmq_auth_backend_http/BUILD.bazel b/deps/rabbitmq_auth_backend_http/BUILD.bazel index aabae0710f..27a78c2301 100644 --- a/deps/rabbitmq_auth_backend_http/BUILD.bazel +++ b/deps/rabbitmq_auth_backend_http/BUILD.bazel @@ -55,13 +55,12 @@ plt( name = "base_plt", apps = EXTRA_APPS, plt = "//:base_plt", - deps = DEPS, + deps = DEPS + RUNTIME_DEPS, ) dialyze( dialyzer_opts = RABBITMQ_DIALYZER_OPTS, plt = ":base_plt", - warnings_as_errors = False, ) broker_for_integration_suites() diff --git a/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http.erl b/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http.erl index 66c6fbea27..63bead4269 100644 --- a/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http.erl +++ b/deps/rabbitmq_auth_backend_http/src/rabbit_auth_backend_http.erl @@ -194,10 +194,12 @@ join_tags(Tags) -> Strings = [rabbit_data_coercion:to_list(T) || T <- Tags], string:join(Strings, " "). +-spec parse_peeraddr(inet:ip_address()) -> string(). parse_peeraddr(PeerAddr) -> handle_inet_ntoa_peeraddr(inet:ntoa(PeerAddr), PeerAddr). +-spec handle_inet_ntoa_peeraddr({'error', term()} | string(), inet:ip_address()) -> string(). handle_inet_ntoa_peeraddr({error, einval}, PeerAddr) -> - rabbit_data_coercion:to_list(PeerAddr); + rabbit_data_coercion:to_list(io_lib:format("~w", [PeerAddr])); handle_inet_ntoa_peeraddr(PeerAddrStr, _PeerAddr0) -> PeerAddrStr. diff --git a/deps/rabbitmq_auth_backend_ldap/BUILD.bazel b/deps/rabbitmq_auth_backend_ldap/BUILD.bazel index 0cb72797da..4548b2b3ed 100644 --- a/deps/rabbitmq_auth_backend_ldap/BUILD.bazel +++ b/deps/rabbitmq_auth_backend_ldap/BUILD.bazel @@ -43,6 +43,7 @@ APP_MODULE = "rabbit_auth_backend_ldap_app" EXTRA_APPS = [ "eldap", + "public_key", ] DEPS = [ @@ -70,13 +71,12 @@ plt( name = "base_plt", apps = EXTRA_APPS, plt = "//:base_plt", - deps = DEPS, + deps = DEPS + RUNTIME_DEPS, ) dialyze( dialyzer_opts = RABBITMQ_DIALYZER_OPTS, plt = ":base_plt", - warnings_as_errors = False, ) broker_for_integration_suites() diff --git a/deps/rabbitmq_auth_backend_oauth2/BUILD.bazel b/deps/rabbitmq_auth_backend_oauth2/BUILD.bazel index a1f4ba4dbb..676a3e0872 100644 --- a/deps/rabbitmq_auth_backend_oauth2/BUILD.bazel +++ b/deps/rabbitmq_auth_backend_oauth2/BUILD.bazel @@ -16,6 +16,11 @@ APP_NAME = "rabbitmq_auth_backend_oauth2" APP_DESCRIPTION = "OAuth 2 and JWT-based AuthN and AuthZ backend" +EXTRA_APPS = [ + "inets", + "public_key", +] + BUILD_DEPS = [ "//deps/rabbit_common:erlang_app", "//deps/rabbitmq_cli:rabbitmqctl", @@ -37,6 +42,7 @@ rabbitmq_app( build_deps = BUILD_DEPS, runtime_deps = RUNTIME_DEPS, deps = DEPS, + extra_apps = EXTRA_APPS, ) xref( @@ -47,16 +53,17 @@ xref( plt( name = "base_plt", + apps = EXTRA_APPS, + plt = "//:base_plt", deps = without( "//deps/rabbitmq_cli:rabbitmqctl", - BUILD_DEPS + DEPS, + BUILD_DEPS + DEPS + RUNTIME_DEPS, ), ) dialyze( dialyzer_opts = RABBITMQ_DIALYZER_OPTS + ["-Wno_undefined_callbacks"], plt = ":base_plt", - warnings_as_errors = False, ) broker_for_integration_suites() diff --git a/deps/rabbitmq_auth_backend_oauth2/src/Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand.erl b/deps/rabbitmq_auth_backend_oauth2/src/Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand.erl index c005b9901c..a0446a6b9f 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/Elixir.RabbitMQ.CLI.Ctl.Commands.AddUaaKeyCommand.erl @@ -71,8 +71,6 @@ validate_json(Json) -> {validation_failure, {bad_argument, Err}} end; {error, _} -> - {validation_failure, {bad_argument, <<"Invalid JSON">>}}; - error -> {validation_failure, {bad_argument, <<"Invalid JSON">>}} end. diff --git a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2.erl b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2.erl index 012b91f847..345b239df3 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_auth_backend_oauth2.erl @@ -167,7 +167,14 @@ validate_token_expiry(#{<<"exp">> := Exp}) when is_integer(Exp) -> end; validate_token_expiry(#{}) -> ok. --spec check_token(binary()) -> {ok, map()} | {error, term()}. +-spec check_token(binary()) -> + {'ok', map()} | + {'error', term() }| + {'refused', + 'signature_invalid' | + {'error', term()} | + {'invalid_aud', term()}}. + check_token(Token) -> Settings = application:get_all_env(?APP), case uaa_jwt:decode_and_verify(Token) of diff --git a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_oauth2_scope.erl b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_oauth2_scope.erl index 9b841adb0f..387c400b6f 100644 --- a/deps/rabbitmq_auth_backend_oauth2/src/rabbit_oauth2_scope.erl +++ b/deps/rabbitmq_auth_backend_oauth2/src/rabbit_oauth2_scope.erl @@ -50,7 +50,7 @@ topic_access(#resource{virtual_host = VHost, name = ExchangeName}, %% Internal ------------------------------------------------------------------- --spec get_scope_permissions([binary()]) -> [{rabbit_types:r(pattern), permission()}]. +%% -spec get_scope_permissions([binary()]) -> [{rabbit_types:r(pattern), permission()}]. get_scope_permissions(Scopes) when is_list(Scopes) -> lists:filtermap( fun(ScopeEl) -> @@ -65,7 +65,7 @@ get_scope_permissions(Scopes) when is_list(Scopes) -> concat_scopes(Scopes, Separator) when is_list(Scopes) -> lists:concat(lists:join(Separator, lists:map(fun rabbit_data_coercion:to_list/1, Scopes))). --spec parse_permission_pattern(binary()) -> {rabbit_types:r(pattern), permission()}. +-spec parse_permission_pattern(binary()) -> {rabbit_types:vhost(), binary(), binary() | none, permission()} | 'ignore'. parse_permission_pattern(<<"read:", ResourcePatternBin/binary>>) -> Permission = read, parse_resource_pattern(ResourcePatternBin, Permission); @@ -79,7 +79,7 @@ parse_permission_pattern(_Other) -> ignore. -spec parse_resource_pattern(binary(), permission()) -> - {rabbit_types:vhost(), binary(), binary() | none, permission()}. + {rabbit_types:vhost(), binary(), binary() | none, permission()} | 'ignore'. parse_resource_pattern(Pattern, Permission) -> case binary:split(Pattern, <<"/">>, [global]) of [VhostPattern, NamePattern] -> diff --git a/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_decorator.erl b/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_decorator.erl index 8770c1913e..cc93dfacc0 100644 --- a/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_decorator.erl +++ b/deps/rabbitmq_sharding/src/rabbit_sharding_exchange_decorator.erl @@ -35,7 +35,7 @@ serialise_events(_X) -> false. create(transaction, _X) -> ok; create(none, X) -> - maybe_start_sharding(X), + _ = maybe_start_sharding(X), ok. add_binding(_Tx, _X, _B) -> ok. @@ -52,13 +52,13 @@ active_for(X) -> %% we have to remove the policy from ?SHARDING_TABLE delete(transaction, _X, _Bs) -> ok; delete(none, X, _Bs) -> - maybe_stop_sharding(X), + _ = maybe_stop_sharding(X), ok. %% we have to remove the old policy from ?SHARDING_TABLE %% and then add the new one. policy_changed(OldX, NewX) -> - maybe_update_sharding(OldX, NewX), + _ = maybe_update_sharding(OldX, NewX), ok. %%---------------------------------------------------------------------------- diff --git a/deps/rabbitmq_sharding/src/rabbit_sharding_interceptor.erl b/deps/rabbitmq_sharding/src/rabbit_sharding_interceptor.erl index f648b7fa73..3be038d6f7 100644 --- a/deps/rabbitmq_sharding/src/rabbit_sharding_interceptor.erl +++ b/deps/rabbitmq_sharding/src/rabbit_sharding_interceptor.erl @@ -166,5 +166,6 @@ consumer_count(QName) -> rabbit_amqqueue:info(Q, [consumers]) end). -precondition_failed(Format, QName) -> - protocol_error(precondition_failed, Format, QName). +-spec precondition_failed(io:format(), [any()]) -> no_return(). +precondition_failed(Format, Args) -> + protocol_error(precondition_failed, Format, Args). diff --git a/deps/rabbitmq_sharding/src/rabbit_sharding_shard.erl b/deps/rabbitmq_sharding/src/rabbit_sharding_shard.erl index ac6f436876..fe0344bfc1 100644 --- a/deps/rabbitmq_sharding/src/rabbit_sharding_shard.erl +++ b/deps/rabbitmq_sharding/src/rabbit_sharding_shard.erl @@ -29,7 +29,7 @@ %% We make sure the sharded queues are created when %% RabbitMQ starts. maybe_shard_exchanges() -> - [maybe_shard_exchanges(V) || V <- rabbit_vhost:list_names()], + _ = [maybe_shard_exchanges(V) || V <- rabbit_vhost:list_names()], ok. maybe_shard_exchanges(VHost) -> @@ -38,12 +38,12 @@ maybe_shard_exchanges(VHost) -> %% queue needs to be declared on the respective node. ensure_sharded_queues(X) -> - add_queues(X), + _ = add_queues(X), bind_queues(X). maybe_update_shards(OldX, NewX) -> - maybe_unbind_queues(routing_key(OldX), routing_key(NewX), OldX), - add_queues(NewX), + _ = maybe_unbind_queues(routing_key(OldX), routing_key(NewX), OldX), + _ = add_queues(NewX), bind_queues(NewX). stop_sharding(OldX) -> |
