fully read port in socks connection
incoming direct connections in receive mode wouldn’t clear the entire destination from the input stream; thus adding a leading 0x00 to the file fixes #3557
This commit is contained in:
parent
3d332f6f35
commit
6776603b90
|
@ -52,7 +52,7 @@ public class SocksSocketFactory {
|
|||
return false;
|
||||
}
|
||||
|
||||
public static Socket createSocket(InetSocketAddress address, String destination, int port) throws IOException {
|
||||
private static Socket createSocket(InetSocketAddress address, String destination, int port) throws IOException {
|
||||
Socket socket = new Socket();
|
||||
try {
|
||||
socket.connect(address, Config.CONNECT_TIMEOUT * 1000);
|
||||
|
|
|
@ -120,7 +120,8 @@ public class JingleSocks5Transport extends JingleTransport {
|
|||
int destinationCount = inputStream.read();
|
||||
final byte[] destination = new byte[destinationCount];
|
||||
inputStream.read(destination);
|
||||
final int port = inputStream.read();
|
||||
final byte[] port = new byte[2];
|
||||
inputStream.read(port);
|
||||
final String receivedDestination = new String(destination);
|
||||
final ByteBuffer response = ByteBuffer.allocate(7 + destination.length);
|
||||
final byte[] responseHeader;
|
||||
|
@ -136,7 +137,7 @@ public class JingleSocks5Transport extends JingleTransport {
|
|||
response.put(responseHeader);
|
||||
response.put((byte) destination.length);
|
||||
response.put(destination);
|
||||
response.putShort((short) port);
|
||||
response.put(port);
|
||||
outputStream.write(response.array());
|
||||
outputStream.flush();
|
||||
if (success) {
|
||||
|
|
Loading…
Reference in a new issue