JDK-8032781 : Run rule not working in case of html applet
  • Type: Bug
  • Component: deploy
  • Sub-Component: deployment_toolkit
  • Affected Version: 7u40
  • Priority: P3
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-01-27
  • Updated: 2014-12-05
  • Resolved: 2014-03-20
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 7 JDK 8 JDK 9
7u55Fixed 8u11Fixed 9Fixed
Related Reports
Relates :  
Relates :  
Description
This error can be easily reproduced by using the following url:
http://javatester.org/version.html
with a Deployment Rule Set of:

<ruleset version="1.0+">

 <rule>
   <id location="*.javatester.org" />
   <action permission="run" version="1.6.0_45" />
 </rule>

</ruleset>


Comments
Ok, as far as JDK-8038621 is approved to CPU14_03 this one can be taken as well. SQE OK.
18-04-2014

Well. As far as the fix has been already integrated into 8u11 b01 it would better to take the fix in CPU14_03. But it seems the fix is a reason of https://bugs.openjdk.java.net/browse/JDK-8038621 So, does it mean we have to have both - this one and the JDK-8038621 backport to 7u?
14-04-2014

Now working rowards forward porting and checking if install/uninstall works properly as we are changing registry keys. Tested locally and it works but need to ask sqe to test it. Nakul
17-03-2014

The testing carried out with latest fix binaries by sheldon chen (from the emails ) My testing: 1) applet tag with no java_version: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxApplet.html -With DRS -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 -Without DRS -- IE: loaded with 7u51 -- Chrome: loaded with 7u51 2) applet tag with java_version=1.6.0_45: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxApplet6u45.html -With DRS -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 -Without DRS -- IE: loaded with 6u45 or 7u51 according to the selection of SSV dialog. -- Chrome: loaded with 6u45 or 7u51 according to the selection of SSV dialog. 3) applet tag with java_version=1.6.0_51: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxApplet6u51.html -With DRS -- IE: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." -- Chrome: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." -Without DRS -- IE: loaded with 7u51 accepting SSV dialog -- Chrome: loaded with 7u51 accepting SSV dialog 4) jnlp applet with version=1.5+ in jnlp file (version is mandatory for jnlp file): http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxJNLP.html -With DRS -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 -Without DRS -- IE: loaded with 7u51 -- Chrome: loaded with 7u51 5) jnlp applet with version=1.6.0_45 in jnlp file: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxJNLP6u45.html -With DRS -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 -Without DRS -- IE: loaded with 6u45 or 7u51 according to the selection of SSV dialog. -- Chrome: loaded with 6u45 or 7u51 according to the selection of SSV dialog. 6) jnlp applet with version=1.6.0_51 in jnlp file: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxJNLP6u51.html -With DRS -- IE: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." -- Chrome: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." -Without DRS -- IE: loaded with 7u51 accepting SSV dialog -- Chrome: loaded with 7u51 accepting SSV dialog For non-IE: 1) object tag with no java_version: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObject.html -With DRS -- Chrome: loaded with 6u45 -Without DRS -- Chrome: loaded with 7u51 2) object tag with java_version=1.6.0_45: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObject6u45.html -With DRS -- Chrome: loaded with 6u45 -Without DRS -- loaded with 6u45 or 7u51 according to the selection of SSV dialog. 3) object tag with java_version=1.6.0_51: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObject6u51.html -With DRS -- IE: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." -Without DRS -- Chrome: loaded with 7u51 accepting SSV dialog For IE: 1) object tag with classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93": http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObject.html -With DRS -- IE: loaded with 6u45 -Without DRS -- IE: loaded with 7u51 2) object tag with classid="clsid:CAFEEFAC-0016-0000-0045-ABCDEFFEDCBA": http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObjectClassID6u45.html -With DRS -- IE: loaded with 6u45 -Without DRS -- IE: loaded with 6u45 or 7u51 according to the selection of SSV dialog. 3) object tag with classid="clsid:CAFEEFAC-0016-0000-0051-ABCDEFFEDCBA": http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObjectClassID6u51.html - -IE: Looks like Plugin doesn't work at all. ( this is because there will be no registry key present for 6u51 not a bug) - sheldon
17-03-2014

