1
1
mirror of https://github.com/wez/wezterm.git synced 2024-11-30 14:49:26 +03:00
Commit Graph

4407 Commits

Author SHA1 Message Date
Wez Furlong
1f073db776 ssh: flatten out session module 2021-10-19 20:33:30 -07:00
Wez Furlong
75f946c22c ssh: split SessionWrap out 2021-10-19 20:33:30 -07:00
Wez Furlong
65eaa44b0d ssh: split FileWrap out 2021-10-19 20:33:30 -07:00
Wez Furlong
e8b83b29c9 ssh: split ChannelWrap out 2021-10-19 20:33:30 -07:00
Wez Furlong
228df03059 ssh: move sftp module to top level
was getting too deep in there!
2021-10-19 20:33:30 -07:00
Wez Furlong
44bbfd2894 ssh: split SessionInner, out 2021-10-19 20:33:30 -07:00
Wez Furlong
bd47566681 ssh: Improve some logging/diagnostics 2021-10-19 20:33:30 -07:00
Wez Furlong
a8b64a2756 Run with libssh
This works, but on macOS, there is a segfault in openssl when the
session is closed... I'm going to try this on Linux to see if it
is consistent behavior and ponder next steps.
2021-10-19 20:33:30 -07:00
Wez Furlong
0bf50924b1 ssh: stub out libssh impl 2021-10-19 20:33:30 -07:00
Wez Furlong
f1e5c59566 ssh: introduce wrapper enum
This is a pre-cursor step to adding libssh support
2021-10-19 20:33:30 -07:00
Wez Furlong
24875004f6 add canonicalize_pasted_newlines config option
refs: #1213
2021-10-17 13:14:16 -07:00
Wez Furlong
3b12aa1038 mux: mux_env_remove config to control which env var are removed
closes: #1225
2021-10-17 12:46:16 -07:00
Wez Furlong
32d18905cc Add wezterm.background_child_process 2021-10-17 10:37:47 -07:00
Wez Furlong
cf58d5b696 docs: add categories to changelog
Just a quick first-pass for @bew :-)
2021-10-17 10:14:25 -07:00
Wez Furlong
c3c7ac3a58 docs: changelog for #1222 2021-10-17 10:05:05 -07:00
Wez Furlong
9d5a8ec7e8 mux: fix local/remote tab tracking
The issue here is that when spawning a new tab in the mux client,
we didn't record the local/remote tab id mapping.

Subsequently, when processing the overall list of tabs, we'd realize
that the mapping was missing and allocate a new local tab to act
as the holder for the existing remote tab and end up with a strange
aliased view of the tab in a second tab!

This commit establishes that mapping at the time that we spawn
the new pane.

refs: https://github.com/wez/wezterm/issues/1222
2021-10-17 09:52:19 -07:00
Wez Furlong
fb50014ed5 mux: avoid inheriting wrong pane/socket env
The first problem in #1222 is that the environment in the spawned
mux server has inherited the unix socket path from the GUI that
is the client, rather than the mux server.

That means that `wezterm cli` is operating on the mux namespace
of the client (which is a layered/wrapped view of the mux server),
rather than the mux server.

This fixes `wezterm cli split-pane` in the case where unix domains
are in use together with `connect_automatically = true`, although
there is still a really weird issue with tabs that needs to be
run down.

refs: https://github.com/wez/wezterm/issues/1225 (sort of)
refs: https://github.com/wez/wezterm/issues/1222
2021-10-17 09:44:23 -07:00
Wez Furlong
e7fc5f0e9e fix: whole tab terminated when only zoomed pane exited
closes: https://github.com/wez/wezterm/issues/1235
2021-10-17 08:34:35 -07:00
Wez Furlong
d461c1c0b6 deps: lru 0.6 -> 0.7 2021-10-10 19:29:42 -07:00
Wez Furlong
ebd938cadf cargo update 2021-10-10 19:15:00 -07:00
Wez Furlong
52d18d4564 docs: changelog for *BSD toast notifications
https://github.com/wez/wezterm/issues/489
2021-10-10 17:20:36 -07:00
Wez Furlong
774f845289 Enable toast notifications on freebsd
refs: https://github.com/wez/wezterm/issues/489
2021-10-10 17:18:52 -07:00
Wez Furlong
d635512138 wezterm-ssh: restore dep after cargo publish 2021-10-10 16:38:03 -07:00
Wez Furlong
163783f483 wezterm-ssh: prep for cargo publish 2021-10-10 16:35:12 -07:00
Wez Furlong
2da43e3666 ssh: unwrap -> error handling
The port number is guaranteed to be set in the config parser,
just like for the host and user, so the unwrap is "OK", but it's
less brittle to handle the error consistent with the others here.
2021-10-10 15:03:21 -07:00
Wez Furlong
f23e43c0c7 fonts: also allow matching family against other languages
A user reported a problem matching `等距更纱黑体 SC` against
a font that wezterm thought was really named `Sarasa Mono SC`.

