mirror of
https://gitlab.gnome.org/GNOME/libxml2.git
synced 2025-10-21 14:53:44 +03:00
parser: Make catalog PIs opt-in
This is an obscure feature that shouldn't be enabled by default.
This commit is contained in:
2
NEWS
2
NEWS
@@ -16,7 +16,7 @@ existing parser context was added.
|
|||||||
The xmlSave API now has additional options to replace global settings.
|
The xmlSave API now has additional options to replace global settings.
|
||||||
|
|
||||||
Parser options XML_PARSE_UNZIP, XML_PARSE_NO_SYS_CATALOG and
|
Parser options XML_PARSE_UNZIP, XML_PARSE_NO_SYS_CATALOG and
|
||||||
XML_PARSE_NO_CATALOG_PI were added.
|
XML_PARSE_CATALOG_PI were added.
|
||||||
|
|
||||||
The serialization API will now take user-provided or default encodings
|
The serialization API will now take user-provided or default encodings
|
||||||
into account when serializing attribute values, matching the
|
into account when serializing attribute values, matching the
|
||||||
|
@@ -3420,7 +3420,7 @@ xmlCatalogConvert(void) {
|
|||||||
* xmlCatalogGetDefaults:
|
* xmlCatalogGetDefaults:
|
||||||
*
|
*
|
||||||
* DEPRECATED: Use XML_PARSE_NO_SYS_CATALOG and
|
* DEPRECATED: Use XML_PARSE_NO_SYS_CATALOG and
|
||||||
* XML_PARSE_NO_CATALOG_PI.
|
* XML_PARSE_CATALOG_PI.
|
||||||
*
|
*
|
||||||
* Used to get the user preference w.r.t. to what catalogs should
|
* Used to get the user preference w.r.t. to what catalogs should
|
||||||
* be accepted
|
* be accepted
|
||||||
@@ -3437,7 +3437,7 @@ xmlCatalogGetDefaults(void) {
|
|||||||
* @allow: what catalogs should be accepted
|
* @allow: what catalogs should be accepted
|
||||||
*
|
*
|
||||||
* DEPRECATED: Use XML_PARSE_NO_SYS_CATALOG and
|
* DEPRECATED: Use XML_PARSE_NO_SYS_CATALOG and
|
||||||
* XML_PARSE_NO_CATALOG_PI.
|
* XML_PARSE_CATALOG_PI.
|
||||||
*
|
*
|
||||||
* Used to set the user preference w.r.t. to what catalogs should
|
* Used to set the user preference w.r.t. to what catalogs should
|
||||||
* be accepted
|
* be accepted
|
||||||
|
@@ -1419,7 +1419,7 @@ typedef enum {
|
|||||||
/* since 2.14.0 */
|
/* since 2.14.0 */
|
||||||
XML_PARSE_UNZIP = 1<<24,/* allow compressed content */
|
XML_PARSE_UNZIP = 1<<24,/* allow compressed content */
|
||||||
XML_PARSE_NO_SYS_CATALOG = 1<<25,/* disable global system catalog */
|
XML_PARSE_NO_SYS_CATALOG = 1<<25,/* disable global system catalog */
|
||||||
XML_PARSE_NO_CATALOG_PI = 1<<26 /* ignore catalog PIs */
|
XML_PARSE_CATALOG_PI = 1<<26 /* allow catalog PIs */
|
||||||
} xmlParserOption;
|
} xmlParserOption;
|
||||||
|
|
||||||
XMLPUBFUN void
|
XMLPUBFUN void
|
||||||
|
8
parser.c
8
parser.c
@@ -5676,7 +5676,7 @@ xmlParsePI(xmlParserCtxtPtr ctxt) {
|
|||||||
(xmlStrEqual(target, XML_CATALOG_PI))) {
|
(xmlStrEqual(target, XML_CATALOG_PI))) {
|
||||||
xmlCatalogAllow allow = xmlCatalogGetDefaults();
|
xmlCatalogAllow allow = xmlCatalogGetDefaults();
|
||||||
|
|
||||||
if (((ctxt->options & XML_PARSE_NO_CATALOG_PI) == 0) &&
|
if ((ctxt->options & XML_PARSE_CATALOG_PI) &&
|
||||||
((allow == XML_CATA_ALLOW_DOCUMENT) ||
|
((allow == XML_CATA_ALLOW_DOCUMENT) ||
|
||||||
(allow == XML_CATA_ALLOW_ALL)))
|
(allow == XML_CATA_ALLOW_ALL)))
|
||||||
xmlParseCatalogPI(ctxt, buf);
|
xmlParseCatalogPI(ctxt, buf);
|
||||||
@@ -13580,7 +13580,7 @@ xmlCtxtSetOptionsInternal(xmlParserCtxtPtr ctxt, int options, int keepMask)
|
|||||||
XML_PARSE_NO_XXE |
|
XML_PARSE_NO_XXE |
|
||||||
XML_PARSE_UNZIP |
|
XML_PARSE_UNZIP |
|
||||||
XML_PARSE_NO_SYS_CATALOG |
|
XML_PARSE_NO_SYS_CATALOG |
|
||||||
XML_PARSE_NO_CATALOG_PI;
|
XML_PARSE_CATALOG_PI;
|
||||||
|
|
||||||
ctxt->options = (ctxt->options & keepMask) | (options & allMask);
|
ctxt->options = (ctxt->options & keepMask) | (options & allMask);
|
||||||
|
|
||||||
@@ -13788,9 +13788,9 @@ xmlCtxtSetOptionsInternal(xmlParserCtxtPtr ctxt, int options, int keepMask)
|
|||||||
*
|
*
|
||||||
* Available since 2.14.0.
|
* Available since 2.14.0.
|
||||||
*
|
*
|
||||||
* XML_PARSE_NO_CATALOG_PI
|
* XML_PARSE_CATALOG_PI
|
||||||
*
|
*
|
||||||
* Ignore XML catalog processing instructions.
|
* Enable XML catalog processing instructions.
|
||||||
*
|
*
|
||||||
* Available since 2.14.0.
|
* Available since 2.14.0.
|
||||||
*
|
*
|
||||||
|
Reference in New Issue
Block a user