From 01bd19a25d8aeafae1dce1295534583a99430fe4 Mon Sep 17 00:00:00 2001 From: mokeddes <youva.mokeddes@gmail.com> Date: Sun, 7 Mar 2021 19:23:47 +0100 Subject: [PATCH] commandes --- serveurFTP/{.gitigniore => .getigniore} | 0 .../main/java/sr/projet2/Request/CDUP.java | 40 +++++++++++++++ .../src/main/java/sr/projet2/Request/CWD.java | 46 ++++++++++++++++++ .../main/java/sr/projet2/Request/LIST.java | 45 ++++++++++++++++- .../main/java/sr/projet2/Request/PASV.java | 5 +- .../java/sr/projet2/Server/FtpConnexion.java | 29 ++++++++++- .../classes/sr/projet2/Request/CDUP.class | Bin 0 -> 1604 bytes .../classes/sr/projet2/Request/CWD.class | Bin 0 -> 1869 bytes .../classes/sr/projet2/Request/FEAT.class | Bin 1035 -> 1035 bytes .../classes/sr/projet2/Request/LIST.class | Bin 1026 -> 3082 bytes .../classes/sr/projet2/Request/PASV.class | Bin 1919 -> 1987 bytes .../classes/sr/projet2/Request/PWD.class | Bin 1220 -> 1223 bytes .../classes/sr/projet2/Request/TYPE.class | Bin 1699 -> 1740 bytes .../classes/sr/projet2/Request/USER.class | Bin 1262 -> 1259 bytes .../sr/projet2/Server/FtpConnexion.class | Bin 4080 -> 4892 bytes .../compile/default-compile/inputFiles.lst | 2 + serveurFTP/target/serveurFTP-1.0-SNAPSHOT.jar | Bin 15332 -> 18948 bytes .../TEST-sr.projet2.AppTest.xml | 8 +-- .../surefire-reports/sr.projet2.AppTest.txt | 2 +- 19 files changed, 167 insertions(+), 10 deletions(-) rename serveurFTP/{.gitigniore => .getigniore} (100%) create mode 100644 serveurFTP/src/main/java/sr/projet2/Request/CDUP.java create mode 100644 serveurFTP/src/main/java/sr/projet2/Request/CWD.java create mode 100644 serveurFTP/target/classes/sr/projet2/Request/CDUP.class create mode 100644 serveurFTP/target/classes/sr/projet2/Request/CWD.class diff --git a/serveurFTP/.gitigniore b/serveurFTP/.getigniore similarity index 100% rename from serveurFTP/.gitigniore rename to serveurFTP/.getigniore diff --git a/serveurFTP/src/main/java/sr/projet2/Request/CDUP.java b/serveurFTP/src/main/java/sr/projet2/Request/CDUP.java new file mode 100644 index 0000000..3950375 --- /dev/null +++ b/serveurFTP/src/main/java/sr/projet2/Request/CDUP.java @@ -0,0 +1,40 @@ +package sr.projet2.Request; + +import java.io.File; +import java.io.IOException; + +import sr.projet2.Server.FtpConnexion; + +public class CDUP implements request { + private FtpConnexion ftp; + public CDUP(FtpConnexion ftp) { + this.ftp =ftp; + } + + @Override + public void send() throws IOException{ + if (this.ftp.getSocket() == null ) { + throw new IOException("Ftp server error"); + } + try { + String newPath=this.ftp.getDirectory(); + String[] pa=newPath.split("/"); + newPath=""; + if(pa.length>2) { + for(int i=1;i<pa.length-1;i++) { + newPath+="/"+pa[i]; + } + } + else { + newPath="/"; + } + this.ftp.SetDirectory(newPath); + this.ftp.getBufferedWriter().write("250 success to exit.\r\n"); + this.ftp.getBufferedWriter().flush(); + } + catch(IOException e){ + throw new IOException("Connexion failed"); + } + } + +} diff --git a/serveurFTP/src/main/java/sr/projet2/Request/CWD.java b/serveurFTP/src/main/java/sr/projet2/Request/CWD.java new file mode 100644 index 0000000..0f13d03 --- /dev/null +++ b/serveurFTP/src/main/java/sr/projet2/Request/CWD.java @@ -0,0 +1,46 @@ +package sr.projet2.Request; + +import java.io.File; +import java.io.IOException; + +import sr.projet2.Server.FtpConnexion; + +public class CWD implements request { + private FtpConnexion ftp; + private String directory; + public CWD(FtpConnexion ftp,String directory) { + this.ftp =ftp; + this.directory=directory; + } + + @Override + public void send() throws IOException{ + if (this.ftp.getSocket() == null ) { + throw new IOException("Ftp server error"); + } + try { + String newPath; + if(this.ftp.getDirectory().trim().equals("/")) { + newPath=this.ftp.getDirectory()+this.directory; + } + else { + newPath=this.ftp.getDirectory()+"/"+this.directory; + + } + File file= new File(newPath); + if (file.exists() && file.canRead() && file.isDirectory()) { + this.ftp.SetDirectory(newPath); + this.ftp.getBufferedWriter().write("200 success to access to the directory.\r\n"); + this.ftp.getBufferedWriter().flush(); + } + else { + this.ftp.getBufferedWriter().write("550 failed to access to the directory. \r\n"); + this.ftp.getBufferedWriter().flush(); + } + } + catch(IOException e){ + throw new IOException("Connexion failed"); + } + } + +} diff --git a/serveurFTP/src/main/java/sr/projet2/Request/LIST.java b/serveurFTP/src/main/java/sr/projet2/Request/LIST.java index 6a1d2f1..84decec 100644 --- a/serveurFTP/src/main/java/sr/projet2/Request/LIST.java +++ b/serveurFTP/src/main/java/sr/projet2/Request/LIST.java @@ -1,6 +1,15 @@ package sr.projet2.Request; +import java.io.BufferedReader; +import java.io.BufferedWriter; +import java.io.File; import java.io.IOException; +import java.io.InputStreamReader; +import java.io.OutputStreamWriter; +import java.net.Socket; +import java.nio.file.Files; +import java.sql.Date; +import java.text.SimpleDateFormat; import sr.projet2.Server.FtpConnexion; @@ -16,8 +25,40 @@ public class LIST implements request { throw new IOException("Ftp server error"); } try { - this.ftp.getBufferedWriter().write("530 please login with USER AND PASS.\r\n"); - this.ftp.getBufferedWriter().flush(); + File file=new File(this.ftp.getDirectory()); + if(file.isDirectory()) { + this.ftp.getBufferedWriter().write("150 Here comes the directory listing.\r\n"); + this.ftp.getBufferedWriter().flush(); + File[] files = file.listFiles(); + Socket socket1=this.ftp.getServerSocket().accept(); + BufferedReader bfR1 =new BufferedReader(new InputStreamReader(socket1.getInputStream())); + BufferedWriter bfW1 = new BufferedWriter(new OutputStreamWriter(socket1.getOutputStream())); + String res=""; + for(File oneFile: files) { + int len =1; + if(oneFile.isDirectory() && oneFile.canRead()) { + res+="d"; // if directory + len=oneFile.listFiles().length; + } + else { + res+="-"; + } + res+="rwxr-xr-x "; //Permission + res+=len+" "; + //res+= Files.getOwner(oneFile.toPath()).toString()+" "; + res+= "root "; + Date date = new Date(oneFile.lastModified()); + SimpleDateFormat dateFormat = new SimpleDateFormat("MMM dd hh:mm"); + res+= dateFormat.format(date)+" "; + res+=oneFile.getName()+"\r\n"; + + } + bfW1.write(res); + bfW1.flush(); + socket1.close(); + this.ftp.getBufferedWriter().write("226 Directory send OK.\r\n"); + this.ftp.getBufferedWriter().flush(); + } } catch(IOException e){ throw new IOException("Connexion failed"); diff --git a/serveurFTP/src/main/java/sr/projet2/Request/PASV.java b/serveurFTP/src/main/java/sr/projet2/Request/PASV.java index 4b63fc6..bbad071 100644 --- a/serveurFTP/src/main/java/sr/projet2/Request/PASV.java +++ b/serveurFTP/src/main/java/sr/projet2/Request/PASV.java @@ -18,8 +18,9 @@ public class PASV implements request { throw new IOException("Ftp server error"); } try { - ServerSocket socket= new ServerSocket(0); - int newPort = socket.getLocalPort(); + ServerSocket s=new ServerSocket(0); + this.ftp.SetServerSocket(s); + int newPort = this.ftp.getServerSocket().getLocalPort(); int port1 = newPort / 256; int port2 = newPort % 256; String ips[] = this.ftp.getSocket().getLocalAddress().getHostAddress().split("\\."); diff --git a/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java b/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java index e4df8cc..150815e 100644 --- a/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java +++ b/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java @@ -5,11 +5,15 @@ import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; +import java.net.ServerSocket; import java.net.Socket; import sr.projet2.Request.AUTH_SSL; import sr.projet2.Request.AUTH_TLS; +import sr.projet2.Request.CDUP; +import sr.projet2.Request.CWD; import sr.projet2.Request.FEAT; +import sr.projet2.Request.LIST; import sr.projet2.Request.PASS; import sr.projet2.Request.PASV; import sr.projet2.Request.PWD; @@ -22,7 +26,8 @@ public class FtpConnexion extends Thread { private BufferedReader bfR; private BufferedWriter bfW; private boolean Connected; - private String directory; + private static String directory; + public static ServerSocket socketServer; public FtpConnexion(Socket socket) throws IOException { this.socket=socket; this.bfR =new BufferedReader(new InputStreamReader(this.socket.getInputStream())); @@ -99,6 +104,19 @@ public class FtpConnexion extends Thread { PASV request= new PASV(this); request.send(); } + else if (readLine.startsWith("LIST")){ + LIST request= new LIST(this); + request.send(); + } + else if (readLine.startsWith("CWD")){ + String[] mystring=readLine.split(" "); + CWD request= new CWD(this,mystring[1].trim()); + request.send(); + } + else if (readLine.startsWith("CDUP")){ + CDUP request= new CDUP(this); + request.send(); + } } else { this.bfW.write("530 server is not connected\r\n"); @@ -129,4 +147,13 @@ public class FtpConnexion extends Thread { public String getDirectory(){ return this.directory; } + public void SetDirectory(String Directory){ + this.directory=Directory; + } + public ServerSocket getServerSocket(){ + return this.socketServer; + } + public void SetServerSocket(ServerSocket s){ + this.socketServer=s; + } } diff --git a/serveurFTP/target/classes/sr/projet2/Request/CDUP.class b/serveurFTP/target/classes/sr/projet2/Request/CDUP.class new file mode 100644 index 0000000000000000000000000000000000000000..56394ab94dff6c99a064f76f98ee060f96026386 GIT binary patch literal 1604 zcmX^0Z`VEs1_on>cy<ORMh5ZXBK?A*{H)XxBmJP%!qU{@5`AZv&;WJ@7Dfhvti-ZJ z{hY+SbbbG%tkmQZb_O;^1}Q9BiXd7U8JN>b3K$s_e2~-xrxul^7U{c{6gcPS<)v0+ z=I2>6GO*cX=4F=HF)}D?5K^oe#>l|poS%})#lXzK%frCQz{kkItf3jk$-u}Uz{9}K zz`@AC?~|FA>Q|bZlv)&$n3R*s$ROmCpPZNzmROVt;zI>lN-{Ew85tyz?L_vsH6sH{ zacW))BLkOfMRICENoIatF*}0<BZDwFFf#M?J^kS_TnthSGVBb}j0|%4J<P)(%OJ<d zz?q&}5}co$om#@kAgrP312!@*wL~8xXwAW(z{nurR#Ko)3=TAf)S{yNA}$7T1|^WU zl^GdCH6WV6krG@|l$n=qtr-S#hbj+)8iP6`15bKtiA!ctYH~?_Q6(dT2+SH}9UKgr zj0}wWTnyR_y6g-(C@~E&l!rl&L7$O<wYVTBvxJdB9h<e$m`>qfFl1z4U}rF9WDo~? z4#`%h(#)Kc)FP0jraTO04Cags>}82LrK$dDj0|eX7C;i4H8gyXjIicnFk(;w5mr15 z)(kd`3~Y%71>oq?MK%E92P_6a-2gVnj)%b>6kr@B`4IJ>P;}&BaAHtqWZ(%#3Pq5F z3lD=UgBv4*V0vnaQ)yaSYEf!Rcu{6aY7rxY6fBH0^Yu~XtT`Aw7#YNjObrx@OOumR zi;ERX@)c4mGE4M$xwsg-7<||nycrq9z+r`<n}@*{<QCR)kUb#P{yYo;pv2FbmQz}s z!NCy3$RGgER0?T{nK`K`j125~spSEQB^itiLYOhc$iP&P$jBg!CGr><7&93e7(E#o z7*iP;L?L=n6TCGe18;CiVsf@`VgWcuu``4*GH?awmlh?bx@Cg09Ve*x&;xmhL6L!x zfti7kft7)gfeDmN85kIt7#JBi8Mqi28Mql37~B|`7?>Cs7`U{yGw^6>Z)M=$2v#G= zz`(%AzzmXMU}4~9;AG%o5Mp3p5QC^@5M~fz00Azrsf-Ma45AEt3``7S3=9k`42%ro zAk!Ir8JHPZ7#J8jwYD(uZ)1==&cM5yK|E4OemjHWeu$WgkG7D;HU=$UAp;+seXL6u z3|Q=zGbrq4FpAXP!C<nT!2%?0sUvH&jlpsogRM^sGo!4|K9-b)|L-klU=z~t0hyz{ zjlls#Z)0#4a^J?_31x3%@LSHn=L5Dg5M<{@21W)EhAM_y25|;v29PJcz}^yI;9?MD z5MdBukYNyIP-YNgP-75h&|#2ZFl3Nq@Me%;2xE|Dh-8puh+&XtNMTT5C}2=zsA5oJ zsAW)QsAEuJ=wMI-n`FYk3i2>CfMgir7=jr>7#JCp8NwMt8NwKt81xu47{VDM7?>IA z7`PZB8KM{%8KM~&7!(-TMgD<GGi`Q;7)F_23|vhA859^8*%=r?gg7Y5V!@FU2LNH# BchLX< literal 0 HcmV?d00001 diff --git a/serveurFTP/target/classes/sr/projet2/Request/CWD.class b/serveurFTP/target/classes/sr/projet2/Request/CWD.class new file mode 100644 index 0000000000000000000000000000000000000000..8815f602c12a6d6a09abee488f1811e5cf7c6aad GIT binary patch literal 1869 zcmX^0Z`VEs1_on>e0ByVMh3CsBK?A*{H)XxBmJP%!qU{@5`E`z7j^~~Mh1bb#Ii*F zoW#6zegCAa)Z`L&1~x_pDJ(jQAUYWtnA1uM7#S3NkkkaH7L}zI>ARH_IOpf(rB-C- z=UFo{aHeDyr6!l;7gaJc2>Bo^3N9(i%uBasWMH$&%*!mXV`MPZAY>Y*cFizG1{UZ1 zlvFMTW(Iy925trcMh0dL%`i>|Mg}1s26hGx5KDxIfs=uYk%8YQGcVPzG&d==C?qi{ zCl%zR{N%)(u*9NF5FaYYQj(Eb%*Y^t>>i{rvu0#qDNfBxVPxQPtw>HSD9OyvD`sbq zVPp^n`!6$J-_sv1!^I%Spuo-`&&VK$Kd^Wh6d9Bl8938ZOM>&0vr|hL8H6=7A%4zF zEzySvT5~X{Ffs_Zl@urxg9BV4wWuh+h>Jm*K@H@8bw&nJ4TvUighInvGYsSoO&$g< z25m+Lp7hib7eu^>z^p;m!Ns7<pwG^rhmt%XrtvTsfJ|X2Day>{U@&52VAKbxHsN6~ zWiVr8U`s75P0T4qa|k45S!+hIGgvS(h=W54$v&sj%$$_eB9J*&JPg(hHjE7HWr;bZ zss3q<3~I<ef*FMANiGI+1~m|2&%@xr;K<0pmRL{#jwoGZ10bHTh6XLB8>~S_IP);L zfIP`jk`GbO&fvz#zyo%6X1=~#W=<*>gDc27R|ZcW1}_G0kjE=Bi%W{ZDKH8o>&wI7 z2a;e<PRt8RO-uoa1@JHgg2cEpi{ViKikn~_h7bmIMh2c>q__b|gz+$hGej^l2&Si& zIF+WQr52^8gcoI&q!uwUNWo$*GhZK7&YFWEijhIn$iP6MxHLIAwYXTJBwryB&ML`B zRe)zrJzg#@h8Tu8c7|9+1~Hf)Q4Qo_hzB{3wH#zMNOd9)LlP*vv8Lse7H4oUq%bmQ znwlCYq$OtNq^97rO@Wt-gCUKPK>%J*Ks7Nku;-<g2PBqcFfy>DWr8v&A0(QgL2k{+ zz?jO&APN^m%4pV%47|Z5iOJc%i3QM%%oUtpT9lj$iY!J34(D(eJ&@lR6d4#9m>C!u zSQ(fYm_TI&0|NsSsDuF1j11fiJPeEsybKHskqk@>%nS?+{94-?__VaQG6-tvY-JGM z2v#V{z`!8Hz{0@5z|FwI04id58Tc6Z7{nMD7!)Ad7{nPQ7(jp@Yz-sGD6mCL42%qt z3<3;H3{ngX3@i+c4ALMA8G9I*!8%WAZDA1H#vpr~fp<59bfl2-b_Uh`5HXEy3_3!F z+Zc>zGAQk4Fpq?a?qIOo&S0yxg+X{5gWWa;C!ggEDj3oreRfD{b~Cs}YHw$7_tn|P z;4zcINM{>^&rAkwoox*MGZ|DsCTnkF2m;aD7(#_2w=qOR+1nTrmNTeBIYP;35_~>j zN2h`uy^(>DL4;v9!#)OS24)6On0YY>fkTdqL6|{=L7YL2L4v`FL6X6hL7E|rL5?Ax zL7t(7L4l!%L6KnwgA&6c24#k&45|zp8PphdGiWgEW6)&S&!EL{l0gR?)+P+B3=9mX zpkeLAz|4@&z{SAGkj4-SW#u#YFk~=fGB7dhXW(MUV#sD-WXNG)V31>A6EXM$DxP)! bFxas(xc+C5U|?itU<47;ATx5oF`WkhehI-3 literal 0 HcmV?d00001 diff --git a/serveurFTP/target/classes/sr/projet2/Request/FEAT.class b/serveurFTP/target/classes/sr/projet2/Request/FEAT.class index e7210017bdad9ae8f827a6119c7981447694a7b3..c42179588c498dfd77fdc3b313e23cf706c58094 100644 GIT binary patch delta 613 zcmeC?=;m-e^>5cc1_lOW25T+`J_bcj23`gwE(T==6?O(y4hA(Y1{MZ&5MP6XL6eI? zi$R-%K?g+ZaxmzzGw8E37_c)KPK=G8crBQPSwk~yayOHHy=z5sYC%b6eqJ#n16Oc< zX;E^jTV_rwBLk<Kt7C{>R$^Hq4}%bc6c2*{gCIMD5f6hgg9#&pFi1i_Ghg4+A8rC8 zgMeE}fkJU=QCVt{LTXV_ei2BkDG!4ggE=DuzmcJ#u3KtiNoi4Pu^ulMJA(xegN7x8 zDI)`yk)ff2YhH>TFBcDk6@wHbgMf2>US4WNW`3SRT4H8SYRW`jDPcwi0kE|>iFxVz z{z+M>$t4pV<R^zS%1^FlRGPe(QDX9aM#IUvOp^7C46NlvnI)-=46JE6rNtQxiVVCA zd<={X{0xi?Od!87FfcGNFfs@+2s1D;h%hiPxG^v>FflMNaA|F4VARsy%D}V{tVWc9 zfq{>KnSp_UlYxbSi-D7Yn?a0$fk6zSnn9dFf&m1$z@{=XFfvFoq)0I^fel^HzzkOA zs<nlIX&VFcaR%Pq3@njCtlJsb_Cv(jg*dh`aKhMJ2=+Dx?&S=8K4A4cAoUx;E;VDY zWME-nW)PjcmRZ(YlEIQeoWY7gg29DB3hpi|1}+9^1{nrM1_lOKs0(Eo7#KJhm_<_9 V8CbX&<QNzjSQr?=SRU+81pqPWW%K|5 delta 631 zcmeC?=;q)(^>5cc1_lOW25WW(rpXr>r6k!ISQr@uvJ%S@^>Y&Q()In5vQm>v*csR+ z|6`P&=pHM@#lXzK%frCQz{kkItf3jk$-u}Uz{9}Kz%g-2Fdvs|MRICENoIatF*}3A z<akCgZY~BX1{rn+X+{RQiT-k|JPfi7a+7VCloU7^6c`x<+)4@*ic^cqQi~K)i;D7# zxERD4ltAVyPmW`f-~#DZ<zY}`P@i1JWT?QwpvlO<Z)9kw>z0~WQd*Q+tjEj6#h}fg z%g&&~$RIX(0+X044}%_qG9v?Pc~NFbDhGoBBLkO_p`n6nUJ6vP5f6hg$o;HoIi<xJ z91Nz63<A#id3mW7nfZANX^ELRsVNhG>(>Y8mlh?bx@G31GBR+wxjKgEfdYm>k%5tc znSqgkm4T6g3FLDI1_mYuMg~p>E(S&hZUzPhHwGpKCI$uuF0JhhJX+dY8TdDX)d(^$ zFz_)jGcYi4GO#dkF>o?)GYBy-Fo;1^GYB(?Fn|CT*wlJP21W)^20jKR1~CQ(1{MZJ z263?Q>lv8A8eFxuFz|0<kUY-7yPH8gQb>L~gW`UOn2M0bHU=#iTOYyR#$dRdfzJo5 z-UOt6BLgFY2!k1eC4)EvGXuzlY7CqV3=I4X!CVXi3?dA|3<?Y)3_1*=3}y^sU}aVe s5)3X3Qb<mBg*x4efs4V6!JL7S!GeK-frEirB!!(p926{;-~g}!0EZ%BKL7v# diff --git a/serveurFTP/target/classes/sr/projet2/Request/LIST.class b/serveurFTP/target/classes/sr/projet2/Request/LIST.class index 89172d9ac6f3ae59b2fd580bd965f5feeb564407..236d176ca12a0029715e29203e9fe30402e0db6e 100644 GIT binary patch literal 3082 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 delta 504 zcmeB@XyR}>^>5cc1_lOW21_mmUIqnD1|9}QE(RqAWp)M?4hB^&1{MZ25MP~xL4%7y zlR*naXmc>=uruhgGw881=udpHWAX|nt;x5UGz0`0BzYM483foF40sp}8H^?iGi%!k zG8pqPm@t?!GN_pv8z>ayq$U=pD&*v+XXYuCXO?6rga*3?DLDGMC<HhL2kY^2u``(Q zFqngMSujXW{=pK@C^uQ2QEu{VR-4I!Y=)CxGfUR9mKSA~q%tzFrsb3tXD}!-@G$T) zFf#BlFfuTKT)@D<z{J4FAjlxZz{nuXz`)?fz{J4Bz`($zwVi=cOM5E=(?+lw5e5bZ zJ_cq61_n+B76vW`P6loUQ3eJEF^FmgF$Qr45a0rv%E-XTAi*HXP|pN5bUp(!Sed2P z76ztm49v$Fcy}|fL<+HPXJFe85n~tP*v7yKWp88PTF$`d16IQgQnQhPkwJt(i$Rxx zg@Ks?<Q63c4h9AWeg-ZE0R|BUVFm@Tyaa<TgBXJzgE)f)gCv6}gEho~dJJ3)QVh}z mj0_A6mQbh4FfcH1FffZmursi5F~~A7Ft9K%g0URf!}0(+8$p5q diff --git a/serveurFTP/target/classes/sr/projet2/Request/PASV.class b/serveurFTP/target/classes/sr/projet2/Request/PASV.class index 9339601d5975d624f9cdead16ac3b92c8eddb3d2..c80550d3d2f94bf401af8c0f20d1fbf2b92f4722 100644 GIT binary patch delta 1265 zcmey*cbLEa)W2Q(7#J9g87jFLWEreD8Dto&xfpC1Y}py?I2i1?7+4q_*clwT7}yz{ zK;q6I!Ue>2<zjGSaOYz1VDRK%@Zw_dX7FKW@a19<V6XxaejE(`AUXg<1cG!0aWDjP zFobY1gffJIh;R;u2u^l}NOp!Oc82JQvGEhH1#>WKXofK|FcweV$1=CxwIVsSpd>Rt zub7d6D>%QjC^^+FGbfdifiu7{I7}}qu`H2?L6Jd|he4h}ft?|Shar|Bj*&qaB%z;~ zukYy(H-V8sz^$Y}p*XduEVW1>wWuh+2&6ThkwFx!Ixn?EKNu_-oS&SXS^}0#;9*E) zNaA5gW=P>-NM%T4XGrH^$Y981XUO7V$Y#i4WMGQXV`s?aVaQ|1XJiluo0OB7m#!aN zQk0pO?o^tYlagA*!%)Cb$jHE`17Z~MFcdT7@Gz7xlukBhkyB@6VA0g$<zi<j<6$Ug zi05IbV9;b_5OB`V%S)}u%+FIuOU%qkO_|6mCCtbmfUv<oDJwO(WTJ!o<Zwp$$<>TX zllL-8$TBjpXn2A`kUu!J1ld1~3{o1C53-0$f+f?@B_%a9Cm&>yROLxeE%C`uPRt3& zFDhYVVAjy|WMtq6+X@aLaM(<?XVMjCWDtQ1d*-E<IHsf&r4|=Yp1`Dm>QG2fOn$&* z#KXwImRL}bnwP@JpgZ{hqsZh%%#y5(3^E#?lNT~eaWgV-l;lH|GqV`hGct&Qt;o#R zcPdRwOD#%G2`|blNiAYzU@ZqR7#Ud8a!QLc7!(;~7-Sh38RQrk8JIwcfq{X6iGh(p zkwJ-pkwKY(fx(S|iGhiMfq_eFI|HMZ_ErX_jbJq@3=9l>49pA+4BQMX3_J{+47?1g z3=9ln3{3SP<qT>J>I@*j1vZwEfssLjL6d<AWGLfw24)6!1_p-fT3Z;HwlOdtXW-q< zz!E9Mx}AY-|855MNapPf96lgP?QIO4AbJ}E*ER-jTNyz{h8#N(SzyKj5og}Uz_X2k zSBP&L1HTpPZU%wK`t1yYlB~=|+Zcp|gtsvWNwTsav00JWY;d;hHU<%}Vo{cD3?kbY zM6K8$#*2YW+|D2<Bn~o(4P>UoHU^<>45Hf@B%w;SF-R?E;PU}{L3%qwJ=^|`42%pS z3?~>)Gq5l)Gl0U%j)9+nfkBXgi$RD%gh7-+mO+d`l|h`rfI))6j6ssYmO+XkkU^SZ zHiHbqJ_cEa6AX$Bry1lK&M+u2Tw_oIhiwo82ZJobY6dL^Z3adL1BMw4It;oDObliW zlNj_EbQzc#Y#F*4^aB`l8CVzs8Oj+97z`O$8D=x+G8i!!Gq5q7Vc=pgVK8N21cf~` ghRndR#VqojVH-OG3m1bq0|NsK10xt)fTP+H0CpJsY5)KL delta 1175 zcmX@i|DVs{)W2Q(7#J9g8A{n1m>3zvi;MINit@8kON{h`QVUB{i%awa9D~Ey8CVz@ z1hNv#67_Qu^V0SGld@8iOV}CMChIfHPwa}7;$mQC;N@Z9WZ+|DVAjwK<78lD5a3~8 zXW*FlJXoL0wIVsSpd>Rtub7=df{{TOY*J>vzNbH2hKoUpL57_{nvp?n;(j?+9tK$k zxyiZAN(vkd3XBW_ZY2c@#i>PQsYME@MMe2VTnyq2N+1iBC-*Z;)Uz|FGBSvQjm=9f z(GLcz49-u^PA%bLP+?F9snlR(VA1f@3<C*h@i1sJ=rA(yq^Fkn<R>TQ1mqW$fSvBi z#h}Mvz|Nr0$iR;<4{Q<-gCT<vBLhE7k7G(oQEG89BZI_bcNPf_E(Q|@Gj;~k$?+`W ztUL_n3>K5iSTr;^7_1l>m}2y}7;G5q*coh50y4OyC^Ijehryn~Ve&>6BW896r^($+ zQko#eE<6mb3~r1J>}82LrK$dDj0|cTK42#y#ld7oR$*~#E(S*iB@PBpMg~S55ZjxF z!H2<j@?#cDE)drr#0{7%!zwQi;s)_B1T$DLGH{gSL+l5IeJBq@7(@7EH&#Pt4u;6d zdzs`!IT)fD8CW#+c)7S3Vj1Gu8R8fj#3m=OiYf6hBrqs5GO(5xWtOCZB$Id;l0k9L znwC>qoWa46I{7`5C_7s*INT;XG0v?I&Mz%WPIb%7No8c<1f?lGkXINK85kLu85kK@ z85kLuK<R~nfq{vEk%5zei-D1Wn}LDBje&`QiGhKEOKUp=kCygU2L6p;HG&Kb415gC z3=9n13@i+w2<BxFVqjnpgQ#W@W)NWj0WPqq^^6RR45AEt3``7S3=9k`42%roAmbUE z7+4tC85kIjX>DQP-^L($oPl>YgLtHn{B{P#{ks`dBAK@{sQGAbW6-pf5oBb@u>+9> zW-L(U+Zc4WF&GP3Zey^vV%^Q)7%9ohY_x;Hc{_u<kjFL#FG*GwqiqacLiG?1E0_ae zv%%T2+Zg=7szq70G5Bp`2()5@7#{*MQ7B?NgS#Xf$dssU3|`w90=F^5K;^eFBra#* z^8vd!1?1w542%pS4BHuYF^DrTGl0U#ih+-TfuUZIfr~+iL4-k+L6$*`L5V?}L4!ep zL7zdA!I?pdp_f6LVJ(9U!*&K)hFuJD47(ZR8ICe2f&(;&fddpi&;XTXn8lFBkj}u! zpu{khA%h{4fr&wbp`Rg(A(MfbL7$<6A)6tSfrY`Dp@boaA(w%bp_f66Ay0!LpMi~G hHv<<#0Yf1JBSR4=Mj4nzzB4RkXAlR)bul<rO8~9@;}rk^ diff --git a/serveurFTP/target/classes/sr/projet2/Request/PWD.class b/serveurFTP/target/classes/sr/projet2/Request/PWD.class index bd2e0d30b96f623de53d793640eebeab645495a7..f9904b7dff6239f671dc5904f77e92cd449af897 100644 GIT binary patch delta 700 zcmX@Yd7Lxm)W2Q(7#J9g89ccdgc;O08H5<rxfnDUG}#%nI2g3K7+4r|Kzv<x20bnY z4hA(227M5101`ChU@!u4jJX(07)(Kg83%(oJA(x~gC#qI)x?<iiC2SIm^C!RCfhLU zr@K}prxuiC=I0eNGH?awmlh?bx@G31GBR)kguCcvC6*=fFo-kA^Du}qh_N$R^Dx*j z*fKH*gCz7b^YuOb;RY}=2)LCLC={m_m8BLbq!tzB7lE|e@i5pkI7}8~k`iKMU^Ox| zS5V?%aAa`eVQ^+}nY@unL6wKWmBEFb!HtK(oxzTW!Gl4bkwL&YKQAw}A~QcvAuTa8 zCpBdvucR;|g8<mxoW#6zegCAa)Z~(h_VSE!6Vv1-S28LwGct%yZe$W+44ZtH(QtAp zljUSrCN*wG29A>a;F6-uy!6TMm?Y~N8Cc7UGD}h!8CcVDN{cfX6d8mVgc%qaL>L$u zm_YtyU|?WkU}O+ykYHeBkYr$BaARO%U}9ik;L_U8z^J9Ym4Rs^SdA0|0|OreGXnzy zCj$!u7Xv2)H-j_-1A`buHG>R;ECUE|flXy(U}TVEsF!D80vo!Uff=kURBH<Z(>4a? z;|#pJ8CW8PShq8<?T3i5?`GhL+|Ix$#I=oq8zRKBje%Q;cN+uuHU_?J4Ezv5_H7IT z%Nh85!1@J2`Zt38<Hq30z{0@H0CJ}i0|x^G13yC~7lQzU2!jZN4TC6y8-pZ+CxbYH z7lQ;t2!j;d@m>sE3<?a242%p6453hOC^0ZFa4;~7l&~|fa4{$|Ffgz%FoLlPI51QJ DIb?Fe delta 799 zcmX@kd4yB*)W2Q(7#J9g89dn;m>3zvii`9Mit@8kON{h`QVUB{i%awa!d=)ISSA}X z2`jKOurV@7VNp{AQ9CgvUW$u>nSqywfs=uck%3u5GmMjgkwJimft`V4;_e_FF4v0W z)Pj=C{Jdgz1_?$6;jF~6ME%TseNTV53>SkGgA6-^^yEY)MOGdLSq8buO-xEo91IGK z3<7Q?1q#KfMP;c)3aLd!`9)j|;tWb4>y#N8L^XWC#^ogDrRxWm6lLb6TWf}aj8o-d zP-9S^yobq<jh#W0kwJViAG5d=2ZJ^v1FMm#xq=cGg9d{VNTnVRgFb`7WHn|rE|8cJ z4}&p-$>g_8mh~JAW{eE7N(!093MCn-3dyBKMX7lu3MrXIsmUezMU{HIU>z1b43-QA zj0_wl`4A^?F<3L$vNPB)GKhg)mzl5cRGOBST9ld+UX)pqTExR($Dqu}z*-LCfmA#2 zFgSvOk2Ni)v^ax<!I_akz?nZkFE6zsGe1uuEip4EHD$6OqkesGerZv1s#|7GDkB3& zK)8z@$OZ;Q21W*E21W)}21W)ZP{=bdFfcJNGH^0*F)%W4GcYi?F)%SOF)%Q2X>DiV z(bC?^z`qf!Mv#GlfscWifq{XOfrWvKfs=uoL5P8YK@6grL6|{=0R*_frZUzuFfxcT z@G&qkh%qoQurM$(h=Yya!N3C65Tvz*fqxr=<Z%Yx-3;Q9Lh{=g6!$~KRCY6HL<(tb zXV8K0b+<7X3Yl(WFx<vqzKy{OBB-*B!G1XdpAT5G6G-z$21W)E24@C025|;vhG>v` zl^8e}7#R2&xEKT&L>NREEEz-@oEgNxO57PF7y=ojko*t?^@BSD7lR9fD+42g8v_Fa T2LrQ6Av=ROD16+(A>jc4iY${| diff --git a/serveurFTP/target/classes/sr/projet2/Request/TYPE.class b/serveurFTP/target/classes/sr/projet2/Request/TYPE.class index defc04d7041d592c233da7c8ed927073ddb924f9..337932a35eb6017a6306acebe34a6bdb656a7327 100644 GIT binary patch delta 1157 zcmZ3?dxp3E)W2Q(7#J9g8Pd2I<QPmi8DtquL4+9>gE@l*JA)+$gB2G8D}yx`g8_pL z2ZJq$w&P&1=U{N)U~uGMaN=Na=3sE)U~mQLaN}Tb=VI_+@B|TF><r#q3}Or>91K1n z+LwdD4@CQOFa)qO1hO*(u`@9QPmJxI%*Pna!mObgHd%^A$AO(8gpq;EwIVsSpd>Rt zub7d6D>%QjC^^+FGbfdifiomBz*R3Ru`H2?L4`qwhe3fsk%vKvL7AN)l!qaVA$)Q^ zqnI-zgMeE}fkJU=QCVt{LTXV_ei2A{1P?<bLlh$eqazPPG(!v{1EVV=1EVJ+1EUWk z1FK`Ov!^E`1DmUpvx}$m<oQg}MvM%sIr+(nIXn!p3~`JMq9z6g3YmGy`9(#k$t4OU zl?ADKyj<)I@jMI(3=upGi3~cE<CvxN85uZ@3=9-PDhpB-co>oxk{KD8^?12>7*ZHg z85sne^YijjD>C!*6w(qib5c_#@=6IaG6;Y?rJs|Sm#*)hl$DxXGSNX^1W7Qsq$o2l zosmIq;s&|Nn;Df@7#T!0CY~4L=g3Gb&T!68No8bU*3k5v?9Ze)`8<=MCL@Cw*vQO$ zeW%j2wA7;1l<=a=lGGwb2G(*AgOPzXEvK|NWAZd+%gK+JmFgK38Dtsc7#JDk8JHND zKtapEz`z6wT`<kapu(Waz{sG+z`zj6z{J4Jz`($-wVi=cOM5E=la|g_2Ih@mh3X6p z3_=Vn3=9lh3@i-X44e!+415f{3>pj!3<?l!44MpD3?RS{wuTX8R6W=xCI&_ZZ3Z0% zCXhXh#~7GF8W=^jwlFYlV_-SXz`L7)HByLeI|KWEtt|}9K1{aS+ZZ@jGcYj3F))BF zb!1>*&}3j>aAja%FlS(3@Px8`7#J9WwS_phF>uXf&}X(?&Y-0�};tve+(XsF%?e z;sJAoS#6gy@M#P2f_bcLwlb?gZgm0?3=AL#F~~76Fo67Nz`(#@sU^g>m4SIVgQ=Df zKbWDTB_sf5C~FA`f*Dc}4+sefZ(|UFvbQmaZiF&-Gl)gjZ)Xq}lGw%|3G&xA21y~Q zZ48pz7^G1&EN9^J0f&GLC<Hb#FfoWQTw~;9U}d<@$OfjF!R`uT5Mf|o5M<zD5MmHv z5M`LdAkMIeL4si^gA~JR25E+M46+Pc7~~kXGbk|ZWl&@|z@S{naE3vJ;TnS~!*vFA zhCd7%jBE@#jGPQwj9d)bj3NxW;0P3BU}EHA;9}5a&|_d^U|<x5Mx{Oj1A{aJpU7VZ pV|E4uMqXZCE;$Yk4vwD;VukDstXvF+;OJpwU}a!rFaoC&V*q6*#lHXm delta 1099 zcmX@ZyO@{v)W2Q(7#J9g8PeDpm?j@!l9FU+U}0ns$Vx0r)Xz!GOV{^L%1TWxVP{~Q z{FX_6Vsp0&7Xvc`KMw;pg8(A~vxa6ECj%pc5Dx=80|$sD!o$GHz%`kVF_@3bwIVsS zpd>Rtub7=dX7WWwF%B*UIR*uG2KmXd%!;f$42ld&lkJ$56gU`E7#RfIN(vN;Q;W({ zixg6eit>xN7^E50Ko+S_PGFXB;$qNb&}L`QLUCPiNl|8AIuC;mgDxWjM@C|ChI4*O zD%fG391Qx542+H-eTF;?MhwQ2JDC;rIT%bC85mtT7|a<N7(F={EEyRXeK;7b85vj| zgPlD+IT&mi8Q5H%oLxMfIT-9GYcWZSaxgeDGO*_4Cnx5BeBjK(;KJZKc@?vvG6#b@ zBZH`kfq_D1UUGg>QEGCDLP=#osva*F7lS8*H#>vZ<lD@WQ9KMj4C;&wtmQ?SC8;18 zKOP2uPzbW7<&+j@urmZQGKeDr9pWvg(#)Kc)FKXsU`7T`BLf44kjjEo1uljF1~m{7 z#={WK5HXpB#Zs7qA&QZK8Ek0)Lktf?EJNI6TNWiT4u%9q1_9^%yu8$k%=|osw8YGu z)Rf7oj5?DSGD_AnC^9fIFf%YRure?)FoB|wfq{Vu6oFuxk%60mhk=oSmw|yHl7WeV znSp_UUu!!9pO*Gk20<;Itqj5&!3sqg7#M^YSQr=>xENR%xEVMZco_H?cp1bP7#I{F z+8D$cBp5(|A8ZXH$f$a-O-u}o43Z223``7C3=9k`42%rYAR8IyGO#c(F)%Q^)7ruy zxQ#*fI0Nr)2I)v4<?Rfr`?a<(2uJ#CW6)R)GLxYmtdoJkk%56hn}LDBm4Si5oPmMC zlYxQ3nSp`9hk=2?Ut36T8-u|t2Cd}`-r7PY+ZgH%W-+KQXRy~6G6PGfEN3v*7P0`d z6_+!pYYACxWe{G@V5%i#17_%G3E6=e%34AWV1^XLaZW;R+Za5c>}?Fb8==hI3;~fs zLE9NZK<?ef5GoY8jUjX!Lo`Hjz2G(mr)><r%Nh85z+Q_7d2J&D6N3oDCWc20(hQp! z?t^J&22c<OF^DiQFbFbmF$gh;Fo-f#Fo-kMF-R~pGDtDBGe|RZF~~AZV31>&%%H$9 zlR=ST4udko3I-L1O$@3Gn;Fy@t}<va+-J~ac*LN^@R&iH!Q(B1E;x?FAOQ`HqsI(f x42cX$42%rP3=9mC47?(L7>wB&G`YFCxj8sEIDRpR<*_qJb1^V7q=2J86#xmz#Iyha diff --git a/serveurFTP/target/classes/sr/projet2/Request/USER.class b/serveurFTP/target/classes/sr/projet2/Request/USER.class index 441896aaf8363cc9b9dbd90ec1aab6ae7bb978f4..f886618a06165804b7a61e59a98f8fac54c7ad71 100644 GIT binary patch delta 748 zcmaFI`I<B6)W2Q(7#J9g8Qi%T1R2yg83Y*AL4*bugC>I(JA*a{gANx1D}ycvgB}-y zK7#>B+>nF8h>O9P!30E@axj>2FqpG5Sg<o#vNKpsjP0Gw#~94Qtf3h;S(jPg%C#an zwV)(3Kd+dPfh#z_v?w{%Ei)&Tk%2Qb*fmHmE3qt*he4b{o`*r0L4=1vltGN0!J3D` zhQW4nKBJf+BZGijNr6IfYEfBgkwR)wQGO9fxg8?|XJTG{US)26X)!y4Jr9EegCh@v z6NB^Q*-R>?><lhE46Y1zJPd9O@{9~Zrp5*erFq$T`Q>>Ep~b01yj+Y70?zq)d8rkd z`FRRyiJ3X6DHD06gc%tGKrYhHNz6;v_fN`7O)i<}AkQc_af96C&5TMcj0~b06VHnY zBB=^4Day=CpKQaVI60lkkeQJ|Y;q%$SUn>HYk5&-Nh%`)Yg$feaR!4Tg8+jd10#bF z0}}%i$g>O#3``*Zf@wwuaRvznMg~a+28KumCI)5(1_pku?F@`s+FKczv~;#IFmD7a zlwx3D5Mp3qU|`^4U}4~9;AG%o;A7xrkY-?DP=IJ-kYSLmX8-|yusw_*v%oenF)%X7 zF~~D8f$h1(z|6qJz`zivwS|Fc8w1O62HxEatdT-&+ZovRYi(g*7UI~(z&Vpa1|rWT z#J!Dy2g=^Yz`LA563P+cLzCe1sRx_H4>D;Z10#b7gFizM11keF1IYb)4BQM141x?? z3_=Vd45ADQ3}OsA4B`xy3{niP4AKn#3<?ZE3~~&?4Dt-I42odCi7_xS1T%0kC@?58 sfIJij@+AWUgAzC-SVdGso!A*zxfqlg7#LU>7<m|285kK<z(J-80F*6xqW}N^ delta 765 zcmaFO`HqwK)W2Q(7#J9g8Qj?!m?qmZNy)G?urM+RWF?j*>gOcprR)1AWu+#UurshR zGDuApWE5sEN-Zo+EiRcD)T_e9z|6qU!@$iTz{tR?p&7=>z{nuP!@$nK0b+^pFmN(( zO}rn>$K_g)oLW$lnV(n8&LA^+KBE{n7lRyw0y~2|BZJ(;7&%rR21N#?$*Y)@6gU`E z7#RfIN(vN;Q;W({ixg6eit>xN7^E50KsKpQKEouT&%vO{$iSJHm!DUen_pVY#h}fg z%g&&K;_%>-qRhN>9tJ%I{mI{%6uCe)8uBn0F&IylU^ZmtU@)Ehj8UbYi@}`1lAXbV zkwFaX>CAk6r_!{v)S}ds@S@C;)FK`RD+YB&2G(*A52V_Lhrt%)W7f2s(&7vb275*Z zAyZ=mh0?t2y!`S!h0x;EB3>>I21iB)0q6X@ywr-!{5*xU#LS%36h;QdR7M6-ADC61 zlieBRCKoY^)iWqEFfuSRFfy<*FflNJ!jOT1fe93XV49JEn}LUck%5<ifgzHCiGi7c zfq`FZI|HAV_ErW#EuF0l!W+Q~MHv_vgcw*D7#O%1SQxk&I2m{t_!xK@#26SD6d>9d z#2F+QK!6`?4I{{?dazAQ42%qt3<3;H3{ngX3@i+c4ANj5uQD(*FflMN#A$6|5ZuNf zdz^uHH-mJfkn(m0)%{vq7=(p1wlQeUWRQW#8wi<fV=#lVw=q~RXHbW7gzV5H_<X<y zIY@#`+Q`7jAj06!5X2zOz{~*hi4g<O<a!p-05b*&21^Dh23H1Y27d-wh9CwxhF}JH vhFAtgu+PLG&V%|an1PGIiNTqHk->$5fq|2OMMNcnok5z5fsw%#97t{e!v2Jx diff --git a/serveurFTP/target/classes/sr/projet2/Server/FtpConnexion.class b/serveurFTP/target/classes/sr/projet2/Server/FtpConnexion.class index 47d2df0040fc2b08f3e6bb61701ac251be384ea2..89528432d1ca93fb9f56329e4cc3032c397811aa 100644 GIT binary patch delta 2594 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 ZGM9mkVIJ5FOt(yChzEzm6maZJ1pwaS%rO7} delta 1892 zcmbQE_Cdb>)W2Q(7#J9g8BTLCxG~gnGPp9-u`|@OGc<59G%_@CF|aT+b1^V8w18w< z*%{i{8QMWI9b61t44qsIoD5wcnQjo#!@<xCqWd@)`av=iK*U6LhDjU@leri~8K!VC zxH3!yv8I8HoX*AITF)?pgJC8Y!z_l`><n|b7~~k{f{1w>4D;C;7H}~rf%r-c^Een5 zaxg3csawp>umnUe<zmoaSOy~IaWE`rXIR0-pbO&bf)uZ0XIRC>U<lG|2;#41XIR6< zU<%@!g7|CM8P;(zSTfAj1CjGM7}m2hY~W(B1sPxqQm~PoVG|dFBS?cIh`*VgVGBFM z*2#&ClQzpRNia=rXL&aHC95JwAVU-ngFA!AWFa<l(QP~o+ZlH7Fa$E}1QEM<7(5xg zCdaW^*zRW70}|N_BKGkxcr*C$F!(a~F)}df^Dy``1TZoP7#SHTxP=5L1iJ=>xd!oa z@i6RXNaSHSzz{Y0GMm0uAczwQvh5&<$YZGDVMt&|WMtrQ3=Q#62=NJKXE?;eaG2r9 z<al;z-VmQ)kX=W47>+SSO%7o<V?NGsVsbCL497{3&OnA!lQ*&-n|y;qj+v1`Zt_7c zxy>@1w;A1C8Qd5c7+4vYK%Qb?U|<4y0Ze-{_<(6&20t+E&k(@Cz`)JG$Pma7#K6Q5 z%)r1fnSqUgiGhK^eX<+3W1Nt{RtCY1V8tN}3=DD%><kPHQVc8%(hQsoG7L%#vJBP? zatsa(@(gYa3JjqP3=Cor?F?ZI;S3<)4t543Lj(f@0}BHqgD3+dLnK2K$hyhTxGiEp z=1MWJF)%QwFmN)cG6*neFbFfKF^DjzGsrP$!p#(6;9`hoh+$x4U|^7knjXu*z`)MH z6wJ;b%7tP<977ZXBSY}yDjwH*kOf){Tnr2hx(qA~1`O;BdJG&4`V2e_#tb41CJd4c z<_t0nrVO$SW(<l9=3oo87+4rM7+9bdiZHM;#4`jiFfz!(#X!!5coF0XZU$y|b_P)v ze|E6{5*QLe{$pTZYGY7fWnf`oU{uf+lG(-}JCi|pH-lWH)^-MYU!83X3d<QeC&%%M zGckOaT+XY)#BgfzTwYbHC0bh;_-8WoY6}^_^caHl7=iQ{FK1}c7BYcJn1UqCKoaK5 z8L}t;;gw(vnk>qvTCbxm<N#Kryqm!hq{s=R$ay(~u+|m^J|UNF5XLqJ5l{p(Gl0Tr z9fLLl1A{FCCxab>5Q9B~7=r_YB!eS^5`z<iHiI*RK7$K`5rZp(HG><26N5WLAcF@( zD1#?M1cMhtB7-+W27?bnIfE}lHG^M0Lmfi^Ln}idLmxvB!*qsVhS>}u4D%R58J07I zF>GK6XV}6J!LXen5|lp}PBKI@oMnh%xWEw0aFZd9;Q>QD!+VAVhR+O%4Br@%82&RP zGjcGbF!C^@GV(KIFiJ3FGRiaLf+MSsfsa9mfrTN7A(?@RK^x3UVW?+faAFW<NM%T4 zU}6Xa3#KzLGi1QU%E4k849pDE!K_RMCWZ}QRu%&j!$~kJn}Lbp0bIv>uviWQGb1Q% zBr)WIk~*UTG%+$TDlp`MQwb<V@F*~FNlK`y%1cP7O7Np3&U}UfaN_I}5CbPpHgK9Q z0Q-dp%w~le$;eR1Py|xTz`&r-zzC58#oh*ZmV{_7#;UoPp#+O&4kXR>U?a=0>Mms{ z!=jsi4Vu-JST&bJG9Uv3g9!r@*b+7^maPo@prpnGPHJ4Bz^iAdVPIvbMKXd7?)3^R nMlfR<!BEe@%Fuw-gi3}gEItrK^1l+;X-!DF5kX%K_Gk?N88{yf diff --git a/serveurFTP/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/serveurFTP/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst index c842725..064918e 100644 --- a/serveurFTP/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst +++ b/serveurFTP/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -2,12 +2,14 @@ /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Main.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/SYST.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/TYPE.java +/home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/CDUP.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/USER.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/LIST.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/AUTH_TLS.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/request.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/PWD.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/PASS.java +/home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/CWD.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/PASV.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/AUTH_SSL.java /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java diff --git a/serveurFTP/target/serveurFTP-1.0-SNAPSHOT.jar b/serveurFTP/target/serveurFTP-1.0-SNAPSHOT.jar index 85cc54b1bba6e2606a9dd8216b5f5abdb3ce1777..d3c30b553baed36eb65ed7a948c1d17d1ba8c290 100644 GIT binary patch delta 11349 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 delta 7757 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 UvVq(r$soy~%Fe*B(gef<0J8=zGXMYp diff --git a/serveurFTP/target/surefire-reports/TEST-sr.projet2.AppTest.xml b/serveurFTP/target/surefire-reports/TEST-sr.projet2.AppTest.xml index 8f8ab53..04f2f66 100644 --- a/serveurFTP/target/surefire-reports/TEST-sr.projet2.AppTest.xml +++ b/serveurFTP/target/surefire-reports/TEST-sr.projet2.AppTest.xml @@ -1,5 +1,5 @@ <?xml version="1.0" encoding="UTF-8"?> -<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="sr.projet2.AppTest" time="0.048" tests="1" errors="0" skipped="0" failures="0"> +<testsuite xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://maven.apache.org/surefire/maven-surefire-plugin/xsd/surefire-test-report.xsd" name="sr.projet2.AppTest" time="0.027" tests="1" errors="0" skipped="0" failures="0"> <properties> <property name="sun.desktop" value="gnome"/> <property name="awt.toolkit" value="sun.awt.X11.XToolkit"/> @@ -16,7 +16,7 @@ <property name="sun.java.launcher" value="SUN_STANDARD"/> <property name="user.country" value="FR"/> <property name="sun.boot.library.path" value="/usr/lib/jvm/java-11-openjdk-amd64/lib"/> - <property name="sun.java.command" value="/home/hocine/eclipse-workspace/serveurFTP/target/surefire/surefirebooter7079129417024759708.jar /home/hocine/eclipse-workspace/serveurFTP/target/surefire 2021-03-07T15-29-07_870-jvmRun1 surefire9845237247780243398tmp surefire_015024554498971470310tmp"/> + <property name="sun.java.command" value="/home/hocine/eclipse-workspace/serveurFTP/target/surefire/surefirebooter14735518812710354340.jar /home/hocine/eclipse-workspace/serveurFTP/target/surefire 2021-03-07T18-57-43_678-jvmRun1 surefire10410808926169169035tmp surefire_018045902178909471772tmp"/> <property name="jdk.debug" value="release"/> <property name="surefire.test.class.path" value="/home/hocine/eclipse-workspace/serveurFTP/target/test-classes:/home/hocine/eclipse-workspace/serveurFTP/target/classes:/home/hocine/.m2/repository/junit/junit/4.11/junit-4.11.jar:/home/hocine/.m2/repository/org/hamcrest/hamcrest-core/1.3/hamcrest-core-1.3.jar:"/> <property name="sun.cpu.endian" value="little"/> @@ -32,7 +32,7 @@ <property name="java.specification.name" value="Java Platform API Specification"/> <property name="java.vm.specification.vendor" value="Oracle Corporation"/> <property name="java.awt.graphicsenv" value="sun.awt.X11GraphicsEnvironment"/> - <property name="surefire.real.class.path" value="/home/hocine/eclipse-workspace/serveurFTP/target/surefire/surefirebooter7079129417024759708.jar"/> + <property name="surefire.real.class.path" value="/home/hocine/eclipse-workspace/serveurFTP/target/surefire/surefirebooter14735518812710354340.jar"/> <property name="sun.management.compiler" value="HotSpot 64-Bit Tiered Compilers"/> <property name="java.runtime.version" value="11.0.10+9-Ubuntu-0ubuntu1.20.04"/> <property name="user.name" value="hocine"/> @@ -57,5 +57,5 @@ <property name="sun.io.unicode.encoding" value="UnicodeLittle"/> <property name="java.class.version" value="55.0"/> </properties> - <testcase name="shouldAnswerWithTrue" classname="sr.projet2.AppTest" time="0.003"/> + <testcase name="shouldAnswerWithTrue" classname="sr.projet2.AppTest" time="0.001"/> </testsuite> \ No newline at end of file diff --git a/serveurFTP/target/surefire-reports/sr.projet2.AppTest.txt b/serveurFTP/target/surefire-reports/sr.projet2.AppTest.txt index 70439b2..cd1d9c7 100644 --- a/serveurFTP/target/surefire-reports/sr.projet2.AppTest.txt +++ b/serveurFTP/target/surefire-reports/sr.projet2.AppTest.txt @@ -1,4 +1,4 @@ ------------------------------------------------------------------------------- Test set: sr.projet2.AppTest ------------------------------------------------------------------------------- -Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.048 s - in sr.projet2.AppTest +Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.027 s - in sr.projet2.AppTest -- GitLab