Hi,

I am trying to authenticate Jenkins users using our corporate LDAP server
(SSL connection) at ldaps://cerndc.cern.ch:636. However, when I try to login
as "marc" I get a "javax.naming.CommunicationException: cern.ch:636 ".

Is it normal that the the address appearing in the excepiton does not
include the "cerndc" prefix? I have tried to use the IP directly but I still
get the same error message referring to "cern.ch:636".

Do you know what am I doing wrong?

My LDAP configuration parameters:
* Server: ldaps://cerndc.cern.ch:636
* root DN: DC=cern,DC=ch
* User search base: <empty>
* User search filter: <empty>
* Group search base: <empty>
* Manager DN: cn=marc,ou=users,ou=Organic Units,DC=cern,DC=ch
* Manager Password: <password>

And here the full exception trace:

Oct 2, 2012 3:25:37 PM hudson.security.AuthenticationProcessingFilter2 
> onUnsuccessfulAuthentication
> INFO: Login attempt failed
> org.acegisecurity.AuthenticationServiceException: LdapCallback;null; 
> nested exception is javax.naming.PartialResultException [Root exception is 
> javax.naming.CommunicationException: cern.ch:636 [Root exception is 
> java.net.ConnectException: Connection refused]]; nested exception is 
> org.acegisecurity.ldap.LdapDataAccessException: LdapCallback;null; nested 
> exception is javax.naming.PartialResultException [Root exception is 
> javax.naming.CommunicationException: cern.ch:636 [Root exception is 
> java.net.ConnectException: Connection refused]]
>     at 
> org.acegisecurity.providers.ldap.LdapAuthenticationProvider.retrieveUser(LdapAuthenticationProvider.java:238)
>     at 
> org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:119)
>     at 
> org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:195)
>     at 
> org.acegisecurity.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:45)
>     at 
> org.acegisecurity.ui.webapp.AuthenticationProcessingFilter.attemptAuthentication(AuthenticationProcessingFilter.java:71)
>     at 
> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:252)
>     at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>     at 
> org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
>     at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>     at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63)
>     at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>     at 
> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
>     at 
> hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
>     at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>     at 
> hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
>     at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
>     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
>     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
>     at 
> org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
>     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
>     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
>     at 
> hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
>     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
>     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
>     at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
>     at 
> winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215)
>     at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138)
>     at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>     at 
> winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> Caused by: org.acegisecurity.ldap.LdapDataAccessException: 
> LdapCallback;null; nested exception is javax.naming.PartialResultException 
> [Root exception is javax.naming.CommunicationException: cern.ch:636 [Root 
> exception is java.net.ConnectException: Connection refused]]
>     at 
> org.acegisecurity.ldap.LdapTemplate$LdapExceptionTranslator.translate(LdapTemplate.java:295)
>     at org.acegisecurity.ldap.LdapTemplate.execute(LdapTemplate.java:128)
>     at 
> org.acegisecurity.ldap.LdapTemplate.searchForSingleEntry(LdapTemplate.java:246)
>     at 
> org.acegisecurity.ldap.search.FilterBasedLdapUserSearch.searchForUser(FilterBasedLdapUserSearch.java:119)
>     at 
> org.acegisecurity.providers.ldap.authenticator.BindAuthenticator.authenticate(BindAuthenticator.java:71)
>     at 
> org.acegisecurity.providers.ldap.authenticator.BindAuthenticator2.authenticate(BindAuthenticator2.java:49)
>     at 
> org.acegisecurity.providers.ldap.LdapAuthenticationProvider.retrieveUser(LdapAuthenticationProvider.java:233)
>     ... 33 more
> Caused by: javax.naming.PartialResultException [Root exception is 
> javax.naming.CommunicationException: cern.ch:636 [Root exception is 
> java.net.ConnectException: Connection refused]]
>     at 
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMoreImpl(LdapNamingEnumeration.java:242)
>     at 
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMore(LdapNamingEnumeration.java:189)
>     at 
> org.acegisecurity.ldap.LdapTemplate$3.doInDirContext(LdapTemplate.java:251)
>     at org.acegisecurity.ldap.LdapTemplate.execute(LdapTemplate.java:126)
>     ... 38 more
> Caused by: javax.naming.CommunicationException: cern.ch:636 [Root 
> exception is java.net.ConnectException: Connection refused]
>     at 
> com.sun.jndi.ldap.LdapReferralContext.<init>(LdapReferralContext.java:92)
>     at 
> com.sun.jndi.ldap.LdapReferralException.getReferralContext(LdapReferralException.java:150)
>     at 
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMoreReferrals(LdapNamingEnumeration.java:357)
>     at 
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMoreImpl(LdapNamingEnumeration.java:226)
>     ... 41 more
> Caused by: java.net.ConnectException: Connection refused
>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>     at 
> java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
>     at 
> java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
>     at 
> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
>     at java.net.Socket.connect(Socket.java:546)
>     at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:584)
>     at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:385)
>     at 
> sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:90)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:616)
>     at com.sun.jndi.ldap.Connection.createSocket(Connection.java:330)
>     at com.sun.jndi.ldap.Connection.<init>(Connection.java:200)
>     at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:136)
>     at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1598)
>     at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2643)
>     at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:306)
>     at 
> com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)
>     at 
> com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:152)
>     at 
> com.sun.jndi.url.ldap.ldapURLContextFactory.getObjectInstance(ldapURLContextFactory.java:52)
>     at javax.naming.spi.NamingManager.getURLObject(NamingManager.java:601)
>     at javax.naming.spi.NamingManager.processURL(NamingManager.java:381)
>     at 
> javax.naming.spi.NamingManager.processURLAddrs(NamingManager.java:361)
>     at 
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:333)
>     at 
> com.sun.jndi.ldap.LdapReferralContext.<init>(LdapReferralContext.java:111)
>     ... 44 more
>
> Oct 2, 2012 3:23:52 PM hudson.security.AuthenticationProcessingFilter2 
> onUnsuccessfulAuthentication
> INFO: Login attempt failed
> org.acegisecurity.AuthenticationServiceException: LdapCallback;null; 
> nested exception is javax.naming.PartialResultException [Root exception is 
> javax.naming.CommunicationException: cern.ch:636 [Root exception is 
> java.net.ConnectException: Connection refused]]; nested exception is 
> org.acegisecurity.ldap.LdapDataAccessException: LdapCallback;null; nested 
> exception is javax.naming.PartialResultException [Root exception is 
> javax.naming.CommunicationException: cern.ch:636 [Root exception is 
> java.net.ConnectException: Connection refused]]
>     at 
> org.acegisecurity.providers.ldap.LdapAuthenticationProvider.retrieveUser(LdapAuthenticationProvider.java:238)
>     at 
> org.acegisecurity.providers.dao.AbstractUserDetailsAuthenticationProvider.authenticate(AbstractUserDetailsAuthenticationProvider.java:119)
>     at 
> org.acegisecurity.providers.ProviderManager.doAuthentication(ProviderManager.java:195)
>     at 
> org.acegisecurity.AbstractAuthenticationManager.authenticate(AbstractAuthenticationManager.java:45)
>     at 
> org.acegisecurity.ui.webapp.AuthenticationProcessingFilter.attemptAuthentication(AuthenticationProcessingFilter.java:71)
>     at 
> org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:252)
>     at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>     at 
> org.acegisecurity.ui.basicauth.BasicProcessingFilter.doFilter(BasicProcessingFilter.java:173)
>     at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>     at jenkins.security.ApiTokenFilter.doFilter(ApiTokenFilter.java:63)
>     at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>     at 
> org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:249)
>     at 
> hudson.security.HttpSessionContextIntegrationFilter2.doFilter(HttpSessionContextIntegrationFilter2.java:66)
>     at 
> hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:87)
>     at 
> hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
>     at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
>     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
>     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
>     at 
> org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:50)
>     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
>     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
>     at 
> hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
>     at winstone.FilterConfiguration.execute(FilterConfiguration.java:194)
>     at winstone.RequestDispatcher.doFilter(RequestDispatcher.java:366)
>     at winstone.RequestDispatcher.forward(RequestDispatcher.java:331)
>     at 
> winstone.RequestHandlerThread.processRequest(RequestHandlerThread.java:215)
>     at winstone.RequestHandlerThread.run(RequestHandlerThread.java:138)
>     at 
> java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
>     at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
>     at java.util.concurrent.FutureTask.run(FutureTask.java:166)
>     at 
> winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
>     at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
>     at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
>     at java.lang.Thread.run(Thread.java:679)
> Caused by: org.acegisecurity.ldap.LdapDataAccessException: 
> LdapCallback;null; nested exception is javax.naming.PartialResultException 
> [Root exception is javax.naming.CommunicationException: cern.ch:636 [Root 
> exception is java.net.ConnectException: Connection refused]]
>     at 
> org.acegisecurity.ldap.LdapTemplate$LdapExceptionTranslator.translate(LdapTemplate.java:295)
>     at org.acegisecurity.ldap.LdapTemplate.execute(LdapTemplate.java:128)
>     at 
> org.acegisecurity.ldap.LdapTemplate.searchForSingleEntry(LdapTemplate.java:246)
>     at 
> org.acegisecurity.ldap.search.FilterBasedLdapUserSearch.searchForUser(FilterBasedLdapUserSearch.java:119)
>     at 
> org.acegisecurity.providers.ldap.authenticator.BindAuthenticator.authenticate(BindAuthenticator.java:71)
>     at 
> org.acegisecurity.providers.ldap.authenticator.BindAuthenticator2.authenticate(BindAuthenticator2.java:49)
>     at 
> org.acegisecurity.providers.ldap.LdapAuthenticationProvider.retrieveUser(LdapAuthenticationProvider.java:233)
>     ... 33 more
> Caused by: javax.naming.PartialResultException [Root exception is 
> javax.naming.CommunicationException: cern.ch:636 [Root exception is 
> java.net.ConnectException: Connection refused]]
>     at 
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMoreImpl(LdapNamingEnumeration.java:242)
>     at 
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMore(LdapNamingEnumeration.java:189)
>     at 
> org.acegisecurity.ldap.LdapTemplate$3.doInDirContext(LdapTemplate.java:257)
>     at org.acegisecurity.ldap.LdapTemplate.execute(LdapTemplate.java:126)
>     ... 38 more
> Caused by: javax.naming.CommunicationException: cern.ch:636 [Root 
> exception is java.net.ConnectException: Connection refused]
>     at 
> com.sun.jndi.ldap.LdapReferralContext.<init>(LdapReferralContext.java:92)
>     at 
> com.sun.jndi.ldap.LdapReferralException.getReferralContext(LdapReferralException.java:150)
>     at 
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMoreReferrals(LdapNamingEnumeration.java:357)
>     at 
> com.sun.jndi.ldap.LdapNamingEnumeration.hasMoreImpl(LdapNamingEnumeration.java:226)
>     ... 41 more
> Caused by: java.net.ConnectException: Connection refused
>     at java.net.PlainSocketImpl.socketConnect(Native Method)
>     at 
> java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:327)
>     at 
> java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:193)
>     at 
> java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:180)
>     at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384)
>     at java.net.Socket.connect(Socket.java:546)
>     at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:584)
>     at sun.security.ssl.SSLSocketImpl.<init>(SSLSocketImpl.java:385)
>     at 
> sun.security.ssl.SSLSocketFactoryImpl.createSocket(SSLSocketFactoryImpl.java:90)
>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>     at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>     at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>     at java.lang.reflect.Method.invoke(Method.java:616)
>     at com.sun.jndi.ldap.Connection.createSocket(Connection.java:330)
>     at com.sun.jndi.ldap.Connection.<init>(Connection.java:200)
>     at com.sun.jndi.ldap.LdapClient.<init>(LdapClient.java:136)
>     at com.sun.jndi.ldap.LdapClient.getInstance(LdapClient.java:1598)
>     at com.sun.jndi.ldap.LdapCtx.connect(LdapCtx.java:2643)
>     at com.sun.jndi.ldap.LdapCtx.<init>(LdapCtx.java:306)
>     at 
> com.sun.jndi.ldap.LdapCtxFactory.getUsingURL(LdapCtxFactory.java:193)
>     at 
> com.sun.jndi.ldap.LdapCtxFactory.getLdapCtxInstance(LdapCtxFactory.java:152)
>     at 
> com.sun.jndi.url.ldap.ldapURLContextFactory.getObjectInstance(ldapURLContextFactory.java:52)
>     at javax.naming.spi.NamingManager.getURLObject(NamingManager.java:601)
>     at javax.naming.spi.NamingManager.processURL(NamingManager.java:381)
>     at 
> javax.naming.spi.NamingManager.processURLAddrs(NamingManager.java:361)
>     at 
> javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:333)
>     at 
> com.sun.jndi.ldap.LdapReferralContext.<init>(LdapReferralContext.java:111)
>     ... 44 more



Thanks,
marc

Reply via email to