diff options
author | Jonathan Weth <git@jonathanweth.de> | 2021-06-23 14:39:01 +0200 |
---|---|---|
committer | Jonathan Weth <git@jonathanweth.de> | 2021-06-23 14:39:01 +0200 |
commit | 3cf9c8b9ef994b8341b3c19bb4458c198a51992c (patch) | |
tree | b7fad96786ac2924842559dd9631bcd90d622ce8 /rwa/support/sessionservice/vnc.py | |
parent | ed1d15aa02b3c7c1350a5204861d1f8678550fbb (diff) | |
download | RWA.Support.SessionService-3cf9c8b9ef994b8341b3c19bb4458c198a51992c.tar.gz RWA.Support.SessionService-3cf9c8b9ef994b8341b3c19bb4458c198a51992c.tar.bz2 RWA.Support.SessionService-3cf9c8b9ef994b8341b3c19bb4458c198a51992c.zip |
Introduce and apply reformat/lint
Diffstat (limited to 'rwa/support/sessionservice/vnc.py')
-rw-r--r-- | rwa/support/sessionservice/vnc.py | 16 |
1 files changed, 9 insertions, 7 deletions
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 <https://www.gnu.org/licenses/>. 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}, |