diff --git a/app/src/main/java/lightcontainer/domains/client/ClientHandler.java b/app/src/main/java/lightcontainer/domains/client/ClientHandler.java
index 4181b7b..36014e6 100644
--- a/app/src/main/java/lightcontainer/domains/client/ClientHandler.java
+++ b/app/src/main/java/lightcontainer/domains/client/ClientHandler.java
@@ -1,6 +1,5 @@
package lightcontainer.domains.client;
-import lightcontainer.domains.server.UnicastServerListener;
import lightcontainer.interfaces.ClientHandlerFFE;
import lightcontainer.interfaces.ProtocolRepository;
import lightcontainer.interfaces.UnicastCHR;
@@ -10,27 +9,23 @@ import lightcontainer.protocol.rules.reader.SigninRule;
import lightcontainer.protocol.rules.reader.SignoutRule;
import lightcontainer.protocol.rules.reader.SignupRule;
import lightcontainer.protocol.rules.writer.SignErrorRule;
-import lightcontainer.protocol.rules.writer.SignOkRule;
-import javax.crypto.BadPaddingException;
-import javax.net.ssl.SSLHandshakeException;
import java.io.*;
import java.net.Socket;
import java.nio.charset.StandardCharsets;
/**
* ClientHandler
- *
+ *
* UNICAST CLIENT
* Class communicating with the client, and
* intercepting and sending files to the client.
*
- * @version 1.1
- * @since 1.0
- *
- * @see Runnable
- * @see AutoCloseable
- * @author Jérémi NIHART
+ * @author Jérémi NIHART
+ * @version 1.1
+ * @see Runnable
+ * @see AutoCloseable
+ * @since 1.0
*/
public class ClientHandler implements Runnable, AutoCloseable {
// Variables
@@ -60,21 +55,20 @@ public class ClientHandler implements Runnable, AutoCloseable {
/**
* Initialise the Client's Reader and Writer.
*
- * @since 1.0
- *
- * @see BufferedReader
- * @see PrintWriter
+ * @see BufferedReader
+ * @see PrintWriter
+ * @since 1.0
*/
private void initClient() {
// Start the thread
try {
this.reader = new BufferedReader(new InputStreamReader(
- this.client.getInputStream(),
- StandardCharsets.UTF_8
+ this.client.getInputStream(),
+ StandardCharsets.UTF_8
));
this.writer = new PrintWriter(new OutputStreamWriter(
- this.client.getOutputStream(),
- StandardCharsets.UTF_8
+ this.client.getOutputStream(),
+ StandardCharsets.UTF_8
), true);
} catch (IOException e) {
e.printStackTrace();
@@ -85,7 +79,7 @@ public class ClientHandler implements Runnable, AutoCloseable {
* Thread Function
* Start the dialogue with the client.
*
- * @since 1.0
+ * @since 1.0
*/
@Override
public void run() {
@@ -153,11 +147,13 @@ public class ClientHandler implements Runnable, AutoCloseable {
this.writer.close();
this.client.close();
System.out.printf("[CLIENT] %s s'est déconnecté\n", context.getLogin());
- } catch (IOException ignored) { }
+ } catch (IOException ignored) {
+ }
}
/**
* Permet de vérifier si le client possède l'accès demandé
+ *
* @param ruleResult La règle
* @return TRUE si le client possède l'accès demandé
*/
@@ -175,7 +171,8 @@ public class ClientHandler implements Runnable, AutoCloseable {
try {
ruleResult.getClass().asSubclass(SigninRule.Result.class);
return true;
- } catch (ClassCastException e2) { }
+ } catch (ClassCastException e2) {
+ }
}
return false;
@@ -193,23 +190,25 @@ public class ClientHandler implements Runnable, AutoCloseable {
/**
* Vérifie s'il s'âgit d'une demande de déconnexion
+ *
* @param ruleResult
*/
private void checkSignout(ProtocolReader.ProtocolResult ruleResult) {
try {
ruleResult.getClass().asSubclass(SignoutRule.Result.class);
repository.disconnect(this);
- } catch (ClassCastException e2) { }
+ } catch (ClassCastException e2) {
+ }
}
/**
* Vérifie s'il s'âgit d'une demande de déconnexion
* @param ruleResult
private void checkSignError(ProtocolWriter.ProtocolResult ruleResult) {
- if (ruleResult.getCommand().startsWith(SignErrorRule.NAME)) {
- System.out.println("Pas pu connecter");
- repository.disconnect(this);
- }
+ if (ruleResult.getCommand().startsWith(SignErrorRule.NAME)) {
+ System.out.println("Pas pu connecter");
+ repository.disconnect(this);
+ }
}
*/
@@ -220,12 +219,15 @@ public class ClientHandler implements Runnable, AutoCloseable {
synchronized (this) {
try {
this.wait();
- } catch (InterruptedException e) { e.printStackTrace(); }
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
}
}
/**
* Permet d'envoyer la réponse au client.
+ *
* @param response La réponse
*/
public void respond(ProtocolWriter.ProtocolResult response) {
@@ -239,7 +241,7 @@ public class ClientHandler implements Runnable, AutoCloseable {
* AutoClosable Function
* Close the Client thread and resources.
*
- * @since 1.0
+ * @since 1.0
*/
@Override
public void close() {
diff --git a/app/src/main/java/lightcontainer/protocol/StandardizedDefinitions.java b/app/src/main/java/lightcontainer/protocol/StandardizedDefinitions.java
index d4da8fa..4bb0058 100644
--- a/app/src/main/java/lightcontainer/protocol/StandardizedDefinitions.java
+++ b/app/src/main/java/lightcontainer/protocol/StandardizedDefinitions.java
@@ -5,7 +5,7 @@ public class StandardizedDefinitions {
//Parties de regex non-utilisées en dehors de cette classe.
private final static String DIGIT = "[\\x30-\\x39]";
private final static String VISIBLECHAR = "[\\x20-\\xFF]";
- private final static String PASSCHAR = "[\\x20-\\xFF]";
+ private final static String PASSCHAR = "[\\x22-\\xFF]";
private final static String BINARY = "[\\x00-\\xFF]";
private final static String LETTER = "[\\x41-\\x5A\\x61-\\x7A]";
private final static String DIGIT_LETTER = "[\\x30-\\x39\\x41-\\x5A\\x61-\\x7A]";
diff --git a/app/src/main/java/lightcontainer/protocol/rules/reader/SavefileRule.java b/app/src/main/java/lightcontainer/protocol/rules/reader/SavefileRule.java
index fe47531..9ee5feb 100644
--- a/app/src/main/java/lightcontainer/protocol/rules/reader/SavefileRule.java
+++ b/app/src/main/java/lightcontainer/protocol/rules/reader/SavefileRule.java
@@ -48,6 +48,7 @@ public class SavefileRule extends ProtocolReader {
super(context);
this.filename = filename;
this.size = size;
+ System.out.println(size);
}
@Override
@@ -75,6 +76,8 @@ public class SavefileRule extends ProtocolReader {
int encryptedFileSize = fileReceiver.receiveFile(reader, this.filename, this.size, key, iv);
if (encryptedFileSize < 0) throw new IOException();
+ System.out.println(encryptedFileSize);
+
String fileHash = SHA.hashFile(storagePath, this.filename);
// On met les données de la requête actuelle
diff --git a/app/src/main/resources/appdata.json b/app/src/main/resources/appdata.json
index c9bd585..e1dc4af 100644
--- a/app/src/main/resources/appdata.json
+++ b/app/src/main/resources/appdata.json
@@ -1 +1,17 @@
-{"unicast_port":8000,"multicast_ip":"224.66.66.1","multicast_port":15502,"network_interface":"Wi-Fi","tls":true,"storagePath":"C:\\Users\\ledou\\Documents\\ffe","users":[{"name":"aaaaa","password":"$2a$10$.nNfX6PkXw34xsA8n2mSlekmRIQ/cU0wUlbnJmvfwGxtivMFJroXe","aes_key":"nfwaw3k6SpbvzAkzYDoVwcak8SHdRn+jQ8fY3iEmXPg=","files":[{"name":"test.txt","fileNameSalt":"jW4uvNQxRB36d0CL+/68uA==","size":53,"iv":"sSZkzD1gcrJscFR4gMoNFQ==","storage":["orglightcont01"]}]}]}
\ No newline at end of file
+{
+ "unicast_port": 8000,
+ "multicast_ip": "224.66.66.1",
+ "multicast_port": 15502,
+ "network_interface": "",
+ "tls": true,
+ "storagePath": "C:\\Users\\ledou\\Documents\\ffe",
+ "users": [
+ {
+ "name": "aaaaa",
+ "password": "$2a$10$nDCEDVwbNO/YDQ4qdRcxfuES4.aboluLzWouXXsk6vDoaWocv516W",
+ "aes_key": "kYtwHy9qJBg30WS6axWTFGVE0Ge5kpYiJJlC+COIEI4=",
+ "files": [
+ ]
+ }
+ ]
+}
\ No newline at end of file