aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-1.patch52
-rw-r--r--meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-2.patch48
-rw-r--r--meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb2
-rw-r--r--meta-networking/recipes-connectivity/lftp/files/CVE-2018-10916.patch82
-rw-r--r--meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb1
-rw-r--r--meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb3
-rw-r--r--meta-networking/recipes-connectivity/samba/samba_4.6.7.bb3
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch32
-rw-r--r--meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb4
-rw-r--r--meta-networking/recipes-support/arptables/arptables_git.bb3
-rw-r--r--meta-networking/recipes-support/dnsmasq/dnsmasq.inc4
-rw-r--r--meta-networking/recipes-support/dovecot/dovecot/0001-doveadm-Fix-parallel-build.patch38
-rw-r--r--meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb4
-rw-r--r--meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch38
-rw-r--r--meta-networking/recipes-support/open-isns/open-isns_0.97.bb6
-rw-r--r--meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch54
-rw-r--r--meta-networking/recipes-support/stunnel/stunnel_5.35.bb4
-rw-r--r--meta-networking/recipes-support/wireshark/wireshark_2.2.16.bb (renamed from meta-networking/recipes-support/wireshark/wireshark_2.2.10.bb)6
-rw-r--r--meta-oe/licenses/FLTK530
-rw-r--r--meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb2
-rw-r--r--meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb18
-rw-r--r--meta-oe/recipes-devtools/lua/lua_5.3.4.bb2
-rw-r--r--meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch5241
-rw-r--r--meta-oe/recipes-devtools/php/php_7.1.9.bb1
-rw-r--r--meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb2
-rw-r--r--meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb2
-rw-r--r--meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb2
-rw-r--r--meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb3
-rw-r--r--meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb9
-rw-r--r--meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch5
-rw-r--r--meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb4
-rw-r--r--meta-oe/recipes-extended/libreport/libreport_2.9.2.bb6
-rw-r--r--meta-oe/recipes-extended/polkit/polkit_0.113.bb4
-rw-r--r--meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb8
-rw-r--r--meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb8
-rw-r--r--meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb (renamed from meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb)10
-rw-r--r--meta-oe/recipes-graphics/tslib/tslib_1.1.bb2
-rw-r--r--meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb14
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb7
-rw-r--r--meta-oe/recipes-support/fltk/fltk-native.bb5
-rw-r--r--meta-oe/recipes-support/fltk/fltk.bb2
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools/sgidef.patch17
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb1
-rw-r--r--meta-oe/recipes-support/mysql/mariadb.inc1
-rw-r--r--meta-oe/recipes-support/openct/openct_0.6.20.bb8
-rw-r--r--meta-oe/recipes-support/openldap/openldap_2.4.45.bb1
-rw-r--r--meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb2
-rw-r--r--meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb (renamed from meta-oe/recipes-support/postgresql/postgresql_9.4.13.bb)4
-rw-r--r--meta-python/recipes-devtools/python/python-asn1crypto.inc1
-rw-r--r--meta-python/recipes-devtools/python/python-attrs.inc9
-rw-r--r--meta-python/recipes-devtools/python/python-attrs_17.3.0.bb2
-rw-r--r--meta-python/recipes-devtools/python/python-automat.inc24
-rw-r--r--meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch52
-rw-r--r--meta-python/recipes-devtools/python/python-automat_0.6.0.bb2
-rw-r--r--meta-python/recipes-devtools/python/python-constantly.inc11
-rw-r--r--meta-python/recipes-devtools/python/python-constantly_15.1.0.bb2
-rw-r--r--meta-python/recipes-devtools/python/python-cryptography.inc6
-rw-r--r--meta-python/recipes-devtools/python/python-evdev_0.7.0.bb7
-rw-r--r--meta-python/recipes-devtools/python/python-hyperlink.inc17
-rw-r--r--meta-python/recipes-devtools/python/python-hyperlink_17.3.1.bb2
-rw-r--r--meta-python/recipes-devtools/python/python-incremental.inc14
-rw-r--r--meta-python/recipes-devtools/python/python-incremental_17.5.0.bb2
-rw-r--r--meta-python/recipes-devtools/python/python3-asn1crypto_0.23.0.bb2
-rw-r--r--meta-python/recipes-devtools/python/python3-attrs_17.3.0.bb2
-rw-r--r--meta-python/recipes-devtools/python/python3-automat_0.6.0.bb4
-rw-r--r--meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb2
-rw-r--r--meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb4
-rw-r--r--meta-python/recipes-devtools/python/python3-incremental_17.5.0.bb2
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb1
-rw-r--r--meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb1
-rw-r--r--meta-webserver/recipes-httpd/apache2/files/CVE-2018-1333.patch44
-rw-r--r--meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.6.bb (renamed from meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.3.bb)4
-rw-r--r--meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.1.bb1
73 files changed, 6433 insertions, 90 deletions
diff --git a/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-1.patch b/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-1.patch
new file mode 100644
index 0000000000..83bef30229
--- /dev/null
+++ b/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-1.patch
@@ -0,0 +1,52 @@
+From 28bdae3d113ef479c1660a581ef720cdc33bf466 Mon Sep 17 00:00:00 2001
+From: Jann Horn <jannh@google.com>
+Date: Fri, 13 Jul 2018 15:15:36 -0700
+Subject: [PATCH] fusermount: don't feed "escaped commas" into mount options
+
+The old code permits the following behavior:
+
+$ _FUSE_COMMFD=10000 priv_strace -etrace=mount -s200 fusermount -o 'foobar=\,allow_other' mount
+mount("/dev/fuse", ".", "fuse", MS_NOSUID|MS_NODEV, "foobar=\\,allow_other,fd=3,rootmode=40000,user_id=1000,group_id=1000") = -1 EINVAL (Invalid argument)
+
+However, backslashes do not have any special meaning for the kernel here.
+
+As it happens, you can't abuse this because there is no FUSE mount option
+that takes a string value that can contain backslashes; but this is very
+brittle. Don't interpret "escape characters" in places where they don't
+work.
+
+CVE: CVE-2018-10906
+Upstream-Status: Backport [https://github.com/libfuse/libfuse/commit/28bdae3d113ef479c1660a581ef720cdc33bf466]
+
+Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
+---
+ util/fusermount.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/util/fusermount.c b/util/fusermount.c
+index 0e1d34d..143bd4a 100644
+--- a/util/fusermount.c
++++ b/util/fusermount.c
+@@ -29,6 +29,7 @@
+ #include <sys/socket.h>
+ #include <sys/utsname.h>
+ #include <sched.h>
++#include <stdbool.h>
+
+ #define FUSE_COMMFD_ENV "_FUSE_COMMFD"
+
+@@ -754,8 +755,10 @@ static int do_mount(const char *mnt, char **typep, mode_t rootmode,
+ unsigned len;
+ const char *fsname_str = "fsname=";
+ const char *subtype_str = "subtype=";
++ bool escape_ok = begins_with(s, fsname_str) ||
++ begins_with(s, subtype_str);
+ for (len = 0; s[len]; len++) {
+- if (s[len] == '\\' && s[len + 1])
++ if (escape_ok && s[len] == '\\' && s[len + 1])
+ len++;
+ else if (s[len] == ',')
+ break;
+--
+2.13.3
+
diff --git a/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-2.patch b/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-2.patch
new file mode 100644
index 0000000000..104aa171bd
--- /dev/null
+++ b/meta-filesystems/recipes-support/fuse/files/CVE-2018-10906-2.patch
@@ -0,0 +1,48 @@
+From 5018a0c016495155ee598b7e0167b43d5d902414 Mon Sep 17 00:00:00 2001
+From: Jann Horn <jannh@google.com>
+Date: Sat, 14 Jul 2018 03:47:50 -0700
+Subject: [PATCH] fusermount: refuse unknown options
+
+Blacklists are notoriously fragile; especially if the kernel wishes to add
+some security-critical mount option at a later date, all existing systems
+with older versions of fusermount installed will suddenly have a security
+problem.
+Additionally, if the kernel's option parsing became a tiny bit laxer, the
+blacklist could probably be bypassed.
+
+Whitelist known-harmless flags instead, even if it's slightly more
+inconvenient.
+
+CVE: CVE-2018-10906
+Upstream-Status: Backport [https://github.com/libfuse/libfuse/commit/5018a0c016495155ee598b7e0167b43d5d902414]
+
+Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
+---
+ util/fusermount.c | 8 +++++++-
+ 1 file changed, 7 insertions(+), 1 deletion(-)
+
+diff --git a/util/fusermount.c b/util/fusermount.c
+index 4e0f51a..2792407 100644
+--- a/util/fusermount.c
++++ b/util/fusermount.c
+@@ -819,10 +819,16 @@ static int do_mount(const char *mnt, char **typep, mode_t rootmode,
+ flags |= flag;
+ else
+ flags &= ~flag;
+- } else {
++ } else if (opt_eq(s, len, "default_permissions") ||
++ opt_eq(s, len, "allow_other") ||
++ begins_with(s, "max_read=") ||
++ begins_with(s, "blksize=")) {
+ memcpy(d, s, len);
+ d += len;
+ *d++ = ',';
++ } else {
++ fprintf(stderr, "%s: unknown option '%.*s'\n", progname, len, s);
++ exit(1);
+ }
+ }
+ }
+--
+2.13.3
+
diff --git a/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb b/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb
index 202d4c3eb8..1eb9b70077 100644
--- a/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb
+++ b/meta-filesystems/recipes-support/fuse/fuse_2.9.7.bb
@@ -15,6 +15,8 @@ SRC_URI = "https://github.com/libfuse/libfuse/releases/download/${BP}/${BP}.tar.
file://aarch64.patch \
file://0001-fuse-fix-the-return-value-of-help-option.patch \
file://fuse.conf \
+ file://CVE-2018-10906-1.patch \
+ file://CVE-2018-10906-2.patch \
"
SRC_URI[md5sum] = "9bd4ce8184745fd3d000ca2692adacdb"
SRC_URI[sha256sum] = "832432d1ad4f833c20e13b57cf40ce5277a9d33e483205fc63c78111b3358874"
diff --git a/meta-networking/recipes-connectivity/lftp/files/CVE-2018-10916.patch b/meta-networking/recipes-connectivity/lftp/files/CVE-2018-10916.patch
new file mode 100644
index 0000000000..213403e82f
--- /dev/null
+++ b/meta-networking/recipes-connectivity/lftp/files/CVE-2018-10916.patch
@@ -0,0 +1,82 @@
+From a27e07d90a4608ceaf928b1babb27d4d803e1992 Mon Sep 17 00:00:00 2001
+From: "Alexander V. Lukyanov" <lavv17f@gmail.com>
+Date: Tue, 31 Jul 2018 10:57:35 +0300
+Subject: [PATCH] mirror: prepend ./ to rm and chmod arguments to avoid URL
+ recognition (fix #452)
+
+CVE: CVE-2018-10916
+Upstream-Status: Backport from v4.8.4
+
+Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
+---
+ src/MirrorJob.cc | 24 +++++++++---------------
+ 1 file changed, 9 insertions(+), 15 deletions(-)
+
+diff --git a/src/MirrorJob.cc b/src/MirrorJob.cc
+index cf106c40..0be45431 100644
+--- a/src/MirrorJob.cc
++++ b/src/MirrorJob.cc
+@@ -1164,24 +1164,21 @@ int MirrorJob::Do()
+ }
+ continue;
+ }
++ bool use_rmdir = (file->TypeIs(file->DIRECTORY)
++ && recursion_mode==RECURSION_NEVER);
+ if(script)
+ {
+- ArgV args("rm");
+- if(file->TypeIs(file->DIRECTORY))
+- {
+- if(recursion_mode==RECURSION_NEVER)
+- args.setarg(0,"rmdir");
+- else
+- args.Append("-r");
+- }
++ ArgV args(use_rmdir?"rmdir":"rm");
++ if(file->TypeIs(file->DIRECTORY) && !use_rmdir)
++ args.Append("-r");
+ args.Append(target_session->GetFileURL(file->name));
+ xstring_ca cmd(args.CombineQuoted());
+ fprintf(script,"%s\n",cmd.get());
+ }
+ if(!script_only)
+ {
+- ArgV *args=new ArgV("rm");
+- args->Append(file->name);
++ ArgV *args=new ArgV(use_rmdir?"rmdir":"rm");
++ args->Append(dir_file(".",file->name));
+ args->seek(1);
+ rmJob *j=new rmJob(target_session->Clone(),args);
+ j->cmdline.set_allocated(args->Combine());
+@@ -1185,10 +1182,7 @@ int MirrorJob::Do()
+ if(file->TypeIs(file->DIRECTORY))
+ {
+ if(recursion_mode==RECURSION_NEVER)
+- {
+- args->setarg(0,"rmdir");
+ j->Rmdir();
+- }
+ else
+ j->Recurse();
+ }
+@@ -1252,7 +1246,7 @@ int MirrorJob::Do()
+ if(!script_only)
+ {
+ ArgV *a=new ArgV("chmod");
+- a->Append(file->name);
++ a->Append(dir_file(".",file->name));
+ a->seek(1);
+ ChmodJob *cj=new ChmodJob(target_session->Clone(),
+ file->mode&~mode_mask,a);
+@@ -1372,7 +1366,7 @@ int MirrorJob::Do()
+ if(!script_only)
+ {
+ ArgV *args=new ArgV("rm");
+- args->Append(file->name);
++ args->Append(dir_file(".",file->name));
+ args->seek(1);
+ rmJob *j=new rmJob(source_session->Clone(),args);
+ j->cmdline.set_allocated(args->Combine());
+--
+2.13.3
+
diff --git a/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb b/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb
index b6b65da736..042b0aa54c 100644
--- a/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb
+++ b/meta-networking/recipes-connectivity/lftp/lftp_4.7.7.bb
@@ -8,6 +8,7 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
SRC_URI = "http://lftp.yar.ru/ftp/lftp-${PV}.tar.bz2 \
file://fix-gcc-6-conflicts-signbit.patch \
+ file://CVE-2018-10916.patch \
"
SRC_URI[md5sum] = "3701e7675baa5619c92622eb141c8301"
SRC_URI[sha256sum] = "fe441f20a9a317cfb99a8b8e628ba0457df472b6d93964d17374d5b5ebdf9280"
diff --git a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
index bfd2aada74..d5f456f37b 100644
--- a/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
+++ b/meta-networking/recipes-connectivity/networkmanager/networkmanager_1.4.4.bb
@@ -60,7 +60,8 @@ do_compile_prepend() {
}
PACKAGECONFIG ??= "nss ifupdown netconfig dhclient dnsmasq \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit', d)} \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', '${BLUEZ}', '', d)} \
${@bb.utils.filter('DISTRO_FEATURES', 'wifi', d)} \
"
diff --git a/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb b/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb
index 59d7425c8d..2b227c95d1 100644
--- a/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb
+++ b/meta-networking/recipes-connectivity/samba/samba_4.6.7.bb
@@ -186,7 +186,8 @@ python samba_populate_packages() {
PACKAGESPLITFUNCS_prepend = "samba_populate_packages "
-RDEPENDS_${PN} += "${PN}-base"
+RDEPENDS_${PN} += "${PN}-base ${PN}-python ${PN}-dsdb-modules"
+RDEPENDS_${PN}-python += "pytalloc python-tdb"
FILES_${PN}-base = "${sbindir}/nmbd \
${sbindir}/smbd \
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch b/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
new file mode 100644
index 0000000000..25eb9c96ff
--- /dev/null
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp/net-snmp-fix-for-disable-des.patch
@@ -0,0 +1,32 @@
+From 270e952f58a7e5ddeabe5a15e3ddaaadf40017d0 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Thu, 22 Jun 2017 10:25:08 +0800
+Subject: [PATCH] net-snmp: fix for --disable-des
+
+Include des.h only if it's found in openssl so that
+the --disable-des works correctly.
+
+Upstream-Status: Submitted [net-snmp-coders@lists.sourceforge.net]
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ snmplib/scapi.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/snmplib/scapi.c b/snmplib/scapi.c
+index 16ac829..271684b 100644
+--- a/snmplib/scapi.c
++++ b/snmplib/scapi.c
+@@ -79,7 +79,9 @@ netsnmp_feature_child_of(usm_scapi, usm_support)
+ #include <openssl/hmac.h>
+ #include <openssl/evp.h>
+ #include <openssl/rand.h>
++#ifdef HAVE_OPENSSL_DES_H
+ #include <openssl/des.h>
++#endif
+ #ifdef HAVE_AES
+ #include <openssl/aes.h>
+ #endif
+--
+2.11.0
+
diff --git a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
index af6fd1b1fe..849ae0763c 100644
--- a/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
+++ b/meta-networking/recipes-protocols/net-snmp/net-snmp_5.7.3.bb
@@ -31,6 +31,7 @@ SRC_URI = "${SOURCEFORGE_MIRROR}/net-snmp/net-snmp-${PV}.zip \
file://0003-CHANGES-BUG-2712-Fix-Perl-module-compilation.patch \
file://0004-configure-fix-incorrect-variable.patch \
file://net-snmp-5.7.2-fix-engineBoots-value-on-SIGHUP.patch \
+ file://net-snmp-fix-for-disable-des.patch \
"
SRC_URI[md5sum] = "9f682bd70c717efdd9f15b686d07baee"
SRC_URI[sha256sum] = "e8dfc79b6539b71a6ff335746ce63d2da2239062ad41872fff4354cafed07a3e"
@@ -59,7 +60,8 @@ EXTRA_OECONF = "--enable-shared \
--with-defaults \
--with-install-prefix=${D} \
--with-persistent-directory=${localstatedir}/lib/net-snmp \
- ${@base_conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)}"
+ ${@base_conditional('SITEINFO_ENDIANNESS', 'le', '--with-endianness=little', '--with-endianness=big', d)} \
+"
# net-snmp needs to have mib-modules=smux enabled to enable quagga to support snmp
EXTRA_OECONF += "--with-mib-modules=smux"
diff --git a/meta-networking/recipes-support/arptables/arptables_git.bb b/meta-networking/recipes-support/arptables/arptables_git.bb
index 274a55d91d..cec1d1f77e 100644
--- a/meta-networking/recipes-support/arptables/arptables_git.bb
+++ b/meta-networking/recipes-support/arptables/arptables_git.bb
@@ -23,7 +23,8 @@ inherit systemd
EXTRA_OEMAKE = "'BINDIR=${sbindir}' 'MANDIR=${mandir}'"
-do_install_append() {
+do_install() {
+ oe_runmake install DESTDIR=${D}
if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
install -d ${D}${systemd_unitdir}/system
install -m 644 ${WORKDIR}/arptables.service ${D}${systemd_unitdir}/system
diff --git a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
index ef79c5f822..4f4bbf144a 100644
--- a/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
+++ b/meta-networking/recipes-support/dnsmasq/dnsmasq.inc
@@ -6,8 +6,8 @@ LICENSE = "GPLv2 | GPLv3"
LIC_FILES_CHKSUM = "file://COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
file://COPYING-v3;md5=d32239bcb673463ab874e80d47fae504"
-#at least versions 2.15 and prior are moved to the archive folder on the server
-SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getVar('PV').split('.')[1]) > 15]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \
+#at least versions 2.69 and prior are moved to the archive folder on the server
+SRC_URI = "http://www.thekelleys.org.uk/dnsmasq/${@['archive/', ''][float(d.getVar('PV').split('.')[1]) > 69]}dnsmasq-${PV}.tar.gz;name=dnsmasq-${PV} \
file://init \
file://dnsmasq.conf \
file://dnsmasq-resolvconf.service \
diff --git a/meta-networking/recipes-support/dovecot/dovecot/0001-doveadm-Fix-parallel-build.patch b/meta-networking/recipes-support/dovecot/dovecot/0001-doveadm-Fix-parallel-build.patch
new file mode 100644
index 0000000000..65ae9bf910
--- /dev/null
+++ b/meta-networking/recipes-support/dovecot/dovecot/0001-doveadm-Fix-parallel-build.patch
@@ -0,0 +1,38 @@
+From be9b3809b86fe593dbb16f0b981b3d315a27b799 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Sun, 22 Oct 2017 22:10:41 -0700
+Subject: [PATCH] doveadm: Fix parallel build
+
+Sometimes dovetail build fails with errors like
+
+doveadm-util.o: file not recognized: File truncated
+collect2: error: ld returned 1 exit status
+make[4]: *** [Makefile:812: test-doveadm-util] Error 1
+
+This is partial backport from
+
+https://github.com/dovecot/core/commit/b200bc3875fa06d42c8619865cc306c3297fcacc
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ src/doveadm/Makefile.am | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/src/doveadm/Makefile.am b/src/doveadm/Makefile.am
+index c644646..6ae9144 100644
+--- a/src/doveadm/Makefile.am
++++ b/src/doveadm/Makefile.am
+@@ -180,8 +180,8 @@ test_libs = \
+ ../lib/liblib.la
+ test_deps = $(noinst_LTLIBRARIES) $(test_libs)
+
+-test_doveadm_util_SOURCES = test-doveadm-util.c
+-test_doveadm_util_LDADD = doveadm-util.o $(test_libs) $(MODULE_LIBS)
++test_doveadm_util_SOURCES = doveadm-util.c test-doveadm-util.c
++test_doveadm_util_LDADD = $(test_libs) $(MODULE_LIBS)
+ test_doveadm_util_DEPENDENCIES = $(test_deps)
+
+ check: check-am check-test
+--
+2.14.2
+
diff --git a/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb b/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
index d834bef71d..1663408736 100644
--- a/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
+++ b/meta-networking/recipes-support/dovecot/dovecot_2.2.29.bb
@@ -8,7 +8,9 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=a981379bd0f1c362f8d1d21515e5b30b"
SRC_URI = "http://dovecot.org/releases/2.2/dovecot-${PV}.tar.gz \
file://0001-configure.ac-convert-AC_TRY_RUN-to-AC_TRY_LINK-state.patch \
file://dovecot.service \
- file://dovecot.socket"
+ file://dovecot.socket \
+ file://0001-doveadm-Fix-parallel-build.patch \
+ "
SRC_URI[md5sum] = "ff95486a5c43025a2c3f5a712e7962b9"
SRC_URI[sha256sum] = "d939ea99126eb8a8c6955390b422b6e27ec0fa43a3b59b2b3218cb5ad67139a6"
diff --git a/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch b/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch
new file mode 100644
index 0000000000..825e2bf6ab
--- /dev/null
+++ b/meta-networking/recipes-support/open-isns/open-isns/0001-util.h-endian.h-is-available-on-musl-on-linux.patch
@@ -0,0 +1,38 @@
+From e0d86318227a23f00cf0f6639a6685bb9f5771a1 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Tue, 12 Dec 2017 09:42:19 -0800
+Subject: [PATCH] util.h: endian.h is available on musl on linux
+
+just checking for glibc alone is not enough since
+it excludes musl, therefore check for platform
+being linux as well
+
+Fixes build issues
+
+include/libisns/util.h:114:12: fatal error: sys/endian.h: No such file or directory
+ # include <sys/endian.h>
+ ^~~~~~~~~~~~~~
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+Upstream-Status: Submitted
+
+ include/libisns/util.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/include/libisns/util.h b/include/libisns/util.h
+index 9a2bd13..6cc1a1b 100644
+--- a/include/libisns/util.h
++++ b/include/libisns/util.h
+@@ -100,7 +100,7 @@ enum {
+ * There's no htonll yet
+ */
+ #ifndef htonll
+-# ifdef __GLIBC__
++# if defined(__GLIBC__) || defined(__linux__)
+ # include <endian.h>
+ # include <byteswap.h>
+ # if __BYTE_ORDER == __BIG_ENDIAN
+--
+2.15.1
+
diff --git a/meta-networking/recipes-support/open-isns/open-isns_0.97.bb b/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
index 420ef5be00..cc2959e2b5 100644
--- a/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
+++ b/meta-networking/recipes-support/open-isns/open-isns_0.97.bb
@@ -13,9 +13,9 @@ SECTION = "net"
DEPENDS = "openssl systemd"
-SRC_URI = " \
- git://github.com/open-iscsi/open-isns \
-"
+SRC_URI = "git://github.com/open-iscsi/open-isns \
+ file://0001-util.h-endian.h-is-available-on-musl-on-linux.patch \
+ "
SRCREV ?= "09954404e948e41eb0fce8e28836018b4ce3d20d"
diff --git a/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch b/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch
new file mode 100644
index 0000000000..209b0dd409
--- /dev/null
+++ b/meta-networking/recipes-support/stunnel/stunnel/fix-openssl-no-des.patch
@@ -0,0 +1,54 @@
+Upstream-Status: Pending
+
+When openssl disable des support with configure option 'no-des', it doesn't
+provide des related header file and functions. That causes stunnel compile
+failed. Fix it by checking macro OPENSSL_NO_DES to use openssl des related
+library conditionaly.
+
+Signed-off-by: Kai Kang <kai.kang@windriver.com>
+---
+diff --git a/src/common.h b/src/common.h
+index f7d38b0..bf485af 100644
+--- a/src/common.h
++++ b/src/common.h
+@@ -471,7 +471,9 @@ extern char *sys_errlist[];
+ #ifndef OPENSSL_NO_MD4
+ #include <openssl/md4.h>
+ #endif /* !defined(OPENSSL_NO_MD4) */
++#ifndef OPENSSL_NO_DES
+ #include <openssl/des.h>
++#endif
+ #ifndef OPENSSL_NO_DH
+ #include <openssl/dh.h>
+ #if OPENSSL_VERSION_NUMBER<0x10100000L
+diff --git a/src/protocol.c b/src/protocol.c
+index 587df09..8198eb6 100644
+--- a/src/protocol.c
++++ b/src/protocol.c
+@@ -66,7 +66,7 @@ NOEXPORT char *imap_server(CLI *, SERVICE_OPTIONS *, const PHASE);
+ NOEXPORT char *nntp_client(CLI *, SERVICE_OPTIONS *, const PHASE);
+ NOEXPORT char *connect_server(CLI *, SERVICE_OPTIONS *, const PHASE);
+ NOEXPORT char *connect_client(CLI *, SERVICE_OPTIONS *, const PHASE);
+-#ifndef OPENSSL_NO_MD4
++#if !defined(OPENSSL_NO_MD4) && !defined(OPENSSL_NO_DES)
+ NOEXPORT void ntlm(CLI *, SERVICE_OPTIONS *);
+ NOEXPORT char *ntlm1();
+ NOEXPORT char *ntlm3(char *, char *, char *, char *);
+@@ -1175,7 +1175,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) {
+ fd_printf(c, c->remote_fd.fd, "Host: %s", opt->protocol_host);
+ if(opt->protocol_username && opt->protocol_password) {
+ if(!strcasecmp(opt->protocol_authentication, "ntlm")) {
+-#ifndef OPENSSL_NO_MD4
++#if !defined(OPENSSL_NO_MD4) && !defined(OPENSSL_NO_DES)
+ ntlm(c, opt);
+ #else
+ s_log(LOG_ERR, "NTLM authentication is not available");
+@@ -1216,7 +1216,7 @@ NOEXPORT char *connect_client(CLI *c, SERVICE_OPTIONS *opt, const PHASE phase) {
+ return NULL;
+ }
+
+-#ifndef OPENSSL_NO_MD4
++#if !defined(OPENSSL_NO_MD4) && !defined(OPENSSL_NO_DES)
+
+ /*
+ * NTLM code is based on the following documentation:
diff --git a/meta-networking/recipes-support/stunnel/stunnel_5.35.bb b/meta-networking/recipes-support/stunnel/stunnel_5.35.bb
index efe9d9e578..ec8478d6be 100644
--- a/meta-networking/recipes-support/stunnel/stunnel_5.35.bb
+++ b/meta-networking/recipes-support/stunnel/stunnel_5.35.bb
@@ -8,7 +8,9 @@ DEPENDS = "openssl zlib tcp-wrappers"
RDEPENDS_${PN} += "perl"
-SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz"
+SRC_URI = "ftp://ftp.stunnel.org/stunnel/archive/5.x/${BP}.tar.gz \
+ file://fix-openssl-no-des.patch \
+"
SRC_URI[md5sum] = "9079f5fafbccaf88b7d92b227d78249a"
SRC_URI[sha256sum] = "ffa386ae4c825f35f35157c285e7402a6d58779ad8c3822f74a9d355b54aba1d"
diff --git a/meta-networking/recipes-support/wireshark/wireshark_2.2.10.bb b/meta-networking/recipes-support/wireshark/wireshark_2.2.16.bb
index 5358ba07f7..abeef693e8 100644
--- a/meta-networking/recipes-support/wireshark/wireshark_2.2.10.bb
+++ b/meta-networking/recipes-support/wireshark/wireshark_2.2.16.bb
@@ -10,8 +10,8 @@ SRC_URI = "https://2.na.dl.wireshark.org/src/all-versions/${BP}.tar.bz2"
PE = "1"
-SRC_URI[md5sum] = "ae3a1a43a6e3687f44a738fd15d78021"
-SRC_URI[sha256sum] = "8574a5e1fdec7affae640924bd46c1aed1bd866e02632fa5625e1450e4a50707"
+SRC_URI[md5sum] = "22128e617f3abdf87f7b5d7864d6d79e"
+SRC_URI[sha256sum] = "7dcc4e9f29ad8dd75849aa3b6f70b6ec82ab6899cb168096572775a6d97ced8a"
inherit autotools pkgconfig perlnative
@@ -39,7 +39,7 @@ 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-ssh=yes, --with-ssh=no, libssh2"
+PACKAGECONFIG[libssh] = "--with-libssh=${STAGING_LIBDIR}, --with-libssh=no, libssh2"
# these next two options require addional layers
diff --git a/meta-oe/licenses/FLTK b/meta-oe/licenses/FLTK
new file mode 100644
index 0000000000..9542075220
--- /dev/null
+++ b/meta-oe/licenses/FLTK
@@ -0,0 +1,530 @@
+ FLTK License
+ December 11, 2001
+
+The FLTK library and included programs are provided under the terms
+of the GNU Library General Public License (LGPL) with the following
+exceptions:
+
+ 1. Modifications to the FLTK configure script, config
+ header file, and makefiles by themselves to support
+ a specific platform do not constitute a modified or
+ derivative work.
+
+ The authors do request that such modifications be
+ contributed to the FLTK project - send all contributions
+ through the "Software Trouble Report" on the following page:
+
+ http://www.fltk.org/str.php
+
+ 2. Widgets that are subclassed from FLTK widgets do not
+ constitute a derivative work.
+
+ 3. Static linking of applications and widgets to the
+ FLTK library does not constitute a derivative work
+ and does not require the author to provide source
+ code for the application or widget, use the shared
+ FLTK libraries, or link their applications or
+ widgets against a user-supplied version of FLTK.
+
+ If you link the application or widget to a modified
+ version of FLTK, then the changes to FLTK must be
+ provided under the terms of the LGPL in sections
+ 1, 2, and 4.
+
+ 4. You do not have to provide a copy of the FLTK license
+ with programs that are linked to the FLTK library, nor
+ do you have to identify the FLTK license in your
+ program or documentation as required by section 6
+ of the LGPL.
+
+ However, programs must still identify their use of FLTK.
+ The following example statement can be included in user
+ documentation to satisfy this requirement:
+
+ [program/widget] is based in part on the work of
+ the FLTK project (http://www.fltk.org).
+
+-----------------------------------------------------------------------
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ Version 2, June 1991
+
+ Copyright (C) 1991 Free Software Foundation, Inc.
+ 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ [This is the first released version of the library GPL. It is
+ numbered 2 because it goes with version 2 of the ordinary GPL.]
+
+ Preamble
+
+ The licenses for most software are designed to take away your
+freedom to share and change it. By contrast, the GNU General Public
+Licenses are intended to guarantee your freedom to share and change
+free software--to make sure the software is free for all its users.
+
+ This license, the Library General Public License, applies to some
+specially designated Free Software Foundation software, and to any
+other libraries whose authors decide to use it. You can use it for
+your libraries, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if
+you distribute copies of the library, or if you modify it.
+
+ For example, if you distribute copies of the library, whether gratis
+or for a fee, you must give the recipients all the rights that we gave
+you. You must make sure that they, too, receive or can get the source
+code. If you link a program with the library, you must provide
+complete object files to the recipients so that they can relink them
+with the library, after making changes to the library and recompiling
+it. And you must show them these terms so they know their rights.
+
+ Our method of protecting your rights has two steps: (1) copyright
+the library, and (2) offer you this license which gives you legal
+permission to copy, distribute and/or modify the library.
+
+ Also, for each distributor's protection, we want to make certain
+that everyone understands that there is no warranty for this free
+library. If the library is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original
+version, so that any problems introduced by others will not reflect on
+the original authors' reputations.
+
+ Finally, any free program is threatened constantly by software
+patents. We wish to avoid the danger that companies distributing free
+software will individually obtain patent licenses, thus in effect
+transforming the program into proprietary software. To prevent this,
+we have made it clear that any patent must be licensed for everyone's
+free use or not licensed at all.
+
+ Most GNU software, including some libraries, is covered by the ordinary
+GNU General Public License, which was designed for utility programs. This
+license, the GNU Library General Public License, applies to certain
+designated libraries. This license is quite different from the ordinary
+one; be sure to read it in full, and don't assume that anything in it is
+the same as in the ordinary license.
+
+ The reason we have a separate public license for some libraries is that
+they blur the distinction we usually make between modifying or adding to a
+program and simply using it. Linking a program with a library, without
+changing the library, is in some sense simply using the library, and is
+analogous to running a utility program or application program. However, in
+a textual and legal sense, the linked executable is a combined work, a
+derivative of the original library, and the ordinary General Public License
+treats it as such.
+
+ Because of this blurred distinction, using the ordinary General
+Public License for libraries did not effectively promote software
+sharing, because most developers did not use the libraries. We
+concluded that weaker conditions might promote sharing better.
+
+ However, unrestricted linking of non-free programs would deprive the
+users of those programs of all benefit from the free status of the
+libraries themselves. This Library General Public License is intended to
+permit developers of non-free programs to use free libraries, while
+preserving your freedom as a user of such programs to change the free
+libraries that are incorporated in them. (We have not seen how to achieve
+this as regards changes in header files, but we have achieved it as regards
+changes in the actual functions of the Library.) The hope is that this
+will lead to faster development of free libraries.
+
+ The precise terms and conditions for copying, distribution and
+modification follow. Pay close attention to the difference between a
+"work based on the library" and a "work that uses the library". The
+former contains code derived from the library, while the latter only
+works together with the library.
+
+ Note that it is possible for a library to be covered by the ordinary
+General Public License rather than by this special one.
+
+ GNU LIBRARY GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any software library which
+contains a notice placed by the copyright holder or other authorized
+party saying it may be distributed under the terms of this Library
+General Public License (also called "this License"). Each licensee is
+addressed as "you".
+
+ A "library" means a collection of software functions and/or data
+prepared so as to be conveniently linked with application programs
+(which use some of those functions and data) to form executables.
+
+ The "Library", below, refers to any such software library or work
+which has been distributed under these terms. A "work based on the
+Library" means either the Library or any derivative work under
+copyright law: that is to say, a work containing the Library or a
+portion of it, either verbatim or with modifications and/or translated
+straightforwardly into another language. (Hereinafter, translation is
+included without limitation in the term "modification".)
+
+ "Source code" for a work means the preferred form of the work for
+making modifications to it. For a library, complete source code means
+all the source code for all modules it contains, plus any associated
+interface definition files, plus the scripts used to control compilation
+and installation of the library.
+
+ Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope. The act of
+running a program using the Library is not restricted, and output from
+such a program is covered only if its contents constitute a work based
+on the Library (independent of the use of the Library in a tool for
+writing it). Whether that is true depends on what the Library does
+and what the program that uses the Library does.
+
+ 1. You may copy and distribute verbatim copies of the Library's
+complete source code as you receive it, in any medium, provided that
+you conspicuously and appropriately publish on each copy an
+appropriate copyright notice and disclaimer of warranty; keep intact
+all the notices that refer to this License and to the absence of any
+warranty; and distribute a copy of this License along with the
+Library.
+
+ You may charge a fee for the physical act of transferring a copy,
+and you may at your option offer warranty protection in exchange for a
+fee.
+
+ 2. You may modify your copy or copies of the Library or any portion
+of it, thus forming a work based on the Library, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+ a) The modified work must itself be a software library.
+
+ b) You must cause the files modified to carry prominent notices
+ stating that you changed the files and the date of any change.
+
+ c) You must cause the whole of the work to be licensed at no
+ charge to all third parties under the terms of this License.
+
+ d) If a facility in the modified Library refers to a function or a
+ table of data to be supplied by an application program that uses
+ the facility, other than as an argument passed when the facility
+ is invoked, then you must make a good faith effort to ensure that,
+ in the event an application does not supply such function or
+ table, the facility still operates, and performs whatever part of
+ its purpose remains meaningful.
+
+ (For example, a function in a library to compute square roots has
+ a purpose that is entirely well-defined independent of the
+ application. Therefore, Subsection 2d requires that any
+ application-supplied function or table used by this function must
+ be optional: if the application does not supply it, the square
+ root function must still compute square roots.)
+
+These requirements apply to the modified work as a whole. If
+identifiable sections of that work are not derived from the Library,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works. But when you
+distribute the same sections as part of a whole which is a work based
+on the Library, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote
+it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Library.
+
+In addition, mere aggregation of another work not based on the Library
+with the Library (or with a work based on the Library) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+ 3. You may opt to apply the terms of the ordinary GNU General Public
+License instead of this License to a given copy of the Library. To do
+this, you must alter all the notices that refer to this License, so
+that they refer to the ordinary GNU General Public License, version 2,
+instead of to this License. (If a newer version than version 2 of the
+ordinary GNU General Public License has appeared, then you can specify
+that version instead if you wish.) Do not make any other change in
+these notices.
+
+ Once this change is made in a given copy, it is irreversible for
+that copy, so the ordinary GNU General Public License applies to all
+subsequent copies and derivative works made from that copy.
+
+ This option is useful when you wish to copy part of the code of
+the Library into a program that is not a library.
+
+ 4. You may copy and distribute the Library (or a portion or
+derivative of it, under Section 2) in object code or executable form
+under the terms of Sections 1 and 2 above provided that you accompany
+it with the complete corresponding machine-readable source code, which
+must be distributed under the terms of Sections 1 and 2 above on a
+medium customarily used for software interchange.
+
+ If distribution of object code is made by offering access to copy
+from a designated place, then offering equivalent access to copy the
+source code from the same place satisfies the requirement to
+distribute the source code, even though third parties are not
+compelled to copy the source along with the object code.
+
+ 5. A program that contains no derivative of any portion of the
+Library, but is designed to work with the Library by being compiled or
+linked with it, is called a "work that uses the Library". Such a
+work, in isolation, is not a derivative work of the Library, and
+therefore falls outside the scope of this License.
+
+ However, linking a "work that uses the Library" with the Library
+creates an executable that is a derivative of the Library (because it
+contains portions of the Library), rather than a "work that uses the
+library". The executable is therefore covered by this License.
+Section 6 states terms for distribution of such executables.
+
+ When a "work that uses the Library" uses material from a header file
+that is part of the Library, the object code for the work may be a
+derivative work of the Library even though the source code is not.
+Whether this is true is especially significant if the work can be
+linked without the Library, or if the work is itself a library. The
+threshold for this to be true is not precisely defined by law.
+
+ If such an object file uses only numerical parameters, data
+structure layouts and accessors, and small macros and small inline
+functions (ten lines or less in length), then the use of the object
+file is unrestricted, regardless of whether it is legally a derivative
+work. (Executables containing this object code plus portions of the
+Library will still fall under Section 6.)
+
+ Otherwise, if the work is a derivative of the Library, you may
+distribute the object code for the work under the terms of Section 6.
+Any executables containing that work also fall under Section 6,
+whether or not they are linked directly with the Library itself.
+
+ 6. As an exception to the Sections above, you may also compile or
+link a "work that uses the Library" with the Library to produce a
+work containing portions of the Library, and distribute that work
+under terms of your choice, provided that the terms permit
+modification of the work for the customer's own use and reverse
+engineering for debugging such modifications.
+
+ You must give prominent notice with each copy of the work that the
+Library is used in it and that the Library and its use are covered by
+this License. You must supply a copy of this License. If the work
+during execution displays copyright notices, you must include the
+copyright notice for the Library among them, as well as a reference
+directing the user to the copy of this License. Also, you must do one
+of these things:
+
+ a) Accompany the work with the complete corresponding
+ machine-readable source code for the Library including whatever
+ changes were used in the work (which must be distributed under
+ Sections 1 and 2 above); and, if the work is an executable linked
+ with the Library, with the complete machine-readable "work that
+ uses the Library", as object code and/or source code, so that the
+ user can modify the Library and then relink to produce a modified
+ executable containing the modified Library. (It is understood
+ that the user who changes the contents of definitions files in the
+ Library will not necessarily be able to recompile the application
+ to use the modified definitions.)
+
+ b) Accompany the work with a written offer, valid for at
+ least three years, to give the same user the materials
+ specified in Subsection 6a, above, for a charge no more
+ than the cost of performing this distribution.
+
+ c) If distribution of the work is made by offering access to copy
+ from a designated place, offer equivalent access to copy the above
+ specified materials from the same place.
+
+ d) Verify that the user has already received a copy of these
+ materials or that you have already sent this user a copy.
+
+ For an executable, the required form of the "work that uses the
+Library" must include any data and utility programs needed for
+reproducing the executable from it. However, as a special exception,
+the source code distributed need not include anything that is normally
+distributed (in either source or binary form) with the major
+components (compiler, kernel, and so on) of the operating system on
+which the executable runs, unless that component itself accompanies
+the executable.
+
+ It may happen that this requirement contradicts the license
+restrictions of other proprietary libraries that do not normally
+accompany the operating system. Such a contradiction means you cannot
+use both them and the Library together in an executable that you
+distribute.
+
+ 7. You may place library facilities that are a work based on the
+Library side-by-side in a single library together with other library
+facilities not covered by this License, and distribute such a combined
+library, provided that the separate distribution of the work based on
+the Library and of the other library facilities is otherwise
+permitted, and provided that you do these two things:
+
+ a) Accompany the combined library with a copy of the same work
+ based on the Library, uncombined with any other library
+ facilities. This must be distributed under the terms of the
+ Sections above.
+
+ b) Give prominent notice with the combined library of the fact
+ that part of it is a work based on the Library, and explaining
+ where to find the accompanying uncombined form of the same work.
+
+ 8. You may not copy, modify, sublicense, link with, or distribute
+the Library except as expressly provided under this License. Any
+attempt otherwise to copy, modify, sublicense, link with, or
+distribute the Library is void, and will automatically terminate your
+rights under this License. However, parties who have received copies,
+or rights, from you under this License will not have their licenses
+terminated so long as such parties remain in full compliance.
+
+ 9. You are not required to accept this License, since you have not
+signed it. However, nothing else grants you permission to modify or
+distribute the Library or its derivative works. These actions are
+prohibited by law if you do not accept this License. Therefore, by
+modifying or distributing the Library (or any work based on the
+Library), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Library or works based on it.
+
+ 10. Each time you redistribute the Library (or any work based on the
+Library), the recipient automatically receives a license from the
+original licensor to copy, distribute, link with or modify the Library
+subject to these terms and conditions. You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+ 11. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License. If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Library at all. For example, if a patent
+license would not permit royalty-free redistribution of the Library by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Library.
+
+If any portion of this section is held invalid or unenforceable under any
+particular circumstance, the balance of the section is intended to apply,
+and the section as a whole is intended to apply in other circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system which is
+implemented by public license practices. Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+
+ 12. If the distribution and/or use of the Library is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Library under this License may add
+an explicit geographical distribution limitation excluding those countries,
+so that distribution is permitted only in or among countries not thus
+excluded. In such case, this License incorporates the limitation as if
+written in the body of this License.
+
+ 13. The Free Software Foundation may publish revised and/or new
+versions of the Library General Public License from time to time.
+Such new versions will be similar in spirit to the present version,
+but may differ in detail to address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Library
+specifies a version number of this License which applies to it and
+"any later version", you have the option of following the terms and
+conditions either of that version or of any later version published by
+the Free Software Foundation. If the Library does not specify a
+license version number, you may choose any version ever published by
+the Free Software Foundation.
+
+ 14. If you wish to incorporate parts of the Library into other free
+programs whose distribution conditions are incompatible with these,
+write to the author to ask for permission. For software which is
+copyrighted by the Free Software Foundation, write to the Free
+Software Foundation; we sometimes make exceptions for this. Our
+decision will be guided by the two goals of preserving the free status
+of all derivatives of our free software and of promoting the sharing
+and reuse of software generally.
+
+ NO WARRANTY
+
+ 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
+WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
+EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
+OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
+KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
+IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
+LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
+THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+
+ 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
+WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
+AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
+FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
+CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
+LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
+RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
+FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
+SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
+DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Libraries
+
+ If you develop a new library, and you want it to be of the greatest
+possible use to the public, we recommend making it free software that
+everyone can redistribute and change. You can do so by permitting
+redistribution under these terms (or, alternatively, under the terms of the
+ordinary General Public License).
+
+ To apply these terms, attach the following notices to the library. It is
+safest to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the library's name and a brief idea of what it does.>
+ Copyright (C) <year> <name of author>
+
+ This library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Library General Public
+ License as published by the Free Software Foundation; either
+ version 2 of the License, or (at your option) any later version.
+
+ This library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Library General Public License for more details.
+
+ You should have received a copy of the GNU Library General Public
+ License along with this library; if not, write to the Free
+ Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
+Also add information on how to contact you by electronic and paper mail.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the library, if
+necessary. Here is a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ library `Frob' (a library for tweaking knobs) written by James Random Hacker.
+
+ <signature of Ty Coon>, 1 April 1990
+ Ty Coon, President of Vice
+
+That's all there is to it!
diff --git a/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb b/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
index 317f9728bf..f2a16dcf71 100644
--- a/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
+++ b/meta-oe/recipes-connectivity/packagegroups/packagegroup-tools-bluetooth.bb
@@ -15,13 +15,13 @@ inherit bluetooth
RDEPENDS_bluez4 = " \
obexftp \
+ ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'libasound-module-bluez', '', d)} \
"
RDEPENDS_bluez5 = " \
bluez5-noinst-tools \
bluez5-obex \
bluez5-testtools \
- libasound-module-bluez \
${@bb.utils.contains('DISTRO_FEATURES', 'pulseaudio', \
'pulseaudio-module-bluetooth-discover \
pulseaudio-module-bluetooth-policy \
diff --git a/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb b/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
index 75f5b9e26d..d3ccd1d064 100644
--- a/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
+++ b/meta-oe/recipes-devtools/android-tools/android-tools_5.1.1.r37.bb
@@ -54,24 +54,6 @@ inherit systemd
SYSTEMD_SERVICE_${PN} = "android-tools-adbd.service"
-# Get rid of files uneeded to build Android tools
-do_unpack_extra() {
- cd ${S}
- rm -rf \
- system/core/.git \
- system/extras/.git \
- hardware/libhardware/.git \
- external/libselinux/.git \
- build/.git
- git init
- git add .
- git commit -m \
- "Initial import - committed ${ANDROID_TAG}"
- git clean -fdx
-}
-
-addtask unpack_extra after do_unpack before do_patch
-
# Find libbsd headers during native builds
CC_append_class-native = " -I${STAGING_INCDIR}"
CC_append_class-nativesdk = " -I${STAGING_INCDIR}"
diff --git a/meta-oe/recipes-devtools/lua/lua_5.3.4.bb b/meta-oe/recipes-devtools/lua/lua_5.3.4.bb
index 28d71faef4..8f4e8fe68c 100644
--- a/meta-oe/recipes-devtools/lua/lua_5.3.4.bb
+++ b/meta-oe/recipes-devtools/lua/lua_5.3.4.bb
@@ -56,4 +56,4 @@ do_install_ptest () {
cp -R --no-dereference --preserve=mode,links -v ${WORKDIR}/lua-${PV}-tests ${D}${PTEST_PATH}/test
}
-BBCLASSEXTEND = "native"
+BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch b/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch
new file mode 100644
index 0000000000..41d2a0f612
--- /dev/null
+++ b/meta-oe/recipes-devtools/php/php-7.1.9/CVE-2017-16642.patch
@@ -0,0 +1,5241 @@
+From f2f90767311355cafabff604a7a857ca60ee3f01 Mon Sep 17 00:00:00 2001
+From: Li Zhou <li.zhou@windriver.com>
+Date: Wed, 22 Nov 2017 21:14:59 -0800
+Subject: [PATCH] Fixed bug #75055 Out-Of-Bounds Read in timelib_meridian()
+
+Upstream-Status: Backport
+CVE: CVE-2017-16642
+Signed-off-by: Li Zhou <li.zhou@windriver.com>
+---
+ ext/date/lib/parse_date.c | 1544 +++++++++++++++++++++----------------
+ ext/date/lib/parse_date.re | 4 +-
+ ext/date/tests/bug53437_var3.phpt | 2 +-
+ ext/wddx/tests/bug75055.phpt | 20 +
+ ext/wddx/tests/bug75055.wddx | 13 +
+ 5 files changed, 911 insertions(+), 672 deletions(-)
+ create mode 100644 ext/wddx/tests/bug75055.phpt
+ create mode 100644 ext/wddx/tests/bug75055.wddx
+
+diff --git a/ext/date/lib/parse_date.c b/ext/date/lib/parse_date.c
+index f929619..6b11418 100644
+--- a/ext/date/lib/parse_date.c
++++ b/ext/date/lib/parse_date.c
+@@ -1,4 +1,5 @@
+-/* Generated by re2c 0.15.3 on Tue Jul 4 21:15:17 2017 */
++/* Generated by re2c 0.15.3 on Wed Nov 22 21:14:47 2017 */
++#line 1 "ext/date/lib/parse_date.re"
+ /*
+ * The MIT License (MIT)
+ *
+@@ -837,9 +838,11 @@ static int scan(Scanner *s, timelib_tz_get_wrapper tz_get_wrapper)
+ std:
+ s->tok = cursor;
+ s->len = 0;
++#line 965 "ext/date/lib/parse_date.re"
+
+
+
++#line 846 "ext/date/lib/parse_date.c"
+ {
+ YYCTYPE yych;
+ unsigned int yyaccept = 0;
+@@ -962,18 +965,19 @@ yy2:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy165;
+- goto yy1521;
++ goto yy1523;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych <= 'Z') goto yy165;
+ if (yych >= 'a') goto yy170;
+ } else {
+- if (yych <= 'e') goto yy1530;
++ if (yych <= 'e') goto yy1532;
+ if (yych <= 'z') goto yy170;
+ }
+ }
+ yy3:
++#line 1673 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("tzcorrection | tz");
+@@ -986,6 +990,7 @@ yy3:
+ TIMELIB_DEINIT;
+ return TIMELIB_TIMEZONE;
+ }
++#line 994 "ext/date/lib/parse_date.c"
+ yy4:
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
+@@ -995,7 +1000,7 @@ yy4:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy165;
+- goto yy1521;
++ goto yy1523;
+ }
+ } else {
+ if (yych <= 'd') {
+@@ -1003,7 +1008,7 @@ yy4:
+ if (yych <= '`') goto yy3;
+ goto yy165;
+ } else {
+- if (yych <= 'e') goto yy1521;
++ if (yych <= 'e') goto yy1523;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1017,12 +1022,12 @@ yy5:
+ goto yy165;
+ } else {
+ if (yych <= 'H') {
+- if (yych <= 'E') goto yy1492;
++ if (yych <= 'E') goto yy1494;
+ goto yy165;
+ } else {
+- if (yych <= 'I') goto yy1493;
++ if (yych <= 'I') goto yy1495;
+ if (yych <= 'N') goto yy165;
+- goto yy1491;
++ goto yy1493;
+ }
+ }
+ } else {
+@@ -1031,15 +1036,15 @@ yy5:
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych == 'e') goto yy1508;
++ if (yych == 'e') goto yy1510;
+ goto yy170;
+ }
+ } else {
+ if (yych <= 'n') {
+- if (yych <= 'i') goto yy1509;
++ if (yych <= 'i') goto yy1511;
+ goto yy170;
+ } else {
+- if (yych <= 'o') goto yy1507;
++ if (yych <= 'o') goto yy1509;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -1054,12 +1059,12 @@ yy6:
+ goto yy165;
+ } else {
+ if (yych <= 'H') {
+- if (yych <= 'E') goto yy1492;
++ if (yych <= 'E') goto yy1494;
+ goto yy165;
+ } else {
+- if (yych <= 'I') goto yy1493;
++ if (yych <= 'I') goto yy1495;
+ if (yych <= 'N') goto yy165;
+- goto yy1491;
++ goto yy1493;
+ }
+ }
+ } else {
+@@ -1068,15 +1073,15 @@ yy6:
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych == 'e') goto yy1492;
++ if (yych == 'e') goto yy1494;
+ goto yy165;
+ }
+ } else {
+ if (yych <= 'n') {
+- if (yych <= 'i') goto yy1493;
++ if (yych <= 'i') goto yy1495;
+ goto yy165;
+ } else {
+- if (yych <= 'o') goto yy1491;
++ if (yych <= 'o') goto yy1493;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1088,24 +1093,24 @@ yy7:
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1461;
++ goto yy1463;
+ } else {
+- if (yych == 'I') goto yy1462;
++ if (yych == 'I') goto yy1464;
+ if (yych <= 'N') goto yy165;
+- goto yy1463;
++ goto yy1465;
+ }
+ } else {
+ if (yych <= 'h') {
+ if (yych <= 'Z') goto yy165;
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1476;
++ if (yych <= 'a') goto yy1478;
+ goto yy170;
+ } else {
+ if (yych <= 'n') {
+- if (yych <= 'i') goto yy1477;
++ if (yych <= 'i') goto yy1479;
+ goto yy170;
+ } else {
+- if (yych <= 'o') goto yy1478;
++ if (yych <= 'o') goto yy1480;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -1117,24 +1122,24 @@ yy8:
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1461;
++ goto yy1463;
+ } else {
+- if (yych == 'I') goto yy1462;
++ if (yych == 'I') goto yy1464;
+ if (yych <= 'N') goto yy165;
+- goto yy1463;
++ goto yy1465;
+ }
+ } else {
+ if (yych <= 'h') {
+ if (yych <= 'Z') goto yy165;
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1461;
++ if (yych <= 'a') goto yy1463;
+ goto yy165;
+ } else {
+ if (yych <= 'n') {
+- if (yych <= 'i') goto yy1462;
++ if (yych <= 'i') goto yy1464;
+ goto yy165;
+ } else {
+- if (yych <= 'o') goto yy1463;
++ if (yych <= 'o') goto yy1465;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1146,15 +1151,15 @@ yy9:
+ switch (yych) {
+ case ')': goto yy164;
+ case '0':
+- case '1': goto yy1391;
+- case '2': goto yy1392;
++ case '1': goto yy1393;
++ case '2': goto yy1394;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+- case '9': goto yy1393;
++ case '9': goto yy1395;
+ case 'A':
+ case 'B':
+ case 'C':
+@@ -1176,11 +1181,11 @@ yy9:
+ case 'X':
+ case 'Y':
+ case 'Z': goto yy165;
+- case 'E': goto yy1386;
+- case 'H': goto yy1387;
+- case 'O': goto yy1388;
+- case 'U': goto yy1389;
+- case 'W': goto yy1390;
++ case 'E': goto yy1388;
++ case 'H': goto yy1389;
++ case 'O': goto yy1390;
++ case 'U': goto yy1391;
++ case 'W': goto yy1392;
+ case 'a':
+ case 'b':
+ case 'c':
+@@ -1202,11 +1207,11 @@ yy9:
+ case 'x':
+ case 'y':
+ case 'z': goto yy170;
+- case 'e': goto yy1429;
+- case 'h': goto yy1430;
+- case 'o': goto yy1431;
+- case 'u': goto yy1432;
+- case 'w': goto yy1433;
++ case 'e': goto yy1431;
++ case 'h': goto yy1432;
++ case 'o': goto yy1433;
++ case 'u': goto yy1434;
++ case 'w': goto yy1435;
+ default: goto yy3;
+ }
+ yy10:
+@@ -1215,15 +1220,15 @@ yy10:
+ switch (yych) {
+ case ')': goto yy164;
+ case '0':
+- case '1': goto yy1391;
+- case '2': goto yy1392;
++ case '1': goto yy1393;
++ case '2': goto yy1394;
+ case '3':
+ case '4':
+ case '5':
+ case '6':
+ case '7':
+ case '8':
+- case '9': goto yy1393;
++ case '9': goto yy1395;
+ case 'A':
+ case 'B':
+ case 'C':
+@@ -1267,28 +1272,30 @@ yy10:
+ case 'y':
+ case 'z': goto yy165;
+ case 'E':
+- case 'e': goto yy1386;
++ case 'e': goto yy1388;
+ case 'H':
+- case 'h': goto yy1387;
++ case 'h': goto yy1389;
+ case 'O':
+- case 'o': goto yy1388;
++ case 'o': goto yy1390;
+ case 'U':
+- case 'u': goto yy1389;
++ case 'u': goto yy1391;
+ case 'W':
+- case 'w': goto yy1390;
++ case 'w': goto yy1392;
+ default: goto yy3;
+ }
+ yy11:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+- if (yych == '-') goto yy1374;
++ if (yych == '-') goto yy1376;
+ if (yych <= '/') goto yy12;
+- if (yych <= '9') goto yy1375;
++ if (yych <= '9') goto yy1377;
+ yy12:
++#line 1768 "ext/date/lib/parse_date.re"
+ {
+ add_error(s, "Unexpected character");
+ goto std;
+ }
++#line 1299 "ext/date/lib/parse_date.c"
+ yy13:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+@@ -1299,16 +1306,16 @@ yy13:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy165;
+- goto yy1310;
++ goto yy1311;
+ }
+ } else {
+ if (yych <= 'N') {
+- if (yych == 'I') goto yy1311;
++ if (yych == 'I') goto yy1312;
+ goto yy165;
+ } else {
+- if (yych <= 'O') goto yy1312;
++ if (yych <= 'O') goto yy1313;
+ if (yych <= 'Q') goto yy165;
+- goto yy1313;
++ goto yy1314;
+ }
+ }
+ } else {
+@@ -1318,16 +1325,16 @@ yy13:
+ if (yych <= '`') goto yy3;
+ goto yy170;
+ } else {
+- if (yych <= 'e') goto yy1351;
++ if (yych <= 'e') goto yy1353;
+ if (yych <= 'h') goto yy170;
+- goto yy1352;
++ goto yy1354;
+ }
+ } else {
+ if (yych <= 'q') {
+- if (yych == 'o') goto yy1353;
++ if (yych == 'o') goto yy1355;
+ goto yy170;
+ } else {
+- if (yych <= 'r') goto yy1354;
++ if (yych <= 'r') goto yy1356;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -1343,16 +1350,16 @@ yy14:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy165;
+- goto yy1310;
++ goto yy1311;
+ }
+ } else {
+ if (yych <= 'N') {
+- if (yych == 'I') goto yy1311;
++ if (yych == 'I') goto yy1312;
+ goto yy165;
+ } else {
+- if (yych <= 'O') goto yy1312;
++ if (yych <= 'O') goto yy1313;
+ if (yych <= 'Q') goto yy165;
+- goto yy1313;
++ goto yy1314;
+ }
+ }
+ } else {
+@@ -1362,16 +1369,16 @@ yy14:
+ if (yych <= '`') goto yy3;
+ goto yy165;
+ } else {
+- if (yych <= 'e') goto yy1310;
++ if (yych <= 'e') goto yy1311;
+ if (yych <= 'h') goto yy165;
+- goto yy1311;
++ goto yy1312;
+ }
+ } else {
+ if (yych <= 'q') {
+- if (yych == 'o') goto yy1312;
++ if (yych == 'o') goto yy1313;
+ goto yy165;
+ } else {
+- if (yych <= 'r') goto yy1313;
++ if (yych <= 'r') goto yy1314;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1382,13 +1389,13 @@ yy15:
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1296;
++ goto yy1297;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1307;
++ if (yych <= 'a') goto yy1308;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -1398,13 +1405,13 @@ yy16:
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1296;
++ goto yy1297;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1296;
++ if (yych <= 'a') goto yy1297;
+ if (yych <= 'z') goto yy165;
+ goto yy3;
+ }
+@@ -1420,7 +1427,7 @@ yy17:
+ if (yych <= 'Z') goto yy165;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1293;
++ if (yych <= 'a') goto yy1294;
+ if (yych <= 'z') goto yy170;
+ goto yy3;
+ }
+@@ -2495,18 +2502,22 @@ yy48:
+ if (yych <= '/') goto yy49;
+ if (yych <= '9') goto yy54;
+ yy49:
++#line 1757 "ext/date/lib/parse_date.re"
+ {
+ goto std;
+ }
++#line 2510 "ext/date/lib/parse_date.c"
+ yy50:
+ yych = *++YYCURSOR;
+ goto yy49;
+ yy51:
+ ++YYCURSOR;
++#line 1762 "ext/date/lib/parse_date.re"
+ {
+ s->pos = cursor; s->line++;
+ goto std;
+ }
++#line 2521 "ext/date/lib/parse_date.c"
+ yy53:
+ yych = *++YYCURSOR;
+ goto yy12;
+@@ -2693,23 +2704,23 @@ yy56:
+ }
+ } else {
+ if (yyaccept == 28) {
+- goto yy1377;
++ goto yy1379;
+ } else {
+- goto yy1415;
++ goto yy1417;
+ }
+ }
+ } else {
+ if (yyaccept <= 31) {
+ if (yyaccept == 30) {
+- goto yy1418;
++ goto yy1420;
+ } else {
+- goto yy1498;
++ goto yy1500;
+ }
+ } else {
+ if (yyaccept == 32) {
+- goto yy1506;
++ goto yy1508;
+ } else {
+- goto yy1529;
++ goto yy1531;
+ }
+ }
+ }
+@@ -2920,6 +2931,7 @@ yy73:
+ if (yych == 'S') goto yy75;
+ if (yych == 's') goto yy75;
+ yy74:
++#line 1741 "ext/date/lib/parse_date.re"
+ {
+ timelib_ull i;
+ DEBUG_OUTPUT("relative");
+@@ -2934,6 +2946,7 @@ yy74:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
++#line 2950 "ext/date/lib/parse_date.c"
+ yy75:
+ yych = *++YYCURSOR;
+ if (yych == 'D') goto yy76;
+@@ -3719,6 +3732,7 @@ yy190:
+ }
+ }
+ yy191:
++#line 1604 "ext/date/lib/parse_date.re"
+ {
+ const timelib_relunit* relunit;
+ DEBUG_OUTPUT("daytext");
+@@ -3735,6 +3749,7 @@ yy191:
+ TIMELIB_DEINIT;
+ return TIMELIB_WEEKDAY;
+ }
++#line 3753 "ext/date/lib/parse_date.c"
+ yy192:
+ yych = *++YYCURSOR;
+ if (yych <= 'K') {
+@@ -4227,6 +4242,7 @@ yy217:
+ }
+ }
+ yy218:
++#line 1663 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("monthtext");
+ TIMELIB_INIT;
+@@ -4235,6 +4251,7 @@ yy218:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_TEXT;
+ }
++#line 4255 "ext/date/lib/parse_date.c"
+ yy219:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 23) YYFILL(23);
+@@ -4469,6 +4486,7 @@ yy231:
+ if (yych == 't') goto yy319;
+ goto yy237;
+ yy232:
++#line 1409 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("datetextual | datenoyear");
+@@ -4481,6 +4499,7 @@ yy232:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_TEXT;
+ }
++#line 4503 "ext/date/lib/parse_date.c"
+ yy233:
+ yyaccept = 6;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -4593,6 +4612,7 @@ yy245:
+ if (yych <= ':') goto yy248;
+ }
+ yy246:
++#line 1711 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("dateshortwithtimeshort | dateshortwithtimelong | dateshortwithtimelongtz");
+@@ -4621,6 +4641,7 @@ yy246:
+ TIMELIB_DEINIT;
+ return TIMELIB_SHORTDATE_WITH_TIME;
+ }
++#line 4645 "ext/date/lib/parse_date.c"
+ yy247:
+ yyaccept = 7;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -4893,6 +4914,7 @@ yy269:
+ }
+ yy270:
+ ++YYCURSOR;
++#line 1687 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("dateshortwithtimeshort12 | dateshortwithtimelong12");
+ TIMELIB_INIT;
+@@ -4915,6 +4937,7 @@ yy270:
+ TIMELIB_DEINIT;
+ return TIMELIB_SHORTDATE_WITH_TIME;
+ }
++#line 4941 "ext/date/lib/parse_date.c"
+ yy272:
+ yych = *++YYCURSOR;
+ if (yych <= 0x1F) {
+@@ -5470,6 +5493,7 @@ yy320:
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+ ++YYCURSOR;
++#line 1381 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("datenoday");
+@@ -5482,6 +5506,7 @@ yy320:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_NO_DAY;
+ }
++#line 5510 "ext/date/lib/parse_date.c"
+ yy323:
+ yych = *++YYCURSOR;
+ if (yych <= '9') {
+@@ -5704,6 +5729,7 @@ yy327:
+ if ((yych = *YYCURSOR) <= '/') goto yy330;
+ if (yych <= '9') goto yy331;
+ yy330:
++#line 1525 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("pgtextshort");
+@@ -5716,6 +5742,7 @@ yy330:
+ TIMELIB_DEINIT;
+ return TIMELIB_PG_TEXT;
+ }
++#line 5746 "ext/date/lib/parse_date.c"
+ yy331:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy330;
+@@ -6270,6 +6297,7 @@ yy356:
+ if (yych <= 'z') goto yy167;
+ }
+ yy357:
++#line 1583 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("ago");
+ TIMELIB_INIT;
+@@ -6289,6 +6317,7 @@ yy357:
+ TIMELIB_DEINIT;
+ return TIMELIB_AGO;
+ }
++#line 6321 "ext/date/lib/parse_date.c"
+ yy358:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -8009,6 +8038,7 @@ yy417:
+ yy418:
+ ++YYCURSOR;
+ yy419:
++#line 1286 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("iso8601date4 | iso8601date2 | iso8601dateslash | dateslash");
+ TIMELIB_INIT;
+@@ -8019,6 +8049,7 @@ yy419:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_DATE;
+ }
++#line 8053 "ext/date/lib/parse_date.c"
+ yy420:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -8641,6 +8672,7 @@ yy439:
+ }
+ }
+ yy440:
++#line 1423 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("datenoyearrev");
+ TIMELIB_INIT;
+@@ -8651,6 +8683,7 @@ yy440:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_TEXT;
+ }
++#line 8687 "ext/date/lib/parse_date.c"
+ yy441:
+ yyaccept = 9;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -8778,6 +8811,7 @@ yy450:
+ }
+ yy452:
+ ++YYCURSOR;
++#line 1141 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("timetiny12 | timeshort12 | timelong12");
+ TIMELIB_INIT;
+@@ -8793,6 +8827,7 @@ yy452:
+ TIMELIB_DEINIT;
+ return TIMELIB_TIME12;
+ }
++#line 8831 "ext/date/lib/parse_date.c"
+ yy454:
+ yyaccept = 10;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -8803,6 +8838,7 @@ yy454:
+ if (yych <= ':') goto yy457;
+ }
+ yy455:
++#line 1178 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("timeshort24 | timelong24 | iso8601long");
+@@ -8827,6 +8863,7 @@ yy455:
+ TIMELIB_DEINIT;
+ return TIMELIB_TIME24_WITH_ZONE;
+ }
++#line 8867 "ext/date/lib/parse_date.c"
+ yy456:
+ yyaccept = 10;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -9103,6 +9140,7 @@ yy485:
+ }
+ yy487:
+ ++YYCURSOR;
++#line 1158 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("mssqltime");
+ TIMELIB_INIT;
+@@ -9121,6 +9159,7 @@ yy487:
+ TIMELIB_DEINIT;
+ return TIMELIB_TIME24_WITH_ZONE;
+ }
++#line 9163 "ext/date/lib/parse_date.c"
+ yy489:
+ yyaccept = 10;
+ YYMARKER = ++YYCURSOR;
+@@ -9215,6 +9254,7 @@ yy498:
+ if ((yych = *YYCURSOR) <= '/') goto yy499;
+ if (yych <= '9') goto yy505;
+ yy499:
++#line 1340 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("datefull");
+@@ -9228,6 +9268,7 @@ yy499:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_FULL;
+ }
++#line 9272 "ext/date/lib/parse_date.c"
+ yy500:
+ yych = *++YYCURSOR;
+ if (yych == 'M') goto yy501;
+@@ -9891,6 +9932,7 @@ yy569:
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+ ++YYCURSOR;
++#line 1355 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("pointed date YYYY");
+ TIMELIB_INIT;
+@@ -9901,6 +9943,7 @@ yy569:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_FULL_POINTED;
+ }
++#line 9947 "ext/date/lib/parse_date.c"
+ yy572:
+ yyaccept = 10;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -9931,6 +9974,7 @@ yy575:
+ if (yych <= '/') goto yy576;
+ if (yych <= '9') goto yy569;
+ yy576:
++#line 1367 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("pointed date YY");
+@@ -9943,6 +9987,7 @@ yy576:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_FULL_POINTED;
+ }
++#line 9991 "ext/date/lib/parse_date.c"
+ yy577:
+ yyaccept = 10;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -10538,6 +10583,7 @@ yy620:
+ }
+ }
+ yy621:
++#line 1326 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("gnudateshort");
+@@ -10550,6 +10596,7 @@ yy621:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_DATE;
+ }
++#line 10600 "ext/date/lib/parse_date.c"
+ yy622:
+ yyaccept = 12;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -10645,6 +10692,7 @@ yy630:
+ }
+ }
+ yy631:
++#line 1270 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("americanshort | american");
+@@ -10659,6 +10707,7 @@ yy631:
+ TIMELIB_DEINIT;
+ return TIMELIB_AMERICAN;
+ }
++#line 10711 "ext/date/lib/parse_date.c"
+ yy632:
+ yyaccept = 13;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -10857,6 +10906,7 @@ yy664:
+ if (yych <= '9') goto yy667;
+ if (yych <= ':') goto yy668;
+ yy665:
++#line 1553 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("clf");
+@@ -10876,6 +10926,7 @@ yy665:
+ TIMELIB_DEINIT;
+ return TIMELIB_CLF;
+ }
++#line 10930 "ext/date/lib/parse_date.c"
+ yy666:
+ yych = *++YYCURSOR;
+ if (yych <= '5') {
+@@ -11362,6 +11413,7 @@ yy727:
+ if (yych <= 't') goto yy627;
+ }
+ yy728:
++#line 1298 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("iso8601date2");
+@@ -11374,6 +11426,7 @@ yy728:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_DATE;
+ }
++#line 11430 "ext/date/lib/parse_date.c"
+ yy729:
+ yych = *++YYCURSOR;
+ if (yych == 'C') goto yy730;
+@@ -11404,6 +11457,7 @@ yy734:
+ if (yych >= '2') goto yy56;
+ yy735:
+ ++YYCURSOR;
++#line 1539 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("pgtextreverse");
+@@ -11416,6 +11470,7 @@ yy735:
+ TIMELIB_DEINIT;
+ return TIMELIB_PG_TEXT;
+ }
++#line 11474 "ext/date/lib/parse_date.c"
+ yy737:
+ yych = *++YYCURSOR;
+ if (yych == 'V') goto yy730;
+@@ -11568,6 +11623,7 @@ yy747:
+ }
+ }
+ yy748:
++#line 1574 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("year4");
+ TIMELIB_INIT;
+@@ -11575,6 +11631,7 @@ yy748:
+ TIMELIB_DEINIT;
+ return TIMELIB_CLF;
+ }
++#line 11635 "ext/date/lib/parse_date.c"
+ yy749:
+ yych = *++YYCURSOR;
+ switch (yych) {
+@@ -11769,6 +11826,7 @@ yy757:
+ if (yych <= 'X') goto yy848;
+ }
+ yy758:
++#line 1395 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("datenodayrev");
+@@ -11781,6 +11839,7 @@ yy758:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_NO_DAY;
+ }
++#line 11843 "ext/date/lib/parse_date.c"
+ yy759:
+ yych = *++YYCURSOR;
+ if (yych == 'I') goto yy892;
+@@ -11980,6 +12039,7 @@ yy778:
+ if (yych <= '/') goto yy779;
+ if (yych <= '7') goto yy781;
+ yy779:
++#line 1506 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll w, d;
+ DEBUG_OUTPUT("isoweek");
+@@ -11997,12 +12057,14 @@ yy779:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_WEEK;
+ }
++#line 12061 "ext/date/lib/parse_date.c"
+ yy780:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+ if (yych >= '8') goto yy56;
+ yy781:
+ ++YYCURSOR;
++#line 1487 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll w, d;
+ DEBUG_OUTPUT("isoweekday");
+@@ -12020,6 +12082,7 @@ yy781:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_WEEK;
+ }
++#line 12086 "ext/date/lib/parse_date.c"
+ yy783:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy60;
+@@ -12085,6 +12148,7 @@ yy785:
+ }
+ }
+ yy786:
++#line 1473 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("pgydotd");
+@@ -12097,6 +12161,7 @@ yy786:
+ TIMELIB_DEINIT;
+ return TIMELIB_PG_YEARDAY;
+ }
++#line 12165 "ext/date/lib/parse_date.c"
+ yy787:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy60;
+@@ -12178,6 +12243,7 @@ yy805:
+ yy806:
+ ++YYCURSOR;
+ yy807:
++#line 1447 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("xmlrpc | xmlrpcnocolon | soap | wddx | exif");
+@@ -12202,6 +12268,7 @@ yy807:
+ TIMELIB_DEINIT;
+ return TIMELIB_XMLRPC_SOAP;
+ }
++#line 12272 "ext/date/lib/parse_date.c"
+ yy808:
+ yych = *++YYCURSOR;
+ if (yych <= '2') {
+@@ -12490,6 +12557,7 @@ yy812:
+ }
+ }
+ yy813:
++#line 1435 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("datenocolon");
+ TIMELIB_INIT;
+@@ -12500,6 +12568,7 @@ yy813:
+ TIMELIB_DEINIT;
+ return TIMELIB_DATE_NOCOLON;
+ }
++#line 12572 "ext/date/lib/parse_date.c"
+ yy814:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+@@ -13293,6 +13362,7 @@ yy937:
+ if (yych <= '/') goto yy938;
+ if (yych <= '9') goto yy960;
+ yy938:
++#line 1312 "ext/date/lib/parse_date.re"
+ {
+ int length = 0;
+ DEBUG_OUTPUT("gnudateshorter");
+@@ -13305,6 +13375,7 @@ yy938:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_DATE;
+ }
++#line 13379 "ext/date/lib/parse_date.c"
+ yy939:
+ yyaccept = 21;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -14303,6 +14374,7 @@ yy1030:
+ }
+ }
+ yy1032:
++#line 1204 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("gnunocolon");
+ TIMELIB_INIT;
+@@ -14324,6 +14396,7 @@ yy1032:
+ TIMELIB_DEINIT;
+ return TIMELIB_GNU_NOCOLON;
+ }
++#line 14400 "ext/date/lib/parse_date.c"
+ yy1033:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy60;
+@@ -14413,6 +14486,7 @@ yy1039:
+ }
+ }
+ yy1040:
++#line 1250 "ext/date/lib/parse_date.re"
+ {
+ int tz_not_found;
+ DEBUG_OUTPUT("iso8601nocolon");
+@@ -14431,6 +14505,7 @@ yy1040:
+ TIMELIB_DEINIT;
+ return TIMELIB_ISO_NOCOLON;
+ }
++#line 14509 "ext/date/lib/parse_date.c"
+ yy1041:
+ yyaccept = 24;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -15362,6 +15437,7 @@ yy1083:
+ }
+ }
+ yy1084:
++#line 1646 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll i;
+ int behavior = 0;
+@@ -15377,6 +15453,7 @@ yy1084:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
++#line 15457 "ext/date/lib/parse_date.c"
+ yy1085:
+ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+@@ -15418,6 +15495,7 @@ yy1091:
+ if (yych != 'f') goto yy56;
+ yy1092:
+ ++YYCURSOR;
++#line 1119 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll i;
+ int behavior = 0;
+@@ -15438,6 +15516,7 @@ yy1092:
+ TIMELIB_DEINIT;
+ return TIMELIB_WEEK_DAY_OF_MONTH;
+ }
++#line 15520 "ext/date/lib/parse_date.c"
+ yy1094:
+ yyaccept = 25;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -15530,6 +15609,7 @@ yy1107:
+ }
+ }
+ yy1108:
++#line 1622 "ext/date/lib/parse_date.re"
+ {
+ timelib_sll i;
+ int behavior = 0;
+@@ -15552,6 +15632,7 @@ yy1108:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
++#line 15636 "ext/date/lib/parse_date.c"
+ yy1109:
+ yych = *++YYCURSOR;
+ goto yy1084;
+@@ -18206,10 +18287,25 @@ yy1281:
+ yy1283:
+ yyaccept = 27;
+ yych = *(YYMARKER = ++YYCURSOR);
+- if (yych <= '/') goto yy1287;
+- if (yych <= '9') goto yy1286;
+- goto yy1287;
++ if (yych <= '@') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1287;
++ } else {
++ if (yych <= ' ') goto yy1287;
++ if (yych <= '/') goto yy1284;
++ if (yych <= '9') goto yy1286;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych <= 'A') goto yy1289;
++ if (yych == 'P') goto yy1289;
++ } else {
++ if (yych <= 'a') goto yy1289;
++ if (yych == 'p') goto yy1289;
++ }
++ }
+ yy1284:
++#line 1096 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("backof | frontof");
+ TIMELIB_INIT;
+@@ -18231,66 +18327,104 @@ yy1284:
+ TIMELIB_DEINIT;
+ return TIMELIB_LF_DAY_OF_MONTH;
+ }
++#line 18331 "ext/date/lib/parse_date.c"
+ yy1285:
+ yyaccept = 27;
+ yych = *(YYMARKER = ++YYCURSOR);
+- if (yych <= '/') goto yy1287;
+- if (yych >= '5') goto yy1287;
++ if (yych <= '@') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1287;
++ goto yy1284;
++ } else {
++ if (yych <= ' ') goto yy1287;
++ if (yych <= '/') goto yy1284;
++ if (yych >= '5') goto yy1284;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych <= 'A') goto yy1289;
++ if (yych == 'P') goto yy1289;
++ goto yy1284;
++ } else {
++ if (yych <= 'a') goto yy1289;
++ if (yych == 'p') goto yy1289;
++ goto yy1284;
++ }
++ }
+ yy1286:
+ yyaccept = 27;
+- YYMARKER = ++YYCURSOR;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= 'A') {
++ if (yych <= 0x1F) {
++ if (yych != '\t') goto yy1284;
++ } else {
++ if (yych <= ' ') goto yy1287;
++ if (yych <= '@') goto yy1284;
++ goto yy1289;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych == 'P') goto yy1289;
++ goto yy1284;
++ } else {
++ if (yych <= 'a') goto yy1289;
++ if (yych == 'p') goto yy1289;
++ goto yy1284;
++ }
++ }
++yy1287:
++ ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+ yych = *YYCURSOR;
+-yy1287:
+ if (yych <= 'A') {
+ if (yych <= 0x1F) {
+- if (yych == '\t') goto yy1286;
+- goto yy1284;
++ if (yych == '\t') goto yy1287;
++ goto yy56;
+ } else {
+- if (yych <= ' ') goto yy1286;
+- if (yych <= '@') goto yy1284;
++ if (yych <= ' ') goto yy1287;
++ if (yych <= '@') goto yy56;
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych != 'P') goto yy1284;
++ if (yych != 'P') goto yy56;
+ } else {
+- if (yych <= 'a') goto yy1288;
+- if (yych != 'p') goto yy1284;
++ if (yych <= 'a') goto yy1289;
++ if (yych != 'p') goto yy56;
+ }
+ }
+-yy1288:
++yy1289:
+ yych = *++YYCURSOR;
+ if (yych <= 'L') {
+ if (yych != '.') goto yy56;
+ } else {
+- if (yych <= 'M') goto yy1290;
+- if (yych == 'm') goto yy1290;
++ if (yych <= 'M') goto yy1291;
++ if (yych == 'm') goto yy1291;
+ goto yy56;
+ }
+ yych = *++YYCURSOR;
+- if (yych == 'M') goto yy1290;
++ if (yych == 'M') goto yy1291;
+ if (yych != 'm') goto yy56;
+-yy1290:
++yy1291:
+ yych = *++YYCURSOR;
+ if (yych <= 0x1F) {
+- if (yych <= 0x00) goto yy1292;
+- if (yych == '\t') goto yy1292;
++ if (yych <= 0x00) goto yy1293;
++ if (yych == '\t') goto yy1293;
+ goto yy56;
+ } else {
+- if (yych <= ' ') goto yy1292;
++ if (yych <= ' ') goto yy1293;
+ if (yych != '.') goto yy56;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= '\t') {
+- if (yych <= 0x00) goto yy1292;
++ if (yych <= 0x00) goto yy1293;
+ if (yych <= 0x08) goto yy56;
+ } else {
+ if (yych != ' ') goto yy56;
+ }
+-yy1292:
++yy1293:
+ yych = *++YYCURSOR;
+ goto yy1284;
+-yy1293:
++yy1294:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'B') {
+@@ -18314,13 +18448,13 @@ yy1293:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'c') goto yy1294;
++ if (yych <= 'c') goto yy1295;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1294:
++yy1295:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'J') {
+@@ -18344,13 +18478,13 @@ yy1294:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'k') goto yy1295;
++ if (yych <= 'k') goto yy1296;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1295:
++yy1296:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '.') {
+@@ -18375,7 +18509,7 @@ yy1295:
+ goto yy3;
+ }
+ }
+-yy1296:
++yy1297:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -18391,12 +18525,12 @@ yy1296:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 's') goto yy1297;
++ if (yych <= 's') goto yy1298;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1297:
++yy1298:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -18412,12 +18546,12 @@ yy1297:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1298;
++ if (yych <= 't') goto yy1299;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1298:
++yy1299:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '(') {
+@@ -18438,19 +18572,19 @@ yy1298:
+ goto yy3;
+ }
+ }
+-yy1299:
++yy1300:
+ yych = *++YYCURSOR;
+- if (yych == 'D') goto yy1300;
++ if (yych == 'D') goto yy1301;
+ if (yych != 'd') goto yy1070;
+-yy1300:
++yy1301:
+ yych = *++YYCURSOR;
+- if (yych == 'A') goto yy1301;
++ if (yych == 'A') goto yy1302;
+ if (yych != 'a') goto yy56;
+-yy1301:
++yy1302:
+ yych = *++YYCURSOR;
+- if (yych == 'Y') goto yy1302;
++ if (yych == 'Y') goto yy1303;
+ if (yych != 'y') goto yy56;
+-yy1302:
++yy1303:
+ yyaccept = 25;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -18461,14 +18595,15 @@ yy1302:
+ goto yy1084;
+ }
+ yych = *++YYCURSOR;
+- if (yych == 'O') goto yy1304;
++ if (yych == 'O') goto yy1305;
+ if (yych != 'o') goto yy56;
+-yy1304:
++yy1305:
+ yych = *++YYCURSOR;
+- if (yych == 'F') goto yy1305;
++ if (yych == 'F') goto yy1306;
+ if (yych != 'f') goto yy56;
+-yy1305:
++yy1306:
+ ++YYCURSOR;
++#line 1079 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("firstdayof | lastdayof");
+ TIMELIB_INIT;
+@@ -18484,7 +18619,8 @@ yy1305:
+ TIMELIB_DEINIT;
+ return TIMELIB_LF_DAY_OF_MONTH;
+ }
+-yy1307:
++#line 18623 "ext/date/lib/parse_date.c"
++yy1308:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -18499,7 +18635,7 @@ yy1307:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1297;
++ if (yych <= 'S') goto yy1298;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -18508,13 +18644,13 @@ yy1307:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 's') goto yy1308;
++ if (yych <= 's') goto yy1309;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1308:
++yy1309:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -18529,7 +18665,7 @@ yy1308:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1298;
++ if (yych <= 'T') goto yy1299;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -18538,20 +18674,20 @@ yy1308:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1309;
++ if (yych <= 't') goto yy1310;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1309:
++yy1310:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '-') {
+ if (yych <= ' ') {
+ if (yych == '\t') goto yy1069;
+ if (yych <= 0x1F) goto yy3;
+- goto yy1299;
++ goto yy1300;
+ } else {
+ if (yych == ')') goto yy164;
+ if (yych <= ',') goto yy3;
+@@ -18573,7 +18709,7 @@ yy1309:
+ }
+ }
+ }
+-yy1310:
++yy1311:
+ yych = *++YYCURSOR;
+ if (yych <= 'B') {
+ if (yych <= ')') {
+@@ -18582,7 +18718,7 @@ yy1310:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'A') goto yy166;
+- goto yy1346;
++ goto yy1348;
+ }
+ } else {
+ if (yych <= 'a') {
+@@ -18590,35 +18726,35 @@ yy1310:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'b') goto yy1346;
++ if (yych <= 'b') goto yy1348;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1311:
++yy1312:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'F') goto yy1336;
++ if (yych == 'F') goto yy1338;
+ if (yych <= 'Q') goto yy166;
+- goto yy1335;
++ goto yy1337;
+ }
+ } else {
+ if (yych <= 'f') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'e') goto yy166;
+- goto yy1336;
++ goto yy1338;
+ } else {
+- if (yych == 'r') goto yy1335;
++ if (yych == 'r') goto yy1337;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1312:
++yy1313:
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
+ if (yych <= ')') {
+@@ -18627,7 +18763,7 @@ yy1312:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'T') goto yy166;
+- goto yy1332;
++ goto yy1334;
+ }
+ } else {
+ if (yych <= 't') {
+@@ -18635,19 +18771,19 @@ yy1312:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'u') goto yy1332;
++ if (yych <= 'u') goto yy1334;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1313:
++yy1314:
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'I') goto yy1315;
++ if (yych == 'I') goto yy1316;
+ if (yych <= 'N') goto yy166;
+ }
+ } else {
+@@ -18655,14 +18791,14 @@ yy1313:
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'h') goto yy166;
+- goto yy1315;
++ goto yy1316;
+ } else {
+- if (yych == 'o') goto yy1314;
++ if (yych == 'o') goto yy1315;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1314:
++yy1315:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -18671,7 +18807,7 @@ yy1314:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'M') goto yy167;
+- goto yy1318;
++ goto yy1319;
+ }
+ } else {
+ if (yych <= 'm') {
+@@ -18679,12 +18815,12 @@ yy1314:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'n') goto yy1318;
++ if (yych <= 'n') goto yy1319;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1315:
++yy1316:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -18700,12 +18836,12 @@ yy1315:
+ if (yych <= '`') goto yy191;
+ goto yy167;
+ } else {
+- if (yych <= 'd') goto yy1316;
++ if (yych <= 'd') goto yy1317;
+ if (yych <= 'z') goto yy167;
+ goto yy191;
+ }
+ }
+-yy1316:
++yy1317:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+@@ -18715,12 +18851,12 @@ yy1316:
+ if (yych <= 'Z') goto yy168;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1317;
++ if (yych <= 'a') goto yy1318;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1317:
++yy1318:
+ yych = *++YYCURSOR;
+ if (yych <= 'Y') {
+ if (yych <= ')') {
+@@ -18742,7 +18878,7 @@ yy1317:
+ goto yy3;
+ }
+ }
+-yy1318:
++yy1319:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -18758,16 +18894,16 @@ yy1318:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 't') goto yy1319;
++ if (yych <= 't') goto yy1320;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1319:
++yy1320:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= ')') {
+- if (yych == ' ') goto yy1320;
++ if (yych == ' ') goto yy1321;
+ if (yych <= '(') goto yy3;
+ goto yy164;
+ } else {
+@@ -18780,88 +18916,143 @@ yy1319:
+ goto yy3;
+ }
+ }
+-yy1320:
++yy1321:
+ yych = *++YYCURSOR;
+- if (yych == 'O') goto yy1321;
++ if (yych == 'O') goto yy1322;
+ if (yych != 'o') goto yy56;
+-yy1321:
++yy1322:
+ yych = *++YYCURSOR;
+- if (yych == 'F') goto yy1322;
++ if (yych == 'F') goto yy1323;
+ if (yych != 'f') goto yy56;
+-yy1322:
++yy1323:
+ yych = *++YYCURSOR;
+ if (yych != ' ') goto yy56;
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+- if (yych <= '1') goto yy1324;
+- if (yych <= '2') goto yy1325;
+- if (yych <= '9') goto yy1326;
++ if (yych <= '1') goto yy1325;
++ if (yych <= '2') goto yy1326;
++ if (yych <= '9') goto yy1327;
+ goto yy56;
+-yy1324:
+- yyaccept = 27;
+- yych = *(YYMARKER = ++YYCURSOR);
+- if (yych <= '/') goto yy1327;
+- if (yych <= '9') goto yy1326;
+- goto yy1327;
+ yy1325:
+ yyaccept = 27;
+ yych = *(YYMARKER = ++YYCURSOR);
+- if (yych <= '/') goto yy1327;
+- if (yych >= '5') goto yy1327;
++ if (yych <= '@') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1328;
++ goto yy1284;
++ } else {
++ if (yych <= ' ') goto yy1328;
++ if (yych <= '/') goto yy1284;
++ if (yych <= '9') goto yy1327;
++ goto yy1284;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych <= 'A') goto yy1330;
++ if (yych == 'P') goto yy1330;
++ goto yy1284;
++ } else {
++ if (yych <= 'a') goto yy1330;
++ if (yych == 'p') goto yy1330;
++ goto yy1284;
++ }
++ }
+ yy1326:
+ yyaccept = 27;
+- YYMARKER = ++YYCURSOR;
+- if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
+- yych = *YYCURSOR;
++ yych = *(YYMARKER = ++YYCURSOR);
++ if (yych <= '@') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1328;
++ goto yy1284;
++ } else {
++ if (yych <= ' ') goto yy1328;
++ if (yych <= '/') goto yy1284;
++ if (yych >= '5') goto yy1284;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych <= 'A') goto yy1330;
++ if (yych == 'P') goto yy1330;
++ goto yy1284;
++ } else {
++ if (yych <= 'a') goto yy1330;
++ if (yych == 'p') goto yy1330;
++ goto yy1284;
++ }
++ }
+ yy1327:
++ yyaccept = 27;
++ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'A') {
+ if (yych <= 0x1F) {
+- if (yych == '\t') goto yy1326;
+- goto yy1284;
++ if (yych != '\t') goto yy1284;
+ } else {
+- if (yych <= ' ') goto yy1326;
++ if (yych <= ' ') goto yy1328;
+ if (yych <= '@') goto yy1284;
++ goto yy1330;
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych != 'P') goto yy1284;
++ if (yych == 'P') goto yy1330;
++ goto yy1284;
+ } else {
+- if (yych <= 'a') goto yy1328;
+- if (yych != 'p') goto yy1284;
++ if (yych <= 'a') goto yy1330;
++ if (yych == 'p') goto yy1330;
++ goto yy1284;
+ }
+ }
+ yy1328:
++ ++YYCURSOR;
++ if ((YYLIMIT - YYCURSOR) < 5) YYFILL(5);
++ yych = *YYCURSOR;
++ if (yych <= 'A') {
++ if (yych <= 0x1F) {
++ if (yych == '\t') goto yy1328;
++ goto yy56;
++ } else {
++ if (yych <= ' ') goto yy1328;
++ if (yych <= '@') goto yy56;
++ }
++ } else {
++ if (yych <= '`') {
++ if (yych != 'P') goto yy56;
++ } else {
++ if (yych <= 'a') goto yy1330;
++ if (yych != 'p') goto yy56;
++ }
++ }
++yy1330:
+ yych = *++YYCURSOR;
+ if (yych <= 'L') {
+ if (yych != '.') goto yy56;
+ } else {
+- if (yych <= 'M') goto yy1330;
+- if (yych == 'm') goto yy1330;
++ if (yych <= 'M') goto yy1332;
++ if (yych == 'm') goto yy1332;
+ goto yy56;
+ }
+ yych = *++YYCURSOR;
+- if (yych == 'M') goto yy1330;
++ if (yych == 'M') goto yy1332;
+ if (yych != 'm') goto yy56;
+-yy1330:
++yy1332:
+ yych = *++YYCURSOR;
+ if (yych <= 0x1F) {
+- if (yych <= 0x00) goto yy1292;
+- if (yych == '\t') goto yy1292;
++ if (yych <= 0x00) goto yy1293;
++ if (yych == '\t') goto yy1293;
+ goto yy56;
+ } else {
+- if (yych <= ' ') goto yy1292;
++ if (yych <= ' ') goto yy1293;
+ if (yych != '.') goto yy56;
+ }
+ yych = *++YYCURSOR;
+ if (yych <= '\t') {
+- if (yych <= 0x00) goto yy1292;
++ if (yych <= 0x00) goto yy1293;
+ if (yych <= 0x08) goto yy56;
+- goto yy1292;
++ goto yy1293;
+ } else {
+- if (yych == ' ') goto yy1292;
++ if (yych == ' ') goto yy1293;
+ goto yy56;
+ }
+-yy1332:
++yy1334:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -18877,12 +19068,12 @@ yy1332:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'r') goto yy1333;
++ if (yych <= 'r') goto yy1335;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1333:
++yy1335:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -18898,12 +19089,12 @@ yy1333:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 't') goto yy1334;
++ if (yych <= 't') goto yy1336;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1334:
++yy1336:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -18925,7 +19116,7 @@ yy1334:
+ goto yy3;
+ }
+ }
+-yy1335:
++yy1337:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -18934,7 +19125,7 @@ yy1335:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'R') goto yy167;
+- goto yy1338;
++ goto yy1340;
+ }
+ } else {
+ if (yych <= 'r') {
+@@ -18942,12 +19133,12 @@ yy1335:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 's') goto yy1338;
++ if (yych <= 's') goto yy1340;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1336:
++yy1338:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -18963,12 +19154,12 @@ yy1336:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1337;
++ if (yych <= 't') goto yy1339;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1337:
++yy1339:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -18990,7 +19181,7 @@ yy1337:
+ goto yy3;
+ }
+ }
+-yy1338:
++yy1340:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -19006,12 +19197,12 @@ yy1338:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 't') goto yy1339;
++ if (yych <= 't') goto yy1341;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1339:
++yy1341:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '(') {
+@@ -19032,19 +19223,19 @@ yy1339:
+ goto yy3;
+ }
+ }
+-yy1340:
++yy1342:
+ yych = *++YYCURSOR;
+- if (yych == 'D') goto yy1341;
++ if (yych == 'D') goto yy1343;
+ if (yych != 'd') goto yy1197;
+-yy1341:
++yy1343:
+ yych = *++YYCURSOR;
+- if (yych == 'A') goto yy1342;
++ if (yych == 'A') goto yy1344;
+ if (yych != 'a') goto yy56;
+-yy1342:
++yy1344:
+ yych = *++YYCURSOR;
+- if (yych == 'Y') goto yy1343;
++ if (yych == 'Y') goto yy1345;
+ if (yych != 'y') goto yy56;
+-yy1343:
++yy1345:
+ yyaccept = 25;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -19055,14 +19246,14 @@ yy1343:
+ goto yy1084;
+ }
+ yych = *++YYCURSOR;
+- if (yych == 'O') goto yy1345;
++ if (yych == 'O') goto yy1347;
+ if (yych != 'o') goto yy56;
+-yy1345:
++yy1347:
+ yych = *++YYCURSOR;
+- if (yych == 'F') goto yy1305;
+- if (yych == 'f') goto yy1305;
++ if (yych == 'F') goto yy1306;
++ if (yych == 'f') goto yy1306;
+ goto yy56;
+-yy1346:
++yy1348:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+@@ -19097,13 +19288,13 @@ yy1346:
+ if (yych <= '`') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'r') goto yy1347;
++ if (yych <= 'r') goto yy1349;
+ if (yych <= 'z') goto yy167;
+ goto yy218;
+ }
+ }
+ }
+-yy1347:
++yy1349:
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
+ if (yych <= ')') {
+@@ -19119,12 +19310,12 @@ yy1347:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'u') goto yy1348;
++ if (yych <= 'u') goto yy1350;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1348:
++yy1350:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+@@ -19134,27 +19325,27 @@ yy1348:
+ if (yych <= 'Z') goto yy169;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1349;
++ if (yych <= 'a') goto yy1351;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1349:
++yy1351:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'R') goto yy1350;
++ if (yych <= 'R') goto yy1352;
+ if (yych != 'r') goto yy3;
+ }
+-yy1350:
++yy1352:
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy229;
+ if (yych == 'y') goto yy229;
+ goto yy56;
+-yy1351:
++yy1353:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'A') {
+@@ -19169,7 +19360,7 @@ yy1351:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'B') goto yy1346;
++ if (yych <= 'B') goto yy1348;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19178,13 +19369,13 @@ yy1351:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'b') goto yy1369;
++ if (yych <= 'b') goto yy1371;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1352:
++yy1354:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -19201,14 +19392,14 @@ yy1352:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'F') goto yy1336;
++ if (yych == 'F') goto yy1338;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'R') goto yy1335;
++ if (yych <= 'R') goto yy1337;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -19216,16 +19407,16 @@ yy1352:
+ }
+ } else {
+ if (yych <= 'q') {
+- if (yych == 'f') goto yy1365;
++ if (yych == 'f') goto yy1367;
+ goto yy171;
+ } else {
+- if (yych <= 'r') goto yy1364;
++ if (yych <= 'r') goto yy1366;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1353:
++yy1355:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'T') {
+@@ -19240,7 +19431,7 @@ yy1353:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'U') goto yy1332;
++ if (yych <= 'U') goto yy1334;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19249,13 +19440,13 @@ yy1353:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'u') goto yy1361;
++ if (yych <= 'u') goto yy1363;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1354:
++yy1356:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'N') {
+@@ -19272,14 +19463,14 @@ yy1354:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'I') goto yy1315;
++ if (yych == 'I') goto yy1316;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'O') goto yy1314;
++ if (yych <= 'O') goto yy1315;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -19287,16 +19478,16 @@ yy1354:
+ }
+ } else {
+ if (yych <= 'n') {
+- if (yych == 'i') goto yy1356;
++ if (yych == 'i') goto yy1358;
+ goto yy171;
+ } else {
+- if (yych <= 'o') goto yy1355;
++ if (yych <= 'o') goto yy1357;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1355:
++yy1357:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -19311,7 +19502,7 @@ yy1355:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1318;
++ if (yych <= 'N') goto yy1319;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19320,13 +19511,13 @@ yy1355:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'n') goto yy1359;
++ if (yych <= 'n') goto yy1361;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1356:
++yy1358:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -19341,7 +19532,7 @@ yy1356:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1316;
++ if (yych <= 'D') goto yy1317;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy191;
+ goto yy172;
+@@ -19350,13 +19541,13 @@ yy1356:
+ if (yych <= '`') goto yy191;
+ goto yy175;
+ } else {
+- if (yych <= 'd') goto yy1357;
++ if (yych <= 'd') goto yy1359;
+ if (yych <= 'z') goto yy175;
+ goto yy191;
+ }
+ }
+ }
+-yy1357:
++yy1359:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -19370,18 +19561,18 @@ yy1357:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1317;
++ if (yych <= 'A') goto yy1318;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1358;
++ if (yych <= 'a') goto yy1360;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+-yy1358:
++yy1360:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -19411,7 +19602,7 @@ yy1358:
+ }
+ }
+ }
+-yy1359:
++yy1361:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -19426,7 +19617,7 @@ yy1359:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1319;
++ if (yych <= 'T') goto yy1320;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19435,18 +19626,18 @@ yy1359:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 't') goto yy1360;
++ if (yych <= 't') goto yy1362;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1360:
++yy1362:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '.') {
+ if (yych <= '(') {
+- if (yych == ' ') goto yy1320;
++ if (yych == ' ') goto yy1321;
+ goto yy3;
+ } else {
+ if (yych <= ')') goto yy164;
+@@ -19466,7 +19657,7 @@ yy1360:
+ goto yy3;
+ }
+ }
+-yy1361:
++yy1363:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -19481,7 +19672,7 @@ yy1361:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1333;
++ if (yych <= 'R') goto yy1335;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19490,13 +19681,13 @@ yy1361:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'r') goto yy1362;
++ if (yych <= 'r') goto yy1364;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1362:
++yy1364:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -19511,7 +19702,7 @@ yy1362:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1334;
++ if (yych <= 'T') goto yy1336;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19520,13 +19711,13 @@ yy1362:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 't') goto yy1363;
++ if (yych <= 't') goto yy1365;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1363:
++yy1365:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -19556,7 +19747,7 @@ yy1363:
+ }
+ }
+ }
+-yy1364:
++yy1366:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -19571,7 +19762,7 @@ yy1364:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1338;
++ if (yych <= 'S') goto yy1340;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19580,13 +19771,13 @@ yy1364:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 's') goto yy1367;
++ if (yych <= 's') goto yy1369;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1365:
++yy1367:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -19601,7 +19792,7 @@ yy1365:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1337;
++ if (yych <= 'T') goto yy1339;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19610,13 +19801,13 @@ yy1365:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1366;
++ if (yych <= 't') goto yy1368;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1366:
++yy1368:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -19646,7 +19837,7 @@ yy1366:
+ }
+ }
+ }
+-yy1367:
++yy1369:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -19661,7 +19852,7 @@ yy1367:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1339;
++ if (yych <= 'T') goto yy1341;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19670,20 +19861,20 @@ yy1367:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 't') goto yy1368;
++ if (yych <= 't') goto yy1370;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1368:
++yy1370:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '-') {
+ if (yych <= ' ') {
+ if (yych == '\t') goto yy1196;
+ if (yych <= 0x1F) goto yy3;
+- goto yy1340;
++ goto yy1342;
+ } else {
+ if (yych == ')') goto yy164;
+ if (yych <= ',') goto yy3;
+@@ -19705,7 +19896,7 @@ yy1368:
+ }
+ }
+ }
+-yy1369:
++yy1371:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '9') {
+@@ -19733,7 +19924,7 @@ yy1369:
+ if (yych <= '@') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'R') goto yy1347;
++ if (yych <= 'R') goto yy1349;
+ if (yych <= 'Z') goto yy167;
+ goto yy218;
+ }
+@@ -19743,13 +19934,13 @@ yy1369:
+ if (yych <= '`') goto yy218;
+ goto yy175;
+ } else {
+- if (yych <= 'r') goto yy1370;
++ if (yych <= 'r') goto yy1372;
+ if (yych <= 'z') goto yy175;
+ goto yy218;
+ }
+ }
+ }
+-yy1370:
++yy1372:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'T') {
+@@ -19764,7 +19955,7 @@ yy1370:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'U') goto yy1348;
++ if (yych <= 'U') goto yy1350;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -19773,13 +19964,13 @@ yy1370:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'u') goto yy1371;
++ if (yych <= 'u') goto yy1373;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1371:
++yy1373:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -19793,18 +19984,18 @@ yy1371:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1349;
++ if (yych <= 'A') goto yy1351;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1372;
++ if (yych <= 'a') goto yy1374;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+-yy1372:
++yy1374:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -19818,33 +20009,34 @@ yy1372:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'R') goto yy1350;
++ if (yych <= 'R') goto yy1352;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'r') goto yy1373;
++ if (yych == 'r') goto yy1375;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1373:
++yy1375:
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy229;
+ if (yych == 'y') goto yy341;
+ goto yy179;
+-yy1374:
++yy1376:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+-yy1375:
++yy1377:
+ yyaccept = 28;
+ YYMARKER = ++YYCURSOR;
+ if ((YYLIMIT - YYCURSOR) < 7) YYFILL(7);
+ yych = *YYCURSOR;
+- if (yych == '.') goto yy1378;
+- if (yych <= '/') goto yy1377;
+- if (yych <= '9') goto yy1375;
+-yy1377:
++ if (yych == '.') goto yy1380;
++ if (yych <= '/') goto yy1379;
++ if (yych <= '9') goto yy1377;
++yy1379:
++#line 1025 "ext/date/lib/parse_date.re"
+ {
+ timelib_ull i;
+
+@@ -19869,7 +20061,8 @@ yy1377:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1378:
++#line 20065 "ext/date/lib/parse_date.c"
++yy1380:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+@@ -19889,6 +20082,7 @@ yy1378:
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+ ++YYCURSOR;
++#line 1051 "ext/date/lib/parse_date.re"
+ {
+ timelib_ull i, ms;
+
+@@ -19915,7 +20109,8 @@ yy1378:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1386:
++#line 20113 "ext/date/lib/parse_date.c"
++yy1388:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -19924,7 +20119,7 @@ yy1386:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'M') goto yy166;
+- goto yy1427;
++ goto yy1429;
+ }
+ } else {
+ if (yych <= 'm') {
+@@ -19932,58 +20127,58 @@ yy1386:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'n') goto yy1427;
++ if (yych <= 'n') goto yy1429;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1387:
++yy1389:
+ yych = *++YYCURSOR;
+ if (yych <= 'U') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'I') goto yy1419;
++ if (yych == 'I') goto yy1421;
+ if (yych <= 'T') goto yy166;
+- goto yy1420;
++ goto yy1422;
+ }
+ } else {
+ if (yych <= 'i') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'h') goto yy166;
+- goto yy1419;
++ goto yy1421;
+ } else {
+- if (yych == 'u') goto yy1420;
++ if (yych == 'u') goto yy1422;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1388:
++yy1390:
+ yych = *++YYCURSOR;
+ if (yych <= 'M') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'D') goto yy1408;
++ if (yych == 'D') goto yy1410;
+ if (yych <= 'L') goto yy166;
+- goto yy1409;
++ goto yy1411;
+ }
+ } else {
+ if (yych <= 'd') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'c') goto yy166;
+- goto yy1408;
++ goto yy1410;
+ } else {
+- if (yych == 'm') goto yy1409;
++ if (yych == 'm') goto yy1411;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1389:
++yy1391:
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
+ if (yych <= ')') {
+@@ -19992,7 +20187,7 @@ yy1389:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy166;
+- goto yy1404;
++ goto yy1406;
+ }
+ } else {
+ if (yych <= 'd') {
+@@ -20000,12 +20195,12 @@ yy1389:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'e') goto yy1404;
++ if (yych <= 'e') goto yy1406;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1390:
++yy1392:
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
+ if (yych <= ')') {
+@@ -20014,7 +20209,7 @@ yy1390:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'D') goto yy166;
+- goto yy1400;
++ goto yy1402;
+ }
+ } else {
+ if (yych <= 'd') {
+@@ -20022,68 +20217,68 @@ yy1390:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'e') goto yy1400;
++ if (yych <= 'e') goto yy1402;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1391:
++yy1393:
+ yych = *++YYCURSOR;
+ if (yych <= '/') {
+ if (yych == '.') goto yy1029;
+ goto yy56;
+ } else {
+- if (yych <= '9') goto yy1394;
++ if (yych <= '9') goto yy1396;
+ if (yych <= ':') goto yy1029;
+ goto yy56;
+ }
+-yy1392:
++yy1394:
+ yych = *++YYCURSOR;
+ if (yych <= '/') {
+ if (yych == '.') goto yy1029;
+ goto yy56;
+ } else {
+- if (yych <= '4') goto yy1394;
++ if (yych <= '4') goto yy1396;
+ if (yych == ':') goto yy1029;
+ goto yy56;
+ }
+-yy1393:
++yy1395:
+ yych = *++YYCURSOR;
+ if (yych == '.') goto yy1029;
+ if (yych == ':') goto yy1029;
+ goto yy56;
+-yy1394:
++yy1396:
+ yych = *++YYCURSOR;
+ if (yych <= '/') {
+ if (yych == '.') goto yy1029;
+ goto yy56;
+ } else {
+- if (yych <= '5') goto yy1395;
++ if (yych <= '5') goto yy1397;
+ if (yych == ':') goto yy1029;
+ goto yy56;
+ }
+-yy1395:
++yy1397:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+ if (yych >= ':') goto yy56;
+ yyaccept = 23;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') goto yy1032;
+- if (yych <= '5') goto yy1397;
+- if (yych <= '6') goto yy1398;
++ if (yych <= '5') goto yy1399;
++ if (yych <= '6') goto yy1400;
+ goto yy1032;
+-yy1397:
++yy1399:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy56;
+- if (yych <= '9') goto yy1399;
++ if (yych <= '9') goto yy1401;
+ goto yy56;
+-yy1398:
++yy1400:
+ yych = *++YYCURSOR;
+ if (yych != '0') goto yy56;
+-yy1399:
++yy1401:
+ yych = *++YYCURSOR;
+ goto yy1040;
+-yy1400:
++yy1402:
+ yych = *++YYCURSOR;
+ if (yych <= 'L') {
+ if (yych <= ')') {
+@@ -20099,12 +20294,12 @@ yy1400:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'l') goto yy1401;
++ if (yych <= 'l') goto yy1403;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1401:
++yy1403:
+ yych = *++YYCURSOR;
+ if (yych <= 'F') {
+ if (yych <= ')') {
+@@ -20120,12 +20315,12 @@ yy1401:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'f') goto yy1402;
++ if (yych <= 'f') goto yy1404;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1402:
++yy1404:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -20141,12 +20336,12 @@ yy1402:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 't') goto yy1403;
++ if (yych <= 't') goto yy1405;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1403:
++yy1405:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -20157,7 +20352,7 @@ yy1403:
+ if (yych == 'h') goto yy1195;
+ goto yy3;
+ }
+-yy1404:
++yy1406:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -20173,12 +20368,12 @@ yy1404:
+ if (yych <= '`') goto yy191;
+ goto yy167;
+ } else {
+- if (yych <= 's') goto yy1405;
++ if (yych <= 's') goto yy1407;
+ if (yych <= 'z') goto yy167;
+ goto yy191;
+ }
+ }
+-yy1405:
++yy1407:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -20194,12 +20389,12 @@ yy1405:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'd') goto yy1406;
++ if (yych <= 'd') goto yy1408;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1406:
++yy1408:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+@@ -20209,12 +20404,12 @@ yy1406:
+ if (yych <= 'Z') goto yy169;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1407;
++ if (yych <= 'a') goto yy1409;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1407:
++yy1409:
+ yych = *++YYCURSOR;
+ if (yych <= 'X') {
+ if (yych == ')') goto yy164;
+@@ -20224,23 +20419,23 @@ yy1407:
+ if (yych == 'y') goto yy197;
+ goto yy3;
+ }
+-yy1408:
++yy1410:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+ if (yych <= '@') goto yy3;
+- goto yy1416;
++ goto yy1418;
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') goto yy167;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1416;
++ if (yych <= 'a') goto yy1418;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1409:
++yy1411:
+ yych = *++YYCURSOR;
+ if (yych <= 'O') {
+ if (yych <= ')') {
+@@ -20256,12 +20451,12 @@ yy1409:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'o') goto yy1410;
++ if (yych <= 'o') goto yy1412;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1410:
++yy1412:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -20277,12 +20472,12 @@ yy1410:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'r') goto yy1411;
++ if (yych <= 'r') goto yy1413;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1411:
++yy1413:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -20298,28 +20493,29 @@ yy1411:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'r') goto yy1412;
++ if (yych <= 'r') goto yy1414;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1412:
++yy1414:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'N') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'O') goto yy1413;
++ if (yych <= 'O') goto yy1415;
+ if (yych != 'o') goto yy3;
+ }
+-yy1413:
++yy1415:
+ yych = *++YYCURSOR;
+- if (yych == 'W') goto yy1414;
++ if (yych == 'W') goto yy1416;
+ if (yych != 'w') goto yy56;
+-yy1414:
++yy1416:
+ ++YYCURSOR;
+-yy1415:
++yy1417:
++#line 1013 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("tomorrow");
+ TIMELIB_INIT;
+@@ -20330,7 +20526,8 @@ yy1415:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1416:
++#line 20530 "ext/date/lib/parse_date.c"
++yy1418:
+ yych = *++YYCURSOR;
+ if (yych <= 'Y') {
+ if (yych <= ')') {
+@@ -20346,21 +20543,22 @@ yy1416:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'y') goto yy1417;
++ if (yych <= 'y') goto yy1419;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1417:
++yy1419:
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '@') {
+ if (yych == ')') goto yy164;
+ } else {
+ if (yych <= 'Z') goto yy169;
+- if (yych <= '`') goto yy1418;
++ if (yych <= '`') goto yy1420;
+ if (yych <= 'z') goto yy169;
+ }
+-yy1418:
++yy1420:
++#line 1003 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("midnight | today");
+ TIMELIB_INIT;
+@@ -20369,7 +20567,8 @@ yy1418:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1419:
++#line 20571 "ext/date/lib/parse_date.c"
++yy1421:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= '@') {
+@@ -20377,8 +20576,8 @@ yy1419:
+ goto yy3;
+ } else {
+ if (yych <= 'Q') goto yy167;
+- if (yych <= 'R') goto yy1425;
+- goto yy1426;
++ if (yych <= 'R') goto yy1427;
++ goto yy1428;
+ }
+ } else {
+ if (yych <= 'q') {
+@@ -20386,13 +20585,13 @@ yy1419:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'r') goto yy1425;
+- if (yych <= 's') goto yy1426;
++ if (yych <= 'r') goto yy1427;
++ if (yych <= 's') goto yy1428;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1420:
++yy1422:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -20408,12 +20607,12 @@ yy1420:
+ if (yych <= '`') goto yy191;
+ goto yy167;
+ } else {
+- if (yych <= 'r') goto yy1421;
++ if (yych <= 'r') goto yy1423;
+ if (yych <= 'z') goto yy167;
+ goto yy191;
+ }
+ }
+-yy1421:
++yy1423:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -20429,12 +20628,12 @@ yy1421:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 's') goto yy1422;
++ if (yych <= 's') goto yy1424;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1422:
++yy1424:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -20450,27 +20649,27 @@ yy1422:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'd') goto yy1423;
++ if (yych <= 'd') goto yy1425;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1423:
++yy1425:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'A') goto yy1424;
++ if (yych <= 'A') goto yy1426;
+ if (yych != 'a') goto yy3;
+ }
+-yy1424:
++yy1426:
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy197;
+ if (yych == 'y') goto yy197;
+ goto yy56;
+-yy1425:
++yy1427:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -20492,7 +20691,7 @@ yy1425:
+ goto yy3;
+ }
+ }
+-yy1426:
++yy1428:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '(') {
+@@ -20514,7 +20713,7 @@ yy1426:
+ goto yy3;
+ }
+ }
+-yy1427:
++yy1429:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -20530,12 +20729,12 @@ yy1427:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1428;
++ if (yych <= 't') goto yy1430;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1428:
++yy1430:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -20557,7 +20756,7 @@ yy1428:
+ goto yy3;
+ }
+ }
+-yy1429:
++yy1431:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -20572,7 +20771,7 @@ yy1429:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1427;
++ if (yych <= 'N') goto yy1429;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20581,13 +20780,13 @@ yy1429:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'n') goto yy1459;
++ if (yych <= 'n') goto yy1461;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1430:
++yy1432:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'T') {
+@@ -20604,14 +20803,14 @@ yy1430:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'I') goto yy1419;
++ if (yych == 'I') goto yy1421;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'U') goto yy1420;
++ if (yych <= 'U') goto yy1422;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -20619,16 +20818,16 @@ yy1430:
+ }
+ } else {
+ if (yych <= 't') {
+- if (yych == 'i') goto yy1451;
++ if (yych == 'i') goto yy1453;
+ goto yy171;
+ } else {
+- if (yych <= 'u') goto yy1452;
++ if (yych <= 'u') goto yy1454;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1431:
++yy1433:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'L') {
+@@ -20645,14 +20844,14 @@ yy1431:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'D') goto yy1408;
++ if (yych == 'D') goto yy1410;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'M') goto yy1409;
++ if (yych <= 'M') goto yy1411;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -20660,16 +20859,16 @@ yy1431:
+ }
+ } else {
+ if (yych <= 'l') {
+- if (yych == 'd') goto yy1442;
++ if (yych == 'd') goto yy1444;
+ goto yy171;
+ } else {
+- if (yych <= 'm') goto yy1443;
++ if (yych <= 'm') goto yy1445;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1432:
++yy1434:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+@@ -20684,7 +20883,7 @@ yy1432:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'E') goto yy1404;
++ if (yych <= 'E') goto yy1406;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20693,13 +20892,13 @@ yy1432:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'e') goto yy1438;
++ if (yych <= 'e') goto yy1440;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1433:
++yy1435:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+@@ -20714,7 +20913,7 @@ yy1433:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'E') goto yy1400;
++ if (yych <= 'E') goto yy1402;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20723,13 +20922,13 @@ yy1433:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'e') goto yy1434;
++ if (yych <= 'e') goto yy1436;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1434:
++yy1436:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'K') {
+@@ -20744,7 +20943,7 @@ yy1434:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'L') goto yy1401;
++ if (yych <= 'L') goto yy1403;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20753,13 +20952,13 @@ yy1434:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'l') goto yy1435;
++ if (yych <= 'l') goto yy1437;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1435:
++yy1437:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'E') {
+@@ -20774,7 +20973,7 @@ yy1435:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'F') goto yy1402;
++ if (yych <= 'F') goto yy1404;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20783,13 +20982,13 @@ yy1435:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'f') goto yy1436;
++ if (yych <= 'f') goto yy1438;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1436:
++yy1438:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -20804,7 +21003,7 @@ yy1436:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1403;
++ if (yych <= 'T') goto yy1405;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20813,13 +21012,13 @@ yy1436:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 't') goto yy1437;
++ if (yych <= 't') goto yy1439;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1437:
++yy1439:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -20842,7 +21041,7 @@ yy1437:
+ goto yy3;
+ }
+ }
+-yy1438:
++yy1440:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -20857,7 +21056,7 @@ yy1438:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1405;
++ if (yych <= 'S') goto yy1407;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy191;
+ goto yy172;
+@@ -20866,13 +21065,13 @@ yy1438:
+ if (yych <= '`') goto yy191;
+ goto yy175;
+ } else {
+- if (yych <= 's') goto yy1439;
++ if (yych <= 's') goto yy1441;
+ if (yych <= 'z') goto yy175;
+ goto yy191;
+ }
+ }
+ }
+-yy1439:
++yy1441:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -20887,7 +21086,7 @@ yy1439:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1406;
++ if (yych <= 'D') goto yy1408;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20896,13 +21095,13 @@ yy1439:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'd') goto yy1440;
++ if (yych <= 'd') goto yy1442;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1440:
++yy1442:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -20916,18 +21115,18 @@ yy1440:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1407;
++ if (yych <= 'A') goto yy1409;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1441;
++ if (yych <= 'a') goto yy1443;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+-yy1441:
++yy1443:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -20950,7 +21149,7 @@ yy1441:
+ goto yy3;
+ }
+ }
+-yy1442:
++yy1444:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -20964,18 +21163,18 @@ yy1442:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1416;
++ if (yych <= 'A') goto yy1418;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1449;
++ if (yych <= 'a') goto yy1451;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+-yy1443:
++yy1445:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'N') {
+@@ -20990,7 +21189,7 @@ yy1443:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'O') goto yy1410;
++ if (yych <= 'O') goto yy1412;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -20999,13 +21198,13 @@ yy1443:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'o') goto yy1444;
++ if (yych <= 'o') goto yy1446;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1444:
++yy1446:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -21020,7 +21219,7 @@ yy1444:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1411;
++ if (yych <= 'R') goto yy1413;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21029,13 +21228,13 @@ yy1444:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'r') goto yy1445;
++ if (yych <= 'r') goto yy1447;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1445:
++yy1447:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -21050,7 +21249,7 @@ yy1445:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1412;
++ if (yych <= 'R') goto yy1414;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21059,13 +21258,13 @@ yy1445:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'r') goto yy1446;
++ if (yych <= 'r') goto yy1448;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1446:
++yy1448:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'N') {
+@@ -21079,18 +21278,18 @@ yy1446:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'O') goto yy1413;
++ if (yych <= 'O') goto yy1415;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'o') goto yy1447;
++ if (yych == 'o') goto yy1449;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1447:
++yy1449:
+ yych = *++YYCURSOR;
+- if (yych == 'W') goto yy1414;
++ if (yych == 'W') goto yy1416;
+ if (yych != 'w') goto yy179;
+ yyaccept = 29;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -21099,13 +21298,13 @@ yy1447:
+ }
+ if (yych <= '.') {
+ if (yych == '-') goto yy172;
+- goto yy1415;
++ goto yy1417;
+ } else {
+ if (yych <= '/') goto yy172;
+ if (yych == '_') goto yy172;
+- goto yy1415;
++ goto yy1417;
+ }
+-yy1449:
++yy1451:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -21120,7 +21319,7 @@ yy1449:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'Y') goto yy1417;
++ if (yych <= 'Y') goto yy1419;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21129,36 +21328,36 @@ yy1449:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'y') goto yy1450;
++ if (yych <= 'y') goto yy1452;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1450:
++yy1452:
+ yyaccept = 30;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+ if (yych <= ',') {
+ if (yych == ')') goto yy164;
+- goto yy1418;
++ goto yy1420;
+ } else {
+- if (yych == '.') goto yy1418;
++ if (yych == '.') goto yy1420;
+ goto yy172;
+ }
+ } else {
+ if (yych <= '^') {
+- if (yych <= '@') goto yy1418;
++ if (yych <= '@') goto yy1420;
+ if (yych <= 'Z') goto yy169;
+- goto yy1418;
++ goto yy1420;
+ } else {
+ if (yych <= '_') goto yy172;
+- if (yych <= '`') goto yy1418;
++ if (yych <= '`') goto yy1420;
+ if (yych <= 'z') goto yy177;
+- goto yy1418;
++ goto yy1420;
+ }
+ }
+-yy1451:
++yy1453:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -21173,13 +21372,13 @@ yy1451:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'Q') goto yy167;
+- goto yy1425;
++ goto yy1427;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'S') goto yy1426;
++ if (yych <= 'S') goto yy1428;
+ goto yy167;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -21188,15 +21387,15 @@ yy1451:
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'q') goto yy175;
+- goto yy1457;
++ goto yy1459;
+ } else {
+- if (yych <= 's') goto yy1458;
++ if (yych <= 's') goto yy1460;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1452:
++yy1454:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -21211,7 +21410,7 @@ yy1452:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1421;
++ if (yych <= 'R') goto yy1423;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy191;
+ goto yy172;
+@@ -21220,13 +21419,13 @@ yy1452:
+ if (yych <= '`') goto yy191;
+ goto yy175;
+ } else {
+- if (yych <= 'r') goto yy1453;
++ if (yych <= 'r') goto yy1455;
+ if (yych <= 'z') goto yy175;
+ goto yy191;
+ }
+ }
+ }
+-yy1453:
++yy1455:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -21241,7 +21440,7 @@ yy1453:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1422;
++ if (yych <= 'S') goto yy1424;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21250,13 +21449,13 @@ yy1453:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 's') goto yy1454;
++ if (yych <= 's') goto yy1456;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1454:
++yy1456:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -21271,7 +21470,7 @@ yy1454:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1423;
++ if (yych <= 'D') goto yy1425;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21280,13 +21479,13 @@ yy1454:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'd') goto yy1455;
++ if (yych <= 'd') goto yy1457;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1455:
++yy1457:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -21300,22 +21499,22 @@ yy1455:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1424;
++ if (yych <= 'A') goto yy1426;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1456;
++ if (yych <= 'a') goto yy1458;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1456:
++yy1458:
+ yych = *++YYCURSOR;
+ if (yych == 'Y') goto yy197;
+ if (yych == 'y') goto yy210;
+ goto yy179;
+-yy1457:
++yy1459:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -21345,7 +21544,7 @@ yy1457:
+ }
+ }
+ }
+-yy1458:
++yy1460:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '-') {
+@@ -21374,7 +21573,7 @@ yy1458:
+ }
+ }
+ }
+-yy1459:
++yy1461:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -21389,7 +21588,7 @@ yy1459:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1428;
++ if (yych <= 'T') goto yy1430;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21398,13 +21597,13 @@ yy1459:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1460;
++ if (yych <= 't') goto yy1462;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1460:
++yy1462:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -21434,30 +21633,30 @@ yy1460:
+ }
+ }
+ }
+-yy1461:
++yy1463:
+ yych = *++YYCURSOR;
+ if (yych <= 'Y') {
+ if (yych <= '@') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych == 'R') goto yy1473;
++ if (yych == 'R') goto yy1475;
+ if (yych <= 'X') goto yy166;
+- goto yy1474;
++ goto yy1476;
+ }
+ } else {
+ if (yych <= 'r') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'q') goto yy166;
+- goto yy1473;
++ goto yy1475;
+ } else {
+- if (yych == 'y') goto yy1474;
++ if (yych == 'y') goto yy1476;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1462:
++yy1464:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -21466,7 +21665,7 @@ yy1462:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'C') goto yy166;
+- goto yy1467;
++ goto yy1469;
+ }
+ } else {
+ if (yych <= 'c') {
+@@ -21474,12 +21673,12 @@ yy1462:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'd') goto yy1467;
++ if (yych <= 'd') goto yy1469;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1463:
++yy1465:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -21495,12 +21694,12 @@ yy1463:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'n') goto yy1464;
++ if (yych <= 'n') goto yy1466;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1464:
++yy1466:
+ yych = *++YYCURSOR;
+ if (yych <= 'D') {
+ if (yych <= ')') {
+@@ -21516,12 +21715,12 @@ yy1464:
+ if (yych <= '`') goto yy191;
+ goto yy167;
+ } else {
+- if (yych <= 'd') goto yy1465;
++ if (yych <= 'd') goto yy1467;
+ if (yych <= 'z') goto yy167;
+ goto yy191;
+ }
+ }
+-yy1465:
++yy1467:
+ yych = *++YYCURSOR;
+ if (yych <= 'A') {
+ if (yych == ')') goto yy164;
+@@ -21531,12 +21730,12 @@ yy1465:
+ if (yych <= 'Z') goto yy168;
+ goto yy3;
+ } else {
+- if (yych <= 'a') goto yy1466;
++ if (yych <= 'a') goto yy1468;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1466:
++yy1468:
+ yych = *++YYCURSOR;
+ if (yych <= 'Y') {
+ if (yych <= ')') {
+@@ -21558,7 +21757,7 @@ yy1466:
+ goto yy3;
+ }
+ }
+-yy1467:
++yy1469:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -21574,12 +21773,12 @@ yy1467:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'n') goto yy1468;
++ if (yych <= 'n') goto yy1470;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1468:
++yy1470:
+ yych = *++YYCURSOR;
+ if (yych <= 'I') {
+ if (yych <= ')') {
+@@ -21595,12 +21794,12 @@ yy1468:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'i') goto yy1469;
++ if (yych <= 'i') goto yy1471;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1469:
++yy1471:
+ yych = *++YYCURSOR;
+ if (yych <= 'G') {
+ if (yych <= ')') {
+@@ -21616,29 +21815,29 @@ yy1469:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'g') goto yy1470;
++ if (yych <= 'g') goto yy1472;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1470:
++yy1472:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'H') goto yy1471;
++ if (yych <= 'H') goto yy1473;
+ if (yych != 'h') goto yy3;
+ }
+-yy1471:
++yy1473:
+ yych = *++YYCURSOR;
+- if (yych == 'T') goto yy1472;
++ if (yych == 'T') goto yy1474;
+ if (yych != 't') goto yy56;
+-yy1472:
++yy1474:
+ yych = *++YYCURSOR;
+- goto yy1418;
+-yy1473:
++ goto yy1420;
++yy1475:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+@@ -21666,7 +21865,7 @@ yy1473:
+ if (yych <= '9') goto yy220;
+ goto yy218;
+ } else {
+- if (yych == 'C') goto yy1475;
++ if (yych == 'C') goto yy1477;
+ goto yy167;
+ }
+ } else {
+@@ -21674,13 +21873,13 @@ yy1473:
+ if (yych <= '`') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'c') goto yy1475;
++ if (yych <= 'c') goto yy1477;
+ if (yych <= 'z') goto yy167;
+ goto yy218;
+ }
+ }
+ }
+-yy1474:
++yy1476:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '-') {
+@@ -21705,7 +21904,7 @@ yy1474:
+ goto yy218;
+ }
+ }
+-yy1475:
++yy1477:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -21727,7 +21926,7 @@ yy1475:
+ goto yy3;
+ }
+ }
+-yy1476:
++yy1478:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -21744,14 +21943,14 @@ yy1476:
+ if (yych <= '/') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'R') goto yy1473;
++ if (yych == 'R') goto yy1475;
+ goto yy166;
+ }
+ }
+ } else {
+ if (yych <= '`') {
+ if (yych <= 'Z') {
+- if (yych <= 'Y') goto yy1474;
++ if (yych <= 'Y') goto yy1476;
+ goto yy166;
+ } else {
+ if (yych == '_') goto yy172;
+@@ -21759,16 +21958,16 @@ yy1476:
+ }
+ } else {
+ if (yych <= 'x') {
+- if (yych == 'r') goto yy1488;
++ if (yych == 'r') goto yy1490;
+ goto yy171;
+ } else {
+- if (yych <= 'y') goto yy1489;
++ if (yych <= 'y') goto yy1491;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1477:
++yy1479:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -21783,7 +21982,7 @@ yy1477:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1467;
++ if (yych <= 'D') goto yy1469;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21792,13 +21991,13 @@ yy1477:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'd') goto yy1482;
++ if (yych <= 'd') goto yy1484;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1478:
++yy1480:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -21813,7 +22012,7 @@ yy1478:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1464;
++ if (yych <= 'N') goto yy1466;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21822,13 +22021,13 @@ yy1478:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'n') goto yy1479;
++ if (yych <= 'n') goto yy1481;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1479:
++yy1481:
+ yyaccept = 4;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -21843,7 +22042,7 @@ yy1479:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'D') goto yy1465;
++ if (yych <= 'D') goto yy1467;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy191;
+ goto yy172;
+@@ -21852,13 +22051,13 @@ yy1479:
+ if (yych <= '`') goto yy191;
+ goto yy175;
+ } else {
+- if (yych <= 'd') goto yy1480;
++ if (yych <= 'd') goto yy1482;
+ if (yych <= 'z') goto yy175;
+ goto yy191;
+ }
+ }
+ }
+-yy1480:
++yy1482:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '@') {
+@@ -21872,18 +22071,18 @@ yy1480:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'A') goto yy1466;
++ if (yych <= 'A') goto yy1468;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+ } else {
+ if (yych <= '`') goto yy3;
+- if (yych <= 'a') goto yy1481;
++ if (yych <= 'a') goto yy1483;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+-yy1481:
++yy1483:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'X') {
+@@ -21913,7 +22112,7 @@ yy1481:
+ }
+ }
+ }
+-yy1482:
++yy1484:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -21928,7 +22127,7 @@ yy1482:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1468;
++ if (yych <= 'N') goto yy1470;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21937,13 +22136,13 @@ yy1482:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'n') goto yy1483;
++ if (yych <= 'n') goto yy1485;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1483:
++yy1485:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'H') {
+@@ -21958,7 +22157,7 @@ yy1483:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'I') goto yy1469;
++ if (yych <= 'I') goto yy1471;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21967,13 +22166,13 @@ yy1483:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'i') goto yy1484;
++ if (yych <= 'i') goto yy1486;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1484:
++yy1486:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'F') {
+@@ -21988,7 +22187,7 @@ yy1484:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'G') goto yy1470;
++ if (yych <= 'G') goto yy1472;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -21997,13 +22196,13 @@ yy1484:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'g') goto yy1485;
++ if (yych <= 'g') goto yy1487;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1485:
++yy1487:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -22017,18 +22216,18 @@ yy1485:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'H') goto yy1471;
++ if (yych <= 'H') goto yy1473;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'h') goto yy1486;
++ if (yych == 'h') goto yy1488;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1486:
++yy1488:
+ yych = *++YYCURSOR;
+- if (yych == 'T') goto yy1472;
++ if (yych == 'T') goto yy1474;
+ if (yych != 't') goto yy179;
+ yyaccept = 30;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -22037,13 +22236,13 @@ yy1486:
+ }
+ if (yych <= '.') {
+ if (yych == '-') goto yy172;
+- goto yy1418;
++ goto yy1420;
+ } else {
+ if (yych <= '/') goto yy172;
+ if (yych == '_') goto yy172;
+- goto yy1418;
++ goto yy1420;
+ }
+-yy1488:
++yy1490:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '9') {
+@@ -22071,7 +22270,7 @@ yy1488:
+ if (yych <= '@') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'C') goto yy1475;
++ if (yych <= 'C') goto yy1477;
+ if (yych <= 'Z') goto yy167;
+ goto yy218;
+ }
+@@ -22081,13 +22280,13 @@ yy1488:
+ if (yych <= '`') goto yy218;
+ goto yy175;
+ } else {
+- if (yych <= 'c') goto yy1490;
++ if (yych <= 'c') goto yy1492;
+ if (yych <= 'z') goto yy175;
+ goto yy218;
+ }
+ }
+ }
+-yy1489:
++yy1491:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '.') {
+@@ -22122,7 +22321,7 @@ yy1489:
+ }
+ }
+ }
+-yy1490:
++yy1492:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -22152,7 +22351,7 @@ yy1490:
+ }
+ }
+ }
+-yy1491:
++yy1493:
+ yych = *++YYCURSOR;
+ if (yych <= 'W') {
+ if (yych <= 'N') {
+@@ -22160,29 +22359,29 @@ yy1491:
+ if (yych <= '@') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'O') goto yy1499;
++ if (yych <= 'O') goto yy1501;
+ if (yych <= 'U') goto yy166;
+- if (yych <= 'V') goto yy1500;
+- goto yy1497;
++ if (yych <= 'V') goto yy1502;
++ goto yy1499;
+ }
+ } else {
+ if (yych <= 'o') {
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '`') goto yy3;
+ if (yych <= 'n') goto yy166;
+- goto yy1499;
++ goto yy1501;
+ } else {
+ if (yych <= 'v') {
+ if (yych <= 'u') goto yy166;
+- goto yy1500;
++ goto yy1502;
+ } else {
+- if (yych <= 'w') goto yy1497;
++ if (yych <= 'w') goto yy1499;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+ }
+-yy1492:
++yy1494:
+ yych = *++YYCURSOR;
+ if (yych <= 'X') {
+ if (yych <= ')') {
+@@ -22191,7 +22390,7 @@ yy1492:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'W') goto yy166;
+- goto yy1496;
++ goto yy1498;
+ }
+ } else {
+ if (yych <= 'w') {
+@@ -22199,12 +22398,12 @@ yy1492:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'x') goto yy1496;
++ if (yych <= 'x') goto yy1498;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1493:
++yy1495:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -22220,12 +22419,12 @@ yy1493:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'n') goto yy1494;
++ if (yych <= 'n') goto yy1496;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1494:
++yy1496:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -22241,12 +22440,12 @@ yy1494:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1495;
++ if (yych <= 't') goto yy1497;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1495:
++yy1497:
+ yych = *++YYCURSOR;
+ if (yych <= 'H') {
+ if (yych <= ')') {
+@@ -22268,7 +22467,7 @@ yy1495:
+ goto yy3;
+ }
+ }
+-yy1496:
++yy1498:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -22277,7 +22476,7 @@ yy1496:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'S') goto yy167;
+- goto yy1426;
++ goto yy1428;
+ }
+ } else {
+ if (yych <= 's') {
+@@ -22285,21 +22484,22 @@ yy1496:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1426;
++ if (yych <= 't') goto yy1428;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1497:
++yy1499:
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '@') {
+ if (yych == ')') goto yy164;
+ } else {
+ if (yych <= 'Z') goto yy167;
+- if (yych <= '`') goto yy1498;
++ if (yych <= '`') goto yy1500;
+ if (yych <= 'z') goto yy167;
+ }
+-yy1498:
++yy1500:
++#line 982 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("now");
+ TIMELIB_INIT;
+@@ -22307,7 +22507,8 @@ yy1498:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1499:
++#line 22511 "ext/date/lib/parse_date.c"
++yy1501:
+ yych = *++YYCURSOR;
+ if (yych <= 'N') {
+ if (yych <= ')') {
+@@ -22316,7 +22517,7 @@ yy1499:
+ } else {
+ if (yych <= '@') goto yy3;
+ if (yych <= 'M') goto yy167;
+- goto yy1505;
++ goto yy1507;
+ }
+ } else {
+ if (yych <= 'm') {
+@@ -22324,12 +22525,12 @@ yy1499:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 'n') goto yy1505;
++ if (yych <= 'n') goto yy1507;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1500:
++yy1502:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+@@ -22364,13 +22565,13 @@ yy1500:
+ if (yych <= '`') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'e') goto yy1501;
++ if (yych <= 'e') goto yy1503;
+ if (yych <= 'z') goto yy167;
+ goto yy218;
+ }
+ }
+ }
+-yy1501:
++yy1503:
+ yych = *++YYCURSOR;
+ if (yych <= 'M') {
+ if (yych <= ')') {
+@@ -22386,12 +22587,12 @@ yy1501:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'm') goto yy1502;
++ if (yych <= 'm') goto yy1504;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1502:
++yy1504:
+ yych = *++YYCURSOR;
+ if (yych <= 'B') {
+ if (yych <= ')') {
+@@ -22407,36 +22608,37 @@ yy1502:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'b') goto yy1503;
++ if (yych <= 'b') goto yy1505;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1503:
++yy1505:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'E') goto yy1504;
++ if (yych <= 'E') goto yy1506;
+ if (yych != 'e') goto yy3;
+ }
+-yy1504:
++yy1506:
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy229;
+ if (yych == 'r') goto yy229;
+ goto yy56;
+-yy1505:
++yy1507:
+ ++YYCURSOR;
+ if ((yych = *YYCURSOR) <= '@') {
+ if (yych == ')') goto yy164;
+ } else {
+ if (yych <= 'Z') goto yy168;
+- if (yych <= '`') goto yy1506;
++ if (yych <= '`') goto yy1508;
+ if (yych <= 'z') goto yy168;
+ }
+-yy1506:
++yy1508:
++#line 991 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("noon");
+ TIMELIB_INIT;
+@@ -22447,7 +22649,8 @@ yy1506:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1507:
++#line 22653 "ext/date/lib/parse_date.c"
++yy1509:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'V') {
+@@ -22465,15 +22668,15 @@ yy1507:
+ if (yych <= '@') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 'O') goto yy1499;
++ if (yych <= 'O') goto yy1501;
+ if (yych <= 'U') goto yy166;
+- goto yy1500;
++ goto yy1502;
+ }
+ }
+ } else {
+ if (yych <= 'n') {
+ if (yych <= '^') {
+- if (yych <= 'W') goto yy1497;
++ if (yych <= 'W') goto yy1499;
+ if (yych <= 'Z') goto yy166;
+ goto yy3;
+ } else {
+@@ -22483,17 +22686,17 @@ yy1507:
+ }
+ } else {
+ if (yych <= 'v') {
+- if (yych <= 'o') goto yy1514;
++ if (yych <= 'o') goto yy1516;
+ if (yych <= 'u') goto yy171;
+- goto yy1515;
++ goto yy1517;
+ } else {
+- if (yych <= 'w') goto yy1513;
++ if (yych <= 'w') goto yy1515;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1508:
++yy1510:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'W') {
+@@ -22508,7 +22711,7 @@ yy1508:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'X') goto yy1496;
++ if (yych <= 'X') goto yy1498;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22517,13 +22720,13 @@ yy1508:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'x') goto yy1512;
++ if (yych <= 'x') goto yy1514;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1509:
++yy1511:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -22538,7 +22741,7 @@ yy1509:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1494;
++ if (yych <= 'N') goto yy1496;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22547,13 +22750,13 @@ yy1509:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 'n') goto yy1510;
++ if (yych <= 'n') goto yy1512;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1510:
++yy1512:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -22568,7 +22771,7 @@ yy1510:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1495;
++ if (yych <= 'T') goto yy1497;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22577,13 +22780,13 @@ yy1510:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1511;
++ if (yych <= 't') goto yy1513;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1511:
++yy1513:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'G') {
+@@ -22613,7 +22816,7 @@ yy1511:
+ }
+ }
+ }
+-yy1512:
++yy1514:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -22628,7 +22831,7 @@ yy1512:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1426;
++ if (yych <= 'T') goto yy1428;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22637,36 +22840,36 @@ yy1512:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1458;
++ if (yych <= 't') goto yy1460;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1513:
++yy1515:
+ yyaccept = 31;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+ if (yych <= ',') {
+ if (yych == ')') goto yy164;
+- goto yy1498;
++ goto yy1500;
+ } else {
+- if (yych == '.') goto yy1498;
++ if (yych == '.') goto yy1500;
+ goto yy172;
+ }
+ } else {
+ if (yych <= '^') {
+- if (yych <= '@') goto yy1498;
++ if (yych <= '@') goto yy1500;
+ if (yych <= 'Z') goto yy167;
+- goto yy1498;
++ goto yy1500;
+ } else {
+ if (yych <= '_') goto yy172;
+- if (yych <= '`') goto yy1498;
++ if (yych <= '`') goto yy1500;
+ if (yych <= 'z') goto yy175;
+- goto yy1498;
++ goto yy1500;
+ }
+ }
+-yy1514:
++yy1516:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'M') {
+@@ -22681,7 +22884,7 @@ yy1514:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'N') goto yy1505;
++ if (yych <= 'N') goto yy1507;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22690,13 +22893,13 @@ yy1514:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 'n') goto yy1520;
++ if (yych <= 'n') goto yy1522;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1515:
++yy1517:
+ yyaccept = 5;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '9') {
+@@ -22724,7 +22927,7 @@ yy1515:
+ if (yych <= '@') goto yy218;
+ goto yy167;
+ } else {
+- if (yych <= 'E') goto yy1501;
++ if (yych <= 'E') goto yy1503;
+ if (yych <= 'Z') goto yy167;
+ goto yy218;
+ }
+@@ -22734,13 +22937,13 @@ yy1515:
+ if (yych <= '`') goto yy218;
+ goto yy175;
+ } else {
+- if (yych <= 'e') goto yy1516;
++ if (yych <= 'e') goto yy1518;
+ if (yych <= 'z') goto yy175;
+ goto yy218;
+ }
+ }
+ }
+-yy1516:
++yy1518:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'L') {
+@@ -22755,7 +22958,7 @@ yy1516:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'M') goto yy1502;
++ if (yych <= 'M') goto yy1504;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22764,13 +22967,13 @@ yy1516:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'm') goto yy1517;
++ if (yych <= 'm') goto yy1519;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1517:
++yy1519:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'A') {
+@@ -22785,7 +22988,7 @@ yy1517:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'B') goto yy1503;
++ if (yych <= 'B') goto yy1505;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22794,13 +22997,13 @@ yy1517:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'b') goto yy1518;
++ if (yych <= 'b') goto yy1520;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1518:
++yy1520:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+@@ -22814,44 +23017,44 @@ yy1518:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'E') goto yy1504;
++ if (yych <= 'E') goto yy1506;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'e') goto yy1519;
++ if (yych == 'e') goto yy1521;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1519:
++yy1521:
+ yych = *++YYCURSOR;
+ if (yych == 'R') goto yy229;
+ if (yych == 'r') goto yy341;
+ goto yy179;
+-yy1520:
++yy1522:
+ yyaccept = 32;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= '/') {
+ if (yych <= ',') {
+ if (yych == ')') goto yy164;
+- goto yy1506;
++ goto yy1508;
+ } else {
+- if (yych == '.') goto yy1506;
++ if (yych == '.') goto yy1508;
+ goto yy172;
+ }
+ } else {
+ if (yych <= '^') {
+- if (yych <= '@') goto yy1506;
++ if (yych <= '@') goto yy1508;
+ if (yych <= 'Z') goto yy168;
+- goto yy1506;
++ goto yy1508;
+ } else {
+ if (yych <= '_') goto yy172;
+- if (yych <= '`') goto yy1506;
++ if (yych <= '`') goto yy1508;
+ if (yych <= 'z') goto yy176;
+- goto yy1506;
++ goto yy1508;
+ }
+ }
+-yy1521:
++yy1523:
+ yych = *++YYCURSOR;
+ if (yych <= 'S') {
+ if (yych <= ')') {
+@@ -22867,12 +23070,12 @@ yy1521:
+ if (yych <= '`') goto yy3;
+ goto yy166;
+ } else {
+- if (yych <= 's') goto yy1522;
++ if (yych <= 's') goto yy1524;
+ if (yych <= 'z') goto yy166;
+ goto yy3;
+ }
+ }
+-yy1522:
++yy1524:
+ yych = *++YYCURSOR;
+ if (yych <= 'T') {
+ if (yych <= ')') {
+@@ -22888,12 +23091,12 @@ yy1522:
+ if (yych <= '`') goto yy3;
+ goto yy167;
+ } else {
+- if (yych <= 't') goto yy1523;
++ if (yych <= 't') goto yy1525;
+ if (yych <= 'z') goto yy167;
+ goto yy3;
+ }
+ }
+-yy1523:
++yy1525:
+ yych = *++YYCURSOR;
+ if (yych <= 'E') {
+ if (yych <= ')') {
+@@ -22909,12 +23112,12 @@ yy1523:
+ if (yych <= '`') goto yy3;
+ goto yy168;
+ } else {
+- if (yych <= 'e') goto yy1524;
++ if (yych <= 'e') goto yy1526;
+ if (yych <= 'z') goto yy168;
+ goto yy3;
+ }
+ }
+-yy1524:
++yy1526:
+ yych = *++YYCURSOR;
+ if (yych <= 'R') {
+ if (yych <= ')') {
+@@ -22930,32 +23133,33 @@ yy1524:
+ if (yych <= '`') goto yy3;
+ goto yy169;
+ } else {
+- if (yych <= 'r') goto yy1525;
++ if (yych <= 'r') goto yy1527;
+ if (yych <= 'z') goto yy169;
+ goto yy3;
+ }
+ }
+-yy1525:
++yy1527:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+ if (yych == ')') goto yy164;
+ goto yy3;
+ } else {
+- if (yych <= 'D') goto yy1526;
++ if (yych <= 'D') goto yy1528;
+ if (yych != 'd') goto yy3;
+ }
+-yy1526:
++yy1528:
+ yych = *++YYCURSOR;
+- if (yych == 'A') goto yy1527;
++ if (yych == 'A') goto yy1529;
+ if (yych != 'a') goto yy56;
+-yy1527:
++yy1529:
+ yych = *++YYCURSOR;
+- if (yych == 'Y') goto yy1528;
++ if (yych == 'Y') goto yy1530;
+ if (yych != 'y') goto yy56;
+-yy1528:
++yy1530:
+ ++YYCURSOR;
+-yy1529:
++yy1531:
++#line 970 "ext/date/lib/parse_date.re"
+ {
+ DEBUG_OUTPUT("yesterday");
+ TIMELIB_INIT;
+@@ -22966,7 +23170,8 @@ yy1529:
+ TIMELIB_DEINIT;
+ return TIMELIB_RELATIVE;
+ }
+-yy1530:
++#line 23174 "ext/date/lib/parse_date.c"
++yy1532:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'R') {
+@@ -22981,7 +23186,7 @@ yy1530:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'S') goto yy1522;
++ if (yych <= 'S') goto yy1524;
+ if (yych <= 'Z') goto yy166;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -22990,13 +23195,13 @@ yy1530:
+ if (yych <= '`') goto yy3;
+ goto yy171;
+ } else {
+- if (yych <= 's') goto yy1531;
++ if (yych <= 's') goto yy1533;
+ if (yych <= 'z') goto yy171;
+ goto yy3;
+ }
+ }
+ }
+-yy1531:
++yy1533:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'S') {
+@@ -23011,7 +23216,7 @@ yy1531:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'T') goto yy1523;
++ if (yych <= 'T') goto yy1525;
+ if (yych <= 'Z') goto yy167;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -23020,13 +23225,13 @@ yy1531:
+ if (yych <= '`') goto yy3;
+ goto yy175;
+ } else {
+- if (yych <= 't') goto yy1532;
++ if (yych <= 't') goto yy1534;
+ if (yych <= 'z') goto yy175;
+ goto yy3;
+ }
+ }
+ }
+-yy1532:
++yy1534:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'D') {
+@@ -23041,7 +23246,7 @@ yy1532:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'E') goto yy1524;
++ if (yych <= 'E') goto yy1526;
+ if (yych <= 'Z') goto yy168;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -23050,13 +23255,13 @@ yy1532:
+ if (yych <= '`') goto yy3;
+ goto yy176;
+ } else {
+- if (yych <= 'e') goto yy1533;
++ if (yych <= 'e') goto yy1535;
+ if (yych <= 'z') goto yy176;
+ goto yy3;
+ }
+ }
+ }
+-yy1533:
++yy1535:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'Q') {
+@@ -23071,7 +23276,7 @@ yy1533:
+ }
+ } else {
+ if (yych <= '_') {
+- if (yych <= 'R') goto yy1525;
++ if (yych <= 'R') goto yy1527;
+ if (yych <= 'Z') goto yy169;
+ if (yych <= '^') goto yy3;
+ goto yy172;
+@@ -23080,13 +23285,13 @@ yy1533:
+ if (yych <= '`') goto yy3;
+ goto yy177;
+ } else {
+- if (yych <= 'r') goto yy1534;
++ if (yych <= 'r') goto yy1536;
+ if (yych <= 'z') goto yy177;
+ goto yy3;
+ }
+ }
+ }
+-yy1534:
++yy1536:
+ yyaccept = 0;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych <= 'C') {
+@@ -23100,21 +23305,21 @@ yy1534:
+ }
+ } else {
+ if (yych <= '`') {
+- if (yych <= 'D') goto yy1526;
++ if (yych <= 'D') goto yy1528;
+ if (yych == '_') goto yy172;
+ goto yy3;
+ } else {
+- if (yych == 'd') goto yy1535;
++ if (yych == 'd') goto yy1537;
+ if (yych <= 'z') goto yy178;
+ goto yy3;
+ }
+ }
+-yy1535:
++yy1537:
+ yych = *++YYCURSOR;
+- if (yych == 'A') goto yy1527;
++ if (yych == 'A') goto yy1529;
+ if (yych != 'a') goto yy179;
+ yych = *++YYCURSOR;
+- if (yych == 'Y') goto yy1528;
++ if (yych == 'Y') goto yy1530;
+ if (yych != 'y') goto yy179;
+ yyaccept = 33;
+ yych = *(YYMARKER = ++YYCURSOR);
+@@ -23123,13 +23328,14 @@ yy1535:
+ }
+ if (yych <= '.') {
+ if (yych == '-') goto yy172;
+- goto yy1529;
++ goto yy1531;
+ } else {
+ if (yych <= '/') goto yy172;
+ if (yych == '_') goto yy172;
+- goto yy1529;
++ goto yy1531;
+ }
+ }
++#line 1772 "ext/date/lib/parse_date.re"
+
+ }
+
+diff --git a/ext/date/lib/parse_date.re b/ext/date/lib/parse_date.re
+index 74d9ea3..f26e276 100644
+--- a/ext/date/lib/parse_date.re
++++ b/ext/date/lib/parse_date.re
+@@ -931,8 +931,8 @@ isoweek = year4 "-"? "W" weekofyear;
+ exif = year4 ":" monthlz ":" daylz " " hour24lz ":" minutelz ":" secondlz;
+ firstdayof = 'first day of';
+ lastdayof = 'last day of';
+-backof = 'back of ' hour24 space? meridian?;
+-frontof = 'front of ' hour24 space? meridian?;
++backof = 'back of ' hour24 (space? meridian)?;
++frontof = 'front of ' hour24 (space? meridian)?;
+
+ /* Common Log Format: 10/Oct/2000:13:55:36 -0700 */
+ clf = day "/" monthabbr "/" year4 ":" hour24lz ":" minutelz ":" secondlz space tzcorrection;
+diff --git a/ext/date/tests/bug53437_var3.phpt b/ext/date/tests/bug53437_var3.phpt
+index 8f48b1b..8dcd4c8 100644
+--- a/ext/date/tests/bug53437_var3.phpt
++++ b/ext/date/tests/bug53437_var3.phpt
+@@ -40,7 +40,7 @@ object(DateInterval)#%d (16) {
+ ["special_amount"]=>
+ int(-1)
+ ["have_weekday_relative"]=>
+- int(9)
++ int(0)
+ ["have_special_relative"]=>
+ int(0)
+ ["f"]=>
+diff --git a/ext/wddx/tests/bug75055.phpt b/ext/wddx/tests/bug75055.phpt
+new file mode 100644
+index 0000000..2956284
+--- /dev/null
++++ b/ext/wddx/tests/bug75055.phpt
+@@ -0,0 +1,20 @@
++--TEST--
++Bug #75055 Out-Of-Bounds Read in timelib_meridian()
++--SKIPIF--
++<?php if (!extension_loaded("wddx")) print "skip"; ?>
++--FILE--
++<?php
++
++$file_str = dirname(__FILE__) . "/bug75055.wddx";
++
++$wddx_str = file_get_contents($file_str);
++print strlen($wddx_str) . " bytes read.\n";
++
++var_dump(wddx_deserialize($wddx_str));
++?>
++--EXPECT--
++323 bytes read.
++array(1) {
++ ["aDateTime"]=>
++ string(12) "frONt of 0 0"
++}
+diff --git a/ext/wddx/tests/bug75055.wddx b/ext/wddx/tests/bug75055.wddx
+new file mode 100644
+index 0000000..6493352
+--- /dev/null
++++ b/ext/wddx/tests/bug75055.wddx
+@@ -0,0 +1,13 @@
++<?xml version='1.0'?>
++<!DOCTYPE wddxPacket SYSTEM 'wddx_0100.dtd'>
++<wddxPacket version='1.0'>
++<header/>
++ <data>
++ <struct>
++ <var name='aDateTime'>
++ <dateTime>frONt of 0 0</dateTime>
++ </var>
++ </struct>
++ </data>
++</wddxPacket>
++
+--
+2.11.0
+
diff --git a/meta-oe/recipes-devtools/php/php_7.1.9.bb b/meta-oe/recipes-devtools/php/php_7.1.9.bb
index 157369e03f..acf68a0594 100644
--- a/meta-oe/recipes-devtools/php/php_7.1.9.bb
+++ b/meta-oe/recipes-devtools/php/php_7.1.9.bb
@@ -4,6 +4,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=c0af599f66d0461c5837c695fcbc5c1e"
SRC_URI += "file://change-AC_TRY_RUN-to-AC_TRY_LINK.patch \
file://0001-Specify-tag-with-libtool.patch \
+ file://CVE-2017-16642.patch \
"
SRC_URI[md5sum] = "2397be54f3281cdf30c7ef076b28f7d0"
SRC_URI[sha256sum] = "314dcc10dfdd7c4443edb4fe1e133a44f2b2a8351be8c9eb6ab9222d45fd9bae"
diff --git a/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb b/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb
index fae7c18a16..fe28f475a4 100644
--- a/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb
+++ b/meta-oe/recipes-devtools/protobuf/protobuf_3.4.1.bb
@@ -18,7 +18,7 @@ SRCREV = "b04e5cba356212e4e8c66c61bbe0c3a20537c5b9"
PV = "3.4.1+git${SRCPV}"
-SRC_URI = "git://github.com/google/protobuf.git;branch=3.4.x"
+SRC_URI = "git://github.com/google/protobuf.git"
EXTRA_OECONF += " --with-protoc=echo"
diff --git a/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
index 0849e88564..91003f6e93 100644
--- a/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
+++ b/meta-oe/recipes-devtools/uw-imap/uw-imap_2007f.bb
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=a6a4ddbb7cd2999f6827ee143f6fcd97"
DEPENDS = "openssl"
-SRC_URI = "ftp://ftp.cac.washington.edu/imap/imap-${PV}.tar.gz \
+SRC_URI = "https://fossies.org/linux/misc/old/imap-${PV}.tar.gz \
file://quote_cctype.patch \
file://imap-2007e-shared.patch \
file://imap-2007f-format-security.patch \
diff --git a/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb b/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
index bff3d97d2a..85dede1779 100644
--- a/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
+++ b/meta-oe/recipes-extended/dialog/dialog_1.3-20160828.bb
@@ -8,7 +8,7 @@ DEPENDS = "ncurses"
LICENSE = "LGPL-2.1"
LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343"
-SRC_URI = "ftp://invisible-island.net/dialog/dialog-${PV}.tgz \
+SRC_URI = "ftp://ftp.invisible-island.net/${BPN}/${BP}.tgz \
"
SRC_URI[md5sum] = "a39ec183517bc1feaff017d067300b8c"
SRC_URI[sha256sum] = "453095abaec288bfbc1ca9faced917e17742cff1ea45ec46210071ac153562f9"
diff --git a/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb b/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb
index 96b86f9a0c..fae30d771d 100644
--- a/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb
+++ b/meta-oe/recipes-extended/hiredis/hiredis_0.13.1.bb
@@ -12,10 +12,11 @@ S = "${WORKDIR}/git"
inherit autotools-brokensep pkgconfig
+EXTRA_OEMAKE = "PREFIX=${prefix}"
+
# By default INSTALL variable in Makefile is equal to 'cp -a', which preserves
# ownership and causes host-user-contamination QA issue.
# And PREFIX defaults to /usr/local.
do_install_prepend() {
- export PREFIX=${prefix}
export INSTALL='cp -r'
}
diff --git a/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb b/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb
index d7fdd823c0..5a335b9249 100644
--- a/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb
+++ b/meta-oe/recipes-extended/hwloc/hwloc_1.11.5.bb
@@ -24,9 +24,6 @@ PACKAGECONFIG[x11] = "--with-x,--without-x,virtual/libx11 cairo,cairo"
PACKAGECONFIG[pci] = "--enable-pci,--disable-pci,libpciaccess,libpciaccess"
# Split hwloc library into separate subpackage
-PACKAGES_prepend = " lib${PN} "
-FILES_lib${PN} += "${libdir}/lib${PN}.so*"
-RDEPENDS_${PN} += "lib${PN} (= ${EXTENDPKGV})"
-
-# XXX dev-so QA check doesn't like soname symlinks in non-dev packages
-INSANE_SKIP_lib${PN} += "dev-so"
+PACKAGES_prepend = " libhwloc "
+FILES_libhwloc += "${libdir}/libhwloc.so.*"
+RDEPENDS_${PN} += "libhwloc (= ${EXTENDPKGV})"
diff --git a/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch b/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
index bbabf688d8..8f93cb325b 100644
--- a/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
+++ b/meta-oe/recipes-extended/leveldb/leveldb/0001-build_detect_platform-Check-for-__SSE4_2__.patch
@@ -19,14 +19,15 @@ Index: git/build_detect_platform
===================================================================
--- git.orig/build_detect_platform
+++ git/build_detect_platform
-@@ -230,13 +230,12 @@ EOF
+@@ -224,13 +224,13 @@ EOF
rm -f $CXXOUTPUT 2>/dev/null
# Test if gcc SSE 4.2 is supported
- $CXX $CXXFLAGS -x c++ - -o $CXXOUTPUT -msse4.2 2>/dev/null <<EOF
-+ $CXX $CXXFLAGS -Werror -x c++ - -o $CXXOUTPUT -msse4.2 -dD -E 2>/dev/null | fgrep __SSE4_2__ $CXXOUTPUT 2>/dev/null <<EOF
++ $CXX $CXXFLAGS -Werror -x c++ - -o $CXXOUTPUT -msse4.2 -dD -E 2>/dev/null <<EOF
int main() {}
EOF
++ eval fgrep __SSE4_2__ $CXXOUTPUT >/dev/null 2>&1
if [ "$?" = 0 ]; then
PLATFORM_SSEFLAGS="-msse4.2"
fi
diff --git a/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb b/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb
index daf6604f25..2c96063f19 100644
--- a/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb
+++ b/meta-oe/recipes-extended/libpwquality/libpwquality_1.4.0.bb
@@ -15,7 +15,7 @@ SRC_URI[sha256sum] = "1de6ff046cf2172d265a2cb6f8da439d894f3e4e8157b056c515515232
S = "${WORKDIR}/${SRCNAME}-${PV}"
DEPENDS = "cracklib virtual/gettext python3"
-RDEPENDS_python3-${PN} = "${PN}"
+RDEPENDS_python3-libpwquality = "${PN}"
inherit autotools python3native gettext
@@ -36,7 +36,7 @@ EXTRA_OECONF += "--with-python-rev=${PYTHON_BASEVERSION} \
PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
PACKAGECONFIG[pam] = "--enable-pam, --disable-pam, libpam"
-PACKAGES += "python3-${PN} python3-${PN}-dbg"
+PACKAGES += "python3-libpwquality python3-libpwquality-dbg"
FILES_${PN} += "${libdir}/security/pam_pwquality.so"
FILES_${PN}-dbg += "${libdir}/security/.debug"
FILES_${PN}-staticdev += "${libdir}/security/pam_pwquality.a"
diff --git a/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb b/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb
index 2fdfd7d725..525437bdb6 100644
--- a/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb
+++ b/meta-oe/recipes-extended/libreport/libreport_2.9.2.bb
@@ -26,7 +26,7 @@ REQUIRED_DISTRO_FEATURES = "systemd"
inherit gettext autotools python3native pkgconfig
-RDEPENDS_${PN}-python3 += "${PN}"
+RDEPENDS_python3-libreport += "${PN}"
do_patch[prefuncs] += "do_gen_version"
do_gen_version() {
@@ -34,9 +34,9 @@ do_gen_version() {
./gen-version
}
-PACKAGES += "python3-${PN}"
+PACKAGES += "python3-libreport"
FILES_${PN} += "${datadir}/*"
FILES_${PN}-dbg += "${PYTHON_SITEPACKAGES_DIR}/*/.debug"
-FILES_python3-${PN} = "${PYTHON_SITEPACKAGES_DIR}/*"
+FILES_python3-libreport = "${PYTHON_SITEPACKAGES_DIR}/*"
diff --git a/meta-oe/recipes-extended/polkit/polkit_0.113.bb b/meta-oe/recipes-extended/polkit/polkit_0.113.bb
index 326c9340e9..f34928fe3a 100644
--- a/meta-oe/recipes-extended/polkit/polkit_0.113.bb
+++ b/meta-oe/recipes-extended/polkit/polkit_0.113.bb
@@ -10,7 +10,9 @@ DEPENDS = "expat glib-2.0 intltool-native mozjs"
inherit autotools gtk-doc pkgconfig useradd systemd gobject-introspection
PACKAGECONFIG = "${@bb.utils.filter('DISTRO_FEATURES', 'pam', d)} \
- ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', 'consolekit', d)}"
+ ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd', \
+ bb.utils.contains('DISTRO_FEATURES', 'x11', 'consolekit', '', d), d)} \
+ "
PACKAGECONFIG[pam] = "--with-authfw=pam,--with-authfw=shadow,libpam,libpam"
PACKAGECONFIG[systemd] = "--enable-libsystemd-login=yes --with-systemdsystemunitdir=${systemd_unitdir}/system/,--enable-libsystemd-login=no --with-systemdsystemunitdir=,systemd"
diff --git a/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
index 4025b8087e..7c9f2df9db 100644
--- a/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
+++ b/meta-oe/recipes-extended/rarpd/rarpd_ss981107.bb
@@ -38,13 +38,11 @@ do_install() {
install -m 644 rarpd.8 ${D}${mandir}/man8/rarpd.8
install -m 644 ${WORKDIR}/ethers.sample ${D}${sysconfdir}/ethers
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/rarpd.service ${D}${systemd_unitdir}/system/
- fi
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/rarpd.service ${D}${systemd_unitdir}/system/
}
-inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
+inherit systemd
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "rarpd.service"
diff --git a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
index c6b9f1019b..3db8c14842 100644
--- a/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
+++ b/meta-oe/recipes-extended/sblim-sfcb/sblim-sfcb_1.4.9.bb
@@ -28,7 +28,7 @@ SRC_URI[md5sum] = "28021cdabc73690a94f4f9d57254ce30"
SRC_URI[sha256sum] = "634a67b2f7ac3b386a79160eb44413d618e33e4e7fc74ae68b0240484af149dd"
inherit autotools
-inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
+inherit systemd
SYSTEMD_PACKAGES = "${PN}"
SYSTEMD_SERVICE_${PN} = "sblim-sfcb.service"
@@ -53,10 +53,8 @@ do_install() {
oe_runmake DESTDIR=${D} install
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}${systemd_unitdir}/system
- install -m 0644 ${WORKDIR}/sfcb.service ${D}${systemd_unitdir}/system/sblim-sfcb.service
- fi
+ install -d ${D}${systemd_unitdir}/system
+ install -m 0644 ${WORKDIR}/sfcb.service ${D}${systemd_unitdir}/system/sblim-sfcb.service
install -d ${D}${sysconfdir}/init.d
mv ${D}${sysconfdir}/init.d/sfcb ${D}${sysconfdir}/init.d/sblim-sfcb
diff --git a/meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb b/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
index 2d2e9ade48..ed050a148c 100644
--- a/meta-oe/recipes-graphics/glm/glm_0.9.8.4.bb
+++ b/meta-oe/recipes-graphics/glm/glm_0.9.9-a2.bb
@@ -8,15 +8,15 @@ BUGTRACKER = "https://github.com/g-truc/glm/issues"
SECTION = "libs"
LICENSE = "MIT"
-LIC_FILES_CHKSUM = "file://copying.txt;md5=4431606d144252143c9c3df384a74cad"
-
-SRC_URI = "git://github.com/g-truc/glm;protocol=https"
-
-SRCREV = "5dcc56489e1b66dfd5bca751fa9b8dc68059e008"
+LIC_FILES_CHKSUM = "file://readme.md;beginline=21;endline=22;md5=3075b5727d36f29edccf97b93e72b790"
+SRC_URI = "git://github.com/g-truc/glm;branch=master"
+SRCREV = "fcbedf5058ef8613dd02aac62ef00d55dcfeadd7"
S = "${WORKDIR}/git"
inherit cmake
FILES_${PN}-dev += "${libdir}/cmake"
RDEPENDS_${PN}-dev = ""
+
+BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-graphics/tslib/tslib_1.1.bb b/meta-oe/recipes-graphics/tslib/tslib_1.1.bb
index 502034a9c4..e7c48ff6ce 100644
--- a/meta-oe/recipes-graphics/tslib/tslib_1.1.bb
+++ b/meta-oe/recipes-graphics/tslib/tslib_1.1.bb
@@ -3,7 +3,7 @@ DESCRIPTION = "Tslib is an abstraction layer for touchscreen panel \
events, as well as a filter stack for the manipulation of those events. \
Tslib is generally used on embedded devices to provide a common user \
space interface to touchscreen functionality."
-HOMEPAGE = "http://tslib.berlios.de/"
+HOMEPAGE = "http://tslib.org/"
AUTHOR = "Russell King w/ plugins by Chris Larson et. al."
SECTION = "base"
diff --git a/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb b/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb
index f8e6a2b137..26d74867bf 100644
--- a/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb
+++ b/meta-oe/recipes-navigation/gpsd/gpsd_3.16.bb
@@ -120,7 +120,14 @@ RDEPENDS_gps-utils = "python-pygps"
SUMMARY_python-pygps = "Python bindings to gpsd"
FILES_python-pygps = "${PYTHON_SITEPACKAGES_DIR}/*"
-RDEPENDS_python-pygps = "python-core python-curses gpsd python-json"
+RDEPENDS_python-pygps = " \
+ python-core \
+ python-io \
+ python-threading \
+ python-terminal \
+ python-curses \
+ gpsd \
+ python-json"
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
@@ -129,6 +136,5 @@ SYSTEMD_SERVICE_${PN} = "${PN}.socket"
ALTERNATIVE_${PN} = "gpsd-defaults"
-ALTERNATIVE_PATH = "${sysconfdir}/default/gpsd.default"
-ALTERNATIVE_LINK = "${sysconfdir}/default/gpsd"
-ALTERNATIVE_TARGET = "${sysconfdir}/default/gpsd.default"
+ALTERNATIVE_LINK_NAME[gpsd-defaults] = "${sysconfdir}/default/gpsd"
+ALTERNATIVE_TARGET[gpsd-defaults] = "${sysconfdir}/default/gpsd.default"
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
index 7a7a662ab3..aeca23bf2d 100644
--- a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
+++ b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.9.bb
@@ -8,9 +8,8 @@ SRC_URI += "file://0001-Revert-Makefile.am-Drop-static-dfu-util.patch"
do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
do_deploy() {
- install -d ${DEPLOY_DIR_TOOLS}
- install -m 0755 src/dfu-util_static ${DEPLOY_DIR_TOOLS}/dfu-util-${PV}
- rm -f ${DEPLOY_DIR_TOOLS}/dfu-util
- ln -sf ./dfu-util-${PV} ${DEPLOY_DIR_TOOLS}/dfu-util
+ install -m 0755 src/dfu-util_static ${DEPLOYDIR}/dfu-util-${PV}
+ rm -f ${DEPLOYDIR}/dfu-util
+ ln -sf ./dfu-util-${PV} ${DEPLOYDIR}/dfu-util
}
addtask deploy before do_package after do_install
diff --git a/meta-oe/recipes-support/fltk/fltk-native.bb b/meta-oe/recipes-support/fltk/fltk-native.bb
index 353987e0fd..2636287e3a 100644
--- a/meta-oe/recipes-support/fltk/fltk-native.bb
+++ b/meta-oe/recipes-support/fltk/fltk-native.bb
@@ -14,3 +14,8 @@ EXTRA_OECMAKE += " \
-DOPTION_USE_XFIXES=OFF \
-DOPTION_USE_XCURSOR=OFF \
"
+
+do_install_append() {
+ # make sure native fltk-config is not used accidentaly
+ rm -f ${D}${bindir}/fltk-config
+}
diff --git a/meta-oe/recipes-support/fltk/fltk.bb b/meta-oe/recipes-support/fltk/fltk.bb
index 542fd661ea..619d1420a6 100644
--- a/meta-oe/recipes-support/fltk/fltk.bb
+++ b/meta-oe/recipes-support/fltk/fltk.bb
@@ -1,6 +1,6 @@
require ${BPN}.inc
-DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft ${BPN}-native"
+DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
inherit binconfig lib_package gtk-icon-cache mime
diff --git a/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch b/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
new file mode 100644
index 0000000000..7e1a23bf68
--- /dev/null
+++ b/meta-oe/recipes-support/gperftools/gperftools/sgidef.patch
@@ -0,0 +1,17 @@
+sgidef.h does not exist on musl and its not needed to compile
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+Upstream-Status: Pending
+Index: git/src/base/linux_syscall_support.h
+===================================================================
+--- git.orig/src/base/linux_syscall_support.h
++++ git/src/base/linux_syscall_support.h
+@@ -164,7 +164,7 @@ extern "C" {
+ #include <endian.h>
+ #include <fcntl.h>
+
+-#ifdef __mips__
++#if defined(__mips__) && defined(__glibc__)
+ /* Include definitions of the ABI currently in use. */
+ #include <sgidefs.h>
+ #endif
diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb b/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb
index 8ce376c91d..ecac6c5cc8 100644
--- a/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb
+++ b/meta-oe/recipes-support/gperftools/gperftools_2.6.1.bb
@@ -12,6 +12,7 @@ SRC_URI = "git://github.com/gperftools/gperftools \
file://0001-include-fcntl.h-for-loff_t-definition.patch \
file://0001-disbale-heap-checkers-and-debug-allocator-on-musl.patch \
file://disable_libunwind_aarch64.patch \
+ file://sgidef.patch \
"
inherit autotools
diff --git a/meta-oe/recipes-support/mysql/mariadb.inc b/meta-oe/recipes-support/mysql/mariadb.inc
index 16dd9f9d59..263b3139e7 100644
--- a/meta-oe/recipes-support/mysql/mariadb.inc
+++ b/meta-oe/recipes-support/mysql/mariadb.inc
@@ -258,6 +258,7 @@ FILES_${PN}-server = "\
${bindir}/mysqlbinlog \
${bindir}/mysqld_multi \
${bindir}/mysqld_safe \
+ ${bindir}/mysqld_safe_helper \
${bindir}/mysqlhotcopy \
${bindir}/mysqltest \
${bindir}/ndb_delete_all \
diff --git a/meta-oe/recipes-support/openct/openct_0.6.20.bb b/meta-oe/recipes-support/openct/openct_0.6.20.bb
index c7d7203eda..913290cd97 100644
--- a/meta-oe/recipes-support/openct/openct_0.6.20.bb
+++ b/meta-oe/recipes-support/openct/openct_0.6.20.bb
@@ -25,7 +25,7 @@ SRC_URI[sha256sum] = "6cd3e2933d29eb1f875c838ee58b8071fd61f0ec8ed5922a86c01c805d
LICENSE = "LGPLv2+"
LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=2d5025d4aa3495befef8f17206a5b0a1"
-inherit ${@bb.utils.filter('VIRTUAL-RUNTIME_init_manager', 'systemd', d)}
+inherit systemd
SYSTEMD_SERVICE_${PN} += "openct.service "
SYSTEMD_AUTO_ENABLE = "enable"
@@ -77,10 +77,8 @@ do_install () {
install -Dpm 755 ${WORKDIR}/openct.init ${D}/etc/init.d/openct
install -Dpm 644 ${WORKDIR}/openct.sysconfig ${D}/etc/sysconfig/openct
- if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
- install -d ${D}/${systemd_unitdir}/system
- install -m 644 ${WORKDIR}/openct.service ${D}/${systemd_unitdir}/system
- fi
+ install -d ${D}/${systemd_unitdir}/system
+ install -m 644 ${WORKDIR}/openct.service ${D}/${systemd_unitdir}/system
so=$(find ${D} -name \*.so | sed "s|^${D}||")
sed -i -e 's|\\(LIBPATH\\s*\\).*|\\1$so|' etc/reader.conf
diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.45.bb b/meta-oe/recipes-support/openldap/openldap_2.4.45.bb
index 06d2467ec7..82d6619838 100644
--- a/meta-oe/recipes-support/openldap/openldap_2.4.45.bb
+++ b/meta-oe/recipes-support/openldap/openldap_2.4.45.bb
@@ -188,6 +188,7 @@ do_install_append() {
# Installing slapd under ${sbin} is more FHS and LSB compliance
mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd
+ rmdir --ignore-fail-on-non-empty ${D}${libexecdir}
SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema"
cd ${D}/${sbindir}/
rm -f ${SLAPTOOLS}
diff --git a/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb b/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb
index b8f923c29a..198db3ce72 100644
--- a/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb
+++ b/meta-oe/recipes-support/passwdqc/passwdqc_1.3.1.bb
@@ -59,5 +59,5 @@ FILES_lib${BPN} = "${base_libdir}/libpasswdqc.so.0"
FILES_pam-${BPN} = "${base_libdir}/security/pam_passwdqc.so"
FILES_${PN}-dbg += "${base_libdir}/security/.debug"
-RDEPENDS_${PN} = "lib${BPN}"
+RDEPENDS_${PN} = "lib${BPN} pam-${BPN}"
RDEPENDS_pam-${BPN} = "lib${BPN}"
diff --git a/meta-oe/recipes-support/postgresql/postgresql_9.4.13.bb b/meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb
index bf97cad50f..eec099a129 100644
--- a/meta-oe/recipes-support/postgresql/postgresql_9.4.13.bb
+++ b/meta-oe/recipes-support/postgresql/postgresql_9.4.15.bb
@@ -11,5 +11,5 @@ do_compile_prepend_libc-musl() {
sed -i -e 's/\-lnsl//g' ${B}/src/Makefile.global
}
-SRC_URI[md5sum] = "dbdb9fbe1b9a394b9ac19d3113b73944"
-SRC_URI[sha256sum] = "0080f55d65194de8b96a2dab153443f8248ff2b2b10e6ab4cda2dcadcac7f2ab"
+SRC_URI[md5sum] = "0aada0833a9208ae5fab966c73c39379"
+SRC_URI[sha256sum] = "12bfb3c7e8e45515ef921ad365e122682a5c4935dcc0032644433af2de31acc4"
diff --git a/meta-python/recipes-devtools/python/python-asn1crypto.inc b/meta-python/recipes-devtools/python/python-asn1crypto.inc
index 3bdb4b2352..41b7342194 100644
--- a/meta-python/recipes-devtools/python/python-asn1crypto.inc
+++ b/meta-python/recipes-devtools/python/python-asn1crypto.inc
@@ -10,3 +10,4 @@ SRC_URI[md5sum] = "97d54665c397b72b165768398dfdd876"
SRC_URI[sha256sum] = "0874981329cfebb366d6584c3d16e913f2a0eb026c9463efcc4aaf42a9d94d70"
inherit pypi
+BBCLASSEXTEND = "native"
diff --git a/meta-python/recipes-devtools/python/python-attrs.inc b/meta-python/recipes-devtools/python/python-attrs.inc
new file mode 100644
index 0000000000..edde79e5d2
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-attrs.inc
@@ -0,0 +1,9 @@
+DESCRIPTION = "Classes Without Boilerplate"
+HOMEPAGE = "http://www.attrs.org/"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=d4ab25949a73fe7d4fdee93bcbdbf8ff"
+
+SRC_URI[md5sum] = "4314f784ca3174d91956da9828248960"
+SRC_URI[sha256sum] = "c78f53e32d7cf36d8597c8a2c7e3c0ad210f97b9509e152e4c37fa80869f823c"
+
+inherit pypi
diff --git a/meta-python/recipes-devtools/python/python-attrs_17.3.0.bb b/meta-python/recipes-devtools/python/python-attrs_17.3.0.bb
new file mode 100644
index 0000000000..a6fdf158dc
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-attrs_17.3.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-attrs.inc
diff --git a/meta-python/recipes-devtools/python/python-automat.inc b/meta-python/recipes-devtools/python/python-automat.inc
new file mode 100644
index 0000000000..43b9ce9e3c
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-automat.inc
@@ -0,0 +1,24 @@
+DESCRIPTION = "Self-service finite-state machines for the programmer on the go"
+HOMEPAGE = "https://github.com/glyph/Automat"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=4ad213bcca81688e94593e5f60c87477"
+
+FILESEXTRAPATHS_prepend := "${THISDIR}/python-automat:"
+
+SRC_URI[md5sum] = "ad7bba58d262d8956d732330cb5ef53d"
+SRC_URI[sha256sum] = "3c1fd04ecf08ac87b4dd3feae409542e9bf7827257097b2b6ed5692f69d6f6a8"
+
+PYPI_PACKAGE = "Automat"
+
+inherit pypi
+
+SRC_URI_append = " \
+ file://0001-setup.py-remove-the-dependency-on-m2r.patch \
+"
+
+DEPENDS += "${PYTHON_PN}-setuptools-scm-native"
+
+RDEPENDS_${PN} += "\
+ ${PYTHON_PN}-attrs \
+ ${PYTHON_PN}-six \
+"
diff --git a/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch b/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
new file mode 100644
index 0000000000..0ebb220756
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-automat/0001-setup.py-remove-the-dependency-on-m2r.patch
@@ -0,0 +1,52 @@
+From d5ebe479fc8fe11c5c75e7f35484849320349222 Mon Sep 17 00:00:00 2001
+From: Derek Straka <derek@asterius.io>
+Date: Fri, 22 Dec 2017 09:07:00 -0500
+Subject: [PATCH] setup.py: remove the dependency on m2r
+
+The dependency on m2r is removed here as it only provides the
+long_description value that is optional. This item is just the
+text that would be present on PyPi, so it doesn't provide much
+value in this case
+
+Upstream-Status: Inappropriate (OE specific)
+
+Signed-off-by: Derek Straka <derek@asterius.io>
+---
+ setup.py | 10 ----------
+ 1 file changed, 10 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index d360c64..7b4180a 100644
+--- a/setup.py
++++ b/setup.py
+@@ -4,14 +4,6 @@ Setup file for automat
+
+ from setuptools import setup, find_packages
+
+-try:
+- from m2r import parse_from_file
+- long_description = parse_from_file('README.md')
+-except(IOError, ImportError):
+- print("\n\n!!! m2r not found, long_description is bad, don't upload this to PyPI !!!\n\n")
+- import io
+- long_description = io.open('README.md', encoding="utf-8").read()
+-
+ setup(
+ name='Automat',
+ use_scm_version=True,
+@@ -19,12 +11,10 @@ setup(
+ description="""
+ Self-service finite-state machines for the programmer on the go.
+ """.strip(),
+- long_description=long_description,
+ packages=find_packages(exclude=[]),
+ package_dir={'automat': 'automat'},
+ setup_requires=[
+ 'setuptools-scm',
+- 'm2r',
+ ],
+ install_requires=[
+ "attrs>=16.1.0",
+--
+2.7.4
+
diff --git a/meta-python/recipes-devtools/python/python-automat_0.6.0.bb b/meta-python/recipes-devtools/python/python-automat_0.6.0.bb
new file mode 100644
index 0000000000..8ac8c9c0ff
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-automat_0.6.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-automat.inc
diff --git a/meta-python/recipes-devtools/python/python-constantly.inc b/meta-python/recipes-devtools/python/python-constantly.inc
new file mode 100644
index 0000000000..8153504929
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-constantly.inc
@@ -0,0 +1,11 @@
+DESCRIPTION = "Symbolic constants in Python"
+HOMEPAGE = "https://github.com/twisted/constantly"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=e393e4ddd223e3a74982efa784f89fd7"
+
+SRC_URI[md5sum] = "f0762f083d83039758e53f8cf0086eef"
+SRC_URI[sha256sum] = "586372eb92059873e29eba4f9dec8381541b4d3834660707faf8ba59146dfc35"
+
+inherit pypi
+
+RDEPENDS_${PN} += "${PYTHON_PN}-json"
diff --git a/meta-python/recipes-devtools/python/python-constantly_15.1.0.bb b/meta-python/recipes-devtools/python/python-constantly_15.1.0.bb
new file mode 100644
index 0000000000..29b15eb605
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-constantly_15.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-constantly.inc
diff --git a/meta-python/recipes-devtools/python/python-cryptography.inc b/meta-python/recipes-devtools/python/python-cryptography.inc
index 87ff16c37d..4ba3e320fc 100644
--- a/meta-python/recipes-devtools/python/python-cryptography.inc
+++ b/meta-python/recipes-devtools/python/python-cryptography.inc
@@ -6,7 +6,7 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=d5ede125ed08d4fd14ec44d334bdb388"
DEPENDS += " \
${PYTHON_PN}-cffi \
${PYTHON_PN}-cffi-native \
- ${PYTHON_PN}-pyasn1 \
+ ${PYTHON_PN}-asn1crypto \
${PYTHON_PN}-six \
"
@@ -16,7 +16,7 @@ SRC_URI[sha256sum] = "d04bb2425086c3fe86f7bc48915290b13e798497839fbb18ab7f6dffcf
RDEPENDS_${PN} += " \
${PYTHON_PN}-cffi \
${PYTHON_PN}-idna \
- ${PYTHON_PN}-pyasn1 \
+ ${PYTHON_PN}-asn1crypto \
${PYTHON_PN}-pycparser \
${PYTHON_PN}-setuptools \
${PYTHON_PN}-six \
@@ -26,7 +26,7 @@ RDEPENDS_${PN}_class-target += " \
${PYTHON_PN}-cffi \
${PYTHON_PN}-idna \
${PYTHON_PN}-numbers \
- ${PYTHON_PN}-pyasn1 \
+ ${PYTHON_PN}-asn1crypto \
${PYTHON_PN}-pycparser \
${PYTHON_PN}-subprocess \
${PYTHON_PN}-setuptools \
diff --git a/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb b/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb
index 0875da45c3..0940b0057b 100644
--- a/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb
+++ b/meta-python/recipes-devtools/python/python-evdev_0.7.0.bb
@@ -6,6 +6,13 @@ LIC_FILES_CHKSUM = "file://LICENSE;md5=18debddbb3f52c661a129724a883a8e2"
SRC_URI[md5sum] = "c7e855ae9f97f869a59e75b29f05ce74"
SRC_URI[sha256sum] = "57edafc469a414f58b51af1bfb9ee2babb9f626dd2df530d71c1176871850aa1"
+do_compile_prepend() {
+ rm -rf ${S}/evdev/ecodes.c
+}
+
+DISTUTILS_BUILD_ARGS = "build_ecodes --evdev-headers ${STAGING_DIR_TARGET}/usr/include/linux/input.h:${STAGING_DIR_TARGET}/usr/include/linux/input-event-codes.h"
+
+
inherit pypi setuptools
RDEPENDS_${PN} += "\
diff --git a/meta-python/recipes-devtools/python/python-hyperlink.inc b/meta-python/recipes-devtools/python/python-hyperlink.inc
new file mode 100644
index 0000000000..2b5b0a0ff3
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-hyperlink.inc
@@ -0,0 +1,17 @@
+DESCRIPTION = "A featureful, correct URL for Python"
+HOMEPAGE = "https://github.com/python-hyper/hyperlink"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=3893d4ed05dcc823f8ed685a9ea19bcb"
+
+SRC_URI[md5sum] = "eaccb9845b559817e838846669cbc68a"
+SRC_URI[sha256sum] = "bc4ffdbde9bdad204d507bd8f554f16bba82dd356f6130cb16f41422909c33bc"
+
+inherit pypi
+
+RDEPENDS_${PN} += "${PYTHON_PN}-stringold ${PYTHON_PN}-netclient"
+
+PACKAGES =. "${PN}-test "
+
+FILES_${PN}-test += " \
+ ${PYTHON_SITEPACKAGES_DIR}/hyperlinkt/test \
+"
diff --git a/meta-python/recipes-devtools/python/python-hyperlink_17.3.1.bb b/meta-python/recipes-devtools/python/python-hyperlink_17.3.1.bb
new file mode 100644
index 0000000000..59a9a5c8dd
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-hyperlink_17.3.1.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-hyperlink.inc
diff --git a/meta-python/recipes-devtools/python/python-incremental.inc b/meta-python/recipes-devtools/python/python-incremental.inc
new file mode 100644
index 0000000000..3675458688
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-incremental.inc
@@ -0,0 +1,14 @@
+DESCRIPTION = "Incremental is a small library that versions your Python projects"
+HOMEPAGE = "https://github.com/twisted/incremental"
+LICENSE = "MIT"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=6ca9b07f08e2c72d48c74d363d1e0e15"
+
+SRC_URI[md5sum] = "602746e0d438e075a5a9e0678140bba2"
+SRC_URI[sha256sum] = "7b751696aaf36eebfab537e458929e194460051ccad279c72b755a167eebd4b3"
+
+inherit pypi
+
+RDEPENDS_${PN} += " \
+ ${PYTHON_PN}-twisted \
+ ${PYTHON_PN}-click \
+"
diff --git a/meta-python/recipes-devtools/python/python-incremental_17.5.0.bb b/meta-python/recipes-devtools/python/python-incremental_17.5.0.bb
new file mode 100644
index 0000000000..139ac0c522
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python-incremental_17.5.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools
+require python-incremental.inc
diff --git a/meta-python/recipes-devtools/python/python3-asn1crypto_0.23.0.bb b/meta-python/recipes-devtools/python/python3-asn1crypto_0.23.0.bb
new file mode 100644
index 0000000000..30f3404173
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-asn1crypto_0.23.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-asn1crypto.inc
diff --git a/meta-python/recipes-devtools/python/python3-attrs_17.3.0.bb b/meta-python/recipes-devtools/python/python3-attrs_17.3.0.bb
new file mode 100644
index 0000000000..c34693f506
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-attrs_17.3.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-attrs.inc
diff --git a/meta-python/recipes-devtools/python/python3-automat_0.6.0.bb b/meta-python/recipes-devtools/python/python3-automat_0.6.0.bb
new file mode 100644
index 0000000000..0469e61380
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-automat_0.6.0.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+require python-automat.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-enum "
diff --git a/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb b/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb
new file mode 100644
index 0000000000..3f667540d9
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-constantly_15.1.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-constantly.inc
diff --git a/meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb b/meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb
new file mode 100644
index 0000000000..3d30af29ad
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-hyperlink_17.3.1.bb
@@ -0,0 +1,4 @@
+inherit setuptools3
+require python-hyperlink.inc
+
+RDEPENDS_${PN} += "${PYTHON_PN}-selectors ${PYTHON_PN}-enum"
diff --git a/meta-python/recipes-devtools/python/python3-incremental_17.5.0.bb b/meta-python/recipes-devtools/python/python3-incremental_17.5.0.bb
new file mode 100644
index 0000000000..0f04df4a67
--- /dev/null
+++ b/meta-python/recipes-devtools/python/python3-incremental_17.5.0.bb
@@ -0,0 +1,2 @@
+inherit setuptools3
+require python-incremental.inc
diff --git a/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb b/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb
index 4e893dbba1..dcd397670b 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb
+++ b/meta-webserver/recipes-httpd/apache2/apache2-native_2.4.27.bb
@@ -10,6 +10,7 @@ inherit autotools pkgconfig native
SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
file://0001-configure-use-pkg-config-for-PCRE-detection.patch \
+ file://CVE-2018-1333.patch \
"
S = "${WORKDIR}/httpd-${PV}"
diff --git a/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb b/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb
index 18808676a4..280350006d 100644
--- a/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb
+++ b/meta-webserver/recipes-httpd/apache2/apache2_2.4.27.bb
@@ -21,6 +21,7 @@ SRC_URI = "${APACHE_MIRROR}/httpd/httpd-${PV}.tar.bz2 \
file://apache2-volatile.conf \
file://apache2.service \
file://volatiles.04_apache2 \
+ file://CVE-2018-1333.patch \
"
LIC_FILES_CHKSUM = "file://LICENSE;md5=dbff5a2b542fa58854455bf1a0b94b83"
diff --git a/meta-webserver/recipes-httpd/apache2/files/CVE-2018-1333.patch b/meta-webserver/recipes-httpd/apache2/files/CVE-2018-1333.patch
new file mode 100644
index 0000000000..9cd207c041
--- /dev/null
+++ b/meta-webserver/recipes-httpd/apache2/files/CVE-2018-1333.patch
@@ -0,0 +1,44 @@
+From 83a2e3866918ce6567a683eb4c660688d047ee81 Mon Sep 17 00:00:00 2001
+From: Stefan Eissing <stefan.eissing@greenbytes.de>
+Date: Wed, 18 Apr 2018 11:55:17 +0200
+Subject: [PATCH] * fixes a race condition where aborting streams triggers an
+ unnecessary timeout.
+
+Note: Re-factored upstream fix
+https://github.com/icing/mod_h2/commit/83a2e3866918ce6567a683eb4c660688d047ee81,
+so that it applies to httpd v2.4.27 code. Similarly done at
+http://svn.apache.org/viewvc/httpd/httpd/trunk/modules/http2/h2_bucket_beam.c?r1=1828879&r2=1828878&pathrev=1828879
+
+CVE: CVE-2018-1333
+Upstream-Status: Backport [https://github.com/icing/mod_h2/commit/83a2e3866918ce6567a683eb4c660688d047ee81]
+
+Signed-off-by: Jagadeesh Krishnanjanappa <jkrishnanjanappa@mvista.com>
+
+diff -Naurp httpd-2.4.27_org/modules/http2/h2_bucket_beam.c httpd-2.4.27/modules/http2/h2_bucket_beam.c
+--- httpd-2.4.27_org/modules/http2/h2_bucket_beam.c 2017-04-21 06:52:05.000000000 -0700
++++ httpd-2.4.27/modules/http2/h2_bucket_beam.c 2018-07-24 23:44:40.888330955 -0700
+@@ -512,6 +512,7 @@ static void recv_buffer_cleanup(h2_bucke
+ apr_brigade_destroy(bb);
+ if (bl) enter_yellow(beam, bl);
+
++ apr_thread_cond_broadcast(beam->change);
+ if (beam->cons_ev_cb) {
+ beam->cons_ev_cb(beam->cons_ctx, beam);
+ }
+@@ -685,12 +686,10 @@ void h2_beam_abort(h2_bucket_beam *beam)
+ h2_beam_lock bl;
+
+ if (enter_yellow(beam, &bl) == APR_SUCCESS) {
+- if (!beam->aborted) {
+- beam->aborted = 1;
+- r_purge_sent(beam);
+- h2_blist_cleanup(&beam->send_list);
+- report_consumption(beam, &bl);
+- }
++ beam->aborted = 1;
++ r_purge_sent(beam);
++ h2_blist_cleanup(&beam->send_list);
++ report_consumption(beam, &bl);
+ if (beam->cond) {
+ apr_thread_cond_broadcast(beam->cond);
+ }
diff --git a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.3.bb b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.6.bb
index 9949a73954..672db58dca 100644
--- a/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.3.bb
+++ b/meta-webserver/recipes-php/phpmyadmin/phpmyadmin_4.7.6.bb
@@ -11,8 +11,8 @@ SRC_URI = "https://files.phpmyadmin.net/phpMyAdmin/${PV}/phpMyAdmin-${PV}-all-la
file://apache.conf \
"
-SRC_URI[md5sum] = "4b0c5dbaf871eb86671613da3c31e6b3"
-SRC_URI[sha256sum] = "ed51669043f62494dc3bc21a87423373164ff63865a6c6bceaee535ef785f33e"
+SRC_URI[md5sum] = "a9aec05d44c68b4ac5e4987118d70cd7"
+SRC_URI[sha256sum] = "5fab6b92336386646bbb189d55817799487b5c27b06cab0cdfdcab3c88f5988f"
S = "${WORKDIR}/phpMyAdmin-${PV}-all-languages"
diff --git a/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.1.bb b/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.1.bb
index 06dea64b38..e449dceed0 100644
--- a/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.1.bb
+++ b/meta-xfce/recipes-apps/xfce4-screenshooter/xfce4-screenshooter_1.9.1.bb
@@ -12,6 +12,7 @@ SRC_URI[sha256sum] = "e62b31d9cf06a7414a26400c2ebe7a2ae7c2b22aa60f997f25145ea9eb
do_compile_prepend() {
mkdir -p lib
+ mkdir -p src
}
FILES_${PN} += " \