From 80a73cb14b1e6b02f8789f11506933592e554bb2 Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Fri, 23 Oct 2015 14:23:04 -0700 Subject: [PATCH] Minor cleanup --- netcon/Intercept.c | 2 -- netcon/Intercept.h | 2 ++ netcon/NetconEthernetTap.cpp | 29 +++++++++++++++-------------- netcon/libintercept.so.1.0 | Bin 47448 -> 47448 bytes 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/netcon/Intercept.c b/netcon/Intercept.c index 3a44419af..2a32be17b 100755 --- a/netcon/Intercept.c +++ b/netcon/Intercept.c @@ -103,9 +103,7 @@ void load_symbols(void); void set_up_intercept(); int checkpid(); -#define BUF_SZ 32 #define SERVICE_CONNECT_ATTEMPTS 30 -#define ERR_OK 0 ssize_t sock_fd_read(int sock, void *buf, ssize_t bufsize, int *fd); diff --git a/netcon/Intercept.h b/netcon/Intercept.h index 1a36cf76a..9b9d5a976 100755 --- a/netcon/Intercept.h +++ b/netcon/Intercept.h @@ -31,6 +31,8 @@ #include +#define BUF_SZ 32 +#define ERR_OK 0 /* Userland RPC codes */ #define RPC_UNDEFINED 0 diff --git a/netcon/NetconEthernetTap.cpp b/netcon/NetconEthernetTap.cpp index ec3a99947..ad573fed1 100644 --- a/netcon/NetconEthernetTap.cpp +++ b/netcon/NetconEthernetTap.cpp @@ -53,7 +53,6 @@ #define ZT_LWIP_TCP_TIMER_INTERVAL 10 #define STATUS_TMR_INTERVAL 500 // How often we check connection statuses - namespace ZeroTier { NetconEthernetTap::NetconEthernetTap( @@ -361,16 +360,16 @@ void NetconEthernetTap::threadMain() that the client has closed their end and we can close ours */ for(size_t i = 0; ilistening) { - char c; - if (read(_phy.getDescriptor(tcp_connections[i]->dataSock), &c, 1) < 0) { - // Still in listening state - } - else { - // Here we should handle the case there there is incoming data (?) - fprintf(stderr, "Listening socketpair closed. Removing RPC connection (%d)\n", - _phy.getDescriptor(tcp_connections[i]->dataSock)); - closeConnection(tcp_connections[i]); - } + char c; + if (read(_phy.getDescriptor(tcp_connections[i]->dataSock), &c, 1) < 0) { + // Still in listening state + } + else { + // Here we should handle the case there there is incoming data (?) + fprintf(stderr, "Listening socketpair closed. Removing RPC connection (%d)\n", + _phy.getDescriptor(tcp_connections[i]->dataSock)); + closeConnection(tcp_connections[i]); + } } } } @@ -382,13 +381,15 @@ void NetconEthernetTap::threadMain() } if(!associated){ // No TCP connections are associated, this is a candidate for removal - char c; - if(read(_phy.getDescriptor(rpc_sockets[i]),&c,1) < 0) { + unsigned char tmpbuf[BUF_SZ]; + if(read(_phy.getDescriptor(rpc_sockets[i]),&tmpbuf,BUF_SZ) < 0) { closeClient(rpc_sockets[i]); } else { // Handle RPC call, this is rare - // phyOnUnixData(PhySocket *sock,void **uptr,void *data,unsigned long len) + fprintf(stderr, "run(): RPC read during connection check\n"); + exit(0); + phyOnUnixData(rpc_sockets[i],NULL,&tmpbuf,BUF_SZ); } } } diff --git a/netcon/libintercept.so.1.0 b/netcon/libintercept.so.1.0 index a2bc345bdb4359e710b6f3a8d237d856a49854e0..a75d6ac0200e89dfcae6791d03199a080a33eef5 100755 GIT binary patch delta 1756 zcmY+EYiv|i5XaA)TWq&4>e|Ob*RVz)F}THkfMhFMcl*GC+q4Z?Q)o$~Y`03VUE4*a z5U(*lX=}M03`Gi5Oq6Jem`h`WpafB4QYArC8~mVr@EK#Yf{LH~&pErO`{C~VX6`)B z%-l0KFX!gv$vG-L@RU83`{paVE)|_`9a=j1;-5o5rQM$?5whF2d4%v>!^692gTT*o zj^&QZ1w!O_LOGB-FGF4G>CA(?ncwk=yfn;yZ`bSWeDx+662^H)F63_G+|GfL|8efg zI6s6)h2H1pVDB`kUohS?1dlx|=a_UuEa!>5J1ikeyrX6LNH+`F>llYI33;D!xP+3t zN;??m{c6RU_irDeKj2jvM@|}HtAFdm35b&rZ=FF2G^&cimDMrH#wC1uipf?4Tf(P@ zTwehBnL;h|JAqLIq`2A`o~488uG&?1j3r&lUPY`6G>V+3kw_ zNK~d`btmXa^>pEctZf-_jNjlCTFwO<-hhsUZsY8RrExZUeQN!v` zLxAelnTC$2)NNmZMuc{=uapC~2$5j!;bR*<%p69549_yh@gS+%8@Jg>9i<5YLVAEn zJ;3YCdWcCq#5Yh(q%V~gl+y28&VDW=HzB3)(GT#fU9u!j9-=aip1H zB)W!cd|9T-*?baarj35I#&VP$eTxToC=-0#4)+QgSDV-R79W)tkl;ZyyKXOp-%Ew4 z*UR^sJG!>R>YkUIpnd=|Ym9733A!q69rL&y-XiFl%tbHG!y4|&(qBwSZ*0*b5O&DW z9;WUronuOZRLgo_b)Lm55-COjx>X*FcYQ0fZdJa;!+Mrk?|gw8Ti`Mb;TMQ~UzPP=};vLqX&LvsRbI{GMaN4bT8=XuOe6W<1=y$+f7PS|1ooc7TL z;r85jn(S$_hX@kldxoazG*)2vW-#A1V4h;wi==+ujdy7dwfzE)7NeW=q4u|&<92i< z7yXfb-*P5xQ}nmmK8*b{MSgdq$a*eP(hurb^HTc8{kVBA*~NOy9hjuqxnjxH6qbQ? zBa8J;oduhn^JUgzIM{c_3GzXLYatjaE-E{15e`(?`kYW+aF zxfMvu*C!cn@nsMF>Az|9p+CEk)`b1~|6#AV@3rMv@yB>cJXWkafPdU%2_E|6M%k2A z>U(gfQ8r|ie0k8IQAV=L0FP^zs)$F+`$`eYV@+gCO~jK+sowYuZFld!|LkHKaj&Na d<)Y7tVkdU2lM4iq@W=qh%s*??9Uhoz{0HavNGAXQ delta 1756 zcmY+ET})h65XaA)yA_s?iYo<#HC?OqBXwDM@M9}WcY&?6LV+|}K5JT7T5Oae&_uBI zCMK=b(7^T7NYgLG2Z?FZCRfD}(8koXCL|aWaihLeAF9R}rL|h0{LeYNRrlfU{LZ=a zpE)ygPik4FmgV^r6?T@cojZ3e)N&*=oEyLV%$kPf=0*1xN`~!id%Qw;|G>l7x>exk zy}))`*$N>%-mnLD`!`rF^mb;$?%;PyMD`H2{k|RVvh(%Zu+e3l_hrHEHqNaql>Co# zPulreDCPMMrm){>LceOf7YH7Q+4h)lud$sivLCX9DDWLwm4k3guzh33VM4+lHx6GS zC7+`mjPo06UF9eDj?oQxl_e09w3om8`6SFUP`-NsDUhS`BV`p^B)hKW)6*8&1hLh8 zde}9&un*>Go8JkHL6BNhTV#ojt4FFHefShF=OFp=!4W~HnS!8@9}k)gB1!2q1>a}s zDdkip$W>RX)|P)bg34LWZwJbUb|Ix1_8Wpr@G*E8%!L)4VwoAWe!~@7QvPV1zH_^x zKM@tH`s%aviu${Hh9gORE|#M2W&rq2FY zY9a{>?YsMh!%yH~5!K_ILf z*sB|OlUX;hS2yuJBop1+KO|^Czi&B5?HDo@G${GpmNQ{T2c8pjK)!<(Th62%)x)Bs z>0vZh$vK{o{YAWe9@|W9ew4;?lpQ-WnFGAi3OC&8woFA`UjOBguJZ9YVN8<_GcGUc7LBm6lX zrHjJd{q!u^vt|w<66Sk`W@#29FnR}=?;0?7G2%l|KhMTIrI6dN;Mhu3lP+n0%bB)g zAx`?Te&2G=*e2<#dVdu2XOjH!R+2TGq@hy%v^!wZ1Prt zbs-D%OwEJM%$26c;-mD;m8EBHE**W1-tWU?nd~2woc#>gWb=4t2z4?(%u_M63MW--9+dRY}GVnr_$Ldt7Rrnl;dJ2#;E5)0JlKDlkal*Zhf f{Uh?OuZZf;?%O0+2qNK?0koNamg9~NF2w%<0l7xE