poky: subtree update:03d4d9d68f..52a625582e

Alejandro Enedino Hernandez Samaniego (2):
      documentation: Update multiconfig syntax and explanation on BBMULTICONFIG
      bitbake: bitbake-user-manual: Update multiconfig syntax and explanation of BBMULTICONFIG

Alexander Kanavin (27):
      ethtool, libcap: fix upstream version check
      socat: turn hard readline dependency into an option
      perl: make gdbm optional
      python3: make gdbm optional
      python3: un-break disabling the readline PACKAGECONFIG
      libcheck: split /usr/bin/checkmk into its own package
      iproute2: make elfutils support optional
      bind: do not RDEPEND on bash
      elfutils: do not depend on target libtool
      license.bbclass: split incompatible license check into a helper function
      license_image.bbclass: check and reject packages which have incompatible licenses
      runqemu: unset another environment variable for 'egl-headless'
      gobject-introspection: update to 1.62.0
      glib-2.0: upgrade to 2.62.1
      glib-networking: update to 2.62.1
      epiphany: upgrade 3.32.4 -> 3.34.1
      webkitgtk: update 2.24.4 -> 2.26.1
      gtk-doc: upgrade 1.31 -> 1.32
      libdazzle: upgrade 3.32.3 -> 3.34.1
      libsecret: upgrade 0.19.0 -> 0.19.1
      mpg123: upgrade 1.25.11 -> 1.25.12
      p11-kit: upgrade 0.23.16.1 -> 0.23.18.1
      vala: upgrade 0.44.7 -> 0.46.3
      meson: update to 0.52.0
      libmodulemd-v1: introduce the recipe
      libmodulemd: remove the recipe
      createrepo-c: upgrade to 0.15.1

Alistair Francis (1):
      gdb: Bump from 8.3 to 8.3.1

Bruce Ashfield (2):
      linux-yocto-rt/5.2: update to -rt9
      linux-yocto/5.2: fix strace/ptrace long runtime issues

Changqing Li (1):
      llvm: remove -mlongcall from CXXFLAGS for powerpc

Chen Qi (2):
      python: CVE-2019-16056
      python3: CVE-2019-16056

Christophe PRIOUZEAU (23):
      ovmf: Clarify BSD license variant
      wpa-supplicant: Clarify BSD license variant
      cmake: Clarify BSD license variant
      flex: Clarify BSD license variant
      file: Clarify BSD license variant
      python-async: Clarify BSD license variant
      python-smmap: Clarify BSD license variant
      libtirpc: Clarify BSD license variant
      libarchive: Clarify BSD license variant
      pbzip2: Clarify BSD license variant
      lighttpd: Clarify BSD license variant
      rpcbind: Clarify BSD license variant
      tcp-wrappers: Clarify BSD license variant
      libxpm: Clarify BSD license variant
      libogg: Clarify BSD license variant
      libvorbis: Clarify BSD license variant
      libtheora: Clarify BSD license variant
      speex: Clarify BSD license variant
      speexdsp: Clarify BSD license variant
      libwebp: Clarify BSD license variant
      libpcre: Clarify BSD license variant
      p11-kit: Clarify BSD license variant
      libpcap: Clarify BSD license variant

David Reyna (1):
      bitbake: toaster: Enable Zeus branch in place of Thud

Jaewon Lee (1):
      devtool/standard.py: Not filtering devtool workspace for devtool finish

Joerg Vehlow (1):
      runqemu: Remove disabling of high resolution timer

Kai Kang (1):
      dnf.py: check busybox for case test_dnf_installroot

Khem Raj (7):
      musl: Update to latest
      qemu: Add ppc64 to QEMU_TARGETS
      ghostscript: Disable libpaper
      perl: Handle PACKAGES_DYNAMIC for perl-native
      gnu-efi: Do not use gcc-only options when building with clang
      llvm: Update to 9.0.0
      glib-2.0: Fix build with clang compiler

Martin Jansa (1):
      kernel-devicetree.bbclass: add missing backslash

Maxime Roussin-Bélanger (4):
      meta: add missing some description in devtools
      meta: simplify over descriptive descriptions in devtools
      shadow: update homepage and bugtracker
      meta: add missing description in recipes-extended

Michael Cooper (1):
      wic/direct: Partition numbering is broken for MBR primary partition #4

Michael Halstead (1):
      uninative: Update to 2.7 release

