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 <jan@janware.com>
This commit is contained in:
Jan Lindemann 2026-04-16 19:41:04 +02:00
commit f78d08f0d8

View file

@ -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)