45 import java.util.Collections;
46 import java.util.List;
47 import com.sun.net.httpserver.*;
48 import java.io.BufferedWriter;
49 import org.testng.annotations.AfterClass;
50 import org.testng.annotations.BeforeClass;
51 import org.testng.annotations.Test;
52
53 import static org.testng.Assert.*;
54
55 public class SocksIPv6Test {
56
57 private HttpServer server;
58 private SocksServer socks;
59 private String response = "Hello.";
60 private static boolean shouldRun = false;
61
62 @BeforeClass
63 public void setUp() throws Exception {
64 shouldRun = ensureInet6AddressFamily() && ensureIPv6OnLoopback();
65
66 server = HttpServer.create(new InetSocketAddress("::1", 0), 0);
67 server.createContext("/", ex -> {
68 ex.sendResponseHeaders(200, response.length());
69 try (BufferedWriter writer = new BufferedWriter(
70 new OutputStreamWriter(ex.getResponseBody(), "UTF-8"))) {
71 writer.write(response);
72 }
73 ex.close();
74 });
75 server.start();
76
77 socks = new SocksServer(InetAddress.getByName("::1"), 0, false);
78 socks.addUser("user", "pass");
79 socks.start();
80
81 Authenticator.setDefault(new Authenticator() {
82 @Override
83 protected java.net.PasswordAuthentication getPasswordAuthentication() {
84 return new java.net.PasswordAuthentication(
|
45 import java.util.Collections;
46 import java.util.List;
47 import com.sun.net.httpserver.*;
48 import java.io.BufferedWriter;
49 import org.testng.annotations.AfterClass;
50 import org.testng.annotations.BeforeClass;
51 import org.testng.annotations.Test;
52
53 import static org.testng.Assert.*;
54
55 public class SocksIPv6Test {
56
57 private HttpServer server;
58 private SocksServer socks;
59 private String response = "Hello.";
60 private static boolean shouldRun = false;
61
62 @BeforeClass
63 public void setUp() throws Exception {
64 shouldRun = ensureInet6AddressFamily() && ensureIPv6OnLoopback();
65 if (!shouldRun) {
66 return;
67 }
68
69 server = HttpServer.create(new InetSocketAddress("::1", 0), 0);
70 server.createContext("/", ex -> {
71 ex.sendResponseHeaders(200, response.length());
72 try (BufferedWriter writer = new BufferedWriter(
73 new OutputStreamWriter(ex.getResponseBody(), "UTF-8"))) {
74 writer.write(response);
75 }
76 ex.close();
77 });
78 server.start();
79
80 socks = new SocksServer(InetAddress.getByName("::1"), 0, false);
81 socks.addUser("user", "pass");
82 socks.start();
83
84 Authenticator.setDefault(new Authenticator() {
85 @Override
86 protected java.net.PasswordAuthentication getPasswordAuthentication() {
87 return new java.net.PasswordAuthentication(
|