From 8ddf0620a9f13adcf89b284c831c1ae7f2878a5b Mon Sep 17 00:00:00 2001 From: Barnavon Jules-Ian Date: Thu, 6 Apr 2023 19:12:33 +0200 Subject: [PATCH] =?UTF-8?q?SYN=20ACK=20re=C3=A7u=20mais=20pas=20encore=20A?= =?UTF-8?q?CK?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- build/TD2_Rezo.o | Bin 1488 -> 1504 bytes build/api/mictcp_core.o | Bin 26736 -> 26888 bytes build/apps/client.o | Bin 9936 -> 9952 bytes build/apps/gateway.o | Bin 28632 -> 28648 bytes build/apps/server.o | Bin 10056 -> 10072 bytes build/client | Bin 45728 -> 49864 bytes build/gateway | Bin 62112 -> 62152 bytes build/mictcp.o | Bin 29064 -> 29392 bytes build/server | Bin 49784 -> 49816 bytes src/api/mictcp_core.c | 1 + src/mictcp.c | 11 +++++++---- 11 files changed, 8 insertions(+), 4 deletions(-) mode change 100644 => 100755 build/client mode change 100644 => 100755 build/gateway mode change 100644 => 100755 build/server diff --git a/build/TD2_Rezo.o b/build/TD2_Rezo.o index 17f3df6344cf3555499ea93eb2c7c7a8f096b538..9b8acebf54689222771e7d3de06bd40e5df138d8 100644 GIT binary patch delta 101 zcmcb>{eXLd2IGT?np>rk5{vQ@%kuN|ol1*R6HE1t9rc}DwM(O?Xi{F235$Se;4 D6X720 delta 86 zcmaFBeSv#|2IGZ^np?ROGfPSmb5fJ^jU6Zc2;UsQ_<@P>(qu;#b4H=bl`Qs5c8rq? o8O0`FV9{W7nEaE)o-tvvC96GSz~o9+d(Idp1~ABVAdGNRncjkTE z^ZTE3&pr3<+qe78aoBnSp7*-8HpHfsK}W2;0D`f-?XVAPT{AHV?&M0)v_rRH+?Afz zd?ZPu=Fi$5zkJPoW-wgSxE3fw@SL;a7Ffr|G zIN$qiT3Z@aVXg3Zs$k3$GJfo#36D+Fpb9dqZi{w1nKf91zZ5xRDq!5I1gQ#ZS*Cd* zo)UL#oD0daCtJw6Xt1aH7EPN_->ku0$of7-I%%GkMh)gc`g>-#R?CrMD7o%E;hOgj z@}9_eVwi3yGcDIN*VE_hL4ROvm^(Ev?jz}+<1pHLoT?jVT-JO9;C=ACB*iz z;7$-8N+conIvehS(VI<0&qghqZZt^6PsZP#lL~niX2xMF(kRGsr^$?3v^-OG7Bh5@ zaW8QIxA z`Mj8x=(mcf6OUzNZ|uzY)o5!i?lf!B>HCe@e|{tPOYb3jLTu|sYi8@rq~%I@AMem$ zeR{FE%Ze+emU;7)LzPeq^aM}WPBS)aH@j2gK= zY23)uy%TcQCuJKgYucKO`npFSuIpIyuu;7B(Wbh!#`J(uTpBHJ`so@x?ak^ryw}GpKi3$TW{OqDjAiWaIkm2F*6bRv1|GlZ~6rgWb5Dw$ISq52Nn-$gj zsWP(JAHq^fNJc(`p4kTEVPv*|NN?-xzGSGxK%vm1GGl7;l0(Pkt5#c$?L;48nn*-` zl5N_7-Gu_Snh~D6Nraco2zzf5;Z+$yKjfhD!C=S#+@wjgfn<}T%cZwzE`nd^(;d|7 zpxe+#^jim=;-HtYj%bDqNljjUOottL3dV@ebCGYh#`e4W=y*zZ-xlO_$qBTrq;cj!#Rp<@~ zy~E+_bI`pQAo{w)cdUaR#&)6~I;c$iO*&*dgWUlU`k#Y3#~nGsQptSM>9Dg+XS!=BA{Im7!L_DMKMqu+(TQUPTM zr9xloh#>bs6CJWuOO5`xBhF;9+BJC+>nOt0W}F_3k@A2NXM-7qUTvf%bkaec`!Jop z-ei;c%h7kp4z)YjF7q#w^? z>GFiW#<6&=tOy#>6BPP#eu6BJjGFBe#z;`WJJ=cw!ZD1~eK#HrM)j#OWoiek%QgLO z49pe!Exg-4Q0T|lPPBvRKNR{Db`!1Q$cgk7Ae)`Z7#y4%)F<-X?pEmg=nEN;j&-4+ zK7u#*7DY1!2SOsl#}W1_G+_jO8!CfRyk}k~_%S{&3d_+wU+8PNG)uUAc0xNaK(vR` zwZA-U`g?3A`U)@pcEz^@yXOnn)C4>at&$}%?unM`V~L@exgvsVWRtabX4f`=y~8dcoO3e&cbXErx`*<99kewy`lF%&w!f{|!}wZ75W+Z2@z1g5J4NF~&l2J5wd`S@Az)PgD-$;M1XbxatX;2?x>##yIv3scjyK!(Sy)E-7dAz6W-1-nIg}$4s z?N{ji=&OvnMyBA-$^v*72P&g*3O&mVn1hjJLNDO~|Ejoc!7ifxT#iKgtt^{8mcGt-GgQV%>`2JgO%=3MO6~ecgBdld=XE>I3)>DdC8-`W{efH1Q z|0-U4*$e1@0om-8D#w8p1~lOC3UO^lO{}p;{5N`{LchWl+pN$N7$N#O)3`!E#jdEJ zmE9FJuEoEqlh^R^sOFlRMC!>0ZTd{}}IA z?DURRC-i*Y&t?HgAtT9S6V?&6cSRAuUD-4rV?;0TdTmf>KMoK*!~5Y)h34Tf(TFT2 zwaW@U-0P_~0M28iVRlO897{wm<_)tU7mqghlf3eShw+tTF}u+VUJNz*;Tzo6=yz#B ze6O((p23tRKmDZ;qVq-E*5psAG5;&nv=?x&X|~H-hpEklDHn3B*eNuUz?SB0xPsf7 z{jSM|{9gsnHG5rC4NP5GNRQsoO24b94!2XM1&^-u!=Evw#h=n&Z-qFFk*2Kw11>We AKL7v# delta 5184 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 diff --git a/build/apps/client.o b/build/apps/client.o index c8854f59eaa20563fd3fbaea071e7108caf66686..e6910dde54b7cb576cd8f2cdf1185f499ae963b0 100644 GIT binary patch delta 685 zcmZ9JKWI}?6vlgQg4js48QPosnt#uxrCD+n5k&Yv0XsFWhsu=lh-e9qwHo`Y|-u zMxZ2MRBA6TI3QhRU@ z^ZD?tGsQj=0{n_tWi7kwte08>Zr<60C~--PsBq3&89wnDG4J!3XBzq#6CqBIFddTO zy5AGOYfK6Ckfb0;aLPjnoBqHNT+Ar@bL2HN?N8vYORk{olJBwZl9$xY_cU@7reR}F z>u1C zj73uP7Y`$|bOFg|hF)VjYSSy!qmu4`Vj21hCsw29RWrUsl&dyOi|8Ga-8DLnM)xhs zA)m16J}QZ0^b(DP#a7y320C%Nr;olM-(%5#l-+n64L2S_ve%+z>c<`Wy++Mbjn7YamY=^{y z5FwfUKoEioJk%|D5Ns4?QF_axSVRjRqUaEI+3L{Lo4w4yeBaFP_xt|weIDE$yql(> zjh>fBk!U~cl~-q`iqf4Zm)&c{%korSPECxL$4iC0h6-ohxoP+M%(Qp>*jw`U0)Zp! zC&Sl{413KG=3`==HT^&RzH4ez{@-oK3YWBmEza3{!alzv9ya@$bwj#@g%GDpSPMyU zrNt*d8X5<+kR*nn;3Ux_9QuS=!NssHe~$csM){L?q?9|TDy0Vsb8$guzGo=EAsco? zRI~34wgoGS{h-lb23y3BFsBk)BXVF-caqV*(a9e@^=Sh?qyGa2K8%HkqzE=5T+HdN zmJQ8w)D*j?Grus{Nd%(~@WfiC^T@>tbQ5bahaRIAlj zw{b>4a}o>I;S}d-5$t(T%++_W|9-*V2QQ}dYwY~IV9#PQ=28c~wsj9eaYMTii6{t2yG?l0^7=5&3r!O{e-Rf;Pfc{7N=?xn&a?#T-u0okI`?i&xFt@)U3}ELcNOm z(b{Wt!wvQP=Y;Y_lzNqZoP9nP>`qjy!+KokHS{@_tk2v0c9w+l5486wy_GYs;nhD^ z0>wT<2XNAAMz~i@XpUi_Pf-*<_PO*eoPI+;!|ONBDo(zfJNuq_POw(s_hPPJg@5BN z&4OLWc!$7ObDD&}4$96svMjh`Svb$5Vp)fsKM-sf zia@PsL zw(zc_0{7jH3H&{Hp3(t!J1y98OnQpGLD@5brT{K^&GbE1q>SFf8*b*S=N~MBNJ{Af zqs@YS38j>)Q@r;%!Ty9ryVv8PPYHGg!L*_6Xt#AYifI*S3E*hDnPzY%ZSf`gnkV{~(7b@T0Yg)$4Y+!Qj}%{VZTA^O zGRE1!4ikdi#;INwcnXz_vE3IlN+02bp9;-1f`f|2&^T!H6#Lx$@1gDEpWTjWus){2 zt7EcK|ALPRsU1^R(FkZ zIYZru_h}Zjp~Loi74t4Vi!=F$Xfta0 iHrfkkxQ${c+B%Mkt$(6s>j<1e8?8ps)+tm9oBsg>b}WMc delta 2060 zcmZ9LZD^ZS6vunwbZ-odTe-asDv^oSx?F?0TG^A5ei$*RIg|o}o5(b3+0zyNI&LA@6 z&~a4l_xmtEl+^h6te zXdV8Tqpve92-=BqOzD%H`4vImM=j>iF8pERPK4rydf>*B6hkAf^e)cX%d6K9(6n?n zpJ-6f4-ptq`aPa%QPA%Y9Z|Fag%J}`Yg_01TzH!N`+K49<%+)w{bMZIinFY4W|!A( z5dKj^8H7ibp5dn(D)I?e2@3iX|EmUsPTWmW=!X$X zDm}-wjtM#f*V5~}cScZ!s-x6GpMAL{+7?XL(onvq#S*TtEUD13Vv5b9_Fgkg067RH-zqGdt2zoQFfKS$$fqx zXaO}>Q4Qx^<7*ObxIwxKoi=(Wm*2#%o_F!jz)dTiVl^n}F;vrz9^}0z1^pRKyLUfd z=V?J_5tuL(MAXI}R3?;fg)lb}q*+{^F#2xpeD}K5lWv25QiXotS>^=2$;GCG{s7{W z4kb{VR65UlSA^#|EKVA#f-;VF`AG5gtEYEdwWdQ>b>AE39B7bPLYeQoY7vp=Y(fF z%GNW8*R3bPZT%%YQ&`OXKeCREs~dU?ls7bhkd1rc=9Rv{gF7UgAEBC8bWeRgKkTE6 zb$YRn=t+bRUZB&U;t9HfO3|SbE*E>K19Yg5o<-QkJ*e22N5jTtP^phn2;10(ijAkx HC_VTue`+Rj diff --git a/build/apps/server.o b/build/apps/server.o index 5a7784cc694a8af7b692fc93ada700f5e99567b3..428ff7dbf41cd4136b09136680e1df41dbb3be80 100644 GIT binary patch delta 681 zcmZ9JPe_zO7{+~PcOe6J+YZe)-+rIFmS%d`Ve^o;#V!5lqHLXta-Cu$1b1OYp@jZ{ zpdc1L1$v4FFWt27(myCWR0bV{AjuA`x4lGvF5#&!clI&^^Sm(6?|tWC=ELyz@PiYy zz24IoP08!!iK4usDkU{tF3H?frKqN4-+;^w7S0uKmN65v{Y%j(`Hx~R$sdW=Bf<)` z?5}vEv>XiT|GkMk=WLTO&PT-`)^JZ7P!2UNX$NtOvk*hCwJ2Wbd8-DxhAoTJL)0xP zZiO4>H-ni$Mo4m?1gERGAw2qv4Z+2nzWxj~8k!jg@hc#A(Q14233;2_*YxBigN%f6 z&mO{0ap3Sf!|G?)wTDDZ-?3-dD;P*{TE&Hg6wfu2*0q`A2&xG#D*E)S;g+zKkTe2v zxLDBn?iyvv2u_+{PRj5Ue7uB2Y9 zyPUO!@zG7QNCJk#6|0{&}`#gN73jFlkhxsrepC0Pg|1SOrA zCW(0<*cnKnSS@Q46vaY~*ce12B0{i(mzV>d^1I65&A-Wa*6`+eTZImz;YXGpH(H+QRj+04$#w@RiXt^e;lLn+0& z;IzD~Rz!=Qu}pi}lp0GsT#(`&c)BpBo|t{hmUW361&NE?Drhyfs|CMW9-qF_*w08w z^m0}O_`x+LRoy&4fYv}e<8i`~_(%x?Jnu?e=cudIjLA|pwVh=TV^^w^rhC?+4Q{v^hnO!)b=!oPw>+=ur}Vq|zvmX6 zWK;|=z?GsF-@u>6Dg>1mpp&5|)o&B|k{NHu8sfP{WoW0q05fu~$6uj5YgxbrP=H;InafP;*?Ug9C6?iqYwvpc{7PxYKY7o(mU e&M{7Ph|N^T*>|*tO-89cVw`G*%^mHlRQ>^u@`BU= diff --git a/build/client b/build/client old mode 100644 new mode 100755 index e0133ee66ef0c17ef1020f36f1b77b6f4380797f..9bc813408ccb0fbc9373e05372bfd02ac3d6b720 GIT binary patch delta 14253 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 delta 14055 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 diff --git a/build/gateway b/build/gateway old mode 100644 new mode 100755 index 1b520c2a017e76c81d3cbd0d3771dc527f98b4e0..9b3ccd948db011832e30cf0ddad2e5126696938b GIT binary patch delta 15757 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

A3 z5?xK!*Rnu9S}HDL_(_XCY@Le$=8?i$mP_&BdO-rLW!(vY?g?TeDVX)lNYa}6^$x}G z6Q*G;Mq;T3DbbAt@iYsZcAo%NvVHsCIY`CLn_NxobV{zU;E?hK(#Ppa{If)G$Xk_P zMoEx)vVofkSOYN`QY4uMxKN16k>g%+JP{8uWgsD&oUN8f^E^mPeModUAG0KQn2>2J zH|5z%LN#H{l1dpKrBa^~J%~^eB0in?-$-Yi)R|eqU)mHID`dtoiw8IHE9hK?vR)H4 zouAwk=O`tei-9}KB)0ek30=1CIL@17k*13oo-Cz^iM`l|qM|ot%WP8qI#7a_r9L)T zg3xs{eZ~U9a++jrnIuHHlDei`GP{Tg!L%=gRIHGSVXb13!=>2QvQb|3N#(anrA-(i z*jsViH$^1ruqTh>Ql^o|hg0QBC{LLt0CHuJ zqeTYCf~42zrb`@49Z7uTNyB7|8D#b`AFw&iv525n3gh%o-{@2CNe)}rM7Bi=R|?yj z`ga`C_{wy-(sw#iW)b$ve6mjW2^nHW)*3zOw1^vkZQdDB($|sr1YvMtvH1BEzY_W^ z(t?%IPOy3=EoCw{Y)KfjksKW)^v>IapUNw;!BY6EPi;_?RGTfA!k~_xr7p7Kf|y>@ z%;#^3H+)Zcodw)`>kY-;HF+PEOb8&>Z;rv`=U{-KT3ec3R-VRHa0Ylz>g2C&@?N$*rK z=H{yod|8m9_G_cnsHu@!{c-Kkx3zlRWo?qKS{sNqV5~M>Es4;Eps&$9K3W@~(T{Fe z`R-tr1C0o6fNtm8+SKFPAn>(gwOJ%T38gd%H4M@zJ zKKJ1%c@Iu{bk3ytbLZsstA2FKr0TqmMS1;f6NXQDVlFp)5Y5f+Uu#JJ;CEd^@+V6e zYv!+=%(Hs`m#Zf+qS4^T?-dQVPG+dqKi7Y|A)w;IIhPllvRME8a`3r_+nG-~mB)7Q z`coGCyP?-k9khCrYVz2r!ZXE`aK+7^I&JCD>`A$oOaJ|JHD4w$b>UdP|6DFR&##<&47iidTi7rB@$-4sY|jtb zi4tCMlq=%QaSL&mV8Vc(6TD*cXetE>LvVM#3Khi-MnKUKJQt1nx~yWj51X7R^w GXZ%0VSAy68 delta 15642 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 diff --git a/build/mictcp.o b/build/mictcp.o index 0a1ebcb861d9eceacd693a116c974acd4090695a..61831c318116d92f7f8d5ea551ae34371c9670ae 100644 GIT binary patch delta 6622 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 delta 6298 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 F{U2Oo5gY&j diff --git a/build/server b/build/server old mode 100644 new mode 100755 index 414b5d2df1f3c397f27ebf2dd16aa115b75f66f7..1f8045f2006adbd8c57eb58bfbe19faa3215d58b GIT binary patch delta 11331 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 diff --git a/src/api/mictcp_core.c b/src/api/mictcp_core.c index b55f36f..e0fa4d8 100644 --- a/src/api/mictcp_core.c +++ b/src/api/mictcp_core.c @@ -81,6 +81,7 @@ int initialize_components(start_mode mode) local_addr.sin_port = htons(API_SC_Port); local_addr.sin_addr.s_addr = htonl(INADDR_ANY); bnd = bind(sys_socket, (struct sockaddr *) &local_addr, sizeof(local_addr)); + pthread_create (&listen_th, NULL, listening, "1"); } } diff --git a/src/mictcp.c b/src/mictcp.c index 7c3ba33..30c243c 100644 --- a/src/mictcp.c +++ b/src/mictcp.c @@ -120,11 +120,13 @@ int mic_tcp_connect(int socket, mic_tcp_sock_addr addr) printf("Remote Address Port: %hu\n", addr.port); IP_send(pdu, tab_sockets[socket].dist_addr); + tab_sockets[socket].socket.state = SYN_SENT; while (1) { sleep(timeout); printf("timeout\n"); - if (tab_sockets[socket].socket.state == WAITING) + printf("Socket state : %d, SYN SENT = %d\n",tab_sockets[socket].socket.state,SYN_SENT ); + if (tab_sockets[socket].socket.state == SYN_SENT) { IP_send(pdu, tab_sockets[socket].dist_addr); } @@ -165,13 +167,13 @@ int mic_tcp_send(int mic_sock, char *mesg, int mesg_size) IP_send(pdu, tab_sockets[mic_sock].dist_addr); tab_sockets[mic_sock].NoSeqLoc = (tab_sockets[mic_sock].NoSeqLoc + 1) % 2; - tab_sockets[mic_sock].socket.state = SYN_SENT; + tab_sockets[mic_sock].socket.state = WAITING; int sent_size = IP_send(pdu, tab_sockets[mic_sock].dist_addr); while (1) { sleep(timeout); - if (tab_sockets[mic_sock].socket.state == SYN) + if (tab_sockets[mic_sock].socket.state == WAITING) { sent_size = IP_send(pdu, tab_sockets[mic_sock].dist_addr); } @@ -256,6 +258,7 @@ void process_received_PDU(mic_tcp_pdu pdu, mic_tcp_sock_addr addr) //addr = adre tab_sockets[mic_sock].socket.state = SYN_RECEIVED; + display_mic_tcp_pdu(pdu_r, "Pdu SYN ACK : \n"); while (1) { @@ -271,7 +274,7 @@ void process_received_PDU(mic_tcp_pdu pdu, mic_tcp_sock_addr addr) //addr = adre } } } - else if (pdu.header.ack == 1 && pdu.header.syn && tab_sockets[mic_sock].socket.state == SYN_SENT) + else if (pdu.header.ack == 1 && pdu.header.syn == 1 && tab_sockets[mic_sock].socket.state == SYN_SENT) { // si SYN ACK reçu envoyer ACK printf("PDU SYN ACK recu\n");