**Issue:** After invoking SVN on the command line on a firewalled server, 
nothing visible happens for 15 seconds, then the program quits with the 
following error:

svn: E170013: Unable to connect to a repository at URL 'SVN.REPOSITORY.REDACTED'

svn: E730054: Error running context: An existing connection was forcibly closed 
by the remote host.

**Investigation:** Internet research on the above errors did not uncover any 
pertinent information (hopefully they will now)

Process Tracing (procmon) showed a connection attempt to an Akamai (cloud 
services) server after the SSL/TLS handshake to the SVN Server. The hostname 
for the server was not shown in Process tracing. Reverse DNS lookup showed 
a184-51-112-88.deploy.static.akamaitechnologies.com or 
a184-51-112-80.deploy.static.akamaitechnologies.com as the hostname, and the IP 
was either 184.51.112.88 or 184.51.112.80 (2 entries in DNS cache).

Packet capture tool (MMA) showed a connection attempt to the hostname 
ctldl.windowsupdate.com after the SSL/TLS Handshake to the SVN server.

The windows Crypto API was attempting to connect to Windows Update to retrieve 
Certificate revocation information (CRL - certificate revocation list). The 
default timeout for CRL retrieval is 15 seconds. The timeout for authentication 
on the server is 10 seconds; as 15 is greater than 10, this fails.

**Resolution:** Internet research uncovered the following: (also see picture at 
bottom)

Solution 1: Decrease CRL timeout Group Policy -> Computer Config ->Windows 
Settings -> Security Settings -> Public Key Policies -> Certificate Path 
Validation Settings -> Network Retrieval

https://subversion.open.collab.net/ds/viewMessage.do?dsForumId=4&dsMessageId=470698

support.microsoft.com/en-us/kb/2625048

blogs.technet.com/b/exchange/archive/2010/05/14/3409948.aspx

Solution 2: Open firewall for CRL traffic

support.microsoft.com/en-us/kb/2677070

Solution 3: SVN command line flags (untested)

serverfault.com/questions/716845/tortoise-svn-initial-connect-timeout -
alternate svn command line flag solution.


**Additional Information:** Debugging this issue was particularly difficult. 
SVN 1.8 disabled support for the Neon HTTP RA (repository access) library in 
favor of the Serf library which removed client debug logging. [1] In addition, 
the SVN error code returned did not match the string given in svn_error_codes.h 
[2] Also, SVN Error codes cannot be mapped back to their ENUM label easily, 
this case SVN error code E170013 maps to SVN_ERR_RA_CANNOT_CREATE_SESSION.

1.            
stackoverflow.com/questions/8416989/is-it-possible-to-get-svn-client-debug-output
2.                
people.apache.org/~brane/svndocs/capi/svn__error__codes_8h.html#ac8784565366c15a28d456c4997963660a044e5248bb3a652768e5eb3105d6f28f
3.            code.google.com/archive/p/serf/issues/172

**Suggested SVN Changes:**

1.            Enable Verbosity option on the command line for all operations

2.            Add error ENUM name to stderr

3.            Add config flag for Serf Library debug logging.





Nothing in this message is intended to constitute an electronic signature 
unless a specific statement to the contrary is included in this message.

Confidentiality Note: This message is intended only for the person or entity to 
which it is addressed. It may contain confidential and/or privileged material. 
Any review, transmission, dissemination or other use, or taking of any action 
in reliance upon this message by persons or entities other than the intended 
recipient is prohibited and may be unlawful. If you received this message in 
error, please contact the sender and delete it from your computer.

Reply via email to