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