aboutsummaryrefslogtreecommitdiffstats
path: root/src/eu/siacs/conversations/xmpp/jingle/JingleFile.java
diff options
context:
space:
mode:
authoriNPUTmice <daniel@gultsch.de>2014-06-20 19:28:47 +0200
committeriNPUTmice <daniel@gultsch.de>2014-06-20 19:28:47 +0200
commit49b7c7779da38c215dfeb0b3ef19fbce2a6ea3e1 (patch)
treedff1dd4f4d9f62af5b9d74895f5c34db97d8e49d /src/eu/siacs/conversations/xmpp/jingle/JingleFile.java
parent1cf055d2fdbaa881cfc8ead6b78dc744e9dbe596 (diff)
fixes for otr file transfer
Diffstat (limited to 'src/eu/siacs/conversations/xmpp/jingle/JingleFile.java')
-rw-r--r--src/eu/siacs/conversations/xmpp/jingle/JingleFile.java14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/eu/siacs/conversations/xmpp/jingle/JingleFile.java b/src/eu/siacs/conversations/xmpp/jingle/JingleFile.java
index fd366754..3672351b 100644
--- a/src/eu/siacs/conversations/xmpp/jingle/JingleFile.java
+++ b/src/eu/siacs/conversations/xmpp/jingle/JingleFile.java
@@ -25,7 +25,11 @@ public class JingleFile extends File {
}
public long getExpectedSize() {
- return this.expectedSize;
+ if (this.aeskey!=null) {
+ return (this.expectedSize/16 + 1) * 16;
+ } else {
+ return this.expectedSize;
+ }
}
public void setExpectedSize(long size) {
@@ -41,18 +45,18 @@ public class JingleFile extends File {
}
public void setKey(byte[] key) {
- Log.d("xmppService","using aes key "+CryptoHelper.bytesToHex(key));
if (key.length>=32) {
byte[] secretKey = new byte[32];
System.arraycopy(key, 0, secretKey, 0, 32);
- this.aeskey = new SecretKeySpec(key, "AES");
+ this.aeskey = new SecretKeySpec(secretKey, "AES");
} else if (key.length>=16) {
- byte[] secretKey = new byte[15];
+ byte[] secretKey = new byte[16];
System.arraycopy(key, 0, secretKey, 0, 16);
- this.aeskey = new SecretKeySpec(key, "AES");
+ this.aeskey = new SecretKeySpec(secretKey, "AES");
} else {
Log.d("xmppService","weird key");
}
+ Log.d("xmppService","using aes key "+CryptoHelper.bytesToHex(this.aeskey.getEncoded()));
}
public Key getKey() {