mwan3: Fix awk expression in mwan3_delete_iface_rules 23798/head
authorMaxim Mikityanskiy <maxtram95@gmail.com>
Mon, 1 Apr 2024 22:01:48 +0000 (01:01 +0300)
committerMaxim Mikityanskiy <maxtram95@gmail.com>
Wed, 31 Jul 2024 17:27:28 +0000 (20:27 +0300)
commit4ab7d8b28a19ee2cd11cf9f88e98d4367dfb4a7c
tree6a5d1ac2b65c9d8385563435417aa59a59d4c8b5
parent888c7bb77ae18edd286f5e9effb2e0c1ffbb7e05
mwan3: Fix awk expression in mwan3_delete_iface_rules

The awk expression in mwan3_delete_iface_rules splits the `ip rule list`
output by spaces, therefore $1 contains the trailing colon (e.g., "1:",
"1000:"). The < and > operators compare such values as strings instead
of numbers, producing unexpected results (for example, "1:" > "1000").

Change the field separator to ":" for correct number comparison, so that
the right rules are removed.

An example error message that may appear before the fix:

Error: argument "1:" is wrong: preference value is invalid

It happens because `substr($1,0,4)` selects short numbers along with
the colon. In other cases wrong rules may be removed, for example, if
there is rule 10051, then rule 1005 will be removed.

Signed-off-by: Maxim Mikityanskiy <maxtram95@gmail.com>
net/mwan3/Makefile
net/mwan3/files/lib/mwan3/mwan3.sh