summaryrefslogtreecommitdiff
path: root/dev-db/postgresql/files/postgresql-14-xml-2.12.patch
diff options
context:
space:
mode:
Diffstat (limited to 'dev-db/postgresql/files/postgresql-14-xml-2.12.patch')
-rw-r--r--dev-db/postgresql/files/postgresql-14-xml-2.12.patch83
1 files changed, 0 insertions, 83 deletions
diff --git a/dev-db/postgresql/files/postgresql-14-xml-2.12.patch b/dev-db/postgresql/files/postgresql-14-xml-2.12.patch
deleted file mode 100644
index 2b1d6b1b3448..000000000000
--- a/dev-db/postgresql/files/postgresql-14-xml-2.12.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From 29e25a6b1eb1b77ecfdbcb5b8dc07c8a6cdcf089 Mon Sep 17 00:00:00 2001
-From: Tom Lane <tgl@sss.pgh.pa.us>
-Date: Mon, 29 Jan 2024 12:06:08 -0500
-Subject: [PATCH] Fix incompatibilities with libxml2 >= 2.12.0.
-
-libxml2 changed the required signature of error handler callbacks
-to make the passed xmlError struct "const". This is causing build
-failures on buildfarm member caiman, and no doubt will start showing
-up in the field quite soon. Add a version check to adjust the
-declaration of xml_errorHandler() according to LIBXML_VERSION.
-
-2.12.x also produces deprecation warnings for contrib/xml2/xpath.c's
-assignment to xmlLoadExtDtdDefaultValue. I see no good reason for
-that to still be there, seeing that we disabled external DTDs (at a
-lower level) years ago for security reasons. Let's just remove it.
-
-Back-patch to all supported branches, since they might all get built
-with newer libxml2 once it gets a bit more popular. (The back
-branches produce another deprecation warning about xpath.c's use of
-xmlSubstituteEntitiesDefault(). We ought to consider whether to
-back-patch all or part of commit 65c5864d7 to silence that. It's
-less urgent though, since it won't break the buildfarm.)
-
-Discussion: https://postgr.es/m/1389505.1706382262@sss.pgh.pa.us
----
- contrib/xml2/xpath.c | 1 -
- src/backend/utils/adt/xml.c | 14 ++++++++++++--
- 2 files changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/contrib/xml2/xpath.c b/contrib/xml2/xpath.c
-index 1e5b71d9a0..f44caf0020 100644
---- a/contrib/xml2/xpath.c
-+++ b/contrib/xml2/xpath.c
-@@ -75,7 +75,6 @@ pgxml_parser_init(PgXmlStrictness strictness)
- xmlInitParser();
-
- xmlSubstituteEntitiesDefault(1);
-- xmlLoadExtDtdDefaultValue = 1;
-
- return xmlerrcxt;
- }
-diff --git a/src/backend/utils/adt/xml.c b/src/backend/utils/adt/xml.c
-index df7a1b6c40..d7caaaaca0 100644
---- a/src/backend/utils/adt/xml.c
-+++ b/src/backend/utils/adt/xml.c
-@@ -65,6 +65,16 @@
- #if LIBXML_VERSION >= 20704
- #define HAVE_XMLSTRUCTUREDERRORCONTEXT 1
- #endif
-+
-+/*
-+ * libxml2 2.12 decided to insert "const" into the error handler API.
-+ */
-+#if LIBXML_VERSION >= 21200
-+#define PgXmlErrorPtr const xmlError *
-+#else
-+#define PgXmlErrorPtr xmlErrorPtr
-+#endif
-+
- #endif /* USE_LIBXML */
-
- #include "access/htup_details.h"
-@@ -119,7 +129,7 @@ struct PgXmlErrorContext
-
- static xmlParserInputPtr xmlPgEntityLoader(const char *URL, const char *ID,
- xmlParserCtxtPtr ctxt);
--static void xml_errorHandler(void *data, xmlErrorPtr error);
-+static void xml_errorHandler(void *data, PgXmlErrorPtr error);
- static void xml_ereport_by_code(int level, int sqlcode,
- const char *msg, int errcode);
- static void chopStringInfoNewlines(StringInfo str);
-@@ -1750,7 +1760,7 @@ xml_ereport(PgXmlErrorContext *errcxt, int level, int sqlcode, const char *msg)
- * Error handler for libxml errors and warnings
- */
- static void
--xml_errorHandler(void *data, xmlErrorPtr error)
-+xml_errorHandler(void *data, PgXmlErrorPtr error)
- {
- PgXmlErrorContext *xmlerrcxt = (PgXmlErrorContext *) data;
- xmlParserCtxtPtr ctxt = (xmlParserCtxtPtr) error->ctxt;
---
-2.30.2
-