From 567fbf314e9f6fe0116e64252dbc0c4230ac0a96 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Tue, 7 May 2019 12:39:49 -0700 Subject: [PATCH] First MeshCentral with working UDP routing. --- agents/MeshCentralRouter.exe | Bin 1190344 -> 1199488 bytes agents/meshcore.js | 7 ++----- package.json | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) diff --git a/agents/MeshCentralRouter.exe b/agents/MeshCentralRouter.exe index 08c47282dbce6a67304bc909839d7cd73544259f..518fdc18abe3546b31b2853fc1989b354c5aa085 100644 GIT binary patch delta 69229 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 delta 60349 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 F{|yL%!B7AI diff --git a/agents/meshcore.js b/agents/meshcore.js index 4dbe8b4c..b491ad9b 100644 --- a/agents/meshcore.js +++ b/agents/meshcore.js @@ -418,7 +418,7 @@ function createMeshCore(agent) { var woptions = http.parseUri(xurl); woptions.rejectUnauthorized = 0; //sendConsoleText(JSON.stringify(woptions)); - sendConsoleText('TUNNEL: ' + JSON.stringify(data)); + //sendConsoleText('TUNNEL: ' + JSON.stringify(data)); var tunnel = http.request(woptions); tunnel.upgrade = onTunnelUpgrade; tunnel.on('error', function (e) { sendConsoleText('ERROR: ' + JSON.stringify(e)); }); @@ -621,7 +621,6 @@ function createMeshCore(agent) { s.tcprelay.peerindex = this.index; } if (this.udpport != null) { // This is a UDP relay connection, get the UDP socket setup. // TODO: *************** - sendConsoleText('UDP relay connection'); s.data = onUdpRelayServerTunnelData; s.udprelay = require('dgram').createSocket({ type: 'udp4' }); s.udprelay.bind({ port: 0 }); @@ -638,10 +637,8 @@ function createMeshCore(agent) { // Called when UDP relay data is received // TODO**** function onUdpRelayTargetTunnelConnect(data) { - // TODO!!! - sendConsoleText('onUdpRelayTargetTunnelConnect: ' + data); var peerTunnel = tunnels[this.peerindex]; - peerTunnel.send(data); + peerTunnel.s.write(data); } // Called when we get data from the server for a TCP relay (We have to skip the first received 'c' and pipe the rest) diff --git a/package.json b/package.json index 0d3a9c13..5011b81d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "meshcentral", - "version": "0.3.3-t", + "version": "0.3.3-u", "keywords": [ "Remote Management", "Intel AMT",