Summary: 1. The test below could be used to reproduce and verify the very issue in this jbs: applet tag with no java_version: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxApplet.html The statements below apply to both 8b129 and 7u51b31: 2. For JNLP applet, if the app requests 6u51 which is not installed, while DRS allows only "version=1.6.0_45", then the app will be blocked with message "Deployment Rule Set required Java version 1.6.0_45 not available." This message seems not correct, because we do have 6u45 installed. 3. For non-jnlp applet, if the app requests 6u51 which is not installed, while DRS allows only "version=1.6.0_45", then the app will run with 6u45 anyway. This seems even more wrong, I expect a block dialog (but not the one in point #2). 4. For completeness, I tried point #3 without any DRS file. Then I see a SSV dialog comes up, asking me if want to run with the latest JRE. If yes, then it will run with 7u51 or 8 (the latest JRE), or be blocked, both of which is correct IMO.
22-02-2014

Test steps: 1. Install 6u45 and JRE under test, say 7u51 or 8. 2. Use http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/classes/LSP/DeploymentRuleSet.jar.run-JRE6 as DRS file. The DRS rule is to allow app from certain location to run on 6u45. ========== <ruleset version="1.0"> <rule> <id location="http://127.0.0.1:8080/LSPJPI/html/"> </id> <action permission="run" version="1.6.0_45" /> </rule> <rule> <id location="http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/"> </id> <action permission="run" version="1.6.0_45" /> </rule> <!-- block everything else --> <rule> <id/> <action permission="block"> <message>we don't want to run anything else</message> </action> </rule> </ruleset> ============= 3. Import cert http://sqe-hg.us.oracle.com/hg/index.cgi/testbase/javase/functional/8/deployment2/raw-file/c210ad951b7d/new_framework/lib/keyStore/valid_selfsigned_100year_keystore.cert as Signer CA, so the DRS file will become CA signed valid. 4. All the test links showed in step #5 are similar, the are all unsigned and the app's main class is displaying the actual JRE version used to launch the app itself. The test links vary in the following aspects: - jnlp applet, non-jnlp applet with tag "applet", or non-jnlp applet with tag "object" - Which java version that the app wants to use - not specified, 6u45(installed) or 6u51 (not installed), or whatever the latest is. - For IE, whether ClassID or java_version is used to specify the java version that the app wants to use. 5. Test links: applet tag with no java_version: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxApplet.html - 8b129 -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 - 7u51b31 -- IE: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." (ISSUE but expected due to this very bug) -- Chrome: loaded with 6u45 applet tag with java_version=1.6.0_45: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxApplet6u45.html - 8b129 -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 - 7u51b31 -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 applet tag with java_version=1.6.0_51: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxApplet6u51.html - 8b129 -- IE: loaded with 6u45 (ISSUE?) -- Chrome: loaded with 6u45 (ISSUE?) - 7u51b31 -- IE: loaded with 6u45 (ISSUE?) -- Chrome: loaded with 6u45 (ISSUE?) jnlp applet with version=1.5+ in jnlp file (version is mandatory for jnlp file): http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxJNLP.html - 8b129 -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 - 7u51b31 -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 jnlp applet with version=1.6.0_45 in jnlp file: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxJNLP6u45.html - 8b129 -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 - 7u51b31 -- IE: loaded with 6u45 -- Chrome: loaded with 6u45 jnlp applet with version=1.6.0_51 in jnlp file: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxJNLP6u51.html - 8b129 -- IE: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." (ISSUE?) -- Chrome: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." (ISSUE?) - 7u51b31 -- IE: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." (ISSUE?) -- Chrome: blocked with msg "Deployment Rule Set required Java version 1.6.0_45 not available." (ISSUE?) For non-IE: object tag with no java_version: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObject.html - 8b129 -- Chrome: loaded with 6u45 - 7u51b31 -- Chrome: loaded with 6u45 object tag with java_version=1.6.0_45: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObject6u45.html - 8b129 -- Chrome: loaded with 6u45 - 7u51b31 -- Chrome: loaded with 6u45 object tag with java_version=1.6.0_51: http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObject6u51.html - 8b129 -- Chrome: loaded with 6u45 (ISSUE?) - 7u51b31 -- Chrome: loaded with 6u45 (ISSUE?) For IE: object tag with classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93": http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObject.html - 8b129 -- IE: loaded with 6u45 - 7u51b31 -- IE: loaded with 6u45 object tag with classid="clsid:CAFEEFAC-0016-0000-0045-ABCDEFFEDCBA": http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObjectClassID6u45.html - 8b129 -- IE: loaded with 6u45 - 7u51b31 -- IE: loaded with 6u45 object tag with classid="clsid:CAFEEFAC-0016-0000-0051-ABCDEFFEDCBA": http://sqeweb.us.oracle.com/net/sqenfs-1/export1/comp/jsn/users/stephen/deployment_stuff/do.NOT.remove.me/bugs/JDK-8032781/LSPJPI/html/UnsignedSandboxObjectClassID6u51.html - 8b129 -- IE: loaded with 6u45 (ISSUE?) - 7u51b31 -- IE: loaded with 6u45 (ISSUE?)
22-02-2014

FVB is given to customer today.
11-02-2014

The problem is arising because we are unable to determine the difference between any version requested in html Vs the version not requested. The proposed solution is changing TreatAs classid to dynamic one which will help us to distinguish between static classid requested and no class id specified in html.
11-02-2014

I tested the given problem with 7u55 and could not see the indicated problem.with 7u55 and 6u14 installed, I used the following rule: <rule> <id location="*.javatester.org" /> <action permission="run" version="1.6.0_14" /> </rule> and the applet http://javatester.org/version.html ran and reported it was using 1.6.0_14.
27-01-2014