From 968ca518cd2dae39cd96644255a56160ecc6b3ed Mon Sep 17 00:00:00 2001 From: jules-ian Date: Tue, 16 May 2023 18:47:45 +0200 Subject: [PATCH] commit chez moi --- build/api/mictcp_core.o | Bin 22520 -> 26736 bytes build/client | Bin 55752 -> 57488 bytes build/gateway | Bin 68936 -> 74792 bytes build/mictcp.o | Bin 39816 -> 49904 bytes build/server | Bin 54648 -> 56352 bytes src/api/mictcp_core.c | 2 +- src/mictcp.c | 285 ++++++++++++++++++++++++++++++---------- 7 files changed, 217 insertions(+), 70 deletions(-) diff --git a/build/api/mictcp_core.o b/build/api/mictcp_core.o index 672b29079e8c4e19d3265f04bcad3fd1d06ac741..c2c8ddabc36b7b85381412de2aa3343a9aa11404 100644 GIT binary patch literal 26736 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 Oic*9aRM*VK=KueJ`BJ_B literal 22520 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 Zx%$uebq5*$D(~qiDRCDUL`ORQ{||p;Wg-9o diff --git a/build/client b/build/client index 65893c2c55007cc2f03b2c87fb43590845e96af3..2a8167f52c68ed8ae8356b0625b8dbcb6ff2d93a 100755 GIT binary patch literal 57488 zcmeFadwi6|)d&7O&+cqC*WKJ80fglqkUNTipg~w%?vaZkUY3w-Aevi~T`pDx3ADsC zE!dlFsZ#sCEq$w%-qfnqcm?f^UbTH~OD$@m_ARxxrLCIZ_j_iZ%_d~2?XSPzU)_AN zGjrygGiS~@b7r1-o@aJfc==+-wk`MLu`aP#swmKqa#K<9yvZObw`N)`sb!@ zdsl#tdU>xO*UYO;d+F>@Zv4|tP4m{&y4p>%E|^+ZJ-M#7A+de(_Sv&0&$?hrOXHLo zA_C=N8}zBmSFW?1-Bu@IE!Iln#um=K|N2`W+I8m#?UBX5ae0u2 zIQ$Ubh?FdkLykD?|8DDZ*6!VwMc8=!m*M}1vG3P!URN3X{m7~SiUWQ=2B;a*ed_N_ z1HTvz4uror4L;=y;lKaqyfl28fH)BUSQ>aD4gCHz{Ew%>Z%qTgCk=dW8vb8MgTFHk z{)#m4t!d!P)9~*~13wS&5dQmr?n}e}2S6N1|Ltk;SEs?hAPxRwY4AUl2L9(X@C|9; zlK>ClzyIfO8hNVHz_Zf8RT}tj(BMFNdoT@rE%=P;FC@xQ{O4OktnyoRr5lgGhGKyg zu(mJJ@QZW;f+cHLM5|-XvCXwD@mTZP6$|Sc8)9oKH`T?gXmoRZV?(qhUfCRvMm6ey zh|P_OhH9&3b1dFsHO03y$11C%vF){St0i7t+hDZ--dJ^GV^iE}N&uy*4y7ot@y3Qa`EIdd&CQL?7Wu{ER&%UsYfW=w zJsN7Ri!~%0uWD?lj@C9nf<#MQEY@V9u`P`)@l87#D$%4XV-+Ng$E@Z`wq@k5PsC%} zqm(cS5^kHC8!M};DqG@KePtc0Ava=qmC;UprS!9*I^Kwis_m80n%aiSy4st18`F$M zsQOraReh6%1gf!`nrj>4HObaAUZSC|2$c<0u{u&zHSI{EieTF+(M^a_&sk&^b5%Nb z`SK-~EsV~XGGoexmYbh`K{DH$n|@IeI1}@bi#ziII*Efn57q!S<|O8Ql4eMrW%tj< z+^;b-#Df|ely1FF;kNRzQFj~#&UGRDCx+B!a;5R2L9o%zk4!xYK6daEn5O(zmw^@4 z*5+DPhV@5N{-o6VtanVgxs?2r<;SGQHohVC9;?Wdb$d>-J$D`Dj+bd>{dL@|lU(>| zGf0ECQmWqdj$7{BrQr}(=3HH}tm7$gSudK36Djaw7a8dbDew^~@RKRN!bAE%zt+T|>N+FdAkyu-b%F5IIKDdtZd^(b_ou*%1fstVq`(KI!0$+b4^Dv}PJx%Cz>lQB zOH<%SQ{Y2V;18z2ho-fAasIY9P}3hCkA-o^G_P$iB|F z({m!y`jr34WScz~K8LEFvERjaU_?1`EN@|b_sJf7#y-I^Lss_*DL=$ALsfUDl)uI@ zFKfDwO8I|S_Og6f%6GHOaM*o7%AaPLp{skhly7I5ZqeN&<=a?hsOsJ*2#BvRuUSVJVMdnNv#l0Vxk*nIWZnx0DN5 zW+>@yl5!Ty3?bbcrR=cG(9vBX<-awc%#hJtF6B2_W~k_%Cgs;yW{BtxN%zrIE+acp~;QksrPrF9L&i>NEp?&&is=h(*2he+&%& z+wS=*Kx-w=Ul(be{|jJRk+zrPIg$4H@1otV3Fu{4HNKuvV}WO1hqjaLlfHW!D%XJq zgJ)XX&KKL&_d(ZsrYD}=uAW4;I|2WHh+;p=f$$i=x}JbG+teGVZdb2p{6yA+;MCK- z7zoGIJ^(q6T6ex^2R`;hyV|a?0w3=jd17y8U~fKZBgd4Y@c2MylsD3*dXPM7K-pAF z+p(@z7$?#ZKKT$`RaXL<3uw);@JYvd?7j;i)c4*-xh?$CW2El-HA-#aQ|)Ro`F5<( z#F4h|8-8u!w_10;)sqMuQ!hYmBKtB3mC{Cs+8{C=>$;n)kEtanqP3%JEh??4xx!tw zU92Vj7NC)~@R>+^_)L3wQKaewbCLG)l1Mwc@(lW!Wq95R)MM&ev@HSW2N1elU4bH$ zAK2T8Vjod{fEwyzuomS}6y1*hRI}|mu$6urN{Ns zjH};WD2aYwxslEG(eG&RgMQo99@Mp-u@h712Z=IBcY{dxIC7UGE=Jm(aBclXvO)j; z0>15P2};jC>H1})?M$TY50SR#pxP6WwskKY3%?EhKwl%Jfu2MrAT;6Yjqu}8r0q9Q zdoa?zt|ZcCN7}Byv=9!VSQcqp5Jb78>#y{`)~A3PJ_(Lps5}Xzu1MSSFjLoX1bJ;n z)E?{l(O-LdT6bbl_+ib~uE6U`oV_jlc6<2kq?}EWww*^JZHdERc!v?_Soje-ZM)ib zgILxbCfnG4d-#sX<6WM}LqGV-n&1BSXCTdAUW&Ax0L&{rZAWiwJG&qY6eZXbdI8}V z067BBYV8a_RJz$6l=TCD6Bj()u9l<8NXNPp3m&8hk+vT`#8CYx-3@pv(WkcX8?8Iv zu(nSob=8S>RVpMqAAvzTBkhUPOWOXrr0w{(KtYm=!5V#T-T5{=v;#0o5NTg=`k?>| zZQp16&wwwq(oyjT*0xo^^F>TO7EVVxA^}ZS4oe8d$3PKj-FeuG&qmGRNJsJ9*<=R; zqQr4?tn0)XSfJBxqZ$skRnVYE0uKmAO#kk5MVDx34>s z^oCHX*Pf)0!M)%+skZtB3DKNZKUkbJ>On_DH9OuLXUGFeS7c3k$$KMphZ0<$!76dG zT@_(TwBTFxndKeoDimD%fB7$B|5P2G-OH|hXjnSg1z!m~pmM<>@IYrx;P;(>3{1rT zhR!zw!Qw$MO--Qe_?v<2pF>&Yq5Njx>f<$$z%Bf0=Z5#l^ZGV8R%o zd{SITp2DfM6TMQWN#CJ9XV|o9u5X&+4R7`I97vA13dG+B-T9=^pggZBLYT9ung}Rh z=8;qv# z+nDJeuC}ZL*SXUp)rEh~bqs*(&a@}aw6AyzxNim?IDzCeM&E+A)3W;5u9@qA_+_+U z)TaRu!%81ggUF}XS%bj?;pa@sB-VC3@|V{lkN+(rg52Y0E{#l}vz*3MR(@H) zir6Q##oBhh-3Cd+Z(kffvr8d;-2)FY&D{D%5Z6`Jk#_IcG71G(oZfkC-x;h9#CDe*XJOv2Ikqnc$&b8Rq(;neZGzhRZ4&e(IEJ4Q{9|2<-|XpmkaJ-7bk4yY>X)Ws zGAbhN9b_13|F|DXyD)*d;W!uj^!!a$KQUCp{4?bC`4# zcN1;{j)AJai$X_*-B$c0p%_1HP6XlSSUEfe0J-`{kZOHnHm}(jW!L*7ZCR1F4ai0? zMAl=7EDfTJcoPYsT!wN8$|qU>2>T$t_Z;3lhe_RtCk^9 z24L^kR}K|uo}Vp7X( z1tO$AsbkWjJZNog9wK`>##aIVnAgcLS|1pZYy631?Aqf3JJNo$4c;>%Z8yOpaT_MN z*@jJ;VUwF+leirs1XgK=Rc?Y+7TK;@j!hFibv-kIEMb-o^-Tkc{~vTu7ck56wKY|)*~@%m=) zdltrgUn2$}^5>od~NMSnB=-MeEOO4EXyo~U(ZLYxH!QIi7Z>gZ`-)`%eiymuXW0>u~HbtE`{bdv7;BFqrzJmTpJxDNIiI*L1_>IdB3xM3V>+jpWSamRaO z-POdH35JhxIo37uHIy(ZgLT(2**t?Bn9jlv(z`o~??MBQ0#OVx2FUH|rmJNSVH+vi ziFd5)eB?Qe{TC5s*5uyTzK^4rUU$FPkR0!OM@e8#r{zb0iTT9gT;l}aV?XyJ2#Ml4 z)LyOtAZAe)7UExnX`oClFJOsRBJB&n_6kf~zDV1Z$S%PAbp>h`19W8xEOC>eeh8C@ zwnVrqaDRF6JUg(jT9`?>h-E%mAqptZX?r|<*S+Y_{v28Kv`2E%<2?^m|3e?VJBgI) zgZ2Wsh+cqAAFgJ!7yf>z>B4*U!rLZ-0GfL=;nZbX3L`S|J@?x7o3jK?~&T(T%>%(fPV0@nG%w# z6U+sNuv>UQ!vCQG!apO$8&|pB9_N+E`?&f+1GkbJ4b=TRtUKDn>BxTw@?^+LhjfHU zZpcc9)RIJ^yPUvmw7Ms8fN{%sOiI*xtdtr>@JafM2~+M~>`93h=IR&Sde|uG!zSFN z?@-s3VBNl)V|o$BbVues7op{H(nvrMVF41x8bi3TN*q4bS z#QQi1<~e~6e@No^A>ii^<3c*#IG~dBN~8yUGAof}`{f`*C*I<01uh?Yi3{^|U3~%! z%u<7T`6({DL3`ZLR-BXeb~Zl1OmR*VUH@vTiME-BUi}RQFItJ%F5!knihUri~Bh+dLm7c|Zut;hyoq9i*Y^Rgg z;3pnGGve{C5%v?UFWD2GXgk4aD;?=_kaF6RC_E4nhi1=eNc`^^nv;w&Kckgd4wrPU zkfrd<0fp2Kcnby4OJTW1LUS;X(V6xeKX*-H=5Ly)cmD2Bza68k_}gF0P&qA=^gtcv z(42wx{$bR82Xbp9j?u$rp*Y|qy|jo5Obxn+5oM3`E)|cWh-H_)0R{nH9;Kx%HPL!N z-Lz5E7D&-2=sqE&5_CskjHaiYBa~;yzH^Dzr5I_@6WPE2CKm}X#YcXHakUtmU&;A1 z)VA{t%%3OqKFTUCHQara9|0M1uhGj8ebN6YVEO{T2)Xv~8({jYe8#0jhTgfk?lEpn zcZF#^>^EXK;UBjJ+k(tuearh!i04M4cYY~W1`g`W{pQZ$XAu=}zXEt=2Jff9YY)HG zyGgb_()L%`3VJfqw&G}{?Yals*4+bw4{<7SyAaS_IHD(f-G#q{lkUP5!ZY2%_kmS1 zpb>;%nt_mbVRzvnGzhCK&j&odVJ(NV^5OS}zFoZCsExo=CzzzBiolY1YGo8C$If3E}DMM$|NU>Dc zukfr33DfsuHd^m9bS@WCz5Xp>-A-5_@nG*#>0C{By>?O$4LzBE=0)+;E|{^aece56 z6<)bQNnRx45~U57D7=lVu!eg9|F5{t{JyU9)uoUJt}_R0Q(On0Q=WPoyc2s}Dfh(SnrWZV zfT}*os{t_GUVs#mySq|eZbY@KZ==mQ;kS35&kd@x?j5wzVIBoa;DI7+#)J!M<~)&j zrd@qdQzgocn0v^`exWZq@(NktZ{kO2D z>>li+w}pqzvlBJx1sRK0Ws}mEC|^Xhv+fU`OBajUp6Gf^9+JSMIN!8(Vfxk{SYlf9 zBzOz_y7ROimp{+mgoi`a+VsRXxy0VY!hcQFA|q<|-*IhXq@A0-!A!S7l_-L=Pw9}- zb?48Z-EV0Q=W&zdDTxi~O#LKmBpUVv_I(dfU@S4W{M z*^AD?787`VjIkQN7z{`;A4Dv6|5QTW6Nc(Fw8ZNoZg@VLqbchQ<o`Br>^dyRygOW?p4Ms;FcB5(gicSo)th*lixej{i^>%b|QpxGAYtm^X0aDqH>k}0|k2u?H!}hM7>;I9RC-;f~ zJMW!;PCNf^xYy2w+RjgL0S`OZ{rDf)`7zM`Lp$G=MEZwzem>)$wDSxj=@)VgVXvL1 zN|o68yBuTxoSlD!;YyF|-miy#rfKNv9}#}88$uskL{a`NyMNy_UOYNidRLyjQYmlS z`CW|1dvyJS5Yg(IO3CnijE>D3HWVBK>lMy9 zF+T%LggfAzgWacrlw3lkYx8|Xa+gr)kmeBc$SM8)2*Tls5_G*_W^9j5&)rCnOhIe>s7YxtdIFxZ$B8+-#E#w*&-8 zZg~9-$nC14TsGWRzy}Znfp@ISMn2_E$r-cZrtg%b)BVu}#wqN;UVRHY9p>%8{O9+- zexmycFP_2WD8zj2`-pvf#SYgYXE3Tl@99nn&u1X@0Y6es8@SqbcUo=|W>Ox+MZgWF zEL$t-y7N2~_zykv?j%yLXIk#!zTf>1&gB2he0CdWD)i`46Cl%jSP7))RDAO( zcy@ZqUtLPdf6_PqN8%wbSkvk5{a}mu05w~@e-eHtdH-Y}3SLEqDagMkf)3#x7WDQT zt+#S;pKm}P`L0C7H1Y58OGIkk5s^^Z=SdJe1=6lQ0t{X)j7z^1xEUz2gzCYL5c<#O zNvH??NE*4MU44Z$DOQZj(<6mk{wjVBDgHL!9kl~V0YwM#nBy62e4UnY@<0V%_TVFa zz_Vu)P7-NmJayCd=3a}q+a)YRK~?d9Gy4zzck(K;?4G9MP+FPeHDF{VZU5%fW7B9yBxRu??HH`d{Eu#IZ4&c zL-V4#>TIxfRrir+@hn^9+_J2KEc%)wF&slRsMVm?GOIxU7za_;%gD8>_oG3K?Cr2f z_xs*WzH{W7a$~PNFJo&#v9pt={2iJX)qRRrV6N((I`)rExfl8u zQ`%z6u=K+`8n+kp+LS|Jgm!iGA~EH?D5RQF;u3;G`?|Me0PE+CQyE=MMhr7uBS9;V zHSc`G?CKl~pP{$Bj%^LRigFzL^JkCLjw0^A_n^PHQ4_e|!Va>H*HOY}@L1BB%v+wu z!%6;K1B7k{%(m0}u`4f;r#uUUd}bDpvPSL*+`r;2{ZIuL9a-*6CTI3nWc5ZI=^KX4 zw`Nh-`Wmgblb`2htE=rRpOIab^8)vGiUz)!S~*8o4tFcRkXkuRR}OP4KbczD^EB8# z5Dwy5ZehDWwelrhS>RUgOs#wxmF?jop?ZI6#XV9{A{E6?fU6caMcdgV2aP6_`2Qu)c!_T=Ll4L{e@b!-(mFaP?s9? zPm;Pld<6RKYDXT=x=WjvrMCH!Zeppxa7&{@Ez;QskuBHRPGm39S?nvg&=bfm(9jop z5l$jIUqid7x=uW8@bpprjP+!Jo1sxF(yc4O>t!O<`Kgu5Q3;ccajh~wwQ{PaENc%> z6Us5El?9se0+%wBTKT6Z#ldF7iG}jK)XEoh`;Hy6I<6Z6d_UXtqpyNB5R3X&qzkmyXok%G5Q^jZSXO!^;U z$a<7tl=DvrZ;UB;EFJs&MhnkB?gmflg9~Lp;&#eg>7@S8=ii|L8*jw&gF|d8>v-~x zHQlO?ZAxqo%?*vM&a$pqv1H-eg%y(*u38sa~j>kgPiBMDJ`w}=2$Ld$VC{|zD z++4X?aP&Dnq3T!&r~ky7;G&RNQXoLD%9Dx*Ts18+bja7vb4M}#Wi{mt>x)?29m%#dwAGiIp>9yfWUaaorlun`~~}RQKeO`WS3q8?TiU znW9yV^-YZpu?8GPWv!8eq(YnI1S`DH-%ZC;-R|ntlm^t+tL!N2RVhs z5ljs+5rQXEu?IZ2DI|wDxe$GplYwc;o^0zQZm6=U`N=P}i1#EJhUQueljbxn$4tl4 z(GMUYJu;PNs(UuUMb})ta;`*j63sg5IHsKU8vID-wMg$35`ZvzeM%I1WX9H>4hdWi()l&BjFYW$R ztR*gznEpNarO;UoR9D6;(Lx{ogq__$tdB*k3Y6;jo4^!(K_l_Yyu3_ zgc=$XTM-OHWs9^KCWLTeSwezh(h@jxtg-6JBajq`l}%02O^KSCSToOLvzjV*)ZwVJ z5FD~9(e&h(kXm#^9I=)VN2gsYv~8u`xuGm8?D|itKu;d-^&sOw1MykBM9Y5`AGe|} zpWaTG;7TjRaRlAgC%=?snNEjXIjEFAKr$5|G3aTcHc_Pb#X!ZRDlOEeL~e?rJ-E4# zgQa(1Hj0DcB&3*8F-c@?j@=N0Cs;bhoE6D9U#5?Lh?Qr1K04ZOT(j$G#uX)guVWf) z&f%wUqxx7pfxrOoa$}FoTB+fTSR6;yPkw1rLVCM4yk-IV;m+>kjY4Ctdymh8@?9^Z z;#+ob@ZD%(&UM3-MJ97YSOaKO2mpGGmt~Dygm{tS!$iiEET8uv2ek(^oh1hj`V%<@ zYMV5WG0Pg;f_Wr_GhbtRR-62uKUrg2vMicsab4wRJtvZDZ;8V{rG%-oDi*3}Y>oqY z3+7$+nl8tMLkf6J3`;E>Di~UssNWQ81~PCFlNuVg)y1ke%lwvFRbj%y8k}jU#c&~u z7-B7WI;Qji><7F@X3?4S7V)fR?S%eYe|LM1-Hv70vkpt<6{9vSaOs~B;(p0 zYLKyE@YfOx!O~1wG0ZMi@kA^(2@_7du{vcSVlKy#obI}Y%gK0EQ&fj`%W}(d94L6Z zWj*WmmeCZK^~n$CH!NJD2og~Q3z_d&#$c7Q%Lhl1wy34AP z$~W?Vi;MpYkZ!;(&swB!;F>p%^vw5qdOn79Hg0}?1L96o$*f8vf zzJw>y=OL|rwWsG=r2m8TW~9@)dU_5aJ%scTq%-jT!;47Y!7E~CkRHdYqD9yo??E~Z zX$-GvRUrK@q)mk5^|S*>yYRO3QKYxv1@oUE^nCtU=)PYDM%gq31KG4&11ZlF~`8=zo{t&c7>e{u{~qYf*p8Lp?pb$C8xK<0R$38Sof<`n!GTj|qJVV24nj58wWE zYCZD9@XtF~KS3SwlDyaS%Fc21UDQWX>z##3+0LN;E!3B#)>rk?m%wIkqn_8wN&e1a zK?niFd+g&e-Y845{whsR5aHJXX9RG*fwq!3p8KT#A%Jd1{ns&8OH%8@tsYOFpa_q{ z!1*G^G0%|d<WZ;(#K8$-h^?S!|{>y!3-ZI71=S~ufXO zt-m>F7A&rUE@%W z{lIw$am3q4j-I5PM^Jy~i#iq5cKbf1*$QL8+$?Mo_=>@F(N4CHEbI7#1Mi#~xNbM< z?s=uB2e(=J&{5_?s5^$bn$$X{GAYv|sLw@A#Xb36+MA?WZ2KbWC!zkDRGB9W1Rt}uIfs;T!wcjlM=kp&8{6_=-(ZGK+ z@E;BQM+5)Sz<)IG9}Tz~aDV^8{k;n=LHXeW#r(Ks{zeBsIXX%H4jS&b%jdsV>a^69 z-QU?5YRb5jmd_BAy1%y}*FJ!`^?!P|r;#X!c^!cdFEjW#!s`)yc=^Q72~+RhI2^%i z8ho;KBI|u-i%r>044KunOG6A<@^|FieF)Q>g{Ri#v)?dw;YUrwuG}veJUjy?AFj#y z`FoG<53+)ar|_hIxRoLw+-#PzD+jhxq-GWnDoyk_2D^3eg>IzoJnVybg@aVG--`Vx0>_= zCjEp-zhKh)P5O*Ue`eBGO!{Y&`tYo)v~SXJCY@zcU5jCHtIol$Jv@2S_Flel;auFK zi*2f{YzR%~uk=itJpFFjbDf%qVeB9LRXhf?Sqyq90X@&*@8UmZGdxTo4SD{ z^YE!d=Vya?Lom~yaT^nF#z&Bx=g*C>Wc#nj@XmBH-a;=kZQn*Isap8DrvL-pQ#R~M z;0^aG{BDv}xD9#F0-$;(4q8BZzgmwbJf9=#;UVPgxgRV%caM;Kg!wO>CuENh@rj`V zUx>?X&(kBB_dZWPwr?{~3z_%ykmyH)$v;Ry5B~Gn1&`(75f$DQg%6?R{T03-z#8&h z3L2GB{1t#y3xp5){C*y5@61C>zPuc{Zg+kREMFl1ZeZaDlVugxgMTD%GR?ejH1n48Z5C!p!EbrFkK*B*b(t4=m{(=Umt_s| z--Oip4Io)18C0?5@JZ~f(%=H*y-p_!L!`#GL1G1+ zTUn@*LW#2lEo4@U2q9-J8p@1GVT`jDtTSr_t;`bGA3-iQ$In`=g`Kj84y6Yad$U6! zAZJuSwCqv--vgHMHQ;8C)*A3U1xWT7PY+;)#015J)k%u;Qz#}GiVs7Q?8%<#Kq@5W zh#!DyoD zwb+aO0vB$Vr*M1KV}R-UWb%GQHmOpu9}Kw+jRw-dxBjExHl3o`v9?Go+}Mc^mNDk;T77 zen=U3EI=l|#P=9jWPJ~WcGk~YDL*?G7~!9adgpTxB``8TTu8>f%E0>zDu~v@_5y$M?<=ZM26-45z6Z4&_*b@$^RR&Jr4X}btWq; z=a*m`jAfC+?<@h^V2v4bg#ZONOQFc&-ePczpp{^>gD980hI|6NsP=*pd47nVbv4RX z*8TXxpkQUeh)J&lQBA>Q6f77MTmmeI2R;^z%h3|>Vf=#enbf}D`9Ic_6)~RYSRN7; zOc47ks2dDs2X~UetK>Y_bYV5B3N98wVLjp%%=4@RntB{x!GZtqvcu@wA+al6nexICXa%^A#x3ko7q$Q_IuhgQK7DdbrmHdL_G z)5b>msz#__Rd5_6ah_$x6$KQ)asq60bs>8Yv^>NsSmSw@G_O_2Q4qzc!`t!G4!pt>=eE;J)N!yyU@U(g3YMU z^qeq2FL6qPcBzjqCpz4bp!<#6? z^+`$*saH&q%Rd+>r4yXI2vR;qDy*$>ys|2t?d0w!h;>%pX>_>wIpKLPp+QwfDc#r`!jadj?XQU7-r9)YbEDPtABE#z1p+#{(x=;KU|WHQO$o* zl;yo0(7Z1Ke{hq?F^yHyqh3w>Zvj%^!*)I=ipz<>jOD+B-~)C(Cx+_@X2#09AH6D> zFM`}cDCN{FX$;H%dk9**UVG1{i6Gu{7jl;OdUlb(JT^bLMr3-5NWH3N&MNyDxY$u! zLdloS1%i7KZXfdIz};G=TT#1!=+42qK`k>-8lp>EtO<1x-d=A9xFXtU=$DZ*KK7xD zKwrf7g*Vv69Bj_Pjn>3^bkAO+NoE_8GED)Jq4Oa73j4GXLM$x24pJ6GmKF903AqQY z^S4x6_A0wb!ag`p;_}vx*uEDGv3u2RA9@_blX+ts)uS2r&=qUS5%`2X-p*hne>GbZ zzfMXr1DhFxDw{W3aOhJswLRH1_1$Ds^=t}#3)o|2-aA-PG!;Aw>=BG};A{ofL2IYP zOyh=VI=O$3tbOQPAkWzdy`36k$bBS#)lhHrbwJG5jFfd&fIofyQ{h!_HfZEo0pV4c z2VT52{L}F+ues>O^KKu7*9$H$UlBO}+?1-Vz*iyVcZKsX!}*G2C$Dfhe|Ln-nR0#K zj?>3p092(~Z`>la1#|(?@%W-$2vbrQ16O zX(D+zM2H_Y#M_53=Q()CuAHx9ByOMHDa8Z3a^4RuY!7n;c@FO1B?`XDRZ2m8t95hH zXc;@@zAwUmc9w98rhEAoqp!CF7%n{r@7d)$f#Qb@;TGSeD0O6W?S)b2I|7S-*wkHX zdD#yy-866j%&J86ADYdvBf1CZ_a(T(XTPgTO}|C*s;MM&4wj3gHLj#nmFaq;p%*39 zmAbZ`0Ws@y-N0c@`vOPfC~4WrvQa z?_kX;KjUMo{SrLEdqsfHM%~AUV3(>48C_HF?2FTuxB3q|@J8L%i`D=<#S!x4HDx>sn;1&Lwjh>(9 zZy?5e(hw{=FqA5nV-vs&k@xexUT-CHGnu;)IYHd#A{JUjSD+^2BY6h_^3u#%lKU)p zz-88;yKuIBEa?kikG=pd=7m&-cL6GVBl7+ig*>^=%DW#B{0=v(eIq74f+Sn6vwUNM z!{FyOud{sPa_Bdf&Fd`R_)L0~-{y6eudIj`$k7*Pz6l;)c=*17uEHsab_sYm;(?iy z0nMmz^2jPm@Ihpx&SC2o`UM0m6p6l#2-NT(%l7~@=&KfXpLE$dH7P`%n|K zk--@?OVr~z*tIR=zd(?k#Tw7S-PPvM;PLA)V z9dG<5-aMRx{(f%wJn$XkFKI@S!6gQ07-fo?m&oS%+2Dn&q^k|_dxv=*L&j#8yu%Af zZQ19+0NxQ&@M0&{TY3`EY;GNThn7j6TZi6|`V8O}gd;CifL?h=3cFm{I#e@*LmAKM zyEvVddCUGb3$vu)w=(|7k_|$2k%#$Q**f$M^50EDZXNncG8i2!n_Gvz(jX=D+MO&6 zks80vtwY~1smZaqb?6I8P0;=TI^r9ZNl!1bxpn9pErmfgw+?+{a1Dsb%*vImLv_7B z8^kvEuhhoUSEW_@o~o3B-{#h#+7u*K(B{^ms**y9y@hDiB0|XK)}e|?VT{eKLscVa zWmYDo9}4mungFAhTZb7#hq5$Qw)HY*XRJVdHun!R=K3Yi{j-dVbD}`9GHJ)_Tn-mm zic}ew3?GlAnDFz;G8S_9Wpi6EBRp&p#MImt`vorCE>Ge1WgvDvu- z%XeHzA4HAg+Xslpw*U~Y?=Q$J-$vwpz6RtoEJbpEsb>R-M=+9+)d+Dd39-JE5bGZ? zNiGp3#QMhsZ43YjvHo#6J3t0$(N+KWOggI$vHr563sEp3)<40+=eBbnMAIeyDZz3u z7+OQgCeUg!#i}fN>|xzgPi^66kCZH$zH*Y07>s62KS)+%RdwDWD0g7+X_mO~Qkp6x-x9EA*_ zy|RTUVU`Ncfs7MM0svvx%V6bk{XbD@(qXp>rIq(5bl`jg47r#+kakiwqe`Zy%mvy| z;$#Dy<^pd3a7sSMd#0z{1^ze4rw0Enz}+tJH2|mi7;7>;A-DAl(fV`)9BF`qc$Jfx zCo;W*9(d%7KSAbU_pA(RC4=gp@Kf;2+UevDVWp^X;`ac`{&DUkLO5etgZ4tioN`gw zazYs^^w({y4{%#88{2B6uOb4!tPF}@!tD9Hn$8URcCn6LW)0#+a%Mmz{CE-?7zU+h z2OVK_55ZKR6<7v~<({+!{3O9OfLepNo0R>WK)VS29l!pfo|4e*N}CeV4V;T;-yw*wlsGSp^SSLho_Z?r5ur; zBA82=$yWY$*kzT+Pm!mr#1}pZo#4Vu(X!kWS>+i@4Cml_@BJXS!js1;ZdGJ(3>A!n zcEg@KR%lAH=Epv?m{<&YVb2Wq7*}o16e(W9;N~2RSOwn%&P30B%Y?*|=b(l5Yoz@! zkSBVkaA;w5DzppcGF-_(i zytcF@QEz!X5}VMQ!fzX*MVgj<^?I^2@)p?Saj<{K*>12dGFbMZUyyYZ1bW9QG@WtU zr5Mu0)mHv|(7x)3SKNEKrsNG^ez0kWO7V(Uo%2$?qT5M&MgI91g+J5`UJ7f%UIy2? z41U;`!H;_xgf;@_X$LO^%BR<(f{;`!^RzRXAqhU{yb8~H+PR2RAG9mCfu45O=;B7X z5%jckBi8`XqTC94+PPI1*Jp7GeA>B#bD(o@Z5C(2r=2hBVnr4w!l#`_b#b}e#Ch6z zR%2Jd=IP=_Yxqxr z^EHS3HW>O3B1{ZaHN+YpBI8lw1~G~qEY2- z4rJ{^vtcx8Vu>@DO?VDIva9GjaF+-wGChZ{)dYpv#@XdiQ@~0&QdT_gY*8HpaXN2N;is6AUtbaFwa5dRGCc>37QI|uJY~!3 zLOQ{~`cvBsq4iozBoQqItYS7>@C!J=r|iQsv@G(%kI3|l1 z@vT-+;SQ!N!D)1`%{67Um-E(bcHw@q#%v?5Lkdw!j#bPyGq@bc=bl7Bi*{t9mZ?1H zM3-W3Q*08@qInK}XqU(qu*Xq0>;~*|#z44$Jx$we|1Rz6Mhaqbp>Vmw3 zIoR(k)#4o5HJDC+=S=NkyLXM`nEPhZdx9Ku&l+it>e*>y;Zjo_GSwq%tuM+#K_*RW*fF$x6XnPnr7><#j)mFS0}(-QDj@<0M9!OLnwX}; z2aqy7>y3%c_yJ?9iLXB!Sds()1>ak1<>GPoeI zY-KIMV|fmq3dx(BeR1}j>?MV>p)1dz6aYd`z{(!!C#EX2J$c#L8rKHEcL6a++M3oW zfitHv!*$0L`_fY3uI6NqFI`eNuatC|V{kw6l57u0eHmB`L#x?+cwJgbZaJzy|J;j2 z=DZ|dNZrdfV8B`;!t?EdjPjD3rPUyAMHjO9{E=WX6>S!vO@ANx3&#onB3BrQy`+$$ z6c4sd&qrpG#~_F%q)Cjy=(;~uk0maOXqHS$3tcAJ?Vi`|zmCXT?>dYJ&STS%MczWG8 zWpMNzHNO6QwYD-`$4dHyzYsn?uM~qKNg>*G$4Zv=`0V~;FUR%fT-TfP+@TaW+eh#_ z6!ek&ULPsYo?h51HWnBnoe2e(mQt!>@zLyT41-<|9Yk*!oRnAk;_8jsEpfG5N+IFs zBBI2c0aU6(NYch0tz@sOsbmH2+4Tl01RuA%8OZ>JM>gEJlIf}ko7epYYIdp&2r{nz za{H?|&lN#Bs6&z)V#LvUBTujoD#v=hQ4eB~v1h7=3Q}wPkMTlRePWL#g%?OLEY=1a zl&bb#0S1fvr-tGZ?Kq{7tZ$$i(l-hXmAEz1-#Y;e>lH40&Pdfij-J;q6b|o2N4!cw z*8_7zpC~8ojLf5#g!<4W582kD5K8y>e0RKJVrbC*#41koY%gjpZAVuFf4Oj zvQJzZU;05CZcphZ_SJI|etuuLMxN9g1SfNBOwksUNF)Ad#uOdHnuwK{!j{}K$lJF4 z_q<#toZj(|%m^$c@FqC^uf#u=TGrk8zYqT};Qv!ty!;O7U-9qQBe3ExN6wZn-pX)x z;mb1yUtaF9tJ(Zo!Y}R*c;3ga5Ay31{Q7TxeS=@$<`-X`@$oTL?@w9e^LQC=;LHCv z!gxc(n~g7_$Q;aKh+oRaqwwyHanC4Q6@67@)TmLGp!s=$1e40>`qlUUlsdBw4qv(%q=R%DJzEj zkaY7*mFeHBindbr;MHoxN7WGLqC!>R-=MGsJYgS^d^PxX_NX8duW!A|xm4Nnr-N|5 z3T#(J+YD{#-74U}M~zsn#xGSv?^ILcDi~MOR;tXnD%z|@`HPg_8DF6Cx2S+Ku|WCD zRsLbNG8&AA)Tl)XVosc=hV4D=>ORzqLBhrWVWi2o7Hsx zdNt%tVBV=RwyFzSRlz(pVV){js)GKXsmu*3=T)P_4=S}yWxcAhr>Y_TTh-XO%Ep$E z%DYb~|21k%jVg+x?fb+I$7u)udYa*s*upnW^LGx76aWy`{o(`X(mHMMvR6{jgFpuB1AK>B3RPLR~ zCZ;R3SB--)rY=>N`H!omOVvej(Le?U2IRG2@T&p9@5|dZ$2_A&jH7&@XpzB7`z`o? zAO1gwe_mEIO56|Fz=7}#Zj&pFnk=*J{ipJ{piwrROTzH;BzYQ zyehn1`C-P}RS+7u`&H$K?697clzJ7K&3akQnyMC^qBE`XKd&-RQBnRcsq;TQIOHljed6{FMSLA61BE`G4MI;pofvpVWe{y z=^REnhrRSNmMMlTA7h#B?`zCS_oe6V^_J&ZTp&3Q`{%>a%MPo;8a2}Yf+{+t25(mC zE2_|0U#J4G^s~ydg&iNfP1&34mE(V2NPLGCUX+=wttrt4x*NS$jd7+Gs!V5Wq4GF8 z3Q3p=!mBS-&dVuuWA>sNIC;eJ#no60B$h+YD9|{gidDu`(Z-7kD zkg@(bY7$!XeB5niJ6iE%PEjG)Wdw!DB^wo2h0D|+XJVnsX;mHsC(wJQO6c|+lM?vn z-blnTK%fv=WI6h7P>mge{=Th3mm+ybjk*NMyGnVooC#2!GpES^QB~|*G)U$BLU|7R zf37l~RlbK*_Fm<~wxO6K-SXeA#tMUrN(_8#@l2KHSrMYp>y_h~5@O#n zUp8)fAp-R%#2)Bz15H)>1?lf7-QO|NUr(kp$wptDxtJ+P?Km5t+?T1b60`>Ojok}1 zj4d8e4FRYj&OnI~;#=m-EL0O-hG~H9+pB`FDlfS8QO`W`+@m%yamE%%*KKH~RgHgH z&2z>Usl@~@n}?~S0OX_LrW6aUsAVeKnOUTU?^W4*)O^jTOefyfSJfCO6v`Y2MZ%65 zMuDbpmwOtWtDsL$(G-cJ!Blu)7E-=mg65OE}S8*pS4__w_OFFzgMZd6uRJW zK7eB9t7WrL&;x7iVeQwG=#V4l!M`EyP-j%B=y~W0B=4xP+ONjXN2$jdJp?NaXKs=4 ztmjqkT~PTL%;C=1L2B97RNh0KvHvQkZ7}->R1lq4PF&rDetM^<5$yL;HHAryT8qT9 zUd5O=qY4C!7wQ5Vl&ax3ZodJ~w-n#b0epGmD%bZN`h{nif0_zj!>M5oah9qfOthaB zJLN?xYpJ?K*GQYXCiqG^iiK$?iv5=+S?$r{lhsGnxR;fWV_BV2<8(V*!Q{NGvQO#m z?ZI9@MZy$$9oHr2v$RJoXM)+13EgZfGFS~=#e|%h-p;RA#4(*qHHcOu^b%8imj&@J zW}svy{)39n?Kl?|tB7RKzzSyI%Ysm#$>}5x0iHVl6jkIIy#Ak)&_fA5T0)PO&|@S- z5MduYeoClA2s2tj4%88Y0T{LREUN8vHOq(Ovi6tBUV^ zSlM^c40#V@e1oL#IAwtI`kqxK`&3yR^VD&rKB}fV^D$tsD(6K3(tPI{re_hK=X*s> zj$*VT8^txTqFMf*xp#Sr(X6ytA>3}`4TEC!B934@?wIQDbksu=MT@t zvUElq^4_4bHXF@dI!z6FR*kwxO`oUEdsa={ql(unJE7*3E8oLZfYYkRVu1&Pj74zo zO(tL|h|&}R;sOtUDj)w?W;@HUh*Gb>ubMDBVbvT`3#KR8z5KAs1MNa*eX(-p`JYo4 z`C*==AiYpBSkg#4lXa3yo{XjpTv)q|(Or{aaHk#yxQZyCftD&ytwK=B^VCYaB_XwV z8m0;?NMxpVmOZS7qYdv;09#ew+sYoRLbc~M7Z`i@saz)h0}>g$n^}0-$-?5csTr?+ z*CbB^HAhzCoa;KAzHUXMb&cDsmROvph&DFiNNaswDGq*bsE%%{tc?SusX4Y4$>!MH^i!Ov~%3T8QRgBL|q;D;;86)3nz|N;!xRW+*%V}ePwtxnBo}!UZLcuc$}k3 zjGE?{X{7?ksfO1kB^M-g3-_RLCO~N6oH^#8fY9Xnc%mUTe{-xM)?8bKVr6sHmigOf z&zd~zg3#p6p~)@r>iL@+5}=q|Q;B=pRa=@HaYlH{RuGEW4a2P(0$B)Lhz!(i$OFWCUrn!+lALz*aXtaft z=xu$hzN%@5*6NzItHTRcSp2C7oCpj4(pNc2K9 zV=#20fj?T%i>4LWVl`JbR713AG=Xl;oB>MXJX-dJ%a`zI;TH7erdV^M7}Gr~mdAsG za9d04eOl(#i&mucvDy+xiq_+JTdPHEZfWh*Hf*MRb?^}j2hLXA$aB_3sav8AIQ%x* zKjQ__=#4N8NTkIj6|e+Ow{6)1kL>Ge6qCM{WFQLK)QscXt19uE8;~^GfJZ~bZ*eMe zczt*wj>1LHqg!H?)lkqDp^xuqa!tCqp|Y;Ua*u>JjnX41FMgvT*_2jjKVwMyEmr(} zF+IL|#~}KEL%|!OV3A;3joaX_&{%U_tN}$a80fY{>qKyLtfsQQwr+=2+Z1(&H*JTL z{Nv5F@Ynd(XhTb^%EDtA(nt5iUmiMKyERrF#Zl`VdmP8GGJc~Xu1yR=(!mXPwBRsi zj8l$bptzkj=isvwGEh07-C+=|CoPrNM9D z-;vO^ShR3q1&~}HhJItsP<)jBLYvgpR<@vzEpnK*4n?%J#H5zW6xB#%k%0)!#Tqta z9BPwlR_LUJw5V9v9P%HlZ;J1bSV+awA8V^Q4or}YTgh-%wWYFIhCs6W3F&^kv7rv9 zvGeq6tpfNce+0zZf*P0xuF}#3J>kVHU60fG#i3hBk09LASKUns_}A8`Fn7feSBjff zCT5kt~q z;#V?i7hS#@VKLbPe|!MZ#h^s-3=(D&=&cz691{qBtYeE+gP(7ZhE2c{rxIqX7hHun z52rU)L0ED7E={}5=nm?iEivIae1(~j*sn&|%eeTg3t*y_L|vcZBclP%gX8Y4Xk%S< zw6Ug!J$F?qz7k!sD%yfyjfv86SlHHF3x9G;5+~72vZ5*8j0v7S1_%m^Zo(L`qL}Y) zWcLY$cB(Z4PNa~FcvcOZhhwSg#u_wKm1u_V*Cpy3lH$N_{0$djv3Lm{EKAA>8i-BS zx*01fQJ7qN1=DgQXohOM6zj@Cd0C*S?3Bw?A2}X%B^2u*6jWAU*mr90J@MzCnB!p< z=z7)#G7OMoDu&SVa&FXKLBSB368Py4su7C>YPJTyF~Apl-9G59ZIva0YeZIx-E?IQ z&g*Z$_!Cm0til9XwKa}NT^-fuwCi9~UE9)BSGfbq*iwlf9;kMgTdvpPw~Y{m`W@UZ zKN^JUs-zDPhH+DcwP`fEc-_i{YnQBA8I7iug1?~?txo>1 z0ZYy7bMtih#x!Go(SVCt1c>^|?NP*Fvuwpux2ATx#h?CQ^wZkoN%+uSzb03%TD@Yy za#`%To#4|%#*AG5S)zsISZ1>U>5=rNuL7Z$b*tClml>$P7OZi!-jl!GfZs}L#BesJ z{hQPLUE5PMwpx{9Oe_|#D#uc_wq;92`C1EJhd3qE zoS6g7Pg;oUTJjrIt^|F%lT>Fv&TE&f2rr_FxoW~}P#xReJ6CX!)%6`K7W!&hz#@;o zLcJ1587fiExoT=}}@nR7~&3$>;uTAHWU)oz-)xvFX^E>NPgE|?7MCALq- z<;m3PGp5!yRMjQ0cosxcI2&qtL3DQ;g5dvv6BdjN zl-04CDO)6BHX=#jLG#c{zN&g8+lF7#V@hch0|A?nzf5&h=ZdW={~r}WqGYX^z^UC1A%zLz-!&i zH!AQ6$v568MmiAwaKIhBda=8}Aetm(;79wxXBxPB9;ZRKmLOwWL#)WH8bbN_S%-fc zr(C+{X$lZuH{+k}y61bk@cqcxR*~hN&*{Ryh|ECpe=`mI(KPU5fKyKQjVL^(A)g-` zc;_AiIH}WL3q0R)AGyS{yz==!19uQMRT)U0eTitU^4cPi9;Q7%1Zlh=O2(tBgzzg6H{m=jSrodh5-jt`} z^m9$A{DtAu|ICcn47~r_8hqwuAU?cHPI>yD!ZK3ey>hrYz6`*A9l2FQfF_@r$b?Kj zHF*S%7qUt%zrlCwR;A(J3^@6h@6niLhG4tk2dw^YN_-#i;g$ z`3Bzqh?}{9Q=g$dx<76lSZv^(Mjm(ET}eJp&~ncaHfpf075;9iH*FMn;H>B7cNzEx z`H&bs?ujr50MCaWLZ)3?S6iP*!~d&k;7_K3|4iV4vz}c4E#TCH`|_r1-#;1nMk9}_ z9|ReZ(|s+}h5L~i$Sy%f-h$`B`e3{YY&oE_w`@d)V6yUUr z`#!j9m!BE@{>N1P%E0@-+V+2j&q?El?)t&P{L6OxpR|@|;Qfzp8*1SF&wKk&8b6uL z`5oh~%(Uz3XpZ62|E0i{fQMY9l$7sAQ_lV`PbLh!|2xKfr)Qw?`$dEAKFQ|3Idp#- z{GS5u`f!Rk)@kB9coWMFoTl>6Y4{Ywa0AIRE)9H68o0HlsyRM=3irz^H`PYtm7DR4 z$?=vrw##tUgF8a8&A1@K9guiEZw)lyq8YcL8l#)*8aH9v7(4CFxV4qoZt*v?>tgX( z^^|D?V{mh(Hp-uE=Z+uu-)ow=4^*9~ujgKTN(mbmwb*$`K{Y!JW&TItaqpPqpKD#UK3s$bS-gn?u zarx!Tmt3|m%5&l`v~a(Kw`TsI&aU58t|AIwEW|@ zMa0YQ+x6|@d%Mr~Ht?R6{sBTd4Wx*bf*`4^M7FT75rQD3un`1Pq(~vwe&0Fgn>#bv z6>&)R%$zyj{JL}J-Fv>-okB;JDyN;v*QzLbyuhf=MmVdTWH-Fovw1?FJ(uy6#?+)N zR@PnGz6|fBX2$mAi<}qRWR2w~F#m3sc*g`k+dkif15KT>^ET1`qh!Q7=I>>iefob%SEBe9l`7TsyQjh&X&X>xsKQ@V9wK`XrpNgP2rMt zHr(g$ItmT7^$cNA4E8eYFR(YkWnaKfsbOhhJ7MeC#tZ7d~fX(G-o29i!f_ zYFLA^n+n(RU&x#LegE1bq1r_tfO_Mp_8H;LRk7d2Qf!4NrmNBXU5CXk)^!z)@$I)4 z*wVOmVH}b0mM>p7$|mA#$2|3Em@pQ)p@WXlp!t+4W*#RLSo~wq%sAwm6FHS*Su{=) z*YR9z3nT8UC=||#6)JB@p=#QrlYRX4g`vvmo!>>eUOEuor2!G4tsVM0PtqnWGAqU{ftew^^P58P*<7_J#yR>;Q~(Yn^Wq zZFd()F1hWh<#P#)7PkJjlW9DOOtFn7r5x&yB#uxVHDF)L4%)IH{XY&shiVsI4?mvqh`AsSY)i1pI|2guAzd$1dotq`O72`)dF*W{6=s2z_KfO1_`xCyZUxfPl zUq^0^9|SH*bu3DW>{QKH75;p@j7h4!YJ}2~H!HmS8zFYR{~Uj9%?@=tlF z`~N*M+5gndH^MsPw|EuJLtX!m$jtHL9VExh%tBrNFUZUBTkpHEB;Wt@pmCG#H$=#} z#574f)oR}@YI~(6@4$?lknrNge)^C2zkuc36JC7Gt-#-l{>N>d=C8)_8(?W7{EASzqkQ^e8T~Mim=>(e?9Q^_;oiO&^;2s3a@s&y8-_Lf14NK z0bN*6rg0aZGOZn9L$O+U;&!Ybr;#MLt@)$%pX*aqg#o|#*+lc20G>?sM-o2F_4q%2 ObqnW1W!=vkY5oE1^v65^ literal 55752 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 E7jrJ~cK`qY diff --git a/build/gateway b/build/gateway index fa6dd6f76d3b15c97b2740886a73bb5dda9c7179..b0c11b838d72f3af519adce4aa32ad7e45e6095a 100755 GIT binary patch literal 74792 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 literal 68936 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 diff --git a/build/mictcp.o b/build/mictcp.o index 1eae5c4e6ddd79de49bc49e79ee2fa008336aeed..9c675a1f1d18f2cff5c14939ee67af1ce7f617f2 100644 GIT binary patch literal 49904 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 XH0zH#85EWA(Pwo29({5Dn)&}9lto-@ literal 39816 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 TEouD4AAMMa)h~&z#toidPgun- literal 54648 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 yzal8q?T #include #define NBR_SOCKETS 1024 -#define TIMEOUT_DEFAUT 1000 +#define TIMEOUT_DEFAUT 1000000 #define WINDOW_SIZE 10 #define LOSS_ACCEPTABILITY 2 // sur 100 #define ATTENTE_ACK 1 @@ -42,10 +42,11 @@ static enhanced_socket tab_sockets[NBR_SOCKETS]; int timeout = TIMEOUT_DEFAUT; int established = 0; pthread_t envoi_syn_ack_tid; +pthread_t envoi_fin_ack_tid; pthread_mutex_t mutex = PTHREAD_MUTEX_INITIALIZER; pthread_cond_t end_accept_cond = PTHREAD_COND_INITIALIZER; char debug=1; -char version=2; +char version=4; //================================== SIGNATURES DES FONCTIONS PRIVEES ============================= int valid_socket(int socket); @@ -61,6 +62,7 @@ int accept_loss(int socket); void set_mic_tcp_pdu(mic_tcp_pdu* pdu, unsigned short source_port, unsigned short dest_port, unsigned int seq_num, unsigned int ack_num, unsigned char syn, unsigned char ack, unsigned char fin, char* data, int size); void process_syn_pdu(mic_tcp_pdu pdu,mic_tcp_sock_addr addr, int mic_sock); void * envoi_syn_ack(void * arg); +void * envoi_fin_ack(void * arg); //================================== FONCTIONS DE MICTCP ============================= @@ -84,6 +86,7 @@ int mic_tcp_socket(start_mode sm) int result = initialize_components(sm); /* Appel obligatoire */ if (result < 0) { + printf("Problème initialize_components\n"); return -1; } @@ -105,7 +108,7 @@ int mic_tcp_bind(int socket, mic_tcp_sock_addr addr) tab_sockets[socket].socket.addr = addr; tab_sockets[socket].socket.state = WAITING; display_enhanced_socket(tab_sockets[socket],""); - + printf("Socket bound\n"); return 0; } @@ -138,6 +141,7 @@ int mic_tcp_accept(int socket, mic_tcp_sock_addr *addr) if(pthread_mutex_unlock(&mutex)!= 0){error("erreur unlock mutex",__LINE__);} //unlock mutex } display_enhanced_socket(tab_sockets[socket], "État du socket aprés la connection :"); + printf("Connexion établie\n"); return 0; } @@ -200,25 +204,25 @@ int mic_tcp_connect(int socket, mic_tcp_sock_addr addr) while (1){ args->recpt=-1; - printf("avant creation thread TAA\n"); + //printf("avant creation thread TAA\n"); pthread_create(&attente_ack_tid, NULL,attente_ack,(void *)args); - printf("aprés creation thread TAA\n"); + //printf("aprés creation thread TAA\n"); usleep(timeout); - if (pthread_cancel(attente_ack_tid)) printf("destruction du TAA"); + if (pthread_cancel(attente_ack_tid)) printf(debug?"destruction du TAA":""); if (args->recpt == -1){ if (tab_sockets[socket].socket.state == ESTABLISHED){ break; } IP_send(pdu, tab_sockets[socket].dist_addr); - printf("SYN ACK pas encore recu, envoi d'un doublon du syn\n"); + printf("SYN ACK pas encore reçu, envoi d'un doublon du SYN\n"); continue; } display_mic_tcp_pdu(args->pdu_r,"pdu reçu :"); if (args->pdu_r.header.ack == 1 && args->pdu_r.header.syn == 1 /*on s'occuppe plus tard de la verif du num de seq*/){ - printf("Bon PDU SYN ACK recu \n"); + //printf("Bon PDU SYN ACK recu \n"); tab_sockets[socket].NoSeqDist = args->pdu_r.header.seq_num; // récupérer n° de seq du server @@ -256,6 +260,7 @@ int mic_tcp_connect(int socket, mic_tcp_sock_addr addr) } display_enhanced_socket(tab_sockets[socket], "État du socket aprés l'établissement de la connection :"); + printf("Connexion établie\n"); return 0; } @@ -268,8 +273,8 @@ int mic_tcp_send(int mic_sock, char *mesg, int mesg_size) if (tab_sockets[mic_sock].socket.state != ESTABLISHED) { - printf("l'utilisateur n’est pas connecté \n"); - exit(1); + printf("le client n’est pas connecté \n"); + return -1; } // create pdu mic_tcp_pdu pdu; @@ -298,24 +303,24 @@ int mic_tcp_send(int mic_sock, char *mesg, int mesg_size) while (1) { args->recpt=-1; - printf("avant creation thread TAA\n"); + //printf("avant creation thread TAA\n"); pthread_create(&attente_ack_tid, NULL,attente_ack,(void *)args); - printf("aprés creation thread TAA\n"); + //printf("aprés creation thread TAA\n"); usleep(timeout); - if (pthread_cancel(attente_ack_tid)) printf("destruction du TAA"); + if (pthread_cancel(attente_ack_tid)) printf(debug?"destruction du TAA":""); if (args->recpt == -1){ // Si on ne reçoit pas le ACK if (version>2){ if (accept_loss(mic_sock)) { // Si on peut accepter la perte, on ne retransmet pas addValueCircularBuff(&tab_sockets[mic_sock].buffer,0); - printf("===========Perte Acceptée============\n"); + printf("Perte acceptée\n"); tab_sockets[mic_sock].socket.state = ESTABLISHED; return sent_size; } else { - printf("============Perte inacceptable=============\n"); + printf("Perte non acceptée\n"); } } sent_size = IP_send(pdu, tab_sockets[mic_sock].dist_addr); @@ -431,9 +436,43 @@ void process_syn_pdu(mic_tcp_pdu pdu,mic_tcp_sock_addr addr, int mic_sock){ args->socket=mic_sock; args->pdu_r=pdu_r; - printf("avant creation thread TESA\n"); + //printf("avant creation thread TESA\n"); pthread_create(&envoi_syn_ack_tid, NULL,envoi_syn_ack,(void *)args); - printf("aprés creation thread TESA\n"); + //printf("aprés creation thread TESA\n"); + + +} + +void process_fin_pdu(mic_tcp_pdu pdu,mic_tcp_sock_addr addr, int mic_sock){ + printf("[MIC-TCP] Appel de la fonction: "); + printf(__FUNCTION__); + printf("\n"); + + tab_sockets[mic_sock].socket.state = CLOSING; + mic_tcp_pdu pdu_r; + + set_mic_tcp_pdu(&pdu_r, + tab_sockets[mic_sock].socket.addr.port, + tab_sockets[mic_sock].dist_addr.port, + tab_sockets[mic_sock].NoSeqLoc, + tab_sockets[mic_sock].NoSeqDist, + 0,1,1,NULL,0 + ); + + display_mic_tcp_pdu(pdu_r, "Construction du Pdu FIN ACK : \n"); + display_mic_tcp_sock_addr(tab_sockets[mic_sock].dist_addr, "Envoi du PDU FIN ACK à l'adresse:"); + + IP_send(pdu_r, addr); + + + + arg_thread* args = malloc(sizeof(arg_thread)); + args->socket=mic_sock; + args->pdu_r=pdu_r; + + //printf("avant creation thread TESA\n"); + pthread_create(&envoi_fin_ack_tid, NULL,envoi_fin_ack,(void *)args); + //printf("aprés creation thread TESA\n"); } @@ -454,7 +493,7 @@ void process_received_PDU(mic_tcp_pdu pdu, mic_tcp_sock_addr addr) //addr = adre if (version<2) { app_buffer_put(pdu.payload); // envoyer la data dans le buffer - printf("data in the buffer\n"); + //printf("data in the buffer\n"); return; } @@ -466,6 +505,14 @@ void process_received_PDU(mic_tcp_pdu pdu, mic_tcp_sock_addr addr) //addr = adre { printf("Doublon PDU SYN recu\n"); } + if (pdu.header.fin == 1 && tab_sockets[mic_sock].socket.state == ESTABLISHED) // si PDU FIN + { + process_fin_pdu(pdu,addr, mic_sock); + } + else if (pdu.header.syn == 1 && tab_sockets[mic_sock].socket.state == CLOSING) // si Doublon PDU FIN + { + printf("Doublon PDU FIN recu\n"); + } else if (pdu.header.ack == 1 && tab_sockets[mic_sock].socket.state == SYN_RECEIVED) { // Si ACK de connection reçu @@ -476,7 +523,7 @@ void process_received_PDU(mic_tcp_pdu pdu, mic_tcp_sock_addr addr) //addr = adre pthread_cond_broadcast(&end_accept_cond); // Rendre la main au client une fois le accept terminé if(pthread_mutex_unlock(&mutex)!= 0){error("erreur unlock mutex",__LINE__);} //unlock mutex - printf("Connexion établie\n"); + //printf("Connexion établie\n"); } else if(pdu.header.ack == 0 && pdu.header.seq_num == tab_sockets[mic_sock].NoSeqDist && tab_sockets[mic_sock].socket.state == ESTABLISHED) @@ -501,7 +548,7 @@ void process_received_PDU(mic_tcp_pdu pdu, mic_tcp_sock_addr addr) //addr = adre tab_sockets[mic_sock].NoSeqDist = ((tab_sockets[mic_sock].NoSeqDist) + 1) % 2; //update n° seq distant app_buffer_put(pdu.payload); // envoyer la data dans le buffer - printf("data in the buffer\n"); + //printf("data in the buffer\n"); } else if(pdu.header.ack == 0 && pdu.header.seq_num != tab_sockets[mic_sock].NoSeqDist && tab_sockets[mic_sock].socket.state == ESTABLISHED) { // Si Doublon PDU de DATA @@ -525,7 +572,7 @@ void process_received_PDU(mic_tcp_pdu pdu, mic_tcp_sock_addr addr) //addr = adre }else{ - printf("PDU inattendu recu :\n"); + printf("PDU inattendu reçu, PDU rejeté\n"); display_enhanced_socket(tab_sockets[mic_sock], "l'état du socket"); } } @@ -543,8 +590,84 @@ int mic_tcp_close(int socket) if (valid_socket(socket) && tab_sockets[socket].socket.state == ESTABLISHED) { - tab_sockets[socket].socket.state = CLOSED; - tab_sockets[socket].socket.fd = -1; + tab_sockets[socket].socket.state = CLOSING; + mic_tcp_pdu pdu; + set_mic_tcp_pdu( + &pdu, + tab_sockets[socket].socket.addr.port, + tab_sockets[socket].dist_addr.port, + tab_sockets[socket].NoSeqLoc, + -1, + 0,0,1, + NULL,0 + ); + + display_mic_tcp_pdu(pdu, "creation du pdu FIN:"); + + display_mic_tcp_sock_addr(tab_sockets[socket].dist_addr, "envoi du pdu FIN vers l'adresse :"); + + + IP_send(pdu, tab_sockets[socket].dist_addr); + // display_enhanced_socket(tab_sockets[socket], "état du socket en attente du syn ack :"); + + pthread_t attente_ack_tid; + arg_thread* args = malloc(sizeof(arg_thread)); + + while (1){ + + args->recpt=-1; + //printf("avant creation thread TAA\n"); + pthread_create(&attente_ack_tid, NULL,attente_ack,(void *)args); + //printf("aprés creation thread TAA\n"); + + usleep(timeout); + if (pthread_cancel(attente_ack_tid)) //printf("destruction du TAA"); + + if (args->recpt == -1){ + if (tab_sockets[socket].socket.state == CLOSED){ + break; + } + IP_send(pdu, tab_sockets[socket].dist_addr); + printf("ACK pas encore reçu, envoi d'un doublon du FIN\n"); + continue; + } + display_mic_tcp_pdu(args->pdu_r,"pdu reçu :"); + + if (args->pdu_r.header.ack == 1 && args->pdu_r.header.fin == 1 /*on s'occuppe plus tard de la verif du num de seq*/){ + //printf("Bon PDU FIN ACK recu \n"); + + set_mic_tcp_pdu( + &pdu, + tab_sockets[socket].socket.addr.port, + tab_sockets[socket].dist_addr.port, + -1, + args->pdu_r.header.seq_num, + 0,1,0, + NULL,0 + ); + + display_mic_tcp_pdu(pdu, "creation du pdu ACK:"); + + display_mic_tcp_sock_addr(tab_sockets[socket].dist_addr, "envoi du pdu ACK vers l'adresse :"); + + IP_send(pdu, tab_sockets[socket].dist_addr); + + tab_sockets[socket].socket.state = CLOSED; + +/*on attend naivement l'arrivee d'un nouveau fin ack au cas ou le ack a ete perdu, puis on relance la boucle, pour verifier*/ + continue; + + } + else { + continue; + } + + + } + display_enhanced_socket(tab_sockets[socket], "État du socket aprés la fermeture de la connexion :"); + printf("Connexion fermée\n"); + tab_sockets[socket].socket.fd = -1; + return 0; } return -1; } @@ -594,7 +717,75 @@ void set_mic_tcp_pdu(mic_tcp_pdu* pdu, unsigned short source_port, unsigned shor pdu->payload.data = data; pdu->payload.size = size; } - + +void * envoi_syn_ack(void * arg) { + printf(debug?"début du TESA : thread d'envoi de SYN ACK'\n":""); + arg_thread* args = (arg_thread*)arg; + while (1) + { + if (tab_sockets[args->socket].socket.state == SYN_RECEIVED) + { + + display_mic_tcp_pdu(args->pdu_r, "renvoi du pdu syn ack"); + display_mic_tcp_sock_addr(tab_sockets[args->socket].dist_addr,"a l'adresse"); + IP_send(args->pdu_r, tab_sockets[args->socket].dist_addr); + printf(debug?"TESA: je renvoie le Syn ack\n":""); + } + else if (tab_sockets[args->socket].socket.state == ESTABLISHED) + { + printf("!Destruction du TESA!"); + pthread_exit(NULL); + } + usleep(timeout); + } +} + +void * envoi_fin_ack(void * arg) { + printf(debug?"début du TESA : thread d'envoi de FIN ACK'\n":""); + arg_thread* args = (arg_thread*)arg; + while (1) + { + if (tab_sockets[args->socket].socket.state == CLOSING) + { + + display_mic_tcp_pdu(args->pdu_r, "renvoi du pdu fin ack"); + display_mic_tcp_sock_addr(tab_sockets[args->socket].dist_addr,"a l'adresse"); + IP_send(args->pdu_r, tab_sockets[args->socket].dist_addr); + printf(debug?"TESA: je renvoie le FIN ack\n":""); + } + else if (tab_sockets[args->socket].socket.state == CLOSED) + { + printf("!Destruction du TESA!"); + pthread_exit(NULL); + } + usleep(timeout); + } +} + +void error(char * message, int line){ + printf("%s at line %d\n",message,line); + exit(1); +} + +int accept_loss(int socket){ + int sum = 0; + for(int i = 0; i < WINDOW_SIZE; i++){ // somme de tous les packets reçus + sum += tab_sockets[socket].buffer.table[i]; + } + + if(sum < WINDOW_SIZE*(100-LOSS_ACCEPTABILITY)/100){// si le nombre de packets reçus est inférieur au nombre acceptable + return 0; // on accepte pas la perte + } + return 1; +} + +void addValueCircularBuff(circularBuffer* buffer, char Value ){ + buffer->table[buffer->last_index+1%WINDOW_SIZE]=Value; + buffer->last_index = buffer->last_index + 1 % WINDOW_SIZE; +} + +//================================== CORPS DES FONCTIONS DE DEBUG ============================= + void display_mic_tcp_pdu(mic_tcp_pdu pdu, char* prefix) { if (!debug) return ; printf("------------------------------------------\n%s\n", prefix); @@ -661,48 +852,4 @@ void * attente_ack(void * arg) { args->recpt=IP_recv(&args->pdu_r,NULL, 0) ; printf("TAA: reception effectuee, autodestruction entamee\n"); pthread_exit(NULL); -} - -void * envoi_syn_ack(void * arg) { - printf(debug?"début du TESA : thread d'envoi de SYN ACK'\n":""); - arg_thread* args = (arg_thread*)arg; - while (1) - { - if (tab_sockets[args->socket].socket.state == SYN_RECEIVED) - { - - display_mic_tcp_pdu(args->pdu_r, "renvoi du pdu syn ack"); - display_mic_tcp_sock_addr(tab_sockets[args->socket].dist_addr,"a l'adresse"); - IP_send(args->pdu_r, tab_sockets[args->socket].dist_addr); - printf(debug?"TESA: je renvoie le Syn ack\n":""); - } - else if (tab_sockets[args->socket].socket.state == ESTABLISHED) - { - printf("!Destruction du TESA!"); - pthread_exit(NULL); - } - usleep(timeout); - } -} - -void error(char * message, int line){ - printf("%s at line %d\n",message,line); - exit(1); -} - -int accept_loss(int socket){ - int sum = 0; - for(int i = 0; i < WINDOW_SIZE; i++){ // somme de tous les packets reçus - sum += tab_sockets[socket].buffer.table[i]; - } - - if(sum < WINDOW_SIZE*(100-LOSS_ACCEPTABILITY)/100){// si le nombre de packets reçus est inférieur au nombre acceptable - return 0; // on accepte pas la perte - } - return 1; -} - -void addValueCircularBuff(circularBuffer* buffer, char Value ){ - buffer->table[buffer->last_index+1%WINDOW_SIZE]=Value; - buffer->last_index = buffer->last_index + 1 % WINDOW_SIZE; -} +} \ No newline at end of file