From 8d7b2cd4862d79f469b55e8125f3b873da9b0478 Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Mon, 2 Nov 2015 15:52:12 -0800 Subject: [PATCH] Removed serv. conn. checks. --- netcon/Intercept.c | 4 ++++ netcon/libintercept.so.1.0 | Bin 57416 -> 56824 bytes 2 files changed, 4 insertions(+) diff --git a/netcon/Intercept.c b/netcon/Intercept.c index d7855c61f..e91a14cc9 100755 --- a/netcon/Intercept.c +++ b/netcon/Intercept.c @@ -333,9 +333,11 @@ void set_up_intercept() int setsockopt(SETSOCKOPT_SIG) { dwr("setsockopt(%d)\n", socket); + /* if(is_mapped_to_service(socket) < 0) { // First, check if the service manages this return realsetsockopt(socket, level, option_name, option_value, option_len); } + */ //return(realsetsockopt(socket, level, option_name, option_value, option_len)); if(level == SOL_IPV6 && option_name == IPV6_V6ONLY) return 0; @@ -362,9 +364,11 @@ int setsockopt(SETSOCKOPT_SIG) int getsockopt(GETSOCKOPT_SIG) { dwr("getsockopt(%d)\n", sockfd); + /* if(is_mapped_to_service(sockfd) < 0) { // First, check if the service manages this return realgetsockopt(sockfd, level, optname, optval, optlen); } + */ int err = realgetsockopt(sockfd, level, optname, optval, optlen); // FIXME: this condition will need a little more intelligence later on // -- we will need to know if this fd is a local we are spoofing, or a true local diff --git a/netcon/libintercept.so.1.0 b/netcon/libintercept.so.1.0 index 9c4b8d4c5eef6654ddc6236215dfe0ede7355857..701a5b4e78ee0c18fc2f1c7d8e59d062fe281b82 100755 GIT binary patch delta 20152 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 CsN+Zg delta 20760 zcmb_kX>?Rowm!EiBMC_$grq`-%0M6iDhVVcOo3tyLm;z31A-#jsDLt~rjVhf2q^Jr ztB3?`ZIOl+i6|m15mb;tp|!g~5s;^J0W!2BHbUOF&v2_MuzI~8@2*w3`|SPg;q0@| zaBme{dDptH*}A%`rTAz=R`1X)y_vYSH2iK?yP-L_}#lT0!#0uHoLEwPCB{BxAbbM=1W`E|O7b$a@Cv zgg?b|gLWB<_`id0HwN*t;8+Vw;?shA8%_Mh;4YS^Ouj$ZVU+S;gGa1lk)7snJBU-KO?y^J0FVoY4|Yq5+K@7>#itJod5y_=nRdi@4^RsK_6 ziN`Kk%e^dsXAw9^O6Ksf9c}r=e)4RR|Lv+U<}c|%lI>EG&)0UeC1m(%9?OD!sg%dY z@*^GNEP=87d`G*nfQQG9vo&-;&`UlDIa~Z|OG{+(Qjw(MRRc!y*|BzGIe$8Kh^xwd zt-}3-`#RXs9T{`FKOgBnG|c^xr~W@JE$&O6mvLLxJpZ00S2O2yaxVETeooA7xy=)t zway97iF>9xwAp1}Mn1J0a!ce>%}aOB`EtqCpxOUea@Cj<1ZL>$152)1hPf|~ai1OP zKJ7l?zBD(jC8jvj?qWXHB9n(Q=7+jXIcn*gm}zHIahVRC)y^uX`zL3m`+8M{`zqp} z62n+-v-|HO-3Lq1fdlBY`=sX^+?F+$kngYE=Z3m3x=+rB?+?4$*^+D49&59oz**b6LW$&VQ&w-z) zMh8rfCNsB7Gp|AwlVB=%5FKgH*bbT_o=^FE@oD28k{bC!gVq5!zC~(eN{vTN4Hx*^ zN%w3X{)kfW^b`8|_q7w&tN5f&wm6HBGEbP41xQ)v_Pn7}+#P?rPO8lF<&Pq)wa6vH z`U#l5>~8p%!CgR3q^p;J_xweG2NWTcy{tw?xdIUMD-S#vcoPPs>Q??`rxar~zt*Xj zffOdh8Gq!X60(dqJ|`iy+fP5Vw4DD40l4?>p!z_W1mNcR3j9aEWg(2s-f;c^1^7JQ zols#E@Q#VKiRaSn?AGy^sFQTbA?IuihB?IZ34bCn-sr_QCYBgg{7Pa*Y+s=319R|~ zifldHENgZL+IfCbPuE@WQ~drZ`#V%aD1nioAB=H(>hlk!+8K%nJsA!OiYO|~^A50M z+*8sM$JBR@Ng=2 zEiJNK>tlk1*Zga3#c(_wiJWFraDf*PIf`{Pe97eT*~u}k^Tb^>AO$%09`{G6x;J1E z3P?!8M4^!i*zK~{>Y8bl^TVF2tqpov>OLZoEv@sxpr{V~FR z_<(kBAPZ&z?_kexwU_vQCf<Z~rcS*^zT}7TyaLCDInDj1>X?$8rmhmiqIwi$&CYf(f zsf=nSpY?NCas4A9#q~X&;|Zy0DHEVyKOi#Mj*_|Pxn0=sbS0$w64HC|BA=9+8W|5c z27&Sc<`~|P8i!-S#?-{<4*`|AxT3nYgnyBm81=Nt-v_>@ng^#P8u#$dY006*5K#}d z@RGDt+gBHL2Zmhm?LZ)3o|a`SjUr>TKq#(i4ZBPJj(>E$^8s7s2Px!_un!djLn@ zw_p+3%R4`W!we9RkCdcMT?8OEm)}nqeM_bhpzB~d+OQ9KnjxHj^hmKo1;Sl-v-#TBPdCa^G`DpjrIIOMo!OH<0z>7 zC8X&-S6p9+9$h7CI5%PZZkurSnn!I%yBx^6CxVab5|{ZQnCCZRnchW9t>=vJKPx~j zcDr}s8~}SCdS2kGyDYvxONbv%hecY{yFs~lRm>CAJNNtW@*Z|(=9xmM`ov|iBBF&t zdM>xQxW1p~7&JVUq*mV#(cS@>dp9C|U$A=ZvXlN(1UmUI?&{hvw5PDu&$E&5>H2~Z z&L?N~HwN-`nNxA>3(Oi*dEg9eEo)xz9n$reKqxQ#S4+z-+Os^XL4kWGai^GElEZTq zxW)B>c`=AlxI5h2d7J0e0DVJq>8;?CSI zMh*WR{;uW?xg%^xPqnlplg7}9sA?d|5+z{^|95V3$|-bxqLSVZYa_x&<8MhARmD)C z>^!$;Y~pg*z_^=NEhtLZASA4bztAhrH6$WuNzlwT5nYEw*at_%4UUK!91$`)Y(Xo| z@UXEFU7bD<7#f2QWqm!2O(z#ne%t~htE|H!>?;F?M0EXqpp)!dhTdS#Db4lJE=iwa zr(<<93?ixKH562T@VE1Jy@muX1+|`!@6|8x15i2qxn6e$cE^})=SJSWfonl+;1A^8 z85n?Zo5YXhRRq?8I?8kND+1pXJa>Lt;Bioe{Ehr>f#Dd(4gBl;et}~ImD0OY;C-NK znw-5|!Q8$-peekl7LSDdch1q4_zwInXaBH`nAe#8xN`V4XXo(gg}RN0&8Ux(j6d;` z!Ewgwrm2IEv~k^oF^KuH0%)TwjIpHdSeK1y1~HOmVPn#C9dMd1l5`_so`Wm!NjLef z2Ong{OrdK}o;&$IX3R0f+RlPPz5qBr13inmDxAG6ow=ahU=iMa!9ogp5c-!i9zf6{ zqQ6lT5|i=~MYl%aS!y~4!k8Zw4a>OF<&7C@gcXs_hua+X zEZUv(l#vZR7|SrKLam-GshMF^T7NLAGK_NEFd4e=>m?ms$6>tdKE!easIH%ZXoF(Q zJORQ5BCA@NOOZy{4&b{HJ^;2Fg~B%Ay0^ylAPbJWeS-NjG(|um-IT5D`=XIFx|$Fy zdN5YO-;=S+a4RjdpjT!IS%iJ-Y3lsu3V;_W?ER#P%UIjg7V*BI*x8cH=7ZVuInsKA zv@RmnUb7Z5V=J}VS>Qh}0X(CLw5<)7>w2E2!P`dSd{n;UZDnwO55}eegEU&^Q9wo? zmffs`B7O%~ElT|}0*dqxLPK0RXMDsW5o3F>I3*0<3Stj*+Rg*vV)^{FaS8W~z_~I_ zl<@}@VAmj?-gn+Vg&BKww2nZU&bY{D3gE)11{`_KGQ|norSF5rBMF>DhTnQTShJ`T&UO?l4Y4I z6vS{?LZ&mv<37emOH8PBlBzedJr}ljE6{1!o~A+T`s$qJe5~Xb!GT}WVL4NM@+@+^ zMB`a1f3z&l^))PIU&2!aGMotDGOQwj1%m$CK$o@cX< zDRz4(W}owEIIQ#tfGY`-0XW}Kc%d!mSg6bTXC06u(Fb*hAId5x8Z0<+d_a%+gSMNN zM)`m?`GagL>8n)CsBZ_Ro6Aw6xU+G)RM7A`8~f zP1Hdj)Lj}SK_^Yn86VIJf6zG-^s5i(b$`(J8kCa|hZlf!nd|Oyz09#b{EZ5mYXQn3 zJ5!;kS{wzck%_#;Ln`V@7YWT7OqY>97dW2WreEF@q&-ZkF-g9ci|P-mz7wQ>z`GFR;%o{e5|m3^RXNl z1qM?qABtXF#@cvr`Ufkvi_EYA<1h7(rk!!a`Q`G|Zt*`}ZvfMQ-vFj0&n<$4|;9jo(gq6N#dE zOqX6dep4V?sXvz>S{?@0sC67lYE6=R*2B;&w>*NsHI_Qq8FUWoaO?N(hHI^XN#6B8 zv}587(lscIvA2k55272Q@0tW+JrP+TT0r#Z4WeKWOg@Z-$w_PhnhhIHQgf0KCz%{f zD1pcJcvJ-{PgRUP5A96X5MVb0${gF2oU+ginaDyLR0Lg=g;@aYR3OU2Q3)dcz|VZL zK>e>2Jued(DYsBAWES#=q6gvAD##{%PeA$CCsAYVI^<%=bY={<5a2MvDr%zDa=3*g zp$N6;ZrX2TdoZ;pV6;{HA!@Irh_Rt{pZ3KFw&J=V6!iI!fS%wirC!+EU zUUo|dSN;_^jQN3FxBd>pSUWWy#>IZTNd$L+oQa)slQ`_H!){t64t$%$fo~iVG;GGq z+01xH;H?dB)(wYcX6&#~6b+@G{u#@t&=3kaL#9{L5jktpHhul zw&)NU+JZPPsB)-<>(_;!O3Ex9P+WuPeB7|Jj%6?N_3+34>S1+j551HJ>S+{ag$OEM z^;AzIrvlv#eh&$#LtZI5Jg(%-^H+%S`i5pW#}g#ePLG zzLoVVso@fjB92);`p0gnzt4Zjvrj7x(fOZMgQ5#WPetdun9)VhO9oujd74%}C5!%x z&gc4vmy_e8;saOc8UAP{o+jqPvUr+^WL<87r$NfZZs{DG>S2W0^=^n3M1YtD;;4%# z7sZ7GO4oW2e*lsB42UEg+OjSyBRCR>t36C~BNIl2lMHktU1LHw(ln~Ow}$s1L)kwm zBa|yz7F3h6K?{6owMJN*mG#IgwYr zfKX9k%W@o08Z-yrfQAdcrCB2n7_5#VEa!iGK>l(}8#Zzu7HDf~z^&*@RHDcVyC`qS z@vYz#^Wa3RxUAZ1PNI%(Bi9i}-Tah{?>DZ4JhzW^v&pG~y23ETk6Jdnuew zEj)(F*2~noOSdjjYpQN_#_(kQRmGC0Vrh?dvDmyGv(ol91E6BDc`dinn~Eo??Gn3} z+e)u1wt+ERys}s!6s!$b>WU}P)><#xMk|6OSpB}1P9F2pTr6igtK(fCfVMI zrT1-WKSA5cPvSY29{ooLV+A#?2z+%awii}B5>Vq;V;`0>8%}G(9fSx_PYL_#hL58) zE>Jy#9ITV;Pgls%|F@wa7qv|F5OTP#SS)JYEVsflJ+c)rgR!tQy>g`p%fE-9@GS&D z*CpJkki?PIT&7vh2TFb#ITjVcbyYIQvJ^G`GyplUE&$cuii0)gctU0E5oEqtf?yx7 zEEJ!%^1BpY9hjM8pAyn(`e}b5=8QT`@2ksj(Q*1<9V@)16t?+-z5Q?uQvIOC@Q}jL zVmM3jX|?-S@hQ4T6`$6hYl2Tt$1Hof;)|*HWU8n?Cgx&ly38Q7v%gX(QQ22jgDQKn z1cjP!|HQ{>j$*LcP`D)iK{k zqa6xd46A-!DKzG3hc3B*Pf?8W z(Y)M36K4@l!}8I*T$Ft-#?5!)xDnSVHq0fS)+ef&a#TI7->zoLaWzx!7IHfB%b9k+ zg=ShDj)`*OEHIzm<-}QNNyNli2zfycA|9HdC(bNkC>F<>!oMJuV*N>l^ky@sSpa-q zFutafCSS`i#~)SFX!`t4S_!qT^G7*0D-cbeN0loo(02tN^+)q(oo@{EY#hTu?AeMh3j7JxpaOqLf6OKI&p75SK0r&1G#hd074*Q93basp?CW<`-tw|Cpt#K2{vTC!vyx z4nl0mb_UK^a`BHBa%%%hS}gvZtY5&Qwc)sW;Z$T52Ur(!E^Bs>^%*$+Ck)8Jg1IKQj6%VzPDcGM#Awp>4+woz$Z}RH36-Vj@P7Z2WR4lCV;g!P|B0Cj_E&$H zW0^uxf%cUki@CsWP(muuY5u~S7U)5R-_w?{#U>u_zb-2QRqh%kpvsL>y`ak7>Q!(g zDLxhMe!-_FQkLCW@kQPCPz|cvOFqhj6`xAUj;8)GHnReTAp*CkY*EU(mpS}sn7EYy0~X(t}Ofv2(;N~47mcqR01*yj(u`ek{8 zLZLm9zW)og?sM9~BJHkd=e>u$#26(FH#_YlA(QC;Q>IONDlVZXVU|Zf2{T5&CM<1t z+QA}A51}pM*kkHYS6E&nIUaLVz_&Q^liw4LLMjhtt*f1OFbVoswDSt7 z%i<^;YF+8HLjeDIQ)tXrP*Osz%LNxq@pFlK$y}8l-M)mSVxLEpPE z-&pJ>{25DMWgDqPhFb4Y*l|r(9Ah^Ofthh9F~VW5xriQHNp|PZZ<|7`rxbQUHHVrZ5s5yQVmgu^r>4}-;K`zaHT5@qTdl3T?EnYPBT7W?C#=xny!Se`< zy^p^>KiPF&d0?@RDIf*#i~u5lAN>QcuT-Gl0~Finqp?S8Trmx9QsO6p{ZfdLAv?3b zq4+O?Z;8Fg$1O-Qe&*8`yx+MJc~pb?3#yd{H7Zk#06U@vH6WO;p4p-4o`sVF#XsK7{}g} zPZax6u#=DaV4zO#ep8ky-YNhR|DYP8OJE2e1BDOFTb8`OY2@P5MnXv6uzrCfqY-5o zvYe8~tPz@%%D;Tf=1L2ctgw;M7Chglqe(id+1b6=FxnYU54O?!%ZwF^4Q7dJ7>uX( zE)F9%x}DKJcu?FkgKY++T?1LJu#uUkh^#Q^whty@Hz9;xcge%IP=sRlF^6=K8%?lm zG*~-W#+285{AS2u477>B5tg6No~lDC++Jw2EV(X} z{)p^j`U~{))>lGAHVD^`uU}@1>@Qb9b6fQ0*d6KZQWsmRB#weLHrfjq8QotD z=$IITuoPrTAfqB0tBfMu18o$Rw}wOKKwJM|w&@{qAQ&qX9NY8=Ie^$I{1_qS3jo4(J8#0Pn0*s)LQ9-W{ z*qd{&b;kGBcKfUg7h5Ak91T4j*-tDP->^6LcelB%4}{FN9>c%>Te0dVEB-CuqK2^s zR+py3Pp)d``WG@om%*wu`J>6I)MO;(N1&=T*-^0q82vI)x5~XhP2OU%sx(<^vPM*E z`c6N4x;4i{R%>#x$*R)ik~r?%n#fPQ66`wV4PKMsrb2}#b+{CKr5XHqFHn;@4hht) zxn7_qRVZzd$VxLT-uz0TtDOn1)ugZcGSj_In89i_sS{?fGEGkOn$x5Xi-Ig`)Gd`S zJ0hyRF?VI&Ad5C8A$9Fs<$AQEO&1e1=^JtRO(LFfW5ne;;z?d}n$$5;#N{etY*0E( zgH6z+4%1-enq0z*UoCXSm{uoh(l^MOn*=%W#vp5Skau{^Y0@{ynwzC{;*CMpc!S)s zG4VeA+oM03)~hu6waKc`Bxoa%~X4SLxm75{Td=LXS-V9OhgBbbh%@8#{h&MJS zxb%;&QoWIC@~X+I&}4nQ?2jx|-Fj1T4OXGa?S4Sr+KhKSG949)jALIZo;0ajefhf0 zom?san;A%@CPPh^)tc1NkfF*(-P+~_YEnldfx6|5ty+_DIvR=8t-cAo<#n5xxt?Zp zWtv=JI<3{Dj)zQ@nbE!N1!_{qBZ0cr7w@!X=4vIu_~o}kJLsPqeP_l{I+`1sQ`_jD zUR|^C9-F%-=pU60H~p3BPQJ+pZjK+Wf3#9*`l-_7qb93DlNS_=VytS^ElVOF_>#>u zHQLmx)Z|u^RjbKuKBg)gbql62jfUx{?lkqvH2J2#xTr zKBxp+OhBy${3^yVVXl&FH4zgu;wlZ#-7Y0~#RSx7!24d7Ca)`&mEmVCvg_WzOKvbV z-ZaI}Z;8*XSAg}V;ZjX%_ZHT`Or=CVXtOO;|H?;nxs7hg{+UA2nb7^p@HPJa8}W(y zw>js$?lg%6k8X~4;MG4}?bIEkr%C$F3S9=P*5r6TXltTN|K=vk1XOBrsmZF)EIWN@N)DB?DyKys?g*MibbPY)u>x74 z)TE9_0(I-G7pO@8=*oPfqld0(N@2RGSgOf}bjt4VUsT*Wf0$L8Y*0%7hg5Prow*_v zUjG0iP*iE0Zl)=*x9&BkL`iO_do9r2@U45z(^0nN$KFlK(Y5!kGKsB6llx6pg(g2q z7h8t@al>T1vzNtQrOB%%t3s2J84`t~*4K5qQL31ftExubx%vbQnwHt zCdF-MR8;y04PwZvX|>WEoy<_G5lFDeX_iiD80A+BHFGF$|6Y2IPSIm#V5OS;gUPDU zh9j@L$$jgIl3sRu`wdN5q1p2olGB*Z_r5^wPr zZ&3#m{R8Ops(m3@Xm3!9u>LLL0o6W~D#Y}oIJ)!?uJ)?-$LT^mQ*}=Ntc9!g(-|b@ zC)bBqvbr>F|L~x}7w`SqrvLf9v?>2uSvVWY8}`Lo;&Pid?yCzha(L#U5%^#A9ykZijk_)qkvefoH=J}Bs)k3MUa|4*NO z$rGepHY)xio_YB8Q2knKI&V1K#W>90Iefcus>yc56>P!(m9^%mBUDH1;YW@ZgnIw4 z!FI`^WsruZr3C19<#Dll~Wr?uf?#