Hi all, I am still struggling to get any kind of sensible behaviour out of the Subversion plugin when used with client certificates.
When you set the project up to be built, the configure screen complains as follows: "Unable to access [URL] : svn: E175002: OPTIONS [PATH] failed (show details) (Maybe you need to enter credential?)" Despite the error above, when "build now" is selected, the project builds fine without a problem. However, when the project is built from a "poll", either driven by a scheduled poll, or triggered by a commit hook, the subversion plugin fails again like so: Started by an SCM change Building remotely on [HOST] in workspace /home/jenkins-ci-slave/workspace/workspace/[PATH] Unable to auto-install JDK until the license is accepted. Updating [URL] at revision '2013-02-09T21:21:57.798 +0000' U pom.xml At revision 381 hudson.util.IOException2: revision check failed on [URL] at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:178) at hudson.scm.SubversionChangeLogBuilder.run(SubversionChangeLogBuilder.java:113) at hudson.scm.SubversionSCM.calcChangeLog(SubversionSCM.java:649) at hudson.scm.SubversionSCM.checkout(SubversionSCM.java:810) at hudson.model.AbstractProject.checkout(AbstractProject.java:1331) at hudson.model.AbstractBuild$AbstractBuildExecution.defaultCheckout(AbstractBuild.java:682) at jenkins.scm.SCMCheckoutStrategy.checkout(SCMCheckoutStrategy.java:88) at hudson.model.AbstractBuild$AbstractBuildExecution.run(AbstractBuild.java:587) at hudson.model.Run.execute(Run.java:1557) at hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:46) at hudson.model.ResourceController.execute(ResourceController.java:88) at hudson.model.Executor.run(Executor.java:236) Caused by: org.tmatesoft.svn.core.SVNException: svn: E175002: OPTIONS [PATH] failed at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:379) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:364) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:352) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.performHttpRequest(DAVConnection.java:708) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.exchangeCapabilities(DAVConnection.java:628) at org.tmatesoft.svn.core.internal.io.dav.DAVConnection.open(DAVConnection.java:103) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.openConnection(DAVRepository.java:1018) at org.tmatesoft.svn.core.internal.io.dav.DAVRepository.getLatestRevision(DAVRepository.java:180) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.getRevisionNumber(SvnNgRepositoryAccess.java:118) at org.tmatesoft.svn.core.internal.wc2.SvnRepositoryAccess.getLocations(SvnRepositoryAccess.java:148) at org.tmatesoft.svn.core.internal.wc2.ng.SvnNgRepositoryAccess.createRepositoryFor(SvnNgRepositoryAccess.java:45) at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:160) at org.tmatesoft.svn.core.internal.wc2.remote.SvnRemoteLog.run(SvnRemoteLog.java:35) at org.tmatesoft.svn.core.internal.wc2.SvnOperationRunner.run(SvnOperationRunner.java:20) at org.tmatesoft.svn.core.wc2.SvnOperationFactory.run(SvnOperationFactory.java:1235) at org.tmatesoft.svn.core.wc2.SvnOperation.run(SvnOperation.java:291) at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:967) at org.tmatesoft.svn.core.wc.SVNLogClient.doLog(SVNLogClient.java:872) at hudson.scm.SubversionChangeLogBuilder.buildModule(SubversionChangeLogBuilder.java:166) ... 11 more Caused by: svn: E175002: OPTIONS [PATH] failed at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208) at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:154) at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:97) ... 30 more Caused by: org.tmatesoft.svn.core.SVNException: svn: E175002: OPTIONS request failed on '[PATH]' svn: E175002: Remote host closed connection during handshake at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:64) at org.tmatesoft.svn.core.internal.wc.SVNErrorManager.error(SVNErrorManager.java:51) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:754) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.request(HTTPConnection.java:373) ... 29 more Caused by: svn: E175002: OPTIONS request failed on '[PATH]' at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:208) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:752) ... 30 more Caused by: svn: E175002: Remote host closed connection during handshake at org.tmatesoft.svn.core.SVNErrorMessage.create(SVNErrorMessage.java:109) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:488) ... 30 more Caused by: javax.net.ssl.SSLHandshakeException: Remote host closed connection during handshake at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:869) at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1190) at sun.security.ssl.SSLSocketImpl.writeRecord(SSLSocketImpl.java:657) at sun.security.ssl.AppOutputStream.write(AppOutputStream.java:108) at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82) at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection.sendData(HTTPConnection.java:313) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPRequest.dispatch(HTTPRequest.java:168) at org.tmatesoft.svn.core.internal.io.dav.http.HTTPConnection._request(HTTPConnection.java:460) ... 30 more Caused by: java.io.EOFException: SSL peer shut down incorrectly at sun.security.ssl.InputRecord.read(InputRecord.java:352) at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:850) ... 38 more Unable to auto-install JDK until the license is accepted. Sending e-mails to: [EMAIL] Finished: FAILURE It looks like the subversion plugin is broken with respect to providing credentials - on a forced build, the plugin seems to ignore credentials and revert to those in .subversion/servers (the desired behaviour). On polled builds, the plugin successfully does an update but then somehow overrides svnkit and tells it to provide no client certificate at all, and the remote server slams the phone down. Even when a valid P12 file is uploaded using the UI, it makes no difference, the credentials remain ignored, and the connection fails. Has anybody got the subversion plugin to work with client certificates? My first prize behaviour is for Jenkins to not fiddle with authentication at all, and simply leave it up to the subversion configuration for the account. This is configured correctly, and the native subversion client works fine. Is there a way to get the subversion plugin to just use the native svn binary and not fiddle with authentication at all? Regards, Graham -- -- You received this message because you are subscribed to the Google Groups "Jenkins Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to jenkinsci-dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.