diff options
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} += " \ |