4 years agoJNLPClassLoader.toString: Use hex value of object hashCode() master
Sven Gothel [Fri, 31 Jan 2014 09:20:45 +0000 (10:20 +0100)]
JNLPClassLoader.toString: Use hex value of object hashCode()

4 years agoNativeWindow* Interfaces: Remove redundant 'public' qualifier
Sven Gothel [Fri, 31 Jan 2014 09:20:20 +0000 (10:20 +0100)]
NativeWindow* Interfaces: Remove redundant 'public' qualifier

4 years agoITW NPP: Pass window position through all layers, added as 'xpos' and 'ypos' in messa...
Sven Gothel [Fri, 31 Jan 2014 09:19:48 +0000 (10:19 +0100)]
ITW NPP: Pass window position through all layers, added as 'xpos' and 'ypos' in message and parameters ; ...

- Relative position of window maybe important in regards to overlapping applet windows
  as well as for an upcoming OSX support.
  However, client may still need to calculate the location on screen.

- Applet3Panel added toString()

- Applet3Panel, PluginApplet3Viewer: Better naming for browser notification
  - appletResize -> browserSizeChanged, etc

4 years agoJNLPClassLoader: Introduce pending removal of cached CLs (1 min) to enhance performan...
Sven Gothel [Fri, 31 Jan 2014 06:36:16 +0000 (07:36 +0100)]
JNLPClassLoader: Introduce pending removal of cached CLs (1 min) to enhance performance for single applet reload.

4 years agoJNLPClassLoader: Formatting .. and user final qualifier
Sven Gothel [Fri, 31 Jan 2014 06:35:07 +0000 (07:35 +0100)]
JNLPClassLoader: Formatting .. and user final qualifier

4 years agoJNLPClassLoader.createInstance(): Remove extLoader (same as baseLoader); getInstance...
Sven Gothel [Fri, 31 Jan 2014 06:34:15 +0000 (07:34 +0100)]
JNLPClassLoader.createInstance(): Remove extLoader (same as baseLoader); getInstance(): No new JNLPClassLoader if uniqueKey satisfies

  - Reuse uniqueKey, baseLoader from getInstance()

  - Remove extLoader (same as baseLoader)
    This is odd and sparked my eye while reusing the baseLoader (above).

  - No new JNLPClassLoader if uniqueKey satisfies.
    Why should we ? Enables reusing CL and impacts performance.

JNLPClassLoader.toString(): Added for better debugging.

4 years agoApplet3Panel: Clarify ClassLoader role; Start Applet3Panel.loaderThread before Applet...
Sven Gothel [Fri, 31 Jan 2014 04:07:19 +0000 (05:07 +0100)]
Applet3Panel: Clarify ClassLoader role; Start Applet3Panel.loaderThread before Applet3Panel.handle (applet thread), joined at APPLET_INIT

4 years agoUse Applet3Panel.APPLET_* for *Applet3* implementing classes.
Sven Gothel [Fri, 31 Jan 2014 04:05:08 +0000 (05:05 +0100)]
Use Applet3Panel.APPLET_* for *Applet3* implementing classes.

4 years agoJNLPClassLoader: Formatting final, override, space
Sven Gothel [Fri, 31 Jan 2014 04:03:06 +0000 (05:03 +0100)]
JNLPClassLoader: Formatting final, override, space

4 years agoApp3Launcher: No need to use dedicated loader-thread if plugin, we are already on...
Sven Gothel [Fri, 31 Jan 2014 04:01:48 +0000 (05:01 +0100)]
App3Launcher: No need to use dedicated loader-thread if plugin, we are already on Applet3Panel.loaderThread

