[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Branch 1.5.x: mod_dav_svn restricts third-party Subversion clients too much.

From: C. Michael Pilato <cmpilato_at_collab.net>
Date: Fri, 14 Mar 2008 15:30:03 -0400

Karl Fogel wrote:
> Alexander Kitaev <Alexander.Kitaev_at_svnkit.com> writes:
>> There is the following code in subversion/mod_dav_svn/repos.c:1643
>> if (val && (ap_strstr_c(val, "SVN/") == val))
>> {
>> repos->is_svn_client = TRUE;
>> /* Client capabilities are self-reported. There is no
>> guarantee the client actually has the capabilities it says
>> it has, we just assume it is in the client's interests to
>> report accurately. Also, we only remember the capabilities
>> the server cares about (even though the client may send
>> more than that). */
>> ....
>> }
>> SVNKit honestly sends "SVNKit ..." User-Agent header and as a result
>> capabilities reported by SVNKit are ignored by mod_dav_svn. Could the
>> condition above be changed to:
>> if (val && (ap_strstr_c(val, "SVN") == val))
>> So far we have to use SVN/Kit for User-Agent HTTP header value.
>> Thanks!
> Hmmm, thanks for pointing this out.
> Your suggestion seems reasonable to me. It's pretty likely that
> anything starting with "SVN" is SVN-related, and wants to be treated as
> an SVN client. But I'm not well-versed in the relevant standards here;
> does anyone know more? (Let's give it a day or two, since the change is
> trivial and easy to backport to the 1.5.x line before rc1 comes out.)

-0. Why doesn't SVNKit use:

     SVN/x.y.z SVNKit/a.b.c

which would roughly translate as "This is a Subversion client compatible
with Subversion x.y.z and using SVNKit a.b.c as the implementation."


C. Michael Pilato <cmpilato_at_collab.net>
CollabNet   <>   www.collab.net   <>   Distributed Development On Demand

Received on 2008-03-14 20:30:26 CET

This is an archived mail posted to the Subversion Dev mailing list.