From c58c9812961443751f3883ac4d71d6acdcecd713 Mon Sep 17 00:00:00 2001
From: "romain.gabet.etu" <romain.gabet.etu@univ-lille.fr>
Date: Sat, 27 Mar 2021 13:59:33 +0100
Subject: [PATCH] mod

---
 webserver/.client.c.swp     | Bin 1024 -> 1024 bytes
 webserver/.http_parse.h.swp | Bin 0 -> 1024 bytes
 webserver/client.c          |  50 ++++++++++++++++++++++++++++++++----
 webserver/client.o          | Bin 12288 -> 12384 bytes
 webserver/pawnee            | Bin 30880 -> 30888 bytes
 5 files changed, 45 insertions(+), 5 deletions(-)
 create mode 100644 webserver/.http_parse.h.swp

diff --git a/webserver/.client.c.swp b/webserver/.client.c.swp
index e074561066df0b854f31087b8c23a582dbc374f9..da315db82efee93b4bbd889f0e7f41217db28483 100644
GIT binary patch
delta 19
acmZqRXyBM2!KA=4Q7UNT+#u$O2b=&kZ3Yqm

delta 84
zcmZqRXyBM2!PLb)Q7Xt#KO;XkRX;s3DYc|X->I}HHL+AbpeR2*zPPeDKCw(c*Tm4k
aFj>DmHK{nYs4TTee`8J%vtTF#8UO%$qZb$e

diff --git a/webserver/.http_parse.h.swp b/webserver/.http_parse.h.swp
new file mode 100644
index 0000000000000000000000000000000000000000..35db80c1fbd3b7afbdceccb8029177602c51335b
GIT binary patch
literal 1024
zcmYc?$V<%2S1{HyVn6}xybKKKiAkv?MJU2pImD{VC@Cq3FGwsZPSwl6YS5_QXb6mk
I09``>0Nd&ezyJUM

literal 0
HcmV?d00001

diff --git a/webserver/client.c b/webserver/client.c
index 3003183..d8ae60d 100644
--- a/webserver/client.c
+++ b/webserver/client.c
@@ -7,13 +7,43 @@
 #include <stdlib.h>
 #include "client.h"
 #include "http_parse.h"
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+
+/*
+int copy(FILE* in, FILE* out){
+	char* ch;
+	if(in && out){
+		while((ch = fgetc(in))!= EOF ){
+			fputc(ch,out);
+		}
+	}else{
+	//error reading
+		exit(1);
+	}
+	return 0;
+}
+int get_file_size(int fd){
+	struct stat sb;
+	if(fstat(fd,&sb)==-1){
+		perror("stat");
+		exit(1);
+	}
+	return sb.st_size;
+	return 0;
+}
+
+FILE* check_and_open(const char* target, const char *document_root){
+	return fopen(target +"/"+document_root,"r");
+}
 
 char* rewrite_target(char *target){
 	char* ret = strchr(target, '?');
 	char* rep ="";
 	strncpy(rep,target,atoi(ret)-1);
 	return rep;
-}
+}*/
 
 
 char* fgets_or_exit(char * buffer, int size, FILE *fd){
@@ -62,6 +92,7 @@ void send_response(FILE *client, int code, const char *reason_phrase, const char
 int traitementClient(int socket_client){
 	/* On peut maintenant dialoguer avec le client */
 	char *motd="Votre requète est bonne";
+	printf("test");
 	char str[8000];
 	http_request request;
 	FILE *fd;
@@ -77,18 +108,27 @@ int traitementClient(int socket_client){
 		if (request.method == HTTP_UNSUPPORTED){
 			send_response(fd, 405, "Method Not Allowed", "Method Not Allowed");
 		}else{
-		send_response(fd, 400, "Bad Request", "Bad request");
+			send_response(fd, 400, "Bad Request", "Bad request");
 		}
 	}else if (strcmp(request.target, "/") == 0){
 		send_response(fd, 200, "OK", motd);
 	}else{
 		send_response(fd, 404, "Not Found", "Not Found");
 	}
-	//partie 7
+	//partie 7/*
 	char* absolute_path = rewrite_target(request.target);
-	fprintf(fd,"test - - -  - - -  - - \n%s",absolute_path);
-
+	//--- les printf ne fonctionnent pas ;(
+	printf("test - - -  - - -  - - \n%s",absolute_path);
+	//---
 
+	FILE* fichier = check_and_open(absolute_path, "document.txt");
+	if(fichier == NULL){
+		send_response(fd, 404, "Not Found", "Not Found");
+	}
+	int size = get_file_size(fileno(fichier);
+	if(copy(fichier,fd))==-1){
+		//error
+	}*/
 	fclose(fd);
     return 0;
 }
diff --git a/webserver/client.o b/webserver/client.o
index d124f3cc86bedbf2cde2f5b4f691d68f3f19bcd1..4a4e219d55a52f2a94deceb86441ebf80e401b5c 100644
GIT binary patch
delta 876
zcmZojc#tqbgGoVqqm~?#phvGQ0|NuY4iNDIL~Qn8vS;LRec;h~3@SHyI&&&ZNosM)
z<loG_jE$Q+S=O>JPMvJdX>9Mr?#;@;z&vq+qa;W#qci_{76t~Ei48mJrP5Lu7+pA+
znHd<ECMH0nz1iFuK-?GzH*)hz&ST7sjgt#_#TjEackqfbu`#V>W#<r^JfGi^v3&DQ
z{{1YB43npeJQbeG$iTqh$S2Uo<jl*)Jb{sion!JrEy>9nv{^Q<5k11h30A<sz)(3^
zP+XjG3y9o2K|+IBlA8(SGzJC`#md0I-~!<?h)%vJEiS195(YVnfq?-e>j{<BoXjXA
z?rDuC>jRZ_fQqv)Ffb@GFfjc24*_0C;-X06Ns|p_#2Kq6E6R#9c1=!{5jR{0RSBX%
z_Qpd^UJDXHat};=*W`~f;)ci3WQ(A>&Y_9dLB(%_ba}o<lkI}aeus*Ke4&iwT3%*|
z0+2MwZ9Nb!gVf|eS#d*kG}(TrtR4<=YmhERzsVbA#cdPN)XaqH&4P-9Tq2L;k}@Q5
zmCdYj(!7j~lNGhiIXR>tIx{9GYMV121f`(K8?-f`tPk26oCl#=cT85)F=wot9I0c^
zSTK2}jy>ay$v1WE88atK>e@3lOpesG=bXt4F)eZOLS1vl4U=!`+B5!|EU9PDIB{~M
zo;}k#k;#R;Vv{%MX@Dg4>={o?mejZBTmgz=1_p+T$%*>rObU{dXX)E<7HC1t+Aw*c
Gwmbmq+o>7=

delta 790
zcmaEm(2y`egXw_QMlCs}&5=y@jBKF~Ji1*!OuoP<K6xW^#AH5}9>$W*vsu=%Fm_D#
z<TSQ-WcOxeU|^m&!BLWdfq{Y1iGMu{0|U#%hMo0NX(<eh&K%6l3=B*Y6Cl!FZ0-yo
zZVZGQv3WP=F=nO`=E;iMVvLcSXYq<MF|lu$yp`XQasB4^{QFrZZxDGR+`-7ez~IOy
z(8lD<%f{Ty$ivPtSy5YZ^8wKlOq^gz1_p*LlLf`aHy@DDV3rhQ0=b2O0YtGfFfh14
zxC|1L8D+#JwLrokS1>RzfMh`~0x8g+Y$zixX$h5OVPIeoWnf_V^B)2NCr^|SXUv+M
zC?n2TIr*TBxZzZ&N)QDyCkkW;0|UbxkN}eTF!7a>17*bxx1q`ALUrv$6R(7dp91Of
zyoV;+3YC2Z6$iOi3CXp8pyD73<hFLGdd|rkWyKA}m?2!4Y!`&fAd5p>3#5zDcCw(H
zxNQKMnki7du~2c4OF)qe3%5)papldaa?-qvC6gPq%{gy?R536xSWG^sZO*g>oCGEd
z=xD&00XiC-TcDaZPj1vPXH1{GQ^%fBVDe8Ld&aiOmb&(g;gc(M?HLs&@6@&DZ0Ciz
zBz7{Ro;hQ{WJ^7J#wU|2_3Rm|C-2m=XPO}bN@SA-^fee~Ot#dwXUv#fsc+9Y0Tjs$
d3=9dA59*sUeUO;^OW%%DKnr5lhRKXN@&M&0mCXPE

diff --git a/webserver/pawnee b/webserver/pawnee
index c3585590cefcc0ba0ce2a1c494f02c734cccb5cc..c01f5ab2a0c4cad2119b342bffc4b85a46bfbfd3 100755
GIT binary patch
delta 1474
zcmZ4Rk#WUG#t9mXFD7c<=gj410E67gf{gl{D_FoBh82@N8TSjWP=xYe^khk<+agt4
z7w}(S&byzdTKC$2yZx_Td&JM#%)$JNk3Wi&fx)Af_cI5GvaQ%GDCEo%<I!uI$Hl;~
z17y^T=wJW;cenQ3`TyUe*EEKUfuZyGi{rok|M%#0{ov7D`+=cU%%j)Vjf;Wd#e-k}
z|L<pHU|@K`_WS>TkM7V99=)v#9{m5m&q1Dn!K3r|i;sUN&leM~XJTYv=yZMK(e3&H
zB<lI^|NrLNH~&k0yIUvR`TxK92V<!sShAP*9oT`Q&p8<w_DyAkm@?(x|NpP+p$Z;A
z6g&kfm;hB!3{nv1(F-=sqxk@jN3ZDxkh;#}FJ}JyU;n@L0LX&SA7C>&FM9NfZUN~(
z!2q$q1f*XcEZNID7o@RQbQ(y(6sQHl|3JZkFuwEni*<j%Ve-JE+x3A*=P^(ia>Bxp
z?I$QWAfDaz<NxFx;wqdzAY(g^zwn;?RNRQMW3q&V7GvyWX9;h{iIe*!G&xH_QPO$*
zMgHW25??KA*<ohA|Mvg?Yq4(EKVUn`;NsW6{r|rU6!;#!ru^y*4Ez88|Ns9*;^g;|
zs=}wg{r~UL{NsNqk4LYq89M{R3(LvsQVNVaCVNQ93%&RX3UY|#Yc>Xk7tbeGN@)h3
zXM+TW>bL)(@DlduwLJooZT<TH{|+q%28P!PFHHV}!ohYYNIduJ|Nr|Z$TKj!c=7%J
ze{kYCc{ojvU%myDju_G=O#UDxBDO(^fg#kRR~JMF`)EG(Xnw=-;__xG>1!;L6i%{~
zq!yP<KA~{Co>7|FdI|#rgCGL~L&dxQ{~s_gFj#!}|DOXC10VkX-@w4Yp!@Ove+5Pc
zh9#f=|94<yVEFy%|NjI=1_p=E|Nl2IGB8ws{{MdgBLl<1&;S1)U}RwU_WA$+2aF61
z6TbZa&%ngM0P>jv69WUskN^K2m>3w6fBgTSz{J4t<i~&U{|!tG3=u#7|6jnwz_8=z
z|Nk$TK;D>arliC;VREFBKI4SRol5GA8k09Fi8HcJKB*+n7&G~$l04(&$(+jaj5{W4
zD$6rop6sbC&-C--<Sb=5M!w0N%JPaGpZ@;`C1eIiK7lqSXI?hu35-1K91JoH3=A=h
z3=DrKpH!A-JTUpCvOMGO$($-6V>MOe88=M!RB>lKv3a73KIh~Ux)F>in-%q(nHd`=
ze~cHN9KggfxyDd{@$BSYLw&{#oA(+ju`xDoeqg?qg>mZSJ{x0uCw6aE1_tJd6C5SY
zSs54@o%z?ZFfg!8Y}i>Zm6pQ5=)%Fw%)r1jF+uVs3j+hAH=8>Hh#Mm*3F1a>vi-&=
zbXFV`1`G_3LFtTvfx(4k@=J5;&Cd4B%#3FzyE{z~+#m^2;R02mu=$14VK&B|$!k2F
zn7E}TfAG{{+^|{J%bJ5Rc5`HqC=(mgT2^)rvB?D?mW<__SB1zhGM?RhJd~e_al_{8
z;b+-5FNlv|WK5a-GeKVxR=7c|fRM}#LJSU@9TVG`7?(^wnOx4eVzOh3J7dD+&J=UT
zsgn<;YzJ9el^VymVe-vXcTlLMt!HFnke+-gy^QhfWY3Iv#-7b9Gp=(n7EW#~*5^!-
zh8UbOd1tXZ<MPRjCHkB&i&spxEHUSFP=cs%*j!n{&dm5^a$~tUW8~zW<@SsdCjTtA
VXM8Z(vcjHoejY@b`{c$#c>oQ*EL{Kq

delta 1483
zcmZ4Sk#WIC#t9mX4<>5f=ZxiM0E5`cf{gl{3s}G$h6R&78TSh=QH1c|^khk<+aebu
zOBkeH7*rO0V43v0^yUYhzm|VCb1?tn<M-lZVDRYWear!(Y_m5D3OTcQcenQ3`TyUe
z*EEBRfuZyGiyOcG|M%#0{ov7D`+=cU%%j&fh>L;Y#m8U&|L<pHU|@J5{`>!bkM7V9
z9=)v#9{m5m&q1Dn!K3r|3#NaQH;9SXvoSI-bh^Ir=yv@85{>%z|9^AsoByT0-K`Vu
z{QuwlgRxW*EZNKZ3+x`z&zuYl`=&BNOj-Kx|NqzZPz7%w3O<4qOn@qA0V#;{=mneR
z(R_f%qu2BfNL}ag7ps2$um9hA0AxYv53m`X7d?7K4}kQaV1QWQ3eqnRmh9zS3DVdr
zx(K9T3e*CXf1uz%7~gsP#r{9wFnQq79r^&G)3g$#v-9{4Pz<~X{s{^au!osm9G`qx
zT#YjXBL5;{@+Wa4#;KE4CA1i`CI?7(GtQelM?#ac78D7c$6wS;J}2?jvXz~I0b<mj
zZ~y<l7VCEX(|OFJ*R~EW{^Z;L|GPlp@6l^2qt3vv|NsC0|6k-y{v)X>eB;~y{~pah
z{+IH2^xE37Gcdexn`|Pbz<6|WsFb|W*RP;Zhe&>AV_<mkWpbO8rr&ioNO%~1`wt2-
zVUJ$hGa%VXU;qE#p~b+!@LJ)8$$wB#*d7FlSAG5efByt|28I`3zyJRacI?T+Y5ejn
zpb%h~BrPI#K#74N)T37yL<jq5KJ{pR!|~$rW-aM!ERzG61STn*oP18<Ry_lwG_&;t
z1_lN}1_p+jcmMz2VPIge`SAZg3nK%A&xim2*Dx?J7=HZ!Uxtx^Va2Ea|7{o<82*3y
z|38M2fx+eT|Nk|N3=H+3|No!E$iQ&)^Z);Q7#SFTeg6Od4kH7@lrR7P|6ycckoori
zzYG%t!~gI9|JyJzFhu?M|38L_f#LQKk^lc|m>3v*e*XVIhlzn<&Cmb;pD<0fQ&M7_
zF*#95pK-?IiAw5{2Jip>=K%W*LdY;MFvKu0Fz`;ks3gyrGWnyDJmc)ig39uY2PPXT
z%QN1d9H=a>$oT31e^ZbKM?QfzCTCu@0v>jdDInb---u0~s4TBI;nV;B9iXU$sbX$s
z1gQh50{QXB<crGkjJqd)RF-G_Hd#<bo-ur~p^7}?ipha0?yLvC{r}Ind7+9r=i~q;
zp2;V4BN#(AE9yBjGnPyiOc0(Nz{E1S#!!Iqz~o*-ea6L`_Zlj(F_vt8V7``xv14+d
zjj_EWyEiKX1M|cQj*{lA3=E7;{Oeg57+5AY?5vkcOJQJi=3r)KU|^b<AbFF8fq~JB
z&7A?njggcDaU(X_eq$6mAP({-1H)sGKNuJo99Sm5G`HUDY|qThcwn--(*(iAk`NUx
zP!%$pUpO6RW2~RN#?y)EpXB5Zo;r++H_LiibFfD;F)%POgiSsWlD+v<&=N)__6?Iu
zLM$2AZ(bK7!^n7G^XX82CdS2^Z-<{{-@GP1gpo01GGn4X<C4jSiQ<eFn>`cTnHc9x
zzL;FjxMZ?tiaTS#<cTTfj2)9trfdgU)sz~?xOnozRCmUZ&6;WJ8JRvvO}>?0#&}?I
zU`9M+{pO7s*SQ!ICwCU>bB0JmTpcp`V6i*nqRE^k`kaX3)v?5!(?SWN!eVn{2|F|6
igUOxc=8U0}50=|Ac1&ihuxGq6*|EZ&ar)%O3UvSjX);^@

-- 
GitLab