4 years agoAdding missing (regression of commit 64e7dcc21339ae56841f10131a4f8...
Sven Gothel [Thu, 30 Jan 2014 12:52:11 +0000 (13:52 +0100)]
Adding missing (regression of commit 64e7dcc21339ae56841f10131a4f8a462454dec4)

4 years agoAdd plugin/docs/AWT-Less-Applet.txt
Sven Gothel [Thu, 30 Jan 2014 09:55:39 +0000 (10:55 +0100)]
Add plugin/docs/AWT-Less-Applet.txt

4 years agoExperimental Applet without AWT (Applet3)
Sven Gothel [Thu, 30 Jan 2014 09:39:16 +0000 (10:39 +0100)]
Experimental Applet without AWT (Applet3)

  - Only new Applet3 applets are supported under X11 for now

  - AWT Applet are disabled

  - Namespace com.jogamp.* and jogamp.* is only chosen
    to indicate new AWT-less code

  - Applet3 code path does not invoke any AWT function

  - JNLP code path still utilizes AWT/Swing (UIs, ..)

  - Refactor AWT dependencies properly via UI interfaces ?

  - Decide whether we shall merge netx and plugin namespace ?
    IMHO the right thing to do, jumping hoops due to separation.

  - Add support for Windows, OSX, Wayland, ..


- New AWT-less Applet3 interfaces are:
  - com.jogamp.plugin.applet.Applet3
    - User implements

  - com.jogamp.plugin.applet.Applet3Context
    - Plugin implements

  - com.jogamp.plugin.ui.NativeWindowUpstream
    - Plugin window, aka browser parent of Applet3

  - com.jogamp.plugin.ui.NativeWindowDownstream
    - Applet3 user window

- User interfaces are exported as:
  - plugin3-public.jar

4 years agoPR1592 MixedSigningApplet reproducer rewrite/update hg/master
Andrew Azores [Mon, 27 Jan 2014 16:54:09 +0000 (11:54 -0500)]
PR1592 MixedSigningApplet reproducer rewrite/update

MixedSigningApplet reproducer (PR1592) moved into custom reproducer. JNLP
files generated per-test rather than premade. Many new tests added.
* tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.html:
moved to custom reproducer
* tests/reproducers/custom/MixedSigningApplet/resources/MixedSigningApplet.jnlp:
moved to custom reproducer and now used as template by testcases file
* tests/reproducers/custom/MixedSigningApplet/srcs/Makefile: new Makefile
for custom reproducer
* tests/reproducers/custom/MixedSigningApplet/srcs/
* tests/reproducers/custom/MixedSigningApplet/srcs/
new tests added, JNLP files generated per-test rather than all prepackaged
* tests/reproducers/signed/MixedSigningAppletSigned/srcs/
moved to custom reproducer
* tests/reproducers/signed/MixedSigningAppletSigned/testcases/
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-1.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-2.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-3.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-4.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-5.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet-6.jnlp
* tests/reproducers/simple/MixedSigningApplet/resources/MixedSigningApplet.html
* tests/reproducers/simple/MixedSigningApplet/srcs/

4 years agoFixed date in changelog
Jiri Vanek [Mon, 27 Jan 2014 16:49:03 +0000 (17:49 +0100)]
Fixed date in changelog

4 years agoTuning of properties loading.
Jiri Vanek [Mon, 27 Jan 2014 15:17:07 +0000 (16:17 +0100)]
Tuning of properties loading.

Jnlp runtime now correctly dies in case of ConfigurationException and initialisation of config is failing to defaults instead of die with NoClassDefFoundError

4 years agoImprove PolicyTool launch method in PolicyPanel
Andrew Azores [Fri, 24 Jan 2014 15:48:08 +0000 (10:48 -0500)]
Improve PolicyTool launch method in PolicyPanel
* netx/net/sourceforge/jnlp/controlpanel/ added license
header and javadocs. Launch PolicyTool by ProcessBuilder rather than
calling PolicyTool.main directly, with reflective launch fallback method.
* netx/net/sourceforge/jnlp/resources/ added message

4 years agoSupport building against OpenJDK9
Omair Majid [Fri, 24 Jan 2014 15:08:57 +0000 (10:08 -0500)]
Support building against OpenJDK9

OpenJDK9 does not have a PermGen and does not accept PermGen
related flags. Remove them.

2014-01-23  Omair Majid  <>

       Don't specify perm gen size.

4 years agoSupport building against OpenJDK8
Omair Majid [Fri, 24 Jan 2014 15:05:12 +0000 (10:05 -0500)]
Support building against OpenJDK8

The OpenJDK8 javadoc parser is much more strict and raises
erorrs on marlformed html, incorrect parameter names and
incorrect throws declerations.

2014-01-23  Omair Majid  <>

       * netx/net/sourceforge/jnlp/,
       * netx/net/sourceforge/jnlp/,
       * netx/net/sourceforge/jnlp/cache/,
       * netx/net/sourceforge/jnlp/cache/,
       * netx/net/sourceforge/jnlp/config/,
       * netx/net/sourceforge/jnlp/config/,
       * netx/net/sourceforge/jnlp/config/,
       * netx/net/sourceforge/jnlp/controlpanel/,
       * netx/net/sourceforge/jnlp/runtime/,
       * netx/net/sourceforge/jnlp/runtime/,
       * netx/net/sourceforge/jnlp/runtime/,
       * netx/net/sourceforge/jnlp/security/,
       * netx/net/sourceforge/jnlp/security/,
       * netx/net/sourceforge/jnlp/services/,
       * netx/net/sourceforge/jnlp/util/,
       * netx/net/sourceforge/jnlp/util/,
       * netx/net/sourceforge/nanoxml/,
       * netx/net/sourceforge/nanoxml/,
       * plugin/icedteanp/java/sun/applet/ Fix incorrect
       parameter names, throws declerations and malformed html in javadocs.

4 years agoInvalid url exception from About dialogue moved to be debug only
Jiri Vanek [Mon, 20 Jan 2014 17:28:16 +0000 (18:28 +0100)]
Invalid url exception from About dialogue moved to be debug only

4 years agoAdded Christmas splashscreen extension.
Jiri Vanek [Mon, 20 Jan 2014 14:13:36 +0000 (15:13 +0100)]
Added Christmas splashscreen extension.

4 years agoAdded support for system level linux logging
Jiri Vanek [Mon, 20 Jan 2014 13:59:17 +0000 (14:59 +0100)]
Added support for system level linux logging

4 years agoAdded PolicyPanel to itweb-settings for custom policies
Andrew Azores [Fri, 17 Jan 2014 18:43:09 +0000 (13:43 -0500)]
Added PolicyPanel to itweb-settings for custom policies

Added itweb-settings panel to explain custom policy files and allow
launching a policy editor for user's policy file.
* netx/net/sourceforge/jnlp/controlpanel/
(createMainSettingsPanel, createPolicySettingsPanel) added PolicyPanel
* netx/net/sourceforge/jnlp/resources/ new messages
for PolicyPanel
* netx/net/sourceforge/jnlp/controlpanel/ new panel to
allow launching of external policy editor
* tests/reproducers/simple/CustomPolicies/resources/CustomPolicies.html:
new test to ensure custom user policy files work correctly
* tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplet.jnlp
* tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesApplication.jnlp
* tests/reproducers/simple/CustomPolicies/resources/CustomPoliciesJnlpHref.html
* tests/reproducers/simple/CustomPolicies/srcs/
* tests/reproducers/simple/CustomPolicies/testcases/

4 years agoFix liveconnect regression from commit ee92f55c69a3
Andrew Azores [Fri, 17 Jan 2014 16:36:22 +0000 (11:36 -0500)]
Fix liveconnect regression from commit ee92f55c69a3
* plugin/icedteanp/ (hasMethod) fixed
regression from rev 757:ee92f55c69a3

4 years agoReproducers stabilization by removing check for not presented general Exception or...
Jiri Vanek [Thu, 16 Jan 2014 15:21:55 +0000 (16:21 +0100)]
Reproducers stabilization by removing check for not presented general Exception or error.

4 years agoFixed memory leak detector to correctly handle pre_init_messages queue.
Jiri Vanek [Wed, 15 Jan 2014 14:11:22 +0000 (15:11 +0100)]
Fixed memory leak detector to correctly handle pre_init_messages queue.

4 years agohtml-gen made more idiomatic and removed some bashisms
Andrew Azores [Thu, 9 Jan 2014 17:54:00 +0000 (12:54 -0500)]
html-gen made more idiomatic and removed some bashisms

4 years agoCopy all button in console controls sorts by date by default.
Jiri Vanek [Mon, 6 Jan 2014 09:51:06 +0000 (10:51 +0100)]
Copy all button in console controls sorts by date by default.

4 years agoRemoved depndence on sun.misc.BASE64Decoder
Jiri Vanek [Mon, 6 Jan 2014 09:42:52 +0000 (10:42 +0100)]
Removed depndence on  sun.misc.BASE64Decoder

4 years agoAdded ChangeLog revision hyperlinking to
Andrew Azores [Thu, 2 Jan 2014 14:42:52 +0000 (09:42 -0500)]
Added ChangeLog revision hyperlinking to

4 years agoFix classloading deadlock regression
Andrew Azores [Fri, 27 Dec 2013 14:49:23 +0000 (09:49 -0500)]
Fix classloading deadlock regression

Resolve deadlock issue in JNLPClassLoader. See
* netx/net/sourceforge/jnlp/runtime/ (loadClassLock)
removed. (available, jarIndexes, classpaths, jarEntries, jarLocationSecurityMap)
fields wrapped in Collections.synchronized*() to provide atomic read/write.
Synchronized on while iterating over these collections. (loadClass) no longer
uses implicit JNLPClassLoader instance lock nor dedicated loadClassLock object.

4 years agoRewritten java console
Jiri Vanek [Fri, 20 Dec 2013 14:23:08 +0000 (15:23 +0100)]
Rewritten java console

4 years agoMinor formatting fix
Jiri Vanek [Fri, 20 Dec 2013 11:57:58 +0000 (12:57 +0100)]
Minor formatting fix

4 years agofixed CacheLRUWrapperTest
Jiri Vanek [Fri, 20 Dec 2013 11:47:12 +0000 (12:47 +0100)]
fixed CacheLRUWrapperTest

4 years agofinished removal of legacy xulrunner api
Jiri Vanek [Fri, 20 Dec 2013 11:08:51 +0000 (12:08 +0100)]
finished removal of legacy xulrunner api

4 years agosingletons logic, logs and test cleanup/fixes
Jiri Vanek [Fri, 20 Dec 2013 10:20:39 +0000 (11:20 +0100)]
singletons logic, logs and test cleanup/fixes

4 years agoJNLPRuntime.config changed to proper singleton.
Jiri Vanek [Wed, 18 Dec 2013 14:41:28 +0000 (15:41 +0100)]
JNLPRuntime.config changed to proper singleton.

4 years agoConsole made aware of plugin messages
Jiri Vanek [Sun, 15 Dec 2013 10:07:05 +0000 (11:07 +0100)]
Console made aware of plugin messages

4 years agoMade again compatible with JDK6.All JLists, JComboBoxs, and DefaultComboBoxModels...
Jiri Vanek [Fri, 13 Dec 2013 10:49:51 +0000 (11:49 +0100)]
Made again compatible with JDK6.All JLists, JComboBoxs, and DefaultComboBoxModels moved back to be not generics-like

in netx/net/sourceforge/jnlp/controlpanel/, netx/net/sourceforge/jnlp/controlpanel/, netx/net/sourceforge/jnlp/controlpanel/, netx/net/sourceforge/jnlp/controlpanel/, netx/net/sourceforge/jnlp/controlpanel/, netx/net/sourceforge/jnlp/security/viewer/

4 years agoitw itself warning cleanup: fixed rawtypes and unchecks, added braces and Override
Jiri Vanek [Fri, 13 Dec 2013 09:47:07 +0000 (10:47 +0100)]
itw itself warning cleanup: fixed rawtypes and  unchecks, added braces and  Override

After this clean up only "internal proprietary API and may be removed in a future release" warnings remain fro make check. Please keep itw in this way :)

