2013-11-29 Jiri Vanek Enabled file logging in plugin, user enabled to choose logs dir. * netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java: added text-field to show/edit logs' destination. Added reset to default button. * netx/net/sourceforge/jnlp/resources/Messages.propertie: added proper keys for new controls (CPFilesLogsDestDir) and (CPFilesLogsDestDirResert). (DPEnableLogging) changed to "Enable debugging", as it is better. * netx/net/sourceforge/jnlp/util/logging/FileLog.java: Filename of logs changed to be human readable and to distinguish between c/java * plugin/icedteanp/IcedTeaNPPlugin.cc: made aware of console (plugin_debug_to_console) added stream to log into file (plugin_file_log) and holder of name (plugin_file_log_name) Added various new lines to end of erorr/debug messages. Stream flushed, not closed on plugin shutdown. * plugin/icedteanp/IcedTeaNPPlugin.h: extern above three fields. * plugin/icedteanp/IcedTeaParseProperties.cc: added functionality to provide set or default log dir (get_log_dir), added (is_java_console_enabled) to determine logging to console * plugin/icedteanp/IcedTeaParseProperties.h: used glib.h, declared above functions * plugin/icedteanp/IcedTeaPluginUtils.cc: added (initFileLog) function to open correctly named, in proper palce and with correct permissions file for logging (generateLogFileName) generate human readable file name, as java do. (printDebugStatus) to debug status of logging * plugin/icedteanp/IcedTeaPluginUtils.h: headers generated once, and reused declared above functions. * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java: commented out useless "woken" debug message * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: made plugin_debug_to_console aware. 2013-11-27 Andrew Azores Made JNLPClassLoaderDeadlock reproducer more reliable * tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/JNLPClassLoaderDeadlock_1.java: Removed "AutoOkClosingListener" magic string * tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/JNLPClassLoaderDeadlock_2.java: same * tests/reproducers/custom/JNLPClassLoaderDeadlock/testcases/JNLPClassLoaderDeadlockTest.java: Changed AutoOkClosingListener to RulesFolowingClosingListener 2013-11-26 Jiri Vanek Reverted "fix to ManifestedJar1Test cases", better manifestedjar tests, added srtict test * netx/net/sourceforge/jnlp/Parser.java: added indentation, fixes condition in strict base check * netx/net/sourceforge/jnlp/ResourcesDesc.java: revertedt recently added throw * tests/reproducers/simple/ManifestedJar1/testcases/ManifestedJar1Test.java: (manifestedJar1main2mainNoAppDesc) adapted and (manifestedJar1main2mainNoAppDescStrict) added 2013-11-26 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getManifestAttribute) added check for null manifest to prevent npe. * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: added test for npe from getManifestAttribute * tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java: (createJarWithContents) enhanced to be able to create jar without manifest. 2013-11-25 Jiri Vanek * netx/net/sourceforge/jnlp/JNLPFile.java: (TITLE_NOT_FOUND) new constant holding the no title found string to be reused. (getTitleFromManifest) Now using that constant. * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: adding window erro message moved to be debug only. * ests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java: Added (clean) mechanism to filter out TITLE_NOT_FOUND * tests/reproducers/signed/ReadPropertiesBySignedHack/testcases/ReadPropertiesBySignedHackTest.java: * tests/reproducers/signed/ReadPropertiesSigned/testcases/ReadPropertiesSignedTest.java: * tests/reproducers/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: * tests/reproducers/simple/AllStackTraces/testcases/AllStackTracesTest.java * tests/reproducers/simple/CreateClassLoader/testcases/CreateClassLoaderTest.java * tests/reproducers/simple/ReadEnvironment/testcases/ReadEnvironmentTest.java * tests/reproducers/simple/ReadProperties/testcases/ReadPropertiesTest.java * tests/reproducers/simple/RedirectStreams/testcases/RedirectStreamsTest.java * tests/reproducers/simple/ReplaceSecurityManager/testcases/ReplaceSecurityManagerTest.java * tests/reproducers/simple/SetContextClassLoader/testcases/SetContextClassLoaderTest.java * tests/reproducers/simple/simpletest2/testcases/SimpleTest2Test.java Removed checks for emty outputs 2013-11-25 Jiri Vanek * netx/net/sourceforge/jnlp/ResourcesDesc.java: (getMainJAR) throw an RuntimeException when more then one main jar is specified. Preventing app to start. * tests/reproducers/simple/ManifestedJar1/testcases/ManifestedJar1Test.java: (manifestedJar1main2mainNoAppDesc), (manifestedJar1nothing2nothingAppDesc) fixed and adapted to change. 2013-11-22 Jiri Vanek * tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java: (init) enable logging to streams if disabled. 2013-11-13 Andrew Azores * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: add parameterized type information to several return types and local variables. Refactor for-loops and Enumeration iterations into for-each-loops. 2013-11-13 Andrew Azores * netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java: centers on-screen before appearing 2013-11-13 Jiri Vanek Added test-extension to silence stdout/err of itw when run from junit * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: now extends NoStdOutErrTest * tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java: same * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: same * tests/test-extensions/net/sourceforge/jnlp/util/logging/NoStdOutErrTest.java: new class with (disableStds) BeforeClass method and (restoreStds) AfterClass method which are responsible for silence all itw messages from extending test. 2013-11-13 Jiri Vanek Enabled access to manifests' attributes from JNLPFile class Implemented http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#app_name * netx/net/sourceforge/jnlp/JNLPFile.java: Added (manifestsAttributes) field. Added (ManifestsAttributes) inner class, to encapsulate access to attributes. (getTitle) can handle manifests too. * netx/net/sourceforge/jnlp/PluginBridge.java: is following app_name recommendations. * netx/net/sourceforge/jnlp/ResourcesDesc.java: (getMainJAR) made more granular * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (init) inject itself to file's ManifestsAttributes. (checkForAttributeInJars) renamed field mainClassInThisJar to attributeInThisJar. Added getter for mainClass. * netx/net/sourceforge/jnlp/security/CertWarningPane.java: bracketing cleanup. * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPFileTest.java: new test to check new functionalites * tests/netx/unit/net/sourceforge/jnlp/runtime/ResourcesDescTest.java: same * tests/test-extensions/net/sourceforge/jnlp/mock/DummyJNLPFileWithJar.java: can set info * NEWS: mentioned first u45 attribute 2013-11-10 Jiri Vanek Fixed lock in awt threads. JavaConsole window is now disposed instead of hidden. * netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: (lastSize) new global variable to remember last size of window.(contentPanel) moved from local to global scope. (initializeWindow) extracted from (initialize), is handling creation and filling of window. (showConsole) is now initializing window, and (hideConsole) is disposing it. Added override annotations and removed duplicate code. * netx/net/sourceforge/jnlp/util/logging/OutputController.java: messageQueConsumer thread is now named, and its wait, have timeout. 2013-11-10 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: removed suspicious return when (searchForMain) had null launchDesc 2013-11-07 Andrew Azores Reproducer test cleanup. Replaced ServerAccess.ProcessResult in favour of ProcessResult, and junit.framework.Assert in favour of org.junit.Assert. Other notable changes below. * tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java: (removeXdgValues, setXdgValues) list 'rr' uses parameterized type. (getContentOfDirectory) list 'result' uses parameterized type * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: (ProcessResult) inner class removed. (getBrowserParams) list 'l' uses parameterized type * tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java: (getChangedLocalesForSubproces) list 'rr' uses parameterized type * tests/reproducers/simple/LocalisedInformationElement/testcases/LocalisedInformationElementTest.java: same * tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java: constructor for (String, List, String) lists 'urledArgs' and 'otherArgs' use parameterized type. (stdoutl, stderrl) use parameterized type. * tests/test-extensions/net/sourceforge/jnlp/ContentReader.java: (listeners) use parameterized type 2013-11-05 Jiri Vanek Java console resurrected and connected to new logging. * NEWS: mentioned console for plugin and javaws * Changelog: removed one wrong tab * netx/net/sourceforge/jnlp/config/Defaults.java: added DeploymentConfiguration.CONSOLE_SHOW_PLUGIN, and DeploymentConfiguration.CONSOLE_SHOW_JAVAWS. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: added and javadoc-ed CONSOLE_SHOW_PLUGIN,CONSOLE_SHOW_JAVAWS, DISABLE, SHOW, HIDE, KEY_CONSOLE_STARTUP_MODE. * netx/net/sourceforge/jnlp/resources/Messages.properties: localized console * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java : removed legacy STD*_FILE * netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java: Added button to show console on demand. Added (getShowButton) method to share code with * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java: Added button to show console on demand and explaining line. * netx/net/sourceforge/jnlp/util/logging/JavaConsole.java: moved from plugin, and reworked. Especially get rid of perpetual loading of file. Made singleton. * netx/net/sourceforge/jnlp/util/logging/LogConfig.java: added (isLogToConsole) returning (JavaConsole.isEnabled) status. * netx/net/sourceforge/jnlp/util/logging/OutputController.java: added (Level.isError) and (Level.isOutput) methods to determine original channel, and can log to console. * plugin/icedteanp/java/sun/applet/JavaConsole.java: moved to netx * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: (streamhandler) made private with setter * plugin/icedteanp/java/sun/applet/PluginMain.java : removed legacy STD*_FILE, added set of classloaders information provider to console. (handlePluginMessage) show and hide of console is checking it's status. (showConsole) and (hideConsole) moved to JavaConsole. 2013-11-05 Andrew Azores * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: (addPermission) avoid NPE in JNLPClassLoader#getPermissions with debug enabled 2013-11-01 Jiri Vanek Synced headers between PLUGIN_DEBUG, PLUGIN_ERROR and javaside * netx/net/sourceforge/jnlp/util/logging/OutputController.java: (getHeader) added thread id and name to log header. * plugin/icedteanp/IcedTeaPluginUtils.h: (PLUGIN_DEBUG) (PLUGIN_ERROR) headers generation code moved to macro (CREATE_HEADER0). Both headers now contains pthread_self and g_thread_self. Fixed indentation. 2013-11-01 Jiri Vanek * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: added tests for custom attributes (getCustomAtributes), (getCustomAtributesEmpty) and test to ensure order during searching for attributes in manifests (checkOrderWhenReadingAttributes). * tests/test-extensions/net/sourceforge/jnlp/mock/DummyJNLPFileWithJar.java: can now handle multiple source jars, and set main jar (new constructors), (jarFiles) and (jarDescs) redeclared to arrays. 2013-10-30 Jiri Vanek * netx/net/sourceforge/jnlp/JARDesc.java: made immutable (location)(version)(part)(lazy)(main)(nativeJar)(cacheable) made final 2013-10-29 Andrew Azores Fix PR1513, signed applets with external main-class support * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources) ask for user approval rather than throwing LaunchException for signed applets with external main-class 2013-10-25 Jiri Vanek Plugin debug can now be controlled from itw_settings, in same way java side. For now ICEDTEAPLUGIN_DEBUG on the debug in same way as deployment.log itw-settings property. Individual logging streams are controlled by deployment.log.{headers,file,stdstreams,system} System and file are not yet fully done (same as java side in this moment). Streams are true, all others false by default. * plugin/icedteanp/IcedTeaNPPlugin.cc: initialized variables new bool variables (debug_initiated), (plugin_debug_headers), (plugin_debug_to_file), (plugin_debug_to_system) as false and (plugin_debug_to_streams) as true. * plugin/icedteanp/IcedTeaNPPlugin.h: above variables declared as extern * plugin/icedteanp/IcedTeaParseProperties.cc: initialization of (default_file_ITW_deploy_props_name) and (custom_jre_key) moved here from IcedTeaNPPlugin.h. New method (read_bool_property) and its more concrete shortcuts (is_debug_on) (is_debug_header_on) (is_logging_to_file) (is_logging_to_stds) (is_logging_to_system) implemented to access properties. * plugin/icedteanp/IcedTeaParseProperties.h: above methods declared. * plugin/icedteanp/IcedTeaPluginUtils.h: (PLUGIN_{ERROR,DEBUG}) methods adapted headers/debug/streams logic as described in title. Headers made more informative (like java side) * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on) extended to TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on_headers_off). TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off) extended to TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off_headers_off), and new tests TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on_headers_on) TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off_headers_on) (100x slower then without headers) 2013-10-25 Jiri Vanek all output messages redirected to PLUGIN_{DEBUG,ERROR} macros * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: affected * plugin/icedteanp/IcedTeaNPPlugin.cc: affected * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: affected * plugin/icedteanp/IcedTeaPluginUtils.cc: affected * plugin/icedteanp/IcedTeaPluginUtils.h: affected * plugin/icedteanp/IcedTeaRunnable.cc: affected * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: affected * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: added (TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on)) and (TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off)) which call new (doDebugErrorRun) and are measuring refactoring impacts. 2013-10-25 Jiri Vanek * netx/net/sourceforge/jnlp/util/logging/OutputController.java: (getCallerClass) now gets out also from sun.applet.PluginDebug class. 2013-10-24 Andrew Azores Fix array index out of bounds due to malformed plugin message (PR539) * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: (_getMember, _getString) append "null" to result when call is unsuccessful * tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.html: new test to ensure failed calls to getMember and getString on JSObject do not produce malformed results * tests/reproducers/simple/JSObjectWithoutToString/resources/JSObjectWithoutToString.js: same * tests/reproducers/simple/JSObjectWithoutToString/srcs/JSObjectWithoutToString.java: same * tests/reproducers/simple/JSObjectWithoutToString/testcases/JSObjectWithoutToStringTest.java: same 2013-10-23 Jiri Vanek C-part of plugin is now also trying to follow XDG * plugin/icedteanp/IcedTeaParseProperties.cc: (user_properties_file) is now using XDG cached dir or its default variant in case that old file do not (should not!) exists 2013-10-22 Omair Majid * netx/net/sourceforge/jnlp/util/logging/LogConfig.java (resetLogConfig): New method. * tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java (setUp, tearDown): New method. 2013-10-22 Jiri Vanek More synchronized error/debug methods * plugin/icedteanp/IcedTeaNPPlugin.cc: all occurrences of PLUGIN_ERROR_TWO and PLUGIN_ERROR_THREE replaced by PLUGIN_ERROR. PLUGIN_ERROR itself moved to * plugin/icedteanp/IcedTeaPluginUtils.h: (PLUGIN_ERROR) new fuction, now uses ... arguments and printf with __VA_ARGS__ instead of g_printerr (PLUGIN_DEBUG) now prints to stdout, instead of stderr which is used by (PLUGIN_ERROR). 2013-10-21 Jiri Vanek Logic to extract main class attribute generalized to common methods. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getMainClassName) is now calling (getManifestAttribute) (getManifestAttribute) new method, extract named attribute from url specified jar. Called by (checkForAttributeInJars) (checkForMain) is now calling (checkForAttributeInJars). Also logic of (checkForAttributeInJars) was taken from here. (checkForAttributeInJars) new method, read specific attribute from application jar(s) in specific order. 2013-10-20 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: (isPluginDebug) made private to prevent confusion. * plugin/icedteanp/java/sun/applet/PluginDebug.java: (DEBUG) initialized from JNLPRuntime.isDebug instead of incorrect JNLPRuntime.isPluginDebug. 2013-10-17 Andrew Azores Back out changeset 420d72e5cee7 due to breaking LiveConnect feature. http://mail.openjdk.java.net/pipermail/distro-pkg-dev/2013-October/024919.html * plugin/icedteanp/IcedTeaNPPlugin.cc: undo 420d72e5cee7 * plugin/icedteanp/IcedTeaPluginUtils.cc: undo 420d72e5cee7 * plugin/icedteanp/IcedTeaPluginUtils.h: undo 420d72e5cee7 * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: undo 420d72e5cee7 * plugin/icedteanp/IcedTeaScriptablePluginObject.h: undo 420d72e5cee7 * tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: undo 420d72e5cee7 2013-10-16 Andrew Azores Resolve deadlock issue when multiple applets are loaded simultaneously (RH976833) * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (loadClassLock) private member for locking of loadClass method. (loadClass) synchronizes using new lock rather than instance intrinsic lock to avoid RH976833 deadlock * tests/reproducers/custom/JNLPClassLoaderDeadlock/testcases/JNLPClassLoaderDeadlockTest.java: new test for multiple applet deadlock condition * tests/reproducers/custom/JNLPClassLoaderDeadlock/resources/JNLPClassLoaderDeadlock.html: same * tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/JNLPClassLoaderDeadlock_1.java: same * tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/JNLPClassLoaderDeadlock_2.java: same * tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/Makefile: same 2013-10-11 Andrew Azores * netx/net/sourceforge/jnlp/security/SecurityDialog.java: (initDialog) centerDialog called in init rather than on windowOpened event 2013-10-09 Omair Majid * plugin/icedteanp/java/sun/applet/PluginProxySelector.java (computeKey): New method. (getFromBrowser, checkCache): Call computeKey. 2013-10-09 Omair Majid * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (requestPluginProxyInfo): Accept a String instead of URI. (convertUriSchemeForProxyQuery): Move to ... * plugin/icedteanp/java/sun/applet/PluginProxySelector.java (convertUriSchemeForProxyQuery): Here. (getFromBrowser): Call convertUriSchemeForProxyQuery. * tests/netx/unit/sun/applet/PluginAppletViewerTest.java (testConvertUriSchemeForProxyQuery), (assertQueryForBrowserProxyUsesHttpFallback), (assertQueryForBrowserProxyContainsNoDoubleSlashes), (assertQueryForBrowserProxyDoesNotChangeQuery): Move to ... * tests/netx/unit/sun/applet/PluginProxySelectorTest.java: Here. 2013-10-07 Andrew Azores DeploymentConfiguration properties reproducer fix * tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java: update test to reflect changed log directory 2013-10-03 Andrew Azores PR1204 patch regression fix * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: (getVersionedUrl) fix regression in previous PR1204 patch. Refactor to not take Resource parameter, use instance's field instead. (uriPartToString) new method * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java: new tests for ResourceUrlCreator.getVersionedUrl 2013-10-03 Jacob Wisor * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: Moved JButtons to members. (addComponents): Modified to make use of new NonEditableTableModel. Added ListSelectionListener to propertly handle enabling and disabling of operational JButtons when selecting a resource from the cache table. Moved inital populating of the cache table to CacheViewer's constructor until after the CachePane has been instatiated. Added a general purpose Comparator for all non-String columns in the table model. Added a TableCellRenderer with proper localized rendering of "Size" and "Last Modified" columns as well as the content of "Name" and "Path" columns. (createButtonPanel): Moved delete operation into new method invokeDeleteLater(), added mouse cursor busy indicator, and proper handling of enabling and disabling of operational JButtons when pushing the delete button. Moved refresh operation when pushing the refresh button into new method invokePopulateLater() and added proper handling of enabling and disabling of operational JButtons while refreshing. Replaced closing the cache viewer dialog via JDialog.dispose() when pushing the delete button by a post of the WindowEvent.WINDOW_CLOSING event to the CacheViewer dialog in order to effectively remove the newly introduced KeyEventDispatcher. (invokeDeleteLater): New method: Posts an event to the event queue deleting the currently selected resource. (invokePopulateLater): New method: Posts an event to the event queue repopulating the cache table. (populateTable): Added mouse cursor busy indicator. (generateData): Modified cache table's per row data model for proper rendering and sorting to: DirectoryNode, File, String, String, Long, Date. * netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java: (CacheViewer): Added null parameter check. Added a KeyEventDispatcher to enable closing the CacheViewer dialog on a KeyEvent.VK_ESCAPE key event. Replaced closing the cache viewer dialog via JDialog.dispose() by a post of the WindowEvent.WINDOW_CLOSING event to the CacheViewer dialog in order to effectively remove the newly introduced KeyEventDispatcher. * netx/net/sourceforge/jnlp/util/ui/NonEditableTableModel.java: Added a new table model that in effect is a javax.swing.table.DefaultTableModel except for no cell being editable. * netx/net/sourceforge/jnlp/util/ui/package-info.java: Added new package for UI common and recurrung UI tasks with documentation 2013-10-01 Omair Majid * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java (BrowserAwareProxySelector): Split off browser-specific work into .. (initialize): New method. (initFromBrowserConfig): Delegate reading browser preferences to .. (parseBrowserPreferences): New method. (getFromBrowserConfiguration): Delegate to JNLPProxySelector.getFromArguments. * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java (getFromConfiguration): Move logic into getFromArguments; delegate to it. (getFromArguments): Renamed from getFromConfiguration. Handle optionally using the http host/port for socket addresses. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Call BrowserAwareProxySelector.initialize. * tests/netx/unit/net/sourceforge/jnlp/browser/BrowserAwareProxySelectorTest.java: New file. 2013-10-01 Omair Majid * plugin/icedteanp/java/sun/applet/PluginProxySelector.java (getFromBrowser): Move call to PluginAppletViewer.requestPluginProxyInfo into new method. (getProxyFromRemoteCallToBrowser): New method. * tests/netx/unit/sun/applet/PluginProxySelectorTest.java: New file. 2013-09-26 Andrew Azores Fix for PR1204. Absolute paths in resource URLs are correctly handled when appended to host URLs and URL query strings are not removed. * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: (getVersionedUrlUsingQuery) renamed to getVersionedUrl, refactored construction of URL * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (requestPluginProxyInfo) extracted proxy URI logic. (processProxyUri) new method for finding proxy URIs, handles absolute resource paths correctly * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java: added tests for ResourceUrlCreator#getVersionedUrl * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: added tests for PluginAppletViewer.processProxyUri * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.html: new reproducer checks that absolute paths and query strings in resource URLs are properly handled, and caching still works * tests/reproducers/simple/AbsolutePathsAndQueryStrings/resources/AbsolutePathsAndQueryStrings.jnlp: same * tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/AbsolutePathsAndQueryStrings.java: same 2013-09-25 Andrew Azores * Makefile.am: clean up summary_unit.txt and summary_reproducers.txt for "clean" goal 2013-09-25 Jiri Vanek Added logging bottleneck * netx/net/sourceforge/jnlp/AbstractLaunchHandler.java: extracted system.out/err and printStackTrace in favour of outputController.log methods. Same all below * netx/net/sourceforge/jnlp/DefaultLaunchHandler.java * netx/net/sourceforge/jnlp/ExtensionDesc.java * netx/net/sourceforge/jnlp/GuiLaunchHandler.java * netx/net/sourceforge/jnlp/JNLPFile.java * netx/net/sourceforge/jnlp/JNLPMatcher.java * netx/net/sourceforge/jnlp/JNLPSplashScreen.java * netx/net/sourceforge/jnlp/Launcher.java * netx/net/sourceforge/jnlp/MalformedXMLParser.java * netx/net/sourceforge/jnlp/NetxPanel.java * netx/net/sourceforge/jnlp/Parser.java * netx/net/sourceforge/jnlp/PluginBridge.java * netx/net/sourceforge/jnlp/SecurityDesc.java * netx/net/sourceforge/jnlp/StreamEater.java * netx/net/sourceforge/jnlp/XmlParser.java * netx/net/sourceforge/jnlp/about/HTMLPanel.java * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesFinder.java * netx/net/sourceforge/jnlp/browser/FirefoxPreferencesParser.java * netx/net/sourceforge/jnlp/cache/CacheDirectory.java * netx/net/sourceforge/jnlp/cache/CacheEntry.java * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java * netx/net/sourceforge/jnlp/cache/CacheUtil.java * netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java * netx/net/sourceforge/jnlp/cache/Resource.java * netx/net/sourceforge/jnlp/cache/ResourceTracker.java * netx/net/sourceforge/jnlp/config/Defaults.java * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java * netx/net/sourceforge/jnlp/controlpanel/CachePane.java * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java * netx/net/sourceforge/jnlp/controlpanel/DebuggingPanel.java * netx/net/sourceforge/jnlp/controlpanel/DocumentAdapter.java * netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java * netx/net/sourceforge/jnlp/resources/Messages.properties * netx/net/sourceforge/jnlp/resources/Messages_cs.properties * netx/net/sourceforge/jnlp/resources/Messages_de.properties * netx/net/sourceforge/jnlp/resources/Messages_pl.properties * 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/CachedJarFileCallback.java * netx/net/sourceforge/jnlp/runtime/FakePacEvaluator.java * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java * netx/net/sourceforge/jnlp/runtime/JNLPPolicy.java * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java * netx/net/sourceforge/jnlp/runtime/PacEvaluatorFactory.java * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java * netx/net/sourceforge/jnlp/security/CertWarningPane.java * netx/net/sourceforge/jnlp/security/CertificateUtils.java * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java * netx/net/sourceforge/jnlp/security/KeyStores.java * netx/net/sourceforge/jnlp/security/SecurityDialog.java * netx/net/sourceforge/jnlp/security/SecurityDialogMessageHandler.java * netx/net/sourceforge/jnlp/security/SecurityUtil.java * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java * netx/net/sourceforge/jnlp/security/viewer/CertificatePane.java * netx/net/sourceforge/jnlp/services/ServiceUtil.java * netx/net/sourceforge/jnlp/services/XBasicService.java * netx/net/sourceforge/jnlp/services/XPersistenceService.java * netx/net/sourceforge/jnlp/services/XPrintService.java * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java * netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java * netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java * netx/net/sourceforge/jnlp/tools/CertInformation.java * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java * netx/net/sourceforge/jnlp/util/BasicExceptionDialog.java * netx/net/sourceforge/jnlp/util/FileUtils.java * netx/net/sourceforge/jnlp/util/HttpUtils.java * netx/net/sourceforge/jnlp/util/ImageResources.java * netx/net/sourceforge/jnlp/util/PropertiesFile.java * netx/net/sourceforge/jnlp/util/Reflect.java * netx/net/sourceforge/jnlp/util/StreamUtils.java * netx/net/sourceforge/jnlp/util/TimedHashMap.java * netx/net/sourceforge/jnlp/util/UrlUtils.java * netx/net/sourceforge/jnlp/util/XDesktopEntry.java * netx/net/sourceforge/nanoxml/XMLElement.java * plugin/icedteanp/java/netscape/javascript/JSRunnable.java * plugin/icedteanp/java/sun/applet/JavaConsole.java * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java * plugin/icedteanp/java/sun/applet/PluginAppletViewer.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/PluginProxyInfoRequest.java * plugin/icedteanp/java/sun/applet/PluginProxySelector.java * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java * tests/netx/unit/net/sourceforge/jnlp/DefaultLaunchHandlerTest.java * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java * tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java * tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java * tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java * netx/net/sourceforge/jnlp/util/logging/FileLog.java: new file, derived from AppletLog. Now have responsibility to log to custom file. * netx/net/sourceforge/jnlp/util/logging/LogConfig.java: new file derived from Log * netx/net/sourceforge/jnlp/util/logging/OutputController.java: new bottleneck for logging * netx/net/sourceforge/jnlp/util/logging/PrintStreamLogger.java: logger to std.streams * netx/net/sourceforge/jnlp/util/logging/SingleStreamLogger.java: interface common to all new loggers * netx/net/sourceforge/jnlp/util/logging/UnixSystemLog.java: not yet implemented susytem log * netx/net/sourceforge/jnlp/util/logging/WinSystemLog.java: not yet implemented susytem log * tests/netx/unit/net/sourceforge/jnlp/util/logging/FileLogTest.java: new set of tests * tests/netx/unit/net/sourceforge/jnlp/util/logging/OutputControllerTest.java: new set of tests * tests/netx/unit/net/sourceforge/jnlp/util/logging/PrintStreamLoggerTest.java: new set of tests * netx/net/sourceforge/jnlp/AppletLog.java: removed * netx/net/sourceforge/jnlp/Log.java: rmeoved 2013-09-24 Omair Majid PR1474 * NEWS: Update with bug. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Document KEY_PROXY_SAME. * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java (getFromConfiguration): Same proxy is not applicable to SOCKS. Always include SOCKS proxy if available. * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java (testHttpFallsBackToManualSocksProxy): New method. (testManualSameProxy): Remove test for socket protocol. 2013-09-23 Omair Majid * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java (BrowserAwareProxySelector): Rename to... (BrowserAwareProxySelector(DeploymentConfiguration)): New method. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Clarify possible values for KEY_PROXY_TYPE. * netx/net/sourceforge/jnlp/runtime/JNLPProxySelector.java (JNLPProxySelector): Rename to... (JNLPProxySelector(DeploymentConfiguration)): New method. (parseConfiguration): Rename to... (parseConfiguration(DeploymentConfiguration)): New method. (inBypassList): Get host from URI instead of manual hacks. (getProxiesFromPacResult): Clarify return value. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Adjust for new BrowserAwareProxySelector constructor. * plugin/icedteanp/java/sun/applet/PluginMain.java (init): Adjust for new PluginProxySelector constructor. * plugin/icedteanp/java/sun/applet/PluginProxySelector.java (PluginProxySelector): New constructor. * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPProxySelectorTest.java: New file. 2013-09-20 Omair Majid * netx/net/sourceforge/jnlp/InformationDesc.java (InformationDesc): Remove JNLPFile argument. (getJNLPFile): Remove. * netx/net/sourceforge/jnlp/JNLPFile.java (getInformation): Adjust to new InformationDesc constructor. * netx/net/sourceforge/jnlp/Parser.java (getInformation): Likewise. * tests/netx/unit/net/sourceforge/jnlp/InformationDescTest.java: New file. 2013-09-19 Jana Fabrikova Added text only reports from reproducers and unit tests run * tests/report-styles/textreport.xls: style for generating summary output in summary_reproducers.txt and summary_unit.txt * Makefile.am: added generating the text reports in run-netx-dist-tests goal 2013-09-18 Jiri Vanek Removed java 1.3 comaptible (redundant) code from ParseException * netx/net/sourceforge/jnlp/ParseException.java: (ParseException) modified to support super call only, (getCause) and both (printStackTrace) removed 2013-09-16 Andrew Azores Fix ResourcesTest reproducer. * tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java: fixed formatting, removed commented lines. (testBrowser): assertion that ~/.mozilla/plugins directory exists removed. Renamed (userPluginDir, defaultPluginDir, userPlugins, defaultPlugins) 2013-09-16 Omair Majid * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java (toList): Remove. (checkForMainFileLeakTest): Use Arrays.asList. * tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java (toList): Remove. (testToRelativePaths): Use Arrays.asList. 2013-09-16 Jiri Vanek * Makefile.am: returned modified (EXTRA_DIST) variable. It is enriched for netx-dist-tests-whitelist and NEW_LINE_IFS to enable reproducers tests in dist tarball. 2013-09-16 Deepak Bhole CVE-2012-4540, RH869040: Heap-based buffer overflow after triggering event attached to applet * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Removed unnecessary heap allocations. 2013-09-13 Andrew Azores * tests/test-extensions/net/sourceforge/jnlp/tools/MessageProperties.java: new utility class to handle retrieving localized messages for reproducers * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest.java: refactored to use new MessageProperties class * tests/test-extensions-tests/net/sourceforge/jnlp/MessagePropertiesTest.java: tests for new MessageProperties class 2013-09-11 Jacob Wisor * netx/net/sourceforge/jnlp/controlpanel/TemporaryInternetFilesPanel.java Made temporary files location JFileChooser open at the currently specified location Made temporary files location JFileChooser display a helpful title Removed misleading "All Files" file filter from JFileChooser * netx/net/sourceforge/jnlp/resources/Messages.properties Added new message to resources for JFileChooser's choose button * netx/net/sourceforge/jnlp/resources/Messages_cs.properties Added new message to resources for JFileChooser's choose button Fixed a few inconsistent messages in resource files * netx/net/sourceforge/jnlp/resources/Messages_de.properties Added new message to resources for JFileChooser's choose button Fixed a few inconsistent messages in resource files * netx/net/sourceforge/jnlp/resources/Messages_pl.properties Added new message to resources for JFileChooser's choose button Fixed a few inconsistent messages in resource files 2013-09-09 Omair Majid * netx/net/sourceforge/jnlp/JNLPFile.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. Look up jnlp.packEnabled and jnlp.versionEnabled in any resources element. * netx/net/sourceforge/jnlp/PluginBridge.java (getDownloadOptionsForJar): Rename to ... (getDownloadOptions): New method. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Invoke file.getDownloadResources. (getDownloadOptionsForJar): Remove. * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java (testDownloadOptionsAppliedEverywhere): New method. (testDownloadOptionsFilteredOut): New method. 2013-09-04 Andrew Azores * netx/net/sourceforge/jnlp/config/Defaults.java: (USER_CACHE_HOME) made public for use in CacheReproducer * tests/reproducers/signed/CacheReproducer/testcases/CacheReproducerTest: updated "could not clear cache" message and cache location. Other minor cleanup 2013-09-04 Andrew Azores * netx/net/sourceforge/jnlp/security/SecurityDialogs.java: (getIntegerResponseAsBoolean) extracted integer response casting/handling logic into new method * tests/netx/unit/net/sourceforge/jnlp/security/SecurityDialogsTest.java: new unit test for SecurityDialogs#getIntegerReponseAsBoolean() 2013-09-04 Adam Domurad * netx/net/sourceforge/jnlp/Launcher.java: Fix applet context being null during applet init & start. 2013-08-29 Omair Majid * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java (testPropertyRestrictions): New method. Check that properties in resources are are combined and filtered as appropriate. 2013-08-29 Omair Majid PR1058 * netx/net/sourceforge/jnlp/services/XFileOpenService.java (openMultiFileDialog): Create a privileged proxy for each FileContents instance and return an array of them. 2013-08-27 Adam Domurad Do not wait for applet initialization when binding Java applets for NPAPI. * plugin/icedteanp/IcedTeaNPPlugin.cc: Refactor to use lazy-initialized javascript applet binding. * plugin/icedteanp/IcedTeaPluginUtils.cc: Make use of new helper class, introduce (stringPrintf), introduce NPObjectRef. * plugin/icedteanp/IcedTeaPluginUtils.h: Same. * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Allow IcedTeaScriptableJavaObject to be lazy-initialized, introduce lazy-initializing (get_scriptable_applet_object). * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same. * tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: Adapt test to new helper class. 2013-08-23 Adam Domurad Spawn Java side during C++ unit tests. Many new tests. * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc (hasPackage): Minor cleanup. * plugin/icedteanp/IcedTeaNPPlugin.cc (initialize_data_directory): New, extracted function. (NP_Initialize): Calls extracted function. * plugin/icedteanp/IcedTeaNPPlugin.h: Expose more functions for testing purposes. * tests/cpp-unit-tests/IcedTeaNPPluginTest.cc (get_scriptable_package_object): Test binding of java package (get_scriptable_java_object): Test binding of java object * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc (NPIdentifierAsString): Update to create npidentifier properly. * tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc (getProperty): Test loading java.lang.Integer.MAX_VALUE from C++. * tests/cpp-unit-tests/MemoryLeakDetector.h (reset_global_state): Made public * tests/cpp-unit-tests/checked_allocations.h (SafeAllocator): New, typedef for allocator that avoids leak detection. * tests/cpp-unit-tests/browser_mock.cc (browsermock_setup_functions): Renamed to (browsermock_create_table). (browsermock_create_table): Now returns browser table, additional object release and identifier methods added. * tests/cpp-unit-tests/browser_mock.h: Update for rename. * tests/cpp-unit-tests/main.cc: Now clears state via (reset_global_state) * tests/cpp-unit-tests/IcedTeaJavaRequestProcessorTest.cc: New, contains unit tests that cover all of JavaRequestProcessor's methods. * tests/cpp-unit-tests/browser_mock_npidentifier.cc: Allocation-safe npidentifier mocking, adheres to NPAPI spec. * tests/cpp-unit-tests/browser_mock_npidentifier.h: Same. 2013-08-23 Adam Domurad * plugin/icedteanp/IcedTeaNPPlugin.cc: Refactor plugin data creation. * plugin/icedteanp/IcedTeaNPPlugin.h: Same. 2013-08-19 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Evaluate javascript when it shows up in a 'showDocument' call. * plugin/icedteanp/java/sun/applet/PluginMain.java: Install arbitrary 'javascript:' protocol handler. * tests/rproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.html: Tests if javascript is run from a test applet using showDocument. * tests/reproducers/simple/JavascriptURLProtocol/resources/JavascriptProtocol.js: Same. * tests/reproducers/simple/JavascriptURLProtocol/srcs/JavascriptProtocol.java: Same. * tests/reproducers/simple/JavascriptURLProtocol/testcases/JavascriptProtocolTest.java: Same. 2013-08-15 Andrew Azores * netx/net/sourceforge/jnlp/ParserSettings.java: (globalParserSettings) static ParserSettings instance to store settings. (setGlobalParserSettingsFromArgs) Determine, store, and return globalParserSettings. (getGlobalParserSettings) return stored ParserSettings * netx/net/sourceforge/jnlp/PluginBridge.java: (extensionJars) stores list of JNLP extensions. (getResources) returns this list * netx/net/sourceforge/jnlp/runtime/Boot.java: minor refactor to use ParserSettings.setGlobalParserSettingsFromArgs() * tests/netx/unit/net/sourceforge/jnlp/ParserSettingsTest.java: ensure that ParserSettings.setGlobalParserSettingsFromArgs() works as intended * tests/reproducers/custom/ExtensionJnlpsInApplet/testcases/ExtensionJnlpsInAppletTest.java: tests browser launch of HTML file with embedded JNLP applet referencing extension JNLP * tests/reproducers/custom/ExtensionJnlpsInApplet/resources/ExtensionJnlpHelper.jnlp: same * tests/reproducers/custom/ExtensionJnlpsInApplet/resources/ExtensionJnlpTest.html: same * tests/reproducers/custom/ExtensionJnlpsInApplet/resources/ExtensionJnlpTestApplet.jnlp: same * tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/ExtensionJnlpHelper.java: same * tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/ExtensionJnlpTestApplet.java: same * tests/reproducers/custom/ExtensionJnlpsInApplet/srcs/Makefile: same 2013-08-13 Andrew Azores * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: no longer sends HTTP 400 BAD REQUEST messages * test/test-extensions-tests/net/sourceforge/jnlp/TinyHttpdImplTest.java: removed "bad request" test 2013-08-12 Andrew Azores * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: refactored * tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java: TinyHttpdImpl constructor changed, reflecting this here * tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java: removed TinyHttpdImpl tests * tests/test-extensions-tests/net/sourceforge/jnlp/TinyHttpdImplTest.java: new unit tests for TinyHttpdImpl and moved old tests out of ServerAccessTest 2013-08-01 Andrew Azores * .hgignore: ignore generated HTML files (from AboutDialog) 2013-07-30 Adam Domurad * plugin/icedteanp/IcedTeaPluginUtils.cc (NPIdentifierAsString): Leak-free utf8fromidentifier wrapper. * plugin/icedteanp/IcedTeaPluginUtils.h: Same. * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Update calls * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Same. * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same. * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc (NPIdentifierAsString): New, tests utility function * tests/cpp-unit-tests/browser_mock.cc (mock_utf8fromidentifier): New, mocks NPAPI function 2013-07-30 Jiri Vanek * tests/reproducers/simple/simpletest1/resources/favicon.ico: new file should be served by test server in reproducers run and so prevent FNF exception * ChangeLog: fixed few entries below (added emty line between author and body) 2013-07-25 Andrew Azores * netx/net/sourceforge/jnlp/about/AboutDialog.java (AboutDialog, display): removed "throws IOException" * netx/net/sourceforge/jnlp/about/HTMLPanel.java (HTMLPanel): removed "throws IOException" and changed try/catch to catch IOException rather than Exception * netx/net/sourceforge/jnlp/controlpanel/AboutPanel.java: removed try/catch around AboutDialog.display() call * netx/net/sourceforge/jnlp/runtime/Boot.java (main): same * netx/net/sourceforge/jnlp/splashscreen/impls/DefaultSplashScreens2012Commons.java: same 2013-07-22 Andrew Azores * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java: (getProxiesWithoutCaching) added java.vm.name read permission to fix Rhino parsing and PAC proxy configuration 2013-07-18 Jiri Vanek IcedTea-Web is now following XDG .config and .cache specification(RH947647) * tests/reproducers/simple/simpletest1/testcases/XDGspecificationTests.java new file, test if XDG specification and trasnfer to it are followed correctly, * NEWS: mentioned new feature * Makefile.am: (PUBLIC_KEYSTORE) repalced by (PUBLIC_KEYSTORE_STUB) which is now holding only internal part of path.(exported-test-certs) (netx-dist-tests-import-cert-to-public) (netx-dist-tests-remove-cert-from-public) are now resolving XDG variable and setting real path of PUBLIC_KEYSTORE by resolved value and (PUBLIC_KEYSTORE) * netx/net/sourceforge/jnlp/cache/CacheLRUWrapper.java: changed to be public and recently_used strign extracted to (CACHE_INDEX_FILE_NAME) constant * netx/net/sourceforge/jnlp/config/Defaults.java: is now resovling and propagating XDG_CONFIG/CACHE_HOME specification. (USER_HOME) repalced by (USER_CACHE_HOME) and (USER_CONFIG_HOME). (move14AndOlderFilesTo15Structure) new method responsible for moving of old data to new locations. (move14AndOlderFilesTo15StructureCatched) the same but with catch block * netx/net/sourceforge/jnlp/controlpanel/CachePane.java: * tests/netx/unit/net/sourceforge/jnlp/cache/CacheLRUWrapperTest.java: * tests/netx/unit/net/sourceforge/jnlp/util/PropertiesFileTest.java: are now using (CACHE_INDEX_FILE_NAME) * netx/net/sourceforge/jnlp/controlpanel/CommandLine.java: (main) * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: (main) * netx/net/sourceforge/jnlp/runtime/Boot.java: (main) * plugin/icedteanp/java/sun/applet/PluginMain.java: (main) are now calling DeploymentConfiguration.move14AndOlderFilesTo15StructureCatched asap. * netx/net/sourceforge/jnlp/util/FileUtils.java: various file manipulation methods moved inside here from test-extensions - (saveFile) (getContentOfStream) (loadFileAsString) - to avoid duplications * tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java: for puposes of new test added constructor with string instead of URL * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: see FileUtils.java 2013-07-17 Jiri Vanek About dialogue made accessible from plugin * netx/net/sourceforge/jnlp/about/AboutDialog.java: (frame) re-declared to be Dialogue instead of JFrame and allowed to be modal if necessary. Caption internationalized. * netx/net/sourceforge/jnlp/splashscreen/impls/DefaultSplashScreens2012Commons.java: Added listener for upper right caption to show AboutDialog * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java: (drawBase) if enough space, adding about "button" * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java: added about button * tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashScreenTest.java: minor modifications related to this change 2013-07-17 Jiri Vanek about dialogue now available from itw-settings * netx/net/sourceforge/jnlp/controlpanel/AboutPanel.java: added button to launch about dialogue * netx/net/sourceforge/jnlp/resources/Messages.propertie: (CPAboutInfo) Adapted to be more accurate to select-able JVM 2013-07-17 Jiri Vanek Jacob Wisor added some missing de and pl strings * netx/net/sourceforge/jnlp/resources/Messages.properties: fixed about dialogue comment * netx/net/sourceforge/jnlp/resources/Messages_cs.properties: removed keystore comment * netx/net/sourceforge/jnlp/resources/Messages_de.properties: * netx/net/sourceforge/jnlp/resources/Messages_pl.properties: added AboutDialogueTabAbout AboutDialogueTabAuthors AboutDialogueTabChangelog AboutDialogueTabNews AboutDialogueTabGPLv2 localizations 2013-07-11 Andrew Azores * NEWS: added entry regarding new About Dialogue * netx/net/sourceforge/jnlp/about/AboutDialog.java: fixed localization of label on News tab 2013-07-11 Andrew Azores * Makefile.am (stamps/html-gen): moved plaintext-to-HTML logic into new shell script * html-gen.sh: contains plaintext-to-HTML logic previously found in Makefile.am. Added a sed expression to cause ChangeLog file listing entries to be underlined. 2013-07-06 Jiri Vanek Andrew Azores New about dialogue * Makefile.am (stamps/netx-html-gen): removed logic for extras.jar, added new stamp to create HTML for AboutDialog * netx/net/sourceforge/jnlp/about/AboutDialog.java: Moved out of extras into netx and renamed from Main. New Swing layout and uses HTML files generated in Makefile. * netx/net/sourceforge/jnlp/about/HTMLPanel.java: Moved out of extras into netx. Added ability to click hyperlinks. * netx/net/sourceforge/jnlp/runtime/Boot.java (main, getAboutFile, getJNLPFile, itwInfoMessage): changed way of launching About dialog to using new static display method rather than JNLP launch. Removed methods relating to JNLP launch. More informative and nicely formatted -headless information. * netx/net/sourceforge/jnlp/resources/Messages.properties (BAboutITW, BFileInfoAuthors, BFileInfoCopying, BFileInfoNews): added new messages for javaws -about -headless launch * netx/net/sourceforge/jnlp/resources/about.html: moved out of extras into netx. Added more content, changed formatting. * netx/net/sourceforge/jnlp/resources/about.jnlp: removed, no longer needed * netx/net/sourceforge/jnlp/resources/itw_logo.png: new image for About dialog. Modified version of javaws_splash.png * netx/net/sourceforge/jnlp/resources/jamIcon.jpg: moved out of extras into netx * extra/net/sourceforge/javaws/about/HTMLPanel.java: moved into netx * extra/net/sourceforge/javaws/about/Main.java: same * extra/net/sourceforge/javaws/about/resources/about.html: same * extra/net/sourceforge/javaws/about/resources/jamIcon.jpg: same * extra/net/sourceforge/javaws/about/resources/applications.html: removed * extra/net/sourceforge/javaws/about/resources/notes.html: removed 2013-06-28 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java (handleMessage): Fix potential NPE on 'GetValue' 2013-06-25 Jiri Vanek * acinclude.m4: (IT_CHECK_FOR_TAGSOUP) is now correctly setting HAVE_TAGSOUP when it is not found 2013-06-24 Jiri Vanek JNLP file is now re-downloading only if is local and have href * /netx/net/sourceforge/jnlp/Launcher.java: (launch) api cleared from (fromSource). (fromUrl) removed always re-downloading code and replaced by conditional. (launchBackground), (toFile), (BgRunner) removed. * netx/net/sourceforge/jnlp/runtime/Boot.java: following new (launch) * tests/reproducers/simple/GeneratedId/srcs/GeneratedId.java: just arguments reprinting application * tests/reproducers/simple/GeneratedId/testcases/GeneratedIdTest.java various tests based on href/no href x local/remote jnlp files * tests/reproducers/simple/GeneratedId/resources/GeneratedId.jnlp: base simple jnlp with someId argument * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: reprinting the get/head correctly and with echo * NEWS: mentioned PR1473 2013-06-21 Adam Domurad * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Simplify IcedTeaScriptableJavaObject * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same 2013-06-21 Adam Domurad * plugin/icedteanp/IcedTeaScriptablePluginObject.cc: Move 'get_scriptable_java_package_object' and 'get_scriptable_java_object' into their correct respective classes. * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same. * plugin/icedteanp/IcedTeaNPPlugin.cc: Update references. * plugin/icedteanp/IcedTeaPluginUtils.cc: Same. * tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: Same. 2013-06-21 Adam Domurad * plugin/icedteanp/IcedTeaScriptablePluginObject.cc (IcedTeaScriptablePluginObject::get_scriptable_java_package_object): Fix memory leak due to allocated NPClass. (IcedTeaScriptableJavaPackageObject::get_scriptable_java_object): Same. 2013-06-21 Adam Domurad * plugin/icedteanp/IcedTeaPluginUtils.cc: Add global state clearing utility functions. * plugin/icedteanp/IcedTeaPluginUtils.h: Same. * tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: Test scriptable object creation and destruction. * tests/cpp-unit-tests/browser_mock.cc (mock_createobject): New, mocks NPAPI 'createobject'. * tests/cpp-unit-tests/MemoryLeakDetector.h: New, memory leak detection utility class. * tests/cpp-unit-tests/main.cc (ReportTestFinish): Print which tests resulted in memory leaks. 2013-06-21 Jiri Vanek Adam Domurad Omair Majid Added tagsup (optional dependence) as sanitizer for (possibly) invalid xml files * Makefile.am: (LAUNCHER_BOOTCLASSPATH) (PLUGIN_BOOTCLASSPATH) (NETX_CLASSPATH_ARG) (PLUGIN_COVERAGE_BOOTCLASSPATH) enriched for TAGSOUP_JAR * acinclude.m4: (IT_CHECK_FOR_TAGSOUP) new macro * configure.ac: used this new macro * tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java: * netx/net/sourceforge/jnlp/JNLPCreator.java: (create) * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: * /netx/net/sourceforge/jnlp/JNLPFile.java: (JNLPFile) construcotrs * netx/net/sourceforge/jnlp/PluginBridge.java * netx/net/sourceforge/jnlp/Launcher.java: (main) all adapted to take ParserSettings instead of individual parameters * netx/net/sourceforge/jnlp/MalformedXMLParser.java: new file, bridge between tagsoup and our parser * netx/net/sourceforge/jnlp/XmlParser.java: new file, bridge to old parser * netx/net/sourceforge/jnlp/Parser.java: refactored to be able both with * netx/net/sourceforge/jnlp/ParserSettings.java: reworked to serve as gatherer for various individual parser flags * netx/net/sourceforge/jnlp/resources/Messages.propertie: (BOXml) new key describing -xml switch * tests/netx/unit/net/sourceforge/jnlp/ParserCornerCases.java: * tests/netx/unit/net/sourceforge/jnlp/ParserMalformedXml.java: * tests/netx/unit/net/sourceforge/jnlp/ParserTest.java: Tests adapted to newest state (both for included/excluded tagsoup) and new (testTagNotClosedNoTagSoup) (testUnquotedAttributesNoTagSoup) 2013-06-20 Jiri Vanek Removed out-of date support for jdk 1.5 and older * netx/net/sourceforge/jnlp/runtime/Boot.java: removed memories to Boot13 * netx/net/sourceforge/jnlp/runtime/Boot13.java: removed 2013-06-20 Jiri Vanek Made it work with OpenJDK build 25 * netx/net/sourceforge/jnlp/runtime/Boot.java: (main) Application context created as soon as possible * plugin/icedteanp/java/sun/applet/PluginMain.java:(main) Application context created as soon as possible * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Do not consume exception after setLookAndFeel. 2013-06-18 Andrew Azores * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: extracted some lines out of run() into new method urlToFilePath() * tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java: unit tests added for new urlToFilePath() 2013-06-06 Jiri Vanek Andrew Azores Handled semicolon in internal server * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: added stripHttpPathParams method to remove semicolon-delimited "tags" from end of JAR URLs * tests/test-extensions-tests/net/sourceforge/jnlp/ServerAccessTest.java: added test case for new method in TinyHttpdImpl * tests/reproducers/simple/StripHttpPathParams/resources/StripHttpPathParams.html: browser-launched applet test case for reproducer * tests/reproducers/simple/StripHttpPathParams/resources/StripHttpPathParams.jnlp: JNLP test case for reproducer * tests/reproducers/simple/StripHttpPathParams/srcs/StripHttpPathParams.java: reproducer * tests/reproducers/simple/StripHttpPathParams/testcases/StripHttpPathParamsTest.java: Testcase to above reproducer 2013-06-06 Jiri Vanek Made all tests running wit junit4.10 and higher * tests/junit-runner/CommandLine.java: (runMain) is no longer overriding and (runMainAndExit) is now calling System.exit rather then system.exit 2013-06-06 Jiri Vanek Silenced deployment.properties and zero size applet exceptions with tests * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: (findSystemConfigFile) and (loadProperties) now prints already cough exception only in debug mode * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (paint) now paints into 1 x 1 applet instead of 0 x 0 in case of 0 x 0 applet * tests/reproducers/simple/AppletTest/resources/appletZeroH.html: new file * tests/reproducers/simple/AppletTest/resources/appletZeroW.html: new file * tests/reproducers/simple/AppletTest/resources/appletZeroWH.html: new file - testing launchers with zero as width, height or both * tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java: added launchers and evaluations for three new htmls - (appletZeroWH) (appletZeroW) (appletZeroH) 2013-06-06 Jiri Vanek Jacob Wisor Enhanced manifest * netx.manifest.in: added Implementation-URL, Implementation-Vendor, Specification-Title, Specification-URL, Specification-Vendor and Specification-Version entries 2013-06-05 Adam Domurad Fix PR1465 * NEWS: Bug fix note * netx/net/sourceforge/jnlp/util/UrlUtils.java (isValidRFC2396Url): New, tests if valid URL by RFC2396 rules (normalizeUrl): Don't normalize if valid by RFC2396 * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java: Adapt which URLs we expect to change when normalizing URLs * tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java: (testIsValidRFC2396Url): New, tests isValidRFC2396Url (testNormalizeUrl): Add new test with valid RFC2396 URL 2013-06-04 Jiri Vanek * netx/net/sourceforge/jnlp/resources/Messages.properties: more detailed hint for CCannotClearCache 2013-06-04 Adam Domurad Remove unused files. * plugin/icedteanp/IcedTeaRunnable.cc: Removed. * plugin/icedteanp/IcedTeaRunnable.h: Removed. 2013-06-03 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Handle resizing more robustly by not blocking worker thread 2013-06-03 Adam Domurad * netx/net/sourceforge/jnlp/util/StreamUtils.java (copyStream): New, copies input stream to output stream * tests/netx/unit/net/sourceforge/jnlp/cache/NativeLibraryStorageTest.java: New, tests lookup of native libraries from folders and jars. * tests/test-extensions/net/sourceforge/jnlp/util/FileTestUtils.java: New, contains utilities for testing open file descriptors, creating temporary directories, and creating jars. * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: Replace jar creation methods with ones from FileTestUtils. 2013-06-03 Adam Domurad * netx/net/sourceforge/jnlp/cache/NativeLibraryStorage.java: New, stores and searches for native library files that are loaded from jars. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Move code that handled native jar caching to NativeLibraryStorage. 2013-05-29 Adam Domurad * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: Moved & renamed inner MockedOneJarJNLPFile to top-level DummyJNLPFileWithJar class. * tests/test-extensions/net/sourceforge/jnlp/mock/DummyJNLPFileWithJar.java: Moved & renamed from JNLPClassLoaderTest.MockedOneJarJNLPFile. 2013-05-29 Adam Domurad * netx/net/sourceforge/jnlp/resources/Messages.properties: "A serious exception occurred" -> "An exception occurred" 2013-05-20 Jiri Vanek Synchronized launchers to be from one source * Makefile.am: (edit_launcher_script) is now accepting variables (launcher.build/$(javaws)) no depends on launcher/launchers.in instead of launcher/javaws.in and is filling the variables for javaws (launcher.build/$(itweb_settings)) no depends on launcher/launchers.in instead of launcher/itweb_settings.in and is filling the variables for itweb_settings * launcher/itweb-settings.in: removed * launcher/javaws.in: removed * launcher/launchers.in: new file, substitution of removed (itweb-settings.in) and javaws.in. Mostly based on javaws.in, just (CLASSNAME) and (PROGRAM_NAME) and (BINARY_LOCATION) were made more general. 2013-05-20 Jiri Vanek Fixed possible deadlock for applet->js->applet call * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (REQUEST_TIMEOUT) new constant, 60s, to define timeout of applet->js call (waitForRequestCompletion) new method waiting to request to be done with timeout of REQUEST_TIMEOUT. (javascriptToString) using the waitForRequestCompletion instead of plain wait() * tests/reproducers/simple/AppletJsAppletDeadlock/resources/AppletJsAppletDeadlock.html and * tests/reproducers/simple/AppletJsAppletDeadlock/srcs/AppletJsAppletDeadlock.java reproducer * tests/reproducers/simple/AppletJsAppletDeadlock/testcases/AppletJsAppletDeadlockTest.java testcase 2013-05-17 Adam Domurad Fix PR854: Resizing an applet several times causes 100% CPU load * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (handleMessage): Replace buggy initialization wait. 2013-05-14 Jiri Vanek Jacob Wisor * netx/net/sourceforge/jnlp/resources/Messages.properties: (CPJVMitwExec) fixed invalid unicode character 2013-05-02 Jana Fabrikova * tests/reproducers/simple/JavawsAWTRobotUsageSample/resources/AppletAWTRobotUsageSample.html: new resource, html page for displaying the applet in browser * tests/reproducers/simple/JavawsAWTRobotUsageSample/testcases/AppletAWTRobotUsageSampleTest.java: new testcase with 6 browser tests 2013-05-02 Jana Fabrikova * Makefile.am: Change in processing the goal (stamps/compile-reproducers-testcases.stamp) All .java files from reproducers testcases directory are compiled, all non-java files are copied into the TEST_EXTENSIONS_TESTS_DIR, i.e. tests.build/test-extensions-tests directory * tests/reproducers/simple/JavawsAWTRobotFindsButton/resources/javaws-awtrobot-finds-button.jnlp: jnlp file for displaying the applet * tests/reproducers/simple/JavawsAWTRobotFindsButton/srcs/JavawsAWTRobotFindsButton.java: the applet used in the reproducer * tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/JavawsAWTRobotFindsButtonTest.java: adding 2 tests: that an icon is loaded, and that the button is identified from the given icon and clicked by awt robot * tests/reproducers/simple/JavawsAWTRobotFindsButton/testcases/buttonA.png: the icon of the wanted button 2013-04-26 Jiri Vanek Jacob Wisor Added default, DE and PL localization's tweeks * /netx/net/sourceforge/jnlp/resources/Messages.properties: * netx/net/sourceforge/jnlp/resources/Messages_de.properties: * netx/net/sourceforge/jnlp/resources/Messages_pl.properties 2013-05-02 Adam Domurad Ensure that PluginAppletviewer is resized in case of error. This fixes most of the cases of the error splash screen not appearing. * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java (createPanel): Resize earlier, before erroring out. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (PluginAppletViewer): Set size, remove fixme. 2013-05-02 Adam Domurad * plugin/icedteanp/IcedTeaNPPlugin.cc: Remove only occurence of LEGACY_XULRUNNERAPI 2013-05-02 Adam Domurad Introduce PluginPipeMock utility methods. * tests/test-extensions/sun/applet/PluginPipeMockUtil.java: New, enapsulates PluginPipeMock initialization, cleanup. As well, contains utility methods. * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: Use newly introduced utility methods. 2013-05-02 Adam Domurad * plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java (getBestOverloadMatch): Return null if a valid method was not found. * tests/netx/unit/sun/applet/MethodOverloadResolverTest.java (getResolvedMethod): New, gets ResolvedMethod from array of bundled class, string, and parameters (assertExpectedOverload): New variant that tests exact received values (testArrayToStringResolve): Tests array conversion to String (testArrayToArrayResolve): Tests array conversion to other arrays 2013-05-02 Adam Domurad * plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java (getCostAndCastedObject): Remove code that had no effect before refactoring. (getBestOverloadMatch): Move debug-only code to debug if-block. 2013-05-02 Jiri Vanek Added various tests related to portalbank.no fixes * netx/net/sourceforge/jnlp/cache/Resource.java: added fixme to warn before wrong url comparator * netx/net/sourceforge/jnlp/Version.java: removed useless main. Its purpose moved to new * tests/netx/unit/net/sourceforge/jnlp/VersionTest: some small tests to version class * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java: added tests to (getUrlResponseCode) and (findBestUrl) * tests/netx/unit/net/sourceforge/jnlp/util/HttpUtilsTest.java: added tests for (consumeAndCloseConnectionSilently) and (consumeAndCloseConnection) * tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest: added license header * tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java: and * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: added support for simulation of not working HEAD request. 2013-05-02 Jiri Vanek Fix for portalbank.no (trying get after failed head requests) * net/sourceforge/jnlp/cache/ResourceTracker : (findBestUrl) now trying GET after each error request of HEAD type. Changed and added debug messages. (getUrlResponseCode) closing of stream moved to separate method HttpUtils.consumeAndCloseConnectionSilently * net/sourceforge/jnlp/util/HttpUtils.java: new file designed for http utils. Now contains (consumeAndCloseConnection) and (consumeAndCloseConnectionSilently) which calls consumeAndCloseConnection but do not rethrow exception * netx/net/sourceforge/jnlp/util/StreamUtils.java: removed (consumeAndCloseInputStream) now improved and moved to HttpUtils 2013-05-02 Jana Fabrikova * tests/test-extensions/net/sourceforge/jnlp/awt/AWTHelper.java: refactoring - removing initStrGiven variable - now it only matters if the initStr is null or not. Modifying the following two methods: (charReaded) - if initStr is null the run method can not be started from charReaded and the presence of initStr is not checked in stdout. Method (getInitStrAsRule) returns rule that is always true if initStr is null. 2013-05-02 Jiri Vanek Renamed cz locales to be more general * netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: renamed to * netx/net/sourceforge/jnlp/resources/Messages_cs.properties: new file * tests/netx/unit/net/sourceforge/jnlp/resources/MessagesPropertiesTest.java: * tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java Adapted to new cz locales filename. 2013-05-02 Jana Fabrikova * Makefile.am: the directory $(TEST_EXTENSIONS_SRCDIR) (i.e. test/test-extensions) added on classpath for running reproducers, unit tests, and test code coverage for reproducers and unittests using emma and jacoco, that is for the following 6 targets: (stamps/run-netx-dist-tests.stamp) (stamps/run-netx-unit-tests.stamp) (stamps/run-unit-test-code-coverage.stamp) with EMMA (stamps/run-unit-test-code-coverage-jacoco.stamp) (stamps/run-reproducers-test-code-coverage.stamp) with EMMA (stamps/run-reproducers-test-code-coverage-jacoco.stamp) * tests/test-extensions/net/sourceforge/jnlp/awt/AWTHelper.java: modifying the constructor, the default icon is taken from ComponentFinder instead of loading from file * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java: added a block of initialization code - the default icon * tests/netx/unit/net/sourceforge/jnlp/awt/imagesearch/ComponentFinderTest.java: unit test for the initialization code in ComponentFinder * tests/reproducers/simple/AWTCommonResourcesOnly/resources/marker.png: second copy of the default icon in a reproducer with resources only * tests/reproducers/simple/JavawsAWTRobotUsageSample/resources/javaws-awtrobot-usage-sample.jnlp: jnlp file for displaying the applet * tests/reproducers/simple/JavawsAWTRobotUsageSample/srcs/JavawsAWTRobotUsageSample.java: the applet * tests/reproducers/simple/JavawsAWTRobotUsageSample/testcases/JavawsAWTRobotUsageSampleTest.java: adding 6 testcases testing clicking with different mouse buttons on the applet * tests/test-extensions-tests/net/sourceforge/jnlp/awt/imagesearch/ComponentFinderTest.java: unit test for the initialization code in ComponentFinder * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/marker.png: first copy of the default icon, will be on classpath 2013-04-30 Adam Domurad * tests/netx/unit/sun/applet/MethodOverloadResolverTest.java: Add missing copyright header. * tests/netx/unit/sun/applet/PluginAppletSecurityContextTest.java: Same. * tests/netx/unit/sun/applet/PluginParameterParserTest.java: Same. 2013-04-29 Jiri Vanek More granular initialization of AwtHelper * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: added (executeBrowser) which can work upon fully constructed url * tests/test-extensions/net/sourceforge/jnlp/awt/AWTHelper.java: (captureScreenAndFindAppletByIconTryKTimes) split to three: (captureScreenAndFindAppletByIconTryKTimes) - unchanged, now using following (initialiseOnScreenshot) initialize from given buffered image, creating area (initialiseOnScreenshotAndArea) initialize from two given buffered images 2013-04-29 Jiri Vanek Improved performance of scanning images, added masking of images * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ImageSeeker.java: (findExactImage) now using masks and is iterating over rows (getMaskImage) new method to visualize mask (getMask) new method to create mask (getPixels) method to extract pixels from image to int array 2013-04-29 Jana Fabrikova * tests/test-extensions/net/sourceforge/jnlp/awt/AWTHelper.java: refactoring Point instead of Rectangle as icon position as markerPosition * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java: refactoring Point instead of Rectangle as icon position in several search methods 2013-04-29 Jana Fabrikova * tests/test-extensions/net/sourceforge/jnlp/awt/AWTHelper.java: fixing method (captureScreenAndFindAppletByIconTryKTimes), which should not throw AWTFrameworkException * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java: fixing the return values of several search methods * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ImageSeeker.java: fixing the return values of several search methods 2013-04-26 Jana Fabrikova * /tests/test-extensions/net/sourceforge/jnlp/closinglisteners/RulesFolowingClosingListener.java: added a getter method getRules * tests/test-extensions/net/sourceforge/jnlp/awt/AWTHelper.java: the most important class of AWTFramework, combines closing listener and possibility to use mouse and keyboard for input to tests * tests/test-extensions/net/sourceforge/jnlp/awt/AWTFrameworkException.java: exception that is raised in the framework whenever programmer did not provide enough information * tests/test-extensions/net/sourceforge/jnlp/awt/awtactions/KeyboardActions.java: class with utility keyboard methods * tests/test-extensions/net/sourceforge/jnlp/awt/awtactions/MouseActions.java: class with utility mouse methods * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentFinder.java: class for finding components in a screenshot * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ComponentNotFoundException.java: exception that can be raised if an important component could not be found * tests/test-extensions/net/sourceforge/jnlp/awt/imagesearch/ImageSeeker.java: class for general image searching * tests/reproducers/simple/AWTCommonResourcesOnly/resources/marker.png: reproducer with resources only, contains the default icon marking applets 2013-04-26 Adam Domurad * netx/net/sourceforge/jnlp/cache/ResourceTracker.java (getCacheFile): Use decodeUrlAsFile instead of toURI().getPath(). * netx/net/sourceforge/jnlp/util/UrlUtils.java (decodeUrlAsFile): New, tolerates ill-formed URLs. * tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java: (testDecodeUrlAsFile): Test for (decodeUrlAsFile) 2013-04-26 Jiri Vanek Jacob Wisor Added polish localisation * netx/net/sourceforge/jnlp/resources/Messages_de.properties * netx/net/sourceforge/jnlp/resources/Messages.properties: minor fixes * /netx/net/sourceforge/jnlp/resources/Messages_pl.properties: new localization nearly complete list of PL values * tests/netx/unit/net/sourceforge/jnlp/resources/MessagesPropertiesTest.java Added PL as known translation * tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java: Added tests to PL integration 2013-04-26 Jiri Vanek Alexandr Kolouch Improved and completed CZ localisation * netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: Added missing items, some fixes 2013-04-26 Jiri Vanek Alexandr Kolouch Added CZ localization of itw-settings Xdesktop configuration file * itweb-settings.desktop.in: added Name[cs] and Name[cs] keys with values. 2013-04-26 Jiri Vanek Jacob Wisor Added DE and PL localization of itw-settings Xdesktop configuration file * itweb-settings.desktop.in: added Name[de], Name[pl], Comment[de], Comment[pl] keys with values. Added Keywords key with values. 2013-04-26 Jiri Vanek Silenced unittests * tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageImplTest.java: and * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: System.out.println replaced by ServerAccess.logOutputReprint 2013-04-26 Jiri Vanek Fixed compilation under jdk6 * netx/net/sourceforge/jnlp/util/JarFile.java: is now implementing Closeable 2013-04-26 Jiri Vanek Fixed regressed unittest and "cause" * /netx/net/sourceforge/jnlp/NullJnlpFileException.java: fixed header * netx/net/sourceforge/jnlp/SecurityDesc.java: (SecurityDesc) is now throwing NullJnlpFileException in case of null jnlp file. * tests/netx/unit/net/sourceforge/jnlp/ParserBasic.java: is now using correct DummyJnlpFile * tests/netx/unit/net/sourceforge/jnlp/SecurityDescTest.java: new testfile. (testNotNullJnlpFile) (testNullJnlpFile) testing the behavior for null jnlp file and for existing jnlpfile. * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: (DummyJnlpFile) extracted to test-extensions and have removed incorrect have security (testNullFileSecurityDescApplet) and (testNullFileSecurityDesc) is now expecting NullJnlpFileException instead of results * tests/test-extensions/net/sourceforge/jnlp/mock/DummyJNLPFile.java: new reusable dummy jnlp file 2013-04-25 Adam Domurad Add accidentally not included files from "Tests & test extensions for mocking the plugin input & output pipes." 2013-04-25 Adam Domurad Fix a dead-lock that can cause (namely) Firefox to hang. * netx/net/sourceforge/jnlp/NetxPanel.java (appletAlive): Remove flag. (isAlive): Remove getter. (initialized): New, explicit initialization flag. (isInitialized): New, getter. (runLoader): Set initialization flag when done (whether errored or not). * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (waitForAppletInit): Wait on initialization flag from NetxPanel. (handleMessage): Remove redundant waiting for init. Respond properly to GetJavaObject in case of error/time-out. 2013-04-25 Adam Domurad * tests/netx/unit/net/sourceforge/jnlp/AsyncCallTest.java: Unit tests for AsyncCall test extension. 2013-04-25 Adam Domurad Tests & test extensions for mocking the plugin input & output pipes. * Makefile.am (stamps/test-extensions-compile.stamp): Make plugin classes available to test extensions * tests/test-extensions/net/sourceforge/jnlp/AsyncCall.java: New, helper for doing asynchronous calls with an optional timeout. * tests/netx/unit/sun/applet/PluginAppletViewerTest.java: New, uses PluginPipeMock to test the javascript requests to the plugin. * tests/test-extensions/sun/applet/mock/PluginPipeMock.java: New, helper for getting the plugin requests and mocking the replies. 2013-04-25 Jiri Vanek Locking disabled on windows machines * netx/net/sourceforge/jnlp/util/lockingfile/LockedFile.java: (lock) and (unlock) are no-op on windows. 2013-04-25 Jiri Vanek Splashscreen now strip commit id from released versions * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java: (stripCommitFromVersion) new method responsible for cutting (drawBase) now using stripCommitFromVersion before printing drawing version to splashscreen * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainterTest.java: (stripCommitFromVersion) new test for 2013-04-24 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Remove unnecessary line that can result in NPE 2013-04-23 Adam Domurad * tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java: Added tests for decodeUrlQuietly, normalizeUrl, normalizeUrlQuietly. 2013-04-23 Adam Domurad * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: Remove no longer used constants. Remove (normalizeUrl). Update calls. * netx/net/sourceforge/jnlp/cache/CacheUtil.java: Expand imports. Update calls. * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java: Ensure file://-protocol URLs are encoded. * netx/net/sourceforge/jnlp/util/UrlUtils.java: Add (normalizeUrl), and related utility methods. Allow for optionally encoding file:// URLs. 2013-04-23 Adam Domurad Ensure document-base is properly encoded. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java (getCacheFile): Use URL#toUri().getPath() instead of URL#getFile(). * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (handleInitializationMessage): Don't decode document-base. 2013-04-23 Adam Domurad Reproducer for URL parameters (eg ?a=b) in document-base. * tests/reproducers/simple/URLParametersInDocumentBase/resources/URLParametersInDocumentBase.html: Page that loads applet. * tests/reproducers/simple/URLParametersInDocumentBase/srcs/URLParametersInDocumentBase.java: Applet that prints code-base & document-base. * tests/reproducers/simple/URLParametersInDocumentBase/testcases/URLParametersInDocumentBaseTests.java: Test-driver. 2013-04-23 Adam Domurad * netx/net/sourceforge/jnlp/NetxPanel.java (exitOnFailure): Remove always-false field. (NetxPanel): Remove overloaded constructor (runLoader): Do not swallow LaunchException's. Remove dead exitOnFailure code-path. Set applet status to APPLET_ERROR on exception. * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java (createPanel): Update call to NetxPanel constructor. 2013-04-23 Adam Domurad * tests/reproducers/signed/AppContextHasJNLPClassLoader/resources/AppContextHasJNLPClassLoader.html: Test AppContext context classloader from HTML applet * tests/reproducers/signed/AppContextHasJNLPClassLoader/resources/AppContextHasJNLPClassLoader.jnlp: Test AppContext context classloader from JNLP application * tests/reproducers/signed/AppContextHasJNLPClassLoader/resources/AppContextHasJNLPClassLoaderForJNLPApplet.jnlp: Test AppContext context classloader from JNLP applet * tests/reproducers/signed/AppContextHasJNLPClassLoader/srcs/AppContextHasJNLPClassLoader.java: Print out context classloader for thread & AppContext, for current thread & Swing thread. * tests/reproducers/signed/AppContextHasJNLPClassLoader/testcases/AppContextHasJNLPClassLoaderTest.java: Test runner for AppContextHasJNLPClassLoader 2013-04-23 Adam Domurad Ensure JarFile handles do not leak. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Ensure close is called for each JarFile. 2013-04-23 Adam Domurad * tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: New, JNLPClassLoader unit tests for (checkForMain), (getMainClassName), (activateNativeJar), and (isInvalidJar). Checks for file descriptor leaks. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (isInvalidJar): Change to default visibility for testing purposes. (checkForMain): Same. (getMainClassName): Same. 2013-04-23 Adam Domurad Rewrite of MethodOverloadResolver with detailed unittests. * plugin/icedteanp/java/sun/applet/MethodOverloadResolver.java: Rewritten to reduce duplicated code, fix very subtle bugs in never-tested codepaths, obey spec properly. Introduced new helper types where Object[] arrays with special-meaning positions were passed around. * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: Updated to work with newly introduced types / refactored overload resolver. * tests/netx/unit/sun/applet/MethodOverloadResolverTest.java: In-depth unit tests of hairy details of method overloading in JS<->Java. 2013-04-23 Omair Majid PR1299 * NEWS: Update with fix * netx/net/sourceforge/jnlp/browser/BrowserAwareProxySelector.java (initFromBrowserConfig): Fix typo in socks proxy setting key. 2013-04-19 Jiri Vanek testing server allowed from makefile * Makefile.am: (stamps/netx-dist-tests-prepare-reproducers.stamp) added stamps/netx-dist.stamp stamps/plugin.stamp dependence (stamps/test-extensions-compile.stamp) added stamps/netx-dist.stamp stamps/plugin.stamp dependence (stamps/compile-reproducers-testcases.stamp) added stamps/plugin.stamp dependence (run-test-server-on-44321) new target, starts server in deploy dir, on port 44321 (run-test-server-on-random-port) new target, starts server in deploy dir, on random port * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: (main) added better access to random port 2013-04-17 Jiri Vanek Added various self-describing tests for codebase * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet-reader1-writer1.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet-reader1-writer2.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet-reader1.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet-reader2.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet-writer1.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet-writer2.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet2-reader1-writer1.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet2-reader1-writer2.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet2-reader1.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet2-reader2.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet2-writer1.html * tests/reproducers/simple/AppletSharedClassLoader/resources/LaunchSharedClassLoaderApplet2-writer2.html * tests/reproducers/simple/AppletSharedClassLoader/srcs/SharedClassLoaderApplet1.java * tests/reproducers/simple/AppletSharedClassLoader/srcs/SharedClassLoaderApplet2.java * tests/reproducers/simple/AppletSharedClassLoader/srcs/SharedSecret.java * tests/reproducers/simple/AppletSharedClassLoader/testcases/SharedClassLoaderApplet_WrittenCompleteCodeBaseTest.java * tests/reproducers/simple/AppletSharedClassLoader/testcases/SharedClassLoaderApplet_WrittenPartialStubCodeBaseTest.java * tests/reproducers/simple/AppletSharedClassLoader/testcases/SharedClassLoaderApplet_dotCodeBaseTest.java 2013-04-17 Adam Domurad Jiri Vanek CVE-2013-1926, RH916774: Class-loader incorrectly shared for applets with same relative-path. * netx/net/sourceforge/jnlp/PluginParameters.java (getCodeBase): Removed (getUniqueKey): Now takes absolute codebase * netx/net/sourceforge/jnlp/NetxPanel.java: Pass absolute codebase in getUniqueKey calls. * netx/net/sourceforge/jnlp/PluginBridge.java: Same. 2013-04-17 Jiri Vanek Fixed gifar vulnereability with automated testcase * netx/net/sourceforge/jnlp/util/JarFile.java: IcedTea-Web replacement for java.util.jar.JarFile.java with capability to verify if the jar starts as jar and not as something else (eg gif) * netx/net/sourceforge/jnlp/Launcher.java: migrated to new JarFile * netx/net/sourceforge/jnlp/resources/Messages.properties: added BXignoreheaders key with description to new -Xignoreheaders switch * netx/net/sourceforge/jnlp/runtime/Boot.java: added switch Xignoreheaders to allow to disable the header verification. * netx/net/sourceforge/jnlp/runtime/CachedJarFileCallback.java: migrated to new JarFile * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: improved reporting of new JarFile exceptions * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: new field ignoreHeaders, informing about new JarFile whether to verify or not verify headers. By default verifying, so have value of false. * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: migrated to new JarFile * netx/net/sourceforge/jnlp/util/InvalidJarHeaderException.java: new not-checked exception to signify that jar is corrupted on headers level. * tests/reproducers/custom/GifarCreator/srcs/Makefile: makefile to join gif and jar to create gifar * tests/reproducers/signed/GifarBase/resources/gifarView_hacked.html: html with hacked gifar * tests/reproducers/signed/GifarBase/resources/gifarView_ok.html: html with valid gifs and jars * tests/reproducers/signed/GifarBase/resources/gifar_applet.jnlp: jnlp applet constructed from hacked gifar * tests/reproducers/signed/GifarBase/resources/gifar_application.jnlp: jnlp application constructed from hacked gifar * tests/reproducers/signed/GifarBase/srcs/GifarMain.java: Main method of reproducer * tests/reproducers/signed/GifarBase/testcases/GifarTestcases.java: Testing methods * tests/reproducers/signed/GifarBase/resources/happyNonAnimated.gif: binary file, image, gif, used to create hacked gifars 2013-04-17 Jiri Vanek removed java call to obtain jvm args for plugin * /plugin/icedteanp/IcedTeaNPPlugin.cc: (get_jvm_args) Java call replaced by call to recently added read_deploy_property_value function. 2013-04-12 Adam Domurad * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java: Clean-up generated code. 2013-04-12 Adam Domurad Present more information in unsigned applet confirmation. * netx/net/sourceforge/jnlp/resources/Messages.properties (SRememberCodebase): Add codebase parameter. (SUnsignedDetail): Change layout, add documentbase parameter. * netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java (setupInfoPanel): Pass documentbase to SUnsignedDetail. (createCheckBoxPanel): Ensure left-alignment. (createButtonPanel): Less spacing above button. 2013-04-12 Jiri Vanek Added help for extended applets security and settings * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel: (helpButtonActionPerformed) added code to open dialogue with help * netx/net/sourceforge/jnlp/resources/Messages.propertie: Included html help message * netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java: added help button and logic to open help dialogue * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExtendedAppletSecurityHelp.java: Simple dialogue with JEditorPane with html help from properties and few navigation buttons * NEWS: mentioned extended appelts security 2013-04-12 Jiri Vanek Added dialogue to allow setting of custom JRE * launcher/itweb-settings.in: and * launcher/javaws.in: check for custom jre less strict * netx/net/sourceforge/jnlp/config/Defaults.java:made aware of deployment.jre.dir constant * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: added\ KEY_JRE_DIR= "deployment.jre.dir" constant, user file occurrences extracted to USER_DEPLOYMENT_PROPERTIES_FILE. * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: used validation of jdk when saving properties * netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java: added text-field to set JVM directory, friendly with logic and validation. * netx/net/sourceforge/jnlp/resources/Messages.properties: added messages to JVM selection and validation. * netx/net/sourceforge/jnlp/util/StreamUtils.java: (readStreamAsString) new utility method. * NEWS: mentioned select-able JVM 2013-04-11 Adam Domurad Remove legacy support for the old version of NPAPI. * plugin/icedteanp/IcedTeaNPPlugin.cc: Remove if directives for old version of NPAPI. * plugin/icedteanp/IcedTeaNPPlugin.h: Same * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same * plugin/icedteanp/IcedTeaPluginRequestProcessor.h: Same * plugin/icedteanp/IcedTeaPluginUtils.cc: Same * plugin/icedteanp/IcedTeaPluginUtils.h: Same * plugin/icedteanp/IcedTeaRunnable.h: Same * plugin/icedteanp/IcedTeaScriptablePluginObject.h: Same 2013-04-11 Adam Domurad Allow remembering applet confirmation for whole codebase. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added SRememberAppletOnly, SRememberCodebase messages * netx/net/sourceforge/jnlp/security/SecurityDialogs.java (showUnsignedWarningDialog): Use UnsignedWarningAction * netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningDialog.java (UnsignedAppletTrustWarningDialog): Use UnsignedWarningAction * net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java: Introduce UnsignedWarningAction, add additional confirmation choices * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java: Support remembering action for entire codebase. 2013-04-10 Jana Fabrikova * /tests/reproducers/simple/JSToJFuncResol/testcases/JSToJFuncResolTest.java: adding 11 testcases based on the interactive Liveconnect JS->Java overloaded function resolution tests, tests with JSObject were already included * /tests/reproducers/simple/JSToJFuncResol/srcs/JSToJFuncResol.java: the applet whose methods are invoked from JS during the tests * /tests/reproducers/simple/JSToJFuncResol/resources/JSToJava_FuncResol.js: the JavaScript code for calling the applet methods from JS * /tests/reproducers/simple/JSToJFuncResol/resources/jstoj-funcresol.jnlp: java network launch protocol file for displaying applet in the html page * /tests/reproducers/simple/JSToJFuncResol/resources/JSToJFuncResol.html: the html page with java applet embedded, displayed in browser during the tests 2013-04-10 Jana Fabrikova * /tests/reproducers/simple/JToJSFuncReturn/testcases/JToJSFuncReturnTest.java: adding 5 testcases based on the interactive Liveconnect JS->Java function return type tests * /tests/reproducers/simple/JToJSFuncReturn/srcs/JToJSFuncReturn.java: the applet that calls JS functions * tests/reproducers/simple/JToJSFuncReturn/resources/JToJS_FuncReturn.js: auxiliary JavaScript code * /tests/reproducers/simple/JToJSFuncReturn/resources/jtojs-funcreturn.jnlp: jnlp file for displaying applet in the html page * /tests/reproducers/simple/JToJSFuncReturn/resources/JToJSFuncReturn.html: the html page where the applet calling JS functions is embedded 2013-04-08 Jiri Vanek * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java: Removed good --sm-client-disable switch. No longer supported by epiphany 2013-04-04 Jiri Vanek Plugin is now honoring the custom jre * launcher/itweb-settings.in : * launcher/javaws.in: In case that custom jre do not exists, complains, and use default rather * plugin/icedteanp/IcedTeaNPPlugin.cc: (get_plugin_executable) and (get_plugin_rt_jar) now tries to return custom values before returning the default one. 2013-04-03 Jana Fabrikova * /test/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java: added annotation KnownToFail in googleChrome and chromiumBrowser to the method (AppletJToJSFuncParam_JSObject_Test) * /test/reproducers/simple/JavascriptGet/testcases/JavascriptGetTest.java: added annotation KnownToFail in midori, epiphany, googleChrome and chromiumBrowser to the methods (AppletJToJSGet_1DArray_Test) and (AppletJToJSGet_2DArray_Test) 2013-04-03 Jana Fabrikova * /tests/test-extensions/net/sourceforge/jnlp/annotations/KnownToFailInBrowsers.java: the implementation of new annotation, which has an array of browsers of type Browsers[] named failsIn * /tests/junit-runner/JunitLikeXmlOutputListener.java: in method (testDone) the testcases that are known to fail in current browser are detected in addition to the tests that are k2f in all browsers * /tests/junit-runner/LessVerboseTextListener.java: added method (getK2FinB) reading the annotation, in method (printK2F) the testcases that are known to fail in current browser are detected in addition to the tests that are k2f in all browsers 2013-03-28 Adam Domurad * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java (normalizeUrlAndStripParams): Moved. * netx/net/sourceforge/jnlp/util/UrlUtils.java (normalizeUrlAndStripParams): New, moved from UnsignedAppletTrustConfirmation. * tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java (testNormalizeUrlAndStripParams): Moved. * tests/netx/unit/net/sourceforge/jnlp/util/UrlUtilsTest.java: New, has (testNormalizeUrlAndStripParams) from UnsignedAppletTrustConfirmationTest. 2013-03-22 Jiri Vanek Added code to parse properties and to find correct configuration files from c++ part of plugin * Makefile.am: IcedTeaParseProperties.cc added to be compiled with rest of plugin * plugin/icedteanp/IcedTeaParseProperties.cc: new file, contains implementation for searching for config files and to read value from them * plugin/icedteanp/IcedTeaParseProperties.h: public api for "library" * plugin/icedteanp/IcedTeaPluginUtils.cc: * plugin/icedteanp/IcedTeaPluginUtils.h: added new methods (trim) and (file_exists) * tests/cpp-unit-tests/IcedTeaParsePropertiesTest.cc: tests for library methods * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: added tests for new methods 2013-03-28 Adam Domurad Don't interrupt worker/consumer threads (can prevent shutdown code from executing); instead use Object wait/notify methods. * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java (notifyHasWork): Replacement for thread interruption (waitForWork): Replacement for thread sleeping (run): Use waitForWork instead of Thread.sleep (notifyWorkerIsFree): Removed -- misleading method. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (message): Make volatile, as it should have always been. (notifyHasWork): Replacement for thread interruption (waitForWork): Replacement for thread sleeping (run): Use waitForWork instead of Thread.sleep (getPermissions): avoid potential NPE if code source location is missing (free): Remove reference to notifyWorkerIsFree. 2013-03-26 Adam Domurad Integration of unsigned applet confirmation dialogue. * netx/net/sourceforge/jnlp/PluginBridge.java (getArchiveJars): New, returns archive jars as list * netx/net/sourceforge/jnlp/resources/Messages.properties: Confirmation messages added to properties file * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getInstance): Initialization refactored into createInstance (createInstance): New, checks if unsigned applet is allowed, initializes classloader. (initializeResources): Don't consider no-jar applets signed. * netx/net/sourceforge/jnlp/security/SecurityDialogs.java (showUnsignedWarningDialog): Creates message with DialogType.UNSIGNED_WARNING * netx/net/sourceforge/jnlp/security/SecurityDialog.java (installPanel): Add case for DialogType.UNSIGNED_WARNING * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletActionStorage.java: Expose locking members from interface * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (handleInitializationMessage): Do nothing if applets have been disabled. * netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningDialog.java: New, security dialog that asks for unsigned applet confirmation. * netx/net/sourceforge/jnlp/security/UnsignedAppletTrustWarningPanel.java: Implements the dialog contents for unsigned applet confirmation. * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmation.java: Updates and checks applet confirmation storage, creates warning dialog if required. * tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletTrustConfirmationTest.java: New, tests relative & normalized path creation helpers. 2013-03-26 Jiri Vanek Path validator fixed to be correctly multiplatform * netx/net/sourceforge/jnlp/config/BasicValueValidators.java : (FilePathValidator) now check absolute file by File.isAbsolute() instead of by plain "/". * tests/netx/unit/net/sourceforge/jnlp/config/BasicValueValidatorsTests.java : New file to test new functionality. 2013-03-25 Jana Fabrikova * tests/reproducers/simple/JavascriptFuncReturn/testcases/JavascriptFuncReturnTest.java adding 5 testcases for testing calling javascript functions with various return types from java * tests/reproducers/simple/JavascriptFuncReturn/resources/JavascriptFuncReturn.html the html page for displaying browser tests * tests/reproducers/simple/JavascriptFuncReturn/resources/Javascript_FuncReturn.js auxiliary javascript functions * tests/reproducers/simple/JavascriptFuncReturn/resources/javascript-funcreturn.jnlp jnlp file for embedding applet in the html page * tests/reproducers/simple/JavascriptFuncReturn/srcs/JavascriptFuncReturn.java the applet that calls javascript functions 2013-03-25 Jana Fabrikova * tests/reproducers/simple/JavascriptSet/testcases/JavascriptSetTest.java adding 21 testcases for testing setting javascript variables from java * tests/reproducers/simple/JavascriptSet/resources/JavascriptSet.html the html page for displaying browser tests * tests/reproducers/simple/JavascriptSet/resources/Javascript_Set.js auxiliary javascript functions * tests/reproducers/simple/JavascriptSet/resources/javascript-set.jnlp jnlp file for embedding applet in the html page * tests/reproducers/simple/JavascriptSet/srcs/JavascriptSet.java the applet that sets javascript variables 2013-03-25 Jana Fabrikova * tests/reproducers/simple/JavascriptGet/testcases/JavascriptGetTest.java adding 7 new testcases for reading JS values from Java * tests/reproducers/simple/JavascriptGet/resources/JavascriptGet.html the html page for displaying browser tests * tests/reproducers/simple/JavascriptGet/resources/Javascript_Get.js auxiliary javascript functions * tests/reproducers/simple/JavascriptGet/resources/javascript-get.jnlp jnlp file for embedding the applet in the html page * tests/reproducers/simple/JavascriptGet/srcs/JavascriptGet.java the applet that reads values from javascript 2013-03-25 Jana Fabrikova * tests/reproducers/simple/JavascriptFuncParam/testcases/JavascriptFuncParamTest.java adding 19 testcases for calling javascript functions from java with parameters of various types * tests/reproducers/simple/JavascriptFuncParam/resources/JavascriptFuncParam.html the html page for displaying browser tests * tests/reproducers/simple/JavascriptFuncParam/resources/javascript-funcparam.jnlp jnlp file for embedding the applet in html page * tests/reproducers/simple/JavascriptFuncParam/srcs/JavascriptFuncParam.java the applet that calls functions from javascript 2013-03-22 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginParameterParser.java (isInt): Revert behaviour to catching NumberFormatException 2013-03-22 Adam Domurad * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (findClass): Print stacktrace for ClassFormatError 2013-03-22 Jiri Vanek * netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageImpl.java: (isMatching) is now ignring archives if empty. * tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageImplTest.java: tests adapted and enriched for new archives processing. 2013-03-21 Jiri Vanek Launchers made aware of custom set JRE * launcher/itweb-settings.in: * launcher/javaws.in: are now scanning ~/.icedtea/deployment.properties and /etc/.java/.deploy/deployment.properties for deployment.jre.dir property. If found, then its java and rt.jar are used to launch applications. 2013-03-20 Jana Fabrikova * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: adding few lines for not running test in Opera * tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java: adding few lines for not running test in Opera * tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java: adding few lines for not running test in Opera * tests/reproducers/simple/JSToJTypeConv/testcases/JSToJTypeConvTest.java: adding few lines for not running test in Opera 2013-03-20 Jiri Vanek All occurences of hardcoded paths to java repalced by call of functions * plugin/icedteanp/IcedTeaNPPlugin.cc: (appletviewer_executable) renamed to (appletviewer_default_executable). (appletviewer_default_rtjar) new variable to keep default rt.jar path. (get_plugin_executable) and (string get_plugin_rt_jar) new functions, returniong the default variables for now. 2013-03-19 Adam Domurad * Makefile.am (CPP_UNITTEST_EXECUTABLE): Add -lrt & -lpthread flags, which do not seem to be brought in on all systems. 2013-03-13 Jiri Vanek * NEWS: mentioned de translation * AUTHORS: added Jacob Wisor 2013-03-13 Jiri Vanek Jacob Wisor Fixed strange sentences in default locales bundle. * netx/net/sourceforge/jnlp/resources/Messages.properties: 2013-03-13 Jiri Vanek Added tests for German i18n * tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java: Enhanced to test also German localization . * tests/netx/unit/net/sourceforge/jnlp/resources/MessagesPropertiesTest.java: Enhanced to handle de messages and be prepared for locales with one language but different nations. 2013-03-13 Jiri Vanek Jacob Wisor Added initial German localization * netx/net/sourceforge/jnlp/resources/Messages_de.properties: New file with German properties 2013-03-05 Adam Domurad * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (closeStream): Remove. (verifySignedJNLP): Make use of StreamUtils instead. * netx/net/sourceforge/jnlp/utils/StreamUtils.java (closeSilently): New method. 2013-02-28 Jiri Vanek * netx/net/sourceforge/jnlp/config/SecurityValueValidator.java: modifed null check - no considered as correct value as being valid value in runtime. 2013-02-27 Jiri Vanek Added backend and settings for extended applet security * netx/net/sourceforge/jnlp/config/Defaults.java: deployment.security.level added to defaults with its validator * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Added deployment.security.level (KEY_SECURITY_LEVEL)key and .appletTrustSettings (APPLET_TRUST_SETTINGS)filename with getters * netx/net/sourceforge/jnlp/config/SecurityValueValidator.java: Simple validator for value of deployment.security.level based on parsing in AppletSecurityLevel.fromString * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: Incorporated UnsignedAppletsTrustingListPanel panel * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletActionTableModel.java: Backend for main tables in UnsignedAppletsTrustingListPanel * netx/net/sourceforge/jnlp/controlpanel/UnsignedAppletsTrustingListPanel.java: GUI for manipulate the deployment.security.level values and content of .appletTrustSettings files * netx/net/sourceforge/jnlp/resources/Messages.properties: Added keys and values for new; user visible, strings * netx/net/sourceforge/jnlp/security/appletextendedsecurity/AppletSecurityLevel.java: Object representation of deployment.security.level value * netx/net/sourceforge/jnlp/security/appletextendedsecurity/AppletStartupSecuritySettings.java: Entrance singleton for current deployment.security.level policy and records. * netx/net/sourceforge/jnlp/security/appletextendedsecurity/ExecuteUnsignedApplet.java: Object representation of action upon record in .appletTrustSettings * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletActionEntry.java: Object representation of one item in .appletTrustSettings .appletTrustSettings by itw (except settings part) * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UnsignedAppletActionStorage.java Minimal set of functionality requested for accessing the * netx/net/sourceforge/jnlp/security/appletextendedsecurity/UrlRegEx.java Simple class which should help to distinguish between plain String and String keeping UrlRegex * netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageExtendedImpl.java: Extended implementation of UnsignedAppletActionStorageImpl which have additional "for settings" functionality * netx/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageImpl.java: Object representation of.appletTrustSettings file. It Should be multi-thread/app safe and should be always actual. Based on LockingReaderWriter. * netx/net/sourceforge/jnlp/util/lockingfile/LockedFile.java: Utility class with functionality to lock file in muti-app/thread environment * netx/net/sourceforge/jnlp/util/lockingfile/LockingReaderWriter.java: Utility class with functionality to lock file during reading/writing in muti-app/thread environment * netx/net/sourceforge/jnlp/util/lockingfile/StorageIoException.java: Wrapper for common, but rare IOException extending RuntimeExceptionaround for LockingReaderWriter to avoid numerous declarations. * tests/netx/unit/net/sourceforge/jnlp/security/appletextendedsecurity/impl/UnsignedAppletActionStorageImplTest.java: Tests of main methods in UnsignedAppletActionStorageImplTest focused on matching * tests/netx/unit/net/sourceforge/jnlp/util/lockingfile/LockingReaderWriterTest.java: Tests of multithread read/write to LockingReaderWriter 2013-02-25 Adam Domurad * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (createInstance): Extract initialization logic from 'getInstance' into new 'createInstace' method. (getInstance): Call newly introduced createInstance method. 2013-02-25 Jiri Vanek Removed unused legacy-launcher sources * launcher/java.c: * launcher/java.h: * launcher/java_md.c: * launcher/java_md.h: * launcher/jli_util.c: * launcher/jli_util.h: * launcher/jni.h: * launcher/jni_md.h: * launcher/jvm.h: * launcher/jvm_md.h: * launcher/manifest_info.h: * launcher/parse_manifest.c: * launcher/splashscreen.h: * launcher/splashscreen_stubs.c: * launcher/version_comp.c: * launcher/version_comp.h: * launcher/wildcard.c: * launcher/wildcard.h: Happily removed 2013-02-21 Adam Domurad * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getPermissions): avoid potential NPE if code source location is missing 2013-02-14 Adam Domurad PR835: javaws leaks connections Uses HEAD requests if possible for testing URLs. Adds name to download threads. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java: (startThread): Add name to download thread (getResourceUrlResponseCode): Get or fake an HTTP response code. (findBestUrl): Use getResourceUrlResponseCode to first try a HEAD request. Fall-back to GET rquest. * netx/net/sourceforge/jnlp/utils/StreamUtils.java: New file, contains utility for consuming input stream. 2013-02-14 Adam Domurad * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: Support HEAD requests. 2013-02-13 Adam Domurad Fix PR580: http://www.horaoficial.cl/ loads improperly. Applets that must share a class-loader now load sequentially. * NEWS: Mention the fix. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getUniqueKeyLock): New, atomically grabs or creates a lock for the unique key. (getInstance): Ensure classloader initialization is locked by unique key. (decrementLoaderUseCount): Ensure classloader deinitialization is locked by unique key, get rid of no-longer used locks. 2013-02-13 Jiri Vanek Added test for hanging firefox by LaunchException and Improved AddShutdownHookTest * tests/reproducers/simple/AddShutdownHook/resources/AddShutdownHook.html: new file to launch applet with RuntimeException as result. * tests/reproducers/simple/AddShutdownHook/resources/AddShutdownHook_wrong.html: new file to launch applet with LaunchException as result. * tests/reproducers/simple/AddShutdownHook/srcs/AddShutdownHook.java: is now also applet. * tests/reproducers/simple/AddShutdownHook/testcases/AddShutdownHookTest.java: Added test (AddShutdownHookApplet)for applet, removed duplicate code by rules. * tests/reproducers/simple/AddShutdownHook/testcases/HangFirefoxTests.java: New test set which is launching exception throwing applet, and after exception is thrown then it tries jsut stdou-ing applet. Second applet have to be launched. 2013-02-12 Jana Fabrikova * /tests/reproducers/simple/JSToJFuncParam/testcases/JSToJFuncParamTest.java: adding 19 testcases - 18 based on the interactive Liveconnect JS->Java function parameter tests, 1 additional testcase for passing parameters of type JSObject (from JS to Java) * /tests/reproducers/simple/JSToJFuncParam/srcs/JSToJFuncParam.java: the applet whose methods are invoked from JS during the tests * /tests/reproducers/simple/JSToJFuncParam/resources/JSToJava_FuncParam.js: the JavaScript code for calling the applet methods from JS * /tests/reproducers/simple/JSToJFuncParam/resources/jstoj-funcparam.jnlp: JNLP file for displaying applet in the HTML page * /tests/reproducers/simple/JSToJFuncParam/resources/JSToJFuncParam.html: the html page with java applet embedded, displayed in browser during the tests 2013-02-12 Jana Fabrikova * /tests/reproducers/simple/JSToJTypeConv/testcases/JSToJTypeConvTest.java: adding 50 testcases based on the interactive Liveconnect JS->Java type conversion tests and 4 testcases for setting java boolean and Boolean variables to nonempty strings * /tests/reproducers/simple/JSToJTypeConv/srcs/JSToJTypeConv.java: the applet whose variables are set from JS during the tests * /tests/reproducers/simple/JSToJTypeConv/resources/JSToJava_TypeConv.js: the JavaScript code for setting the applet variables from JS * /tests/reproducers/simple/JSToJTypeConv/resources/jstoj-typeconv.jnlp: JNLP file for displaying applet in the html page * /tests/reproducers/simple/JSToJTypeConv/resources/JSToJTypeConv.html: the html page with java applet embedded, displayed in browser during the tests 2013-02-07 Adam Domurad Ensure applet destruction cannot in the middle of initialization. * netx/net/sourceforge/jnlp/NetxPanel.java (destroyApplet): wait for applet initialization missing 2013-02-06 Jana Fabrikova * /tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java: adding 1 testcase setting applets variable of type JSObject from JS, adding KnownToFail anotation and @Bug annotation with id=PR1298 to (AppletJSToJSet_intArrayElement_Test) and (AppletJSToJSet_DoubleArrayElement_Test) methods * /tests/reproducers/simple/JSToJSet/resources/JSToJava_Set.js: adding the JSObject case to (doSetTests) function * /tests/reproducers/simple/JSToJSet/srcs/JSToJSet.java: adding the JSObject variable to the applet and modifying (printNewValueAndFinish) method in order to output new values of JSObject variable 2013-02-06 Jana Fabrikova * /tests/reproducers/simple/JSToJGet/resources/JSToJGet.html: adding 1 testcase reading applets variable of type JSObject from JS * /tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: adding 1 testcase reading applets variable of type JSObject from JS, small changes to evaluation of the applet's stdout methods, removing KnownToFail anotation from (AppletJSToJGet_DoubleFullArray_Test) method * /tests/reproducers/simple/JSToJGet/resources/JSToJ_auxiliary.js: removing parts of comment that are no longer true * /tests/reproducers/simple/JSToJGet/resources/JSToJava_Get.js: adding (test_get_JSObject) function also to the JS part of test * /tests/reproducers/simple/JSToJGet/srcs/JSToJGet.java: adding the JSObject variable to the applet 2013-02-06 Adam Domurad Name threads for easier debugging/tooling. Remove 2 erroneous VoidPluginCallRequest header comments. * netx/net/sourceforge/jnlp/NetxPanel.java: Provide name for thread that calls (run). * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: Provide name for shutdown hook thread. * plugin/icedteanp/java/sun/applet/PluginMessageConsumer.java: Remove erroneous VoidPluginCallRequest comment. Provide name for ConsumerThread thread. * plugin/icedteanp/java/sun/applet/PluginMessageHandlerWorker.java: Provide name for worker thread. * plugin/icedteanp/java/sun/applet/PluginStreamHandler.java: Remove erroneous VoidPluginCallRequest comment. Provide name for stream listener thread. 2013-02-03 Jiri Vanek Another renamed conflict file for case insensitive systems * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1E_x_2s.html Renamed to ParallelAppletsTest_1_x_2EE.html * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1EE_x_2s.html new file. * tests/reproducers/simple/CountingApplet1/testcases/ParallelAppletsTest.java: (testParallelAppletsTest1Ex2s) adapted to renaming 2013-01-31 Jiri Vanek Renamed conflict file for case insensitive systems * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_2E.html: Renamed to ParallelAppletsTest_1_x_2EE.html * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_2EE.html: new file. * tests/reproducers/simple/CountingApplet1/testcases/ParallelAppletsTest.java: (testParallelAppletsTest1x2E) adapted to renaming 2013-01-30 Jiri Vanek Add unit tests for locales and locales fixed * netx/net/sourceforge/jnlp/resources/Messages.properties: * netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: Added missing, filled empty and removed dangling items * tests/netx/unit/net/sourceforge/jnlp/resources/MessagesPropertiesTest.java: New unittest for missing, empty, duplicate or dangling locales. 2013-01-30 Adam Domurad Fix for PR1292: Javaws does not resolve versioned jar names with periods correctly * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java (getUrl): Fix versioning of jar names that have periods, eg 'foo.bar.jar'. Make method static for testing. * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceUrlCreatorTest.java: New, test version & pack URL encoding. * tests/reproducers/simple/VersionedJar__V1/resources/VersionedJarDisabled.jnlp: New, tries to use versioned jar with versioning not turned on. * tests/reproducers/simple/VersionedJar__V1/resources/VersionedJarEnabled.jnlp: New, tries to use versioned jar with versioning turned on. * tests/reproducers/simple/VersionedJar__V1/srcs/VersionedJar.java: New, prints simple message. * tests/reproducers/simple/VersionedJar__V1/testcases/VersionedJarTest.java: New, tests if VersionedJar has ran only with versioning turned on. 2013-01-30 Jiri Vanek * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java: Iteration over launchExceptionChain done by pointer/get instead by iterator to prevent ConcurrentModificationException. 2013-01-30 Jiri Vanek Splashscreen error report made more detailed by stored LaunchErrors * netx/net/sourceforge/jnlp/LaunchException.java: (LaunchExceptionWithStamp) new inner class for storing timestamp togetehr with error. (launchExceptionChain) new static list to capture LaunchErrors during runtime. * /netx/net/sourceforge/jnlp/resources/Messages.properties: * netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: Added explanation string * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java: Is now displaying launchExceptionChain in its error report and is copying it to clipboard. * tests/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java: (getTextTest) adapted calls of getText for new Date. 2013-01-28 Adam Domurad Fix PR1157: Applets can hang browser after fatal exception * NEWS: Add entry for PR1157 * netx/net/sourceforge/jnlp/NetxPanel.java (runLoader): Move dispatchAppletEvent into a 'finally' block. 2013-01-16 Deepak Bhole PR1260: IcedTea-Web should not rely on GTK * Makefile.am: Remove GTK includes and links * acinclude.m4: Remove check for GTK libs * plugin/icedteanp/IcedTeaJavaRequestProcessor.h: Removed gtk.h include and added unistd include (for usleep) which gtk.h brought in before * plugin/icedteanp/IcedTeaNPPlugin.cc: Remove GTK dialog shown when java is not found * plugin/icedteanp/IcedTeaNPPlugin.h: Removed gtk.h include 2013-01-16 Jiri Vanek Fixed set of paths to asm * configure.ac: (IT_FIND_OPTIONAL_JAR([asm], ASM,) path enhanced by objectweb-asm4/asm-all.jar. 2013-01-15 Adam Domurad Unit test for PluginAppletSecurityContext#toObjectIDString. Make PluginAppletSecurityContext more unit-testable. * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: Don't initialize security manager in constructor. Fix a few Java->JS corner cases. * plugin/icedteanp/java/sun/applet/PluginMain.java: Create testing-only constructor for bypassing initialization of SecurityManager. * tests/netx/unit/sun/applet/PluginAppletSecurityContextTest.java: Unit test for all the corner cases of converting a Java object to a string that can be precisely identified. 2013-01-15 Adam Domurad Fix PR1198: JSObject passed incorrectly to Javascript * plugin/icedteanp/IcedTeaJavaRequestProcessor.cc: Pass extra data for 'jsobject' object result messages. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Same. * plugin/icedteanp/IcedTeaPluginUtils.cc: Add special casing of javascript references passed from java. * plugin/icedteanp/java/netscape/javascript/JSObjectUnboxPermission.java: New permission for unboxing a JSObject's internal reference. * plugin/icedteanp/java/netscape/javascript/JSObject.java (getInternalReference): New, package-private, retrieves internal reference (Must have proper permission). * plugin/icedteanp/java/netscape/javascript/JSUtil.java (getJSObjectInternalReference) New, utility for accessing JSObject#getInternalReference from outside the package. * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: (toObjectIDString): New, creates a string that precisely identifies a Java object. (handleMessage): Replace a lot of duplicated functionality with 'toObjectIDString'. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Replace duplicated functionality with 'toObjectIDString'. * tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java: Don't print out type passed (differs from browser to browser). * tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java: Don't check type passed (differs from browser to browser). Remove known-to-fail. Reformat. 2013-01-10 Jiri Vanek Download indicator made compact for more then one jar * NEWS: mentioned this feature * netx/net/sourceforge/jnlp/cache/DefaultDownloadIndicator.java: (DownloadPanel) inner class were rewritten to support collapsed/detailed for more then one jar in queue. (frame) window is recreated each time state is changed (preventing errors on some X configurations) and is positioned to lower left corner of active screen. * netx/net/sourceforge/jnlp/resources/hideDownloadDetails.png * adding netx/net/sourceforge/jnlp/resources/showDownloadDetails.pn h Icons for "to collapsed state" and "to detailed state" 2013-01-10 Jiri Vanek All IcedTea-Web dialogues are centered to middle of active screen * NEWS: mentioned this feature * netx/net/sourceforge/jnlp/JNLPSplashScreen.java: * netx/net/sourceforge/jnlp/controlpanel/AdvancedProxySettingsDialog.java: * netx/net/sourceforge/jnlp/controlpanel/CacheViewer.java: * netx/net/sourceforge/jnlp/security/SecurityDialog.java: * netx/net/sourceforge/jnlp/security/viewer/CertificateViewer.java: * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java: Dialogues in above classes made centering to active screen * netx/net/sourceforge/jnlp/util/ScreenFinder.java: New file, utility class which can find active monitor and center dialogue into it. 2013-01-09 Jiri Vanek First part of fix of recreating desktop icon * NEWS: mentioned PR725 * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java: (addMenuAndDesktopEntries)added check for already existing icon * netx/net/sourceforge/jnlp/util/XDesktopEntry.java: Added methods for digging the already existing icon from system (getShortcutTmpFile) tmpfile fo generating the desktop icon (getDesktopIconName) for getting filename from application title (findFreedesktopOrgDesktopPathCatch) public method to find final desktop file (findFreedesktopOrgDesktopPath) to get into ~/.config/user-dirs.dirs (getFreedesktopOrgDesktopPathFrom) to find XDG_DESKTOP_DIR value (filterQuotes) to handle simple quotations (evaluateLinuxVariables) to handle possible variables in XDG_DESKTOP_DIR value * tests/netx/unit/net/sourceforge/jnlp/util/XDesktopEntryTest.java: New tests focused on parsing of desktop location from stream (variables and quotations) 2013-01-09 Jiri Vanek Logging methods made synchronized * tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java: (processLogs) (getDefaultLoggingBottleneck) (writeXmlLog) (addToXmlLog) (modifyMethodWithForBrowser) (setLoggedBrowser) (logIntoPlaintextLog) made synchronised 2013-01-07 Deepak Bhole * netx/net/sourceforge/jnlp/resources/Messages.properties: Converted to Unix format. 2013-01-04 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginAppletSecurityContext.java: Code-formatting fixes and cosmetic changes. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Same. * tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java: Same. * tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java: Same. 2013-01-03 Adam Domurad Fix breakage in unit test CodeBaseClassLoaderTest.testParentClassLoaderIsAskedForClassesApplication * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (CodeBaseClassLoader#findClassNonRecursive): New, call into URLClassLoader#findClass (CodeBaseClassLoader#findClass): Delegate JNLPClassLoader#findClass (JNLPClassLoader#findClass): Call CodeBaseClassLoader#findClassNonRecursive * tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/AppletReferenceOutOfJar.java (init): Add applet finish message. * tests/reproducers/custom/AppletExtendsFromOutsideJar/testcases/AppletExtendsFromOutsideJarTests.java (testClassInAppletFolder): Close quickly on applet finish message. 2013-01-02 Jiri Vanek Fixed unittest for InformationElement. * tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/InformationElementTest.java: (createFromJNLP) now asserts NotNull instead of IsNull as result of "Minor fix for possible NPE (non fatal) during splashscreen creation" 2012-12-21 Adam Domurad * plugin/icedteanp/IcedTeaNPPlugin.cc: Remove need for 'goto' in (NP_Initialize). Check TMPDIR environment variable for possible data directory. Expose some previously static variables/functions for unit testing purposes. Reduce need for explicit allocations for strings 'data_directory' and 'appletviewer_executable'. * tests/cpp-unit-tests/IcedTeaNPPluginTest.cc: Add some basic tests for functions in IcedTeaNPPlugin.cc. 2012-12-21 Jiri Vanek * netx/net/sourceforge/jnlp/runtime/ApplicationInstance.java (shouldCreateShortcut) added handling of xtrustall during asking for desktop icon creation 2012-12-21 Jiri Vanek Minor fix for possible NPE (non fatal) during splashscreen creation * netx/net/sourceforge/jnlp/resources/Messages.properties: * netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: Added messages for user (SPLASHdefaultHomepage) (SPLASHerrorInInformation)(SPLASHmissingInformation). * netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java (createFromJNLP) catch of NPE replaced by conditions with proper messages. 2012-12-21 Jiri Vanek Forgotten condition for AviationWeather first run: * tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java: (AviationWeather) added condition for first run when creation of FileManager is written to stderr. 2012-12-20 Saad Mohammad * tests/netx/unit/net/sourceforge/jnlp/cache/ResourceTrackerTest.java: Added test and changes to work better with PR909 fix. 2012-12-20 Saad Mohammad Fix PR909 - URL is invalid after normalization. * netx/net/sourceforge/jnlp/cache/ResourceTracker.java (normalizeUrl): Converts the URL to an URI object which handles all percent encodings. 2012-12-20 Adam Domurad * plugin/icedteanp/IcedTeaScriptablePluginObject.cc (IcedTeaScriptableJavaObject::deAllocate): Fix memory leak (IcedTeaScriptableJavaPackageObject::deAllocate): Fix memory leak 2012-12-20 Adam Domurad * tests/cpp-unit-tests/browser_mock.cc (mock_retainobject): New, mocks behaviour of NPAPI retainobject (mock_releaseobject): New, mocks behaviour of NPAPI releaseobject * tests/cpp-unit-tests/main.cc: Add warning of memory leak based on operator-new. * tests/cpp-unit-tests/IcedTeaScriptablePluginObjectTest.cc: New, tests for memory leak in (IcedTeaScriptableJavaObject::deAllocate) and (IcedTeaScriptableJavaPackageObject::deAllocate) * tests/cpp-unit-tests/checked_allocations.h: Defines set that does not use operator-new, to prevent recursion in overloaded operator-new * tests/cpp-unit-tests/checked_allocations.cc: Operator new overload that has allocation-set for querying live allocations. 2012-12-20 Jiri Vanek Added and applied Remote annotation, added Remote tests: * tests/report-styles/jreport.xsl: and * tests/junit-runner/JunitLikeXmlOutputListener: and * tests/junit-runner/LessVerboseTextListener.java: added handling of Remote annotation * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: Tests downloading from classpath.org marked. * tests/reproducers/custom/remote/testcases/RemoteApplicationSettings.java: new file, handling url and evaluations of remote reproducers * tests/reproducers/custom/remote/testcases/RemoteApplicationTests.java: launcher for remote tests. * tests/test-extensions/net/sourceforge/jnlp/annotations/Remote.java: Implementation of Remote annotation 2012-12-18 Jiri Vanek Cleaned unit-tests: * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: (DummyJNLPFile) class extracted from its anonymous members to private named member. Get rid of repeated methods (testResourceLoad*Caching) and replace it by (testResourceCaching) with parameter of full name and boolean keeping its expected existence and branching null assert on it. Added tests (testClassResourceLoadSuccessCachingApplication) and (testClassResourceLoadSuccessCachingApplet). (testResourceCaching) made less vulnerable by found classes and more precise. All resources paths fixed and clarified (to be found or not) 2012-12-18 Jana Fabrikova * /tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: Added several new versions of method (executeBrowser) with lists of ContentReaderListeners as arguments. * /tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java: Added new versions of the (constructor of ProcessWrapper) and methods (addStdOutListeners) and (addStdErrListeners) for adding ContentReaderListeners using List instead of one ContentReaderListener as argument. Added a new version of (constructor of ProcessWrapper) with less arguments that is used instead of calling the constructor with several arguments passed as null, thus causing ambiguity. * /tests/reproducers/simple/SingeInstanceServiceTest/testcases/SingleInstanceTest.java: Modified the call of (executeBrowser) method with null arguments into a call of new method without the null arguments -getting rid of an ambiguous call. 2012-12-11 Jiri Vanek Added jacoco code coverage support * Makefile.am: (JACOCO_*) bunch of new variables encapsulating jacoco files. (PLUGIN_COVERAGE_BOOTCLASSPATH) classpath to be used in plugin instead of normal one in coverage mode. (COVERABLE_PLUGIN_DIR) for compiling plugin with agent on. (jacoco-operator-source-files.txt) for storing files of reporting tool. All XSLTPROC command were done as non-fatal (stamps/compile-jacoco-operator.stamp) for compiling report operator. (stamps/run-unit-test-code-coverage-jacoco.stam) for cover unittests Set of (COVERABLE_PLUGIN_*) targets to compile plugin with agent on. (stamps/build-fake-plugin.stamp) top level target for fake plugin. (stamps/run-reproducers-test-code-coverage-jacoco.stamp) target for cover reproducers. (run-test-code-coverage-jacoco) for merged coverage (clean-unit-test-code-coverage-jacoco) and (clean-reproducers-test-code-coverage-jacoco) and (clean-test-code-coverage-jacoco) and (clean-test-code-coverage-tools-jacoco) cleaning targets. (run-reproducers-test-code-coverage-jacoco) and (run-unit-test-code-coverage-jacoco) as top level aliases. * configure.ac: added check for jacoco library and asm library * plugin/icedteanp/IcedTeaNPPlugin.cc removed duplicate code (plugin_start_appletviewe) removed duplicated code and added handling of java agent if defined. * tests/jacoco-operator/org/jacoco/operator/Main.java : New class, comamndline tool for merging results and for generating reports. * tests/jacoco-operator/org/jacoco/operator/MergeTask.java: New class. Utility class responsible for merging exec results to one exec file. * tests/jacoco-operator/org/jacoco/operator/ReportGenerator: New class. Utility method for gathering sources and builds and outputing xml and html reports. 2012-12-11 Adam Domurad * plugin/icedteanp/java/sun/applet/PluginParameterParser.java: Remove left-in System.out 2012-12-10 Saad Mohammad Add unit tests for PR1189. * tests/netx/unit/net/sourceforge/jnlp/PluginParametersTest.java: (testConstructorWithNoCodeAndObjectParam): Initialize PluginParameters without code/object parameters. (testConstructorWithOnlyJnlpHrefParam): Initialize PluginParameters with jnlp_href but no code/object parameters. 2012-12-10 Saad Mohammad Add reproducer for PR1189. * tests/reproducers/simple/AppletTagWithMissingCodeAttribute/resources/AppletTagWithMissingCodeAttribute.html: Simple webpage which contains an applet tag with no code attribute. * tests/reproducers/simple/AppletTagWithMissingCodeAttribute/resources/AppletTagWithMissingCodeAttribute.jnlp: Jnlp file that is used by the webpages using jnlp_href. * tests/reproducers/simple/AppletTagWithMissingCodeAttribute/testcases/AppletTagWithMissingCodeAttribute.java: Testcase that tests applets without code attribute in html pages. * tests/reproducers/simple/SimpleApplet/srcs/SimpleApplet.java: Simple applet class that outputs a string. 2012-12-10 Saad Mohammad Fix PR1189: Icedtea-plugin requires code attribute when using jnlp_href. * netx/net/sourceforge/jnlp/PluginParameters.java (PluginParameters): Updated if condition to prevent PluginParameterException from being thrown if applet tag contains jnlp_href but is missing code/object parameters. 2012-12-06 Adam Domurad * Makefile.am: Fix targets stamps/netx-unit-tests-compile.stamp and stamps/run-netx-unit-tests.stamp to not rely on installed directory. 2012-12-05 Saad Mohammad Added new option in itw-settings which allows users to set JVM arguments when plugin is initialized. * netx/net/sourceforge/jnlp/config/Defaults.java (getDefaults): Added defaults for DeploymentConfiguration.KEY_PLUGIN_JVM_ARGUMENTS. * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: Added new property (KEY_PLUGIN_JVM_ARGUMENTS) which stores the value of JVM plugin arguments. * netx/net/sourceforge/jnlp/controlpanel/ControlPanel.java: (createMainSettingsPanel): Added JVM settings to the list of tabs. (createJVMSettingsPanel): Returns a new JVMPanel object. * netx/net/sourceforge/jnlp/controlpanel/JVMPanel.java: JVM settings panel. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added a new items (CPJVMPluginArguments, CPHeadJVMSettings, CPTabJVMSettings). * plugin/icedteanp/IcedTeaNPPlugin.cc: (plugin_start_appletviewer): Adds JVM arguments to the commands line list. (get_jvm_args): Returns JVM arguments set in itw-settings. * plugin/icedteanp/IcedTeaPluginUtils.cc: (IcedTeaPluginUtilities::vectorStringToVectorGchar): New helper method which returns a vector of gchar* from the vector of strings passed. * plugin/icedteanp/IcedTeaPluginUtils.h: Declaration of IcedTeaPluginUtilities::vectorStringToVectorGchar. 2012-12-05 Pavel Tisnovsky * Makefile.am: Avoid warning message printed in clean target if softkiller is not compiled. 2012-12-04 Adam Domurad * netx/net/sourceforge/jnlp/resources/Messages.properties: "An serious exception have occured" -> "A serious exception occurred" 2012-12-04 Adam Domurad PluginAppletViewer refactoring. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (handleInitializationMessage): New, extracts initialization logic from PluginAppletViewer.handleMessage. * plugin/icedteanp/java/sun/applet/PluginAppletPanelFactory.java: Moved into own file. 2012-12-04 Adam Domurad Remove the applet/embed/object tag parser from ITW. Send the applet parameters directly from the C++. * Makefile.am: Allow unit-testing for classes in plugin.jar. * netx/net/sourceforge/jnlp/NetxPanel.java: Use PluginParameters for attribute lookup * netx/net/sourceforge/jnlp/PluginBridge.java: Use PluginParameters for attribute lookup * netx/net/sourceforge/jnlp/resources/Messages.properties: Add message for missing code/object attributes. * netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: Same. * plugin/icedteanp/IcedTeaNPPlugin.cc: Send escaped parameter name/values instead of applet tag. Remove some dead code. * plugin/icedteanp/IcedTeaNPPlugin.h: Rename applet_tag -> parameters_string. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: Extract parsing code into its own class. * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: Use CHECK_EQUALS instead of CHECK. * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: Update unit tests due to constructor changes. * netx/net/sourceforge/jnlp/PluginParameterException.java: New, thrown when code/object attributes are missing. * netx/net/sourceforge/jnlp/PluginParameters.java: New, Hashtable wrapper that handles plugin attribute/parameter lookups. * plugin/icedteanp/java/sun/applet/PluginParameterParser.java: New, creates PluginParameters from escaped name/values. * tests/cpp-unit-tests/PluginParametersTest.cc: New, C++ Unit tests for plugin parameter related functions * tests/netx/unit/net/sourceforge/jnlp/PluginParametersTest.java: New, unit tests for PluginParameters class. * tests/netx/unit/sun/applet/PluginParameterParserTest.java: New, unit tests for PluginParameterParser class. 2012-11-03 Jiri Vanek Fixed logging bottleneck * tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java: added and used function (clearChars) which filter characters going to xml from invalid ones. * tests/test-extensions/net/sourceforge/jnlp/ServerAccess: getting test method id by (getTestMethod) now relay on physical way to the class as the only real thing differing test class and framework class. 2012-12-03 Pavel Tisnovsky * Makefile.am: Added new target for compiling softkiller. * tests/softkiller/softkiller.c: Added browser softkiller. * tests/softkiller/Makefile: Added makefile used to build and clean browser softkiller. * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java: Uncommented code used to close windows. 2012-11-30 Adam Domurad Breaks up IcedTeaPluginUtilities::javaResultToNPVariant into multiple, more manageable parts. * plugin/icedteanp/IcedTeaPluginUtils.cc: Make three helper functions for the different cases. Two new helper functions for converting from std::string to NPString and NPVariant. * plugin/icedteanp/IcedTeaPluginUtils.h: Two new helper functions. * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: Tests for the new NPString and NPVariant from std::string functions. 2012-11-30 Adam Domurad Added a simple mechanism for mocking functions in the browser function table. Can be expanded as needed. * tests/cpp-unit-tests/main.cc: Call setup function, warn on browser function based memory leak. * tests/cpp-unit-tests/browser_mock.cc: New, implements simple error-checking mocks of browser callbacks. * tests/cpp-unit-tests/browser_mock.h: New, interface to mocking functions. 2012-11-27 Jiri Vanek Better error reporting from applets * netx/net/sourceforge/jnlp/NetxPanel.java: (init) ErrorSplash is shown if fatal exception is cough * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: (replaceSpalsh) is rather removing all then just its previous version * tests/reproducers/simple/AppletTest/srcs/AppletErrorTest.java: * tests/reproducers/simple/AppletTest/resources/errorAppletAutoTests.html Testcase for manual testing of various exceptions from applet 2012-11-27 Jiri Vanek * AUTHORS: added Jan Kmetko as current SplashScreen artwork author 2012-11-27 Jiri Vanek Fixed epiphany switch * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Epiphany.java: -new-tab fixed to --new-tab 2012-11-23 Jiri Vanek Firefox session-backup and stubs for softkiller, multiple listeners, processes handling moved to separate class. * tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java: Removed unwanted assert on termination * tests/test-extensions/net/sourceforge/jnlp/ContentReader.java: Added support for multiple listeners. * tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java: (destroyProcess()), non static wrapper around former (destroyProcess (process)), introducing marks that process is being killed, added setter for reactigProcess. * tests/test-extensions/net/sourceforge/jnlp/ProcessWrapper.java: Wrapper around former ServerAccess.executeProcess set of methods. * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: all executeProcess/Javaws/Browser are now just api compatibility methods around ProcessWrapper. (executeProcess) main method moved to ProcessWrapper.execute. * tests/test-extensions/net/sourceforge/jnlp/ThreadedProcess.java: made public and synchronized with ProcessAssasin's (destroyProcess) * tests/test-extensions/net/sourceforge/jnlp/browsertesting/Browser.java is now implementing ReactingProcess * tests/test-extensions/net/sourceforge/jnlp/browsertesting/ReactingProcess.java: new interface for communication with main events of ThreadedProcess lifecycle. * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/Firefox.java: is containing singleton of FirefoxProfilesOperator (FPO) and is responding to (beforeProcess) by FPO's (backupingProfiles), to (beforeKill) by calling ProcessAssasin's (closeWindows), and to (afterKill) by FPO's (restoreProfiles) * tests/test-extensions/net/sourceforge/jnlp/browsertesting/browsers/firefox/FirefoxProfilesOperator.java: New class to backup and restore firefox profiles. 2012-11-21 Adam Domurad * Makefile.am: Fix new clean targets not cleaning properly 2012-11-21 Adam Domurad Support for C++ unit testing with UnitTest++ for IcedTeaWeb. * tests/cpp-unit-tests/IcedTeaPluginUtilsTest.cc: New, contains tests for utility functions. * tests/cpp-unit-tests/main.cc: New, contains unit test runner. * plugin/icedteanp/IcedTeaPluginUtils.h: Remove incorrect circular include dependency * plugin/icedteanp/IcedTeaRunnable.h: Add includes necessary for self-sustaining header. * Makefile.am: Add targets for unit test compilation and running, eg 'make run-cpp-unit-tests'. 2012-11-21 Adam Domurad Add the source code to UnitTest++ into the project. * tests/UnitTest++/COPYING: Part of UnitTest++ * tests/UnitTest++/Makefile: Part of UnitTest++ * tests/UnitTest++/README: Part of UnitTest++ * tests/UnitTest++/src/AssertException.cpp: Part of UnitTest++ * tests/UnitTest++/src/AssertException.h: Part of UnitTest++ * tests/UnitTest++/src/CheckMacros.h: Part of UnitTest++ * tests/UnitTest++/src/Checks.cpp: Part of UnitTest++ * tests/UnitTest++/src/Checks.h: Part of UnitTest++ * tests/UnitTest++/src/Config.h: Part of UnitTest++ * tests/UnitTest++/src/CurrentTest.cpp: Part of UnitTest++ * tests/UnitTest++/src/CurrentTest.h: Part of UnitTest++ * tests/UnitTest++/src/DeferredTestReporter.cpp: Part of UnitTest++ * tests/UnitTest++/src/DeferredTestReporter.h: Part of UnitTest++ * tests/UnitTest++/src/DeferredTestResult.cpp: Part of UnitTest++ * tests/UnitTest++/src/DeferredTestResult.h: Part of UnitTest++ * tests/UnitTest++/src/ExecuteTest.h: Part of UnitTest++ * tests/UnitTest++/src/MemoryOutStream.cpp: Part of UnitTest++ * tests/UnitTest++/src/MemoryOutStream.h: Part of UnitTest++ * tests/UnitTest++/src/Posix/SignalTranslator.cpp: Part of UnitTest++ * tests/UnitTest++/src/Posix/SignalTranslator.h: Part of UnitTest++ * tests/UnitTest++/src/Posix/TimeHelpers.cpp: Part of UnitTest++ * tests/UnitTest++/src/Posix/TimeHelpers.h: Part of UnitTest++ * tests/UnitTest++/src/ReportAssert.cpp: Part of UnitTest++ * tests/UnitTest++/src/ReportAssert.h: Part of UnitTest++ * tests/UnitTest++/src/Test.cpp: Part of UnitTest++ * tests/UnitTest++/src/Test.h: Part of UnitTest++ * tests/UnitTest++/src/TestDetails.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestDetails.h: Part of UnitTest++ * tests/UnitTest++/src/TestList.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestList.h: Part of UnitTest++ * tests/UnitTest++/src/TestMacros.h: Part of UnitTest++ * tests/UnitTest++/src/TestReporter.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestReporter.h: Part of UnitTest++ * tests/UnitTest++/src/TestReporterStdout.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestReporterStdout.h: Part of UnitTest++ * tests/UnitTest++/src/TestResults.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestResults.h: Part of UnitTest++ * tests/UnitTest++/src/TestRunner.cpp: Part of UnitTest++ * tests/UnitTest++/src/TestRunner.h: Part of UnitTest++ * tests/UnitTest++/src/TestSuite.h: Part of UnitTest++ * tests/UnitTest++/src/TimeConstraint.cpp: Part of UnitTest++ * tests/UnitTest++/src/TimeConstraint.h: Part of UnitTest++ * tests/UnitTest++/src/TimeHelpers.h: Part of UnitTest++ * tests/UnitTest++/src/UnitTest++.h: Part of UnitTest++ * tests/UnitTest++/src/XmlTestReporter.cpp: Part of UnitTest++ * tests/UnitTest++/src/XmlTestReporter.h: Part of UnitTest++ 2012-11-21 Adam Domurad * plugin/icedteanp/IcedTeaNPPlugin.cc (consume_plugin_message): Free two buffers returned from NPN_GetValueForURL function. 2012-11-20 Jiri Vanek * Makefile.am: (stamps/run-netx-dist-tests.stamp) and (stamps/run-netx-unit-tests.stamp) Swapped logs and report xslt operations 2012-11-20 Jana Fabrikova * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: added @KnownToFail annotations to the tests, which are showing unimplemented/broken features of js-plugin communication. 2012-11-13 Adam Domurad Reproducer for PR1198, JSObject#eval creates invalid JS object. * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.html: Loads applet + JS for test * tests/reproducers/simple/JSObjectFromEval/resources/JSObjectFromEval.js: Calls java code to test JSObject#eval * tests/reproducers/simple/JSObjectFromEval/srcs/JSObjectFromEval.java: Provides java<->JS wrappers for JSObject methods * tests/reproducers/simple/JSObjectFromEval/testcases/JSObjectFromEvalTest.java: Tests if JSObject#eval creates valid JSObject. 2012-11-13 Saad Mohammad Fix PR1166: Embedded JNLP File is not supported in applet tag. * configure.ac: Checks for sun.misc.BASE64Decoder. * NEWS: Added entry for PR1166. * netx/net/sourceforge/jnlp/JNLPFile.java (JNLPFile): New constructor which accepts inputstream of jnlp file and a specified codebase. * netx/net/sourceforge/jnlp/Parser.java (Parser): If parsing of codebase fails, it will overwrite the codebase with the one passed in through parameters. * netx/net/sourceforge/jnlp/PluginBridge.java: (PluginBridge) Supports embedded jnlp file. (decodeBase64String) Decodes Base64 strings to byte array. 2012-11-13 Saad Mohammad Added unit tests for PR1166. * tests/netx/unit/net/sourceforge/jnlp/JNLPFileTest.java: Tests the JNLPFile constructor that accepts an InputStream and an alternative codebase. * tests/netx/unit/net/sourceforge/jnlp/ParserTest.java: Tests if the constructor handles the alternative codebase parameter correctly. * tests/netx/unit/net/sourceforge/jnlp/PluginBridgeTest.java: Tests if BASE64 strings are decoded correctly and if PluginBridge is constructed with an embedded jnlp. 2012-11-13 Saad Mohammad Added reproducer for PR1166. * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlp.jnlp: Launching jnlp file that is used by jnlp_href in applet tag * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletNoCodebase.html: Applet with an embedded jnlp file with no codebase specified * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/EmbeddedJnlpInAppletWithDotCodebase.html: Applet with an embedded jnlp file with codebase set as a 'dot' * tests/reproducers/simple/EmbeddedJnlpInApplet/resources/JnlpInApplet.html: Applet with jnlp_href file. * tests/reproducers/simple/EmbeddedJnlpInApplet/srcs/EmbeddedJnlp.java: Simple class that outputs strings. * tests/reproducers/simple/EmbeddedJnlpInApplet/testcases/EmbeddedJnlpInAppletTest.java: Testcase that tests embedded jnlps in html pages. 2012-11-08 Saad Mohammad * NEWS: Added entry for PR1027 - DownloadService is not supported by IcedTea-Web. 2012-11-08 Saad Mohammad Added reproducer for DownloadService. * tests/reproducers/signed/DownloadService/resources/DownloadService.jnlp: Launching jnlp file that contains extension jnlp and jars marked with part names. * tests/reproducers/signed/DownloadService/resources/DownloadServiceExtension.jnlp: DownloadService extension jnlp file with jars marked with part names. * tests/reproducers/signed/DownloadService/srcs/DownloadServiceRunner.java: A simple class that uses DownloadService to complete tasks and outputs the results. * tests/reproducers/signed/DownloadService/testcases/DownloadServiceTest.java: Testcase for DownloadService. 2012-11-08 Saad Mohammad Core implementation of DownloadService. * netx/net/sourceforge/jnlp/cache/CacheUtil.java (getCacheParentDirectory): Returns the parent directory of the cached resource. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getLoaders): Returns all loaders that this loader uses, including itself (addNewJar): Adds a new jar to the classloader with specified UpdatePolicy. (removeJars): Remove jars from the filesystem. (initializeNewJarDownload): Downloads and initializes jars into the current loader. (manageExternalJars): Manages jars which are not mentioned in the JNLP file. * netx/net/sourceforge/jnlp/runtime/LocateJnlpClassLoader.java: (getLoaderByJnlpFile): Returns the classloader of the jnlp file specified. (getLoaderByResourceUrl): Returns the classloader that contains the specified jar. * netx/net/sourceforge/jnlp/runtime/ManageJnlpResources.java: (findJars): Returns jars from the JNLP file with the specified partname. (removeCachedJars): Removes jar from cache. (downloadJars): Downloads jars identified by part name. (loadExternalResouceToCache): Download and initalize resources which are not mentioned in the jnlp file. (removeExternalCachedResource): Removes resources from cache which are not mentioned in the jnlp file. (isExternalResourceCached): Determines if the resource that is not mentioned in the jnlp file is cached and returns a boolean with the result. * netx/net/sourceforge/jnlp/services/XDownloadService.java: Core implementation of DownloadService. 2012-11-02 Jiri Vanek Alexandr Kolouch Added cz_CS locales with test * AUTHORS: added translator, mr. Kolouch * NEWS: mentioned localization * netx/net/sourceforge/jnlp/resources/Messages_cs_CZ.properties: file itself with translation * tests/reproducers/simple/LocalesTest/testcases/LocalesTestTest.java: Test which is testing whether and how locales are applied. 2012-11-02 Jiri Vanek Splashscreen integrated to javaws and plugin * Makefile.am: (edit_launcher_script) added JAVAWS_SPLASH_LOCATION substitution for installed javaws_splash.png. (install-exec-loca) added installation of javaws_splash.png. * NEWS: mentioned splashscreen * launcher/javaws.in: added SPLASH_LOCATION, as path to image with "java" splash which s then shown until internal vector one appear. * netx/net/sourceforge/jnlp/GuiLaunchHandler.java: splashScreen made volatile, (launchInitialized) splashscreen is created and shown * netx/net/sourceforge/jnlp/JNLPSplashScreen.java: (setSplashImageURL) splash bg image is loaded from given url or default is used if not found or not specified by jnlp/applet. (correctSize) width is calculated from bg image or default is used when no image set. Splash is centered to primary monitor. * netx/net/sourceforge/jnlp/Launcher.java: (launchApplet) and (launchApplication) enriched by handling of splashs. (launchError) overloaded and is now handling forwarding of errors to splash. All relevant calls of launchError enriched by appletInstance. * netx/net/sourceforge/jnlp/NetxPanel.java: is now implementing SplashController.This is done by setting and wrapping of splashController variable. * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java: is now handling splashscreen for applets in browsers. (framePanel) is now providing panel to be processed (PluginAppletViewer) is now invoking SplashCreator. (replaceSplash) new method which replace splashscreen with error splashscreen. (removeSplash) new method to remove splash when loading is done. (update) is added to call paint directly (SplashCreator) new internal runnable to create splash * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_2.html: second jar made XslowX to track two FIXME introduced in this patch - Launcher's createApplet and PluginAppletViewer's framePanel. * netx/javaws_splash.png: Binary image to be shown before java is launched * tests/reproducers/simple/simpletest1/resources/netxPlugin.png: Binary image to ne used for testing custom splashscreens 2012-10-31 Jana Fabrikova *tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: Modifying the testcase output to a simpler text. *tests/reproducers/simple/JSToJSet/testcases/JSToJSetTest.java: Modifying the testcase output to a simpler text. 2012-10-29 Omair Majid * tests/reproducers/signed/DeploymentPropertiesAreExposed/resources/DeploymentPropertiesAreExposed.jnlp, * tests/reproducers/signed/DeploymentPropertiesAreExposed/srcs/Test.java, * tests/reproducers/signed/DeploymentPropertiesAreExposed/testcases/DeploymentPropertiesAreExposedTest.java: New files. 2012-10-29 Omair Majid PR1186 * netx/net/sourceforge/jnlp/config/DeploymentConfiguration.java: (load(boolean)): Delegate to load(File,File,boolean). (load(File,File,boolean)): New method. (copyTo): New method. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java: (initialize): Copy configuration to system properties. * tests/netx/unit/net/sourceforge/jnlp/config/DeploymentConfigurationTest.java: New File. 2012-10-29 Jana Fabrikova * tests/reproducers/simple/JSToJSet Added reproducer for testing LiveConnect - setting Java members from JavaScript side 2012-10-26 Jiri Vanek Added clipboard reproducers (PR708) * tests/reproducers/signed/ClipboardContentSigned/resources/ClipboardContentSignedCopy1.jnlp: Jnlp to invoke manual copying to clipboard on signed app, please note the delayed death of application * tests/reproducers/signed/ClipboardContentSigned/resources/ClipboardContentSignedCopy2.jnlp: Jnlp to invoke jtextfield like copying signed app, please note the delayed death of application * tests/reproducers/signed/ClipboardContentSigned/resources/ClipboardContentSignedPaste1.jnlp: Jnlp to invoke manual pasting on signed application * tests/reproducers/signed/ClipboardContentSigned/resources/ClipboardContentSignedPaste2.jnlp: Jnlp to invoke jtextfield like pasting on signed application * tests/reproducers/signed/ClipboardContentSigned/srcs/ClipboardContentSigned.java: Application which is trying to access clipboard by various ways. * tests/reproducers/signed/ClipboardContentSigned/testcases/ClipboardContentSignedTests.java: Automated tests for four above jnlps. * tests/reproducers/simple/ClipboardContent/resources/ClipboardContentCopy1.jnlp: Jnlp to invoke manual copying to clipboard on unsigned app, please note the delayed death of application * tests/reproducers/simple/ClipboardContent/resources/ClipboardContentCopy2.jnlp: Jnlp to invoke jtextfield like copying unsigned app, please note the delayed death of application * tests/reproducers/simple/ClipboardContent/resources/ClipboardContentPaste1.jnlp: Jnlp to invoke manual pasting on unsigned application * tests/reproducers/simple/ClipboardContent/resources/ClipboardContentPaste2.jnlp: Jnlp to invoke jtextfield like pasting on unsigned application * tests/reproducers/simple/ClipboardContent/srcs/ClipboardContent.java: Application which is trying to access clipboard by various ways. * tests/reproducers/simple/ClipboardContent/testcases/ClipboardContentTests.java: Automated tests for first and third of above four jnlps. The tests of second and fourth is disabled due to necessary manual interaction * tests/test-extensions/net/sourceforge/jnlp/tools/WaitingForStringProcess.java: Utility class for process waiting for some string for another string * tests/test-extensions/net/sourceforge/jnlp/tools/ClipboardHelpers.java Utility class for copying/pasting text to/from clipboard * tests/test-extensions/net/sourceforge/jnlp/tools/AsyncJavaws.java Utility class for launching javaws in separate thread. 2012-10-23 Jiri Vanek KnownToFail texts are now bold in html report * tests/report-styles/jreport.xsl: all text outputs of test="@known-to-fail=true" conditions are marked with . 2012-10-19 Adam Domurad * tests/reproducers/custom/AdditionalJarsInMetaInfIndexList/testcases/AdditionalJarsInMetaInfIndexListTests.java (SignedMetaInfIndexListTest): Add @KnownToFail annotation 2012-10-19 Jiri Vanek Renamed reproducers-related variables and targets * Makefile.am: NETX_TEST_DIR - new parent directory variable for tests NETX_UNIT_TEST_DIR - is now using this variable JNLP_TESTS_ENGINE_SRCDIR -> TEST_EXTENSIONS_SRCDIR JNLP_TESTS_ENGINE_TESTS_SRCDIR -> TEST_EXTENSIONS_TESTS_SRCDIR JNLP_TESTS_SRCDIR -> REPRODUCERS_TESTS_SRCDIR JNLP_TESTS_ENGINE_DIR -> TEST_EXTENSIONS_DIR JNLP_TESTS_ENGINE_TESTS_DIR -> TEST_EXTENSIONS_TESTS_DIR new variable TEST_EXTENSIONS_COMPATIBILITY_SYMLINK still pointing to $(TESTS_DIR)/netx/jnlp_testsengine $(TESTS_DIR)/jnlp_testsengine now points to $(TESTS_DIR)/test-extensions JNLP_TESTS_SERVER_DEPLOYDIR -> REPRODUCERS_TESTS_SERVER_DEPLOYDIR JNLP_TESTS_DIR -> REPRODUCERS_BUILD_DIR netx-dist-tests-source-files.txt -> test-extensions-source-files.txt stamps/netx-dist-tests-compile.stamp -> stamps/test-extensions-compile.stamp stamps/netx-dist-tests-tests-compile.stamp -> stamps/test-extensions-tests-compile.stamp stamps/netx-dist-tests-compile-testcases.stamp -> stamps/compile-reproducers-testcases.stamp stamps/netx-dist-tests-copy-resources.stamp -> stamps/copy-reproducers-resources.stamp * tests/reproducers/custom/AdditionalJarsInMetaInfIndexList/srcs/Makefile: and * tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Makefile: and * tests/reproducers/custom/AppletFolderInArchiveTag/srcs/Makefile: and * tests/reproducers/custom/UnsignedContentInMETAINF/srcs/Makefile: following above renaming 2012-10-19 Adam Domurad Revised multiple signatures test to check for new message. Added more accurate reproducer for PR822. * tests/reproducers/signed2/MultipleSignaturesTest/srcs/somecrazytestpackage/MultipleSignaturesTest.java: Made class take a classname parameter so different out-of-package classes could be executed. * tests/reproducers/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest.html: Added main-class parameter. * tests/reproducers/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest1.jnlp: Same. * tests/reproducers/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest1_requesting.jnlp: Same. * tests/reproducers/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest2.jnlp: Same. * tests/reproducers/signed2/MultipleSignaturesTest/testcases/MultipleSignaturesTestTests.java (multipleSignaturesTestHtmlAppletUsesPermissions): New, tests if fully signed HTML applets with varied signers can (as they should) execute with full permissions. Reproduces PR822. (multipleSignaturesTestJnlpApplicationRequesting): Check for mismatching signers JNLP failure message. Remove known-to-fail & inaccurate bug annotation. * tests/reproducers/signed2/MultipleSignaturesTestSamePackage/testcases/MultipleSignaturesTestTestsSamePackage.java (multipleSignaturesTestSamePackageJnlpApplicationRequesting): Check for mismatching signers JNLP failure message. Remove known-to-fail & inaccurate bug annotation. 2012-10-19 Adam Domurad Reproduces PR822: Applets fail to load if jars have different signers. Tests for applets & JNLPs with multiple signers per jar. * tests/reproducers/signed/ReadPropertiesSigned/srcs/ReadPropertiesSigned.java: Modified to end with standard applet finish message. * tests/reproducers/simple/ReadProperties/srcs/ReadProperties.java: * tests/reproducers/custom/MultipleSignaturesPerJar/README: Explains dependence on ReadPropertiesSigned. * tests/reproducers/custom/MultipleSignaturesPerJar/resources/MultipleSignaturesPerJarMatching.html: HTML applet test with a common signer. * tests/reproducers/custom/MultipleSignaturesPerJar/resources/MultipleSignaturesPerJarMatching.jnlp: JNLP test with a common signer. * tests/reproducers/custom/MultipleSignaturesPerJar/resources/MultipleSignaturesPerJarMismatching.html: HTML applet test without a common signer. * tests/reproducers/custom/MultipleSignaturesPerJar/resources/MultipleSignaturesPerJarMismatching.jnlp: JNLP test without a common signer. * tests/reproducers/custom/MultipleSignaturesPerJar/srcs/Makefile: Custom makefile used to sign a jar with multiple signers. * tests/reproducers/custom/MultipleSignaturesPerJar/srcs/somecrazytestpackage/MultipleSignaturesPerJarMain.java: Accesses ReadPropertiesSigned from another package with different signers. * tests/reproducers/custom/MultipleSignaturesPerJar/testcases/MultipleSignaturesPerJarTests.java: Test driver. 2012-10-19 Adam Domurad New message for signer mismatch in JNLP applications. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added message 'The JNLP application is not fully signed by a single cert.' * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Message thrown when JNLP's jcv.allJarsSigned() is true but not jcv.isFullySigned(); 2012-10-19 Adam Domurad Fixes JCV#isTriviallySigned(). Reproducer 'EmptySignedJar' passes again. * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Remove problematic 'triviallySigned' variable and instead determine whether triviallySigned on the fly. Consider jars with 0 signable entries as SIGNED_OK. * tests/netx/unit/net/sourceforge/jnlp/tools/JarCertVerifierTest.java: Update no-signers unit test. 2012-10-19 Adam Domurad * netx/net/sourceforge/jnlp/security/AppVerifier.java: Use interface types for declared types where applicable. * netx/net/sourceforge/jnlp/security/PluginAppVerifier.java: Same. * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Same. 2012-10-19 Adam Domurad * netx/net/sourceforge/jnlp/security/AppVerifier.java: Use interface types for declared types where applicable. * netx/net/sourceforge/jnlp/security/PluginAppVerifier.java: Same. * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Same. 2012-10-19 Danesh Dadachanji Rework JarCertVerifier certificate management to handle multiple certificates and use different algorithms to verify JNLPs and Applets. * netx/net/sourceforge/jnlp/resources/Messages.properties: Removed SHasUnsignedEntry. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Set JCV instance to final but uninitialized. (JNLPClassLoader): Initialized JCV with runtime dependent verifier. (addNewJar), (initializeResources), (verifySignedJNLP): Replaced use of local JarCertVerifier variable with the instance variable. Added calls to isFullySigned wherever signer verification is done. (activateJars): No longer verifies nested jars. These receive the same security permissions as their parent jar, regardless of the nested jar's signing. (checkTrustWithUser): Removed JCV param, reimplemented to wrap around JCV's checkTrustWithUser method. (verifyJars): Removed. * netx/net/sourceforge/jnlp/security/AppVerifier.java: New strategy pattern interface that specifies verification methods required regardless of the runtime. * netx/net/sourceforge/jnlp/security/JNLPAppVerifier.java: * netx/net/sourceforge/jnlp/security/PluginAppVerifier.java: New strategy pattern classes used to determine which algorithms to use depending on the runtime. * netx/net/sourceforge/jnlp/security/CertVerifier.java: Added CertPath param to all the methods. (noSigningIssues): Removed. * netx/net/sourceforge/jnlp/security/CertWarningPane.java: * netx/net/sourceforge/jnlp/security/CertsInfoPane.java: * netx/net/sourceforge/jnlp/security/MoreInfoPane.java: Updated calls to the verifier's methods with the new CertPath param. All are set to null so far. * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java: Added CertPath param to all the methods. It's mostly ignored though. * netx/net/sourceforge/jnlp/tools/CertInformation.java: New class to represent all the information about a signer with with respect to all of the entries it has signed for the app. * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: Completely reworked to use CertInformation and AppVerifier functionality. (getCertPath), (getCertInformation), (checkTrustWithUser), (getJarSignableEntries), (getTotalJarEntries): New method. (noSigningIssues), (anyJarsSigned): Removed. (verifyResult): Renamed enum to VerifyResult (JarCertVerifier): New constructor used to set AppVerifier instance. (getAlreadyTrustPublisher), (getRootInCacerts): Now uses strategy pattern. (hasSigningIssues), (getDetails), (checkTrustedCerts), (checkCertUsage): Now uses cert info class. (getCerts): Renamed to getCertsList. (isFullySignedByASingleCert): renamed to isFullySigned and to use the strategy pattern. (add): New public method that resets some instance vars and calls verifyJars. (verifyJars): Modifier changed to private, above method should be used. Also skips jars that have been verified before. (verifyJar): Removed actual verification code, only reads jars into the JVM. (verifyJarEntryCerts): New method. Does actual verification of jars. (getPublisher), (getRoot): Use hacky currentlyUsed variable as the signer. * tests/netx/unit/net/sourceforge/jnlp/tools/JarCertVerifierTest.java: Unit test JCV's verifyJarEntryCerts method. * tests/test-extensions/net/sourceforge/jnlp/tools/CodeSignerCreator.java: Unit test helper that creates CodeSigner instances. 2012-10-16 Adam Domurad * tests/reproducers/simple/AppletTakesLastParam/srcs/AppletTakesLastParam.java: Add 'standard' applet closing message. * tests/reproducers/simple/AppletTakesLastParam/testcases/AppletTakesLastParamTests.java: Clean-up code and add automatic applet closing on finish. 2012-10-15 Jana Fabrikova * tests/reproducers/simple/JSToJGet/testcases/JSToJGetTest.java: Modified the testcases - more readable method calls. 2012-10-05 Omair Majid PR1145 * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (getAccessControlContextForClassLoading): Do not catch ClassCircularityError. (findLoadedClassAll): Call findLoadedClass without any special permissions. 2012-10-03 Jana Fabrikova * tests/reproducers/simple/JSToJGet: Added a new reproducer for the first LiveConnect test - getting members from Java side. 2012-10-02 Martin Olsson * plugin/icedteanp/IcedTeaNPPlugin.cc: Typo fix. * plugin/icedteanp/IcedTeaPluginRequestProcessor.cc: Typo fix. 2012-09-26 Jana Fabrikova * tests/test-extensions/net/sourceforge/jnlp/closinglisteners/StringMatchClosingListener.java: Added forgotten package name. 2012-09-25 Jiri Vanek Added rules listeners * tests/test-extensions/net/sourceforge/jnlp/closinglisteners/CountingClosingListener.java: Base class for closing listeners which is containing complete output in each time. * tests/test-extensions/net/sourceforge/jnlp/closinglisteners/Rule.java: Class with rule definition for RulesFolowingClosingListener * tests/test-extensions/net/sourceforge/jnlp/closinglisteners/RulesFolowingClosingListener.java: ClosingListener consisted from rules which all have to match for close action * tests/test-extensions/net/sourceforge/jnlp/closinglisteners/StringRule.java: Implementation of rule based on string * tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java: * tests/reproducers/simple/AppletTest/testcases/AppletTestTests.java: Refactored to use Above iisteners. 2012-09-24 Jiri Vanek Added basic closing listener implementation * tests/reproducers/signed/AppletTestSigned/resources/AppletTestSigned.html: removed unnecessary XslowX * tests/reproducers/signed/AppletTestSigned/resources/AppletTestSigned2.html: added missing XslowX * tests/reproducers/signed/AppletTestSigned/srcs/AppletTestSigned.java: added standard closing sentence * tests/reproducers/signed/AppletTestSigned/testcases/AppletTestSignedTests.java: used auto*closing listeners * tests/test-extensions/net/sourceforge/jnlp/ClosingListener.java: interface for identifying closing listeners * tests/test-extensions/net/sourceforge/jnlp/ProcessAssasin.java: added possibility to set timeout n the fly * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: (executeBrowser) added shortcut for autoclosing listeners, (setUpClosingListener) method for setting properties of ClosingListener (executeBrowser) add logic to handle ClosingListeners * tests/test-extensions/net/sourceforge/jnlp/closinglisteners/AutoAllClosingListener.java: listener closing on "APPLET FINISHED" string * tests/test-extensions/net/sourceforge/jnlp/closinglisteners/AutoErrorClosingListener.java: listener closing on "xception" match * tests/test-extensions/net/sourceforge/jnlp/closinglisteners/AutoOkClosingListener.java: listener closing on both xception and finished string. * tests/test-extensions/net/sourceforge/jnlp/closinglisteners/StringBasedClosingListener.java: Base forefather for Auto*ClosingListener 2012-09-24 Jiri Vanek Jana Fabrikova Reproducers are now correctly compiled against liveconect(plugin.jar) * Makefile.am: (stamps/netx-dist-tests-prepare-reproducers.stamp) added one more dependency: stamps/liveconnect-dist.stamp added one more directory on cp: $(abs_top_builddir)/liveconnect 2012-09-17 Deepak Bhole PR1161: X509VariableTrustManager does not work correctly with OpenJDK7 * Makefile.am: If building with JDK 6, don't build VariableX509TrustManagerJDK7. * NEWS: Updated. * acinclude.m4: In addition to setting VERSION_DEFS, also set HAVE_JAVA7 if building with JDK7. * netx/net/sourceforge/jnlp/runtime/JNLPRuntime.java (initialize): Use new getSSLSocketTrustManager() method to get the trust manager. (getSSLSocketTrustManager): New method. Depending on runtime JRE version, returns the appropriate trust manager. * netx/net/sourceforge/jnlp/security/HttpsCertVerifier.java: Removed unused tm variable. * netx/net/sourceforge/jnlp/security/VariableX509TrustManager.java: No longer extends com.sun.net.ssl.internal.ssl.X509ExtendedTrustManager. (checkClientTrusted): Renamed to checkTrustClient and removed overloaded implementations. (checkServerTrusted): Renamed to checkTrustServer. Also, modified to accept socket and engine (may be null). Assume that CN is mismatched by default, rather than matched. If explicitly trusted, bypass other checks, including CN mismatch. (checkAllManagers): Modified to accept socket and engine. Modified to work for both JDK6 and JDK7. (getAcceptedIssuers): Make protected (called by others in package). * netx/net/sourceforge/jnlp/security/VariableX509TrustManagerJDK6.java: New class -- X509TrustManager for JDK6. * netx/net/sourceforge/jnlp/security/VariableX509TrustManagerJDK7.java: New class -- X509TrustManager for JDK7. 2012-09-07 Saad Mohammad Added signed jnlp tests for applications with multiple jar resources. * tests/reproducers/signed/MultiJar-NoSignedJnlp/resources/MainJarWithoutSignedJnlp.jnlp: Launching jnlp file that's main jar does not have a signed jnlp file, but other jar resources do. * tests/reproducers/signed/MultiJar-NoSignedJnlp/srcs/SimpleApplication.java: A class that uses reflection to access resources from different jars. * tests/reproducers/signed/MultiJar-SignedJnlpApplication/resources/MainJarWithMatchingSignedJnlpApplication.jnlp: Launching jnlp file that's main jar matches the signed jnlp application file. * tests/reproducers/signed/MultiJar-SignedJnlpApplication/resources/MainJarWithUnmatchingSignedJnlpApplication.jnlp: Launching jnlp file that's main jar does not match the signed jnlp application file. * tests/reproducers/signed/MultiJar-SignedJnlpApplication/srcs/JNLP-INF/APPLICATION.jnlp: Signed JNLP application file for MultiJar-SignedJnlpApplication. * tests/reproducers/signed/MultiJar-SignedJnlpApplication/srcs/SignedJnlpApplication.java: A class that uses reflection to access resources from different jars. * tests/reproducers/signed/MultiJar-SignedJnlpApplication/testcases/MultiJarSignedJnlpTest.java: Testcase that tests the launch and validation of signed jnlp files for application that have multiple jar resources. * tests/reproducers/signed/MultiJar-SignedJnlpTemplate/resources/MainJarWithMatchingSignedJnlpTemplate.jnlp: Launching jnlp file that's main jar matches the signed jnlp application template file. * tests/reproducers/signed/MultiJar-SignedJnlpTemplate/resources/MainJarWithUnmatchingSignedJnlpTemplate.jnlp: Launching jnlp file that's main jar does not match the signed jnlp application template file. * tests/reproducers/signed/MultiJar-SignedJnlpTemplate/srcs/JNLP-INF/APPLICATION_TEMPLATE.jnlp: Signed JNLP application template file for MultiJar-SignedJnlpTemplate.jar * tests/reproducers/signed/MultiJar-SignedJnlpTemplate/srcs/SignedJnlpTemplate.java: A class that uses reflection to access resources from different jars. 2012-09-07 Jiri Vanek Added strict test * tests/reproducers/simple/simpletest1/testcases/SimpleTest1Test.java: Removed deprecated ServerAccess.ProcessResult (testSimpletest1lunchOk) extracted asserting code (checkLaunched) family of methods to evaluate output of application (createStrictFile) method to prepare file which will pass strict checking (testSimpletest1lunchOkStrictJnlp) new test, ensuring that even strict file can be read without strict option (testSimpletest1lunchNotOkJnlpStrict) new test ensuring that strictly read no-strict file will fail (testSimpletest1lunchOkStrictJnlpStrict) new test ensuring that strictly read strict file will pass 2012-09-06 Jiri Vanek Fixing several typos from previous push * tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java: (getUrlUponThisInstance) Javadoc, replaced Ctreate with Create. * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: (run) Fixed indentation. * tests/reproducers/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java: Refactored createCodeBAse to createCodeBase. 2012-09-05 Jiri Vanek Fixing several errors which were causing incorrect behaviour causing correct reproduction of PR905 * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned.htm Using different jar for reproducing * tests/reproducers/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java Added tests for hardcoded codebase (same and different) enhanced original PR905 reproducers * tests/test-extensions/net/sourceforge/jnlp/LoggingBottleneck.java: added flush for logs * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: cleaned and enhanced getUrl* methods. * tests/test-extensions/net/sourceforge/jnlp/ServerLauncher.java: delegated socket * tests/test-extensions/net/sourceforge/jnlp/TinyHttpdImpl.java: fixed processing of question mark. 2012-09-05 Jiri Vanek * tests/reproducers/signed/CountingAppletSigned/srcs/CountingAppletSigned.java: Signed applet painting to canvas and periodically printing out counted messages * tests/reproducers/signed2/AppletTestSigned2/srcs/AppletTestSigned2: Second simple signed applet for testing two different simple ones parallel * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1E_x_2s.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_1.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_2.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_2E.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_2e.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1_x_2sk.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1e_x_2s.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1k_x_2.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1s_x_2.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1s_x_2s.html: * tests/reproducers/simple/CountingApplet1/resources/ParallelAppletsTest_1s_x_2ss.html: Various combinations of plain, signed, crashing, exception throwing and exiting applets on single web-page * tests/reproducers/simple/CountingApplet1/srcs/CountingApplet1.java: Simple applet painting to canvas and periodically printing out counted messages * tests/reproducers/simple/CountingApplet1/testcases/ParallelAppletsTest.java: testcases launching above html files. * tests/reproducers/simple/CountingApplet2/srcs/CountingApplet2.java: Second simple applet painting to canvas and periodically printing out counted messages * tests/reproducers/simple/simpletest2/srcs/SimpleTest2.java: Enhanced exception throwing reproducer. 2012-09-04 Jiri Vanek Danesh Dadachanji Single instance support for jnlp-href and tests * netx/net/sourceforge/jnlp/services/XSingleInstanceService.java: (initializeSingleInstance) fixed code for catching running instance (checkSingleInstanceRunning) Added handling of parameters. * netx/net/sourceforge/jnlp/Launcher.java: (launchApplication), (launchApplet) Added debug output that instance is already running. (getApplet) added check for services and debug output * netx/net/sourceforge/jnlp/resources/Messages.properties: added (LSingleInstanceExists) entry for exception. tests/reproducers/simple/SingleInstanceServiceTest/resources/SingleInstanceTest.jnlp * tests/reproducers/simple/SingleInstanceServiceTest/resources/SingleInstanceTestWS.jnlp: * tests/reproducers/simple/SingleInstanceServiceTest/resources/SingleInstanceTest_clasical.html: * tests/reproducers/simple/SingleInstanceServiceTest/resources/SingleInstanceTest_jnlpHref.html: Applet and application in jnlp or html launching files. * tests/reproducers/simple/SingleInstanceServiceTest/srcs/SingleInstanceChecker.java SingleInstance implementing applet/application * tests/reproducers/simple/SingleInstanceServiceTest/testcases/SingleInstanceTest.java Testfile for launching for above jnlps/htmls as testcases. 2012-08-27 Adam Domurad Fixes PR920, duplicate loading of classes in certain cases * NEWS: Added entry: Fixes PR920 * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: Remove recursive/non-recursive distinction. Add parent JNLPClassLoader to parent chain. 2012-08-27 Adam Domurad Reproduces problem behind PR920, class is in a jar is loaded twice when used by both a class within the jar, and also used by a class outside the jar extending that class. * tests/reproducers/custom/AppletExtendsFromOutsideJar/README: Describes test * tests/reproducers/custom/AppletExtendsFromOutsideJar/resources/AppletExtendsFromOutsideJar.html: Runs applet with main class outside jar * A tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/AppletReferenceInSameJar.java: References class Referenced inside same jar * tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/AppletReferenceOutOfJar.java: References class Referenced outside the jar * tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Makefile: Packages Reference, AppletReferenceInSameJar into a jar, AppletReferenceOutOfJar outside it * tests/reproducers/custom/AppletExtendsFromOutsideJar/srcs/Referenced.java: Class that is referenced twice, loaded twice in failing behaviour * tests/reproducers/custom/AppletExtendsFromOutsideJar/testcases/AppletExtendsFromOutsideJarTests.java: Drives AppletExtendsFromOutsideJar.html 2012-08-27 Adam Domurad Tests whether a main class can be found in a jar specified in META-INF/INDEX.LIST. This test is done with both signed and unsigned jars. The failure with signed jars encapsulates PR1112. * tests/reproducers/custom/AdditionalJarsInMetaInfIndexList/resources/AdditionalJarsInMetaInfIndexListSigned.jnlp: * tests/reproducers/custom/AdditionalJarsInMetaInfIndexList/resources/AdditionalJarsInMetaInfIndexListUnsigned.jnlp: JNLP files for the signed and unsigned varions of the test * tests/reproducers/custom/AdditionalJarsInMetaInfIndexList/srcs/LoadedViaMetaInfIndexList.java: Main class that is within a jar loaded via * tests/reproducers/custom/AdditionalJarsInMetaInfIndexList/srcs/Makefile: Prepares a jar with INDEX.LIST pointing to another jar that has the main-class. Copies of these jars and made and signed. * tests/reproducers/custom/AdditionalJarsInMetaInfIndexList/testcases/AdditionalJarsInMetaInfIndexListTests.java: Test driver, tests if main-class has run. 2012-08-27 Adam Domurad Tests custom policy definition in such a way that has been known to cause ClassCircularityError's. Reproducer for PR1145. * tests/reproducers/signed/CustomPolicy/resources/CustomPolicy.jnlp: * tests/reproducers/signed/CustomPolicy/srcs/CustomPolicy.java: Sets custom policy and performs a privileged operation with no given privileges. * tests/reproducers/signed/CustomPolicy/testcases/CustomPolicyTests.java: Tests that an access control exception was caught, and that the program exits correctly. 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-27 Jiri Vanek Added tests for PR822 - multiple signatures on classpath * Makefile.am: listed signed2 directory * tests/reproducers/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest.html: * tests/reproducers/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest1.jnlp: * tests/reproducers/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest1_requesting.jnlp: * tests/reproducers/signed2/MultipleSignaturesTest/resources/MultipleSignaturesTest2.jnlp: * tests/reproducers/signed2/MultipleSignaturesTestSamePackage/resources/MultipleSignaturesTest1_SamePackage.jnlp: * tests/reproducers/signed2/MultipleSignaturesTestSamePackage/resources/MultipleSignaturesTest1_SamePackage_requesting.jnlp: * tests/reproducers/signed2/MultipleSignaturesTestSamePackage/resources/MultipleSignaturesTest2_SamePackage.jnlp: * tests/reproducers/signed2/MultipleSignaturesTestSamePackage/resources/MultipleSignaturesTest_SamePackage.html: various variations of multiple signtarues jnlp/html, in/out package, same/different/ signature * tests/reproducers/signed2/MultipleSignaturesTestSamePackage/srcs/MultipleSignaturesTestSamePackage.java: simple class just with call to second jar * tests/reproducers/signed2/MultipleSignaturesTest/srcs/somecrazytestpackage/MultipleSignaturesTest.java: simple class just with call to second jar, but in package * tests/reproducers/signed2/MultipleSignaturesTest/testcases/MultipleSignaturesTestTests.java: * tests/reproducers/signed2/MultipleSignaturesTestSamePackage/testcases/MultipleSignaturesTestTestsSamePackage.java various testcases tro above resources * tests/test-extensions/net/sourceforge/jnlp/ServerAccess.java: "-verbose " fixed to "-verbose" 2012-08-27 Jiri Vanek Fixed long term failing unit-test, fixed NPE from ClassLoader * netx/net/sourceforge/jnlp/NullJnlpFileException.java: new class to distinguish plain NPE from null jnlp file. * netx/net/sourceforge/jnlp/SecurityDesc.java: (getSandBoxPermissions) added throw of NullJnlpFileException in case of null jnlp file. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (findClass) added Override annotation, add catch of NullJnlpFileException and re-throw of CNF exception. * tests/netx/unit/net/sourceforge/jnlp/runtime/CodeBaseClassLoaderTest.java: (testResourceLoadSuccessCaching) (testResourceLoadFailureCaching) (testParentClassLoaderIsAskedForClasses) - internal JNLPFile's (getSecurity) null in SecurityDesc constructorrepalced by this. (testNullFileSecurityDesc) new test to ensure NPE in null JNLPFile case. 2012-08-22 Jiri Vanek Added tests for PR905 - parameters in jnlp/html application/applet resources * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarUrl.html: html file to launch applet, requested archive jar have parameter * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarUrl1.jnlp: jnlp file to launch application, requested archive jar have parameter * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarUrl2.jnlp: jnlp file to launch application, requested jnlp have parameter * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned.html: html file to launch signed applet, requested archive jar have parameter * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned1.jnlp: jnlp file to launch signed application, requested archive jar have parameter * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarUrlSigned2.jnlp: jnlp file to launch signed application, requested jnlp have parameter * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrl2.jnlp * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrl.jnlp * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrlSigned2.jnlp * tests/reproducers/simple/ParametrizedJarUrl/resources/ParametrizedJarAppletUrlSigned.jnlp variations launching applets from jnlp * tests/reproducers/simple/ParametrizedJarUrl/testcases/ParametrizedJarUrlTests.java: testaceses of above ParametrizedJarUrl/jnlps+htmls namely - (parametrizedAppletTestSignedTest) , (testParametrizedJarUrl2), (testParametrizedJarUrlSigned2): passing calls /partially/ with parameter. Those test are passing. (parametrizedAppletTestSignedFirefoxTest) call with parameter upon signed applet in browser, failing and so is representing PR905 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-19 Thomas Meyer * netx/net/sourceforge/jnlp/JNLPFile.java: * netx/net/sourceforge/jnlp/LaunchHandler.java: * netx/net/sourceforge/jnlp/PluginBridge.java: * netx/net/sourceforge/jnlp/cache/ResourceUrlCreator.java: * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: * netx/net/sourceforge/jnlp/runtime/RhinoBasedPacEvaluator.java: Fix javadoc warnings. * plugin/icedteanp/java/sun/applet/PluginObjectStore.java (contains): Fix a small bug that prevents the only user of this method (PluginAppletSecurity line 1064) to work correctly. 2012-08-18 Jiri Vanek added encodings reproducer (PR1108) * tests/reproducers/simple/encodingTestsĚŠČŘŽÝÁÍÉĚÉŘŤÝÚŮÍÓÁŠĎŽŹŇ: new reproducer * tests/reproducers/simple/encodingTestsĚŠČŘŽÝÁÍÉĚÉŘŤÝÚŮÍÓÁŠĎŽŹŇ/srcs/encodingTest.java: main class/main applet class and method of new encodingTestsĚŠČŘŽÝÁÍÉĚÉŘŤÝÚŮÍÓÁŠĎŽŹŇ.jar * tests/reproducers/simple/encodingTestsĚŠČŘŽÝÁÍÉĚÉŘŤÝÚŮÍÓÁŠĎŽŹŇ/testcases/encodingTestTest.java: testcases for jnlps of this reproducers * tests/reproducers/simple/encodingTestsĚŠČŘŽÝÁÍÉĚÉŘŤÝÚŮÍÓÁŠĎŽŹŇ/resources: four utf-8 and four iso-8859-2 jnlp files and one utf-8 and one iso-8859-2 html files * tests/reproducers/simple/simpletest1/srcs/simpletest1.java: now prints its args out * tests/test-extensions-tests/net/sourceforge/jnlp/ResourcesTest.java: correctly swaped error and output listener in its test 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 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 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-06 Jiri Vanek Added splashscreen implementation * netx/net/sourceforge/jnlp/GuiLaunchHandler.java: calling JNLPSplashScreen constructor with file ratehr then null. * netx/net/sourceforge/jnlp/InformationDesc.java: ONE_LINE changed from "oneline" to "one-line", added citation why. (getDescriptionStrict) new method returning exact value or null without fall-back. * netx/net/sourceforge/jnlp/JNLPSplashScreen.java: Added header, default values and useless string replaced by JnlpFile. * netx/net/sourceforge/jnlp/resources/Messages.properties: Added SPLASH family of keys. * netx/net/sourceforge/jnlp/runtime/AppletEnvironment.java: (getSplashControler) new method returning its SplashControler. * netx/net/sourceforge/jnlp/runtime/Boot.java: Constants (name) and (version) made public. * netx/net/sourceforge/jnlp/splashscreen/SplashController.java: New interface for each class which wants its splasshcreen controlled by SplashUtils. * netx/net/sourceforge/jnlp/splashscreen/SplashErrorPanel.java: New interface for each class which wants to serve as error-showing splashscreen. * netx/net/sourceforge/jnlp/splashscreen/SplashPanel.java: New interface for each class which wants to serve as splashscreen. * netx/net/sourceforge/jnlp/splashscreen/SplashUtils.java: Factory methods for simplified splashscreens creation. * netx/net/sourceforge/jnlp/splashscreen/impls/DefaultErrorSplashScreen2012.java: Full implementation of SplashErrorPanel to be used as default error splashscreen. * netx/net/sourceforge/jnlp/splashscreen/impls/DefaultSplashScreen2012.java: Full implementation of SplashPanel to be used as default splashscreen. * netx/net/sourceforge/jnlp/splashscreen/impls/DefaultSplashScreens2012Commons.java: Class for gathering same logic in DefaultErrorSplashScreen2012 and DefaultSplashScreen2012. * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainter.java: Class responsible for paint main graphic in DefaultSplashScreen2012. * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ControlCurve.java: Painting forefather for primitives drawing curves. * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/Cubic.java: Class with cubic calculation. * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainter.java: Class responsible for paint main graphic in DefaultErrorSplashScreen2012. * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/MovingText.java: Class responsible for metal-shining web label. * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/NatCubic.java: Painting primitive for drawing cubic-splines. * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/NatCubicClosed.java: Painting primitive for drawing self-closed cubic-splines. * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/TextOutlineRenderer.java: Class for rendering text from given texture, * netx/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/TextWithWaterLevel.java: Class for rendering Iced label slowly filled with watter * netx/net/sourceforge/jnlp/splashscreen/parts/BasicComponentErrorSplashScreen.java: Common forefather for all error splashscreens which would like to be an component too. * netx/net/sourceforge/jnlp/splashscreen/parts/BasicComponentSplashScreen.java: Common forefather for all splashscreens which would like to be an component too. * netx/net/sourceforge/jnlp/splashscreen/parts/DescriptionInfoItem.java: Description item of InformationElement * netx/net/sourceforge/jnlp/splashscreen/parts/InfoItem.java: Individual items in InformationElement * netx/net/sourceforge/jnlp/splashscreen/parts/InformationElement.java: Wrapper around jnlp's information element. * netx/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialog.java: Custom error dialogue with direct access to exception and icedtea-web page * tests/netx/unit/net/sourceforge/jnlp/splashscreen/ErrorSplashScreenTest.java: Test for final composition of ErrorSplashScreen2012, including main method for manual testing * tests/netx/unit/net/sourceforge/jnlp/splashscreen/SplashScreenTest.java: Test for final composition of SplashScreen2012, including main method for manual testing * tests/netx/unit/net/sourceforge/jnlp/splashscreen/ErrorSplashUtilsTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/BasePainterTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ControlCurveTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/CubicTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/ErrorPainterTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/MovingTextTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/NatCubicClosedTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/NatCubicTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/SplinesDefsTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/TextOutlineRendererTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/impls/defaultsplashscreen2012/TextWithWaterLevelTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/BasicComponentErrorSplashScreenTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/BasicComponentSplashScreenTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/DescriptionInfoItemTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/InfoItemTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/InformationElementTest.java: * tests/netx/unit/net/sourceforge/jnlp/splashscreen/parts/JEditorPaneBasedExceptionDialogTest.java: Unit-test classes always testing the class with corresponding name 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-10 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-08 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-07 Thomas Meyer * plugin/icedteanp/IcedTeaNPPlugin.cc: only export NP_GetMIMEDescription, NP_GetValue, NP_Initialize and NP_Shutdown. This should fix PR472. 2012-08-07 Saad Mohammad Added license header to files without one. * netx/net/sourceforge/jnlp/AppletLog.java: * netx/net/sourceforge/jnlp/JNLPMatcherException.java: * netx/net/sourceforge/jnlp/Log.java: * netx/net/sourceforge/jnlp/Node.java: * netx/net/sourceforge/jnlp/UpdateDesc.java: * netx/net/sourceforge/jnlp/cache/IllegalResourceDescriptorException.java: * netx/net/sourceforge/jnlp/security/SecurityDialogMessage.java: Added license header. 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-08-01 Saad Mohammad Fix PR1049: Extension jnlp's signed jar with the content of only META-INF/* is considered unsigned. * NEWS: Added entry for PR1049. * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java (initializeResources): Removes the display of the security dialog for loaders with only empty jars. * netx/net/sourceforge/jnlp/tools/JarCertVerifier.java: (JarCertVerifier): Tracks whether all jars verified are empty jars. (hasAllEmptyJars): Returns true if all jars verified are empty jars. (verifyJars): Checks whether signable entries and certificates are found and decides if all jars are empty jars. (isFullySignedByASingleCert): If all jars are emptyJars, returns true. * tests/reproducers/signed/EmptySignedJar/resources/EmptySignedJarInLaunchingJnlp.jnlp: Launching jnlp with the resource of an empty jar and an extension jnlp containing the main jar. * tests/reproducers/signed/EmptySignedJar/resources/EmptySignedJarInExtensionJnlp.jnlp: Launching jnlp with the resource of the main jar and an extension jnlp containing the empty jar. * tests/reproducers/signed/EmptySignedJar/resources/EmptySignedJarExtension.jnlp: Extension jnlp containing only an empty jar. * tests/reproducers/signed/EmptySignedJar/srcs/META-INF/empty_file: Empty file within META-INF; required to create EmptySignedJar.jar by the test engine. * tests/reproducers/signed/EmptySignedJar/testcases/EmptySignedJarTest.java: Testcase that tests jnlp files with empty jars. * tests/reproducers/signed/SignedJarResource/resources/SignedJarResource.jnlp: Launches SignedJarResource class directly. 2012-07-31 Danesh Dadachanji Minor fix to overly restrictive unit test. * tests/netx/unit/net/sourceforge/jnlp/JNLPMatcherTest.java (testIsMatchDoesNotHangOnLargeData): Increase timeout to 5 seconds. 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-31 Danesh Dadachanji * Makefile.am: Fix call to keytool that is missing its absolute path. 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 * plugin/icedteanp/IcedTeaPluginUtils.cc (IcedTeaPluginUtilities::strSplit): Replace usage of " " with proper delimiter 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-18 Thomas Meyer * plugin/icedteanp/java/sun/applet/PluginAppletViewer.java (handleMessage): Fix possible endless loop while waiting for the applet object instance to get created. 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-10 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-09 Deepak Bhole * configure.ac: Bumped release number to 1.4pre 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.