From f1a28c0e862ae394c0524a6a654353d9e5b0bad0 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Tue, 11 Dec 2018 17:52:37 -0800 Subject: [PATCH] ClickOnce Fix --- meshrelay.js | 12 +++++++++--- package.json | 2 +- .../MeshMiniRouter.application | 8 ++++---- .../MeshMiniRouter.exe.config.deploy | 0 .../MeshMiniRouter.exe.deploy | Bin 186368 -> 186880 bytes .../MeshMiniRouter.exe.manifest | 10 +++++----- .../MeshMiniRouter.ico.deploy | Bin .../minirouter/MeshMiniRouter.application | 8 ++++---- public/clickonce/minirouter/publish.htm | 2 +- webserver.js | 18 ++++++++++++++---- 10 files changed, 38 insertions(+), 22 deletions(-) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_19 => MeshMiniRouter_2_0_0_22}/MeshMiniRouter.application (85%) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_19 => MeshMiniRouter_2_0_0_22}/MeshMiniRouter.exe.config.deploy (100%) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_19 => MeshMiniRouter_2_0_0_22}/MeshMiniRouter.exe.deploy (83%) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_19 => MeshMiniRouter_2_0_0_22}/MeshMiniRouter.exe.manifest (90%) rename public/clickonce/minirouter/Application Files/{MeshMiniRouter_2_0_0_19 => MeshMiniRouter_2_0_0_22}/MeshMiniRouter.ico.deploy (100%) diff --git a/meshrelay.js b/meshrelay.js index 1cf73853..9a6f87ed 100644 --- a/meshrelay.js +++ b/meshrelay.js @@ -177,19 +177,25 @@ module.exports.CreateMeshRelay = function (parent, ws, req, domain, user, cookie } } - ws.flushSink = function () { try { ws._socket.resume(); } catch (e) { } }; + ws.flushSink = function () { try { ws._socket.resume(); } catch (ex) { console.log(ex); } }; // When data is received from the mesh relay web socket ws.on('message', function (data) { //console.log(typeof data, data.length); if (this.peer != null) { //if (typeof data == 'string') { console.log('Relay: ' + data); } else { console.log('Relay:' + data.length + ' byte(s)'); } - try { this._socket.pause(); this.peer.send(data, ws.flushSink); } catch (e) { } + try { + this._socket.pause(); + this.peer.send(data, ws.flushSink); + } catch (ex) { console.log(ex); } } }); // If error, do nothing - ws.on('error', function (err) { /*console.log('Relay Error: ' + err);*/ }); + ws.on('error', function (err) { + console.log('Relay Error', err); + obj.close(); + }); // If the mesh relay web socket is closed ws.on('close', function (req) { diff --git a/package.json b/package.json index f8e5aa37..071f6541 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshcentral", - "version": "0.2.4-e", + "version": "0.2.4-g", "keywords": [ "Remote Management", "Intel AMT", diff --git a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.application b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_22/MeshMiniRouter.application similarity index 85% rename from public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.application rename to public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_22/MeshMiniRouter.application index 4d9757a0..de8e7b14 100644 --- a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.application +++ b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_22/MeshMiniRouter.application @@ -1,20 +1,20 @@  - + - - + + - OrVnTQLTKIxVLZNkTlIIvRGSS1WhevCMECD0a58kSYI= + WOFMexmFiT1cRB5ZPY6zmeQ7x/Cbx//7QyPjwnjKGnA= diff --git a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.config.deploy b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_22/MeshMiniRouter.exe.config.deploy similarity index 100% rename from public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.config.deploy rename to public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_22/MeshMiniRouter.exe.config.deploy diff --git a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.deploy b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_22/MeshMiniRouter.exe.deploy similarity index 83% rename from public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.exe.deploy rename to public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_22/MeshMiniRouter.exe.deploy index 128e5646d919a1520e23173e088898d64c5192a3..866545d4adea05df1d84b09a4c199252ce389797 100644 GIT binary patch delta 13931 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 delta 13809 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 - + - + @@ -43,14 +43,14 @@ - - + + - 06I3GLTLWQ3HjlpCbxpboVtNzeTJZ6nWgSqw191sAuE= + e/EE2UyAOSDkWCqJcDJPIiu7cOLRXJszqGGnayICf5I= diff --git a/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.ico.deploy b/public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_22/MeshMiniRouter.ico.deploy similarity index 100% rename from public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_19/MeshMiniRouter.ico.deploy rename to public/clickonce/minirouter/Application Files/MeshMiniRouter_2_0_0_22/MeshMiniRouter.ico.deploy diff --git a/public/clickonce/minirouter/MeshMiniRouter.application b/public/clickonce/minirouter/MeshMiniRouter.application index 4d9757a0..de8e7b14 100644 --- a/public/clickonce/minirouter/MeshMiniRouter.application +++ b/public/clickonce/minirouter/MeshMiniRouter.application @@ -1,20 +1,20 @@  - + - - + + - OrVnTQLTKIxVLZNkTlIIvRGSS1WhevCMECD0a58kSYI= + WOFMexmFiT1cRB5ZPY6zmeQ7x/Cbx//7QyPjwnjKGnA= diff --git a/public/clickonce/minirouter/publish.htm b/public/clickonce/minirouter/publish.htm index 15e7497c..56a6d54b 100644 --- a/public/clickonce/minirouter/publish.htm +++ b/public/clickonce/minirouter/publish.htm @@ -59,7 +59,7 @@ FONT.key {font-weight: bold; color: darkgreen}
-
 