remaining issues:

    icedtea-web/netx/net/sourceforge/jnlp/cache/ warning: [deprecation] toURL() in File has been deprecated
    icedtea-web/netx/net/sourceforge/jnlp/cache/ warning: [deprecation] toURL() in File has been deprecated
    icedtea-web/netx/net/sourceforge/jnlp/runtime/ warning: [deprecation] toURL() in File has been deprecated
  There have been a lot of work around cach x file x url escaping, and as main difference between file.tourl and file.touri.tourl is escapin, I rather left it.

    icedtea-web/plugin/icedteanp/java/sun/applet/ warning: [deprecation] Ref in sun.misc has been deprecated
    icedtea-web/plugin/icedteanp/java/sun/applet/ warning: [deprecation] Ref in sun.misc has been deprecated
  What can be done?

    icedtea-web/netx/net/sourceforge/jnlp/browser/ warning: [fallthrough] possible fall-through into case
    icedtea-web/netx/net/sourceforge/jnlp/browser/ warning: [fallthrough] possible fall-through into case
  This have to be fixed

4 years agounittests warning cleanup: fixed typechecks, rawtypes, redundant casts...
Jiri Vanek [Fri, 13 Dec 2013 08:54:16 +0000 (09:54 +0100)]
unittests warning cleanup: fixed typechecks, rawtypes, redundant casts...

