From 3cf9c8b9ef994b8341b3c19bb4458c198a51992c Mon Sep 17 00:00:00 2001 From: Jonathan Weth Date: Wed, 23 Jun 2021 14:39:01 +0200 Subject: Introduce and apply reformat/lint --- rwa/support/sessionservice/vnc.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'rwa/support/sessionservice/vnc.py') diff --git a/rwa/support/sessionservice/vnc.py b/rwa/support/sessionservice/vnc.py index 1725532..f41efce 100644 --- a/rwa/support/sessionservice/vnc.py +++ b/rwa/support/sessionservice/vnc.py @@ -24,18 +24,20 @@ # along with this program. If not, see . import os -import subprocess +import secrets +import subprocess # noqa from typing import Dict -from uuid import uuid4 import port_for +from .lock import TEMP_DIR_PATH + def save_password(pw: str) -> str: """Save password in x11vnc format in temporary directory.""" - filename = f"/tmp/rwa/{uuid4()}.pw" - os.makedirs("/tmp/rwa/", exist_ok=True) - p = subprocess.Popen(["x11vnc", "-storepasswd", f"{pw}", filename]) + filename = os.path.join(TEMP_DIR_PATH, f"{secrets.token_urlsafe(20)}.pw") + os.makedirs(TEMP_DIR_PATH, exist_ok=True) + p = subprocess.Popen(["x11vnc", "-storepasswd", f"{pw}", filename]) # noqa p.communicate() return filename @@ -46,10 +48,10 @@ def run_vnc(pw_filename: str) -> Dict[str, Dict[str, int]]: port_vnc = port_for.select_random() # Start VNC process - p = subprocess.Popen(["x11vnc", "-rfbauth", pw_filename, "-rfbport", f"{port_vnc}"]) + p = subprocess.Popen(["x11vnc", "-rfbauth", pw_filename, "-rfbport", f"{port_vnc}"]) # noqa # Start websockify - p2 = subprocess.Popen(f"websockify {port} 127.0.0.1:{port_vnc}", shell=True,) + p2 = subprocess.Popen(["websockify", str(port), f"127.0.0.1:{port_vnc}"]) # noqa return { "ws": {"pid": p2.pid, "port": port}, -- cgit v1.2.3