2012-08-27 Deepak Bhole * configure.ac: Prepare for 1.3 * NEWS: Same 2012-08-27 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getAccessControlContextForClassLoading): Catch ClassCircularityErrors and ignore them (thus denying permission to caller). 2012-08-13 Jiri Vanek * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: (executeProcessUponURL)Fixed wrong call in previous commit which was causing null process name. * tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java: Removed unused import. 2012-08-13 Jiri Vanek Reproducers of PR955 * tests/reproducers/simple/LocalisedInformationElement/resources/LocalisedInformationElement1.jnlp: * tests/reproducers/simple/LocalisedInformationElement/resources/LocalisedInformationElement2.jnlp: * tests/reproducers/simple/LocalisedInformationElement/resources/LocalisedInformationElement3.jnlp: * tests/reproducers/simple/LocalisedInformationElement/resources/LocalisedInformationElement4.jnlp: Test jnlp files with various combinations of locales, reproducers of PR955. * tests/reproducers/simple/LocalisedInformationElement/resources/LocalisedInformationElement_noLoc.jnlp Jnlp file with which is not affected by PR955 and is helping to catch error in LOCALE changing hack * tests/reproducers/simple/LocalisedInformationElement/srcs/LocalisedInformationElement.java: Reproducer main class, after loading prints out default locale. * tests/reproducers/simple/LocalisedInformationElement/testcases/LocalisedInformationElementTest.java: Testcases launching above jnlps under various locales. * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: Added set of methods allowing passing of custom variables to ThreadedProcess. * tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java: Added processing of custom variables. 2012-08-22 Danesh Dadachanji Fix PR955: regression: SweetHome3D fails to run * NEWS: Added entry for PR955 * netx/net/sourceforge/jnlp/JNLPFile.java: New enum Match that represents the level of precision to use when matching locales. (localMatches): Renamed to localeMatches, added matchLevel paramater and updated conditionals to handle the level of precision specified by it. (getVendor): New method that returns an information's vendor text. (getInformation): Added override methods for getTitle and getVendor that are used by the anonymous class to filter by locale. All three methods now go through all levels of precision to search for the best fitted locale. (getResources), (getResourcesDescs): Updated to check if any level of precision matches when searching for locales. (parse): Added call to checkForTitleVendor. * netx/net/sourceforge/jnlp/Parser.java (checkForTitleVendor): New method to check for availability of localized title and vendor from the information tags. Throws ParseException. (getInfo): Replace loop with foreach loop. (getInformationDesc): Remove check for present title and vendor. (getLocale): Variant returned can now use everything after the eigth element of the locale's string. * netx/net/sourceforge/jnlp/resources/Messages.properties: Update missing title and vendor messages to mention localization. * tests/reproducers/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java: Update output string as per new changes to Messages internationalizations. * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: New unit test that checks the localesMatches method in JNLPFile. * tests/netx/unit/net/sourceforge/jnlp/MockJNLPFile.java: New class used to create a mock JNLPFile object. * tests/netx/unit/net/sourceforge/jnlp/ParserTest.java: New unit test that checks that the return of getTitle and getVendor have localized information. 2012-08-21 Jiri Vanek * tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java: (sigInt), (sigKill), (sigTerm) new methods for various killing of processes by kill. (kill) new method, launching kill process. (destroyProcess ) is now calling sigInt instead of unwrapped sigTerm. 2012-08-21 Jiri Vanek * launcher/javaws.in: java is now launched by exec 2012-08-17 Adam Domurad Fixes PR588, cookies set in the java cookie jar are now stored properly * plugin/icedteanp/IcedTeaNPPlugin.cc (set_cookie_info): New, uses setvalueforurl (consume_plugin_message): Additional message added allowing set_cookie_info to be used from the java side. * plugin/icedteanp/java/sun/applet/PluginCookieManager.java: Now overrides put method, results in set_cookie_info calls in C++ * plugin/icedteanp/java/sun/applet/PluginMain.java: Passes PluginStreamHandler to PluginCookieManager to allow C++ side communication 2012-08-17 Adam Domurad * plugin/icedteanp/IcedTeaNPPlugin.cc (consume_plugin_message): New, called by consume_message, handles cookie and proxy info retrieval, and setting cookie info (consume_message): Call consume_plugin_message for "plugin ..." messages 2012-08-17 Adam Domurad Reproducers for PR588, sets persistent and session cookies in the cookie jar and tries to read them with various means. * tests/reproducers/signed/SavingCookies/resources/CheckCookie.html: Print the cookie store contents * tests/reproducers/signed/SavingCookies/resources/CheckCookieAndGotoClear.html: Print the cookie store contents, and then go to ClearPersistentCookie.html with showDocument * tests/reproducers/signed/SavingCookies/resources/ClearPersistentCookie.html: Clear the test cookie so it does not interfere with further tests * tests/reproducers/signed/SavingCookies/resources/SavePersistentCookie.html: Create a persistent cookie * tests/reproducers/signed/SavingCookies/resources/SavePersistentCookieAndGotoCheck.html: Create a persistent cookie and check it with showDocument * tests/reproducers/signed/SavingCookies/resources/SaveSessionCookie.html: Create a session cookie * tests/reproducers/signed/SavingCookies/resources/SaveSessionCookieAndGotoCheck.html: Create a session cookie and check it with showDocument * tests/reproducers/signed/SavingCookies/srcs/CheckingCookies.java: Checks the contents of the cookie store. Depending on the test, this may go to another page upon completion. * tests/reproducers/signed/SavingCookies/srcs/SavingCookies.java: Store cookies in the java cookie store. Depending on the test, this may go to another page upon completion. * tests/reproducers/signed/SavingCookies/testcases/SavingCookiesTests.java Test driver for testing persistent and session cookies in different ways 2012-08-18 Jiri Vanek * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: added VERBOSE_OPTION constant with -verbose value for javaws launching. 2012-08-17 Jiri Vanek * tests/reproducers/simple/deadlocktest/testcases/DeadLockTestTest.java: (testDeadLockTestTerminatedBody) removed tests for killed-process and termination of remaining javas put on correct place. * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: (executeBrowser) stout and stderr listeners forwarded to next method in correct order. 2012-08-14 Danesh Dadachanji Small addition to NEWS entry and bug annotation indicating the PR975 fix. * NEWS: Add entry for PR975 * tests/reproducers/signed/ClasspathManifestTest/testcases/ClasspathManifestTest.java: Add bug annotation for PR975. 2012-08-14 Danesh Dadachanji Classpaths in jars' manifests are only considered when the applet is run without using jnlp_href and a JNLP file. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Add conditional check for use of jnlp_href. * tests/reproducers/signed/Classpath.Manifest.Test.Helper/srcs/CheckForClasspath.java: Applet whose jar is stored in a subdir under the test engine server. * tests/reproducers/signed/ClasspathManifestTest/resources/ClasspathManifestAppletTest.html: * tests/reproducers/signed/ClasspathManifestTest/resources/ClasspathManifestAppletTest.jnlp: * tests/reproducers/signed/ClasspathManifestTest/resources/ClasspathManifestApplicationTest.jnlp: * tests/reproducers/signed/ClasspathManifestTest/resources/ClasspathManifestJNLPHrefTest.html: * tests/reproducers/signed/ClasspathManifestTest/srcs/ClasspathManifest.java: * tests/reproducers/signed/ClasspathManifestTest/srcs/META-INF/MANIFEST.MF: * tests/reproducers/signed/ClasspathManifestTest/testcases/ClasspathManifestTest.java: Test if manifest entry is searched for classpath only when in the plugin is run without using jnlp_href. 2012-08-14 Adam Domurad Reproducer for allowing unsigned content in META-INF/ folder. Derives from ReadPropertiesSigned test's signed jar. * tests/reproducers/custom/UnsignedContentInMETAINF/resources/UnsignedContentInMETAINF.jnlp: New, runs a modified version of ReadPropertiesSigned.jar (UnsignedContentInMETAINF.jar) * tests/reproducers/custom/UnsignedContentInMETAINF/srcs/META-INF/unsigned_file_in_metainf: New, placed into a modified version of ReadPropertiesSigned.jar (UnsignedContentInMETAINF.jar) so that there is unsigned content in the META-INF/ folder. * tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile: New, creates a modified version of ReadPropertiesSigned.jar, named UnsignedContentInMETAINF.jar, and places unsigned content inside its META-INF/ folder * tests/reproducers/custom/UnsignedContentInMETAINF/testcases/UnsignedContentInMETAINF.java: Test driver for jnlp file 2012-08-14 Adam Domurad Unit test for method in JCV, isMetaInfFile() * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Made isMetaInfFile package-private for testing purposes. * tests/netx/unit/net/sourceforge/jnlp/tools/JarCertVerifierTest.java: New, tests isMetaInfFile 2012-08-07 Adam Domurad Fixes PR1106, plugin crashing with firefox + archlinux/gentoo * plugin/icedteanp/IcedTeaNPPlugin.cc (initialize_browser_functions): Account for the fact that browserTable->size can be larger than sizeof(NPNetscapeFuncs) 2012-07-31 Jiri Vanek Peter Hatina Introduced configure option --with-gtk=2|3|default to be able to compile against different version of GTK+ (2.x or 3.x). * NEWS: mentioned bug fix * acinclude.m4: (ITW_GTK_CHECK_VERSION) macro for getting GTK+ version (ITW_GTK_CHECK) macro for checking GTK+ version 2012-07-24 Adam Domurad CVE-2012-3422, RH840592: Potential read from an uninitialized memory location. * plugin/icedteanp/IcedTeaNPPlugin.cc (get_cookie_info): Only attempt to perform this operation if there is a valid plugin instance (get_proxy_info): Only attempt to perform this operation if there is a valid plugin instance 2012-07-24 Adam Domurad * plugin/icedteanp/IcedTeaPluginUtils.cc (IcedTeaPluginUtilities::strSplit): Replace usage of " " with proper delimiter 2012-07-24 Adam Domurad Refactor JNLPFile#launchType into its own interface type (as opposed to Object), LaunchDesc. * netx/net/sourceforge/jnlp/AppletDesc.java: Add override annotation to getMainClass(). * netx/net/sourceforge/jnlp/ApplicationDesc.java: Same as above * netx/net/sourceforge/jnlp/InstallerDesc.java: Same as above * netx/net/sourceforge/jnlp/JNLPFile.java: Make launchType a LaunchDesc object. Update getLaunchInfo() accordingly. * netx/net/sourceforge/jnlp/LaunchDesc.java: New launch description. * netx/net/sourceforge/jnlp/Parser.java (getLauncher): Return type changed to LaunchDesc * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Replace occurences of instanceof with respect to launchType. 2012-07-18 Danesh Dadachanji Fix RH838417, Fix RH838559: Disambiguate signed applet security prompt from certificate warning. * NEWS: Added entries for RH838417 and RH838559. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added SWarnFullPermissionsIgnorePolicy and updated SHttpsUnverified. * netx/net/sourceforge/jnlp/security/CertWarningPane.java: Display SWarnFullPermissionsIgnorePolicy if the cert is from a jar and is either unverified or has a signing error. Also added warning.png to HTTPS dialogs. 2012-07-11 Jiri Vanek try to close browser before kill it * tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java: * tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java: * tests/reproducers/simple/CheckServices/testcases/CheckServicesTests.java (evaluateSignedApplet) addapted to properly closed browser * tests/reproducers/simple/CheckServices/srcs/CheckServices.java: removed fixme section as it shuld work now * tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java (destroyProcess) new method, launching kill with SIGTERM before clasical process.destroy() * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: removed Set terminated, should be removed long ago 2012-07-09 Saad Mohammad * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeExtensions): Checks and assigns the main-class name prior to the for loop. 2012-07-09 Martin Olsson * plugin/icedteanp/IcedTeaPluginUtils.cc: Change calls from g_free to free when allocated with calloc. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (PluginRequestProcessor::call): Make sure args_array doesnt hold garbage when freed. (_loadURL): Change calls from g_free to free when allocated with calloc. 2012-07-09 Adam Domurad Ignore invalid jar files in applets, like the oracle plugin does. * netx/net/sourceforge/jnlp/cache/IllegalResourceDescriptorException.java: New exception type for ResourceTracker to throw instead of IllegalArgumentException * netx/net/sourceforge/jnlp/cache/IllegalResourceDescriptorException.java: Throws IllegalArgumentDescriptorException instead of IllegalArgumentException. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (isInvalidJar): New, checks for ZipException in new JarFile(...) (shouldFilterInvalidJars): New, checks if we are in an applet (initializeResources): if 'shouldFilterInvalidJars()' is true and a jar is not a valid jar file, the jar is filtered out and normal execution continues. 2012-07-03 Saad Mohammad * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (JNLPClassLoader): New constructor that accepts an additional parameter containing the main class name. (getInstance): Accepts mainName as parameter to override application's main class name (initializeExtensions): Passes in the name of the application's main class when creating a new JNLPClassLoader instance. (initializeResources): If the loader owns no jars, it will consider itself as signed if all of the extension loaders are signed. Also, if the extension jars have the main class, it will set foundMainJar to true. (initializeResources): If the main class was not found, check if it was found within the extension jars. (checkForMain): Uses the overwritten main class name (if set) when searching for the main within the jars. (hasMainJar): Returns true if this loader holds the main jar. (hasMainInExtensions): Returns true if extension loaders have the main jar * tests/jnlp_tests/signed/ExtensionJnlp/resources/UsesSignedJarExtension.jnlp: * tests/jnlp_tests/signed/ExtensionJnlp/resources/UsesSignedJnlpExtension.jnlp: * tests/jnlp_tests/signed/ExtensionJnlp/resources/UsesSignedJnlpJarAndSignedJarExtension.jnlp: Launching jnlps that use extension jnlp as its resource. * tests/jnlp_tests/signed/ExtensionJnlp/resources/UsesSignedJar.jnlp: Launching jnlp that directly launches SignedJarResource class. * tests/jnlp_tests/signed/ExtensionJnlp/resources/UsesSignedJnlp.jnlp: Launching jnlp that directly launches SignedJnlpResource class. * tests/jnlp_tests/signed/ExtensionJnlp/testcases/ExtensionJnlpTest.java: Testcase that tests the launching of jnlp files containing extension jnlps as resource. * tests/jnlp_tests/signed/SignedJarResource/resources/SignedJarExtension.jnlp: Component jnlp file that is used as an extension resource. * tests/jnlp_tests/signed/SignedJarResource/srcs/SignedJarResource.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpResource/resources/UnmatchingSignedJnlpExtension.jnlp: Component jnlp file that is used as an extension resource and does not match the signed jnlp file. * tests/jnlp_tests/signed/SignedJnlpResource/resources/MatchingSignedJnlpExtension.jnlp: Component jnlp file that is used as an extension resource and matches the signed jnlp file. * tests/jnlp_tests/signed/SignedJnlpResource/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Signed jnlp file. * tests/jnlp_tests/signed/SignedJnlpResource/srcs/SignedJnlpResource.java: A simple java class that outputs a string. 2012-07-02 Jiri Vanek Added missing headers * tests/reproducers/simple/CreateClassLoader/resources/CreateClassLoader.jnlp: * tests/reproducers/simple/ReadEnvironment/resources/ReadEnvironment.jnlp: * tests/reproducers/simple/ReadProperties/resources/ReadProperties1.jnlp: * tests/reproducers/simple/ReadProperties/resources/ReadProperties2.jnlp: * tests/reproducers/simple/RedirectStreams/resources/RedirectStreams.jnlp: * tests/reproducers/simple/ReplaceSecurityManager/resources/ReplaceSecurityManager.jnlp: * tests/reproducers/simple/SetContextClassLoader/resources/SetContextClassLoader.jnlp: * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: * tests/test-extensions/net/sourceforge/jnlp/annotations/Bug.java: * tests/test-extensions/net/sourceforge/jnlp/annotations/KnownToFail.java: * tests/test-extensions/net/sourceforge/jnlp/annotations/NeedsDisplay.java: * tests/test-extensions/net/sourceforge/jnlp/annotations/TestInBrowsers.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browser.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserFactory.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserTest.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/BrowserTestRunner.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browsers.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Chrome.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Chromium.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/LinuxBrowser.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Midory.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/MozillaFamilyLinuxBrowser.java: * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Opera.java: added license headers 2012-07-02 Jiri Vanek Makefile adapted to recent (three changelog items) refactoring * Makefile.am: (JNLP_TESTS_ENGINE_SRCDIR) now points correctly to test-extensions. (JNLP_TESTS_ENGINE_TESTS_SRCDIR) new variable for test-extensions-tests. (JNLP_TESTS_SRCDIR) now points to reproducers. (JNLP_TESTS_ENGINE_TESTS_DIR) new variable for built JNLP_TESTS_ENGINE_TESTS_SRCDIR (netx-dist-tests-tests-source-files.txt) new target for list of content of JNLP_TESTS_ENGINE_TESTS_SRCDIR. (stamps/netx-dist-tests-tests-compile.stamp) new target for compiling netx-dist-tests-tests-source-files.txt (netx-dist-tests-source-files.tx) now depends on stamps/netx-dist-tests-tests-compile.stamp ($(REPRODUCERS_CLASS_NAMES)) target is now working in JNLP_TESTS_ENGINE_TESTS_DIR instead of JNLP_TESTS_ENGINE_DIR (stamps/run-netx-dist-tests.stamp): added JNLP_TESTS_ENGINE_TESTS_DIR to classpath (stamps/run-unit-test-code-coverage.stamp), (stamps/run-reproducers-test-code-coverage.stamp) added JNLP_TESTS_ENGINE_TESTS_DIR to classpath and JNLP_TESTS_ENGINE_TESTS_SRCDIR to sources path 2012-07-02 Jiri Vanek All tests from test-extensions extracted to test-extensions-tests. All inner classes in test-extensions extracted as outer classes * tests/test-extensions/net/sourceforge/jnlp/ResourcesTest.java: moved to test-extensions-tests * tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java: new file, copied from test-extensions * tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java: all tests from original ServerAccess.java * tests/test-extensions/net/sourceforge/jnlp/ContentReader.java: * tests/test-extensions/net/sourceforge/jnlp/LogItem.java: * tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java: * tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java: * tests/test-extensions/net/sourceforge/jnlp/ProcessResult.java: * tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java: * tests/test-extensions/net/sourceforge/jnlp/TestsLogs.java: * tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java: * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: new files, extracted classes from ServerAccess * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: extracted tests and inner classes 2012-07-02 Jiri Vanek hg move tests/netx/jnlp_testsengine/ tests/test-extensions 2012-07-02 Jiri Vanek hg move tests/jnlp_tests/ tests/reproducers 2012-06-29 Jiri Vanek Fixed resource tests and Browsers.none behavior * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java: Added slash into all executeBrowsers urls. Added midori and epiphany to simple proxies test. * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserTestRunner.java: Corrected handling of Browsers.none together with -Dmodified.browsers.run switch 2012-06-28 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (findClass): Invoke CodeBaseClassLoader.findClass with a flag to avoid infinite recursion. (CodeBaseClassLoader.findClass(String)): Delegate to ... (CodeBaseClassLoader.findClass(String,boolean)): New method. * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java (testParentClassLoaderIsAskedForClasses): New method. 2012-06-28 Jiri Vanek Correctly backup all log files re-writable by emma during code-coverage * Makefile.am: (EMMA_MODIFIED_FILES) new variable with list of files to backup/restore. (stamps/run-unit-test-code-coverage.stamp) and (stamps/run-reproducers-test-code-coverage.stamp) are now iterating over EMMA_MODIFIED_FILES instead of enumerating them 2012-06-28 Jiri Vanek Removed repeated re-runing of tests during coverage, stamped pac tests * Makefile.am: (check-pac-functions) moved to target aliases and replaced by stamps/check-pac-functions.stamp. (clean-netx-unit-tests) added removing of stamps/check-pac-functions.stamp (stamps/exported-test-certs.stamp): no longer depends on netx-dist-tests-remove-cert-from-public, logic of it have to be copy-pasted from here. (stamps/run-unit-test-code-coverage.stamp): no longer depends on check, but was added direct dependences 2012-06-28 Adam Domurad Allow for folders in archive tag. * netx/net/sourceforge/jnlp/PluginBridge.java: (PluginBridge) Changes jar -> archive, parse contents with addArchiveEntries. (addArchiveEntries) New method. Adds entries ending with / to the list of folders. (getCodeBaseFolders) Returns the folders collected by addArchiveEntries * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources) If ran as plugin, add archive tag folders to the code base loader. 2012-06-27 Adam Domurad Tests folders in archive tag * tests/jnlp_tests/custom/AppletFolderInArchiveTag/testcases/AppletFolderInArchiveTagTests.java: Runs html file in browser * tests/jnlp_tests/custom/AppletFolderInArchiveTag/srcs/Makefile: packages compiled source files in folder * tests/jnlp_tests/custom/AppletFolderInArchiveTag/srcs/AppletFolderInArchiveTag.java: Simple output to confirm it is running * tests/jnlp_tests/custom/AppletFolderInArchiveTag/resources/AppletFolderInArchiveTag.html: Has folder in its archive tag that contains a class file 2012-06-26 Jiri Vanek Added slipped midori and epiphany to recognized browsers. * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserFactory.java: (BrowserFactory) added slipped cases for creating Epiphany and Midori singletons 2012-06-26 Jiri Vanek * Makefile.am: Most crucial variables exported to be used by custom Makefiles (CUSTOM_REPRODUCERS): new variable to hold custom name (ALL_NONCUSTOM_REPRODUCERS): new variable for gathering all except custom reproducers (ALL_REPRODUCERS): now contains also custom ones (stamps/junit-jnlp-dist-dirs): now depends also on junit-jnlp-dist-custom.txt (junit-jnlp-dist-custom.txt): new target scanning for directories in jnlp_tests/custom and saving them as list for future purposes. (stamps/netx-dist-tests-prepare-reproducers.stamp): and ( stamps/change-dots-to-paths.stamp):iterate through ALL_NONCUSTOM_REPRODUCERS instead of ALL__REPRODUCERS (stamps/process-custom-reproducers.stamp) : new target for iterating by junit-jnlp-dist-custom.txt through jnlp_tests/custom/srcs* and launching make prepare-reproducer in each. (clean-custom-reproducers): same as above but launching make clean-reproducer (run-netx-dist-tests) now depends on stamps/process-custom-reproducers.stamp (clean-netx-dist-tests): now depends on clean-custom-reproducers and is removing stamps/netx-dist-tests-copy-resources.stamp (stamps/netx-dist-tests-copy-resources.stamp): new target extracting copying of resources from stamps/netx-dist-tests-compile-testcases.stamp * tests/jnlp_tests/README: described this mechanism a bit 2012-06-26 Jiri Vanek Reproducer for classes which should be loaded before verification but are not * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-hack.jnlp jnlp launcher of applet variant with injecting new url to classlaoder * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-applet-new.jnlp jnlp launcher of applet variant with custom classlaoder * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.html html launcher of applet variant with injecting new url to classlaoder * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-hack.jnlp jnlp launcher of application variant with injecting new url to classlaoder * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.html html launcher of applet variant with custom classlaoder * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/resources/InternalClassloaderWithDownloadedResource-new.jnlp jnlp launcher of application variant with custom classlaoder * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/srcs/InternalClassloaderWithDownloadedResource.java: Both application and applet reproducing behavior of this bug * tests/jnlp_tests/signed/InternalClassloaderWithDownloadedResource/testcases/InternalClassloaderWithDownloadedResourceTest.java: Testcase launching jnlp application, jnlp applet and html applet 2012-06-26 Jiri Vanek Last hope for not downloaded resources to be verified * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getCodeSourceSecurity): will now try to download and verify resource which was downloaded outside of netx. (alreadyTried) set for memory of once tried resources to not try again 2012-06-25 Adam Domurad Small comment cleanup to classes with missing or wrong descriptions. * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java: Comment at top fixed * plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java: Same * plugin/icedteanp/java/sun/applet/PluginException.java: Same * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: Same * netx/net/sourceforge/jnlp/PluginBridge.java: Add class description. * plugin/icedteanp/java/sun/applet/PluginCallRequest.java: Removed FIXME that had already been fixed. 2012-06-25 Adam Domurad Allow passing of plugin tables and browser tables in NP_Initialize that are not the expected length but still large enough for our purposes. * plugin/icedteanp/IcedTeaNPPlugin.cc (initialize_browser_functions): New function to check size of passed browser function table, and initialize 'browser_functions' global variable. (initialize_plugin_table): New function to check size of passed plugin function table, and initialize proper plugin callbacks. (NP_Initialize): Make use of initialization helper functions, get rid of old size tests and error if the helper functions fail. 2012-06-20 Adam Domurad * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java (verifyJar): two for loops made into for-each loops 2012-06-19 Jiri Vanek various test for browser engine * tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests.html: fixed missing parenthesis * tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests2.html: new test excluding XslowX for applets * tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests: (doubleChrome) test for ensuring that two chrome browsers launched behind themselves will not cause errors as they were without criticalFixes patch (AppletInBrowserTest) and (AppletInBrowserTestXslowX) testing methods for all browser * tests/jnlp_tests/simple/AppletTest/testcases/AppletBaseURLTest: * tests/jnlp_tests/simple/AppletTest/testcases/CheckServicesTests: * tests/jnlp_tests/simple/AppletTest/testcases/AppletReadsInvalidJarTests: Included @TestInBrowser instead of plain executeBrowser * tests/jnlp_tests/simple/deadlocktest/srcs/DeadlockTest.java: improved to print sometimes something out * tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java: (testDeadLockTestTerminatedBody) enhanced to ensure that not so much is lost when process is terminated, but showing that something can be lost (which is correct) * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java: (testNonExisitngBrowserWillNotDeadlock) testing taht when no browser is set, then no deadlock happens as happen before criticalFixes's deadlyException (testUnexistingProcessWillFailRecognizedly) is actually testing deadlyException (testNonExisitngBrowserWillNotCauseMess) some but with annotation which was also harming output of tool little bit without TestInBrowsersAnnotation fixed. (testBrowsers2) is testing all browsers configuration without annotation and (testBrowser3) do the same configuration tests annotation driven (testBrowser) body of above two methods. Is testing whether used browsers are correctly linked with latest build (testBrowsers1) is testing parsing of -D variable (testListeners) annotated that needs display * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: annotated with Bug annotation 2012-06-19 Jiri Vanek introduced possibility to run comfortably applets+html reproducers * Makefile.am: used BROWSER_TESTS_MODIFICATION variable to pass global switch from configure * acinclude.m4: (IT_SET_GLOBAL_BROWSERTESTS_BHAVIOUR) new method handling --with-browser-tests * configure.ac: used IT_SET_GLOBAL_BROWSERTESTS_BHAVIOUR switch and passing BROWSER_TESTS_MODIFICATION variable to Makefile. * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: (currentBrowser) variable holding injected browser for ServerAccess instance (loggedBrowser) static variable keeping id of (currentBrowser) for static logging purposes (modifyMethodWithForBrowser) new function changing the name of method to "method - browser" for logging purposes (getBrowserLocation) - returning path to process to be launched when browser requested (getBrowserParams) - gathering set default's browser settings (set/getCurrentBrowsers) - set browser by id/return id of set browser (set/getCurrentBrowser) - set browser instance /returns instance of current browser (executeBrowser) family of methods now cooperate with above methods for default set browser (executeBrowser(Browser) family to work with implicit browser * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/TestInBrowsers.java: annotation for determining which browser(s) to use with annotated method * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/Browser.java: interface for dealing with various browsers * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserFactory.java: singleton for mapping configured browsers x requested browser x browsers proxies * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserTest.java: Forefather of all testcases which have methods to do tests iniside browser. Is allowing correct annotation -> proxy trasnver to VirtualServer for selected method and is requesting custom runner from junit framework * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/BrowserTestRunner.java: custom test Ruuner which is responsible for translating annotation and run the method mutlipletimes for each requested browser and to name it properly * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/Browsers.java: enumeration of abstract browsers and theirs sets or subsets. * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/*: individual browsers proxies and theirs abstractions,namely: * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Opera.java: * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java: * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Chrome.java: * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Chromium.java: * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Midori.java: * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java: proxies for browsers as name suggests * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/LinuxBrowser.java: abstract forefather for all browsers implementing Browser interface. Is setting /usr/bin as bin path, libjavaplugin.so as default plugin library name, intorducing stubs for methods (eg 32/64 bit libs) * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/browsertesting/browsers/MozillaFamilyLinuxBrowser: forefather for all browsers except Opera. Is unifying .mozilla/plugins directories 2012-06-15 Jiri Vanek * tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests.html: Added quotes around parameters of html applet tag. * tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java: Output verification is counting with repeated and probably unfinished outputs. * tests/jnlp_tests/simple/deadlocktest/srcs/DeadlockTest.java Is now printing out sentence in intervals to avoid destroy-consume as much as possible * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: Added bug annotation with threads on distro-pkg-dev 2012-06-15 Adam Domurad Fixed two memory leaks * plugin/icedteanp/IcedTeaNPPlugin.cc (consume_message): Call to g_strsplit matched with call to g_strfreev. * plugin/icedteanp/IcedTeaPluginUtils.cc (post): Removed copy of string, which assumed consumer freed string (which was not true and not always possible) 2012-06-11 Danesh Dadachanji PR855: AppletStub getDocumentBase() doesn't return full URL * NEWS: Added PR855 entry. * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_get_documentbase): Assign documentbase_copy directly to href's value instead of iterating through the segments to remove the file from the path. * tests/jnlp_tests/simple/AppletBaseURLTest/srcs/AppletBaseURL.java: * tests/jnlp_tests/simple/AppletBaseURLTest/testcases/AppletBaseURLTest.java: * tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletBaseURLTest.html: * tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletBaseURLTest.jnlp: * tests/jnlp_tests/simple/AppletBaseURLTest/resources/AppletJNLPHrefBaseURLTest.html: New reproducer that checks the URLS that document and codebase point are correct. 2012-06-13 Danesh Dadachanji Update CheckServices reproducer to handle browser testcase. * tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java: Added browser test and annotation, refactored asserts into helper method. * tests/jnlp_tests/simple/CheckServices/resources/CheckPluginServices.html: New browser test file that runs applet using jnlp_href. 2012-06-13 Jiri Vanek * tests/junit-runner/JunitLikeXmlOutputListener.java: Introduced TEST_IGNORED_ATTRIBUTE to mark test as ignored if should be. * tests/report-styles/jreport.xsl: Applied correct text and style for tests with attribute ignored. 2012-06-12 Adam Domurad Fixes PR722, javaws failing to run with unsigned content in META-INF/ * NEWS: Added entry: Fixes PR722 * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Changed isSignatureRelated => isMetaInfFile. Now all files under META-INF/ are disregarded in checking the jar signage. 2012-06-11 Jiri Vanek Implemented xml logging backend * Makefile.am: (stamps/run-netx-unit-tests.stamp) and (stamps/run-netx-dist-tests.stamp) removed redirection of streams as logging is now done in ServerAccess tests extensions added xsltproc execution above generated xml log xsltproc generating results html files is now receiving result of above as parameter * tests/report-styles/jreport.xsl: log parameter is now accepted, and if set, then all tests are linking into specified file to show the log * tests/report-styles/report.css: added styles for new links * tests/report-styles/index.js: new functions to work for result of below sheet * tests/report-styles/logs.xsl: new file, sheet to convert xml log to html file * tests/report-styles/output.css: new file, styles of above html file * tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java: * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java: * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: Tests', server's and ProcessAssasin's logs are now redirected to bottleneck * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: (LOGS_REPRINT) flag for debugging purposes, will enable reprinting to stdout/err again (DEFAULT_LOG_FILE ) default name of xml output (DEFAULT_STDERR_FILE)(DEFAULT_STDOUT_FILE)(DEFAULT_STDLOGS_FILE) default values of plain text output files (*ELEMENT) and( (*ATTRIBUTE) variables keeping repeated names of xml output parts (writeXmlLog) method called from Sytsem.hook to save xml log (addToXmlLog) method to record item to xml structure (TestsLogs) and (LogItem) inner classes to keep logging information (log) is now reprinting message with id to std out/err dependently on (LOGS_REPRINT) but always to internal streams, possilbe exception is thrown (logException) new method, shortcut to log exception in same way as message (getTestMethod) now can handle methods inside ServerAccess class too 2012-06-11 Adam Domurad * NEWS: Added mention of fixing PR518 2012-06-07 Saad Mohammad Allows the user to configure browser paths and/or disable browsers. * acinclude.m4 (IT_FIND_BROWSER): Checks if the browser is set to be disabled, or if the path provided is valid. Otherwise, it locates the default path to the browser if found on the system. * configure.ac: Uses IT_FIND_BROWSER to find/configure browsers. 2012-06-06 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getAccessControlContextForClassLoading): Iterate over codebase URLs only if codeBaseLoader is not null. 2012-06-05 Deepak Bhole PR861: Allow loading from non codebase hosts. Allow code to connect to hosting server. * netx/net/sourceforge/jnlp/SecurityDesc.java (getSandBoxPermissions): Only add host if it is not empty. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getPermissions): Add SocketPermission for code source host. (findLoadedClassAll): Call super methods privileged so that connection to non codebase hosts can be made. (findClass): Same. (findResourcesBySearching): Same. Also use privileged context for enum operations because the enum is defined on the fly by URLClassLoader and checks for hosting server connectivity via next(). (getAccessControlContextForClassLoading): New method. Returns a control context for classloader operations like find/load/etc. (CodeBaseClassLoader::findClass): Call super methods privileged so that connection to non codebase hosts can be made. (CodeBaseClassLoader::findResource): Same. 2012-06-05 Jiri Vanek * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/KnownToFail.java New file. Annotation for marking failing tests. * tests/report-styles/jreport.xsl: * tests/junit-runner/LessVerboseTextListener.java: * tests/junit-runner/JunitLikeXmlOutputListener.java: Added counting and printing of @KnownToFail annotations if presented. * tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java: (SpacesCanBeEverywhereRemoteTests1) (SpacesCanBeEverywhereRemoteTests2) (SpacesCanBeEverywhereRemoteTests3) * tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java: (testTemplateCDATA) (testApplicationCDATA) * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java: (testCDataFirstChild) (testCDataSecondChild) (testCommentInAttributes) * tests/netx/unit/net/sourceforge/jnlp/ParserMalformedXml.java: (testMalformedArguments) (testTagNotClosed) (testUnquotedAttributes) marked as KnownToFail 2012-06-05 Jiri Vanek isDateInRange renamed to isDateInRange_internallForIcedTeaWebTesting * netx/net/sourceforge/jnlp/runtime/pac-funcs.js: and * tests/netx/pac/pac-funcs-test.js: (isDateInRange): Renamed to isDateInRange_internallForIcedTeaWebTesting. (isDateInRange_internallForIcedTeaWebTesting): New function 2012-06-04 Saad Mohammad Added signed jnlp file tests. * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication1.jnlp: Launching jnlp file that matches the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication2.jnlp: * tests/jnlp_tests/signed/SignedJnlpApplication/resources/SignedJnlpApplication3.jnlp: Launching jnlp file that does not match the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp: Signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpApplication/srcs/SignedJnlpApplication.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpApplication/testcases/SignedJnlpApplicationTest.java: Testcase that tests the launching of applications with a signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate1.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate2.jnlp: * tests/jnlp_tests/signed/SignedJnlpTemplate/resources/SignedJnlpTemplate3.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpTemplate/srcs/SignedJnlpTemplate.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpTemplate/testcases/SignedJnlpTemplateTest.java: Testcase that tests the launching of applications with a signed jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication1.jnlp: Launching jnlp file that matches the unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication2.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpApplication/resources/UnsignedJnlpApplication3.jnlp: Launching jnlp file that does not match the unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp: Unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpApplication/srcs/UnsignedJnlpApplication.java: A simple java class that outputs a string. * tests/jnlp_tests/simple/UnsignedJnlpApplication/testcases/UnsignedJnlpApplicationTest.java: Testcase that tests the launching of applications with an unsigned jnlp application file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate1.jnlp: Launching jnlp file that matches the unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate2.jnlp: * tests/jnlp_tests/simple/UnsignedJnlpTemplate/resources/UnsignedJnlpTemplate3.jnlp: Launching jnlp file that does not match the unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Unsigned jnlp application template file. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/srcs/UnsignedJnlpTemplate.java: A simple java class that outputs a string. * tests/jnlp_tests/simple/UnsignedJnlpTemplate/testcases/UnsignedJnlpTemplateTest.java: Testcase that tests the launching of applications with an unsigned jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne1.jnlp: Launching jnlp file that matches the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/resources/SignedJnlpCaseTestOne2.jnlp: Launching jnlp file that does not match the signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/JNLP-INF/aPpLiCaTioN.jnlp: Signed jnlp application file. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/srcs/SignedJnlpCase.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpCaseTestOne/testcases/SignedJnlpCaseOneTest.java: Testcase that tests the case-sensitivity of the signed jnlp application's filename. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo1.jnlp: Launching jnlp file that matches the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/resources/SignedJnlpCaseTestTwo2.jnlp: Launching jnlp file that does not match the signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/JNLP-INF/aPpLiCaTiOn_tEmPlAte.jnlp: Signed jnlp application template file. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/srcs/SignedJnlpCase.java: A simple java class that outputs a string. * tests/jnlp_tests/signed/SignedJnlpCaseTestTwo/testcases/SignedJnlpCaseTwoTest.java: Testcase that tests the case-sensitivity of the signed jnlp application template's filename. 2012-06-04 Danesh Dadachanji Fix to handle absolute paths passed into jnlp_href's value. * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): Uses context of codebase to evaluate jnlp_href's value. Uses JNLPCreator's create method to make new JNLPFile variables. New constructor that wraps around the original one, creating a new JNLPCreator to use. * netx/net/sourceforge/jnlp/JNLPCreator.java: New strategy pattern class to be used to wrap around the creation of a JNLPFile. Replace this creator when unit testing to skip running parsing code. * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: New class to unit test getEvaluatedJNLPHref. 2012-06-04 Adam Domurad Added self to AUTHORS. This patch fixes PR518, ensures null termination of strings based off of NPVariant results. * plugin/icedteanp/IcedTeaPluginUtils.h: Added declaration of NPVariantAsString * plugin/icedteanp/IcedTeaPluginUtils.cc (NPVariantAsString): New. Converts an NPVariant to a std::string, assumes it is a valid NPString. (isObjectJSArray): Now uses NPVariantAsString, minor cleanup. * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc (plugin_get_documentbase): Now uses NPVariantAsString. * plugin/icedteanp/IcedTeaNPPlugin.cc (NPVariantToString): Now uses NPVariantAsString, minor cleanup. 2012-06-01 Deepak Bhole PR863: Error passing strings to applet methods in Chromium * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc (createJavaObjectFromVariant): Account for length of the characters. * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_get_documentbase): Same. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (_eval): Print the string's c_str rather than utf8characters. * plugin/icedteanp/IcedTeaPluginUtils.cc (printNPVariant): Account for length of the characters. (NPVariantToString): Same. (isObjectJSArray): Same. 2012-05-30 Jiri Vanek Enabled multiple certificates and extracted variables * Makefile.am: EXPORTED_TEST_CERT by EXPORTED_TEST_CERT_PREFIX and EXPORTED_TEST_CERT_SUFFIX for further composition SIGNED_REPRODUCERS new variable for iterating through signed reproducers SIMPLE_REPRODUCERS new variable for iterating through simple reproducers ALL_REPRODUCER new variable for iterating through all reproducers (junit-jnlp-dist-signed.txt) replaced by (stamps/junit-jnlp-dist-signed.stamp) which generates junit-jnlp-dist-signedX.txt for each directory with signed reproducers (stamps/netx-dist-tests-prepare-reproducers.stamp) (stamps/change-dots-to-paths.stamp) (stamps/netx-dist-tests-compile-testcases.stamp) (run-netx-dist-codecoverage): extracted variables (clean-netx-dist-tests): iterates through all the list and removes them (stamps/netx-dist-tests-sign-some-reproducers.stamp): now iterate through SIGNED_REPRODUCERS and creates special certificate for each member. Each jar from this directory is then signed by corresponding certificate (netx-dist-tests-remove-cert-from-public): iterates through all certificates (stamps/netx-dist-tests-import-cert-to-public): exports each certificate created during tests preparations ($(EXPORTED_TEST_CERT)) replaced by stamps/exported-test-certs.stamp which create for each of SIGNED_REPRODUCERS individual certificate (tests/jnlp_tests/README): mentioned possibility of multiple certificate 2012-05-29 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): New rethrow of exceptions and following condition make more accurate. 2012-05-29 Jiri Vanek Get rid of repeated sout/serr in reproducers testcases/unit tests and introduce bottleneck for loging. * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: (PROCESS_LOG) static flag for enabling/disabling automatic logging of statically executed processes. (logErrorReprint) (logOutputReprint) (logNoReprint) new methods, to call logging bottleneck. (log) main logging bottleneck, reprint message to according stream with calling test-class and test-method as suffix. (getTestMethod) new method to analyze calling test-method. (executeProcess) enhanced for conditional automatic logging of start of process and outputs of process. * tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java: * tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java: * tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java: * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: * tests/jnlp_tests/signed/Spaces can be everywhere signed/testcases/SpacesCanBeEverywhereTestsSigned.java: * tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java: * tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: * tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: * tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java: * tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java: * tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: * tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/InformationTitleVendorParserTest.java: * tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java: * tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: * tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: * tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: * tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: * tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: * tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java: * tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java: * tests/jnlp_tests/simple/simpletest1/testcases/SimpleTest1Test.java: * tests/jnlp_tests/simple/simpletest2/testcases/SimpleTest2Test.java: * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: * tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64EncoderTest.java: all System.out replaced by ServerAccess.logOutputReprint and System.err replaced by ServerAccess.logErrorReprint 2012-05-25 Adam Domurad Changed for-loops over iterators and indices to for-each loops if they were sufficient and clearer. * netx/net/sourceforge/jnlp/JNLPFile.java: Changed for-loops that could be expressed more clearly as for-each loops. * netx/net/sourceforge/jnlp/PluginBridge.java: Same * netx/net/sourceforge/jnlp/ResourcesDesc.java: Same * netx/net/sourceforge/jnlp/cache/CacheUtil.java: Same * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java: Same * netx/net/sourceforge/jnlp/cache/Resource.java: Same * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: Same * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java: Same * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Same * plugin/icedteanp/java/netscape/javascript/JSObject.java: Same * plugin/icedteanp/java/sun/applet/JavaConsole.java: Same * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Same 2012-05-23 Adam Domurad Removed instances of snprintf where buffer size was not known. Added buffer size constant for allocating buffers for numeric conversions. * plugin/icedteanp/IcedTeaNPPlugin.cc: Removed usage of snprintf for simple blanking of strings. Buffer size was misguided previously. Used NUM_STR_BUFFER_SIZE constant to replace magic numbers/ * plugin/icedteanp/IcedTeaPluginUtils.cc: Made NPVariantToString(NPVariant variant, std::string* result) use two space indentation. Used NUM_STR_BUFFER_SIZE constant to replace magic numbers. * plugin/icedteanp/IcedTeaPluginUtils.h: Added constant, NUM_STR_BUFFER_SIZE. 2012-05-24 Danesh Dadachanji Fix use of src dir instead of build dir when whitelisting. * Makefile.am (REPRODUCERS_CLASS_WHITELIST): Use abs_top_srcdir instead of abs_top_builddir. 2012-05-23 Martin Olsson * plugin/icedteanp/IcedTeaPluginUtils.cc: Tiny fixup for changeset 383; don't do free(stack_variable). 2012-05-20 Jiri Vanek Reproducers engine enhanced for jars in subdirectories by "." naming convention * Makefile.am: (stamps/change-dots-to-paths.stamp) new target to copy jars with dots (.jar omitted) to the java-like package/directory structure in jnlp_test_server (EXPORTED_TEST_CERT) now depends on stamps/change-dots-to-paths.stamp (clean-netx-dist-tests) removes stamps/change-dots-to-paths.stamp too. 2012-05-24 Jiri Vanek Introduced whitelist for reproducers * netx-dist-tests-whitelist: new file, contains regular expressions (separated by space) for expr to select testcases which only will be run. By default set to all by expression .* * Makefile.am: (REPRODUCERS_CLASS_NAMES) When class with testcases is going to be included in list, it is at first check for match in whitelist. If there is no match, will not be included. 2012-05-24 Martin Olsson * plugin/icedteanp/IcedTeaPluginUtils.cc: Fix two typos. 2012-05-23 Deepak Bhole * AUTHORS: Added Martin Olsson to list. 2012-05-23 Martin Olsson * plugin/icedteanp/IcedTeaNPPlugin.cc: Use g_mutex_free instead of g_free to free appletviewer_mutex (fixes crash). 2012-05-23 Deepak Bhole * ChangeLog: Converted spaces to tabs in an older entry 2012-05-23 Jiri Vanek * netx/net/sourceforge/jnlp/resources/Messages.properties: fixed error in PBadNonrelativeUrl 2012-05-23 Jiri Vanek Added more debugging outputs * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getCodeSourceSecurity): added output message when no SecurityDesc is found for some url/resource * netx/net/sourceforge/jnlp/resources/Messages.properties: added LNoSecInstance and LCertFoundIn values * netx/net/sourceforge/jnlp/security/KeyStores.java: (getPathToKeystore): new method, able to search for file used for creating of KeyStore if possible * netx/net/sourceforge/jnlp/security/CertificateUtils.java: (inKeyStores) using getPathToKeystore for debug output 2012-05-23 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getPermissions): Any exception from this method is consumed somewhere. I have cough exception, reprint it in debug mode and re-throw (to be lost). Main condition in this method had several possible NullPointer exceptions. Separated and thrown before this condition. 2012-05-23 Jiri Vanek Enhanced about dialog * extra/net/sourceforge/javaws/about/Main.java: Main frame and Main tab renamed from "About NetX" to "About IcedTea-Web and NetX". * extra/net/sourceforge/javaws/about/resources/about.html: mentioned IcedTea-Web. * extra/net/sourceforge/javaws/about/resources/notes.html: List of authors synchronized with AUTHORS, mentioned classpath's IcedTea-Web as homepage of IcedTea-web. 2012-05-23 Jiri Vanek Fixed error in reproducers source preparation * Makefile.am: (stamps/netx-dist-tests-prepare-reproducers.stamp) removed inappropriately used quotes when copying notSrcFiles. Source files now copied only if src dir exists in reproducer 2012-05-22 Adam Domurad Changed allocation of small, fixed-size buffers to stack-based allocations. Changed occurences of sprintf to the safer function snprintf, added buffer information. While unlikely to change functionality, snprintf adds an extra check to prevent buffer overflows. * plugin/icedteanp/IcedTeaNPPlugin.cc: Allocation of small buffers using malloc changed to stack allocation & changed sprintf calls to buffer-size aware snprintf calls. * plugin/icedteanp/IcedTeaPluginUtils.cc: Same as above. 2012-05-22 Jiri Vanek * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: * tests/jnlp_tests/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: * tests/jnlp_tests/simple/AllStackTraces/testcases/AllStackTracesTest.java: * tests/jnlp_tests/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java: * tests/jnlp_tests/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java: * tests/jnlp_tests/simple/ReadProperties/testcases/ReadPropertiesTest.java: * tests/jnlp_tests/simple/RedirectStreams/testcases/RedirectStreamsTest.java: * tests/jnlp_tests/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java: * tests/jnlp_tests/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java: All exact matches upon AccessControlException replaced by regular expression matching both jdk7 and jdk6 syntax 2012-05-21 Jiri Vanek * Makefile.am: mzilla-filesystem linking targets now counts also with midori and epiphany. Extracted duplicated entries to variables * configure.ac: added check for midori and epiphany 2012-05-21 Jiri Vanek Added detection of installed browsers and added targets to create symbolic links from install dir to browsers' plugin directories. Primarily for testing purposes * Makefile.am: (stamps/user-links.stamp) with alias (links) - new target for creating symlinks for all users. One must be root to execute this target. (stamps/global-links.stamp) with alias (user-links) - new target for creating symlinks for logged user only. Because opera is missing this feature, quite useless for testing or dependence targets, but good for live user. (restore-global-links): target for restoring original global links. One must be root again (restore-user-links): target for restoring user's links * configure.ac: added basic check whether and which browsers are installed 2012-05-18 Jiri Vanek Fixed behavior when encoded/characters needed encoding included in url * NEWS: mentioned PR811 * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (urlEquals) Enhanced to be able compare encoded/decoded urls correctly. (notNullUrlEquals) new method to separate comparing of individual parts of url from null checks * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (addResource) is now encoding url if needed. (normalizeUrl) new method to encode path in url of all except file protocol. (normalizeChunk) New method for encoding of atomic piece. 2012-05-18 Jiri Vanek More tests for Spaces and characters in urls * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: and * netx/net/sourceforge/jnlp/cache/CacheUtil.java: for unit-tests purposes (cacheDir) make to point to tmp dir when no DeploymentConfiguration exists. * tests/jnlp_tests/signed/Spaces can be everywhere signed/: couple of new test doing the same as simple "Spaces can be everywhere" but are signed * tests/jnlp_tests/simple/Spaces can be everywhere/: added new test-cases and html/jnlp test files to try more combinations of encodable characters x launches * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java: unittest for url encoder behavior * tests/netx/unit/net/sourceforge/jnlp/cache/CacheUtilTest.java: unittest for urlEquals function 2012-05-17 Adam Domurad Fixed uses of == to compare String objects to .equals where appropriate. Noted a non-obvious use of == to compare a 'magic' String reference. * netx/net/sourceforge/jnlp/JNLPFile.java: Changed calls that compare String contents from == to .equals * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java: Same * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java: Same * netx/net/sourceforge/jnlp/Version.java: Added comment explaining why == was used vs .equals 2012-05-14 Jiri Vanek * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: System.out replaced with System.err 2012-05-14 Jiri Vanek * tests/junit-runner/JunitLikeXmlOutputListener.java: fixed indentation and spacing 2012-05-11 Thomas Meyer * tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java: Add some unit tests for the PropertiesFile class * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: Add some unit tests for the CacheLRUWrapper class * netx/net/sourceforge/jnlp/util/PropertiesFile.java: Use last modification timestamp of the underlying file to lazy load properties. (load): Only reload file, if the file modification timestamp has changed. (store): Actually fsync() the file to disk. * netx/net/sourceforge/jnlp/services/XPersistenceService.java (create): Fix coding style * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java (load): Only check data when the recently_used file was reloaded. 2012-05-02 Jiri Vanek Introduced new annotations Bug (to connect test/reproducer with documentation) and NeedsDisplay which tells the launching engine that this particular test needs Display. Based on ptisnovs's ideas and jtreg experiences *Makefile.am: (JUNIT_RUNNER_JAR), (stamps/run-netx-unit-tests.stamp) and (stamps/run-unit-test-code-coverage.stamp) are now dependent on (stamps/netx-dist-tests-compile) and classpaths inside them have been enriched for JNLP_TESTS_ENGINE_DIR which contains definitions of those annotations *tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java: and *tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java: and *tests/jnlp_tests/simple/Spaces can be everywhere/testcase/SpacesCanBeEverywhereTests.java: filled Bug annotations *tests/junit-runner/JunitLikeXmlOutputListener.java: made to understand Bug annotation *tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/NeedsDisplay.java: and *tests/netx/jnlp_testsengine/net/sourceforge/jnlp/annotations/Bug.java: annotations definitions *tests/report-styles/jreport.xsl: made nice links from bug annotation prepared by JunitLikeXmlOutputListener 2012-04-24 Omair Majid * Makefile.am (RUNTIME): Add resources.jar. (stamps/run-unit-test-code-coverage.stamp) [WITH_EMMA]: Add resouces.jar to classpath. (stamps/run-reproducers-test-code-coverage.stamp) [WITH_EMMA]: Include resources.jar in classpath. (stamps/bootstrap-directory.stamp): Create a link to resources.jar in BOOT_DIR. 2012-04-19 Omair Majid PR918: java applet windows uses a low resulution black/white icon * NEWS: Update with fix. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Remove windowIcon. (initialize): Do not call loadWindowIcon. (getWindowIcon): Remove. (setWindowIcon): Remove. (loadWindowIcon): Remove. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java (checkTopLevelWindow): Do not set the icon for all top level windows. Use the default java icon instead. * netx/net/sourceforge/jnlp/util/ImageResources.java: New file. Provides access to icons. * netx/net/sourceforge/jnlp/JNLPSplashScreen.java (JNLPSplashScreen), * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java (getListener), * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java (AdvancedProxySettingsDialog), * netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java (CacheViewer), * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java (ControlPanel), * netx/net/sourceforge/jnlp/security/SecurityDialog.java (SecurityDialog), * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java (CertificateViewer), * netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java (show), * plugin/icedteanp/java/sun/applet/JavaConsole.java (initialize): Explicitly load icons. * tests/netx/unit/net/sourceforge/jnlp/util/ImageResourcesTest.java: Test for ImageResources class. 2012-04-18 Jiri Vanek Allowed signed applets in automatic reproducers tests * tests/jnlp_tests/signed/AppletTestSigned/resources/AppletTestSigned.html: html file for launching signed applet. Its style is different from the one for calling unsigned applets - red. * tests/jnlp_tests/signed/AppletTestSigned/resources/AppletTestSigned.jnlp: jnlp file for launched signed applet * tests/jnlp_tests/signed/AppletTestSigned/srcs/AppletTestSigned.java body of signed applet * tests/jnlp_tests/signed/AppletTestSigned/testcases/AppletTestSignedTests.java: (AppletTestSignedTest): testing method to launch signed applet in javaws (AppletTestSignedFirefoxTest): testing method to launch signed applet in browser * Makefile.am: PUBLIC_KEYSTORE_PASS, EXPORTED_TEST_CERT, TEST_CERT_ALIAS, PUBLIC_KEYSTORE PUBLIC_KEYSTORE_PASS: new global variables holding keystores' credentials (clean-local): clean-bootstrap-directory moved to be last one, as keytool is necessary for removing certificate (EXPORTED_TEST_CERT): new target exporting certificate from testing keystore (stamps/netx-dist-tests-import-cert-to-public): new target to import certificate to PUBLIC_KEYSTORE (netx-dist-tests-remove-cert-from-public): new target removing testing certificate from PUBLIC_KEYSTORE (clean-netx-dist-tests): now depends on netx-dist-tests-remove-cert-from-public and is removing EXPORTED_TEST_CERT file 2012-04-17 Jiri Vanek Rewritten DeadLockTestTest to stop failing in more then 1/2 of cases All assassinated processes were hanging as zombies, killed forcibly by kill -9 now. * /tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java: (countJavaInstances) now return pids of found javas. (killDiff) new method killing zombie javas forcibly. 2012-04-11 Jiri Vanek * Makefile.am: EMMA_JAVA_ARGS, new variable for adjusting emma runs. Currently set to -Xmx2G. (stamps/run-unit-test-code-coverage.stamp), (stamps/run-reproducers-test-code-coverage.stamp), (run-test-code-coverage): Use EMMA_JAVA_ARGS in theirs emma runs. 2012-06-04 Jiri Vanek Thomas Meyer * makefile.am: (stamps/run-netx-dist-tests.stamp) and (run-reproducers-test-code-coverage.stamp) now using $(javaws) variable instead of plaintext javaws * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: (checkData) new method checking for sanity of cache entries (load) now checks for data sanity after loading, and stores without corrupted items if necessary (Comparator.compare) for sorting lru items. Now redundant checking for sanity removed * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (getCacheFile) don't call lruHandler.store twice for new cache entries (getCacheFileIfExist) removed iteration and cleaning mechanism * netx/net/sourceforge/jnlp/resources/Messages.properties: modified cache messages * tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java Added test for checking corrupted path in entry and all tests adapted for exception thrown only in debug mode 2012-04-04 Danesh Dadachanji Change the name of JarSigner to JarCertVerifier to make it more relevant to the purpose of the file. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java * netx/net/sourceforge/jnlp/tools/KeyStoreUtil.java: Replace all instances, paramaters and references of JarSigner by JarCertVerifier. * netx/net/sourceforge/jnlp/security/CertWarningPane.java * netx/net/sourceforge/jnlp/security/CertsInfoPane.java * netx/net/sourceforge/jnlp/security/MoreInfoPane.java * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: Replaced all paramaters, references and variable names of JarSigner to CertVerifier to match the variable object type. * netx/net/sourceforge/jnlp/security/SecurityDialog.java (getJarSigner): Renamed to getCertVerifier as it returns the certVerfier instance. * netx/net/sourceforge/jnlp/tools/JarSigner.java: Renamed to JarCertVerifier. * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: The rename of JarSigner. 2012-04-05 Jiri Vanek Fixing issue when process was not launched at all and when was killed but left behind living/hanging, fixing mime-types * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: (getContentOfStream) this method overloaded with possibility to specify encoding (I needed to set it to ASCII in one test) (deadlyException) field introduced in ThreadedProcess to record exception caused by impassibility of launching the process. And so process have been null without any sign why. (TinyHttpdImpl) now correctly returns known mime types (ProcessAssasin) can now skip or smoothly (and finally correctly) destroy its process, and all his logging messages were done null-proof (as deadlyException now allows) Asynchronous (ContentReader) have been silenced when complaining about closed streams by Assassin. 2012-04-03 Danesh Dadachanji Change all vendors in JNLP test suite to IcedTea and homepage href's to a link to IcedTea-Web's wiki page. * tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedJAVAXJNLP.jnlp * tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedNETSF.jnlp * tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSELF.jnlp * tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSUNSEC.jnlp * tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1.jnlp * tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1_1.jnlp * tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2.jnlp * tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2_1.jnlp * tests/jnlp_tests/signed/MissingJar/resources/MissingJar.jnlp * tests/jnlp_tests/signed/MissingJar/resources/MissingJar2.jnlp * tests/jnlp_tests/signed/MissingJar/resources/MissingJar3.jnlp * tests/jnlp_tests/signed/MissingJar/resources/MissingJar4.jnlp * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp * tests/jnlp_tests/signed/SimpletestSigned1/resources/SimpletestSigned1.jnlp * tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageJAVAXJNLP.jnlp * tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageNETSF.jnlp * tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSELF.jnlp * tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSUNSEC.jnlp * tests/jnlp_tests/simple/AddShutdownHook/resources/AddShutdownHook.jnlp * tests/jnlp_tests/simple/AllStackTraces/resources/AllStackTraces.jnlp * tests/jnlp_tests/simple/AppletTest/resources/AppletTest.jnlp * tests/jnlp_tests/simple/CheckServices/resources/CheckServices.jnlp * tests/jnlp_tests/simple/CreateClassLoader/resources/CreateClassLoader.jnlp * tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleParser.jnlp * tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleVendorParser.jnlp * tests/jnlp_tests/simple/InformationTitleVendorParser/resources/VendorParser.jnlp * tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainAppDesc.jnlp * tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2mainNoAppDesc.jnlp * tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1main2nothingNoAppDesc.jnlp * tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainHaveAppDesc.jnlp * tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1mainNoAppDesc.jnlp * tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDesc.jnlp * tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1noAppDescAtAll.jnlp * tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingAppDesc.jnlp * tests/jnlp_tests/simple/ManifestedJar1/resources/ManifestedJar-1nothing2nothingNoAppDesc.jnlp * tests/jnlp_tests/simple/ReadEnvironment/resources/ReadEnvironment.jnlp * tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties1.jnlp * tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties2.jnlp * tests/jnlp_tests/simple/RedirectStreams/resources/RedirectStreams.jnlp * tests/jnlp_tests/simple/ReplaceSecurityManager/resources/ReplaceSecurityManager.jnlp * tests/jnlp_tests/simple/SetContextClassLoader/resources/SetContextClassLoader.jnlp * tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere1.jnlp * tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere2.jnlp * tests/jnlp_tests/simple/Spaces can be everywhere/resources/SpacesCanBeEverywhere1.jnlp * tests/jnlp_tests/simple/deadlocktest/resources/deadlocktest.jnlp * tests/jnlp_tests/simple/deadlocktest/resources/deadlocktest_1.jnlp * tests/jnlp_tests/simple/simpletest1/resources/simpletest1.jnlp * tests/jnlp_tests/simple/simpletest1/resources/simpletestCustomSplash.jnlp * tests/jnlp_tests/simple/simpletest1/resources/simpletestMegaSlow.jnlp * tests/jnlp_tests/simple/simpletest1/resources/simpletestSlow.jnlp * tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowBrokenCustomSplash.jnlp * tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowSlowCustomSplash.jnlp * tests/jnlp_tests/simple/simpletest2/resources/simpletest2.jnlp: Replaced the specified vendor with IcedTea and homepage with a link to IcedTea-Web's wiki. 2012-04-03 Omair Majid * netx/net/sourceforge/jnlp/runtime/pac-funcs.js: Replace incorrect use of getYear() with getFullYear(). (inYearMonthDateRange): Add missing conditional case. * tests/netx/pac/pac-funcs-test.js (runTest): New function. (runTests): Call runTest. (incDate): Deal with month/year wrapping around. (decDate): Removed. (testDateRange, testDateRange2, testDateRange3): Handle wrapping of month and days. 2012-04-03 Jiri Vanek Tests virtual server thread marked as daemon by default * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: All (ServerLauncher) instances returned by methods were marked as daemon by default. Possibility to change and api were kept. 2012-03-30 Danesh Dadachanji Certificate start dates are not being checked, they are still verified even if the date has yet not been reached. * netx/net/sourceforge/jnlp/tools/JarSigner.java (verifyJar): If the start date is in the future, set notYetValidCert to true. 2012-03-21 Omair Majid * tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java (testIsMatchDoesNotHangOnLargeData): New method. 2012-03-21 Lars Herschke PR898: signed applications with big jnlp-file doesn't start * netx/net/sourceforge/jnlp/JNLPMatcher.java (JNLPMatcher): Handle large files correctly. 2012-03-19 Danesh Dadachanji Fix failing unit test missing title/vendor tags in the JNLP stream. * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java (testNestedComments): Added title and vendor tags to malformedJnlp. 2012-03-19 Jiri Vanek * tests/jnlp_tests/signed/CacheReproducer/testcases/CacheReproducerTest.java: as javaws have now integrated splash, I have changed this test to lunch javaws -Xclearcache with -headless to skip this logo (although it is not fatal fr testrun itself) * tests/jnlp_tests/simple/AppletTest/resources/appletAutoTests.html: this html file is lunched during tests run in browser and stdout of lunched applet is examined. Is lunched with slow resources to test spalshscreen * tests/jnlp_tests/simple/AppletTest/resources/appletViewTest.html: this test html file is dedicated to manual lunch and let user to look how the applet (with slow loading) is loaded and how looks splashscreen in small mode and in large mode * tests/jnlp_tests/simple/AppletTest/testcases/AppletTestTests.java: test is enriched for lunching the html file with applet in browser and is examining output of this file. Browser must be always terminated as there is no way how to close from inside * tests/jnlp_tests/simple/simpletest1/resources/netxPlugin.png: image to let user observe that user-defined splashscreen is still working even when internal splashscreen is enabled * tests/jnlp_tests/simple/simpletest1/resources/simpletestCustomSplash.jnlp: this and all jnlp files below are just for manual lunching and for watching various lunches of splash screen - slow loading of resources and with custom splash * tests/jnlp_tests/simple/simpletest1/resources/simpletestMegaSlow.jnlp: slow loading of resource and (XslowX)jnlp also * tests/jnlp_tests/simple/simpletest1/resources/simpletestSlow.jnlp: slow loading of resource * tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowBrokenCustomSplash.jnlp: slow loading of resource with broken user's splash (our internal will be used) * tests/jnlp_tests/simple/simpletest1/resources/simpletestSlowSlowCustomSplash.jnlp: slow loading of custom splash screen and resource * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: Main server launcher was modified to support lunching of browser, stdout listteners and for slowing download of resources to provide time for watching splash screen (main) was rewritten to provide free port OR run server in-D specified directory on custom or default port - very useful for debuging reproducers (getIndependentInstance) can now run also on specified port and (or) directory (USED_BROWSER_COMMAND) new constant handling value of -D property to set browser = "used.browser.command"; (getBrowserLocation) new method to provide specified (by used.browser.command -D property) or default browser location (firefox) (ensureServer) test is testing weather XslowXmodifier is working (executeBrowser) set of overloaded functions to lunch browser (TinyHttpdImpl) was enriched for XslowX modifier. When resource starts with this, is returned slowly - splited to 10 parts with 1s delay betwen sending each of them. Although it is throwing BrokenPipe exception, is working fine. (splitArray) new function to split array of byte to n arrays of bytes, which when concated do the same array (splitArrayTestN) set of tests for splitArray (ContentReader) now can also have lsteners for catching outputs n runtime. * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ContentReaderListener.java: Listener for catching chars and lines form processes outputs * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java: added (testListeners) to test listeners behaviour 2012-03-16 Danesh Dadachanji Applications using JNLP files without a title or vendor section still run, despite them being required elements. * netx/net/sourceforge/jnlp/Parser.java: (getInformationDesc): If title or vendor are not found in info, a new ParseException is thrown. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added PNoTitleElement and PNoVendorElement * tests/jnlp_tests/simple/InformationTitleVendorParser/resources/InformationParser.jnlp, * tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleParser.jnlp, * tests/jnlp_tests/simple/InformationTitleVendorParser/resources/TitleVendorParser.jnlp, * tests/jnlp_tests/simple/InformationTitleVendorParser/resources/VendorParser.jnlp, * tests/jnlp_tests/simple/InformationTitleVendorParser/testcases/TitleVendorParserTest.java: New test that runs JNLPs in a combination of missing information, title and vendor tags, checking for the appropriate exceptions. 2012-03-14 Deepak Bhole Omair Majid PR895: IcedTea-Web searches for missing classes on each loadClass or findClass * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (CodeBaseClassLoader): Added new map to track resources that are not found. (findClass): If resource was not found before, return immediately. If resource was not found for the first time, record it in the new map. (findResouces): Same. (findResource): Same. * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: Test case for PR895 from Omair Majid. 2012-03-14 Omair Majid Print exceptions to terminal when running in gui mode too. * netx/net/sourceforge/jnlp/AbstractLaunchHandler.java: New file. * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java: Extend AbstractLaunchHandler. (DefaultLaunchHandler): New method. (printMessage): Moved to parent class. * netx/net/sourceforge/jnlp/GuiLaunchHandler.java: Extend AbstractLaunchHandler. (GuiLauchHandler): New method. (launchError): Print the error too. (launchWarning,validationError): Call parent's printMessage. * netx/net/sourceforge/jnlp/LaunchException.java: Use standard java exception chaining. This removes compatibility with pre-java 1.3 class libraries. (LaunchException(JNLPFile,Exception,String,String,String,String)): Pass cause to parent so exceptions are chanined properly. (LaunchException(String,Throwable),LaunchException(Throwable)): Call parent's constructor. (printStackTrace(PrintStream),printStackTrace(PrintWriter),getCause): Removed. Use parent's implementation instead. (getCauses): Removed. * netx/net/sourceforge/jnlp/LaunchHandler.java (validationError): Rename argument to clarify meaing. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Redirect output of all handlers to System.err. * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java (PluginAppletSecurityContext): Likewise. * tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java, * tests/netx/unit/net/sourceforge/jnlp/LaunchExceptionTest.java: New file. Contains tests. 2012-03-12 Danesh Dadachanji Adding test for regression of JNLP API accessibility in constructor methods of applets. * Makefile.am: Added classes.jar to classpath when compiling jnlp_tests. * tests/jnlp_tests/simple/CheckServices/resources/CheckServices.jnlp: * tests/jnlp_tests/simple/CheckServices/srcs/CheckServices.java: * tests/jnlp_tests/simple/CheckServices/testcases/CheckServicesTests.java: New test file added. Tests ServiceManager is setup correctly when called from applet constructors. 2012-03-12 Danesh Dadachanji Update tests that are missing title/vendor tag in their JNLPs. * tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1.jnlp, * tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer1_1.jnlp, * tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2.jnlp, * tests/jnlp_tests/signed/CacheReproducer/resources/CacheReproducer2_1.jnlp, * tests/jnlp_tests/signed/MissingJar/resources/MissingJar.jnlp, * tests/jnlp_tests/signed/MissingJar/resources/MissingJar2.jnlp, * tests/jnlp_tests/signed/MissingJar/resources/MissingJar3.jnlp, * tests/jnlp_tests/signed/MissingJar/resources/MissingJar4.jnlp, * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp, * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp, * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp, * tests/jnlp_tests/simple/AddShutdownHook/resources/AddShutdownHook.jnlp, * tests/jnlp_tests/simple/AllStackTraces/resources/AllStackTraces.jnlp * tests/jnlp_tests/simple/CreateClassLoader/resources/CreateClassLoader.jnlp, * tests/jnlp_tests/simple/ReadEnvironment/resources/ReadEnvironment.jnlp, * tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties1.jnlp, * tests/jnlp_tests/simple/ReadProperties/resources/ReadProperties2.jnlp, * tests/jnlp_tests/simple/RedirectStreams/resources/RedirectStreams.jnlp, * tests/jnlp_tests/simple/ReplaceSecurityManager/resources/ReplaceSecurityManager.jnlp, * tests/jnlp_tests/simple/SetContextClassLoader/resources/SetContextClassLoader.jnlp, * tests/netx/unit/net/sourceforge/jnlp/templates/template8.jnlp: Added missing title/vendor tags that make them fail with this changeset. 2012-03-05 Jiri Vanek Added test for main-class in manifest for jnlp * Makefile.am: (prepare-reproducers.stamp) fixed manifest handling. Till now was manifest copied as any other non java file, and so was rewritten by jar tool * tests/jnlp_tests/simple/ManifestedJar2/srcs: secondary jar file which should have manifest and so should help ManifestedJar1 with testing * tests/jnlp_tests/simple/ManifestedJar2/resources/META-INF/MANIFEST.MF: manifest for ManifestedJar2.jar * tests/jnlp_tests/simple/ManifestedJar1/srcs: main testing jar * tests/jnlp_tests/simple/ManifestedJar2/resources/META-INF/MANIFEST.MF: manifest for ManifestedJar1.jar * tests/jnlp_tests/simple/ManifestedJar1/testcases/ManifestedJar1Test.java: testing class for this reproducers * tests/jnlp_tests/simple/ManifestedJar1/resources/: nine reproducers jnlps 2012-03-06 Jiri Vanek Improved reflection test: * tests/jnlp_tests/simple/AccessClassInPackage/testcases/AccessClassInPackageTest.java: This testcase was extended for three more unsigned reflection tries and four signed *tests/jnlp_tests/simple/AccessClassInPackage/srcs/AccessClassInPackage.java: now accepting class to be findByName as argument. Four new jnlp files in signed a four in simple are then passing those argument *tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSUNSEC.jnlp: *tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageNETSF.jnlp: *tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageJAVAXJNLP.jnlp: *tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackageSELF.jnlp: *tests/jnlp_tests/simple/AccessClassInPackage/resources/AccessClassInPackage.jnlp: removed * tests/jnlp_tests/signed/AccessClassInPackageSigned/srcs/AccessClassInPackageSigned.java signed variation of AccessClassInPackage, tescase is also in AccessClassInPackage * tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSELF.jnlp * tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedNETSF.jnlp * tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedSUNSEC.jnlp * tests/jnlp_tests/signed/AccessClassInPackageSigned/resources/AccessClassInPackageSignedJAVAXJNLP.jnlp 2012-02-29 Deepak Bhole * configure.ac: Bumped version to 1.3pre 2012-02-29 Deepak Bhole * netx/net/sourceforge/jnlp/security/CertificateUtils.java (inKeyStores): Only check for certificate equality. 2012-02-28 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (checkForMain): Also check manifest file of main jar. (getMainClassName): New method. Looks in a jar manifest to see if there is a Main-Class specified. 2012-02-28 Deepak Bhole * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (_eval): Return 0 id to Java side if eval fails. (_call): Return 0 id to Java side if call fails. 2012-02-27 Matthias Klose * acinclude.m4 (IT_CHECK_PLUGIN_DEPENDENCIES): Use the mozilla-plugin pkgconfig module if the libxul module is not available. 2012-02-27 Matthias Klose * acinclude.m4 (IT_FIND_JAVA): Set VERSION_DEFS. * Makefile.am ($(PLUGIN_DIR)/%.o): Pass $(VERSION_DEFS) * IcedTeaNPPlugin.cc (PLUGIN_MIME_DESC): Define in terms of HAVE_JAVA7. 2012-02-27 Thomas Meyer Deepak Bhole PR820: IcedTea-Web 1.1.3 crashing Firefox when loading Citrix XenApp * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc (createJavaObjectFromVariant): If variant is a generic object array, create a JSObject on Java side instead of JSObject array. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (newMessageOnBus): Run finalize on main thread. (eval): Create Java object in _eval (call): Create Java object in _call. (setMember): Create Java object in _setMember. (sendMember): Create Java object in _getMember. (sendString): Create Java object in _getString. (_setMember): Process result and create Java object if needed. (_getMember): Same. (_eval): Same. (_call): Same. (_getString): Same. 2012-02-22 Danesh Dadachanji Add ability to check for jnlp_href use outside of PluginBridge. * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): New boolean useJNLPHref is set if jnlp_href is used. (useJNLPHref): New getter method, returns boolean useJNLPHref. 2012-02-10 Danesh Dadachanji Fix path to NEW_LINE_IFS for when one builds outside of src directory. * Makefile.am: Use top src directory instead of top build directory for NEW_LINE_IFS 2012-02-06 Danesh Dadachanji Fixed regression in running webstart applets from JNLP files. * netx/net/sourceforge/jnlp/Launcher.java (createApplet): Added call to set applet variable in the AppletInstance's AppletEnvironment. * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java (setApplet): New method, set AppletEnvironment's applet variable only once. 2012-02-02 Danesh Dadachanji * netx/net/sourceforge/jnlp/LaunchException.java: Fix message to handle null description 2012-02-01 Danesh Dadachanji * netx/net/sourceforge/jnlp/LaunchException.java: Add description parameter to the message the exception stores. 2012-02-01 Jiri Vanek Fix for PR844 * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: (getLRUSortedEntries) instead of error throwing own LRU exception. Also catches more then NumberFormatException (clearLRUSortedEntries) new method - making soft clearing of cache public (clearCache) now return true if cache was cleared, false otherwise (or exception) * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (getCacheFileIfExist) does three tires to load cache. If ifrst fails, then recently_used file is emptied both in memory and on disc. When second attemmpt fails, then LRU cache is forcibly cleared. if clearing fails, then error is thrown. If it pass, then one more try to load entries is allowed. When third attempt fails, then error is thrown. * /netx/net/sourceforge/jnlp/cache/LruCacheException.java: new file, for purpose of catching this particular exception * netx/net/sourceforge/jnlp/util/PropertiesFile.java: (store) tries to mkdirs to its path. It is better then to fail when no cache directory exists. * tests/jnlp_tests/signed/CacheReproducer: new reproducr trying severals way of corupted cache on several types of jnlp files. Is signed because of reflection used. * tests/jnlp_tests/signed/SimpletestSigned1: signed hello world to be used in CacheReproducer tests. * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: timeout for processes doubled, as clear cache methods sometimes took more then original allowed. 2012-01-27 Deepak Bhole PR852: Classloader not being flushed after last applet from a site is closed * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added variable to count usage for a given ClassLoader instance. (getInstance): Decrement use count for a loader after it is merged with another. Increment loader use count before returning. (incrementLoaderUseCount): New method. Increments loader use count. (decrementLoaderUseCount): New method. Decrements loader use count. * java/sun/applet/PluginAppletViewer.java (appletClose): Decrement loader use count when applet is closed. 2012-01-25 Jiri Vanek Added test for -Xnofork option and for applet launching by jnlp * tests/jnlp_tests/simple/deadlocktest/resources/deadlocktest_1.jnlp: new file By specifying new max heap size, should invoke jvm to fork when launched * tests/jnlp_tests/simple/deadlocktest/srcs/DeadlockTest.java: improved indentation, added debug output that main method was lunched * tests/jnlp_tests/simple/deadlocktest/testcases/DeadLockTestTest.java: small refactoring, add lunching of deadlocktest_1.jnlp with and without -Xnofork, and counting java instances during runtime * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java (ThreadedProcess.run) fixed situation, when process ended, but not all the output was read by its stdout/stderr readers (ContentReader.run) enabled exception printing to stderr. * tests/jnlp_tests/simple/AppletTest/ : test for loading applets by jnlp file 2012-01-06 Danesh Dadachanji Use the JNLP file's information section for the Name and Publisher labels of access dialogs, if available. * netx/net/sourceforge/jnlp/PluginBridge.java: (PluginBridge): Assigned info variable to JNLP file's information section (if one is used), otherwise to a new, empty ArrayList. (getInformation): Removed method, superclass method should be used instead. * netx/net/sourceforge/jnlp/resources/Messages.properties: Adding SUnverified. * a/netx/net/sourceforge/jnlp/security/AccessWarningPane.java: (addComponents): Append unverified note to the publisher label. 2012-01-09 Deepak Bhole PR838: IcedTea plugin crashes with chrome browser when javascript is executed * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (eval): Added a check to ensure that the result pointer is valid before attempting to create an NPVariant from it. 2012-01-05 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Only throw exceptions about the main class not being found when the jnlp file can have a main class. (addToCodeBaseLoader): Dont try to process null URLs. 2011-12-15 Jiri Vanek * configure.ac: added search for xsltproc program and setting WITH_XSLTPROC variable * Makefile.am: xsltproc result is no longer ignored, command itself is in conditional block 2011-12-22 Thomas Meyer * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc(sendMember): Use correct response parameter when returning array member vs member itself. 2011-12-21 Thomas Meyer RH586194: Unable to connect to connect with Juniper VPN client * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc(sendMember): Use createJavaObjectFromVariant to create the resulting object on Java side, rather than always creating a JSObject. 2011-12-21 Jiri Vanek * acinclude.m4: added definition of IT_CHECK_XULRUNNER_API_VERSION, which tries to compile small program against new xulrunner api * configure.ac: added call of IT_CHECK_XULRUNNER_API_VERSION * plugin/icedteanp/IcedTeaNPPlugin.cc: (NP_GetMIMEDescription) return type set-up by dependency on defined LEGACY_XULRUNNERAPI. This one is set by IT_CHECK_XULRUNNER_API_VERSION during configure. if defined, then old char* is used. New const char* is used otherwise. 2011-12-19 Danesh Dadachanji Fix for BasicService being used in applet constructors but not having access to ApplicationInstance variable. * netx/net/sourceforge/jnlp/Launcher.java: (createApplet): Moved applet initialization below loader.setApplication, appletInstance is now initialized with applet param as null. * netx/net/sourceforge/jnlp/runtime/AppletInstance.java: (setApplet): New method, allows setting of AppletInstance's applet only once. 2011-12-16 Deepak Bhole Patch from Thomas Meyer * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Fixed function name in comment for sendMember. 2011-12-08 Omair Majid * netx/net/sourceforge/jnlp/Launcher.java (launchApplication): Print arguments being passed to the application's main method in debug mode. 2011-12-05 Danesh Dadachanji Update UI for AccessWarningPane * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: Use question.png instead of warning.png for access dialogs. 2011-11-28 Jiri Vanek Added code-coverage generation targets * configure.ac: added search for optional emma.jar * makefile.am: added UNIT_CLASS_NAMES and REPRODUCERS_CLASS_NAMES variables to store tests clases for reuse in emmarun. Both also moved to separate target (run-netx-unit-tests): made dependent on reused stamped version (run-netx-dist-tests): made dependent on reused stamped version (stamps/run-netx-dist-tests): stamped rusable version of run-netx-dist-tests (run-unit-test-code-coverage) targets to generate report from unit-tests. Result binary and xml file and html report in tests.build/netx/unit (run-reproducers-test-code-coverage) targets to generate report from reproducers-test. Result binary file, xml and html report in tests.build/netx/jnlp_testsengine (run-test-code-coverage): merges binary results from unit and reproducers (clean-unit-test-code-coverage) conditionaly removes html,xml report and es and ec files from tests.build/netx/unit (clean-reproducers-test-code-coverage) condtionlay removes html and xml report and es file from tests.build/netx/jnlp_testsengine (clean-test-code-coverage) conditionlay removes merged html, xml es and em files from tests.build (clean-netx-tests) now depends also on clean-test-code-coverage 2011-11-11 Jiri Vanek Added reproducer for PR804 and PR8011 * tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere1.jnlp: new jnlp file with space in name and with jar in resources which name does not contain spaces * tests/jnlp_tests/simple/Spaces can be everywhere/resources/Spaces can be everywhere2.jnlp: new jnlp file with space in name and with jar in resources which name contains spaces * tests/jnlp_tests/simple/Spaces can be everywhere/resources/SpacesCanBeEverywhere1.jnlp: jnlp file without space in name but with jar in resources which name contains spaces * tests/jnlp_tests/simple/Spaces can be everywhere/srcs/SpacesCanBeEverywhere.java: new file containig simple main method of "Spaces can be everywhere.jar" jar * tests/jnlp_tests/simple/Spaces can be everywhere/testcases/SpacesCanBeEverywhereTests.java testcase for this reproducer. It is lunching each of this jnlp once locally from filesystem and once remotely from server. Please note that except it's own jar, this reproducer is also using simpletest1.jar 2011-11-11 Jiri Vanek Fixed reproducers engine to handle spaces in files and in urls * Makefile.am: (stamps/netx-dist-tests-prepare-reproducers.stamp) (stamps/netx-dist-tests-sign-some-reproducers.stamp) (stamps/netx-dist-tests-compile-testcases.stamp): added call to NEW_LINE_IFS to use line breake temporarily as parameter separator while loading files from list and correct quoting * NEW_LINE_IFS: new file, small separate script used in makefile as inline script which backup original IFS variable and then set it to pure new line. It is in separate file because it is reused and I do not know another way how to save a new line variable in makefile. Restore to original vlaue is handled in Makefile *tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java: (testResourcesExists) filename is encoded to correct URL before requested from server * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: "-headless" string extracted to variable HEADLES_OPTION (executeProcess) and (ThreadedProcess) enhanced for variable dir to specify working directory. Backward compatibility kept (TinyHttpdImpl) now expects url on requests, so all requests are now decoded by java.net.URLDecoder 2011-11-10 Jiri Vanek Added tests which covers corner cases or rhino support function dateRange Enabled testWeekdayRange test * tests/netx/pac/pac-funcs-test.js: (testWeekdayRange) - added mising runTests call (incDate) (decDate) (monthToStr) moved level up from function scope to be shareable (testDateRange2) new method, tests last days of months. (testDateRange3) new method, tests first days of months * netx/net/sourceforge/jnlp/runtime/pac-funcs.js: (dateRange) logic of this method moved to isDateInRange. This one now serve just as api using current date (isDateInRange) logic of dateRange, can calculate ranges against any date 2011-10-31 Omair Majid PR808: javaws is unable to start when missing jars are enumerated before main jar * NEWS: Update. * netx/net/sourceforge/jnlp/tools/JarSigner.java (verifyJars): Continue with other jars if the first jar can't be used. 2011-10-28 Deepak Bhole RH742515, CVE-2011-3377: IcedTea-Web: second-level domain subdomains and suffix domain SOP bypass * NEWS: Updated * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java (checkPermission): Remove special case for SocketPermission. 2011-10-27 Deepak Bhole PR778: Jar download and server certificate verification deadlock * ChangeLog: Removed extra whitespace from previous entries * NEWS: Updated * netx/net/sourceforge/jnlp/GuiLaunchHandler.java (launchInitialized): Moved as much code as possible out of the invokeLater block. 2011-10-25 Omair Majid PR804: javaws launcher incorrectly handles file names with spaces * NEWS: Update. * launcher/javaws.in: Use bash arrays to store arguments to handle filenames with spaces correctly. 2011-10-24 Jiri Vanek Added reproducer for - PR788: Elluminate Live! is not working * tests/jnlp_tests/signed/MissingJar/resources/MissingJar.jnlp * tests/jnlp_tests/signed/MissingJar/resources/MissingJar2.jnlp * tests/jnlp_tests/signed/MissingJar/resources/MissingJar3.jnlp * tests/jnlp_tests/signed/MissingJar/resources/MissingJar4.jnlp four testcases's jnlp files. Differs by order and by used resoure tags * tests/jnlp_tests/signed/MissingJar/srcs/MissingJar.java very simple main jar, just printing message when initialized * tests/jnlp_tests/signed/MissingJar/testcases/MissingJarTest.java testing file of reproducer, launchiing above four jnlp files, each in individual test 2011-10-17 Jiri Vanek PR564: NetX depends on sun.misc.BASE64Encoder * configure.ac: removed IT564 comment, removed check for sun.misc.BASE64Encoder * netx/net/sourceforge/jnlp/security/CertificateUtils.java : sun.misc.BASE64Encoder; replaced (just changed import) by internal implementation from net.sourceforge.jnlp.util.replacements.BASE64Encoder; * netx/net/sourceforge/jnlp/util/replacements/BASE64Encoder.java: * netx/net/sourceforge/jnlp/util/replacements/CharacterEncoder.java: New files, internal implementation of BASE64Encoder, copied from OpenJDK * tests/netx/unit/net/sourceforge/jnlp/util/replacements/BASE64EncoderTest.java New file, to test internal base64encoder implementation 2011-10-03 Jiri Vanek * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp * tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java Direcory signed was somehow missing from my commit from 2011-09-22. Now it have been added with all its original files 2011-09-29 Omair Majid PR618: Can't install OpenDJ, JavaWebStart fails with Input stream is null error. * NEWS: Update. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getResource): Rename to ... (findResource): New method. (findResources): If resource can not be found, search in lazy resources. (findResourcesBySearching): New method. 2011-09-28 Omair Majid * netx/net/sourceforge/jnlp/AppletDesc.java (getMainClass): Clarify the return value in javadoc. * netx/net/sourceforge/jnlp/Launcher.java (createApplet, createAppletObject): Do not replace '/' with '.'. * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): Ensure that the class name is in the dot-separated from. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (checkForMain): Ensure that the name is an exact match. 2011-09-28 Deepak Bhole PR794: IcedTea-Web does not work if a Web Start app jar has a Class-Path element in the manifest. * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java (retrieve): Blank out the Class-Path elements in manifest. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Only load Class-Path elements if this is an applet. (addNewJar): Add the right permissions for the cached jar file and verify signatures. 2011-09-26 Lars Herschke * netx/net/sourceforge/jnlp/resources/Messages.properties: Add CVExportPasswordMessage, CVImportPasswordMessage and CVPasswordTitle. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Initialize SSLContext with the user's client certificates. * netx/net/sourceforge/jnlp/security/CertificateUtils.java (addPKCS12ToKeyStore, addPKCS12ToKeyStore, dumpPKCS12): New methods. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java (getPasswords): New method. (ImportButtonListener.actionPerformed): Import client certificates in PKCS12 format. (ExportButtonListener.actionPerformed): Export client certificates in PKCS12 format. 2011-09-23 Omair Majid RH738814: Access denied at ssl handshake * netx/net/sourceforge/jnlp/security/SecurityDialogs.java (showCertWarningDialog): Add a javadoc comment. * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java (askUser): Wrap the call to showCertWarningDialog in a doPrivileged block. 2011-09-22 Omair Majid PR788: Elluminate Live! is not working * NEWS: Update. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (checkForMain): If localFile is null (JAR couldn't be downloaded), try to continue, rather than allowing the exception to cause an abort. 2011-09-21 Omair Majid PR766: javaws fails to parse an node that contains CDATA * netx/net/sourceforge/nanoxml/XMLElement.java (sanitizeInput): Do not remove CDATA sections along with comments. 2011-09-20 Omair Majid * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java (testCdata, testCdataNested, testCDataFirstChild, testCDataSecondChild) (testCommentInElements2, testDoubleDashesInComments): New methods * tests/netx/unit/net/sourceforge/jnlp/application/application0.jnlp, * tests/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp: Change PR789: typo in jrunscript.sh * jrunscript.in: Use = instead of ==. 2011-09-22 Jiri Vanek * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/resources/ReadPropertiesBySignedHack.jnlp: jnlp file to lunch ReadPropertiesBySignedHack, notice please dependenci on ReadProperties.jar from simple reproducers * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/srcs/ReadPropertiesBySignedHack.java: this reproducers verify, that even reflection-by enabled XtrustAll will not allow to lunch unsigned code * tests/jnlp_tests/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java: testcase for this reproducer 2011-09-22 Jiri Vanek * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned1.jnlp: * tests/jnlp_tests/signed/ReadPropertiesSigned/resources/ReadPropertiesSigned2.jnlp: * tests/jnlp_tests/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: * tests/jnlp_tests/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java: those four files are example of signed reproducer * tests/jnlp_tests/simple/ReadProperties/srcs/ReadProperties.java: now prints out got variable for comparsion with above created signed example 2011-09-22 Jiri Vanek Added signed reproducers engine * Makefile.am: added variable KEYSTORE_NAME (stamps/junit-jnlp-dist-dirs): creates stamp and depend on next two targets (junit-jnlp-dist-simple.txt): creates list of simple reproducers, extracted from stamps/junit-jnlp-dist-dirs (junit-jnlp-dist-signed.txt): creates list of signed reproducers (stamps/netx-dist-tests-prepare-reproducers.stamp): now traverse over signed and simple (stamps/netx-dist-tests-sign-some-reproducers.stamp): depends on netx-dist-tests-prepare-reproducers, traverse through signed reproducers and sign them (stamps/netx-dist-tests-compile-testcases.stamp): now traverse over signed and simple (stamps/bootstrap-directory.stamp): creates symlinks/stubs to jarsigner and keytool (clean-netx-dist-tests):remove new stamps, signed and simple list and keysstore * acinclude.m4: declared to proceed IT_FIND_KEYTOOL and IT_FIND_JARSIGNER macro * configure.ac: declared macros to check for keytool and jarsigner * tests/jnlp_tests/README: mentioned signed directory 2011-09-22 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/Boot.java: (main): added logic to handle -Xtrustall option * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: declared private static boolean trustAll=false; with public getter and pkg.private setter * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (checkTrustWithUser): modified, when XtrustAll declared, then user is not asked and certificate is trusted * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: (askUser): modified, when XtrustAll declared, then user is not asked and certificate is trusted 2011-09-15 Jiri Vanek * tests/jnlp_tests/: all current reproducers (AccessClassInPackage AddShutdownHook AllStackTraces CreateClassLoader deadlocktest ReadEnvironment ReadProperties RedirectStreams ReplaceSecurityManager SetContextClassLoader simpletest1 simpletest2) junit's asserts are enchanted for reason, so junit assertion exception message is much clearer. 2011-09-13 Deepak Bhole PR782: Support building against npapi-sdk as well Patch from Michał Górny < mgorny at gentoo dot org > * acinclude.m4: Build against npapi-sdk. 2011-09-13 Deepak Bhole * ChangeLog: Fixed formatting issues in previous entry. 2011-09-01 Jiri Vanek Added functionality to allow icedtea web to be buildable with rhel5 libraries. * configure.ac: added IT_CHECK_GLIB_VERSION check. * acinclude.m4: added IT_CHECK_GLIB_VERSION definition block to test. version of glib installed and add LEGACY_GLIB define macro into variable DEFS if version is <2.16. * plugin/icedteanp/IcedTeaNPPlugin.cc: added replacements for incompatible functions (g_strcmp0 and find_first_item_in_hash_table)if LEGACY_GLIB is defined. Added define sections for use this function instead of glib ones. Duplicated code moved into function getFirstInTableInstance(GHashTble* table). * Makefile.am: ($(PLUGIN_DIR)/%.o): using DEFS setted by configure for compilation 2011-08-29 Deepak Bhole RH734081: Javaws cannot use proxy settings from Firefox Based on patch from Lukas Zachar * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java (find): Only process Profile sections. Do not throw an exception if a Default= line is not found since it is not guaranteed to exist. 2011-08-24 Deepak Bhole RH718693: MindTerm SSH Applet doesn't work * plugin/icedteanp/java/netscape/security/PrivilegeManager.java: New file. Stub class, not needed with IcedTea-Web. 2011-08-23 Deepak Bhole PR769: IcedTea-Web plugin does not work with some ssl sites with OpenJDK7 * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java (checkServerTrusted): Account for a null hostname that the overloaded implementation may pass. 2011-08-23 Omair Majid * configure.ac: Add check for new non-standard classes sun.net.www.protocol.jar.URLJarFile and sun.net.www.protocol.jar.URLJarFileCallBack. 2011-08-23 Omair Majid * Makefile.am: Remove JRE. Replace uses with SYSTEM_JRE_DIR instead. Also replace uses of SYSTEM_JDK_DIR/jre with SYSTEM_JRE_DIR. * acinclude.m4 (IT_CHECK_FOR_JRE): New macro. (IT_FIND_JAVA): Require IT_CHECK_FOR_JRE. Use java binary from within the JRE. 2011-08-22 Saad Mohammad * netx/net/sourceforge/jnlp/JNLPFile.java: (parse): After the file has been parsed, it calls checkForSpecialProperties() to check if the resources contain any special properties. (checkForSpecialProperties): Scans through resources and checks if it contains any special properties. (requiresSignedJNLPWarning): Returns a boolean after determining if a signed JNLP warning should be displayed. (setSignedJNLPAsMissing): Informs JNLPFile that a signed JNLP file is missing in the main jar. * netx/net/sourceforge/jnlp/SecurityDesc.java: (getJnlpRIAPermissions): Returns all the names of the basic JNLP system properties accessible by RIAs. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added LSignedJNLPFileDidNotMatch and SJNLPFileIsNotSigned. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources): Locates the jar file that contains the main class and verifies if a signed JNLP file is also located in that jar. This also checks 'lazy' jars if the the main class was not found in 'eager' jars. If the main jar was not found, a LaunchException is thrown which terminates the launch of the application. (checkForMain): A method that goes through each jar and checks to see if it has the main class. If the main class is found, it calls verifySignedJNLP() to verify if a valid signed JNLP file is also found in the jar. (verifySignedJNLP): A method that checks if the jar file contains a valid signed JNLP file. (closeStream): Closes a stream. (loadClassExt): Added a try/catch block when addNextResource() is called. (addNextResource): If the main jar has not been found, checkForMain() is called to check if the jar contains the main class, and verifies if a signed JNLP file is also located. * netx/net/sourceforge/jnlp/security/MoreInfoPane.java: (addComponents): Displays the signed JNLP warning message if necessary. * netx/net/sourceforge/jnlp/security/SecurityDialog.java: (SecurityDialog): Stores the value of whether a signed JNLP warning should be displayed. (showMoreInfoDialog): Passes in the associated JNLP file when creating a SecurityDialog object. (requiresSignedJNLPWarning): Returns a boolean after determining if a signed JNLP warning should be displayed. 2011-08-17 Danesh Dadachanji Update UI for SecurityDialog * netx/net/sourceforge/jnlp/resources/question.png: New icon added. * netx/net/sourceforge/jnlp/security/CertWarningPane.java: (addComponents): When certs are verified, question.png is used as the icon and SAlwaysTrustPublisher is automatically selected. * netx/net/sourceforge/jnlp/security/SecurityDialog.java: (initDialog): Changed the title of a CERT_WARNING dialog. 2011-08-17 Danesh Dadachanji AUTHORS: Adding myself and Denis Lila. Removing the extra email from Andrew Hughes. 2011-08-11 Danesh Dadachanji PR742: IcedTea-Web checks certs only upto 1 level deep before declaring them untrusted. * NEWS: Updated. * netx/net/sourceforge/jnlp/tools/JarSigner.java: (checkTrustedCerts): All certs along certPath are now checked for trust. 2011-08-09 Deepak Bhole PR771: IcedTea-Web certificate verification code does not use the right API * netx/net/sourceforge/jnlp/security/CertificateUtils.java (inKeyStores): Use Certificate.verify to correctly verify a certificate against a public key in the store. 2011-08-09 Saad Mohammad PR765: JNLP file with all resource jars marked as 'lazy' fails to validate signature and stops the launch of application * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources): Initializes the first jar file if all resources are marked as lazy jars 2011-08-03 Saad Mohammad * netx/net/sourceforge/jnlp/JNLPMatcher.java: (JNLPMatcher): Removed NullPointerException from being thrown, caught and then thrown again via JNLPMatcherException. This was replaced by throwing a checked exception [JNLPMatcherException] directly. (JNLPMatcher): Removed unused code [getters] (JNLPMatcher): Closed Input/Output streams that were opened. (isMatch): Removed caching of return value (closeInputStream): Added this method to close input streams (closeOutputStream): Added this method to close output streams * netx/net/sourceforge/jnlp/Node.java: Removed getAttributeNames() method from the commented section 2011-08-03 Deepak Bhole PR768: Signed applets/Web Start apps don't work with OpenJDK7 and up * netx/net/sourceforge/jnlp/tools/JarSigner.java (verifyJar): Put entry in cert hashtable only if the entry is expected to be signed. 2011-08-02 Jiri Vanek *Makefile.am: (stamps/netx-dist-tests-prepare-reproducers.stamp): now are compiled files correctly compiled from directory structure. Also not java files are copied with expected directory structure and jarred together with classes. 2011-07-26 Jiri Vanek *tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: String containing "localhost" have been declared as final constant. (SERVER_NAME) have been moved instant Server instance so each server can have it name without affecting others (getUrl()) added - can return URL of server singleton. Implementation of this method is inside server, so each server can return its own useful URL. (saveFile()) is now public. Added identification for ThreadedProcess based on commandlineArgs and its run is now slowed by Thread.sleep (ServerLuncher) inner class is now public (it was bug to not be as we have getIndependentInstance of it method ) and renamed to ServerLauncher Enchanted wrapping of executeProcess 2011-07-21 Deepak Bhole PR749: sun.applet.PluginStreamHandler#handleMessage(String) really slow Original patch from: Ricardo Martín Camarero * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java (readPair): New function. (handleMessage): Use readPair to incrementally tokenize message, rather than using String.split(). 2011-07-19 Saad Mohammad * netx/net/sourceforge/jnlp/JNLPMatcher.java: Created this class to compare signed JNLP file with the launching JNLP file. When comparing, it has support for both method of signing of a JNLP file: APPLICATION_TEMPLATE.JNLP and APPLICATION.JNLP. * netx/net/sourceforge/jnlp/JNLPMatcherException.java: Added a custom exception: JNLPMatcherException. Thrown if verifying signed JNLP files fails. * netx/net/sourceforge/jnlp/Node.java: Created a method that retrieves the attribute names of the Node and stores it in private string [] member. The method returns the attribute names. * tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java: This is a test case that tests the functionality of JNLPMatcher. It tests the algorithm with a variety of template and application JNLP files. * tests/netx/unit/net/sourceforge/jnlp/launchApp.jnlp: Launching JNLP file: This is the launching JNLP file used to compare with templates and application JNLP files in JNLPMatcherTest.java * tests/netx/unit/net/sourceforge/jnlp/templates/template0.jnlp: Test Template JNLP file: Contains CDATA. * tests/netx/unit/net/sourceforge/jnlp/templates/template1.jnlp: Test Template JNLP file: An exact duplicate of the launching JNLP file. * tests/netx/unit/net/sourceforge/jnlp/templates/template2.jnlp: Test Template JNLP file: Contains wildchars as attribute/element values. * tests/netx/unit/net/sourceforge/jnlp/templates/template3.jnlp: Test Template JNLP file: Different order of elements/attributes (same value) * tests/netx/unit/net/sourceforge/jnlp/templates/template4.jnlp: Test Template JNLP file: Contains wildchars as values of ALL elements and attribute. * tests/netx/unit/net/sourceforge/jnlp/templates/template5.jnlp: Test Template JNLP file: Contains comments. * tests/netx/unit/net/sourceforge/jnlp/templates/template6.jnlp: Test Template JNLP file: Contains different attribute and element values. * tests/netx/unit/net/sourceforge/jnlp/templates/template7.jnlp: Test Template JNLP file: Contains additional children in element. * tests/netx/unit/net/sourceforge/jnlp/templates/template8.jnlp: Test Template JNLP file: Contains fewer children in element. * tests/netx/unit/net/sourceforge/jnlp/templates/template9.jnlp: Test Template JNLP file: All values are different from the launching JNLP file. * tests/netx/unit/net/sourceforge/jnlp/application/application0.jnlp: Test Application JNLP file: Contains CDATA. * tests/netx/unit/net/sourceforge/jnlp/application/application1.jnlp: Test Application JNLP file: An exact duplicate of the launching JNLP file. * tests/netx/unit/net/sourceforge/jnlp/application/application2.jnlp: Test Application JNLP file: Different order of element/attributes (same value). * tests/netx/unit/net/sourceforge/jnlp/application/application3.jnlp: Test Application JNLP file: Contains comments. * tests/netx/unit/net/sourceforge/jnlp/application/application4.jnlp: Test Application JNLP file: Contains wildchars as attribute/element values. * tests/netx/unit/net/sourceforge/jnlp/application/application5.jnlp: Test Application JNLP file: Contains a different attribute (codebase) value. * tests/netx/unit/net/sourceforge/jnlp/application/application6.jnlp: Test Application JNLP file: Contains additional children in element. * tests/netx/unit/net/sourceforge/jnlp/application/application7.jnlp: Test Application JNLP file: Contains fewer children in element. * tests/netx/unit/net/sourceforge/jnlp/application/application8.jnlp: Test Application JNLP file: All values are different from the launching JNLP file. * Makefile.am: (run-netx-unit-tests): Copies resources(non java files) to test.build before running the unit tests. 2011-06-22 Jiri Vanek * tests/report-styles/jreport.xsl: part with classes statistics is now collapsable 2011-06-21 Jiri Vanek *tests/jnlp_tests/simple: AccessClassInPackage, ReplaceSecurityManager, AddShutdownHook, ReadEnvironment, SetContextClassLoader, AllStackTraces, ReadProperties, CreateClassLoader, RedirectStreams tests 2011-06-21 Jiri Vanek *Makefile.am: (run-netx-dist-tests): no depends on copying of styles (clean-netx-dist-tests): depends also on removing of styles 2011-06-17 Jiri Vanek * tests/jnlp_tests: directory for reproducers * tests/jnlp_tests/advanced: reproducers which must care about deploying and compiling thmselves * tests/jnlp_tests/simple: reproducers compiled, jared and deployed automatically * tests/jnlp_tests/simple/name/srcs|testcases|resources/: sourcefiles, resources and testaces for simple reproducers * tests/jnlp_tests/simple/deadlocktest: test for tracing not-killable javaws * tests/jnlp_tests/simple/simpletest1: tutorial test * tests/jnlp_tests/simple/simpletest2: tutorial test with exception * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ResourcesTest.java: tests for server basic functionality * tests/netx/jnlp_testsengine/net/sourceforge/jnlp/ServerAccess.java: implementation of server to produce jnlps and resources. Implementation of helpers to run javaws process. *Makefile.am: new variables pointing to structure above; (junit-jnlp-dist-dirs.txt): prepare destination directory structure (stamps/netx-dist-tests-prepare-reproducers.stamp):compile tescascases of simple reproducers (netx-dist-tests-source-files.txt): lookup for server and helping classes (stamps/netx-dist-tests-compile.stamp): compile server and helping classes (stamps/netx-dist-tests-compile-testcases.stamp): compile, jar and deploy all simple testcases and their resources (run-netx-dist-tests): after make install run junit testsuite upon reproducers on virtual server (clean-netx-tests): added dependence on clean-netx-dist-tests (clean-netx-dist-tests): deleting of reproducers 2011-06-16 Jiri Vanek * tests/report-styles/index.js: fast navigation functions * tests/report-styles/report.css: styles for transformed result * tests/report-styles/jreport.xsl: template for human-readable xml->html transformation. * Makefile.am: New variable for report-styles directory; ($(TESTS_DIR)/$(REPORT_STYLES_DIRNAME)): goal for copying styles and javascripts; (run-netx-unit-tests): added nonfaling xsltproc transformation of sheet and unit-tests' xml report to index_unit.html; (clean-netx-unit-tests): now depends also on clean_tests_reports; (clean_tests_reports): new goal to remove report styles directory and indexs html files. 2011-07-14 Omair Majid RH718170, CVE-2011-2514: Java Web Start security warning dialog manipulation * netx/net/sourceforge/jnlp/services/XExtendedService.java (openFile): Create XContents based on a copy of the File object to prevent overloaded File classes from mangling the name. (XFileContents): Create a separate copy of File object for local use. 2011-07-14 Omair Majid RH718164, CVE-2011-2513: Home directory path disclosure to untrusted applications * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java: New file. * netx/net/sourceforge/jnlp/util/UrlUtils.java: New file. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: jarLocationSecurityMap now contains originating urls, not cache urls. (initializeResources): Add remote url to map instead of local url. (activateJars): Add remote url to the classloader's urls. Add mapping for remote to local url. Put remote url in jarLocationSecurityMap. (loadClass): Add remote url to the classloader's urls. Add mapping for remote to local url. (getCodeSourceSecurity): Update javadoc to note that the url must be remote. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Set the callback for URLJarFile. 2011-06-14 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: (ControlPanel): Removed line that prevents resizing. (createMainSettingsPanel): Detect the minimum size of panels instead of fixed size. * netx/net/sourceforge/jnlp/controlpanel/NetworkSettingsPanel.java: (addComponents): Changed to update size when tool is being resized. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java addComponents): Changed to a layout that will resize itself. 2011-06-10 Denis Lila * netx/net/sourceforge/jnlp/GuiLaunchHandler.java: (mutex): New mutex for synchronizing splashScreen. (closeSplashScreen): New method to hide and dispose splashScreen. (launchStarting): Call closeSplashScreen instead of doing it inline. (launchInitialized): Sync splashScreen creation. (validationError, launchError): Call closeSplashScreen. 2011-06-10 Denis Lila * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java: (frameMutex): New mutex to synchronize accesses to "frame". (getListener): Make almost all of it synchronized on frameMutex. (disposeListener): Sync hider's body around frameMutex and call dispose on the frame so that the awt threads die when they should. (addProgressPanel): Sync "frame" usage. 2011-06-08 Saad Mohammad * AUTHORS: Updated * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): Moved the process of checking if the application is a trusted application to a new method called isSigned(). * netx/net/sourceforge/jnlp/services/XPersistenceService.java (checkLocation): Allows trusted application to have access to PersistenceService data from different hosts. It uses ServiceUtil.isSigned() to determine if the current application is a trusted application. 2011-06-08 Andrew Su * NEWS: Updated. * netx/net/sourceforge/jnlp/JNLPFile.java: (JNLPFile): Calls new constructor. (JNLPFile): New constructor to take an option for forcing a codebase. (JNLPFile): Call parse with extra parameter. (parse): Use the given codebase passed in if we did not find one. * netx/net/sourceforge/jnlp/Parser.java: (Parser): Calls new constructor. (Parser): New constructor which takes in a codebase as a last option. * netx/net/sourceforge/jnlp/PluginBridge.java: (PluginBridge): Calls new JNLPFile's constructor with current codebase 2011-06-08 Andrew Su * netx/net/sourceforge/jnlp/PluginBridge.java: (jars): Changed to use HashSet instead of String[]. (PluginBridge): Updated to work with HashSet instead of String[] (getResources): Likewise. 2011-06-08 Deepak Bhole PR721: IcedTeaPlugin.so cannot run g_main_context_iteration on a different thread unless a different GMainContext *context is used * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc (postAndWaitForResponse): Added logic for tracking when the processor is running from a plugin main thread, and logic to process main thread specific messages queued thereafter until function exit. * plugin/icedteanp/IcedTeaNPPlugin.cc: (itnp_plugin_thread_id): New variable. Tracks plugin main thread ID. (pluginAsyncCallMutex): New variable. Mutex to lock async call queue. (NP_Initialize): Initialize the itnp_plugin_thread_id variable and make ithe make pluginAsyncCallMutex recursive. (NP_Shutdown): Destroy pluginAsyncCallMutex. * plugin/icedteanp/IcedTeaNPPlugin.h: (CHROMIUM_WORKAROUND): Remove macro. (itnp_plugin_thread_id): New variable. Tracks plugin main thread ID. (pluginAsyncCallMutex): New variable. Mutex to lock async call queue. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (eval): Remove chromium workaround. (call): Same. (sendString): Same. (setMember): Same. (sendMember): Same. (loadURL): Same. * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Moved async_call_thread_data to IcedTeaPluginUtils.h. * plugin/icedteanp/IcedTeaPluginUtils.cc (pendingPluginThreadRequests): New variable. Queue to track events waiting for async execution on plug-in thread. (callAndWaitForResult): New function. Calls a method on plug-in thread and waits for the execution to complete. (postPluginThreadAsyncCall): New function. Posts a method call to the async execution queue and calls NPN_PluginThreadAsynCall. (processAsyncCallQueue): New function. Called from the plug-in thread, this function empties the event queue of functions waiting for plug-in thread execution. * plugin/icedteanp/IcedTeaPluginUtils.h (plugin_thread_call): New struct to hold async call data. (async_call_thread_data): Struct moved from IcedTeaPluginRequestProcessor. (processAsyncCallQueue): New function. (postPluginThreadAsyncCall): Same. (callAndWaitForResult): Same. * plugin/icedteanp/IcedTeaScriptablePluginObject.cc (get_scriptable_java_object): Use IcedTeaPluginUtilities::callAndWaitForResult to post async callback for _createAndRetainJavaObject. 2011-05-31 Omair Majid * netx/net/sourceforge/jnlp/JNLPSplashScreen.java: Subclass JDialog, not JFrame. 2011-05-30 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java: (addComponent): Add check to see if specified cache directory is writable. 2011-05-30 Andrew Su * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (downloadResource): Check whether file to be downloaded is current. 2011-05-30 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java: (properties): Removed property. (addComponents): Removed checkbox. * netx/net/sourceforge/jnlp/resources/Messages.properties: Removed translation string for DPLifeCycleExceptions. 2011-05-27 Deepak Bhole PR723: AccessControlException while downloading resource * netx/net/sourceforge/jnlp/cache/ResourceTracker.java (Downloader): Make class private. (Downloader::run): Call processResource via doPrivileged since resources may get added at run time from application code via JNLPClassLoader::addNewJar(). 2011-05-27 Deepak Bhole PR735: Firefox 4 sometimes freezes if the applet calls showDocument() * plugin/icedteanp/IcedTeaNPPlugin.cc (consume_message): Defer handling to url load request to the queue processor. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (PluginRequestProcessor::newMessageOnBus): Handle new LoadURL command. (PluginRequestProcessor::loadURL): New method. Loads the specified url in the given target. (queue_processor): Process the LoadURL command. (_loadURL): New async callback function to handle LoadURL commands. * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Add _loadURL and loadURL method declerations. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (showDocument): Send the url load command in the standard "instance X reference Y " format. 2011-05-27 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (appletClose): Call dispose from the swing thread. Also, don't try to stop the threadgroup. 2011-05-27 Deepak Bhole * Backed out 0256de6a4bf6 2011-05-27 Omair Majid * NEWS: Update. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getClassPathsFromManifest): Check for possible nulls and empty strings. 2011-05-26 Andrew Su * NEWS: Update. * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (cleanCache): Split conditional for delete. 2011-05-20 Andrew Su * NEWS: Update. 2011-05-20 Andrew Su * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: (CacheLRUWrapper): New constructor to create file. (lock): Removed creation of file here. 2011-05-17 Jiri Vanek * tests/junit-runner/JunitLikeXmlOutputListener: This listener exports results of junit in xml which "follows junit-output schema". Extended for date, duration and some statististics for future purpose * Makefile.am (run-netx-unit-tests): backuping stdout/stderr of tests * tests/junit-runner/CommandLine.java: registered JunitLikeXmlOutputListener 2011-05-10 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: (addComponents):Created a new comparator for sorting by file size and date. 2011-05-09 Jiri Vanek * tests/junit-runner/CommandLine.java:r added skipping of inner classes and one jnlp file from sources package. 2011-05-03 Denis Lila * netx/net/sourceforge/jnlp/NetxPanel.java: Add imports. (uKeyToTG): Change to HashMap. (TGMapMutex): New mutex to synchronize uKeyToTG. (getThreadGroup): Synchronize on TGMapMutex. (NetxPanel): Only create a new thread group if one doesn't already exist for the computed uKey. 2011-05-02 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (appletClose): Do not try to stop threads, now that the loader is shared and the thread group for applets on a page is identical. Call dispose from invokeAndWait. (appletSystemExit): Exit the VM when called. 2011-04-28 Denis Lila * netx/net/sourceforge/jnlp/NetxPanel.java: Remove unused import; add imports. (uKey, uKeyToTG, appContextCreated): New members. (getThreadGroup, createNewAppContext): New methods. (runLoader): Pass uKey to PluginBridge's constructor. (run): Remove. No longer needed. (NetxPanel): Initialize uKey. If it is a new key, make a new thread group for it and save it in the hash map. (createAppletThread): Use getFutureTG instead of creating a thread group on the spot. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (createPanel): Initialize and frame the panel in a separate thread. * netx/net/sourceforge/jnlp/Launcher.java: Remove unused import. (createApplet, createApplication, createThreadGroup): Replace AppThreadGroup with ThreadGroup. Remove all calls to setApplication. * netx/net/sourceforge/jnlp/PluginBridge.java: (PluginBridge): Remove the uniqueKey initialization logic. Set uniqueKey to the uKey parameter. * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java: Remove file. 2011-04-28 Omair Majid * Makefile.am (javaws, itweb_settings): New variables. (edit_launcher_script, all-local, install-exe-local) (uninstall-local, clean-launchers, javaws.desktop) (itweb-settings.desktop): Replace all uses of javaws and itweb-settings with the new variables. (launcher.build/javaws): Replace with ... (launcher.build/$(javaws)): New target. (launcher.build/itweb-settings): Replace with... (launcher.build/$(itweb-settings)): New target. 2011-04-21 Deepak Bhole * configure.ac: Bumped version to 1.2pre 2011-04-21 Deepak Bhole * plugin/icedteanp/IcedTeaNPPlugin.cc (consume_message): Use NPN_GetURLNotify (non-blocking) instead of NPN_GetURL (blocking) so that the plugin is free to process additional requests. * ChangeLog: Fixed spacing issues in previous entry. 2011-04-20 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: (createButtonPanel): Changed to update the recently_used file to reflect the deletion. Added method updateRecentlyUsed to anonymous ActionListener class which will do the actual updating. 2011-04-20 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Add new private variable classpathsInManifest. (activateJars): When adding jar index, also add Class-Path entries from the Manifest file in the jar. (loadClass): Search for jars specified in classpaths before looking for entries in jar index. (addNewJar): New method refactored from loadClass. 2011-04-20 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java (getApplication(Class[],int)): Renamed to ... (getApplication(Thread,Class[],int)): New method. Check the thread's context ClassLoader as well as parents of the classloader. (getJnlpClassLoader): New method. (getApplication, checkExit): Update to work with new method signatures. 2011-04-20 Omair Majid * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java (PluginAppletSecurityContext): Set the launch handler to the stdout/stderr based one. 2011-04-20 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: (generateData): Skip through the identifier for cached item. 2011-04-20 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: (createButtonPanel): Added check to delete button for whether plugin or javaws is not running before proceeding with delete. 2011-04-20 Andrew Su * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (cleanCache): Added check for removing files that are over set max limit. (removeUntrackedDirectories): Removed method. Replaced by removeSetOfDirectories. (removeSetOfDirectories): New method. Removes a given set of directories. 2011-04-20 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java: (addComponents): Uncommented lines of code to reintroduce components to handle setting cache size limit. 2011-04-20 Andrew Su * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (getCacheFile): Store lru after modifying. 2011-04-18 Andrew Su * netx/net/sourceforge/jnlp/cache/CacheEntry.java: (markForDelete): New method. Adds an entry to info file specifying that this file should be delete. (lock): New method. Locks the info file. (unlock): New method. Unlocks the info file. * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (cacheDir, lruHandler, propertiesLockPool): New private static fields. (clearCache): Changed to use static field. (getCacheFile): Changed to call getCacheFileIfExist and makeNewCacheFile where appropriate. (getCacheFileIfExist): New method. Get the file of requested item. (makeNewCacheFile): New method. Create a new location to store cache file. (pathToURLPath): New method. Convert the file path to the url path. (cleanCache): New method. Search for redundant entries and remove them. (removeUntrackedDirectories): New method. Remove all untracked directories. (lockFile): New method. Locks the given property file. (unlockFile): New method. Unlocks the property file if we locked before. * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: New class. Provides wrappers for handling cache's LRU. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (downloadResource): Ensure that we only allow downloading the specified file once. (initializeResource): Added creation of new location to store an updated or new file. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (JNLPClassLoader): Reordered the calls since we should check permission after we have the files ready. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: (markNetxRunning): Added call to CacheUtil.cleanCache() when adding shutdown hooks. * netx/net/sourceforge/jnlp/util/FileUtils.java: (getFileLock): New method. * netx/net/sourceforge/jnlp/util/XDesktopEntry.java: (getContentsAsReader): Changed call from using urlToPath to getCacheFile, since the directories are no longer in that location. 2011-04-18 Denis Lila * netx/net/sourceforge/jnlp/Launcher.java: Remove unused import. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Add annotation to suppress warning. (loadClass): Make synchronized. 2010-04-14 Andrew John Hughes * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java, (PluginAppletPanelFactory.createPanel(PluginStreamHandler, int,long,int,int,URL,Hashtable)): Remove duplication of wait for panel.isAlive(). (PluginAppletViewer.panelLock): New lock used to track panel creation. (PluginAppletViewer.panelLive): Condition queue for panel creation. (PluginAppletViewer.appletsLock): New lock used to track additions to the applets map. (PluginAppletViewer.appletAdded): Condition queue for applet addition. (PluginAppletViewer.statusLock): New lock for status changes. (PluginAppletViewer.initComplete): Condition queue for initialisation completion. (PluginAppletViewer.framePanel(int,long,NetxPanel)): Replace synchronized block with use of appletsLock and notification on appletAdded condition queue. (AppletEventListener.appletStateChanged(AppletEvent)): Signal the panelLive condition queue that the panel is live. (PluginAppletViewer.handleMessage(int,int,String)): Wait on appletAdded condition queue for applet to be added to the applets map. (PluginAppletViewer.updateStatus(Int,PAV_INIT_STATUS)): Signal when a status change occurs using the initComplete condition queue. (PluginAppletViewer.waitForAppletInit(NetxPanel)): Wait on the panelLive condition queue until the panel is created. (PluginAppletViewer.handleMessage(int,String)): Wait on the initComplete condition queue until initialisation is complete. Wait on the panelLive signal until panel is created. (waitTillTimeout(ReentrantLock,Condition,long)): Convert to use ReentrantLock and Condition. Add assertion to check the lock is held. Avoid conversion between milliseconds and nanoseconds. 2011-04-18 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (PluginAppletPanelFactory::createPanel): Make the NetxPanel variable final. Resize frame to work around problem whereby AppletViewerPanel doesn't always set the right size initially. 2011-04-18 Deepak Bhole RH691259: Midori sends a SIGSEGV with the IcedTea NP Plugin * plugin/icedteanp/IcedTeaNPPlugin.cc (NP_Initialize): Rather than returning immediately if already initialized, return after function tables are reset. 2010-04-11 Andrew John Hughes * configure.ac: Check Gentoo install location for JUnit 4. 2011-04-13 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (createPanel): use Object.wait() to wait, rather than pariodic sleep. (APPLET_TIMEOUT): Updated to be in nanoseconds. (framePanel): Synchronize put and notify threads waiting on the applets map instance. (appletStateChanged): Notify all threads waiting on the panel that just changed state. (handleMessage): Use the new waitTillTimeout function to wait, rather than periodically waking up. Improved timeout error string sent back. (updateStatus): Synchronize put and notify all threads waiting on status map. (waitForAppletInit): Use the new waitTillTimeout function to wait, rather than periodically waking up. (waitTillTimeout): New function. For a given non-null object, waits until the specified timeout, or, if an interrupt was thrown during wait, returns immediately. 2011-04-14 Denis Lila * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java Remove unused imports, added various SuppressWarnings annotations. (createPanel): Return NetxPanel from doPriviledged. Remove dead code. (PluginParseRequest): Remove - unused. (defaultSaveFile, label, statusMsgStream, requests, handle): Remove unused. (panel): Make NetxPanel. (identifier, appletPanels): Privatize. (appletPanels): Change type to NetxPanel. (applets, status): Use ConcurrentHashMaps. (framePanel, PluginAppletViewer): Remove unused PrintStream argument. (forceredraw): Remove - unused. (getApplets): Use generics. (appletClose): Fix style to match our convention. (destroyApplet): Use pav instead of calling get many times. (splitSeparator): Remove. Replace uses by String.split(). 2011-04-13 Andrew Su * netx/net/sourceforge/jnlp/cache/CacheDirectory.java: Added final modifier to class declaration. (CacheDirectory): New private constructor. 2011-04-12 Denis Lila * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (applets, status): Make concurrent. (PluginAppletViewer): Synchronize appletPanels addElement. (destroyApplet): Remove applets.containsKey because it and the get that followed it were not atomic. (appletPanels): Privatize. (getApplet, getApplets): Synchronize iteration. 2011-04-08 Omair Majid * README: Update to add notes on rhino and junit. 2011-04-07 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (constructor): Make window close event call destroy applet which can be safely called multiple times, unlike appletClose. 2011-04-06 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsPane.java: (addComponents): Changed all port fields to use document which prevents input of non-valid port numbers. * netx/net/sourceforge/jnlp/controlpanel/NetworkSettingsPanel.java: (addComponents): likewise. (getPortNumberDocument): New method. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added CPInvalidPort and CPInvalidPortTitle. 2011-04-05 Denis Lila * plugin/icedteanp/java/netscape/javascript/JSObject.java: Replaced every instance of PluginDebug.debug(a + b + c...) with PluginDebug.debug(a, b, c...). 2011-04-05 Denis Lila * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: Remove unused imports, add import. (downloadOptions): Make ConcurrentHashMap. 2011-04-05 Denis Lila * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): Replace hardcoded indices with a variable; roll up free calls in a loop; fix whitespace; set classpath to ICEDTEA_WEB_JRE/lib/rt.jar. * launcher/javaws.in: Set class path to JRE/lib/rt.jar. * Makefile.am: Replace @JRE@ with $(JRE) in edit_launcher_script. 2011-04-01 Denis Lila * plugin/icedteanp/java/sun/applet/PluginDebug.java: (debug): Use StringBuilder to build the string. 2011-03-31 Omair Majid * netx/net/sourceforge/jnlp/Launcher.java: Add parserSettings and extra. (setParserSettings): New method. (setInformationToMerge): New method. (launch(JNLPFile,Container)): Call mergeExtraInformation. (launch(URL,boolean)): New method. (mergeExtraInformation): New method. (addProperties, addParameters, addArguments): Moved here from Boot.java (fromUrl): New method. * netx/net/sourceforge/jnlp/ParserSettings.java: New file. * netx/net/sourceforge/jnlp/resources/Messages.properties: Remove BArgNA, BParamNA. * netx/net/sourceforge/jnlp/runtime/Boot.java (run): Do not parse JNLP file. Pass ParserSettings and other command line additions to launcher. (getFile): Rename to... (getFileLocation): New method. (addProperties, addParameters, addArguments): Move to Launcher.java. 2011-03-31 Denis Lila * plugin/icedteanp/java/netscape/javascript/JSObject.java: Fix comments, remove unused imports. (equals): Remove. It was breaking the reflexivity in the equals contract. 2011-03-31 Denis Lila * plugin/icedteanp/java/sun/applet/PluginObjectStore.java: Add citation of Effective Java, 2nd edition. 2011-03-31 Denis Lila * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java (store): Make private and remove fixme to make private. * plugin/icedteanp/java/sun/applet/PluginObjectStore.java (PluginObjectStore): Make it a singleton using enum. (objects, counts, identifiers, lock, wrapped, nextUniqueIdentifier, checkNeg): Made instance methods/members. (getInstance): New static method. 2011-03-31 Denis Lila * plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java * plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java * plugin/icedteanp/java/sun/applet/PluginCookieInfoRequest.java * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java * plugin/icedteanp/java/sun/applet/PluginObjectStore.java * plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java * plugin/icedteanp/java/sun/applet/PluginProxySelector.java * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java * plugin/icedteanp/java/sun/applet/RequestQueue.java * plugin/icedteanp/java/sun/applet/VoidPluginCallRequest.java: Change all instances of PluginDebug.debug(arg1 + arg2 + ...) to PluginDebug.debug(arg1, arg2, ...). * plugin/icedteanp/java/sun/applet/PluginDebug.java: Change debug from "void debug(String)" to "void debug(Object...)". 2011-03-31 Denis Lila * plugin/icedteanp/java/sun/applet/PluginObjectStore.java (wrapped, lock): New static variables. (getNextID, checkNeg): New functions. (reference): Using getNextID and synchronized. (dump): Improve iteration and synchronized. (unreference, getObject, getIdentifier, contains(Object), contains(int)): Synchronized. 2011-03-31 Omair Majid Add unit tests for the parser * Makefile.am: Add TESTS_DIR,TESTS_SRCDIR, NETX_UNIT_TEST_DIR, and NETX_UNIT_TEST_SRCDIR, JUNIT_RUNNER_DIR, JUNIT_RUNNER_SRCDIR, and JUNIT_RUNNER_JAR. Conditionally define RHINO_TESTS and UNIT_TESTS. (clean-local): Use RHINO_TESTS and UNIT_TESTS. (clean-tests): Depend on clean-netx-tests. Delete directory. (junit-runner-source-files.txt, $(JUNIT_RUNNER_JAR)), (next-unit-tests-sources-files.txt stamps/netx-unit-tests-compile.stamp), (run-netx-unit-tests, clean-netx-tests, clean-junit-runner) (clean-netx-unit-tests): New targets. * configure.ac: Add new optional dependency on junit. * tests/junit-runner/CommandLine.java, * tests/junit-runner/LessVerboseTextListener.java, * tests/junit-runner/README, * tests/netx/unit/net/sourceforge/jnlp/ParserBasicTests.java, * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCaseTests.java, * tests/netx/unit/net/sourceforge/jnlp/ParserMalformedXmlTests.java, * tests/netx/unit/net/sourceforge/jnlp/basic.jnlp: New files. 2011-03-30 Omair Majid * Makefile.am: Fix comment explaining reasons for setting JDK_UPDATE_VERSION. 2011-03-30 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Fix typo in RCantRename. 2011-03-30 Omair Majid * Makefile.am: Document reason for using bootclasspath. 2011-03-30 Omair Majid * netx/javaws.1: Fix FILES section to point to ~/.icedtea/deployment.properties. 2011-03-30 Omair Majid * netx/net/sourceforge/jnlp/LaunchHandler.java (launchInitialized, launchStarting): New methods. * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java (launchInitialized, launchStarting): New methods. No-op implementation. (printMessage): Make it static. * netx/net/sourceforge/jnlp/GuiLaunchHandler.java: New file. (launchCompleted, launchError, launchStarting, launchInitialized), (launchWarning, validationError): New methods. * netx/net/sourceforge/jnlp/Launcher.java (launchApplication): Invoke handler.launchInitialized and handler.launchStarting instead of showing a splash screen directly. * netx/net/sourceforge/jnlp/resources/Messages.properties: Add ButShowDetails, ButHideDetails and Error. * netx/net/sourceforge/jnlp/runtime/Boot.java (run): Do not exit on error. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Set handler to GuiLaunchHandler if not running in headless mode. * netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java: New file. (exceptionToString, show): New methods. 2011-03-29 Denis Lila * netx/net/sourceforge/jnlp/JNLPFile.java (getInformation): Remove redundant if. 2010-03-29 Andrew John Hughes * plugin/docs/npplugin_liveconnect_design.html: Replace binary PDF documentation with editable HTML. * plugin/docs/npplugin_liveconnect_design.pdf: Removed. 2011-03-28 Omair Majid * launcher/javaws.in: Split out -J arguments and pass it to the JVM. 2011-03-28 Deepak Bhole * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): Construct unique key based on a combination of codebase, cache_archive, java_archive, and archive. This automatically ensures are loaders are shared only when appropriate. 2011-03-25 Denis Lila * netx/net/sourceforge/jnlp/PluginBridge.java (codeBaseLookup): new member and getter for it. (PluginBridge): set codeBaseLookup. * netx/net/sourceforge/jnlp/Launcher.java: (createApplet, createAppletObject): call enableCodeBase() if and only if the enableCodeBase argument is true. 2011-03-24 Omair Majid * Makefile.am (EXTRA_DIST): Add $(top_srcdir)/tests. 2011-03-24 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add RBrowserLocationPromptTitle, RBrowserLocationPromptMessage and RBrowserLocationPromptMessageWithReason. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (isWindows): New method. Moved from XBasicService. (isUnix): New method. * netx/net/sourceforge/jnlp/services/XBasicService (initialize): Call initializeBrowserCommand. (initializeBrowserCommand): New method. (posixCommandExists): New method. (isWindows): Moved to JNLPRuntime. 2011-03-23 Denis Lila * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (findResource, findResources): New functions. Return nothing if name.startsWith("META-INF"). Otherwise delegate to superclass. 2011-03-21 Matthias Klose * launcher/itweb-settings.in: Use /bin/sh as interpreter. * launcher/javaws.in: Likewise. 2011-03-14 Andrew Su * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: (markNetxRunning): Handle case for when shared locks are not allowed on the system. 2011-03-14 Andrew Su * netx/net/sourceforge/jnlp/Launcher.java: (fileLock): Removed private static field. (launch): Mark NetX as running before launching apps. (launchApplication): Removed call to markNetxRunning() and removed shutdown hook for calling markNetxStopped(). (markNetxRunning): Removed method. (markNetxStopped): Removed method. * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (okToClearCache): Removed closing of channel. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: (fileLock): New private static field. (markNetxRunning): New method to indicate NetX is running. (markNetxStopped): New method to indicate NetX has stopped. 2011-03-16 Jiri Vanek * extras/net/sourceforge/jnlp/about/Main.java: removed hyperlinkUpdate and HyperlinkListener, as it can not work without all-permissions. Also all createAndShowGUI was shorten for call from net.sourceforge.jnlp package. Html resources were redirected to javaws * netx/net/sourceforge/jnlp/resources/about.jnlp: removed 2011-03-16 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/Boot.java: getAboutFile changed to return path to local about.jnlp instead to inner-from-jar * extras/net/sourceforge/jnlp/: refactored to extras/net/sourceforge/javaws/, as /net/sourceforge/jnlp/ package must be run with all-permissions. * netx/net/sourceforge/jnlp/resources/about.jnlp: codebase changed to "." 2011-03-15 Denis Lila * netx/net/sourceforge/jnlp/Launcher.java (markNetxRunning): Throw exception if directories can't be created. * netx/net/sourceforge/jnlp/cache/CacheDirectory.java (cleanParent): Print error message if file can't be deleted. * netx/net/sourceforge/jnlp/cache/CacheUtil.java (getCacheFile): Throw exception if directories can't be created. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java (save): Throw exception if directories can't be created. * netx/net/sourceforge/jnlp/controlpanel/CachePane.java (createButtonPanel): Print error message if file can't be deleted. * netx/net/sourceforge/jnlp/resources/Messages.properties Added messages. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initializeStreams): Throw exception if directories can't be created. * netx/net/sourceforge/jnlp/services/XPersistenceService.java (create, get): Throw exception if directories can't be created. (delete): Print error message if file can't be deleted. * netx/net/sourceforge/jnlp/util/FileUtils.java (createRestrictedFile): Throw exception if file permissions can't be changed. (createParentDir, deleteWithErrMesg): new functions. 2011-03-15 Omair Majid * Makefile.am (LAUNCHER_BOOTCLASSPATH, PLUGIN_BOOTCLASSPATH) (javaws.desktop, itweb-settings.desktop): Remove DESTDIR. 2011-03-10 Mark Wielaard * tests/netx/pac/pac-funcs-test.js (testIsResolvable): Change single host name icedtea to NotIcedTeaHost to make sure it really isn't resolvable. 2011-03-10 Omair Majid Replace native launchers with shell scripts * NEWS: Update. * Makefile.am (LAUNCHER_BOOTCLASSPATH): Remove leading -J. (LAUNCHER_SRCDIR), (LAUNCHER_OBJECTS), (NETX_LAUNCHER_OBJECTS), (CONTROLPANEL_LAUNCHER_OBJECTS), (LAUNCHER_FLAGS), (LAUNCHER_LINK): Remove. (edit_launcher_script): New function. (all-local): Depend on new launcher targets. (clean-local): Depend on clean-launchers. (.PHONY): Add clean-launchers. (install-exec-local): Use new launcher paths. (clean-launchers): New target. ($(NETX_DIR)/launcher/%.o), ($(NETX_DIR)/launcher/controlpanel/%.o), ($(NETX_DIR)/launcher/javaws), ($(NETX_DIR)/launcher/controlpanel/itweb-settings): Remove. (launcher.build/javaws): New launcher. (launcher.build/itweb-settings): Likewise. * launcher/itweb-settings.in, * launcher/javaws.in: New file. * netx/net/sourceforge/jnlp/Launcher.java (launchExternal), * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java (CommandLine): Use new system properties to find paths and program names. 2011-03-10 Omair Majid * acinclude.m4 (IT_FIND_RHINO_JAR): Remove. 2011-03-10 Omair Majid * tests/netx/pac/pac-funcs-test.js (main): Make test summary output more jtreg-like. (runTests): Change test output format to be more jtreg-like. 2011-03-09 Denis Lila * netx/net/sourceforge/jnlp/Parser.java (getJAR): Remove unused variable. * netx/net/sourceforge/jnlp/cache/Resource.java (connection): Remove unused member. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java (lock): Initialize to Object() instead of Integer(0). Also, make final. * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java (SettingsPanel): Make static class. * netx/net/sourceforge/jnlp/event/ApplicationEvent.java (application): Make member transient. * netx/net/sourceforge/jnlp/event/DownloadEvent.java (tracker, resource): Make members transient. * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java (appletInstance): Remove unused member. (parameters): Add parameters to its type (a map). * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java Remove unused import. (getNativeDir): Improve random int computation. (CodeBaseClassLoader): Make it a static class. * netx/net/sourceforge/jnlp/JNLPFile.java (JNLPFile): Improve random positive int computation. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java (activeApplication): Remove unused member. (checkExit): Remove dead code resulting from activeApplication always being null. * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java Remove unused import. (addComponents): Remove unused variable. * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java (SetValueHandler): Make it a static class. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java (CertificateType): Make it a static class. * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess): Replace new Boolean with Boolean.valueOf. * netx/net/sourceforge/jnlp/tools/JarSigner.java (storeHash): Remove unused member. * netx/net/sourceforge/jnlp/util/XDesktopEntry.java (getContentsAsReader): Remove unused variable pathToJavaws. 2011-03-09 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/SecuritySettingsPanel.java: (addComponents): Fix typo. 2011-03-08 Omair Majid * acinclude.m4 (IT_FIND_OPTIONAL_JAR): New macro. * configure.ac: Do not call IT_FIND_RHINO. Use IT_FIND_OPTIONAL_JAR instead. 2011-03-08 Denis Lila * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java (getProxies): Add result to cache, not cachedResult. 2011-03-08 Denis Lila * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java (find): Close input stream. * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java (parse): Close input stream. * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java (getPacContents, getHelperFunctionContents): Close input stream. * netx/net/sourceforge/jnlp/security/CertWarningPane.java (CheckBoxListener.actionPerformed): Close output stream. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java (ImportButtonListener.actionPerformed): Close output stream. 2011-03-08 Andrew Su * netx/net/sourceforge/jnlp/util/PropertiesFile.java: (load): Closed streams after opening them. (store): Likewise. 2011-03-08 Denis Lila * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (getRequestIdentifier): Fix race condition by synchronizing on mutex. (requestIdentityCounter): Now a long. 2011-03-07 Omair Majid * acinclude.m4 (IT_FIND_RHINO_JAR): Set RHINO_AVAILABLE to true or false appropriately. * build.properties.in: New file. * jrunscript.in: New file. * configure.ac: Add build.properties and jrunscript to AC_CONFIG_FILES. * Makefile.am (.PHONY): Remove clean-jrunscript. (build.properties): Remove target. (stamps/netx.stamp): Remove dependency on build.properties. (clean-netx): Do not delete build.properties. (jrunscript): Remove target. (check-pac-functions): Remove dependency on jrunscript. (clean-tests): Remove dependency on clean-jrunscript. (clean-jrunscript): Remove target. 2011-03-07 Omair Majid * NEWS: Update. * acinclude.m4 (IT_OBTAIN_HG_REVISIONS): Use hg id instead of hg tip. 2011-03-07 Omair Majid * plugin/icedteanp/IcedTeaNPPlugin.cc: Add plugin_debug_suspend. (plugin_start_appletviewer): If plugin_debug_suspend is true, start jvm in suspend mode. 2011-03-07 Omair Majid * NEWS: Update. * Makefile.am (RHINO_RUNTIME): Define to point to rhino jars, or empty. (RUNTIME, LAUNCHER_BOOTCLASSPATH, PLUGIN_BOOTCLASSPATH): Include RHINO_RUNTIME. (PHONY): Add check-pac-functions, clean-jrunscript and clean-tests. (check-local): New target. Depends on check-pac-functions. (check-pac-functions): New target. (jrunscript): New target. (clean-tests): New target. (clean-jrunscript): New target. (netx-source-files.txt): Remove rhino related files if not building with rhino. (build.properties): New target. (stamps/netx.stamp): Depend on build.properties and copy new files to build location. (clean-netx): Remove build.properties. (stamps/bootstrap-directory.stamp): Add java to bootstrap programs. * acinclude.m4 (IT_FIND_RHINO_JAR): New macro. * configure.ac: Invoke IT_FIND_RHINO_JAR. * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java: Add browserProxyAutoConfig. (initFromBrowserConfig): Initialize browserProxyAutoConfig if needed. (getFromBrowserPAC): Use browserProxyAutoConfig to find proxies. * netx/net/sourceforge/jnlp/resources/Messages.properties: Replace RPRoxyPacNotImplemented with RPRoxyPacNotSupported. * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java: Add pacEvaluator. (parseConfiguration): Initialize pacEvaluator if needed. (getFromPAC): Use pacEvaulator to find proxies. (getProxiesFromPacResult): New method. Converts a proxy string to a list or proxies. * netx/net/sourceforge/jnlp/runtime/PacEvaluator.java: New file. Defines a Java interface for a PAC evaluator. * netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java: New file. Dummy implementation of a PAC evaluator. * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java: New file. A rhino-based PAC evaluator. * netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java: New file. A factory for creating the right PAC evaulator. * netx/net/sourceforge/jnlp/runtime/pac-funcs.js: New file. Defines helper functions needed while evaluating PAC files. * tests/netx/pac/pac-funcs-test.js: New file. Tests the PAC helper functions. 2011-03-07 Denis Lila * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: (prepopulateMethod) removed unused object o. * plugin/icedteanp/java/sun/applet/PluginCallRequest.java: Made all the members private. * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Removed unused imports. (MAX_PARALLEL_INITS, MAX_WORKERS, PRIORITY_WORKERS, readQueue, workers, streamHandler, consumerThread, registerPriorityWait(String), unRegisterPriorityWait(String)): made private. (initWorkers, as, processedIds, unRegisterPriorityWait(Long), addToInitWorkers): removed - unused. (getPriorityStrIfPriority): made static; replaced while with for-each. (notifyWorkerIsFree): removed synchronized section - useless. (ConsumerThread.run): removed call to addToInitWorkers. * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java: Removed explicit member initializations to the default values; fixed typo. (PluginMessageHandlerWorker): Removed SecurityManager argument - unused. * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed unused imports. (consumer, shuttingDown): made private. (pav, writeQueue, getMessage, messageAvailable): removed - unused. (PluginStreamHandler): removed pav initialization. * plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java: Removed FIXME comment. 2011-03-07 Denis Lila * netx/net/sourceforge/jnlp/JNLPFile.java: (getResourcesDescs): added comment. (getDownloadOptionsForJar): removed commented out code. * netx/net/sourceforge/jnlp/PluginBridge.java (getResourcesDescs): added comment. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java (downloadResource): added comment. 2011-03-04 Denis Lila * netx/net/sourceforge/jnlp/JNLPFile.java: (getDownloadOptionsForJar): Moved here from JNLPClassLoader.java. * netx/net/sourceforge/jnlp/PluginBridge.java (usePack, useVersion): added. (PluginBridge): initializing usePack and useVersion. (getDownloadOptionsForJar): return the download options. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getDownloadOptionsForJar): logic moved to JNLPFile.java and its subclasses. Now just calling file.getDownloadOptionsForJar. * NEWS: Updated with fix of PR658. 2011-03-04 Denis Lila * netx/net/sourceforge/jnlp/cache/ResourceTracker.java (downloadResource): changed the order in which pack200+gz compression and gzip compression are checked. * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java (getUrl): if usePack is true, append ".pack.gz" to the file name, instead of replacing ".jar" with ".pack.gz". 2011-03-04 Deepak Bhole * NEWS: Updated. * netx/net/sourceforge/jnlp/PluginBridge.java (PluginBridge): Use documentbase as a uniquekey so that the classloader may be shared by applets from the same page. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Added new CodeBaseClassLoader class to load codebase (from path instead of a file) classes. (getInstance): Try to match file locations only for Web Start apps. For plugin, merge the new loader into current one. (enableCodeBase): Use the new addToCodeBaseLoader method. (findLoadedClassAll): Search the codebase loader if the class was not found in the file loaders. (findClass): Likewise. (getResource): Likewise. (findResources): Likewise. (merge): Merge codebase loaders. (addToCodeBaseLoader): New method. Adds a given url to the codebase loader if it is a path. (CodeBaseClassLoader): New inner class. Extends URLClassLoader to expose its protected methods like addURL. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java (getApplication): Accomodate the fact that the classloader for a class may be a CodeBaseClassLoader. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (run): Likewise. 2011-03-03 Deepak Bhole * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_send_initialization_message): New method. Sends initialization information to the Java side. (ITNP_SetWindow): Call the new plugin_send_initialization_message function. (get_scriptable_object): Same. 2011-03-03 Deepak Bhole * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (eval): Proceed with _eval only if instance is valid. (call): Proceed with _call only if instance is valid. Moved declaration of result_variant_jniid, result_variant args_array and thread_data to the top. (sendString): Proceed with _getString only if instance is valid. Remove thread count incrementer. (setMember): Proceed with _setMember only if instance is valid. Remove thread count incrementer. (sendMember): Proceed with _getMember only if instance is valid. 2011-03-03 Deepak Bhole * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (PluginRequestProcessor): Remove initialization of tc_mutex (~PluginRequestProcessor): Remove destruction of tc_mutex (sendString): Removed thread count incrementer code. (setMember): Same. (sendMember): Same. * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Removed tc_mutex and thread_count variables. 2011-03-02 Omair Majid Fix PR612. * NEWS: Update with fix. * netx/net/sourceforge/jnlp/SecurityDesc.java: Add PropertyPermissions for browser and browser.* to sandboxPermissions. 2011-03-02 Omair Majid * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java (handleSetCommand): Fix warning message. * netx/net/sourceforge/jnlp/resources/Messages.properties: Add CLWarningUnknownProperty. 2011-03-01 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java (isSystemJar): Check for nulls. 2011-03-01 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java (createMainSettingsPanel): Commented out unimplemented feature. * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java (addComponents): Commented out unimplemented feature. 2011-02-28 Omair Majid * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java (printResetHelp): Indicate that "all" is a valid argument. (handleResetCommand): Deal with "all" instead of a property name by reseting all properties. 2011-02-28 Denis Lila * plugin/icedteanp/java/sun/applet/PluginMain.java (redirectStreams, streamHandler, securityContext) make them local. (theVersion): make it private. (PluginMain): make it private. Empty the body. (main): Do all the work that used to be in PluginMain. (connect): make it static, and now it returns a PluginStreamHandler instead of setting a static variable. (messageAvailable, getMessage): Remove. 2011-02-28 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add Password, Username and SAuthenticationPrompt. * netx/net/sourceforge/jnlp/security/JNLPAuthenticator.java (getPasswordAuthentication): Show password prompt using the secure thread. * netx/net/sourceforge/jnlp/security/PasswordAuthenticationPane.java (PasswordAuthenticationPane): Initialize variables. (initialize): For consistency, rename to.. (addComponents): New method. Set the appropriate return value when user takes an action. (askUser): Remove. (main): Remove. * netx/net/sourceforge/jnlp/security/SecurityDialog.java (initDialog): Add extra case for AUTHENTICATION dialog type. (installPanel): Likewise. * netx/net/sourceforge/jnlp/security/SecurityDialogs.java (DialogType): Add AUTHENTICATION. (showAuthenicationPrompt): New method. Shows a password authentication prompt. 2011-02-28 Omair Majid Rename files * netx/net/sourceforge/jnlp/security/PasswordAuthenticationDialog.java: Rename to ... * netx/net/sourceforge/jnlp/security/PasswordAuthenticationPane.java: New file. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Rename to... * netx/net/sourceforge/jnlp/security/SecurityDialog.java: New file. * netx/net/sourceforge/jnlp/security/SecurityWarning.java: Rename to... * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: New file. * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, * netx/net/sourceforge/jnlp/security/CertWarningPane.java, * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, * netx/net/sourceforge/jnlp/security/JNLPAuthenticator.java, * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java, * netx/net/sourceforge/jnlp/security/SecurityDialogMessage.java, * netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java, * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java, * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, * netx/net/sourceforge/jnlp/services/ServiceUtil.java, * netx/net/sourceforge/jnlp/services/XClipboardService.java, * netx/net/sourceforge/jnlp/services/XExtendedService.java, * netx/net/sourceforge/jnlp/services/XFileOpenService.java, * netx/net/sourceforge/jnlp/services/XFileSaveService.java: Update class names to the new classes. 2011-02-25 Omair Majid * Makefile.am (stamps/netx-dist.stamp): Do not add extra files to classes.jar. 2011-02-25 Omair Majid * netx/net/sourceforge/jnlp/resources/Manifest.mf: Remove unused file. 2011-02-23 Omair Majid * Makefile.am: Add missing slash to JRE. 2011-02-23 Omair Majid RH677772: NoSuchAlgorithmException using SSL/TLS in javaws * NEWS: Update with bugfix. * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java: Add new field jreExtDir. (JNLPPolicy): Initialize jreExtDir. (getPermissions): Grant AllPermissions if the CodeSourse is a system jar. (isSystemJar): New method. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java (checkPermission): Remove special casing of SecurityPermission("putProviderProperty.SunJCE") and SecurityPermission("accessClassInPackage.sun.security.internal.spec"). (inTrustedCallChain): Remove. 2011-02-22 Omair Majid Mark Greenwood Fix PR638 * NEWS: Update with fix. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (loadClass): Throw ClassNotFoundException instead of returning null. * AUTHORS: Update. 2011-02-22 Omair Majid * Makefile.am (uninstall-local): Fix typo in PACKAGE_NAME. 2011-02-22 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add RNoAboutJnlp. * netx/net/sourceforge/jnlp/runtime/Boot.java: Remove NETX_ABOUT_FILE. (getAboutFile): Look for about.jnlp using the classloader. (getFile): Use localized error message string. 2011-02-22 Omair Majid DJ Lucas * Makefile.am (install-data-local): Use $(mandir) for man page dir. (uninstall-local): Use $(mandir) for man page dir. * AUTHORS: Update. 2011-02-22 Omair Majid Install icedtea-web into a FHS-compliant location * Makefile.am: Add new vars JRE, LAUNCHER_BOOTCLASSPATH and PLUGIN_BOOTCLASSPATH. (install-exec-local): Install files to FHS-compliant location; do not create links. (install-data-local): Likewise. (uninstall-local): Update file paths to delete. ($(PLUGIN_DIR)/%.o): Pass PLUGIN_BOOTCLASSPATH and ICEDTEA_WEB_JRE. ($(NETX_DIR)/launcher/%.o): Pass LAUNCHER_BOOTCLASSPATH and ICEDTEA_WEB_JRE. ($(NETX_DIR)/launcher/controlpanel/%.o): Likewise. * launcher/java_md.c (GetIcedTeaWebJREPath): New method. (CreateExecutionEnvironment): Call GetIcedTeaWebJREPath. * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_start_appletviewer): Add PLUGIN_BOOTCLASSPATH to the command. (NP_Initialize): Use ICEDTEA_WEB_JRE to initialize filename. 2011-02-18 Omair Majid Remove pluginappletviewer binary * Makefile.am (ICEDTEAPLUGIN_TARGET): Remove dependency on pluginappletviewer. (PLUGIN_LAUNCHER_OBJECTS): Remove. (install-exec-local): Do not install pluginappletviewer. (uninstall-local): Do not remove pluginappletviewer. ($(PLUGIN_DIR)/launcher/%.o): Remove. ($(PLUGIN_DIR)/launcher/pluginappletviewer): Remove. (clean-IcedTeaPlugin): Dont clean plugin launcher files. 2011-02-15 Omair Majid * netx/net/sourceforge/jnlp/util/TimedHashMap.java: Do not extend HashMap to provide a more type-safe and consistent interface. Use System.nanoTime for a more monotonic clock. 2011-02-15 Omair Majid * plugin/icedteanp/java/sun/applet/PluginProxySelector.java (TimedHashMap): Moved to... * netx/net/sourceforge/jnlp/util/TimedHashMap.java: New file. 2011-02-11 Omair Majid RH677332, CVE-2011-0706: IcedTea multiple signers privilege escalation * NEWS: Updated. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Assign appropriate security descriptor based on code signing. 2011-02-11 Deepak Bhole Fix S6983554, CVE-2010-4450: Launcher incorrect processing of empty library path entries * NEWS: Updated. * launcher/java_md.c: Ignore empty LD_LIBRARY_PATH. 2011-02-11 Omair Majid * netx/net/sourceforge/jnlp/PluginBridge.java (getResourcesDescs): New method implemented to override behaviour in JNLPFile class. 2011-02-11 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java (getResourceDescs): Renamed to... (getResourcesDescs): New method. (getResourceDescs): Renamed to... (getResourcesDescs): New method. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getDownloadOptionsForJar): Call renamed method. 2011-02-10 Omair Majid Fix RH669942; Add support for packEnabled and versionEnabled. * NEWS: Update with bugfix. * netx/net/sourceforge/jnlp/DownloadOptions.java: New file. * netx/net/sourceforge/jnlp/JNLPFile.java (openURL): Use null for DownloadOptions. (getResourceDescs): New method. (getResourceDescs(Locale,String,String)): New method. * netx/net/sourceforge/jnlp/Launcher.java (launchApplication): Add image to downloader with null DownloadOptions. * netx/net/sourceforge/jnlp/cache/CacheUtil.java (getCachedResource): Add resource with null DownloadOptions. * netx/net/sourceforge/jnlp/cache/Resource.java: Add new field downloadLocation. (Resource): Initialize downloadLocation. (getDownloadLocation): New method. (setDownloadLocation): New method. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: Add new field downloadOptions. (addResource(URL,Version,UpdatePolicy)): Renamed to... (addResource(URL,Version,DownloadOptions,UpdatePolicy)): New method. (downloadResource): Add support for explicit downloading of packed jars as well as content-encoded packed jars. (initializeResource): Invokde findBestUrl to find the best url. Set that as the download location for the resource. (getVersionedResourceURL): Remove. (findBestUrl): New method. Use ResourceUrlCreator to get a list of all possible urls that can be used to download this resource. Try them one by one until one works and return that. * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: New file. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Add resource with appropriate download options. (activateJars): Likewise. (loadClass): Likewise. (getDownloadOptionsForJar): New method. 2011-02-10 Deepak Bhole * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Restrict access to net.sourceforge.jnlp.* classes by untrusted classes. 2011-02-09 Omair Majid * netx/net/sourceforge/jnlp/controlpanel/NetworkSettingsPanel.java (addComponents): Fix the listener attached to the port field to update the right config option. 2011-02-08 Omair Majid * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java (initFromBrowserConfig): Do not try to create a URL from null. (getFromBrowser): Only print informational messages in debug mode. 2011-02-01 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateJars): Add the nested jar to ResourceTracker. Use JarSigner.verifyJars instead of JarSigner.verifyJar. * netx/net/sourceforge/jnlp/tools/JarSigner.java (verifyJar): Make private to indicate nothing should be using this directly. 2011-01-24 Deepak Bhole RH672262, CVE-2011-0025: IcedTea jarfile signature verification bypass * rt/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Prompt user only if there is a single certificate that signs all jars in the jnlp file, otherwise treat as unsigned. * rt/net/sourceforge/jnlp/security/CertVerifier.java: Rename getCerts to getCertPath and make it return a CertPath. * rt/net/sourceforge/jnlp/security/CertsInfoPane.java: Rename certs variable to certPath and change its type to CertPath. (buildTree): Use new certPath variable. (populateTable): Same. * rt/net/sourceforge/jnlp/security/HttpsCertVerifier.java: Rename getCerts to getCertPath and make it return a CertPath. * rt/net/sourceforge/jnlp/tools/JarSigner.java: Change type for certs variable to be a hashmap that stores certs and the number of entries they have signed. (totalSignableEntries): New variable to track how many signable entries have been encountered. (getCerts): Updated method to return certs from new hashmap. (isFullySignedByASingleCert): New method. Returns if there is a single cert that signs all the entries in the jars specified in the jnlp file. (verifyJars): Move verifiedJars and unverifiedJars out of the for loop so that the data is not lost when the next jar is processed. After verifying each jar, see if there is a single signer, and prompt the user if there is such an untrusted signer. (verifyJar): Increment totalSignableEntries for each signable entry encountered and the count for each cert when it signs an entry. Move checkTrustedCerts() out of the function into verifyJars(). 2011-01-28 Omair Majid * Makefile.am: Move ICEDTEA_REV, ICEDTEA_PKG to acinclude.m4. Use FULL_VERSION. (stamps/netx-dist.stamp): Depend on netx.manifest. Use this file as the jar file manifest. * acinclude.m4 (IT_SET_VERSION): New macro. Defines FULL_VERSION. * configure.ac: Add netx.manifest to AC_CONFIG_FILES. Invoke IT_SET_VERSION. * netx.manifest.in: New file. * netx/net/sourceforge/jnlp/runtime/Boot.java: Set name and version using information from the manifest file. 2011-01-27 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add RPRoxyPacNotImplemented, RProxyFirefoxNotFound, and RProxyFirefoxOptionNotImplemented. * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java: Make abstract. (getFromBrowser): Remove implementation; make abstract. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Set BrowserAwareProxySelector as the proxy selector. * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java: New file. This class extends JNLPProxySelector and searches the browser's configuration to load additional proxy settings from. * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java: New file. This class looks into the browser configration to find the preferences file for the default firefox profile. * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java: New file. Parses the browser's preferences and makes it available through a simpler interface. 2011-01-27 Omair Majid * AUTHORS: Update to include Jon A Maxwell. * extra/net/sourceforge/jnlp/about/resources/notes.html: Include everyone from AUTHORS. 2011-01-25 Omair Majid * netx/net/sourceforge/jnlp/resources/default.jnlp: Remove. 2011-01-24 Omair Majid * netx/net/sourceforge/jnlp/Launcher.java: Exit with error code * netx/net/sourceforge/jnlp/NetxPanel.java: Likewise. 2011-01-20 Andrew Su * netx/net/sourceforge/jnlp/AppletLog.java: Restrict log files to owner accessible only. 2011-01-20 Andrew Su Removing dead/commented/unused code. * plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java: Removed unused imports. * plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java: (getMatchingMethod): Removed unused variable. (getMatchingConstructor): Removed unused variable. * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: Removed unused imports. (Signature): Removed commented code. (handleMessage): Removed commented code. (getAccessControlContext): Remove commented code. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (getCachedImage): Removed commented code. (makeReader): Removed unused method. (parse): Removed unused variables. Removed dead code. * plugin/icedteanp/java/sun/applet/PluginCallRequest.java: Removed unused imports. * plugin/icedteanp/java/sun/applet/PluginDebug.java: Removed unused imports. * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Removed unused imports. (getReference): Removed unused method. (isInInit): Removed unused method. (dumpWorkerStatus): Removed unused method. * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java: Removed unused variable. (PluginMessageHandlerWorker): Removed unused variable. (plugin/icedteanp/java/sun/applet/PluginObjectStore.java): Removed unused imports. (reference): Removed commented code. (unreference): Removed commented code. * plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java: Removed unused import. * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Removed unused imports. Removed unused variable. (PluginStreamHandler): Removed unnecessary comments. Removed commented code. (startProcessing): Removed unused variables. Removed commented code. (write): Removed commented code. 2011-01-20 Deepak Bhole PR619: Improper finalization by the plugin can crash the browser * plugin/icedteanp/java/netscape/javascript/JSObject.java (finalize): Proceed with finalization only if JSObject is valid. 2011-01-17 Andrew Su * netx/net/sourceforge/jnlp/NetxPanel.java: (showAppletException): Override, adds logging to file then proceed with showAppletException in sun.applet.AppletPanel. * netx/net/sourceforge/jnlp/AppletLog.java: New class. * netx/net/sourceforge/jnlp/Log.java: New class. 2011-01-14 Andrew Su * Makefile.am: Added net.sourceforge.jnlp.config and net.sourceforge.jnlp.runtime to NETX_PKGS. 2011-01-12 Omair Majid * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java (main): Set look and feel. Set config object to use with KeyStores. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Set config object to use with KeyStores. * netx/net/sourceforge/jnlp/security/KeyStores.java: Add new member config. (setConfiguration): New method. Sets the value of config after security check. (getKeyStoreLocation): Use config object instead of querying JNLPRuntime. 2011-01-12 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile: Add missing generic type to info. (getInformation): Remove redundant cast. 2011-01-12 Omair Majid * netx/javax/jnlp/UnavailableServiceException.java: Remove unused imports. * netx/net/sourceforge/jnlp/AppletDesc.java: Likewise. * netx/net/sourceforge/jnlp/ApplicationDesc.java: Likewise. * netx/net/sourceforge/jnlp/ComponentDesc.java: Likewise. * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java: Likewise. * netx/net/sourceforge/jnlp/IconDesc.java: Likewise. * netx/net/sourceforge/jnlp/InformationDesc.java: Likewise. * netx/net/sourceforge/jnlp/InstallerDesc.java: Likewise. * netx/net/sourceforge/jnlp/JARDesc.java: Likewise. * netx/net/sourceforge/jnlp/JREDesc.java: Likewise. * netx/net/sourceforge/jnlp/Launcher.java: Likewise. * netx/net/sourceforge/jnlp/PackageDesc.java: Likewise. * netx/net/sourceforge/jnlp/ParseException.java: Likewise. * netx/net/sourceforge/jnlp/PluginBridge.java: Likewise. * netx/net/sourceforge/jnlp/PropertyDesc.java: Likewise. * netx/net/sourceforge/jnlp/ResourcesDesc.java: Likewise. * netx/net/sourceforge/jnlp/Version.java: Likewise. * netx/net/sourceforge/jnlp/cache/CacheEntry.java: Likewise. * netx/net/sourceforge/jnlp/cache/CacheUtil.java: Likewise. * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java: Likewise. * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java: Likewise. * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel /AdvancedProxySettingsDialog.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel /AdvancedProxySettingsPane.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel/NetworkSettingsPanel.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel /TemporaryInternetFilesPanel.java: Likewise. * netx/net/sourceforge/jnlp/event/ApplicationEvent.java: Likewise. * netx/net/sourceforge/jnlp/event/DownloadEvent.java: Likewise. * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java: Likewise. * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java: Likewise. * netx/net/sourceforge/jnlp/runtime/AppletInstance.java: Likewise. * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Likewise. * netx/net/sourceforge/jnlp/runtime/Boot13.java: Likewise. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Likewise. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: Likewise. * netx/net/sourceforge/jnlp/security/CertsInfoPane.java: Likewise. * netx/net/sourceforge/jnlp/security/SecurityUtil.java: Likewise. * netx/net/sourceforge/jnlp/services/XBasicService.java: Likewise. * netx/net/sourceforge/jnlp/services/XDownloadService.java: Likewise. * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java: Likewise. * netx/net/sourceforge/jnlp/services/XFileContents.java: Likewise. * netx/net/sourceforge/jnlp/services/XFileOpenService.java: Likewise. * netx/net/sourceforge/jnlp/services/XFileSaveService.java: Likewise. * netx/net/sourceforge/jnlp/services/XPersistenceService.java: Likewise. * netx/net/sourceforge/jnlp/util/PropertiesFile.java: Likewise. * netx/net/sourceforge/jnlp/util/Reflect.java: Likewise. 2011-01-04 Omair Majid * netx/net/sourceforge/jnlp/security/KeyStores.java (getKeyStoreLocation): Fix typo. Return the user-level certificate store correctly. 2011-01-04 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java: Add systemJnlpPolicy and userJnlpPolicy. (JNLPPolicy): Initialize the new policies. (getPermissions): Consult the extra policies as well to determine the resulting permissions to be granted. (getPolicyFromConfig): New method. Create a new Policy instance to delegate to for system- and user-level policies. 2011-01-04 Omair Majid * netx/net/sourceforge/jnlp/SecurityDesc.java: Add customTrustedPolicy. (SecurityDesc): Initialize customTrustedPolicy. (getCustomTrustedPolicy): New method. Get custom policy file from configuration and use it to initialize a custom configuration. (getPermissions): If trusted application and customTrustedPolicy is not null, delegate to otherwise return AllPermissions. * netx/net/sourceforge/jnlp/config/Defaults.java (getDefaults): Use constant for property. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Add new constant KEY_SECURITY_TRUSTED_POLICY. * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java (installEnvironment): Pass cs as a parameter to SecurityDesc.getPermissions. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getPermissions): Likewise. 2011-01-04 Omair Majid * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: Remove JNLPRuntime import. Remove configBrowserCommand. (createMainSettingsPanel): Remove call to loadConfiguration. (loadConfiguration): Remove method. Setting the browser command should be handled by the appropriate panel. (main): Remove call to JNLPRuntime.initialize and just create a new DeploymentConfiguration object. Clarify TODO comment. 2011-01-04 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (installShutdownHooks): Only print when not null. 2011-01-04 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/SecuritySettingsPanel.java: (addComponents): Hide unsupported options. 2010-12-23 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java: (showAdvancedProxySettingsDialog): Removed call to setSystemLookAndFeel(). (setSystemLookAndFeel): Method removed. 2010-12-23 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java: (showAdvancedProxySettingsDialog): Removed creation of swing thread. * netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java: (showCacheDialog): Removed throwing of exception. * netx/net/sourceforge/jnlp/controlpanel/NetworkSettingsPanel.java: (addComponents): Removed try catch block. * /netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java: (addComponents): Removed creation of swing thread and try catch block. 2010-12-22 Deepak Bhole RH665104: OpenJDK Firefox Java plugin loses a cookie * plugin/icedteanp/java/sun/applet/PluginCookieInfoRequest.java (parseReturn): Skip one less space so that the first cookie is not skipped. * NEWS: Updated. 2010-12-21 Andrew Su * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsPane.java, netx/net/sourceforge/jnlp/controlpanel/NetworkSettingsPanel.java: (addComponents): Replaced key listeners and mouse listeners for text fields with document adapter. * netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java: New class. * netx/net/sourceforge/jnlp/controlpanel/MiddleClickListener.java: Removed. 2010-12-20 Andrew Su Added a cache viewer for the control panel. * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java: (addComponents): Changed buttons to open cache viewer. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added text used by the cache viewer. * netx/net/sourceforge/jnlp/cache/CacheDirectory.java, netx/net/sourceforge/jnlp/cache/DirectoryNode.java, netx/net/sourceforge/jnlp/controlpanel/CachePane.java, netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java: New classes. 2010-12-20 Omair Majid * Makefile.am ($(NETX_DIR)/launcher/controlpanel/%.o): Set program name, and launch net.sourceforge.jnlp.controlpanel.CommandLine. * netx/net/sourceforge/jnlp/config/Defaults.java (getDefaults): Set descriptions to Unknown rather than the name. Set source to localized form of internal. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java (getProperty): Check for nulls. (setProperty): Add unknown as description and source for new properties. (checkAndFixConfiguration): Fix translation constants. (parsePropertiesFile): Use unknown as description. * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java: New file (CommandLine): New method. (handleHelpCommand): Likewise. (printListHelp): Likewise. (handleListCommand): Likewise. (printGetHelp): Likewise. (handleGetCommand): Likewise. (printSetHelp): Likewise. (handleSetCommand): Likewise. (printResetHelp): Likewise. (handleResetCommand): Likewise. (printInfoHelp): Likewise. (handleInfoCommand): Likewise. (printCheckHelp): Likewise. (handleCheckCommand): Likewise. (handle): Likewise. (main): Likewise. * netx/net/sourceforge/jnlp/resources/Messages.properties: Add Usage, Unknown, RConfigurationFatal, DCIncorrectValue, DCSourceInternal, DCUnknownSettingWithName, VVPossibleValues, CLNoInfo, CLValue, CLValueSource, CLDescription, CLUnknownCommand CLUnknownProperty, CLNoIssuesFound, CLIncorrectValue, CLListDescription, CLGetDescription, CLSetDescription, CLResetDescription, CLInfoDescription, CLCheckDescription and CLHelpDescription. Remove DCErrorInSetting and DCUnknownSettingWithVal. 2010-12-17 Omair Majid * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java (ControlPanel): Create and add the topPanel. (createTopPanel): New method. Creates a JPanel to display the description on top of the Control Panel. (createNotImplementedPanel): Use the same way to load resource as createTopPanel to avoid null pointer exceptions. * netx/net/sourceforge/jnlp/resources/Messages.properties: Add CPMainDescriptionShort and CPMainDescriptionLong. 2010-12-17 Omair Majid * netx/net/sourceforge/jnlp/security/SecurityWarning.java (shouldPromptUser): Use full privileges when checking configuration. This value is not security-sensitive and the method is private. * netx/net/sourceforge/jnlp/services/ServiceUtil.java (shouldPromptUser): Likewise. 2010-12-16 Omair Majid RH663680, CVE-2010-4351: * NEWS: List issue. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: Make sure SecurityException is thrown if necessary. 2010-12-15 Omair Majid * Makefile.am (install-exec-local): Install plugin.jar as data. If $(prefix)/jre/bin exists, then install symlinks to real javaws and itweb-settings binaries under it. ($(NETX_DIR)/launcher/%.o): Set system property java.icedtea-web.bin to point to the installed location of the javaws binary. * netx/net/sourceforge/jnlp/Launcher.java (launchExternal): Use the system property java.icedtea-web.bin to locate javaws binary. 2010-12-15 Andrew Su * /netx/net/sourceforge/jnlp/resources/Messages.properties: Changed messages for about and JRE. 2010-12-14 Andrew John Hughes * Makefile.am: (LAUNCHER_OBJECTS): Add jli_util.o, parse_manifest.o, version_comp.o, wildcard.o. (LAUNCEHR_FLAGS): Add -DEXPAND_CLASSPATH_WILDCARDS as used in build of libjli in OpenJDK. (LAUNCHER_LINK): Don't link to libjli. * launcher/jli_util.c, * launcher/parse_manifest.c, * launcher/version_comp.c, * launcher/wildcard.c: Add source files from OpenJDK6 to match header files already used. 2010-12-13 Omair Majid * netx/net/sourceforge/jnlp/config/ValueValidator.java: New file. * netx/net/sourceforge/jnlp/config/BasicValueValidators.java: New file. Provides methods to get some common validators. * netx/net/sourceforge/jnlp/config/ConfiguratonValidator.java: New file. Provides methods to validate a configuration. * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: Moved to config subpackage instead and split off into Setting.java, DeploymentConfiguration.java and Defaults.java. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Renamed version of original DeploymentConfiguration. (load): Delegate to load. (load(boolean)): Load configuration and optionally fix any issues found. (checkAndFixConfiguration): New method. Validate all settings and set them to default values if problems found. * netx/net/sourceforge/jnlp/config/Setting.java: New file. Based on ConfigValue which was originally a part of DeploymentConfiguration. * netx/net/sourceforge/jnlp/config/Defaults.java: New file. Contains the default configuration settings. Originally from DeploymentConfiguration.java's loadDefaultProperties. * netx/net/sourceforge/jnlp/resources/Messages.properties: Add new messages. * netx/net/sourceforge/jnlp/Launcher.java: Fix imports. * netx/net/sourceforge/jnlp/SecurityDesc.java: Likewise. * netx/net/sourceforge/jnlp/cache/CacheUtil.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel /AdvancedProxySettingsDialog.java: Likewise * netx/net/sourceforge/jnlp/controlpanel /AdvancedProxySettingsPane.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: Likewise * netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel/DesktopShortcutPanel.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel/MiddleClickListener.java: Likewise * netx/net/sourceforge/jnlp/controlpanel/NetworkSettingsPanel.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel/SecuritySettingsPanel.java: Likewise. * netx/net/sourceforge/jnlp/controlpanel /TemporaryInternetFilesPanel.java:Likewise. * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Likewise. * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java: Likewise. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Likewise. * netx/net/sourceforge/jnlp/security/KeyStores.java: Likewise. * netx/net/sourceforge/jnlp/security/SecurityWarning.java: Likewise. * netx/net/sourceforge/jnlp/services/ServiceUtil.java: Likewise. * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java: Likewise. * netx/net/sourceforge/jnlp/services/XBasicService.java: Likewise * netx/net/sourceforge/jnlp/services/XPersistenceService.java: Likewise. * netx/net/sourceforge/jnlp/util/XDesktopEntry.java: Likewise. * plugin/icedteanp/java/sun/applet/JavaConsole.java: Likewise. * plugin/icedteanp/java/sun/applet/PluginMain.java: Likewise. 2010-12-13 Omair Majid * netx/net/sourceforge/jnlp/Parser.java (getInformationDesc): Fix whitespace in title, vendor and description elements. (getRelatedContent): Fix whitespace in title and description elements. (getSpanText(Node)): Delegate to ... (getSpanText(Node,boolean)): New method. Return the text in an element, optionally fixing whitespace. 2010-12-10 Omair Majid * netx/net/sourceforge/jnlp/tools/JarSigner.java: Remove unused variables collator, VERSION, IN_KEYSTORE, IN_SCOPE, privateKey, store, keystore, nullStream, token, jarfile, alias, storepass, protectedPath, storetype, providerName, providers, providerArgs, keypass, sigfile, sigalg, digestalg, signedjar, tsaUrl, tsaAlias, verify, debug, signManifest and externalSF. (getPublisher): Remove unnecessary cast. (getRoot): Likewise. 2010-12-08 Deepak Bhole PR597: Entities are parsed incorrectly in PARAM tag in applet plugin * plugin/icedteanp/IcedTeaNPPlugin.cc (encode_string): New function. Takes a string and replaces certain special characters with html escapes. (plugin_create_applet_tag): Use the new encode_string function to encode argn and argv right away, rather than encoding the whole tag. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (handleMessage): Move decoding out so that it is done after parsing. (decodeString): New function. Decodes the given string such that html escapes are replaced by the original special characters. (scanTag): Decode parameter name and value before adding it to attribute array. * NEWS: Updated. 2010-12-08 Omair Majid * configure.ac: Add check for sun.misc.HexDumpEncoder * netx/net/sourceforge/jnlp/security/CertsInfoPane.java: Import sun.misc.HexDumpEncoder. Remove import of net.sourceforge.jnlp.tools.* * netx/net/sourceforge/jnlp/tools/CharacterEncoder.java: Remove file. * netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java: Remove file. 2010-12-08 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java (getSupportedVersions): Remove method. * netx/net/sourceforge/jnlp/Parser.java: Remove supportedVersions. (Parser(JNLPFile,URL,Node,boolean,boolean)): Remove check for supported version. (getSupportedVersions): Remove method. * netx/net/sourceforge/jnlp/resources/Messages.properties: Remove PSpecUnsupported. 2010-12-08 Omair Majid * netx/net/sourceforge/jnlp/tools/JarRunner.java: Remove unused class. * netx/net/sourceforge/jnlp/tools/JarSignerResources.java: Remove unused class. 2010-12-07 Andrew John Hughes * netx/net/sourceforge/jnlp/InformationDesc.java, (InformationDesc(JNLPFile,Locale)): Correct @param tag. * netx/net/sourceforge/jnlp/JARDesc.java: (JARDesc(URL,Version,String,boolean,boolean,boolean,boolean)): Correct typo and add missing @param tag for cacheable. * netx/net/sourceforge/jnlp/JREDesc.java: (JREDesc(Version,URL,String,String,String,List)): Correct typo in @param tag. * netx/net/sourceforge/jnlp/Launcher.java: (Launcher(boolean)): Correct broken @param tag. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (addDownloadListener(DownloadListener)): Remove broken @param tags. Add correct one. (removeDownloadListener(DownloadListener)): Add missing @param tag. * netx/net/sourceforge/jnlp/security/KeyStores.java: (getKeyStoreLocation(Level,Type)): Add content to @param and @return tags. (toTranslatableString(Level,Type)): Likewise. * netx/net/sourceforge/jnlp/security/PasswordAuthenticationDialog.java: (askUser(String,int,String,String)): Correct typo in @param tag. * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java: (createSetValueListener(SecurityWarningDialog,int)): Add content to @return tag. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: (showCertInfoDialog(CertVerifier,SecurityWarningDialog)): Remove broken @param tag and add correct ones. (showSingleCertInfoDialog(X509Certificate,JDialog)): Add content to @param tags. * netx/net/sourceforge/jnlp/tools/CharacterEncoder.java: Remove broken @see tags from import from OpenJDK. * netx/net/sourceforge/jnlp/util/FileUtils.java: Fix bad whitespace. (sanitizeFileName(String)): Fix @param tag. * netx/net/sourceforge/nanoxml/XMLElement.java: Fix example in class documentation. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java, (waitForAppletInit(NetxPanel)): Fix @param tag. 2010-12-08 Omair Majid * netx/net/sourceforge/jnlp/tools/KeyTool.java: Remove unused class. 2010-12-07 Andrew Su * MiddleClickListener.java: Added copyright header. Corrected typo in javadoc. 2010-12-07 Omair Majid * Makefile.am (PLUGIN_VERSION): Change to IcedTea-Web ($(PLUGIN_DIR)/%.o): Define PLUGIN_NAME and PACKAGE_URL. * configure.ac (AC_INTIT): Add url. * plugin/icedteanp/IcedTeaNPPlugin.cc (PLUGIN_NAME): Removed. (PLUGIN_FULL_NAME): New definition. (PLUGIN_DESC): Add link to IcedTea-Web wiki page. (NP_GetValue): Return PLUGIN_FULL_NAME instead of PLUGIN_NAME. 2010-12-06 Deepak Bhole Fixed indentation and spacing for all .java files * .settings/org.eclipse.jdt.core.prefs: New file. Contains code style preference settings for Eclipse. * .settings/org.eclipse.jdt.ui.prefs: Same. 2010-12-03 Andrew John Hughes * netx/net/sourceforge/jnlp/cache/CacheUtil.java, (getCachedResource(URL,Version,UpdatePolicy)): Revert change to use toURI() for now. See http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2010-December/011270.html * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, (getCacheURL(URL)): Likewise. * netx/net/sourceforge/jnlp/runtime/Boot.java, (getFile()): Use toURI.toURL() to avoid broken escaping. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources()): Likewise. 2010-12-01 Andrew John Hughes * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (getCachedResource(URL,Version,UpdatePolicy)): Use toURI().toURL() to avoid broken escaping. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (getCacheURL(URL)): Likewise. * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: (destroy()): Suppress deprecated warning from use of thread.stop(). Only use when interrupt() has already been tried. * netx/net/sourceforge/jnlp/runtime/Boot.java: (getFile()): Use toURI.toURL() to avoid broken escaping. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources()): Likewise. * netx/net/sourceforge/jnlp/security/PasswordAuthenticationDialog.java: (askUser(String,int,String,String)): Use getPassword() to retrieve a character array directly. Fix overrunning line. * netx/net/sourceforge/jnlp/tools/JarSigner.java: Remove unused IdentityScope variable, scope. * netx/net/sourceforge/nanoxml/XMLElement.java: (scanWhitespace(StringBuffer)): Don't fallthrough. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Fix warnings where std::string is used in printf rather than char* by invoking c_str on these strings. * plugin/icedteanp/java/netscape/javascript/JSException.java: (JSException()): Mark with @Deprecated annotation. (JSException(String)): Likewise. (JSException(String,String,int,String,int)): Likewise. * plugin/icedteanp/java/netscape/javascript/JSObject.java: (JSObject(String)): Remove redundant cast. (getWindow(Applet)): Likewise. * plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java: (contexts): Initialise properly with generic typing. * plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java: (getMatchingMethod(Object[]): Add missing generic type to Class instances. (getMatchingConstructor(Object[])): Likewise. (getCostAndCastedObject(Object,Class)): Likewise. (getMatchingMethods(Class,String,int)): Likewise. (getMatchingConstructors(Class,int)): Likewise. (getNum(String,Class)): Likewise. * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: (parseCall(String,ClassLoader,Class)): Use c.cast rather than (V). (handleMessage(int,String,AccessControlContext,String)): Add missing generic type to Class instances. Remove redundant casts. (prepopulateField(int,String)): Add missing generic type to Class instance. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (createPanel(PluginStreamHandler,int,long,URL,Hashtable)): Add missing generic types on Hashtable and PrivilegedAction. (initEventQueue(AppletPanel)): Add missing generic type to PrivilegedAction. (splitSeparator(String,String)): Use an ArrayList rather than Vector to avoid locking and use generic types. (requests): Initialise properly with generic typing. (applets): Likewise. (appletStateChanged(AppletEvent)): Use setSize and getPreferredSize. (handleMessage(int,String)): Remove redundant casts. (audioClips): Add generic types. (getAudioClip): Remove redundant cast. (imageRefs): Add generic types. (getCachedImageRef(URL)): Remove redundant cast. (appletPanels): Add generic types. (getApplets()): Likewise. (getStream(String)): Mark with @Override. (getStreamKeys()): Likewise. (systemParam): Add generic types. (printTag(PrintStream,Hashtable)): Likewise. Remove redundant casts. (updateAtts()): Use getSize() and getInsets(). Use Integer.valueOf(). (appletReload()): Add generic types to PrivilegedAction. (scanIdentifier(int[],Reader)): Use StringBuilder to avoid unnecessary locking. (skipComment(int[],Reader)): Likewise. (scanTag(int[],Reader)): Likewise. Add generic types. (parse(int,long,String,String,Reader,URL)): Use PrivilegedExceptionAction to avoid catching and rethrowing the exception manually. Add generic types. (parse(int,long,String,String,Reader,URL,PrintStream,PluginAppletPanelFactory)): Add generic types. Remove unnecessary casts. Fix overlong lines. * plugin/icedteanp/java/sun/applet/PluginMain.java: (init()): Add generic types. Remove unnecessary cast. * plugin/icedteanp/java/sun/applet/PluginObjectStore.java: (objects): Initialise properly with generic typing. (counts): Likewise. (identifiers): Likewise. * plugin/icedteanp/java/sun/applet/PluginProxySelector.java: (get(Object)): Suppress unchecked warning arising from cast to K. 2010-12-02 Omair Majid * Makefile.am (EXTRA_DIST): Add itweb-settings.desktop.in. (all-local): Add itweb-settings.desktop. (clean-desktop-files): Remove itweb-settings.desktop. (itweb-settings.desktop): New target. * itweb-settings.desktop.in: New file. 2010-12-01 Andrew John Hughes * acinclude.m4: (IT_CHECK_FOR_APPLETVIEWERPANEL_HOLE): New check to ensure sun.applet.AppletViewerPanel is public (via the patch in IcedTea, applet_hole.patch). * configure.ac: Invoke the above macro. Don't call IT_CHECK_FOR_CLASS for the same class (the above macro handles this too). * README: Mention this limitation. 2010-12-01 Andrew Su * NEWS: Added controlpanel for modifying deployments.properties * Makefile.am: (CONTROLPANEL_LAUNCHER_OBJECTS): Objects used to compile binary control panel. (all-local): Add $(NETX_DIR)/launcher/controlpanel/itw-settings. (install-exec-local): Install the control panel binary. (uninstall-local): Removes the compiled control panel binary. ($(NETX_DIR)/launcher/controlpanel/%.o): Create the launcher objects. ($(NETX_DIR)/launcher/controlpanel/itw-settings): Link the objects to make the launcher. * netx/net/sourceforge/jnlp/controlpanel/AboutPanel.java, * netx/net/sourceforge/jnlp/controlpanel/ComboItem.java, * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java, * netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java, * netx/net/sourceforge/jnlp/controlpanel/DesktopShortcutPanel.java, * netx/net/sourceforge/jnlp/controlpanel/JREPanel.java, * netx/net/sourceforge/jnlp/controlpanel/NamedBorderPanel.java, * netx/net/sourceforge/jnlp/controlpanel/MiddleClickListener.java, * netx/net/sourceforge/jnlp/controlpanel/SecuritySettingsPanel.java, * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java, * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java, * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsPane.java, * netx/net/sourceforge/jnlp/controlpanel/NetworkSettingsPanel.java,: New classes. All methods are new as well. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added messages used by control panel. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Changed to not display a close button if null parent frame. 2010-11-30 Andrew John Hughes * Makefile.am: (liveconnect): Add NETX_DIR first on the bootclasspath so the plugin can be built against 1.7 and 1.8 branch releases of IcedTea6. 2010-11-26 Andrew John Hughes Make distcheck work. * Makefile.am: (EXTRA_DIST): Use relative paths for netx and the plugin. (clean-local): Remove empty stamps directory. (install-exec-local): Use install to install programs and data with the correct permissions. (install-data-local): Likewise. (uninstall-local): Remove documentation. (netx): Use ${INSTALL_DATA} to add resources so that read-only files aren't copied. (extra-files): Likewise. ($(NETX_DIR)/launcher/javaws): Don't create empty launcher directory. (clean-docs): Remove empty docs directory. (clean-bootstrap-directory): Remove empty bootstrap directory. 2010-11-29 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (createPanel): Call the new framePanel() method with the proper handle. (framePanel): New method, renamed from reFrame. Changed to now do one-time framing of panel into the plugin. (handleMessage): Don't re-frame the panel. Panel is now framed only once. (destroyApplet): Dispose the frame right away, and try to remove the panel if possible. If not, handleMessage() will do it when the panel is ready/removable. 2010-11-25 Andrew John Hughes * Makefile.am: (JDK_UPDATE_VERSION): Document. (NETX_PKGS): NetX packages for documentation. (PLUGIN_PKGS): Same for the plugin. (JAVADOC_OPTS): Common options passed to javadoc. (JAVADOC_MEM_OPTS): Memory options passed to JVM if possible (taken from the previous OpenJDK build). (all-local): Depend on docs.stamp. (clean-local): Add clean-docs. (.PHONY): Add clean-docs, clean-plugin-docs, clean-netx-docs. (install-exec-local): Install the documentation if enabled. (docs): Meta-dependency for netx-docs and plugin-docs. (clean-docs): Likewise but for clean targets. (netx-docs): Build documentation for the NetX API. (clean-netx-docs): Remove the NetX docs. (plugin-docs): Build documentation for the plugin API. (clean-plugin-docs): Likewise. (bootstrap-directory): Link to javadoc binary. * acinclude.m4: (IT_FIND_JAVADOC): Find a javadoc binary, first checking user input, then the JDK and the path for 'javadoc' and 'gjdoc'. Also sets JAVADOC_SUPPORTS_J_OPTIONS if it does. * configure.ac: Call IT_FIND_JAVADOC. 2010-11-25 Omair Majid * Makefile.am (stamps/liveconnect.stamp): Set a bootclasspath to avoid using an older netx.jar during compilation. 2010-11-24 Omair Majid * netx/net/sourceforge/jnlp/util/FileUtils.java (createRestrictedDirectory): New method. Creates a directory with reduced permissions. (createRestrictedFile(File,boolean)): New method. Creates a file with reduced permissions. (createRestrictedFile(File,boolean,boolean): New method. Creates a file or a directory with reduced permissions. * netx/net/sourceforge/jnlp/Launcher.java (markNetxRunning): Do not grant unnecessary file permissions. * netx/net/sourceforge/jnlp/runtime/Boot.java: Remove umask from help message. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (activateNative): Create file with proper permissions. (getNativeDir): Create directory with proper permissions. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initializeStreams): Create files with proper permissions. * netx/net/sourceforge/jnlp/security/CertWarningPane.java (CheckBoxListener.actionPerformed): Likewise. * netx/net/sourceforge/jnlp/security/KeyStores.java (createKeyStoreFromFile): Likewise. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java (ImportButtonListener.actionPerformed): Likewise. (RemoveButtonListener.actionPerformed): Likewise. * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java (createWithPort): Likewise. (getLockFile): Likewise. * netx/net/sourceforge/jnlp/services/XExtendedService.java (openFile): Likewise. * netx/net/sourceforge/jnlp/services/XPersistenceService.java (create): Likewise. * netx/net/sourceforge/jnlp/util/XDesktopEntry.java (installDesktopLauncher): Likewise. * netx/net/sourceforge/jnlp/resources/Messages.properties: Add CantCreateFile, RCantCreateDir and RCantRename. Remove BNoBase and BOUmask. 2010-11-24 Deepak Bhole Fix PR593: Increment of invalidated iterator in IcedTeaPluginUtils (patch from barbara.xxx1975@libero.it) * plugin/icedteanp/IcedTeaPluginUtils.cc (invalidateInstance): Act on the pointer directly, rather than via members. * NEWS: Updated. 2010-11-24 Deepak Bhole Fix PR552: Support for FreeBSD's pthread implementation (patch from jkim@freebsd.org) * plugin/icedteanp/IcedTeaNPPlugin.cc (NP_Shutdown): Do pthread_join after cancel to avoid destroying mutexes or condition variables in use. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc (PluginRequestProcessor): Initialize mutexes dynamically. (queue_cleanup): New method. Destroy dynamically created mytexes. (queue_processor): Initialize wait_mutex and push cleanup on exit. Clean up after processing stops. 2010-11-24 Andrew John Hughes * NEWS: Bring in changes from IcedTea6 1.10 NEWS (now redundant there) and apply same structure as in IcedTea6. 2010-11-24 Omair Majid CVE-2010-3860 IcedTea System property information leak via public static * netx/net/sourceforge/jnlp/runtime/Boot.java: Remove basedir option. Add NETX_ABOUT_FILE. (run): Remove call to JNLPRuntime.setBaseDir. (getAboutFile): Use the constant in this file, not JNLPRuntime. (getBaseDir): Remove obsolete method. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Remove baseDir, USER, HOME_DIR, NETXRC_FILE, NETX_DIR, SECURITY_DIR, CERTFICIATES_FILE, JAVA_HOME_DIR, NETX_ABOUT_FILE. (initialize): Do not set baseDir. (getBaseDir): Remove method. (setBaseDir): Likewise. (getDefaultBaseDir): Likewise. (getProperties): Likewise. * netx/net/sourceforge/jnlp/security/SecurityUtil.java (getTrustedCertsFilename): Delegate to KeyStores.getKeyStoreLocation. * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java (PluginAppletSecurityContext): Remove call to obsolete method. 2010-11-24 Omair Majid Fix PR592. * netx/net/sourceforge/jnlp/util/XDesktopEntry.java (getContentsAsReader): Sanitize information before adding to desktop file. (sanitize): New method. Ensure that there are no newlines in input. 2010-11-24 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add CVCertificateType. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Use CVCertificateType instead of hardcoded string. 2010-11-24 Omair Majid * netx/net/sourceforge/jnlp/SecurityDesc.java: Add grantAwtPermissions. (SecurityDesc): Set grantAwtPermissions. (getSandboxPermissions): Use grantAwtPermissions to determine whether to grant permissions. 2010-11-24 Matthias Klose * Makefile.am (javaws.desktop): Search javaws.desktop.in in $(srcdir). 2010-11-24 Matthias Klose * Makefile.am (LAUNCHER_LINK): Don't explicitely link with -lc, link with -pthread instead of -lpthread. (LAUNCHER_FLAGS): Add -pthread. 2010-11-24 Chris Coulson * Makefile.am (pluginappletviewer, javaws): Fix linking with --as-needed. 2010-11-23 Omair Majid * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: Add KEY_PROXY_TYPE, KEY_PROXY_SAME, KEY_PROXY_AUTO_CONFIG_URL, KEY_PROXY_BYPASS_LIST, KEY_PROXY_BYPASS_LOCAL, KEY_PROXY_HTTP_HOST, KEY_PROXY_HTTP_PORT, KEY_PROXY_HTTPS_HOST, KEY_PROXY_HTTPS_PORT, KEY_PROXY_FTP_HOST, KEY_PROXY_FTP_PORT, KEY_PROXY_SOCKS4_HOST, KEY_PROXY_SOCKS4_PORT, and KEY_PROXY_OVERRIDE_HOSTS. (loadDefaultProperties): Use the new constants. * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java: New class. (JNLPProxySelector): New method. (parseConfiguration): New method. Initializes this object by querying the configuration. (getHost): New method. (getPort): New method. (connectFailed): New method. (select): New method. Returns a list of appropriate proxies to use for a given uri. (inBypassList): New method. Return true if the host in the URI should be bypassed for proxy purposes. (isLocalHost): New method. (getFromConfiguration): New method. Finds a proxy based on configuration. (getFromPAC): New method. (getFromBrowser): New method. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Install proxy selector and authenticator. * plugin/icedteanp/java/sun/applet/PluginMain.java (init): Do not install authenticator. (CustomAuthenticator): Moved to... * netx/net/sourceforge/jnlp/security/JNLPAuthenticator.java: Here. * plugin/icedteanp/java/sun/applet/PasswordAuthenticationDialog.java Moved to... * netx/net/sourceforge/jnlp/security /PasswordAuthenticationDialog.java: Here. * plugin/icedteanp/java/sun/applet/PluginProxySelector.java: Extend JNLPProxySelector. (select): Renamed to... (getFromBrowser): New method. 2010-11-19 Omair Majid * Makefile.am (EXTRA_DIST): Replace javaws.desktop with javaws.desktop.in. (all-local): Add javaws.desktop. (clean-local): Add dependency on clean-desktop-files. (.PHONY): Add clean-desktop- files. (clean-desktop-files): New target. (javaws.desktop): New target. Use the absolute path to javaws binary in the Exec= line to create the javaws.desktop file. * javaws.desktop: Renamed to... * javaws.desktop.in: New file. Does not contain Encoding key. Value for Icon does not contain extension. * netx/net/sourceforge/jnlp/util/XDesktopEntry.java (JAVA_ICON_NAME): Set to icon name without the extension. 2010-11-18 Omair Majid * netx/net/sourceforge/jnlp/SecurityDesc.java: Remove window banner permissions from sandboxPermissions and j2eePermissions. (getSandBoxPermissions): Dynamically add window banner permissions if allowed by configuration. * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: Add KEY_SECURITY_PROMPT_USER, KEY_SECURITY_ALLOW_HIDE_WINDOW_WARNING, KEY_SECURITY_PROMPT_USER_FOR_JNLP, and KEY_SECURITY_INSTALL_AUTHENTICATOR. (loadDefaultProperties): Use the new constants. * netx/net/sourceforge/jnlp/security/SecurityWarning.java (showAccessWarningDialog): Check if the user should be prompted before prompting the user. (showNotAllSignedWarningDialog): Likewise. (showCertWarningDialog): Likewise. (showAppletWarning): Likewise. (shouldPromptUser): New method. Check if configuration allows showing user prompts. * netx/net/sourceforge/jnlp/services/ServiceUtil.java (checkAccess(AccessType,Object...)): Clarify javadocs. (checkAccess(ApplicationInstance,AccessType,Object...)): Clarify javadocs. Only prompt the user if showing JNLP prompts is ok. (shouldPromptUser): New method. Returns true if configuration allows for showing JNLP api prompts. * plugin/icedteanp/java/sun/applet/PluginMain.java (init): Only install custom authenticator if allowed by configuration. 2010-11-18 Omair Majid * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: Add KEY_ENABLE_LOGGING. (loadDefaultProperties): Use KEY_ENABLE_LOGGING. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Add redirectStreams, STDERR_FILE and STDOUT_FILE. (initialize): Call initializeStreams. (initializeStreams): New method. Redirects or duplicates stdout and stderr to the logging files as required. (setRedirectStreams): New method. Sets whether stdout/stderr streams should be redirected. * plugin/icedteanp/java/sun/applet/PluginMain.java: (PluginMain): Move code for creating logging files into JNLPRuntime. Call JNLPRuntime.setRedirectStreams to redirect streams. (TeeOutputStream): Move to its own class. * netx/net/sourceforge/jnlp/util/TeeOutputStream.java: Moved from PluginMain into this new class. 2010-11-18 Omair Majid * NEWS: Update with new interfaces * netx/javax/jnlp/DownloadService2.java: New interface. (ResourceSpec): New class. (ResourceSpec.ResourceSpec): New method. (ResourceSpec.getExpirationDate): New method. (ResourceSpec.getLastModified): New method. (ResourceSpec.getSize): New method. (ResourceSpec.getType): New method. (ResourceSpec.getUrl): New method. (ResourceSpec.getVersion): New method. (getCachedResources): New method. (getUpdateAvaiableReosurces): New method. * netx/javax/jnlp/IntegrationService.java: New interface. (hasAssociation): New method. (hasDesktopShortcut): New method. (hasMenuShortcut): New method. (removeAssociation): New method. (removeShortcuts): New method. (requestAssociation): New method. (requestShortcut): New method. 2010-11-16 Andrew Su * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: Corrected typo in one of the default values. 2010-11-11 Omair Majid * netx/net/sourceforge/jnlp/runtime/Boot.java (main): Move trust manager initialization code into JNLPRuntime.initialize. * plugin/icedteanp/java/sun/applet/PluginMain.java (init): Likewise. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Set the default SSL TrustManager here. * netx/net/sourceforge/jnlp/security/CertWarningPane.java (CheckBoxListener.actionPerformed): Add this certificate into user's trusted certificate store. * netx/net/sourceforge/jnlp/tools/KeyTool.java (addToKeyStore(File,KeyStore)): Move to CertificateUtils. (addToKeyStore(X509Certificate,KeyStore)): Likewise. (dumpCert): Likewise. * netx/net/sourceforge/jnlp/security/CertificateUtils.java: New class. (addToKeyStore(File,KeyStore)): Moved from KeyTool. (addToKeyStore(X509Certificate,KeyStore)): Likewise. (dumpCert): Likewise. (inKeyStores): New method. * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java (getRootInCacerts): Check all available CA store to check if root is in CA certificates. * netx/net/sourceforge/jnlp/security/KeyStores.java (getKeyStore(Level,Type,boolean)): Add security check. (getClientKeyStores): New method. * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java (VariableX509TrustManager): Initialize multiple CA, certificate and client trust managers. (checkClientTrusted): Check all the client TrustManagers if certificate is trusted. (checkAllManagers): Check multiple CA certificates and trusted certificates to determine if the certificate chain can be trusted. (isExplicitlyTrusted): Check with multiple TrustManagers. (getAcceptedIssuers): Gather results from multiple TrustManagers. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java (ImportButtonListener): Use CertificateUtils instead of KeyTool. * netx/net/sourceforge/jnlp/tools/JarSigner.java (checkTrustedCerts): Use multiple key stores to check if certificate is directly trusted and if the root is trusted. 2010-11-09 Omair Majid * netx/net/sourceforge/jnlp/resources/Messages.properties: Add ButAllow, ButClose, ButCopy, ButMoreInformation, ButProceed, ButRun, AlwaysAllowAction, Continue, Field, From, Name, Publisher, Value, Version, SNoAssociatedCertificate, SAlwaysTrustPublisher, SHttpsUnverified, SNotAllSignedSummary, SNotAllSignedDetail, SNotAllSignedQuestion, SCertificateDetails, SIssuer, SSerial, SMD5Fingerprint, SSHA1Fingerprint, SSignature, SSignatureAlgorithm, SSubject, SValidity, CVCertificateViewer, CVDetails, CVIssuedTo, CVExport, CVImport, CVIssuedBy, IssuedTo, CVRemove, CVRemoveConfirmMessage,CVRemoveConfirmTitle, CVUser, CVSystem, KS, KSCerts, KSJsseCerts, KSCaCerts, KSJsseCaCerts, and KSClientCerts. * netx/net/sourceforge/jnlp/security/AccessWarningPane.java (addComponents): Use localized strings. * netx/net/sourceforge/jnlp/security/CertWarningPane.java (addComponents): Likewise. * netx/net/sourceforge/jnlp/security/CertsInfoPane.java (parseCert): Likewise. (addComponents): Likewise. * netx/net/sourceforge/jnlp/security/MoreInfoPane.java (addComponents): Likewise. * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java (addComponents): Likewise. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java: Likewise. (addComponents): Likewise. (CertificateType.toString): Likewise. (RemoveButtonListener.actionPerformed): Likewise. 2010-11-05 Omair Majid * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: Add KEY_BROWSER_PATH. (loadDefaultProperties): Use KEY_BROWSER_PATH. * netx/net/sourceforge/jnlp/services/XBasicService.java (initialize): Use the browser command from the configuration. Save updates to configuration as well. 2010-11-05 Omair Majid * netx/net/sourceforge/jnlp/ShortcutDesc.java: Change prefixes from SHORTCUT_ to CREATE_. * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java (addMenuAndDesktopEntries): Call shouldCreateShortcut to find out if shortcut should be created. Remove call to checkAccess which does nothing as the entire stack contains trusted classes. (shouldCreateShortcut): New method. Use the configuration to find out if a shorcut should be created, and possibly prompt the user. * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: Add KEY_CREATE_DESKTOP_SHORTCUT. (loadDefaultProperties): Use KEY_CREATE_DESKTOP_SHORTCUT. 2010-11-08 Omair Majid * Makefile.am (JDK_UPDATE_VERSION): Define variable. 2010-11-04 Omair Majid * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: Add KEY_USER_TRUSTED_CA_CERTS, KEY_USER_TRUSTED_JSSE_CA_CERTS, KEY_USER_TRUSTED_CERTS, KEY_USER_TRUSTED_JSSE_CERTS, KEY_USER_TRUSTED_CLIENT_CERTS, KEY_SYSTEM_TRUSTED_CA_CERTS, KEY_SYSTEM_TRUSTED_JSSE_CA_CERTS, KEY_SYSTEM_TRUSTED_CERTS, KEY_SYSTEM_TRUSTED_JSSE_CERTS, KEY_SYSTEM_TRUSTED_CLIENT_CERTS (loadDefaultProperties): Use the defined constants. * netx/net/sourceforge/jnlp/security/KeyStores.java: New class. (getPassword): New method. Return the default password used for KeyStores. (getKeyStore(Level,Type)): New method. Returns the appropriate KeyStore. (getKeyStore(Level,Type,String)): Likewise. (getCertKeyStores): New method. Return all the trusted certificate KeyStores. (getCAKeyStores): New method. Return all the trusted CA certificate KeyStores. (getKeyStoreLocation): New method. Return the location of the appropriate KeyStore. (toTranslatableString): New method. Return a string that can be used to create a human-readable name for the KeyStore. (toDisplayableString): New method. Return a human-readable name for the KeyStore. (createKeyStoreFromFile): New method. Creates a new KeyStore object, initializing it from the given file if possible. * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java (CertificatePane): Create two JTables. Populate the tables when done creating the user interface. (initializeKeyStore): Use the correct keystore. (addComponents): Do not read KeyStore. Create more interface elements to show the new possible KeyStores. Mark some buttons to be disabled when needed. (repopulateTable): Renamed to... (repopulateTables): New method. Read KeyStore and use the contents to create the user and system tables. (CertificateType): New class. (CertificateTypeListener): New class. Listens to JComboBox change events. (TabChangeListener): New class. Listens to new tab selections. (ImportButtonListener): Import certificates to the appropriate KeyStore. (ExportButtonListener): Find the certificate from the right table. (RemoveButtonListener): Find the certificate from the right table and right the KeyStore. (DetailsButtonListener): Find the certificate from the right table. * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java (showCertficaiteViewer): Initialize the JNLPRuntime so the configuration gets loaded. * netx/net/sourceforge/jnlp/tools/KeyTool.java (addToKeyStore(File,KeyStore)): New method. Adds certificate from the file to the KeyStore. (addToKeyStore(X509Certificate,KeyStore)): New method. Adds a certificate to a KeyStore. 2010-11-04 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (update): Override method and implement double-buffering. 2010-10-28 Andrew John Hughes * Makefile.am: (NETX_BOOTSTRAP_CLASSES): Removed. (PLUGIN_BOOTSTRAP_CLASSES): Likewise. (NETX_SUN_CLASSES): Likewise. (PLUGIN_SUN_CLASSES): Likewise. * acinclude.m4: (IT_CHECK_FOR_CLASS): Require detection of javac and java. Put test class in sun.applet to get access to some internal classes. Change test to use forName for the same reason. I expect to be able to revert this when usage of sun.applet is fixed. (IT_FIND_JAVA): Ported from IcedTea6. Change to prioritise 'java' over 'gij'. * configure.ac: Add IT_CHECK_FOR_CLASS checks for classes which are required but not found in JDKs other than Oracle-based ones. Also check for java.* classes missing from current versions of gcj but which may appear there in future. 2010-11-03 Omair Majid * netx/net/sourceforge/jnlp/Launcher.java (markNetxRunning): Get file name from configuration. (markNetxStopped): Likewise. * netx/net/sourceforge/jnlp/cache/CacheUtil.java (clearCache): Get cache directory from configuration. (okToClearCache): Get netx_running file from configuration. (getCacheFile): Get cache directory from configuration. (urlToPath): Change semantics to take in the full path of the directory instead of a directory under runtime. * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: Change DEPLOYMENT_DIR to ".icedtea". Add constants KEY_USER_CACHE_DIR, KEY_USER_PERSISTENCE_CACHE_DIR, KEY_SYSTEM_CACHE_DIR, KEY_USER_LOG_DIR, KEY_USER_TMP_DIR, KEY_USER_LOCKS_DIR, and KEY_USER_NETX_RUNNING_FILE. (load): Use DEPLOYMENT_DIR instead of hardcoded string. (loadDefaultProperties): Add LOCKS_DIR. Replace strings with constants. Add new default values for persistence cache directory, single instance locks directory and the netx_running file. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Remove unneeded TMP_DIR, LOCKS_DIR and NETX_RUNNING_FILE * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java (getLockFile): Get locks directory from configuration. * netx/net/sourceforge/jnlp/services/XPersistenceService.java (toCacheFile): Get persistence cache directory from configuration. * netx/net/sourceforge/jnlp/util/XDesktopEntry.java (getContentsAsReader): Get cache directory from configuration. (installDesktopLauncher): Get temporary directory from configuration. Make parent directories if required. * plugin/icedteanp/java/sun/applet/JavaConsole.java (initialize): Get log directory from configuration and create the error and output files under it. * plugin/icedteanp/java/sun/applet/PluginMain.java: PLUGIN_STDERR_FILE and PLUGIN_STDOUT_FILE are now just filesnames. (PluginMain): Use configuration for finding the log directory. Initialize JNLPRuntime before creating the stderr and stdout logs. 2010-11-01 Omair Majid * Makefile.am (clean-IcedTeaPlugin): Only delete launcher directory if it exists. 2010-11-01 Deepak Bhole PR542: Plugin fails with NPE on http://www.openprocessing.org/visuals/iframe.php?visualID=2615 * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): If cacheFile is null (JAR couldn't be downloaded), try to continue, rather than allowing the exception to cause an abort. * NEWS: Updated. 2010-11-01 Deepak Bhole * plugin/docs: Added new docs folder that contains plugin documentation. * plugin/docs/MessageBusArchitecture.png: Diagram of the JS <-> Java message handling architectrure. * plugin/docs/OverallArchitecture.png: Diagram of the overall plugin architecture. * plugin/docs/java-js-wf.png: Sequence diagram showing an example LiveConnect call from an applet to JavaScript/Browser. * plugin/docs/js-java-wf.png: Sequence diagram showing an example LiveConnect call from JavaScript/Browser to an applet. * plugin/docs/npplugin_liveconnect_design.pdf: Slides with notes on the above diagrams. 2010-10-29 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java: Add component. (getLaunchInfo): Modify javadoc to indicate that it does not return the ComponentDesc. (getComponent): Return component instead of launchType. (isComponent): Check if component is not null. (parse): Find and set component descriptor. * netx/net/sourceforge/jnlp/Parser.java (getLauncher): Remove all checks for component-desc. Allow having none of application-desc, applet-desc and installer-desc. (getComponent): Check for more than one component-desc element. Read and parse the component-desc. 2010-10-28 Omair Majid * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java (showMoreInfoDialog): Make dialog modal. (showCertInfoDialog): Likewise. (showSingleCertInfoDialog): Likewise. (initDialog): Use setModality instead of setModal. 2010-10-27 Deepak Bhole * plugin/icedteanp/IcedTeaNPPlugin.cc (plugin_create_applet_tag): Escape the entire applet tag, not just the params. 2010-10-27 Omair Majid * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java (load): Do a security check at start. A security exception later on may accidentally reveal a filename or a system property. (save): Likewise. 2010-10-26 Omair Majid * netx/net/sourceforge/jnlp/Launcher.java (doPerApplicationAppContextHacks): New method. Create a new ParserDelegate to intialize the per AppContext dtd used by Swing HTML controls. (TgThread.run): Call doPerApplicationAppContextHacks. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Call doMainAppContextHacks. (doMainAppContextHacks): New method. Create a new ParserDelegate to initialize the per AppContext dtd used by Swing HTML controls. 2010-10-26 Omair Majid * netx/net/sourceforge/jnlp/Launcher.java (launchApplication): Mark main method as accessible before invoking it. 2010-10-26 Omair Majid * netx/net/sourceforge/jnlp/Parser.java: Add 1.1, 1.2, 1.3 and 1.4 to supportedVersions. 2010-10-26 Omair Majid * netx/net/sourceforge/jnlp/runtime/Translator.java (R(String)): New method. 2010-10-26 Deepak Bhole * netx/net/sourceforge/jnlp/PluginBridge.java: Trim whitespace from jar names in the constructor. 2010-10-26 Deepak Bhole * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Replace all status.put calls with calls to updateStatus(). (createPanel): Create a frame with a 0 handle. Use the new waitForAppletInit function to wait until applet is ready. (reFrame): Re-order code so that the panel is never parentless. (handleMessage): Re-wrote message processing to handle destroy calls correctly, checking for them more often to prevent a frame from popping up if the tab/page is closed before loading finishes. Decode special characters in the message. (updateStatus): New function. Updates the status for the given instance if applicable. (destroyApplet): New function. Destroys a given applet and frees related resources. (waitForAppletInit): New function. Blocks until applet is initialized. (parse): Remove part that decoded the params. Decoding is now done earlier in handleMessage(). * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: (getPriorityStrIfPriority): Mark destroy messages as priority. (bringPriorityMessagesToFront): Scans the queue for priority messages and brings them to the front. (run): If the queue is not empty and there are no workers left, run bringPriorityMessagesToFront() and retry. 2010-10-26 Andrew Su * Makefile.am: Split rm -rf into rm -f and rmdir for launcher directory. 2010-10-25 Omair Majid * netx/net/sourceforge/jnlp/ShortcutDesc.java: Add SHORTCUT_NEVER, SHORTCUT_ALWAYS, SHORTCUT_ASK_USER, SHORTCUT_ASK_USER_IF_HINTED, SHORTCUT_ALWAYS_IF_HINTED, SHORTCUT_DEFAULT. * netx/net/sourceforge/jnlp/resources/Messages.properties: Add RConfigurationError. * netx/net/sourceforge/jnlp/runtime/DeploymentConfiguration.java: New file. (ConfigValue): New class. Holds a configuration value. (DeploymentConfiguration): New method. (load): New method. (getProperty): Likewise. (getAllPropertyNames): Likewise. (setProperty): Likewise. (loadDefaultProperties): Likewise. (findSystemConfigFile): Likewise. (loadSystemConfiguration): Likewise. (loadProperties): Likewise. (save): Likewise. (parsePropertiesFile): Likewise. (mergeMaps): Likewise. (dumpConfiguration): Likewise. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: (initialize): Load configuration. (getConfiguration): Return the configuration. 2010-10-25 Omair Majid * net/sourceforge/jnlp/ExtensionDesc.java: Import Translator.R and use that. * net/sourceforge/jnlp/JNLPFile.java: Import Translator.R. (R): Remove. * net/sourceforge/jnlp/JREDesc.java: Import Translator.R. (checkHeapSize): Use R instead of JNLPRuntime.getMessage. * net/sourceforge/jnlp/Launcher.java: Import Translator.R. (R): Remove. * net/sourceforge/jnlp/Parser.java: Import Translator.R (R(String)): Remove. (R(String,Object)): Remove. (R(String,Object,Object)): Remove. (R(String,Object,Object,Object)): Remove. * net/sourceforge/jnlp/cache/CacheEntry.java: Import Translator.R (CacheEntry): Use R instead of JNLPRuntime.getMessage. * net/sourceforge/jnlp/cache/CacheUtil.java: Import Translator.R (R(String)): Remove. (R(String,Object)): Remove. * net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java: Import Translator.R and use that instead of JNLPRuntime.getMessage. * net/sourceforge/jnlp/runtime/Boot.java: Import Translator.R. (R(String)): Remove. (R(String, Object)): Remove. (run): Use R instead of JNLPRuntime.getMessage. * net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Import Translator.R. (R): Remove. * net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: Import Translator.R. Use it instead of JNLPRuntime.getMeesage. (R): Remove. * net/sourceforge/jnlp/security/AccessWarningPane.java: Import Translator.R. * net/sourceforge/jnlp/security/CertWarningPane.java: Likewise. * net/sourceforge/jnlp/security/HttpsCertVerifier.java: Import Translator.R. (R(String)): Remove. (R(String,String,String)): Remove. * net/sourceforge/jnlp/security/MoreInfoPane.java: Import Translator.R. * net/sourceforge/jnlp/security/SecurityDialogPanel.java (R(String)): Remove. (R(String,Object)): Remove. * net/sourceforge/jnlp/services/ServiceUtil.java (R): Remove. * net/sourceforge/jnlp/services/SingleInstanceLock.java: Import Translator.R (R(String)): Remove. (R(String,Object)): Remove. * net/sourceforge/jnlp/tools/JarSigner.java: Import Translator.R. (R): Remove. * net/sourceforge/jnlp/runtime/Translator.java: New file (R(String,Object...)): New method. 2010-10-25 Andrew Su * Makefile.am: (clean-IcedTeaPlugin): Remove launcher folder first. (clean-plugin): Removed called to remove launcher folder 2010-10-22 Omair Majid * netx/net/sourceforge/jnlp/NetxPanel.java (runLoader): Do not initialize JNLPRuntime here. (createAppletThreads): Initialize JNLPRuntim here. * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: Switch from SecurityWarningDialog.AccessType to SecurityWarning.AccessType. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance(JNLPFile,UpdatePolicy)): Switch to SecurityWarning. (initializeResources): Likewise. (checkTrustWithUser): Likewise. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Add securityDialogMesasgeHandler. (initialize): Set System look and feel. Start security thread. (startSecurityThread): New method. Starts a thread to show security dialogs. (getSecurityDialogHandler): Returns the securityDialogMessageHandler. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: Switch from SecurityWarningDialog.AccessType to SecurityWarning.AccessType. (checkAwtEventQueueAccess): New method. Skeleton code for allowing EventQueue acccess to applets. * netx/net/sourceforge/jnlp/security/AccessWarningPane.java: Switch from SecurityWarningDialog.AccessType to SecurityWarning.AccessType. * netx/net/sourceforge/jnlp/security/CertWarningPane.java: Likewise. * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java: Move DialogType and AccessType to SecurityWarning. (SecurityWarningDialog(DialogType,AccessType,JNLPFile,CertVerifier, X509Certificate,Object[])): New method. The catch-all construction. (SecurityWarningDialog(DialogType,AccessType,JNLPFile): Delegate to the new constructor. (SecurityWarningDialog(DialogType,AccessType,JNLPFile,CertVerifier)): Likewise. (SecurityWarningDialog(DialogType,AccessType,CertVerifier)): Likewise. (SecurityWarningDialog(DialogType,AccessType,JNLPFile,Object[])): Likewise. (SecurityWarningDialog(DialogType,X509Certificate)): Likewise. (showAccessWarningDialog(AccessType,JNLPFile)): Move to SecurityWarning class. (showAccessWarningDialog(AccessType,JNLPFile,Object[])): Likewise. (showNotAllSignedWarningDialog(JNLPFile)): Likewise. (showCertWarningDialog(AccessType,JNLPFile,CertVerifier)): Likewise. (showAppletWarning): Likewise. (initDialog): Make dialog non modal and remove window closing listener. (getValue): Make public. (dispose): New method. Notify listeners. (notifySelectionMade): New method. Notify listeners that user has made a decision. (addActionListener): New method. Add a listener to be notified when user makes a decision about this security warning. * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: Switch from SecurityWarningDialog.AccessType to SecurityWarning.AccessType. * netx/net/sourceforge/jnlp/services/ServiceUtil.java: Likewise. * netx/net/sourceforge/jnlp/services/XClipboardService.java: Likewise. * netx/net/sourceforge/jnlp/services/XExtendedService.java: Likewise. * netx/net/sourceforge/jnlp/services/XFileOpenService.java: Likewise. * netx/net/sourceforge/jnlp/services/XFileSaveService.java: Likewise. * netx/net/sourceforge/jnlp/security/SecurityDialogMessage.java: New class. * netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java: New class. (run): New method. Runs the security message loop. (handleMessage): New method. Handles a SecurityDialogMessage to show a security warning. (postMessage): New method. Posts a message to sthe security message queue. * netx/net/sourceforge/jnlp/security/SecurityWarning.java: New class. Move AccessType and DialogType from SecurityWarningDialog to here. (showAccessWarningDialog): Moved from SecurityWarningDialog to here. (showAccessWarningDialog): Moved from SecurityWarningDialog to here. Modified to post messages to the security queue instead of showing a SecurityWarningDialog directly. (showNotAllSignedWarningDialog): Likewise. (showCertWarningDialog): Likewise. (showAppletWarning): Likewise. (getUserReponse): New method. Posts a message to the security thread and blocks until it gets a response from the user. 2010-10-20 Andrew John Hughes * netx/javax/jnlp/ServiceManager.java: (lookupTable): Add generic types. * netx/net/sourceforge/jnlp/AppletDesc.java: (parameters): Likewise. (AppletDesc(String,String,URL,int,int,Map)): Likewise. (getParameters()): Likewise. * netx/net/sourceforge/jnlp/ApplicationDesc.java: (getArguments()): Remove redundant cast. (addArgument(String)): Add generic typing. * netx/net/sourceforge/jnlp/ExtensionDesc.java: (extToPart): Add generic types. (eagerExtParts): Likewise. * netx/net/sourceforge/jnlp/InformationDesc.java: (info): Likewise. (getIcons(Object)): Add generic typing. (getAssociations()): Likewise. (getRelatedContents()): Likewise. (getItem(Object)): Likewise. (getItems(Object)): Likewise. (addItem(String,Object)): Likewise. * netx/net/sourceforge/jnlp/JNLPFile.java: (resources): Likewise. (InformationDesc.getItems(Object)): Likewise. (getResources(Class)): Likewise. * netx/net/sourceforge/jnlp/LaunchException.java: (getCauses()): Likewise. * netx/net/sourceforge/jnlp/Launcher.java: (launchApplication(JNLPFile)): Likewise. * netx/net/sourceforge/jnlp/NetxPanel.java: (NetxPanel(URL,Hashtable)): Likewise. (NetxPanel(URL,Hashtable,boolean)): Likewise. * netx/net/sourceforge/jnlp/Node.java: (getChildNodes()): Likewise. * netx/net/sourceforge/jnlp/Parser.java: (getResources(Node,boolean)): Likewise. (getInfo(Node)): Likewise. (getInformationDesc(Node)): Likewise. (getApplet(Node)): Likewise. (getApplication(Node)): Likewise. (splitString(String)): Likewise. (getLocales(Node)): Likewise. (getChildNodes(Node,String)): Likewise. * netx/net/sourceforge/jnlp/PluginBridge.java: Fix variable naming and add generic types. (cacheJars): Changed from cache_jars. (cacheExJars): Changed from cache_ex-jars. (atts): Add generic typing. (PluginBridge(URL,URL,String,String,int,int,Hashtable)): Likewise. (getInformation(Locale)): Likewise. (getResources(Locale,String,String)): Likewise. (getJARs()): Avoid excessive copying; filtering already performed by getResources in JNLPFile. * netx/net/sourceforge/jnlp/ResourcesDesc.java: (resources): Add generic typing. (getJREs()): Likewise. (getJARs()): Likewise. (getJARs(String)): Likewise. (getExtensions()): Likewise. (getPackages()): Likewise. (getPackages(String)): Likewise. (getProperties()): Likewise. (getPropertiesMap()): Likewise. (getResources(Class)): Make generic. * netx/net/sourceforge/jnlp/Version.java: (matches(Version)): Add generic types. (matchesAny(Version)): Likewise. (matchesSingle(String)): Likewise. (matches(String,String)): Likewise. (equal(List,List)): Likewise. (greater(List,List)): Likewise. (compare(String,String)): Use Integer.valueOf. (normalize(List,int)): Add generic types, using a List of lists rather than an array of lists. (getVersionStrings()): Add generic types. (getParts()): Likewise. * netx/net/sourceforge/jnlp/cache/CacheUtil.java: (waitForResources(ApplicationInstance,ResourceTracker, URL,String)): Likewise. * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java: (getListener(ApplicatonInstance,String,URL)): Use setVisible instead of show(). (disposeListener(DownloadServiceListener)): Use setVisible instead of hide(). (DownloadPanel.urls): Add generic typing. (DownloadPanel.panels): Likewise. (DownloadPanel.update(URL,String,long,long,int)): Fix formatting. Add generic types. * netx/net/sourceforge/jnlp/cache/Resource.java: (resources): Add generic typing. (trackers): Likewise. (getResource(URL,Version,UpdatePolicy)): Use generic types. (getTracker()): Likewise. (addTracker(ResourceTracker)): Likewise. (fireDownloadEvent()): Likewise. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (prefetchTrackers): Add generic typing. (queue): Likewise. (active): Likewise. (resources): Likewise. (listeners): Likewise. (fireDownloadEvent(Resource)): Remove unneeded cast. (getPrefetch()): Use generic typing. (selectByFlag(List,int,int)): Likewise. (getResource(URL)): Likewise. * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java: (weakClips): Add generic types. (destroy()): Use generic typing. (getApplets()): Likewise. (getStreamKeys()): Likewise. * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: (weakWindows): Add generic types. (installEnvironment()): Likewise. (destroy()): Remove redundant cast. * netx/net/sourceforge/jnlp/runtime/Boot.java: Extend PrivilegedAction. (run()): Add generic typing. (getOptions(String)): Likewise. * netx/net/sourceforge/jnlp/runtime/Boot13.java: (main(String[]): Likewise. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Fix formatting. (urlToLoader): Add generic types. (resourcePermissions): Likewise. (available): Likewise. (jarEntries): Likewise. (getInstance(JNLPFile,UpdatePolicy)): Remove redundant cast. (getInstance(URL,String,Version,UpdatePolicy)): Likewise. (initializeExtensions()): Add generic types. (initializePermissions()): Likewise. (initializeResources()): Likewise. (getPermissions(CodeSource)): Likewise. (fillInPartJars(List)): Likewise. (activateJars(List)): Likewise. (loadClass(String)): Likewise. Suppress warnings due to sun.misc.JarIndex usage. (findResources(String)): Mark as overriding. Add generic types. (getExtensionName()): Add @Deprecated annotation. (getExtensionHREF()): Likewise. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: (weakWindows): Add generic typing. (weakApplications): Likewise. (getApplication(Window)): Remove redundant casts. Add w, which is window cast to Window. * netx/net/sourceforge/jnlp/services/ServiceUtil.java: (invoke(Object,Method,Object[])): Use generic types. * netx/net/sourceforge/jnlp/services/XPersistenceService.java: (getNames(URL)): Likewise. * netx/net/sourceforge/jnlp/tools/JarSigner.java: (verifyJars(List,ResourceTracker)): Remove redundant cast. * netx/net/sourceforge/jnlp/util/WeakList.java: Redesign as a generic type. (refs): Add generic types. (deref(WeakReference)): Likewise. (get(int)): Likewise. (set(int,Object)): Likewise. (add(int,E)): Likewise. (remove()): Likewise. (hardList()): Likewise. * netx/net/sourceforge/nanoxml/XMLElement.java: (attributes): Add generic typing. (children): Likewise. (entities): Likewise. (XMLElement()): Use generic types. (XMLElement(Hashtable): Likewise. (resolveEntity(StringBuffer)): Remove redundant cast. 2010-10-20 Omair Majid * AUTHORS: Add Francis Kung, Andrew Su, Joshua Sumali, Mark Wielaard and Man Lung Wong. Add link to forked Netx project. 2010-10-20 Matthias Klose * AUTHORS: Add myself. 2010-10-20 Andrew Su * PluginBridge.java: (PluginBridge): Added parsing for jnlp_href, and reading the jnlp file for applet parameters. 2010-10-20 Matthias Klose * Makefile.am (stamps/extra-class-files.stamp): Fix -sourcepath. 2010-10-20 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Do not perform url encoding on the file url. Stay consistent with the unencoded urls used in getPermissions. 2010-10-20 Omair Majid * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (JNLPClassLoader): Call installShutdownHooks. (installShutdownHooks): New method. Installs a shutdown hook to recursively delete the contents of nativeDir. (activateNative): Only create a nativeDir if there are native libraries. 2010-10-19 Deepak Bhole * Makefile.am: ($(NETX_DIR)/launcher/javaws): Use $(NETX_DIR). 2010-10-19 Deepak Bhole * Makefile.am: (NETX_DIR): New variable representing the NetX build dir. (NETX_LAUNCHER_OBJECTS): Prefix with $(NETX_DIR). (LAUNCHER_LINK): Fixed escaping of ORIGIN to the rpath argument. (all-local): Fix javaws launcher path. (install-exec-local): Likewise, and use $(NETX_DIR) for NetX classes.jar. (clean-plugin): Remove launcher. (liveconnect): Use NETX_DIR in classpath. (netx): Use NETX_DIR throughout. (netx-dist): Likewise. (clean-netx): Likewise. ($(NETX_DIR)/launcher/%.o)): Likewise. * launcher/jni_md.h: Imported from OpenJDK. 2010-10-20 Matthias Klose * Makefile.am: Fix build with builddir != srcdir. 2010-10-19 Andrew John Hughes * Makefile.am: (PLUGIN_LAUNCHER_OBJECTS): Do prefixing once. (NETX_LAUNCHER_OBJECTS): Likewise for NetX. (pluginappletviewer): Use PLUGIN_LAUNCHER_OBJECTS. (javaws): Use NETX_LAUNCHER_OBJECTS. * configure.ac: Re-enable foreign (I want to use GNU make!) * README: Use gmake not make. 2010-10-19 Andrew John Hughes * .hgignore, * Makefile.am, * acinclude.m4, * autogen.sh, * configure.ac, * extra/net/sourceforge/jnlp/about/HTMLPanel.java, * extra/net/sourceforge/jnlp/about/Main.java, * extra/net/sourceforge/jnlp/about/resources/about.html, * extra/net/sourceforge/jnlp/about/resources/applications.html, * extra/net/sourceforge/jnlp/about/resources/notes.html, * javac.in, * javaws.desktop: Imported from IcedTea6. * launcher/java.c, * launcher/java.h, * launcher/java_md.c, * launcher/java_md.h, * launcher/jli_util.h, * launcher/jni.h, * launcher/jvm.h, * launcher/jvm_md.h, * launcher/manifest_info.h, * launcher/splashscreen.h, * launcher/splashscreen_stubs.c, * launcher/version_comp.h, * launcher/wildcard.h: Imported from OpenJDK. * netx/javaws.1, * netx/javax/jnlp/BasicService.java, * netx/javax/jnlp/ClipboardService.java, * netx/javax/jnlp/DownloadService.java, * netx/javax/jnlp/DownloadServiceListener.java, * netx/javax/jnlp/ExtendedService.java, * netx/javax/jnlp/ExtensionInstallerService.java, * netx/javax/jnlp/FileContents.java, * netx/javax/jnlp/FileOpenService.java, * netx/javax/jnlp/FileSaveService.java, * netx/javax/jnlp/JNLPRandomAccessFile.java, * netx/javax/jnlp/PersistenceService.java, * netx/javax/jnlp/PrintService.java, * netx/javax/jnlp/ServiceManager.java, * netx/javax/jnlp/ServiceManagerStub.java, * netx/javax/jnlp/SingleInstanceListener.java, * netx/javax/jnlp/SingleInstanceService.java, * netx/javax/jnlp/UnavailableServiceException.java, * netx/net/sourceforge/jnlp/AppletDesc.java, * netx/net/sourceforge/jnlp/ApplicationDesc.java, * netx/net/sourceforge/jnlp/AssociationDesc.java, * netx/net/sourceforge/jnlp/ComponentDesc.java, * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java, * netx/net/sourceforge/jnlp/ExtensionDesc.java, * netx/net/sourceforge/jnlp/IconDesc.java, * netx/net/sourceforge/jnlp/InformationDesc.java, * netx/net/sourceforge/jnlp/InstallerDesc.java, * netx/net/sourceforge/jnlp/JARDesc.java, * netx/net/sourceforge/jnlp/JNLPFile.java, * netx/net/sourceforge/jnlp/JNLPSplashScreen.java, * netx/net/sourceforge/jnlp/JREDesc.java, * netx/net/sourceforge/jnlp/LaunchException.java, * netx/net/sourceforge/jnlp/LaunchHandler.java, * netx/net/sourceforge/jnlp/Launcher.java, * netx/net/sourceforge/jnlp/MenuDesc.java, * netx/net/sourceforge/jnlp/NetxPanel.java, * netx/net/sourceforge/jnlp/Node.java, * netx/net/sourceforge/jnlp/PackageDesc.java, * netx/net/sourceforge/jnlp/ParseException.java, * netx/net/sourceforge/jnlp/Parser.java, * netx/net/sourceforge/jnlp/PluginBridge.java, * netx/net/sourceforge/jnlp/PropertyDesc.java, * netx/net/sourceforge/jnlp/RelatedContentDesc.java, * netx/net/sourceforge/jnlp/ResourcesDesc.java, * netx/net/sourceforge/jnlp/SecurityDesc.java, * netx/net/sourceforge/jnlp/ShortcutDesc.java, * netx/net/sourceforge/jnlp/StreamEater.java, * netx/net/sourceforge/jnlp/UpdateDesc.java, * netx/net/sourceforge/jnlp/Version.java, * netx/net/sourceforge/jnlp/cache/CacheEntry.java, * netx/net/sourceforge/jnlp/cache/CacheUtil.java, * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/DownloadIndicator.java, * netx/net/sourceforge/jnlp/cache/Resource.java, * netx/net/sourceforge/jnlp/cache/ResourceTracker.java, * netx/net/sourceforge/jnlp/cache/UpdatePolicy.java, * netx/net/sourceforge/jnlp/cache/package.html, * netx/net/sourceforge/jnlp/event/ApplicationEvent.java, * netx/net/sourceforge/jnlp/event/ApplicationListener.java, * netx/net/sourceforge/jnlp/event/DownloadEvent.java, * netx/net/sourceforge/jnlp/event/DownloadListener.java, * netx/net/sourceforge/jnlp/event/package.html, * netx/net/sourceforge/jnlp/package.html, * netx/net/sourceforge/jnlp/resources/Manifest.mf, * netx/net/sourceforge/jnlp/resources/Messages.properties, * netx/net/sourceforge/jnlp/resources/about.jnlp, * netx/net/sourceforge/jnlp/resources/default.jnlp, * netx/net/sourceforge/jnlp/runtime/AppThreadGroup.java, * netx/net/sourceforge/jnlp/runtime/AppletAudioClip.java, * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java, * netx/net/sourceforge/jnlp/runtime/AppletInstance.java, * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java, * netx/net/sourceforge/jnlp/runtime/Boot.java, * netx/net/sourceforge/jnlp/runtime/Boot13.java, * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java, * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java, * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java, * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java, * netx/net/sourceforge/jnlp/runtime/package.html, * netx/net/sourceforge/jnlp/security/AccessWarningPane.java, * netx/net/sourceforge/jnlp/security/AppletWarningPane.java, * netx/net/sourceforge/jnlp/security/CertVerifier.java, * netx/net/sourceforge/jnlp/security/CertWarningPane.java, * netx/net/sourceforge/jnlp/security/CertsInfoPane.java, * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java, * netx/net/sourceforge/jnlp/security/MoreInfoPane.java, * netx/net/sourceforge/jnlp/security/NotAllSignedWarningPane.java, * netx/net/sourceforge/jnlp/security/SecurityDialogPanel.java, * netx/net/sourceforge/jnlp/security/SecurityUtil.java, * netx/net/sourceforge/jnlp/security/SecurityWarningDialog.java, * netx/net/sourceforge/jnlp/security/SingleCertInfoPane.java, * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java, * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java, * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java, * netx/net/sourceforge/jnlp/services/ExtendedSingleInstanceService.java, * netx/net/sourceforge/jnlp/services/InstanceExistsException.java, * netx/net/sourceforge/jnlp/services/ServiceUtil.java, * netx/net/sourceforge/jnlp/services/SingleInstanceLock.java, * netx/net/sourceforge/jnlp/services/XBasicService.java, * netx/net/sourceforge/jnlp/services/XClipboardService.java, * netx/net/sourceforge/jnlp/services/XDownloadService.java, * netx/net/sourceforge/jnlp/services/XExtendedService.java, * netx/net/sourceforge/jnlp/services/XExtensionInstallerService.java, * netx/net/sourceforge/jnlp/services/XFileContents.java, * netx/net/sourceforge/jnlp/services/XFileOpenService.java, * netx/net/sourceforge/jnlp/services/XFileSaveService.java, * netx/net/sourceforge/jnlp/services/XJNLPRandomAccessFile.java, * netx/net/sourceforge/jnlp/services/XPersistenceService.java, * netx/net/sourceforge/jnlp/services/XPrintService.java, * netx/net/sourceforge/jnlp/services/XServiceManagerStub.java, * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java, * netx/net/sourceforge/jnlp/services/package.html, * netx/net/sourceforge/jnlp/tools/CharacterEncoder.java, * netx/net/sourceforge/jnlp/tools/HexDumpEncoder.java, * netx/net/sourceforge/jnlp/tools/JarRunner.java, * netx/net/sourceforge/jnlp/tools/JarSigner.java, * netx/net/sourceforge/jnlp/tools/JarSignerResources.java, * netx/net/sourceforge/jnlp/tools/KeyStoreUtil.java, * netx/net/sourceforge/jnlp/tools/KeyTool.java, * netx/net/sourceforge/jnlp/util/FileUtils.java, * netx/net/sourceforge/jnlp/util/PropertiesFile.java, * netx/net/sourceforge/jnlp/util/Reflect.java, * netx/net/sourceforge/jnlp/util/WeakList.java, * netx/net/sourceforge/jnlp/util/XDesktopEntry.java, * netx/net/sourceforge/nanoxml/XMLElement.java, * netx/net/sourceforge/nanoxml/XMLParseException.java, * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc, * plugin/icedteanp/IcedTeaJavaRequestProcessor.h, * plugin/icedteanp/IcedTeaNPPlugin.cc, * plugin/icedteanp/IcedTeaNPPlugin.h, * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc, * plugin/icedteanp/IcedTeaPluginRequestProcessor.h, * plugin/icedteanp/IcedTeaPluginUtils.cc, * plugin/icedteanp/IcedTeaPluginUtils.h, * plugin/icedteanp/IcedTeaRunnable.cc, * plugin/icedteanp/IcedTeaRunnable.h, * plugin/icedteanp/IcedTeaScriptablePluginObject.cc, * plugin/icedteanp/IcedTeaScriptablePluginObject.h, * plugin/icedteanp/java/netscape/javascript/JSException.java, * plugin/icedteanp/java/netscape/javascript/JSObject.java, * plugin/icedteanp/java/netscape/javascript/JSObjectCreatePermission.java, * plugin/icedteanp/java/netscape/javascript/JSProxy.java, * plugin/icedteanp/java/netscape/javascript/JSRunnable.java, * plugin/icedteanp/java/netscape/javascript/JSUtil.java, * plugin/icedteanp/java/netscape/security/ForbiddenTargetException.java, * plugin/icedteanp/java/sun/applet/AppletSecurityContextManager.java, * plugin/icedteanp/java/sun/applet/GetMemberPluginCallRequest.java, * plugin/icedteanp/java/sun/applet/GetWindowPluginCallRequest.java, * plugin/icedteanp/java/sun/applet/JavaConsole.java, * plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java, * plugin/icedteanp/java/sun/applet/PasswordAuthenticationDialog.java, * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java, * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java, * plugin/icedteanp/java/sun/applet/PluginCallRequest.java, * plugin/icedteanp/java/sun/applet/PluginCallRequestFactory.java, * plugin/icedteanp/java/sun/applet/PluginClassLoader.java, * plugin/icedteanp/java/sun/applet/PluginCookieInfoRequest.java, * plugin/icedteanp/java/sun/applet/PluginCookieManager.java, * plugin/icedteanp/java/sun/applet/PluginDebug.java, * plugin/icedteanp/java/sun/applet/PluginException.java, * plugin/icedteanp/java/sun/applet/PluginMain.java, * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java, * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java, * plugin/icedteanp/java/sun/applet/PluginObjectStore.java, * plugin/icedteanp/java/sun/applet/PluginProxyInfoRequest.java, * plugin/icedteanp/java/sun/applet/PluginProxySelector.java, * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java, * plugin/icedteanp/java/sun/applet/RequestQueue.java, * plugin/icedteanp/java/sun/applet/TestEnv.java, * plugin/icedteanp/java/sun/applet/VoidPluginCallRequest.java, * plugin/tests/LiveConnect/DummyObject.java, * plugin/tests/LiveConnect/OverloadTestHelper1.java, * plugin/tests/LiveConnect/OverloadTestHelper2.java, * plugin/tests/LiveConnect/OverloadTestHelper3.java, * plugin/tests/LiveConnect/PluginTest.java, * plugin/tests/LiveConnect/build, * plugin/tests/LiveConnect/common.js, * plugin/tests/LiveConnect/index.html, * plugin/tests/LiveConnect/jjs_eval_test.js, * plugin/tests/LiveConnect/jjs_func_parameters_tests.js, * plugin/tests/LiveConnect/jjs_func_rettype_tests.js, * plugin/tests/LiveConnect/jjs_get_tests.js, * plugin/tests/LiveConnect/jjs_set_tests.js, * plugin/tests/LiveConnect/jsj_func_overload_tests.js, * plugin/tests/LiveConnect/jsj_func_parameters_tests.js, * plugin/tests/LiveConnect/jsj_func_rettype_tests.js, * plugin/tests/LiveConnect/jsj_get_tests.js, * plugin/tests/LiveConnect/jsj_set_tests.js, * plugin/tests/LiveConnect/jsj_type_casting_tests.js, * plugin/tests/LiveConnect/jsj_type_conversion_tests.js: Initial import from IcedTea6. * AUTHORS, * COPYING * INSTALL, * NEWS, * README: New documentation.