1
0
mirror of https://github.com/Ylianst/MeshAgent synced 2025-12-16 00:03:45 +00:00
Commit Graph

28 Commits

Author SHA1 Message Date
Bryan Roe
1be7ee3394 Fixed DoWhile readloop on Windows, to fix some edge case reading race conditions 2019-10-29 10:58:41 -07:00
Bryan Roe
72db242dee Added ability to end stdin on child_process spawned process 2019-09-06 21:41:48 -07:00
Bryan Roe
fa6836d17a Added ability to generate Dump file on crash, on Windows 2019-08-26 14:16:39 -07:00
Bryan Roe
84882e0b52 Fixed the following bugs on Windows:
1. Normally when a process exits when a stream is paused, I delayed the exit propagation until resume was called, so data was not lost. However, if no data was read, resume may not get called, causing the descriptor to continually trigger the event loop. For example, if the user explicity killed the process, resume won't get triggered after the fact.

2. If the above descriptor continually triggers the event loop, other descriptors will not get serviced, which can cause a stall

3. The above two issues caused KVM issues on windows, where it would not clean up properly and leak handles because the exit wasn't gettign called. But at the same time there's a race condition depending on where in the event list the descriptor is, could cause future KVM sessions to stall.
2019-08-23 17:07:12 -07:00
Bryan Roe
66273f8950 1. Updated waitExit() for windows to support a timeout
2. Updated ProcessPipe for Windows, to disable inheritance on detach
3. Updated service-manager to support restart on self for windows
2019-08-07 15:23:13 -07:00
Bryan Roe
a89a3204c1 1. Added ability to query if Select was interrupted with APC
2. Updated So that before readableStream and 'exit' are dispatched, APC's are unrolled if 'select' was interrupted, preventing stack corruption caused by trying to make a re-entrant winsock call, which is not supported by winsock.
2019-08-07 11:32:33 -07:00
Bryan Roe
4cef81719e 1. Fixed upper limit for inline JS on command line
2. Updated win-info to be able to fetch list of installed apps
2019-07-31 15:14:01 -07:00
Bryan Roe
3efdc27478 1. Updated so that APCs are used for thread dispatching for Read/Exit on Windows
2. Updated to add support for child_process.waitExit() on Windows.
2019-07-23 16:16:53 -07:00
Bryan Roe
124c0d386f Initial modifications to support FreeBSD 2019-06-17 15:45:46 -07:00
Bryan Roe
9f99051e20 1. Fixed re-entrancy issue with Pre/Post select when WaitExit is used
2. Updated cleanup, so that the processing loop unwinds first
2019-06-13 13:47:26 -07:00
Bryan Roe
4451e12e7a Updated Cleanup for Linux/MacOS, still need to fix 2019-06-06 18:47:41 -07:00
Bryan Roe
f15c11c845 1. Updated MacOS, so detached child process uses fork instead of vfork
2. Updated detached to be a bitmask on the type
3. Updated MacOS message-box cleanup
2019-06-04 13:06:17 -07:00
Bryan Roe
26d86ce449 Added canary check to mitigate crash on linux 2019-05-16 23:38:51 -07:00
Bryan Roe
d0fb36d10b Add ability to specify detached=true in options 2019-05-12 21:39:02 -07:00
Bryan Roe
6770921ca7 Updated ReadEx/WriteEx so it returns status, which can be used to detect broken pipe 2019-05-01 21:19:56 -07:00
Bryan Roe
40b3ca4d03 1. Added CancelEx
2. Updated, so if ReadEx is used, buffer is not freed directly
2019-05-01 16:10:58 -07:00
Bryan Roe
8c6a230d1e 1. Fixed bug with createConnection()
2. Updated Windows IPC
2019-04-30 15:15:20 -07:00
Bryan Roe
1e58eaf103 Experimental 2019-04-26 16:07:06 -07:00
Bryan Roe
429b645a54 1. Added ability to modify environment variables on ScriptContainers
2. Fixed bug, where child ScriptContainer would exit if return value had a JSON parse error
2019-03-12 22:23:30 -07:00
Bryan Roe
ae72740a18 1. Updated ILibProcessPipe, so that buffer will grow as necessary
2. Updated Windows KVM, to add an accumulator for JUMBO commands
2019-02-06 16:32:31 -08:00
Bryan Roe
aeaa229e31 1. Modified WebRTC_DataChannel to use union, to simplify struct def
2. Added ChainLink MetaData
3. Added 'ChainViewer' to allow JS to debug Chain events
2019-02-01 23:33:02 -08:00
Bryan Roe
bd16538a8e Fixed compiler warnings on MacOS 2019-02-01 01:13:07 -08:00
Bryan Roe
a3f69396f6 Added MacOS support
Added ability to spawn process with specific user, under linux
Fixed edge case memory leak caused when we were trying to QueueUserAPC to a thread we were already on, which also caused a 3 second delay.
Changed WindowsRunLoop, to detect bad HANDLEs, and event an error on them, and remove them from list
Fixed linux bug, where a spawned child called 'exit' instead of '_exit' in an error condition
2019-01-11 12:42:16 -08:00
Ylian Saint-Hilaire
3c80473a94 Major agent update. 2018-09-05 11:01:17 -07:00
Ylian Saint-Hilaire
4b5c77b4fd Many improvements. 2018-02-11 21:11:58 -08:00
Ylian Saint-Hilaire
508646044e Much improved, better stability, lots of fixes 2018-01-12 11:50:04 -08:00
Ylian Saint-Hilaire
becf71557f Improved agent that can update the MeshCentral1 agent 2017-11-09 16:07:39 -08:00
Ylian Saint-Hilaire
75d86eb4c8 First commit of MeshAgent for MeshCentral 2017-10-12 14:28:03 -07:00