Commit Graph

153 Commits

Author SHA1 Message Date
Chip Senkbeil
b3a4d79507
Update stdin/stdout/stderr pipes to read into buffers instead of waiting for newlines 2021-08-05 09:39:22 -05:00
Chip Senkbeil
a15a707f1d
Fix processes lingering for unix socket proxy when a connection closes 2021-08-04 22:47:20 -05:00
Chip Senkbeil
638638f332
Refactor ProcStdin to send a string representing a line instead of a vec of bytes 2021-08-04 21:17:08 -05:00
Chip Senkbeil
4edf8021cc
Add features and fixes for upcoming 0.6.0
1. Capture errors when listing directory contents and report them
   as part of the response instead of exiting on first error
2. Refactor DirRead request to support providing a depth (instead
   of the "all" flag), canonicalizing the paths, and have the choice
   of returning absolute paths instead of relative
3. Fix forked process for launch not connecting over TCP to
   server due to tokio runtime being inherited from parent
4. Fix leftover launch process caused by forking w/ the old runtime
5. Fix stdout/stderr of running processes not being reported
   (when process looping and not returning) by wrapping stdout/stderr
   in `BufReader` and sending back one line at a time for each
6. Refactor ProcStdout and ProcStderr responses to send back a line
   field that is a string instead of a data field that is a byte vec
   as we are now reading and sending back whole lines, which makes
   more sense and aligns with output flushing and common stdout/stderr
   processing by other programs
2021-08-04 20:43:02 -05:00
Chip Senkbeil
046f71ab6e
Add cross build script to run on M1 Macs 2021-08-04 00:13:55 -05:00
Chip Senkbeil
d4775477aa
Refactor codebase into cli and core modules, add unix socket support, bump to 0.5.0 2021-08-03 21:41:51 -05:00
Chip Senkbeil
bb7829e3f0
Add support for launch to be interactive 2021-08-02 23:24:35 -05:00
Chip Senkbeil
d9c2b9942a
Consolidate session production to just the session struct 2021-08-02 21:18:50 -05:00
Chip Senkbeil
de69b419a4
Fix CPU pegging when stdin stream has closed 2021-08-02 20:32:44 -05:00
Chip Senkbeil
a7dd0eb435
Refactor codebase with breaking changes
1. Add --session argument to launch and action
   subcommands that accepts file or pipe for
   launch and environment, file, or pipe for action
