Added WebPowerSwitch/Raritan DB record encryption.
Ylian Saint-Hilaire committed
May 10, 2022 at 12:15 UTC
b76b6816cd77d8f9a7f559b3ba78714365c83671
1 file changed
+10
-11
db.js
+10
-11
@@ -507,8 +507,9 @@ module.exports.CreateDB = function (parent, func) {
507
} else if (data[i].type == 'node') {
508
data[i] = performPartialRecordDecrypt(data[i]);
509
if (data[i].intelamt) { data[i].intelamt = performPartialRecordDecrypt(data[i].intelamt); }
510
- } else if ((data[i].type == 'mesh') && (data[i].amt)) {
510
+ } else if ((data[i].type == 'mesh') && (data[i].amt || data[i].kvm)) {
511
data[i].amt = performPartialRecordDecrypt(data[i].amt);
512
+ data[i].kvm = performPartialRecordDecrypt(data[i].kvm);
513
}
514
}
515
return data;
@@ -521,10 +522,15 @@ module.exports.CreateDB = function (parent, func) {
522
else if ((data.type == 'node') && (data.ssh || data.rdp || data.intelamt)) {
523
var xdata = Clone(data);
524
if (data.ssh || data.rdp) { xdata = performPartialRecordEncrypt(xdata, ['ssh', 'rdp']); }
524
- if (data.intelamt) { xdata.intelamt = performPartialRecordEncrypt(xdata.intelamt, ['user', 'pass', 'mpspass']); }
525
+ if (data.intelamt) { xdata.intelamt = performPartialRecordEncrypt(xdata.intelamt, ['pass', 'mpspass']); }
526
+ return xdata;
527
+ }
528
+ else if ((data.type == 'mesh') && (data.amt || data.kvm)) {
529
+ var xdata = Clone(data);
530
+ if (data.amt) { xdata.amt = performPartialRecordEncrypt(xdata.amt, ['password']); }
531
+ if (data.kvm) { xdata.kvm = performPartialRecordEncrypt(xdata.kvm, ['pass']); }
532
return xdata;
533
}
527
- else if ((data.type == 'mesh') && (data.amt != null)) { var xdata = Clone(data); xdata.amt = performPartialRecordEncrypt(xdata.amt, ['password']); return xdata; }
534
return data;
535
}
536
@@ -532,14 +538,7 @@ module.exports.CreateDB = function (parent, func) {
538
function performPartialRecordEncrypt(plainobj, encryptNames) {
539
if (typeof plainobj != 'object') return plainobj;
540
var enc = {}, enclen = 0;
535
- for (var i in encryptNames) {
536
- if (plainobj[encryptNames[i]] != null) {
537
- console.log('ENCRYPT', encryptNames[i]);
538
- enclen++;
539
- enc[encryptNames[i]] = plainobj[encryptNames[i]];
540
- delete plainobj[encryptNames[i]];
541
- }
542
- }
541
+ for (var i in encryptNames) { if (plainobj[encryptNames[i]] != null) { enclen++; enc[encryptNames[i]] = plainobj[encryptNames[i]]; delete plainobj[encryptNames[i]]; } }
542
if (enclen > 0) { plainobj._CRYPT = performRecordEncrypt(enc); } else { delete plainobj._CRYPT; }
543
return plainobj;
544
}