20 Commits

Author SHA1 Message Date
Kovid Goyal e414483264 Sanitize ssh kitten shm open error message when sending over tty
This prevents sending attacker controlled data over the tty where it
might end up getting evaled by the shell if the user is doing something
like cat of unsanitized data into the terminal (something that should
never be done).
2026-04-24 17:25:00 +05:30
Kovid Goyal ba0cc0fa2c save_as_session: Implement saving of foreground process for remote shells run via ssh kitten 2025-08-22 21:14:33 +05:30
Kovid Goyal 1a25ca1545 Fix setting env vars in kssh cmdline that has no kitten directives 2025-08-22 20:56:41 +05:30
Kovid Goyal 62580c855b Make mypy 1.16 happy 2025-05-30 10:06:38 +05:30
Kovid Goyal da1626090a Update codebase to Python 3.10 using pyupgrade 2025-02-03 10:56:50 +05:30
Kovid Goyal c07037b558 ... 2025-01-05 12:58:34 +05:30
Kovid Goyal 334adf9c1a Ensure temp files and other resources are cleaned up even if kitty crashes or is SIGKILLed 2025-01-05 12:51:59 +05:30
Kovid Goyal 40d1781404 Fix #7688 2024-08-04 17:18:31 +05:30
Kovid Goyal 5f809bf249 Get kitty building with the new VT parser 2024-02-25 09:57:22 +05:30
Kovid Goyal e363303359 Nicer error message for pwfile owner/permission mismatch 2023-07-13 21:26:29 +05:30
Kovid Goyal a1e5b72ca5 Remote control launch: Fix --env not implemented when using --cwd=current with the SSH kitten
Fixes #6438
2023-07-11 09:22:15 +05:30
Kovid Goyal 00b3437a05 Remove python implementation of SSH kitten 2023-02-28 12:42:30 +05:30
Kovid Goyal 525caff938 Move get_connection_data to utils module as it is not needed for the actual kitten 2023-02-26 08:01:03 +05:30
Kovid Goyal 7c8c7fe3a2 launch: When using --cwd=current for a remote system support running non shell commands as well 2023-02-08 17:52:28 +05:30
Kovid Goyal 244507336b Function to change the remote command in an ssh kitten cmdline 2023-02-08 16:34:33 +05:30
Kovid Goyal dd6e206f9b Remove unused import 2023-01-26 08:29:37 +05:30
Kovid Goyal 5e645a7be7 Fix ssh kitten not working on FreeBSD
Apparently on FreeBSD one cannot unlink shared mem if it is not created
with write permissions.

Adding IWRITE to the permissions when creating the shared memory is
harmless. It means any process running as the user can either write to
the file or delete it. Deleting was already possible except on FreeBSD.
As for writing, it's needed on FreeBSD for shared memory to be useable
at all, and since processes running as the user can already completely
access all their data, kitty config files, tty pipes, etc. allowing them
to write to the SHM used here doesnt grant any significant new
capability, since they could just write to ssh.conf in the kitty config
folder to get the ssh kitten to do whatever they like.

Fixes #5928
2023-01-25 23:34:31 +05:30
Kovid Goyal 9be68966b4 Also detect ssh kitten run as an overlay 2022-06-08 18:53:54 +05:30
Kovid Goyal 55eeb9c11e Dont import kitty.complete in ssh.main 2022-06-02 08:08:33 +05:30
Kovid Goyal bba1455e28 Dont import all of the ssh kitten just to detect commandlines 2022-05-18 15:58:06 +05:30