aboutsummaryrefslogtreecommitdiff
path: root/test/java/net/Socks/SocksServer.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/java/net/Socks/SocksServer.java')
-rw-r--r--test/java/net/Socks/SocksServer.java34
1 files changed, 12 insertions, 22 deletions
diff --git a/test/java/net/Socks/SocksServer.java b/test/java/net/Socks/SocksServer.java
index 6e27e342e9..f2d6ef82bf 100644
--- a/test/java/net/Socks/SocksServer.java
+++ b/test/java/net/Socks/SocksServer.java
@@ -89,6 +89,7 @@ public class SocksServer extends Thread {
return;
}
tout.write(b);
+ tout.flush();
} catch (IOException e) {
// actually exit from the thread
return;
@@ -99,8 +100,8 @@ public class SocksServer extends Thread {
ClientHandler(Socket s) throws IOException {
client = s;
- in = client.getInputStream();
- out = client.getOutputStream();
+ in = new BufferedInputStream(client.getInputStream());
+ out = new BufferedOutputStream(client.getOutputStream());
}
private void readBuf(InputStream is, byte[] buf) throws IOException {
@@ -230,8 +231,8 @@ public class SocksServer extends Thread {
out.write(port & 0xff);
out.write(buf);
out.flush();
- InputStream in2 = dest.getInputStream();
- OutputStream out2 = dest.getOutputStream();
+ InputStream in2 = new BufferedInputStream(dest.getInputStream());
+ OutputStream out2 = new BufferedOutputStream(dest.getOutputStream());
Tunnel tunnel = new Tunnel(in2, out);
tunnel.start();
@@ -246,6 +247,7 @@ public class SocksServer extends Thread {
return;
}
out2.write(b);
+ out2.flush();
} catch (IOException ex) {
}
} while (!client.isClosed());
@@ -323,8 +325,8 @@ public class SocksServer extends Thread {
out.write((addr.getPort() >> 0) & 0xff);
out.flush();
- InputStream in2 = dest.getInputStream();
- OutputStream out2 = dest.getOutputStream();
+ InputStream in2 = new BufferedInputStream(dest.getInputStream());
+ OutputStream out2 = new BufferedOutputStream(dest.getOutputStream());
Tunnel tunnel = new Tunnel(in2, out);
tunnel.start();
@@ -340,6 +342,7 @@ public class SocksServer extends Thread {
return;
}
out2.write(b);
+ out2.flush();
} catch(IOException ioe) {
}
} while (!client.isClosed());
@@ -384,6 +387,7 @@ public class SocksServer extends Thread {
return;
}
out2.write(b);
+ out2.flush();
} catch(IOException ioe) {
}
} while (!client.isClosed());
@@ -410,14 +414,7 @@ public class SocksServer extends Thread {
{
byte[] buf = new byte[4];
readBuf(in, buf);
- int i = 0;
- StringBuffer sb = new StringBuffer();
- for (i = 0; i < 4; i++) {
- sb.append(buf[i]&0xff);
- if (i < 3)
- sb.append('.');
- }
- addr = sb.toString();
+ addr = InetAddress.getByAddress(buf).getHostAddress();
}
break;
case DOMAIN_NAME:
@@ -432,14 +429,7 @@ public class SocksServer extends Thread {
{
byte[] buf = new byte[16];
readBuf(in, buf);
- int i = 0;
- StringBuffer sb = new StringBuffer();
- for (i = 0; i<16; i++) {
- sb.append(Integer.toHexString(buf[i]&0xff));
- if (i < 15)
- sb.append(':');
- }
- addr = sb.toString();
+ addr = InetAddress.getByAddress(buf).getHostAddress();
}
break;
}