Peiran Hong (1):
      dbus: Change path of system_bus_socket from /var/run/dbus/ to /run/dbus/

Philip Balister (1):
      oe.svg: Copy artwork from openembedded-classic.

Richard Purdie (8):
      layer.conf: Update for zeus series
      layer.conf: Update for zeus series
      bitbake: bitbake: Update to version 1.44.0
      poky.conf: Bump version for 3.0 zeus release
      build-appliance-image: Update to master head revision
      scripts/gen-lockedsig-cache: Don't list paths which don't exist
      readline-native: Fix builds on tumbleweed
      build-appliance-image: Update to master head revision

Ross Burton (15):
      meson: fix RDEPENDS
      meson: update patch status
      meson: fix cross detection
      systemd: don't install udev.pc manually
      systemd: don't install systemd-hwdb-update.service
      insane: add check for perllocal.pod
      ref-system-requirements: update support distribution list
      toolchain-scripts: export READELF
      harfbuzz: add PACKAGECONFIGs for all the optional dependencies
      oeqa/sdk: improve Meson test
      pango: remove obsolete libtool FILES
      bluez5: add needed character encoding for ptests
      oeqa/selftest/imagefeatures: improve test_hypervisor_fmts
      poky: add Ubuntu 19.04 as a supported distribution
      kernel-dev: don't use _append +=

Trevor Gamblin (3):
      watchdog: fix PIDFile path in existing patch
      lib/oe/terminal.py: fix gnome-terminal start behavior
      systemd.bbclass: add RMINITDIR for nativesdk builds

Zang Ruochen (8):
      libpcap:upgrade 1.9.0 -> 1.9.1
      sqlite3:upgrade 3.29 -> 3.30
      expat:upgrade 2.2.8 -> 2.2.9
      librepo:upgrade 1.10.5 -> 1.10.6
      msmtp:upgrade 1.8.5 -> 1.8.6
      libxfont2:upgrade 2.0.3 -> 2.0.4
      fribidi:upgrade 1.0.5 -> 1.0.7
      iso-codes:upgrade 4.3 -> 4.4

