From a6f2a8128255abaf348c780fc7b762e6b8fc6fc0 Mon Sep 17 00:00:00 2001
From: "romain.gabet.etu" <romain.gabet.etu@univ-lille.fr>
Date: Mon, 25 Jan 2021 17:30:45 +0100
Subject: [PATCH] ouaf

---
 webserver/.main.c.swp   | Bin 1024 -> 0 bytes
 webserver/.main.h.swp   | Bin 1024 -> 0 bytes
 webserver/.pawnee.swp   | Bin 1024 -> 0 bytes
 webserver/.socket.c.swp | Bin 1024 -> 1024 bytes
 webserver/main.c        |   2 +-
 webserver/main.o        | Bin 2128 -> 2128 bytes
 webserver/pawnee        | Bin 17344 -> 17440 bytes
 webserver/socket.c      |  48 ++++++++++++++++++++++++++--------------
 webserver/socket.o      | Bin 4224 -> 4592 bytes
 9 files changed, 33 insertions(+), 17 deletions(-)
 delete mode 100644 webserver/.main.c.swp
 delete mode 100644 webserver/.main.h.swp
 delete mode 100644 webserver/.pawnee.swp

diff --git a/webserver/.main.c.swp b/webserver/.main.c.swp
deleted file mode 100644
index f48dd6d6fe81c6798f62acde92b3d64671f61cbe..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1024
zcmYc?$V<%2S1{HyVn6{G*ccen6O&R)ico~Ha)?!zo0yrWmyFejQNhs=7!82|2mt_=
CU<&8}

