summaryrefslogtreecommitdiffstats
path: root/meta
diff options
context:
space:
mode:
Diffstat (limited to 'meta')
-rw-r--r--meta/conf/distro/include/maintainers.inc1
-rw-r--r--meta/recipes-core/gettext/gettext/use-pkgconfig.patch319
-rw-r--r--meta/recipes-core/gettext/gettext_0.22.bb6
-rw-r--r--meta/recipes-support/libcroco/files/CVE-2020-12825.patch192
-rw-r--r--meta/recipes-support/libcroco/libcroco_0.6.13.bb26
5 files changed, 3 insertions, 541 deletions
diff --git a/meta/conf/distro/include/maintainers.inc b/meta/conf/distro/include/maintainers.inc
index b2579fc44c..35f8a72fa4 100644
--- a/meta/conf/distro/include/maintainers.inc
+++ b/meta/conf/distro/include/maintainers.inc
@@ -320,7 +320,6 @@ RECIPE_MAINTAINER:pn-libcgroup = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-libcheck = "Yi Zhao <yi.zhao@windriver.com>"
RECIPE_MAINTAINER:pn-libcomps = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-libconvert-asn1-perl = "Tim Orling <tim.orling@konsulko.com>"
-RECIPE_MAINTAINER:pn-libcroco = "Anuj Mittal <anuj.mittal@intel.com>"
RECIPE_MAINTAINER:pn-libdaemon = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-libdazzle = "Alexander Kanavin <alex.kanavin@gmail.com>"
RECIPE_MAINTAINER:pn-libdnf = "Alexander Kanavin <alex.kanavin@gmail.com>"
diff --git a/meta/recipes-core/gettext/gettext/use-pkgconfig.patch b/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
index c12e0d3b88..f1fb61de4e 100644
--- a/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
+++ b/meta/recipes-core/gettext/gettext/use-pkgconfig.patch
@@ -15,14 +15,9 @@ Signed-off-by: Ross Burton <ross.burton@intel.com>
---
gettext-tools/gnulib-m4/libxml.m4 | 105 +----------------
- .../gnulib-local/lib/term-styled-ostream.oo.c | 12 +-
- libtextstyle/gnulib-local/m4/libcroco.m4 | 98 +++-------------
libtextstyle/gnulib-local/m4/libglib.m4 | 106 +++---------------
- libtextstyle/gnulib-m4/libcroco.m4 | 98 +++-------------
libtextstyle/gnulib-m4/libglib.m4 | 106 +++---------------
- libtextstyle/lib/term-styled-ostream.c | 12 +-
- libtextstyle/lib/term-styled-ostream.oo.c | 12 +-
- 8 files changed, 79 insertions(+), 470 deletions(-)
+ 3 files changed, 79 insertions(+), 470 deletions(-)
diff --git a/gettext-tools/gnulib-m4/libxml.m4 b/gettext-tools/gnulib-m4/libxml.m4
index 0340490..0355388 100644
@@ -147,149 +142,6 @@ index 0340490..0355388 100644
fi
])
AC_SUBST([LIBXML])
-diff --git a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
-index 2ff978f..5ffb17a 100644
---- a/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
-+++ b/libtextstyle/gnulib-local/lib/term-styled-ostream.oo.c
-@@ -22,15 +22,15 @@
-
- #include <stdlib.h>
-
--#include <cr-om-parser.h>
--#include <cr-sel-eng.h>
--#include <cr-style.h>
--#include <cr-rgb.h>
-+#include <libcroco/cr-om-parser.h>
-+#include <libcroco/cr-sel-eng.h>
-+#include <libcroco/cr-style.h>
-+#include <libcroco/cr-rgb.h>
- /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */
- #ifndef __CR_FONTS_H__
--# include <cr-fonts.h>
-+# include <libcroco/cr-fonts.h>
- #endif
--#include <cr-string.h>
-+#include <libcroco/cr-string.h>
-
- #include "term-ostream.h"
- #include "mem-hash-map.h"
-diff --git a/libtextstyle/gnulib-local/m4/libcroco.m4 b/libtextstyle/gnulib-local/m4/libcroco.m4
-index 39e72b1..042915a 100644
---- a/libtextstyle/gnulib-local/m4/libcroco.m4
-+++ b/libtextstyle/gnulib-local/m4/libcroco.m4
-@@ -6,97 +6,29 @@ dnl with or without modifications, as long as this notice is preserved.
-
- dnl From Bruno Haible.
-
--dnl gl_LIBCROCO
--dnl gives the user the option to decide whether to use the included or
--dnl an external libcroco.
--dnl gl_LIBCROCO(FORCE-INCLUDED)
--dnl forces the use of the included or an external libcroco.
- AC_DEFUN([gl_LIBCROCO],
- [
-- ifelse([$1], [yes], , [
-- dnl libcroco depends on libglib.
-- AC_REQUIRE([gl_LIBGLIB])
-- ])
-+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-+ dnl libcroco depends on libglib.
-+ AC_REQUIRE([gl_LIBGLIB])
-
-- ifelse([$1], , [
-- AC_MSG_CHECKING([whether included libcroco is requested])
-- AC_ARG_WITH([included-libcroco],
-- [ --with-included-libcroco use the libcroco included here],
-- [gl_cv_libcroco_force_included=$withval],
-- [gl_cv_libcroco_force_included=no])
-- AC_MSG_RESULT([$gl_cv_libcroco_force_included])
-- ], [gl_cv_libcroco_force_included=$1])
-+ AC_MSG_CHECKING([whether included libcroco is requested])
-+ AC_ARG_WITH([included-libcroco],
-+ [ --with-included-libcroco use the libcroco included here],
-+ [gl_cv_libcroco_force_included=$withval],
-+ [gl_cv_libcroco_force_included=no])
-+ AC_MSG_RESULT([$gl_cv_libcroco_force_included])
-
- gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"
- LIBCROCO=
- LTLIBCROCO=
- INCCROCO=
-- ifelse([$1], [yes], , [
-- if test "$gl_cv_libcroco_use_included" != yes; then
-- dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to
-- dnl use the included one.
-- AC_CACHE_VAL([gl_cv_libcroco], [
-- gl_cv_libcroco=no
-- gl_cv_LIBCROCO=
-- gl_cv_LTLIBCROCO=
-- gl_cv_INCCROCO=
-- gl_save_LIBS="$LIBS"
-- dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and
-- dnl INCCROCO_0_6 accordingly.
-- dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when
-- dnl cross-compiling or when the C compiler in use is different from the
-- dnl one that built the library.
-- AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])
-- LIBS="$gl_save_LIBS $LIBCROCO_0_6"
-- AC_LINK_IFELSE(
-- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
-- [[const char *version = LIBCROCO_VERSION; return !version;]])],
-- [gl_cv_libcroco=yes
-- gl_cv_LIBCROCO="$LIBCROCO_0_6"
-- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
-- ])
-- if test "$gl_cv_libcroco" != yes; then
-- gl_save_CPPFLAGS="$CPPFLAGS"
-- CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"
-- AC_LINK_IFELSE(
-- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
-- [[const char *version = LIBCROCO_VERSION; return !version;]])],
-- [gl_cv_libcroco=yes
-- gl_cv_LIBCROCO="$LIBCROCO_0_6"
-- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
-- gl_cv_INCCROCO="$INCCROCO_0_6"
-- ])
-- if test "$gl_cv_libcroco" != yes; then
-- dnl Often the include files are installed in
-- dnl /usr/include/libcroco-0.6/libcroco.
-- AC_LINK_IFELSE(
-- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
-- [[const char *version = LIBCROCO_VERSION; return !version;]])],
-- [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])
-- libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`
-- if test -d "$libcroco_include_dir"; then
-- gl_cv_libcroco=yes
-- gl_cv_LIBCROCO="$LIBCROCO_0_6"
-- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
-- gl_cv_INCCROCO="-I$libcroco_include_dir"
-- fi
-- ])
-- fi
-- CPPFLAGS="$gl_save_CPPFLAGS"
-- fi
-- LIBS="$gl_save_LIBS"
-- ])
-- AC_MSG_CHECKING([for libcroco])
-- AC_MSG_RESULT([$gl_cv_libcroco])
-- if test $gl_cv_libcroco = yes; then
-- LIBCROCO="$gl_cv_LIBCROCO"
-- LTLIBCROCO="$gl_cv_LTLIBCROCO"
-- INCCROCO="$gl_cv_INCCROCO"
-- else
-- gl_cv_libcroco_use_included=yes
-- fi
-- fi
-- ])
-+ if test "$gl_cv_libcroco_use_included" != yes; then
-+ PKG_CHECK_MODULES([CROCO], [libcroco-0.6])
-+ LIBCROCO=$CROCO_LIBS
-+ LTLIBCROCO=$CROCO_LIBS
-+ INCCROCO=$CROCO_CFLAGS
-+ fi
- AC_SUBST([LIBCROCO])
- AC_SUBST([LTLIBCROCO])
- AC_SUBST([INCCROCO])
diff --git a/libtextstyle/gnulib-local/m4/libglib.m4 b/libtextstyle/gnulib-local/m4/libglib.m4
index 7ee5029..bb1e5e4 100644
--- a/libtextstyle/gnulib-local/m4/libglib.m4
@@ -414,123 +266,6 @@ index 7ee5029..bb1e5e4 100644
AC_SUBST([LIBGLIB])
AC_SUBST([LTLIBGLIB])
AC_SUBST([INCGLIB])
-diff --git a/libtextstyle/gnulib-m4/libcroco.m4 b/libtextstyle/gnulib-m4/libcroco.m4
-index 39e72b1..042915a 100644
---- a/libtextstyle/gnulib-m4/libcroco.m4
-+++ b/libtextstyle/gnulib-m4/libcroco.m4
-@@ -6,97 +6,29 @@ dnl with or without modifications, as long as this notice is preserved.
-
- dnl From Bruno Haible.
-
--dnl gl_LIBCROCO
--dnl gives the user the option to decide whether to use the included or
--dnl an external libcroco.
--dnl gl_LIBCROCO(FORCE-INCLUDED)
--dnl forces the use of the included or an external libcroco.
- AC_DEFUN([gl_LIBCROCO],
- [
-- ifelse([$1], [yes], , [
-- dnl libcroco depends on libglib.
-- AC_REQUIRE([gl_LIBGLIB])
-- ])
-+ AC_REQUIRE([PKG_PROG_PKG_CONFIG])
-+ dnl libcroco depends on libglib.
-+ AC_REQUIRE([gl_LIBGLIB])
-
-- ifelse([$1], , [
-- AC_MSG_CHECKING([whether included libcroco is requested])
-- AC_ARG_WITH([included-libcroco],
-- [ --with-included-libcroco use the libcroco included here],
-- [gl_cv_libcroco_force_included=$withval],
-- [gl_cv_libcroco_force_included=no])
-- AC_MSG_RESULT([$gl_cv_libcroco_force_included])
-- ], [gl_cv_libcroco_force_included=$1])
-+ AC_MSG_CHECKING([whether included libcroco is requested])
-+ AC_ARG_WITH([included-libcroco],
-+ [ --with-included-libcroco use the libcroco included here],
-+ [gl_cv_libcroco_force_included=$withval],
-+ [gl_cv_libcroco_force_included=no])
-+ AC_MSG_RESULT([$gl_cv_libcroco_force_included])
-
- gl_cv_libcroco_use_included="$gl_cv_libcroco_force_included"
- LIBCROCO=
- LTLIBCROCO=
- INCCROCO=
-- ifelse([$1], [yes], , [
-- if test "$gl_cv_libcroco_use_included" != yes; then
-- dnl Figure out whether we can use a preinstalled libcroco-0.6, or have to
-- dnl use the included one.
-- AC_CACHE_VAL([gl_cv_libcroco], [
-- gl_cv_libcroco=no
-- gl_cv_LIBCROCO=
-- gl_cv_LTLIBCROCO=
-- gl_cv_INCCROCO=
-- gl_save_LIBS="$LIBS"
-- dnl Search for libcroco and define LIBCROCO_0_6, LTLIBCROCO_0_6 and
-- dnl INCCROCO_0_6 accordingly.
-- dnl Don't use croco-0.6-config nor pkg-config, since it doesn't work when
-- dnl cross-compiling or when the C compiler in use is different from the
-- dnl one that built the library.
-- AC_LIB_LINKFLAGS_BODY([croco-0.6], [glib-2.0])
-- LIBS="$gl_save_LIBS $LIBCROCO_0_6"
-- AC_LINK_IFELSE(
-- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
-- [[const char *version = LIBCROCO_VERSION; return !version;]])],
-- [gl_cv_libcroco=yes
-- gl_cv_LIBCROCO="$LIBCROCO_0_6"
-- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
-- ])
-- if test "$gl_cv_libcroco" != yes; then
-- gl_save_CPPFLAGS="$CPPFLAGS"
-- CPPFLAGS="$CPPFLAGS $INCCROCO_0_6"
-- AC_LINK_IFELSE(
-- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
-- [[const char *version = LIBCROCO_VERSION; return !version;]])],
-- [gl_cv_libcroco=yes
-- gl_cv_LIBCROCO="$LIBCROCO_0_6"
-- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
-- gl_cv_INCCROCO="$INCCROCO_0_6"
-- ])
-- if test "$gl_cv_libcroco" != yes; then
-- dnl Often the include files are installed in
-- dnl /usr/include/libcroco-0.6/libcroco.
-- AC_LINK_IFELSE(
-- [AC_LANG_PROGRAM([[#include <libcroco-config.h>]],
-- [[const char *version = LIBCROCO_VERSION; return !version;]])],
-- [gl_ABSOLUTE_HEADER([libcroco-0.6/libcroco/libcroco-config.h])
-- libcroco_include_dir=`echo "$gl_cv_absolute_libcroco_0_6_libcroco_libcroco_config_h" | sed -e 's,.libcroco-config\.h$,,'`
-- if test -d "$libcroco_include_dir"; then
-- gl_cv_libcroco=yes
-- gl_cv_LIBCROCO="$LIBCROCO_0_6"
-- gl_cv_LTLIBCROCO="$LTLIBCROCO_0_6"
-- gl_cv_INCCROCO="-I$libcroco_include_dir"
-- fi
-- ])
-- fi
-- CPPFLAGS="$gl_save_CPPFLAGS"
-- fi
-- LIBS="$gl_save_LIBS"
-- ])
-- AC_MSG_CHECKING([for libcroco])
-- AC_MSG_RESULT([$gl_cv_libcroco])
-- if test $gl_cv_libcroco = yes; then
-- LIBCROCO="$gl_cv_LIBCROCO"
-- LTLIBCROCO="$gl_cv_LTLIBCROCO"
-- INCCROCO="$gl_cv_INCCROCO"
-- else
-- gl_cv_libcroco_use_included=yes
-- fi
-- fi
-- ])
-+ if test "$gl_cv_libcroco_use_included" != yes; then
-+ PKG_CHECK_MODULES([CROCO], [libcroco-0.6])
-+ LIBCROCO=$CROCO_LIBS
-+ LTLIBCROCO=$CROCO_LIBS
-+ INCCROCO=$CROCO_CFLAGS
-+ fi
- AC_SUBST([LIBCROCO])
- AC_SUBST([LTLIBCROCO])
- AC_SUBST([INCCROCO])
diff --git a/libtextstyle/gnulib-m4/libglib.m4 b/libtextstyle/gnulib-m4/libglib.m4
index 7ee5029..bb1e5e4 100644
--- a/libtextstyle/gnulib-m4/libglib.m4
@@ -655,55 +390,3 @@ index 7ee5029..bb1e5e4 100644
AC_SUBST([LIBGLIB])
AC_SUBST([LTLIBGLIB])
AC_SUBST([INCGLIB])
-diff --git a/libtextstyle/lib/term-styled-ostream.c b/libtextstyle/lib/term-styled-ostream.c
-index 5484800..16793fa 100644
---- a/libtextstyle/lib/term-styled-ostream.c
-+++ b/libtextstyle/lib/term-styled-ostream.c
-@@ -28,15 +28,15 @@
-
- #include <stdlib.h>
-
--#include <cr-om-parser.h>
--#include <cr-sel-eng.h>
--#include <cr-style.h>
--#include <cr-rgb.h>
-+#include <libcroco/cr-om-parser.h>
-+#include <libcroco/cr-sel-eng.h>
-+#include <libcroco/cr-style.h>
-+#include <libcroco/cr-rgb.h>
- /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */
- #ifndef __CR_FONTS_H__
--# include <cr-fonts.h>
-+# include <libcroco/cr-fonts.h>
- #endif
--#include <cr-string.h>
-+#include <libcroco/cr-string.h>
-
- #include "term-ostream.h"
- #include "mem-hash-map.h"
-diff --git a/libtextstyle/lib/term-styled-ostream.oo.c b/libtextstyle/lib/term-styled-ostream.oo.c
-index 2ff978f..5ffb17a 100644
---- a/libtextstyle/lib/term-styled-ostream.oo.c
-+++ b/libtextstyle/lib/term-styled-ostream.oo.c
-@@ -22,15 +22,15 @@
-
- #include <stdlib.h>
-
--#include <cr-om-parser.h>
--#include <cr-sel-eng.h>
--#include <cr-style.h>
--#include <cr-rgb.h>
-+#include <libcroco/cr-om-parser.h>
-+#include <libcroco/cr-sel-eng.h>
-+#include <libcroco/cr-style.h>
-+#include <libcroco/cr-rgb.h>
- /* <cr-fonts.h> has a broken double-inclusion guard in libcroco-0.6.1. */
- #ifndef __CR_FONTS_H__
--# include <cr-fonts.h>
-+# include <libcroco/cr-fonts.h>
- #endif
--#include <cr-string.h>
-+#include <libcroco/cr-string.h>
-
- #include "term-ostream.h"
- #include "mem-hash-map.h"
diff --git a/meta/recipes-core/gettext/gettext_0.22.bb b/meta/recipes-core/gettext/gettext_0.22.bb
index f5290ac0e4..75474c8c30 100644
--- a/meta/recipes-core/gettext/gettext_0.22.bb
+++ b/meta/recipes-core/gettext/gettext_0.22.bb
@@ -10,8 +10,6 @@ LIC_FILES_CHKSUM = "file://COPYING;md5=c678957b0c8e964aa6c70fd77641a71e"
# without libxml in PACKAGECONFIG vendor copy of the lib will be used
LICENSE:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', '& MIT', d)}"
LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'libxml', '', 'file://libtextstyle/lib/libxml/COPYING;md5=2044417e2e5006b65a8b9067b683fcf1', d)}"
-# without croco in PACKAGECONFIG vendor copy of the lib will be used
-LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'croco', '', 'file://libtextstyle/lib/libcroco/libcroco.h;md5=424013a9ed5401aa58cf83f3188c6865;beginline=10;endline=28', d)}"
# without glib in PACKAGECONFIG vendor copy of the lib will be used
LIC_FILES_CHKSUM:append = " ${@bb.utils.contains('PACKAGECONFIG', 'glib', '', 'file://libtextstyle/lib/glib/ghash.c;md5=e3159f5ac38dfe77af5cc0ee104dab2d;beginline=10;endline=27', d)}"
@@ -44,6 +42,7 @@ EXTRA_OECONF += "--without-lispdir \
--without-emacs \
--without-cvs \
--without-git \
+ --without-included-libcroco \
--cache-file=${B}/config.cache \
"
EXTRA_OECONF:append:class-target = " \
@@ -54,11 +53,10 @@ EXTRA_OECONF:append:class-target = " \
gt_cv_locale_de=de_DE.ISO-8859-1 \
"
-PACKAGECONFIG ??= "croco glib libxml"
+PACKAGECONFIG ??= "glib libxml"
PACKAGECONFIG:class-native = ""
PACKAGECONFIG:class-nativesdk = ""
-PACKAGECONFIG[croco] = "--without-included-libcroco,--with-included-libcroco,libcroco"
PACKAGECONFIG[glib] = "--without-included-glib,--with-included-glib,glib-2.0"
PACKAGECONFIG[libxml] = "--without-included-libxml,--with-included-libxml,libxml2"
# Need paths here to avoid host contamination but this can cause RPATH warnings
diff --git a/meta/recipes-support/libcroco/files/CVE-2020-12825.patch b/meta/recipes-support/libcroco/files/CVE-2020-12825.patch
deleted file mode 100644
index 42f92e3607..0000000000
--- a/meta/recipes-support/libcroco/files/CVE-2020-12825.patch
+++ /dev/null
@@ -1,192 +0,0 @@
-From fdf78a4877afa987ba646a8779b513f258e6d04c Mon Sep 17 00:00:00 2001
-From: Michael Catanzaro <mcatanzaro@gnome.org>
-Date: Fri, 31 Jul 2020 15:21:53 -0500
-Subject: [PATCH] libcroco: Limit recursion in block and any productions
-
- (CVE-2020-12825)
-
-If we don't have any limits, we can recurse forever and overflow the
-stack.
-
-Fixes #8
-This is per https://gitlab.gnome.org/Archive/libcroco/-/issues/8
-
-https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1404
-
-CVE: CVE-2020-12825
-Upstream-Status: Backport [https://gitlab.gnome.org/Archive/libcroco/-/commit/6eb257e5c731c691eb137fca94e916ca73941a5a]
-Comment: No refreshing changes done.
-Signed-off-by: Saloni Jain <Saloni.Jain@kpit.com>
-
----
- src/cr-parser.c | 44 +++++++++++++++++++++++++++++---------------
- 1 file changed, 29 insertions(+), 15 deletions(-)
-
-diff --git a/src/cr-parser.c b/src/cr-parser.c
-index 18c9a01..f4a62e3 100644
---- a/src/cr-parser.c
-+++ b/src/cr-parser.c
-@@ -136,6 +136,8 @@ struct _CRParserPriv {
-
- #define CHARS_TAB_SIZE 12
-
-+#define RECURSIVE_CALLERS_LIMIT 100
-+
- /**
- * IS_NUM:
- *@a_char: the char to test.
-@@ -344,9 +346,11 @@ static enum CRStatus cr_parser_parse_selector_core (CRParser * a_this);
-
- static enum CRStatus cr_parser_parse_declaration_core (CRParser * a_this);
-
--static enum CRStatus cr_parser_parse_any_core (CRParser * a_this);
-+static enum CRStatus cr_parser_parse_any_core (CRParser * a_this,
-+ guint n_calls);
-
--static enum CRStatus cr_parser_parse_block_core (CRParser * a_this);
-+static enum CRStatus cr_parser_parse_block_core (CRParser * a_this,
-+ guint n_calls);
-
- static enum CRStatus cr_parser_parse_value_core (CRParser * a_this);
-
-@@ -784,7 +788,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
- cr_parser_try_to_skip_spaces_and_comments (a_this);
-
- do {
-- status = cr_parser_parse_any_core (a_this);
-+ status = cr_parser_parse_any_core (a_this, 0);
- } while (status == CR_OK);
-
- status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr,
-@@ -795,7 +799,7 @@ cr_parser_parse_atrule_core (CRParser * a_this)
- cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
- token);
- token = NULL;
-- status = cr_parser_parse_block_core (a_this);
-+ status = cr_parser_parse_block_core (a_this, 0);
- CHECK_PARSING_STATUS (status,
- FALSE);
- goto done;
-@@ -930,11 +934,11 @@ cr_parser_parse_selector_core (CRParser * a_this)
-
- RECORD_INITIAL_POS (a_this, &init_pos);
-
-- status = cr_parser_parse_any_core (a_this);
-+ status = cr_parser_parse_any_core (a_this, 0);
- CHECK_PARSING_STATUS (status, FALSE);
-
- do {
-- status = cr_parser_parse_any_core (a_this);
-+ status = cr_parser_parse_any_core (a_this, 0);
-
- } while (status == CR_OK);
-
-@@ -956,10 +960,12 @@ cr_parser_parse_selector_core (CRParser * a_this)
- *in chapter 4.1 of the css2 spec.
- *block ::= '{' S* [ any | block | ATKEYWORD S* | ';' ]* '}' S*;
- *@param a_this the current instance of #CRParser.
-+ *@param n_calls used to limit recursion depth
- *FIXME: code this function.
- */
- static enum CRStatus
--cr_parser_parse_block_core (CRParser * a_this)
-+cr_parser_parse_block_core (CRParser * a_this,
-+ guint n_calls)
- {
- CRToken *token = NULL;
- CRInputPos init_pos;
-@@ -967,6 +973,9 @@ cr_parser_parse_block_core (CRParser * a_this)
-
- g_return_val_if_fail (a_this && PRIVATE (a_this), CR_BAD_PARAM_ERROR);
-
-+ if (n_calls > RECURSIVE_CALLERS_LIMIT)
-+ return CR_ERROR;
-+
- RECORD_INITIAL_POS (a_this, &init_pos);
-
- status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token);
-@@ -996,13 +1005,13 @@ cr_parser_parse_block_core (CRParser * a_this)
- } else if (token->type == CBO_TK) {
- cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
- token = NULL;
-- status = cr_parser_parse_block_core (a_this);
-+ status = cr_parser_parse_block_core (a_this, n_calls + 1);
- CHECK_PARSING_STATUS (status, FALSE);
- goto parse_block_content;
- } else {
- cr_tknzr_unget_token (PRIVATE (a_this)->tknzr, token);
- token = NULL;
-- status = cr_parser_parse_any_core (a_this);
-+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
- CHECK_PARSING_STATUS (status, FALSE);
- goto parse_block_content;
- }
-@@ -1109,7 +1118,7 @@ cr_parser_parse_value_core (CRParser * a_this)
- status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
- token);
- token = NULL;
-- status = cr_parser_parse_block_core (a_this);
-+ status = cr_parser_parse_block_core (a_this, 0);
- CHECK_PARSING_STATUS (status, FALSE);
- ref++;
- goto continue_parsing;
-@@ -1123,7 +1132,7 @@ cr_parser_parse_value_core (CRParser * a_this)
- status = cr_tknzr_unget_token (PRIVATE (a_this)->tknzr,
- token);
- token = NULL;
-- status = cr_parser_parse_any_core (a_this);
-+ status = cr_parser_parse_any_core (a_this, 0);
- if (status == CR_OK) {
- ref++;
- goto continue_parsing;
-@@ -1162,10 +1171,12 @@ cr_parser_parse_value_core (CRParser * a_this)
- * | FUNCTION | DASHMATCH | '(' any* ')' | '[' any* ']' ] S*;
- *
- *@param a_this the current instance of #CRParser.
-+ *@param n_calls used to limit recursion depth
- *@return CR_OK upon successfull completion, an error code otherwise.
- */
- static enum CRStatus
--cr_parser_parse_any_core (CRParser * a_this)
-+cr_parser_parse_any_core (CRParser * a_this,
-+ guint n_calls)
- {
- CRToken *token1 = NULL,
- *token2 = NULL;
-@@ -1174,6 +1185,9 @@ cr_parser_parse_any_core (CRParser * a_this)
-
- g_return_val_if_fail (a_this, CR_BAD_PARAM_ERROR);
-
-+ if (n_calls > RECURSIVE_CALLERS_LIMIT)
-+ return CR_ERROR;
-+
- RECORD_INITIAL_POS (a_this, &init_pos);
-
- status = cr_tknzr_get_next_token (PRIVATE (a_this)->tknzr, &token1);
-@@ -1212,7 +1226,7 @@ cr_parser_parse_any_core (CRParser * a_this)
- *We consider parameter as being an "any*" production.
- */
- do {
-- status = cr_parser_parse_any_core (a_this);
-+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
- } while (status == CR_OK);
-
- ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
-@@ -1237,7 +1251,7 @@ cr_parser_parse_any_core (CRParser * a_this)
- }
-
- do {
-- status = cr_parser_parse_any_core (a_this);
-+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
- } while (status == CR_OK);
-
- ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
-@@ -1265,7 +1279,7 @@ cr_parser_parse_any_core (CRParser * a_this)
- }
-
- do {
-- status = cr_parser_parse_any_core (a_this);
-+ status = cr_parser_parse_any_core (a_this, n_calls + 1);
- } while (status == CR_OK);
-
- ENSURE_PARSING_COND (status == CR_PARSING_ERROR);
diff --git a/meta/recipes-support/libcroco/libcroco_0.6.13.bb b/meta/recipes-support/libcroco/libcroco_0.6.13.bb
deleted file mode 100644
index 419c962657..0000000000
--- a/meta/recipes-support/libcroco/libcroco_0.6.13.bb
+++ /dev/null
@@ -1,26 +0,0 @@
-SUMMARY = "Cascading Style Sheet (CSS) parsing and manipulation toolkit"
-DESCRIPTION = "The Libcroco project is an effort to build a generic \
-Cascading Style Sheet (CSS) parsing and manipulation toolkit that can be \
-used by GNOME applications in need of CSS support."
-HOMEPAGE = "http://www.gnome.org/"
-BUGTRACKER = "https://bugzilla.gnome.org/"
-
-LICENSE = "LGPL-2.0-only & LGPL-2.1-only"
-LIC_FILES_CHKSUM = "file://COPYING;md5=55ca817ccb7d5b5b66355690e9abc605 \
- file://src/cr-rgb.c;endline=22;md5=31d5f0944d556c8589d04ea6055fcc66 \
- file://tests/cr-test-utils.c;endline=21;md5=2382c27934cae1d3792fcb17a6142c4e"
-
-SECTION = "x11/utils"
-DEPENDS = "glib-2.0 libxml2 zlib"
-BBCLASSEXTEND = "native nativesdk"
-EXTRA_OECONF += "--enable-Bsymbolic=auto"
-
-BINCONFIG = "${bindir}/croco-0.6-config"
-
-inherit gnomebase gtk-doc binconfig-disabled
-
-SRC_URI[archive.md5sum] = "c80c5a8385011a0260dce6bd0da93dce"
-SRC_URI[archive.sha256sum] = "767ec234ae7aa684695b3a735548224888132e063f92db585759b422570621d4"
-
-SRC_URI +="file://CVE-2020-12825.patch \
-"