Name:MeshCentral Mini-Router
 
Version:2.0.0.19
 
Publisher:Meshcentral.com
 
+
 
Name:MeshCentral Mini-Router
 
Version:2.0.0.22
 
Publisher:Meshcentral.com
 
diff --git a/webserver.js b/webserver.js index d2f1bea8..21f315b2 100644 --- a/webserver.js +++ b/webserver.js @@ -161,7 +161,14 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { for (i in obj.certificates.dns) { if (obj.parent.config.domains[i].dns != null) { obj.dnsDomains[obj.parent.config.domains[i].dns.toLowerCase()] = obj.parent.config.domains[i]; obj.tlsSniCredentials[obj.parent.config.domains[i].dns] = obj.tls.createSecureContext(obj.certificates.dns[i]).context; dnscount++; } } if (dnscount > 0) { obj.tlsSniCredentials[''] = obj.tls.createSecureContext({ cert: obj.certificates.web.cert, key: obj.certificates.web.key, ca: obj.certificates.web.ca }).context; } else { obj.tlsSniCredentials = null; } } - function TlsSniCallback(name, cb) { var c = obj.tlsSniCredentials[name]; if (c != null) { cb(null, c); } else { cb(null, obj.tlsSniCredentials['']); } } + function TlsSniCallback(name, cb) { + var c = obj.tlsSniCredentials[name]; + if (c != null) { + cb(null, c); + } else { + cb(null, obj.tlsSniCredentials['']); + } + } function EscapeHtml(x) { if (typeof x == "string") return x.replace(/&/g, '&').replace(/>/g, '>').replace(//g, '>').replace(/').replace(/\n/g, '').replace(/\t/g, '  '); if (typeof x == "boolean") return x; if (typeof x == "number") return x; } @@ -174,6 +181,8 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { var tlsOptions = { cert: obj.certificates.web.cert, key: obj.certificates.web.key, ca: obj.certificates.web.ca, rejectUnauthorized: true, secureOptions: obj.constants.SSL_OP_NO_SSLv2 | obj.constants.SSL_OP_NO_SSLv3 | obj.constants.SSL_OP_NO_COMPRESSION | obj.constants.SSL_OP_CIPHER_SERVER_PREFERENCE | obj.constants.SSL_OP_NO_TLSv1 | obj.constants.SSL_OP_NO_TLSv11 }; if (obj.tlsSniCredentials != null) { tlsOptions.SNICallback = TlsSniCallback; } // We have multiple web server certificate used depending on the domain name obj.tlsServer = require('https').createServer(tlsOptions, obj.app); + obj.tlsServer.on('secureConnection', function () { }); + obj.tlsServer.on('error', function (a, b, c) { console.log('tlsServer error', a, b, c); }); obj.expressWs = require('express-ws')(obj.app, obj.tlsServer); } @@ -279,9 +288,10 @@ module.exports.CreateWebServer = function (parent, db, args, certificates) { function checkUserIpAddressEx(req, res, allowedIpList) { if (allowedIpList == null) { return true; } try { - var ip = req.ip, type = 0; - if (req.connection) { type = 1; } // HTTP(S) request - else if (req._socket) { type = 2; } // WebSocket request + var ip, type = 0; + if (req.connection) { type = 1; ip = req.ip; } // HTTP(S) request + else if (req._socket) { type = 2; ip = req._socket.remoteAddress; } // WebSocket request + if (!ip) return false; if (ip.startsWith('::ffff:')) { ip = ip.substring(7); } // Fix IPv4 IP's encoded in IPv6 form if ((ip != null) && (allowedIpList.indexOf(ip) >= 0)) { return true; } if (type == 1) { res.sendStatus(401); }