diff options
Diffstat (limited to 'src/main/java/org/openslx/satellitedaemon/filetransfer')
-rw-r--r-- | src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java | 6 | ||||
-rw-r--r-- | src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java | 22 |
2 files changed, 17 insertions, 11 deletions
diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java index 160e2fc..e8b8b4d 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/FileDownloadWorker.java @@ -11,6 +11,7 @@ import org.openslx.filetransfer.WantRangeCallback; import org.openslx.imagemaster.thrift.iface.DownloadData; import org.openslx.satellitedaemon.Globals; import org.openslx.satellitedaemon.db.DbImage; +import org.openslx.satellitedaemon.db.DbImage.Status; public class FileDownloadWorker implements Runnable { private static Logger log = Logger.getLogger(FileDownloadWorker.class); @@ -50,8 +51,11 @@ public class FileDownloadWorker implements Runnable { @Override public FileRange get() { // get start of range. - if (pos >= size) + if (pos >= size) { + log.debug("Download completed."); + image.updateStatus(Status.successfully_decentralized); return null; + } long startOfRange = pos; long endOfRange = Math.min(pos + Globals.BLOCKSIZE, image.fileSize); diff --git a/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java b/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java index da6c6df..673be05 100644 --- a/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java +++ b/src/main/java/org/openslx/satellitedaemon/filetransfer/ThriftConnection.java @@ -19,6 +19,7 @@ import org.apache.thrift.transport.TFramedTransport; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; +import org.openslx.encryption.AsymEncryptionHandler; import org.openslx.imagemaster.crcchecker.CrcFile; import org.openslx.imagemaster.thrift.iface.AuthorizationError; import org.openslx.imagemaster.thrift.iface.AuthorizationException; @@ -165,8 +166,9 @@ public class ThriftConnection { log.error("Client was null!"); return null; } - return theClient.getImage(imDat.guid, sSD.sessionId); + return theClient.getImage(sSD.sessionId, imDat.guid); } catch (ImageDataException e) { + log.debug("In catch - blog of thrift connection"); if (e.isSetNumber() && e.getNumber().equals(ImageDataError.INVALID_DATA)) { // Data in the db is not valid @@ -187,10 +189,11 @@ public class ThriftConnection { if (e.isSetNumber() && e.getNumber().equals( AuthorizationError.NOT_AUTHENTICATED)) { + log.error("Not authenticated. SessionID is not valid.", e); // SessionID is not valid // TODO: Code for new SSID } else if (e.getNumber().equals(AuthorizationError.NO_PERMISSION)) { - + log.error("No permission error.", e); } else { e.printStackTrace(); } @@ -263,21 +266,20 @@ public class ThriftConnection { // } if (!isAuthenticated) { log.info("ThriftConnection: Client not yet Authenticated. Trying..."); - String toEncrypt; if (theClient == null) { log.debug("The client was null"); return null; } try { - toEncrypt = theClient.startServerAuthentication(Globals + ByteBuffer tmpBuffer = theClient.startServerAuthentication(Globals .getOrganizationName()); + byte[] toEncrypt = new byte[tmpBuffer.remaining()]; + tmpBuffer.get(toEncrypt); log.info("The random String we want to encrypt: " + toEncrypt); - log.info("Length of the random String : " + toEncrypt.length()); - EncryptWithServerIdPublicKey rse = new EncryptWithServerIdPublicKey( - Globals.getThriftKeystoreAlias(), - Globals.getThriftKeystorePassword(), - Globals.getThriftKeystorePath()); - byte[] byteArray = rse.encryptString(toEncrypt); + log.info("Length of the random String : " + toEncrypt.length); + AsymEncryptionHandler aeh = new AsymEncryptionHandler(Globals.getPrivateKey()); + + byte[] byteArray = aeh.encryptMessage(toEncrypt); log.info( "Length of the byteArray of the random string after encryption :" + byteArray.length ); ByteBuffer b = ByteBuffer.wrap( byteArray ); log.info( "Length of the byteBuffer after encryption :" + b.remaining() ); |