diff options
author | Silvio Gissi <silvio.gissi@gmail.com> | 2017-06-20 00:07:49 -0400 |
---|---|---|
committer | Michael Mann <mmann78@netscape.net> | 2017-06-20 13:56:28 +0000 |
commit | c9c9d558b2644fcd5269953367ba38e8faf82448 (patch) | |
tree | 07de89a79f80f3c066c94f15bd3f97f8443ed5dd | |
parent | 23e667169eefc450808e60ea515fc271122052de (diff) | |
download | wireshark-c9c9d558b2644fcd5269953367ba38e8faf82448.tar.gz |
IPv4/IPv6 display filter fixes and testing
Removed 'len' from IPv4, not needed
Added more test coverage for IPv6 in dftestlib
Change-Id: I1ca80e2525f32f6095ad73352baba733f4694ced
Reviewed-on: https://code.wireshark.org/review/22260
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Michael Mann <mmann78@netscape.net>
-rw-r--r-- | epan/ftypes/ftype-ipv4.c | 8 | ||||
-rw-r--r-- | epan/ftypes/ftype-ipv6.c | 1 | ||||
-rwxr-xr-x | tools/dftestlib/bytes_ipv6.py | 92 |
3 files changed, 91 insertions, 10 deletions
diff --git a/epan/ftypes/ftype-ipv4.c b/epan/ftypes/ftype-ipv4.c index 3b6d5d93b8..c2b0365251 100644 --- a/epan/ftypes/ftype-ipv4.c +++ b/epan/ftypes/ftype-ipv4.c @@ -169,12 +169,6 @@ cmp_bitwise_and(const fvalue_t *fv_a, const fvalue_t *fv_b) return ((addr_a & addr_b) != 0); } -static guint -len(fvalue_t *fv _U_) -{ - return 4; -} - static void slice(fvalue_t *fv, GByteArray *bytes, guint offset, guint length) { @@ -213,7 +207,7 @@ ftype_register_ipv4(void) NULL, /* cmp_contains */ NULL, /* cmp_matches */ - len, + NULL, slice, }; diff --git a/epan/ftypes/ftype-ipv6.c b/epan/ftypes/ftype-ipv6.c index 5c3dc020c1..fe51b77c29 100644 --- a/epan/ftypes/ftype-ipv6.c +++ b/epan/ftypes/ftype-ipv6.c @@ -212,7 +212,6 @@ cmp_bitwise_and(const fvalue_t *fv_a, const fvalue_t *fv_b) static void slice(fvalue_t *fv, GByteArray *bytes, guint offset, guint length) { - /* XXX needed? ipv4 doesn't support slice() */ guint8* data; data = fv->value.ipv6.addr.bytes + offset; diff --git a/tools/dftestlib/bytes_ipv6.py b/tools/dftestlib/bytes_ipv6.py index 3d2c9ee86e..d85fb6403b 100755 --- a/tools/dftestlib/bytes_ipv6.py +++ b/tools/dftestlib/bytes_ipv6.py @@ -19,10 +19,98 @@ from dftestlib import dftest class testBytesIPv6(dftest.DFTest): trace_file = "ipv6.pcap" - def test_ipv6_1(self): + def test_eq_1(self): dfilter = "ipv6.dst == ff05::9999" self.assertDFilterCount(dfilter, 1) - def test_ipv6_2(self): + def test_eq_2(self): dfilter = "ipv6.dst == ff05::9990" self.assertDFilterCount(dfilter, 0) + + def test_ne_1(self): + dfilter = "ipv6.dst != ff05::9990" + self.assertDFilterCount(dfilter, 1) + + def test_ne_2(self): + dfilter = "ipv6.dst != ff05::9999" + self.assertDFilterCount(dfilter, 0) + + def test_gt_1(self): + dfilter = "ipv6.dst > ff05::0000" + self.assertDFilterCount(dfilter, 1) + + def test_gt_2(self): + dfilter = "ipv6.dst > ff05::9999" + self.assertDFilterCount(dfilter, 0) + + def test_ge_1(self): + dfilter = "ipv6.dst >= ff05::9999" + self.assertDFilterCount(dfilter, 1) + + def test_ge_2(self): + dfilter = "ipv6.dst >= ff05::a000" + self.assertDFilterCount(dfilter, 0) + + def test_lt_1(self): + dfilter = "ipv6.dst < ff05::a000" + self.assertDFilterCount(dfilter, 1) + + def test_lt_2(self): + dfilter = "ipv6.dst < ff05::9999" + self.assertDFilterCount(dfilter, 0) + + def test_le_1(self): + dfilter = "ipv6.dst <= ff05::9999" + self.assertDFilterCount(dfilter, 1) + + def test_le_2(self): + dfilter = "ipv6.dst <= ff05::9998" + self.assertDFilterCount(dfilter, 0) + + def test_cidr_eq_1(self): + dfilter = "ipv6.dst == ff05::9999/128" + self.assertDFilterCount(dfilter, 1) + + def test_cidr_eq_2(self): + dfilter = "ipv6.dst == ff05::0/64" + self.assertDFilterCount(dfilter, 1) + + def test_cidr_eq_3(self): + dfilter = "ipv6.dst == ff05::ffff/112" + self.assertDFilterCount(dfilter, 1) + + def test_cidr_eq_4(self): + dfilter = "ipv6.dst == ff04::0/64" + self.assertDFilterCount(dfilter, 0) + + def test_cidr_ne_1(self): + dfilter = "ipv6.dst != ff05::9999/128" + self.assertDFilterCount(dfilter, 0) + + def test_cidr_ne_2(self): + dfilter = "ipv6.dst != ff05::0/64" + self.assertDFilterCount(dfilter, 0) + + def test_cidr_ne_3(self): + dfilter = "ipv6.dst != ff05::ffff/112" + self.assertDFilterCount(dfilter, 0) + + def test_cidr_ne_4(self): + dfilter = "ipv6.dst != ff04::00/64" + self.assertDFilterCount(dfilter, 1) + + def test_slice_1(self): + dfilter = "ipv6.dst[14:2] == 99:99" + self.assertDFilterCount(dfilter, 1) + + def test_slice_2(self): + dfilter = "ipv6.dst[14:2] == 00:00" + self.assertDFilterCount(dfilter, 0) + + def test_slice_3(self): + dfilter = "ipv6.dst[15:1] == 99" + self.assertDFilterCount(dfilter, 1) + + def test_slice_4(self): + dfilter = "ipv6.dst[15:1] == 00" + self.assertDFilterCount(dfilter, 0) |