aboutsummaryrefslogtreecommitdiffstats
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 @@
+From b4f29807225cf3744c2f4f971902fbdd7486fc19 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Jo=C3=A3o=20Valverde?= <j@v6e.pt>
+Date: Fri, 26 May 2023 13:29:23 +0100
+Subject: [PATCH] CMake: Fix a try_run() test when cross-compiling
+
+Upstream-Status: Backport
+Signed-off-by: Armin Kuster <akuster808@gmail.com>
+
+---
+ ConfigureChecks.cmake | 36 ++++++++++++++++++++----------------
+ 1 file changed, 20 insertions(+), 16 deletions(-)
+
+diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
+index dd8268e077..d8bca54115 100644
+--- a/ConfigureChecks.cmake
++++ b/ConfigureChecks.cmake
+@@ -122,26 +122,30 @@ check_type_size("ssize_t" SSIZE_T)
+ # Check if the libc vsnprintf() conforms to C99. If this fails we may
+ # need to fall-back on GLib I/O.
+ #
+-check_c_source_runs("
+- #include <stdio.h>
+- int main(void)
+- {
+- /* Check that snprintf() and vsnprintf() don't return
+- * -1 if the buffer is too small. C99 says this value
+- * is the length that would be written not including
+- * the nul byte. */
+- char buf[3];
+- return snprintf(buf, sizeof(buf), \"%s\", \"ABCDEF\") > 0 ? 0 : 1;
+- }"
+- HAVE_C99_VSNPRINTF
+-)
+-if (NOT HAVE_C99_VSNPRINTF)
+- message(FATAL_ERROR
++# If cross-compiling we can't check so just assume this requirement is met.
++#
++if(NOT CMAKE_CROSSCOMPILING)
++ check_c_source_runs("
++ #include <stdio.h>
++ int main(void)
++ {
++ /* Check that snprintf() and vsnprintf() don't return
++ * -1 if the buffer is too small. C99 says this value
++ * is the length that would be written not including
++ * the nul byte. */
++ char buf[3];
++ return snprintf(buf, sizeof(buf), \"%s\", \"ABCDEF\") > 0 ? 0 : 1;
++ }"
++ HAVE_C99_VSNPRINTF
++ )
++ if (NOT HAVE_C99_VSNPRINTF)
++ message(FATAL_ERROR
+ "Building Wireshark requires a C99 compliant vsnprintf() and this \
+ target does not meet that requirement. Compiling for ${CMAKE_SYSTEM} \
+ using ${CMAKE_C_COMPILER_ID}. Please report this issue to the Wireshark \
+ developers at wireshark-dev@wireshark.org."
+- )
++ )
++ endif()
+ endif()
+
+ #
+--
+2.25.1
+
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>
tools/ncp2222.py | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
-diff --git a/tools/make-plugin-reg.py b/tools/make-plugin-reg.py
-index 66b4656..c52b3fc 100755
---- a/tools/make-plugin-reg.py
-+++ b/tools/make-plugin-reg.py
-@@ -28,7 +28,7 @@ preamble = """\
- *
- * Generated automatically from %s.
- */
--""" % (sys.argv[0])
-+""" % (os.path.basename(sys.argv[0]))
-
- # Create the proper list of filenames
- filenames = []
-diff --git a/tools/ncp2222.py b/tools/ncp2222.py
-index 1dea4ec..dc376e3 100755
---- a/tools/ncp2222.py
-+++ b/tools/ncp2222.py
-@@ -5858,7 +5858,7 @@ def produce_code():
+Index: wireshark-4.0.6/tools/ncp2222.py
+===================================================================
+--- wireshark-4.0.6.orig/tools/ncp2222.py
++++ wireshark-4.0.6/tools/ncp2222.py
+@@ -5891,7 +5891,7 @@ def produce_code():
print("/*")
print(" * Do not modify this file. Changes will be overwritten.")
@@ -39,6 +26,3 @@ index 1dea4ec..dc376e3 100755
print(" */\n")
print("""
---
-2.26.2.Cisco
-
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 @@
-From 42abf1d299fed8e00a189f6f9c55fb344e5bb775 Mon Sep 17 00:00:00 2001
-From: Oleksiy Obitotskyy <oobitots@cisco.com>
-Date: Wed, 27 Jan 2021 04:01:34 -0800
-Subject: [PATCH] bison: Remove #line directives
-
-Append --no-lines option to bison to not
-generate #line directives with absolute file path.
-
-Upstream-Status: Pending
-Signed-off-by: Oleksiy Obitotskyy <oobitots@cisco.com>
----
- cmake/modules/FindYACC.cmake | 31 ++++++++++++++++++++++---------
- 1 file changed, 22 insertions(+), 9 deletions(-)
-
-diff --git a/cmake/modules/FindYACC.cmake b/cmake/modules/FindYACC.cmake
-index c96f87b..54a73cb 100644
---- a/cmake/modules/FindYACC.cmake
-+++ b/cmake/modules/FindYACC.cmake
-@@ -29,15 +29,28 @@ MACRO(ADD_YACC_FILES _source _generated)
-
- SET(_out ${CMAKE_CURRENT_BINARY_DIR}/${_basename}.c)
-
-- ADD_CUSTOM_COMMAND(
-- OUTPUT ${_out}
-- COMMAND ${YACC_EXECUTABLE}
-- -d
-- -p ${_basename}
-- -o${_out}
-- ${_in}
-- DEPENDS ${_in}
-- )
-+ IF (DEFINED ENV{SOURCE_DATE_EPOCH})
-+ ADD_CUSTOM_COMMAND(
-+ OUTPUT ${_out}
-+ COMMAND ${YACC_EXECUTABLE}
-+ --no-lines
-+ -d
-+ -p ${_basename}
-+ -o${_out}
-+ ${_in}
-+ DEPENDS ${_in}
-+ )
-+ ELSE ()
-+ ADD_CUSTOM_COMMAND(
-+ OUTPUT ${_out}
-+ COMMAND ${YACC_EXECUTABLE}
-+ -d
-+ -p ${_basename}
-+ -o${_out}
-+ ${_in}
-+ DEPENDS ${_in}
-+ )
-+ ENDIF ()
- LIST(APPEND ${_source} ${_in})
- LIST(APPEND ${_generated} ${_out})
- ENDFOREACH (_current_FILE)
---
-2.26.2.Cisco
-
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 @@
-From 4585d515b962f3b3a5e81caa64e13e8d9ed2e431 Mon Sep 17 00:00:00 2001
-From: Hitendra Prajapati <hprajapati@mvista.com>
-Date: Mon, 26 Sep 2022 12:47:00 +0530
-Subject: [PATCH] CVE-2022-3190
-
-Upstream-Status: Backport [https://gitlab.com/wireshark/wireshark/-/commit/67326401a595fffbc67eeed48eb6c55d66a55f67]
-CVE : CVE-2022-3190
-Signed-off-by: Hitendra Prajapati <hprajapati@mvista.com>
----
- epan/dissectors/packet-f5ethtrailer.c | 108 +++++++++++++-------------
- 1 file changed, 56 insertions(+), 52 deletions(-)
-
-diff --git a/epan/dissectors/packet-f5ethtrailer.c b/epan/dissectors/packet-f5ethtrailer.c
-index ed77dfd..b15b0d4 100644
---- a/epan/dissectors/packet-f5ethtrailer.c
-+++ b/epan/dissectors/packet-f5ethtrailer.c
-@@ -2741,69 +2741,73 @@ dissect_dpt_trailer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *d
- static gint
- dissect_old_trailer(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
- {
-- proto_tree *type_tree = NULL;
-- proto_item *ti = NULL;
- guint offset = 0;
-- guint processed = 0;
-- f5eth_tap_data_t *tdata = (f5eth_tap_data_t *)data;
-- guint8 type;
-- guint8 len;
-- guint8 ver;
-
- /* While we still have data in the trailer. For old format trailers, this needs
- * type, length, version (3 bytes) and for new format trailers, the magic header (4 bytes).
- * All old format trailers are at least 4 bytes long, so just check for length of magic.
- */
-- while (tvb_reported_length_remaining(tvb, offset)) {
-- type = tvb_get_guint8(tvb, offset);
-- len = tvb_get_guint8(tvb, offset + F5_OFF_LENGTH) + F5_OFF_VERSION;
-- ver = tvb_get_guint8(tvb, offset + F5_OFF_VERSION);
--
-- if (len <= tvb_reported_length_remaining(tvb, offset) && type >= F5TYPE_LOW
-- && type <= F5TYPE_HIGH && len >= F5_MIN_SANE && len <= F5_MAX_SANE
-- && ver <= F5TRAILER_VER_MAX) {
-- /* Parse out the specified trailer. */
-- switch (type) {
-- case F5TYPE_LOW:
-- ti = proto_tree_add_item(tree, hf_low_id, tvb, offset, len, ENC_NA);
-- type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_low);
--
-- processed = dissect_low_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
-- if (processed > 0) {
-- tdata->trailer_len += processed;
-- tdata->noise_low = 1;
-- }
-- break;
-- case F5TYPE_MED:
-- ti = proto_tree_add_item(tree, hf_med_id, tvb, offset, len, ENC_NA);
-- type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_med);
--
-- processed = dissect_med_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
-- if (processed > 0) {
-- tdata->trailer_len += processed;
-- tdata->noise_med = 1;
-- }
-- break;
-- case F5TYPE_HIGH:
-- ti = proto_tree_add_item(tree, hf_high_id, tvb, offset, len, ENC_NA);
-- type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_high);
--
-- processed =
-- dissect_high_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
-- if (processed > 0) {
-- tdata->trailer_len += processed;
-- tdata->noise_high = 1;
-- }
-- break;
-+ while (tvb_reported_length_remaining(tvb, offset) >= F5_MIN_SANE) {
-+ /* length field does not include the type and length bytes. Add them back in */
-+ guint8 len = tvb_get_guint8(tvb, offset + F5_OFF_LENGTH) + F5_OFF_VERSION;
-+ if (len > tvb_reported_length_remaining(tvb, offset)
-+ || len < F5_MIN_SANE || len > F5_MAX_SANE) {
-+ /* Invalid length - either a malformed trailer, corrupt packet, or not f5ethtrailer */
-+ return offset;
-+ }
-+ guint8 type = tvb_get_guint8(tvb, offset);
-+ guint8 ver = tvb_get_guint8(tvb, offset + F5_OFF_VERSION);
-+
-+ /* Parse out the specified trailer. */
-+ proto_tree *type_tree = NULL;
-+ proto_item *ti = NULL;
-+ f5eth_tap_data_t *tdata = (f5eth_tap_data_t *)data;
-+ guint processed = 0;
-+
-+ switch (type) {
-+ case F5TYPE_LOW:
-+ ti = proto_tree_add_item(tree, hf_low_id, tvb, offset, len, ENC_NA);
-+ type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_low);
-+
-+ processed = dissect_low_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
-+ if (processed > 0) {
-+ tdata->trailer_len += processed;
-+ tdata->noise_low = 1;
- }
-- if (processed == 0) {
-- proto_item_set_len(ti, 1);
-- return offset;
-+ break;
-+ case F5TYPE_MED:
-+ ti = proto_tree_add_item(tree, hf_med_id, tvb, offset, len, ENC_NA);
-+ type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_med);
-+
-+ processed = dissect_med_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
-+ if (processed > 0) {
-+ tdata->trailer_len += processed;
-+ tdata->noise_med = 1;
-+ }
-+ break;
-+ case F5TYPE_HIGH:
-+ ti = proto_tree_add_item(tree, hf_high_id, tvb, offset, len, ENC_NA);
-+ type_tree = proto_item_add_subtree(ti, ett_f5ethtrailer_high);
-+
-+ processed =
-+ dissect_high_trailer(tvb, pinfo, type_tree, offset, len, ver, tdata);
-+ if (processed > 0) {
-+ tdata->trailer_len += processed;
-+ tdata->noise_high = 1;
- }
-+ break;
-+ default:
-+ /* Unknown type - malformed trailer, corrupt packet, or not f5ethtrailer - bali out*/
-+ return offset;
-+ }
-+ if (processed == 0) {
-+ /* couldn't process trailer - bali out */
-+ proto_item_set_len(ti, 1);
-+ return offset;
- }
- offset += processed;
- }
--return offset;
-+ return offset;
- } /* dissect_old_trailer() */
-
- /*---------------------------------------------------------------------------*/
---
-2.25.1
-
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"
HOMEPAGE = "http://www.wireshark.org"
SECTION = "net"
LICENSE = "GPL-2.0-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77"
+LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
-DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares"
+DEPENDS = "pcre2 expat glib-2.0 glib-2.0-native libgcrypt libgpg-error libxml2 bison-native c-ares"
DEPENDS:append:class-target = " wireshark-native chrpath-replacement-native "
-SRC_URI = "https://1.eu.dl.wireshark.org/src/all-versions/wireshark-${PV}.tar.xz"
-
-SRC_URI += " \
- file://0001-wireshark-src-improve-reproducibility.patch \
- file://0002-flex-Remove-line-directives.patch \
- file://0003-bison-Remove-line-directives.patch \
- file://0004-lemon-Remove-line-directives.patch \
- file://CVE-2022-3190.patch \
-"
+SRC_URI = "https://1.eu.dl.wireshark.org/src/wireshark-${PV}.tar.xz \
+ file://0001-CMake-Fix-a-try_run-test-when-cross-compiling.patch \
+ file://0001-wireshark-src-improve-reproducibility.patch \
+ file://0002-flex-Remove-line-directives.patch \
+ file://0004-lemon-Remove-line-directives.patch \
+ "
UPSTREAM_CHECK_URI = "https://1.as.dl.wireshark.org/src"
-SRC_URI[sha256sum] = "881a13303e263b7dc7fe337534c8a541d4914552287879bed30bbe76c5bf68ca"
+SRC_URI[sha256sum] = "0079097a1b17ebc7250a73563f984c13327dac5016b7d53165810fbcca4bd884"
PE = "1"
@@ -43,13 +40,12 @@ PACKAGECONFIG[zlib] = "-DENABLE_ZLIB=ON,-DENABLE_ZLIB=OFF, zlib"
PACKAGECONFIG[geoip] = ",, geoip"
PACKAGECONFIG[plugins] = "-DENABLE_PLUGINS=ON,-DENABLE_PLUGINS=OFF"
PACKAGECONFIG[sbc] = "-DENABLE_SBC=ON,-DENABLE_SBC=OFF, sbc"
-PACKAGECONFIG[libssh] = ",,libssh2"
+PACKAGECONFIG[libssh] = "-DENABLE_LIBSSH=ON,-DENABLE_LIBSSH=OFF, libssh2"
PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4"
PACKAGECONFIG[zstd] = "-DENABLE_STTD=ON,-DENABLE_ZSTD=OFF, zstd"
PACKAGECONFIG[nghttp2] = "-DENABLE_NGHTTP2=ON,-DENABLE_NGHTTP2=OFF, nghttp2"
# these next two options require addional layers
-PACKAGECONFIG[c-ares] = "-DENABLE_CARES=ON,-DENABLE_CARES=OFF, c-ares"
PACKAGECONFIG[qt5] = "-DENABLE_QT5=ON -DBUILD_wireshark=ON, -DENABLE_QT5=OFF -DBUILD_wireshark=OFF, qttools-native qtmultimedia qtsvg"
inherit ${@bb.utils.contains('PACKAGECONFIG', 'qt5', 'cmake_qt5', '', d)}
@@ -64,6 +60,16 @@ EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \
"
CFLAGS:append = " -lm"
+do_compile:append:class-target() {
+ # Fix TMPDIR, these are in the comments section
+ sed -i -e "s:** source file.*::g" ${B}/wiretap/ascend_parser.c
+ sed -i -e "s:** source file.*::g" ${B}/wiretap/candump_parser.c
+ sed -i -e "s:** source file.*::g" ${B}/wiretap/busmaster_parser.c
+ sed -i -e "s:** source file.*::g" ${B}/epan/protobuf_lang_parser.c
+ sed -i -e "s:** source file.*::g" ${B}/epan/dtd_grammar.c
+ sed -i -e "s:** source file.*::g" ${B}/epan/dfilter/grammar.c
+}
+
do_install:append:class-native() {
install -d ${D}${bindir}
for f in lemon
@@ -77,6 +83,9 @@ do_install:append:class-target() {
do
chrpath --delete $f
done
+
+ # We don't need the cmake files installed
+ rm -fr ${D}${usrlib}/${BPN}/cmake
}
PACKAGE_BEFORE_PN += "tshark"