ScreenFinder fixed to work partially also in headless mode.
After this clean up only "internal proprietary API and may be removed in a future release" warnings remain fro make check. Please keep itw in this way :)

4 years ago added "It will be granted unrestricted access to your computer...
Jiri Vanek [Mon, 9 Dec 2013 12:25:21 +0000 (13:25 +0100)] added "It will be granted unrestricted access to your computer." to (SSigUnverified) (SSigVerified) (SSignatureError) messages.

4 years agoAdd units to cache size label in itweb-settings
Andrew Azores [Thu, 5 Dec 2013 21:45:56 +0000 (16:45 -0500)]
Add units to cache size label in itweb-settings

PR1604 - no units shown for cache size label in TemporaryInternetFilesPanel

4 years agoTests for PR1592
Andrew Azores [Tue, 3 Dec 2013 16:43:04 +0000 (11:43 -0500)]
Tests for PR1592

4 years agoImplement per-JAR security descriptors (PR1592)
Andrew Azores [Tue, 3 Dec 2013 16:39:12 +0000 (11:39 -0500)]
Implement per-JAR security descriptors (PR1592)

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.

4 years agoBetter validation of crytical dirs with proper message on startup
Jiri Vanek [Mon, 2 Dec 2013 15:04:32 +0000 (16:04 +0100)]
Better validation of crytical dirs with proper message on startup

