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

Re: Domain-specific Repository Roots

From: Bob Smith <bsmith_at_sudleyplace.com>
Date: 2006-12-17 23:03:45 CET

On 12/17/2006 11:23 AM, Wesley J. Landaker wrote:
> On Saturday 16 December 2006 19:42, Bob Smith wrote:
>> Essentially, I'm looking for a feature similar to HTTP/1.1 and
>> Apache's <VirtualHost> where the domain name is also part of the
>> request to the server, rather than just a means to obtain an IP
>> address. Perhaps this can be done were I to use the Apache server
>> approach instead of svnserve, except the ISP I'm using runs Apache
>> 1.3.x -- I could install Apache 2.0 separately, but I thought I'd try
>> asking about this approach first.
>
> This is the kind of thing that DNS SRV records are meant to handle for all
> services in a generic way, instead of relying on protocol-specific virtual
> hosting mechanisms. This is, for instance, how to do "virtual hosting" with
> XMPP, LDAP, etc, and is a MUCH preferred way to do virtual hosting since it
> doesn't require modification of protocols, and avoids horrible issues like
> the notorious no-name-based-virtual-hosting-for-https-hosts class of
> problems.
>
> Too make this work, pretty much all that would need to happen is for the the
> subversion client libraries to query and honor DNS SRV records, which I'm
> pretty sure it doesn't do currently. (Then you'd just run svnserve with an
> appropriate root on various ports and map them all to the "svn" service for
> each domain with SRV records.)

Thanks for the suggestion.

If I understand you correctly, given a URL of (say) svn.example2.com,
the SVN client would query the DNS SRV record for that domain to
obtain a port # (say, 3691) and target domain (say, example.net), then
send the svn request to example.net on port 3691, at which point the
svnserve on example.net would process the request.

In order for this to work, wouldn't a single svnserve have to listen
on multiple ports and have different roots associated with each? That
sounds like a good idea, but my cursory reading of svnserve/main.c
suggests that it doesn't do that currently, so perhaps I've
misunderstood, or perhaps this is just more of what needs to change in
order to implement your idea.

-- 
_______________________________________________________________
Bob Smith - bsmith_at_sudleyplace.com - http://www.sudleyplace.com

Received on Sun Dec 17 23:04:27 2006

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