diff options
author | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2021-05-18 19:54:18 +0200 |
---|---|---|
committer | Ondrej Zajicek (work) <santiago@crfreenet.org> | 2021-05-18 19:54:18 +0200 |
commit | dd8481cc1c92af32ec69cded42b985b7bad40b26 (patch) | |
tree | 3ff60df9e9c75dc61b3d0ca6857c3b2205ddf1db /lib/flowspec.c | |
parent | e5468d16855600aeb8172e29936789c46ea58da0 (diff) |
Flowspec: Do not use comma for bitmask operators
For numeric operators, comma is used for disjunction in expressions like
"10, 20, 30..40". But for bitmask operators, comma is used for
conjunction in a way that does not really make much sense. Use always
explicit logical operators (&& and ||) to connect bitmask operators.
Thanks to Matt Corallo for the bugreport.
Diffstat (limited to 'lib/flowspec.c')
-rw-r--r-- | lib/flowspec.c | 13 |
1 files changed, 2 insertions, 11 deletions
diff --git a/lib/flowspec.c b/lib/flowspec.c index e47fb7e2..1445435a 100644 --- a/lib/flowspec.c +++ b/lib/flowspec.c @@ -1278,17 +1278,8 @@ net_format_flow_bitmask(buffer *b, const byte *part) while (1) { if (!first) - { - if (isset_and(op)) - { - b->pos--; /* Remove last char (it is a space) */ - buffer_puts(b, ","); - } - else - { - buffer_puts(b, "|| "); - } - } + buffer_puts(b, isset_and(op) ? "&& " : "|| "); + first = 0; len = get_value_length(op); |