/hg/release/icedtea-web-1.6: Fixed various cosmetic NPEs when co...

jvanek at icedtea.classpath.org jvanek at icedtea.classpath.org
Wed Jan 27 16:04:02 UTC 2016


changeset 530bb97e9f08 in /hg/release/icedtea-web-1.6
details: http://icedtea.classpath.org/hg/release/icedtea-web-1.6?cmd=changeset;node=530bb97e9f08
author: Jiri Vanek <jvanek at redhat.com>
date: Wed Jan 27 17:03:41 2016 +0100

	Fixed various cosmetic NPEs when codebase is null (+tests)


diffstat:

 ChangeLog                                                                                                |   62 +
 NEWS                                                                                                     |    1 +
 netx/net/sourceforge/jnlp/JNLPFile.java                                                                  |   20 +
 netx/net/sourceforge/jnlp/PluginBridge.java                                                              |    4 +-
 netx/net/sourceforge/jnlp/SecurityDesc.java                                                              |    6 +-
 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java                                                   |    2 +-
 netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java                                         |    4 +-
 netx/net/sourceforge/jnlp/security/SecurityDialogs.java                                                  |    4 +-
 netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java           |    8 +-
 netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java                               |    2 +-
 netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/PartiallySignedAppTrustWarningPanel.java |    2 +-
 netx/net/sourceforge/jnlp/util/UrlUtils.java                                                             |    6 +
 tests/junit-runner/JunitLikeXmlOutputListener.java                                                       |   16 +
 tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSigned.html.in                       |   46 +
 tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedApp.jnlp.in                    |   55 +
 tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedApplet.jnlp.in                 |   59 +
 tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedJnlpHref.html.in               |   47 +
 tests/reproducers/signed/CodebasesAttsSigned/srcs/CodebasesAttsSigned.java                               |   86 +
 tests/reproducers/signed/CodebasesAttsSigned/testcases/CodebasesAttsSignedDialogsTest1.java              |  528 +++++++
 tests/reproducers/simple/CodebasesAtts/resources/CodebasesAtts.html.in                                   |   46 +
 tests/reproducers/simple/CodebasesAtts/resources/CodebasesAttsApp.jnlp.in                                |   55 +
 tests/reproducers/simple/CodebasesAtts/resources/CodebasesAttsApplet.jnlp.in                             |   59 +
 tests/reproducers/simple/CodebasesAtts/resources/CodebasesAttsJnlpHref.html.in                           |   47 +
 tests/reproducers/simple/CodebasesAtts/srcs/CodebasesAtts.java                                           |   86 +
 tests/reproducers/simple/CodebasesAtts/testcases/CodebasesAttsDialogsTest1.java                          |  239 +++
 tests/reproducers/simple/CodebasesAtts/testcases/CodebasesAttsNoDialogsTest1.java                        |  699 ++++++++++
 tests/reproducers/simple/CodebasesAtts/testcases/CodebasesAttsNoDialogsTest2.java                        |  432 ++++++
 tests/reproducers/simple/CodebasesAtts/testcases/CodebasesAttsNoDialogsTest3.java                        |  308 ++++
 tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java                                             |   21 +-
 tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/firefox/FirefoxProfilesOperator.java  |    4 +-
 tests/test-extensions/net/sourceforge/jnlp/closinglisteners/AutoErrorClosingListener.java                |   66 +-
 tests/test-extensions/net/sourceforge/jnlp/closinglisteners/StringBasedClosingListener.java              |    2 +-
 32 files changed, 2971 insertions(+), 51 deletions(-)

diffs (truncated from 3329 to 500 lines):

