ACL with multiple CIDRs does not honor rule id
- Lenguaje dominante
- Java
- Estrellas
- 3.1k
- Forks
- 1.4k
- Merge medio
- 6 d 19 h
- PR fusionados (30 d)
- 32
Descripción
### problem
If you have a CIDR list like:
rule 1: [ "1.2.3.4/32", "2.3.4.5/32"] tcp allow port 22
rule 65535: [ "0.0.0.0/0"] deny port any
What you end up with when inspecting the VR is:
```
-A ACL_OUTBOUND_eth12 -d 1.2.3.4/32 -p tcp -m tcp --dport 22 -j ACCEPT
-A ACL_OUTBOUND_eth12 -j DROP
-A ACL_OUTBOUND_eth12 -d 2.3.4.5/32 -p tcp -m tcp --dport 22 -j ACCEPT
```
This is clearly not the desired behavior.
### versions
Cloudstack 4.22.0
### The steps to reproduce the bug
See description
### What to do about it?
Don't use more than one CIDR per rule
Guía de contribución
Línea de trabajo
Reproduce el problema utilizando las dos reglas ACL del informe y, a continuación, inspecciona la cadena ACL_OUTBOUND_eth12 generada en el router virtual. Rastrea cómo se ordenan varios CIDR en una regla y verifica que el DROP de la regla no preceda a la coincidencia CIDR restante; se considera terminado cuando todos los CIDR de la regla de allow se evalúan antes de la siguiente regla.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Área
- authorization, networking, security
- Tipo de issue
- Error
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Estado de actividad
- Tranquilo
- Claridad
- Bastante claro
- Aptitud para principiantes
- 45/100