On Thu, 12 Dec 2024 18:54:16 GMT, Volkan Yazıcı <d...@openjdk.org> wrote:
>> [JDK-8343791](https://bugs.openjdk.org/browse/JDK-8343791) modified >> `Socket::connect` to throw `UHE` on unresolved addresses – merged in #22160. >> As reported in [JDK-8346017](https://bugs.openjdk.org/browse/JDK-8346017), >> this renders `connect()` unusable when there is a (SOCKS) proxy in play, >> where calling `connect()` using unresolved addresses is a valid operation. >> This PR >> >> 1. Reverts the earlier `Socket::connect` change >> 2. Updates tests accordingly >> 3. Enhances tests with proxied socket inputs >> >> These changes require CSR and RN tickets. I will implement them once we >> agree on a solution here. > > Volkan Yazıcı has updated the pull request incrementally with one additional > commit since the last revision: > > Fix `Socket::connect` javadoc test/jdk/java/net/Socket/ConnectFailTest.java line 85: > 83: @BeforeAll > 84: static void initSocksServer() throws IOException { > 85: SOCKS_SERVER = new SocksServer(0); We should use the constructor that takes an InetAddress and bind to the loopback. SocksServer(InetAddress addr, int port, boolean useV4) test/jdk/java/net/Socket/ConnectFailTest.java line 118: > 116: void testBoundSocket(SocketArg socketArg) throws IOException { > 117: try (Socket socket = socketArg.socket) { > 118: socket.bind(new InetSocketAddress(0)); If the server is bound to the loopback we could bind to the loopback here too. That should reduce potential instabilities. test/jdk/java/net/Socket/ConnectFailTest.java line 167: > 165: void testBoundSocketWithUnresolvedAddress(SocketArg socketArg) > throws IOException { > 166: try (Socket socket = socketArg.socket) { > 167: socket.bind(new InetSocketAddress(0)); If the server is bound to the loopback we could bind to the loopback here too. That should reduce potential instabilities. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/22719#discussion_r1883722965 PR Review Comment: https://git.openjdk.org/jdk/pull/22719#discussion_r1883725958 PR Review Comment: https://git.openjdk.org/jdk/pull/22719#discussion_r1883725285