From 2e6064f23320ba677d7fdcf4a78fee2ca8ebef85 Mon Sep 17 00:00:00 2001
From: Manax <paul.ripault.etu@univ-lille.fr>
Date: Mon, 1 Feb 2021 16:48:35 +0100
Subject: [PATCH] Cotcotcot

---
 webserver/client.c     |  19 +++++++++++++++++++
 webserver/client.h     |   1 +
 webserver/client.o     | Bin 0 -> 3304 bytes
 webserver/main.c       |   1 -
 webserver/main.o       | Bin 2968 -> 2880 bytes
 webserver/makefile.dep |   3 ++-
 webserver/pawnee       | Bin 17784 -> 17856 bytes
 webserver/socket.c     |  11 +++--------
 webserver/socket.o     | Bin 4808 -> 3032 bytes
 9 files changed, 25 insertions(+), 10 deletions(-)
 create mode 100644 webserver/client.c
 create mode 100644 webserver/client.h
 create mode 100644 webserver/client.o

diff --git a/webserver/client.c b/webserver/client.c
new file mode 100644
index 0000000..7ac1803
--- /dev/null
+++ b/webserver/client.c
@@ -0,0 +1,19 @@
+#include <string.h>
+#include <unistd.h>
+#include <stdio.h>
+#include "socket.h"
+#include <netinet/in.h>
+#include <sys/wait.h>
+#include <stdlib.h>
+#include "client.h"
+int traitementClient(int socket_client){
+/* On peut maintenant dialoguer avec le client */
+			const char *message_bienvenue = "Bonjour, bienvenue sur mon serveur\nExcogitatum est super his, ut homines quidam ignoti, vilitate ipsa parum cavendi ad colligendos rumores per Antiochiae latera cuncta destinarentur relaturi quae audirent. hi peragranter et dissimulanter honoratorum circulis adsistendo pervadendoque divites domus egentium habitu quicquid noscere poterant vel audire latenter intromissi per posticas in regiam nuntiabant, id observantes conspiratione concordi, ut fingerent quaedam et cognita duplicarent in peius, laudes vero supprimerent Caesaris, quas invitis conpluribus formido malorum inpendentium exprimebat.Sed fruatur sane hoc solacio atque hanc insignem ignominiam, quoniam uni praeter se inusta sit, putet esse leviorem, dum modo, cuius exemplo se consolatur, eius exitum expectet, praesertim cum in Albucio nec Pisonis libidines nec audacia Gabini fuerit ac tamen hac una plaga conciderit, ignominia senatus.Post emensos insuperabilis expeditionis eventus languentibus partium animis, quas periculorum varietas fregerat et laborum, nondum tubarum cessante clangore vel milite locato per stationes hibernas, fortunae saevientis procellae tempestates alias rebus infudere communibus per multa illa et dira facinora Caesaris Galli, qui ex squalore imo miseriarum in aetatis adultae primitiis ad principale culmen insperato saltu provectus ultra terminos potestatis delatae procurrens asperitate nimia cuncta foedabat. propinquitate enim regiae stirpis gentilitateque etiam tum Constantini nominis efferebatur in fastus, si plus valuisset, ausurus hostilia in auctorem suae felicitatis, ut videbatur.";
+
+            int status = 1;
+			while(status>0){
+				status = write(socket_client, message_bienvenue, strlen(message_bienvenue));
+				sleep(1);
+			}
+    return 0;
+}
diff --git a/webserver/client.h b/webserver/client.h
new file mode 100644
index 0000000..f64e334
--- /dev/null
+++ b/webserver/client.h
@@ -0,0 +1 @@
+int traitementClient(int socket_client);
diff --git a/webserver/client.o b/webserver/client.o
new file mode 100644
index 0000000000000000000000000000000000000000..ad6c6f86759b50c0567f5f34e7a6a1687171b809
GIT binary patch
literal 3304
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

literal 0
HcmV?d00001

