JDK-6901760 : Applets using JNLP fails to load if bits are tried to access using HTTP basic auth scheme
  • Type: Bug
  • Component: deploy
  • Sub-Component: plugin
  • Affected Version: 6u18
  • Priority: P1
  • Status: Closed
  • Resolution: Fixed
  • OS: windows
  • CPU: generic
  • Submitted: 2009-11-16
  • Updated: 2010-09-08
  • Resolved: 2010-01-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6
6-poolResolved
Related Reports
Relates :  
Description
HTTP basic auth is commonly used auth scheme which allows to provide credentials ��� in the form of a user name and password  ��� when making a request. Now in case of applets it's working fine with traditional applets but fails to work with applets using JNLP

Steps to reproduce:
-------------------
1) try to load the following applet with 6u18
http://129.145.161.243/basicAuth/tests/HelloStage.html
- Pop up asking for user/pass form browser should be there
Enter
user: jituB
Pass: jitu20
If applet fails to load with following exception then bug is reproduced:
java.io.FileNotFoundException: JNLP file error: HelloStage_browser.jnlp. Please make sure the file exists and check if "codebase" and "href" in the JNLP file are correct.
	at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source)
	at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
	at java.lang.Thread.run(Unknown Source)
Exception: java.io.FileNotFoundException: JNLP file error: HelloStage_browser.jnlp. Please make sure the file exists and check if "codebase" and "href" in the JNLP file 

Try loading the same applet not restricted using basic auth scheme, it will get loaded fine
http://129.145.161.243/HelloStage.html

Try loading the traditional applet(not using JNLP) sitting inside the same restriced area as above mentioned basic auth applet, it will also get loaded fine:
http://129.145.161.243/basicAuth/tests/Test.html
(use the same user/pass mentioend above)

Comments
EVALUATION This bug affects JNLP applets running in plugin that need download the applet's JNLP file from a password protected server. An exception is thrown when plugin tries to get credentials from browser. This caused plugin authenticator failed to set correct user credential when connect to the server to download the jnlp file. The exception is thrown because an incorrect applet execution context is installed at this initialization moment. Java webstart, non-jnlp applets are not affected by this CR.
19-11-2009

EVALUATION The issue is caused by an ExecutionContext set for BrowserSevice. The ExecutionContext instance has a null pipe field which breaks communication between client side plugin and browser side plugin. This bug is not a new regession introduced in 6u17. It was there long time. A recent change in 6u18 which initializes Plgui2Manager in a separate thread (not on AWT event dispatched thread) uncoverred this bug.
17-11-2009