4 years agoUpdated NEWS
Jiri Vanek [Fri, 29 Nov 2013 11:43:51 +0000 (12:43 +0100)]
Updated NEWS

4 years agoPipes moved into XDG_RUNTIME_DIR
Jiri Vanek [Fri, 29 Nov 2013 11:14:43 +0000 (12:14 +0100)]
Pipes moved into XDG_RUNTIME_DIR

4 years agoEnabled file logging in plugin, user enabled to choose logs dir
Jiri Vanek [Fri, 29 Nov 2013 10:44:11 +0000 (11:44 +0100)]
Enabled file logging in plugin, user enabled to choose logs dir

4 years agoJNLPClassLoaderDeadlock reproducer made more reliable
Andrew Azores [Wed, 27 Nov 2013 21:37:38 +0000 (16:37 -0500)]
JNLPClassLoaderDeadlock reproducer made more reliable

4 years agoReverted "fix to ManifestedJar1Test cases", better manifestedjar tests, added srtict...
Jiri Vanek [Wed, 27 Nov 2013 13:20:25 +0000 (14:20 +0100)]
Reverted "fix to ManifestedJar1Test cases", better manifestedjar tests, added srtict test

* netx/net/sourceforge/jnlp/ added indentation, fixes condition in strict base check
* netx/net/sourceforge/jnlp/ revertedt recently added throw
* tests/reproducers/simple/ManifestedJar1/testcases/ (manifestedJar1main2mainNoAppDesc) adapted and (manifestedJar1main2mainNoAppDescStrict) added

4 years agoremoved redundant slash in chnagelog
Jiri Vanek [Wed, 27 Nov 2013 13:14:59 +0000 (14:14 +0100)]
removed redundant slash in chnagelog

4 years agoAdded null check when getting manifest attributes for case of jar without manifest
Jiri Vanek [Wed, 27 Nov 2013 13:11:13 +0000 (14:11 +0100)]
Added null check when getting manifest attributes for case of jar without manifest

* netx/net/sourceforge/jnlp/runtime/ (getManifestAttribute) added check fo null manifest to prevent npe.
* /tests/netx/unit/net/sourceforge/jnlp/runtime/ added test for  npe from getManifestAttribute
* tests/test-extensions/net/sourceforge/jnlp/util/ (createJarWithContents) enhanced to be able to create jar without manifest.

4 years agoRemoved most of checks to no output from reproducers
Jiri Vanek [Mon, 25 Nov 2013 15:54:23 +0000 (16:54 +0100)]
Removed most of checks to no output from reproducers

4 years agofix to ManifestedJar1Test cases
Jiri Vanek [Mon, 25 Nov 2013 09:16:42 +0000 (10:16 +0100)]
fix to ManifestedJar1Test cases

* netx/net/sourceforge/jnlp/ (getMainJAR) throw an RuntimeException when more then one main jar is specified. Preventing app to start.
* tests/reproducers/simple/ManifestedJar1/testcases/, (manifestedJar1nothing2nothingAppDesc)fixed and adapted to change.

4 years agodo DefaultLaunchHandlerTest unittest indepndent on system settings
Jiri Vanek [Fri, 22 Nov 2013 11:12:48 +0000 (12:12 +0100)]
do DefaultLaunchHandlerTest unittest indepndent on system settings

4 years agoMove "dialog center" line in NEWS to be consistent with NEWS in 1.4
Andrew Azores [Thu, 14 Nov 2013 18:15:46 +0000 (13:15 -0500)]
Move "dialog center" line in NEWS to be consistent with NEWS in 1.4

4 years agoAdded "dialogs center on-screen before appearing" to NEWS
Andrew Azores [Thu, 14 Nov 2013 16:22:14 +0000 (11:22 -0500)]
Added "dialogs center on-screen before appearing" to NEWS

4 years agoFixed NPE in getting the attribute
Jiri Vanek [Thu, 14 Nov 2013 09:57:24 +0000 (10:57 +0100)]
Fixed NPE in getting the attribute

4 years agoJNLPClassLoader cleanup, avoid Enumerations and use strict typing.
Andrew Azores [Wed, 13 Nov 2013 15:12:28 +0000 (10:12 -0500)]
JNLPClassLoader cleanup, avoid Enumerations and use strict typing.

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.

