]
David Lloyd moved WFLY-8287 to ELY-990:
---------------------------------------
Project: WildFly Elytron (was: WildFly)
Key: ELY-990 (was: WFLY-8287)
Component/s: Authentication Server
(was: Security)
Elytron, log cause of LoginException during obraining ticket
------------------------------------------------------------
Key: ELY-990
URL:
https://issues.jboss.org/browse/ELY-990
Project: WildFly Elytron
Issue Type: Bug
Components: Authentication Server
Reporter: Martin Choma
Assignee: David Lloyd
Priority: Critical
I get to situation where in method {{GSSCredentialSecurityFactory.createGSSCredential()}}
the cause of LoginException is hide from user.
In log there is
{code:title=server.log}
14:26:07,751 TRACE [org.wildfly.security] (default task-1)
java.security.GeneralSecurityException: ELY01121: Unable to perform initial JAAS login.
{code}
But with debugger I get to obvious cause {{javax.security.auth.login.LoginException: Bad
JAAS configuration: credsType and keytab values are not compatible}}, but this is not
logged into log.
Setting to high priority, because logging useful information is esential for
troubleshooting fragile Kerberos setup.
Mesage
{code:java|title=ElytronMessages}
@Message(id = 1121, value = "Unable to perform initial JAAS login.")
GeneralSecurityException unableToPerformInitialLogin(@Cause LoginException cause);
{code}
is created in
{code:java|title=GSSCredentialSecurityFactory.java#L283}
} catch (LoginException e) {
throw log.unableToPerformInitialLogin(e);
}
{code}
and logged into log by
{code:java|title=ServerAuthenticationContext.java#L847}
} catch (GeneralSecurityException e) {
// skip this credential
log.trace(e);
}
{code}
An more importantly. Question here is if some global issue should follow up? Because
problem is in usage of log.trace(e) where although cause exception is avalaible,
effectivelly is called log.trace(e.toString()) and cause is hidden; So probably some
global check should be performed in elytron codebase if other such occurences aren't
also problematic.