Commit Graph

51 Commits

Author SHA1 Message Date
Chip Senkbeil
ea0424e2f4
Feat: set permissions support (#184) 2023-05-27 02:02:59 -05:00
Chip Senkbeil
398aff2f12
Rename distant-core::data to distant-core::protocol and remove distant-core::data::{Msg, Request, Response} from being re-exported at crate root 2023-05-18 08:49:18 -05:00
Chip Senkbeil
b8fecaacc0
Apply nightly formatting to reorder imports and use module-level import granularity 2023-05-16 15:46:24 -05:00
Chip Senkbeil
4b983b0229
Refactor into unified settings (#172) 2023-04-22 02:40:21 +02:00
Chip Senkbeil
cfee78c2da
Bump more dependencies and fix tests for capabilities table and search results that use tabled 2023-03-31 22:15:25 -05:00
Chip Senkbeil
27dc5775f9
Update ssh launch to use pty (#157) 2022-12-11 04:15:26 -06:00
Chip Senkbeil
9b2f0de0c5
Reenable cli tests on windows (#156)
Also fixes a failing Windows test that has different behavior than Linux/Unix
2022-12-11 00:05:18 -06:00
Chip Senkbeil
ee50eaf9b3
Add heartbeat support (#153)
* Update to support zero-size frame items

* Add heartbeat functionality with client reconnecting logic

* Fix connection reauthentication failures preventing future reauthentication

* More logging

* Remove persist

* Update connection logic to have server take on client id rather than having client take on server id during reconnect

* Bump minimum rust version to 1.64.0

* Bump to v0.20.0-alpha.3 and fix clippy warnings

* Update cargo.lock
2022-11-27 12:38:53 -06:00
Chip Senkbeil
4798b67dfe
Rewrite to support custom authentication, handshakes for encryption/compression, and reconnecting (#146) 2022-11-19 20:27:49 -06:00
Chip Senkbeil
cae6c5e244
Refactor SearchQuery to support multiple paths at once 2022-08-30 02:50:58 -07:00
Chip Senkbeil
01610a3ac7
Add search support (#131) 2022-08-30 01:47:23 -07:00
Chip Senkbeil
53fd8d0c4f
Add capabilities support to server and manager 2022-08-28 18:30:36 -05:00
Chip Senkbeil
591cd6ff41
Fix ssh launch login shell using sh on windows; update shell cli to use default shell from system info before defaulting 2022-08-25 01:56:50 -05:00
Chip Senkbeil
dde3cb275f
Fix dir read tests for cli action 2022-08-09 17:27:02 -07:00
Chip Senkbeil
33a30d98f0
Correct shutdown double panic 2022-08-09 00:24:39 -07:00
Chip Senkbeil
94326618c3
Try adding multiple attempts to launch server for cli 2022-08-09 00:17:27 -07:00
Chip Senkbeil
ea2e128bc4
Refactor to use distant manager (#112) 2022-08-08 01:10:32 -05:00
Chip Senkbeil
baee1e2bfa
Fix watch tests for linux & bump dependency versions (#104)
* Fix #90
* Fix #103
* Update dependencies
2022-06-04 17:01:47 -05:00
Chip Senkbeil
268ec948d6
Add filesystem watching & remove distant-lua (#102) 2022-03-30 19:32:20 -05:00
Chip Senkbeil
0308343794
Rename detached to persist (#94) 2022-02-04 23:22:09 -06:00
Chip Senkbeil
050bb3496a
Complete shell support (#89) 2022-01-31 20:44:37 -06:00
Chip Senkbeil
c6c07c5c2c
Unfinished pty support, renaming ProcRun -> ProcSpawn and ProcStarted -> ProcSpawned, switch ProcStdin/ProcStdout/ProcStderr to use Vec<u8> instead of String, update RemoteProcess and RemoteLspProcess to support reading/writing string and vec<u8> 2021-12-19 23:48:22 -06:00
Chip Senkbeil
8c234f95d0
Support json ssh auth (#83)
* Add support for JSON communication of ssh auth during launch
* Switch to cbor alternative lib as serde cbor has been abandoned
* Refactor some request & response types to work with new cbor lib
* Update cli to always include serde dep
* Expose origin_id of remote process as method
2021-12-12 15:32:13 -06:00
Chip Senkbeil
043ae6ca4b
Couple of changes:
1. Add support to detach processes from distant server
2. Refactor distant_bin and distant_args to distant.bin and distant.args
3. Add use_login_shell option for launch distant opts
2021-10-10 15:05:04 -05:00
Chip Senkbeil
4cb5ba3b98
Fix tests 2021-10-09 19:24:59 -05:00
Chip Senkbeil
97536c7b2b
Refactor Metadata and SystemInfo response data types to support subtypes as singular parameters 2021-09-29 10:54:37 -05:00
Chip Senkbeil
0a11ec65a2
Add native ssh (#57)
* Bump to 0.15.0
* Add new distant-ssh2 subcrate to provide an alternate session as an ssh client
* Add rpassword & wezterm-ssh dependencies
* Rename core -> distant-core in project directory structure and move ssh2 feature into distant-ssh2 crate
* Upgrade tokio to 1.12,
* Update github actions to detect changes and apply testing for only those changes
* Add method parameter to support distant & ssh methods for action and lsp subcommands
* Add ssh-host, ssh-port, and ssh-user parameters to specify information for ssh method
2021-09-28 00:04:26 -05:00
Chip Senkbeil
32639166bc
Refactor codebase to support Minimum Supported Rust Version (MSRV) of 1.51.0 (#55) 2021-09-19 13:18:17 -05:00
Chip Senkbeil
2277f9634d
Replace DISTANT_AUTH_KEY with DISTANT_KEY for environment variable parsing 2021-09-18 21:49:21 -05:00
Chip Senkbeil
c4d1011b14
Add session ext (#53)
* Add `SessionExt` trait for friendlier methods
* Create `Mailbox` and internal `PostOffice` to manage responses to requests
* Refactor `Session` to use a new `SessionChannel` underneath
* Refactor `Response` to always include an origin_id field instead of being optional
* Update `ProcStdout`, `ProcStderr`, and `ProcDone` to include origin id
* Replace `verbose` option with `log-level`
2021-09-18 20:06:57 -05:00
Chip Senkbeil
e4273a1be9
Refactor codec (#47)
* Remove DistantCodec
* Add Codec trait to support encode & decode
* Add XChaCha20Poly1305 dependency in place of orion
* Add XChaCha20Poly1305Codec that encrypts/signs using XChaCha20Poly1305
* Add PlainCodec that does no encrypting/signing
* Refactor Transport to take generic Codec
* Rewrite to no longer use blake256
* Remove k256 dependency
* Remove Transport::from_handshake as no longer doing EDCH key exchange
* Fix stdout/stderr being sent before proc_start by adding post_hook support to handler such that proc_run tasks are not spawned until proc_start is sent as response
* Remove unneeded else if condition when checking join error type
2021-09-14 12:54:45 -05:00
Chip Senkbeil
35fa1197da
Update remote process execution to automatically disabling logging to console; add sleep before checking file write/append results to account for delays from OS 2021-09-09 08:34:31 -05:00
Chip Senkbeil
1fa0494e03
Provide more stable test for proc stdin 2021-09-08 23:22:49 -05:00
Chip Senkbeil
756b87a8ae
Fix json format for interactive proc run requests 2021-09-08 22:06:42 -05:00
Chip Senkbeil
34d6b574c1
Fix clippy warnings, fix rustfmt, refactor proc-run tests to use generated scripts instead of script files 2021-09-05 17:20:47 -05:00
Chip Senkbeil
9bd2112344
Refactor listener (#38)
* Finish implementing new listener logic

* Refactor cli tests to work with new format

* Implement tests for remote process

* Fix bugs in LSP stdout, stderr, and stdin

* Add tests for LSP remote process

* Update metadata request & response to support resolving the file type of symlinks
2021-09-03 23:49:37 -05:00
Chip Senkbeil
22829d9cc8
Implement remaining tests for server::handler, fix process cleanup in server state when terminates, fix symlink evaluation for metadata 2021-08-31 17:02:45 -05:00
Chip Senkbeil
cf0193edc9
Add some extra logging and complete proc-run cli tests 2021-08-30 22:46:51 -05:00
Chip Senkbeil
fc1c262f55
Fix some proc issues, but proc tests still not fully passing 2021-08-30 01:01:08 -05:00
Chip Senkbeil
f66a234873
Unfinished tests for proc-run cli 2021-08-29 21:04:09 -05:00
Chip Senkbeil
2e2dfa3a46
Add cli metadata tests 2021-08-29 19:39:37 -05:00
Chip Senkbeil
e3cfbd5968
Refactor exists to print true/false in shell format 2021-08-29 19:11:21 -05:00
Chip Senkbeil
cab0fe0875
Add tests for cli dir-read, dir-create, remove, and copy 2021-08-29 18:33:25 -05:00
Chip Senkbeil
32150f0956
Fix file-write and file-append not parsing input correctly 2021-08-29 16:47:00 -05:00
Chip Senkbeil
da08d2db4f
Refactor test folder structure for cli tests and add file_read_text tests 2021-08-29 13:17:41 -05:00
Chip Senkbeil
8cdc9f271d
Refactor distant binary to yield software exit code when oneoff operation fails 2021-08-29 13:04:49 -05:00
Chip Senkbeil
5d0a352414
Refactor tests to receive ctx ref instead of ctx (twice as slow, but check if that's the case when we have all tests) 2021-08-29 02:14:25 -05:00
Chip Senkbeil
aa2925d33a
Update to have context use threads 2021-08-29 02:00:39 -05:00
Chip Senkbeil
188b5f74e4
Add first example of an e2e test for distant cli 2021-08-29 01:03:18 -05:00
Chip Senkbeil
df81894785
Split distant into distant-core and distant (bin) 2021-08-28 18:15:00 -05:00