4 years agoBasicExceptionDialog centers on-screen before appearing
Andrew Azores [Wed, 13 Nov 2013 14:55:45 +0000 (09:55 -0500)]
BasicExceptionDialog centers on-screen before appearing

4 years agoAdded test-extension to silence stdout/err of itw when run from junit
Jiri Vanek [Wed, 13 Nov 2013 09:05:32 +0000 (10:05 +0100)]
Added test-extension to silence stdout/err of itw when run from junit

4 years agoEnabled access to manifests' attributes from JNLPFile class, implemented http://docs...
Jiri Vanek [Wed, 13 Nov 2013 08:48:41 +0000 (09:48 +0100)]
Enabled access to manifests' attributes from JNLPFile class, implemented

4 years agoFixed lock in awt threads. JavaConsole window is now disposed instead of hidden.
Jiri Vanek [Sun, 10 Nov 2013 10:30:43 +0000 (11:30 +0100)]
Fixed lock in awt threads. JavaConsole window is now disposed instead of hidden.

4 years agoRemoved suspicious return when (searchForMain) had null launchDesc in netx/net/source...
Jiri Vanek [Sun, 10 Nov 2013 09:54:03 +0000 (10:54 +0100)]
Removed suspicious return when (searchForMain) had null launchDesc in netx/net/sourceforge/jnlp/runtime/

4 years agoReproducer test cleanup to remove deprecation warnings and type checking warnings.
Andrew Azores [Thu, 7 Nov 2013 14:59:22 +0000 (09:59 -0500)]
Reproducer test cleanup to remove deprecation warnings and type checking 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.

4 years agoJava console resurrected and connected to new logging.
Jiri Vanek [Tue, 5 Nov 2013 19:07:27 +0000 (20:07 +0100)]
Java console resurrected and connected to new logging.

4 years agoAvoid potential NPE in JNLPSecurityManager#addPermission when debug is enabled
Andrew Azores [Tue, 5 Nov 2013 18:26:59 +0000 (13:26 -0500)]
Avoid potential NPE in JNLPSecurityManager#addPermission when debug is enabled

* netx/net/sourceforge/jnlp/runtime/
(addPermission) avoid NPE in JNLPClassLoader#getPermissions with debug

4 years agoSynced headers between PLUGIN_DEBUG, PLUGIN_ERROR and javaside
Jiri Vanek [Fri, 1 Nov 2013 12:23:25 +0000 (13:23 +0100)]
Synced headers between PLUGIN_DEBUG, PLUGIN_ERROR and javaside
* netx/net/sourceforge/jnlp/util/logging/ (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.

4 years ago tests/netx/unit/net/sourceforge/jnlp/runtime/ added tests...
Jiri Vanek [Fri, 1 Nov 2013 10:08:06 +0000 (11:08 +0100)]
 tests/netx/unit/net/sourceforge/jnlp/runtime/ 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/ can now handle multiple source jars, and set main jar (new constructors), (jarFiles)  and (jarDescs) redeclared to arrays.

4 years agonetx/net/sourceforge/jnlp/ made immutable
Jiri Vanek [Wed, 30 Oct 2013 09:36:03 +0000 (10:36 +0100)]
netx/net/sourceforge/jnlp/ made immutable
 (location)(version)(part)(lazy)(main)(nativeJar)(cacheable) made final

4 years agoFix PR1513, signed applets with external main-class support
Andrew Azores [Tue, 29 Oct 2013 21:30:18 +0000 (17:30 -0400)]
Fix PR1513, signed applets with external main-class support

* netx/net/sourceforge/jnlp/runtime/
(initializeResources) ask for user approval rather than throwing
LaunchException for signed applets with external main-class

4 years agoPlugin debug can now be controlled from itw_settings, in same way java side. For...
Jiri Vanek [Fri, 25 Oct 2013 10:19:15 +0000 (12:19 +0200)]
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/ 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/ 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/ 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)

4 years agoAll output messages redirected to PLUGIN_{DEBUG,ERROR} macros
Jiri Vanek [Fri, 25 Oct 2013 09:10:25 +0000 (11:10 +0200)]
All output messages redirected to PLUGIN_{DEBUG,ERROR} macros

4 years agoOutputController.getCallerClass now gets out also from sun.applet.PluginDebug class.
Jiri Vanek [Fri, 25 Oct 2013 07:43:24 +0000 (09:43 +0200)]
OutputController.getCallerClass now gets out also from sun.applet.PluginDebug class.

