On Mon, 20 Apr 2026 14:46:45 GMT, Weijun Wang <[email protected]> wrote:

>> In DNS-based KDC discovery failures are exposed as generic 'KrbException: 
>> Cannot locate KDC / Unable to locate KDC for realm <REALM>' with no 
>> indication whether the underlying DNS SRV lookup failed due to NXDOMAIN, 
>> SERVFAIL, or a communication timeout.
>> 
>> To improve supportability, this patch updates 
>> `KrbServiceLocator.getKerberosService(realm, protocol)` to rethrow the 
>> original JNDI NamingException from the SRV lookup and attach a sanitized 
>> failure category to the existing KrbException when both udp and tcp 
>> discovery attempts fail, while preserving the original top level exception 
>> message. `Config.getKDCFromDNS()` is updated to catch exception, sanitize it 
>> into the relevant category to prevent leaking any senistive information and 
>> attach it to the existing KrbException.
>> 
>> 
>> ---------
>> - [x] I confirm that I make this contribution in accordance with the 
>> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai).
>
> src/java.security.jgss/share/classes/sun/security/krb5/KrbServiceLocator.java 
> line 190:
> 
>> 188:             }
>> 189:         } catch (NamingException e) {
>> 190:             throw e;
> 
> Do you really want to include the reason in the final exception, or just 
> printing out them when `-Dsun.security.krb5.debug=true` is set?

Not sure which you prefer. If just debug log, it will be much simpler. No need 
to chain cause, no need to sanitize exception messages...

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

PR Review Comment: https://git.openjdk.org/jdk/pull/30824#discussion_r3113189849

Reply via email to