[ https://issues.apache.org/jira/browse/FELIX-4281?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14019672#comment-14019672 ]
Rob Walker commented on FELIX-4281: ----------------------------------- Patch does work Karl, thanks. There are some adaptations needed (noted below) ... guess it goes to prove that I don't understand how the ExtensionManager code works or rather what it clashes with in a JNLP! If we assume people will only ever use Felix embedded, the mod will work provided they use setProperty to force this property set before launching Felix. But if we want to allow that new property in a JNLP file, we also need to support the required syntax which is that properties in there must be prefixed "jnlp." to be accessible as System properties e.g. {noformat} <resources> ... <property name="jnlp.felix.extensions.disable" value="true"/> </resources> {noformat} I've attached a patch with one implementation approach for this - a mod to SecureAction to check for a "jnlp," version of a property before falling back to System properties or the supplied default. An alternative would be additional init code in Felix or FelixConstants to test each property that we wish to expose to JNLP files and push any non-null value into System properties. This would be more transparent, but also more maintenance whenever new FelixConstants are added. An observations I found along the way was that you can launch javaws from the command line with a -silent option. This bypasses the dialog box much like -verbose / -noWebJava but without any other prompting. I don't think this helps much at this stage, but it definitely shows there is some inner switch that the lower code is testing before putting up the dialog. I'm still troubled that I don't understand exactly what happens lower down in the JNLP classes/classloaders to cause it to decide to put up a blocking dialog rather than just throwing a CNFE. So I may carry on digging to see if I can figure it out for myself. I'd like to believe there may be some other more seamless solution in terms of combinations of attributes, signing and/or built in code checks. We could definitely detect the presence of a JNLP class loader - trouble there is that it's a com.sun class, and hence implementation dependent. It could differ in other Java implementations I guess. > Security Warning: Felix with Java Web Start > ------------------------------------------- > > Key: FELIX-4281 > URL: https://issues.apache.org/jira/browse/FELIX-4281 > Project: Felix > Issue Type: Bug > Environment: Windows 7 with Java 7 update 40, 64 bits > Reporter: Cesar Souza > Assignee: Karl Pauls > Priority: Minor > Attachments: message.zip, sec_action.patch, viewer.jnlp, > webstart.patch > > > Since the release of Java 7 update 40 the following warning occurs when you > try to execute a signed (with valid certificate) Java Web Start application: > ----------------------------- > Security Warning > Do you want to run this application? > An unsigned application from the location below is requesting permission to > run. > http://...... > Running unsigned applications like this will be blocked in a future > release because it is potentially unsafe and a security risk > ----------------------------- > Although the Java recognizes the certificate in the first dialog, it shows > the warning message when the Felix's init method is invoked. > I have tested a same application over Java 7 update 21 and everything is ok. -- This message was sent by Atlassian JIRA (v6.2#6252)