Something from the user list of note for development. The current method does something like this when handling a communication exception at authenticate time: / If not a "Socket closed." error then rethrow. if (e.getMessage().indexOf("Socket closed") < 0) throw(e);
This seems to have two problems 1) e.getMessage() is sometimes null with some LDAP providers. 2) some LDAP providers set the exception to actually be "connection closed" (retrieved by "e.toString()") Just forwarding this on for the user, since this code currently has some problems that ought to be fixed. (I have a vested interest being a heavy user of JNDIRealm). For a stopgap measure, one could do the following I guess: if (e.toString().indexOf("closed") < 0) throw(e); Though as the bug report points out there may be yet other error messages given by other LDAP providers, and I don't know if "closed" is too general to check on or not. Jeff Tulley ([EMAIL PROTECTED]) (801)861-5322 Novell, Inc., The Leading Provider of Net Business Solutions http://www.novell.com >>> [EMAIL PROTECTED] 8/1/03 2:00:46 PM >>> Well, I understand this is now a bug: http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19864 Was this fixed in the 4.1.27 version? Can't seem to determine if it was based on the README in the download. Jon On Friday, August 1, 2003, at 12:07 PM, Jon Wynacht wrote: > Hi, > > I have Tomcat 4.1.24 installed on a server that hosts a web > application. I have set up the container to do authentication via LDAP > and it works for a bit then just stops working. The only way to get > things working again is to restart Tomcat. > > I've included the error message below and am wondering if anybody on > this list has had a similar experience? If so, how did you solve it? > > Thanks in advance, > > Jon > > 2003-08-01 10:37:29 JNDIRealm[Standalone]: lookupUser(jwynacht) > 2003-08-01 10:37:29 JNDIRealm[Standalone]: dn=uid=jwynacht, > ou=active, ou=employees, ou=people, o=cisco.com > 2003-08-01 10:37:29 JNDIRealm[Standalone]: validating credentials by > binding as the user > 2003-08-01 10:37:29 JNDIRealm[Standalone]: binding as uid=jwynacht, > ou=active, ou=employees, ou=people, o=cisco.com > 2003-08-01 10:37:29 CoyoteAdapter An exception or error occurred in > the container during the request processing > java.lang.NullPointerException > at > org.apache.catalina.realm.JNDIRealm.authenticate(JNDIRealm.java:793) > at > org.apache.catalina.authenticator.BasicAuthenticator.authenticate(Basic > Authenticator.java:161) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticato > rBase.java:526) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. > invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > 480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardContext.invoke(StandardContext.java:24 > 15) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav > a:180) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. > invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherV > alve.java:171) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. > invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav > a:172) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. > invokeNext(StandardPipeline.java:641) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > 480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve > .java:174) > at > org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext. > invokeNext(StandardPipeline.java:643) > at > org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java: > 480) > at > org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995) > at > org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223) > at > org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:5 > 94) > at > org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process > Connection(Http11Protocol.java:392) > at > org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:5 > 65) > at > org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo > l.java:619) > at java.lang.Thread.run(Thread.java:536) > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]