Added Windows7 support

This commit is contained in:
Ylian Saint-Hilaire 2018-07-26 16:31:43 -07:00
parent d38cb66dda
commit d8a955629b
9 changed files with 8 additions and 44 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -423,7 +423,6 @@ function createMeshCore(agent) {
// List all the drives in the root, or the root itself // List all the drives in the root, or the root itself
var results = null; var results = null;
try { results = fs.readDrivesSync(); } catch (e) { } // TODO: Anyway to get drive total size and free space? Could draw a progress bar. try { results = fs.readDrivesSync(); } catch (e) { } // TODO: Anyway to get drive total size and free space? Could draw a progress bar.
//console.log('a', objToString(results, 0, ' '));
if (results != null) { if (results != null) {
for (var i = 0; i < results.length; ++i) { for (var i = 0; i < results.length; ++i) {
var drive = { n: results[i].name, t: 1 }; var drive = { n: results[i].name, t: 1 };
@ -435,11 +434,13 @@ function createMeshCore(agent) {
// List all the files and folders in this path // List all the files and folders in this path
if (reqpath == '') { reqpath = '/'; } if (reqpath == '') { reqpath = '/'; }
var results = null, xpath = obj.path.join(reqpath, '*'); var results = null, xpath = obj.path.join(reqpath, '*');
//if (process.platform == "win32") { xpath = xpath.split('/').join('\\'); }
try { results = fs.readdirSync(xpath); } catch (e) { } try { results = fs.readdirSync(xpath); } catch (e) { }
if (results != null) { if (results != null) {
for (var i = 0; i < results.length; ++i) { for (var i = 0; i < results.length; ++i) {
if ((results[i] != '.') && (results[i] != '..')) { if ((results[i] != '.') && (results[i] != '..')) {
var stat = null, p = obj.path.join(reqpath, results[i]); var stat = null, p = obj.path.join(reqpath, results[i]);
//if (process.platform == "win32") { p = p.split('/').join('\\'); }
try { stat = fs.statSync(p); } catch (e) { } // TODO: Get file size/date try { stat = fs.statSync(p); } catch (e) { } // TODO: Get file size/date
if ((stat != null) && (stat != undefined)) { if ((stat != null) && (stat != undefined)) {
if (stat.isDirectory() == true) { if (stat.isDirectory() == true) {
@ -1478,47 +1479,6 @@ function createMeshCore(agent) {
} }
}; };
// Get a formated response for a given directory path
obj.getDirectoryInfo = function(reqpath) {
var response = { path: reqpath, dir: [] };
if (((reqpath == undefined) || (reqpath == '')) && (process.platform == 'win32')) {
// List all the drives in the root, or the root itself
var results = null;
try { results = fs.readDrivesSync(); } catch (e) { sendConsoleText(e); } // TODO: Anyway to get drive total size and free space? Could draw a progress bar.
//console.log('a', objToString(results, 0, ' '));
if (results != null) {
for (var i = 0; i < results.length; ++i) {
var drive = { n: results[i].name, t: 1 };
if (results[i].type == 'REMOVABLE') { drive.dt = 'removable'; } // TODO: See if this is USB/CDROM or something else, we can draw icons.
response.dir.push(drive);
}
}
} else {
// List all the files and folders in this path
if (reqpath == '') { reqpath = '/'; }
var xpath = path.join(reqpath, '*');
var results = null;
try { results = fs.readdirSync(xpath); } catch (e) { sendConsoleText(e); }
if (results != null) {
for (var i = 0; i < results.length; ++i) {
if ((results[i] != '.') && (results[i] != '..')) {
var stat = null, p = path.join(reqpath, results[i]);
try { stat = fs.statSync(p); } catch (e) { } // TODO: Get file size/date
if ((stat != null) && (stat != undefined)) {
if (stat.isDirectory() == true) {
response.dir.push({ n: results[i], t: 2, d: stat.mtime });
} else {
response.dir.push({ n: results[i], t: 3, s: stat.size, d: stat.mtime });
}
}
}
}
}
}
return response;
}
// Process KVM control channel data // Process KVM control channel data
obj.kvmCtrlData = function(channel, cmd) { obj.kvmCtrlData = function(channel, cmd) {
if (cmd.length > 0 && cmd.charCodeAt(0) != 123) { if (cmd.length > 0 && cmd.charCodeAt(0) != 123) {

View File

@ -630,7 +630,11 @@ module.exports.CreateMpsServer = function (parent, db, args, certificates) {
// This function writes data to this CIRA channel // This function writes data to this CIRA channel
cirachannel.write = function (data) { cirachannel.write = function (data) {
if (cirachannel.state == 0) return false; if (cirachannel.state == 0) return false;
if (cirachannel.state == 1 || cirachannel.sendcredits == 0 || cirachannel.sendBuffer != undefined) { if (cirachannel.sendBuffer == undefined) { cirachannel.sendBuffer = data; } else { cirachannel.sendBuffer += data; } return; } if (cirachannel.state == 1 || cirachannel.sendcredits == 0 || cirachannel.sendBuffer != undefined) {
// Channel is connected, but we are out of credits. Add the data to the outbound buffer.
if (cirachannel.sendBuffer == undefined) { cirachannel.sendBuffer = data; } else { cirachannel.sendBuffer += data; }
return true;
}
// Compute how much data we can send // Compute how much data we can send
if (data.length <= cirachannel.sendcredits) { if (data.length <= cirachannel.sendcredits) {
// Send the entire message // Send the entire message

View File

@ -1,6 +1,6 @@
{ {
"name": "meshcentral", "name": "meshcentral",
"version": "0.1.8-y", "version": "0.1.9-b",
"keywords": [ "keywords": [
"Remote Management", "Remote Management",
"Intel AMT", "Intel AMT",