The original problem was ssfilter rejecting single expressions if
enclosed in braces, such as:
| sport = 22 or ( dport = 22 )
This is fixed by allowing 'expr' to be an 'exprlist' enclosed in braces.
The no longer required recursion in 'exprlist' being an 'exprlist'
enclosed in braces is dropped.
In addition to that, a few other things are changed:
* Remove pointless 'null' prefix in 'appled' before 'exprlist'.
* For simple equals matches, '=' operator was required for ports but not
allowed for hosts. Make this consistent by making '=' operator
optional in both cases.
Reported-by: Samuel Mannehed <email address hidden>
Fixes: b2038cc ("ssfilter: Eliminate shift/reduce conflicts")
Signed-off-by: Phil Sutter <email address hidden>
Signed-off-by: Stephen Hemminger <email address hidden>
https:/ /github. com/shemminger/ iproute2/ commit/ 38d209ecf2ae966 b9b25de4acb60cd ffb0e06ced
This commit looks like a fix for this issue:
ss: Review ssfilter
The original problem was ssfilter rejecting single expressions if
enclosed in braces, such as:
| sport = 22 or ( dport = 22 )
This is fixed by allowing 'expr' to be an 'exprlist' enclosed in braces.
The no longer required recursion in 'exprlist' being an 'exprlist'
enclosed in braces is dropped.
In addition to that, a few other things are changed:
* Remove pointless 'null' prefix in 'appled' before 'exprlist'.
* For simple equals matches, '=' operator was required for ports but not
allowed for hosts. Make this consistent by making '=' operator
optional in both cases.
Reported-by: Samuel Mannehed <email address hidden>
Fixes: b2038cc ("ssfilter: Eliminate shift/reduce conflicts")
Signed-off-by: Phil Sutter <email address hidden>
Signed-off-by: Stephen Hemminger <email address hidden>