diff options
Diffstat (limited to 'Sshuttle VPN.app/Contents/Resources/askpass.py')
-rw-r--r-- | Sshuttle VPN.app/Contents/Resources/askpass.py | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/Sshuttle VPN.app/Contents/Resources/askpass.py b/Sshuttle VPN.app/Contents/Resources/askpass.py new file mode 100644 index 0000000..9690c0d --- /dev/null +++ b/Sshuttle VPN.app/Contents/Resources/askpass.py @@ -0,0 +1,28 @@ +import sys, os, re, subprocess + +def askpass(prompt): + prompt = prompt.replace('"', "'") + + if 'yes/no' in prompt: + return "yes" + + script=""" + tell application "Finder" + activate + display dialog "%s" \ + with title "Sshuttle SSH Connection" \ + default answer "" \ + with icon caution \ + with hidden answer + end tell + """ % prompt + + p = subprocess.Popen(['osascript', '-e', script], stdout=subprocess.PIPE) + out = p.stdout.read() + rv = p.wait() + if rv: + return None + g = re.match("text returned:(.*), button returned:.*", out) + if not g: + return None + return g.group(1) |