Disco merge request:

https://code.launchpad.net/~rafaeldtinoco/ubuntu/+source/iproute2/+git/iproute2/+merge/368410

-- 
You received this bug notification because you are a member of Ubuntu
Touch seeded packages, which is subscribed to iproute2 in Ubuntu.
https://bugs.launchpad.net/bugs/1831775

Title:
  ss seems broken when using multiple filters in the same cmdline

Status in iproute2 package in Ubuntu:
  Confirmed
Status in iproute2 source package in Cosmic:
  In Progress
Status in iproute2 source package in Disco:
  In Progress
Status in iproute2 source package in Eoan:
  Confirmed

Bug description:
  [Impact]

   * ss won't be able to run commands with single filters inside
  parentheses, like: "( sport == :X )", for example.

   * A workaround is to remove "( )" from single filters, since it looks
  the issue does not affect 2 filters being put together in the same
  parentheses, like: " ( X and Y ) and Y " instead of ( X and Y ) and (
  Y )".

   * CTDB is unable to use ss filter to obtain nodes public IP addresses
  in order to fail over services (LP: #722201).

  [Test Case]

   * Having an Ubuntu Cosmic, Disco or Eoan, try to execute the
  following command:

  $ ss -tn state established "( src [172.16.17.2] || src [172.16.17.3]
  )" "( sport == :2049 )"

     Independent of the IPs or ports being used. Copying and pasting the
  command should be enough for you to know if you are affected.

  Bad Result:

  ss: bison bellows (while parsing filter): "syntax error!" Sorry.
  Usage: ss [ OPTIONS ]
         ss [ OPTIONS ] [ FILTER ]
     -h, --help          this message
  ...

  Expected Result:

  Recv-Q            Send-Q                         Local Address:Port           
              Peer Address:Port
  ...

   * test case was discovered during CTDB scripts execution

  [Regression Potential]

   * biggest risk would be to affect ss interpreter (worst case scenario).
   * the proposed patch is based in upstream fix and was tested against the 
same issue reported as the reproducer (above) and some other generic ss 
commands.
   * any problem here is unlikely to change iproute2 most important command 
interpreter, "ip", since the patch is applied against ss code.

  [Other Info]

  ORIGINAL 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/~touch-packages
Post to     : touch-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~touch-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to