summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNils Schwabe2014-04-10 12:13:27 +0200
committerNils Schwabe2014-04-10 12:13:27 +0200
commitf7b3d0adcd4902ae3e58879b57c4d95046d729d7 (patch)
treec43f799c44f222c42e64baddc4647b9f7b979394
parentAdded authentification for uni/hs server (diff)
downloadmasterserver-f7b3d0adcd4902ae3e58879b57c4d95046d729d7.tar.gz
masterserver-f7b3d0adcd4902ae3e58879b57c4d95046d729d7.tar.xz
masterserver-f7b3d0adcd4902ae3e58879b57c4d95046d729d7.zip
added some comments
-rw-r--r--src/main/java/org/openslx/imagemaster/server/ApiServer.java22
-rw-r--r--src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java16
-rw-r--r--src/main/java/org/openslx/imagemaster/serversession/ServerSession.java5
-rw-r--r--src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java5
4 files changed, 42 insertions, 6 deletions
diff --git a/src/main/java/org/openslx/imagemaster/server/ApiServer.java b/src/main/java/org/openslx/imagemaster/server/ApiServer.java
index 3799079..2c49a0d 100644
--- a/src/main/java/org/openslx/imagemaster/server/ApiServer.java
+++ b/src/main/java/org/openslx/imagemaster/server/ApiServer.java
@@ -80,6 +80,14 @@ public class ApiServer {
session.getLastName(), session.getEMail());
}
+ /**
+ * Request ftp credentials to upload a new image to the masterserver.
+ * @param imageDescription MetdaData of the new image
+ * @param serverSessionData the session data of the authenticated uni/hs server
+ * @return the genereated ftp credentials
+ * @throws AuthorizationException if the uni/hs server has no valid session
+ * @throws TException
+ */
public static FtpCredentials submitImage(ImageData imageDescription,
ServerSessionData serverSessionData) throws AuthorizationException,
TException {
@@ -110,6 +118,12 @@ public class ApiServer {
return new FtpCredentials(generatedUser, generatedPass);
}
+ /**
+ * Start the server authentication of a uni/hs server.
+ * @param organization the organization that the server belongs to
+ * @return a random string that needs to be encrypted with the private key
+ * @throws TException
+ */
public static String startServerAuthentication(String organization)
throws TException {
if (organization == null || organization == "") {
@@ -121,6 +135,14 @@ public class ApiServer {
return ServerAuthenticator.startServerAuthentication(organization);
}
+ /**
+ * Authenticate the uni/hs server with the encrypted string.
+ * @param organization the organization that the server belongs to
+ * @param challengeResponse the encrypted string
+ * @return session data iff the authentication was successfull
+ * @throws AuthenticationException
+ * @throws TException
+ */
public static ServerSessionData serverAuthenticate(String organization,
String challengeResponse) throws AuthenticationException,
TException {
diff --git a/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java b/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
index b16766a..b0fd72f 100644
--- a/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
+++ b/src/main/java/org/openslx/imagemaster/serversession/ServerAuthenticator.java
@@ -7,6 +7,7 @@ import org.openslx.imagemaster.thrift.iface.AuthenticationException;
import org.openslx.imagemaster.util.RandomString;
public class ServerAuthenticator {
+ // map of currently authenticating servers
private static HashMap<String, String> authenticatingServers = new HashMap<String, String>();
/**
* Start the server authentification.
@@ -14,11 +15,6 @@ public class ServerAuthenticator {
* @return encrypted random string
*/
public static String startServerAuthentication(String organization) {
- /*
- * TODO:
- * Create random string, send it to server.
- * Remember organization for later authentification.
- */
String secret = RandomString.generate(100, false);
synchronized (authenticatingServers) {
authenticatingServers.put(organization, secret);
@@ -26,7 +22,15 @@ public class ServerAuthenticator {
return secret;
}
-
+ /**
+ * Authenticate with the challengeResponse
+ * @param organization
+ * @param address
+ * @param challengeResponse
+ * @return
+ * @throws AuthenticationException
+ * @throws TException
+ */
public static ServerUser serverAuthenticate(String organization, String address,
String challengeResponse) throws AuthenticationException,
TException {
diff --git a/src/main/java/org/openslx/imagemaster/serversession/ServerSession.java b/src/main/java/org/openslx/imagemaster/serversession/ServerSession.java
index e15f863..818439c 100644
--- a/src/main/java/org/openslx/imagemaster/serversession/ServerSession.java
+++ b/src/main/java/org/openslx/imagemaster/serversession/ServerSession.java
@@ -1,5 +1,10 @@
package org.openslx.imagemaster.serversession;
+/**
+ * Holds the session id of the server and manages the timeout.
+ * @author nils
+ *
+ */
public class ServerSession {
private static final long TIMEOUT = 600L * 1000L; // TODO: config
diff --git a/src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java b/src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java
index 1fd4322..e88c1f9 100644
--- a/src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java
+++ b/src/main/java/org/openslx/imagemaster/serversession/ServerSessionManager.java
@@ -10,6 +10,11 @@ import org.openslx.imagemaster.session.SessionManager;
import org.openslx.imagemaster.thrift.iface.ServerSessionData;
import org.openslx.imagemaster.util.Hash;
+/**
+ * Manages all server sessions and kicks timeouted sessions.
+ * @author nils
+ *
+ */
public class ServerSessionManager {
private static Logger log = Logger.getLogger( SessionManager.class );