Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-commits: [Wireshark-commits] master 1ff8257: dfilter: add range support to set membership

From: Wireshark code review <code-review-do-not-reply@xxxxxxxxxxxxx>
Date: Wed, 18 Apr 2018 03:47:16 +0000
URL: https://code.wireshark.org/review/gitweb?p=wireshark.git;a=commit;h=1ff82572ca62096520d0c6529fcc0ecee518206d
Submitter: Anders Broman (a.broman58@xxxxxxxxx)
Changed: branch: master
Repository: wireshark

Commits:

1ff8257 by Peter Wu (peter@xxxxxxxxxxxxx):

    dfilter: add range support to set membership operator ("f in {x .. y}")
    
    Allow "tcp.srcport in {1662 1663 1664}" to be abbreviated to
    "tcp.srcport in {1662 .. 1664}". The range operator is supported for any
    field value which supports the "<=" and "=>" operators and thus works
    for integers, IP addresses, etc.
    
    The naive mapping "tcp.srcport >= 1662 and tcp.srcport <= 1664" is not
    used because it does not have the intended effect with fields that have
    multiple occurrences (e.g. tcp.port). Each condition could be satisfied
    by an other value. Therefore a new DVFM instruction (ANY_IN_RANGE) is
    added to test the range condition against each individual field value.
    
    Bug: 14180
    Change-Id: I53c2d0f9bc9d4f0ffaabde9a83442122965c95f7
    Reviewed-on: https://code.wireshark.org/review/26945
    Petri-Dish: Peter Wu <peter@xxxxxxxxxxxxx>
    Tested-by: Petri Dish Buildbot
    Reviewed-by: Anders Broman <a.broman58@xxxxxxxxx>
    

Actions performed:

    from  4a156da   Remove autotools build system.
    adds  1ff8257   dfilter: add range support to set membership operator ("f in {x .. y}")


Summary of changes:
 doc/wireshark-filter.pod                    | 10 ++++
 docbook/release-notes.asciidoc              |  4 +-
 docbook/wsug_src/WSUG_chapter_work.asciidoc | 17 ++++++
 epan/dfilter/dfvm.c                         | 46 ++++++++++++++++
 epan/dfilter/dfvm.h                         |  3 +-
 epan/dfilter/gencode.c                      | 84 +++++++++++++++++++----------
 epan/dfilter/grammar.lemon                  | 15 ++++++
 epan/dfilter/scanner.l                      |  2 +
 epan/dfilter/semcheck.c                     | 28 ++++++++--
 epan/dfilter/sttype-set.c                   | 13 ++++-
 epan/dfilter/sttype-set.h                   |  3 ++
 tools/dfilter-test.py                       |  1 +
 tools/dftestlib/membership.py               | 42 +++++++++++++++
 13 files changed, 235 insertions(+), 33 deletions(-)
 create mode 100644 tools/dftestlib/membership.py