Added to --auth-token option instead of using env vars, seems cleaner.

This commit is contained in:
Matthew Balman 2012-11-30 21:34:04 +00:00
parent 734cc19c86
commit 2dc9118cc5
2 changed files with 6 additions and 7 deletions

View File

@ -102,11 +102,12 @@ Sec-WebSocket-Accept: %s\r
def __init__(self, listen_host='', listen_port=None, source_is_ipv6=False, def __init__(self, listen_host='', listen_port=None, source_is_ipv6=False,
verbose=False, cert='', key='', ssl_only=None, verbose=False, cert='', key='', ssl_only=None,
daemon=False, record='', web='', daemon=False, record='', web='',
run_once=False, timeout=0, idle_timeout=0, auth_hook=''): run_once=False, timeout=0, idle_timeout=0, auth_hook='', auth_token=''):
# settings # settings
self.verbose = verbose self.verbose = verbose
self.auth_hook = auth_hook self.auth_hook = auth_hook
self.auth_token = auth_token
self.listen_host = listen_host self.listen_host = listen_host
self.listen_port = listen_port self.listen_port = listen_port
self.prefer_ipv6 = source_is_ipv6 self.prefer_ipv6 = source_is_ipv6
@ -778,12 +779,7 @@ Sec-WebSocket-Accept: %s\r
self.auth_env['WEBSOCKIFY_HOST_RECORD'] = str(self.record) self.auth_env['WEBSOCKIFY_HOST_RECORD'] = str(self.record)
self.auth_env['WEBSOCKIFY_HOST_SSL_ONLY'] = str(self.ssl_only) self.auth_env['WEBSOCKIFY_HOST_SSL_ONLY'] = str(self.ssl_only)
self.auth_env['WEBSOCKIFY_HOST_SCHEME'] = self.scheme self.auth_env['WEBSOCKIFY_HOST_SCHEME'] = self.scheme
tmp = "None" self.auth_env['WEBSOCKIFY_CLIENT_TOKEN'] = self.auth_token
try:
tmp = os.environ['WEBSOCKIFY_CLIENT_TOKEN'] #pass any expected token
except:
pass
self.auth_env['WEBSOCKIFY_CLIENT_TOKEN'] = tmp
self.auth_env['WEBSOCKIFY_CLIENT_IP'] = address[0] self.auth_env['WEBSOCKIFY_CLIENT_IP'] = address[0]
self.auth_env['WEBSOCKIFY_CLIENT_PORT'] = str(address[1]) self.auth_env['WEBSOCKIFY_CLIENT_PORT'] = str(address[1])
self.auth_env['WEBSOCKIFY_VNCHOST_IP'] = self.target_host self.auth_env['WEBSOCKIFY_VNCHOST_IP'] = self.target_host

View File

@ -339,6 +339,9 @@ def websockify_init():
help="Executable to authenticate client connections. " help="Executable to authenticate client connections. "
"Ret code 0=authenticated. Client args = WEBSOCKIFY_UNSAFE_* env vars. " "Ret code 0=authenticated. Client args = WEBSOCKIFY_UNSAFE_* env vars. "
"'WEBSOCKIFY_CLIENT_*','WEBSOCKIFY_VNCHOST_*','WEBSOCKIFY_HOST_*'") "'WEBSOCKIFY_CLIENT_*','WEBSOCKIFY_VNCHOST_*','WEBSOCKIFY_HOST_*'")
parser.add_option("--auth-token", default="", metavar="a8H6g0sl",
help="Expected authentication token client needs to provide "
"This is passed to --auth-hook program and internal handler.")
(opts, args) = parser.parse_args() (opts, args) = parser.parse_args()
# Sanity checks # Sanity checks