Change-Id: I15802c5814d0dbfd90f16d392dbd975f917a8032
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/poky/meta/recipes-devtools/python/python3/0001-bpo-34155-Dont-parse-domains-containing-GH-13079.patch b/poky/meta/recipes-devtools/python/python3/0001-bpo-34155-Dont-parse-domains-containing-GH-13079.patch
new file mode 100644
index 0000000..319e7ed
--- /dev/null
+++ b/poky/meta/recipes-devtools/python/python3/0001-bpo-34155-Dont-parse-domains-containing-GH-13079.patch
@@ -0,0 +1,132 @@
+From 90d56127ae15b1e452755e62c77dc475dedf7161 Mon Sep 17 00:00:00 2001
+From: jpic <jpic@users.noreply.github.com>
+Date: Wed, 17 Jul 2019 23:54:25 +0200
+Subject: [PATCH] bpo-34155: Dont parse domains containing @ (GH-13079)
+
+Before:
+
+        >>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses
+        (Address(display_name='', username='a', domain='malicious.org'),)
+
+        >>> parseaddr('a@malicious.org@important.com')
+        ('', 'a@malicious.org')
+
+    After:
+
+        >>> email.message_from_string('From: a@malicious.org@important.com', policy=email.policy.default)['from'].addresses
+        (Address(display_name='', username='', domain=''),)
+
+        >>> parseaddr('a@malicious.org@important.com')
+        ('', 'a@')
+
+https://bugs.python.org/issue34155
+
+Upstream-Status: Backport [https://github.com/python/cpython/commit/8cb65d1381b027f0b09ee36bfed7f35bb4dec9a9]
+
+CVE: CVE-2019-16056
+
+Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
+---
+ Lib/email/_header_value_parser.py                  |  2 ++
+ Lib/email/_parseaddr.py                            | 11 ++++++++++-
+ Lib/test/test_email/test__header_value_parser.py   | 10 ++++++++++
+ Lib/test/test_email/test_email.py                  | 14 ++++++++++++++
+ .../2019-05-04-13-33-37.bpo-34155.MJll68.rst       |  1 +
+ 5 files changed, 37 insertions(+), 1 deletion(-)
+ create mode 100644 Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
+
+diff --git a/Lib/email/_header_value_parser.py b/Lib/email/_header_value_parser.py
+index fc00b4a098..bbc026ec71 100644
+--- a/Lib/email/_header_value_parser.py
++++ b/Lib/email/_header_value_parser.py
+@@ -1582,6 +1582,8 @@ def get_domain(value):
+         token, value = get_dot_atom(value)
+     except errors.HeaderParseError:
+         token, value = get_atom(value)
++    if value and value[0] == '@':
++        raise errors.HeaderParseError('Invalid Domain')
+     if leader is not None:
+         token[:0] = [leader]
+     domain.append(token)
+diff --git a/Lib/email/_parseaddr.py b/Lib/email/_parseaddr.py
+index cdfa3729ad..41ff6f8c00 100644
+--- a/Lib/email/_parseaddr.py
++++ b/Lib/email/_parseaddr.py
+@@ -379,7 +379,12 @@ class AddrlistClass:
+         aslist.append('@')
+         self.pos += 1
+         self.gotonext()
+-        return EMPTYSTRING.join(aslist) + self.getdomain()
++        domain = self.getdomain()
++        if not domain:
++            # Invalid domain, return an empty address instead of returning a
++            # local part to denote failed parsing.
++            return EMPTYSTRING
++        return EMPTYSTRING.join(aslist) + domain
+ 
+     def getdomain(self):
+         """Get the complete domain name from an address."""
+@@ -394,6 +399,10 @@ class AddrlistClass:
+             elif self.field[self.pos] == '.':
+                 self.pos += 1
+                 sdlist.append('.')
++            elif self.field[self.pos] == '@':
++                # bpo-34155: Don't parse domains with two `@` like
++                # `a@malicious.org@important.com`.
++                return EMPTYSTRING
+             elif self.field[self.pos] in self.atomends:
+                 break
+             else:
+diff --git a/Lib/test/test_email/test__header_value_parser.py b/Lib/test/test_email/test__header_value_parser.py
+index 693487bc96..7dc4de1b7b 100644
+--- a/Lib/test/test_email/test__header_value_parser.py
++++ b/Lib/test/test_email/test__header_value_parser.py
+@@ -1438,6 +1438,16 @@ class TestParser(TestParserMixin, TestEmailBase):
+         self.assertEqual(addr_spec.domain, 'example.com')
+         self.assertEqual(addr_spec.addr_spec, 'star.a.star@example.com')
+ 
++    def test_get_addr_spec_multiple_domains(self):
++        with self.assertRaises(errors.HeaderParseError):
++            parser.get_addr_spec('star@a.star@example.com')
++
++        with self.assertRaises(errors.HeaderParseError):
++            parser.get_addr_spec('star@a@example.com')
++
++        with self.assertRaises(errors.HeaderParseError):
++            parser.get_addr_spec('star@172.17.0.1@example.com')
++
+     # get_obs_route
+ 
+     def test_get_obs_route_simple(self):
+diff --git a/Lib/test/test_email/test_email.py b/Lib/test/test_email/test_email.py
+index c29cc56203..aa775881c5 100644
+--- a/Lib/test/test_email/test_email.py
++++ b/Lib/test/test_email/test_email.py
+@@ -3041,6 +3041,20 @@ class TestMiscellaneous(TestEmailBase):
+         self.assertEqual(utils.parseaddr('<>'), ('', ''))
+         self.assertEqual(utils.formataddr(utils.parseaddr('<>')), '')
+ 
++    def test_parseaddr_multiple_domains(self):
++        self.assertEqual(
++            utils.parseaddr('a@b@c'),
++            ('', '')
++        )
++        self.assertEqual(
++            utils.parseaddr('a@b.c@c'),
++            ('', '')
++        )
++        self.assertEqual(
++            utils.parseaddr('a@172.17.0.1@c'),
++            ('', '')
++        )
++
+     def test_noquote_dump(self):
+         self.assertEqual(
+             utils.formataddr(('A Silly Person', 'person@dom.ain')),
+diff --git a/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
+new file mode 100644
+index 0000000000..50292e29ed
+--- /dev/null
++++ b/Misc/NEWS.d/next/Security/2019-05-04-13-33-37.bpo-34155.MJll68.rst
+@@ -0,0 +1 @@
++Fix parsing of invalid email addresses with more than one ``@`` (e.g. a@b@c.com.) to not return the part before 2nd ``@`` as valid email address. Patch by maxking & jpic.