[forge-dev] Shell Prompt Locking

James Perkins jperkins at redhat.com
Wed Jul 11 14:00:12 EDT 2012


I was working on getting support to connect to remote servers for the 
JBoss AS 7 plugin. The management API's require a 
javax.security.auth.callback.CallbackHandler. I originally had an 
implementation that would prompt for the username and password to be 
entered. The issue is that the ShellImpl locks on execution [1] with the 
same lock on the promptWithCompleter [2]. This causes the prompt on the 
CallbackHandler implementation to dead-lock.

The workaround I've found is the promptSecret [3] does not seem to 
block. There are other potential ways around this, but they generally 
require the user to authenticate on each execution which is not really 
desirable.

This leads to a few questions:

 1. Should the promptSecret be blocking too?
 2. Is there a better approach to getting the credentials?
 3. Should the promptWithCompleter be blocking? (I haven't really looked
    at the code enough to determine this)



[1]: 
https://github.com/forge/core/blob/master/shell/src/main/java/org/jboss/forge/shell/ShellImpl.java#L836
[2]: 
https://github.com/forge/core/blob/master/shell/src/main/java/org/jboss/forge/shell/ShellImpl.java#L1337
[3]: 
https://github.com/forge/core/blob/master/shell/src/main/java/org/jboss/forge/shell/ShellImpl.java#L1404 


-- 
James R. Perkins
JBoss by Red Hat

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/forge-dev/attachments/20120711/2e39d427/attachment.html 


More information about the forge-dev mailing list