Kovid Goyal
04ead526b9
Presend data on slave connections since for these SSH does not use the TTY
2022-03-15 20:09:05 +05:30
Kovid Goyal
ce1e22ac95
Have *_with_cwd work with the ssh kitten to open new windows auto-logged into the remote server at the current remote working directory
2022-03-15 19:59:16 +05:30
Kovid Goyal
a216f6bd46
ssh doesnt use askpass even if DISPLAY is set
...
It only uses askpass if not connected to a terminal
2022-03-15 17:27:57 +05:30
Kovid Goyal
c47e5372b5
native askpass should be used when requested
2022-03-15 15:54:48 +05:30
Kovid Goyal
daa673eff1
Make usage of need_to_request_data clearer
2022-03-15 15:51:49 +05:30
Kovid Goyal
5099dd6aa3
Only use kitty's askpass if DISPLAY is set or OpenSSH is new enough to support SSH_ASKPASS_REQUIRE
2022-03-15 15:47:02 +05:30
Kovid Goyal
868d57b818
...
2022-03-15 12:00:17 +05:30
Kovid Goyal
6057c57ea4
Fix garbage removal pafter SSH failure not working on macOS when run more than once
2022-03-15 11:57:28 +05:30
Kovid Goyal
e8437fd435
Make reading garbage more robust
2022-03-15 11:51:46 +05:30
Kovid Goyal
9e317971b4
Simplify garbage clear logic
2022-03-15 11:41:59 +05:30
Kovid Goyal
54c5faa12d
Simplify hostname matching
...
Now that we load the opts upfront, we can have load_config return the
final opts object itself
2022-03-15 11:25:21 +05:30
Kovid Goyal
9b0bd81661
Ignore hostname directives when using overrides
2022-03-15 10:38:03 +05:30
Kovid Goyal
52da68876d
Use a zero mtime for data.sh
...
Its a temp file and that way no chance of the time being in the future
2022-03-15 10:30:15 +05:30
Kovid Goyal
2a50203fcd
...
2022-03-14 13:44:18 +05:30
Kovid Goyal
90561682cf
Make using kitty askpass optional
2022-03-14 11:38:31 +05:30
Kovid Goyal
be8bfbe370
Refactor launch sequence in preparation for optionising it
2022-03-14 10:40:07 +05:30
Kovid Goyal
f7e4447b66
Dont transmit sensitive data unless actually needed
2022-03-13 15:43:14 +05:30
Kovid Goyal
df4e58bc39
Improve disposal of garbage data on ssh failure
2022-03-13 15:37:46 +05:30
Kovid Goyal
2b06ca5e1a
ssh kitten: Send data without a roundtrip
...
Send data to the remote side without waiting for a data request. Avoids
an extra roundtrip during initialization.
2022-03-13 13:55:30 +05:30
Kovid Goyal
e1504c4775
Avoid needing to initialize tty state in bootstrap scripts
2022-03-13 13:55:30 +05:30
Kovid Goyal
74f0057ec8
Dont change tty state to raw
...
Just turn off echo. Makes the code much simpler, can just use shell
builtin POSIX read function.
2022-03-13 13:55:30 +05:30
Kovid Goyal
b2e74e4830
Switch to using the hostname from the CLI for settings
...
This removes the need to wait for data from the remote machine
before sending data to it.
2022-03-13 13:55:30 +05:30
Kovid Goyal
f54a3e8036
Make requesting data optional
2022-03-13 13:55:30 +05:30
Kovid Goyal
ea74add814
ssh kitten: Restore terminal state after running ssh
2022-03-12 15:48:52 +05:30
Kovid Goyal
76de99a5a8
Use a custom askpass implementation
...
Keeps OpenSSH from using the tty hopefully allowing us to start sending
data without needing to wait for the remote side to request it.
2022-03-11 16:44:08 +05:30
pagedown
740e787f54
...
2022-03-11 17:28:29 +08:00
pagedown
bd87d50948
Remove the ssh folder in cache_dir
2022-03-11 16:47:03 +08:00
pagedown
d3c0c422a5
Add user uid suffix to tmp runtime dir symlink
2022-03-11 15:42:52 +08:00
Kovid Goyal
f080871911
Update the idiotic design symlink atomically
2022-03-11 07:54:16 +05:30
Kovid Goyal
c9ef5c0715
Avoid a race in creating the idiotic_design symlink
2022-03-11 07:37:44 +05:30
Kovid Goyal
f2d6ba8775
Workaround for socket path too long on macOS
2022-03-10 22:50:26 +05:30
Kovid Goyal
f774841ee0
More robust copying of terminfo
...
Dont use symlinks in the tarball, instead create them
in the bootstrap scripts, only if needed.
2022-03-10 21:08:20 +05:30
Kovid Goyal
c23e04fd03
DRYer
2022-03-10 15:37:10 +05:30
Kovid Goyal
f67009f554
Flush the write to shm explicitly
2022-03-10 15:01:58 +05:30
Kovid Goyal
31d9db7e74
Use XDG_RUNTIME_DIR to store control master sockets
...
On Linux this has the advantage that the dir is auto cleaned on reboot
2022-03-10 12:51:21 +05:30
Kovid Goyal
384c56f834
When using control masters also enable keep alives
...
Prevents the master connection from becoming stale. Use ssh protocol
keep alives rather than tcp ones as tcp ones are often blocked by
firewalls and also spoofable.
2022-03-10 11:48:36 +05:30
Kovid Goyal
920086ae88
unlink SHM file at end of each individual test
2022-03-10 10:57:36 +05:30
Kovid Goyal
4c392426f6
Get shared memory based data transfer working
2022-03-10 10:46:04 +05:30
Kovid Goyal
20962d989f
Use POSIX shm to pass ssh data to kitty
2022-03-10 06:55:21 +05:30
Kovid Goyal
aa4d36cc57
Use secrets to generate the random password
2022-03-10 06:11:58 +05:30
Kovid Goyal
8d119f06b3
Force restrictive permissions on file used to pass ssh data to kitty
2022-03-10 05:30:47 +05:30
Kovid Goyal
708c5126b9
Return the data cookie settings when generating the bootstrap script
2022-03-09 22:18:04 +05:30
Kovid Goyal
577de9f746
ssh kitten: Start work on connection sharing
...
Basic sharing works. Now investigate if we can eliminate the round-trip
latency by transmitting the data without waiting for the start message
when using a shared connection
2022-03-09 19:27:38 +05:30
Kovid Goyal
38a70f5b51
...
2022-03-09 15:31:19 +05:30
Kovid Goyal
118306a9ff
Avoid an extra process hanging around when running the interpreter on the remote machine
2022-03-09 15:29:57 +05:30
pagedown
d29fa7b382
ssh kitten: Add FreeBSD tcsh (csh) support
...
Replace line feeds and exclamation marks for tcsh compatibility.
2022-03-09 16:11:58 +08:00
Kovid Goyal
53b1607c4d
When testing ssh kitten launch the bootscrapt script the same way sshd does it
2022-03-09 11:25:02 +05:30
Kovid Goyal
2341a27f63
...
2022-03-08 23:05:42 +05:30
Kovid Goyal
0661caf9da
DRYer
2022-03-08 23:04:58 +05:30
Kovid Goyal
5b5bd77c53
ssh kitten: Fix not working when user's login shell is fish
2022-03-08 22:39:31 +05:30