aboutsummaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Tests for PR1592Andrew Azores2013-12-0311-0/+835
|
* Implement per-JAR security descriptors (PR1592)Andrew Azores2013-12-033-48/+102
| | | | | | Fix/new feature for PR1592. Each JAR in partially signed applets is assigned its own security level, rather than forcing the entire applet to run sandboxed.
* Better validation of crytical dirs with proper message on startupJiri Vanek2013-12-028-17/+697
|
* Updated NEWSJiri Vanek2013-11-291-0/+2
|
* Pipes moved into XDG_RUNTIME_DIRJiri Vanek2013-11-294-17/+44
|
* Enabled file logging in plugin, user enabled to choose logs dirJiri Vanek2013-11-2912-68/+353
|
* JNLPClassLoaderDeadlock reproducer made more reliableAndrew Azores2013-11-274-4/+15
|
* Reverted "fix to ManifestedJar1Test cases", better manifestedjar tests, ↵Jiri Vanek2013-11-274-20/+44
| | | | | | | | 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
* removed redundant slash in chnagelogJiri Vanek2013-11-271-1/+1
|
* Added null check when getting manifest attributes for case of jar without ↵Jiri Vanek2013-11-274-4/+64
| | | | | | | | manifest * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (getManifestAttribute) added check fo 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.
* Removed most of checks to no output from reproducersJiri Vanek2013-11-2515-33/+59
|
* fix to ManifestedJar1Test casesJiri Vanek2013-11-253-5/+22
| | | | | * 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.
* do DefaultLaunchHandlerTest unittest indepndent on system settingsJiri Vanek2013-11-222-0/+14
|
* Move "dialog center" line in NEWS to be consistent with NEWS in 1.4Andrew Azores2013-11-141-1/+1
|
* Added "dialogs center on-screen before appearing" to NEWSAndrew Azores2013-11-141-0/+1
|
* Fixed NPE in getting the attributeJiri Vanek2013-11-141-0/+4
|
* JNLPClassLoader cleanup, avoid Enumerations and use strict typing.Andrew Azores2013-11-132-77/+61
| | | | | | Iteration over Enumerations refactored to instead view Enumerations as Lists using Collections library. Type parameters added to some local variables and return types. For-loops refactored into for-each-loops.
* BasicExceptionDialog centers on-screen before appearingAndrew Azores2013-11-132-1/+6
|
* Added test-extension to silence stdout/err of itw when run from junitJiri Vanek2013-11-135-9/+105
|
* Enabled access to manifests' attributes from JNLPFile class, implemented ↵Jiri Vanek2013-11-1310-31/+476
| | | | http://docs.oracle.com/javase/7/docs/technotes/guides/jweb/manifest.html#app_name
* Fixed lock in awt threads. JavaConsole window is now disposed instead of hidden.Jiri Vanek2013-11-103-21/+65
|
* Removed suspicious return when (searchForMain) had null launchDesc in ↵Jiri Vanek2013-11-102-4/+7
| | | | netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java.
* Reproducer test cleanup to remove deprecation warnings and type checking ↵Andrew Azores2013-11-0743-182/+212
| | | | | | | | | warnings. ServerAccess.ProcessResult removed and reference replaced with ProcessResult. junit.framework.assert replaced in favour of org.junit.Assert. Added parameterized typing to instantiation of several fields and local variables where the declaration was already parameterized.
* Java console resurrected and connected to new logging.Jiri Vanek2013-11-0515-164/+333
|
* Avoid potential NPE in JNLPSecurityManager#addPermission when debug is enabledAndrew Azores2013-11-052-3/+13
| | | | | | * netx/net/sourceforge/jnlp/runtime/JNLPSecurityManager.java: (addPermission) avoid NPE in JNLPClassLoader#getPermissions with debug enabled
* Synced headers between PLUGIN_DEBUG, PLUGIN_ERROR and javasideJiri Vanek2013-11-013-35/+51
| | | | | * 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) headerrs generation code moved to macro (CREATE_HEADER0). Both headers now contains pthread_self and g_thread_self. Fixed indentation.
* tests/netx/unit/net/sourceforge/jnlp/runtime/JNLPClassLoaderTest.java: ↵Jiri Vanek2013-11-013-16/+172
| | | | | | 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.
* netx/net/sourceforge/jnlp/JARDesc.java: made immutableJiri Vanek2013-10-302-7/+13
| | | | (location)(version)(part)(lazy)(main)(nativeJar)(cacheable) made final
* Fix PR1513, signed applets with external main-class supportAndrew Azores2013-10-292-15/+15
| | | | | | * netx/net/sourceforge/jnlp/runtime/JNLPClassLoader.java: (initializeResources) ask for user approval rather than throwing LaunchException for signed applets with external main-class
* Plugin debug can now be controlled from itw_settings, in same way java side. ↵Jiri Vanek2013-10-257-21/+164
| | | | | | | | | | 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 testsTEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_on_headers_on) TEST(PLUGIN_DEBUG_ERROR_PROFILING_debug_off_headers_on) (100x slower then without headers)
* All output messages redirected to PLUGIN_{DEBUG,ERROR} macrosJiri Vanek2013-10-259-46/+123
|
* OutputController.getCallerClass now gets out also from ↵Jiri Vanek2013-10-252-1/+8
| | | | sun.applet.PluginDebug class.
* Fix array index out of bounds due to malformed plugin message (PR539)Andrew Azores2013-10-246-1/+129
| | | | | | | | | | | | | | | | | Failed calls to getString and getMember on JSObjects should not produce malformed result strings. "null" is appended to result rather than empty string. * 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
* C-part of plugin is now also trying to follow XDGJiri Vanek2013-10-232-1/+21
| | | | * 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
* Reset the LogConfig in unit testsOmair Majid2013-10-223-0/+26
| | | | | | | | | | | | | | | | | | LogConfig is globally shared. Fix unit tests that modify the logging configuration to reset it after (and before) to avoid affecting other unit tests or being affected by the results of other tests. Before this patch, if the tests were executed in a certain order, it was possible for them to leave behind a LogConfig that enabled logging in the most verbose manner possible. This would generate megabytes of output when running unit tests. 2013-10-22 Omair Majid <[email protected]> * 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.
* More synchronized error/debug methodsJiri Vanek2013-10-223-36/+43
| | | | | * 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).
* Logic to extract main class attribute generalized to common methods.Jiri Vanek2013-10-212-32/+71
| | | | | | | | | | * 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
* Minor fix in DEBUG initialisationJiri Vanek2013-10-203-2/+9
| | | | | * 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.
* Back out changeset 420d72e5cee7Andrew Azores2013-10-177-335/+164
| | | | | | | | | | | 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
* Add RH976833 fix note to NEWSAndrew Azores2013-10-161-0/+1
|
* Resolve multiple-applet deadlock issue in JNLPClassLoaderAndrew Azores2013-10-167-62/+305
| | | | | | | | | | | | | | | | | | | | New lock used for synchronizing JNLPClassLoader#loadClass(String) to avoid deadlock condition when multiple applets are being loaded simultaneously. Regression test included. * 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
* SecurityDialog centers itself before becoming visibleAndrew Azores2013-10-112-2/+6
| | | | | * netx/net/sourceforge/jnlp/security/SecurityDialog.java: (initDialog) centerDialog called in init rather than on windowOpened event
* Remove duplicate key computation in proxy codeOmair Majid2013-10-092-3/+13
|
* Move some proxy logic to BrowserAwareProxySelectorOmair Majid2013-10-095-69/+94
| | | | | | The logic for mangling URIs to be compatible with the browser seems more appropriate to keep in the ProxySelector rather than the catch-all PluginAppletViewer.
* DeploymentConfiguration properties reproducer fixAndrew Azores2013-10-072-3/+14
| | | | Update test to reflect changed log directory
* Fix regression in ResourceUrlCreator due to PR1204 patchAndrew Azores2013-10-033-55/+148
| | | | | | | | | * 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
* * Cache viewer update:Jacob Wisor2013-10-036-105/+478
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Can be closed by ESC key - Enabling and disabling of operational buttons is handled properly - Time consuming operations are indicated by a mouse busy cursor - "Size" and "Last Modified" columns display localized data * 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
* Unit tests for BrowserAwareProxySelectorOmair Majid2013-10-015-43/+297
| | | | | | | Also move duplicate code for selecting a host and port depending on the protocol into JNLPProxySelector.getFromArguments. The semantics of 'sameProxy' are different between BrowserAwareProxySelector and JNLPProxySelector; the socks proxy is included in firefox.
* Add unit tests for PluginProxySelectorOmair Majid2013-10-013-1/+209
| | | | | | There are no functional changes to PluginProxySelector itself. Refactor minimial code to make it possible to unit test. Mark suspicious behaviour with a FIXME or TODO.
* Fix for PR1204, handling of query strings and absolute paths.Andrew Azores2013-09-268-32/+369
| | | | | | | | | | | | | | | | | | | | | | | | 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