diff options
author | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-10-07 16:34:48 +0300 |
---|---|---|
committer | Brad Bishop <bradleyb@fuzziesquirrel.com> | 2019-10-07 16:34:54 +0300 |
commit | 4fe7a1353f8f7f96c7407caa3352fa50fcce5aa3 (patch) | |
tree | e1e898e098bec469e02e357983dae7436a072235 | |
parent | 00e122a7b3a839f5ce8b819cb1bfe92cf3781eda (diff) | |
download | openbmc-4fe7a1353f8f7f96c7407caa3352fa50fcce5aa3.tar.xz |
meta-openembedded: subtree update:e6d76b05a7..01d539b324
Adrian Ratiu (1):
renderdoc: add x11 to REQUIRED_DISTRO_FEATURES
Callaghan, Dan (2):
firewalld: update to 0.7.1
strongswan: install dev headers
George McCollister (1):
wireshark: fix qt5 build
Jean-Marie LEMETAYER (1):
python-toml: add recipes for python2 and python3
Khem Raj (1):
xscreensaver: Remove xserver-nodm-init rdep
Maciej Pijanowski (1):
smem: package smemcap separately
Ovidiu Panait (1):
kea: Disable parallel install
Peiran Hong (1):
zabbix: upgrade 3.0.9 -> 4.2.6
Randy MacLeod (1):
libteam: update from 1.28 to 1.29
Trevor Gamblin (2):
php: fix CVE-2019-6978
gd: fix CVE-2019-6978
Change-Id: I2c308ff46213876c1d74f42b5d9f9e52946bbf02
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
17 files changed, 550 insertions, 85 deletions
diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch deleted file mode 100644 index 28d590242..000000000 --- a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/files/0001-fix-building-in-a-separate-directory-outside-the-sou.patch +++ /dev/null @@ -1,68 +0,0 @@ -firewalld: fix building in a separate directory outside the source tree - -Upstream-Status: Accepted [https://github.com/firewalld/firewalld/pull/456] -Signed-off-by: Dan Callaghan <dan.callaghan@opengear.com> - ---- a/config/Makefile.am -+++ b/config/Makefile.am -@@ -377,11 +377,11 @@ install-config: - $(MKDIR_P) $(DESTDIR)$(sconfdir)/zones - $(MKDIR_P) $(DESTDIR)$(sconfdir)/helpers - $(MKDIR_P) $(DESTDIR)$(prefixlibdir) -- cp -r icmptypes $(DESTDIR)$(prefixlibdir) -- cp -r ipsets $(DESTDIR)$(prefixlibdir) -- cp -r services $(DESTDIR)$(prefixlibdir) -- cp -r zones $(DESTDIR)$(prefixlibdir) -- cp -r helpers $(DESTDIR)$(prefixlibdir) -+ cp -r $(srcdir)/icmptypes $(DESTDIR)$(prefixlibdir) -+ cp -r $(srcdir)/ipsets $(DESTDIR)$(prefixlibdir) -+ cp -r $(srcdir)/services $(DESTDIR)$(prefixlibdir) -+ cp -r $(srcdir)/zones $(DESTDIR)$(prefixlibdir) -+ cp -r $(srcdir)/helpers $(DESTDIR)$(prefixlibdir) - - uninstall-config: - rmdir $(DESTDIR)$(sconfdir)/icmptypes ---- a/doc/xml/Makefile.am -+++ b/doc/xml/Makefile.am -@@ -69,7 +69,8 @@ edit = sed \ - -e 's|\@PREFIX\@|$(prefix)|' \ - -e 's|\@SYSCONFDIR\@|$(sysconfdir)|' \ - -e 's|\@PACKAGE_STRING\@|$(PACKAGE_STRING)|' \ -- -e 's|\@IFCFGDIR\@|$(IFCFGDIR)|' -+ -e 's|\@IFCFGDIR\@|$(IFCFGDIR)|' \ -+ -e 's|@SRCDIR@|$(srcdir)|' - - transform-man.xsl: transform-man.xsl.in - $(edit) $< >$@ ---- a/doc/xml/firewall-cmd.xml.in -+++ b/doc/xml/firewall-cmd.xml.in -@@ -1,10 +1,10 @@ - <?xml version="1.0" encoding="utf-8"?> - <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" - [ --<!ENTITY authors SYSTEM "authors.xml"> --<!ENTITY seealso SYSTEM "seealso.xml"> --<!ENTITY notes SYSTEM "notes.xml"> --<!ENTITY errorcodes SYSTEM "errorcodes.xml"> -+<!ENTITY authors SYSTEM "@SRCDIR@/authors.xml"> -+<!ENTITY seealso SYSTEM "@SRCDIR@/seealso.xml"> -+<!ENTITY notes SYSTEM "@SRCDIR@/notes.xml"> -+<!ENTITY errorcodes SYSTEM "@SRCDIR@/errorcodes.xml"> - ]> - - <!-- ---- a/doc/xml/firewalld.xml.in -+++ b/doc/xml/firewalld.xml.in -@@ -1,9 +1,9 @@ - <?xml version="1.0" encoding="utf-8"?> - <!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd" - [ --<!ENTITY authors SYSTEM "authors.xml"> --<!ENTITY seealso SYSTEM "seealso.xml"> --<!ENTITY notes SYSTEM "notes.xml"> -+<!ENTITY authors SYSTEM "@SRCDIR@/authors.xml"> -+<!ENTITY seealso SYSTEM "@SRCDIR@/seealso.xml"> -+<!ENTITY notes SYSTEM "@SRCDIR@/notes.xml"> - ]> - - <!-- diff --git a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.4.bb b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.1.bb index d9d5cad75..fab27f1ee 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.6.4.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/firewalld/firewalld_0.7.1.bb @@ -6,20 +6,20 @@ LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263" SRC_URI = "https://github.com/${BPN}/${BPN}/releases/download/v${PV}/${BP}.tar.gz \ - file://0001-fix-building-in-a-separate-directory-outside-the-sou.patch \ file://firewalld.init \ " -SRC_URI[md5sum] = "e63bdd65a4d2f6338f60b31e91bb5525" -SRC_URI[sha256sum] = "5a82a72fd9ad4cbbfb805bae615faa9b91a27855245de0fef3bcb06439394852" +SRC_URI[md5sum] = "32c16df3f6cc859d0df627baf5ee8401" +SRC_URI[sha256sum] = "88bc63a011209ac046fb5d7bfc73ddcc0bc616ddf3013bbb6bf1a421cb497f76" # glib-2.0-native is needed for GSETTINGS_RULES autoconf macro from gsettings.m4 -# xmlto-native is needed to populate /etc/xml/catalog.xml in the sysroot so that xsltproc finds the docbook xslt -DEPENDS = "intltool-native glib-2.0-native libxslt-native docbook-xsl-stylesheets-native xmlto-native" +DEPENDS = "intltool-native glib-2.0-native libxslt-native docbook-xsl-stylesheets-native" inherit gettext autotools bash-completion python3native gsettings systemd update-rc.d PACKAGECONFIG ??= "${@bb.utils.filter('DISTRO_FEATURES', 'systemd', d)}" -PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_unitdir}/system/,--disable-systemd" +PACKAGECONFIG[systemd] = "--with-systemd-unitdir=${systemd_system_unitdir},--disable-systemd" + +PACKAGES += "${PN}-zsh-completion" # iptables, ip6tables, ebtables, and ipset *should* be unnecessary # when the nftables backend is available, because nftables supersedes all of them. @@ -37,10 +37,11 @@ EXTRA_OECONF = "\ --without-ebtables \ --without-ebtables-restore \ --disable-sysconfig \ + --with-xml-catalog=${STAGING_ETCDIR_NATIVE}/xml/catalog \ " INITSCRIPT_NAME = "firewalld" -SYSTEMD_SERVICE = "firewalld.service" +SYSTEMD_SERVICE_${PN} = "firewalld.service" do_install_append() { if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then @@ -65,9 +66,11 @@ do_install_append() { FILES_${PN} += "\ ${PYTHON_SITEPACKAGES_DIR}/firewall \ + ${datadir}/dbus-1 \ ${datadir}/polkit-1 \ ${datadir}/metainfo \ " +FILES_${PN}-zsh-completion = "${datadir}/zsh/site-functions" RDEPENDS_${PN} = "\ nftables \ diff --git a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb index 3123099a7..105ba10d7 100644 --- a/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb +++ b/meta-openembedded/meta-networking/recipes-connectivity/kea/kea_1.7.0.bb @@ -59,3 +59,5 @@ FILES_${PN}-staticdev += "${libdir}/kea/hooks/*.a ${libdir}/hooks/*.a" FILES_${PN} += "${libdir}/hooks/*.so" BBCLASSEXTEND += "native" + +PARALLEL_MAKEINST = "" diff --git a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb index 9310a93fe..5408eed27 100644 --- a/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb +++ b/meta-openembedded/meta-networking/recipes-support/strongswan/strongswan_5.8.1.bb @@ -19,6 +19,7 @@ UPSTREAM_CHECK_REGEX = "strongswan-(?P<pver>\d+(\.\d+)+)\.tar" EXTRA_OECONF = " \ --without-lib-prefix \ + --with-dev-headers=${includedir}/strongswan \ " EXTRA_OECONF += "${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdsystemunitdir=${systemd_unitdir}/system/', '--without-systemdsystemunitdir', d)}" @@ -48,7 +49,7 @@ RRECOMMENDS_${PN} = "kernel-module-ipsec" FILES_${PN} += "${libdir}/ipsec/lib*${SOLIBS}" FILES_${PN}-dbg += "${bindir}/.debug ${sbindir}/.debug ${libdir}/ipsec/.debug ${libexecdir}/ipsec/.debug" -FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la" +FILES_${PN}-dev += "${libdir}/ipsec/lib*${SOLIBSDEV} ${libdir}/ipsec/*.la ${libdir}/ipsec/include/config.h" FILES_${PN}-staticdev += "${libdir}/ipsec/*.a" CONFFILES_${PN} = "${sysconfdir}/*.conf ${sysconfdir}/ipsec.d/*.conf ${sysconfdir}/strongswan.d/*.conf" diff --git a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.3.bb b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.3.bb index 6de188da2..a3c0b4998 100644 --- a/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.3.bb +++ b/meta-openembedded/meta-networking/recipes-support/wireshark/wireshark_3.0.3.bb @@ -19,7 +19,7 @@ PE = "1" inherit cmake pkgconfig python3native perlnative upstream-version-is-even -PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc" +PACKAGECONFIG ?= "libpcap gnutls libnl libcap sbc ${@bb.utils.contains('BBFILE_COLLECTIONS', 'qt5-layer', 'qt5', '', d)}" PACKAGECONFIG_class-native = "libpcap gnutls ssl libssh" @@ -41,7 +41,9 @@ PACKAGECONFIG[lz4] = "-DENABLE_LZ4=ON,-DENABLE_LZ4=OFF, lz4" # 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, qtbase" +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)} EXTRA_OECMAKE += "-DENABLE_NETLINK=ON \ -DBUILD_mmdbresolve=OFF \ diff --git a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.2.6.bb index bab5a6ae6..33c0a82b8 100644 --- a/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_3.0.9.bb +++ b/meta-openembedded/meta-oe/recipes-connectivity/zabbix/zabbix_4.2.6.bb @@ -19,7 +19,7 @@ HOMEPAGE = "http://www.zabbix.com/" SECTION = "Applications/Internet" LICENSE = "GPLv2+" LIC_FILES_CHKSUM = "file://COPYING;md5=300e938ad303147fede2294ed78fe02e" -DEPENDS = "openldap virtual/libiconv" +DEPENDS = "libevent libpcre openldap virtual/libiconv zlib" PACKAGE_ARCH = "${MACHINE_ARCH}" @@ -28,8 +28,8 @@ SRC_URI = "http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX%20Latest%20Stab file://zabbix-agent.service \ " -SRC_URI[md5sum] = "489d21b464277c0d412155c7e5611a8f" -SRC_URI[sha256sum] = "4445f26c025009681c29c9b350aa6c4ee7b124ddcaf1609ae36c55997bcb8cf2" +SRC_URI[md5sum] = "6cd55cd743d416d9ffbf2e6fdee680ee" +SRC_URI[sha256sum] = "646b1f29a768e3123a00a9afadf382b4d0dfd54e20fb31023f0d6da066da0864" inherit autotools-brokensep linux-kernel-base pkgconfig systemd useradd @@ -55,8 +55,12 @@ EXTRA_OECONF = " \ --with-unixodbc \ --with-ssh2 \ --with-sqlite3 \ + --with-zlib \ + --with-libpthread \ + --with-libevent \ + --with-libpcre \ " -CFLAGS_append = " -lldap -llber" +CFLAGS_append = " -lldap -llber -pthread" do_configure_prepend() { export KERNEL_VERSION="${KERNEL_VERSION}" diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch b/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch new file mode 100644 index 000000000..b7cdfd964 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php/CVE-2019-6978.patch @@ -0,0 +1,192 @@ +From 089f7c0bc28d399b0420aa6ef058e4c1c120b2ae Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" <cmbecker69@gmx.de> +Date: Sat, 19 Jan 2019 10:35:39 +0100 +Subject: [PATCH] Sync with upstream + +Even though libgd/libgd#492 is not a relevant bug fix for PHP, since +the binding doesn't use the `gdImage*Ptr()` functions at all, we're +porting the fix to stay in sync here. +--- + ext/gd/libgd/gd_gif_out.c | 20 +++++++++++++++++--- + ext/gd/libgd/gd_jpeg.c | 17 ++++++++++++++--- + ext/gd/libgd/gd_wbmp.c | 18 +++++++++++++++--- + 3 files changed, 46 insertions(+), 9 deletions(-) + +Upstream-Status: Backport [http://git.php.net/?p=php-src.git;a=commit;h=089f7c0bc28d399b0420aa6ef058e4c1c120b2ae] +CVE: CVE-2019-6978 + +Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> + +diff --git a/ext/gd/libgd/gd_gif_out.c b/ext/gd/libgd/gd_gif_out.c +index 1f2a6b936a..2e1f38af70 100644 +--- a/ext/gd/libgd/gd_gif_out.c ++++ b/ext/gd/libgd/gd_gif_out.c +@@ -97,12 +97,18 @@ static void cl_hash (register count_int chsize, GifCtx *ctx); + static void char_init (GifCtx *ctx); + static void char_out (int c, GifCtx *ctx); + static void flush_char (GifCtx *ctx); ++ ++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out); ++ + void * gdImageGifPtr (gdImagePtr im, int *size) + { + void *rv; + gdIOCtx *out = gdNewDynamicCtx (2048, NULL); +- gdImageGifCtx (im, out); +- rv = gdDPExtractData (out, size); ++ if (!_gdImageGifCtx(im, out)) { ++ rv = gdDPExtractData(out, size); ++ } else { ++ rv = NULL; ++ } + out->gd_free (out); + return rv; + } +@@ -115,6 +121,12 @@ void gdImageGif (gdImagePtr im, FILE * outFile) + } + + void gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) ++{ ++ _gdImageGifCtx(im, out); ++} ++ ++/* returns 0 on success, 1 on failure */ ++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) + { + gdImagePtr pim = 0, tim = im; + int interlace, BitsPerPixel; +@@ -125,7 +137,7 @@ void gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) + based temporary image. */ + pim = gdImageCreatePaletteFromTrueColor(im, 1, 256); + if (!pim) { +- return; ++ return 1; + } + tim = pim; + } +@@ -138,6 +150,8 @@ void gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) + /* Destroy palette based temporary image. */ + gdImageDestroy( pim); + } ++ ++ return 0; + } + + static int +diff --git a/ext/gd/libgd/gd_jpeg.c b/ext/gd/libgd/gd_jpeg.c +index 8cf71fcbc9..ef46c4a22c 100644 +--- a/ext/gd/libgd/gd_jpeg.c ++++ b/ext/gd/libgd/gd_jpeg.c +@@ -132,6 +132,7 @@ const char * gdJpegGetVersionString() + } + } + ++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality); + + /* + * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality +@@ -153,8 +154,11 @@ void *gdImageJpegPtr (gdImagePtr im, int *size, int quality) + { + void *rv; + gdIOCtx *out = gdNewDynamicCtx (2048, NULL); +- gdImageJpegCtx (im, out, quality); +- rv = gdDPExtractData (out, size); ++ if (!_gdImageJpegCtx(im, out, quality)) { ++ rv = gdDPExtractData(out, size); ++ } else { ++ rv = NULL; ++ } + out->gd_free (out); + + return rv; +@@ -163,6 +167,12 @@ void *gdImageJpegPtr (gdImagePtr im, int *size, int quality) + void jpeg_gdIOCtx_dest (j_compress_ptr cinfo, gdIOCtx * outfile); + + void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality) ++{ ++ _gdImageJpegCtx(im, outfile, quality); ++} ++ ++/* returns 0 on success, 1 on failure */ ++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) + { + struct jpeg_compress_struct cinfo; + struct jpeg_error_mgr jerr; +@@ -184,7 +194,7 @@ void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality) + if (row) { + gdFree (row); + } +- return; ++ return 1; + } + + cinfo.err->error_exit = fatal_jpeg_error; +@@ -277,6 +287,7 @@ void gdImageJpegCtx (gdImagePtr im, gdIOCtx * outfile, int quality) + jpeg_finish_compress (&cinfo); + jpeg_destroy_compress (&cinfo); + gdFree (row); ++ return 0; + } + + gdImagePtr gdImageCreateFromJpeg (FILE * inFile) +diff --git a/ext/gd/libgd/gd_wbmp.c b/ext/gd/libgd/gd_wbmp.c +index 55ced3443d..fd9edad2ca 100644 +--- a/ext/gd/libgd/gd_wbmp.c ++++ b/ext/gd/libgd/gd_wbmp.c +@@ -82,6 +82,7 @@ int gd_getin (void *in) + return (gdGetC((gdIOCtx *) in)); + } + ++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out); + + /* gdImageWBMPCtx + ** -------------- +@@ -93,6 +94,12 @@ int gd_getin (void *in) + ** out: the stream where to write + */ + void gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out) ++{ ++ _gdImageWBMPCtx(image, fg, out); ++} ++ ++/* returns 0 on success, 1 on failure */ ++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) + { + int x, y, pos; + Wbmp *wbmp; +@@ -100,7 +107,7 @@ void gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out) + /* create the WBMP */ + if ((wbmp = createwbmp (gdImageSX (image), gdImageSY (image), WBMP_WHITE)) == NULL) { + gd_error("Could not create WBMP"); +- return; ++ return 1; + } + + /* fill up the WBMP structure */ +@@ -116,7 +123,9 @@ void gdImageWBMPCtx (gdImagePtr image, int fg, gdIOCtx * out) + + /* write the WBMP to a gd file descriptor */ + if (writewbmp (wbmp, &gd_putout, out)) { ++ freewbmp(wbmp); + gd_error("Could not save WBMP"); ++ return 1; + } + /* des submitted this bugfix: gdFree the memory. */ + freewbmp(wbmp); +@@ -204,8 +213,11 @@ void * gdImageWBMPPtr (gdImagePtr im, int *size, int fg) + { + void *rv; + gdIOCtx *out = gdNewDynamicCtx(2048, NULL); +- gdImageWBMPCtx(im, fg, out); +- rv = gdDPExtractData(out, size); ++ if (!_gdImageWBMPCtx(im, fg, out)) { ++ rv = gdDPExtractData(out, size); ++ } else { ++ rv = NULL; ++ } + out->gd_free(out); + + return rv; +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.9.bb b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.9.bb index 23ab7ca8e..a5c7b9b6b 100644 --- a/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.9.bb +++ b/meta-openembedded/meta-oe/recipes-devtools/php/php_7.3.9.bb @@ -7,6 +7,7 @@ SRC_URI += "file://0001-acinclude.m4-don-t-unset-cache-variables.patch \ file://0049-ext-intl-Use-pkg-config-to-detect-icu.patch \ file://0001-Use-pkg-config-for-libxml2-detection.patch \ file://debian-php-fixheader.patch \ + file://CVE-2019-6978.patch \ " SRC_URI_append_class-target = " \ file://pear-makefile.patch \ diff --git a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb index b6e0c92f6..c7e872409 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/renderdoc/renderdoc_1.4.bb @@ -14,7 +14,9 @@ DEPENDS += "virtual/libx11 virtual/libgl libxcb xcb-util-keysyms vim-native" RDEPENDS_${PN} = "libxcb xcb-util-keysyms" -inherit cmake python3native +inherit cmake python3native distro_features_check + +REQUIRED_DISTRO_FEATURES = "x11" python __anonymous () { # only works on glibc systems diff --git a/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb b/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb index 3a88f12ec..c2b345da6 100644 --- a/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb +++ b/meta-openembedded/meta-oe/recipes-graphics/xscreensaver/xscreensaver_5.39.bb @@ -15,7 +15,7 @@ SRC_URI += " \ DEPENDS = "intltool-native libx11 libxext libxt libxft glib-2.0-native bc-native" # These are only needed as part of the stopgap screensaver implementation: -RDEPENDS_${PN} += "xserver-nodm-init liberation-fonts" +RDEPENDS_${PN} += "liberation-fonts" inherit systemd perlnative pkgconfig gettext autotools-brokensep distro_features_check diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2019-6978.patch b/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2019-6978.patch new file mode 100644 index 000000000..9beb23e83 --- /dev/null +++ b/meta-openembedded/meta-oe/recipes-support/gd/gd/CVE-2019-6978.patch @@ -0,0 +1,299 @@ +From 553702980ae89c83f2d6e254d62cf82e204956d0 Mon Sep 17 00:00:00 2001 +From: "Christoph M. Becker" <cmbecker69@gmx.de> +Date: Thu, 17 Jan 2019 11:54:55 +0100 +Subject: [PATCH] Fix #492: Potential double-free in gdImage*Ptr() + +Whenever `gdImage*Ptr()` calls `gdImage*Ctx()` and the latter fails, we +must not call `gdDPExtractData()`; otherwise a double-free would +happen. Since `gdImage*Ctx()` are void functions, and we can't change +that for BC reasons, we're introducing static helpers which are used +internally. + +We're adding a regression test for `gdImageJpegPtr()`, but not for +`gdImageGifPtr()` and `gdImageWbmpPtr()` since we don't know how to +trigger failure of the respective `gdImage*Ctx()` calls. + +This potential security issue has been reported by Solmaz Salimi (aka. +Rooney). +--- + src/gd_gif_out.c | 18 +++++++++++++++--- + src/gd_jpeg.c | 20 ++++++++++++++++---- + src/gd_wbmp.c | 21 ++++++++++++++++++--- + tests/jpeg/.gitignore | 1 + + tests/jpeg/CMakeLists.txt | 1 + + tests/jpeg/Makemodule.am | 3 ++- + tests/jpeg/jpeg_ptr_double_free.c | 31 +++++++++++++++++++++++++++++++ + 7 files changed, 84 insertions(+), 11 deletions(-) + create mode 100644 tests/jpeg/jpeg_ptr_double_free.c + +Upstream-Status: Backport [https://github.com/libgd/libgd/commit/553702980ae89c83f2d6e254d62cf82e204956d0] +CVE: CVE-2019-6978 + +Signed-off-by: Trevor Gamblin <trevor.gamblin@windriver.com> + + +diff --git a/src/gd_gif_out.c b/src/gd_gif_out.c +index 298a581..d5a9534 100644 +--- a/src/gd_gif_out.c ++++ b/src/gd_gif_out.c +@@ -99,6 +99,7 @@ static void char_init(GifCtx *ctx); + static void char_out(int c, GifCtx *ctx); + static void flush_char(GifCtx *ctx); + ++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out); + + + +@@ -131,8 +132,11 @@ BGD_DECLARE(void *) gdImageGifPtr(gdImagePtr im, int *size) + void *rv; + gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; +- gdImageGifCtx(im, out); +- rv = gdDPExtractData(out, size); ++ if (!_gdImageGifCtx(im, out)) { ++ rv = gdDPExtractData(out, size); ++ } else { ++ rv = NULL; ++ } + out->gd_free(out); + return rv; + } +@@ -220,6 +224,12 @@ BGD_DECLARE(void) gdImageGif(gdImagePtr im, FILE *outFile) + + */ + BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) ++{ ++ _gdImageGifCtx(im, out); ++} ++ ++/* returns 0 on success, 1 on failure */ ++static int _gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) + { + gdImagePtr pim = 0, tim = im; + int interlace, BitsPerPixel; +@@ -231,7 +241,7 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) + based temporary image. */ + pim = gdImageCreatePaletteFromTrueColor(im, 1, 256); + if(!pim) { +- return; ++ return 1; + } + tim = pim; + } +@@ -247,6 +257,8 @@ BGD_DECLARE(void) gdImageGifCtx(gdImagePtr im, gdIOCtxPtr out) + /* Destroy palette based temporary image. */ + gdImageDestroy( pim); + } ++ ++ return 0; + } + + +diff --git a/src/gd_jpeg.c b/src/gd_jpeg.c +index fc05842..96ef430 100644 +--- a/src/gd_jpeg.c ++++ b/src/gd_jpeg.c +@@ -117,6 +117,8 @@ static void fatal_jpeg_error(j_common_ptr cinfo) + exit(99); + } + ++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality); ++ + /* + * Write IM to OUTFILE as a JFIF-formatted JPEG image, using quality + * QUALITY. If QUALITY is in the range 0-100, increasing values +@@ -231,8 +233,11 @@ BGD_DECLARE(void *) gdImageJpegPtr(gdImagePtr im, int *size, int quality) + void *rv; + gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; +- gdImageJpegCtx(im, out, quality); +- rv = gdDPExtractData(out, size); ++ if (!_gdImageJpegCtx(im, out, quality)) { ++ rv = gdDPExtractData(out, size); ++ } else { ++ rv = NULL; ++ } + out->gd_free(out); + return rv; + } +@@ -253,6 +258,12 @@ void jpeg_gdIOCtx_dest(j_compress_ptr cinfo, gdIOCtx *outfile); + + */ + BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) ++{ ++ _gdImageJpegCtx(im, outfile, quality); ++} ++ ++/* returns 0 on success, 1 on failure */ ++static int _gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) + { + struct jpeg_compress_struct cinfo; + struct jpeg_error_mgr jerr; +@@ -287,7 +298,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) + if(row) { + gdFree(row); + } +- return; ++ return 1; + } + + cinfo.err->emit_message = jpeg_emit_message; +@@ -328,7 +339,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) + if(row == 0) { + gd_error("gd-jpeg: error: unable to allocate JPEG row structure: gdCalloc returns NULL\n"); + jpeg_destroy_compress(&cinfo); +- return; ++ return 1; + } + + rowptr[0] = row; +@@ -405,6 +416,7 @@ BGD_DECLARE(void) gdImageJpegCtx(gdImagePtr im, gdIOCtx *outfile, int quality) + jpeg_finish_compress(&cinfo); + jpeg_destroy_compress(&cinfo); + gdFree(row); ++ return 0; + } + + +diff --git a/src/gd_wbmp.c b/src/gd_wbmp.c +index f19a1c9..a49bdbe 100644 +--- a/src/gd_wbmp.c ++++ b/src/gd_wbmp.c +@@ -88,6 +88,8 @@ int gd_getin(void *in) + return (gdGetC((gdIOCtx *)in)); + } + ++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out); ++ + /* + Function: gdImageWBMPCtx + +@@ -100,6 +102,12 @@ int gd_getin(void *in) + out - the stream where to write + */ + BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) ++{ ++ _gdImageWBMPCtx(image, fg, out); ++} ++ ++/* returns 0 on success, 1 on failure */ ++static int _gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) + { + int x, y, pos; + Wbmp *wbmp; +@@ -107,7 +115,7 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) + /* create the WBMP */ + if((wbmp = createwbmp(gdImageSX(image), gdImageSY(image), WBMP_WHITE)) == NULL) { + gd_error("Could not create WBMP\n"); +- return; ++ return 1; + } + + /* fill up the WBMP structure */ +@@ -123,11 +131,15 @@ BGD_DECLARE(void) gdImageWBMPCtx(gdImagePtr image, int fg, gdIOCtx *out) + + /* write the WBMP to a gd file descriptor */ + if(writewbmp(wbmp, &gd_putout, out)) { ++ freewbmp(wbmp); + gd_error("Could not save WBMP\n"); ++ return 1; + } + + /* des submitted this bugfix: gdFree the memory. */ + freewbmp(wbmp); ++ ++ return 0; + } + + /* +@@ -271,8 +283,11 @@ BGD_DECLARE(void *) gdImageWBMPPtr(gdImagePtr im, int *size, int fg) + void *rv; + gdIOCtx *out = gdNewDynamicCtx(2048, NULL); + if (out == NULL) return NULL; +- gdImageWBMPCtx(im, fg, out); +- rv = gdDPExtractData(out, size); ++ if (!_gdImageWBMPCtx(im, fg, out)) { ++ rv = gdDPExtractData(out, size); ++ } else { ++ rv = NULL; ++ } + out->gd_free(out); + return rv; + } +diff --git a/tests/jpeg/.gitignore b/tests/jpeg/.gitignore +index c28aa87..13bcf04 100644 +--- a/tests/jpeg/.gitignore ++++ b/tests/jpeg/.gitignore +@@ -3,5 +3,6 @@ + /jpeg_empty_file + /jpeg_im2im + /jpeg_null ++/jpeg_ptr_double_free + /jpeg_read + /jpeg_resolution +diff --git a/tests/jpeg/CMakeLists.txt b/tests/jpeg/CMakeLists.txt +index 19964b0..a8d8162 100644 +--- a/tests/jpeg/CMakeLists.txt ++++ b/tests/jpeg/CMakeLists.txt +@@ -2,6 +2,7 @@ IF(JPEG_FOUND) + LIST(APPEND TESTS_FILES + jpeg_empty_file + jpeg_im2im ++ jpeg_ptr_double_free + jpeg_null + ) + +diff --git a/tests/jpeg/Makemodule.am b/tests/jpeg/Makemodule.am +index 7e5d317..b89e169 100644 +--- a/tests/jpeg/Makemodule.am ++++ b/tests/jpeg/Makemodule.am +@@ -2,7 +2,8 @@ if HAVE_LIBJPEG + libgd_test_programs += \ + jpeg/jpeg_empty_file \ + jpeg/jpeg_im2im \ +- jpeg/jpeg_null ++ jpeg/jpeg_null \ ++ jpeg/jpeg_ptr_double_free + + if HAVE_LIBPNG + libgd_test_programs += \ +diff --git a/tests/jpeg/jpeg_ptr_double_free.c b/tests/jpeg/jpeg_ptr_double_free.c +new file mode 100644 +index 0000000..df5a510 +--- /dev/null ++++ b/tests/jpeg/jpeg_ptr_double_free.c +@@ -0,0 +1,31 @@ ++/** ++ * Test that failure to convert to JPEG returns NULL ++ * ++ * We are creating an image, set its width to zero, and pass this image to ++ * `gdImageJpegPtr()` which is supposed to fail, and as such should return NULL. ++ * ++ * See also <https://github.com/libgd/libgd/issues/381> ++ */ ++ ++ ++#include "gd.h" ++#include "gdtest.h" ++ ++ ++int main() ++{ ++ gdImagePtr src, dst; ++ int size; ++ ++ src = gdImageCreateTrueColor(1, 10); ++ gdTestAssert(src != NULL); ++ ++ src->sx = 0; /* this hack forces gdImageJpegPtr() to fail */ ++ ++ dst = gdImageJpegPtr(src, &size, 0); ++ gdTestAssert(dst == NULL); ++ ++ gdImageDestroy(src); ++ ++ return gdNumFailures(); ++} +-- +2.17.1 + diff --git a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb index c846bda6b..35f9bb251 100644 --- a/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb +++ b/meta-openembedded/meta-oe/recipes-support/gd/gd_2.2.5.bb @@ -16,6 +16,7 @@ DEPENDS = "freetype libpng jpeg zlib tiff" SRC_URI = "git://github.com/libgd/libgd.git;branch=GD-2.2 \ file://0001-annotate.c-gdft.c-Replace-strncpy-with-memccpy-to-fi.patch \ file://CVE-2018-1000222.patch \ + file://CVE-2019-6978.patch \ " SRCREV = "8255231b68889597d04d451a72438ab92a405aba" diff --git a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.29.bb index b80bb4efa..821ca1938 100644 --- a/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.28.bb +++ b/meta-openembedded/meta-oe/recipes-support/libteam/libteam_1.29.bb @@ -13,7 +13,7 @@ SRC_URI = "git://github.com/jpirko/libteam \ file://0001-team_basic_test.py-disable-RedHat-specific-test.patch \ file://run-ptest \ " -SRCREV = "903950c7fcf28c32f4b62d9d1c07c0234e8378a2" +SRCREV = "e897f02bf2403d4859a99e090e34ea768b4c0540" S = "${WORKDIR}/git" diff --git a/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb b/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb index 519020f3b..702217a33 100644 --- a/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb +++ b/meta-openembedded/meta-oe/recipes-support/smem/smem_1.4.bb @@ -25,3 +25,7 @@ do_install() { install -m 0644 ${S}/smem.8 ${D}/${mandir}/man8/ } RDEPENDS_${PN} += "python-textutils python-compression python-shell python-codecs" + +PACKAGES =+ "smemcap" + +FILES_smemcap = "${bindir}/smemcap" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-toml.inc b/meta-openembedded/meta-python/recipes-devtools/python/python-toml.inc new file mode 100644 index 000000000..a3b3dfc86 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-toml.inc @@ -0,0 +1,10 @@ +SUMMARY = "Python Library for Tom's Obvious, Minimal Language" +HOMEPAGE = "https://github.com/uiri/toml" +LICENSE = "MIT" +SECTION = "devel/python" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6d6012eea477117abf51c31262a152f8" + +SRC_URI[md5sum] = "63fffbe2d632865ec29cd69bfdf36682" +SRC_URI[sha256sum] = "229f81c57791a41d65e399fc06bf0848bab550a9dfd5ed66df18ce5f05e73d5c" + +inherit pypi diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python-toml_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python-toml_0.10.0.bb new file mode 100644 index 000000000..3c4acce67 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python-toml_0.10.0.bb @@ -0,0 +1,6 @@ +inherit setuptools +require python-toml.inc + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-datetime \ +" diff --git a/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb b/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb new file mode 100644 index 000000000..cebb41a53 --- /dev/null +++ b/meta-openembedded/meta-python/recipes-devtools/python/python3-toml_0.10.0.bb @@ -0,0 +1,6 @@ +inherit setuptools3 +require python-toml.inc + +RDEPENDS_${PN} += " \ + ${PYTHON_PN}-misc \ +" |