diff --git a/agents/MeshCmd-signed.exe b/agents/MeshCmd-signed.exe index a2d1c4ac..8566efa1 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 aa399cf2..098d3daa 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 44f3efd1..9e92202f 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 e147c080..2f7cfd77 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 bfc0fadc..d444bb6a 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 33aa1e24..76b52ffa 100644 Binary files a/agents/MeshService64.exe and b/agents/MeshService64.exe differ diff --git a/agents/hashagents.txt b/agents/hashagents.txt index 545683ba..2c1b52af 100644 --- a/agents/hashagents.txt +++ b/agents/hashagents.txt @@ -1,43 +1,43 @@ 3: MeshService-signed.exe -6FF49B8B81A503262F8CEB34A576862D9ED1F4B0F5FBB669887583C6CA5FF9D8581C900F6747755A45EE3E30E9F7E2D1 +296CB49E68FFAA9372C13A98C3865ABE78C1134BF04D37EFBF6F3ADDE5B7D85C5E9A8E3856D33657B2D0A2B5FDF4180D 4: MeshService64-signed.exe -F51ADCD0AC511927BD3C18325FDD3750763A007A52AAF694E576B11F4D0FBEE06586179BED1AB7BA3BA7063BD2034B9C +43B66675F4AB1007481BF79E958414906076F2A8B53B4BB04FD038242226BFB04DD9398CDE3D5FE07282D6F238C43F3E 5: meshagent_x86 -08554B5CD498718781371208D91BA42B41A92E704D14F1A4352B9A12BF73426368A6C542362372AD80EC80631D644434 +4FBA4E3192242F06D3D8C6FA93A65FF80B6DBEA938437E6D5BC9821509F6CC8D6D9C0516A20D6CEAF48BAAF20C3D23FE 6: meshagent_x86-64 -931AB8F4114B8C81C850C5072A979370AD8C4217466725BDB1C1504DB089FEF48F452CB2F9D29D62CB80354F87A5B516 +BFE9CF847F1BFE619D1C75AC82B0B5D6CA25493AFD32EC296E11D35F7083DD2B332106320262F9AEC718F25BA95DC7E1 9: meshagent_arm -2C8964B8D3D68B38CD8F2FED9E61E0D1E88C53678D43270EF00F5F2C4727950198DDA012DA8EC976D055794B7E05411A +17001961A0A6E5567B0050E0AB5E888EE81234330B0651A65E8C4C4A3633DB2331F171B828201D9216DB3E5B19EC863A 7: meshagent_mips -8A7A492A66B22B03D72BFC623DF3D98D92DB53F8702B5C8312BED62D6D2AF7927DA0C79ED829B071D80DBDC35C225CA6 +C85F323A61E31581916F962FD490770D18DA4F99101857672399E5DF610C6A2FBD10CDC09C3351EE29EB528800CBADEB 13: meshagent_pogo -420BA485A2597627BF541144C5FF148E6D2AF6C9815F63CCF1B0CE6CCF1FDFF833F44CBB404FE94ADCE9690F3FA067E4 +8A642A08973CDD513FED878B51169BBF5684399194BFD77A0AE46092252406D9E9C719FDC4D421CB879B019EA0085C05 15: meshagent_poky -FF5579FA6FBF2345A00F84E9237CBF18C48FC28D058AB85E4C43B5C419AB210CAA9EEDE42BD69CA09667334B700FF30A +D8ECFA706BD3E47050146FC9600BBCF95A1C5F43A32D49521EACA5F84FC09F8A1FBA5F536CEE18BF2A7E830D6ECA2140 16: meshagent_osx-x86-64 -7557D0B215D3515A42A34E785B6E2FED7B6DA080C95110D9E2C39AC5E51B3CC7ECDBDB6C35D74976F2035EBCF3C243D4 +C451A5C3FDA30E892B3C98B834504FD8A6C97015F750A95F9D54AD76C22CEAECAF86F7B58919992EE75FF1D8E78B5313 18: meshagent_poky64 -681589D3B5C60788C1DF8915735853A892AD50ACA05EC36EB1E9EE1183E605AAD4B66AECF106BE629503AC7E741DD110 +C26656F1EE9362ED629C8287F82D87B1CC015212E7377F76DE5E33132668AD1FC28648ECAEF9CD9BEF15BA332A2CE015 19: meshagent_x86_nokvm -4FCF0D8B7FB1545B28036ED9F2D60A67BDDFAE2E1CCAE37BEC37C41A06163B2BB1234EFA1EB1ED1B66B7D91D0810EEED +73EA176275EF766028F2DE4ABC4B729F9CCEF646F3E31ACECB052F52ED4B0044B7BE6FA1450DE8861CA54FF62B062616 20: meshagent_x86-64_nokvm -A52A52EEDCFF9522D6E421BA3EBE2EF886E884EC329344311792AC83F08635FCF2A201B7CD02A07F6442FB3E8AE3AE38 +745088DD5C8912164B3220CA3C2DDCB6BEBA42A8F636647FF60B0A394D14E47B42B9EB2582B6360A7E6D0C40F085F5CD 24: meshagent_arm-linaro -B468B0D1BB12B4D154E1A464B5EAD9A39D81DFACE075F4BAB23D8DD7791CF1A39202C368D8F715C9C311575C96241DC9 +3238DA1FEA9DD4E1C988B168A382C0B70501B9448B655691F4740D241BF575586482C8D087982168B6D0D0127CF8341E 25: meshagent_armhf -33572E6EB0AE138C67B45BFC76DC54714B472B5242260748E18F5CF92D724592EA232204D0892319B2866B72FFA789BE +0829AB2057A674226B8DB036CFDABB9DF15B8153CC8C5C9B73D8FD48F84B3189E357BBA466312DCA522AB5B61E8F0438 26: meshagent_arm64 -1E0BBD2F3B419B945ED3395401193C2F56694268B9AC8A39109C451531549AB90B1CD67DD4523B560079556FBC18A0EC +0827B77B2378319A8525172D449BCFB213B3AB160AA1BF526B831BDF3BF6F40EE6AE3C34B221332D450C6B5E7C07BDD7 27: meshagent_armhf2 -06BD0661449CD4C6F2E1957A59CE27463876796E1A8FD250865C15222CF196EBDC5595A8CF57E1BCB0F0D33DB5A27EB0 +139B1AFAB577D41ACBE6FA6E24CB6137C4B13CFE4A0364C9F6687E27F17994AF601758421A6695A5ADC42551BE9209BF 28: meshagent_mips24kc -B5F6381B6E1B27B96B6E2DD4311A1B9F72ADE517E91E8C4F90BD96AA0DAAFF683F6F0D3D7C85C064FD7537040CF7A155 +AFAC8B807723113CC92104118B797416C93B00F033DC008CA080D3EE49DCD78C03150E00ABEA7F8C45880AEB0A60EAD4 29: meshagent_osx-arm-64 -E0AD07AF070BDD0C06B8A7C0066748AF98A5FE4456166460783C66F37B30492E1FE3C9E3F8F23937C8088D17E760E4A8 +DDCA9388258ACA65DCC8E9353349FEE62DC7ED34FE3C5682035DF072A2E11ADD231872AA1ABB2ED2115A9E3B6F5D3866 30: meshagent_freebsd_x86-64 -8F101BD69F85A6F55517113B9BAC860ECF45FA002B141095023C258A677C057BB9A3E9EEF45CBAA69CCDC8F92AF41BBD +A31042611A5AA28C1C46D028D4BCB23AC3E336FD471F6D113DD464FAE38FFFA1CBC84CC9681DB85D279FF9AA9005D0E4 40: meshagent_mipsel24kc -F8E9A1FC4554A94E02B73B9E726C5467E73A41B899EDAD469606B2B0879FF4F200CDD7BAD45A4BE979EF8B8CF706843D +02F0F33A124DC0E314CBCF7B8C98B9555EC319AA415690309A074FFF07EC63A37F584DB1BD47284AEC34512EEC38113E 10005: meshagent_osx-universal-64 -551B21C162F8C60575C741B45C6C068B6AD7A53299C521D1D61F7239EC2A6EAE917ED948FD5F0EBB5D19ECB40602C227 +D0B7E5C3028B69D05A06C22D140C59A3034D78124B6881118EB08F0A6CE3EF5E95B49F0AE7D4D21F424B0B0A6E97810F diff --git a/agents/meshagent_aarch64 b/agents/meshagent_aarch64 new file mode 100644 index 00000000..ffcd7cf7 Binary files /dev/null and b/agents/meshagent_aarch64 differ diff --git a/agents/meshagent_aarch64-cortex-a53 b/agents/meshagent_aarch64-cortex-a53 new file mode 100644 index 00000000..af496d21 Binary files /dev/null and b/agents/meshagent_aarch64-cortex-a53 differ diff --git a/agents/meshagent_arm b/agents/meshagent_arm index 88c83164..e62f966c 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 41d89266..a93481b8 100644 Binary files a/agents/meshagent_arm-linaro and b/agents/meshagent_arm-linaro differ diff --git a/agents/meshagent_arm64 b/agents/meshagent_arm64 index 0aff317b..a92afe40 100644 Binary files a/agents/meshagent_arm64 and b/agents/meshagent_arm64 differ diff --git a/agents/meshagent_armhf b/agents/meshagent_armhf index e65e8c37..02849930 100644 Binary files a/agents/meshagent_armhf and b/agents/meshagent_armhf differ diff --git a/agents/meshagent_armhf2 b/agents/meshagent_armhf2 index 9d5d6802..c4075135 100644 Binary files a/agents/meshagent_armhf2 and b/agents/meshagent_armhf2 differ diff --git a/agents/meshagent_freebsd_x86-64 b/agents/meshagent_freebsd_x86-64 index 71817607..1663a88e 100644 Binary files a/agents/meshagent_freebsd_x86-64 and b/agents/meshagent_freebsd_x86-64 differ diff --git a/agents/meshagent_mips b/agents/meshagent_mips index 18903e83..07544968 100644 Binary files a/agents/meshagent_mips and b/agents/meshagent_mips differ diff --git a/agents/meshagent_mips24kc b/agents/meshagent_mips24kc index 60516af9..2de1558c 100644 Binary files a/agents/meshagent_mips24kc and b/agents/meshagent_mips24kc differ diff --git a/agents/meshagent_mipsel24kc b/agents/meshagent_mipsel24kc index 80018244..52a87637 100644 Binary files a/agents/meshagent_mipsel24kc and b/agents/meshagent_mipsel24kc differ diff --git a/agents/meshagent_osx-arm-64 b/agents/meshagent_osx-arm-64 index 874ee8b2..ef548736 100644 Binary files a/agents/meshagent_osx-arm-64 and b/agents/meshagent_osx-arm-64 differ diff --git a/agents/meshagent_osx-universal-64 b/agents/meshagent_osx-universal-64 index 183a64ab..c3c28145 100644 Binary files a/agents/meshagent_osx-universal-64 and b/agents/meshagent_osx-universal-64 differ diff --git a/agents/meshagent_osx-x86-64 b/agents/meshagent_osx-x86-64 index f1941cb4..58352b7a 100644 Binary files a/agents/meshagent_osx-x86-64 and b/agents/meshagent_osx-x86-64 differ diff --git a/agents/meshagent_pogo b/agents/meshagent_pogo index a3e9318b..9b42c0de 100644 Binary files a/agents/meshagent_pogo and b/agents/meshagent_pogo differ diff --git a/agents/meshagent_poky b/agents/meshagent_poky index e0e15b3a..ed10e827 100644 Binary files a/agents/meshagent_poky and b/agents/meshagent_poky differ diff --git a/agents/meshagent_poky64 b/agents/meshagent_poky64 index b151c88f..68268525 100644 Binary files a/agents/meshagent_poky64 and b/agents/meshagent_poky64 differ diff --git a/agents/meshagent_x86 b/agents/meshagent_x86 index e750bf3d..dc467bde 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 426f3c96..9ae370cd 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 992a1454..5510b658 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 4d058c94..dead500d 100644 Binary files a/agents/meshagent_x86_nokvm and b/agents/meshagent_x86_nokvm differ diff --git a/agents/recoverycore.js b/agents/recoverycore.js index a6605080..0cda7a95 100644 --- a/agents/recoverycore.js +++ b/agents/recoverycore.js @@ -193,6 +193,8 @@ function windows_execve(name, agentfilename, sessionid) // Start a JavaScript based Agent Self-Update function agentUpdate_Start(updateurl, updateoptions) { + sendConsoleText('agentUpdate_Start: ' + updateurl + ', ' + JSON.stringify(updateoptions)); + // If this value is null var sessionid = (updateoptions != null) ? updateoptions.sessionid : null; // If this is null, messages will be broadcast. Otherwise they will be unicasted @@ -243,22 +245,31 @@ function agentUpdate_Start(updateurl, updateoptions) try { if (require('MeshAgent').ServerInfo.ControlChannelCertificate.fingerprint == certs[0].fingerprint) return; } catch (ex) { } // Check that the certificate is the one expected by the server, fail if not. - if (checkServerIdentity.servertlshash == null) - { + sendConsoleText('hashx: ' + checkServerIdentity.servertlshash); + if (checkServerIdentity.servertlshash == null) { + sendConsoleText('1a'); if (require('MeshAgent').ServerInfo == null || require('MeshAgent').ServerInfo.ControlChannelCertificate == null) { return; } + sendConsoleText('1b'); sendConsoleText('Self Update failed, because the url cannot be verified', sessionid); sendAgentMessage('Self Update failed, because the url cannot be verified', 3); throw new Error('BadCert'); } - if ((checkServerIdentity.servertlshash != null) && (checkServerIdentity.servertlshash.toLowerCase() != certs[0].digest.split(':').join('').toLowerCase())) - { + sendConsoleText('2t: ' + checkServerIdentity.servertlshash); + sendConsoleText('2y: ' + checkServerIdentity.servertlshash.toLowerCase()); + sendConsoleText('2z: ' + certs[0].digest); + sendConsoleText('2r: ' + certs[0].fingerprint); + if ((checkServerIdentity.servertlshash != null) && (checkServerIdentity.servertlshash.toLowerCase() != certs[0].digest.split(':').join('').toLowerCase())) { + sendConsoleText('2b'); sendConsoleText('Self Update failed, because the supplied certificate does not match', sessionid); sendAgentMessage('Self Update failed, because the supplied certificate does not match', 3); throw new Error('BadCert') } + sendConsoleText('3'); } options.checkServerIdentity.servertlshash = (updateoptions != null ? updateoptions.tlshash : null); + sendConsoleText('Downloading1: ' + JSON.stringify(options)); + sendConsoleText('Downloading2: ' + JSON.stringify(updateoptions)); this._selfupdate = require('https').get(options); this._selfupdate.on('error', function (e) { diff --git a/meshagent.js b/meshagent.js index f0482007..e8a90616 100644 --- a/meshagent.js +++ b/meshagent.js @@ -1163,7 +1163,9 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) { // Agent update. The recovery core was loaded in the agent, send a command to update the agent obj.agentCoreUpdateTaskId = taskid; - var cmd = { action: 'agentupdate', url: obj.agentExeInfo.url, hash: obj.agentExeInfo.hashhex }; + var url = obj.agentExeInfo.url; + if (url.startsWith('http://')) { url = url.replace('http://', 'https://') } + var cmd = { action: 'agentupdate', url: url, hash: obj.agentExeInfo.hashhex }; // Add the hash if (obj.agentExeInfo.fileHash != null) { cmd.hash = obj.agentExeInfo.fileHashHex; } else { cmd.hash = obj.agentExeInfo.hashhex; } @@ -1476,7 +1478,9 @@ module.exports.CreateMeshAgent = function (parent, db, ws, req, args, domain) { // Agent is requesting an agent update obj.agentCoreUpdateTaskId = taskid; - var cmd = { action: 'agentupdate', url: obj.agentExeInfo.url, hash: obj.agentExeInfo.hashhex, sessionid: agentUpdateFunc.sessionid }; + var url = obj.agentExeInfo.url; + if (url.startsWith('http://')) { url = url.replace('http://', 'https://') } + var cmd = { action: 'agentupdate', url: url, hash: obj.agentExeInfo.hashhex, sessionid: agentUpdateFunc.sessionid }; // Add the hash if (obj.agentExeInfo.fileHash != null) { cmd.hash = obj.agentExeInfo.fileHashHex; } else { cmd.hash = obj.agentExeInfo.hashhex; }