From f78d08f0d83772a007f837d2b5b772c6d4ef87e1 Mon Sep 17 00:00:00 2001 From: Jan Lindemann Date: Thu, 16 Apr 2026 19:41:04 +0200 Subject: [PATCH] lib.ec.ssh.Exec: Fix cmd_input == None cmd_input is passed as None to _run(), which is legal, but then used in a call to cmd_run(), which is a public API and, hence, illegal. Fix that. Signed-off-by: Jan Lindemann --- src/python/jw/pkg/lib/ec/ssh/Exec.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/python/jw/pkg/lib/ec/ssh/Exec.py b/src/python/jw/pkg/lib/ec/ssh/Exec.py index c434ff39..c566f9e2 100644 --- a/src/python/jw/pkg/lib/ec/ssh/Exec.py +++ b/src/python/jw/pkg/lib/ec/ssh/Exec.py @@ -2,6 +2,7 @@ from __future__ import annotations from typing import TYPE_CHECKING +from ...base import InputMode from ...util import run_cmd from ..SSHClient import SSHClient as Base from .util import join_cmd @@ -40,5 +41,6 @@ class Exec(Base): async def _run_ssh(self, cmd: list[str], cmd_input: bytes|None, *args, **kwargs) -> Result: self.__init_askpass() + if cmd_input is None: + cmd_input = InputMode.Interactive if self.interactive else InputMode.NonInteractive return await run_cmd(['ssh', self.hostname, join_cmd(cmd)], cmd_input=cmd_input, interactive=self.interactive, throw=False) -