diff -r 978b3c7070b7 -r 530bb97e9f08 ChangeLog
--- a/ChangeLog	Tue Jan 19 21:14:09 2016 +0100
+++ b/ChangeLog	Wed Jan 27 17:03:41 2016 +0100
@@ -1,3 +1,65 @@
+2016-01-25  Jiri Vanek <jvanek at redhat.com>
+
+	Fixed various cosmetic NPEs when codebase is null (+tests)
+	* NEWS: mentioned PR2489
+	* netx/net/sourceforge/jnlp/JNLPFile.java: added method getNotNullProbalbeCodeBase
+	workaround cases when codebase is null (for various output reasons)
+	* netx/net/sourceforge/jnlp/PluginBridge.java: using getNotNullProbalbeCodeBase
+	when fixing codebase during generation of jnlp stub.
+	* netx/net/sourceforge/jnlp/SecurityDesc.java: same for generating uri for policies
+	record
+	* netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (manageExternalJars)
+	same for ref string comparsion
+	* netx/net/sourceforge/jnlp/security/SecurityDialog.java: same for visible form of
+	codebase
+	* netx/net/sourceforge/jnlp/security/SecurityDialogs.java: same
+	* netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java:
+	same
+	* netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java:
+	same
+	* netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/PartiallySignedAppTrustWarningPanel.java:
+	same
+	* netx/net/sourceforge/jnlp/util/UrlUtils.java: (normalizeUrlAndStripParams) and
+	(removeFileName) when input is null, return null.
+	* tests/junit-runner/JunitLikeXmlOutputListener.java: now supports hg commits
+	* tests/reproducers/signed/CodebasesAttsSigned/srcs/CodebasesAttsSigned.java:
+	test printing "hardocded" id and paramet to know jar and calling jnlp/html source
+	* tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSigned.html.in:
+	resouirce capable of substitue id param, codebase, jar and htmlHref
+	* tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedApp.jnlp.in:
+	same
+	* tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedApplet.jnlp.in:
+	same
+	* tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedJnlpHref.html.in:
+	same
+	* tests/reproducers/signed/CodebasesAttsSigned/testcases/CodebasesAttsSignedDialogsTest1.java:
+	Test testing various dialogues of signed app. Including tests for corrupted signature
+	* tests/reproducers/simple/CodebasesAtts/srcs/CodebasesAtts.java: same as CodebasesAttsSigned
+	but not signed
+	* tests/reproducers/simple/CodebasesAtts/resources/CodebasesAtts.html.in:
+	same as signed ones
+	* tests/reproducers/simple/CodebasesAtts/resources/CodebasesAttsApp.jnlp.in:
+	same
+	* tests/reproducers/simple/CodebasesAtts/resources/CodebasesAttsApplet.jnlp.in:
+	same
+	* tests/reproducers/simple/CodebasesAtts/resources/CodebasesAttsJnlpHref.html.in:
+	same
+	* tests/reproducers/simple/CodebasesAtts/testcases/CodebasesAttsDialogsTest1.java:
+	same
+	* tests/reproducers/simple/CodebasesAtts/testcases/CodebasesAttsNoDialogsTest1.java:
+	* tests/reproducers/simple/CodebasesAtts/testcases/CodebasesAttsNoDialogsTest2.java:
+	* tests/reproducers/simple/CodebasesAtts/testcases/CodebasesAttsNoDialogsTest3.java:
+	Again tests for various substituted values
+	* tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java:
+	added stubs to create independent instance upon tmp folder and execute browser
+	upon url.
+	* tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/firefox/FirefoxProfilesOperator.java:
+	(copyFile) moved to autocloseable
+	* tests/test-extensions/net/sourceforge/jnlp/closinglisteners/AutoErrorClosingListener.java:
+	fixed to not to close on rhino exception
+	* tests/test-extensions/net/sourceforge/jnlp/closinglisteners/StringBasedClosingListener.java:
+	condition made protected
+
 2016-01-19  Jiri Vanek <jvanek at redhat.com>
 
 	When tagsoup is missing, parsing errors are more informative
diff -r 978b3c7070b7 -r 530bb97e9f08 NEWS
--- a/NEWS	Tue Jan 19 21:14:09 2016 +0100
+++ b/NEWS	Wed Jan 27 17:03:41 2016 +0100
@@ -14,6 +14,7 @@
 * PR2591 - IcedTea-Web request resources twice for meta informations and causes ClientAbortException on tomcat in conjunction with JnlpDownloadServlet
 * PR2690 - Can't run BOM into JNLP file
 * PR2669 - remove bash-specific syntax from top level Makefile.am
