In fact, I've started working on it, see 
https://github.com/openjdk/jdk/pull/18199.

--Weijun

> On Mar 11, 2024, at 9:21 AM, Wei-Jun Wang <weijun.w...@oracle.com> wrote:
> 
> I've filed https://bugs.openjdk.org/browse/JDK-8327818.
> 
> But first, in order to make sure the debug option in Krb5LoginModule and 
> other JGSS/krb5-related system properties still work, there needs a way to 
> instantiate a Debug object without providing the `-Djava.security.debug` 
> system property.
> 
> For example, in Krb5LoginModule, currently we have
> 
>       boolean debug = "true".equalsIgnoreCase((String)options.get("debug"));
> 
> And I'm thinking of
> 
>       Debug debug = Debug.of("krb5loginmodule", (String)options.get("debug"));
> 
> Hopefully this .of() method can automatically support thread info or 
> timestamp if the "debug" option has it.
> 
> Also, I am wondering if even without he "debug" option, user can set 
> -Djava.security.debug=krb5loginmodule to show debug info there. However, some 
> krb5 debug info might contain sensitive information like passwords or secret 
> keys, so maybe there is a little danger to cover them with 
> `-Djava.security.debug=all`.
> 
> Thanks,
> Weijun
> 
> 
>> On Mar 11, 2024, at 5:43 AM, Sean Coffey <sean.cof...@oracle.com> wrote:
>> 
>> 
>> On 10/03/2024 16:01, Wei-Jun Wang wrote:
>>> Hi Seán,
>>> 
>>> I know you are working on enhancing the security debug output with 
>>> timestamps and thread info now. Do you think it can also cover Kerberos?
>> I'd love to see Kerberos fall under the same debug implementation used by 
>> other JDK security libraries. I suspect it was a standalone product a long 
>> time back and had its own debug impl as a result. I'd like to see it worked 
>> separate to the ongoing decorator work that's taking place via JDK-8051959. 
>> The debug stack for krb5 is different and managed via a Map currently. Maybe 
>> Peter could start out by moving the debug output from System.out calls to 
>> the sun.security.util.Debug calls as suggested.
>> 
>> Using a Logger should be on the radar also. We'd have to use the 
>> System.Logger interface since that's the only one guaranteed to be present 
>> in the runtime. Maybe the Logger work can be done as a follow on task. I'm 
>> also examining the potential for wider use of Logger in security libs. The 
>> TLS javax.net.debug option already offers use of a Logger but the 
>> configuration in both the calling code and backend remains a blocker to 
>> adoption IMO. (e.g. no option to configure Level correctly and static 
>> backend configuration options may not be set up correctly at the time logger 
>> output becomes necessary to debug an issue)
>> 
>> regards,
>> Sean.
>> 
>>> 
>>> Traditionally, Kerberos debugging is independent of other security areas 
>>> and itself is quite complicated. It includes the "debug" label in JAAS 
>>> LoginModule (as Peter pointed out below) and separate system properties 
>>> like sun.security.krb5.debug, sun.security.jgss.debug, 
>>> sun.security.nativegss.debug, and sun.security.spnego.debug. It will be 
>>> definitely great if they can enjoy the enhancement of 
>>> sun.security.util.Debug.
>>> 
>>> BTW, Peter also mentioned a JUL logger. IIUC, our current debug messages 
>>> are only sent to System.err, right?
>>> 
>>> Thanks,
>>> Weijun
>>> 
>>> 
>>> 
>>>> On Mar 9, 2024, at 4:15 PM, Horváth Péter Gergely 
>>>> <horvath.peter.gerg...@gmail.com> wrote:
>>>> 
>>>> Dear All,
>>>> 
>>>> In the past, I had issues with debug logging in Krb5LoginModule: if debug 
>>>> is enabled,
>>>> messages are simply written to the stdout. It is relatively hard to 
>>>> correlate these
>>>> messages with application logs, as there are no timestamps for 
>>>> Krb5LoginModule output messages.
>>>> 
>>>> Imagine a server fails to service a request, due to its failure to 
>>>> communicate with
>>>> another Kerberized server. The failure itself will be logged properly, but 
>>>> there is no way
>>>> for an operator to easily find and correlate Krb5LoginModule debug output.
>>>> (We are talking about servers unders heavy load)
>>>> 
>>>> I think debug logging in Krb5LoginModule should be improved; e.g. at 
>>>> least, messages
>>>> should be sent to both stdout and a JUL logger maybe?
>>>> 
>>>> I would be happy to implement the code change if someone is willing to 
>>>> sponsor this issue.
>>>> 
>>>> Could someone please help here?
>>>> 
>>>> Thanks,
>>>> Peter
> 

Reply via email to