X-Git-Url: http://git.nikiroo.be/?p=fanfix.git;a=blobdiff_plain;f=src%2Fbe%2Fnikiroo%2Ffanfix%2Flibrary%2FRemoteLibraryServer.java;h=84d763fce51f5c4ad97cfd1fda07d41dee71845c;hp=b95c50f84f490134a12a8d8592b599a429b99d76;hb=416c54f8bf5f60e2f8d7981e24fdd613fb9246f1;hpb=e023483b95b36ec0afae4527e6e769ac28bc2fc8 diff --git a/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java b/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java index b95c50f..84d763f 100644 --- a/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java +++ b/src/be/nikiroo/fanfix/library/RemoteLibraryServer.java @@ -12,6 +12,7 @@ import be.nikiroo.fanfix.data.Paragraph; import be.nikiroo.fanfix.data.Story; import be.nikiroo.utils.Progress; import be.nikiroo.utils.Progress.ProgressListener; +import be.nikiroo.utils.StringUtils; import be.nikiroo.utils.Version; import be.nikiroo.utils.serial.server.ConnectActionServerObject; import be.nikiroo.utils.serial.server.ServerObject; @@ -22,28 +23,28 @@ import be.nikiroo.utils.serial.server.ServerObject; * The available commands are given as arrays of objects (first item is the key, * second is the command, the rest are the arguments). *

- * The key is always a String, the commands are also Strings; the parameters - * vary depending upon the command. + * The md5 is always a String (the MD5 hash of the access key), the commands are + * also Strings; the parameters vary depending upon the command. *

* * @author niki */ public class RemoteLibraryServer extends ServerObject { - private final String key; + private final String md5; /** * Create a new remote server (will not be active until @@ -59,7 +60,7 @@ public class RemoteLibraryServer extends ServerObject { */ public RemoteLibraryServer(String key, int port) throws IOException { super("Fanfix remote library", port, true); - this.key = key; + this.md5 = StringUtils.getMd5Hash(key); setTraceHandler(Instance.getTraceHandler()); } @@ -67,7 +68,7 @@ public class RemoteLibraryServer extends ServerObject { @Override protected Object onRequest(ConnectActionServerObject action, Version clientVersion, Object data) throws Exception { - String key = ""; + String md5 = ""; String command = ""; Object[] args = new Object[0]; if (data instanceof Object[]) { @@ -78,7 +79,7 @@ public class RemoteLibraryServer extends ServerObject { args[i - 2] = dataArray[i]; } - key = "" + dataArray[0]; + md5 = "" + dataArray[0]; command = "" + dataArray[1]; } } @@ -89,7 +90,7 @@ public class RemoteLibraryServer extends ServerObject { } getTraceHandler().trace(trace); - if (!key.equals(this.key)) { + if (!md5.equals(this.md5)) { getTraceHandler().trace("Key rejected."); return null; }