mirror of
https://github.com/openembedded/meta-openembedded.git
synced 2026-06-05 14:59:55 +00:00
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>
This commit is contained in:
+66
@@ -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
|
||||
|
||||
+5
-21
@@ -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
|
||||
|
||||
|
||||
-59
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
+23
-14
@@ -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"
|
||||
Reference in New Issue
Block a user