public final class org.owasp.dependencycheck.utils.XmlUtils extends java.lang.Object
{
public static final java.lang.String JAXP_SCHEMA_LANGUAGE;
public static final java.lang.String W3C_XML_SCHEMA;
public static final java.lang.String JAXP_SCHEMA_SOURCE;
private void <init>()
{
org.owasp.dependencycheck.utils.XmlUtils v;
v := @this: org.owasp.dependencycheck.utils.XmlUtils;
specialinvoke v.<java.lang.Object: void <init>()>();
return;
}
public static transient javax.xml.parsers.SAXParser buildSecureSaxParser(java.io.InputStream[]) throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException, org.xml.sax.SAXException
{
javax.xml.parsers.SAXParserFactory v;
java.io.InputStream[] v;
javax.xml.parsers.SAXParser v;
java.lang.String v, v;
boolean v, v, v;
v := @parameter: java.io.InputStream[];
v = staticinvoke <javax.xml.parsers.SAXParserFactory: javax.xml.parsers.SAXParserFactory newInstance()>();
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setNamespaceAware(boolean)>(1);
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setValidating(boolean)>(1);
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setFeature(java.lang.String,boolean)>("http://javax.xml.XMLConstants/feature/secure-processing", 1);
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setFeature(java.lang.String,boolean)>("http://apache.org/xml/features/disallow-doctype-decl", 1);
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setFeature(java.lang.String,boolean)>("http://xml.org/sax/features/external-general-entities", 0);
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setFeature(java.lang.String,boolean)>("http://xml.org/sax/features/external-parameter-entities", 0);
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setFeature(java.lang.String,boolean)>("http://apache.org/xml/features/nonvalidating/load-dtd-grammar", 0);
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setFeature(java.lang.String,boolean)>("http://apache.org/xml/features/nonvalidating/load-external-dtd", 0);
v = staticinvoke <java.lang.System: java.lang.String getProperty(java.lang.String)>("javax.xml.accessExternalSchema");
if v != null goto label;
v = "file, https";
goto label;
label:
v = "ALL";
v = virtualinvoke v.<java.lang.String: boolean equalsIgnoreCase(java.lang.String)>(v);
if v != 0 goto label;
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("file");
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u, file");
label:
v = virtualinvoke v.<java.lang.String: boolean contains(java.lang.CharSequence)>("https");
if v != 0 goto label;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\u, https");
label:
staticinvoke <java.lang.System: java.lang.String setProperty(java.lang.String,java.lang.String)>("javax.xml.accessExternalSchema", v);
v = virtualinvoke v.<javax.xml.parsers.SAXParserFactory: javax.xml.parsers.SAXParser newSAXParser()>();
virtualinvoke v.<javax.xml.parsers.SAXParser: void setProperty(java.lang.String,java.lang.Object)>("http://java.sun.com/xml/jaxp/properties/schemaLanguage", "http://www.w.org/2001/XMLSchema");
virtualinvoke v.<javax.xml.parsers.SAXParser: void setProperty(java.lang.String,java.lang.Object)>("http://java.sun.com/xml/jaxp/properties/schemaSource", v);
return v;
}
public static boolean parseBoolean(java.lang.String)
{
java.lang.IllegalArgumentException v;
byte v;
int v;
java.lang.String v, v;
boolean v, v, v, v, v;
v := @parameter: java.lang.String;
v = -1;
v = virtualinvoke v.<java.lang.String: int hashCode()>();
lookupswitch(v)
{
case 48: goto label;
case 49: goto label;
case 3569038: goto label;
case 97196323: goto label;
default: goto label;
};
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("true");
if v == 0 goto label;
v = 0;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("1");
if v == 0 goto label;
v = 1;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("false");
if v == 0 goto label;
v = 2;
goto label;
label:
v = virtualinvoke v.<java.lang.String: boolean equals(java.lang.Object)>("0");
if v == 0 goto label;
v = 3;
label:
tableswitch(v)
{
case 0: goto label;
case 1: goto label;
case 2: goto label;
case 3: goto label;
default: goto label;
};
label:
v = 1;
goto label;
label:
v = 0;
goto label;
label:
v = new java.lang.IllegalArgumentException;
v = dynamicinvoke "makeConcatWithConstants" <java.lang.String (java.lang.String)>(v) <java.lang.invoke.StringConcatFactory: java.lang.invoke.CallSite makeConcatWithConstants(java.lang.invoke.MethodHandles$Lookup,java.lang.String,java.lang.invoke.MethodType,java.lang.String,java.lang.Object[])>("\'\u0001\' is not a valid xs:boolean value");
specialinvoke v.<java.lang.IllegalArgumentException: void <init>(java.lang.String)>(v);
throw v;
label:
return v;
}
public static javax.xml.parsers.SAXParser buildSecureSaxParser() throws javax.xml.parsers.ParserConfigurationException, org.xml.sax.SAXNotRecognizedException, org.xml.sax.SAXNotSupportedException, org.xml.sax.SAXException
{
javax.xml.parsers.SAXParser v;
javax.xml.parsers.SAXParserFactory v;
v = staticinvoke <javax.xml.parsers.SAXParserFactory: javax.xml.parsers.SAXParserFactory newInstance()>();
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setFeature(java.lang.String,boolean)>("http://apache.org/xml/features/disallow-doctype-decl", 1);
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setFeature(java.lang.String,boolean)>("http://xml.org/sax/features/external-general-entities", 0);
virtualinvoke v.<javax.xml.parsers.SAXParserFactory: void setFeature(java.lang.String,boolean)>("http://javax.xml.XMLConstants/feature/secure-processing", 1);
v = virtualinvoke v.<javax.xml.parsers.SAXParserFactory: javax.xml.parsers.SAXParser newSAXParser()>();
return v;
}
public static javax.xml.parsers.DocumentBuilder buildSecureDocumentBuilder() throws javax.xml.parsers.ParserConfigurationException
{
javax.xml.parsers.DocumentBuilderFactory v;
javax.xml.parsers.DocumentBuilder v;
v = staticinvoke <javax.xml.parsers.DocumentBuilderFactory: javax.xml.parsers.DocumentBuilderFactory newInstance()>();
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setFeature(java.lang.String,boolean)>("http://apache.org/xml/features/disallow-doctype-decl", 1);
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setFeature(java.lang.String,boolean)>("http://xml.org/sax/features/external-general-entities", 0);
virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: void setFeature(java.lang.String,boolean)>("http://javax.xml.XMLConstants/feature/secure-processing", 1);
v = virtualinvoke v.<javax.xml.parsers.DocumentBuilderFactory: javax.xml.parsers.DocumentBuilder newDocumentBuilder()>();
return v;
}
public static java.lang.String getPrettyParseExceptionInfo(org.xml.sax.SAXParseException)
{
int v, v, v, v;
java.lang.String v, v, v, v, v, v;
org.xml.sax.SAXParseException v;
java.lang.StringBuilder v, v, v, v, v, v, v, v;
v := @parameter: org.xml.sax.SAXParseException;
v = new java.lang.StringBuilder;
specialinvoke v.<java.lang.StringBuilder: void <init>()>();
v = virtualinvoke v.<org.xml.sax.SAXParseException: java.lang.String getSystemId()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("systemId=");
v = virtualinvoke v.<org.xml.sax.SAXParseException: java.lang.String getSystemId()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = virtualinvoke v.<org.xml.sax.SAXParseException: java.lang.String getPublicId()>();
if v == null goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("publicId=");
v = virtualinvoke v.<org.xml.sax.SAXParseException: java.lang.String getPublicId()>();
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", ");
label:
v = virtualinvoke v.<org.xml.sax.SAXParseException: int getLineNumber()>();
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>("Line=");
v = virtualinvoke v.<org.xml.sax.SAXParseException: int getLineNumber()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
label:
v = virtualinvoke v.<org.xml.sax.SAXParseException: int getColumnNumber()>();
if v <= 0 goto label;
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(", Column=");
v = virtualinvoke v.<org.xml.sax.SAXParseException: int getColumnNumber()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(int)>(v);
label:
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(": ");
v = virtualinvoke v.<org.xml.sax.SAXParseException: java.lang.String getMessage()>();
virtualinvoke v.<java.lang.StringBuilder: java.lang.StringBuilder append(java.lang.String)>(v);
v = virtualinvoke v.<java.lang.StringBuilder: java.lang.String toString()>();
return v;
}
}