diff options
| author | Michael Klishin <michael@clojurewerkz.org> | 2020-08-26 23:45:06 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2020-08-26 23:45:06 +0300 |
| commit | d689776bd73101d11ee3b738f8af052213d36fab (patch) | |
| tree | 1a8af06b264bf5910fe9a9db6c8e4917752333e7 | |
| parent | a1575ddb5eca7875ded0c6c2d05315b029b5129d (diff) | |
| download | rabbitmq-server-git-d689776bd73101d11ee3b738f8af052213d36fab.tar.gz | |
set_user_limits/3: return an error if feature flag is disabled
| -rw-r--r-- | src/rabbit_auth_backend_internal.erl | 21 |
1 files changed, 14 insertions, 7 deletions
diff --git a/src/rabbit_auth_backend_internal.erl b/src/rabbit_auth_backend_internal.erl index b0e86df668..cb930a1630 100644 --- a/src/rabbit_auth_backend_internal.erl +++ b/src/rabbit_auth_backend_internal.erl @@ -769,15 +769,22 @@ preconfigure_permissions(Username, Map, ActingUser) when is_map(Map) -> ok. set_user_limits(Username, Definition, ActingUser) when is_list(Definition); is_binary(Definition) -> - case rabbit_json:try_decode(rabbit_data_coercion:to_binary(Definition)) of - {ok, Term} -> - validate_parameters_and_update_limit(Username, Term, ActingUser); - {error, Reason} -> - {error_string, rabbit_misc:format( - "JSON decoding error. Reason: ~ts", [Reason])} + case rabbit_feature_flags:is_enabled(user_limits) of + true -> + case rabbit_json:try_decode(rabbit_data_coercion:to_binary(Definition)) of + {ok, Term} -> + validate_parameters_and_update_limit(Username, Term, ActingUser); + {error, Reason} -> + {error_string, rabbit_misc:format( + "JSON decoding error. Reason: ~ts", [Reason])} + end; + false -> {error_string, "cannot set any user limits: the user_limits feature flag is not enabled"} end; set_user_limits(Username, Definition, ActingUser) when is_map(Definition) -> - validate_parameters_and_update_limit(Username, Definition, ActingUser). + case rabbit_feature_flags:is_enabled(user_limits) of + true -> validate_parameters_and_update_limit(Username, Definition, ActingUser); + false -> {error_string, "cannot set any user limits: the user_limits feature flag is not enabled"} + end. validate_parameters_and_update_limit(Username, Term, ActingUser) -> case flatten_errors(rabbit_parameter_validation:proplist( |