4 years agoFix array index out of bounds due to malformed plugin message (PR539)
Andrew Azores [Thu, 24 Oct 2013 14:11:37 +0000 (10:11 -0400)]
Fix array index out of bounds due to malformed plugin message (PR539)
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/ (_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:
* tests/reproducers/simple/JSObjectWithoutToString/srcs/
* tests/reproducers/simple/JSObjectWithoutToString/testcases/

4 years agoC-part of plugin is now also trying to follow XDG
Jiri Vanek [Wed, 23 Oct 2013 15:52:18 +0000 (17:52 +0200)]
C-part of plugin is now also trying to follow XDG
* plugin/icedteanp/ (user_properties_file) is now using XDG cached dir or its default variant in case that old file do not (should not!) exists

4 years agoReset the LogConfig in unit tests
Omair Majid [Tue, 22 Oct 2013 20:21:40 +0000 (16:21 -0400)]
Reset the LogConfig in unit tests

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  <>

    * netx/net/sourceforge/jnlp/util/logging/
    (resetLogConfig): New method.
    * tests/netx/unit/net/sourceforge/jnlp/util/logging/
    (setUp, tearDown): New method.

4 years agoMore synchronized error/debug methods
Jiri Vanek [Tue, 22 Oct 2013 09:48:27 +0000 (11:48 +0200)]
More synchronized error/debug methods
* plugin/icedteanp/ 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).

