DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG· RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://issues.apache.org/bugzilla/show_bug.cgi?id=33774>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND· INSERTED IN THE BUG DATABASE.
http://issues.apache.org/bugzilla/show_bug.cgi?id=33774 Summary: JNDIRealm fails when server disconnects after time Product: Tomcat 5 Version: 5.0.30 Platform: PC OS/Version: Linux Status: NEW Severity: normal Priority: P2 Component: Catalina AssignedTo: tomcat-dev@jakarta.apache.org ReportedBy: [EMAIL PROTECTED] Using the JNDIRealm for authentication, if the LDAP server is set to automatically disconnect the client (in this case, tomcat's JNDIRealm), tomcat does not discover this until it attempts another login. If the connection has been reset, it results in a failed login attempt for the user. So the first time somebody logs into the application after some period of time (I think the timeout is pretty short on our LDAP server), the user will get one failed login attempt before a real one. I've not seen in the documentation any properties on the JNDIRealm an amount of time to hold the connection open before electively disconnecting it. 2005-02-28 07:47:39 JNDIRealm[/iso]: Searching for myuserid 2005-02-28 07:47:39 JNDIRealm[/iso]: base: ou=users,dc=company,dc=com filter: (&(objectClass=user)(uid=myuserid)) 2005-02-28 07:47:39 JNDIRealm[/iso]: Exception performing authentication javax.naming.CommunicationException: Connection reset [Root exception is java.net.SocketException: Connection reset]; remaining name 'ou=ou=users,dc=company,dc=com' at com.sun.jndi.ldap.LdapCtx.doSearch(LdapCtx.java:1961) at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1806) at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1731) at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search (ComponentDirContext.java:368) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search (PartialCompositeDirContext.java:338) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search (PartialCompositeDirContext.java:321) at javax.naming.directory.InitialDirContext.search (InitialDirContext.java:248) at org.apache.catalina.realm.JNDIRealm.getUserBySearch (JNDIRealm.java:1074) at org.apache.catalina.realm.JNDIRealm.getUser(JNDIRealm.java:967) at org.apache.catalina.realm.JNDIRealm.authenticate(JNDIRealm.java:916) at org.apache.catalina.realm.JNDIRealm.authenticate(JNDIRealm.java:809) at org.apache.catalina.authenticator.FormAuthenticator.authenticate (FormAuthenticator.java:235) at org.apache.catalina.authenticator.AuthenticatorBase.invoke (AuthenticatorBase.java:446) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext (StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service (CoyoteAdapter.java:160) at org.apache.jk.server.JkCoyoteHandler.invoke (JkCoyoteHandler.java:300) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:374) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:743) at org.apache.jk.common.ChannelSocket.processConnection (ChannelSocket.java:675) at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:866) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run (ThreadPool.java:684) at java.lang.Thread.run(Thread.java:595) Caused by: java.net.SocketException: Connection reset at java.net.SocketInputStream.read(SocketInputStream.java:168) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read1(BufferedInputStream.java:256) at java.io.BufferedInputStream.read(BufferedInputStream.java:313) at com.sun.jndi.ldap.Connection.run(Connection.java:780) ... 1 more 2005-02-28 07:47:39 JNDIRealm[/iso]: Closing directory context -- Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug, or are watching the assignee. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]