2. Unify session string as "DISTANT DATA <host> <port> <auth key>"
3. Rename utils to session
4. Split out Session file functionality to SessionFile
5. Remove SessionError in favor of io::Error
6. Bump version to 0.4.0 in preparation for that release
2021-08-02 19:57:38 -05:00
Chip Senkbeil
93532480d7
Add installation section to readme 2021-08-01 22:40:17 -05:00
Chip Senkbeil
d1e342f04f
Fix bug where writing file did not work from cli, add text options for write and append, bump to 0.3.2 2021-08-01 19:40:44 -05:00
Chip Senkbeil
3c68bb3377
Add metadata request & response; bump to 0.3.1 2021-08-01 17:34:34 -05:00
Chip Senkbeil
f24bb6067d
Rename send -> action and bump to 0.3.0 2021-08-01 14:48:24 -05:00
Chip Senkbeil
3cbdfb19d9
Add extra session commands 2021-08-01 03:55:28 -05:00
Chip Senkbeil
7563855217
Bump version to 0.2.2 2021-08-01 00:16:32 -05:00
Chip Senkbeil
fa71e40982
Fix failures not returning a bad exit code 2021-08-01 00:13:49 -05:00
Chip Senkbeil
8fd4047b57
Bump version to 0.2.1 2021-07-31 20:32:29 -05:00
Chip Senkbeil
878c27742a
Fix file_type being null in json 2021-07-31 20:31:53 -05:00
Chip Senkbeil
9c5b723511
Bump version 2021-07-31 00:33:47 -05:00
Chip Senkbeil
b4706e88bc
Add interactive loop for shell and json modes; fix some minor discrepancies 2021-07-31 00:31:14 -05:00
Chip Senkbeil
c7b8db517c
Rename format to mode; remove unsupported --detach option on proc-run 2021-07-30 21:46:12 -05:00
Chip Senkbeil
b9cec3399b
Rename ADDRESS to HOST for positional host argument of launch command 2021-07-30 20:11:39 -05:00
Chip Senkbeil
bada62c7da
Remove unused --use-ipv6 option on launch command 2021-07-30 20:10:38 -05:00
Chip Senkbeil
b9b03f1b33
Merge branch 'master' of github.com:chipsenkbeil/distant 2021-07-30 12:53:18 -05:00
Chip Senkbeil
c7c9c237d7
Merge human and shell format types 2021-07-30 12:52:59 -05:00
Chip Senkbeil
2509f48d3e
Update building instructions 2021-07-28 23:53:32 -05:00
Chip Senkbeil
67b09c50ce
Add readme and update Cargo.toml 2021-07-28 23:28:18 -05:00
Chip Senkbeil
72870b2b7d
Change file logging to include timestamp and remove exposure of derived crypt key 2021-07-28 22:50:24 -05:00
Chip Senkbeil
54d61fe5b3
Add support for encryption using derived common secret and introduce authentication using an auth secret 2021-07-28 22:38:37 -05:00
Chip Senkbeil
676a89427b
Add support for changing cwd of server, which starts at / by default when launched over ssh 2021-07-28 20:22:35 -05:00
Chip Senkbeil
3a2749fd7f
Add support for piping stdin to remote proccess and reduce size of packets to just include the total bytes as a header 2021-07-28 20:00:55 -05:00
Chip Senkbeil
f59ae7f6ed
Fix dropped messages on client side and lockup of transport when trying to read and write concurrently 2021-07-28 15:51:42 -05:00
Chip Senkbeil
6ef55d6e38
Rename format type shell -> human and program -> shell 2021-07-28 03:39:04 -05:00
Chip Senkbeil
79fe86ae15
Update into_split to reuse buffers; fix newline appearing after stdout/stderr from program 2021-07-28 03:31:21 -05:00
Chip Senkbeil
f090aa8fc3
Refactor clear-session into session clear 2021-07-28 02:41:10 -05:00
Chip Senkbeil
b48a5c1a2b
Fix program not being option -- still seeing dropped frames (testing with zsh repeat) 2021-07-28 02:26:19 -05:00
Chip Senkbeil
4c249abf6a
Fix (maybe) issue about first frame being dropped on new client 2021-07-28 02:20:27 -05:00
Chip Senkbeil
4c69584f63
Process is now sort of working, but not reliable enough 2021-07-28 02:00:10 -05:00
Chip Senkbeil
24a8cf8401
Refactored listener code into a handler module, wrote support to split transport into read and write halves, implemented most of backend although process run is not working yet 2021-07-28 01:32:20 -05:00
Chip Senkbeil
a707523fb5
Implement file I/O commands 2021-07-27 21:14:01 -05:00
Chip Senkbeil
f2cce4aa34
Refactor code to have request/response format w/ client wrapper for easier processing 2021-07-27 19:07:16 -05:00
Chip Senkbeil
f6fa3e606e
Fix CPU pegging of server (unnecessary transport loop), add extra server args option, and adjust default port settings to be TCP friendly 2021-07-27 17:08:00 -05:00
Chip Senkbeil
e4bdde8aae
Update with proper logging; fix bad host parsing 2021-07-27 13:58:16 -05:00
Chip Senkbeil
801265a258
Fixed transport issue due to packed problems 2021-07-27 00:48:55 -05:00
Chip Senkbeil
3c7561bef8
Implemented broken framed logic 2021-07-27 00:14:35 -05:00
Chip Senkbeil
a52fb82fbf
Add response type and associated data; add operation to send stdin to remote process 2021-07-26 06:50:52 -05:00
Chip Senkbeil
9d7be8b4d7
Refactor operations to be both cli and request data 2021-07-26 05:47:43 -05:00
Chip Senkbeil
f09cca80f1
Minor cosmetics 2021-07-26 03:58:39 -05:00
Chip Senkbeil
ccd23a2fdc
Support port range binding 2021-07-26 03:42:59 -05:00