https://github.com/shemminger/iproute2/commit/38d209ecf2ae966b9b25de4acb60cdffb0e06ced
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 <sam...@cendio.se> Fixes: b2038cc ("ssfilter: Eliminate shift/reduce conflicts") Signed-off-by: Phil Sutter <p...@nwl.cc> Signed-off-by: Stephen Hemminger <step...@networkplumber.org> -- You received this bug notification because you are a member of Kernel Packages, which is subscribed to iproute2 in Ubuntu. Matching subscriptions: iproute2 https://bugs.launchpad.net/bugs/1831775 Title: ss seems broken when using multiple filters in the same cmdline Status in iproute2 package in Ubuntu: In Progress Bug description: Investigating an issue for CTDB (LP: #722201), after suggesting a fix on ss syntax to CTDB upstream project, we discovered that "ss" seems to be broken in Ubuntu since Ubuntu Cosmic: ---- # Debian Sid inaddy@workstation:~$ ss -tn state established "( src [172.16.17.2] || src [172.16.17.3] )" "( sport == :2049 )" Recv-Q Send-Q Local Address:Port Peer Address:Port # Ubuntu Ubuntu 16.04 LTS (Xenial Xerus) (c)inaddy@xenial:~$ ss -tn state established "( src [172.16.17.2] || src [172.16.17.3] )" "( sport == :2049 )" Recv-Q Send-Q Local Address:Port Peer Address:Port # Ubuntu 18.04 LTS (Bionic Beaver) (c)inaddy@bionic:~$ ss -tn state established "( src [172.16.17.2] || src [172.16.17.3] )" "( sport == :2049 )" Recv-Q Send-Q Local Address:Port Peer Address:Port # Ubuntu 18.10 (Cosmic Cuttlefish) (c)inaddy@cosmic:~$ ss -tn state established "( src [172.16.17.2] || src [172.16.17.3] )" "( sport == :2049 )" ss: bison bellows (while parsing filter): "syntax error!" Sorry. Usage: ss [ OPTIONS ] ss [ OPTIONS ] [ FILTER ] -h, --help this message # Ubuntu 19.04 (Disco Dingo) (c)inaddy@disco:~$ ss -tn state established "( src [172.16.17.2] || src [172.16.17.3] )" "( sport == :2049 )" ss: bison bellows (while parsing filter): "syntax error!" Sorry. Usage: ss [ OPTIONS ] ss [ OPTIONS ] [ FILTER ] # Ubuntu 19.10 (Eoan Ermine) (c)inaddy@eoan:~$ ss -tn state established "( src [172.16.17.2] || src [172.16.17.3] )" "( sport == :2049 )" ss: bison bellows (while parsing filter): "syntax error!" Sorry. Usage: ss [ OPTIONS ] ss [ OPTIONS ] [ FILTER ] ---- I have generated a pkg using upstream iproute2 source code and it does not suffer the issue. I have generated a package using Ubuntu cosmic source package, without debian/patches/*, and verified the issue still persists (not being introduced by any of our packages, and being present if vanilla upstream version used in Cosmic). To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/iproute2/+bug/1831775/+subscriptions -- Mailing list: https://launchpad.net/~kernel-packages Post to : kernel-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~kernel-packages More help : https://help.launchpad.net/ListHelp