added timeout to jingle socket
This commit is contained in:
parent
f33d2497f8
commit
363682065d
|
@ -99,6 +99,7 @@ public class JingleConnection {
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void onFileTransferAborted() {
|
public void onFileTransferAborted() {
|
||||||
|
JingleConnection.this.sendCancel();
|
||||||
JingleConnection.this.cancel();
|
JingleConnection.this.cancel();
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
@ -280,16 +281,26 @@ public class JingleConnection {
|
||||||
}
|
}
|
||||||
this.file = this.mXmppConnectionService.getFileBackend().getJingleFile(message,false);
|
this.file = this.mXmppConnectionService.getFileBackend().getJingleFile(message,false);
|
||||||
if (message.getEncryption() == Message.ENCRYPTION_OTR) {
|
if (message.getEncryption() == Message.ENCRYPTION_OTR) {
|
||||||
this.file.setKey(conversation.getSymmetricKey());
|
byte[] key = conversation.getSymmetricKey();
|
||||||
|
if (key==null) {
|
||||||
|
this.sendCancel();
|
||||||
|
this.cancel();
|
||||||
|
return;
|
||||||
|
} else {
|
||||||
|
this.file.setKey(conversation.getSymmetricKey());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
this.file.setExpectedSize(size);
|
this.file.setExpectedSize(size);
|
||||||
} else {
|
} else {
|
||||||
|
this.sendCancel();
|
||||||
this.cancel();
|
this.cancel();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
this.sendCancel();
|
||||||
this.cancel();
|
this.cancel();
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
this.sendCancel();
|
||||||
this.cancel();
|
this.cancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -410,6 +421,7 @@ public class JingleConnection {
|
||||||
connection.setActivated(true);
|
connection.setActivated(true);
|
||||||
} else {
|
} else {
|
||||||
Log.d("xmppService","activated connection not found");
|
Log.d("xmppService","activated connection not found");
|
||||||
|
this.sendCancel();
|
||||||
this.cancel();
|
this.cancel();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -603,8 +615,7 @@ public class JingleConnection {
|
||||||
this.mJingleConnectionManager.finishConnection(this);
|
this.mJingleConnectionManager.finishConnection(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void cancel() {
|
public void cancel() {
|
||||||
this.sendCancel();
|
|
||||||
this.disconnect();
|
this.disconnect();
|
||||||
if (this.message!=null) {
|
if (this.message!=null) {
|
||||||
if (this.responder.equals(account.getFullJid())) {
|
if (this.responder.equals(account.getFullJid())) {
|
||||||
|
|
|
@ -5,6 +5,7 @@ import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.net.Socket;
|
import java.net.Socket;
|
||||||
|
import java.net.SocketTimeoutException;
|
||||||
import java.net.UnknownHostException;
|
import java.net.UnknownHostException;
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
import java.security.NoSuchAlgorithmException;
|
import java.security.NoSuchAlgorithmException;
|
||||||
|
@ -137,6 +138,7 @@ public class JingleSocks5Transport extends JingleTransport {
|
||||||
MessageDigest digest = MessageDigest.getInstance("SHA-1");
|
MessageDigest digest = MessageDigest.getInstance("SHA-1");
|
||||||
digest.reset();
|
digest.reset();
|
||||||
inputStream.skip(45);
|
inputStream.skip(45);
|
||||||
|
socket.setSoTimeout(30000);
|
||||||
file.getParentFile().mkdirs();
|
file.getParentFile().mkdirs();
|
||||||
file.createNewFile();
|
file.createNewFile();
|
||||||
OutputStream fileOutputStream = getOutputStream(file);
|
OutputStream fileOutputStream = getOutputStream(file);
|
||||||
|
|
Loading…
Reference in a new issue