From 529a9fd460d8ff33a4506db79e641314744ab135 Mon Sep 17 00:00:00 2001 From: Mark Qvist Date: Sun, 26 Jul 2026 17:41:27 +0200 Subject: [PATCH] Cleaned up dead imports. Improved logging. --- RNS/Utilities/rnsh/initiator.py | 3 --- RNS/Utilities/rnsh/listener.py | 3 +-- RNS/Utilities/rnsh/process.py | 16 ---------------- RNS/Utilities/rnsh/rnsh.py | 1 - RNS/Utilities/rnsh/session.py | 7 +++++-- 5 files changed, 6 insertions(+), 24 deletions(-) diff --git a/RNS/Utilities/rnsh/initiator.py b/RNS/Utilities/rnsh/initiator.py index b6fc1c22..6310afde 100644 --- a/RNS/Utilities/rnsh/initiator.py +++ b/RNS/Utilities/rnsh/initiator.py @@ -35,7 +35,6 @@ from __future__ import annotations import asyncio -import base64 import enum import functools import os @@ -53,10 +52,8 @@ import RNS.Utilities.rnsh.exception as exception import RNS.Utilities.rnsh.process as process import RNS.Utilities.rnsh.retry as retry import RNS.Utilities.rnsh.session as session -import re import contextlib -import pwd import bz2 import RNS.Utilities.rnsh.protocol as protocol import RNS.Utilities.rnsh.helpers as helpers diff --git a/RNS/Utilities/rnsh/listener.py b/RNS/Utilities/rnsh/listener.py index 118e70eb..d15609b8 100644 --- a/RNS/Utilities/rnsh/listener.py +++ b/RNS/Utilities/rnsh/listener.py @@ -50,7 +50,6 @@ import RNS.Utilities.rnsh.exception as exception import RNS.Utilities.rnsh.process as process import RNS.Utilities.rnsh.retry as retry import RNS.Utilities.rnsh.session as session -import re import contextlib import pwd @@ -162,7 +161,7 @@ async def listen(configdir, rnsconfigdir, command, identitypath=None, logfile=No session.ListenerSession.allow_remote_command = not no_remote_command _remote_cmd_as_args = remote_cmd_as_args if (_cmd is None or len(_cmd) == 0 or _cmd[0] is None or len(_cmd[0]) == 0) and (_no_remote_command or _remote_cmd_as_args): - raise Exception(f"Unable to look up shell for {os.getlogin}, cannot proceed with -A or -C and no .") + raise Exception(f"Unable to look up shell for {os.getlogin()}, cannot proceed with -A or -C and no .") session.ListenerSession.default_command = _cmd session.ListenerSession.remote_cmd_as_args = _remote_cmd_as_args diff --git a/RNS/Utilities/rnsh/process.py b/RNS/Utilities/rnsh/process.py index 6ff79fa4..eb9b4f52 100644 --- a/RNS/Utilities/rnsh/process.py +++ b/RNS/Utilities/rnsh/process.py @@ -488,8 +488,6 @@ class CallbackSubprocess: self._stdin_is_pipe = stdin_is_pipe self._stdout_is_pipe = stdout_is_pipe self._stderr_is_pipe = stderr_is_pipe - self._at_line_start: bool = True - self._tty_line_buffer: bytearray = bytearray() def _ensure_pipes_closed(self): stdin = self._child_stdin @@ -624,14 +622,6 @@ class CallbackSubprocess: """ RNS.log("start()", RNS.LOG_EXTREME) - # # Using the parent environment seems to do some weird stuff, at least on macOS - # parentenv = os.environ.copy() - # env = {"HOME": parentenv["HOME"], - # "PATH": parentenv["PATH"], - # "TERM": self._term if self._term is not None else parentenv.get("TERM", "xterm"), - # "LANG": parentenv.get("LANG"), - # "SHELL": self._command[0]} - env = os.environ.copy() for key in self._env: env[key] = self._env[key] @@ -639,12 +629,6 @@ class CallbackSubprocess: program = self._command[0] assert isinstance(program, str) - # match = re.search("^/bin/(.*sh)$", program) - # if match: - # self._command[0] = "-" + match.group(1) - # env["SHELL"] = program - # self._log.debug(f"set login shell {self._command}") - self._pid, \ self._child_stdin, \ self._child_stdout, \ diff --git a/RNS/Utilities/rnsh/rnsh.py b/RNS/Utilities/rnsh/rnsh.py index 917d50b7..0fec3028 100644 --- a/RNS/Utilities/rnsh/rnsh.py +++ b/RNS/Utilities/rnsh/rnsh.py @@ -37,7 +37,6 @@ from __future__ import annotations import asyncio -import base64 import re import os diff --git a/RNS/Utilities/rnsh/session.py b/RNS/Utilities/rnsh/session.py index 959d5a7c..b0d3455e 100644 --- a/RNS/Utilities/rnsh/session.py +++ b/RNS/Utilities/rnsh/session.py @@ -43,7 +43,6 @@ import RNS.Utilities.rnsh.protocol as protocol import enum from typing import TypeVar, Generic, Callable, List from abc import abstractmethod, ABC -from multiprocessing import Manager import os import bz2 import RNS @@ -193,11 +192,13 @@ class ListenerSession: RNS.log("Identity received from incorrect outlet", RNS.LOG_DEBUG) return - RNS.log(f"initiator_identified {identity} on link {outlet}", RNS.LOG_INFO) + RNS.log(f"Initiator identified {identity} on link {outlet}", RNS.LOG_INFO) if self.state not in [LSState.LSSTATE_WAIT_IDENT, LSState.LSSTATE_WAIT_VERS]: self._protocol_error(LSState.LSSTATE_WAIT_IDENT.name) + return if self.allow_all or identity.hash in self.allowed_identity_hashes or identity.hash in self.allowed_file_identity_hashes: + RNS.log(f"Identity {identity} authenticated") self.authenticated = True self.remote_identity = identity self._set_state(LSState.LSSTATE_WAIT_VERS) @@ -205,6 +206,7 @@ class ListenerSession: else: self.authenticated = False self.terminate("Identity not allowed") + RNS.log(f"Identity {identity} not allowed") @classmethod async def pump_all(cls) -> True: @@ -328,6 +330,7 @@ class ListenerSession: def stderr(data: bytes): self.stderr_buf.extend(data) try: + RNS.log(f"Remote {self.remote_identity} executing: {self.cmdline}", RNS.LOG_VERBOSE) self.process = process.CallbackSubprocess(argv=self.cmdline, env={"TERM": self.term or os.environ.get("TERM") or "xterm", "RNS_REMOTE_IDENTITY": (RNS.prettyhexrep(self.remote_identity.hash)