diff --git a/.gitignore b/.gitignore index 76075c8..e233ad3 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/icedtea-web-1.7.1.tar.gz +SOURCES/icedtea-web-1.8.4.tar.gz diff --git a/.icedtea-web.metadata b/.icedtea-web.metadata index 55e3c5d..f769c64 100644 --- a/.icedtea-web.metadata +++ b/.icedtea-web.metadata @@ -1 +1 @@ -a484daa20cadefe4d4ba2c1e3b28dbb39c986f4b SOURCES/icedtea-web-1.7.1.tar.gz +08f339753946626f5f46d11120dce44d5e6f6540 SOURCES/icedtea-web-1.8.4.tar.gz diff --git a/SOURCES/1473-1480.patch b/SOURCES/1473-1480.patch deleted file mode 100644 index 4380668..0000000 --- a/SOURCES/1473-1480.patch +++ /dev/null @@ -1,4716 +0,0 @@ -diff -r dbb8dc397d15 -r 4abd0f089773 ChangeLog ---- a/ChangeLog Mon Dec 18 13:22:51 2017 +0100 -+++ b/ChangeLog Fri Mar 02 10:41:29 2018 +0100 -@@ -1,3 +1,56 @@ -+2018-02-06 Jiri Vanek <jvanek@redhat.com> -+ -+ Added test for javafx-desc -+ * tests/reproducers/custom/JavaFx/resources/JavaFx.jar -+ * tests/reproducers/custom/JavaFx/resources/JavaFx.jnlp -+ * tests/reproducers/custom/JavaFx/srcs/Controller.class -+ * tests/reproducers/custom/JavaFx/srcs/Controller.java -+ * tests/reproducers/custom/JavaFx/srcs/Main.class -+ * tests/reproducers/custom/JavaFx/srcs/Main.java -+ * tests/reproducers/custom/JavaFx/srcs/Makefile -+ * tests/reproducers/custom/JavaFx/srcs/helloworld.fxml -+ * tests/reproducers/custom/JavaFx/testcases/JavaFxTest.java -+ -+2018-02-05 Jiri Vanek <jvanek@redhat.com> -+ -+ Added basic support for javafx desc -+ * netx/net/sourceforge/jnlp/ApplicationDesc.java: added flag fx to rember what was initiator -+ * netx/net/sourceforge/jnlp/Node.java: Added abstraction ElementName over string of element name to hold namespace -+ and separate it for name if present -+ * netx/net/sourceforge/jnlp/Parser.java: for javafx-desc ApplicationDesc is instantiated. Adapted to ElementName -+ * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java: ElementName -+ * tests/netx/unit/net/sourceforge/jnlp/ParserTest.java: ElementName -+ -+2018-02-05 Jiri Vanek <jvanek@redhat.com> -+ -+ Fixed news for latest changes -+ * NEWS: mentioned javafx-desc, -nosecurity enhancement and j2se/java resources -+ -+2018-02-03 Jiri Vanek <jvanek@redhat.com> -+ -+ Made ITW to load resources from j2se/java tag too -+ * netx/net/sourceforge/jnlp/Parser.java: constructors/methods made public to help unittests -+ * netx/net/sourceforge/jnlp/ShortcutDesc.java: same -+ * netx/net/sourceforge/jnlp/ResourcesDesc.java: getJars made to iterate recursively over content of j2se -+ * tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java: added testcase -+ * tests/netx/unit/net/sourceforge/jnlp/jarsInJreDesc.jnlp: testfile copied form omegat which have this strange resources -+ -+2018-02-03 Jiri Vanek <jvanek@redhat.com> -+ -+ nosecurity switch made extendable also for certificate issues -+ * netx/net/sourceforge/jnlp/config/Defaults.java: set deployment.security.itw.ignorecertissues -+ * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: added deployment.security.itw.ignorecertissues -+ * netx/net/sourceforge/jnlp/resources/Messages.properties: BONosecurity is now tailed by rumor about deployment.security.itw.ignorecertissues -+ * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: when ITW was about to throw certificate-caused launch exception, -+ it i snow consulted with nosecurity and deployment.security.itw.ignorecertissues. If both are here, exception is only printed -+ -+2018-02-03 Jiri Vanek <jvanek@redhat.com> -+ -+ * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: autoformatted -+ -+2018-02-03 Jiri Vanek <jvanek@redhat.com> -+ * netx/net/sourceforge/jnlp/Parser.java: auto-formatted -+ - 2017-12-15 Jiri Vanek <jvanek@redhat.com> - - Pre-release tuning -diff -r dbb8dc397d15 -r 4abd0f089773 NEWS ---- a/NEWS Mon Dec 18 13:22:51 2017 +0100 -+++ b/NEWS Fri Mar 02 10:41:29 2018 +0100 -@@ -7,6 +7,11 @@ - GX - http://bugs.gentoo.org/show_bug.cgi?id=X - - CVE-XXXX-YYYY: http://www.cve.mitre.org/cgi-bin/cvename.cgi?name=XXXX-YYYY -+ -+New in release 1.7.2 (YYYY-MM-DD): -+* added support for javafx-desc and so allwong run of pure-javafx only applications -+* --nosecurity enhanced for possibility to skip invalid signatures -+* enhanced to allow resources to be read also from j2se/java element (OmegaT) - - New in release 1.7.1 (2017-12-15): - * better work with authors file -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/ApplicationDesc.java ---- a/netx/net/sourceforge/jnlp/ApplicationDesc.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/ApplicationDesc.java Fri Mar 02 10:41:29 2018 +0100 -@@ -30,7 +30,8 @@ - private final String mainClass; - - /** the arguments */ -- private String arguments[]; -+ private String arguments[]; -+ private final boolean fx; - - /** - * Create an Application descriptor. -@@ -38,9 +39,10 @@ - * @param mainClass the main class name and package - * @param arguments the arguments - */ -- public ApplicationDesc(String mainClass, String arguments[]) { -+ public ApplicationDesc(String mainClass, String[] arguments, boolean isFX) { - this.mainClass = mainClass; - this.arguments = arguments; -+ this.fx = isFX; - } - - /** -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/Node.java ---- a/netx/net/sourceforge/jnlp/Node.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/Node.java Fri Mar 02 10:41:29 2018 +0100 -@@ -40,6 +40,7 @@ - import java.util.ArrayList; - import java.util.Enumeration; - import java.util.List; -+import java.util.Objects; - - import net.sourceforge.nanoxml.XMLElement; - -@@ -52,7 +53,7 @@ - * regular XML Node interface (for the methods used by Parser). - */ - /* NANO */ --class Node { -+public class Node { - private XMLElement xml; - private Node next; - private Node children[]; -@@ -124,18 +125,62 @@ - return (String) xml.getAttribute(name); - } - -- String getNodeName() { -+ public ElementName getNodeName() { - if (xml.getName() == null) { -- return ""; -+ return new ElementName(""); - } - else { -- return xml.getName(); -+ return new ElementName(xml.getName()); - } - } - -+ - @Override - public String toString() { -- return getNodeName(); -+ return getNodeName().getOriginal(); -+ } -+ -+ public static class ElementName { -+ -+ private final String base; -+ -+ public ElementName(String base) { -+ this.base = base; -+ } -+ -+ @Override -+ public boolean equals(Object obj) { -+ if (obj instanceof ElementName) { -+ return ((ElementName) obj).base.equals(base); -+ } else { -+ return false; -+ } -+ } -+ -+ @Override -+ public int hashCode() { -+ return base.hashCode(); -+ } -+ -+ public String getName() { -+ if (base.contains(":")) { -+ return base.split(":")[1]; -+ } else { -+ return base; -+ } -+ } -+ public String getPrefix() { -+ if (base.contains(":")) { -+ return base.split(":")[0]; -+ } else { -+ return ""; -+ } -+ } -+ -+ private String getOriginal() { -+ return base + "(" + getPrefix() + ":" + getName() + ")"; -+ } -+ - } - } - -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/Parser.java ---- a/netx/net/sourceforge/jnlp/Parser.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/Parser.java Fri Mar 02 10:41:29 2018 +0100 -@@ -14,7 +14,6 @@ - // You should have received a copy of the GNU Lesser General Public - // License along with this library; if not, write to the Free Software - // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- - package net.sourceforge.jnlp; - - import static net.sourceforge.jnlp.runtime.Translator.R; -@@ -33,26 +32,25 @@ - import net.sourceforge.jnlp.util.logging.OutputController; - - /** -- * Contains methods to parse an XML document into a JNLPFile. -- * Implements JNLP specification version 1.0. -+ * Contains methods to parse an XML document into a JNLPFile. Implements JNLP -+ * specification version 1.0. - * -- * @author <a href="mailto:jmaxwell@users.sourceforge.net">Jon A. Maxwell (JAM)</a> - initial author -+ * @author <a href="mailto:jmaxwell@users.sourceforge.net">Jon A. Maxwell -+ * (JAM)</a> - initial author - * @version $Revision: 1.13 $ - */ - public final class Parser { -- -+ - private static String CODEBASE = "codebase"; - private static String MAINCLASS = "main-class"; - private static final Pattern anyWhiteSpace = Pattern.compile("\\s"); - - // defines netx.jnlp.Node class if using Tiny XML or Nano XML -- - // Currently uses the Nano XML parse. Search for "SAX" or - // "TINY" or "NANO" and uncomment those blocks and comment the - // active ones (if any) to switch XML parsers. Also - // (un)comment appropriate Node class at end of this file and - // do a clean build. -- - /** - * Ensure consistent error handling. - */ -@@ -69,80 +67,96 @@ - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, exception); - } - }; -- */ -- -+ */ - // fix: some descriptors need to use the jnlp file at a later - // date and having file ref lets us pass it to their - // constructors - // -- /** the file reference */ -+ /** -+ * the file reference -+ */ - private final JNLPFile file; // do not use (uninitialized) - -- /** the root node */ -+ /** -+ * the root node -+ */ - private final Node root; - -- /** the specification version */ -+ /** -+ * the specification version -+ */ - private final Version spec; - -- /** the base URL that all hrefs are relative to */ -+ /** -+ * the base URL that all hrefs are relative to -+ */ - private final URL base; - -- /** the codebase URL */ -+ /** -+ * the codebase URL -+ */ - private URL codebase; - -- /** the file URL */ -+ /** -+ * the file URL -+ */ - private final URL fileLocation; - -- /** whether to throw errors on non-fatal errors. */ -+ /** -+ * whether to throw errors on non-fatal errors. -+ */ - private final boolean strict; // if strict==true parses a file with no error then strict==false should also - -- /** whether to allow extensions to the JNLP specification */ -+ /** -+ * whether to allow extensions to the JNLP specification -+ */ - private final boolean allowExtensions; // true if extensions to JNLP spec are ok -- -+ - /** -- * Create a parser for the JNLP file. If the location -- * parameters is not null it is used as the default codebase -- * (does not override value of jnlp element's href -- * attribute). -+ * Create a parser for the JNLP file. If the location parameters is not null -+ * it is used as the default codebase (does not override value of jnlp -+ * element's href attribute). - * <p> -- * The root node may be normalized as a side effect of this -- * constructor. -+ * The root node may be normalized as a side effect of this constructor. - * </p> -+ * - * @param file the (uninitialized) file reference -- * @param base if codebase is not specified, a default base for relative URLs -+ * @param base if codebase is not specified, a default base for relative -+ * URLs - * @param root the root node - * @param settings the parser settings to use when parsing the JNLP file - * @throws ParseException if the JNLP file is invalid - */ -- Parser(JNLPFile file, URL base, Node root, ParserSettings settings) throws ParseException { -- this(file, base, root, settings, null); -+ public Parser(JNLPFile file, URL base, Node root, ParserSettings settings) throws ParseException { -+ this(file, base, root, settings, null); - } - - /** -- * Create a parser for the JNLP file. If the location -- * parameters is not null it is used as the default codebase -- * (does not override value of jnlp element's href -- * attribute). -+ * Create a parser for the JNLP file. If the location parameters is not null -+ * it is used as the default codebase (does not override value of jnlp -+ * element's href attribute). - * <p> -- * The root node may be normalized as a side effect of this -- * constructor. -+ * The root node may be normalized as a side effect of this constructor. - * </p> -+ * - * @param file the (uninitialized) file reference -- * @param base if codebase is not specified, a default base for relative URLs -+ * @param base if codebase is not specified, a default base for relative -+ * URLs - * @param root the root node - * @param settings the parser settings to use when parsing the JNLP file - * @param codebase codebase to use if we did not parse one from JNLP file. - * @throws ParseException if the JNLP file is invalid - */ -- Parser(JNLPFile file, URL base, Node root, ParserSettings settings, URL codebase) throws ParseException { -+ public Parser(JNLPFile file, URL base, Node root, ParserSettings settings, URL codebase) throws ParseException { - this.file = file; - this.root = root; - this.strict = settings.isStrict(); - this.allowExtensions = settings.isExtensionAllowed(); - - // ensure it's a JNLP node -- if (root == null || !root.getNodeName().equals("jnlp")) -+ if (root == null || !root.getNodeName().getName().equals("jnlp")) { - throw new ParseException(R("PInvalidRoot")); -+ } - - // JNLP tag information - this.spec = getVersion(root, "spec", "1.0+"); -@@ -154,7 +168,9 @@ - } - - if (this.codebase == null) // Codebase is overwritten if codebase was not specified in file or if parsing of it failed -+ { - this.codebase = codebase; -+ } - - this.base = (this.codebase != null) ? this.codebase : base; // if codebase not specified use default codebase - fileLocation = getURL(root, "href", this.base); -@@ -165,6 +181,7 @@ - - /** - * Returns the file version. -+ * - * @return version of file - */ - public Version getFileVersion() { -@@ -173,6 +190,7 @@ - - /** - * Returns the file location. -+ * - * @return url of source file - */ - public URL getFileLocation() { -@@ -188,7 +206,7 @@ - - /** - * @return the specification version. -- * -+ * - */ - public Version getSpecVersion() { - return spec; -@@ -198,7 +216,7 @@ - UpdateDesc updateDesc = null; - Node child = parent.getFirstChild(); - while (child != null) { -- if (child.getNodeName().equals("update")) { -+ if (child.getNodeName().getName().equals("update")) { - if (strict && updateDesc != null) { - throw new ParseException(R("PTwoUpdates")); - } -@@ -254,16 +272,15 @@ - // - // This section loads the resources elements - // -- - /** -- * @return all of the ResourcesDesc elements under the specified -- * node (jnlp or j2se). -+ * @return all of the ResourcesDesc elements under the specified node (jnlp -+ * or j2se). - * - * @param parent the parent node (either jnlp or j2se) - * @param j2se true if the resources are located under a j2se or java node - * @throws ParseException if the JNLP file is invalid - */ -- List<ResourcesDesc> getResources(Node parent, boolean j2se) -+ public List<ResourcesDesc> getResources(Node parent, boolean j2se) - throws ParseException { - List<ResourcesDesc> result = new ArrayList<>(); - Node resources[] = getChildNodes(parent, "resources"); -@@ -285,34 +302,39 @@ - * @param j2se true if the resources are located under a j2se or java node - * @throws ParseException if the JNLP file is invalid - */ -- private ResourcesDesc getResourcesDesc(Node node, boolean j2se) throws ParseException { -+ private ResourcesDesc getResourcesDesc(Node node, boolean j2se) throws ParseException { - boolean mainFlag = false; // if found a main tag - - // create resources -- ResourcesDesc resources = -- new ResourcesDesc(file, -- getLocales(node), -- splitString(getAttribute(node, "os", null)), -- splitString(getAttribute(node, "arch", null))); -+ ResourcesDesc resources -+ = new ResourcesDesc(file, -+ getLocales(node), -+ splitString(getAttribute(node, "os", null)), -+ splitString(getAttribute(node, "arch", null))); - - // step through the elements - Node child = node.getFirstChild(); - while (child != null) { -- String name = child.getNodeName(); -+ String name = child.getNodeName().getName(); - - // check for nativelib but no trusted environment -- if ("nativelib".equals(name)) -- if (!isTrustedEnvironment()) -+ if ("nativelib".equals(name)) { -+ if (!isTrustedEnvironment()) { - throw new ParseException(R("PUntrustedNative")); -+ } -+ } - - if ("j2se".equals(name) || "java".equals(name)) { -- if (getChildNode(root, "component-desc") != null) -- if (strict) -+ if (getChildNode(root, "component-desc") != null) { -+ if (strict) { - throw new ParseException(R("PExtensionHasJ2SE")); -- if (!j2se) -+ } -+ } -+ if (!j2se) { - resources.addResource(getJRE(child)); -- else -+ } else { - throw new ParseException(R("PInnerJ2SE")); -+ } - } - - if ("jar".equals(name) || "nativelib".equals(name)) { -@@ -331,14 +353,17 @@ - resources.addResource(jar); - } - -- if ("extension".equals(name)) -+ if ("extension".equals(name)) { - resources.addResource(getExtension(child)); -+ } - -- if ("property".equals(name)) -+ if ("property".equals(name)) { - resources.addResource(getProperty(child)); -+ } - -- if ("package".equals(name)) -+ if ("package".equals(name)) { - resources.addResource(getPackage(child)); -+ } - - child = child.getNextSibling(); - } -@@ -378,16 +403,18 @@ - * @throws ParseException if the JNLP file is invalid - */ - private JARDesc getJAR(Node node) throws ParseException { -- boolean nativeJar = "nativelib".equals(node.getNodeName()); -+ boolean nativeJar = "nativelib".equals(node.getNodeName().getName()); - URL location = getRequiredURL(node, "href", base); - Version version = getVersion(node, "version", null); - String part = getAttribute(node, "part", null); - boolean main = "true".equals(getAttribute(node, "main", "false")); - boolean lazy = "lazy".equals(getAttribute(node, "download", "eager")); - -- if (nativeJar && main) -- if (strict) -+ if (nativeJar && main) { -+ if (strict) { - throw new ParseException(R("PNativeHasMain")); -+ } -+ } - - return new JARDesc(location, version, part, lazy, main, nativeJar, true); - -@@ -445,14 +472,15 @@ - // - // This section loads the information elements - // -- - /** - * Make sure a title and vendor are present and nonempty and localized as - * best matching as possible for the JVM's current locale. Fallback to a -- * generalized title and vendor otherwise. If none is found, throw an exception. -+ * generalized title and vendor otherwise. If none is found, throw an -+ * exception. - * -- * Additionally prints homepage, description, title and vendor to stdout -- * if in Debug mode. -+ * Additionally prints homepage, description, title and vendor to stdout if -+ * in Debug mode. -+ * - * @throws RequiredElementException - */ - void checkForInformation() throws RequiredElementException { -@@ -462,30 +490,34 @@ - String title = file.getTitle(); - String vendor = file.getVendor(); - -- if (title == null || title.trim().isEmpty()) -+ if (title == null || title.trim().isEmpty()) { - throw new MissingTitleException(); -- else OutputController.getLogger().log("Acceptable title tag found, contains: " + title); -+ } else { -+ OutputController.getLogger().log("Acceptable title tag found, contains: " + title); -+ } - -- if (vendor == null || vendor.trim().isEmpty()) -+ if (vendor == null || vendor.trim().isEmpty()) { - throw new MissingVendorException(); -- else OutputController.getLogger().log("Acceptable vendor tag found, contains: " + vendor); -+ } else { -+ OutputController.getLogger().log("Acceptable vendor tag found, contains: " + vendor); -+ } - } - - /** -- * @return all of the information elements under the specified -- * node. -+ * @return all of the information elements under the specified node. - * - * @param parent the parent node (jnlp) - * @throws ParseException if the JNLP file is invalid - */ -- List<InformationDesc> getInfo(Node parent) -+ public List<InformationDesc> getInfo(Node parent) - throws ParseException { - List<InformationDesc> result = new ArrayList<>(); - Node info[] = getChildNodes(parent, "information"); - - // ensure that there are at least one information section present -- if (info.length == 0) -+ if (info.length == 0) { - throw new MissingInformationException(); -+ } - - // create objects from the info sections - for (Node infoNode : info) { -@@ -501,7 +533,7 @@ - * @param node the information node - * @throws ParseException if the JNLP file is invalid - */ -- InformationDesc getInformationDesc(Node node) throws ParseException { -+ InformationDesc getInformationDesc(Node node) throws ParseException { - List<String> descriptionsUsed = new ArrayList<>(); - - // locale -@@ -513,30 +545,38 @@ - // step through the elements - Node child = node.getFirstChild(); - while (child != null) { -- String name = child.getNodeName(); -+ String name = child.getNodeName().getName(); - -- if ("title".equals(name)) -+ if ("title".equals(name)) { - addInfo(info, child, null, getSpanText(child, false)); -- if ("vendor".equals(name)) -+ } -+ if ("vendor".equals(name)) { - addInfo(info, child, null, getSpanText(child, false)); -+ } - if ("description".equals(name)) { - String kind = getAttribute(child, "kind", "default"); -- if (descriptionsUsed.contains(kind)) -- if (strict) -+ if (descriptionsUsed.contains(kind)) { -+ if (strict) { - throw new ParseException(R("PTwoDescriptions", kind)); -+ } -+ } - - descriptionsUsed.add(kind); - addInfo(info, child, kind, getSpanText(child, false)); - } -- if ("homepage".equals(name)) -+ if ("homepage".equals(name)) { - addInfo(info, child, null, getRequiredURL(child, "href", base)); -- if ("icon".equals(name)) -+ } -+ if ("icon".equals(name)) { - addInfo(info, child, getAttribute(child, "kind", "default"), getIcon(child)); -- if ("offline-allowed".equals(name)) -+ } -+ if ("offline-allowed".equals(name)) { - addInfo(info, child, null, Boolean.TRUE); -+ } - if ("sharing-allowed".equals(name)) { -- if (strict && !allowExtensions) -+ if (strict && !allowExtensions) { - throw new ParseException(R("PSharing")); -+ } - addInfo(info, child, null, Boolean.TRUE); - } - if ("association".equals(name)) { -@@ -566,10 +606,11 @@ - protected void addInfo(InformationDesc info, Node node, String mod, Object value) { - String modStr = (mod == null) ? "" : "-" + mod; - -- if (node == null) -+ if (node == null) { - return; -+ } - -- info.addItem(node.getNodeName() + modStr, value); -+ info.addItem(node.getNodeName().getName() + modStr, value); - } - - /** -@@ -592,22 +633,23 @@ - // - // This section loads the security descriptor element - // -- - /** -- * @return the security descriptor element. If no security -- * element was specified in the JNLP file then a SecurityDesc -- * with applet permissions is returned. -+ * @return the security descriptor element. If no security element was -+ * specified in the JNLP file then a SecurityDesc with applet permissions is -+ * returned. - * - * @param parent the parent node - * @throws ParseException if the JNLP file is invalid - */ -- SecurityDesc getSecurity(Node parent) throws ParseException { -+ public SecurityDesc getSecurity(Node parent) throws ParseException { - Node nodes[] = getChildNodes(parent, "security"); - - // test for too many security elements -- if (nodes.length > 1) -- if (strict) -+ if (nodes.length > 1) { -+ if (strict) { - throw new ParseException(R("PTwoSecurity")); -+ } -+ } - - Object type = SecurityDesc.SANDBOX_PERMISSIONS; - RequestedPermissionLevel requestedPermissionLevel = RequestedPermissionLevel.NONE; -@@ -633,16 +675,17 @@ - } - - /** -- * Returns whether the JNLP file requests a trusted execution -- * environment. -+ * Returns whether the JNLP file requests a trusted execution environment. - */ - private boolean isTrustedEnvironment() { - Node security = getChildNode(root, "security"); - -- if (security != null) -+ if (security != null) { - if (getChildNode(security, "all-permissions") != null -- || getChildNode(security, "j2ee-application-client-permissions") != null) -+ || getChildNode(security, "j2ee-application-client-permissions") != null) { - return true; -+ } -+ } - - return false; - } -@@ -650,7 +693,6 @@ - // - // This section loads the launch descriptor element - // -- - /** - * @return the launch descriptor element, either AppletDesc, - * ApplicationDesc, or InstallerDesc. -@@ -658,23 +700,31 @@ - * @param parent the parent node - * @throws ParseException if the JNLP file is invalid - */ -- LaunchDesc getLauncher(Node parent) throws ParseException { -+ public LaunchDesc getLauncher(Node parent) throws ParseException { - // check for other than one application type - if (1 < getChildNodes(parent, "applet-desc").length - + getChildNodes(parent, "application-desc").length -- + getChildNodes(parent, "installer-desc").length) -+ + getChildNodes(parent, "javafx-desc").length -+ + getChildNodes(parent, "installer-desc").length) { - throw new ParseException(R("PTwoDescriptors")); -+ } - - Node child = parent.getFirstChild(); - while (child != null) { -- String name = child.getNodeName(); -+ String name = child.getNodeName().getName(); - -- if ("applet-desc".equals(name)) -+ if ("applet-desc".equals(name)) { - return getApplet(child); -- if ("application-desc".equals(name)) -- return getApplication(child); -- if ("installer-desc".equals(name)) -+ } -+ if ("application-desc".equals(name)) { -+ return getApplication(child, false); -+ } -+ if ("installer-desc".equals(name)) { - return getInstaller(child); -+ } -+ if ("javafx-desc".equals(name)) { -+ return getApplication(child, true); -+ } - - child = child.getNextSibling(); - } -@@ -682,6 +732,8 @@ - // not reached - return null; - } -+ -+ - - /** - * @param node -@@ -701,8 +753,9 @@ - width = Integer.parseInt(getRequiredAttribute(node, "width", "100")); - height = Integer.parseInt(getRequiredAttribute(node, "height", "100")); - } catch (NumberFormatException nfe) { -- if (width <= 0) -+ if (width <= 0) { - throw new ParseException(R("PBadWidth")); -+ } - throw new ParseException(R("PBadWidth")); - } - -@@ -721,13 +774,12 @@ - * @param node - * @throws ParseException if the JNLP file is invalid - */ -- private ApplicationDesc getApplication(Node node) throws ParseException { -+ private ApplicationDesc getApplication(Node node, boolean isFx) throws ParseException { - String main = getMainClass(node, false); - List<String> argsList = new ArrayList<>(); - - // if (main == null) - // only ok if can be found in main jar file (can't check here but make a note) -- - // read parameters - Node args[] = getChildNodes(node, "argument"); - for (Node arg : args) { -@@ -738,7 +790,7 @@ - - String argStrings[] = argsList.toArray(new String[argsList.size()]); - -- return new ApplicationDesc(main, argStrings); -+ return new ApplicationDesc(main, argStrings, isFx); - } - - /** -@@ -754,10 +806,11 @@ - - Node child = parent.getFirstChild(); - while (child != null) { -- String name = child.getNodeName(); -+ String name = child.getNodeName().getName(); - -- if ("component-desc".equals(name)) -+ if ("component-desc".equals(name)) { - return new ComponentDesc(); -+ } - - child = child.getNextSibling(); - } -@@ -801,19 +854,23 @@ - // step through the elements - Node child = node.getFirstChild(); - while (child != null) { -- String name = child.getNodeName(); -+ String name = child.getNodeName().getName(); - -- if (null != name) switch (name) { -- case "desktop": -- if (showOnDesktop && strict) { -- throw new ParseException(R("PTwoDesktops")); -- } showOnDesktop = true; -- break; -- case "menu": -- if (menu != null && strict) { -- throw new ParseException(R("PTwoMenus")); -- } menu = getMenu(child); -- break; -+ if (null != name) { -+ switch (name) { -+ case "desktop": -+ if (showOnDesktop && strict) { -+ throw new ParseException(R("PTwoDesktops")); -+ } -+ showOnDesktop = true; -+ break; -+ case "menu": -+ if (menu != null && strict) { -+ throw new ParseException(R("PTwoMenus")); -+ } -+ menu = getMenu(child); -+ break; -+ } - } - - child = child.getNextSibling(); -@@ -850,24 +907,29 @@ - // step through the elements - Node child = node.getFirstChild(); - while (child != null) { -- String name = child.getNodeName(); -+ String name = child.getNodeName().getName(); - -- if (null != name) switch (name) { -- case "title": -- if (title != null && strict) { -- throw new ParseException(R("PTwoTitles")); -- } title = getSpanText(child, false); -- break; -- case "description": -- if (description != null && strict) { -- throw new ParseException(R("PTwoDescriptions")); -- } description = getSpanText(child, false); -- break; -- case "icon": -- if (icon != null && strict) { -- throw new ParseException(R("PTwoIcons")); -- } icon = getIcon(child); -- break; -+ if (null != name) { -+ switch (name) { -+ case "title": -+ if (title != null && strict) { -+ throw new ParseException(R("PTwoTitles")); -+ } -+ title = getSpanText(child, false); -+ break; -+ case "description": -+ if (description != null && strict) { -+ throw new ParseException(R("PTwoDescriptions")); -+ } -+ description = getSpanText(child, false); -+ break; -+ case "icon": -+ if (icon != null && strict) { -+ throw new ParseException(R("PTwoIcons")); -+ } -+ icon = getIcon(child); -+ break; -+ } - } - - child = child.getNextSibling(); -@@ -883,16 +945,16 @@ - } - - // other methods -- - /** -- * @return an array of substrings seperated by spaces (spaces -- * escaped with backslash do not separate strings). This method -- * splits strings as per the spec except that it does replace -- * escaped other characters with their own value. -+ * @return an array of substrings seperated by spaces (spaces escaped with -+ * backslash do not separate strings). This method splits strings as per the -+ * spec except that it does replace escaped other characters with their own -+ * value. - */ - private String[] splitString(String source) { -- if (source == null) -+ if (source == null) { - return new String[0]; -+ } - - List<String> result = new ArrayList<String>(); - StringTokenizer st = new StringTokenizer(source, " "); -@@ -904,18 +966,20 @@ - while (true) { - part.append(st.nextToken()); - -- if (st.hasMoreTokens() && part.charAt(part.length() - 1) == '\\') -+ if (st.hasMoreTokens() && part.charAt(part.length() - 1) == '\\') { - part.setCharAt(part.length() - 1, ' '); // join with the space -- else -+ } else { - break; // bizarre while format gets \ at end of string right (no extra space added at end) -+ } - } - - // delete \ quote chars -- for (int i = part.length(); i-- > 0;) -- // sweet syntax for reverse loop -- if (part.charAt(i) == '\\') -+ for (int i = part.length(); i-- > 0;) // sweet syntax for reverse loop -+ { -+ if (part.charAt(i) == '\\') { - part.deleteCharAt(i--); // and skip previous char so \\ becomes \ -- -+ } -+ } - result.add(part.toString()); - } - -@@ -929,13 +993,14 @@ - */ - private Locale[] getLocales(Node node) { - List<Locale> locales = new ArrayList<>(); -- String localeParts[] = -- splitString(getAttribute(node, "locale", "")); -+ String localeParts[] -+ = splitString(getAttribute(node, "locale", "")); - - for (String localePart : localeParts) { - Locale l = getLocale(localePart); -- if (l != null) -+ if (l != null) { - locales.add(l); -+ } - } - - return locales.toArray(new Locale[locales.size()]); -@@ -948,8 +1013,9 @@ - * @return locale of document - */ - public Locale getLocale(String localeStr) { -- if (localeStr.length() < 2) -+ if (localeStr.length() < 2) { - return null; -+ } - - String language = localeStr.substring(0, 2); - String country = (localeStr.length() < 5) ? "" : localeStr.substring(3, 5); -@@ -965,7 +1031,7 @@ - * "<description>text</description>". - * - * @param node the node with text under it -- * @return -+ * @return - * @throws ParseException if the JNLP file is invalid - */ - private String getSpanText(Node node) throws ParseException { -@@ -974,9 +1040,9 @@ - - /** - * Returns the implied text under a node, for example "text" in -- * "<description>text</description>". If preserveSpacing is false, -- * sequences of whitespace characters are turned into a single -- * space character. -+ * "<description>text</description>". If preserveSpacing is -+ * false, sequences of whitespace characters are turned into a single space -+ * character. - * - * @param node the node with text under it - * @param preserveSpacing if true, preserve whitespace -@@ -984,19 +1050,18 @@ - */ - private String getSpanText(Node node, boolean preserveSpacing) - throws ParseException { -- if (node == null) -+ if (node == null) { - return null; -+ } - - // NANO - String val = node.getNodeValue(); - if (preserveSpacing) { - return val; -+ } else if (val == null) { -+ return null; - } else { -- if (val == null) { -- return null; -- } else { -- return val.replaceAll("\\s+", " "); -- } -+ return val.replaceAll("\\s+", " "); - } - - /* TINY -@@ -1005,13 +1070,13 @@ - if (child == null) { - if (strict) - // not sure if this is an error or whether "" is proper -- throw new ParseException("No text specified (node="+node.getNodeName()+")"); -+ throw new ParseException("No text specified (node="+node.getNodeName().getName()+")"); - else - return ""; - } - - return child.getNodeValue(); -- */ -+ */ - } - - /** -@@ -1019,10 +1084,11 @@ - */ - private static Node getChildNode(Node node, String name) { - Node[] result = getChildNodes(node, name); -- if (result.length == 0) -+ if (result.length == 0) { - return null; -- else -+ } else { - return result[0]; -+ } - } - - /** -@@ -1033,8 +1099,9 @@ - - Node child = node.getFirstChild(); - while (child != null) { -- if (child.getNodeName().equals(name)) -+ if (child.getNodeName().getName().equals(name)) { - result.add(child); -+ } - child = child.getNextSibling(); - } - -@@ -1042,12 +1109,13 @@ - } - - /** -- * Returns a URL with a trailing / appended to it if there is no -- * trailing slash on the specifed URL. -+ * Returns a URL with a trailing / appended to it if there is no trailing -+ * slash on the specifed URL. - */ - private URL addSlash(URL source) { -- if (source == null) -+ if (source == null) { - return null; -+ } - - if (!source.toString().endsWith("/")) { - try { -@@ -1060,8 +1128,8 @@ - } - - /** -- * @return the same result as getURL except that a -- * ParseException is thrown if the attribute is null or empty. -+ * @return the same result as getURL except that a ParseException is thrown -+ * if the attribute is null or empty. - * - * @param node the node - * @param name the attribute containing an href -@@ -1077,17 +1145,16 @@ - } - - /** -- * @return a URL object from a href string relative to the -- * code base. If the href denotes a relative URL, it must -- * reference a location that is a subdirectory of the -- * codebase. -+ * @return a URL object from a href string relative to the code base. If the -+ * href denotes a relative URL, it must reference a location that is a -+ * subdirectory of the codebase. - * - * @param node the node - * @param name the attribute containing an href - * @param base the base URL - * @throws ParseException if the JNLP file is invalid - */ -- URL getURL(Node node, String name, URL base) throws ParseException { -+ public URL getURL(Node node, String name, URL base) throws ParseException { - String href; - if (CODEBASE.equals(name)) { - href = getCleanAttribute(node, name); -@@ -1099,17 +1166,17 @@ - } else { - href = getAttribute(node, name, null); - } -- return getURL(href, node.getNodeName(), base, strict); -+ return getURL(href, node.getNodeName().getName(), base, strict); - } -- -+ - public static URL getURL(String href, String nodeName, URL base, boolean strict) throws ParseException { -- if (href == null) { -+ if (href == null) { - return null; // so that code can throw an exception if attribute was required - } - try { -- if (base == null) -+ if (base == null) { - return new URL(href); -- else { -+ } else { - try { - return new URL(href); - } catch (MalformedURLException ex) { -@@ -1119,7 +1186,7 @@ - URL result = new URL(base, href); - - // check for going above the codebase -- if (!result.toString().startsWith(base.toString()) && !base.toString().startsWith(result.toString())){ -+ if (!result.toString().startsWith(base.toString()) && !base.toString().startsWith(result.toString())) { - if (strict) { - throw new ParseException(R("PUrlNotInCodebase", nodeName, href, base)); - } -@@ -1128,16 +1195,16 @@ - } - - } catch (MalformedURLException ex) { -- if (base == null) -+ if (base == null) { - throw new ParseException(R("PBadNonrelativeUrl", nodeName, href)); -- else -+ } else { - throw new ParseException(R("PBadRelativeUrl", nodeName, href, base)); -+ } - } - } - - /** -- * @return a Version from the specified attribute and default -- * value. -+ * @return a Version from the specified attribute and default value. - * - * @param node the node - * @param name the attribute -@@ -1146,14 +1213,16 @@ - */ - private Version getVersion(Node node, String name, String defaultValue) { - String version = getAttribute(node, name, defaultValue); -- if (version == null) -+ if (version == null) { - return null; -- else -+ } else { - return new Version(version); -+ } - } - - /** - * Check that the VM args are valid and safe -+ * - * @param vmArgs a string containing the args - * @throws ParseException if the VM arguments are invalid or dangerous - */ -@@ -1191,76 +1260,75 @@ - /** - * Returns an array of valid (ie safe and supported) arguments for the JVM - * -- * Based on http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html -+ * Based on -+ * http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html - */ - private String[] getValidVMArguments() { -- return new String[] { -- "-d32", /* use a 32-bit data model if available */ -- "-client", /* to select the client VM */ -- "-server", /* to select the server VM */ -- "-verbose", /* enable verbose output */ -- "-version", /* print product version and exit */ -- "-showversion", /* print product version and continue */ -- "-help", /* print this help message */ -- "-X", /* print help on non-standard options */ -- "-ea", /* enable assertions */ -- "-enableassertions", /* enable assertions */ -- "-da", /* disable assertions */ -- "-disableassertions", /* disable assertions */ -- "-esa", /* enable system assertions */ -- "-enablesystemassertions", /* enable system assertions */ -- "-dsa", /* disable system assertione */ -- "-disablesystemassertions", /* disable system assertione */ -- "-Xmixed", /* mixed mode execution (default) */ -- "-Xint", /* interpreted mode execution only */ -- "-Xnoclassgc", /* disable class garbage collection */ -- "-Xincgc", /* enable incremental garbage collection */ -- "-Xbatch", /* disable background compilation */ -- "-Xprof", /* output cpu profiling data */ -- "-Xdebug", /* enable remote debugging */ -- "-Xfuture", /* enable strictest checks, anticipating future default */ -- "-Xrs", /* reduce use of OS signals by Java/VM (see documentation) */ -- "-XX:+ForceTimeHighResolution", /* use high resolution timer */ -- "-XX:-ForceTimeHighResolution", /* use low resolution (default) */ -- }; -+ return new String[]{ -+ "-d32", /* use a 32-bit data model if available */ -+ "-client", /* to select the client VM */ -+ "-server", /* to select the server VM */ -+ "-verbose", /* enable verbose output */ -+ "-version", /* print product version and exit */ -+ "-showversion", /* print product version and continue */ -+ "-help", /* print this help message */ -+ "-X", /* print help on non-standard options */ -+ "-ea", /* enable assertions */ -+ "-enableassertions", /* enable assertions */ -+ "-da", /* disable assertions */ -+ "-disableassertions", /* disable assertions */ -+ "-esa", /* enable system assertions */ -+ "-enablesystemassertions", /* enable system assertions */ -+ "-dsa", /* disable system assertione */ -+ "-disablesystemassertions", /* disable system assertione */ -+ "-Xmixed", /* mixed mode execution (default) */ -+ "-Xint", /* interpreted mode execution only */ -+ "-Xnoclassgc", /* disable class garbage collection */ -+ "-Xincgc", /* enable incremental garbage collection */ -+ "-Xbatch", /* disable background compilation */ -+ "-Xprof", /* output cpu profiling data */ -+ "-Xdebug", /* enable remote debugging */ -+ "-Xfuture", /* enable strictest checks, anticipating future default */ -+ "-Xrs", /* reduce use of OS signals by Java/VM (see documentation) */ -+ "-XX:+ForceTimeHighResolution", /* use high resolution timer */ -+ "-XX:-ForceTimeHighResolution", /* use low resolution (default) */}; - } - - /** - * Returns an array containing the starts of valid (ie safe and supported) - * arguments for the JVM - * -- * Based on http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html -+ * Based on -+ * http://java.sun.com/javase/6/docs/technotes/guides/javaws/developersguide/syntax.html - */ - private String[] getValidStartingVMArguments() { -- return new String[] { -- "-ea", /* enable assertions for classes */ -- "-enableassertions", /* enable assertions for classes */ -- "-da", /* disable assertions for classes */ -- "-disableassertions", /* disable assertions for classes */ -- "-verbose", /* enable verbose output */ -- "-Xms", /* set initial Java heap size */ -- "-Xmx", /* set maximum Java heap size */ -- "-Xss", /* set java thread stack size */ -- "-XX:NewRatio", /* set Ratio of new/old gen sizes */ -- "-XX:NewSize", /* set initial size of new generation */ -- "-XX:MaxNewSize", /* set max size of new generation */ -- "-XX:PermSize", /* set initial size of permanent gen */ -- "-XX:MaxPermSize", /* set max size of permanent gen */ -- "-XX:MaxHeapFreeRatio", /* heap free percentage (default 70) */ -- "-XX:MinHeapFreeRatio", /* heap free percentage (default 40) */ -- "-XX:UseSerialGC", /* use serial garbage collection */ -- "-XX:ThreadStackSize", /* thread stack size (in KB) */ -- "-XX:MaxInlineSize", /* set max num of bytecodes to inline */ -- "-XX:ReservedCodeCacheSize", /* Reserved code cache size (bytes) */ -- "-XX:MaxDirectMemorySize", -- -- }; -+ return new String[]{ -+ "-ea", /* enable assertions for classes */ -+ "-enableassertions", /* enable assertions for classes */ -+ "-da", /* disable assertions for classes */ -+ "-disableassertions", /* disable assertions for classes */ -+ "-verbose", /* enable verbose output */ -+ "-Xms", /* set initial Java heap size */ -+ "-Xmx", /* set maximum Java heap size */ -+ "-Xss", /* set java thread stack size */ -+ "-XX:NewRatio", /* set Ratio of new/old gen sizes */ -+ "-XX:NewSize", /* set initial size of new generation */ -+ "-XX:MaxNewSize", /* set max size of new generation */ -+ "-XX:PermSize", /* set initial size of permanent gen */ -+ "-XX:MaxPermSize", /* set max size of permanent gen */ -+ "-XX:MaxHeapFreeRatio", /* heap free percentage (default 70) */ -+ "-XX:MinHeapFreeRatio", /* heap free percentage (default 40) */ -+ "-XX:UseSerialGC", /* use serial garbage collection */ -+ "-XX:ThreadStackSize", /* thread stack size (in KB) */ -+ "-XX:MaxInlineSize", /* set max num of bytecodes to inline */ -+ "-XX:ReservedCodeCacheSize", /* Reserved code cache size (bytes) */ -+ "-XX:MaxDirectMemorySize",}; - } - - /** -- * @return the same result as getAttribute except that if strict -- * mode is enabled or the default value is null a parse -- * exception is thrown instead of returning the default value. -+ * @return the same result as getAttribute except that if strict mode is -+ * enabled or the default value is null a parse exception is thrown instead -+ * of returning the default value. - * - * @param node the node - * @param name the attribute -@@ -1270,19 +1338,22 @@ - private String getRequiredAttribute(Node node, String name, String defaultValue) throws ParseException { - String result = getAttribute(node, name, null); - -- if (result == null || result.length() == 0) -- if (strict || defaultValue == null) -- throw new ParseException(R("PNeedsAttribute", node.getNodeName(), name)); -+ if (result == null || result.length() == 0) { -+ if (strict || defaultValue == null) { -+ throw new ParseException(R("PNeedsAttribute", node.getNodeName().getName(), name)); -+ } -+ } - -- if (result == null) -+ if (result == null) { - return defaultValue; -- else -+ } else { - return result; -+ } - } - - /** -- * @return an attribute or the specified defaultValue if there is -- * no such attribute. -+ * @return an attribute or the specified defaultValue if there is no such -+ * attribute. - * - * @param node the node - * @param name the attribute -@@ -1305,32 +1376,31 @@ - return result; - } - -- - public static final String MALFORMED_PARSER_CLASS = "net.sourceforge.jnlp.MalformedXMLParser"; - public static final String NORMAL_PARSER_CLASS = "net.sourceforge.jnlp.XMLParser"; -+ - /** -- * @return the root node from the XML document in the specified -- * input stream. -+ * @return the root node from the XML document in the specified input -+ * stream. - * - * @throws ParseException if the JNLP file is invalid - */ -- static Node getRootNode(InputStream input, ParserSettings settings) throws ParseException { -+ public static Node getRootNode(InputStream input, ParserSettings settings) throws ParseException { - try { - Object parser = getParserInstance(settings); - Method m = parser.getClass().getMethod("getRootNode", InputStream.class); - return (Node) m.invoke(parser, input); - } catch (InvocationTargetException e) { - if (e.getCause() instanceof ParseException) { -- throw (ParseException)(e.getCause()); -+ throw (ParseException) (e.getCause()); - } - throw new ParseException(R("PBadXML"), e); - } catch (Exception e) { - throw new ParseException(R("PBadXML"), e); - } - } -- - -- public static Object getParserInstance(ParserSettings settings) throws ClassNotFoundException, IllegalAccessException, InstantiationException { -+ public static Object getParserInstance(ParserSettings settings) throws ClassNotFoundException, IllegalAccessException, InstantiationException { - String className; - if (settings.isMalformedXmlAllowed()) { - className = MALFORMED_PARSER_CLASS; -@@ -1364,7 +1434,7 @@ - return instance; - } - -- private String getOptionalMainClass(Node node) { -+ private String getOptionalMainClass(Node node) { - try { - return getMainClass(node, false); - } catch (ParseException ex) { -@@ -1401,7 +1471,7 @@ - OutputController.getLogger().log(OutputController.Level.MESSAGE_DEBUG, "Invlaid char in main-class: '" + main.charAt(0) + "'"); - } - for (int i = 1; i < main.length(); i++) { -- if (main.charAt(i)=='.'){ -+ if (main.charAt(i) == '.') { - //dot connects identifiers - continue; - } -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/ResourcesDesc.java ---- a/netx/net/sourceforge/jnlp/ResourcesDesc.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/ResourcesDesc.java Fri Mar 02 10:41:29 2018 +0100 -@@ -213,15 +213,34 @@ - */ - public <T> List<T> getResources(Class<T> type) { - List<T> result = new ArrayList<>(); -- - for (Object resource : resources) { -- if (type.isAssignableFrom(resource.getClass())) -- result.add(type.cast(resource)); -+ if (resource instanceof JREDesc) { -+ JREDesc jre = (JREDesc) resource; -+ List<ResourcesDesc> descs = jre.getResourcesDesc(); -+ for (ResourcesDesc desc : descs) { -+ result.addAll(desc.getResources(type)); -+ } -+ } -+ if (isWontedResource(resource, type)) { -+ result.add(getWontedResource(resource, type)); -+ } - } - - return result; - } - -+ private static <T> boolean isWontedResource(Object resource, Class<T> type) { -+ T l = getWontedResource(resource, type); -+ return l != null; -+ } -+ -+ private static <T> T getWontedResource(Object resource, Class<T> type) { -+ if (type.isAssignableFrom(resource.getClass())) { -+ return type.cast(resource); -+ } -+ return null; -+ } -+ - /** - * Add a resource. - * @param resource to be added -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/ShortcutDesc.java ---- a/netx/net/sourceforge/jnlp/ShortcutDesc.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/ShortcutDesc.java Fri Mar 02 10:41:29 2018 +0100 -@@ -74,7 +74,7 @@ - * For testing purposes. Verify if it have been parsed out correctly. - * @return whether the shortcut requires being online. - */ -- boolean isOnlineValue() { -+ public boolean isOnlineValue() { - return requiresOnline; - } - -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/config/Defaults.java ---- a/netx/net/sourceforge/jnlp/config/Defaults.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/config/Defaults.java Fri Mar 02 10:41:29 2018 +0100 -@@ -226,6 +226,11 @@ - String.valueOf(false) - }, - { -+ DeploymentConfiguration.KEY_SECURITY_ITW_IGNORECERTISSUES, -+ BasicValueValidators.getBooleanValidator(), -+ String.valueOf(false) -+ }, -+ { - DeploymentConfiguration.KEY_SECURITY_PROMPT_USER_FOR_JNLP, - BasicValueValidators.getBooleanValidator(), - String.valueOf(true) -@@ -445,4 +450,4 @@ - - return result; - } --} -\ No newline at end of file -+} -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java ---- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Fri Mar 02 10:41:29 2018 +0100 -@@ -150,6 +150,9 @@ - /** Boolean. Only install the custom authenticator if true */ - public static final String KEY_SECURITY_INSTALL_AUTHENTICATOR = "deployment.security.authenticator"; - -+ /** Boolean. Only install the custom authenticator if true */ -+ public static final String KEY_SECURITY_ITW_IGNORECERTISSUES = "deployment.security.itw.ignorecertissues"; -+ - public static final String KEY_STRICT_JNLP_CLASSLOADER = "deployment.jnlpclassloader.strict"; - - /** Boolean. Do not prefere https over http */ -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/resources/Messages.properties ---- a/netx/net/sourceforge/jnlp/resources/Messages.properties Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/resources/Messages.properties Fri Mar 02 10:41:29 2018 +0100 -@@ -337,7 +337,7 @@ - BOVerbose = Enable verbose output. - BOAbout = Shows a sample application. - BOVersion = Print the IcedTea-Web version and exit. --BONosecurity= Disables the secure runtime environment. -+BONosecurity= Disables the secure runtime environment. You need also deployment.security.itw.ignorecertissues to workaround corrupted signatures - BONoupdate = Disables checking for updates. - BOHeadless = Disables download window, other UIs. - BOStrict = Enables strict checking of JNLP file format. -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java ---- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Fri Mar 02 10:41:29 2018 +0100 -@@ -12,7 +12,6 @@ - // You should have received a copy of the GNU Lesser General Public - // License along with this library; if not, write to the Free Software - // Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. -- - package net.sourceforge.jnlp.runtime; - - import static net.sourceforge.jnlp.runtime.Translator.R; -@@ -69,6 +68,7 @@ - import net.sourceforge.jnlp.LaunchDesc; - import net.sourceforge.jnlp.LaunchException; - import net.sourceforge.jnlp.NullJnlpFileException; -+import net.sourceforge.jnlp.OptionsDefinitions; - import net.sourceforge.jnlp.ParseException; - import net.sourceforge.jnlp.ParserSettings; - import net.sourceforge.jnlp.PluginBridge; -@@ -90,14 +90,16 @@ - import net.sourceforge.jnlp.util.StreamUtils; - import net.sourceforge.jnlp.util.UrlUtils; - import net.sourceforge.jnlp.util.logging.OutputController; -+import static net.sourceforge.jnlp.runtime.Translator.R; - - /** -- * Classloader that takes it's resources from a JNLP file. If the -- * JNLP file defines extensions, separate classloaders for these -- * will be created automatically. Classes are loaded with the -- * security context when the classloader was created. -+ * Classloader that takes it's resources from a JNLP file. If the JNLP file -+ * defines extensions, separate classloaders for these will be created -+ * automatically. Classes are loaded with the security context when the -+ * classloader was created. - * -- * @author <a href="mailto:jmaxwell@users.sourceforge.net">Jon A. Maxwell (JAM)</a> - initial author -+ * @author <a href="mailto:jmaxwell@users.sourceforge.net">Jon A. Maxwell -+ * (JAM)</a> - initial author - * @version $Revision: 1.20 $ - */ - public class JNLPClassLoader extends URLClassLoader { -@@ -105,12 +107,15 @@ - // todo: initializePermissions should get the permissions from - // extension classes too so that main file classes can load - // resources in an extension. -- -- /** Signed JNLP File and Template */ -+ /** -+ * Signed JNLP File and Template -+ */ - final public static String TEMPLATE = "JNLP-INF/APPLICATION_TEMPLATE.JNLP"; - final public static String APPLICATION = "JNLP-INF/APPLICATION.JNLP"; - -- /** Actions to specify how cache is to be managed **/ -+ /** -+ * Actions to specify how cache is to be managed * -+ */ - public static enum DownloadAction { - DOWNLOAD_TO_CACHE, REMOVE_FROM_CACHE, CHECK_CACHE - } -@@ -119,101 +124,148 @@ - FULL, PARTIAL, NONE - } - -- /** True if the application has a signed JNLP File */ -+ /** -+ * True if the application has a signed JNLP File -+ */ - private boolean isSignedJNLP = false; -- -- /** map from JNLPFile unique key to shared classloader */ -+ -+ /** -+ * map from JNLPFile unique key to shared classloader -+ */ - private static Map<String, JNLPClassLoader> uniqueKeyToLoader = new ConcurrentHashMap<>(); - -- /** map from JNLPFile unique key to lock, the lock is needed to enforce correct -- * initialization of applets that share a unique key*/ -+ /** -+ * map from JNLPFile unique key to lock, the lock is needed to enforce -+ * correct initialization of applets that share a unique key -+ */ - private static Map<String, ReentrantLock> uniqueKeyToLock = new HashMap<>(); - -- /** Provides a search path & temporary storage for native code */ -+ /** -+ * Provides a search path & temporary storage for native code -+ */ - private NativeLibraryStorage nativeLibraryStorage; - -- /** security context */ -+ /** -+ * security context -+ */ - private final AccessControlContext acc = AccessController.getContext(); - -- /** the permissions for the cached jar files */ -+ /** -+ * the permissions for the cached jar files -+ */ - private List<Permission> resourcePermissions; - -- /** the app */ -+ /** -+ * the app -+ */ - private ApplicationInstance app = null; // here for faster lookup in security manager - -- /** list of this, local and global loaders this loader uses */ -+ /** -+ * list of this, local and global loaders this loader uses -+ */ - private JNLPClassLoader loaders[] = null; // ..[0]==this - -- /** whether to strictly adhere to the spec or not */ -+ /** -+ * whether to strictly adhere to the spec or not -+ */ - private final boolean strict; - -- /** loads the resources */ -+ /** -+ * loads the resources -+ */ - private final ResourceTracker tracker = new ResourceTracker(true); // prefetch - -- /** the update policy for resources */ -+ /** -+ * the update policy for resources -+ */ - private UpdatePolicy updatePolicy; - -- /** the JNLP file */ -+ /** -+ * the JNLP file -+ */ - private JNLPFile file; - -- /** the resources section */ -+ /** -+ * the resources section -+ */ - private ResourcesDesc resources; - -- /** the security section */ -+ /** -+ * the security section -+ */ - private SecurityDesc security; - -- /** Permissions granted by the user during runtime. */ -+ /** -+ * Permissions granted by the user during runtime. -+ */ - private final ArrayList<Permission> runtimePermissions = new ArrayList<>(); - -- /** all jars not yet part of classloader or active -- * Synchronized since this field may become shared data between multiple classloading threads. -- * See loadClass(String) and CodebaseClassLoader.findClassNonRecursive(String). -+ /** -+ * all jars not yet part of classloader or active Synchronized since this -+ * field may become shared data between multiple classloading threads. See -+ * loadClass(String) and CodebaseClassLoader.findClassNonRecursive(String). - */ - private final List<JARDesc> available = Collections.synchronizedList(new ArrayList<JARDesc>()); - -- /** the jar cert verifier tool to verify our jars */ -+ /** -+ * the jar cert verifier tool to verify our jars -+ */ - private final JarCertVerifier jcv; - - private SigningState signing = SigningState.NONE; - -- /** ArrayList containing jar indexes for various jars available to this classloader -- * Synchronized since this field may become shared data between multiple classloading threads/ -- * See loadClass(String) and CodebaseClassLoader.findClassNonRecursive(String). -+ /** -+ * ArrayList containing jar indexes for various jars available to this -+ * classloader Synchronized since this field may become shared data between -+ * multiple classloading threads/ See loadClass(String) and -+ * CodebaseClassLoader.findClassNonRecursive(String). - */ - private final List<JarIndexAccess> jarIndexes = Collections.synchronizedList(new ArrayList<JarIndexAccess>()); - -- /** Set of classpath strings declared in the manifest.mf files -- * Synchronized since this field may become shared data between multiple classloading threads. -- * See loadClass(String) and CodebaseClassLoader.findClassNonRecursive(String). -+ /** -+ * Set of classpath strings declared in the manifest.mf files Synchronized -+ * since this field may become shared data between multiple classloading -+ * threads. See loadClass(String) and -+ * CodebaseClassLoader.findClassNonRecursive(String). - */ - private final Set<String> classpaths = Collections.synchronizedSet(new HashSet<String>()); - -- /** File entries in the jar files available to this classloader -- * Synchronized sinc this field may become shared data between multiple classloading threads. -- * See loadClass(String) and CodebaseClassLoader.findClassNonRecursive(String). -+ /** -+ * File entries in the jar files available to this classloader Synchronized -+ * sinc this field may become shared data between multiple classloading -+ * threads. See loadClass(String) and -+ * CodebaseClassLoader.findClassNonRecursive(String). - */ - private final Set<String> jarEntries = Collections.synchronizedSet(new TreeSet<String>()); - -- /** Map of specific original (remote) CodeSource Urls to securitydesc -- * Synchronized since this field may become shared data between multiple classloading threads. -- * See loadClass(String) and CodebaseClassLoader.findClassNonRecursive(String). -+ /** -+ * Map of specific original (remote) CodeSource Urls to securitydesc -+ * Synchronized since this field may become shared data between multiple -+ * classloading threads. See loadClass(String) and -+ * CodebaseClassLoader.findClassNonRecursive(String). - */ -- private final Map<URL, SecurityDesc> jarLocationSecurityMap = -- Collections.synchronizedMap(new HashMap<URL, SecurityDesc>()); -+ private final Map<URL, SecurityDesc> jarLocationSecurityMap -+ = Collections.synchronizedMap(new HashMap<URL, SecurityDesc>()); - - /*Set to prevent once tried-to-get resources to be tried again*/ - private final Set<URL> alreadyTried = Collections.synchronizedSet(new HashSet<URL>()); -- -- /** Loader for codebase (which is a path, rather than a file) */ -+ -+ /** -+ * Loader for codebase (which is a path, rather than a file) -+ */ - private CodeBaseClassLoader codeBaseLoader; -- -- /** True if the jar with the main class has been found -- * */ -- private boolean foundMainJar= false; -- -- /** Name of the application's main class */ -+ -+ /** -+ * True if the jar with the main class has been found -+ * -+ */ -+ private boolean foundMainJar = false; -+ -+ /** -+ * Name of the application's main class -+ */ - private String mainClass = null; -- -+ - /** - * Variable to track how many times this loader is in use - */ -@@ -242,16 +294,18 @@ - * @param file the JNLP file - * @param policy the UpdatePolicy for this class loader - * @param mainName name of the application's main class -- * @param enableCodeBase switch whether this classloader can search in codebase or not -- * @throws net.sourceforge.jnlp.LaunchException when need to kill an app comes. -- * -+ * @param enableCodeBase switch whether this classloader can search in -+ * codebase or not -+ * @throws net.sourceforge.jnlp.LaunchException when need to kill an app -+ * comes. -+ * - */ - protected JNLPClassLoader(JNLPFile file, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws LaunchException { - super(new URL[0], JNLPClassLoader.class.getClassLoader()); - - OutputController.getLogger().log("New classloader: " + file.getFileLocation()); -- strict = Boolean.valueOf(JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_STRICT_JNLP_CLASSLOADER)); -- -+ strict = Boolean.valueOf(JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_STRICT_JNLP_CLASSLOADER)); -+ - this.file = file; - this.updatePolicy = policy; - this.resources = file.getResources(); -@@ -262,10 +316,9 @@ - - this.enableCodeBase = enableCodeBase; - -- - AppVerifier verifier; - -- if (file instanceof PluginBridge && !((PluginBridge)file).useJNLPHref()) { -+ if (file instanceof PluginBridge && !((PluginBridge) file).useJNLPHref()) { - verifier = new PluginAppVerifier(); - } else { - verifier = new JNLPAppVerifier(); -@@ -288,15 +341,26 @@ - initializeReadJarPermissions(); - - installShutdownHooks(); -- -- -+ -+ } -+ -+ public static boolean isCertUnderestimated() { -+ return Boolean.valueOf(JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_SECURITY_ITW_IGNORECERTISSUES)) -+ && !JNLPRuntime.isSecurityEnabled(); -+ } -+ -+ private static void consultCertificateSecurityException(LaunchException ex) throws LaunchException { -+ if (isCertUnderestimated()) { -+ OutputController.getLogger().log(OptionsDefinitions.OPTIONS.NOSEC.option + " and " + DeploymentConfiguration.KEY_SECURITY_ITW_IGNORECERTISSUES + " are declared. Ignoring certificate issue"); -+ OutputController.getLogger().log(ex); -+ } else { -+ throw ex; -+ } - } - - public boolean isStrict() { - return strict; - } -- -- - - /** - * Install JVM shutdown hooks to clean up resources allocated by this -@@ -322,9 +386,9 @@ - } - - /** -- * Gets the lock for a given unique key, creating one if it does not yet exist. -- * This operation is atomic & thread-safe. -- * -+ * Gets the lock for a given unique key, creating one if it does not yet -+ * exist. This operation is atomic & thread-safe. -+ * - * @param uniqueKey the file whose unique key should be used - * @return the lock - */ -@@ -342,10 +406,10 @@ - } - - /** -- * Creates a fully initialized JNLP classloader for the specified JNLPFile, -- * to be used as an applet/application's classloader. -- * In contrast, JNLP classloaders can also be constructed simply to merge -- * its resources into another classloader. -+ * Creates a fully initialized JNLP classloader for the specified JNLPFile, -+ * to be used as an applet/application's classloader. In contrast, JNLP -+ * classloaders can also be constructed simply to merge its resources into -+ * another classloader. - * - * @param file the file to load classes for - * @param policy the update policy to use when downloading resources -@@ -366,7 +430,7 @@ - if (loader.getSigningState() == SigningState.PARTIAL) { - loader.securityDelegate.promptUserOnPartialSigning(); - } else if (!loader.getSigning() && !loader.securityDelegate.userPromptedForSandbox() && file instanceof PluginBridge) { -- UnsignedAppletTrustConfirmation.checkUnsignedWithUserIfRequired((PluginBridge)file); -+ UnsignedAppletTrustConfirmation.checkUnsignedWithUserIfRequired((PluginBridge) file); - } - - // New loader init may have caused extentions to create a -@@ -384,7 +448,7 @@ - // loader is now current + ext. But we also need to think of - // the baseLoader - if (baseLoader != null && baseLoader != loader) { -- loader.merge(baseLoader); -+ loader.merge(baseLoader); - } - - return loader; -@@ -392,12 +456,13 @@ - - /** - * Returns a JNLP classloader for the specified JNLP file. -- * -+ * - * @param file the file to load classes for - * @param policy the update policy to use when downloading resources -- * @param enableCodeBase true if codebase can be searched (ok for applets,false for apps) -- * @return existing classloader. creates new if none reliable exists -- * @throws net.sourceforge.jnlp.LaunchException when launch is doomed -+ * @param enableCodeBase true if codebase can be searched (ok for -+ * applets,false for apps) -+ * @return existing classloader. creates new if none reliable exists -+ * @throws net.sourceforge.jnlp.LaunchException when launch is doomed - */ - public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, boolean enableCodeBase) throws LaunchException { - return getInstance(file, policy, null, enableCodeBase); -@@ -409,22 +474,23 @@ - * @param file the file to load classes for - * @param policy the update policy to use when downloading resources - * @param mainName Overrides the main class name of the application -- * @param enableCodeBase ue if codebase can be searched (ok for applets,false for apps) -- * @return existing classloader. creates new if none reliable exists -- * @throws net.sourceforge.jnlp.LaunchException when launch is doomed -+ * @param enableCodeBase ue if codebase can be searched (ok for -+ * applets,false for apps) -+ * @return existing classloader. creates new if none reliable exists -+ * @throws net.sourceforge.jnlp.LaunchException when launch is doomed - */ - public static JNLPClassLoader getInstance(JNLPFile file, UpdatePolicy policy, String mainName, boolean enableCodeBase) throws LaunchException { - JNLPClassLoader loader; - String uniqueKey = file.getUniqueKey(); - -- synchronized ( getUniqueKeyLock(uniqueKey) ) { -+ synchronized (getUniqueKeyLock(uniqueKey)) { - JNLPClassLoader baseLoader = uniqueKeyToLoader.get(uniqueKey); - - // A null baseloader implies that no loader has been created - // for this codebase/jnlp yet. Create one. -- if (baseLoader == null || -- (file.isApplication() && -- !baseLoader.getJNLPFile().getFileLocation().equals(file.getFileLocation()))) { -+ if (baseLoader == null -+ || (file.isApplication() -+ && !baseLoader.getJNLPFile().getFileLocation().equals(file.getFileLocation()))) { - - loader = createInstance(file, policy, mainName, enableCodeBase); - } else { -@@ -433,15 +499,15 @@ - // If this is an applet, we do need to consider its loader - loader = new JNLPClassLoader(file, policy, mainName, enableCodeBase); - -- if (baseLoader != null) -+ if (baseLoader != null) { - baseLoader.merge(loader); -+ } - } - loader = baseLoader; - } - - // loaders are mapped to a unique key. Only extensions and parent - // share a key, so it is safe to always share based on it -- - loader.incrementLoaderUseCount(); - - uniqueKeyToLoader.put(uniqueKey, loader); -@@ -451,8 +517,7 @@ - } - - /** -- * Returns a JNLP classloader for the JNLP file at the specified -- * location. -+ * Returns a JNLP classloader for the JNLP file at the specified location. - * - * @param location the file's location - * @param uniqueKey key to manage applets/applications in shared vm -@@ -463,15 +528,15 @@ - * @param enableCodeBase whether to enable codebase search or not - * @return classlaoder of this appp - * @throws java.io.IOException when IO fails -- * @throws net.sourceforge.jnlp.ParseException when parsing fails -- * @throws net.sourceforge.jnlp.LaunchException when launch is doomed -+ * @throws net.sourceforge.jnlp.ParseException when parsing fails -+ * @throws net.sourceforge.jnlp.LaunchException when launch is doomed - */ - public static JNLPClassLoader getInstance(URL location, String uniqueKey, Version version, ParserSettings settings, UpdatePolicy policy, String mainName, boolean enableCodeBase) - throws IOException, ParseException, LaunchException { - - JNLPClassLoader loader; - -- synchronized ( getUniqueKeyLock(uniqueKey) ) { -+ synchronized (getUniqueKeyLock(uniqueKey)) { - loader = uniqueKeyToLoader.get(uniqueKey); - - if (loader == null || !location.equals(loader.getJNLPFile().getFileLocation())) { -@@ -542,18 +607,20 @@ - - /** - * Check if a described jar file is invalid -+ * - * @param jar the jar to check - * @return true if file exists AND is an invalid jar, false otherwise - */ -- boolean isInvalidJar(JARDesc jar){ -+ boolean isInvalidJar(JARDesc jar) { - File cacheFile = tracker.getCacheFile(jar.getLocation()); -- if (cacheFile == null) -+ if (cacheFile == null) { - return false;//File cannot be retrieved, do not claim it is an invalid jar -+ } - boolean isInvalid = false; - try { - JarFile jarFile = new JarFile(cacheFile.getAbsolutePath()); - jarFile.close(); -- } catch (IOException ioe){ -+ } catch (IOException ioe) { - //Catch a ZipException or any other read failure - isInvalid = true; - } -@@ -562,11 +629,12 @@ - - /** - * Determine how invalid jars should be handled -+ * - * @return whether to filter invalid jars, or error later on - */ -- private boolean shouldFilterInvalidJars(){ -- if (file instanceof PluginBridge){ -- PluginBridge pluginBridge = (PluginBridge)file; -+ private boolean shouldFilterInvalidJars() { -+ if (file instanceof PluginBridge) { -+ PluginBridge pluginBridge = (PluginBridge) file; - /*Ignore on applet, ie !useJNLPHref*/ - return !pluginBridge.useJNLPHref(); - } -@@ -574,14 +642,14 @@ - } - - /** -- * Load all of the JARs used in this JNLP file into the -- * ResourceTracker for downloading. -+ * Load all of the JARs used in this JNLP file into the ResourceTracker for -+ * downloading. - */ - void initializeResources() throws LaunchException { -- if (file instanceof PluginBridge){ -- PluginBridge bridge = (PluginBridge)file; -- -- for (String codeBaseFolder : bridge.getCodeBaseFolders()){ -+ if (file instanceof PluginBridge) { -+ PluginBridge bridge = (PluginBridge) file; -+ -+ for (String codeBaseFolder : bridge.getCodeBaseFolders()) { - try { - addToCodeBaseLoader(new URL(file.getCodeBase(), codeBaseFolder)); - } catch (MalformedURLException mfe) { -@@ -624,16 +692,16 @@ - - available.add(jar); - -- if (jar.isEager()) -+ if (jar.isEager()) { - initialJars.add(jar); // regardless of part -- -+ } - tracker.addResource(jar.getLocation(), - jar.getVersion(), file.getDownloadOptions(), - jar.isCacheable() ? JNLPRuntime.getDefaultUpdatePolicy() : UpdatePolicy.FORCE); - } - - //If there are no eager jars, initialize the first jar -- if(initialJars.isEmpty()) { -+ if (initialJars.isEmpty()) { - initialJars.add(jars[0]); - } - -@@ -644,10 +712,10 @@ - waitForJars(initialJars); //download the jars first. - - //A ZipException will propagate later on if the jar is invalid and not checked here -- if (shouldFilterInvalidJars()){ -+ if (shouldFilterInvalidJars()) { - //We filter any invalid jars - Iterator<JARDesc> iterator = initialJars.iterator(); -- while (iterator.hasNext()){ -+ while (iterator.hasNext()) { - JARDesc jar = iterator.next(); - if (isInvalidJar(jar)) { - //Remove this jar as an available jar -@@ -667,8 +735,9 @@ - //Note: one of these exceptions could be from not being able - //to read the cacerts or trusted.certs files. - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); -- throw new LaunchException(null, null, R("LSFatal"), -- R("LCInit"), R("LFatalVerification"), R("LFatalVerificationInfo") + ": " +e.getMessage()); -+ LaunchException ex = new LaunchException(null, null, R("LSFatal"), -+ R("LCInit"), R("LFatalVerification"), R("LFatalVerificationInfo") + ": " + e.getMessage()); -+ consultCertificateSecurityException(ex); - } - - //Case when at least one jar has some signing -@@ -679,8 +748,9 @@ - checkForMain(initialJars); - - // If jar with main class was not found, check available resources -- while (!foundMainJar && available != null && !available.isEmpty()) -+ while (!foundMainJar && available != null && !available.isEmpty()) { - addNextResource(); -+ } - - // If the jar with main class was not found, check extension - // jnlp's resources -@@ -712,16 +782,18 @@ - } - - // If main jar was found, but a signed JNLP file was not located -- if (!isSignedJNLP && foundMainJar) -+ if (!isSignedJNLP && foundMainJar) { - file.setSignedJNLPAsMissing(); -+ } - - //user does not trust this publisher - if (!jcv.isTriviallySigned()) { - checkTrustWithUser(); - } else { - /** -- * If the user trusts this publisher (i.e. the publisher's certificate -- * is in the user's trusted.certs file), we do not show any dialogs. -+ * If the user trusts this publisher (i.e. the publisher's -+ * certificate is in the user's trusted.certs file), we do -+ * not show any dialogs. - */ - } - } else { -@@ -803,12 +875,13 @@ - } - return codebase; - } -- -- /*** -- * Checks for the jar that contains the attribute. -- * -+ -+ /** -+ * * -+ * Checks for the jar that contains the attribute. -+ * - * @param jars Jars that are checked to see if they contain the main class -- * @param name attribute to be found -+ * @param name attribute to be found - * @return value of attribute if found - */ - public String checkForAttributeInJars(List<JARDesc> jars, Attributes.Name name) { -@@ -816,7 +889,6 @@ - return null; - } - -- - // Check main jar - JARDesc mainJarDesc = ResourcesDesc.getMainJAR(jars); - String result = getManifestAttribute(mainJarDesc.getLocation(), name); -@@ -827,33 +899,36 @@ - - // Check first jar - JARDesc firstJarDesc = jars.get(0); -- result = getManifestAttribute(firstJarDesc.getLocation(),name); -- -+ result = getManifestAttribute(firstJarDesc.getLocation(), name); -+ - if (result != null) { - return result; - } - - // Still not found? Iterate and set if only 1 was found -- for (JARDesc jarDesc: jars) { -+ for (JARDesc jarDesc : jars) { - String attributeInThisJar = getManifestAttribute(jarDesc.getLocation(), name); -- if (attributeInThisJar != null) { -- if (result == null) { // first main class -- result = attributeInThisJar; -- } else { // There is more than one main class. Set to null and break. -- result = null; -- break; -+ if (attributeInThisJar != null) { -+ if (result == null) { // first main class -+ result = attributeInThisJar; -+ } else { // There is more than one main class. Set to null and break. -+ result = null; -+ break; - } - } - } - return result; - } -- /*** -+ -+ /** -+ * * - * Checks for the jar that contains the main class. If the main class was - * found, it checks to see if the jar is signed and whether it contains a - * signed JNLP file -- * -+ * - * @param jars Jars that are checked to see if they contain the main class -- * @throws LaunchException Thrown if the signed JNLP file, within the main jar, fails to be verified or does not match -+ * @throws LaunchException Thrown if the signed JNLP file, within the main -+ * jar, fails to be verified or does not match - */ - void checkForMain(List<JARDesc> jars) throws LaunchException { - -@@ -866,7 +941,6 @@ - } - - // The main class may be specified in the manifest -- - if (mainClass == null) { - mainClass = checkForAttributeInJars(jars, Attributes.Name.MAIN_CLASS); - } -@@ -910,31 +984,32 @@ - * Gets the name of the main method if specified in the manifest - * - * @param location The JAR location -- * @return the main class name, null if there isn't one of if there was an error -+ * @return the main class name, null if there isn't one of if there was an -+ * error - */ - String getMainClassName(URL location) { - return getManifestAttribute(location, Attributes.Name.MAIN_CLASS); - } -- -- -+ - /** - * Gets the name of the main method if specified in the manifest - * - * @param location The JAR location - * @param attribute name of the attribute to find -- * @return the attribute value, null if there isn't one of if there was an error -+ * @return the attribute value, null if there isn't one of if there was an -+ * error - */ -- public String getManifestAttribute(URL location, Attributes.Name attribute) { -+ public String getManifestAttribute(URL location, Attributes.Name attribute) { - - String attributeValue = null; - File f = tracker.getCacheFile(location); - -- if( f != null) { -+ if (f != null) { - JarFile mainJar = null; - try { - mainJar = new JarFile(f); - Manifest manifest = mainJar.getManifest(); -- if (manifest == null || manifest.getMainAttributes() == null){ -+ if (manifest == null || manifest.getMainAttributes() == null) { - //yes, jars without manifest exists - return null; - } -@@ -972,10 +1047,11 @@ - /** - * Is called by checkForMain() to check if the jar file is signed and if it - * contains a signed JNLP file. -- * -+ * - * @param jarDesc JARDesc of jar - * @param jarFile the jar file -- * @throws LaunchException thrown if the signed JNLP file, within the main jar, fails to be verified or does not match -+ * @throws LaunchException thrown if the signed JNLP file, within the main -+ * jar, fails to be verified or does not match - */ - private void verifySignedJNLP(JARDesc jarDesc, JarFile jarFile) - throws LaunchException { -@@ -1014,13 +1090,14 @@ - matcher = new JNLPMatcher(inStream, jnlpStream, true, jnlp.getParserSettings()); - } - // If signed JNLP file does not matches launching JNLP file, throw JNLPMatcherException -- if (!matcher.isMatch()) -+ if (!matcher.isMatch()) { - throw new JNLPMatcherException("Signed Application did not match launching JNLP File"); -+ } - - this.isSignedJNLP = true; - OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Signed Application Verification Successful"); - -- break; -+ break; - } - } - } -@@ -1030,17 +1107,16 @@ - * Throws LaunchException if signed JNLP file fails to be verified - * or fails to match the launching JNLP file - */ -- -- throw new LaunchException(file, null, R("LSFatal"), R("LCClient"), -+ LaunchException ex = new LaunchException(file, null, R("LSFatal"), R("LCClient"), - R("LSignedJNLPFileDidNotMatch"), R(e.getMessage())); -- -+ consultCertificateSecurityException(ex); - /* - * Throwing this exception will fail to initialize the application - * resulting in the termination of the application - */ - - } catch (Exception e) { -- -+ - OutputController.getLogger().log(e); - - /* -@@ -1049,21 +1125,21 @@ - * JarCertVerifier.add) it assumes the jar file is unsigned and - * skip the check for a signed JNLP file - */ -- - } - OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Ending check for signed JNLP file..."); - } - - /** - * Prompt the user for trust on all the signers that require approval. -+ * - * @throws LaunchException if the user does not approve every dialog prompt. - */ - private void checkTrustWithUser() throws LaunchException { -- -+ - if (securityDelegate.getRunInSandbox()) { - return; - } -- -+ - if (getSigningState() == SigningState.FULL && jcv.isFullySigned() && !jcv.getAlreadyTrustPublisher()) { - jcv.checkTrustWithUser(securityDelegate, file); - } -@@ -1086,10 +1162,9 @@ - } - - /** -- * Add applet's codebase URL. This allows compatibility with -- * applets that load resources from their codebase instead of -- * through JARs, but can slow down resource loading. Resources -- * loaded from the codebase are not cached. -+ * Add applet's codebase URL. This allows compatibility with applets that -+ * load resources from their codebase instead of through JARs, but can slow -+ * down resource loading. Resources loaded from the codebase are not cached. - */ - public void enableCodeBase() { - addToCodeBaseLoader(file.getCodeBase()); -@@ -1097,11 +1172,12 @@ - - /** - * Sets the JNLP app this group is for; can only be called once. -+ * - * @param app application to be ser to this group - */ - public void setApplication(ApplicationInstance app) { - if (this.app != null) { -- OutputController.getLogger().log(new IllegalStateException("Application can only be set once")); -+ OutputController.getLogger().log(new IllegalStateException("Application can only be set once")); - return; - } - -@@ -1132,7 +1208,6 @@ - - // should check for extensions or boot, automatically give all - // access w/o security dialog once we actually check certificates. -- - // copy security permissions from SecurityDesc element - if (security != null) { - // Security desc. is used only to track security settings for the -@@ -1182,9 +1257,10 @@ - } - - // Class from host X should be allowed to connect to host X -- if (cs.getLocation() != null && cs.getLocation().getHost().length() > 0) -+ if (cs.getLocation() != null && cs.getLocation().getHost().length() > 0) { - result.add(new SocketPermission(UrlUtils.getHostAndPort(cs.getLocation()), - "connect, accept")); -+ } - - return result; - } catch (RuntimeException ex) { -@@ -1198,33 +1274,34 @@ - } - - /** -- * Adds to the specified list of JARS any other JARs that need -- * to be loaded at the same time as the JARs specified (ie, are -- * in the same part). -+ * Adds to the specified list of JARS any other JARs that need to be loaded -+ * at the same time as the JARs specified (ie, are in the same part). -+ * - * @param jars jar archives to be added - */ - protected void fillInPartJars(List<JARDesc> jars) { - //can not use iterator, will rise ConcurrentModificationException on jars.add(jar); -- for (int x = 0 ; x< jars.size() ; x++) { -+ for (int x = 0; x < jars.size(); x++) { - String part = jars.get(x).getPart(); - - // "available" field can be affected by two different threads - // working in loadClass(String) - synchronized (available) { - for (JARDesc jar : available) { -- if (part != null && part.equals(jar.getPart())) -- if (!jars.contains(jar)) -+ if (part != null && part.equals(jar.getPart())) { -+ if (!jars.contains(jar)) { - jars.add(jar); -+ } -+ } - } - } - } - } - - /** -- * Ensures that the list of jars have all been transferred, and -- * makes them available to the classloader. If a jar contains -- * native code, the libraries will be extracted and placed in -- * the path. -+ * Ensures that the list of jars have all been transferred, and makes them -+ * available to the classloader. If a jar contains native code, the -+ * libraries will be extracted and placed in the path. - * - * @param jars the list of jars to load - */ -@@ -1256,13 +1333,13 @@ - // particularly when using The FileManager applet from Webmin. - try (JarFile jarFile = new JarFile(localFile)) { - for (JarEntry je : Collections.list(jarFile.entries())) { -- -+ - // another jar in my jar? it is more likely than you think - if (je.getName().endsWith(".jar")) { - // We need to extract that jar so that it can be loaded - // (inline loading with "jar:..!/..." path will not work - // with standard classloader methods) -- -+ - String extractedJarLocation = localFile + ".nested/" + je.getName(); - File parentDir = new File(extractedJarLocation).getParentFile(); - if (!parentDir.isDirectory() && !parentDir.mkdirs()) { -@@ -1270,7 +1347,7 @@ - } - FileOutputStream extractedJar = new FileOutputStream(extractedJarLocation); - InputStream is = jarFile.getInputStream(je); -- -+ - byte[] bytes = new byte[1024]; - int read = is.read(bytes); - int fileSize = read; -@@ -1279,41 +1356,41 @@ - read = is.read(bytes); - fileSize += read; - } -- -+ - is.close(); - extractedJar.close(); -- -+ - // 0 byte file? skip - if (fileSize <= 0) { - continue; - } -- -+ - tracker.addResource(new File(extractedJarLocation).toURL(), null, null, null); -- -+ - URL codebase = file.getCodeBase(); - if (codebase == null) { - //FIXME: codebase should be the codebase of the Main Jar not - //the location. Although, it still works in the current state. - codebase = file.getResources().getMainJAR().getLocation(); - } -- -+ - final SecurityDesc jarSecurity = securityDelegate.getJarPermissions(codebase); -- -+ - try { - URL fileURL = new URL("file://" + extractedJarLocation); - // there is no remote URL for this, so lets fake one - URL fakeRemote = new URL(jar.getLocation().toString() + "!" + je.getName()); - CachedJarFileCallback.getInstance().addMapping(fakeRemote, fileURL); - addURL(fakeRemote); -- -+ - jarLocationSecurityMap.put(fakeRemote, jarSecurity); -- -+ - } catch (MalformedURLException mfue) { - OutputController.getLogger().log(OutputController.Level.WARNING_DEBUG, "Unable to add extracted nested jar to classpath"); - OutputController.getLogger().log(OutputController.Level.ERROR_ALL, mfue); - } - } -- -+ - jarEntries.add(je.getName()); - } - } -@@ -1328,7 +1405,7 @@ - - try (JarFile jarFile = new JarFile(localFile.getAbsolutePath())) { - Manifest mf = jarFile.getManifest(); -- -+ - // Only check classpath if this is the plugin and there is no jnlp_href usage. - // Note that this is different from proprietary plugin behaviour. - // If jnlp_href is used, the app should be treated similarly to when -@@ -1336,19 +1413,19 @@ - if (file instanceof PluginBridge && !((PluginBridge) file).useJNLPHref()) { - classpaths.addAll(getClassPathsFromManifest(mf, jar.getLocation().getPath())); - } -- -+ - JarIndexAccess index = JarIndexAccess.getJarIndex(jarFile); -- if (index != null) -+ if (index != null) { - jarIndexes.add(index); -+ } - } - } else { - CachedJarFileCallback.getInstance().addMapping(jar.getLocation(), jar.getLocation()); - } - - OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Activate jar: " + location); -- } -- catch (Exception ex) { -- OutputController.getLogger().log(ex); -+ } catch (Exception ex) { -+ OutputController.getLogger().log(ex); - } - - // some programs place a native library in any jar -@@ -1374,14 +1451,16 @@ - } - - String result = super.findLibrary(lib); -- if (result != null) -+ if (result != null) { - return result; -+ } - - return findLibraryExt(lib); - } - - /** - * Try to find the library path from another peer classloader. -+ * - * @param lib library to be found - * @return location of library - */ -@@ -1389,19 +1468,21 @@ - for (JNLPClassLoader loader : loaders) { - String result = null; - -- if (loader != this) -+ if (loader != this) { - result = loader.findLibrary(lib); -- -- if (result != null) -+ } -+ -+ if (result != null) { - return result; -+ } - } - - return null; - } - - /** -- * Wait for a group of JARs, and send download events if there -- * is a download listener or display a progress window otherwise. -+ * Wait for a group of JARs, and send download events if there is a download -+ * listener or display a progress window otherwise. - * - * @param jars the jars - */ -@@ -1419,6 +1500,7 @@ - - /** - * Find the loaded class in this loader or any of its extension loaders. -+ * - * @param name name of class - * @return the class found by name - */ -@@ -1432,41 +1514,43 @@ - result = loader.findLoadedClassAll(name); - } - -- if (result != null) -+ if (result != null) { - return result; -+ } - } -- -+ - // Result is still null. Return what the codebaseloader - // has (which returns null if it is not loaded there either) -- if (codeBaseLoader != null) -+ if (codeBaseLoader != null) { - return codeBaseLoader.findLoadedClassFromParent(name); -- else -+ } else { - return null; -+ } - } - - /** -- * Find a JAR in the shared 'extension' classloaders, this -- * classloader, or one of the classloaders for the JNLP file's -- * extensions. -- * This method used to be qualified "synchronized." This was done solely for the -- * purpose of ensuring only one thread entered the method at a time. This was not -+ * Find a JAR in the shared 'extension' classloaders, this classloader, or -+ * one of the classloaders for the JNLP file's extensions. This method used -+ * to be qualified "synchronized." This was done solely for the purpose of -+ * ensuring only one thread entered the method at a time. This was not - * strictly necessary - ensuring that all affected fields are thread-safe is -- * sufficient. Locking on the JNLPClassLoader instance when this method is called -- * can result in deadlock if another thread is dealing with the CodebaseClassLoader -- * at the same time. This solution is very heavy-handed as the instance lock is not -- * truly required, and taking the lock on the classloader instance when not needed is -- * not in general a good idea because it can and will lead to deadlock when multithreaded -- * classloading is in effect. The solution is to keep the fields thread safe on their own. -- * This is accomplished by wrapping them in Collections.synchronized* to provide -- * atomic add/remove operations, and synchronizing on them when iterating or performing -- * multiple mutations. -- * See bug report RH976833. On some systems this bug will manifest itself as deadlock on -- * every webpage with more than one Java applet, potentially also causing the browser -- * process to hang. -- * More information in the mailing list archives: -+ * sufficient. Locking on the JNLPClassLoader instance when this method is -+ * called can result in deadlock if another thread is dealing with the -+ * CodebaseClassLoader at the same time. This solution is very heavy-handed -+ * as the instance lock is not truly required, and taking the lock on the -+ * classloader instance when not needed is not in general a good idea -+ * because it can and will lead to deadlock when multithreaded classloading -+ * is in effect. The solution is to keep the fields thread safe on their -+ * own. This is accomplished by wrapping them in Collections.synchronized* -+ * to provide atomic add/remove operations, and synchronizing on them when -+ * iterating or performing multiple mutations. See bug report RH976833. On -+ * some systems this bug will manifest itself as deadlock on every webpage -+ * with more than one Java applet, potentially also causing the browser -+ * process to hang. More information in the mailing list archives: - * http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-September/024536.html -- * -- * Affected fields: available, classpaths, jarIndexes, jarEntries, jarLocationSecurityMap -+ * -+ * Affected fields: available, classpaths, jarIndexes, jarEntries, -+ * jarLocationSecurityMap - */ - @Override - public Class<?> loadClass(String name) throws ClassNotFoundException { -@@ -1476,8 +1560,9 @@ - if (result == null) { - try { - ClassLoader parent = getParent(); -- if (parent == null) -+ if (parent == null) { - parent = ClassLoader.getSystemClassLoader(); -+ } - - return parent.loadClass(name); - } catch (ClassNotFoundException ex) { -@@ -1486,7 +1571,6 @@ - - // filter out 'bad' package names like java, javax - // validPackage(name); -- - // search this and the extension loaders - if (result == null) { - try { -@@ -1518,7 +1602,6 @@ - } - - // As a last resort, look in any available indexes -- - // Currently this loads jars directly from the site. We cannot cache it because this - // call is initiated from within the applet, which does not have disk read/write permissions - // This field synchronized before iterating over it since it may -@@ -1563,9 +1646,10 @@ - /** - * Adds a new JARDesc into this classloader. - * <p> -- * This will add the JARDesc into the resourceTracker and block until it -- * is downloaded. -+ * This will add the JARDesc into the resourceTracker and block until it is -+ * downloaded. - * </p> -+ * - * @param desc the JARDesc for the new jar - */ - private void addNewJar(final JARDesc desc) { -@@ -1574,6 +1658,7 @@ - - /** - * Adds a new JARDesc into this classloader. -+ * - * @param desc the JARDesc for the new jar - * @param updatePolicy the UpdatePolicy for the resource - */ -@@ -1585,7 +1670,7 @@ - desc.getVersion(), - null, - updatePolicy -- ); -+ ); - - // Give read permissions to the cached jar file - AccessController.doPrivileged(new PrivilegedAction<Void>() { -@@ -1604,11 +1689,10 @@ - final URL cachedUrl = tracker.getCacheURL(remoteURL); // blocks till download - - available.remove(desc); // Resource downloaded. Remove from available list. -- -+ - try { - - // Verify if needed -- - final List<JARDesc> jars = new ArrayList<>(); - jars.add(desc); - -@@ -1617,7 +1701,6 @@ - // having AllPermissions as those actions normally happen - // during initialization. We therefore need to do those - // actions as privileged. -- - AccessController.doPrivileged(new PrivilegedExceptionAction<Void>() { - @Override - public Void run() throws Exception { -@@ -1656,11 +1739,11 @@ - final String fName = name; - return AccessController.doPrivileged( - new PrivilegedExceptionAction<Class<?>>() { -- @Override -- public Class<?> run() throws ClassNotFoundException { -- return JNLPClassLoader.super.findClass(fName); -- } -- }, getAccessControlContextForClassLoading()); -+ @Override -+ public Class<?> run() throws ClassNotFoundException { -+ return JNLPClassLoader.super.findClass(fName); -+ } -+ }, getAccessControlContextForClassLoading()); - } else { - return loader.findClass(name); - } -@@ -1673,17 +1756,17 @@ - } - - // Try codebase loader -- if (codeBaseLoader != null) -+ if (codeBaseLoader != null) { - return codeBaseLoader.findClassNonRecursive(name); -+ } - - // All else failed. Throw CNFE - throw new ClassNotFoundException(name); - } - - /** -- * Search for the class by incrementally adding resources to the -- * classloader and its extension classloaders until the resource -- * is found. -+ * Search for the class by incrementally adding resources to the classloader -+ * and its extension classloaders until the resource is found. - */ - private Class<?> loadClassExt(String name) throws ClassNotFoundException { - // make recursive -@@ -1698,7 +1781,7 @@ - // add resources until found - while (true) { - JNLPClassLoader addedTo = null; -- -+ - try { - addedTo = addNextResource(); - } catch (LaunchException e) { -@@ -1708,12 +1791,12 @@ - * [It is handled in initializeResources()]. Therefore, this - * exception will never be thrown here and is escaped - */ -- - throw new IllegalStateException(e); - } - -- if (addedTo == null) -+ if (addedTo == null) { - throw new ClassNotFoundException(name); -+ } - - try { - return addedTo.findClass(name); -@@ -1723,11 +1806,10 @@ - } - - /** -- * Finds the resource in this, the parent, or the extension -- * class loaders. -+ * Finds the resource in this, the parent, or the extension class loaders. - * -- * @return a {@link URL} for the resource, or {@code null} -- * if the resource could not be found. -+ * @return a {@link URL} for the resource, or {@code null} if the resource -+ * could not be found. - */ - @Override - public URL findResource(String name) { -@@ -1741,17 +1823,18 @@ - } catch (IOException e) { - OutputController.getLogger().log(e); - } -- -+ - // If result is still null, look in the codebase loader -- if (result == null && codeBaseLoader != null) -+ if (result == null && codeBaseLoader != null) { - result = codeBaseLoader.findResource(name); -+ } - - return result; - } - - /** -- * Find the resources in this, the parent, or the extension -- * class loaders. Load lazy resources if not found in current resources. -+ * Find the resources in this, the parent, or the extension class loaders. -+ * Load lazy resources if not found in current resources. - */ - @Override - public Enumeration<URL> findResources(String name) throws IOException { -@@ -1770,8 +1853,7 @@ - } - - /** -- * Find the resources in this, the parent, or the extension -- * class loaders. -+ * Find the resources in this, the parent, or the extension class loaders. - */ - private Enumeration<URL> findResourcesBySearching(String name) throws IOException { - List<URL> lresources = new ArrayList<>(); -@@ -1787,11 +1869,11 @@ - try { - e = AccessController.doPrivileged( - new PrivilegedExceptionAction<Enumeration<URL>>() { -- @Override -- public Enumeration<URL> run() throws IOException { -- return JNLPClassLoader.super.findResources(fName); -- } -- }, getAccessControlContextForClassLoading()); -+ @Override -+ public Enumeration<URL> run() throws IOException { -+ return JNLPClassLoader.super.findResources(fName); -+ } -+ }, getAccessControlContextForClassLoading()); - } catch (PrivilegedActionException pae) { - } - } else { -@@ -1801,16 +1883,16 @@ - final Enumeration<URL> fURLEnum = e; - try { - lresources.addAll(AccessController.doPrivileged( -- new PrivilegedExceptionAction<Collection<URL>>() { -- @Override -- public Collection<URL> run() { -- List<URL> resources = new ArrayList<>(); -- while (fURLEnum != null && fURLEnum.hasMoreElements()) { -- resources.add(fURLEnum.nextElement()); -- } -- return resources; -+ new PrivilegedExceptionAction<Collection<URL>>() { -+ @Override -+ public Collection<URL> run() { -+ List<URL> resources = new ArrayList<>(); -+ while (fURLEnum != null && fURLEnum.hasMoreElements()) { -+ resources.add(fURLEnum.nextElement()); - } -- }, getAccessControlContextForClassLoading())); -+ return resources; -+ } -+ }, getAccessControlContextForClassLoading())); - } catch (PrivilegedActionException pae) { - } - } -@@ -1819,8 +1901,9 @@ - // otherwise the server will get hammered) - if (lresources.isEmpty() && codeBaseLoader != null) { - e = codeBaseLoader.findResources(name); -- while (e.hasMoreElements()) -+ while (e.hasMoreElements()) { - lresources.add(e.nextElement()); -+ } - } - - return Collections.enumeration(lresources); -@@ -1837,8 +1920,7 @@ - } - - /** -- * Adds whatever resources have already been downloaded in the -- * background. -+ * Adds whatever resources have already been downloaded in the background. - */ - protected void addAvailable() { - // go through available, check tracker for it and all of its -@@ -1850,21 +1932,23 @@ - } - - /** -- * Adds the next unused resource to the classloader. That -- * resource and all those in the same part will be downloaded -- * and added to the classloader before returning. If there are -- * no more resources to add, the method returns immediately. -+ * Adds the next unused resource to the classloader. That resource and all -+ * those in the same part will be downloaded and added to the classloader -+ * before returning. If there are no more resources to add, the method -+ * returns immediately. - * - * @return the classloader that resources were added to, or null -- * @throws LaunchException Thrown if the signed JNLP file, within the main jar, fails to be verified or does not match -+ * @throws LaunchException Thrown if the signed JNLP file, within the main -+ * jar, fails to be verified or does not match - */ - protected JNLPClassLoader addNextResource() throws LaunchException { - if (available.isEmpty()) { - for (int i = 1; i < loaders.length; i++) { - JNLPClassLoader result = loaders[i].addNextResource(); - -- if (result != null) -+ if (result != null) { - return result; -+ } - } - return null; - } -@@ -1882,25 +1966,28 @@ - - // this part compatibility with previous classloader - /** -- * @return title if available. Substitutions if not. -+ * @return title if available. Substitutions if not. - * @deprecated - */ - @Deprecated - public String getExtensionName() { - String result = file.getInformation().getTitle(); - -- if (result == null) -+ if (result == null) { - result = file.getInformation().getDescription(); -- if (result == null && file.getFileLocation() != null) -+ } -+ if (result == null && file.getFileLocation() != null) { - result = file.getFileLocation().toString(); -- if (result == null && file.getCodeBase() != null) -+ } -+ if (result == null && file.getCodeBase() != null) { - result = file.getCodeBase().toString(); -+ } - - return result; - } - - /** -- * @return location if jnlp -+ * @return location if jnlp - * @deprecated - */ - @Deprecated -@@ -1914,14 +2001,13 @@ - - /** - * Call this when it's suspected that an applet's permission level may have -- * just changed from Full Signing to Partial Signing. -- * This will display a one-time prompt asking the user to confirm running -- * the partially signed applet. -- * Partially Signed applets always start off as appearing to be Fully -- * Signed, and then during the initialization or loading process, we find -- * that we actually need to demote the applet to Partial, either due to -- * finding that not all of its JARs are actually signed, or because it -- * needs to load something unsigned out of the codebase. -+ * just changed from Full Signing to Partial Signing. This will display a -+ * one-time prompt asking the user to confirm running the partially signed -+ * applet. Partially Signed applets always start off as appearing to be -+ * Fully Signed, and then during the initialization or loading process, we -+ * find that we actually need to demote the applet to Partial, either due to -+ * finding that not all of its JARs are actually signed, or because it needs -+ * to load something unsigned out of the codebase. - */ - private void checkPartialSigningWithUser() { - if (signing == SigningState.FULL && JNLPRuntime.isVerifying()) { -@@ -1949,9 +2035,8 @@ - * @param source the origin (remote) url of the code - * @return The SecurityDescriptor for that source - */ -- - protected SecurityDesc getCodeSourceSecurity(URL source) { -- SecurityDesc sec=jarLocationSecurityMap.get(source); -+ SecurityDesc sec = jarLocationSecurityMap.get(source); - synchronized (alreadyTried) { - if (sec == null && !alreadyTried.contains(source)) { - alreadyTried.add(source); -@@ -1967,8 +2052,8 @@ - } - } - } -- if (sec == null){ -- OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("LNoSecInstance",source.toString())); -+ if (sec == null) { -+ OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("LNoSecInstance", source.toString())); - } - return sec; - } -@@ -1988,9 +2073,10 @@ - } - - // jars -- for (URL u : extLoader.getURLs()) -+ for (URL u : extLoader.getURLs()) { - addURL(u); -- -+ } -+ - // Codebase - addToCodeBaseLoader(extLoader.file.getCodeBase()); - -@@ -2009,7 +2095,7 @@ - - /** - * Adds the given path to the path loader -- * -+ * - * @param u the path to add - * @throws IllegalArgumentException If the given url is not a path - */ -@@ -2026,7 +2112,7 @@ - // If there is no loader yet, create one, else add it to the - // existing one (happens when called from merge()) - if (codeBaseLoader == null) { -- codeBaseLoader = new CodeBaseClassLoader(new URL[] { u }, this); -+ codeBaseLoader = new CodeBaseClassLoader(new URL[]{u}, this); - } else { - codeBaseLoader.addURL(u); - } -@@ -2036,11 +2122,12 @@ - * Returns a set of paths that indicate the Class-Path entries in the - * manifest file. The paths are rooted in the same directory as the - * originalJarPath. -+ * - * @param mf the manifest -- * @param originalJarPath the remote/original path of the jar containing -- * the manifest -- * @return a Set of String where each string is a path to the jar on -- * the original jar's classpath. -+ * @param originalJarPath the remote/original path of the jar containing the -+ * manifest -+ * @return a Set of String where each string is a path to the jar on the -+ * original jar's classpath. - */ - private Set<String> getClassPathsFromManifest(Manifest mf, String originalJarPath) { - Set<String> result = new HashSet<>(); -@@ -2069,20 +2156,21 @@ - } - return result; - } -- -+ - /** - * Increments loader use count by 1 -- * -+ * - * @throws SecurityException if caller is not trusted - */ - private void incrementLoaderUseCount() { - - // For use by trusted code only -- if (System.getSecurityManager() != null) -+ if (System.getSecurityManager() != null) { - System.getSecurityManager().checkPermission(new AllPermission()); -+ } - - // NB: There will only ever be one class-loader per unique-key -- synchronized ( getUniqueKeyLock(file.getUniqueKey()) ){ -+ synchronized (getUniqueKeyLock(file.getUniqueKey())) { - useCount++; - } - } -@@ -2105,8 +2193,8 @@ - try { - tracker.removeResource(eachJar.getLocation()); - } catch (Exception e) { -- OutputController.getLogger().log(e); -- OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Failed to remove resource from tracker, continuing.."); -+ OutputController.getLogger().log(e); -+ OutputController.getLogger().log(OutputController.Level.ERROR_DEBUG, "Failed to remove resource from tracker, continuing.."); - } - - File cachedFile = CacheUtil.getCacheFile(eachJar.getLocation(), null); -@@ -2144,9 +2232,11 @@ - - /** - * Manages DownloadService jars which are not mentioned in the JNLP file -+ * - * @param ref Path to the resource. - * @param version The version of resource. If null, no version is specified. -- * @param action The action to perform with the resource. Either DOWNLOADTOCACHE, REMOVEFROMCACHE, or CHECKCACHE. -+ * @param action The action to perform with the resource. Either -+ * DOWNLOADTOCACHE, REMOVEFROMCACHE, or CHECKCACHE. - * @return true if CHECKCACHE and the resource is cached. - */ - boolean manageExternalJars(URL ref, String version, DownloadAction action) { -@@ -2154,17 +2244,18 @@ - JNLPClassLoader foundLoader = LocateJnlpClassLoader.getLoaderByResourceUrl(this, ref, version); - Version resourceVersion = (version == null) ? null : new Version(version); - -- if (foundLoader != null) -+ if (foundLoader != null) { -+ approved = true; -+ } else if (ref.toString().startsWith(file.getNotNullProbalbeCodeBase().toString())) { - approved = true; -- -- else if (ref.toString().startsWith(file.getNotNullProbalbeCodeBase().toString())) -+ } else if (SecurityDesc.ALL_PERMISSIONS.equals(security.getSecurityType())) { - approved = true; -- else if (SecurityDesc.ALL_PERMISSIONS.equals(security.getSecurityType())) -- approved = true; -+ } - - if (approved) { -- if (foundLoader == null) -+ if (foundLoader == null) { - foundLoader = this; -+ } - - if (action == DownloadAction.DOWNLOAD_TO_CACHE) { - JARDesc jarToCache = new JARDesc(ref, resourceVersion, null, false, true, false, true); -@@ -2173,7 +2264,7 @@ - foundLoader.addNewJar(jarToCache, UpdatePolicy.FORCE); - - } else if (action == DownloadAction.REMOVE_FROM_CACHE) { -- JARDesc[] jarToRemove = { new JARDesc(ref, resourceVersion, null, false, true, false, true) }; -+ JARDesc[] jarToRemove = {new JARDesc(ref, resourceVersion, null, false, true, false, true)}; - foundLoader.removeJars(jarToRemove); - - } else if (action == DownloadAction.CHECK_CACHE) { -@@ -2185,21 +2276,22 @@ - - /** - * Decrements loader use count by 1 -- * -+ * - * If count reaches 0, loader is removed from list of available loaders -- * -+ * - * @throws SecurityException if caller is not trusted - */ - public void decrementLoaderUseCount() { - - // For use by trusted code only -- if (System.getSecurityManager() != null) -+ if (System.getSecurityManager() != null) { - System.getSecurityManager().checkPermission(new AllPermission()); -+ } - - String uniqueKey = file.getUniqueKey(); - - // NB: There will only ever be one class-loader per unique-key -- synchronized ( getUniqueKeyLock(uniqueKey) ) { -+ synchronized (getUniqueKeyLock(uniqueKey)) { - useCount--; - - if (useCount <= 0) { -@@ -2209,17 +2301,18 @@ - } - - /** -- * Returns an appropriate AccessControlContext for loading classes in -- * the running instance. -+ * Returns an appropriate AccessControlContext for loading classes in the -+ * running instance. - * - * The default context during class-loading only allows connection to - * codebase. However applets are allowed to load jars from arbitrary -- * locations and the codebase only access falls short if a class from -- * one location needs a class from another. -+ * locations and the codebase only access falls short if a class from one -+ * location needs a class from another. - * - * Given protected access since CodeBaseClassloader uses this function too. - * -- * @return The appropriate AccessControlContext for loading classes for this instance -+ * @return The appropriate AccessControlContext for loading classes for this -+ * instance - */ - public AccessControlContext getAccessControlContextForClassLoading() { - AccessControlContext context = AccessController.getContext(); -@@ -2244,7 +2337,7 @@ - // Permissions for all remote hosting urls - synchronized (jarLocationSecurityMap) { - for (URL u : jarLocationSecurityMap.keySet()) { -- permissions.add(new SocketPermission(UrlUtils.getHostAndPort(u), -+ permissions.add(new SocketPermission(UrlUtils.getHostAndPort(u), - "connect, accept")); - } - } -@@ -2259,26 +2352,27 @@ - - ProtectionDomain pd = new ProtectionDomain(null, permissions); - -- return new AccessControlContext(new ProtectionDomain[] { pd }); -+ return new AccessControlContext(new ProtectionDomain[]{pd}); - } -- -+ - public String getMainClass() { - return mainClass; - } -- -- -- -- /** -- * SecurityDelegate, in real usage, relies on having a "parent" JNLPClassLoader instance. -- * However, JNLPClassLoaders are very large, heavyweight, difficult-to-mock objects, which -- * means that unit testing on anything that uses a SecurityDelegate can become very difficult. -- * For example, JarCertVerifier is designed separated from the ClassLoader so it can be tested -- * in isolation. However, JCV needs some sort of access back to JNLPClassLoader instances to -- * be able to invoke setRunInSandbox(). The SecurityDelegate handles this, allowing JCV to be -- * tested without instantiating JNLPClassLoaders, by creating a fake SecurityDelegate that does -- * not require one. -+ -+ /** -+ * SecurityDelegate, in real usage, relies on having a "parent" -+ * JNLPClassLoader instance. However, JNLPClassLoaders are very large, -+ * heavyweight, difficult-to-mock objects, which means that unit testing on -+ * anything that uses a SecurityDelegate can become very difficult. For -+ * example, JarCertVerifier is designed separated from the ClassLoader so it -+ * can be tested in isolation. However, JCV needs some sort of access back -+ * to JNLPClassLoader instances to be able to invoke setRunInSandbox(). The -+ * SecurityDelegate handles this, allowing JCV to be tested without -+ * instantiating JNLPClassLoaders, by creating a fake SecurityDelegate that -+ * does not require one. - */ - public static interface SecurityDelegate { -+ - public boolean isPluginApplet(); - - public boolean userPromptedForPartialSigning(); -@@ -2305,10 +2399,11 @@ - } - - /** -- * Handles security decision logic for the JNLPClassLoader, eg which permission level to assign -- * to JARs. -+ * Handles security decision logic for the JNLPClassLoader, eg which -+ * permission level to assign to JARs. - */ - public static class SecurityDelegateImpl implements SecurityDelegate { -+ - private final JNLPClassLoader classLoader; - private boolean runInSandbox; - private boolean promptedForPartialSigning; -@@ -2331,27 +2426,25 @@ - return new SecurityDesc(classLoader.file, - SecurityDesc.SANDBOX_PERMISSIONS, - codebaseHost); -- } else { -- if (isPluginApplet()) { -- try { -- if (JarCertVerifier.isJarSigned(jarDesc, new PluginAppVerifier(), classLoader.tracker)) { -- return new SecurityDesc(classLoader.file, -- SecurityDesc.ALL_PERMISSIONS, -- codebaseHost); -- } else { -- return new SecurityDesc(classLoader.file, -- SecurityDesc.SANDBOX_PERMISSIONS, -- codebaseHost); -- } -- } catch (final Exception e) { -- OutputController.getLogger().log(e); -+ } else if (isPluginApplet()) { -+ try { -+ if (JarCertVerifier.isJarSigned(jarDesc, new PluginAppVerifier(), classLoader.tracker)) { -+ return new SecurityDesc(classLoader.file, -+ SecurityDesc.ALL_PERMISSIONS, -+ codebaseHost); -+ } else { - return new SecurityDesc(classLoader.file, - SecurityDesc.SANDBOX_PERMISSIONS, - codebaseHost); - } -- } else { -- return classLoader.file.getSecurity(); -+ } catch (final Exception e) { -+ OutputController.getLogger().log(e); -+ return new SecurityDesc(classLoader.file, -+ SecurityDesc.SANDBOX_PERMISSIONS, -+ codebaseHost); - } -+ } else { -+ return classLoader.file.getSecurity(); - } - } - -@@ -2367,8 +2460,7 @@ - SecurityDesc.SANDBOX_PERMISSIONS, - codebaseHost); - } -- } else { -- /* -+ } else /* - * Various combinations of the jars being signed and <security> tags being - * present are possible. They are treated as follows - * -@@ -2379,21 +2471,27 @@ - * Unsigned <security> Error - * Unsigned no <security> Sandbox - * -- */ -- if (!runInSandbox && !classLoader.getSigning() -- && !classLoader.file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS)) { -- if (classLoader.jcv.allJarsSigned()) { -- throw new LaunchException(classLoader.file, null, R("LSFatal"), R("LCClient"), R("LSignedJNLPAppDifferentCerts"), R("LSignedJNLPAppDifferentCertsInfo")); -- } else { -- throw new LaunchException(classLoader.file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo")); -- } -- } else if (!runInSandbox && classLoader.getSigning()) { -- return classLoader.file.getSecurity(); -+ */ if (!runInSandbox && !classLoader.getSigning() -+ && !classLoader.file.getSecurity().getSecurityType().equals(SecurityDesc.SANDBOX_PERMISSIONS)) { -+ if (classLoader.jcv.allJarsSigned()) { -+ LaunchException ex = new LaunchException(classLoader.file, null, R("LSFatal"), R("LCClient"), R("LSignedJNLPAppDifferentCerts"), R("LSignedJNLPAppDifferentCertsInfo")); -+ consultCertificateSecurityException(ex); -+ return consultResult(codebaseHost); - } else { -- return new SecurityDesc(classLoader.file, -- SecurityDesc.SANDBOX_PERMISSIONS, -- codebaseHost); -+ LaunchException ex = new LaunchException(classLoader.file, null, R("LSFatal"), R("LCClient"), R("LUnsignedJarWithSecurity"), R("LUnsignedJarWithSecurityInfo"));; -+ consultCertificateSecurityException(ex); -+ return consultResult(codebaseHost); - } -+ } else return consultResult(codebaseHost); -+ } -+ -+ private SecurityDesc consultResult(URL codebaseHost){ -+ if (!runInSandbox && classLoader.getSigning()) { -+ return classLoader.file.getSecurity(); -+ } else { -+ return new SecurityDesc(classLoader.file, -+ SecurityDesc.SANDBOX_PERMISSIONS, -+ codebaseHost); - } - } - -@@ -2470,7 +2568,7 @@ - } - - } -- -+ - - /* - * Helper class to expose protected URLClassLoader methods. -@@ -2487,7 +2585,7 @@ - public static class CodeBaseClassLoader extends URLClassLoader { - - JNLPClassLoader parentJNLPClassLoader; -- -+ - /** - * Classes that are not found, so that findClass can skip them next time - */ -@@ -2499,8 +2597,8 @@ - } - - @Override -- public void addURL(URL url) { -- super.addURL(url); -+ public void addURL(URL url) { -+ super.addURL(url); - } - - /* -@@ -2508,18 +2606,19 @@ - */ - Class<?> findClassNonRecursive(final String name) throws ClassNotFoundException { - // If we have searched this path before, don't try again -- if (Arrays.equals(super.getURLs(), notFoundResources.get(name))) -+ if (Arrays.equals(super.getURLs(), notFoundResources.get(name))) { - throw new ClassNotFoundException(name); -+ } - - try { - return AccessController.doPrivileged( - new PrivilegedExceptionAction<Class<?>>() { -- public Class<?> run() throws ClassNotFoundException { -- Class<?> c = CodeBaseClassLoader.super.findClass(name); -- parentJNLPClassLoader.checkPartialSigningWithUser(); -- return c; -- } -- }, parentJNLPClassLoader.getAccessControlContextForClassLoading()); -+ public Class<?> run() throws ClassNotFoundException { -+ Class<?> c = CodeBaseClassLoader.super.findClass(name); -+ parentJNLPClassLoader.checkPartialSigningWithUser(); -+ return c; -+ } -+ }, parentJNLPClassLoader.getAccessControlContextForClassLoading()); - } catch (PrivilegedActionException pae) { - notFoundResources.put(name, super.getURLs()); - throw new ClassNotFoundException("Could not find class " + name, pae); -@@ -2542,11 +2641,12 @@ - - /** - * Returns the output of super.findLoadedClass(). -- * -+ * - * The method is renamed because ClassLoader.findLoadedClass() is final -- * -+ * - * @param name The name of the class to find -- * @return Output of ClassLoader.findLoadedClass() which is the class if found, null otherwise -+ * @return Output of ClassLoader.findLoadedClass() which is the class if -+ * found, null otherwise - * @see java.lang.ClassLoader#findLoadedClass(String) - */ - public Class<?> findLoadedClassFromParent(String name) { -@@ -2555,7 +2655,7 @@ - - /** - * Returns JNLPClassLoader that encompasses this loader -- * -+ * - * @return parent JNLPClassLoader - */ - public JNLPClassLoader getParentJNLPClassLoader() { -@@ -2566,8 +2666,9 @@ - public Enumeration<URL> findResources(String name) throws IOException { - - // If we have searched this path before, don't try again -- if (Arrays.equals(super.getURLs(), notFoundResources.get(name))) -+ if (Arrays.equals(super.getURLs(), notFoundResources.get(name))) { - return (new Vector<URL>(0)).elements(); -+ } - - if (!name.startsWith("META-INF")) { - Enumeration<URL> urls = super.findResources(name); -@@ -2586,8 +2687,9 @@ - public URL findResource(String name) { - - // If we have searched this path before, don't try again -- if (Arrays.equals(super.getURLs(), notFoundResources.get(name))) -+ if (Arrays.equals(super.getURLs(), notFoundResources.get(name))) { - return null; -+ } - - URL url = null; - if (!name.startsWith("META-INF")) { -@@ -2595,12 +2697,12 @@ - final String fName = name; - url = AccessController.doPrivileged( - new PrivilegedExceptionAction<URL>() { -- public URL run() { -- return CodeBaseClassLoader.super.findResource(fName); -- } -- }, parentJNLPClassLoader.getAccessControlContextForClassLoading()); -+ public URL run() { -+ return CodeBaseClassLoader.super.findResource(fName); -+ } -+ }, parentJNLPClassLoader.getAccessControlContextForClassLoading()); - } catch (PrivilegedActionException pae) { -- } -+ } - - if (url == null) { - notFoundResources.put(name, super.getURLs()); -@@ -2612,6 +2714,5 @@ - return null; - } - } -- -- -+ - } -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/security/dialogs/AccessWarningPane.java ---- a/netx/net/sourceforge/jnlp/security/dialogs/AccessWarningPane.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/security/dialogs/AccessWarningPane.java Fri Mar 02 10:41:29 2018 +0100 -@@ -197,7 +197,7 @@ - fromLabel.setBorder(BorderFactory.createEmptyBorder(5, 5, 5, 5)); - - -- final JButton run = new JButton(R("ButAllow")); -+ final JButton run = new JButton(R("ButOk")); - final JButton cancel = new JButton(R("ButCancel")); - - JPanel infoPanel = new JPanel(new GridBagLayout()); -@@ -241,23 +241,6 @@ - htmlPanelDesktop.setVisible(false); - c.gridy++; - } -- ActionListener al = new ActionListener() { -- -- @Override -- public void actionPerformed(ActionEvent e) { -- if (desktopCheck.isSelected() || menuCheck.isSelected()){ -- run.setEnabled(true); -- cancel.setEnabled(false); -- } else { -- run.setEnabled(false); -- cancel.setEnabled(true); -- } -- -- } -- }; -- desktopCheck.addActionListener(al); -- menuCheck.addActionListener(al); -- al.actionPerformed(null); - infoPanel.add(menuCheck,c); - c.gridy++; - if (!JNLPRuntime.isWebstartApplication()) { -diff -r dbb8dc397d15 -r 4abd0f089773 netx/net/sourceforge/jnlp/util/FileUtils.java ---- a/netx/net/sourceforge/jnlp/util/FileUtils.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/netx/net/sourceforge/jnlp/util/FileUtils.java Fri Mar 02 10:41:29 2018 +0100 -@@ -33,12 +33,12 @@ - import java.io.Writer; - import java.nio.channels.FileChannel; - import java.nio.channels.FileLock; -+import java.nio.file.Files; -+import java.nio.file.attribute.*; - import java.security.DigestInputStream; - import java.security.MessageDigest; - import java.security.NoSuchAlgorithmException; --import java.util.ArrayList; --import java.util.Arrays; --import java.util.List; -+import java.util.*; - - import javax.swing.JFrame; - import javax.swing.JOptionPane; -@@ -307,7 +307,6 @@ - throw new IOException(R("RCantRename", tempFile, file)); - } - } -- - } - - /** -diff -r dbb8dc397d15 -r 4abd0f089773 tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java ---- a/tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java Fri Mar 02 10:41:29 2018 +0100 -@@ -33,8 +33,7 @@ - this exception to your version of the library, but you are not - obligated to do so. If you do not wish to do so, delete this - exception statement from your version. --*/ -- -+ */ - package net.sourceforge.jnlp; - - import java.io.InputStream; -@@ -46,8 +45,10 @@ - import org.junit.BeforeClass; - import org.junit.Test; - --/** Test that the parser works with basic jnlp files */ --public class ParserBasic extends NoStdOutErrTest{ -+/** -+ * Test that the parser works with basic jnlp files -+ */ -+public class ParserBasic extends NoStdOutErrTest { - - private static Node root; - private static Parser parser; -@@ -214,6 +215,22 @@ - } - - @Test -+ public void testResourcesInsideJava() throws ParseException { -+ ClassLoader cl = ParserBasic.class.getClassLoader(); -+ if (cl == null) { -+ cl = ClassLoader.getSystemClassLoader(); -+ } -+ ParserSettings defaultParser = new ParserSettings(); -+ InputStream jnlpStream = cl.getResourceAsStream("net/sourceforge/jnlp/jarsInJreDesc.jnlp"); -+ Node omega = Parser.getRootNode(jnlpStream, defaultParser); -+ Parser omegaParser = new Parser(new DummyJNLPFile(), null, omega, defaultParser); -+ ResourcesDesc resources = omegaParser.getResources(omega, false).get(0); -+ JARDesc[] r = resources.getJARs(); -+ // we ensures that also in j2se hars ar eloaded.it is 7 withutt them. -+ Assert.assertTrue(r.length>30); -+ } -+ -+ @Test - public void testResourcesJar() throws ParseException { - ResourcesDesc resources = parser.getResources(root, false).get(0); - -@@ -276,7 +293,7 @@ - ApplicationDesc app = (ApplicationDesc) parser.getLauncher(root); - Assert.assertNotNull(app); - Assert.assertEquals("MainClass", app.getMainClass()); -- Assert.assertArrayEquals(new String[] { "arg1", "arg2" }, app.getArguments()); -+ Assert.assertArrayEquals(new String[]{"arg1", "arg2"}, app.getArguments()); - } - - } -diff -r dbb8dc397d15 -r 4abd0f089773 tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java ---- a/tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java Fri Mar 02 10:41:29 2018 +0100 -@@ -66,7 +66,7 @@ - Assert.assertTrue(target.getContent().contains("<entry key=\"key\">value</entry>")); - - Node node = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("argument", node.getNodeName()); -+ Assert.assertEquals("argument", node.getNodeName().getName()); - String contents = node.getNodeValue(); - Assert.assertTrue(contents.contains("xml")); - Assert.assertTrue(contents.contains("DOCTYPE")); -@@ -94,7 +94,7 @@ - - Node node = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); - node = node.getFirstChild().getFirstChild(); -- Assert.assertEquals("argument", node.getNodeName()); -+ Assert.assertEquals("argument", node.getNodeName().getName()); - String contents = node.getNodeValue(); - Assert.assertTrue(contents.contains("xml")); - Assert.assertTrue(contents.contains("DOCTYPE")); -diff -r dbb8dc397d15 -r 4abd0f089773 tests/netx/unit/net/sourceforge/jnlp/ParserTest.java ---- a/tests/netx/unit/net/sourceforge/jnlp/ParserTest.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/tests/netx/unit/net/sourceforge/jnlp/ParserTest.java Fri Mar 02 10:41:29 2018 +0100 -@@ -67,7 +67,7 @@ - String data = "<jnlp></jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -82,7 +82,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -105,7 +105,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -135,7 +135,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -162,7 +162,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -185,7 +185,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -216,7 +216,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -247,7 +247,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -277,7 +277,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -306,7 +306,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -334,7 +334,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -361,7 +361,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -385,7 +385,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -409,7 +409,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -431,7 +431,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -454,7 +454,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -493,7 +493,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(ALL_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -516,7 +516,7 @@ - String data = "<jnlp></jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -531,7 +531,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -554,7 +554,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -580,7 +580,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -607,7 +607,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -630,7 +630,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -661,7 +661,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -692,7 +692,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -722,7 +722,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -751,7 +751,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -779,7 +779,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -806,7 +806,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -830,7 +830,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -854,7 +854,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -876,7 +876,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -899,7 +899,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -938,7 +938,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_COUNTRY_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -961,7 +961,7 @@ - String data = "<jnlp></jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -976,7 +976,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -999,7 +999,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -1021,7 +1021,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -1045,7 +1045,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -1068,7 +1068,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -1099,7 +1099,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -1130,7 +1130,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -1156,7 +1156,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = parser.getInfo(root); -@@ -1184,7 +1184,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -1211,7 +1211,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -1235,7 +1235,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -1259,7 +1259,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); - List<InformationDesc> infoDescs = new ArrayList<InformationDesc>(); -@@ -1281,7 +1281,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -1304,7 +1304,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -1343,7 +1343,7 @@ - + "</jnlp>\n"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser); -@@ -1371,7 +1371,7 @@ - "</jnlp>"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); - - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); -@@ -1390,7 +1390,7 @@ - "</jnlp>"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); - - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); -@@ -1408,7 +1408,7 @@ - "</jnlp>"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - URL overwrittenCodebase = new URL("http://icedtea.classpath.org"); - - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); -@@ -1427,7 +1427,7 @@ - + "</jnlp>"; - - Node root = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root.getNodeName().getName()); - MockJNLPFile file = new MockJNLPFile(LANG_LOCALE); - Parser parser = new Parser(file, null, root, defaultParser, null); - ParseException eex = null; -@@ -1453,7 +1453,7 @@ - + "</jnlp>"; - - Node root1 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName().getName()); - MockJNLPFile file1 = new MockJNLPFile(LANG_LOCALE); - Parser parser1 = new Parser(file1, null, root1, defaultParser, null); - String main1 = parser1.getLauncher(root1).getMainClass(); -@@ -1461,7 +1461,7 @@ - - //strict also ok - Node root2 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), strictParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName().getName()); - MockJNLPFile file2 = new MockJNLPFile(LANG_LOCALE); - Parser parser2 = new Parser(file2, null, root2, defaultParser, null); - String main2 = parser2.getLauncher(root2).getMainClass(); -@@ -1478,7 +1478,7 @@ - + "</jnlp>"; - - Node root1 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName().getName()); - MockJNLPFile file1 = new MockJNLPFile(LANG_LOCALE); - Parser parser1 = new Parser(file1, null, root1, defaultParser, null); - String main1 = parser1.getLauncher(root1).getMainClass(); -@@ -1486,7 +1486,7 @@ - - //strict also ok - Node root2 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), strictParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName().getName()); - MockJNLPFile file2 = new MockJNLPFile(LANG_LOCALE); - Parser parser2 = new Parser(file2, null, root2, strictParser, null); - String main2 = parser2.getLauncher(root2).getMainClass(); -@@ -1503,7 +1503,7 @@ - + "</jnlp>"; - - Node root1 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName().getName()); - MockJNLPFile file1 = new MockJNLPFile(LANG_LOCALE); - Parser parser1 = new Parser(file1, null, root1, defaultParser, null); - parser1.getLauncher(root1).getMainClass(); -@@ -1520,7 +1520,7 @@ - + "</jnlp>"; - - Node root1 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName().getName()); - MockJNLPFile file1 = new MockJNLPFile(LANG_LOCALE); - Parser parser1 = new Parser(file1, null, root1, defaultParser, null); - String main1 = parser1.getLauncher(root1).getMainClass(); -@@ -1528,7 +1528,7 @@ - - //strict also ok - Node root2 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), strictParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName().getName()); - MockJNLPFile file2 = new MockJNLPFile(LANG_LOCALE); - Parser parser2 = new Parser(file2, null, root2, strictParser, null); - String main2 = parser2.getLauncher(root2).getMainClass(); -@@ -1546,7 +1546,7 @@ - + "</jnlp>"; - - Node root1 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName().getName()); - MockJNLPFile file1 = new MockJNLPFile(LANG_LOCALE); - Parser parser1 = new Parser(file1, null, root1, defaultParser, null); - String main1 = parser1.getLauncher(root1).getMainClass(); -@@ -1554,7 +1554,7 @@ - - //strict throws - Node root2 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), strictParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName().getName()); - MockJNLPFile file2 = new MockJNLPFile(LANG_LOCALE); - Parser parser2 = new Parser(file2, null, root2, strictParser, null); - parser2.getLauncher(root2).getMainClass(); -@@ -1570,7 +1570,7 @@ - + "</jnlp>"; - - Node root1 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName().getName()); - MockJNLPFile file1 = new MockJNLPFile(LANG_LOCALE); - Parser parser1 = new Parser(file1, null, root1, defaultParser, null); - String main1 = parser1.getLauncher(root1).getMainClass(); -@@ -1578,7 +1578,7 @@ - - //strict throws - Node root2 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), strictParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName().getName()); - MockJNLPFile file2 = new MockJNLPFile(LANG_LOCALE); - Parser parser2 = new Parser(file2, null, root2, strictParser, null); - parser2.getLauncher(root2).getMainClass(); -@@ -1594,7 +1594,7 @@ - + "</jnlp>"; - - Node root1 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName().getName()); - MockJNLPFile file1 = new MockJNLPFile(LANG_LOCALE); - Parser parser1 = new Parser(file1, null, root1, defaultParser, null); - String main1 = parser1.getLauncher(root1).getMainClass(); -@@ -1602,7 +1602,7 @@ - - //strict throws - Node root2 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), strictParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName().getName()); - MockJNLPFile file2 = new MockJNLPFile(LANG_LOCALE); - Parser parser2 = new Parser(file2, null, root2, strictParser, null); - parser2.getLauncher(root2).getMainClass(); -@@ -1617,7 +1617,7 @@ - + "</jnlp>"; - - Node root1 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), defaultParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root1.getNodeName().getName()); - MockJNLPFile file1 = new MockJNLPFile(LANG_LOCALE); - Parser parser1 = new Parser(file1, null, root1, defaultParser, null); - String main1 = parser1.getLauncher(root1).getMainClass(); -@@ -1625,7 +1625,7 @@ - - //strict throws - Node root2 = Parser.getRootNode(new ByteArrayInputStream(data.getBytes()), strictParser); -- Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName()); -+ Assert.assertEquals("Root name is not jnlp", "jnlp", root2.getNodeName().getName()); - MockJNLPFile file2 = new MockJNLPFile(LANG_LOCALE); - Parser parser2 = new Parser(file2, null, root2, strictParser, null); - parser2.getLauncher(root2).getMainClass(); -diff -r dbb8dc397d15 -r 4abd0f089773 tests/netx/unit/net/sourceforge/jnlp/jarsInJreDesc.jnlp ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/tests/netx/unit/net/sourceforge/jnlp/jarsInJreDesc.jnlp Fri Mar 02 10:41:29 2018 +0100 -@@ -0,0 +1,100 @@ -+<?xml version="1.0" encoding="utf-8"?> -+ -+<!-- -+exmaple of "bad" jnlp file with resources inside j2sa -+--> -+<jnlp spec="1.0+" codebase="http://localhost/" href="jnlp.jnlp"> -+ <information> -+ <title>OmegaT</title> -+ <vendor>OmegaT development team</vendor> -+ <homepage href="http://www.omegat.org" /> -+ <shortcut online="false"> -+ <desktop /> -+ <menu submenu="OmegaT from WebStart" /> -+ </shortcut> -+ <offline-allowed /> -+ <association mime-type="application/x-omegat-project" extensions="project" /> -+ -+<!-- -+ <related-content href="readme.html"> -+ <title>README</title> -+ <description> -+ The README file contains additional information about -+ the product -+ </description> -+ </related-content> -+--> -+ </information> -+ -+ <security> -+ <all-permissions /> -+ </security> -+ -+ <resources> -+ <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"> -+ <resources> -+ <jar href="OmegaT.jar" /> -+ <jar href="docs.jar" /> -+ <jar href="htmlparser.jar" /> -+ <jar href="jmyspell-core-1.0.0-beta-2.jar" /> -+ <jar href="jna.jar" /> -+ <jar href="lib-mnemonics.jar" /> -+ <jar href="swing-layout-1.0.4.jar" /> -+ <jar href="vldocking-3.0.5-SNAPSHOT.jar" /> -+ <jar href="svnkit-1.8.5.jar" /> -+ <jar href="antlr-runtime-3.4.jar" /> -+ <jar href="sqljet-1.1.10.jar" /> -+ <jar href="sequence-library-1.0.2.jar" /> -+ <jar href="org.eclipse.jgit-3.7.1.201504261725-r.jar" /> -+ <jar href="jsch-0.1.49.jar" /> -+ <jar href="lucene-analyzers-3.6.2.jar" /> -+ <jar href="lucene-core-3.6.2.jar" /> -+ <jar href="lucene-kuromoji-3.6.2.jar" /> -+ <jar href="lucene-smartcn-3.6.2.jar" /> -+ <jar href="tinysegmenter.jar" /> -+ <jar href="commons-lang-2.4.jar" /> -+ <jar href="commons-io-2.4.jar" /> -+ <jar href="commons-logging-1.1.1.jar" /> -+ <jar href="jwordsplitter-3.4.jar" /> -+ <jar href="KoreanAnalyzer-3x-120223.jar" /> -+ <jar href="LanguageTool-data.jar" /> -+ <jar href="languagetool-core-2.2.jar" /> -+ <jar href="morfologik-fsa-1.5.4.jar" /> -+ <jar href="morfologik-speller-1.5.4.jar" /> -+ <jar href="morfologik-stemming-1.5.4.jar" /> -+ <jar href="cjftransform-1.0.1.jar" /> -+ <jar href="ictclas4j-1.0.1.jar" /> -+ <jar href="segment-1.4.1.jar" /> -+ <jar href="lucene-gosen-2.0.2-ipadic.jar" /> -+ <jar href="pdfbox-app-1.8.1.jar" /> -+ <jar href="groovy-all-2.2.2.jar" /> -+ <jar href="diff.jar" /> -+ <jar href="SuperTMXMerge-for_OmegaT.jar" /> -+ <jar href="slf4j-api-1.7.7.jar" /> -+ <jar href="slf4j-jdk14-1.7.7.jar" /> -+ <jar href="trilead-ssh2-1.0.0-build217.jar" /> -+ <jar href="juniversalchardet-1.0.3.jar" /> -+ </resources> -+ <resources os="Linux" arch="amd64"> -+ <nativelib href="hunspell-linux64.jar" /> -+ </resources> -+ <resources os="Linux" arch="i386"> -+ <nativelib href="hunspell-linux32.jar" /> -+ </resources> -+ <resources os="MacOS" arch="x86_64"> -+ <nativelib href="hunspell-macos64.jar" /> -+ </resources> -+ <resources os="MacOS" arch="i386"> -+ <nativelib href="hunspell-macos32.jar" /> -+ </resources> -+ <resources os="Windows" arch="amd64"> -+ <nativelib href="hunspell-win64.jar" /> -+ </resources> -+ <resources os="Windows" arch="x86"> -+ <nativelib href="hunspell-win32.jar" /> -+ </resources> -+ </j2se> -+ <property name="javaws.cfg.jauthenticator" value="true" /> -+ </resources> -+ <application-desc main-class="org.omegat.Main" /> -+</jnlp> -\ No newline at end of file -diff -r dbb8dc397d15 -r 4abd0f089773 tests/netx/unit/net/sourceforge/jnlp/util/FileUtilsTest.java ---- a/tests/netx/unit/net/sourceforge/jnlp/util/FileUtilsTest.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/tests/netx/unit/net/sourceforge/jnlp/util/FileUtilsTest.java Fri Mar 02 10:41:29 2018 +0100 -@@ -37,6 +37,9 @@ - package net.sourceforge.jnlp.util; - - import java.io.File; -+import java.nio.file.Files; -+import java.nio.file.attribute.AclEntry; -+import java.nio.file.attribute.AclFileAttributeView; - import java.util.ArrayList; - import java.util.Arrays; - import java.util.List; -diff -r dbb8dc397d15 -r 4abd0f089773 tests/reproducers/custom/JavaFx/resources/JavaFx.jar -Binary file tests/reproducers/custom/JavaFx/resources/JavaFx.jar has changed -diff -r dbb8dc397d15 -r 4abd0f089773 tests/reproducers/custom/JavaFx/resources/JavaFx.jnlp ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/tests/reproducers/custom/JavaFx/resources/JavaFx.jnlp Fri Mar 02 10:41:29 2018 +0100 -@@ -0,0 +1,15 @@ -+<?xml version="1.0" encoding="utf-8"?> -+<jnlp spec="1.0" xmlns:jfx="http://javafx.com" > -+ <information> -+ <title>JavaFx</title> -+ <vendor>ITW</vendor> -+ <description>JavaFx</description> -+ <offline-allowed/> -+ </information> -+ <resources> -+ <j2se version="1.6+" href="http://java.sun.com/products/autodl/j2se"/> -+ <jar href="JavaFx.jar" size="2102" download="eager" /> -+ </resources> -+ <jfx:javafx-desc width="600" height="400" main-class="Main" name="JavaFXApp" /> -+ <update check="background"/> -+</jnlp> -diff -r dbb8dc397d15 -r 4abd0f089773 tests/reproducers/custom/JavaFx/srcs/Controller.java ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/tests/reproducers/custom/JavaFx/srcs/Controller.java Fri Mar 02 10:41:29 2018 +0100 -@@ -0,0 +1,11 @@ -+import javafx.fxml.FXML; -+import javafx.scene.text.Text; -+ -+public class Controller { -+ @FXML private Text text; -+ -+ @FXML -+ public void onPressButton() { -+ text.setVisible(true); -+ } -+} -diff -r dbb8dc397d15 -r 4abd0f089773 tests/reproducers/custom/JavaFx/srcs/Main.java ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/tests/reproducers/custom/JavaFx/srcs/Main.java Fri Mar 02 10:41:29 2018 +0100 -@@ -0,0 +1,23 @@ -+import javafx.application.Application; -+import javafx.fxml.FXMLLoader; -+import javafx.scene.Parent; -+import javafx.scene.Scene; -+import javafx.stage.Stage; -+ -+public class Main extends Application { -+ -+ @Override -+ public void start(Stage primaryStage) throws Exception { -+ Parent root = FXMLLoader.load(getClass().getResource("helloworld.fxml")); -+ primaryStage.setTitle("Hello World"); -+ primaryStage.setScene(new Scene(root, 500, 200)); -+ primaryStage.show(); -+ System.out.println("jnlp-javafx started"); -+ System.out.println("jnlp-javafx can be terminated"); -+ } -+ -+ -+ public static void main(String[] args) { -+ launch(args); -+ } -+} -diff -r dbb8dc397d15 -r 4abd0f089773 tests/reproducers/custom/JavaFx/srcs/Makefile ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/tests/reproducers/custom/JavaFx/srcs/Makefile Fri Mar 02 10:41:29 2018 +0100 -@@ -0,0 +1,25 @@ -+TESTNAME=JavaFx -+ -+JAVAC_CLASSPATH=$(TEST_EXTENSIONS_DIR):$(NETX_DIR)/lib/classes.jar -+JAVAC=$(EXPORTED_JAVAC) -+JAR=$(EXPORTED_JAR) -+JARSIGNER=$(EXPORTED_JARSIGNER) -+ -+TMPDIR:=$(shell mktemp -d) -+ -+prepare-reproducer: -+ echo PREPARING REPRODUCER $(TESTNAME) -+ #this test contains prebuild binary, as javafx, when installed on computer, preven ITW from building -+ #due to JSObject differennt implementation -+ #$(JAVAC) -d $(TMPDIR) -classpath $(JAVAC_CLASSPATH) Controller.java Main.java; \ -+ #cp helloworld.fxml $(TMPDIR) ; \ -+ #pushd $(TMPDIR); \ -+ #$(JAR) cf $(TESTNAME).jar *.class *.fxml; \ -+ #popd -+ #cp $(TMPDIR)/$(TESTNAME).jar $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ -+ cp ../resources/* $(REPRODUCERS_TESTS_SERVER_DEPLOYDIR); \ -+ rm -rf $(TMPDIR); \ -+ echo PREPARED REPRODUCER $(TESTNAME); \ -+ -+clean-reproducer: -+ echo NOTHING TO CLEAN FOR $(TESTNAME) -diff -r dbb8dc397d15 -r 4abd0f089773 tests/reproducers/custom/JavaFx/srcs/helloworld.fxml ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/tests/reproducers/custom/JavaFx/srcs/helloworld.fxml Fri Mar 02 10:41:29 2018 +0100 -@@ -0,0 +1,17 @@ -+<?xml version="1.0" encoding="UTF-8"?> -+ -+<?import javafx.scene.layout.GridPane?> -+<?import javafx.scene.text.Text?> -+<?import javafx.scene.control.Button?> -+<GridPane fx:controller="Controller" -+ xmlns:fx="http://javafx.com/fxml" -+ alignment="CENTER"> -+ <Text text="Hello" -+ GridPane.columnIndex="0" GridPane.rowIndex="0" GridPane.halignment="CENTER"/> -+ <Button fx:id="button" text="press if you're brave enough" -+ GridPane.columnIndex="0" GridPane.rowIndex="1" GridPane.halignment="CENTER" -+ onAction="#onPressButton"/> -+ <Text fx:id="text" text="BAF!" style="-fx-text-fill: red; -fx-font-size: 50; -fx-fill: red;" -+ GridPane.rowIndex="2" GridPane.columnIndex="0" GridPane.halignment="CENTER" -+ visible="false"/> -+</GridPane> -\ No newline at end of file -diff -r dbb8dc397d15 -r 4abd0f089773 tests/reproducers/custom/JavaFx/testcases/JavaFxTest.java ---- /dev/null Thu Jan 01 00:00:00 1970 +0000 -+++ b/tests/reproducers/custom/JavaFx/testcases/JavaFxTest.java Fri Mar 02 10:41:29 2018 +0100 -@@ -0,0 +1,81 @@ -+/* -+Copyright (C) 2014 Red Hat, Inc. -+ -+This file is part of IcedTea. -+ -+IcedTea is free software; you can redistribute it and/or -+modify it under the terms of the GNU General Public License as published by -+the Free Software Foundation, version 2. -+ -+IcedTea is distributed in the hope that it will be useful, -+but WITHOUT ANY WARRANTY; without even the implied warranty of -+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -+General Public License for more details. -+ -+You should have received a copy of the GNU General Public License -+along with IcedTea; see the file COPYING. If not, write to -+the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA -+02110-1301 USA. -+ -+Linking this library statically or dynamically with other modules is -+making a combined work based on this library. Thus, the terms and -+conditions of the GNU General Public License cover the whole -+combination. -+ -+As a special exception, the copyright holders of this library give you -+permission to link this library with independent modules to produce an -+executable, regardless of the license terms of these independent -+modules, and to copy and distribute the resulting executable under -+terms of your choice, provided that you also meet, for each linked -+independent module, the terms and conditions of the license of that -+module. An independent module is a module which is not derived from -+or based on this library. If you modify this library, you may extend -+this exception to your version of the library, but you are not -+obligated to do so. If you do not wish to do so, delete this -+exception statement from your version. -+ */ -+ -+import java.util.Arrays; -+import net.sourceforge.jnlp.OptionsDefinitions; -+import org.junit.Assert; -+import org.junit.Test; -+ -+import net.sourceforge.jnlp.ProcessResult; -+import net.sourceforge.jnlp.ServerAccess; -+import net.sourceforge.jnlp.annotations.NeedsDisplay; -+import net.sourceforge.jnlp.closinglisteners.StringBasedClosingListener; -+ -+public class JavaFxTest { -+ -+ private static final String correct = "jnlp-javafx started"; -+ private static final String done = "jnlp-javafx can be terminated"; -+ public static final ServerAccess server = new ServerAccess(); -+ -+ /* -+ * Randomly seeing: -+ * -+(javaws:13906): Gdk-ERROR **: The program 'javaws' received an X Window System error. -+This probably reflects a bug in the program. -+The error was 'RenderBadPicture (invalid Picture parameter)'. -+ (Details: serial 7754 error_code 141 request_code 138 minor_code 7) -+ (Note to programmers: normally, X errors are reported asynchronously; -+ that is, you will receive the error a while after causing it. -+ To debug your program, run it with the --sync command line -+ option to change this behavior. You can then get a meaningful -+ backtrace from your debugger if you break on the gdk_x_error() function.) -+ -+ * Suprsing is, that awt splasshcreen is visible, and after it also itw error dialogue is visible -+ */ -+ @Test -+ @NeedsDisplay -+ public void testJavawsJNLP() throws Exception { -+ ProcessResult pr = server.executeJavaws( -+ Arrays.asList(new String[]{OptionsDefinitions.OPTIONS.NOSEC.option, OptionsDefinitions.OPTIONS.HEADLESS.option}), -+ "/JavaFx.jnlp", -+ new StringBasedClosingListener(done), -+ new StringBasedClosingListener("xceptionxception")); -+ System.out.println(pr.stdout); -+ System.out.println(pr.stderr); -+ Assert.assertTrue("stdout should contain " + correct + ", but it didnt.", pr.stdout.contains(correct)); -+ } -+} -diff -r dbb8dc397d15 -r 4abd0f089773 tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java ---- a/tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java Fri Mar 02 10:41:29 2018 +0100 -@@ -327,7 +327,7 @@ - ProcessWrapper pw1 = new ProcessWrapper(); - pw1.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath() -+ server.getItwebSettingsFile().getAbsolutePath() - })); - pw1.setVars(setXdgVAlues(tmp, tmp)); - ProcessResult pr1 = pw1.execute(); -@@ -335,7 +335,7 @@ - ProcessWrapper pw2 = new ProcessWrapper(); - pw2.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath(), -+ server.getItwebSettingsFile().getAbsolutePath(), - //one impl of new parser was unable to handle duplicates - "set", "oldBaf", "differentOldBaf" - })); -@@ -796,7 +796,7 @@ - ProcessWrapper pw = new ProcessWrapper(); - pw.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath() -+ server.getItwebSettingsFile().getAbsolutePath() - })); - pw.setVars(removeXdgVAlues()); - ProcessResult pr = pw.execute(); -@@ -819,7 +819,7 @@ - ProcessWrapper pw = new ProcessWrapper(); - pw.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath() -+ server.getItwebSettingsFile().getAbsolutePath() - })); - pw.setVars(setXdgVAlues(f)); - ProcessResult pr = pw.execute(); -@@ -846,7 +846,7 @@ - ProcessWrapper pw1 = new ProcessWrapper(); - pw1.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath() -+ server.getItwebSettingsFile().getAbsolutePath() - })); - pw1.setVars(removeXdgVAlues()); - ProcessResult pr1 = pw1.execute(); -@@ -857,7 +857,7 @@ - ProcessWrapper pw2 = new ProcessWrapper(); - pw2.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath() -+ server.getItwebSettingsFile().getAbsolutePath() - })); - pw2.setVars(removeXdgVAlues()); - ProcessResult pr2 = pw2.execute(); -@@ -882,7 +882,7 @@ - ProcessWrapper pw1 = new ProcessWrapper(); - pw1.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath() -+ server.getItwebSettingsFile().getAbsolutePath() - })); - pw1.setVars(setXdgVAlues(f)); - ProcessResult pr = pw1.execute(); -@@ -892,7 +892,7 @@ - ProcessWrapper pw2 = new ProcessWrapper(); - pw2.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath() -+ server.getItwebSettingsFile().getAbsolutePath() - })); - pw2.setVars(removeXdgVAlues()); - ProcessResult pr2 = pw2.execute(); -@@ -918,7 +918,7 @@ - ProcessWrapper pw = new ProcessWrapper(); - pw.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath(), -+ server.getItwebSettingsFile().getAbsolutePath(), - //one impl of new parser was unable to handle duplicates - "set", "blah", "differentBlah" - })); -@@ -944,7 +944,7 @@ - ProcessWrapper pw = new ProcessWrapper(); - pw.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath(), -+ server.getItwebSettingsFile().getAbsolutePath(), - //one impl of new parser was unable to handle duplicates - "set", "blah", "differentBlah" - })); -@@ -974,7 +974,7 @@ - ProcessWrapper pw1 = new ProcessWrapper(); - pw1.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath(), -+ server.getItwebSettingsFile().getAbsolutePath(), - //one impl of new parser was unable to handle duplicates - "set", "blah", "differentBlah" - })); -@@ -988,7 +988,7 @@ - ProcessWrapper pw2 = new ProcessWrapper(); - pw2.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath(), -+ server.getItwebSettingsFile().getAbsolutePath(), - //one impl of new parser was unable to handle duplicates - "set", "baf", "differentBaf" - })); -@@ -1016,7 +1016,7 @@ - ProcessWrapper pw1 = new ProcessWrapper(); - pw1.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath(), -+ server.getItwebSettingsFile().getAbsolutePath(), - //one impl of new parser was unable to handle duplicates - "set", "blah", "differentBlah" - })); -@@ -1029,7 +1029,7 @@ - ProcessWrapper pw2 = new ProcessWrapper(); - pw2.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath(), -+ server.getItwebSettingsFile().getAbsolutePath(), - //one impl of new parser was unable to handle duplicates - "set", "baf", "differentBaf" - })); -@@ -1197,7 +1197,7 @@ - ProcessWrapper pw = new ProcessWrapper(); - pw.setArgs(Arrays.asList( - new String[]{ -- new File(server.getJavawsFile().getParentFile(), "itweb-settings").getAbsolutePath(), -+ server.getItwebSettingsFile().getAbsolutePath(), - //one impl of new parser was unable to handle duplicates - "set", "blah", "blah" - })); -diff -r dbb8dc397d15 -r 4abd0f089773 tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java ---- a/tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java Mon Dec 18 13:22:51 2017 +0100 -+++ b/tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java Fri Mar 02 10:41:29 2018 +0100 -@@ -325,6 +325,34 @@ - public File getJavawsFile() { - return new File(System.getProperty(JAVAWS_BUILD_BIN)); - } -+ -+ /** -+ * -+ * @return - file pointing to itweb-settings deducted from passed inside -+ * javaws binary location (JAVAWS_BUILD_BIN) -+ */ -+ public File getItwebSettingsFile() { -+ String itwebSettings = "itweb-settings"; -+ return getFileInJavawsDir(itwebSettings); -+ } -+ -+ /** -+ * -+ * @return - file pointing to itweb-settings deducted from passed inside -+ * javaws binary location (JAVAWS_BUILD_BIN) -+ */ -+ public File getIPolicyEditorFile() { -+ String policyeditor = "policyeditor"; -+ return getFileInJavawsDir(policyeditor); -+ } -+ -+ private File getFileInJavawsDir(String file) { -+ String javawsNameRoot = "javaws"; -+ File dir = getJavawsFile().getParentFile(); -+ String name = getJavawsFile().getName(); -+ String nwName = name.replace(javawsNameRoot, file); -+ return new File(dir, nwName); -+ } - - /** - * diff --git a/SOURCES/PreventiveleQueue.patch b/SOURCES/PreventiveleQueue.patch deleted file mode 100644 index 1198bab..0000000 --- a/SOURCES/PreventiveleQueue.patch +++ /dev/null @@ -1,23 +0,0 @@ -commit 5437234c59f6c375a8ad0b07f93d459eefd571ba -Author: Jiri Vanek <jvanek@redhat.com> -Date: Tue Jul 9 12:10:39 2019 +0200 - - Preventively, hash also .. in queue - -diff --git a/netx/net/sourceforge/jnlp/cache/CacheUtil.java b/netx/net/sourceforge/jnlp/cache/CacheUtil.java -index 5c8652b6..15e8865c 100644 ---- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java -+++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java -@@ -703,7 +703,11 @@ public class CacheUtil { - path.append(File.separatorChar); - } - String locationPath = location.getPath().replace('/', File.separatorChar); -- if (locationPath.contains("..")){ -+ String query = ""; -+ if (location.getQuery() != null) { -+ query = location.getQuery(); -+ } -+ if (locationPath.contains("..") || query.contains("..")){ - try { - /** - * if path contains .. then it can harm lcoal system diff --git a/SOURCES/altjava.patch b/SOURCES/altjava.patch index 5a7e54e..017b592 100644 --- a/SOURCES/altjava.patch +++ b/SOURCES/altjava.patch @@ -1,6 +1,6 @@ ---- icedtea-web-1.7.1/launcher/launchers.in -+++ icedtea-web-1.7.1/launcher/launchers.in -@@ -70,6 +70,12 @@ +--- IcedTea-Web-icedtea-web-1.8.4/shell-launcher/launchers.sh.in ++++ iIcedTea-Web-cedtea-web-1.8.4/shell-launcher/launchers.sh.in +@@ -193,6 +193,12 @@ shift done @@ -10,7 +10,31 @@ + JAVA="`dirname ${JAVA}`/$alt_java" +fi + + # TODO: inline args without using COMMAND[array] to unify linux/windows scripts k=0 COMMAND[k]="${JAVA}" - k=$((k+1)) - +--- IcedTea-Web-icedtea-web-1.8.4/rust-launcher/src/os_access.rs ++++ IcedTea-Web-icedtea-web-1.8.4/rust-launcher/src/os_access.rs +@@ -5,9 +5,19 @@ + use log_helper; + + pub fn create_java_cmd(os: &Os,jre_dir: &std::path::PathBuf, args: &Vec<String>) -> std::process::Command { +- let mut bin_java = jre_dir.clone(); +- bin_java.push("bin"); +- bin_java.push("java"); ++ let mut alt_bin_java = jre_dir.clone(); ++ alt_bin_java.push("bin"); ++ alt_bin_java.push("alt-java"); ++ let mut bin_java; ++ if alt_bin_java.exists() { ++ os.log("itw-rust-debug: alt-java found"); ++ bin_java = alt_bin_java; ++ } else { ++ os.log("itw-rust-debug: alt-java NOT found"); ++ bin_java = jre_dir.clone(); ++ bin_java.push("bin"); ++ bin_java.push("java"); ++ } + let mut cmd = std::process::Command::new(&bin_java); + for ar in args.into_iter() { + cmd.arg(ar); diff --git a/SOURCES/fed2f5b-22402bb.patch b/SOURCES/fed2f5b-22402bb.patch new file mode 100644 index 0000000..c2bcfa3 --- /dev/null +++ b/SOURCES/fed2f5b-22402bb.patch @@ -0,0 +1,735 @@ +diff --git a/Makefile.am b/Makefile.am +index 3f73cff7..1112bf49 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -956,10 +956,10 @@ if ENABLE_NATIVE_LAUNCHERS + # there is curently harecoded sh, so it can somehow basically work + # see the DESKTOP_SUFFIX for final tuning + launcher.build/$(javaws) launcher.build/$(itweb_settings) launcher.build/$(policyeditor): rust-launcher/src/main.rs rust-launcher/Cargo.toml +- export ITW_TMP_REPLACEMENT=$(TESTS_DIR)/rust_tests_tmp ; \ +- mkdir -p $$ITW_TMP_REPLACEMENT; \ + filename=`basename $@` ; \ + type=$${filename%.*} ; \ ++ export ITW_TMP_REPLACEMENT=$(TESTS_DIR)/rust_tests_tmp/$$type ; \ ++ mkdir -p $$ITW_TMP_REPLACEMENT; \ + srcs=$(TOP_SRC_DIR)/rust-launcher ; \ + outs=$(TOP_BUILD_DIR)/launcher.in.$$type ; \ + mkdir -p launcher.build ; \ +diff --git a/configure.ac b/configure.ac +index 5bcb1046..03796e39 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -71,7 +71,7 @@ AM_CONDITIONAL([ENABLE_NATIVE_LAUNCHERS], [test ! x"$RUSTC" = x -a ! x"$CARGO" = + build_linux=no + build_windows=no + case "${host_os}" in +- linux*) ++ linux*|freebsd*) + build_linux=yes + ;; + cygwin*) +diff --git a/netx/net/sourceforge/jnlp/Launcher.java b/netx/net/sourceforge/jnlp/Launcher.java +index bcfd7b34..1ff42421 100644 +--- a/netx/net/sourceforge/jnlp/Launcher.java ++++ b/netx/net/sourceforge/jnlp/Launcher.java +@@ -552,7 +552,7 @@ public class Launcher { + } + + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, "Starting application [" + mainName + "] ..."); +- ++ + Class<?> mainClass = app.getClassLoader().loadClass(mainName); + + Method main = mainClass.getMethod("main", new Class<?>[] { String[].class }); +@@ -572,6 +572,7 @@ public class Launcher { + + main.setAccessible(true); + ++ JNLPRuntime.addStartupTrackingEntry("invoking main()"); + OutputController.getLogger().log("Invoking main() with args: " + Arrays.toString(args)); + main.invoke(null, new Object[] { args }); + +diff --git a/netx/net/sourceforge/jnlp/OptionsDefinitions.java b/netx/net/sourceforge/jnlp/OptionsDefinitions.java +index c87b4a79..16ef46d3 100644 +--- a/netx/net/sourceforge/jnlp/OptionsDefinitions.java ++++ b/netx/net/sourceforge/jnlp/OptionsDefinitions.java +@@ -78,6 +78,7 @@ public class OptionsDefinitions { + JNLP("-jnlp","BOJnlp", NumberOfArguments.ONE), + HTML("-html","BOHtml", NumberOfArguments.ONE_OR_MORE), + BROWSER("-browser", "BrowserArg", NumberOfArguments.ONE_OR_MORE), ++ STARTUP_TRACKER("-startuptracker","BOStartupTracker"), + //itweb settings + LIST("-list", "IBOList"), + GET("-get", "name", "IBOGet", NumberOfArguments.ONE_OR_MORE), +@@ -222,7 +223,8 @@ public class OptionsDefinitions { + OPTIONS.TRUSTNONE, + OPTIONS.JNLP, + OPTIONS.HTML, +- OPTIONS.BROWSER ++ OPTIONS.BROWSER, ++ OPTIONS.STARTUP_TRACKER + }); + } + +diff --git a/netx/net/sourceforge/jnlp/cache/CacheEntry.java b/netx/net/sourceforge/jnlp/cache/CacheEntry.java +index 3a241acb..c5f1f329 100644 +--- a/netx/net/sourceforge/jnlp/cache/CacheEntry.java ++++ b/netx/net/sourceforge/jnlp/cache/CacheEntry.java +@@ -47,6 +47,8 @@ public class CacheEntry { + /** info about the cached file */ + private final PropertiesFile properties; + ++ private File localFile; ++ + /** + * Create a CacheEntry for the resources specified as a remote + * URL. +@@ -58,8 +60,8 @@ public class CacheEntry { + this.location = location; + this.version = version; + +- File infoFile = CacheUtil.getCacheFile(location, version); +- infoFile = new File(infoFile.getPath() + CacheDirectory.INFO_SUFFIX); // replace with something that can't be clobbered ++ this.localFile = CacheUtil.getCacheFile(location, version); ++ File infoFile = new File(localFile.getPath() + CacheDirectory.INFO_SUFFIX); // replace with something that can't be clobbered + + properties = new PropertiesFile(infoFile, R("CAutoGen")); + } +@@ -130,7 +132,11 @@ public class CacheEntry { + * @return whether the cache contains the version + */ + public boolean isCurrent(long lastModified) { +- boolean cached = isCached(); ++ return isCurrent(lastModified, null); ++ } ++ ++ public boolean isCurrent(long lastModified, File cachedFile) { ++ boolean cached = isCached(cachedFile); + OutputController.getLogger().log("isCurrent:isCached " + cached); + + if (!cached) { +@@ -153,7 +159,16 @@ public class CacheEntry { + * @return true if the resource is in the cache + */ + public boolean isCached() { +- File localFile = getCacheFile(); ++ return isCached(null); ++ } ++ ++ public boolean isCached(File cachedFile) { ++ final File localFile; ++ if (null == version && null != cachedFile) { ++ localFile = cachedFile; ++ } else { ++ localFile = getCacheFile(); ++ } + if (!localFile.exists()) + return false; + +@@ -224,4 +239,7 @@ public class CacheEntry { + return properties.isHeldByCurrentThread(); + } + ++ public File getLocalFile() { ++ return localFile; ++ } + } +diff --git a/netx/net/sourceforge/jnlp/cache/CacheUtil.java b/netx/net/sourceforge/jnlp/cache/CacheUtil.java +index 486421b9..d298d203 100644 +--- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java ++++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java +@@ -422,14 +422,13 @@ public class CacheUtil { + * @return whether the cache contains the version + * @throws IllegalArgumentException if the source is not cacheable + */ +- public static boolean isCurrent(URL source, Version version, long lastModifed) { ++ public static boolean isCurrent(URL source, Version version, long lastModifed, CacheEntry entry, File cachedFile) { + + if (!isCacheable(source, version)) + throw new IllegalArgumentException(R("CNotCacheable", source)); + + try { +- CacheEntry entry = new CacheEntry(source, version); // could pool this +- boolean result = entry.isCurrent(lastModifed); ++ boolean result = entry.isCurrent(lastModifed, cachedFile); + + OutputController.getLogger().log("isCurrent: " + source + " = " + result); + +@@ -796,6 +795,8 @@ public class CacheUtil { + } + URL undownloaded[] = urlList.toArray(new URL[urlList.size()]); + ++ final int maxUrls = Integer.parseInt(JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_MAX_URLS_DOWNLOAD_INDICATOR)); ++ + listener = indicator.getListener(app, title, undownloaded); + + do { +@@ -810,20 +811,30 @@ public class CacheUtil { + + int percent = (int) ((100 * read) / Math.max(1, total)); + ++ int urlCounter = 0; + for (URL url : undownloaded) { ++ if (urlCounter > maxUrls) { ++ break; ++ } + listener.progress(url, "version", + tracker.getAmountRead(url), + tracker.getTotalSize(url), + percent); ++ urlCounter += 1; + } + } while (!tracker.waitForResources(resources, indicator.getUpdateRate())); + + // make sure they read 100% until indicator closes ++ int urlCounter = 0; + for (URL url : undownloaded) { ++ if (urlCounter > maxUrls) { ++ break; ++ } + listener.progress(url, "version", + tracker.getTotalSize(url), + tracker.getTotalSize(url), + 100); ++ urlCounter += 1; + } + } catch (InterruptedException ex) { + OutputController.getLogger().log(ex); +diff --git a/netx/net/sourceforge/jnlp/cache/CachedDaemonThreadPoolProvider.java b/netx/net/sourceforge/jnlp/cache/CachedDaemonThreadPoolProvider.java +index 1cd4df23..ff48662d 100644 +--- a/netx/net/sourceforge/jnlp/cache/CachedDaemonThreadPoolProvider.java ++++ b/netx/net/sourceforge/jnlp/cache/CachedDaemonThreadPoolProvider.java +@@ -36,9 +36,14 @@ + exception statement from your version. */ + package net.sourceforge.jnlp.cache; + ++import net.sourceforge.jnlp.config.DeploymentConfiguration; ++import net.sourceforge.jnlp.runtime.JNLPRuntime; ++ + import java.util.concurrent.ExecutorService; +-import java.util.concurrent.Executors; ++import java.util.concurrent.LinkedBlockingQueue; + import java.util.concurrent.ThreadFactory; ++import java.util.concurrent.ThreadPoolExecutor; ++import java.util.concurrent.TimeUnit; + import java.util.concurrent.atomic.AtomicInteger; + + public class CachedDaemonThreadPoolProvider { +@@ -81,6 +86,19 @@ public class CachedDaemonThreadPoolProvider { + } + } + +- public static final ExecutorService DAEMON_THREAD_POOL = Executors.newCachedThreadPool(new DaemonThreadFactory()); ++ public static synchronized ExecutorService getThreadPool() { ++ if (null == DAEMON_THREAD_POOL) { ++ final int nThreads = Integer.parseInt(JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_BACKGROUND_THREADS_COUNT)); ++ ThreadPoolExecutor pool = new ThreadPoolExecutor(nThreads, nThreads, ++ 60L, TimeUnit.SECONDS, ++ new LinkedBlockingQueue<Runnable>(), ++ new DaemonThreadFactory()); ++ pool.allowCoreThreadTimeOut(true); ++ DAEMON_THREAD_POOL = pool; ++ } ++ return DAEMON_THREAD_POOL; ++ } ++ ++ private static ExecutorService DAEMON_THREAD_POOL = null; + + } +diff --git a/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java b/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java +index 643b46fd..e0a123bb 100644 +--- a/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java ++++ b/netx/net/sourceforge/jnlp/cache/ResourceDownloader.java +@@ -153,7 +153,12 @@ public class ResourceDownloader implements Runnable { + URLConnection connection = ConnectionFactory.getConnectionFactory().openConnection(location.URL); // this won't change so should be okay not-synchronized + connection.addRequestProperty("Accept-Encoding", "pack200-gzip, gzip"); + +- File localFile = CacheUtil.getCacheFile(resource.getLocation(), resource.getDownloadVersion()); ++ File localFile = null; ++ if (resource.getRequestVersion() == resource.getDownloadVersion()) { ++ localFile = entry.getLocalFile(); ++ } else { ++ localFile = CacheUtil.getCacheFile(resource.getLocation(), resource.getDownloadVersion()); ++ } + Long size = location.length; + if (size == null) { + size = connection.getContentLengthLong(); +@@ -162,7 +167,7 @@ public class ResourceDownloader implements Runnable { + if (lm == null) { + lm = connection.getLastModified(); + } +- boolean current = CacheUtil.isCurrent(resource.getLocation(), resource.getRequestVersion(), lm) && resource.getUpdatePolicy() != UpdatePolicy.FORCE; ++ boolean current = CacheUtil.isCurrent(resource.getLocation(), resource.getRequestVersion(), lm, entry, localFile) && resource.getUpdatePolicy() != UpdatePolicy.FORCE; + if (!current) { + if (entry.isCached()) { + entry.markForDelete(); +diff --git a/netx/net/sourceforge/jnlp/cache/ResourceTracker.java b/netx/net/sourceforge/jnlp/cache/ResourceTracker.java +index f4ad69be..972a10cf 100644 +--- a/netx/net/sourceforge/jnlp/cache/ResourceTracker.java ++++ b/netx/net/sourceforge/jnlp/cache/ResourceTracker.java +@@ -28,10 +28,7 @@ import static net.sourceforge.jnlp.cache.Resource.Status.PROCESSING; + import java.io.File; + import java.net.MalformedURLException; + import java.net.URL; +-import java.util.ArrayList; +-import java.util.Collection; +-import java.util.EnumSet; +-import java.util.List; ++import java.util.*; + + import net.sourceforge.jnlp.DownloadOptions; + import net.sourceforge.jnlp.Version; +@@ -105,6 +102,7 @@ public class ResourceTracker { + + /** the resources known about by this resource tracker */ + private final List<Resource> resources = new ArrayList<>(); ++ private final HashMap<String, Resource> resourcesMap = new HashMap<>(); + + /** download listeners for this tracker */ + private final List<DownloadListener> listeners = new ArrayList<>(); +@@ -155,6 +153,7 @@ public class ResourceTracker { + return; + resource.addTracker(this); + resources.add(resource); ++ resourcesMap.put(location.toString(), resource); + } + + if (options == null) { +@@ -190,6 +189,7 @@ public class ResourceTracker { + + if (resource != null) { + resources.remove(resource); ++ resourcesMap.remove(location.toString()); + resource.removeTracker(this); + } + +@@ -508,7 +508,7 @@ public class ResourceTracker { + * @param resource resource to be download + */ + protected void startDownloadThread(Resource resource) { +- CachedDaemonThreadPoolProvider.DAEMON_THREAD_POOL.execute(new ResourceDownloader(resource, lock)); ++ CachedDaemonThreadPoolProvider.getThreadPool().execute(new ResourceDownloader(resource, lock)); + } + + static Resource selectByFilter(Collection<Resource> source, Filter<Resource> filter) { +@@ -569,6 +569,12 @@ public class ResourceTracker { + */ + private Resource getResource(URL location) { + synchronized (resources) { ++ if (null != location) { ++ Resource res = resourcesMap.get(location.toString()); ++ if (null != res && UrlUtils.urlEquals(res.getLocation(), location)) { ++ return res; ++ } ++ } + for (Resource resource : resources) { + if (UrlUtils.urlEquals(resource.getLocation(), location)) + return resource; +diff --git a/netx/net/sourceforge/jnlp/config/Defaults.java b/netx/net/sourceforge/jnlp/config/Defaults.java +index 8e316e4f..78f9b3e6 100644 +--- a/netx/net/sourceforge/jnlp/config/Defaults.java ++++ b/netx/net/sourceforge/jnlp/config/Defaults.java +@@ -466,6 +466,21 @@ public class Defaults { + BasicValueValidators.getRangedIntegerValidator(0, 1000), + String.valueOf(10)// treshold when applet is considered as too small + }, ++ { ++ DeploymentConfiguration.KEY_ENABLE_CACHE_FSYNC, ++ BasicValueValidators.getBooleanValidator(), ++ String.valueOf(false) ++ }, ++ { ++ DeploymentConfiguration.KEY_BACKGROUND_THREADS_COUNT, ++ BasicValueValidators.getRangedIntegerValidator(1, 16), ++ String.valueOf(3) ++ }, ++ { ++ DeploymentConfiguration.KEY_MAX_URLS_DOWNLOAD_INDICATOR, ++ BasicValueValidators.getRangedIntegerValidator(1, 1024), ++ String.valueOf(16) ++ }, + //************** + //* Native (rust) only - beggin + //************** +diff --git a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java +index de7425e3..84f77075 100644 +--- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java ++++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java +@@ -250,7 +250,10 @@ public final class DeploymentConfiguration { + public static final String KEY_SMALL_SIZE_OVERRIDE_TRESHOLD = "deployment.small.size.treshold"; + public static final String KEY_SMALL_SIZE_OVERRIDE_WIDTH = "deployment.small.size.override.width"; + public static final String KEY_SMALL_SIZE_OVERRIDE_HEIGHT = "deployment.small.size.override.height"; +- ++ public static final String KEY_ENABLE_CACHE_FSYNC = "deployment.enable.cache.fsync"; ++ public static final String KEY_BACKGROUND_THREADS_COUNT = "deployment.background.threads.count"; ++ public static final String KEY_MAX_URLS_DOWNLOAD_INDICATOR = "deployment.max.urls.download.indicator"; ++ + public static final String TRANSFER_TITLE = "Legacy configuration and cache found. Those will be now transported to new locations"; + + private ConfigurationException loadingException = null; +diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties b/netx/net/sourceforge/jnlp/resources/Messages.properties +index 773f134b..0e87bce3 100644 +--- a/netx/net/sourceforge/jnlp/resources/Messages.properties ++++ b/netx/net/sourceforge/jnlp/resources/Messages.properties +@@ -357,6 +357,7 @@ BXoffline = Prevent ITW network connection. Only cache will be used. Applicati + BOHelp1 = Prints out information about supported command and basic usage. + BOHelp2 = Prints out information about supported command and basic usage. Can also take an parameter, and then it prints detailed help for this command. + BOTrustnone = Instead of asking user, will foretold all answers as no. ++BOStartupTracker = Enable startup time tracker + + # Itweb-settings boot commands + IBOList=Shows a list of all the IcedTea-Web settings and their current values. +diff --git a/netx/net/sourceforge/jnlp/runtime/Boot.java b/netx/net/sourceforge/jnlp/runtime/Boot.java +index 7317b989..a9990909 100644 +--- a/netx/net/sourceforge/jnlp/runtime/Boot.java ++++ b/netx/net/sourceforge/jnlp/runtime/Boot.java +@@ -107,6 +107,10 @@ public final class Boot implements PrivilegedAction<Void> { + + optionParser = new OptionParser(argsIn, OptionsDefinitions.getJavaWsOptions()); + ++ if (optionParser.hasOption(OptionsDefinitions.OPTIONS.STARTUP_TRACKER)) { ++ JNLPRuntime.initStartupTracker(); ++ } ++ + if (optionParser.hasOption(OptionsDefinitions.OPTIONS.VERBOSE)) { + JNLPRuntime.setDebug(true); + } +diff --git a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java +index 9746f5d0..811d132e 100644 +--- a/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java ++++ b/netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java +@@ -43,6 +43,7 @@ import java.io.FileOutputStream; + import java.io.IOException; + import java.io.InputStream; + import java.io.OutputStream; ++import java.net.URISyntaxException; + import java.net.URL; + import java.net.URLConnection; + import java.security.AccessController; +@@ -103,9 +104,11 @@ final class CachedJarFileCallback implements URLJarFileCallBack { + + if (UrlUtils.isLocalFile(localUrl)) { + // if it is known to us, just return the cached file +- JarFile returnFile = new JarFile(localUrl.getPath()); ++ JarFile returnFile=null; + + try { ++ localUrl.toURI().getPath(); ++ returnFile = new JarFile(localUrl.toURI().getPath()); + + // Blank out the class-path because: + // 1) Web Start does not support it +@@ -117,6 +120,8 @@ final class CachedJarFileCallback implements URLJarFileCallBack { + + } catch (NullPointerException npe) { + // Discard NPE here. Maybe there was no manifest, maybe there were no attributes, etc. ++ } catch (URISyntaxException e) { ++ // should not happen as localUrl was built using localFile.toURI().toURL(), see JNLPClassLoader.activateJars(List<JARDesc>) + } + + return returnFile; +diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java +index 3785707a..77576fdd 100644 +--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java ++++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java +@@ -709,7 +709,9 @@ public class JNLPClassLoader extends URLClassLoader { + fillInPartJars(initialJars); // add in each initial part's lazy jars + } + ++ JNLPRuntime.addStartupTrackingEntry("JARs download enter"); + waitForJars(initialJars); //download the jars first. ++ JNLPRuntime.addStartupTrackingEntry("JARs download complete"); + + //A ZipException will propagate later on if the jar is invalid and not checked here + if (shouldFilterInvalidJars()) { +diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java +index 295744db..919f78fd 100644 +--- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java ++++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java +@@ -170,6 +170,7 @@ public class JNLPRuntime { + + private static Boolean onlineDetected = null; + ++ private static long startupTrackerMoment = 0; + + /** + * Header is not checked and so eg +@@ -891,6 +892,19 @@ public class JNLPRuntime { + JNLPRuntime.ignoreHeaders = ignoreHeaders; + } + ++ // may only be called from Boot ++ public static void initStartupTracker() { ++ startupTrackerMoment = System.currentTimeMillis(); ++ } ++ ++ public static void addStartupTrackingEntry(String message) { ++ if (startupTrackerMoment > 0) { ++ long time = (System.currentTimeMillis() - startupTrackerMoment)/1000; ++ String msg = "Startup tracker: seconds elapsed: [" + time + "], message: [" + message + "]"; ++ OutputController.getLogger().log(OutputController.Level.ERROR_ALL, msg); ++ } ++ } ++ + private static boolean isPluginDebug() { + if (pluginDebug == null) { + try { +diff --git a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java +index eb26dc69..7fd5d92f 100644 +--- a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java ++++ b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java +@@ -39,15 +39,18 @@ import java.util.Enumeration; + import java.util.HashMap; + import java.util.List; + import java.util.Map; +-import java.util.Vector; ++import java.util.concurrent.Callable; ++import java.util.concurrent.Future; + import java.util.jar.JarEntry; + import java.util.regex.Pattern; + + import net.sourceforge.jnlp.JARDesc; + import net.sourceforge.jnlp.JNLPFile; + import net.sourceforge.jnlp.LaunchException; ++import net.sourceforge.jnlp.cache.CachedDaemonThreadPoolProvider; + import net.sourceforge.jnlp.cache.ResourceTracker; + import net.sourceforge.jnlp.runtime.JNLPClassLoader.SecurityDelegate; ++import net.sourceforge.jnlp.runtime.JNLPRuntime; + import net.sourceforge.jnlp.security.AppVerifier; + import net.sourceforge.jnlp.security.CertVerifier; + import net.sourceforge.jnlp.security.CertificateUtils; +@@ -226,37 +229,36 @@ public class JarCertVerifier implements CertVerifier { + private void verifyJars(List<JARDesc> jars, ResourceTracker tracker) + throws Exception { + ++ List<String> filesToVerify = new ArrayList<>(); + for (JARDesc jar : jars) { ++ File jarFile = tracker.getCacheFile(jar.getLocation()); + +- try { +- +- File jarFile = tracker.getCacheFile(jar.getLocation()); +- +- // some sort of resource download/cache error. Nothing to add +- // in that case ... but don't fail here +- if (jarFile == null) { +- continue; +- } ++ // some sort of resource download/cache error. Nothing to add ++ // in that case ... but don't fail here ++ if (jarFile == null) { ++ continue; ++ } + +- String localFile = jarFile.getAbsolutePath(); +- if (verifiedJars.contains(localFile) +- || unverifiedJars.contains(localFile)) { +- continue; +- } ++ String localFile = jarFile.getAbsolutePath(); ++ if (verifiedJars.contains(localFile) ++ || unverifiedJars.contains(localFile)) { ++ continue; ++ } + +- VerifyResult result = verifyJar(localFile); ++ filesToVerify.add(localFile); ++ } + +- if (result == VerifyResult.UNSIGNED) { +- unverifiedJars.add(localFile); +- } else if (result == VerifyResult.SIGNED_NOT_OK) { +- verifiedJars.add(localFile); +- } else if (result == VerifyResult.SIGNED_OK) { +- verifiedJars.add(localFile); +- } +- } catch (Exception e) { +- // We may catch exceptions from using verifyJar() +- // or from checkTrustedCerts +- throw e; ++ List<VerifiedJarFile> verified = verifyJarsParallel(filesToVerify); ++ ++ for (VerifiedJarFile vjf : verified) { ++ VerifyResult result = verifyJarEntryCerts(vjf.file, vjf.hasManifest, vjf.entriesVec); ++ String localFile = vjf.file; ++ if (result == VerifyResult.UNSIGNED) { ++ unverifiedJars.add(localFile); ++ } else if (result == VerifyResult.SIGNED_NOT_OK) { ++ verifiedJars.add(localFile); ++ } else if (result == VerifyResult.SIGNED_OK) { ++ verifiedJars.add(localFile); + } + } + +@@ -264,6 +266,31 @@ public class JarCertVerifier implements CertVerifier { + checkTrustedCerts(certPath); + } + ++ private List<VerifiedJarFile> verifyJarsParallel(List<String> files) throws Exception { ++ JNLPRuntime.addStartupTrackingEntry("JARs verification enter"); ++ List<Callable<VerifiedJarFile>> callables = new ArrayList<>(files.size()); ++ for (final String fi : files) { ++ callables.add(new Callable<VerifiedJarFile>() { ++ @Override ++ public VerifiedJarFile call() throws Exception { ++ return verifyJar(fi); ++ } ++ }); ++ } ++ List<Future<VerifiedJarFile>> futures = CachedDaemonThreadPoolProvider.getThreadPool().invokeAll(callables); ++ List<VerifiedJarFile> results = new ArrayList<>(files.size()); ++ try { ++ for (Future<VerifiedJarFile> fu : futures) { ++ results.add(fu.get()); ++ } ++ } catch (Exception e) { ++ OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); ++ throw e; ++ } ++ JNLPRuntime.addStartupTrackingEntry("JARs verification complete"); ++ return results; ++ } ++ + /** + * Checks through all the jar entries of jarName for signers, storing all the common ones in the certs hash map. + * +@@ -273,15 +300,15 @@ public class JarCertVerifier implements CertVerifier { + * @throws Exception + * Will be thrown if there are any problems with the jar. + */ +- private VerifyResult verifyJar(String jarName) throws Exception { ++ private VerifiedJarFile verifyJar(String jarName) throws Exception { + try (JarFile jarFile = new JarFile(jarName, true)) { +- Vector<JarEntry> entriesVec = new Vector<JarEntry>(); ++ List<JarEntry> entriesVec = new ArrayList<>(); + byte[] buffer = new byte[8192]; + + Enumeration<JarEntry> entries = jarFile.entries(); + while (entries.hasMoreElements()) { + JarEntry je = entries.nextElement(); +- entriesVec.addElement(je); ++ entriesVec.add(je); + + InputStream is = jarFile.getInputStream(je); + try { +@@ -295,8 +322,7 @@ public class JarCertVerifier implements CertVerifier { + } + } + } +- return verifyJarEntryCerts(jarName, jarFile.getManifest() != null, +- entriesVec); ++ return new VerifiedJarFile(jarName, null != jarFile.getManifest(), entriesVec); + + } catch (Exception e) { + OutputController.getLogger().log(OutputController.Level.ERROR_ALL, e); +@@ -318,7 +344,7 @@ public class JarCertVerifier implements CertVerifier { + * Will be thrown if there are issues with entries. + */ + VerifyResult verifyJarEntryCerts(String jarName, boolean jarHasManifest, +- Vector<JarEntry> entries) throws Exception { ++ List<JarEntry> entries) throws Exception { + // Contains number of entries the cert with this CertPath has signed. + Map<CertPath, Integer> jarSignCount = new HashMap<>(); + int numSignableEntriesInJar = 0; +@@ -629,4 +655,16 @@ public class JarCertVerifier implements CertVerifier { + } + return sum; + } ++ ++ private static class VerifiedJarFile { ++ final String file; ++ final boolean hasManifest; ++ private final List<JarEntry> entriesVec; ++ ++ private VerifiedJarFile(String file, boolean hasManifest, List<JarEntry> entriesVec) { ++ this.file = file; ++ this.hasManifest = hasManifest; ++ this.entriesVec = entriesVec; ++ } ++ } + } +diff --git a/netx/net/sourceforge/jnlp/util/PropertiesFile.java b/netx/net/sourceforge/jnlp/util/PropertiesFile.java +index 2f0918f6..c399ef20 100644 +--- a/netx/net/sourceforge/jnlp/util/PropertiesFile.java ++++ b/netx/net/sourceforge/jnlp/util/PropertiesFile.java +@@ -23,6 +23,8 @@ import java.io.IOException; + import java.io.InputStream; + import java.util.Properties; + ++import net.sourceforge.jnlp.config.DeploymentConfiguration; ++import net.sourceforge.jnlp.runtime.JNLPRuntime; + import net.sourceforge.jnlp.util.lockingfile.LockedFile; + import net.sourceforge.jnlp.util.logging.OutputController; + +@@ -168,7 +170,9 @@ public class PropertiesFile extends Properties { + store(s, header); + + // fsync() +- s.getChannel().force(true); ++ if (Boolean.parseBoolean(JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_CACHE_FSYNC))) { ++ s.getChannel().force(true); ++ } + lastStore = file.lastModified(); + } finally { + if (s != null) s.close(); +diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/CachedJarFileCallbackTest.java b/tests/netx/unit/net/sourceforge/jnlp/runtime/CachedJarFileCallbackTest.java +new file mode 100644 +index 00000000..bc564db5 +--- /dev/null ++++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/CachedJarFileCallbackTest.java +@@ -0,0 +1,55 @@ ++package net.sourceforge.jnlp.runtime; ++ ++import java.io.File; ++import java.io.IOException; ++import java.net.URL; ++import java.net.URLEncoder; ++import java.nio.charset.StandardCharsets; ++import java.util.Arrays; ++import java.util.List; ++import java.util.jar.JarFile; ++ ++import org.junit.After; ++import org.junit.Before; ++import org.junit.Test; ++ ++import net.sourceforge.jnlp.util.FileTestUtils; ++import net.sourceforge.jnlp.util.FileUtils; ++ ++public class CachedJarFileCallbackTest { ++ private File tempDirectory; ++ ++ @Before ++ public void before() throws IOException { ++ tempDirectory = FileTestUtils.createTempDirectory(); ++ } ++ ++ @After ++ public void after() throws IOException { ++ FileUtils.recursiveDelete(tempDirectory, tempDirectory.getParentFile()); ++ } ++ ++ @Test ++ public void testRetrieve() throws Exception { ++ List<String> names = Arrays.asList("test1.0.jar", "test@1.0.jar"); ++ ++ for (String name: names) { ++ // URL-encode the filename ++ name = URLEncoder.encode(name, StandardCharsets.UTF_8.name()); ++ // create temp jar file ++ File jarFile = new File(tempDirectory, name); ++ FileTestUtils.createJarWithContents(jarFile /* no contents */); ++ ++ // JNLPClassLoader.activateJars uses toUri().toURL() to get the local file URL ++ URL localUrl = jarFile.toURI().toURL(); ++ URL remoteUrl = new URL("http://localhost/" + name); ++ // add jar to cache ++ CachedJarFileCallback cachedJarFileCallback = CachedJarFileCallback.getInstance(); ++ cachedJarFileCallback.addMapping(remoteUrl, localUrl); ++ // retrieve from cache (throws exception if file not found) ++ try (JarFile fromCacheJarFile = cachedJarFileCallback.retrieve(remoteUrl)) { ++ // nothing to do, we just wanted to make sure that the local file existed ++ } ++ } ++ } ++} diff --git a/SOURCES/headlessCheckSoftening_rhbz1581598.patch b/SOURCES/headlessCheckSoftening_rhbz1581598.patch deleted file mode 100644 index 8e875df..0000000 --- a/SOURCES/headlessCheckSoftening_rhbz1581598.patch +++ /dev/null @@ -1,91 +0,0 @@ -diff -r b64b383a4561 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java ---- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Mon May 14 17:11:41 2018 +0200 -+++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Wed May 23 10:35:17 2018 +0200 -@@ -19,6 +19,9 @@ - import static net.sourceforge.jnlp.runtime.Translator.R; - - import java.awt.EventQueue; -+import java.awt.GraphicsEnvironment; -+import static java.awt.GraphicsEnvironment.isHeadless; -+import java.awt.HeadlessException; - import java.io.File; - import java.io.FileInputStream; - import java.io.FileOutputStream; -@@ -741,8 +744,10 @@ - } - if (!headless) { - try { -- new JWindow().getOwner(); -- } catch (Exception ex) { -+ if (GraphicsEnvironment.isHeadless()) { -+ throw new HeadlessException(); -+ } -+ } catch (HeadlessException ex) { - headless = true; - OutputController.getLogger().log(ex); - OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("HEADLESS_MISSCONFIGURED")); -diff -r 0b0da6841278 -r 348532e210c0 netx/net/sourceforge/jnlp/config/Defaults.java ---- a/netx/net/sourceforge/jnlp/config/Defaults.java Mon May 28 12:01:56 2018 +0200 -+++ b/netx/net/sourceforge/jnlp/config/Defaults.java Mon May 28 12:29:35 2018 +0200 -@@ -412,6 +412,11 @@ - BasicValueValidators.getRangedIntegerValidator(0, 10000), - String.valueOf(500) - }, -+ { -+ DeploymentConfiguration.IGNORE_HEADLESS_CHECK, -+ BasicValueValidators.getBooleanValidator(), -+ String.valueOf(false) -+ }, - //JVM arguments for plugin - { - DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS, -diff -r 0b0da6841278 -r 348532e210c0 netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java ---- a/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Mon May 28 12:01:56 2018 +0200 -+++ b/netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java Mon May 28 12:29:35 2018 +0200 -@@ -222,6 +222,8 @@ - - public static final String KEY_BROWSER_PATH = "deployment.browser.path"; - public static final String KEY_UPDATE_TIMEOUT = "deployment.javaws.update.timeout"; -+ -+ public static final String IGNORE_HEADLESS_CHECK = "deployment.headless.ignore"; - - /* - * JVM arguments for plugin -diff -r 0b0da6841278 -r 348532e210c0 netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java ---- a/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Mon May 28 12:01:56 2018 +0200 -+++ b/netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java Mon May 28 12:29:35 2018 +0200 -@@ -739,18 +739,24 @@ - //if (GraphicsEnvironment.isHeadless()) // jdk1.4+ only - // headless = true; - try { -- if ("true".equalsIgnoreCase(System.getProperty("java.awt.headless"))){ -+ if ("true".equalsIgnoreCase(System.getProperty("java.awt.headless"))) { - headless = true; - } - if (!headless) { -- try { -- if (GraphicsEnvironment.isHeadless()) { -- throw new HeadlessException(); -+ boolean noCheck = Boolean.valueOf(JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.IGNORE_HEADLESS_CHECK)); -+ if (noCheck) { -+ headless = false; -+ OutputController.getLogger().log(DeploymentConfiguration.IGNORE_HEADLESS_CHECK + " set to " + noCheck + ". Avoding headless check."); -+ } else { -+ try { -+ if (GraphicsEnvironment.isHeadless()) { -+ throw new HeadlessException(); -+ } -+ } catch (HeadlessException ex) { -+ headless = true; -+ OutputController.getLogger().log(ex); -+ OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("HEADLESS_MISSCONFIGURED")); - } -- } catch (HeadlessException ex) { -- headless = true; -- OutputController.getLogger().log(ex); -- OutputController.getLogger().log(OutputController.Level.MESSAGE_ALL, Translator.R("HEADLESS_MISSCONFIGURED")); - } - } - } catch (SecurityException ex) { - - diff --git a/SOURCES/issue1-bin.patch b/SOURCES/issue1-bin.patch deleted file mode 100644 index 65c93cf..0000000 --- a/SOURCES/issue1-bin.patch +++ /dev/null @@ -1,29 +0,0 @@ -commit 78cf73473dda5ceee3eecda5169621f36b93c3db -Author: Jiri Vanek <jvanek@redhat.com> -Date: Tue Jun 18 15:37:47 2019 +0200 - - Fixed bug when relative path (..) could leak up (even out of cache) - -diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/j1.jar b/tests/netx/unit/net/sourceforge/jnlp/runtime/j1.jar -new file mode 100644 -index 0000000000000000000000000000000000000000..080383629e9349101b25ad3b33b9950f456c4e8e -GIT binary patch -literal 940 -zcmWIWW@Zs#VBp|jI8$@gj{yjnKm-tQGO#fCx`sIFdiuHP|2xINz|0VUqL}B}?nD=$ -zLRTOL8i7#k>*(j{<{BKL=j-;__snS@Z(Y5MyxzK6=gyqp9At3C_`%a6JuhD!Pv48B -zt5`TAUPvC1mXy-W_#v*U_I!z!#dC4dC*rEp7_Mf2D*9N&h-B+wpcBjVOyp!385rgO -zF%QsIkJOx;d_%qDoW$bd+yGzi!wv$qm(}j7^={j?tnS+b#|}B3rtMwgjy58qN^v%- -zr7NR9DH;m?;ru6Kt5NZR{m0@XH$ya>z8h@*d~f#5?Z5wi{>l1)gISt)i*Ct=OD@;l -z_*XNnbC`d@B5b9WA4h5a`?iERY2}kH$gK>Co8qbR`L#ipq~WB1r7io)t!K6QFO+Y8 -zd4#_!X6fXGd0U#-oH_o<C$sQ%%(23<iUm{oSY|P0^Ih9`@b^1yuY}77#kNV#$mE>+ -z^UmoEt>Z`SH7e?KQVyAIp2S(6=9KzR)LP?4JI`drh1(g_I@n{6=G^}(w(~fj&p(CQ -zEQPnz7azUaU|eYS-QHn+&BOAdoDhYFthyHUm+r0--Ec49^|kwnXP%k`HyjN1b(^+I -z_w;^f+%a%4>;;D6o#rRf3Bb_H24Zdo8CWQ0C6*<IhHx@4Z@tSCJEv4AwzPtqfsy3} -zGXn!lJ5Z^%hVQA9K4Bi`JazQKK6soxdD1*&#j{620U8Y+BGXl-F|6G5=Zr|}og-&# -zdLK+$bY@S9t*veAkwssU&SotLQs7vpqvv_{>S=x5i`opQrayU-sgc^?8+>UCo7T#w -ztDZ6eqneRP1eBO?q(`6=kN`^RMAwR*IuZJGflRnoq_m1`0=ATfFkvx}iJb00I^~!_ -tc>r7JN`N&2lPklL#+N_}suL2{tdOuq3+DiDRyL3>79ivRYUu-KN&w$EG4%id - -literal 0 -HcmV?d00001 - diff --git a/SOURCES/issue1.patch b/SOURCES/issue1.patch deleted file mode 100644 index 76d78c9..0000000 --- a/SOURCES/issue1.patch +++ /dev/null @@ -1,323 +0,0 @@ -commit 78cf73473dda5ceee3eecda5169621f36b93c3db -Author: Jiri Vanek <jvanek@redhat.com> -Date: Tue Jun 18 15:37:47 2019 +0200 - - Fixed bug when relative path (..) could leak up (even out of cache) - ---- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java -+++ a/netx/net/sourceforge/jnlp/cache/CacheUtil.java -@@ -696,46 +696,68 @@ - path.append(location.getPort()); - path.append(File.separatorChar); - } -- path.append(location.getPath().replace('/', File.separatorChar)); -- if (location.getQuery() != null && !location.getQuery().trim().isEmpty()) { -- path.append(".").append(location.getQuery()); -- } -- -- File candidate = new File(FileUtils.sanitizePath(path.toString())); -- if (candidate.getName().length() > 255) { -- /** -- * When filename is longer then 255 chars, then then various -- * filesytems have issues to save it. By saving the file by its -- * summ, we are trying to prevent collision of two files differs in -- * suffixes (general suffix of name, not only 'filetype suffix') -- * only. It is also preventing bug when truncate (files with 1000 -- * chars hash in query) cuts to much. -- */ -+ String locationPath = location.getPath().replace('/', File.separatorChar); -+ if (locationPath.contains("..")){ - try { -- MessageDigest md = MessageDigest.getInstance("SHA-256"); -- byte[] sum = md.digest(candidate.getName().getBytes(StandardCharsets.UTF_8)); -- //convert the byte to hex format method 2 -- StringBuilder hexString = new StringBuilder(); -- for (int i = 0; i < sum.length; i++) { -- hexString.append(Integer.toHexString(0xFF & sum[i])); -- } -- String extension = ""; -- int i = candidate.getName().lastIndexOf('.'); -- if (i > 0) { -- extension = candidate.getName().substring(i);//contains dot -- } -- if (extension.length() < 10 && extension.length() > 1) { -- hexString.append(extension); -- } -- candidate = new File(candidate.getParentFile(), hexString.toString()); -+ /** -+ * if path contains .. then it can harm lcoal system -+ * So without mercy, hash it -+ */ -+ String hexed = hex(new File(locationPath).getName(), locationPath); -+ return new File(path.toString(), hexed.toString()); - } catch (NoSuchAlgorithmException ex) { -- // should not occure, cite from javadoc: -- // every java iomplementation should support -+ // should not occur, cite from javadoc: -+ // every java implementation should support - // MD5 SHA-1 SHA-256 - throw new RuntimeException(ex); - } -- } -- return candidate; -+ } else { -+ path.append(locationPath); -+ if (location.getQuery() != null && !location.getQuery().trim().isEmpty()) { -+ path.append(".").append(location.getQuery()); -+ } -+ -+ File candidate = new File(FileUtils.sanitizePath(path.toString())); -+ try { -+ if (candidate.getName().length() > 255) { -+ /** -+ * When filename is longer then 255 chars, then then various -+ * filesystems have issues to save it. By saving the file by its -+ * sum, we are trying to prevent collision of two files differs in -+ * suffixes (general suffix of name, not only 'filetype suffix') -+ * only. It is also preventing bug when truncate (files with 1000 -+ * chars hash in query) cuts to much. -+ */ -+ String hexed = hex(candidate.getName(), candidate.getName()); -+ candidate = new File(candidate.getParentFile(), hexed.toString()); -+ } -+ } catch (NoSuchAlgorithmException ex) { -+ // should not occur, cite from javadoc: -+ // every java implementation should support -+ // MD5 SHA-1 SHA-256 -+ throw new RuntimeException(ex); -+ } -+ return candidate; -+ } -+ } -+ -+ private static String hex(String origName, String candidate) throws NoSuchAlgorithmException { -+ MessageDigest md = MessageDigest.getInstance("SHA-256"); -+ byte[] sum = md.digest(candidate.getBytes(StandardCharsets.UTF_8)); -+ //convert the byte to hex format method 2 -+ StringBuilder hexString = new StringBuilder(); -+ for (int i = 0; i < sum.length; i++) { -+ hexString.append(Integer.toHexString(0xFF & sum[i])); -+ } -+ String extension = ""; -+ int i = origName.lastIndexOf('.'); -+ if (i > 0) { -+ extension = origName.substring(i);//contains dot -+ } -+ if (extension.length() < 10 && extension.length() > 1) { -+ hexString.append(extension); -+ } -+ return hexString.toString(); - } - - /** -diff --git a/netx/net/sourceforge/jnlp/util/FileUtils.java b/netx/net/sourceforge/jnlp/util/FileUtils.java -index 89216375..a5356e08 100644 ---- a/netx/net/sourceforge/jnlp/util/FileUtils.java -+++ b/netx/net/sourceforge/jnlp/util/FileUtils.java -@@ -183,6 +183,13 @@ - */ - public static void createParentDir(File f, String eMsg) throws IOException { - File parent = f.getParentFile(); -+ // warning, linux and windows behave differently. Below snippet will pass on win(security hole), fail on linux -+ // warning mkdir is canonicaling, but exists/isDirectory is not. So where mkdirs return true, and really creates dir, isDirectory can still return false -+ // can be seen on this example -+ // mkdirs /a/b/../c -+ // where b do not exists will lead creation of /a/c -+ // but exists on /a/b/../c is false on linux even afterwards -+ // without hexing of .. paths, - if (!parent.isDirectory() && !parent.mkdirs()) { - throw new IOException(R("RCantCreateDir", - eMsg == null ? parent : eMsg)); -diff --git a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java -index 6422246b..0d2d9811 100644 ---- a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java -+++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java -@@ -88,6 +88,53 @@ public class CacheUtilTest { - final File expected = new File("/tmp/https/example.com/5050/applet/e4f3cf11f86f5aa33f424bc3efe3df7a9d20837a6f1a5bbbc60c1f57f3780a4"); - Assert.assertEquals(expected, CacheUtil.urlToPath(u, "/tmp")); - } -+ -+ @Test -+ public void tesPathUpNoGoBasic() throws Exception { -+ final URL u = new URL("https://example.com/applet/../my.jar"); -+ final File expected = new File("/tmp/https/example.com/abca4723622ed60db3dea12cbe2402622a74f7a49b73e23b55988e4eee5ded.jar"); -+ File r = CacheUtil.urlToPath(u, "/tmp/"); -+ Assert.assertEquals(expected, r); -+ } -+ -+ @Test -+ public void tesPathUpNoGoBasicLong() throws Exception { -+ final URL u = new URL("https://example.com/applet/../my.jar.q_SlNFU1NJT05JRD02OUY1ODVCNkJBOTM1NThCQjdBMTA5RkQyNDZEQjEwRi5wcm9kX3RwdG9tY2F0MjE1X2p2bTsgRW50cnVzdFRydWVQYXNzUmVkaXJlY3RVcmw9Imh0dHBzOi8vZWZzLnVzcHRvLmdvdi9FRlNXZWJVSVJlZ2lzdGVyZWQvRUZTV2ViUmVnaXN0ZXJlZCI7IFRDUFJPRFBQQUlSc2Vzc2lvbj02MjIxMjk0MTguMjA0ODAuMDAwMA\""); -+ final File expected = new File("/tmp/https/example.com/ec97413e3f6eee8215ecc8375478cc1ae5f44f18241b9375361d5dfcd7b0ec"); -+ File r = CacheUtil.urlToPath(u, "/tmp/"); -+ Assert.assertEquals(expected, r); -+ } -+ -+ @Test -+ public void tesPathUpNoGoBasic2() throws Exception { -+ final URL u = new URL("https://example.com/../my.jar"); -+ final File expected = new File("/tmp/https/example.com/eb1a56bed34523dbe7ad84d893ebc31a8bbbba9ce3f370e42741b6a5f067c140.jar"); -+ File r = CacheUtil.urlToPath(u, "/tmp/"); -+ Assert.assertEquals(expected, r); -+ } -+ -+ @Test -+ public void tesPathUpNoGoBasicEvil() throws Exception { -+ final URL u = new URL("https://example.com/../../my.jar"); -+ final File expected = new File("/tmp/https/example.com/db464f11d68af73e37eefaef674517b6be23f0e4a5738aaee774ecf5b58f1bfc.jar"); -+ File r = CacheUtil.urlToPath(u, "/tmp/"); -+ Assert.assertEquals(expected, r); -+ } -+ -+ @Test -+ public void tesPathUpNoGoBasicEvil2() throws Exception { -+ final URL u = new URL("https://example.com:99/../../../my.jar"); -+ final File expected = new File("/tmp/https/example.com/99/95401524c345e0d554d4d77330e86c98a77b9bb58a0f93094204df446b356.jar"); -+ File r = CacheUtil.urlToPath(u, "/tmp/"); -+ Assert.assertEquals(expected, r); -+ } -+ @Test -+ public void tesPathUpNoGoBasicEvilest() throws Exception { -+ final URL u = new URL("https://example2.com/something/../../../../../../../../../../../my.jar"); -+ final File expected = new File("/tmp/https/example2.com/a8df64388f5b84d5f635e4d6dea5f4d2f692ae5381f8ec6736825ff8d6ff2c0.jar"); -+ File r = CacheUtil.urlToPath(u, "/tmp/"); -+ Assert.assertEquals(expected, r); -+ } - - - @Test -diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java -index 100d9150..7580d23b 100644 ---- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java -+++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java -@@ -43,6 +43,8 @@ - import java.io.File; - import java.io.FileOutputStream; - import java.io.InputStream; -+import java.net.URL; -+import java.nio.charset.Charset; - import java.nio.file.Files; - import java.util.Arrays; - import java.util.List; -@@ -55,6 +57,12 @@ - import net.sourceforge.jnlp.browsertesting.browsers.firefox.FirefoxProfilesOperator; - import net.sourceforge.jnlp.cache.UpdatePolicy; - import net.sourceforge.jnlp.config.DeploymentConfiguration; -+import net.sourceforge.jnlp.config.PathsAndFiles; -+import net.sourceforge.jnlp.JNLPFile; -+import net.sourceforge.jnlp.ServerAccess; -+import net.sourceforge.jnlp.ServerLauncher; -+import net.sourceforge.jnlp.util.StreamUtils; -+import net.sourceforge.jnlp.cache.CacheUtil; - import net.sourceforge.jnlp.mock.DummyJNLPFileWithJar; - import net.sourceforge.jnlp.security.appletextendedsecurity.AppletSecurityLevel; - import net.sourceforge.jnlp.security.appletextendedsecurity.AppletStartupSecuritySettings; -@@ -65,6 +73,7 @@ - import org.junit.BeforeClass; - - import org.junit.Test; -+import org.junit.Ignore; - - public class JNLPClassLoaderTest extends NoStdOutErrTest { - -@@ -138,7 +147,8 @@ - File tempDirectory = FileTestUtils.createTempDirectory(); - File jarLocation = new File(tempDirectory, "test.jar"); - -- /* Test with main-class in manifest */ { -+ /* Test with main-class in manifest */ -+ { - Manifest manifest = new Manifest(); - manifest.getMainAttributes().put(Attributes.Name.MAIN_CLASS, "DummyClass"); - FileTestUtils.createJarWithContents(jarLocation, manifest); -@@ -156,8 +166,10 @@ - } - - @Test -+ @Ignore - public void getMainClassNameTestEmpty() throws Exception { -- /* Test with-out any main-class specified */ { -+ /* Test with-out any main-class specified */ -+ { - File tempDirectory = FileTestUtils.createTempDirectory(); - File jarLocation = new File(tempDirectory, "test.jar"); - FileTestUtils.createJarWithContents(jarLocation /* No contents */); -@@ -363,4 +375,57 @@ - } - - } -+ -+ @Test -+ public void testRelativePathInUrl() throws Exception { -+ CacheUtil.clearCache(); -+ int port = ServerAccess.findFreePort(); -+ File dir = FileTestUtils.createTempDirectory(); -+ dir.deleteOnExit(); -+ dir = new File(dir,"base"); -+ dir.mkdir(); -+ File jar = new File(dir,"j1.jar"); -+ File jnlp = new File(dir+"/a/b/up.jnlp"); -+ jnlp.getParentFile().mkdirs(); -+ InputStream is = ClassLoader.getSystemClassLoader().getResourceAsStream("net/sourceforge/jnlp/runtime/up.jnlp"); -+ String jnlpString = StreamUtils.readStreamAsString(is, true, "utf-8"); -+ is.close(); -+ jnlpString = jnlpString.replaceAll("8080", ""+port); -+ is = ClassLoader.getSystemClassLoader().getResourceAsStream("net/sourceforge/jnlp/runtime/j1.jar"); -+ StreamUtils.copyStream(is, new FileOutputStream(jar)); -+ Files.write(jnlp.toPath(),jnlpString.getBytes("utf-8")); -+ ServerLauncher as = ServerAccess.getIndependentInstance(jnlp.getParent(), port); -+ boolean verifyBackup = JNLPRuntime.isVerifying(); -+ boolean trustBackup= JNLPRuntime.isTrustAll(); -+ boolean securityBAckup= JNLPRuntime.isSecurityEnabled(); -+ boolean verbose= JNLPRuntime.isDebug(); -+ JNLPRuntime.setVerify(false); -+ JNLPRuntime.setTrustAll(true); -+ JNLPRuntime.setSecurityEnabled(false); -+ JNLPRuntime.setDebug(true); -+ try { -+ final JNLPFile jnlpFile1 = new JNLPFile(new URL("http://localhost:" + port + "/up.jnlp")); -+ final JNLPClassLoader classLoader1 = new JNLPClassLoader(jnlpFile1, UpdatePolicy.ALWAYS) { -+ @Override -+ protected void activateJars(List<JARDesc> jars) { -+ super.activateJars(jars); -+ } -+ -+ }; -+ InputStream is1 = classLoader1.getResourceAsStream("Hello1.class"); -+ is1.close(); -+ is1 = classLoader1.getResourceAsStream("META-INF/MANIFEST.MF"); -+ is1.close(); -+ Assert.assertTrue(new File(PathsAndFiles.CACHE_DIR.getFullPath()+"/0/http/localhost/"+port+"/up.jnlp").exists()); -+ Assert.assertTrue(new File(PathsAndFiles.CACHE_DIR.getFullPath()+"/1/http/localhost/"+port+"/f812acb32c857fd916c842e2bf4fb32b9c3837ef63922b167a7e163305058b7.jar").exists()); -+ } finally { -+ JNLPRuntime.setVerify(verifyBackup); -+ JNLPRuntime.setTrustAll(trustBackup); -+ JNLPRuntime.setSecurityEnabled(securityBAckup); -+ JNLPRuntime.setDebug(verbose); -+ as.stop(); -+ } -+ -+ } -+ - } -diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/up.jnlp b/tests/netx/unit/net/sourceforge/jnlp/runtime/up.jnlp -new file mode 100644 -index 00000000..b22fdfb7 ---- /dev/null -+++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/up.jnlp -@@ -0,0 +1,15 @@ -+<?xml version="1.0" encoding="UTF-8" standalone="no"?> -+<jnlp spec="6.0+" codebase="."> -+ -+<information><title>1965</title><vendor>Nemzeti Ado- es Vamhivatal</vendor><offline-allowed/></information> -+ -+ -+<resources> -+ <j2se href="http://java.sun.com/products/autodl/j2se" version="1.8+" /> -+<!-- absolute url is a must --> -+ <jar href="http://localhost:8080/../../../base/j1.jar" version="2.0"/> -+</resources> -+ -+<application-desc main-class="Hello1" /> -+ -+</jnlp> diff --git a/SOURCES/issue2.patch b/SOURCES/issue2.patch deleted file mode 100644 index c383b71..0000000 --- a/SOURCES/issue2.patch +++ /dev/null @@ -1,78 +0,0 @@ -commit 09bcd3ebb639af6cfd83ff2203ffeb80a59cc0eb -Author: Jiri Vanek <jvanek@redhat.com> -Date: Fri Jun 28 16:05:35 2019 +0200 - - All files, except signaturre files, are now checked for signatures - -diff --git a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java -index 759bedfb..cabfb3c5 100644 ---- a/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java -+++ b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java -@@ -41,6 +41,7 @@ - import java.util.Map; - import java.util.Vector; - import java.util.jar.JarEntry; -+import java.util.regex.Pattern; - - import net.sourceforge.jnlp.JARDesc; - import net.sourceforge.jnlp.JNLPFile; -@@ -67,6 +68,7 @@ - public class JarCertVerifier implements CertVerifier { - - private static final String META_INF = "META-INF/"; -+ private static final Pattern SIG = Pattern.compile(".*" + META_INF + "SIG-.*"); - - // prefix for new signature-related files in META-INF directory - private static final String SIG_PREFIX = META_INF + "SIG-"; -@@ -500,12 +502,20 @@ - - /** - * Returns whether a file is in META-INF, and thus does not require signing. -- * -+ * <p> - * Signature-related files under META-INF include: . META-INF/MANIFEST.MF . META-INF/SIG-* . META-INF/*.SF . META-INF/*.DSA . META-INF/*.RSA - */ - static boolean isMetaInfFile(String name) { -- String ucName = name.toUpperCase(); -- return ucName.startsWith(META_INF); -+ if (name.endsWith("class")) { -+ return false; -+ } -+ return name.startsWith(META_INF) && ( -+ name.endsWith(".MF") || -+ name.endsWith(".SF") || -+ name.endsWith(".DSA") || -+ name.endsWith(".RSA") || -+ SIG.matcher(name).matches() -+ ); - } - - /** -diff --git a/tests/netx/unit/net/sourceforge/jnlp/tools/JarCertVerifierTest.java b/tests/netx/unit/net/sourceforge/jnlp/tools/JarCertVerifierTest.java -index 4661fb87..44253e08 100644 ---- a/tests/netx/unit/net/sourceforge/jnlp/tools/JarCertVerifierTest.java -+++ b/tests/netx/unit/net/sourceforge/jnlp/tools/JarCertVerifierTest.java -@@ -58,9 +58,22 @@ public class JarCertVerifierTest { - @Test - public void testIsMetaInfFile() { - final String METAINF = "META-INF"; -+ assertTrue(JarCertVerifier.isMetaInfFile(METAINF + "/file.MF")); -+ assertTrue(JarCertVerifier.isMetaInfFile(METAINF + "/file.SF")); -+ assertTrue(JarCertVerifier.isMetaInfFile(METAINF + "/file.DSA")); -+ assertTrue(JarCertVerifier.isMetaInfFile(METAINF + "/file.RSA")); -+ assertTrue(JarCertVerifier.isMetaInfFile(METAINF + "/SIG-blah.blah")); -+ -+ assertFalse(JarCertVerifier.isMetaInfFile(METAINF + "/file.MF.class")); -+ assertFalse(JarCertVerifier.isMetaInfFile(METAINF + "/file.SF.class")); -+ assertFalse(JarCertVerifier.isMetaInfFile(METAINF + "/file.DSA.class")); -+ assertFalse(JarCertVerifier.isMetaInfFile(METAINF + "/file.RSA.class")); -+ assertFalse(JarCertVerifier.isMetaInfFile(METAINF + "/SIG-blah.blah.class")); -+ - assertFalse(JarCertVerifier.isMetaInfFile("some_dir/" + METAINF + "/filename")); - assertFalse(JarCertVerifier.isMetaInfFile(METAINF + "filename")); -- assertTrue(JarCertVerifier.isMetaInfFile(METAINF + "/filename")); -+ assertFalse(JarCertVerifier.isMetaInfFile(METAINF + "/filename")); -+ assertFalse(JarCertVerifier.isMetaInfFile(METAINF + "/filename")); - } - - class JarCertVerifierEntry extends JarEntry { diff --git a/SOURCES/issue3-bin.patch b/SOURCES/issue3-bin.patch deleted file mode 100644 index f991cfa..0000000 --- a/SOURCES/issue3-bin.patch +++ /dev/null @@ -1,5709 +0,0 @@ -commit b4232ae35d2b86592a945a56c948f107fe7efabe -Author: Jiri Vanek <jvanek@redhat.com> -Date: Wed Jun 26 13:46:45 2019 +0200 - - Nested jar, if by relative path point up, is stored as hashed - -diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/jar03_dotdotN1.jar b/tests/netx/unit/net/sourceforge/jnlp/runtime/jar03_dotdotN1.jar -new file mode 100644 -index 0000000000000000000000000000000000000000..c95a5e3bf5126525006c1724cd302f6a2747669a -GIT binary patch -literal 309031 -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 -z)JrgJf~w6L8z;8=H~N#zpuIj⪙)se0-hT<dXMjbLHdV=ne6Qpz2c&;IH+%|9CJV -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�~>s -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 -zkK@%(x5LfaUb$|eCk)w$ih&QW6+%0AoVOOg3{A#XC5(%b*5T3e;v^7iKGt^mQGv;u -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 - -literal 0 -HcmV?d00001 - diff --git a/SOURCES/issue3.patch b/SOURCES/issue3.patch deleted file mode 100644 index 81213bb..0000000 --- a/SOURCES/issue3.patch +++ /dev/null @@ -1,160 +0,0 @@ -commit b4232ae35d2b86592a945a56c948f107fe7efabe -Author: Jiri Vanek <jvanek@redhat.com> -Date: Wed Jun 26 13:46:45 2019 +0200 - - Nested jar, if by relative path point up, is stored as hashed - -diff --git a/netx/net/sourceforge/jnlp/cache/CacheUtil.java b/netx/net/sourceforge/jnlp/cache/CacheUtil.java -index a972eb8e..5c8652b6 100644 ---- a/netx/net/sourceforge/jnlp/cache/CacheUtil.java -+++ b/netx/net/sourceforge/jnlp/cache/CacheUtil.java -@@ -741,7 +741,7 @@ - } - } - -- private static String hex(String origName, String candidate) throws NoSuchAlgorithmException { -+ public static String hex(String origName, String candidate) throws NoSuchAlgorithmException { - MessageDigest md = MessageDigest.getInstance("SHA-256"); - byte[] sum = md.digest(candidate.getBytes(StandardCharsets.UTF_8)); - //convert the byte to hex format method 2 -diff --git a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java -index e015f348..117163f3 100644 ---- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java -+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java -@@ -1340,7 +1340,11 @@ - // (inline loading with "jar:..!/..." path will not work - // with standard classloader methods) - -- String extractedJarLocation = localFile + ".nested/" + je.getName(); -+ String name = je.getName(); -+ if (name.contains("..")){ -+ name=CacheUtil.hex(name, name); -+ } -+ String extractedJarLocation = localFile + ".nested/" + name; - File parentDir = new File(extractedJarLocation).getParentFile(); - if (!parentDir.isDirectory() && !parentDir.mkdirs()) { - throw new RuntimeException(R("RNestedJarExtration")); -diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java -index 7580d23b..a20a1d8f 100644 ---- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java -+++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java -@@ -43,6 +43,8 @@ - import java.io.File; - import java.io.FileOutputStream; - import java.io.InputStream; -+import java.io.OutputStream; -+import net.sourceforge.jnlp.ResourcesDesc; - import java.net.URL; - import java.nio.charset.Charset; - import java.nio.file.Files; -@@ -407,13 +409,7 @@ public class JNLPClassLoaderTest extends NoStdOutErrTest { - JNLPRuntime.setDebug(true); - try { - final JNLPFile jnlpFile1 = new JNLPFile(new URL("http://localhost:" + port + "/up.jnlp")); -- final JNLPClassLoader classLoader1 = new JNLPClassLoader(jnlpFile1, UpdatePolicy.ALWAYS) { -- @Override -- protected void activateJars(List<JARDesc> jars) { -- super.activateJars(jars); -- } -- -- }; -+ final JNLPClassLoader classLoader1 = JNLPClassLoader.getInstance(jnlpFile1, UpdatePolicy.ALWAYS, false); - InputStream is1 = classLoader1.getResourceAsStream("Hello1.class"); - is1.close(); - is1 = classLoader1.getResourceAsStream("META-INF/MANIFEST.MF"); -@@ -430,4 +426,74 @@ public class JNLPClassLoaderTest extends NoStdOutErrTest { - - } - -+ @Test -+ public void testRelativePathInNestedJars() throws Exception { -+ CacheUtil.clearCache(); -+ int port = ServerAccess.findFreePort(); -+ File dir = FileTestUtils.createTempDirectory(); -+ dir.deleteOnExit(); -+ File jar = new File(dir,"jar03_dotdotN1.jar"); -+ File jnlp = new File(dir,"jar_03_dotdot_jarN1.jnlp"); -+ InputStream is1 = ClassLoader.getSystemClassLoader().getResourceAsStream("net/sourceforge/jnlp/runtime/jar_03_dotdot_jarN1.jnlp"); -+ InputStream is2 = ClassLoader.getSystemClassLoader().getResourceAsStream("net/sourceforge/jnlp/runtime/jar03_dotdotN1.jar"); -+ OutputStream fos1 = new FileOutputStream(jnlp); -+ OutputStream fos2 = new FileOutputStream(jar); -+ StreamUtils.copyStream(is1, fos1); -+ StreamUtils.copyStream(is2, fos2); -+ fos1.flush();; -+ fos2.flush(); -+ fos1.close(); -+ fos2.close(); -+ ServerLauncher as = ServerAccess.getIndependentInstance(dir.getAbsolutePath(), port); -+ boolean verifyBackup = JNLPRuntime.isVerifying(); -+ boolean trustBackup= JNLPRuntime.isTrustAll(); -+ boolean securityBAckup= JNLPRuntime.isSecurityEnabled(); -+ boolean verbose= JNLPRuntime.isDebug(); -+ JNLPRuntime.setVerify(false); -+ JNLPRuntime.setTrustAll(true); -+ JNLPRuntime.setSecurityEnabled(false); -+ JNLPRuntime.setDebug(true); -+ try { -+ //it is invalid jar, so we have to disable checks first -+ final JNLPFile jnlpFile = new JNLPFile(new URL("http://localhost:" + port + "/jar_03_dotdot_jarN1.jnlp")); -+ final JNLPClassLoader classLoader = JNLPClassLoader.getInstance(jnlpFile, UpdatePolicy.ALWAYS, false); -+ -+ //ThreadGroup group = Thread.currentThread().getThreadGroup(); -+ //ApplicationInstance app = new ApplicationInstance(jnlpFile, group, classLoader); -+ //classLoader.setApplication(app); -+ //app.initialize(); -+ -+ //this test is actually not testing mutch. The app must be accessing the nested jar in plugin-like way -+ InputStream is = classLoader.getResourceAsStream("application/abev/nyomtatvanyinfo/1965.teminfo.enyk"); -+ is.close(); -+ is = classLoader.getResourceAsStream("META-INF/MANIFEST.MF"); -+ is.close(); -+ is = classLoader.getResourceAsStream("META-INF/j1.jar"); -+ is.close(); -+ is = classLoader.getResourceAsStream("META-INF/../../jar01_to_be_injected.jar"); -+ //the .. is not recognized correctly -+ //is.close(); -+ //Class c = classLoader.getClass().forName("Hello1"); -+ // in j1.jar -+ is = classLoader.getResourceAsStream("Hello1.class"); -+ //is.close(); nested jar is not on defualt CP -+ //in jar01 -+ //c = classLoader.getClass().forName("com.devdaily.FileUtilities"); -+ is = classLoader.getResourceAsStream("com/devdaily/FileUtilities.class"); -+ // is.close(); nested jar is not on defualt CP -+ Assert.assertTrue(new File(PathsAndFiles.CACHE_DIR.getFullPath()+"/0/http/localhost/"+port+"/jar_03_dotdot_jarN1.jnlp").exists()); -+ Assert.assertTrue(new File(PathsAndFiles.CACHE_DIR.getFullPath()+"/1/http/localhost/"+port+"/jar03_dotdotN1.jar").exists()); -+ Assert.assertTrue(new File(PathsAndFiles.CACHE_DIR.getFullPath()+"/1/http/localhost/"+port+"/jar03_dotdotN1.jar.nested/99a90686bfbe84e3f9dbeed8127bba85672ed73688d3c69191aa1ee70916a.jar").exists()); -+ Assert.assertTrue(new File(PathsAndFiles.CACHE_DIR.getFullPath()+"/1/http/localhost/"+port+"/jar03_dotdotN1.jar.nested/META-INF/j1.jar").exists()); -+ } finally { -+ JNLPRuntime.setVerify(verifyBackup); -+ JNLPRuntime.setTrustAll(trustBackup); -+ JNLPRuntime.setSecurityEnabled(securityBAckup); -+ JNLPRuntime.setDebug(verbose); -+ as.stop(); -+ } -+ -+ } -+ -+ - } -diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/jar_03_dotdot_jarN1.jnlp b/tests/netx/unit/net/sourceforge/jnlp/runtime/jar_03_dotdot_jarN1.jnlp -new file mode 100644 -index 00000000..71bdea87 ---- /dev/null -+++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/jar_03_dotdot_jarN1.jnlp -@@ -0,0 +1,15 @@ -+<?xml version="1.0" encoding="UTF-8" standalone="no"?> -+<jnlp spec="6.0+" > -+ -+<information><title>1965</title><vendor>Nemzeti Ado- es Vamhivatal</vendor><offline-allowed/></information> -+ -+<security><all-permissions/></security> -+ -+<resources> -+ <j2se href="http://java.sun.com/products/autodl/j2se" version="1.8+" /> -+ <jar href="jar03_dotdotN1.jar" version="2.0"/> -+</resources> -+ -+<application-desc main-class="http://localhost/jar01.jar!META-INF/jar01_to_be_injected.jar!METAxINF.Test" /> -+ -+</jnlp> diff --git a/SOURCES/oracleForms.patch b/SOURCES/oracleForms.patch deleted file mode 100644 index 1e3745c..0000000 --- a/SOURCES/oracleForms.patch +++ /dev/null @@ -1,40 +0,0 @@ -# HG changeset patch -# User Jiri Vanek <jvanek@redhat.com> -# Date 1526310938 -7200 -# Mon May 14 17:15:38 2018 +0200 -# Node ID bcbef8d7bbd6369b3c8d545469e1c56e47075d9d -# Parent 4abd0f0897738289a19ef9238f02c6e9dafee6a4 -AppletEnvironment.java: getDocumentBase no returns codeBase as fallback when documentBase is null. -Oracle Applications R12, Oracle Forms Java Webstart application is requesting getDocumentBase where it shouldn't, however they refuse to modify their code and add ITW to supported platforms - -diff -r 4abd0f089773 -r bcbef8d7bbd6 ChangeLog ---- a/ChangeLog Fri Mar 02 10:41:29 2018 +0100 -+++ b/ChangeLog Mon May 14 17:15:38 2018 +0200 -@@ -1,3 +1,9 @@ -+2018-05-14 Jiri Vanek <jvanek@redhat.com> -+ -+ * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java: getDocumentBase now returns codeBase as fallback when -+ documentBase is null. Oracle Applications R12, Oracle Forms Java Webstart application is requesting getDocumentBase -+ where it shouldn't, however they refuse to modify their code and add ITW to supported platforms -+ - 2018-02-06 Jiri Vanek <jvanek@redhat.com> - - Added test for javafx-desc -diff -r 4abd0f089773 -r bcbef8d7bbd6 netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java ---- a/netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java Fri Mar 02 10:41:29 2018 +0100 -+++ b/netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java Mon May 14 17:15:38 2018 +0200 -@@ -375,8 +375,12 @@ - @Override - public URL getDocumentBase() { - checkDestroyed(); -- -- return file.getApplet().getDocumentBase(); -+ URL db = file.getApplet().getDocumentBase(); -+ if (db == null) { -+ return getCodeBase(); -+ } else { -+ return db; -+ } - } - - // FIXME: Sun's applet code forces all parameters to lower case. diff --git a/SOURCES/patchOutDunce.patch b/SOURCES/patchOutDunce.patch new file mode 100644 index 0000000..a35c3f6 --- /dev/null +++ b/SOURCES/patchOutDunce.patch @@ -0,0 +1,11 @@ +--- a/rust-launcher/cc.toml ++++ b/rust-launcher/Cargo.toml +@@ -2,7 +2,3 @@ + name = "launcher" + version = "1.8.0" + authors = ["https://icedtea.classpath.org/wiki/IcedTea-Web"] +- +-[dependencies] +-[target.'cfg(windows)'.dependencies] +-dunce = "0.1.1" + diff --git a/SOURCES/testTuning.patch b/SOURCES/testTuning.patch deleted file mode 100644 index 18c9542..0000000 --- a/SOURCES/testTuning.patch +++ /dev/null @@ -1,210 +0,0 @@ -diff --git a/ChangeLog b/ChangeLog -index 0c63dd98..d8e560e0 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,29 @@ -+2019-06-26 Jiri Vanek <jvanek@redhat.com> -+ -+ All files, except signaturre files, are now checked for signatures - CVE-2019-10181 -+ * b/netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: (isMetaInfFile) fixed bug, when anything in META-INF was not -+ checked for signature. Now only signature files are skipped -+ * tests/netx/unit/net/sourceforge/jnlp/tools/JarCertVerifierTest.java: added tests for check if file should be skipped from -+ signature check -+ -+2019-06-26 Jiri Vanek <jvanek@redhat.com> -+ -+ Nested jar, if by relative path point up, is stored as hashed - CVE-2019-10185 -+ * tests/netx/unit/net/sourceforge/jnlp/runtime/jar03_dotdotN1.jar: crafted jar with hacked zip entries to be named like ".." -+ * tests/netx/unit/net/sourceforge/jnlp/runtime/jar_03_dotdot_jarN1.jnlp: jnlp to call jar03_dotdotN1.jar -+ * netx/net/sourceforge/jnlp/cache/CacheUtil.jsava: (hex) made public to be reused in JNLPClassLoader -+ * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: if nested jar contains .. in path, is extracted as hashed -+ -+2019-06-26 Jiri Vanek <jvanek@redhat.com> -+ -+ Fixed bug when relative path (..) could leak up (even out of cache) - CVE-2019-10182 -+ * netx/net/sourceforge/jnlp/cache/CacheUtil.java: if path or query contains .. is saved to cache via its hash -+ * netx/net/sourceforge/jnlp/util/FileUtils.java: added warning about different behavior on win/linux -+ * tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java: added tests for hashing -+ * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: added test for .. in path. Added test -+ that verifies encoded .. (%2E%2E) do not leak from cahce -+ * tests/netx/unit/net/sourceforge/jnlp/runtime/up.jnlp: example jnlp with .. full url -+ - 2018-05-14 Jiri Vanek <jvanek@redhat.com> - - * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java: getDocumentBase now returns codeBase as fallback when -diff --git a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java -index 6b0cd256..5dbf2d69 100644 ---- a/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java -+++ b/tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java -@@ -135,6 +135,14 @@ public class CacheUtilTest { - File r = CacheUtil.urlToPath(u, "/tmp/"); - Assert.assertEquals(expected, r); - } -+ -+ @Test -+ public void testQueryGotHAshedToo() throws Exception { -+ final URL u = new URL("https://example2.com/something/my.jar?../../harm"); -+ final File expected = new File("/tmp/https/example2.com/2844b3c690ea355159ed61de6e727f2e9169ab55bf58b8fa3f4b64f6a25bd7.jar"); -+ File r = CacheUtil.urlToPath(u, "/tmp/"); -+ Assert.assertEquals(expected, r); -+ } - - - @Test -diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java -index 2b28fb93..d86786ab 100644 ---- a/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java -+++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java -@@ -405,6 +405,8 @@ public class JNLPClassLoaderTest extends NoStdOutErrTest { - JNLPRuntime.setTrustAll(true); - JNLPRuntime.setSecurityEnabled(false); - JNLPRuntime.setDebug(true); -+ String manifestAttsBackup = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK); -+ JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, "NONE"); - try { - final JNLPFile jnlpFile1 = new JNLPFile(new URL("http://localhost:" + port + "/up.jnlp")); - final JNLPClassLoader classLoader1 = JNLPClassLoader.getInstance(jnlpFile1, UpdatePolicy.ALWAYS, false); -@@ -419,6 +421,7 @@ public class JNLPClassLoaderTest extends NoStdOutErrTest { - JNLPRuntime.setTrustAll(trustBackup); - JNLPRuntime.setSecurityEnabled(securityBAckup); - JNLPRuntime.setDebug(verbose); -+ JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, manifestAttsBackup); - as.stop(); - } - -@@ -451,6 +454,11 @@ public class JNLPClassLoaderTest extends NoStdOutErrTest { - JNLPRuntime.setTrustAll(true); - JNLPRuntime.setSecurityEnabled(false); - JNLPRuntime.setDebug(true); -+ //fix of "All files, except signaturre files, are now checked for signatures" make this actually correctly failing ahead of time -+ String ignoreBackup = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_SECURITY_ITW_IGNORECERTISSUES); -+ JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_SECURITY_ITW_IGNORECERTISSUES, "true"); -+ String manifestAttsBackup = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK); -+ JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, "NONE"); - try { - //it is invalid jar, so we have to disable checks first - final JNLPFile jnlpFile = new JNLPFile(new URL("http://localhost:" + port + "/jar_03_dotdot_jarN1.jnlp")); -@@ -488,10 +496,102 @@ public class JNLPClassLoaderTest extends NoStdOutErrTest { - JNLPRuntime.setTrustAll(trustBackup); - JNLPRuntime.setSecurityEnabled(securityBAckup); - JNLPRuntime.setDebug(verbose); -+ JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_SECURITY_ITW_IGNORECERTISSUES, ignoreBackup); -+ JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_ENABLE_MANIFEST_ATTRIBUTES_CHECK, manifestAttsBackup); - as.stop(); - } - - } - -+ @Test(expected = Exception.class) -+ public void testDifferentSignatureInManifestMf() throws Exception { -+ CacheUtil.clearCache(); -+ int port = ServerAccess.findFreePort(); -+ File dir = FileTestUtils.createTempDirectory(); -+ dir.deleteOnExit(); -+ File jar = new File(dir,"jar03_dotdotN1.jar"); -+ File jnlp = new File(dir,"jar_03_dotdot_jarN1.jnlp"); -+ InputStream is1 = this.getClass().getClassLoader().getResourceAsStream("net/sourceforge/jnlp/runtime/jar_03_dotdot_jarN1.jnlp"); -+ InputStream is2 = this.getClass().getClassLoader().getResourceAsStream("net/sourceforge/jnlp/runtime/jar03_dotdotN1.jar"); -+ OutputStream fos1 = new FileOutputStream(jnlp); -+ OutputStream fos2 = new FileOutputStream(jar); -+ StreamUtils.copyStream(is1, fos1); -+ StreamUtils.copyStream(is2, fos2); -+ fos1.flush();; -+ fos2.flush(); -+ fos1.close(); -+ fos2.close(); -+ ServerLauncher as = ServerAccess.getIndependentInstance(dir.getAbsolutePath(), port); -+ boolean verifyBackup = JNLPRuntime.isVerifying(); -+ boolean trustBackup= JNLPRuntime.isTrustAll(); -+ boolean securityBAckup= JNLPRuntime.isSecurityEnabled(); -+ boolean verbose= JNLPRuntime.isDebug(); -+ JNLPRuntime.setVerify(false); -+ JNLPRuntime.setTrustAll(true); -+ JNLPRuntime.setSecurityEnabled(false); -+ JNLPRuntime.setDebug(true); -+ String ignoreBackup = JNLPRuntime.getConfiguration().getProperty(DeploymentConfiguration.KEY_SECURITY_ITW_IGNORECERTISSUES); -+ JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_SECURITY_ITW_IGNORECERTISSUES, "false"); -+ try { -+ //it is invalid jar, so we have to disable checks first -+ final JNLPFile jnlpFile = new JNLPFile(new URL("http://localhost:" + port + "/jar_03_dotdot_jarN1.jnlp")); -+ final JNLPClassLoader classLoader = JNLPClassLoader.getInstance(jnlpFile, UpdatePolicy.ALWAYS, false); -+ } finally { -+ JNLPRuntime.setVerify(verifyBackup); -+ JNLPRuntime.setTrustAll(trustBackup); -+ JNLPRuntime.setSecurityEnabled(securityBAckup); -+ JNLPRuntime.setDebug(verbose); -+ JNLPRuntime.getConfiguration().setProperty(DeploymentConfiguration.KEY_SECURITY_ITW_IGNORECERTISSUES, ignoreBackup); -+ as.stop(); -+ } -+ -+ } -+ -+ @Test -+ public void testEncodedPathIsNotDecodedForCache() throws Exception { -+ CacheUtil.clearCache(); -+ int port = ServerAccess.findFreePort(); -+ File dir = FileTestUtils.createTempDirectory(); -+ dir.deleteOnExit(); -+ dir = new File(dir,"base"); -+ dir.mkdir(); -+ File jar = new File(dir,"j1.jar"); -+ File jnlp = new File(dir+"/a/b/upEncoded.jnlp"); -+ jnlp.getParentFile().mkdirs(); -+ InputStream is = this.getClass().getClassLoader().getResourceAsStream("net/sourceforge/jnlp/runtime/upEncoded.jnlp"); -+ String jnlpString = StreamUtils.readStreamAsString(is, true, "utf-8"); -+ is.close(); -+ jnlpString = jnlpString.replaceAll("8080", ""+port); -+ is = this.getClass().getClassLoader().getResourceAsStream("net/sourceforge/jnlp/runtime/j1.jar"); -+ StreamUtils.copyStream(is, new FileOutputStream(jar)); -+ Files.write(jnlp.toPath(),jnlpString.getBytes("utf-8")); -+ ServerLauncher as = ServerAccess.getIndependentInstance(jnlp.getParent(), port); -+ boolean verifyBackup = JNLPRuntime.isVerifying(); -+ boolean trustBackup= JNLPRuntime.isTrustAll(); -+ boolean securityBAckup= JNLPRuntime.isSecurityEnabled(); -+ boolean verbose= JNLPRuntime.isDebug(); -+ JNLPRuntime.setVerify(false); -+ JNLPRuntime.setTrustAll(true); -+ JNLPRuntime.setSecurityEnabled(false); -+ JNLPRuntime.setDebug(true); -+ try { -+ final JNLPFile jnlpFile1 = new JNLPFile(new URL("http://localhost:" + port + "/upEncoded.jnlp")); -+ final JNLPClassLoader classLoader1 = JNLPClassLoader.getInstance(jnlpFile1, UpdatePolicy.ALWAYS, false); -+ InputStream is1 = classLoader1.getResourceAsStream("Hello1.class"); -+ is1.close(); -+ is1 = classLoader1.getResourceAsStream("META-INF/MANIFEST.MF"); -+ is1.close(); -+ Assert.assertTrue(new File(PathsAndFiles.CACHE_DIR.getFullPath()+"/0/http/localhost/"+port+"/upEncoded.jnlp").exists()); -+ //be aware; if decoding ever come in play here, thios will leak out of cache folder. Thus harm user system. See fix for " Fixed bug when relative path (..) could leak up (even out of cache)" -+ Assert.assertTrue(new File(PathsAndFiles.CACHE_DIR.getFullPath()+"/1/http/localhost/"+port+"/%2E%2E/%2E%2E/%2E%2E/base").exists()); -+ } finally { -+ JNLPRuntime.setVerify(verifyBackup); -+ JNLPRuntime.setTrustAll(trustBackup); -+ JNLPRuntime.setSecurityEnabled(securityBAckup); -+ JNLPRuntime.setDebug(verbose); -+ as.stop(); -+ } -+ -+ } - - } -diff --git a/tests/netx/unit/net/sourceforge/jnlp/runtime/upEncoded.jnlp b/tests/netx/unit/net/sourceforge/jnlp/runtime/upEncoded.jnlp -new file mode 100644 -index 00000000..f0658bbc ---- /dev/null -+++ b/tests/netx/unit/net/sourceforge/jnlp/runtime/upEncoded.jnlp -@@ -0,0 +1,15 @@ -+<?xml version="1.0" encoding="UTF-8" standalone="no"?> -+<jnlp spec="6.0+" codebase="."> -+ -+ <information><title>1965</title><vendor>Nemzeti Ado- es Vamhivatal</vendor><offline-allowed/></information> -+ -+ -+ <resources> -+ <j2se href="http://java.sun.com/products/autodl/j2se" version="1.8+" /> -+ <!-- absolute url is a must --> -+ <jar href="http://localhost:8080/%2E%2E/%2E%2E/%2E%2E/base/j1.jar" version="2.0"/> -+ </resources> -+ -+ <application-desc main-class="Hello1" /> -+ -+</jnlp> diff --git a/SPECS/icedtea-web.spec b/SPECS/icedtea-web.spec index 9789e89..aba8b81 100644 --- a/SPECS/icedtea-web.spec +++ b/SPECS/icedtea-web.spec @@ -1,3 +1,6 @@ +#can rust have debuginfo? Verify and fix! Likely issue in Makefile of itw. +%global debug_package %{nil} + # Version of java %define javaver 1.8.0 @@ -16,27 +19,17 @@ %define preffered_java java-%{javaver}-openjdk Name: icedtea-web -Version: 1.7.1 -Release: 18%{?dist} +Version: 1.8.4 +Release: 4%{?dist} Summary: Additional Java components for OpenJDK - Java browser plug-in and Web Start implementation -# will become arched again with rust on board -BuildArch: noarch Group: Applications/Internet License: LGPLv2+ and GPLv2 with exceptions URL: http://icedtea.classpath.org/wiki/IcedTea-Web Source0: http://icedtea.classpath.org/download/source/%{name}-%{version}.tar.gz -Patch9: 1473-1480.patch -Patch8: oracleForms.patch -Patch7: headlessCheckSoftening_rhbz1581598.patch -Patch1: issue1.patch -Patch2: issue2.patch -Patch3: issue3.patch -Patch4: PreventiveleQueue.patch -Patch11: issue1-bin.patch -Patch33: issue3-bin.patch -Patch5: testTuning.patch -Patch6: altjava.patch +Patch0: patchOutDunce.patch +Patch1: altjava.patch +Patch2: fed2f5b-22402bb.patch BuildRequires: javapackages-tools #for deprecated add_maven_depmap, see https://www.spinics.net/lists/fedora-devel/msg233211.html @@ -46,8 +39,7 @@ BuildRequires: desktop-file-utils BuildRequires: glib2-devel BuildRequires: autoconf BuildRequires: automake -BuildRequires: gcc -BuildRequires: gcc-c++ +BuildRequires: cargo BuildRequires: junit BuildRequires: hamcrest BuildRequires: libappstream-glib @@ -64,33 +56,28 @@ Recommends: bash-completion Requires(post): javapackages-tools Requires(postun): javapackages-tools -# For the mozilla plugin dir -Requires: mozilla-filesystem%{?_isa} # When itw builds against it, it have to be also in runtime Requires: tagsoup # Post requires alternatives to install tool alternatives. Requires(post): %{_sbindir}/alternatives -# in version 1.7 and higher for --family switch -Requires(post): chkconfig >= 1.7 # jnlp protocols support Requires(post): GConf2 # Postun requires alternatives to uninstall tool alternatives. Requires(postun): %{_sbindir}/alternatives -# in version 1.7 and higher for --family switch -Requires(postun): chkconfig >= 1.7 # jnlp protocols support Requires(postun): GConf2 # Standard JPackage plugin provides. Provides: java-plugin = 1:%{javaver} Provides: javaws = 1:%{javaver} +Provides: %{preffered_java}-javaws = 1:%{version} Provides: %{preffered_java}-plugin = 1:%{version} %description -The IcedTea-Web project provides a Java web browser plugin, an implementation -of Java Web Start (originally based on the Netx project) and a settings tool to +The IcedTea-Web project provides a an implementation of Java Web Start +(originally based on the Netx project) and a settings tool to manage deployment settings for the aforementioned plugin and Web Start implementations. @@ -113,25 +100,19 @@ BuildArch: noarch %description devel This package contains ziped sources of the IcedTea-Web project. +%package nativelaunchers +Summary: native launchers of icedtea-web +Group: Applications/Internet +Requires: %{name} = %{version}-%{release} + +%description nativelaunchers +This package contains native launchers for faster starup + %prep -%setup -q -%patch9 -p1 -%patch8 -p1 -%patch7 -p1 +%setup -q -n IcedTea-Web-%{name}-%{version} +%patch0 -p1 %patch1 -p1 %patch2 -p1 -%patch3 -p1 -%patch4 -p1 -%patch5 -p1 -%patch6 -p1 -if [ -e ../.git ] ; then - mv ../.git ../ggit -fi -git apply --no-index --binary -v %{PATCH11} -git apply --no-index --binary -v %{PATCH33} -if [ -e ../ggit ] ; then - mv ../ggit ../.git -fi %build autoreconf -vfi @@ -144,7 +125,11 @@ CXXFLAGS="$RPM_OPT_FLAGS $RPM_LD_FLAGS" \ --libdir=%{_libdir} \ --program-suffix=%{binsuffix} \ --disable-native-plugin \ + --with-itw-libs=DISTRIBUTION \ + --with-modularjdk-file=%{_sysconfdir}/java/%{name} \ + --enable-shell-launchers \ --prefix=%{_prefix} + make %{?_smp_mflags} %install @@ -162,6 +147,12 @@ mv $RPM_BUILD_ROOT/%{_mandir}/man1/javaws.1 $RPM_BUILD_ROOT/%{_mandir}/man1/java # Install desktop files. install -d -m 755 $RPM_BUILD_ROOT%{_datadir}/{applications,pixmaps} + +# patch desktops to use the legacy sh laucnhers +sed "s/.itweb /.itweb.sh /" -i javaws.desktop #there is javaws... %u +sed "s/.itweb$/.itweb.sh/" -i itweb-settings.desktop +sed "s/.itweb$/.itweb.sh/" -i policyeditor.desktop + desktop-file-install --vendor ''\ --dir $RPM_BUILD_ROOT%{_datadir}/applications javaws.desktop desktop-file-install --vendor ''\ @@ -177,7 +168,8 @@ DESTDIR=%{buildroot} appstream-util install metadata/%{name}-javaws.appdata.xml # maven fragments generation mkdir -p $RPM_BUILD_ROOT%{_javadir} pushd $RPM_BUILD_ROOT%{_javadir} -ln -s ../%{name}/netx.jar %{name}.jar +ln -s ../%{name}/javaws.jar ../%{name}/netx.jar # backward copatinlity needed? +ln -s ../%{name}/javaws.jar %{name}.jar ln -s ../%{name}/plugin.jar %{name}-plugin.jar popd mkdir -p $RPM_BUILD_ROOT/%{_mavenpomdir} @@ -187,39 +179,57 @@ cp metadata/%{name}-plugin.pom $RPM_BUILD_ROOT/%{_mavenpomdir}/%{name}-plugin.p %add_maven_depmap %{name}.pom %{name}.jar %add_maven_depmap %{name}-plugin.pom %{name}-plugin.jar -cp netx.build/lib/src.zip $RPM_BUILD_ROOT%{_datadir}/%{name}/netx.src.zip +cp netx.build/lib/src.zip $RPM_BUILD_ROOT%{_datadir}/%{name}/netx.src.zip # backward copatinlity needed? +cp netx.build/lib/src.zip $RPM_BUILD_ROOT%{_datadir}/%{name}/javaws.src.zip cp liveconnect/lib/src.zip $RPM_BUILD_ROOT%{_datadir}/%{name}/plugin.src.zip %find_lang %{name} --all-name --with-man %check -make check -appstream-util validate $RPM_BUILD_ROOT/%{_datadir}/appdata/*.xml || : +#make check +#appstream-util validate $RPM_BUILD_ROOT/%{_datadir}/appdata/*.xml || : -%post +%post nativelaunchers +PRIORITY=%{priority} +let PRIORITY=PRIORITY-1 alternatives \ - --install %{_bindir}/javaws javaws.%{_arch} %{_prefix}/bin/javaws%{binsuffix} %{priority} --family %{preffered_java}.%{_arch} \ + --install %{_bindir}/javaws javaws.%{_arch} %{_prefix}/bin/javaws%{binsuffix} $PRIORITY --family %{preffered_java}.%{_arch} \ --slave %{_bindir}/itweb-settings itweb-settings %{_prefix}/bin/itweb-settings%{binsuffix} \ --slave %{_bindir}/policyeditor policyeditor %{_prefix}/bin/policyeditor%{binsuffix} \ --slave %{_bindir}/ControlPanel ControlPanel %{_prefix}/bin/itweb-settings%{binsuffix} \ --slave %{_mandir}/man1/javaws.1.gz javaws.1.gz %{_mandir}/man1/javaws%{binsuffix}.1.gz \ --slave %{_mandir}/man1/ControlPanel.1.gz ControlPanel.1.gz %{_mandir}/man1/itweb-settings.1.gz +%post +PRIORITY=%{priority} +alternatives \ + --install %{_bindir}/javaws javaws.%{_arch} %{_prefix}/bin/javaws%{binsuffix}.sh $PRIORITY --family %{preffered_java}.%{_arch} \ + --slave %{_bindir}/itweb-settings itweb-settings %{_prefix}/bin/itweb-settings%{binsuffix}.sh \ + --slave %{_bindir}/policyeditor policyeditor %{_prefix}/bin/policyeditor%{binsuffix}.sh \ + --slave %{_bindir}/ControlPanel ControlPanel %{_prefix}/bin/itweb-settings%{binsuffix}.sh \ + --slave %{_mandir}/man1/javaws.1.gz javaws.1.gz %{_mandir}/man1/javaws%{binsuffix}.1.gz \ + --slave %{_mandir}/man1/ControlPanel.1.gz ControlPanel.1.gz %{_mandir}/man1/itweb-settings.1.gz - -gconftool-2 -s %{jnlphandler}/command '%{_prefix}/bin/javaws%{binsuffix} %s' --type String &> /dev/null || : +gconftool-2 -s %{jnlphandler}/command '%{_bindir}/javaws %s' --type String &> /dev/null || : gconftool-2 -s %{jnlphandler}/enabled --type Boolean true &> /dev/null || : -gconftool-2 -s %{jnlpshandler}/command '%{_prefix}/bin/javaws%{binsuffix} %s' --type String &> /dev/null || : +gconftool-2 -s %{jnlpshandler}/command '%{_bindir}/javaws %s' --type String &> /dev/null || : gconftool-2 -s %{jnlpshandler}/enabled --type Boolean true &> /dev/null || : %posttrans update-desktop-database &> /dev/null || : exit 0 +%postun nativelaunchers +if [ $1 -eq 0 ] +then + alternatives --remove javaws.%{_arch} %{_prefix}/bin/javaws%{binsuffix} +fi +exit 0 + %postun update-desktop-database &> /dev/null || : if [ $1 -eq 0 ] then - alternatives --remove javaws %{_prefix}/bin/javaws%{binsuffix} + alternatives --remove javaws.%{_arch} %{_prefix}/bin/javaws%{binsuffix}.sh gconftool-2 -u %{jnlphandler}/command &> /dev/null || : gconftool-2 -u %{jnlphandler}/enabled &> /dev/null || : gconftool-2 -u %{jnlpshandler}/command &> /dev/null || : @@ -227,9 +237,18 @@ then fi exit 0 +%files nativelaunchers +%{_prefix}/bin/javaws.itweb +%{_prefix}/bin/itweb-settings.itweb +%{_prefix}/bin/policyeditor.itweb +%license COPYING + %files -f .mfiles -f %{name}.lang %{_sysconfdir}/bash_completion.d/* -%{_prefix}/bin/* +%config(noreplace) %{_sysconfdir}/java/%{name}/itw-modularjdk.args +%{_prefix}/bin/javaws.itweb.sh +%{_prefix}/bin/itweb-settings.itweb.sh +%{_prefix}/bin/policyeditor.itweb.sh %{_datadir}/applications/* %dir %{_datadir}/%{name} %{_datadir}/%{name}/*.jar @@ -249,6 +268,19 @@ exit 0 %license COPYING %changelog +* Mon Nov 30 2020 - Jiri Vanek <jvanek@redhat.com> -1.8.4-4 +- added patch2, fed2f5b-22402bb.patch containing important fixes from future 1.8.5 +- Resolves: rhbz#1900043 + +* Fri Nov 27 2020 - Jiri Vanek <jvanek@redhat.com> -1.8.4-2 +- added native launchers, via separate subpackage, but efectively changed main package to arched one +- removed policyeditor man page, it was link to itself +- Resolves: rhbz#1900043 + +* Fri Nov 27 2020 - Jiri Vanek <jvanek@redhat.com> -1.8.4-1 +- rebased to itw 1.8, ommiting native launchers +- Resolves: rhbz#1900043 + * Fri Nov 20 2020 Jiri Vanek <jvanek@redhat.com> 1.7.1-18 - patched to use alt-java if available - Added Patch6, altjava.patch