Spurious "server ... does not support the HTTP/DAV protocol" error

1,242 views
Skip to first unread message

Ian Miller

unread,
Apr 17, 2023, 2:21:04 PM4/17/23
to us...@subversion.apache.org
Before reporting this as a bug, I am posting it here as suggested on the “How to report a bug” page.

After upgrading my O/S to Debian 11, and with it the subversion client to version 1.14.1 (r1886195), I started getting
the following error whenever I tried to access the server:

svn: E175003: The server at 'http://svn/singularis/trunk' does not support the HTTP/DAV protocol

I checked to see what the network traffic associated with this and found that there was none. I get the same error attempting make a new checkout. However if I substitute the server’s IP address into the URI it works.
It also works with a FQDN. It seems that it failing resolve the hostname. Everything else on the host seems to be able to resolve the hostname. /etc/resolv.conf seems to be correct.

It is conceivable that there is a DNS resolver problem. However the error message being produced is completely wrong and grossly misleading.

Ian Miller

Daniel Sahlberg

unread,
Apr 17, 2023, 4:08:34 PM4/17/23
to Ian Miller, us...@subversion.apache.org
The error message basically means that the URL supplied by the client isn't an SVNPath in the server conf.

Could it be that the HTTPD configuration has several virtual hosts where the ServerName "svn" is handled by another virtual host compared to the FQDN?

Kind regards,
Daniel

Ian Miller

unread,
Apr 19, 2023, 10:47:55 AM4/19/23
to us...@subversion.apache.org
This is not a problem on the server.  As I wrote in my original e-mail, there is no network traffic at all between the client and server in the failure case.

I have confirmed this by reproducing the problem when the server has its network cable unplugged.   I know what the message is supposed to mean, but the client is reporting the wrong error.

After some further experimentation, I have come to the conclusion that it is treating the hostname “svn” specially.  The host has another hostname in DNS and I can correctly access the server using that name.

Ian Miller

Daniel Sahlberg

unread,
Apr 19, 2023, 11:18:05 AM4/19/23
to Ian Miller, us...@subversion.apache.org
Den ons 19 apr. 2023 kl 16:47 skrev Ian Miller <subve...@singularis.ltd.uk>:
This is not a problem on the server.  As I wrote in my original e-mail, there is no network traffic at all between the client and server in the failure case.

I have confirmed this by reproducing the problem when the server has its network cable unplugged.   I know what the message is supposed to mean, but the client is reporting the wrong error.

After some further experimentation, I have come to the conclusion that it is treating the hostname “svn” specially.  The host has another hostname in DNS and I can correctly access the server using that name.

I don't think there is any special treatment of the hostname "svn" within the Subversion codebase. As a test, I added "svn" in my hosts file and I was able to checkout http://svn/svn/repo just fine. (The server would normally be http://some.domain.tld/svn/repo).

I suspect that you have some special handling of "svn" on your computer/local network. Either you have it in the hosts file or you have a domain suffix search list specified and svn.searchlist.domain resolves to a different machine compared to the FQDN you are using.

What IP address is used if you try to ping just svn? What IP address is used if you ping the FQDN?

[[[
C:\Users\dsg>ping svn

Pinging svn [192.168.193.10] with 32 bytes of data:
Reply from 192.168.193.10: bytes=32 time=4ms TTL=64
...
]]]

It is conceivable that there is a DNS resolver problem.  However the error message being produced is completely wrong and grossly misleading.
The error message indicates that there is a server responding on whatever IP address "svn" resolves to. If you would use an address that is not resolvable you would get an error message indicating unknown hostname. If you use the correct host name but an incorrect repository or an incorrect path within that repository you will get two other error messages indicating that Subversion is unable to connect to the repository or the path doesn't exist.

If the address actually resolves to something, it is impossible to say if that result is wrong (compared to what you expect). Thus the error message can only say "we found a server at the requested address but it doesn't want to speak to us". I can agree that the "HTTP/DAV protocol" is not very helpful but rather technical. 
 
Kind regards,
Daniel 

Pavel Lyalyakin via users

unread,
Apr 19, 2023, 4:54:31 PM4/19/23
to Daniel Sahlberg, Ian Miller, us...@subversion.apache.org
Adding my two cents here. The error "... does not support the HTTP/DAV protocol" usually occurs when the URL passed to SVN client doesn't point to an SVN repository, but to something else (a web client or just some web page). You can try the same URL (http://svn/singularis/trunk or http://svn/) in your web browser for clues.

Here is an example:
[[[
C:\Users\Lyalyakin>svn info https://apache.org/
svn: E170013: Unable to connect to a repository at URL 'https://apache.org'
svn: E175003: The server at 'https://apache.org' does not support the HTTP/DAV protocol
]]]

https://apache.org is not a Subversion server and you'll see a Welcome to The Apache Software Foundation! web page when you open it with a web browser.

This should be the very first troubleshooting step when you get the error "... does not support the HTTP/DAV protocol". It helps you find out what exactly you are reaching with the provided URL.

--
With best regards,
Pavel Lyalyakin
VisualSVN Team
Reply all
Reply to author
Forward
0 new messages