mirror of
https://github.com/os-mnemo/pan-globalprotect-okta
synced 2026-07-31 15:54:36 +02:00
Hide cookie in process list (stop using shell=True).
This commit is contained in:
+15
-10
@@ -24,7 +24,7 @@
|
|||||||
THE SOFTWARE.
|
THE SOFTWARE.
|
||||||
"""
|
"""
|
||||||
from __future__ import print_function
|
from __future__ import print_function
|
||||||
import io, os, sys, re, json, base64, getpass, subprocess
|
import io, os, sys, re, json, base64, getpass, subprocess, shlex
|
||||||
from lxml import etree
|
from lxml import etree
|
||||||
import requests
|
import requests
|
||||||
|
|
||||||
@@ -337,19 +337,24 @@ def main():
|
|||||||
cmd = conf.get('openconnect_cmd') or 'openconnect'
|
cmd = conf.get('openconnect_cmd') or 'openconnect'
|
||||||
cmd += ' --protocol=gp -u "{0}"'
|
cmd += ' --protocol=gp -u "{0}"'
|
||||||
cmd += ' --usergroup portal:portal-userauthcookie'
|
cmd += ' --usergroup portal:portal-userauthcookie'
|
||||||
cmd += ' --passwd-on-stdin ' + conf.get('openconnect_args') + ' "{2}"'
|
cmd += ' --passwd-on-stdin ' + conf.get('openconnect_args') + ' "{1}"'
|
||||||
gateway = (conf.get('gateway') or '').strip()
|
cmd = cmd.format(saml_username, conf.get('vpn_url'))
|
||||||
args = [saml_username, userauthcookie, conf.get('vpn_url')]
|
gw = (conf.get('gateway') or '').strip()
|
||||||
nlbug = '\\n' if conf.get('bug.nl', '').lower() in ['1', 'true'] else ''
|
nlbug = '\\n' if conf.get('bug.nl', '').lower() in ['1', 'true'] else ''
|
||||||
if len(gateway) > 0:
|
if len(gw) > 0:
|
||||||
cmd = '\nprintf "' + nlbug + '{1}\\n{3}" | ' + cmd
|
pcmd = 'printf "' + nlbug + '{0}\\n{1}"'.format(userauthcookie, gw)
|
||||||
args.append(gateway)
|
|
||||||
else:
|
else:
|
||||||
cmd = '\nprintf "' + nlbug + '{1}" | ' + cmd
|
pcmd = 'printf "' + nlbug + '{0}"'.format(userauthcookie)
|
||||||
|
print()
|
||||||
if conf.get('execute', '').lower() in ['1', 'true']:
|
if conf.get('execute', '').lower() in ['1', 'true']:
|
||||||
subprocess.call(cmd.format(*args), shell=True)
|
cmd = shlex.split(cmd)
|
||||||
|
cmd = [os.path.expandvars(os.path.expanduser(x)) for x in cmd]
|
||||||
|
pp = subprocess.Popen(shlex.split(pcmd), stdout=subprocess.PIPE)
|
||||||
|
cp = subprocess.Popen(cmd, stdin=pp.stdout, stdout=subprocess.PIPE)
|
||||||
|
pp.stdout.close()
|
||||||
|
cp.communicate()
|
||||||
else:
|
else:
|
||||||
print(cmd.format(*args))
|
print('{0} | {1}'.format(pcmd, cmd))
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
|
|||||||
Reference in New Issue
Block a user