[ 
https://issues.apache.org/jira/browse/DIRSERVER-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Emmanuel Lecharny resolved DIRSERVER-1461.
------------------------------------------

    Resolution: Won't Fix

This is more likely to be a problem of /etc/hosts contents than an ADS problem. 
There is no reason to have more than one line for 127.0.0.1, when one can have :

...
127.0.0.1 localhost directory.apache.org
...
in the /etc/hosts file.

> SaslGssapiBindITest.testSaslGssapiBind() test method fails when /etc/hosts 
> file contains values referring to 127.0.0.1
> ----------------------------------------------------------------------------------------------------------------------
>
>                 Key: DIRSERVER-1461
>                 URL: https://issues.apache.org/jira/browse/DIRSERVER-1461
>             Project: Directory ApacheDS
>          Issue Type: Bug
>    Affects Versions: 1.5.5
>            Reporter: Pierre-Arnaud Marcelot
>            Assignee: Kiran Ayyagari
>            Priority: Minor
>             Fix For: 2.0.0-RC1
>
>
> SaslGssapiBindITest.testSaslGssapiBind() test method fails when /etc/hosts 
> file contains values referring to 127.0.0.1.
> This does not occur when values are referring to localhost instead.
> Here's the generated stacktrace when everything goes wrong:
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> Kerberos service started.
> javax.naming.AuthenticationException: GSSAPI [Root exception is 
> javax.security.sasl.SaslException: GSS initiate failed [Caused by 
> GSSException: No valid credentials provided (Mechanism level: Server not 
> found in Kerberos database (7) - Server not found in Kerberos database)]]
>       at com.sun.jndi.ldap.sasl.LdapSasl.saslBind(LdapSasl.java:150)
>       at com.sun.jndi.ldap.LdapClient.authenticate(LdapClient.java:214)
>       at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2694)
>       at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:293)
>       at com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:175)
>       at 
> com.sun.jndi.ldap.LdapCtxFactory.getUsingURLs(LdapCtxFactory.java:193)
>       at 
> com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:136)
>       at 
> com.sun.jndi.ldap.LdapCtxFactory.getInitialContext(LdapCtxFactory.java:66)
>       at 
> javax.naming.spi.NamingManager.getInitialContext(NamingManager.java:667)
>       at 
> javax.naming.InitialContext.getDefaultInitCtx(InitialContext.java:288)
>       at javax.naming.InitialContext.init(InitialContext.java:223)
>       at javax.naming.InitialContext.<init>(InitialContext.java:197)
>       at 
> javax.naming.directory.InitialDirContext.<init>(InitialDirContext.java:82)
>       at 
> org.apache.directory.server.kerberos.kdc.SaslGssapiBindITest$1.run(SaslGssapiBindITest.java:311)
>       at java.security.AccessController.doPrivileged(Native Method)
>       at javax.security.auth.Subject.doAs(Subject.java:337)
>       at 
> org.apache.directory.server.kerberos.kdc.SaslGssapiBindITest.testSaslGssapiBind(SaslGssapiBindITest.java:285)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>       at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>       at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:76)
>       at 
> org.apache.directory.server.core.integ.FrameworkRunner.runChild(FrameworkRunner.java:366)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:50)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
>       at 
> org.apache.directory.server.core.integ.FrameworkRunner.run(FrameworkRunner.java:219)
>       at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:46)
>       at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
> Caused by: javax.security.sasl.SaslException: GSS initiate failed [Caused by 
> GSSException: No valid credentials provided (Mechanism level: Server not 
> found in Kerberos database (7) - Server not found in Kerberos database)]
>       at 
> com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:194)
>       at com.sun.jndi.ldap.sasl.LdapSasl.saslBind(LdapSasl.java:105)
>       ... 42 more
> Caused by: GSSException: No valid credentials provided (Mechanism level: 
> Server not found in Kerberos database (7) - Server not found in Kerberos 
> database)
>       at 
> sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:663)
>       at 
> sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:230)
>       at 
> sun.security.jgss.GSSContextImpl.initSecContext(GSSContextImpl.java:162)
>       at 
> com.sun.security.sasl.gsskerb.GssKrb5Client.evaluateChallenge(GssKrb5Client.java:175)
>       ... 43 more
> Caused by: KrbException: Server not found in Kerberos database (7) - Server 
> not found in Kerberos database
>       at sun.security.krb5.KrbTgsRep.<init>(KrbTgsRep.java:64)
>       at sun.security.krb5.KrbTgsReq.getReply(KrbTgsReq.java:185)
>       at 
> sun.security.krb5.internal.CredentialsUtil.serviceCreds(CredentialsUtil.java:294)
>       at 
> sun.security.krb5.internal.CredentialsUtil.acquireServiceCreds(CredentialsUtil.java:106)
>       at 
> sun.security.krb5.Credentials.acquireServiceCreds(Credentials.java:575)
>       at 
> sun.security.jgss.krb5.Krb5Context.initSecContext(Krb5Context.java:594)
>       ... 46 more
> Caused by: KrbException: Identifier doesn't match expected value (906)
>       at sun.security.krb5.internal.KDCRep.init(KDCRep.java:133)
>       at sun.security.krb5.internal.TGSRep.init(TGSRep.java:58)
>       at sun.security.krb5.internal.TGSRep.<init>(TGSRep.java:53)
>       at sun.security.krb5.KrbTgsRep.<init>(KrbTgsRep.java:46)
>       ... 51 more
> Kerberos service stopped.
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> I had this stacktrace with the following /etc/hosts file:
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> ##
> # Host Database
> #
> # localhost is used to configure the loopback interface
> # when the system is booting.  Do not change this entry.
> ##
> 127.0.0.1       localhost
> 255.255.255.255       broadcasthost
> ::1             localhost 
> fe80::1%lo0     localhost
> 127.0.0.1       directory.apache.org
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> Replacing '127.0.0.1' by 'localhost' fixes the issue:
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
> ##
> # Host Database
> #
> # localhost is used to configure the loopback interface
> # when the system is booting.  Do not change this entry.
> ##
> 127.0.0.1       localhost
> 255.255.255.255       broadcasthost
> ::1             localhost 
> fe80::1%lo0     localhost
> localhost       directory.apache.org
> %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to