1- If allow is not specified at listener level, then check if globally they are specified. If yes, check if the IP is enabled.
2- If instead it is specified in the listener, only the configured IPs are taken into consideration.
3- If nothing is specified, everyone passes
4- If deny is specified in the listener, the corresponding IPs are blocked. Otherwise, it checks the global config. If nothing is specified, nothing blocks.
The idea is to introduce ACLs in Carapace based on the client's IP address. I would propose the following logic:
1- Listener level ACL 2- Global ACLs
Listener-level ACLs: For a specific listener, it should be possible to specify allow and deny IPs. Something like:
Global ACLs
1- If allow is not specified at listener level, then check if globally they are specified. If yes, check if the IP is enabled. 2- If instead it is specified in the listener, only the configured IPs are taken into consideration. 3- If nothing is specified, everyone passes 4- If deny is specified in the listener, the corresponding IPs are blocked. Otherwise, it checks the global config. If nothing is specified, nothing blocks.