[jcifs] Failover with jCIFS NTLM authentication

Michael B Allen mba2000 at ioplex.com
Mon May 14 15:14:18 GMT 2007


Try the DNS patch:

http://jcifs.samba.org/src/patches/DnsSrv.patch

It allows you to specify multiple DNS servers with
jcifs.http.domainController (I think that's how it works, you might need
to look at the code).

And let us know how it works. It's something considered for inclusion
in the base code.

Mike

On Mon, 14 May 2007 14:36:03 +0200
"Jan Kundmüller" <Jan.Kundmueller at eulerhermes.com> wrote:

> 
> 
> Hello all,
> 
> We have setup a test DNS record that is used to have a "round robin" load
> balancing/failover (see also http://en.wikipedia.org/wiki/Round_robin_dns )
> for our jCIFS NTLM authentication.
> 
> To show what is meant, here a mocked nslookup (ad1, ad2, ad3 stand for the
> IP adresses of Windows AD2003 DCs):
> root at ourhost:/home/root#nslookup testdc
> Server:  ad1.gad.intra.net
> Address:  ad1
> 
> Name:    testdc.intra.net
> Addresses: ad1, ad2, ad3
> 
> Unfortunately the jCIFS NTLM authentication does not work with that
> configuration. We get the error message: "jcifs.smb.SmbException: A
> duplicate name exists on the network.".
> Exception is attached. We are using the "jCIFS 1.2.9 released" version with
> a fixed domain controller (resolved via DNS) and preauthentication
> (required for SMB signing).
> 
> Any thoughts, comments, ideas (maybe another way to have failover with
> jCIFS NTLM and DNS, but not with WINS)? Thanks ahead!
> Best regards, Jan
> 
> Exception:
> [13.04.07 08:27:14:009 CEST] 2a6e9490 WebGroup      E SRVE0026E:
> [Servlet-Fehler]-[A duplicate name exists on the network.]:
> jcifs.smb.SmbException: A duplicate name exists on the network.
>       at jcifs.smb.SmbTransport.checkStatus(SmbTransport.java:510)
>       at jcifs.smb.SmbTransport.send(SmbTransport.java:610)
>       at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:269)
>       at jcifs.smb.SmbSession.send(SmbSession.java:225)
>       at jcifs.smb.SmbTree.treeConnect(SmbTree.java:147)
>       at jcifs.smb.SmbSession.sessionSetup(SmbSession.java:262)
>       at jcifs.smb.SmbSession.send(SmbSession.java:225)
>       at jcifs.smb.SmbTree.treeConnect(SmbTree.java:147)
>       at jcifs.smb.SmbSession.logon(SmbSession.java:161)
>       at jcifs.smb.SmbSession.logon(SmbSession.java:154)
>       at jcifs.http.NtlmServlet.service(NtlmServlet.java:137)
>       at jcifs.http.NtlmJspBase.service(NtlmJspBase.java:62)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at
> com.ibm.ws.webcontainer.jsp.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:344)
>       at
> com.ibm.ws.webcontainer.jsp.servlet.JspServlet.serviceJspFile(JspServlet.java:662)
>       at
> com.ibm.ws.webcontainer.jsp.servlet.JspServlet.service(JspServlet.java:760)
>       at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>       at
> com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
>       at
> com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
>       at
> com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
>       at
> com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
>       at
> com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
>       at
> com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
>       at
> com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
>       at
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
>       at
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:555)
>       at
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
>       at
> com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
>       at
> com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
>       at
> com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
>       at
> com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:114)
>       at
> com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
>       at
> com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
>       at
> com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
>       at
> com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
>       at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:443)
>       at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:593)
> 
> 
> 
> 
> 
> 
> Euler Hermes is the world's premier credit insurer, offering solutions
> for the management of trade receivables, from credit insurance and
> financing of trade receivables to bonding and guarantees. Euler
> Hermes is a subsidiary of AGF and a member of Allianz.
> www.eulerhermes.com
> 
>                  -------------------------------------
> 
> This e-mail may contain confidential and/or privileged information. If
> you are not the intended recipient or have received this e-mail in error,
> notify the sender immediately and destroy this e-mail. Any unauthorised
> use, copying, disclosure or distribution of the contents of this e-mail
> is strictly forbidden and may be unlawful.
> 
> Read our full e-mail disclaimer statement and monitoring policy
> (http://www.eulerhermes.com/group/en/disclaim/index.html) before
> taking any action based on the contents of this e-mail.
> 


-- 
Michael B Allen
PHP Active Directory Kerberos SSO
http://www.ioplex.com/


More information about the jcifs mailing list