+* PR2489 - various NPEs when codebase is null
 * NetX
   - main-class attribute trimmed by default
   - in strict mode, main-class attribute checked for invalid characters
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/JNLPFile.java
--- a/netx/net/sourceforge/jnlp/JNLPFile.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/JNLPFile.java	Wed Jan 27 17:03:41 2016 +0100
@@ -37,6 +37,7 @@
 import net.sourceforge.jnlp.runtime.JNLPClassLoader;
 import net.sourceforge.jnlp.runtime.JNLPRuntime;
 import net.sourceforge.jnlp.util.ClasspathMatcher;
+import net.sourceforge.jnlp.util.UrlUtils;
 import net.sourceforge.jnlp.util.logging.OutputController;
 
 /**
@@ -419,6 +420,25 @@
     public URL getCodeBase() {
         return codeBase;
     }
+    
+    /**
+     * It is not recommended to use this method for internals of itw - use normal getCodeBase rather, as null is expected always except toString calls.
+     *
+     * If you are not sure, use getCodeBase and chek null as you need. See that this method is used mostly for xtendedAppletSecuriyty dialogs.
+     * 
+     * @return the codebase URL for the JNLP file  or url of location of calling file (jnlp, hreffed jnlp, or directly html)
+     */
+    public URL getNotNullProbalbeCodeBase() {
+        if (getCodeBase()!=null){
+            return getCodeBase();
+        }
+        try {
+            return UrlUtils.removeFileName(getSourceLocation());
+        } catch (Exception ex) {
+            OutputController.getLogger().log(ex);
+        }
+        return getSourceLocation();
+    }
 
     /**
      * @return the information section of the JNLP file as viewed
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/PluginBridge.java
--- a/netx/net/sourceforge/jnlp/PluginBridge.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/PluginBridge.java	Wed Jan 27 17:03:41 2016 +0100
@@ -475,7 +475,7 @@
         } else {
             StringBuilder s = new StringBuilder();
             s.append("<?xml version='1.0' encoding='UTF-8'?>\n"
-                   + "<jnlp codebase='").append(getCodeBase().toString()).append("'>\n")
+                   + "<jnlp codebase='").append(getNotNullProbalbeCodeBase().toString()).append("'>\n")
                     .append("  <information>\n"
                           + "    <title>").append(createJnlpTitle()).append("</title>\n"
                           + "    <vendor>").append(createJnlpVendor()).append("</vendor>\n"
@@ -540,7 +540,7 @@
     }
 
      private String fixCommonIsuses(boolean needSecurity, String orig) {
-        String codebase = getCodeBase().toString();
+        String codebase = getNotNullProbalbeCodeBase().toString();
         return fixCommonIsuses(needSecurity, orig, codebase, createJnlpTitle(), createJnlpVendor());
     }
      
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/SecurityDesc.java
--- a/netx/net/sourceforge/jnlp/SecurityDesc.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/SecurityDesc.java	Wed Jan 27 17:03:41 2016 +0100
@@ -415,11 +415,7 @@
             }
         }
         try {
-            URL codebaseOriginal = file.getCodeBase();
-            if (codebaseOriginal == null){
-                codebaseOriginal =file.fileLocation;
-            }
-            final URI codebase = codebaseOriginal.toURI().normalize();
+            final URI codebase = file.getNotNullProbalbeCodeBase().toURI().normalize();
             final URI host = getHost(codebase);
             final String codebaseHostUriString = host.toString();
             final String urlPermissionUrlString = appendRecursiveSubdirToCodebaseHostString(codebaseHostUriString);
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java
--- a/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java	Wed Jan 27 17:03:41 2016 +0100
@@ -2162,7 +2162,7 @@
         if (foundLoader != null)
             approved = true;
 
-        else if (ref.toString().startsWith(file.getCodeBase().toString()))
+        else if (ref.toString().startsWith(file.getNotNullProbalbeCodeBase().toString()))
             approved = true;
         else if (SecurityDesc.ALL_PERMISSIONS.equals(security.getSecurityType()))
             approved = true;
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java
--- a/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/runtime/ManifestAttributesChecker.java	Wed Jan 27 17:03:41 2016 +0100
@@ -282,7 +282,7 @@
                 throw new LaunchException("Your Extended applets security is at 'Very high', and this application is missing the 'permissions' attribute in manifest. This is fatal");
             }
             if (itwSecurityLevel == AppletSecurityLevel.ASK_UNSIGNED) {
-                final boolean userApproved = SecurityDialogs.showMissingPermissionsAttributeDialogue(file.getTitle(), file.getCodeBase());
+                final boolean userApproved = SecurityDialogs.showMissingPermissionsAttributeDialogue(file.getTitle(), file.getNotNullProbalbeCodeBase().toExternalForm());
                 if (!userApproved) {
                     throw new LaunchException("Your Extended applets security is at 'high' and this application is missing the 'permissions' attribute in manifest. And you have refused to run it.");
                 } else {
@@ -407,7 +407,7 @@
             att = file.getManifestsAttributes().getApplicationLibraryAllowableCodebase();
         }
         if (att == null) {
-            final boolean userApproved = SecurityDialogs.showMissingALACAttributePanel(file.getTitle(), documentBase, usedUrls);
+            final boolean userApproved = SecurityDialogs.showMissingALACAttributePanel(file.getTitle(), file.getNotNullProbalbeCodeBase(), usedUrls);
             if (!userApproved) {
                 throw new LaunchException("The application uses non-codebase resources, has no Application-Library-Allowable-Codebase Attribute, and was blocked from running by the user");
             } else {
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/security/SecurityDialogs.java
--- a/netx/net/sourceforge/jnlp/security/SecurityDialogs.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/security/SecurityDialogs.java	Wed Jan 27 17:03:41 2016 +0100
@@ -441,7 +441,7 @@
         }
     }
 
-     public static boolean showMissingPermissionsAttributeDialogue(String title, URL codeBase) {
+     public static boolean showMissingPermissionsAttributeDialogue(String title, String codeBase) {
 
          if (!shouldPromptUser()) {
              if (JNLPRuntime.isTrustAll()) {
@@ -453,7 +453,7 @@
 
          SecurityDialogMessage message = new SecurityDialogMessage();
          message.dialogType = DialogType.UNSIGNED_EAS_NO_PERMISSIONS_WARNING;
-         message.extras = new Object[]{title, codeBase.toExternalForm()};
+         message.extras = new Object[]{title, codeBase};
          Object selectedValue = getUserResponse(message);
          return SecurityDialogs.getIntegerResponseAsBoolean(selectedValue);
     }
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java
--- a/netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java	Wed Jan 27 17:03:41 2016 +0100
@@ -110,8 +110,8 @@
     private static UnsignedAppletActionEntry getMatchingItem(UnsignedAppletActionStorage actionStorage, JNLPFile file, int id) {
         return actionStorage.getMatchingItem(
                 UrlUtils.normalizeUrlAndStripParams(file.getSourceLocation(), true /* encode local files */).toString(), 
