United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-8032781 : Run rule not working in case of html applet

Details
Type:
Bug
Submit Date:
2014-01-27
Status:
Resolved
Updated Date:
2014-12-05
Project Name:
JDK
Resolved Date:
2014-03-20
Component:
deploy
OS:
Sub-Component:
deployment_toolkit
CPU:
Priority:
P3
Resolution:
Fixed
Affected Versions:
7u40
Fixed Versions:
7u65 (b05)

Related Reports
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Backport:
Relates:
Relates:

Sub Tasks

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. 
                                     
2014-04-18
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?

                                     
2014-04-14
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



                                     
2014-03-17
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
                                     
2014-03-17
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.
                                     
2014-02-22
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?)
                                     
2014-02-22
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.
                                     
2014-02-11
FVB is given to customer today. 
                                     
2014-02-11
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.
                                     
2014-01-27



Hardware and Software, Engineered to Work Together