[rfc][icedtea-web] missing jnlpfile and securtydelegate for TemporaryPermissionsButton calls

Jiri Vanek jvanek at redhat.com
Wed Aug 27 09:25:47 UTC 2014


Hi!

During testing of https probing, helpcrypto found and interesting issue in head.

Under some circumstances calls to  TemporaryPermissionsButton have jnlpfile and securitydelegate null.

Two things troubles me:
  - both those values are needed only when "tmeporarypermissions" are clicked, so they should not 
affect startup of ITW
  - how come that they are null? I blame 
http://icedtea.classpath.org/hg/icedtea-web/annotate/d87ee4e6e81a/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java#78 

(looking into  Looking to this, 
http://icedtea.classpath.org/hg/icedtea-web/file/b4363c984e1b/netx/net/sourceforge/jnlp/security/dialogs/TemporaryPermissionsButton.java#l79 
)


Atatched is the nasty workarorund and  here is snippet of log

Securitymanager=net.sourceforge.jnlp.runtime.JNLPSecurityManager at 19f17b1
Registering priority for string reference 2
Registering priority for reference 2
Returning value:0
Setting value:0
Setting value:null
dummy string null, null, javax.swing.JButton[,0,0,0x0,inva...snip...
plugin_in_pipe_callback return
plugin_send_message_to_appletviewer return
   PIPE: plugin wrote(?): plugin PluginProxyInfo reference 1 DIRECT
plugin_send_message_to_appletviewer
Proxy info: plugin PluginProxyInfo reference 1 DIRECT



Without the workarround  itw dies:

ITNP_SetWindow return
ITNP_SetWindow: window already exists.
ITNP_SetWindow
     at java.lang.Thread.run(Thread.java:745)
     at 
net.sourceforge.jnlp.security.SecurityDialogMessageHandler.run(SecurityDialogMessageHandler.java:81)
     at 
net.sourceforge.jnlp.security.SecurityDialogMessageHandler.handleMessage(SecurityDialogMessageHandler.java:102) 

     at net.sourceforge.jnlp.security.SecurityDialog. (SecurityDialog.java:129)
     at net.sourceforge.jnlp.security.SecurityDialog.initDialog(SecurityDialog.java:255)
     at net.sourceforge.jnlp.security.SecurityDialog.installPanel(SecurityDialog.java:307)
     at net.sourceforge.jnlp.security.dialogs.CertWarningPane. (CertWarningPane.java:116)
     at net.sourceforge.jnlp.security.dialogs.CertWarningPane.addComponents(CertWarningPane.java:124)
     at net.sourceforge.jnlp.security.dialogs.CertWarningPane.addButtons(CertWarningPane.java:242)
     at net.sourceforge.jnlp.security.dialogs.TemporaryPermissionsButton. 
(TemporaryPermissionsButton.java:79)
     at java.util.Objects.requireNonNull(Objects.java:201)
Exception in thread "NetxSecurityThread" java.lang.NullPointerException
plugin_in_pipe_callback return
plugin_send_message_to_appletviewer return
   PIPE: plugin wrote(?): plugin PluginProxyInfo reference 1 DIRECT
plugin_send_message_to_appletviewer
Proxy info: plugin PluginProxyInfo reference 1 DIRECT



I think the AssertNotNUll are really really invasive here. But at least they cought probably more 
serious issue - to early call to the dialogue with tmppermissions button....


J.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: httpsMissingFile_3.patch
Type: text/x-patch
Size: 1896 bytes
Desc: not available
URL: <http://mail.openjdk.java.net/pipermail/distro-pkg-dev/attachments/20140827/218ea4f7/httpsMissingFile_3-0001.patch>


More information about the distro-pkg-dev mailing list