sawka
c29c4a9a2d
PE-41 remote file api ( #1 )
...
* new remote file streaming API packets. implemented 'stat' for remote files
* introduce filedata packets. allow streaming RPCs. fix RPC bug with combined packet parsers. implement file streaming for filestream RPC.
* checkpoint on adding write-file
* completely untested write-file impl -- writefilecontext, condition var for signaling new data packets, cleanup goroutine, ready/done states.
* better error messages, also unlock MServer before calling done on wfcs
* fix bug with perm json tag. change constant name
2023-08-31 22:03:38 -07:00
sawka
94827683b5
big rename mshell to commandlinedev/apishell
2023-07-26 13:00:07 -07:00
sawka
bab095d701
add buildtime to initpacket
2023-04-12 21:45:45 -07:00
sawka
01a99cba03
minor updates/bugfixes
2023-04-02 23:00:55 -07:00
sawka
c1b6095410
add buildtime
2023-02-23 14:50:58 -08:00
sawka
91667e4dec
process special input signals. also allow numeric signals.
2022-12-20 21:58:24 -08:00
sawka
f010758b36
mshell single writes ping packets to detect when the server has died. sends SIGHUP to children
2022-12-05 22:26:13 -08:00
sawka
bdd8381b01
updates/bugfixes for statediff
2022-11-28 18:05:54 -08:00
sawka
4481cddadc
checkpoint on statediff. bug fixes. working on more robust error handling for packetsender
2022-11-27 13:47:18 -08:00
sawka
674a6ef11e
grab shell vars with export vars
2022-10-24 21:26:39 -07:00
sawka
1c2c8c2f4d
return defined bash aliases in initpk
2022-10-15 13:45:52 -07:00
sawka
d8e7c915e5
add sshport and batchmode
2022-09-30 17:22:57 -07:00
sawka
b5c67b6260
refactoring for versioned mshell binaries on remotes
2022-09-26 13:02:34 -07:00
sawka
4550e18b6b
version string will now be a real semantic version
2022-09-24 13:53:19 -07:00
sawka
4f4e12c00a
add single-from-server option to mshell, send message packets with ck back to server, report unknown packets back to server
2022-09-06 12:57:54 -07:00
sawka
e26705623b
add --env mode to mshell to print cwd and environment (for server initpk). needed because OSX does not support 'env -0'
2022-08-22 15:59:03 -07:00
sawka
86a7cd59e6
use cirfile for detached commands
2022-08-19 15:28:32 -07:00
sawka
4f4dd67d06
comment out tailer for now
2022-07-07 21:38:05 -07:00
sawka
95f11fb418
checkpoint, getting tty output working in non-detached mode
2022-07-06 11:21:15 -07:00
sawka
96123c8e1a
checkpoint for tightened runtime semantics for calls -- always send response packets, make sure correct response ids are set, etc.
2022-07-05 23:14:14 -07:00
sawka
0c204e8b2b
standardize error reporting, rpc gets resp, command get cmderr, other errors are just sent as messages
2022-07-05 17:45:46 -07:00
sawka
ef362e5ee9
tighten up packet interfaces, RpcPacketType, RpcResponsePacketType, and CommandPacketType
2022-07-05 16:53:31 -07:00
sawka
0a828b7184
tightening up server mode, fix bugs, refactor, etc.
2022-07-01 17:37:37 -07:00
sawka
b6711e7428
sanitize packets to be 7-bit ascii without control chars. dont send data/dataend when no rundata present. use os.Executable to locate mshell if running locally. more work on detached mode
2022-06-29 14:29:38 -07:00
sawka
c73691ac24
move static files from remotefd content to 'rundata'. send all rundata before command start. parse rundata before command start. compatible with detached commands
2022-06-28 21:57:30 -07:00
sawka
9054c3cdcc
got basic mshell --server functionality working to dispatch multiple commands
2022-06-28 19:01:33 -07:00
sawka
1d44afc10e
working on server mode. extract fdcontext as interface. create packet writer/reader for mpio. hook up to serverFdContext.
2022-06-28 17:20:01 -07:00
sawka
d7eb2526f0
refactor RunClientSSHCommandAndWait for server code
2022-06-28 15:04:08 -07:00
sawka
9377619e4c
write auto-detect logic for arch from uname
2022-06-27 23:14:53 -07:00
sawka
afd3bdb315
implement install command
2022-06-27 22:39:16 -07:00
sawka
26479f59c0
pass uname back when mshell isn't found, parse, and give install command
2022-06-27 18:42:56 -07:00
sawka
ec4bd5eaa1
only send 1 line from pw file, explicitly close pw file descriptor before running command
2022-06-27 15:59:14 -07:00
sawka
0f5ee87a76
allow mshell to execute local commands
2022-06-27 15:10:17 -07:00
sawka
dafe2b5a57
simplify argument parsing, hard code common ssh options
2022-06-27 14:57:01 -07:00
sawka
6574402691
create packetparser type, refactor to use
2022-06-27 12:14:07 -07:00
sawka
2a6791bcd6
combine sessionid and cmdid into one field ck (commandkey)
2022-06-27 12:03:47 -07:00
sawka
1ea8393844
update docs with sudo example
2022-06-26 01:53:07 -07:00
sawka
222deff0db
implement sudo dance allowing passing the sudo password on stdin with sudo -S, and passing a different stdin fd to the command
2022-06-26 01:41:58 -07:00
sawka
fec7721e32
refuse to run with ssh -t or -tt, detect nil runPacket
2022-06-25 00:30:41 -07:00
sawka
935500f1f1
packet debugging with --debug
2022-06-25 00:22:03 -07:00
sawka
e6776bd974
checkpoint. transfer binary data as base64. handle cwd. detect open fds. working to transfer data in non-error cases.
2022-06-24 23:42:00 -07:00
sawka
5223760a76
got basic mshell client working -- still need detectfds and extra files support
2022-06-24 13:25:09 -07:00
sawka
4256ff5231
checkpoint -- cleanup and sync optimizations for remote client (basically working). beginning work on local client
2022-06-24 00:02:18 -07:00
sawka
52831dc723
setup extrafiles using run packet's fds field
2022-06-23 18:23:30 -07:00
sawka
29372be4ef
working with fdreaders and fdwriters to properly buffer output and not exceed buffer size without acks
2022-06-23 17:37:05 -07:00
sawka
c43d3ecc85
checkpoint got stdout/stderr data packets working with new remote handler
2022-06-23 12:48:45 -07:00
sawka
766d19f1bc
checkpoint, switch name from sh2-runner to mshell
2022-06-23 10:16:54 -07:00