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

Reply via email to