This commit attempts to match against other language names,
although the Sarasa font that I found on the MS store doesn't
return `等距更纱黑体` in any of the additional SFNT name tables,
so this isn't a successful change.
2021-10-10 14:59:20 -07:00
Chip Senkbeil
56c366cc45 Remove Metadata::len and Metadata::is_readonly; replace sftp unwrap() with expect() 2021-10-10 14:54:45 -07:00
Chip Senkbeil
2415a44d74 Switch to camino::{Utf8PathBuf, Utf8Path} 2021-10-10 14:54:45 -07:00
Chip Senkbeil
1ff2a1eb82 Add bitflags type safety to sftp flags 2021-10-10 14:54:45 -07:00
Chip Senkbeil
d15789d2c0 Finish refactoring names of methods based on wez feedback 2021-10-10 14:54:45 -07:00
Chip Senkbeil
c3516341cb Apply renames from code review (needs full refactoring)
Co-authored-by: Wez Furlong <wez@wezfurlong.org>
2021-10-10 14:54:45 -07:00
Chip Senkbeil
9a8a0f35e7 Update realpath test to support error or ok 2021-10-10 14:54:45 -07:00
Chip Senkbeil
0cc426df7d Reenable PAM as Fedora was complaining about it being disabled 2021-10-10 14:54:45 -07:00
Chip Senkbeil
4befffccd4 Add ignore attr to non-linux/non-macos tests 2021-10-10 14:54:45 -07:00
Chip Senkbeil
7d5c301c66 Ensure /run/sshd exists, explicitly set username in sshd fixture, add back use_privilege_mode no 2021-10-10 14:54:45 -07:00
Chip Senkbeil
d98a2cbbc2 Remove deprecated privilege separation from sshd 2021-10-10 14:54:45 -07:00
Chip Senkbeil
1dd3d5cdf0 Update tests to generate keys using old PEM format 2021-10-10 14:54:45 -07:00
Chip Senkbeil
68fd2035cd Rebase and re-apply openssh-server addition to CIs 2021-10-10 14:54:45 -07:00
Chip Senkbeil
072bb1c470 Create SftpError type and associated structs to provide more verbose errors for sftp 2021-10-10 14:54:45 -07:00
Chip Senkbeil
4a0376e6de Refactor exposed ssh2 types to wrapper types 2021-10-10 14:54:45 -07:00
Chip Senkbeil
86c307a214 Add tests for File::readdir and File::stat; change .cirrus.yml to set home directory permissions 2021-10-10 14:54:45 -07:00
Chip Senkbeil
2e19344b22 Add drop impl to file struct; add missing file methods (untested) 2021-10-10 14:54:45 -07:00
Chip Senkbeil
50a0372e17 Fix file asyncread and asyncwrite future handling by keeping stateful futures 2021-10-10 14:54:45 -07:00
Chip Senkbeil
35043e9341 Fix four failing tests and clean up sshd setup to not require ssh-add 2021-10-10 14:54:45 -07:00
Chip Senkbeil
d797b3f27e Add tests for remaining sftp methods off of sftp channel -- 4 are failing 2021-10-10 14:54:45 -07:00
Chip Senkbeil
ec09a6ab68 Add tests for stat and lstat 2021-10-10 14:54:45 -07:00
Chip Senkbeil
dc61ba2774 Add a couple more tests for sftp to cover mkdir and rmdir 2021-10-10 14:54:45 -07:00
Chip Senkbeil
259ac04ce5 Refactor sftp interaction into a separate struct that uses SessionSender underneath 2021-10-10 14:54:45 -07:00
Chip Senkbeil
fca3bd6904 Add some initial tests to wezterm-ssh, ignoring read/write of file as those are hanging 2021-10-10 14:54:45 -07:00
Chip Senkbeil
23fd145ceb Rewrite File to be smol::io::{AsyncRead, AsyncWrite} 2021-10-10 14:54:45 -07:00