diff --git a/MeshCentralServer.njsproj b/MeshCentralServer.njsproj
index 980cf0a9..292ad440 100644
--- a/MeshCentralServer.njsproj
+++ b/MeshCentralServer.njsproj
@@ -171,6 +171,7 @@
+
diff --git a/agents/MeshCmd-signed.exe b/agents/MeshCmd-signed.exe
index 297a13ed..fb2963c1 100644
Binary files a/agents/MeshCmd-signed.exe and b/agents/MeshCmd-signed.exe differ
diff --git a/agents/MeshCmd64-signed.exe b/agents/MeshCmd64-signed.exe
index 92e79b65..32277556 100644
Binary files a/agents/MeshCmd64-signed.exe and b/agents/MeshCmd64-signed.exe differ
diff --git a/agents/MeshService-signed.exe b/agents/MeshService-signed.exe
index ef2143f4..1bc0bbf1 100644
Binary files a/agents/MeshService-signed.exe and b/agents/MeshService-signed.exe differ
diff --git a/agents/MeshService.exe b/agents/MeshService.exe
index b5fdeb59..6ede85d0 100644
Binary files a/agents/MeshService.exe and b/agents/MeshService.exe differ
diff --git a/agents/MeshService64-signed.exe b/agents/MeshService64-signed.exe
index f99b6ebe..8a4c71bc 100644
Binary files a/agents/MeshService64-signed.exe and b/agents/MeshService64-signed.exe differ
diff --git a/agents/MeshService64.exe b/agents/MeshService64.exe
index 1ba4bf35..2cd18319 100644
Binary files a/agents/MeshService64.exe and b/agents/MeshService64.exe differ
diff --git a/agents/meshagent_arm b/agents/meshagent_arm
index f1a2481d..0d066eff 100644
Binary files a/agents/meshagent_arm and b/agents/meshagent_arm differ
diff --git a/agents/meshagent_arm-linaro b/agents/meshagent_arm-linaro
index 2091c811..270f12b2 100644
Binary files a/agents/meshagent_arm-linaro and b/agents/meshagent_arm-linaro differ
diff --git a/agents/meshagent_pi b/agents/meshagent_pi
index 31e8aa2b..45bc3d26 100644
Binary files a/agents/meshagent_pi and b/agents/meshagent_pi differ
diff --git a/agents/meshagent_pogo b/agents/meshagent_pogo
index 8597ea10..556bdeae 100644
Binary files a/agents/meshagent_pogo and b/agents/meshagent_pogo differ
diff --git a/agents/meshagent_poky b/agents/meshagent_poky
index c6daadab..fa40cf5e 100644
Binary files a/agents/meshagent_poky and b/agents/meshagent_poky differ
diff --git a/agents/meshagent_poky64 b/agents/meshagent_poky64
index bd29c6dc..a8d61f5b 100644
Binary files a/agents/meshagent_poky64 and b/agents/meshagent_poky64 differ
diff --git a/agents/meshagent_x86 b/agents/meshagent_x86
index c04a503a..33fd23e0 100644
Binary files a/agents/meshagent_x86 and b/agents/meshagent_x86 differ
diff --git a/agents/meshagent_x86-64 b/agents/meshagent_x86-64
index f6b13272..a7d595ed 100644
Binary files a/agents/meshagent_x86-64 and b/agents/meshagent_x86-64 differ
diff --git a/agents/meshagent_x86-64_nokvm b/agents/meshagent_x86-64_nokvm
index 55c54a50..738362be 100644
Binary files a/agents/meshagent_x86-64_nokvm and b/agents/meshagent_x86-64_nokvm differ
diff --git a/agents/meshagent_x86_nokvm b/agents/meshagent_x86_nokvm
index 9ac40790..8773a3a3 100644
Binary files a/agents/meshagent_x86_nokvm and b/agents/meshagent_x86_nokvm differ
diff --git a/meshagent.js b/meshagent.js
index ca85b668..11e67546 100644
--- a/meshagent.js
+++ b/meshagent.js
@@ -198,7 +198,7 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) {
obj.receivedCommands += 1; // Agent can't send the same command twice on the same connection ever. Block DOS attack path.
// Check that the server hash matches our own web certificate hash (SHA384)
- if ((getWebCertHash(obj.domain) != msg.substring(2, 50)) && (getWebCertFullHash(obj.domain) != msg.substring(2, 50))) { console.log('Agent connected with bad web certificate hash (Agent:' + (new Buffer(msg.substring(2, 50), 'binary').toString('hex').substring(0, 10)) + ' != Server:' + (new Buffer(getWebCertHash(obj.domain), 'binary').toString('hex').substring(0, 10)) + ' or ' + (new Buffer(getWebCertFullHash(obj.domain), 'binary').toString('hex').substring(0, 10)) + '), holding connection (' + obj.remoteaddrport + ').'); return; }
+ if ((getWebCertHash(obj.domain) != msg.substring(2, 50)) && (getWebCertFullHash(obj.domain) != msg.substring(2, 50))) { console.log('Agent bad web cert hash (Agent:' + (new Buffer(msg.substring(2, 50), 'binary').toString('hex').substring(0, 10)) + ' != Server:' + (new Buffer(getWebCertHash(obj.domain), 'binary').toString('hex').substring(0, 10)) + ' or ' + (new Buffer(getWebCertFullHash(obj.domain), 'binary').toString('hex').substring(0, 10)) + '), holding connection (' + obj.remoteaddrport + ').'); return; }
// Use our server private key to sign the ServerHash + AgentNonce + ServerNonce
obj.agentnonce = msg.substring(50, 98);
diff --git a/meshcentral.js b/meshcentral.js
index af600a4a..2d79bc26 100644
--- a/meshcentral.js
+++ b/meshcentral.js
@@ -419,7 +419,7 @@ function CreateMeshCentralServer(config, args) {
obj.certificateOperations.loadCertificate(obj.config.domains[i].certurl, obj.config.domains[i], function (url, cert, xdomain) {
if (cert != null) {
// Hash the entire cert
- var hash = obj.crypto.createHash('sha384').update(cert).digest('hex');
+ var hash = obj.crypto.createHash('sha384').update(Buffer.from(cert, 'binary')).digest('hex');
if (xdomain.certhash != hash) {
xdomain.certkeyhash = hash;
xdomain.certhash = hash;
@@ -429,7 +429,7 @@ function CreateMeshCentralServer(config, args) {
// Decode a RSA certificate and hash the public key, if this is not RSA, skip this.
var forgeCert = obj.certificateOperations.forge.pki.certificateFromAsn1(obj.certificateOperations.forge.asn1.fromDer(cert));
xdomain.certkeyhash = obj.certificateOperations.forge.pki.getPublicKeyFingerprint(forgeCert.publicKey, { md: obj.certificateOperations.forge.md.sha384.create(), encoding: 'hex' });
- console.log('V1: ' + xdomain.certkeyhash);
+ //console.log('V1: ' + xdomain.certkeyhash);
} catch (ex) { }
console.log('Loaded web certificate from ' + url);
diff --git a/package.json b/package.json
index f6f245ed..67fc1b12 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "meshcentral",
- "version": "0.2.3-y",
+ "version": "0.2.4-a",
"keywords": [
"Remote Management",
"Intel AMT",
diff --git a/views/default-min.handlebars b/views/default-min.handlebars
index 13e428ad..eee0fb0d 100644
--- a/views/default-min.handlebars
+++ b/views/default-min.handlebars
@@ -1 +1 @@
-
MeshCentral
↔
My Devices My Account My Events My Files My Users My Server
General Desktop Terminal Files Events Intel® AMT Console
Server disconnected, click to reconnect .
My Account Device Groups (
New )
My Files This files is shared publically, click "link" to get public url.
✓
✗
Intel® AMT Redirection port or KVM feature is disabled, click here to enable it.
Remote computer is not powered on, click here to issue a power command.
Intel® AMT Redirection port or KVM feature is disabled, click here to enable it.
Remote computer is not powered on, click here to issue a power command.
Show
Last 60 Last 120 Last 250 Last 500 Last 1000
General -
Events -
Show
Last 60 Last 120 Last 250 Last 500 Last 1000
Local file upload Server file selection File Selection
Agent Remote Desktop 100% 87.5% 75% 62.5% 50% 37.5% 25% 12.5% Scaling
Fast Medium Slow Very slow Frame rate
Intel® AMT Hardware KVM RLE8, Fastest RLE16, Recommended RAW8, Slow RAW16, Very Slow Image Encoding
\ No newline at end of file
+ MeshCentral
↔
My Devices My Account My Events My Files My Users My Server
General Desktop Terminal Files Events Intel® AMT Console
Server disconnected, click to reconnect .
My Account Device Groups (
New )
My Files This files is shared publically, click "link" to get public url.
✓
✗
Intel® AMT Redirection port or KVM feature is disabled, click here to enable it.
Remote computer is not powered on, click here to issue a power command.
Intel® AMT Redirection port or KVM feature is disabled, click here to enable it.
Remote computer is not powered on, click here to issue a power command.
Show
Last 60 Last 120 Last 250 Last 500 Last 1000
General -
Events -
Show
Last 60 Last 120 Last 250 Last 500 Last 1000
Local file upload Server file selection File Selection
Agent Remote Desktop 100% 87.5% 75% 62.5% 50% 37.5% 25% 12.5% Scaling
Fast Medium Slow Very slow Frame rate
Intel® AMT Hardware KVM RLE8, Fastest RLE16, Recommended RAW8, Slow RAW16, Very Slow Image Encoding
\ No newline at end of file
diff --git a/views/login-min.handlebars b/views/login-min.handlebars
index 4cf12773..1a0a2ab3 100644
--- a/views/login-min.handlebars
+++ b/views/login-min.handlebars
@@ -1 +1 @@
- MeshCentral - Login
Welcome Connect to your home or office devices from anywhere in the world using MeshCentral , the real time, open source remote monitoring and management web site. You will need to download and install a management agent on your computers. Once installed, computers will show up in the "My Devices" section of this web site and you will be able to monitor them and take control of them.
\ No newline at end of file
+ MeshCentral - Login
Welcome Connect to your home or office devices from anywhere in the world using MeshCentral , the real time, open source remote monitoring and management web site. You will need to download and install a management agent on your computers. Once installed, computers will show up in the "My Devices" section of this web site and you will be able to monitor them and take control of them.
\ No newline at end of file
diff --git a/views/login-mobile-min.handlebars b/views/login-mobile-min.handlebars
index 95d8b97d..c13d6e9e 100644
--- a/views/login-mobile-min.handlebars
+++ b/views/login-mobile-min.handlebars
@@ -1 +1 @@
- MeshCentral - Login
\ No newline at end of file
+ MeshCentral - Login
\ No newline at end of file