-                UrlUtils.normalizeUrlAndStripParams(file.getCodeBase(), true /* encode local files */).toString(), 
-                toRelativePaths(getJars(file), file.getCodeBase().toString()), id);
+                UrlUtils.normalizeUrlAndStripParams(file.getNotNullProbalbeCodeBase(), true /* encode local files */).toString(), 
+                toRelativePaths(getJars(file), file.getNotNullProbalbeCodeBase().toExternalForm()), id);
     }
 
     /* Extract the archives as relative paths */
@@ -134,7 +134,7 @@
         try {
             UnsignedAppletActionEntry oldEntry = getMatchingItem(userActionStorage, file, id);
 
-            URL codebase = UrlUtils.normalizeUrlAndStripParams(file.getCodeBase(), true /* encode local files */);
+            URL codebase = UrlUtils.normalizeUrlAndStripParams(file.getNotNullProbalbeCodeBase(), true /* encode local files */);
             URL documentbase = UrlUtils.normalizeUrlAndStripParams(file.getSourceLocation(), true /* encode local files */);
 
             /* Else, create a new entry */
@@ -144,7 +144,7 @@
 
             if (!rememberForCodeBase) { 
                 documentbaseRegex = UrlRegEx.quote(documentbase.toExternalForm()); // Match only this applet
-                archiveMatches = toRelativePaths(getJars(file), file.getCodeBase().toString()); // Match only this applet
+                archiveMatches = toRelativePaths(getJars(file), file.getNotNullProbalbeCodeBase().toString()); // Match only this applet
             }
             
             /* Update, if entry exists */
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java
--- a/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java	Wed Jan 27 17:03:41 2016 +0100
@@ -174,7 +174,7 @@
                 policyEditorWindow.asWindow().repaint();
             }
             policyEditorWindow.setModalityType(ModalityType.DOCUMENT_MODAL);