4 years agoLogic to extract main class attribute generalized to common methods.
Jiri Vanek [Mon, 21 Oct 2013 11:19:10 +0000 (13:19 +0200)]
Logic to extract main class attribute generalized to common methods.
* netx/net/sourceforge/jnlp/runtime/
(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

4 years agoMinor fix in DEBUG initialisation
Jiri Vanek [Sun, 20 Oct 2013 16:13:43 +0000 (18:13 +0200)]
Minor fix in DEBUG initialisation
* netx/net/sourceforge/jnlp/runtime/ (isPluginDebug) made private to prevent confusion.
* plugin/icedteanp/java/sun/applet/ (DEBUG) initialized from JNLPRuntime.isDebug instead of incorrect JNLPRuntime.isPluginDebug.

4 years agoBack out changeset 420d72e5cee7
Andrew Azores [Thu, 17 Oct 2013 14:32:46 +0000 (10:32 -0400)]
Back out changeset 420d72e5cee7

Back out changeset 420d72e5cee7 due to breaking LiveConnect feature.
* plugin/icedteanp/ undo 420d72e5cee7
* plugin/icedteanp/ undo 420d72e5cee7
* plugin/icedteanp/IcedTeaPluginUtils.h: undo 420d72e5cee7
* plugin/icedteanp/ undo 420d72e5cee7
* plugin/icedteanp/IcedTeaScriptablePluginObject.h: undo 420d72e5cee7
* tests/cpp-unit-tests/ undo 420d72e5cee7

4 years agoAdd RH976833 fix note to NEWS
Andrew Azores [Wed, 16 Oct 2013 17:26:09 +0000 (13:26 -0400)]
Add RH976833 fix note to NEWS

4 years agoResolve multiple-applet deadlock issue in JNLPClassLoader
Andrew Azores [Wed, 16 Oct 2013 17:13:19 +0000 (13:13 -0400)]
Resolve multiple-applet deadlock issue in JNLPClassLoader

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/ (loadClassLock)
    private member for locking of loadClass method. (loadClass) synchronizes
    using new lock rather than instance intrinsic lock to avoid RH976833
    * tests/reproducers/custom/JNLPClassLoaderDeadlock/testcases/
    new test for multiple applet deadlock condition
    * tests/reproducers/custom/JNLPClassLoaderDeadlock/resources/JNLPClassLoaderDeadlock.html:
    * tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/
    * tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/
    * tests/reproducers/custom/JNLPClassLoaderDeadlock/srcs/Makefile: same

4 years agoSecurityDialog centers itself before becoming visible
Andrew Azores [Fri, 11 Oct 2013 14:31:55 +0000 (10:31 -0400)]
SecurityDialog centers itself before becoming visible

* netx/net/sourceforge/jnlp/security/ (initDialog)
centerDialog called in init rather than on windowOpened event

4 years agoRemove duplicate key computation in proxy code
Omair Majid [Wed, 9 Oct 2013 16:18:49 +0000 (12:18 -0400)]
Remove duplicate key computation in proxy code

4 years agoMove some proxy logic to BrowserAwareProxySelector
Omair Majid [Wed, 9 Oct 2013 16:12:44 +0000 (12:12 -0400)]
Move some proxy logic to BrowserAwareProxySelector

The logic for mangling URIs to be compatible with the browser seems
more appropriate to keep in the ProxySelector rather than the catch-all

4 years agoDeploymentConfiguration properties reproducer fix
Andrew Azores [Mon, 7 Oct 2013 18:02:15 +0000 (14:02 -0400)]
DeploymentConfiguration properties reproducer fix

Update test to reflect changed log directory

4 years agoFix regression in ResourceUrlCreator due to PR1204 patch
Andrew Azores [Thu, 3 Oct 2013 13:25:35 +0000 (09:25 -0400)]
Fix regression in ResourceUrlCreator due to PR1204 patch

* netx/net/sourceforge/jnlp/cache/
(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/
new tests for ResourceUrlCreator.getVersionedUrl

4 years ago* Cache viewer update:
Jacob Wisor [Thu, 3 Oct 2013 12:54:25 +0000 (14:54 +0200)]
* Cache viewer update:
  - 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/
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
Added a TableCellRenderer with proper localized rendering of "Size" and
"Last Modified" columns as well as the content of "Name" and "Path"
(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
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
(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.
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): 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/
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/
Added new package for UI common and recurrung UI tasks with documentation

4 years agoUnit tests for BrowserAwareProxySelector
Omair Majid [Wed, 2 Oct 2013 03:43:31 +0000 (23:43 -0400)]
Unit tests for BrowserAwareProxySelector

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.

4 years agoAdd unit tests for PluginProxySelector
Omair Majid [Tue, 1 Oct 2013 15:51:00 +0000 (11:51 -0400)]
Add unit tests for PluginProxySelector

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.

4 years agoFix for PR1204, handling of query strings and absolute paths.
Andrew Azores [Thu, 26 Sep 2013 14:25:33 +0000 (10:25 -0400)]
Fix for PR1204, handling of query strings and absolute paths.

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/
(getVersionedUrlUsingQuery) renamed to getVersionedUrl, refactored
construction of URL
* plugin/icedteanp/java/sun/applet/
(requestPluginProxyInfo) extracted proxy URI logic.
(processProxyUri) new method for finding proxy URIs, handles absolute
resource paths correctly
* tests/netx/unit/net/sourceforge/jnlp/cache/
added tests for ResourceUrlCreator#getVersionedUrl
* tests/netx/unit/sun/applet/ added tests for
* 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:
* tests/reproducers/simple/AbsolutePathsAndQueryStrings/testcases/

4 years agoClean up summary_unit.txt and summary_reproducers.txt for "make clean"
Andrew Azores [Wed, 25 Sep 2013 20:32:44 +0000 (16:32 -0400)]
Clean up summary_unit.txt and summary_reproducers.txt for "make clean"

4 years agoIntroduced logging bottleneck
Jiri Vanek [Wed, 25 Sep 2013 16:50:18 +0000 (18:50 +0200)]
Introduced logging bottleneck

4 years agoPR1474: Can't get javaws to use SOCKS proxy
Omair Majid [Tue, 24 Sep 2013 17:42:31 +0000 (13:42 -0400)]
PR1474: Can't get javaws to use SOCKS proxy

If there is a SOCKS proxy specified, use it for https, http,
and ftp protocols too (as a fallback).

'sameProxy' now affects the https, http and ftp protocols,
but not the socket protocol.

4 years agoUnit tests for JNLPProxySelector
Omair Majid [Mon, 23 Sep 2013 16:34:25 +0000 (12:34 -0400)]
Unit tests for JNLPProxySelector

This contains one functional change:
- String host = uri.getSchemeSpecificPart().split(":")[0];
+ String host = uri.getHost();

Given the URI of "socket://", the first line
evaluates to "//", while the second one (correctly)
evaluates to "".

4 years agoUnit test for InformationDesc
Omair Majid [Fri, 20 Sep 2013 15:41:36 +0000 (11:41 -0400)]
Unit test for InformationDesc

Also remove the references to JNLPFile from InformationDesc.
This makes it much easier to instantiate InformationDesc for

4 years agoadding xsl style for generating text summary after reproducers or unit tests run
Jana Fabrikova [Thu, 19 Sep 2013 11:36:15 +0000 (13:36 +0200)]
adding xsl style for generating text summary after reproducers or unit tests run

4 years agoRemoved java 1.3 comaptible (redundant) code from ParseException
Jiri Vanek [Wed, 18 Sep 2013 13:54:12 +0000 (15:54 +0200)]
Removed java 1.3 comaptible (redundant) code from  ParseException
netx/net/sourceforge/jnlp/ (ParseException) modified to support super call only, (getCause) and both (printStackTrace) removed git info: FAQ, tutorial and man pages.