diff --git a/webserver/.main.h.swp b/webserver/.main.h.swp
deleted file mode 100644
index 63bf98f06823935d16fb0617ba930026d5801124..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1024
zcmYc?$V<%2S1{HyVn6|{Yzz$PiAkv?MJU2pImD{VP0Y;G%fM>HsNiS_jE2Afga818
CBnqMc

diff --git a/webserver/.pawnee.swp b/webserver/.pawnee.swp
deleted file mode 100644
index df090c7dafff7765b97047d6ebabe28e66fae937..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001

literal 1024
zcmYc?$V<%2S1{HyVn6|gYzz$PiAkv?MJU2pImD_fNG#7wO~q=&sNiS_jE2Afga80A
C{|b`;

diff --git a/webserver/.socket.c.swp b/webserver/.socket.c.swp
index 145b0174816035472b857cf01619fdd822b717c3..36066abd09b6d63155fdf784302f40a32c2a53c0 100644
GIT binary patch
delta 84
zcmZqRXyBM2!KA@5Q7Xt#KO;XkRX;s3DYc|X->I}HHL+AbpeR2*zPPeDKCw(c*Tm4k
aFj>DmHK{nYs4TTee`8J%vtTF#8UO%X6&9}m

delta 19
acmZqRXyBM2!IZ!@Q7UNT+#u$O2b=&ng9cOp

diff --git a/webserver/main.c b/webserver/main.c
index 1d00ad2..20c2a69 100644
--- a/webserver/main.c
+++ b/webserver/main.c
@@ -21,6 +21,6 @@ int main(int argc, char **argv) {
 	}
 	initialiser_signaux();
 	printf("Need an advice?\n");
-	creer_serveur(8000);
+	creer_serveur(8080);
 	return 0;
 }
diff --git a/webserver/main.o b/webserver/main.o
index c5c2f62d38978d2db4f41fd35e981c4b9f29e54d..16c42a2da10ef21faf2f6937a4ac6a8824af92e5 100644
GIT binary patch
delta 12
Ucmca0a6w?g0mca%5B9SI0444PssI20

delta 12
Tcmca0a6w?g0Y-<72m9FpBwhtt

diff --git a/webserver/pawnee b/webserver/pawnee
index 72d3816d9572c54f43b52a1779d041470bb03554..4769e4d4a9faee65d9a246c9fd1acb0f8d1da359 100755
GIT binary patch
delta 2174
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
ZCM!Cdb4FM|cn*^joy{3%OrGhi4geSFd^rFB

delta 1965
zcmZ3`!FZsZae{=PfFJ`HIDkn828W57%Q*!&AUuJIH}yGnSs)zU$%2gfoCQ#+g2|qY
z`kX76AaWZfH!`*h-cW<^;PhlkrrWv^L5&JapWk@9d&O+qhi4XlUiiPi8Kg~!fq{XM
zfq{Vytf>)93QbmIR%e_rS&>DYQEhS}vpAz2n5+YnMw1&^^ci!&>{Ku*4<^@u)K5-e
zmSD65^CiHfCz#v~l4A^*{E$VTF>JCRtL9{TR>{e+tS40&7?{8iWHBQH2r@7TfH({c
z45d<;oFMs@$$@O*h996|^uZP)4GjW@4N&n8XyC!bJ0{O$i<abvC<c>1?7<Y+uR@!7
z+2t7-1t#lqC{N}!V&8l~<R$wi0Vc-!PkIatX%iqS85j)TdUjrn^XPo!(fs5?K!{H-
z>n|n-29I9e$zaM>nu&qozvwbO28J*E@-845TTguu#p(p2EPs@UdUUha=`k>Pv>qto
z{QrPoz5!(RVJPj<Ybyy-*lQ{TqBQ?aUMMK$5(-t%@&7>@*jSkI2HTr@ppelI^=P&=
z12H{1pO)}=bldLIV_<lp`~Uy{7a9Nm|3AjMaq@3LM+qK}UfU<U3=A)(|NH;{xa%8G
zRD1M>zL^{+B&quT@BjbJKmM136zv8niu?Eff7)@^3rq~%u4nkSALu;(;`iibLJIX#
z{}3vtfmBNV`~Sb&_0K*o1_p-C<1bzznbZZ6|M?dzzYFBmeITOq_=~T9|NrlF{n1<t
zwXz(f@WS8!|2=wHD|s0hJUU%Jcyzmd@aR1LA`&FrdB~&N_d~bq4@-~EbDhUunEw6$
ze?Q0vFLwX^|Nr%sP>;^1`#}8tybKHsFTy~2VE#!GW?*<x@^|tvVGUm^VUXd+Uoids
z|G)J>sjx?{tv*P4(VzeScW5y%FuYcH(fc3d4qFwFc-No*|Mxq{Gcdex{rCU>4v_Ot
z9!}$zZvn9;+lz>b3urMggnIPqg6Lo$&8HsCZ#Z5E|Jj@^GL?Js1dfJD3Ym-yn~M~x
z*epF>{{KINfq_Be)&Kto7#J8VUj6@{!N9;E`}+U?8w?B#{%`*O|G~h(Q2yrse+fng
zh8J)C|F>XdVDOl%s;<p=VsfCmKHG{H|NlQ=nB1nWWSQ{t|9@Bt2RTQEfq@~0fq}vH
z)&KuSps;Y{6KG>{=7r>E1_qFP4al0w57p%v!zVLp$TO{YJy}V^jrG9m|Nj{`H*z$y
za>DY~hRGjw^%+$rE9%87{(zP^Fp~_JLH02)fTA44x;lBGo;{<*<cE6lf;XUw*g+Bu
z3=9&J1@-N9f3QNh|NsBb2eClT1JNI#{BuzGpCJC^h0fxWCvfCUGHBogDFWe+$ukZ1
zd%_$75`kf626hIRc9<B5W@g}EfLROT!!R=gCxgV~g@)pcHzpSvicUUfXvD}cnbAm`
zQD8Eoktj1igUVz>BYnmjlM{`^88s$X8uc?aO#Wyj$}Gt+VX~sJyQBlOn1Pwd#{ept
z_!tT%HyVpe!U`dntU0(?1?k;rtk3j8aPlMLGRB<AktXGgHzr>+ac5MRENQCG*f81C
zRG(3Oa;2#|<AlivO~n~iCf_u5=llw_%xJQvnL1;`<Uq4{#*WDw&GeZL2v2@wrpGvA
zvY@%RB&^!dhFY7!1S&j1wmO=NGx|@CG>;Y)WRhT*04*A!${6-fo@ge{cysbcGjYZ@
zlLalr896pPTAX5<ENdOQxy3q$adH3?%jO3*3XF^=CNtXU3&NrRMqi!mXs0g-ivSp{
zHo4JGp9>cJKUgR4vNPk9fF=!z$v^GP;RywnU@Rs(+SfBZV3>T!UXPOj>T8C{Kkd!o
zbt24@f|DH`^f^^TAf8Z}T<PG>cy;nY2YpUNP50BmoKr&`qC#V{rK39|W5eV|Cw<Na
zXb3b+-sxn{2@8)2lYctdGftRn>1@xr!2qHyV{)UjIj4jLgeNokptCun$>g8T>HxY2
B7cKw*

diff --git a/webserver/socket.c b/webserver/socket.c
index e88498d..8abb0e2 100644
--- a/webserver/socket.c
+++ b/webserver/socket.c
@@ -3,7 +3,8 @@
 #include <stdio.h>
 #include "socket.h"
 #include <netinet/in.h>
-
+#include <sys/wait.h>
+#include <stdlib.h>
 
 int creer_serveur(int port){
 //socket
@@ -12,11 +13,13 @@ int creer_serveur(int port){
 	if (socket_serveur == -1) {
 		/* traitement de l'erreur */
 		perror("socket_serveur");
+		exit(1);
 	}
 
 	int optval = 1;
 	if (setsockopt(socket_serveur, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) {
 		perror("Can not set SO_REUSEADDR option");
+		exit(1);
 	}
 
 	/*Utilisation de la socket serveur */
@@ -28,29 +31,42 @@ int creer_serveur(int port){
 	if (bind(socket_serveur, (struct sockaddr *)&saddr, sizeof(saddr)) == -1){
 		perror("bind socker_serveur");
 		/* traitement de l'erreur */
+		exit(1);
 	}
+
 //listen
 	if (listen(socket_serveur, 10) == -1) {
 		perror("listen socket_serveur");
 		/* traitement d'erreur */
+		exit(1);
 	}
-
+//decouper ici ---
 	int socket_client;
-	socket_client = accept(socket_serveur, NULL, NULL);
-	if (socket_client == -1) {
-		perror("accept");
-		/* traitement d'erreur */
-	}
-	/* 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.";
 	while(1){
-		write(socket_client, message_bienvenue, strlen(message_bienvenue));
-		sleep(1);
-	}
-	//int optval=1;
-	if (setsockopt(socket_client, SOL_SOCKET, SO_REUSEADDR, &optval, sizeof(int)) == -1) {
-		perror("Can not set SO_REUSEADDR option");
-		return -1;
+		socket_client = accept(socket_serveur, NULL, NULL);
+
+		if (socket_client == -1) {
+			perror("accept");
+			/* traitement d'erreur */
+			exit(1);
+		}
+
+		int pid = fork();
+		if(pid == -1){
+			perror("dork fail");
+			exit(1);
+		}else if(pid > 0) {
+			//close(socket_client);  fait une erreur si on le met
+		}else{
+			/* 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.";
+			while(1){
+				write(socket_client, message_bienvenue, strlen(message_bienvenue));
+				sleep(1);
+			}
+			close(socket_client);
+			exit(0);
+		}
 	}
 	return 0;
 }
diff --git a/webserver/socket.o b/webserver/socket.o
index 0b82ed68b8d11a76ee51266d539551e0bfa79a1c..01cfd92ce54f541cc5bafab22cbd8b0eba180093 100644
GIT binary patch
delta 941
zcmZor{GdERgJ}cbL@iq-F^^tb1_lO(7a(FkBaC(2^$CdW(Hr_?V!a|inyQIQ9WaDm
zNuvu*=3-QdN7D&2A8cKx>zC%*FaJw%sA;bK!cf21qn8!rG>=Z#7arZNFFZPrgY|lJ
z9`fk+eK9$bQF?L(V<Klteo?kUT4H9-=39(SY>a)AV>x~^_DzoDOlNeQoX9E8=mR1r
zf8dmu?7+`5IfYY%F%Bfcm<lGdz+@qqET0_670i-aky$c%F_)@%T7FSBLvcw_PHG-Q
zc~NFbDnoHjYHGpcJ6t}JRv@P_Ffgz%Ffi~kFfjc24*^M&3%SJ^^CmlTi!&Ba7UUK;
zti_>n0+KjCk_j6pU*r~N+&g(8w>aY=kO`h=kW?bubsI@s5Xpq+P;n*(1_n?NIzahv
zK&I7ygYwW_&IO8gsE>q@Op}6&!%Pc<>X(O#gUsPUQm=_5j_g`Ji1_5`Jc9Lh5H<tM
z%vh+I&QNi5GkuZ7k<E;Pio?vwftr&A6$hCkg5<V3h`1a$+C-5gIv^5Yak0r;d0sR2
zO<u@r&Q-w;F>wde<VU<_Oy?LU7jlSAHsI5MF$?%KI4?joubjM)&z!Mx@=ZQ_rfD1y
zmHZlvGbTs!+cO#PO`gSX$8~`NVxR`o<VXBwoIkiA+}g>C0_L0^d=OsZWJNxC0716>
A<NyEw

delta 591
zcmeyM+@Lr?gUNw+qL!@$k4LX90|NuY3lMSK^$jBf1A|9z=$nb1imYI{i8~!s!3>z9
zZr4BixEL51I*)_(H2?Tt3YMR2#Hiu{X2Dc?^s<6X_2_i{;L+{+!2_zpqw|nQx9^8;
z*B>68=b&QyLH2^pdwm6@XYx75WJZR~R!mK7j7F39a{OjAn!J-UozZ>rK~8Z-Ul2Jt
zfJ=fg62xLm0F&upGI#PruHea*+$xikxWy)yaeFaFOg_jh&X_X!BeytX=Hx~manBl%
z6$}gvEDQ_`d<+Z>fBr+jTqJRRB=MC{aV7=^29TF@p!{_p(-`+o4&)J+JP8$psd0ev
z&w<rEn!J%mT=ElC45lUw%Kr{hBl!=?gUO~q`FxWFdBqu(CKvLG^Xh=Y3F>l@$*O#>
z8I2|j@|$x#0L2Ic1H%Kx$wB;POht^7FLH=YUcj#bV?N;5;H-dZUN~7$z?@NXvZsJO
zlNkp@rGN&b#pII$_DlzOCUXheaTRbtZ2!SHIY`iqGXrXV@#Kku=A1WpAd-obC-Tb!
E02g$QdjJ3c

-- 
GitLab