[utilities COMMIT] /java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java
noreply at shibboleth.net
noreply at shibboleth.net
Wed Apr 16 14:24:06 EDT 2014
Author: scantor
Date: Wed Apr 16 14:24:05 2014
New Revision: 557
URL: http://svn.shibboleth.net/view/utilities?rev=557&view=rev
Log:
More advanced default feature/property setting to handle Java 8 defaults.
Modified:
java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java
Modified: java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java
URL: http://svn.shibboleth.net/view/utilities/java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java?rev=557&r1=556&r2=557&view=diff
==============================================================================
--- java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java (original)
+++ java-support/trunk/src/main/java/net/shibboleth/utilities/java/support/xml/SchemaBuilder.java Wed Apr 16 14:24:05 2014
@@ -251,7 +251,18 @@
final SchemaFactory schemaFactory = schemaLang.getSchemaFactory();
if (features.isEmpty()) {
+ log.info("No SchemaFactory features set, setting FEATURE_SECURE_PROCESSING by default");
schemaFactory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
+ if (resourceResolver != null && !(resourceResolver instanceof ClasspathResolver)) {
+ log.warn("Custom LSResourceResolver supplied, may interact badly with secure processing mode");
+ } else {
+ try {
+ schemaFactory.setProperty(XMLConstants.ACCESS_EXTERNAL_SCHEMA, "all");
+ log.info("Allowing schema and DTD access to non-remote resources (LSResourceResolver unset)");
+ } catch (final SAXException e) {
+ log.info("Unable to set ACCESS_EXTERNAL_SCHEMA property, classpath schema lookup might fail");
+ }
+ }
} else {
for (final Map.Entry<String, Boolean> entry : features.entrySet()) {
schemaFactory.setFeature(entry.getKey(), entry.getValue());
More information about the commits
mailing list