RFR: 8353662: Add test for non-local file URL fallback to FTP [v2]

Daniel Fuchs dfuchs at openjdk.org
Fri Apr 4 10:28:58 UTC 2025


On Fri, 4 Apr 2025 10:25:35 GMT, Eirik Bjørsnøs <eirbjo at openjdk.org> wrote:

>> Please review this test-only PR which introduces testing of the unspecified but long-standing fallback to FTP for non-local files in the 'file' URL scheme. 
>> 
>> This in preparation for the upcoming proposal to disable the feature by default in JDK-8353440.
>> 
>> Since we cannot reliably bind an FTP server to port 21, the test instead uses an HTTP proxy, binding to an ephemeral port. This menas we don't test non-proxy code paths. We still test that the FTP fallback is used, which is the key point here. (We aim to test file URL connections, not FTP URL connection internals) 
>> 
>> An alternative here could be to just verify that the returned URLConnection is an instance of FtpURLConnection. However, I opted for an end-to-end test here, since the amount of extra code seems reasonable.
>> 
>> By temporarly moving this test to tier1, I was able to confirm this test runs green also on Windows GHA.
>
> Eirik Bjørsnøs has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Do not assume that the loopback address is IPv4

test/jdk/sun/net/www/protocol/file/NonLocalFtpFallback.java line 122:

> 120:     public void verifyNonLocalFtpFallback() throws Exception {
> 121:         URL localURL = file.toUri().toURL();
> 122:         URL nonLocalURL = new URL("file", "127.0.0.1", localURL.getFile());

The URL should not assume that the loopback is an IPv4 address. Or is this handled by the proxy?

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/24418#discussion_r2028542481


More information about the net-dev mailing list