From eacc7c91b207764c0dce7ac6acce694b3c14c740 Mon Sep 17 00:00:00 2001 From: Ylian Saint-Hilaire Date: Sun, 19 Jul 2020 14:45:29 -0700 Subject: [PATCH] Fixed tunnel ping/pong that would corrupt traffic. --- agents/MeshCentralRouter.exe | Bin 1980736 -> 1980736 bytes agents/MeshCmd-signed.exe | Bin 4317808 -> 4317928 bytes agents/MeshCmd64-signed.exe | Bin 3935856 -> 3935976 bytes agents/meshcmd.js | 3 ++- agents/meshcore.js | 12 +++++++++++- 5 files changed, 13 insertions(+), 2 deletions(-) diff --git a/agents/MeshCentralRouter.exe b/agents/MeshCentralRouter.exe index a6d264eb668e3eeaa6e74d4ba12c503ee8abc6db..1b3ec695fade6a504f082a260824589e8c2fb49b 100644 GIT binary patch delta 7300 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 Y_#(f-ZP|+dta|hPK5r@8Q|No;zs4efT>t<8 delta 6880 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 diff --git a/agents/MeshCmd-signed.exe b/agents/MeshCmd-signed.exe index 99593c531221157fa8ef6491277307b8c29ef3aa..995cdfe3eb4fe74df16517d00ac78161f4ae06fe 100644 GIT binary patch delta 1402 zcmX}kc{tPw90qXn%U$j>GV>dvFxHG~BG;s(ddSf}z+1BZ^`%_K3?s zIuDb{!~6#UyMQ>50FpooNCO!l3wDD&Kn}0}Y@F_5v-S4fX*Y zfCV^!0zA+KdSE}$2L|8(I0y`Z5ikY>U;@4Yrho`YzzmoJ3t$PX02v$t*1!fF2DZQs z*aHXP*uuk5q>S86O;LARG!bB_0!wDkW{k6tWrtO+rHg8G&b*(NwPpTC@#H zLRl>$W6EF!Qe#rm*-uF&_P$lp6a3&w&-qaax3|=@L9lab#B9G{l=Io=!TjVo+q~!W6C7tb+W7%Po`;EZh@IM2lQu@s$$nik7-4f4CJC0gB1|E@## zS~@Jx_{Y2|t2}3(Kj(=3Y5TR;q$efGaB(5dzrI5=#qL?{1XgrhKxbVZe9G4MZ9^XZ}6t_vqGhf z_VDf{dmC=D)5n>2hI&ln?Y`?*6ceug%9mTtpR+pWRq2wJ&!5`YbT9r*Ob_8`QKItg zgtbk(eJYrIa%%&5BVMBYobsMcvNj``6D>$SLQ`scB)YSTKcEmxl>7ex zgOLyuPea5~9c^M+W`++Pb598~hJyH?5(aVVcV~wcxz)~>Z7RBV%Gko0Cj&=ibF~A% zyHrPhN(noNb+gdk&gMoeOsrcGD_GU?)?%6_($|_Je9*k+##3B&b$@3-@nY|B^5g46 zEtNL|n8WGbv2W&!rgL}q?UM1(PfjlE(LKydJj8q)5VP$^KD6GnQhuV@qb#*cRFx|p znWF6XhfiT#5KrxVp@@BC+oFfti#&L{#(%bXTP_mGBX9Uwo>{4GIJ<6WY0lLzPgi)mta=)FLL7Q*;orTF= z&qL2%kv17xjIAFX-g6MOzd-%mi3C{`=KpOa&5ZY zV%)W_A+-59Z@PvfxG{zl6Cw>g%S;fF>3F-(>(BW+I}Rc@Uq!zuqZ?%kcU2>;ga&hk zR$8la6k6)0{I9-jDR>At(X>!X1FnCz~R`U`o-I9A;SHai|T+ukCYcAaU*^0K9r zBF$~B?dAM~)C*(%Rq9^nHm>f;vVW;wvF}AC(+2BYJYEq|E|OT;o5_sAvvQUfj`bAt Jg7IQs@-IvPb`$^r delta 1294 zcmX}keLT|%9KiAYW=o63$ZejIgfRSuvQ&E#@v1yTo?U2{O?4CEdbsAHGrB|`LdcRx z)M>r6JjHUBxC-awa7CC?l9uGPle_QTANP5^-v567>=a?=e->fuV-ajtcU~OA!1i{h zNf40)`4<+b0UW@CRX`oA1_ZDMXaG$>1Z#m7&;}%+19ZVUpa;GJWIzG>zyKHmBVY{H z0~4?Tn1YSK3~U1Czyer;&AznF0-my3)fYs{gRy~4CSevvU5@tr2phFok;?6H>?{vm$-+MEj%KH_GDT&ujpx`MaKjNnV!g;^erVqo#?!n{{(r4ZeQq7HN#Jp^U0B3P$;q<?Gm={t5Oc=g?wZOy5 zn`3A9q1CjlYvbj8W5V zP1I&|klKzFnVMuw2lY&DBWWvEeEmhQ+kJ=(mT{74sb)lPXUS4VZjJKfR{j37B}qDc zA-jqj;trG9IvT-gMF)%SiiPo0J#;8{y-yW9L&8m8O^xaL=ZwLgW8|*B-5=#)MHGfZf@6dC=xn&wh}rojeL=Xl)sz^zSr~+73LC?aS9@4yX1yy8F&2SWMqe6g%yojdT|C z@4VUZ{bIG&erb?*hDS{cmn?bDNsgA0iOP<7>03*ejF9bamhU@Pgw5uQ8%7l5we58& zZkJ;H&pxlBtdSgYS&3%(7gWEnm+#6RyfZ(N$qosSW9Z{n0vsnS zbq%JXa3A)_L|OOm>rbS`+ocb+6YouUl;5xk_GuV$`}l5T{VjvB$*2RFfmeDrjgdBI Pm&-4B5N$4yG5_@s-E%|4 diff --git a/agents/MeshCmd64-signed.exe b/agents/MeshCmd64-signed.exe index 0a2275f87e5d57cde3d05de2cf3872140cf2fc9e..cd39f4e64967c6493a1e3b74796df2efe357ee83 100644 GIT binary patch delta 1378 zcmX}keKga100!{=)-OV<&?s;Fg?VQ$Ua}W?>uQS-&7_54N@9yS4QZL^$SSu^O(jY% zsBX<$iaOki%FFFaJ6B@lwN9NjbJ4hN_j|kN+~=InU(b0Sb-5b)cts7#MG)F8`dkha zie@YnbU`P&pnsu(6#xvZ1atshU=^ST=mQ48Y5)VQ0oDTR07JkCFb38GSil4@1vUU1 z0W-iHumCIpD*y)|z$U;NumNlVJYWad0}g;A-~>1WE`TfG1`q%uKmy2sJKzC$0$#vo zz#E_d)aEXTrecK?2uOH}fQJb8^N>V-dO9yrn8HtYK@zfrND@EYUWf>O)I5<8Im}DQ z7>x5l|5l zlGm(e(|)T!-*lC=&(rdW0k`!6Ixl8^TYY_;W?l2lFZVBOTh~3e{n|?Q?d@sI(Zc7f zJ~K(mc~;HdWilCizxmJtZNZQzJ9{aXmAhzt;HvAy<$+VVeVmRtp~e&Sp+xspoHj5< zVKCJ3-hxU#ER}Yd@0_K{%Jk?3VzxBXJr?`Q@rKzTI~X~EAqS25BurA7{`Uvgzl8ns z8m}?vPG)DHwQw?uFt-c~m!p=>j#wS<{rcSHX_uWU2d+qbD1Zm+SIo@qs-E!hcC1C^ z#N72^B^-;Q{NCLb$BuvnJq!yIP2Ijf?*vPy2exg(_@N`56zeCr5~@P{)L|5kOC_pa z#*OiwM0GZ*>QCA%Rka&xC53zqwJdkLR@oFf8$T}Xv^?5p%eK&3Nbl0Jzf|tf1mT<+ zD>xDH$n%YguuBws=7dNe<>PKS9U66T3U#$G7A@s2One&;v$7A? zwGE{vGvVZy$)yr}+#ttaxIAF$B`7(k(YbG`EM6ic72qW4Yu3ShBIf@C2wI7PC1{kc zbC}%OEu^Gwv{h{oSreb~2`Ag4Z=7%BN6z!4EMeaUiDkX}rXCcjpx~qQhWDC1=1o44 zwX0mZ56?Xf`<7eNU3{p6f4t?Sz(VJIh(sR!sNkG6{fi_HVgm4Sfr}R`udqX9DStC)YW-(*M4UQTLqU z%lG;KtLpfsW0mwZuRPpecyIamuq2{iS#ch=Oj@3&k1aRY5HfnIin%vAm&0_)>xgdcqvEk?_yK$GgCW`=bK57au)+<(r}89 z+R6i7^1vEx0|`Igb;Zh_^+11Jb)RU}T4k(qQtn`)2zDrU9BfGY_+Xe5-P{wUnz()^ zVQ6p7*f7IH@yE4@kYojm2W^-_4I7BjbBBZ+^>udf%imS4o5xVfD41QuHtFO`TkuyBCt*==W>GdD$;W9ML`Vwgvv}K3_3z z>u~(GAi|Bkl#$X}hjC$gLu)~4%4xorQ*WqW4%%w4b{ delta 1270 zcmX}keLT|%9Ki8yvD&mV4`pen^|Xfb!x(Mk;V#z$$-@zsGS-74ojlcQd1e=~xm!7^ z*<9#pNl`*gljy~E9b07Xat$vODh{u>Z}-Q2Ua$ARpW(6z^hD_dT9$&w9GViILi=Hq z(;4mPoObjV7_bEB0eyf4OTjXL19)HnmIDI#3K#++FapNF1ek&qU?ngEB(MsYgVlfx zEPy4j0&BopKmqH(dawa(1e*XAYz8!74Qzld_!`&&1lR)y;0Wlz2{;1=Z~?AhOI*3FJq+lL@qPTG{l{tew?Yj#M!*~Sk~XP_?AB;48M0tH9_Zu7EBT} z$Ts|@gr`FEbm0dRYH~^GY~9EVbH)gHr=`h^7zC41@pZ?IJAM5))fE37{h5-+H^4 zhx1Rwt5=Tiklu}W*B#cfGYUi2h=c~LDIVgAAPz1L_F>3YERL4_UG@wCjnlJt&_g1H zZm}bMJ(3o}&h;HPpW*Cp`W%k_-gQPDOQ6tH?ND@JjZPJ{XM1J3FWwEE zN3pRejQXe6D(L8oEIgSuCTTpAZzgR$pI>c&?d%v=nqEQi1{(SfZu8rk=yd+m)Ni=a zk$4F^rtt|q>$IG^1Kn=wUEIMYVVcQt-5vau z=k-dDXtyB4-Q&dPK8@@opV)EhBL%nRio92*4;o3gaO~)(>Rt7?iy}#HMwzE@FsT0R zIy`xQ7lU7XXsocoOMvsxyGzUxse diff --git a/agents/meshcmd.js b/agents/meshcmd.js index 44c19fff..4ebb9a20 100644 --- a/agents/meshcmd.js +++ b/agents/meshcmd.js @@ -2227,7 +2227,8 @@ function OnWebSocket(msg, s, head) { if (this.parent.tunneling == false) { msg = msg.toString(); if ((msg == 'c') || (msg == 'cr')) { - this.parent.tunneling = true; this.pipe(this.parent.tcp); this.parent.tcp.pipe(this); debug(1, "Tunnel active"); + // Pipe the connection, but don't pipe text websocket frames into the TCP socket. + this.parent.tunneling = true; this.pipe(this.parent.tcp, { dataTypeSkip: 1 }); this.parent.tcp.pipe(this); debug(1, "Tunnel active"); } else if ((msg.length > 6) && (msg.substring(0, 6) == 'error:')) { console.log(msg.substring(6)); disconnectTunnel(this.tcp, this, msg.substring(6)); diff --git a/agents/meshcore.js b/agents/meshcore.js index 17a359a6..4eb04587 100644 --- a/agents/meshcore.js +++ b/agents/meshcore.js @@ -1179,7 +1179,10 @@ function createMeshCore(agent) { // Called when we get data from the server for a TCP relay (We have to skip the first received 'c' and pipe the rest) function onTcpRelayServerTunnelData(data) { - if (this.first == true) { this.first = false; this.pipe(this.tcprelay); } // Pipe Server --> Target + if (this.first == true) { + this.first = false; + this.pipe(this.tcprelay, { dataTypeSkip: 1 }); // Pipe Server --> Target (don't pipe text type websocket frames) + } } function onTunnelClosed() { @@ -2279,6 +2282,13 @@ function createMeshCore(agent) { if (sdp != null) { ws.write({ type: 'answer', ctrlChannel: '102938', sdp: sdp }); } break; } + case 'ping': { + ws.write("{\"ctrlChannel\":\"102938\",\"type\":\"pong\"}"); // Send pong response + break; + } + case 'pong': { // NOP + break; + } case 'rtt': { ws.write({ type: 'rtt', ctrlChannel: '102938', time: obj.time }); break;