From 9475eded185e47f7132153af232bbbf2afcd9595 Mon Sep 17 00:00:00 2001
From: hocine <ferhat.hocine.etu@univ-lille.fr>
Date: Thu, 18 Feb 2021 00:25:52 +0100
Subject: [PATCH] =?UTF-8?q?deuxi=C3=A8me=20rendu?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 serveurFTP/src/main/java/sr/projet2/Main.java |   2 +-
 .../java/sr/projet2/Request/AUTH_SSL.java     |  27 ++++++
 .../java/sr/projet2/Request/AUTH_TLS.java     |  28 ++++++
 .../main/java/sr/projet2/Request/PASS.java    |  28 ++++++
 .../main/java/sr/projet2/Request/USER.java    |  27 ++++++
 .../main/java/sr/projet2/Request/request.java |   9 ++
 .../sr/projet2/Server/ConnectionServer.java   |   4 +-
 .../java/sr/projet2/Server/FtpConnexion.java  |  81 ++++++++++++++++++
 .../target/classes/sr/projet2/Main.class      | Bin 589 -> 589 bytes
 .../classes/sr/projet2/Request/AUTH_SSL.class | Bin 0 -> 1038 bytes
 .../classes/sr/projet2/Request/AUTH_TLS.class | Bin 0 -> 1038 bytes
 .../classes/sr/projet2/Request/PASS.class     | Bin 0 -> 1007 bytes
 .../classes/sr/projet2/Request/USER.class     | Bin 0 -> 984 bytes
 .../classes/sr/projet2/Request/request.class  | Bin 0 -> 183 bytes
 .../sr/projet2/Server/ConnectionServer.class  | Bin 1626 -> 1763 bytes
 .../sr/projet2/Server/FtpConnexion.class      | Bin 0 -> 2372 bytes
 .../compile/default-compile/inputFiles.lst    |   6 ++
 serveurFTP/target/serveurFTP-1.0-SNAPSHOT.jar | Bin 3784 -> 8651 bytes
 .../TEST-sr.projet2.AppTest.xml               |   8 +-
 .../surefire-reports/sr.projet2.AppTest.txt   |   2 +-
 20 files changed, 214 insertions(+), 8 deletions(-)
 create mode 100644 serveurFTP/src/main/java/sr/projet2/Request/AUTH_SSL.java
 create mode 100644 serveurFTP/src/main/java/sr/projet2/Request/AUTH_TLS.java
 create mode 100644 serveurFTP/src/main/java/sr/projet2/Request/PASS.java
 create mode 100644 serveurFTP/src/main/java/sr/projet2/Request/USER.java
 create mode 100644 serveurFTP/src/main/java/sr/projet2/Request/request.java
 create mode 100644 serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java
 create mode 100644 serveurFTP/target/classes/sr/projet2/Request/AUTH_SSL.class
 create mode 100644 serveurFTP/target/classes/sr/projet2/Request/AUTH_TLS.class
 create mode 100644 serveurFTP/target/classes/sr/projet2/Request/PASS.class
 create mode 100644 serveurFTP/target/classes/sr/projet2/Request/USER.class
 create mode 100644 serveurFTP/target/classes/sr/projet2/Request/request.class
 create mode 100644 serveurFTP/target/classes/sr/projet2/Server/FtpConnexion.class

