New agentUpdateSystem setting to force meshcore agent update.

This commit is contained in:
Ylian Saint-Hilaire 2021-08-10 12:23:28 -07:00
parent 00001e23bc
commit a5ec5f60c9
2 changed files with 5 additions and 3 deletions

View File

@ -1915,6 +1915,7 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) {
if (((agentExeInfo.id == 16) || (agentExeInfo.id == 29)) && (parent.parent.meshAgentBinaries[10005].hash == agentHash)) return 0;
// No match, update the agent.
if (args.agentupdatesystem === 2) return 2; // If set, force a meshcore update.
// NOTE: Windows agents with no commit dates may have bad native update system, so use meshcore system instead.
// NOTE: Windows agents with commit date prior to 1612740413000 did not kill all "meshagent.exe" processes and update could fail as a result executable being locked, meshcore system will do this.
if (((obj.AgentCommitDate == null) || (obj.AgentCommitDate < 1612740413000)) && ((agentExeInfo.id == 3) || (agentExeInfo.id == 4))) return 2; // For older Windows agents, use the meshcore update technique.

View File

@ -105,9 +105,10 @@
"orphanAgentUser": { "type": "string", "default": null, "description": "If an agent attempts to connect to a unknown device group, automatically create a new device group and grant access to the specified user. Example: admin" },
"agentIdleTimeout": { "type": "integer", "minimum": 1, "default": 150 ,"description": "How much time in seconds with no traffic from an agent before dropping the agent connection." },
"compression": { "type": "boolean", "default": true, "description": "Enables GZIP compression for web requests." },
"wscompression": { "type": "boolean", "default": false, "description": "Enables server-side, websocket per-message deflate compression." },
"agentwscompression": { "type": "boolean", "default": true, "description": "Enables agent-side, websocket per-message deflate compression. wscompression must also be true for this to work." },
"noagentupdate": { "type": "integer", "default": 0, "description": "Set to 1 to present the server from updating any agent." },
"wsCompression": { "type": "boolean", "default": false, "description": "Enables server-side, websocket per-message deflate compression." },
"agentWsCompression": { "type": "boolean", "default": true, "description": "Enables agent-side, websocket per-message deflate compression. wscompression must also be true for this to work." },
"noAgentUpdate": { "type": "integer", "default": 0, "description": "Set to 1 to present the server from updating any agent." },
"agentUpdateSystem": { "type": "integer", "default": 1, "description": "When set to 2, all agents that need to be updated will use the meshcore.js update system. With the default value of 1, the native update system is used." },
"temporaryAgentUpdate": { "type": "boolean", "default": true, "description": "Set to false to not allow temporary agents to be updated." },
"meshErrorLogPath": { "type": "string" },
"npmPath": { "type": "string" },