|
@@ -35,6 +35,7 @@ import java.util.regex.Matcher;
|
|
import java.util.regex.Pattern;
|
|
import java.util.regex.Pattern;
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
|
+import javax.xml.XMLConstants;
|
|
import javax.xml.parsers.DocumentBuilder;
|
|
import javax.xml.parsers.DocumentBuilder;
|
|
import javax.xml.parsers.DocumentBuilderFactory;
|
|
import javax.xml.parsers.DocumentBuilderFactory;
|
|
|
|
|
|
@@ -123,6 +124,8 @@ public class PluginHelper {
|
|
try (final InputStream is = new ByteArrayInputStream(pluginMetaContent.getBytes(Constants.UTF_8_CHARSET))) {
|
|
try (final InputStream is = new ByteArrayInputStream(pluginMetaContent.getBytes(Constants.UTF_8_CHARSET))) {
|
|
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
|
final DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
|
|
factory.setFeature(Constants.FEATURE_SECURE_PROCESSING, true);
|
|
factory.setFeature(Constants.FEATURE_SECURE_PROCESSING, true);
|
|
|
|
+ factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, StringUtil.EMPTY);
|
|
|
|
+ factory.setAttribute(XMLConstants.ACCESS_EXTERNAL_SCHEMA, StringUtil.EMPTY);
|
|
final DocumentBuilder builder = factory.newDocumentBuilder();
|
|
final DocumentBuilder builder = factory.newDocumentBuilder();
|
|
final Document document = builder.parse(is);
|
|
final Document document = builder.parse(is);
|
|
final NodeList nodeList = document.getElementsByTagName("version");
|
|
final NodeList nodeList = document.getElementsByTagName("version");
|