diff --git a/serveurFTP/src/main/java/sr/projet2/Main.java b/serveurFTP/src/main/java/sr/projet2/Main.java
index a7e6f10..2a8b88b 100644
--- a/serveurFTP/src/main/java/sr/projet2/Main.java
+++ b/serveurFTP/src/main/java/sr/projet2/Main.java
@@ -6,7 +6,7 @@ import sr.projet2.Server.ConnectionServer;
 
 public class Main {
 	public static void main(String[] args) throws IOException{
-		ConnectionServer server=new ConnectionServer(2000);
+		ConnectionServer server=new ConnectionServer(2020);
 		server.serverConnect();
 		
 	}
diff --git a/serveurFTP/src/main/java/sr/projet2/Request/AUTH_SSL.java b/serveurFTP/src/main/java/sr/projet2/Request/AUTH_SSL.java
new file mode 100644
index 0000000..c361788
--- /dev/null
+++ b/serveurFTP/src/main/java/sr/projet2/Request/AUTH_SSL.java
@@ -0,0 +1,27 @@
+package sr.projet2.Request;
+
+import java.io.IOException;
+
+import sr.projet2.Server.FtpConnexion;
+
+public class AUTH_SSL implements request {
+	private FtpConnexion ftp;
+	public AUTH_SSL(FtpConnexion ftp) {
+		this.ftp =ftp;
+	}
+
+	@Override
+	public void send() throws IOException{
+		if (this.ftp.getSocket() == null ) {
+			throw new IOException("Ftp server error");
+		}
+		try {
+			this.ftp.getBufferedWriter().write("530 please login with USER AND PASS.\r\n");
+			this.ftp.getBufferedWriter().flush();
+		}
+		catch(IOException e){
+			throw new IOException("Connexion failed");
+		}
+	}
+
+}
diff --git a/serveurFTP/src/main/java/sr/projet2/Request/AUTH_TLS.java b/serveurFTP/src/main/java/sr/projet2/Request/AUTH_TLS.java
new file mode 100644
index 0000000..fca7013
--- /dev/null
+++ b/serveurFTP/src/main/java/sr/projet2/Request/AUTH_TLS.java
@@ -0,0 +1,28 @@
+package sr.projet2.Request;
+
+import java.io.IOException;
+
+import sr.projet2.Server.FtpConnexion;
+
+public class AUTH_TLS implements request {
+	private FtpConnexion ftp;
+	public AUTH_TLS(FtpConnexion ftp) {
+		this.ftp =ftp;
+	}
+
+	@Override
+	public void send() throws IOException{
+		if (this.ftp.getSocket() == null ) {
+			throw new IOException("Ftp server error");
+
+		}
+		try {
+			this.ftp.getBufferedWriter().write("530 please login with USER AND PASS.\r\n");
+			this.ftp.getBufferedWriter().flush();
+		}
+		catch(IOException e){
+			throw new IOException("Connexion failed");
+		}
+	}
+
+}
diff --git a/serveurFTP/src/main/java/sr/projet2/Request/PASS.java b/serveurFTP/src/main/java/sr/projet2/Request/PASS.java
new file mode 100644
index 0000000..5ff9d13
--- /dev/null
+++ b/serveurFTP/src/main/java/sr/projet2/Request/PASS.java
@@ -0,0 +1,28 @@
+package sr.projet2.Request;
+
+import java.io.IOException;
+
+import sr.projet2.Server.FtpConnexion;
+
+public class PASS implements request {
+	private FtpConnexion ftp;
+	public PASS(FtpConnexion ftp) {
+		this.ftp =ftp;
+	}
+
+	@Override
+	public void send() throws IOException{
+		if (this.ftp.getSocket() == null ) {
+			throw new IOException("Ftp server error");
+
+		}
+		try {
+			this.ftp.getBufferedWriter().write("Login successful.\r\n");
+			this.ftp.getBufferedWriter().flush();
+		}
+		catch(IOException e){
+			throw new IOException("Connexion failed");
+		}
+	}
+
+}
diff --git a/serveurFTP/src/main/java/sr/projet2/Request/USER.java b/serveurFTP/src/main/java/sr/projet2/Request/USER.java
new file mode 100644
index 0000000..8844b2e
--- /dev/null
+++ b/serveurFTP/src/main/java/sr/projet2/Request/USER.java
@@ -0,0 +1,27 @@
+package sr.projet2.Request;
+
+import java.io.IOException;
+
+import sr.projet2.Server.FtpConnexion;
+
+public class USER implements request {
+	private FtpConnexion ftp;
+	public USER(FtpConnexion ftp) {
+		this.ftp =ftp;
+	}
+
+	@Override
+	public void send() throws IOException{
+		if (this.ftp.getSocket() == null ) {
+			
+		}
+		try {
+			this.ftp.getBufferedWriter().write("331 PLEASE SPECIFY THE PASSWORD.");
+			this.ftp.getBufferedWriter().flush();
+		}
+		catch(IOException e){
+			throw new IOException("Connexion failed");
+		}
+	}
+
+}
diff --git a/serveurFTP/src/main/java/sr/projet2/Request/request.java b/serveurFTP/src/main/java/sr/projet2/Request/request.java
new file mode 100644
index 0000000..d679214
--- /dev/null
+++ b/serveurFTP/src/main/java/sr/projet2/Request/request.java
@@ -0,0 +1,9 @@
+package sr.projet2.Request;
+
+import java.io.IOException;
+
+public interface  request {
+	
+	public void send() throws IOException;
+
+}
diff --git a/serveurFTP/src/main/java/sr/projet2/Server/ConnectionServer.java b/serveurFTP/src/main/java/sr/projet2/Server/ConnectionServer.java
index 3389d0d..23f09fe 100644
--- a/serveurFTP/src/main/java/sr/projet2/Server/ConnectionServer.java
+++ b/serveurFTP/src/main/java/sr/projet2/Server/ConnectionServer.java
@@ -33,8 +33,8 @@ public class ConnectionServer {
 		Socket socket=this.srvSckt.accept();
 		BufferedReader bfR =new BufferedReader(new InputStreamReader(socket.getInputStream()));
 		BufferedWriter bfW = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
-		bfW.write("220 FTP SERVER\r\n");
-		bfW.flush();
+		FtpConnexion ftp= new FtpConnexion(socket, bfR, bfW);
+		ftp.start();
 		}
 		catch(IOException e){
 			e.printStackTrace();
diff --git a/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java b/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java
new file mode 100644
index 0000000..9439c51
--- /dev/null
+++ b/serveurFTP/src/main/java/sr/projet2/Server/FtpConnexion.java
@@ -0,0 +1,81 @@
+package sr.projet2.Server;
+
+import java.io.BufferedReader;
+import java.io.BufferedWriter;
+import java.io.IOException;
+import java.net.Socket;
+
+import sr.projet2.Request.AUTH_SSL;
+import sr.projet2.Request.AUTH_TLS;
+import sr.projet2.Request.PASS;
+import sr.projet2.Request.USER;
+
+public class FtpConnexion extends Thread {
+	private Socket socket;
+	private BufferedReader bfR;
+	private BufferedWriter bfW;
+	public FtpConnexion(Socket socket,BufferedReader bfR,BufferedWriter bfW) {
+		this.socket=socket;
+		this.bfR=bfR;
+		this.bfW=bfW;
+		
+	}
+	
+	public void auth() throws  IOException{
+		try {
+			this.bfW.write("220 FTP SERVER\r\n");
+			this.bfW.flush();
+		}catch(IOException e) {
+			throw new IOException("FTP Connexion failed");
+		}
+	}
+	
+	public void run() {
+		try {
+			this.auth();
+		} catch (IOException e) {
+			e.printStackTrace();
+		}
+		while(true) {
+			try {
+				String Read = this.bfR.readLine();
+				this.read(Read);
+			} catch (IOException e) {
+				e.printStackTrace();
+			}
+		}
+	}
+	
+	
+	public void read(String s) throws IOException {
+		if(s.startsWith("AUTH TLS")) {
+			AUTH_TLS request= new AUTH_TLS(this);
+			request.send();
+		}
+		else if (s.startsWith("AUTH SSL")){
+			AUTH_SSL request= new AUTH_SSL(this);
+			request.send();
+		}
+		else if (s.startsWith("USER")){
+			USER request= new USER(this);
+			request.send();
+		}
+		else if (s.startsWith("PASS")){
+			PASS request= new PASS(this);
+			request.send();
+		}
+
+	}
+	
+	public Socket getSocket() {
+		return this.socket;
+	}
+	public BufferedWriter getBufferedWriter() {
+		return this.bfW;
+	}
+	public BufferedReader getBufferedReader() {
+		return this.bfR;
+	}
+
+
+}
diff --git a/serveurFTP/target/classes/sr/projet2/Main.class b/serveurFTP/target/classes/sr/projet2/Main.class
index f0b87ee88054e2d5623baa352556a76f34f4da15..618307915fd53b30c751562e01ea1a07763f9023 100644
GIT binary patch
delta 318
zcmX@ha+W3Z)W2Q(7#J9g85G$Wm>3!Oi;MINit@8kON{h=6EpMJ8CVz@1hNv#67_Qu
z^V0SGld@8iOBfm0Y%=pQOY9gKm^C!R7#Ucc^HWl}7?>G2c^Ft3*d|(}sB^hiB&QaX
zWaj4;voi=WG6;hW$;{XH^oPr^Gl)zUWmMJXVi0B!1L+iJWMI+o)C>a&Nb)d9F|aW*
z@D`^Qm8BLr=jY|6CYMZ{6<`ybUs{x$>Xw<4%E-V8a-|-~Yz9RJMh0dE5MW|p1UZ9&
zk%66ofkB^vk%5tcfq_+PI|Ik$J&ZbP0t^fcEDVecf?#<c24)5(1_lO!-3-E!g6vPW
nGl=?VZ)1>{%)+E5Da|0mz`(%Gz{()YAO|)`o`HdZi9rDXfH6Hd

delta 300
zcmX@ha+by7)W2Q(7#J9g85Fq~*cc?(86>$Fm>8r$gfu&Y3_F7?BLkaFW?p8A9U}v?
zhGrNe1B-KhO6tVWl*vYne!Q*~$*Bb;nfZCe><n^~YZ)b3c^KFkI3_+&tp_pWc^DKJ
zI2alDi;MINit@8kON{h=6EpJ|83eKt%M$f-67$ma{gbj%lS>#Gguz0Y`TCyzaAO%6
zSTsCAw(=II7L}zIIp^o)r6!j!C^E1zurYuD69Xg2Mg~R(P6h@BeFjDbMg|53RxRf3
z42+ZaFzU#Fgnby88JHLt7zB1RFhvToU)avT?4!Mnfn_oulbW&sgCGL~12+RJgAju-
a10#b70|NsK10#bd10#bN0|NsSgE#<#6*o`-

diff --git a/serveurFTP/target/classes/sr/projet2/Request/AUTH_SSL.class b/serveurFTP/target/classes/sr/projet2/Request/AUTH_SSL.class
new file mode 100644
index 0000000000000000000000000000000000000000..3ab14ed8e9707b02b2a2ebeb7527ffa74facdaf8
GIT binary patch
literal 1038
zcmX^0Z`VEs1_omWOLhh(Mh5BPBK?A*{H)XxBmJP%!qU{@5`D+e5RdraU>|k{7Dfhv
zti-ZJ{hY+SbbbG%tkmQZb_O;^1}QAsiXhq<8JN>b3K$s_e2~-xrxul^7U{c{6gcPS
z<)v0+=I2>6GO*cX=4F=HF)}D?5K^oe#>l|poS%})#lXzK%frCQz{kkItf3jk$-u}U
zz{9}Kz`@AC?~|FA>Q|bZlv)&$n3R*s$ROmCpPZNzmROVt;zI>lN-{Ew85v}e?L_yx
zH6sH{acW))BLkOfMRICENoIatF*}0<BZDwFKr-|7J^kS_TnthSGVBb}j0|%4J<Y=)
z%OJ<dz?q&}5}co$om#@kAgrP312!@*wL~8xXwAW(z{nurR#Ko)3=TMj)S{yNA}$7T
z1|^W!l^GdCH6WV65ffZel$n=qtr-S#hbj+)8iP6`gJ61UiBoA>T53^hN_bIbNoo-z
zgA~lJ%zS-RIcp9EO-2SaQ)2^#f}GUE;#7s4{PfH`h4Rdj4295O*B}K)KNp1n$KYT+
zUM?;MZ3bO-1|3EQF|f-qOygnDV^C&fU@ZsP3sP;s!(a%CG1j!4(&7vb24hAB0eDJK
zNK4GjNljs7U`%CX5QX>)HGHiZ8F+(B5|gui6APe`$Q7JlT9lmXmI;bxURaXV1G$Gm
zk%5tcnSqgkm4T6g36wM#7#Nrs7#TPjxEL52xEUB2+!&Y`m>3usxU{x2@MvjoW#Hck
zRwKy3z`)1A%)r3F$-u(E#lXqH%^<|Uz#s-u%^=Jm!T<tXU{e_x7#Tzv_!yWN#26SD
zSQr=?#KES|XJ7`ax76Cgz`u<_@;C$UZU*s4A^GhLiu)mADnc6D7_^}5Z4CO$8Tfp_
zYK%Z?HZm|Wh%jg|=rV{iFf)K0rNqF&z`(%Iz{McIAi^Nbpa7N^Wzc01W6)y|XRu(9
nL~^Jl)S-F|Tnr`*rVNY>W(*7r91P4N5$p`&pg=GOd)ER0|DNeN

literal 0
HcmV?d00001

diff --git a/serveurFTP/target/classes/sr/projet2/Request/AUTH_TLS.class b/serveurFTP/target/classes/sr/projet2/Request/AUTH_TLS.class
new file mode 100644
index 0000000000000000000000000000000000000000..2ec0165857e1d599560f02fd0329e1ea028e1d4a
GIT binary patch
literal 1038
zcmX^0Z`VEs1_omWOLhh(Mh5BPBK?A*{H)XxBmJP%!qU{@5`D+e5Rdo}pI~+d7Dfhv
zti-ZJ{hY+SbbbG%tkmQZb_O;^1}QAsiXhq<8JN>b3K$s_e2~-xrxul^7U{c{6gcPS
z<)v0+=I2>6GO*cX=4F=HF)}D?5K^oe#>l|poS%})#lXzK%frCQz{kkItf3jk$-u}U
zz{9}Kz`@AC?~|FA>Q|bZlv)&$n3R*s$ROmCpPZNzmROVt;zI>lN-{Ew85v}e?L_yx
zH6sH{acW))BLkOfMRICENoIatF*}0<BZDwFKr-|7J^kS_TnthSGVBb}j0|%4J<Y=)
z%OJ<dz?q&}5}co$om#@kAgrP312!@*wL~8xXwAW(z{nurR#Ko)3=TMj)S{yNA}$7T
z1|^W!l^GdCH6WV65ffZel$n=qtr-S#hbj+)8iP6`gJ61UiBoA>T53^hN_bIbNoo-z
zgA~lJ%zS-RIcp9EO-2SaQ)2^#f}GUE;#7s4{PfH`h4Rdj4295O*B}K)KNp1n$KYT+
zUM?;MZ3bO-1|3EQF|f-qOygnDV^C&fU@ZsP3sP;s!(a%CG1j!4(&7vb24hAB0eDJK
zNK4GjNljs7U`%CX5QX>)HGHiZ8F+(B5|gui6APe`$Q7JlT9lmXmI;bxURaXV1G$Gm
zk%5tcnSqgkm4T6g36wM#7#Nrs7#TPjxEL52xEUB2+!&Y`m>3usxU{x2@MvjoW#Hck
zRwKy3z`)1A%)r3F$-u(E#lXqH%^<|Uz#s-u%^=Jm!T<tXU{e_x7#Tzv_!yWN#26SD
zSQr=?#KES|XJ7`ax76Cgz`u<_@;C$UZU*s4A^GhLiu)mADnc6D7_^}5Z4CO$8Tfp_
zYK%Z?HZm|Wh%jg|=rV{iFf)K0rNqF&z`(%Iz{McIAi^NRpuix?pv52tR-wlr!C=84
nh2&66s6+J_xEM?rOc@v%%orFLI2f2kBG?(kL4jZn_O1m02^Hx=

literal 0
HcmV?d00001

diff --git a/serveurFTP/target/classes/sr/projet2/Request/PASS.class b/serveurFTP/target/classes/sr/projet2/Request/PASS.class
new file mode 100644
index 0000000000000000000000000000000000000000..3bb9f9b777f834b478e3cf6f903fabc15a02f8fb
GIT binary patch
literal 1007
zcmX^0Z`VEs1_omWOLhh(Mh5ZXBK?A*{H)XxBmJP%!qU{@68!+j;9zzJ7Dfhvti-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`gJ61UiBoA>T53^hN_bIbNoo-zgA~lJ
z%zS-RIcp9EO-2S`pZxU9JcZ)Y<mA-i;<VBnJzg#@25kmib_N|r1~ITRF|_h9=rJfW
zGO(6|ECH!D;9)QXMGb3OPHAxl2ZJ#qg8)3r719zjb5c_n85mO;8AKtTKn+Z5Mh4#C
zlEma}-^2oFY;gtWmlh?bx@CgmlM|FK^+0Z6P-I|aU}j)sU}a!rU;@QI0|NsS10w?`
z0~Z4$12+Q$gBt@A0}}%S1DDoz1|BW#tqlAd!D<8<7#R2%m>C!tI2l+NxEMGYxEX{P
z7#PGLsu_eCL>NGT3v4PQ10#bd10MqugBSw?0}BHqgE-jq`3%fp^_E&&82Gm_NFHb4
z-OV5#DI~w0L2*AsOhrgz8-o^<y^TSCIRl>$Sd9@#%|-@B1`!4=23-bm24)73qm&pp
z7#JA%8Mqh(7(^IE7!(*p8MGM0z$)|@Bp56hq>vnH33aF*0~dn{gDC?egBb$@0|x`M
QNCZ2BI4BUz!QQn10KKQ+r2qf`

literal 0
HcmV?d00001

diff --git a/serveurFTP/target/classes/sr/projet2/Request/USER.class b/serveurFTP/target/classes/sr/projet2/Request/USER.class
new file mode 100644
index 0000000000000000000000000000000000000000..707407981db19149b1dd8e7c2f60544f365cd80d
GIT binary patch
literal 984
zcmX^0Z`VEs1_omWb1nuR26;{fZUzM|21N!X5TVS$pu)wV%Af`!)Y%y{I2bg!7&sWT
z*cr6h8FbhgbQu|#(@F{$85Deqi}VYM^0QJ)jP!$3i^@`q^xaAdob&VYQY$j^^Q;*e
z*laTMGE3|j8I&~$Db@^QWMFa5Pf2BD;P=VQOZ6+wO-d~aNleN~Wn>WY$xlwq2}>->
z1o5GQEF~G4#f%J+$R-D+7M7+Km*|HEy9QY^GO!e<=A|$)Fl&HJXG~>e5cSDQEKAhS
z%-8qycdbZHEhvFFlsC8}F*(~eu>fi|7hJNKk%22XzqBYh)h!d`6i$%QdLUDH7z7w3
zco_H?_}Llsco_5<40sp}8H^Yi6pW1x6#{%*9fMsJf&*NgJ>4P|LOfg*0vv;b!~KI?
z^w=4Uc^FI>OnDg07$g`Ogh8gExrvcM03MJEX^ELRsVN})Oc@!(kwP8WyNnD1U~_U3
z^V0SGld@8iOBflXuqZBqgb^cy9FioK_+w<?OiwKd&QH!xEn#F3*3g86U0!O5K19%(
zkwGv$wZy43EiJVuH6^?#vm~{MkwFTkGBaNvRnD4`K@99h3>iiS)^d<`Mg~z0h&5nu
z1eX+L=A~PMVvjW~r?fbOL6L!*fro*SftP`ife94$3=9lR42%o{41x@d3_=VH3~mfe
z3``6R3|v~<85p&+w=yto1gjBdU|`^5U}j)o;ACK7;9>wJdl3c(1~G_g22lnv1`yx^
zo65+*$RN%j!N3GIb0PyXSe3rk76ztm49v$Fm?10{A=YgSY*6+#2KMC)d_KDwI3k5O
zw=;0<-^jqoz{Q}zpv=I*z{~)0fE)um0|Ns;0~doZgBXJdg93vDgEE5{g9?K<gC2t<
z1I$4x3|tJ73{nh?3=9nVP^U>VFo4YAieP8p;9`(rU|?WjU}WH6U}TU5dr%Glciz}N

