summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Gissi <silvio.gissi@gmail.com>2017-06-20 00:07:49 -0400
committerMichael Mann <mmann78@netscape.net>2017-06-20 13:56:28 +0000
commitc9c9d558b2644fcd5269953367ba38e8faf82448 (patch)
tree07de89a79f80f3c066c94f15bd3f97f8443ed5dd
parent23e667169eefc450808e60ea515fc271122052de (diff)
downloadwireshark-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.c8
-rw-r--r--epan/ftypes/ftype-ipv6.c1
-rwxr-xr-xtools/dftestlib/bytes_ipv6.py92
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)