Commit Graph

256 Commits

Author SHA1 Message Date
Kovid Goyal
a1f2a7df4d Port new shlex code to Go 2023-12-04 14:14:11 +05:30
Kovid Goyal
77292a16d6 Make shebangs consistent
Follow PEP 0394 and use /usr/bin/env python so that the python in the
users venv is respected. Not that the kitty python files are meant to be
executed standalone anyway, but, whatever.

Fixes #6810
2023-11-11 08:32:05 +05:30
Kovid Goyal
8dfe1fcca9 Ensure clenup is run even when ssh child is killed by interrupt 2023-11-06 22:02:06 +05:30
Kovid Goyal
bd5fcb00e0 Fix regression that broke quick exit from ssh kitten 2023-11-06 21:22:41 +05:30
Kovid Goyal
bc1da5525e ssh kitten: Fix restore state not being called after interrupt 2023-11-05 08:38:04 +05:30
Kovid Goyal
d113a6c2cf ssh kitten: Fix a regression that broken ctrl+space mapping in zsh
Fixes #6780
2023-11-03 07:16:07 +05:30
Kovid Goyal
0300a355d0 update docs for remote_kitty 2023-10-18 17:31:44 +05:30
Kovid Goyal
b21bbbe14c Fix ssh kitten override parsing ignoring settings inherited from ssh.conf
Fixes #6639
2023-09-20 09:15:38 +05:30
Kovid Goyal
18e5b74699 More linter fixes 2023-09-20 08:43:50 +05:30
Kovid Goyal
1a32e62ebf More linter fixes 2023-09-18 21:07:39 +05:30
Kovid Goyal
73b1e3b8a1 SSH does not parse port from hostname when not using a ssh:// URL 2023-09-09 09:33:47 +05:30
Kovid Goyal
6fef176918 Add some tests for uname/hname parsing 2023-09-08 16:23:09 +05:30
Kovid Goyal
af4213579c ssh kitten: Fix a regression causing hostname directives in ssh.conf not matching when username is specified 2023-09-08 15:10:46 +05:30
Jake Stewart
8754d80832 add tests for go config parser 2023-09-03 16:39:27 +08:00
Kovid Goyal
0be1295023 kitten run-shell: Make kitty terminfo database available if needed before starting the shell 2023-09-01 22:05:26 +05:30
Kovid Goyal
4f72bb9894 Replace utils.Once with stdlib sync.OnceValue 2023-08-09 12:08:42 +05:30
Kovid Goyal
1f9852d76c ssh kitten: Easily forward the remote control socket tot he remote host 2023-08-04 14:36:50 +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
092e0fba2c Work on code to run shells from a kitten with shell integration 2023-06-25 19:27:43 +05:30
Kovid Goyal
99012d2659 ssh kitten: Allow configuring the ssh kitten to skip some hosts via a new `delegate` config directive 2023-06-24 09:27:53 +05:30
Kovid Goyal
707cefd78a ssh kitten: When both passthrough args and --kitten args are present dont fail just ignore the kitten args 2023-06-24 09:14:25 +05:30
olzhasar
d0a5d1b3a4 Fix misspellings 2023-06-14 03:39:53 +06:00
Kovid Goyal
e59e42a6c2 simplify API of utils.Once 2023-05-26 22:42:07 +05:30
Kovid Goyal
a1d791083b ssh_kitten: Proper exit code for termination by SIGINT 2023-05-08 16:27:07 +05:30
Kovid Goyal
454acd4f5c ssh kitten: Fix a regression in 0.28.0 that caused interrupt during setup to not be handled gracefully
Fixes #6254
2023-05-08 16:18:05 +05:30
Kovid Goyal
93a5107e79 Fix #6202 2023-04-21 21:35:59 +05:30
Kovid Goyal
6269f78ed2 Make it clearer that exclude operates only on directories 2023-04-18 09:22:34 +05:30
Kovid Goyal
92e68a6e0c Fix #6193 2023-04-18 09:05:28 +05:30
Kovid Goyal
ff55121094 Move the kittens Go code into the kittens folder 2023-03-27 13:06:02 +05:30
pagedown
2416122647 ... 2023-03-14 14:30:11 +08:00
Kovid Goyal
00b3437a05 Remove python implementation of SSH kitten 2023-02-28 12:42:30 +05:30
Kovid Goyal
6de77ce987 Clean up exclude pattern handling 2023-02-26 09:12:12 +05:30
Kovid Goyal
5cc3d3cbfe Fix remaining failing tests 2023-02-26 08:01:04 +05:30
Kovid Goyal
e4002b5691 Switch to a more capable glob implementation that supports ** 2023-02-26 08:01:04 +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
9870c94007 More work on porting the SSH kitten 2023-02-26 08:01:03 +05:30
Kovid Goyal
747411be00 Finish implementation of config file parsing
Still needs tests
2023-02-26 08:01:01 +05:30
Kovid Goyal
32aa580984 Store parsed multi option values on the config object 2023-02-26 08:01:01 +05:30
Kovid Goyal
1470b11024 Dont parse default values 2023-02-26 08:01:01 +05:30
Kovid Goyal
5822bb23f0 Work on porting config file parsing to Go 2023-02-26 08:01:01 +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
3a126ffa9d Restore permissions check on pwfile
just use RW instead of R as the expected mode
2023-01-26 08:48:35 +05:30
Kovid Goyal
dd6e206f9b Remove unused import 2023-01-26 08:29:37 +05:30
Loren Schlomer
366d65f592 Fixes the ssh kitten
kovidgoyal@5e645a7 fixes the password file creation, allowing it to be
unlinked, but read_data_from_shared_memory/1 rejects the shared object
if it is not read only, and will break the ssh kitten for all
platforms.

This change removes the read only check, relying only on the file
ownership check.

This fully fixes #5928

Signed-off-by: Loren Schlomer <me@schlomie.com>
2023-01-25 11:14:12 -08:00
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
6b8e5ea225 Rename kitty-tool to kitten
It's easier to type, and cuter.

Also, most, if not all of the TUI parts of
kitty's kittens will eventually be re-written into kitten.

The only downside I can see is that we cant tab complete kitty
anymore, but hopefully there will be less reason to run kitty
from the shell as command line tools migrate to kitten.

Meowrrrr!!!
2023-01-14 15:44:52 +05:30
Kovid Goyal
6e41409a3f Dont run isort on generated conf files 2023-01-09 16:51:59 +05:30
Kovid Goyal
7fe5d7b58f Replace isort with ruff 2023-01-09 16:47:42 +05:30