From f7b3d0adcd4902ae3e58879b57c4d95046d729d7 Mon Sep 17 00:00:00 2001 From: Nils Schwabe Date: Thu, 10 Apr 2014 12:13:27 +0200 Subject: added some comments --- .../org/openslx/imagemaster/server/ApiServer.java | 22 ++++++++++++++++++++++ .../serversession/ServerAuthenticator.java | 16 ++++++++++------ .../imagemaster/serversession/ServerSession.java | 5 +++++ .../serversession/ServerSessionManager.java | 5 +++++ 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 authenticatingServers = new HashMap(); /** * 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 ); -- cgit v1.2.3-55-g7522