mirror of
				https://github.com/Ylianst/MeshCentral.git
				synced 2025-03-09 15:40:18 +00:00 
			
		
		
		
	Added recovery core support.
This commit is contained in:
		
							parent
							
								
									34181f6400
								
							
						
					
					
						commit
						74a01ffb95
					
				
					 10 changed files with 504 additions and 132 deletions
				
			
		
							
								
								
									
										40
									
								
								meshuser.js
									
										
									
									
									
								
							
							
						
						
									
										40
									
								
								meshuser.js
									
										
									
									
									
								
							|  | @ -1215,27 +1215,27 @@ module.exports.CreateMeshUser = function (parent, db, ws, req, args, domain, use | |||
|                 { | ||||
|                     if (user.siteadmin != 0xFFFFFFFF) break; | ||||
|                     if (obj.common.validateString(command.nodeid, 1, 1024) == false) break; // Check nodeid
 | ||||
|                     if (command.path) { | ||||
|                         if (obj.common.validateString(command.path, 1, 4096) == false) break; // Check path
 | ||||
|                         if (command.path == '*') { | ||||
|                             // Update the server default core and send a core hash request
 | ||||
|                             // Load default mesh agent core if present, then perform a core update
 | ||||
|                             obj.parent.parent.updateMeshCore(function () { obj.parent.sendMeshAgentCore(user, domain, command.nodeid, '*'); }); | ||||
|                         } else { | ||||
|                             // Send a mesh agent core to the mesh agent
 | ||||
|                             var file = obj.parent.getServerFilePath(user, domain, command.path); | ||||
|                             if (file != null) { | ||||
|                                 obj.parent.parent.fs.readFile(file.fullpath, 'utf8', function (err, data) { | ||||
|                                     if (err != null) { | ||||
|                                         data = obj.common.IntToStr(0) + data; // Add the 4 bytes encoding type & flags (Set to 0 for raw)
 | ||||
|                                         obj.parent.sendMeshAgentCore(user, domain, command.nodeid, data); | ||||
|                                     } | ||||
|                                 }); | ||||
|                             } | ||||
|                         } | ||||
|                     } else { | ||||
|                     if (obj.common.validateString(command.type, 1, 40) == false) break; // Check path
 | ||||
|                     if (command.type == 'default') { | ||||
|                         // Send the default core to the agent
 | ||||
|                         obj.parent.parent.updateMeshCore(function () { obj.parent.sendMeshAgentCore(user, domain, command.nodeid, 'default'); }); | ||||
|                     } else if (command.type == 'clear') { | ||||
|                         // Clear the mesh agent core on the mesh agent
 | ||||
|                         obj.parent.sendMeshAgentCore(user, domain, command.nodeid, null); | ||||
|                         obj.parent.sendMeshAgentCore(user, domain, command.nodeid, 'clear'); | ||||
|                     } else if (command.type == 'recovery') { | ||||
|                         // Send the recovery core to the agent
 | ||||
|                         obj.parent.sendMeshAgentCore(user, domain, command.nodeid, 'recovery'); | ||||
|                     } else if ((command.type == 'custom') && (obj.common.validateString(command.path, 1, 2048) == true)) { | ||||
|                         // Send a mesh agent core to the mesh agent
 | ||||
|                         var file = obj.parent.getServerFilePath(user, domain, command.path); | ||||
|                         if (file != null) { | ||||
|                             obj.parent.parent.fs.readFile(file.fullpath, 'utf8', function (err, data) { | ||||
|                                 if (err != null) { | ||||
|                                     data = obj.common.IntToStr(0) + data; // Add the 4 bytes encoding type & flags (Set to 0 for raw)
 | ||||
|                                     obj.parent.sendMeshAgentCore(user, domain, command.nodeid, 'custom', data); | ||||
|                                 } | ||||
|                             }); | ||||
|                         } | ||||
|                     } | ||||
|                     break; | ||||
|                 } | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue