From 95370f4af5f318d73eab0655664ea452f5f9cb31 Mon Sep 17 00:00:00 2001 From: Armin Kuster Date: Wed, 7 Feb 2018 07:29:40 +0530 Subject: wireshark: update to new 2.4.5 series [v2] Fix epan/.libs/libwireshark.so: error: undefined reference to 'gpg_strerror' and update to 2.4.5. includes: wnpa-sec-2018-05 The IEEE 802.11 dissector could crash. Bug 14442, CVE-2018-7335 wnpa-sec-2018-06 Multiple dissectors could go into large infinite loops. All ASN.1 BER dissectors (Bug 14444), along with the DICOM (Bug 14411), DMP (Bug 14408), LLTD (Bug 14419), OpenFlow (Bug 14420), RELOAD (Bug 14445), RPCoRDMA (Bug 14449), RPKI-Router (Bug 14414), S7COMM (Bug 14423), SCCP (Bug 14413), Thread (Bug 14428), Thrift (Bug 14379), USB (Bug 14421), and WCCP (Bug 14412) dissectors were susceptible. wnpa-sec-2018-07 The UMTS MAC dissector could crash. Bug 14339, CVE-2018-7334 wnpa-sec-2018-08 The DOCSIS dissector could crash. Bug 14446, CVE-2018-7337 wnpa-sec-2018-09 The FCP dissector could crash. Bug 14374, CVE-2018-7336 wnpa-sec-2018-10 The SIGCOMP dissector could crash. Bug 14398, CVE-2018-7320 wnpa-sec-2018-11 The pcapng file parser could crash. Bug 14403, CVE-2018-7420 wnpa-sec-2018-12 The IPMI dissector could crash. Bug 14409, CVE-2018-7417 wnpa-sec-2018-13 The SIGCOMP dissector could crash. Bug 14410, CVE-2018-7418 wnpa-sec-2018-14 The NBAP disssector could crash. Bug 14443, CVE-2018-7419 Signed-off-by: Armin Kuster Signed-off-by: Joe MacDonald --- .../wireshark/files/libgcrypt.patch | 53 ++++++++++++++++ .../recipes-support/wireshark/wireshark_2.2.12.bb | 71 ---------------------- .../recipes-support/wireshark/wireshark_2.4.5.bb | 71 ++++++++++++++++++++++ 3 files changed, 124 insertions(+), 71 deletions(-) create mode 100644 meta-networking/recipes-support/wireshark/files/libgcrypt.patch delete mode 100644 meta-networking/recipes-support/wireshark/wireshark_2.2.12.bb create mode 100644 meta-networking/recipes-support/wireshark/wireshark_2.4.5.bb (limited to 'meta-networking') diff --git a/meta-networking/recipes-support/wireshark/files/libgcrypt.patch b/meta-networking/recipes-support/wireshark/files/libgcrypt.patch new file mode 100644 index 0000000000..2aa58f73c2 --- /dev/null +++ b/meta-networking/recipes-support/wireshark/files/libgcrypt.patch @@ -0,0 +1,53 @@ +use OR PKG_CONFIG scheme for libgcrypt + +Upstream-Status: Inappropriate OE specific + +Signed-off-by: Armin Kuster + +Index: wireshark-2.4.4/m4/libgcrypt.m4 +=================================================================== +--- wireshark-2.4.4.orig/m4/libgcrypt.m4 ++++ wireshark-2.4.4/m4/libgcrypt.m4 +@@ -27,11 +27,11 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], + libgcrypt_config_prefix="$withval", libgcrypt_config_prefix="") + if test x$libgcrypt_config_prefix != x ; then + if test x${LIBGCRYPT_CONFIG+set} != xset ; then +- LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/bin/libgcrypt-config ++ LIBGCRYPT_CONFIG=$libgcrypt_config_prefix/libgcrypt.pc + fi + fi + +- AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt-config, no) ++ AC_PATH_PROG(LIBGCRYPT_CONFIG, libgcrypt.pc, no) + tmp=ifelse([$1], ,1:1.2.0,$1) + if echo "$tmp" | grep ':' >/dev/null 2>/dev/null ; then + req_libgcrypt_api=`echo "$tmp" | sed 's/\(.*\):\(.*\)/\1/'` +@@ -50,7 +50,7 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\2/'` + req_micro=`echo $min_libgcrypt_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\)/\3/'` +- libgcrypt_config_version=`$LIBGCRYPT_CONFIG --version` ++ libgcrypt_config_version=`$PKG_CONFIG --modversion libgcrypt` + major=`echo $libgcrypt_config_version | \ + sed 's/\([[0-9]]*\)\.\([[0-9]]*\)\.\([[0-9]]*\).*/\1/'` + minor=`echo $libgcrypt_config_version | \ +@@ -82,7 +82,7 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], + # If we have a recent libgcrypt, we should also check that the + # API is compatible + if test "$req_libgcrypt_api" -gt 0 ; then +- tmp=`$LIBGCRYPT_CONFIG --api-version 2>/dev/null || echo 0` ++ tmp=`$PKG_CONFIG --api-version libgcrypt 2>/dev/null || echo 0` + if test "$tmp" -gt 0 ; then + AC_MSG_CHECKING([LIBGCRYPT API version]) + if test "$req_libgcrypt_api" -eq "$tmp" ; then +@@ -95,8 +95,8 @@ AC_DEFUN([AM_PATH_LIBGCRYPT], + fi + fi + if test $ok = yes; then +- LIBGCRYPT_CFLAGS=`$LIBGCRYPT_CONFIG --cflags` +- LIBGCRYPT_LIBS=`$LIBGCRYPT_CONFIG --libs` ++ LIBGCRYPT_CFLAGS=`$PKG_CONFIG --cflags libgcrypt` ++ LIBGCRYPT_LIBS=`$PKG_CONFIG --libs libgcrypt` + ifelse([$2], , :, [$2]) + else + LIBGCRYPT_CFLAGS="" diff --git a/meta-networking/recipes-support/wireshark/wireshark_2.2.12.bb b/meta-networking/recipes-support/wireshark/wireshark_2.2.12.bb deleted file mode 100644 index 6c0b644c62..0000000000 --- a/meta-networking/recipes-support/wireshark/wireshark_2.2.12.bb +++ /dev/null @@ -1,71 +0,0 @@ -DESCRIPTION = "wireshark - a popular network protocol analyzer" -HOMEPAGE = "http://www.wireshark.org" -SECTION = "net" -LICENSE = "GPL-2.0" -LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" - -DEPENDS = "pcre expat glib-2.0 glib-2.0-native" - -SRC_URI = "https://2.na.dl.wireshark.org/src/all-versions/${BP}.tar.bz2" - -PE = "1" - -SRC_URI[md5sum] = "ebf3d4230d7a13408758cdf037c42d66" -SRC_URI[sha256sum] = "3274458d1bb1658a5001465ecb07c7cbfc709571ef36bd062897570d4bab3ebc" - -inherit autotools pkgconfig perlnative - -ARM_INSTRUCTION_SET = "arm" - -PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" -PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk2 graphics", "", d)}" -#PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "opengl", "gtk3", "", d)}" - -PACKAGECONFIG[libcap] = "--with-libcap=${STAGING_LIBDIR}, --with-libcap=no --enable-pcap-ng-default , libcap" -PACKAGECONFIG[libpcap] = "--with-pcap=${STAGING_LIBDIR} --with-pcap-remote, --with-pcap=no --enable-pcap-ng-default , libpcap" -PACKAGECONFIG[libsmi] = "--with-libsmi=yes, --with-libsmi=no, libsmi" -PACKAGECONFIG[libnl] = "--with-libnl=yes, --with-libnl=no, libnl" -PACKAGECONFIG[portaudio] = "--with-portaudio=yes, --with-portaudio=no, portaudio-v19" -PACKAGECONFIG[gtk2] = "--with-gtk=2, , gtk+" -PACKAGECONFIG[gtk3] = "--with-gtk=3, , gtk+3" -PACKAGECONFIG[graphics] = "--enable-wireshark, --with-gtk=no --disable-wireshark," -PACKAGECONFIG[gnutls] = "--with-gnutls=yes, --with-gnutls=no, gnutls" -PACKAGECONFIG[gcrypt] = "--with-gcrypt=yes, --with-gcrypt=no, libgcrypt" -PACKAGECONFIG[ssl] = "--with-ssl=yes, --with-ssl=no, openssl" -PACKAGECONFIG[krb5] = "--with-krb5=yes, --with-krb5=no, krb5" -PACKAGECONFIG[lua] = "--with-lua=yes, --with-lua=no, lua" -PACKAGECONFIG[zlib] = "--with-zlib=yes, --with-zlib=no, zlib" -PACKAGECONFIG[geoip] = "--with-geoip=yes, --with-geoip=no, geoip" -PACKAGECONFIG[plugins] = "--with-plugins=yes, --with-plugins=no" -PACKAGECONFIG[sbc] = "--with-sbc=yes, --with-sbc=no, sbc" - -PACKAGECONFIG[libssh] = "--with-libssh=${STAGING_LIBDIR}, --with-libssh=no, libssh2" - - -# these next two options require addional layers -PACKAGECONFIG[c-ares] = "--with-c-ares=yes, --with-c-ares=no, c-ares" - -EXTRA_OECONF += "--with-qt=no --enable-tshark --enable-rawshark" - -# Currently wireshark does not install header files -do_install_append () { - - install -d ${D}/${includedir}/${BPN} - install -d ${D}/${includedir}/${BPN}/epan - install -d ${D}/${includedir}/${BPN}/epan/crypt - install -d ${D}/${includedir}/${BPN}/epan/dfilter - install -d ${D}/${includedir}/${BPN}/epan/dissectors - install -d ${D}/${includedir}/${BPN}/epan/ftypes - install -d ${D}/${includedir}/${BPN}/epan/wmem - - install config.h ${D}/${includedir}/${BPN} - install ${S}/register.h ${D}/${includedir}/${BPN} - install -D ${S}/epan/*.h ${D}/${includedir}/${BPN}/epan - install -D ${S}/epan/crypt/*.h ${D}/${includedir}/${BPN}/epan/crypt - install -D ${S}/epan/dfilter/*.h ${D}/${includedir}/${BPN}/epan/dfilter - install -D ${S}/epan/dissectors/*.h ${D}/${includedir}/${BPN}/epan/dissectors - install -D ${S}/epan/ftypes/*.h ${D}/${includedir}/${BPN}/epan/ftypes - install -D ${S}/epan/wmem/*.h ${D}/${includedir}/${BPN}/epan/wmem -} - -FILES_${PN} += "${datadir}*" diff --git a/meta-networking/recipes-support/wireshark/wireshark_2.4.5.bb b/meta-networking/recipes-support/wireshark/wireshark_2.4.5.bb new file mode 100644 index 0000000000..e330b99d7f --- /dev/null +++ b/meta-networking/recipes-support/wireshark/wireshark_2.4.5.bb @@ -0,0 +1,71 @@ +DESCRIPTION = "wireshark - a popular network protocol analyzer" +HOMEPAGE = "http://www.wireshark.org" +SECTION = "net" +LICENSE = "GPL-2.0" +LIC_FILES_CHKSUM = "file://COPYING;md5=6e271234ba1a13c6e512e76b94ac2f77" + +DEPENDS = "pcre expat glib-2.0 glib-2.0-native libgcrypt libgpg-error" + +SRC_URI = "https://1.as.dl.wireshark.org/src/${BP}.tar.xz" +SRC_URI += "file://libgcrypt.patch" + +SRC_URI[md5sum] = "2b6f1f37c72fa15a0a1863016a0abcc0" +SRC_URI[sha256sum] = "b3b2ec29fba0f4a3a590438abe4054e56f19108d440fc2d61492db9d8ff16fd7" + +PE = "1" + +inherit autotools pkgconfig perlnative + +ARM_INSTRUCTION_SET = "arm" + +PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" +PACKAGECONFIG += " ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk2 graphics", "", d)}" + +PACKAGECONFIG[libcap] = "--with-libcap=${STAGING_DIR_HOST}/usr, --with-libcap=no --enable-pcap-ng-default , libcap" +PACKAGECONFIG[libpcap] = "--with-pcap=${STAGING_DIR_HOST}/usr --with-pcap-remote, --with-pcap=no --enable-pcap-ng-default , libpcap" +PACKAGECONFIG[libsmi] = "--with-libsmi=yes, --with-libsmi=no, libsmi" +PACKAGECONFIG[libnl] = "--with-libnl=yes, --with-libnl=no, libnl" +PACKAGECONFIG[portaudio] = "--with-portaudio=yes, --with-portaudio=no, portaudio-v19" +PACKAGECONFIG[gtk2] = "--with-gtk=2, , gtk+" +PACKAGECONFIG[gtk3] = "--with-gtk=3, , gtk+3" +PACKAGECONFIG[graphics] = "--enable-wireshark, --with-gtk=no --disable-wireshark," +PACKAGECONFIG[gnutls] = "--with-gnutls=yes, --with-gnutls=no, gnutls" +PACKAGECONFIG[ssl] = "--with-ssl=yes, --with-ssl=no, openssl" +PACKAGECONFIG[krb5] = "--with-krb5=yes, --with-krb5=no, krb5" +PACKAGECONFIG[lua] = "--with-lua=yes, --with-lua=no, lua" +PACKAGECONFIG[zlib] = "--with-zlib=yes, --with-zlib=no, zlib" +PACKAGECONFIG[geoip] = "--with-geoip=yes, --with-geoip=no, geoip" +PACKAGECONFIG[plugins] = "--with-plugins=yes, --with-plugins=no" +PACKAGECONFIG[sbc] = "--with-sbc=yes, --with-sbc=no, sbc" +PACKAGECONFIG[libssh] = "--with-libssh=${STAGING_DIR_HOST}/usr, --with-libssh=no, libssh2" +PACKAGECONFIG[lz4] = "--with-lz4=${STAGING_DIR_HOST}/usr, --with-lz4=no, lz4" + +# these next two options require addional layers +PACKAGECONFIG[c-ares] = "--with-c-ares=yes, --with-c-ares=no, c-ares" + +EXTRA_OECONF += "--with-libgcrypt-prefix=${PKG_CONFIG_DIR} --with-qt=no --enable-tshark --enable-rawshark" + +LDFLAGS_append = " -lgpg-error" + +# Currently wireshark does not install header files +do_install_append () { + + install -d ${D}/${includedir}/${BPN} + install -d ${D}/${includedir}/${BPN}/epan + install -d ${D}/${includedir}/${BPN}/epan/crypt + install -d ${D}/${includedir}/${BPN}/epan/dfilter + install -d ${D}/${includedir}/${BPN}/epan/dissectors + install -d ${D}/${includedir}/${BPN}/epan/ftypes + install -d ${D}/${includedir}/${BPN}/epan/wmem + + install config.h ${D}/${includedir}/${BPN} + install ${S}/register.h ${D}/${includedir}/${BPN} + install -D ${S}/epan/*.h ${D}/${includedir}/${BPN}/epan + install -D ${S}/epan/crypt/*.h ${D}/${includedir}/${BPN}/epan/crypt + install -D ${S}/epan/dfilter/*.h ${D}/${includedir}/${BPN}/epan/dfilter + install -D ${S}/epan/dissectors/*.h ${D}/${includedir}/${BPN}/epan/dissectors + install -D ${S}/epan/ftypes/*.h ${D}/${includedir}/${BPN}/epan/ftypes + install -D ${S}/epan/wmem/*.h ${D}/${includedir}/${BPN}/epan/wmem +} + +FILES_${PN} += "${datadir}*" -- cgit 1.2.3-korg