literal 0
HcmV?d00001

diff --git a/serveurFTP/target/classes/sr/projet2/Request/request.class b/serveurFTP/target/classes/sr/projet2/Request/request.class
new file mode 100644
index 0000000000000000000000000000000000000000..86cb7691e189a95bc0f51876ab5b1f656d1958c7
GIT binary patch
literal 183
zcmX^0Z`VEs1_omW9(D#!b_Om+2A1N~yc9+TW)00SMg}g|isaOSlFa<PVs-{@Mh33n
z{L-T2RJY8WR7M7#qSV6D)Z!Aoti-ZJMh2<kBK?A*{H)XxBmE$Vj6PHaBZB})jebsI
zUb?=2QdVkm2_u6rSST}J-_sv%3mYQ?BLfoy2r#lRGB7i+FfcN(GBAK?HU>rpb_NCp
HCI$`wnQ<!E

literal 0
HcmV?d00001

diff --git a/serveurFTP/target/classes/sr/projet2/Server/ConnectionServer.class b/serveurFTP/target/classes/sr/projet2/Server/ConnectionServer.class
index c756048d1ae1f7b554fca7ec33d5b5560e207462..fb513cedff2e5e8f4ddfb49e36019ca6c682dd08 100644
GIT binary patch
literal 1763
zcmX^0Z`VEs1_on>L@ov?26IjZNd^lp21y1>b_Odh1{MZukcbUCgDnSx9Tx*TgFQ&l
zft|sToxzEV!I{B@i-Cv1m5YI!!Hu24ot?o0B<RV-Ajsgw#UQ}o&CcM%#URSy3nKhL
z2Kcix1h6v%GBU6P_y>hBGBA2FGO!mHl?5kfmoPGj`(!1SCF<v;mgonk7L}zI1?MMc
zr<PbVGO*cX=4F=HF*2}dcxr|*GO#%3r=&76@cU%urTUfTCZ!gIBqrsgGBODH<R>TQ
zge4Ybg7{EDmXeIjVnzlPpW-6@f};Ga)Dk181^UkUd3mYHC7Jno5F4!-8Ms_4l2Z#n
zLdA>>Y{g)QFfuS}fb3;VWn>VAxH2<e-_swi)S8ijH@GA*Iomg}0BS2QL@U$=kWpaY
zFfs^23;=r*EM(2dz?_s8#K<54k;%;0cPdRwOD#%G2}(^&NiBjX2*;)%yeP8-q9CoL
zfRRA~iyz%e3c!x2$jr|J`7b!Xv?w{%EfW-8qF@=M0MG+P0S|*bg9Z<SG=mHegF1r-
zBZDYN6eD6l$`p7QWEtcb8HB+qPy>aLK>%z#$YO=G#LS%36p)r69)@6s5Jm<um=;ve
zGBQZQBs}v9N=t%Eic%AEApyb85X!?4#t;rNCIUo6Vlf61B#aDFFk}2nOW@`}BzYL3
z7@|S?V?abKBZC}f(m)P2kg7NyhImk@B!B`$2~$1Tt4JZq$RGfAKu%&_y1su>R%&ty
zBZH_0B#Oa;!6ikRdFj@mgvFMa3`%s248j_k5EUrNgCA@XLWq%pFFmycDR>we#9<mi
zaexRnYeohMsGVpMAZvvYQjh=!JBB|!wFEiLKt@1am6@-PEMv{cAc-&nMF!1yNVtQI
zcY*3ac*h#zWz2MsA&z7WYjH_pQ3)dhe?d`ZUI{q!g%l+wr!puqNHRz<FfcGNFoBXV
zm?g^~$H2hA%)rPX&!E7-#GuH)z~Bc~!N9<$wVi=cOL{8<lh!r{=8a(WN(>APLJTYn
z3=I4XEDQn+oD6~tybQt&$_xw)Vhl_S3=Dh>Dh#R&AixK<g^@vxfq{XAfsuioff1Bz
zpth7Vuz=OeY3*iUiPYM{z_gu#bt?ngat1!1-3;uJLLA!}IQMU4U<BJG#K6wL%mA`o
zjDeMbfkA?SpFxH}h(U@$m_Ztp)8H-;X5eDbWY7ZZlY_cNn}LCWoq;Kcoq?ST#W^|*
z8c^rlW?%&y?4h-Vfo&TDm(Okn?#SH?JdxVl7<jic@NH+{_ub7P5V@N{5F{kDok4gz
zgNWa52GK}u9o_8=Vpc4YEZZ2wmosqqXm4YXfH>Tq!3pkgH3m)w1_nh24hAI#X$EBm
zJq8s9D+W~tdj?GgCkAx}X9f)hcLr^+N9-8b7&sWr8FU%+7#JC(8B`eb84MVh81xtf
v84MYW7?>HX7+4vM8B7>h7@Qec;2!os@-Qa@({~0Zb_RA96fc{C<IxNNJ-(AE

delta 1049
zcmaFNdy7Zl)W2Q(7#J9g8RFR)m>3z9CVo&7V`pGtWDv+oEKAhSNz6;v_fN`7O)i;O
z;TXZ?T9KSuP?DLSSIo}9%g7)MR+O2q@97VhVPs%&&QD3@Vqj(v;9=lo5M*Rv*3b;&
zWME_v=3!uEVB=z7WDw<H5Ch4u6{i-Jr4~)x7s|%YAj8NYI&q??2^WJjgB(aJ7f6!=
z4+A>`2M2=^BZGi*eqLT`MP`1ULRw;GPHGAl0}q1=NTurJ0%obnhKyERAkEr53_1+D
zlRKE@nb{fiC)Y4Z+OabjGBQZQotsxsS`u7Rl$w|ul$w~5TExX*%wWpSV8Y124_1?x
zTB0AEpPZdq!oy(3U_N;#vo;?Wg8_pj$TBNN1__PH=b1%$G{d+U^cZYFg0_?YGmFWy
zGuSgSh=GmB%-44+O-oBHN=*qb$}CAOVrOuie1}Pv3uKow4}%MX>ts<DT>~x#2L^YL
z2_B3Lk{UiRz5b;oa5q|m?6G6;0;%$z9LFLS#=+pr$RJ>3WT4;{5}*+58WiRl#LLCS
zV8`Ik!w|rr%E-W44zd&^62!w03<_)3w4Bo73{a4T@-T#fMEDDeGV@A;OA?c_Ly8iU
zQzvILCQkm!s9evW$iT?J%)r3F#J~iKGBAssfrEj8fti7kfs=uYfr){efq{XAfsuiS
zfscWK!4IsKfq_qJI|IL#^i~ETt!)e<8^Joo85kIZ7+4q>82A}j7z99xf`OMom_dSp
zfkBLciGhKEk3o__iU9=p7+4wV*%%lZ7(pon!<upi7O)06t=$aLky=|AgtjxtZe@^P
z&cNrhn}H`%NO3!Z^8Sqsj9|-z7<d?%89>&HF|aZ)Fi0@)Ge|NBF-S28Ge|SYGRPr0
zK@RE!VFs>x1~mqC21W)A1_lOp2Bsi(1|CqN)npLFaL)+_R<Oq$wYD(GZ)4E%+0CFA
zxtqZtQhOVN(RK!l?F`nwyBX{vcQZJEgq*fBxNT?f^wSmc*~Z|fyNw}mIRl4}_BMtP
zh?6ZCtQmM1>L6}bW8h?9U{GY>U{GR^W>99(V^Co*VNhkTU{GVQW>9CaVbEZ3V9*Bp
z!369-N2nh-7z`M~86p@M!M==Sh+<%3&|~0Yh-QdkU}mskU_td@H9G?jC?;dUu@wgZ
DKSikD

diff --git a/serveurFTP/target/classes/sr/projet2/Server/FtpConnexion.class b/serveurFTP/target/classes/sr/projet2/Server/FtpConnexion.class
new file mode 100644
index 0000000000000000000000000000000000000000..cce33a413af0c96f7751d99c334dcd32341beddc
GIT binary patch
literal 2372
zcmX^0Z`VEs1_on>B6bEQMh3a!BK?A*{H)XxBmLmiqO#N?eYcVV=ls09)QZgfJaz^a
zMh1bb#Ii*FoW#6z{g8~J)Wj4<2Dak-<m}WEMg~D2uw-6piGDCx$eNLXIVmlOkwF3?
zlbNsYRGOBST9ld+l$w~5S_DxLj!i*$QDzBP0h>)`US^3MBZG?u#1tg+Ap)4jVu(Xc
z(+p!|U~$e*N#$Z-X5i;x;ARkDWMJ0N4C7>AWDw$EU}azfu|#+n*cmuLEHNGiP6jSU
z27aH+yi~u^+@#c^ki?{%R7M6NpZw&+oUp{AOb{O`$WoG#S<J|w;DbLTtr;0u5=%=m
z7#X-+E0R+SN;32FirE?D7#W1YA()x3@97Vh;b2f;WDqbiGEi^}2~Y@j4GMD&;^pFE
zP-0MFXHaHj5QFJ~g)PLhJPfJ~YK#o5<)DCMWDtdh9yscPONuh{(ycYaK&EK$Fld6p
zfi*3sv^ax<L7S051Y{FD;uX>oGjmc?xEN#^bU|UJ#>l{!%E%xJ4`n3BS~D{62A3oz
zXZt1=Km&!js5Fm@fsw(Ohe4V_0Az|O4}%%VM*f1L%)An?@{pp$<Ww#O3kEB821_h{
zf}|H725SZzMg|U0!UM$!BZG*BCd3)Y{sP%%$HQO`@;?hmEh7U9$N*5RfddO!F$aS)
zBLjzHXo!bGh)*yVgDZnOJA)faN{0j&4}%ATCnEz_aY<rPNpW~4DE_d9Y7{$zHzR{I
zQW^+KEi6qfF3|_s5)Zb;i@_HZlzxm1${K`H3n-er7y@`00zrYsQk<HX!od&>b98X9
z4?9CB9{YlWeYhAx7<@rQ00%=PBLholuxk)ILo_3UI2K2OB)J%(KpLVL0yr4r85vjt
z9D{?|84|H;07-H&B!Dy|Fa$6%Fcvd1uopqR%*Y^%>^<~=u*N4J9PDGw$RLSLKgf-^
z<Ur1`W@O+@Pc4BILyQc<uvCInb}%vsrl*#m<{3r?DVR#6LIskatWh<9(o<>?b`20Y
zYeojH;QZ2}<W#pzP>CUkT$t*C(jkK)10w@70|Nsy0~4t1VPIfj0+l>qnv;Qxfq{XY
zfsuimfro*SftP`SA%}s9frWvAK}2gi1D}@mRt7;WovjSQTDn^qL^pzUi8C-Th%vA-
zFfa%*urLTQa54xp@G*!m2s4N=NH8!kXhHNdNHRz<fPe_tUPh3aV4Io1ERfyI42+=s
z%D}`R!@$76!obKN3wA>V*tHA{@>*LMM1|zHF(`r<+ZfcBGw}KBW{`~((%R0TvwtH4
z$WQ?WVFp<SW(I__q!>8C#>y~=Fvv2<G020RCB^`<SRU#u5e6;>JqCRSMg{|L5HJO^
zGsuE6wIPE5G$d9sFoCtGXl-LKTF$`XqrHv6L~9F!@HPf>A1&=|47SVve+COK|Nk1S
zl7)etL6(7sL6SiR?j$7!4h9AWWd;@o6$TClRR&N=D8it{AjzQ3Aj_b`pva&Ob{-_u
zRG`k|U|@kd4-|S1436Nifr){f%+0{;&dwmq;t#Tt5mXSN2O}dJ12Z`4leC4LwlTQO
zWDwrX;1#L0ox#UfXB&h6at3d0p&*z<2uLCfBoV%x!AM&u0wxg!l86CG#4cx$)E0^Z
zO9<>{NB~JBfh3Ya2?G)XP7DIz>YkIqgh7bGltGNaj6ssYoI#1ff<c?Xl0l!riouA%
z8dS(KxG>l<cre&8cr(~DgfKWT#4<QCBr>>wgTs!2je&t72^t(ARth)}gcw*DQW?@1
zm>9IdtaJt@1{W|ZgMo=57R<_IU;@V~8v~1^goG#qBSRKLHZ)Q}F%C*KtXf+b1UJCb
xGaEQ5xr40+<pc%>R;bmC3^@$BSTu{GYxcsbIgcS9i)LYT&AwPQ7l7SY2mp%7<mmta

literal 0
HcmV?d00001

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 6090f07..5b510da 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
@@ -1,2 +1,8 @@
 /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Server/ConnectionServer.java
+/home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Request/USER.java
 /home/hocine/eclipse-workspace/serveurFTP/src/main/java/sr/projet2/Main.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/PASS.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 d5dc5f4b9b40bbb0aac801343b22bb321f72ca4c..43b1e6069ce7c6cbd59e507e3fd2782e542c35c0 100644
GIT binary patch
delta 6635
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

delta 1667
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
RZ9EJ-4F1dv49VOe9sp(X)XV??

diff --git a/serveurFTP/target/surefire-reports/TEST-sr.projet2.AppTest.xml b/serveurFTP/target/surefire-reports/TEST-sr.projet2.AppTest.xml
index fe02e92..7ac22c5 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.033" 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.036" 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/surefirebooter14701359487179658639.jar /home/hocine/eclipse-workspace/serveurFTP/target/surefire 2021-02-11T00-09-40_142-jvmRun1 surefire2274530294192485131tmp surefire_017171065220829500292tmp"/>
+    <property name="sun.java.command" value="/home/hocine/eclipse-workspace/serveurFTP/target/surefire/surefirebooter4822591889526926263.jar /home/hocine/eclipse-workspace/serveurFTP/target/surefire 2021-02-18T00-17-01_812-jvmRun1 surefire473336015518436635tmp surefire_0141794290096130823tmp"/>
     <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/surefirebooter14701359487179658639.jar"/>
+    <property name="surefire.real.class.path" value="/home/hocine/eclipse-workspace/serveurFTP/target/surefire/surefirebooter4822591889526926263.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.001"/>
+  <testcase name="shouldAnswerWithTrue" classname="sr.projet2.AppTest" time="0.002"/>
 </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 23a25bb..7e49324 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.033 s - in sr.projet2.AppTest
+Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.036 s - in sr.projet2.AppTest
-- 
GitLab