[ https://issues.apache.org/jira/browse/DIRSERVER-1461?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Kiran Ayyagari updated DIRSERVER-1461: -------------------------------------- Fix Version/s: (was: 1.5.6) 2.0.0-RC1 Only happens on Macintosh systems, postponing to next version > 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.(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.(InitialContext.java:197) > at javax.naming.directory.InitialDirContext.(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.(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.(TGSRep.java:53) > at sun.security.krb5.KrbTgsRep.(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.