Ping: RFR: JDK-8249550: jdb should use loopback address when not using remote agent
Alex Menkov
alexey.menkov at oracle.com
Tue Aug 4 23:32:05 UTC 2020
Needs one more reviewer.
One more details to simplify review.
SocketTransportService extends TransportService and spec for
TransportService.startListening() is:
/**
* Listens on an address chosen by the transport service.
*
* <p> This convenience method works as if by invoking
* {@link #startListening(String) startListening(null)}.
*
* @return a listen key to be used in subsequent calls to be
* {@link #accept accept} or {@link #stopListening
* stopListening} methods.
*
* @throws IOException
* If an I/O error occurs.
*/
public abstract ListenKey startListening() throws IOException;
I.e. the fix updates SocketTransportService to comply the spec.
--alex
On 07/23/2020 13:05, Chris Plummer wrote:
> Hi Alex,
>
> I'm no expert in this area, but the changes appear to do what you
> describe (use the loopback address), so thumbs up.
>
> thanks,
>
> Chris
>
> On 7/21/20 3:04 PM, Alex Menkov wrote:
>> Hi all,
>>
>> please review the fix for
>> https://bugs.openjdk.java.net/browse/JDK-8249550
>>
>> webrev:
>> http://cr.openjdk.java.net/~amenkov/jdk16/jdb_loopback/webrev/
>>
>> some background:
>> https://bugs.openjdk.java.net/browse/JDK-8041435 made default
>> listening on loopback address.
>> Later https://bugs.openjdk.java.net/browse/JDK-8184770 added handling
>> of "*" address to listen on all addresses, but it didn't fixed
>> "default" startListening() method (used by jdb through
>> SunCommandLineLauncher).
>>
>> The method called startListening(String localaddress, int port) with
>> localaddress == null, but this method for null localladdress starts
>> listening on all addresses (i.e. handle null value as "*").
>> The fix changes it to startListening(String address) which handles
>> null address the same way as JDI socket connector does (i.e. listens
>> on loopback address only)
>>
>> --alex
>
More information about the serviceability-dev
mailing list