-            policyEditorWindow.getPolicyEditor().addNewCodebase(file.getCodeBase().toString());
+            policyEditorWindow.getPolicyEditor().addNewCodebase(file.getNotNullProbalbeCodeBase().toString());
             policyEditorWindow.asWindow().setVisible(true);
             menu.setVisible(false);
         }
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/PartiallySignedAppTrustWarningPanel.java
--- a/netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/PartiallySignedAppTrustWarningPanel.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/security/dialogs/apptrustwarningpanel/PartiallySignedAppTrustWarningPanel.java	Wed Jan 27 17:03:41 2016 +0100
@@ -100,7 +100,7 @@
 
         try {
             if (file instanceof PluginBridge) {
-                from = file.getCodeBase().toExternalForm();
+                from = file.getNotNullProbalbeCodeBase().toExternalForm();
             } else {
                 from = file.getInformation().getHomepage().toExternalForm();
             }
diff -r 978b3c7070b7 -r 530bb97e9f08 netx/net/sourceforge/jnlp/util/UrlUtils.java
--- a/netx/net/sourceforge/jnlp/util/UrlUtils.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/netx/net/sourceforge/jnlp/util/UrlUtils.java	Wed Jan 27 17:03:41 2016 +0100
@@ -52,6 +52,9 @@
     private static final String UTF8 = "utf-8";
 
     public static URL normalizeUrlAndStripParams(URL url, boolean encodeFileUrls) {
+        if (url == null) {
+            return null;
+        }
         try {
             String[] urlParts = url.toString().split("\\?");
             URL strippedUrl = new URL(urlParts[0]); 
@@ -165,6 +168,9 @@
      * @return  src without file
      */
     public static URL removeFileName(final URL src) {
+        if (src == null) {
+            return src;
+        }
         URL nsrc = normalizeUrlAndStripParams(src);
         String s = nsrc.getPath();
         int i1 = s.lastIndexOf("/");
diff -r 978b3c7070b7 -r 530bb97e9f08 tests/junit-runner/JunitLikeXmlOutputListener.java
--- a/tests/junit-runner/JunitLikeXmlOutputListener.java	Tue Jan 19 21:14:09 2016 +0100
+++ b/tests/junit-runner/JunitLikeXmlOutputListener.java	Wed Jan 27 17:03:41 2016 +0100
@@ -424,6 +424,8 @@
 
         String distro = "http://mail.openjdk.java.net/pipermail/distro-pkg-dev/";
         String openjdk = "http://mail.openjdk.java.net/pipermail/";
+        String pushHead = "http://icedtea.classpath.org/hg/";
+        String pushBranch = "http://icedtea.classpath.org/hg/release/";
         if (string.startsWith(distro)) {
             r[0] = "distro-pkg";
             return r;
@@ -432,6 +434,14 @@
             r[0] = "openjdk";
             return r;
         }
+        if (string.startsWith(pushBranch)) {
+            r[0] = "push (branch)";
+            return r;
+        }
+        if (string.startsWith(pushHead)) {
+            r[0] = "push (head)";
+            return r;
+        }
         return r;
 
     }
@@ -459,5 +469,11 @@
 
         q = createBug("http://lists.fedoraproject.org/pipermail/chinese/2012-January/008868.html");
         System.out.println(q[0] + " : " + q[1]);
+        
+        q = createBug("http://icedtea.classpath.org/hg/icedtea-web/rev/22b7becd48a7");
+        System.out.println(q[0] + " : " + q[1]);
+        
+        q = createBug("http://icedtea.classpath.org/hg/release/icedtea-web-1.6/rev/0d9faf51357d");
+        System.out.println(q[0] + " : " + q[1]);
     }
 }
diff -r 978b3c7070b7 -r 530bb97e9f08 tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSigned.html.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSigned.html.in	Wed Jan 27 17:03:41 2016 +0100
@@ -0,0 +1,46 @@
+<!--
+
+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; either version 2, or (at your option)
+any later version.
+
+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.
+
+ -->
+
+<html>
+<head></head>
+<body>
+	<applet code="CodebasesAttsSigned.class" archive="@JAR at .jar" @CODEBASE@ width="100" height="100">
+		<param name="id" value="@ID@">
+	</applet>
+</body>
+</html>
diff -r 978b3c7070b7 -r 530bb97e9f08 tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedApp.jnlp.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedApp.jnlp.in	Wed Jan 27 17:03:41 2016 +0100
@@ -0,0 +1,55 @@
+<!--
+
+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; either version 2, or (at your option)
+any later version.
+
+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.
+
+ -->
+
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp spec="1.0" href="CodebasesAttsSignedApp.jnlp" @CODEBASE@>
+  <information>
+	<title>CodebasesAttsSigned</title>
+    <vendor>IcedTea</vendor>
+    <homepage href="http://icedtea.classpath.org/wiki/IcedTea-Web#Testing_IcedTea-Web"/>
+    <description>PR2489</description>
+    <offline/>
+  </information>
+  <resources>
+    <j2se version="1.4+"/>
+    <jar href="@JAR at .jar"/>
+  </resources>
+  <application-desc main-class="CodebasesAttsSigned">
+    <argument>@ID@</argument>
+  </application-desc>
+</jnlp>
diff -r 978b3c7070b7 -r 530bb97e9f08 tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedApplet.jnlp.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedApplet.jnlp.in	Wed Jan 27 17:03:41 2016 +0100
@@ -0,0 +1,59 @@
+<!--
+
+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; either version 2, or (at your option)
+any later version.
+
+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.
+
+ -->
+
+<?xml version="1.0" encoding="utf-8"?>
+<jnlp spec="1.0" href="CodebasesAttsSignedApplet.jnlp" @CODEBASE@>
+	<information>
+    	<title>CodebasesAttsSigned</title>
+    	<vendor>IcedTea</vendor>
+    	<homepage href="http://icedtea.classpath.org/wiki/IcedTea-Web#Testing_IcedTea-Web"/>
+    	<description>PR2489</description>
+    	<offline/>
+	</information>
+	<resources>
+	  	<j2se version="1.4+"/>
+		<jar href="@JAR at .jar"/>
+	</resources>
+	<applet-desc
+	  name="CodebasesAttsSigned"
+	  main-class="CodebasesAttsSigned"
+	  width="100"
+	  height="100">
+            <param name="id" value="@ID@">
+	</applet-desc>
+</jnlp>
diff -r 978b3c7070b7 -r 530bb97e9f08 tests/reproducers/signed/CodebasesAttsSigned/resources/CodebasesAttsSignedJnlpHref.html.in
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000


More information about the distro-pkg-dev mailing list