summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2020-08-26 23:45:06 +0300
committerMichael Klishin <michael@clojurewerkz.org>2020-09-02 04:29:00 +0300
commit61c69965f4ed740f00d4ad88200c8f209dff4606 (patch)
tree322c6fb7fafcd86a38b97bd7219db38607a9e42d
parent545ac105aca6246e2fa29d15841d098ed13aafc8 (diff)
downloadrabbitmq-server-git-61c69965f4ed740f00d4ad88200c8f209dff4606.tar.gz
set_user_limits/3: return an error if feature flag is disabled
-rw-r--r--src/rabbit_auth_backend_internal.erl21
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(