summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArmin Kuster <akuster808@gmail.com>2023-06-06 12:54:28 -0400
committerKhem Raj <raj.khem@gmail.com>2023-06-06 23:07:58 -0700
commit4bdd8014d59b7e443d08f82a10b736f052a4411b (patch)
tree4de09d31a4ae1143158e3b0c2496e36780ebe69e
parent0b06cbd97f3051ca0f8e4fcf189b1e644b85a94a (diff)
downloadmeta-openembedded-4bdd8014d59b7e443d08f82a10b736f052a4411b.tar.gz
wireshark: Update to a supported version 4.0.x
Drop CVE patch as its included. Drop 0003-bison-Remove-line-directives.patch as file is not longer there. refactor 0001-wireshark-src-improve-reproducibility.patch LIC_FILES_CHKSUM changed do to re-structuring. Remove TMPDIR found in some files. Remove c-ares PACKAGECONFIG as its a required pkg Signed-off-by: Armin Kuster <akuster808@gmail.com> Signed-off-by: Khem Raj <raj.khem@gmail.com>
-rw-r--r--meta-networking/recipes-support/wireshark/files/0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch66
-rw-r--r--meta-networking/recipes-support/wireshark/files/0001-wireshark-src-improve-reproducibility.patch26
-rw-r--r--meta-networking/recipes-support/wireshark/files/0003-bison-Remove-line-directives.patch59
-rw-r--r--meta-networking/recipes-support/wireshark/files/CVE-2022-3190.patch145
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark_4.0.6.bb (renamed from meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb)37
5 files changed, 94 insertions, 239 deletions
diff --git a/meta-networking/recipes-support/wireshark/files/0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch b/meta-networking/recipes-support/wireshark/files/0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch
new file mode 100644
index 0000000000..0d51ce1b8f
--- /dev/null
+++ b/meta-networking/recipes-support/wireshark/files/0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch
@@ -0,0 +1,66 @@
1From b4f29807225cf3744c2f4f971902fbdd7486fc19 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Jo=C3=A3o=20Valverde?= <j@v6e.pt>
3Date: Fri, 26 May 2023 13:29:23 +0100
4Subject: [PATCH] CMake: Fix a try_run() test when cross-compiling
5
6Upstream-Status: Backport
7Signed-off-by: Armin Kuster <akuster808@gmail.com>
8
9---
10 ConfigureChecks.cmake | 36 ++++++++++++++++++++----------------
11 1 file changed, 20 insertions(+), 16 deletions(-)
12
13diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
14index dd8268e077..d8bca54115 100644
15--- a/ConfigureChecks.cmake
16+++ b/ConfigureChecks.cmake
17@@ -122,26 +122,30 @@ check_type_size("ssize_t" SSIZE_T)
18 # Check if the libc vsnprintf() conforms to C99. If this fails we may
19 # need to fall-back on GLib I/O.
20 #
21-check_c_source_runs("
22- #include <stdio.h>
23- int main(void)
24- {
25- /* Check that snprintf() and vsnprintf() don't return
26- * -1 if the buffer is too small. C99 says this value
27- * is the length that would be written not including
28- * the nul byte. */
29- char buf[3];
30- return snprintf(buf, sizeof(buf), \"%s\", \"ABCDEF\") > 0 ? 0 : 1;
31- }"
32- HAVE_C99_VSNPRINTF
33-)
34-if (NOT HAVE_C99_VSNPRINTF)
35- message(FATAL_ERROR
36+# If cross-compiling we can't check so just assume this requirement is met.
37+#
38+if(NOT CMAKE_CROSSCOMPILING)
39+ check_c_source_runs("
40+ #include <stdio.h>
41+ int main(void)
42+ {
43+ /* Check that snprintf() and vsnprintf() don't return
44+ * -1 if the buffer is too small. C99 says this value
45+ * is the length that would be written not including
46+ * the nul byte. */
47+ char buf[3];
48+ return snprintf(buf, sizeof(buf), \"%s\", \"ABCDEF\") > 0 ? 0 : 1;
49+ }"
50+ HAVE_C99_VSNPRINTF
51+ )
52+ if (NOT HAVE_C99_VSNPRINTF)
53+ message(FATAL_ERROR
54 "Building Wireshark requires a C99 compliant vsnprintf() and this \
55 target does not meet that requirement. Compiling for ${CMAKE_SYSTEM} \
56 using ${CMAKE_C_COMPILER_ID}. Please report this issue to the Wireshark \
57 developers at wireshark-dev@wireshark.org."
58- )
59+ )
60+ endif()
61 endif()
62
63 #
64--
652.25.1
66
diff --git a/meta-networking/recipes-support/wireshark/files/0001-wireshark-src-improve-reproducibility.patch b/meta-networking/recipes-support/wireshark/files/0001-wireshark-src-improve-reproducibility.patch
index 0b83ca4ae4..6ad8a62c28 100644
--- a/meta-networking/recipes-support/wireshark/files/0001-wireshark-src-improve-reproducibility.patch
+++ b/meta-networking/recipes-support/wireshark/files/0001-wireshark-src-improve-reproducibility.patch
@@ -13,24 +13,11 @@ Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
13 tools/ncp2222.py | 2 +- 13 tools/ncp2222.py | 2 +-
14 2 files changed, 2 insertions(+), 2 deletions(-) 14 2 files changed, 2 insertions(+), 2 deletions(-)
15 15
16diff --git a/tools/make-plugin-reg.py b/tools/make-plugin-reg.py 16Index: wireshark-4.0.6/tools/ncp2222.py
17index 66b4656..c52b3fc 100755 17===================================================================
18--- a/tools/make-plugin-reg.py 18--- wireshark-4.0.6.orig/tools/ncp2222.py
19+++ b/tools/make-plugin-reg.py 19+++ wireshark-4.0.6/tools/ncp2222.py
20@@ -28,7 +28,7 @@ preamble = """\ 20@@ -5891,7 +5891,7 @@ def produce_code():
21 *
22 * Generated automatically from %s.
23 */
24-""" % (sys.argv[0])
25+""" % (os.path.basename(sys.argv[0]))
26
27 # Create the proper list of filenames
28 filenames = []
29diff --git a/tools/ncp2222.py b/tools/ncp2222.py
30index 1dea4ec..dc376e3 100755
31--- a/tools/ncp2222.py
32+++ b/tools/ncp2222.py
33@@ -5858,7 +5858,7 @@ def produce_code():
34 21
35 print("/*") 22 print("/*")
36 print(" * Do not modify this file. Changes will be overwritten.") 23 print(" * Do not modify this file. Changes will be overwritten.")
@@ -39,6 +26,3 @@ index 1dea4ec..dc376e3 100755
39 print(" */\n") 26 print(" */\n")
40 27
41 print(""" 28 print("""
42--
432.26.2.Cisco
44
diff --git a/meta-networking/recipes-support/wireshark/files/0003-bison-Remove-line-directives.patch b/meta-networking/recipes-support/wireshark/files/0003-bison-Remove-line-directives.patch
deleted file mode 100644
index 824761a3dc..0000000000
--- a/meta-networking/recipes-support/wireshark/files/0003-bison-Remove-line-directives.patch
+++ /dev/null
@@ -1,59 +0,0 @@
1From 42abf1d299fed8e00a189f6f9c55fb344e5bb775 Mon Sep 17 00:00:00 2001
2From: Oleksiy Obitotskyy <oobitots@cisco.com>
3Date: Wed, 27 Jan 2021 04:01:34 -0800
4Subject: [PATCH] bison: Remove #line directives
5
6Append --no-lines option to bison to not
7generate #line directives with absolute file path.
8
9Upstream-Status: Pending
10Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
11---
12 cmake/modules/FindYACC.cmake | 31 ++++++++++++++++++++++---------
13 1 file changed, 22 insertions(+), 9 deletions(-)
14
15diff --git a/cmake/modules/FindYACC.cmake b/cmake/modules/FindYACC.cmake
16index c96f87b..54a73cb 100644
17--- a/cmake/modules/FindYACC.cmake
18+++ b/cmake/modules/FindYACC.cmake
19@@ -29,15 +29,28 @@ MACRO(ADD_YACC_FILES _source _generated)
20
21 SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.c)
22
23- ADD_CUSTOM_COMMAND(
24- OUTPUT ${_out}
25- COMMAND ${YACC_EXECUTABLE}
26- -d
27- -p ${_basename}
28- -o${_out}
29- ${_in}
30- DEPENDS ${_in}
31- )
32+ IF (DEFINED ENV{SOURCE_DATE_EPOCH})
33+ ADD_CUSTOM_COMMAND(
34+ OUTPUT ${_out}
35+ COMMAND ${YACC_EXECUTABLE}
36+ --no-lines
37+ -d
38+ -p ${_basename}
39+ -o${_out}
40+ ${_in}
41+ DEPENDS ${_in}
42+ )
43+ ELSE ()
44+ ADD_CUSTOM_COMMAND(
45+ OUTPUT ${_out}
46+ COMMAND ${YACC_EXECUTABLE}
47+ -d
48+ -p ${_basename}
49+ -o${_out}
50+ ${_in}
51+ DEPENDS ${_in}
52+ )
53+ ENDIF ()
54 LIST(APPEND ${_source} ${_in})
55 LIST(APPEND ${_generated} ${_out})
56 ENDFOREACH (_current_FILE)
57--
582.26.2.Cisco
59
diff --git a/meta-networking/recipes-support/wireshark/files/CVE-2022-3190.patch b/meta-networking/recipes-support/wireshark/files/CVE-2022-3190.patch
deleted file mode 100644
index 0b987700f5..0000000000
--- a/meta-networking/recipes-support/wireshark/files/CVE-2022-3190.patch
+++ /dev/null
@@ -1,145 +0,0 @@
1From 4585d515b962f3b3a5e81caa64e13e8d9ed2e431 Mon Sep 17 00:00:00 2001
2From: Hitendra Prajapati <hprajapati@mvista.com>
3Date: Mon, 26 Sep 2022 12:47:00 +0530
4Subject: [PATCH] CVE-2022-3190
5
6Upstream-Status: Backport [https://gitlab.com/wireshark/wireshark/-/commit/67326401a595fffbc67eeed48eb6c55d66a55f67]
7CVE : CVE-2022-3190
8Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
9---
10 epan/dissectors/packet-f5ethtrailer.c | 108 +++++++++++++-------------
11 1 file changed, 56 insertions(+), 52 deletions(-)
12
13diff --git a/epan/dissectors/packet-f5ethtrailer.c b/epan/dissectors/packet-f5ethtrailer.c
14index ed77dfd..b15b0d4 100644
15--- a/epan/dissectors/packet-f5ethtrailer.c
16+++ b/epan/dissectors/packet-f5ethtrailer.c
17@@ -2741,69 +2741,73 @@ dissect_dpt_trailer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
18 static gint
19 dissect_old_trailer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
20 {
21- proto_tree *type_tree = NULL;
22- proto_item *ti = NULL;
23 guint offset = 0;
24- guint processed = 0;
25- f5eth_tap_data_t *tdata = (f5eth_tap_data_t *)data;
26- guint8 type;
27- guint8 len;
28- guint8 ver;
29
30 /* While we still have data in the trailer. For old format trailers, this needs
31 * type, length, version (3 bytes) and for new format trailers, the magic header (4 bytes).
32 * All old format trailers are at least 4 bytes long, so just check for length of magic.
33 */
34- while (tvb_reported_length_remaining(tvb, offset)) {
35- type = tvb_get_guint8(tvb, offset);
36- len = tvb_get_guint8(tvb, offset + F5_OFF_LENGTH) + F5_OFF_VERSION;
37- ver = tvb_get_guint8(tvb, offset + F5_OFF_VERSION);
38-
39- if (len <= tvb_reported_length_remaining(tvb, offset) && type >= F5TYPE_LOW
40- && type <= F5TYPE_HIGH && len >= F5_MIN_SANE && len <= F5_MAX_SANE
41- && ver <= F5TRAILER_VER_MAX) {
42- /* Parse out the specified trailer. */
43- switch (type) {
44- case F5TYPE_LOW:
45- ti = proto_tree_add_item(tree, hf_low_id, tvb, offset, len, ENC_NA);
46- type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_low);
47-
48- processed = dissect_low_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
49- if (processed > 0) {
50- tdata->trailer_len += processed;
51- tdata->noise_low = 1;
52- }
53- break;
54- case F5TYPE_MED:
55- ti = proto_tree_add_item(tree, hf_med_id, tvb, offset, len, ENC_NA);
56- type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_med);
57-
58- processed = dissect_med_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
59- if (processed > 0) {
60- tdata->trailer_len += processed;
61- tdata->noise_med = 1;
62- }
63- break;
64- case F5TYPE_HIGH:
65- ti = proto_tree_add_item(tree, hf_high_id, tvb, offset, len, ENC_NA);
66- type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_high);
67-
68- processed =
69- dissect_high_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
70- if (processed > 0) {
71- tdata->trailer_len += processed;
72- tdata->noise_high = 1;
73- }
74- break;
75+ while (tvb_reported_length_remaining(tvb, offset) >= F5_MIN_SANE) {
76+ /* length field does not include the type and length bytes. Add them back in */
77+ guint8 len = tvb_get_guint8(tvb, offset + F5_OFF_LENGTH) + F5_OFF_VERSION;
78+ if (len > tvb_reported_length_remaining(tvb, offset)
79+ || len < F5_MIN_SANE || len > F5_MAX_SANE) {
80+ /* Invalid length - either a malformed trailer, corrupt packet, or not f5ethtrailer */
81+ return offset;
82+ }
83+ guint8 type = tvb_get_guint8(tvb, offset);
84+ guint8 ver = tvb_get_guint8(tvb, offset + F5_OFF_VERSION);
85+
86+ /* Parse out the specified trailer. */
87+ proto_tree *type_tree = NULL;
88+ proto_item *ti = NULL;
89+ f5eth_tap_data_t *tdata = (f5eth_tap_data_t *)data;
90+ guint processed = 0;
91+
92+ switch (type) {
93+ case F5TYPE_LOW:
94+ ti = proto_tree_add_item(tree, hf_low_id, tvb, offset, len, ENC_NA);
95+ type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_low);
96+
97+ processed = dissect_low_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
98+ if (processed > 0) {
99+ tdata->trailer_len += processed;
100+ tdata->noise_low = 1;
101 }
102- if (processed == 0) {
103- proto_item_set_len(ti, 1);
104- return offset;
105+ break;
106+ case F5TYPE_MED:
107+ ti = proto_tree_add_item(tree, hf_med_id, tvb, offset, len, ENC_NA);
108+ type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_med);
109+
110+ processed = dissect_med_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
111+ if (processed > 0) {
112+ tdata->trailer_len += processed;
113+ tdata->noise_med = 1;
114+ }
115+ break;
116+ case F5TYPE_HIGH:
117+ ti = proto_tree_add_item(tree, hf_high_id, tvb, offset, len, ENC_NA);
118+ type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_high);
119+
120+ processed =
121+ dissect_high_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
122+ if (processed > 0) {
123+ tdata->trailer_len += processed;
124+ tdata->noise_high = 1;
125 }
126+ break;
127+ default:
128+ /* Unknown type - malformed trailer, corrupt packet, or not f5ethtrailer - bali out*/
129+ return offset;
130+ }
131+ if (processed == 0) {
132+ /* couldn't process trailer - bali out */
133+ proto_item_set_len(ti, 1);
134+ return offset;
135 }
136 offset += processed;
137 }
138-return offset;
139+ return offset;
140 } /* dissect_old_trailer() */
141
142 /*---------------------------------------------------------------------------*/
143--
1442.25.1
145
diff --git a/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb b/meta-networking/recipes-support/wireshark/wireshark_4.0.6.bb
index 693a167938..f822dce672 100644
--- a/meta-networking/recipes-support/wireshark/wireshark_3.4.12.bb
+++ b/meta-networking/recipes-support/wireshark/wireshark_4.0.6.bb
@@ -2,25 +2,22 @@ DESCRIPTION = "wireshark - a popular network protocol analyzer"
2HOMEPAGE = "http://www.wireshark.org" 2HOMEPAGE = "http://www.wireshark.org"
3SECTION = "net" 3SECTION = "net"
4LICENSE = "GPL-2.0-only" 4LICENSE = "GPL-2.0-only"
5LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" 5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6 6
7DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares" 7DEPENDS = "pcre2 expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares"
8 8
9DEPENDS:append:class-target = " wireshark-native chrpath-replacement-native " 9DEPENDS:append:class-target = " wireshark-native chrpath-replacement-native "
10 10
11SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz" 11SRC_URI = "https://1.eu.dl.wireshark.org/src/wireshark-${PV}.tar.xz \
12 12 file://0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch \
13SRC_URI += " \ 13 file://0001-wireshark-src-improve-reproducibility.patch \
14 file://0001-wireshark-src-improve-reproducibility.patch \ 14 file://0002-flex-Remove-line-directives.patch \
15 file://0002-flex-Remove-line-directives.patch \ 15 file://0004-lemon-Remove-line-directives.patch \
16 file://0003-bison-Remove-line-directives.patch \ 16 "
17 file://0004-lemon-Remove-line-directives.patch \
18 file://CVE-2022-3190.patch \
19"
20 17
21UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src" 18UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
22 19
23SRC_URI[sha256sum] = "881a13303e263b7dc7fe337534c8a541d4914552287879bed30bbe76c5bf68ca" 20SRC_URI[sha256sum] = "0079097a1b17ebc7250a73563f984c13327dac5016b7d53165810fbcca4bd884"
24 21
25PE = "1" 22PE = "1"
26 23
@@ -43,13 +40,12 @@ PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib"
43PACKAGECONFIG[geoip] = ",, geoip" 40PACKAGECONFIG[geoip] = ",, geoip"
44PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF" 41PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
45PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc" 42PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc"
46PACKAGECONFIG[libssh] = ",,libssh2" 43PACKAGECONFIG[libssh] = "-DENABLE_LIBSSH=ON,-DENABLE_LIBSSH=OFF, libssh2"
47PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" 44PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
48PACKAGECONFIG[zstd] = "-DENABLE_STTD=ON,-DENABLE_ZSTD=OFF, zstd" 45PACKAGECONFIG[zstd] = "-DENABLE_STTD=ON,-DENABLE_ZSTD=OFF, zstd"
49PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2" 46PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2"
50 47
51# these next two options require addional layers 48# these next two options require addional layers
52PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares"
53PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg" 49PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg"
54 50
55inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)} 51inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
@@ -64,6 +60,16 @@ EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \
64 " 60 "
65CFLAGS:append = " -lm" 61CFLAGS:append = " -lm"
66 62
63do_compile:append:class-target() {
64 # Fix TMPDIR, these are in the comments section
65 sed -i -e "s:** source file.*::g" ${B}/wiretap/ascend_parser.c
66 sed -i -e "s:** source file.*::g" ${B}/wiretap/candump_parser.c
67 sed -i -e "s:** source file.*::g" ${B}/wiretap/busmaster_parser.c
68 sed -i -e "s:** source file.*::g" ${B}/epan/protobuf_lang_parser.c
69 sed -i -e "s:** source file.*::g" ${B}/epan/dtd_grammar.c
70 sed -i -e "s:** source file.*::g" ${B}/epan/dfilter/grammar.c
71}
72
67do_install:append:class-native() { 73do_install:append:class-native() {
68 install -d ${D}${bindir} 74 install -d ${D}${bindir}
69 for f in lemon 75 for f in lemon
@@ -77,6 +83,9 @@ do_install:append:class-target() {
77 do 83 do
78 chrpath --delete $f 84 chrpath --delete $f
79 done 85 done
86
87 # We don't need the cmake files installed
88 rm -fr ${D}${usrlib}/${BPN}/cmake
80} 89}
81 90
82PACKAGE_BEFORE_PN += "tshark" 91PACKAGE_BEFORE_PN += "tshark"