Skip to content

Commit 9d9b768

Browse files
committed
MB-46881: Fix bug where we allow unknown limits.
Change-Id: I1ccc58f60bc2fb181511f638082e35d225880664 Reviewed-on: http://review.couchbase.org/c/ns_server/+/160752 Tested-by: Abhijeeth Nuthan <[email protected]> Well-Formed: Build Bot <[email protected]> Reviewed-by: Artem Stemkovski <[email protected]>
1 parent ee99ba9 commit 9d9b768

File tree

1 file changed

+16
-19
lines changed

1 file changed

+16
-19
lines changed

src/menelaus_web_rbac.erl

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -996,37 +996,34 @@ put_user_validators(Domain) ->
996996
end ++
997997
[validator:unsupported(_)].
998998

999-
ns_server_user_limit_validators() ->
999+
service_user_limit_validators(clusterManager) ->
10001000
[validator:integer(num_concurrent_requests, 1, infinity, _),
10011001
validator:integer(ingress_mib_per_min, 1, infinity, _),
1002-
validator:integer(egress_mib_per_min, 1, infinity, _)].
1003-
1004-
fts_user_limit_validators() ->
1002+
validator:integer(egress_mib_per_min, 1, infinity, _),
1003+
validator:unsupported(_)];
1004+
service_user_limit_validators(fts) ->
10051005
[validator:integer(num_concurrent_requests, 1, infinity, _),
10061006
validator:integer(ingress_mib_per_min, 1, infinity, _),
1007-
validator:integer(egress_mib_per_min, 1, infinity, _)].
1008-
1009-
query_user_limit_validators() ->
1007+
validator:integer(egress_mib_per_min, 1, infinity, _),
1008+
validator:unsupported(_)];
1009+
service_user_limit_validators(query) ->
10101010
[validator:integer(num_concurrent_requests, 1, infinity, _),
10111011
validator:integer(num_queries_per_min, 1, infinity, _),
10121012
validator:integer(ingress_mib_per_min, 1, infinity, _),
1013-
validator:integer(egress_mib_per_min, 1, infinity, _)].
1014-
1015-
kv_user_limit_validators() ->
1013+
validator:integer(egress_mib_per_min, 1, infinity, _),
1014+
validator:unsupported(_)];
1015+
service_user_limit_validators(kv) ->
10161016
[validator:integer(num_connections, 1, infinity, _),
10171017
validator:integer(num_ops_per_min, 1, infinity, _),
10181018
validator:integer(ingress_mib_per_min, 1, infinity, _),
1019-
validator:integer(egress_mib_per_min, 1, infinity, _)].
1019+
validator:integer(egress_mib_per_min, 1, infinity, _),
1020+
validator:unsupported(_)].
10201021

10211022
validate_limits(State) ->
1022-
Validators =
1023-
[validator:decoded_json(clusterManager,
1024-
ns_server_user_limit_validators(),
1025-
_),
1026-
validator:decoded_json(query, query_user_limit_validators(), _),
1027-
validator:decoded_json(kv, kv_user_limit_validators(), _),
1028-
validator:decoded_json(fts, fts_user_limit_validators(), _),
1029-
validator:unsupported(_)],
1023+
Validators = [validator:decoded_json(
1024+
Service, service_user_limit_validators(Service), _) ||
1025+
Service <- [clusterManager, fts, query, kv]] ++
1026+
[validator:unsupported(_)],
10301027
validator:json(limits, Validators, State).
10311028

10321029
bad_roles_error(BadRoles) ->

0 commit comments

Comments
 (0)