diff --git a/webserver/main.c b/webserver/main.c
index e5da6a0..ce4ee56 100644
--- a/webserver/main.c
+++ b/webserver/main.c
@@ -10,7 +10,6 @@ void traitement_signal(int sig) {
 	printf("Signal %d reçu\n", sig);
     int pid;
 	while((pid = waitpid(-1,&status,WNOHANG))>0){printf("pid terminated %d\n",pid);} //-1 n'importe quel proccessus
-    printf("Pourquoi tu marches pas ?");
 }
 
 
diff --git a/webserver/main.o b/webserver/main.o
index cff4429d0ddfdc825257e82d4031154ed7e9210b..2091926a43f76b108fa24f82887767c62002dce7 100644
GIT binary patch
delta 405
zcmbOsen4!3#^ict)`_~=8&?W2PQJ_-%g8WUk4cR`nt_3V!I4j(jmeppjVWw%GLtJK
zWAx;e%;AjDlNnjc8SiYaWT|H~ECi`zU|?WjU|`^9U|{(39|G#2;!F$-46F<c3<^+w
z^W=+c;*4FB3)#damq5ipdIgd69+|w5O<eK<R2F7}I+TAEY{LJ^j%?zL?2{SU#U+Ip
zAyP1vP7p4G_+&$NaYJROEXWo<BwMtg;xJwQP+j^UU5u8KC$if!Mo+%TF3xyo@=Nyf
zj4qRRa+q^EfIP#%z#uUBCx<y>%Va}Nd&ZW@g`D=BEl~54CvRjDo_vN=h4VR7L>4T<
s!==K=GTD&Jo{?j6A(uU4z~qfw_KXdaKXTbKu9$4dZO=Gkav`@m0EP2fU;qFB

delta 519
zcmX>gHbZ=Z24loT&3r+RURwqR28JCV;suD<I75I@G9bUSsIW9YQ=z0(AvduoIU}`L
zp&+qX!G7{`#<<BGOe*|2AhnKs0&PsrylhPAo2{8#85wgXH!_Da=1jiHT+aA*b0AAS
zqhT~i9RmXc69WSSD+2?A0+gQ$rCAsl7<d>M82<c+fTqb8S;ZOqCr@M(XPh#bkxg83
zHdH0Z1TG|%TPGW`i5p&p%7V-hLXv$56$j}8+3N`9KLeTRDZmKf!em1rTm}iKILI^+
zB-50k;xP3wQ1u#<71_lZO(uV26PL6`Q<Di*;{aCUHQAEgUJ@K?3=9kjP&tr!ApCan
zME3KHp_3Ci%sDea&ShX=aG1Q1!<=a<<K#vrvB@7eG+;~vP7ThfP`hd;CvuuI2{BEc
u#c9W+&jeA*sljM4S(3}1amD0FFgcUUp7Fxun_TvsAJ`!lCr*CIArAlzV{mu?

diff --git a/webserver/makefile.dep b/webserver/makefile.dep
index c586ce9..425baca 100644
--- a/webserver/makefile.dep
+++ b/webserver/makefile.dep
@@ -1,2 +1,3 @@
-socket.o: socket.c socket.h
+socket.o: socket.c socket.h client.h
+client.o: client.c socket.h client.h
 main.o: main.c socket.h
diff --git a/webserver/pawnee b/webserver/pawnee
index 8a6991483167ea05d0bf0fd36affbf54a91418e6..264161030dafdea1aeeda8887bb6c505a8dad802 100755
GIT binary patch
delta 1773
zcmey-#dx5bae@YugWW`}dz^n+8NlH0WI;xKE)GsGhk=80vKQk%MHO`j7oCoQ2s6Y?
z)?_*@;_TB`dDxO~Ntu9IhnSau&`Z9)hnqQ=yZHE{SQr>QdU-!HgDBhb$qNNfvlw*N
z-kDq=B*yZmx%SWGE+J{24~z^T`OpvDu74(P6tYlyz{Jq)dWV1efzIPE+W-FlpVsO6
z=(y_>kfk2Iz7IgkxP^5X|4g<J)|B|O3nab|M06g1vG(u(|DCQsnrnYdt`t^a`O;kb
zW%68M>H04W^^3b*e{>#yp#Zkbb{P)?!;82-|NlcokNo-ne?Q2K7hZq={}1)(eCpBs
zMxnFzjYlu*1Re$kk51PQ$6fz`T>4tqqucd^N9XYu@qhmR_vk$2(e3-8+x3k{=ef?~
zFRcH79Pnp9NaYK@zyJR?*ZyIsPdK{+WcbO$NG5l?zUe&X(QBJ6#J~WSePQtD|Nqxw
z-L8MY;wf-(i9i4U?*bX<(QE3V!@#ir|NsC0Ulc)X0-Jw&a*v3l6c5Nf%|HH^@_6*x
zst7SKyzl~v^s*LB-Y+7__;T`15qV+D-~a!^)Z7$gV0iK4_hfESjljKvAYUGTk@oxl
z|JDPg!XCZ0n?Tane*OQyLyLid;kCjGlmGw!d-U2a2Z`_d_5c6=3GxgKFJAun{~zpu
zlZVsv_~lzbK4svSpIk30D(0ZUz!2)us|%uoeKbL#%JIT^^D0p{u1N~T{Arna3Mr)u
z$vK&+c_j=Cn~N0e*(UE-Q<?l%%{erJfq{XGfq~)Ai~s+ZFfcIqy!!wD3<Cp0%&Y(Z
zOBfg!9AE$c4@wk=-u(a1!pOiN{r3NV6-EYzvbX>LyD%~^e1H4@e+nZ5L(aSZ|63Rt
z7|y)=|NqS7UUg;02a`9d>oW#SeyFZqU-9z)e-5ydA%qOb1_lO(&{zNeH-ZA)kx!tF
z$(ff8BFzAjuVG+d*!KGW|45J+Or9x(hn<4~EI)^Vf#Ln@|No;=<ip_ddl(oPwBG#x
z-^jo)IbB1P^$r6AL-*uH4Qa+dljmx<bAnv|<IVs7jGGs7zGj*HLf3-v%VtGAa~8%g
zlOv7v8C51PG!kVNVrbaB&}cs+<EqJp#^RF;j3p#DGB7YOG6*rSXo74;!XOor-~`Sf
z%<#b$Nrr)e;lkvDCgPqq!GgjJFVJM)fW-wFV1)pf%fP_!A8eO61A_xh1VZ1KtY|83
zD9XsdAjH7O@Ie$J3JOUOOBE{qOc=ytU;qap0|SHE<Umt#$p9t>1_cHQh8<{T22E}>
z6=zHVk&@L=6K07(OlX8q4E-Qk#^oSV5|mp&w%bG1fFpu|f#J+#K{Ihld5{TA{0v{9
zZi5=Ya2ceR@j00M1t$3>Gn$J_Dl$R*k}3pI2~HLa3=H}pSw_Ff7tO>OqrvQaFxd<y
z=S(&<7nfYk#K0iPB*Ab1%||;XCz^{J9tX)XNHUy(%CbN#U^oZ0aRStZu~6}QV3SWz
zK4>m383I+)APAAvhENQjCVw;+m;48nm4=#-0hMK*9B3iVC<-REz@#0R3<8moDa;Vp
zo`AXss)?as@<t1B#x9T=#<`OpT8K051hY?17PQ>K3eLWhk6P9XloTaqmZavU=9M^u
zv-D<XtIy1vE$kAQ84D-RbkygB1^JiB7aiRhRVGV1=?lUV7L1OW9O<Ml*Z{42V06dk
qnNIdhyamv_3d)B1lb^b1b4FM~TzP-8q^miXIW+aMGfs}OlLG+$@cG05

delta 1719
zcmX@m&G@5>ae@ZZ58H`a_c-6OGJwI`$%2gfTt7I#9EKkplf4-CDcYz*xaf2UM3^CD
zvL@4Mk)+`FYi{lks1ETpk;_e3Z+8AJZ~bNt<}N;dFBS#{k6zx#%pl4(XYxY9(<~01
zwPz+52#K-$Xs-P+xl2fz=LsVNNIvvQx9g9|8-*;CE-*24yPo0SexURCi}t_&|EG1j
zUOMi21!Sp5ukQtrGHziV#vhX{gf%68>;j4J0}-9aU#$K6|9_|Jm*(0plPiT4SUxn@
zewaL0Si1fLL;YfpUe>KV3=AHft}l+e{sCF~TGyl7^@T_0@fTD6{QvLKdB~&N_eHns
z7mv<!oyT7k`~jKuXFo{g3+KQ8|2NnEVW>ar(QCV0h=JjS;-CNjyIsG4-1z7J|NS5b
zyx{%&|9_}Q=Tnd7HwvA#Z@OLIbRP5QwQa2zVqn+-R^jvK|Nqxw-L8MY5_NEKlRy9e
z?*iH6(QBHb!@#ir|NsC0U-Uto0JiwFN3U%nTs_O5|NkePJPfw1@y!AT28Mkg-TQeN
z7#LoNgM8Ec<9{iSN3X5B5CcQ#i%^hIFKgm|kUv`!KvXY;YCgaL3V|=b|NlSk`htOh
zLBInd0}fb^&SU!pL1w!A{{J6l<R3u>h8N6#CX0z`_&g8<1?lk@g}?v*Z#_^d?9pp`
z6(s%e*Z==Jv=|r|UMsvX0b6H#3M78=*Z=?fC&)7}y!i6x|9^0xoIK1g-vSDq$^D|D
zVgVWq451#qx*$5(M-vp594~@5?-F(6njF9+FiD|!bF+dS8*f@>o<d5gLUK-KYF^3Y
z18S<00r{mxg{AqK3MHiqxrs%|8L7nz1&PH9_LHBex%dV!Ffed3FfcrM@&ErE1_lO`
zSO5PXVPIfzdG-H)4g&*&=Ij6e?=UbhJb&~5{~rbhhTymV|I08kFkE^2|Gy0*1B1)E
z|Nmnc85owl`~QE*<XUxQ#tV}ds_Qd4OuneD9+~m-|9@!a0r`YMhJk@0hJk^>_0|9X
z;Fxjb6KG>{=4AuRGJxf47#J8HzlPY(0F!4*=V9l7$b(#|Ke<ptnspBY1H**L6E&n6
z?@V5+;m)bT$iVR9&Hw+5n-_BaW|{m#*MjlMW<@=77RD!&BaQSKZ6+@?5@i-*n6P=F
z(SF9s1;!FwD;O9U7#V~ZzGzIIWunHoZSp}AamnLgK~aVuwoqq5sSA@onutq22J-|N
zVA&tcWnf_VHd)bB+;ATg0|OHSHv@wJOdLY<FfuR*G4L@w5QXqT$r8kpncQe9E@{TZ
zz@We&!LY*tB!<8ilQ)`*GkSqY$wa6L{UQ+gMhL}F3X)~)1(A{qplXz%YCtgvQnqQb
zqnWs*7)X|hpWzAA4Imj1-U-sncos}P0Fz%pq$E2N#LcNfAXU)3#K6EHI@!=%oY7=5
zqq#VvBbXfuCNsfg)8s^Ramk5H3=D!y5)22>d^B(JM00V&wIEprNrp2}Sr&)|3|pW!
zHb7k%3l%>CHu=!xkLKc%RxmZ749LL1pbb@XW3r-!xa1S4tN_%645;i&unE7xq`>4r
z3vosjFlhlICB2v-t~~*D4^$IF*yM*6;*13#HH^)Z1uexH=Y!cBCp%j1n9O8Vy}8fo
z6Z7UeyCi1D#K{jG^*Lc-`((1DlRKl$<U}WZL0C$G(IJx;I_V2efL0?gI%D%gCwnGd
k2WWl)Wfi^2x~|%s8kP{}9G#r#YR>uA2Et>X{Lo$=02#^*xc~qF

diff --git a/webserver/socket.c b/webserver/socket.c
index bae8558..a62c326 100644
--- a/webserver/socket.c
+++ b/webserver/socket.c
@@ -5,6 +5,7 @@
 #include <netinet/in.h>
 #include <sys/wait.h>
 #include <stdlib.h>
+#include "client.h"
 
 
 int creer_serveur(int port){
@@ -60,14 +61,8 @@ int creer_serveur(int port){
 			//close(socket_client);  fait une erreur si on le met
             
 		}else{ // à déplacer ailleurs pour une meilleure lisibilité
-			/* On peut maintenant dialoguer avec le client */
-			const char *message_bienvenue = "Bonjour, bienvenue sur mon serveur\nExcogitatum est super his, ut homines quidam ignoti, vilitate ipsa parum cavendi ad colligendos rumores per Antiochiae latera cuncta destinarentur relaturi quae audirent. hi peragranter et dissimulanter honoratorum circulis adsistendo pervadendoque divites domus egentium habitu quicquid noscere poterant vel audire latenter intromissi per posticas in regiam nuntiabant, id observantes conspiratione concordi, ut fingerent quaedam et cognita duplicarent in peius, laudes vero supprimerent Caesaris, quas invitis conpluribus formido malorum inpendentium exprimebat.Sed fruatur sane hoc solacio atque hanc insignem ignominiam, quoniam uni praeter se inusta sit, putet esse leviorem, dum modo, cuius exemplo se consolatur, eius exitum expectet, praesertim cum in Albucio nec Pisonis libidines nec audacia Gabini fuerit ac tamen hac una plaga conciderit, ignominia senatus.Post emensos insuperabilis expeditionis eventus languentibus partium animis, quas periculorum varietas fregerat et laborum, nondum tubarum cessante clangore vel milite locato per stationes hibernas, fortunae saevientis procellae tempestates alias rebus infudere communibus per multa illa et dira facinora Caesaris Galli, qui ex squalore imo miseriarum in aetatis adultae primitiis ad principale culmen insperato saltu provectus ultra terminos potestatis delatae procurrens asperitate nimia cuncta foedabat. propinquitate enim regiae stirpis gentilitateque etiam tum Constantini nominis efferebatur in fastus, si plus valuisset, ausurus hostilia in auctorem suae felicitatis, ut videbatur.";
-
-            int status = 1;
-			while(status>0){
-				status = write(socket_client, message_bienvenue, strlen(message_bienvenue));
-				sleep(1);
-			} //traitement final
+			 //traitement final
+            traitementClient(socket_client);
 			printf("fin du client\n");
             close(socket_client);
 			exit(0);
diff --git a/webserver/socket.o b/webserver/socket.o
index 358fd4b8417552b17f53160f85287dbd889789b5..8c1aa1fdd9d29aa50d74af5930105da9a5dcdfc8 100644
GIT binary patch
delta 458
zcmX@1dP97I2Gb0ViCVI92A#Ecb}=w8FzjPwU|`tK#K6Gt0>tff{nK3gXR;!rB;Rq@
z4<I>@-p~)-u74)>SZF<9V(50g!@vDN=W(#&v`*JY$6cR*^m+99KInG+vrB-1fx)Bm
z+{F1xtlh4E_Hj*|qsk8w2dUWyB07&xj8d7L%g8=CfKk@4x%LY~{o-!dA5arLdTl|9
zz@{Ta_rt{)CjVkAoV=1lck&Gm6~@NNe>r|LHg5jO$<N4GJ(-b9oUvhYAa|o|Nl{{E
zNosCtUWs!~W@=suLqTatF+*}resL-T!{+zgkxY!SlN0&G4O2iqWME(b`Ja`6fgv4a
z69WT7CRCh-fq_Akfq~)Ae+Vd^JdsbFv3BxDzVD2UlV9?ib9sQYF)%P(V4AEYV8(cG
za-x7e<H5-b1?;&_Kn<y6nEXn>jLDH{vXY=3QykM|K~AyB6@nT}2~3k03EDA9a7=zA
qXvaAN<Ol`^293#@Lgt(YKvpv_Ftkn16f);B;D9(Rkzw*HemMXb#f7Q>

delta 2251
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
Uz?yrwRX7#+A@Ye}5gtw+08tek%K!iX

-- 
GitLab