On Tue, 21 Apr 2026 09:06:42 GMT, Volkan Yazici <[email protected]> wrote:

>> Per [RFC 6066 "3. Server Name Indication"], disallow IP literals in 
>> `SNIHostName::new`.
>> 
>> While the following two call-sites could be simplified by removing IP 
>> literal checks, I've refrained from doing so because delegating some of the 
>> checks to an exception catching mechanism would impact the performance:
>> 
>>     sun.security.ssl.Utilities::rawToSNIHostName
>>     sun.net.www.protocol.https.HttpsClient::afterConnect
>> 
>> [RFC 6066 "3. Server Name Indication"]: 
>> https://www.rfc-editor.org/rfc/rfc6066.html#page-6
>> 
>> ---------
>> - [X] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> Volkan Yazici has updated the pull request incrementally with one additional 
> commit since the last revision:
> 
>   Add `ofString` static factory method

src/java.base/share/classes/javax/net/ssl/SNIHostName.java line 83:

> 81:      * <li>It ends with a trailing dot
> 82:      * <li>It is not a valid Internationalized Domain Name (IDN)</li>
> 83:      *

This list seems to imply that an SNI hostname must be an IDN. I wonder if it 
might be better to first state what a valid SNI hostname is (ie a DNS 
hostname), mentioning IDNs and then later specify the exclusions, including (I 
presume) a string that starts with "xn--" but which doesn't represent a valid 
IDN?

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

PR Review Comment: https://git.openjdk.org/jdk/pull/30747#discussion_r3122580601

Reply via email to