From 2fccd4f89736df00e59bed7aeacf9ef79ec57557 Mon Sep 17 00:00:00 2001 From: Adrian Stratulat Date: Wed, 4 Sep 2019 08:29:09 +0300 Subject: libpcre: remove workaround for CVE-2017-11164 CVE-2017-11164 affects libpcre 8.41, while the 'warrior' branch uses libpcre 8.43. This patch is not applicable anymore. References: https://nvd.nist.gov/vuln/detail/CVE-2017-11164 https://git.enea.com/cgit/linux/poky.git/tree/meta/recipes-support/libpcre Change-Id: I820e23de5d21648c8c5d0ddef4ad16030a592c80 Signed-off-by: Adrian Stratulat --- recipes-support/libpcre/libpcre/Makefile | 183 --------------------- .../libpcre/libpcre/fix-pcre-name-collision.patch | 41 ----- recipes-support/libpcre/libpcre/pcre-cross.patch | 48 ------ recipes-support/libpcre/libpcre/run-ptest | 3 - recipes-support/libpcre/libpcre_8.42.bb | 87 ---------- 5 files changed, 362 deletions(-) delete mode 100644 recipes-support/libpcre/libpcre/Makefile delete mode 100644 recipes-support/libpcre/libpcre/fix-pcre-name-collision.patch delete mode 100644 recipes-support/libpcre/libpcre/pcre-cross.patch delete mode 100644 recipes-support/libpcre/libpcre/run-ptest delete mode 100644 recipes-support/libpcre/libpcre_8.42.bb diff --git a/recipes-support/libpcre/libpcre/Makefile b/recipes-support/libpcre/libpcre/Makefile deleted file mode 100644 index 708d807..0000000 --- a/recipes-support/libpcre/libpcre/Makefile +++ /dev/null @@ -1,183 +0,0 @@ -TESTS = pcre_stringpiece_unittest RunTest RunGrepTest -subdir = . -am__vpath_adj_setup = srcdirstrip=`echo "$(srcdir)" | sed 's|.|.|g'`; -am__vpath_adj = case $$p in \ - $(srcdir)/*) f=`echo "$$p" | sed "s|^$$srcdirstrip/||"`;; \ - *) f=$$p;; \ - esac; -am__tty_colors_dummy = \ - mgn= red= grn= lgn= blu= brg= std=; \ - am__color_tests=no -am__tty_colors = { \ - $(am__tty_colors_dummy); \ - if test "X$(AM_COLOR_TESTS)" = Xno; then \ - am__color_tests=no; \ - elif test "X$(AM_COLOR_TESTS)" = Xalways; then \ - am__color_tests=yes; \ - elif test "X$$TERM" != Xdumb && { test -t 1; } 2>/dev/null; then \ - am__color_tests=yes; \ - fi; \ - if test $$am__color_tests = yes; then \ - red=''; \ - grn=''; \ - lgn=''; \ - blu=''; \ - mgn=''; \ - brg=''; \ - std=''; \ - fi; \ -} -am__rst_title = { sed 's/.*/ & /;h;s/./=/g;p;x;s/ *$$//;p;g' && echo; } -am__sh_e_setup = case $$- in *e*) set +e;; esac -am__common_driver_flags = \ - --color-tests "$$am__color_tests" \ - --enable-hard-errors "$$am__enable_hard_errors" \ - --expect-failure "$$am__expect_failure" -am__check_pre = \ -$(am__sh_e_setup); \ -$(am__vpath_adj_setup) $(am__vpath_adj) \ -$(am__tty_colors); \ -srcdir=$(srcdir); export srcdir; \ -case "$@" in \ - */*) am__odir=`echo "./$@" | sed 's|/[^/]*$$||'`;; \ - *) am__odir=.;; \ -esac; \ -test "x$$am__odir" = x"." || test -d "$$am__odir" \ - || $(MKDIR_P) "$$am__odir" || exit $$?; \ -if test -f "./$$f"; then dir=./; \ -elif test -f "$$f"; then dir=; \ -else dir="$(srcdir)/"; fi; \ -tst=$$dir$$f; log='$@'; \ -if test -n '$(DISABLE_HARD_ERRORS)'; then \ - am__enable_hard_errors=no; \ -else \ - am__enable_hard_errors=yes; \ -fi; -am__set_TESTS_bases = \ - bases='$(TEST_LOGS)'; \ - bases=`for i in $$bases; do echo $$i; done | sed 's/\.log$$//'`; \ - bases=`echo $$bases` -RECHECK_LOGS = $(TEST_LOGS) -TEST_SUITE_LOG = test-suite.log -TEST_EXTENSIONS = .test -LOG_DRIVER = $(SHELL) $(top_srcdir)/test-driver -am__test_logs1 = $(TESTS:=.log) -am__test_logs2 = $(am__test_logs1:.log=.log) -TEST_LOGS = $(am__test_logs2:.test.log=.log) -MKDIR_P = /bin/mkdir -p -PACKAGE_STRING = PCRE 8.36 -SHELL = /bin/sh -srcdir = . -top_srcdir = . -$(TEST_SUITE_LOG): $(TEST_LOGS) - @$(am__set_TESTS_bases); \ - am__f_ok () { test -f "$$1" && test -r "$$1"; }; \ - redo_bases=`for i in $$bases; do \ - am__f_ok $$i.trs && am__f_ok $$i.log || echo $$i; \ - done`; \ - st=0; \ - errmsg="fatal: making $(TEST_SUITE_LOG): failed to create"; \ - for i in $$redo_bases; do \ - test -f $$i.trs && test -r $$i.trs \ - || { echo "$$errmsg $$i.trs" >&2; st=1; }; \ - test -f $$i.log && test -r $$i.log \ - || { echo "$$errmsg $$i.log" >&2; st=1; }; \ - done; \ - test $$st -eq 0 || exit 1; - @$(am__sh_e_setup); $(am__tty_colors); $(am__set_TESTS_bases); \ - ws='[ ]'; \ - results=`for b in $$bases; do echo $$b.trs; done`; \ - test -n "$$results" || results=/dev/null; \ - all=` grep "^$$ws*:test-result:" $$results | wc -l`; \ - pass=` grep "^$$ws*:test-result:$$ws*PASS" $$results | wc -l`; \ - fail=` grep "^$$ws*:test-result:$$ws*FAIL" $$results | wc -l`; \ - skip=` grep "^$$ws*:test-result:$$ws*SKIP" $$results | wc -l`; \ - xfail=`grep "^$$ws*:test-result:$$ws*XFAIL" $$results | wc -l`; \ - xpass=`grep "^$$ws*:test-result:$$ws*XPASS" $$results | wc -l`; \ - error=`grep "^$$ws*:test-result:$$ws*ERROR" $$results | wc -l`; \ - if test `expr $$fail + $$xpass + $$error` -eq 0; then \ - success=true; \ - else \ - success=false; \ - fi; \ - br='==================='; br=$$br$$br$$br$$br; \ - result_count () \ - { \ - if test x"$$1" = x"--maybe-color"; then \ - maybe_colorize=yes; \ - elif test x"$$1" = x"--no-color"; then \ - maybe_colorize=no; \ - else \ - echo "$@: invalid 'result_count' usage" >&2; exit 4; \ - fi; \ - shift; \ - desc=$$1 count=$$2; \ - if test $$maybe_colorize = yes && test $$count -gt 0; then \ - color_start=$$3 color_end=$$std; \ - else \ - color_start= color_end=; \ - fi; \ - echo "$${color_start}# $$desc $$count$${color_end}"; \ - }; \ - create_testsuite_report () \ - { \ - result_count $$1 "TOTAL:" $$all "$$brg"; \ - result_count $$1 "PASS: " $$pass "$$grn"; \ - result_count $$1 "SKIP: " $$skip "$$blu"; \ - result_count $$1 "XFAIL:" $$xfail "$$lgn"; \ - result_count $$1 "FAIL: " $$fail "$$red"; \ - result_count $$1 "XPASS:" $$xpass "$$red"; \ - result_count $$1 "ERROR:" $$error "$$mgn"; \ - }; \ - { \ - echo "$(PACKAGE_STRING): $(subdir)/$(TEST_SUITE_LOG)" | \ - $(am__rst_title); \ - create_testsuite_report --no-color; \ - echo; \ - echo ".. contents:: :depth: 2"; \ - echo; \ - for b in $$bases; do echo $$b; done; \ - } >$(TEST_SUITE_LOG).tmp || exit 1; \ - mv $(TEST_SUITE_LOG).tmp $(TEST_SUITE_LOG); \ - if $$success; then \ - col="$$grn"; \ - else \ - col="$$red"; \ - test x"$$VERBOSE" = x || cat $(TEST_SUITE_LOG); \ - fi; \ - echo "$${col}$$br$${std}"; \ - echo "$${col}Testsuite summary for $(PACKAGE_STRING)$${std}"; \ - echo "$${col}$$br$${std}"; \ - create_testsuite_report --maybe-color; \ - echo "$$col$$br$$std"; \ - if $$success; then :; else \ - echo "$${col}See $(subdir)/$(TEST_SUITE_LOG)$${std}"; \ - echo "$$col$$br$$std"; \ - fi; \ - $$success || exit 1 -check-TESTS: - @list='$(RECHECK_LOGS)'; test -z "$$list" || rm -f $$list - @test -z "$(TEST_SUITE_LOG)" || rm -f $(TEST_SUITE_LOG) - @set +e; $(am__set_TESTS_bases); \ - log_list=`for i in $$bases; do echo $$i.log; done`; \ - log_list=`echo $$log_list`; \ - $(MAKE) $(AM_MAKEFLAGS) $(TEST_SUITE_LOG) TEST_LOGS="$$log_list"; \ - exit $$?; -pcre_stringpiece_unittest.log: pcre_stringpiece_unittest$(EXEEXT) - @p='pcre_stringpiece_unittest$(EXEEXT)'; \ - b='pcre_stringpiece_unittest'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) -- "$$tst" -RunTest.log: RunTest - @p='RunTest'; \ - b='RunTest'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) -- "$$tst" -RunGrepTest.log: RunGrepTest - @p='RunGrepTest'; \ - b='RunGrepTest'; \ - $(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \ - --log-file $$b.log --trs-file $$b.trs \ - $(am__common_driver_flags) -- "$$tst" diff --git a/recipes-support/libpcre/libpcre/fix-pcre-name-collision.patch b/recipes-support/libpcre/libpcre/fix-pcre-name-collision.patch deleted file mode 100644 index 89b44f6..0000000 --- a/recipes-support/libpcre/libpcre/fix-pcre-name-collision.patch +++ /dev/null @@ -1,41 +0,0 @@ -Upstream-Status: Inappropriate [debian patch] - -This patch address a namespace collision with libc. - -Although there is no "#include " in the source file, at -runtime, it's unintentionally linked to the libc version, the regcomp of -libc is called instead the pcre one using pcre's data structure... -that looks like a disaster. - -Can patch is from Debian (and Ubuntu 11.04alpha has it also). - -[sgw: added patch comment] -Signed-off-by: Qing He -Signed-off-by: Saul Wold - ---- a/pcreposix.h 2010-05-17 00:17:23.000000000 +0800 -+++ b/pcreposix.h 2009-01-15 04:32:17.000000000 +0800 -@@ -133,14 +130,19 @@ - - /* The functions */ - --PCREPOSIX_EXP_DECL int regcomp(regex_t *, const char *, int); --PCREPOSIX_EXP_DECL int regexec(const regex_t *, const char *, size_t, -+PCREPOSIX_EXP_DECL int pcreposix_regcomp(regex_t *, const char *, int); -+PCREPOSIX_EXP_DECL int pcreposix_regexec(const regex_t *, const char *, size_t, - regmatch_t *, int); --PCREPOSIX_EXP_DECL size_t regerror(int, const regex_t *, char *, size_t); --PCREPOSIX_EXP_DECL void regfree(regex_t *); -+PCREPOSIX_EXP_DECL size_t pcreposix_regerror(int, const regex_t *, char *, size_t); -+PCREPOSIX_EXP_DECL void pcreposix_regfree(regex_t *); - - #ifdef __cplusplus - } /* extern "C" */ - #endif - -+#define regcomp pcreposix_regcomp -+#define regexec pcreposix_regexec -+#define regerror pcreposix_regerror -+#define regfree pcreposix_regfree -+ - #endif /* End of pcreposix.h */ diff --git a/recipes-support/libpcre/libpcre/pcre-cross.patch b/recipes-support/libpcre/libpcre/pcre-cross.patch deleted file mode 100644 index 83880f7..0000000 --- a/recipes-support/libpcre/libpcre/pcre-cross.patch +++ /dev/null @@ -1,48 +0,0 @@ -Upstream-Status: Pending - ---- pcre-8.32.orig/Makefile.am -+++ pcre-8.32/Makefile.am -@@ -197,8 +197,18 @@ bin_SCRIPTS = pcre-config - -+CC_FOR_BUILD = @CC_FOR_BUILD@ -+CFLAGS_FOR_BUILD = @CFLAGS_FOR_BUILD@ -+CCLD_FOR_BUILD = @CCLD_FOR_BUILD@ -+LDFLAGS_FOR_BUILD = @LDFLAGS_FOR_BUILD@ -+ - if WITH_REBUILD_CHARTABLES - - noinst_PROGRAMS += dftables - dftables_SOURCES = dftables.c -+dftables_LINK = $(CCLD_FOR_BUILD) -o $@ -+dftables_LDFLAGS = $(LDFLAGS_FOR_BUILD) -+ -+dftables.o: $(srcdir)/dftables.c -+ $(CC_FOR_BUILD) -c $(CFLAGS_FOR_BUILD) -o $@ $(srcdir)/dftables.c - - pcre_chartables.c: dftables$(EXEEXT) - ./dftables$(EXEEXT) $@ ---- pcre-8.32.orig/configure.ac -+++ pcre-8.32/configure.ac -@@ -72,6 +72,22 @@ then - fi - fi - -+if test x"$cross_compiling" = xyes; then -+ CC_FOR_BUILD="${CC_FOR_BUILD-gcc}" -+ CCLD_FOR_BUILD="${CCLD_FOR_BUILD-gcc}" -+ CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD}" -+ LDFLAGS_FOR_BUILD="${LDFLAGS_FOR_BUILD}" -+else -+ CC_FOR_BUILD="${CC_FOR_BUILD-\$(CC)}" -+ CCLD_FOR_BUILD="${CCLD_FOR_BUILD-\$(CCLD)}" -+ CFLAGS_FOR_BUILD="${CFLAGS_FOR_BUILD-\$(CFLAGS)}" -+ LDFLAGS_FOR_BUILD="${LDFLAGS_FOR_BUILD-\$(LDFLAGS)}" -+fi -+AC_ARG_VAR(CC_FOR_BUILD, [build system C compiler]) -+AC_ARG_VAR(CCLD_FOR_BUILD, [build system C linker frontend]) -+AC_ARG_VAR(CFLAGS_FOR_BUILD, [build system C compiler arguments]) -+AC_ARG_VAR(LDFLAGS_FOR_BUILD, [build system C linker frontend arguments]) -+ - # AC_PROG_CXX will return "g++" even if no c++ compiler is installed. - # Check for that case, and just disable c++ code if g++ doesn't run. - AC_LANG_PUSH(C++) diff --git a/recipes-support/libpcre/libpcre/run-ptest b/recipes-support/libpcre/libpcre/run-ptest deleted file mode 100644 index 990d4a1..0000000 --- a/recipes-support/libpcre/libpcre/run-ptest +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -make check-TESTS diff --git a/recipes-support/libpcre/libpcre_8.42.bb b/recipes-support/libpcre/libpcre_8.42.bb deleted file mode 100644 index 3a488c0..0000000 --- a/recipes-support/libpcre/libpcre_8.42.bb +++ /dev/null @@ -1,87 +0,0 @@ -DESCRIPTION = "The PCRE library is a set of functions that implement regular \ -expression pattern matching using the same syntax and semantics as Perl 5. PCRE \ -has its own native API, as well as a set of wrapper functions that correspond \ -to the POSIX regular expression API." -SUMMARY = "Perl Compatible Regular Expressions" -HOMEPAGE = "http://www.pcre.org" -SECTION = "devel" -LICENSE = "BSD" -LIC_FILES_CHKSUM = "file://LICENCE;md5=fc5026403b44c868c25fc9546f7feb05" -SRC_URI = "https://ftp.pcre.org/pub/pcre/pcre-${PV}.tar.bz2 \ - file://pcre-cross.patch \ - file://fix-pcre-name-collision.patch \ - file://run-ptest \ - file://Makefile \ -" - -SRC_URI[md5sum] = "085b6aa253e0f91cae70b3cdbe8c1ac2" -SRC_URI[sha256sum] = "2cd04b7c887808be030254e8d77de11d3fe9d4505c39d4b15d2664ffe8bf9301" - -CVE_PRODUCT = "pcre" - -S = "${WORKDIR}/pcre-${PV}" - -PROVIDES += "pcre" -DEPENDS += "bzip2 zlib" - -PACKAGECONFIG ??= "pcre8 unicode-properties" - -PACKAGECONFIG[pcre8] = "--enable-pcre8,--disable-pcre8" -PACKAGECONFIG[pcre16] = "--enable-pcre16,--disable-pcre16" -PACKAGECONFIG[pcre32] = "--enable-pcre32,--disable-pcre32" -PACKAGECONFIG[pcretest-readline] = "--enable-pcretest-libreadline,--disable-pcretest-libreadline,readline," -PACKAGECONFIG[unicode-properties] = "--enable-unicode-properties,--disable-unicode-properties" - -BINCONFIG = "${bindir}/pcre-config" - -inherit autotools binconfig-disabled ptest - -EXTRA_OECONF = "\ - --enable-newline-is-lf \ - --enable-rebuild-chartables \ - --enable-utf \ - --with-link-size=2 \ - --with-match-limit=10000000 \ -" - -# Set LINK_SIZE in BUILD_CFLAGS given that the autotools bbclass use it to -# set CFLAGS_FOR_BUILD, required for the libpcre build. -BUILD_CFLAGS =+ "-DLINK_SIZE=2 -I${B}" -CFLAGS += "-D_REENTRANT" -CXXFLAGS_append_powerpc = " -lstdc++" - -export CCLD_FOR_BUILD ="${BUILD_CCLD}" - -PACKAGES =+ "libpcrecpp libpcreposix pcregrep pcregrep-doc pcretest pcretest-doc" - -SUMMARY_libpcrecpp = "${SUMMARY} - C++ wrapper functions" -SUMMARY_libpcreposix = "${SUMMARY} - C wrapper functions based on the POSIX regex API" -SUMMARY_pcregrep = "grep utility that uses perl 5 compatible regexes" -SUMMARY_pcregrep-doc = "grep utility that uses perl 5 compatible regexes - docs" -SUMMARY_pcretest = "program for testing Perl-comatible regular expressions" -SUMMARY_pcretest-doc = "program for testing Perl-comatible regular expressions - docs" - -FILES_libpcrecpp = "${libdir}/libpcrecpp.so.*" -FILES_libpcreposix = "${libdir}/libpcreposix.so.*" -FILES_pcregrep = "${bindir}/pcregrep" -FILES_pcregrep-doc = "${mandir}/man1/pcregrep.1" -FILES_pcretest = "${bindir}/pcretest" -FILES_pcretest-doc = "${mandir}/man1/pcretest.1" - -BBCLASSEXTEND = "native nativesdk" - -do_install_ptest() { - t=${D}${PTEST_PATH} - cp ${WORKDIR}/Makefile $t - cp -r ${S}/testdata $t - for i in pcre_stringpiece_unittest pcregrep pcretest; \ - do cp ${B}/.libs/$i $t; \ - done - for i in RunTest RunGrepTest test-driver; \ - do cp ${S}/$i $t; \ - done - # Skip the fr_FR locale test. If the locale fr_FR is found, it is tested. - # If not found, the test is skipped. The test program assumes fr_FR is non-UTF-8 - # locale so the test fails if fr_FR is UTF-8 locale. - sed -i -e 's:do3=yes:do3=no:g' ${D}${PTEST_PATH}/RunTest -} -- cgit v1.2.3-54-g00ecf