summaryrefslogtreecommitdiff
path: root/lib/flowspec.c
diff options
context:
space:
mode:
authorOndrej Zajicek (work) <santiago@crfreenet.org>2021-05-18 19:54:18 +0200
committerOndrej Zajicek (work) <santiago@crfreenet.org>2021-05-18 19:54:18 +0200
commitdd8481cc1c92af32ec69cded42b985b7bad40b26 (patch)
tree3ff60df9e9c75dc61b3d0ca6857c3b2205ddf1db /lib/flowspec.c
parente5468d16855600aeb8172e29936789c46ea58da0 (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.c13
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);