You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@subversion.apache.org by Dimstar / Dominique Leuenberger <di...@opensuse.org> on 2011/05/30 15:22:57 UTC

[bug 3740] Change of default behaviour

Hi SVN Devs,

A while back, I proposed a patch that would make svn transparently use
proxy as configured in the session, by relying on ne_neon_system_proxy
(which, in turn, uses libproxy in the background).

The advantage of this is of course mainly for notebook users / users
changing location every once in a while.

current situation (fact for me for example):
- I connect to a SVN repository from home, where I do not use a proxy
- I connect to the same repository from work, where I require a proxy
- I connect to a repository at work (not reachable from outside) without
a proxy

The last one obviously does not cause any trouble (as long as I'm in the
office).

The first two, being the same repo from different locations, are an
annoyance: depending on where I am i have to reconfigure my
~/.subversion/servers file, giving either proxy options or not. Setting
global proxy is not so great, as I'd have to exclude all internal
repositories. Non global is not cool, as I have to configure proxy for a
bunch of repositories.

Now, with the patch proposed in bug 3740, this get's transparently
handled by having my system proxy settings correctly set (which, anyhow
I have to do, for web browser and all the other proxy aware
applications).

Thus reducing my 'overhead' for the same work to one control panel only
(and no file based settings).

Now of course I do understand that this patch does bring a change in the
default behavior of svn: so far, we simply ignored system settings and
let the user crawl through a documentation, finding on how to enable the
proxy (based on the number of blog posts on how to do this, it might be
a bit hidden, but that's another topic).

I for one though would argue that we're just fixing a long standing bug,
by finally not ignoring the system anymore. Making the day-to-day life
easier.

For the background of how libproxy works:
The proxy settings are extracted from your running system session. This
means if you're running in gnome, then the gnome settings are being
used, if you're on KDE, the KDE settings apply. On Mac and Windows, the
respective 'most appropriate' settings are used (on Win that means the
IE settings).
By relying on libproxy, you gain immediate support for wpad and pac
support, the ignore list of gnome/kde are respected. And as the whole
thing is further abstracted to svn by libneon, there is literally
nothing to do to fix it.

I'm looking forward to your comments, hopefully an approval to have the
'default behavior' of svn changed and start to use the system proxy
SETTINGS where available.

Best regards,
Dominique / DimStar


RE: [bug 3740] Change of default behaviour

Posted by Dimstar / Dominique Leuenberger <di...@opensuse.org>.
On Mon, 2011-05-30 at 18:47 +0200, Bert Huijben wrote:
> The Squid problem is (if I remember correctly) a serf issue and this patch
> is neon specific.
> 
> I think we should implement this support for both ra dav layers, while
> keeping our normal per server overrides working.
> 

This actually sounds like a good idea, but I did not look deep enough on
how ra_serf actually does handle it's connection. Does it also support
http proxying? Or only socks?

Not knowing the code (yet) it might be that we'll need to query libproxy
on our own (not really difficult; libproxy only has 3 API calls).


> Once this works correctly I would prefer using the system proxy by default. 
> 
> If you could connect directly, you wouldn't have a system wide proxy
> configured. And off by default makes it hard on users to switch to the
> system default proxy while still keeping overrides.
> 

Thanks for your opinion on this topic.

Dominique


RE: [bug 3740] Change of default behaviour

Posted by Bert Huijben <be...@qqmail.nl>.
> -----Original Message-----
> From: Stefan Sperling [mailto:stsp@elego.de]
> Sent: maandag 30 mei 2011 16:24
> To: Dimstar / Dominique Leuenberger
> Cc: dev@subversion.apache.org
> Subject: Re: [bug 3740] Change of default behaviour
> 
> On Mon, May 30, 2011 at 03:22:57PM +0200, Dimstar / Dominique
> Leuenberger wrote:
> > Now of course I do understand that this patch does bring a change in the
> > default behavior of svn: so far, we simply ignored system settings and
> > let the user crawl through a documentation, finding on how to enable the
> > proxy (based on the number of blog posts on how to do this, it might be
> > a bit hidden, but that's another topic).
> 
> For the record I would prefer an expanded patch that adds a new
> configuration option SVN_CONFIG_OPTION_HTTP_USE_SYSTEM_PROXY
> that
> enables this behaviour. I don't think we should change the default
> (no proxy) to use the system proxy settings because Subversion
> is not compatible with every HTTP proxy (notably squid is often
> reported to cause problems). If we start using system proxies by default
> in 1.7 many users might suddently run into issues that didn't exist
> for them before the update. They would perceive this as a regression.

The Squid problem is (if I remember correctly) a serf issue and this patch
is neon specific.

I think we should implement this support for both ra dav layers, while
keeping our normal per server overrides working.

> 
> > I for one though would argue that we're just fixing a long standing bug,
> > by finally not ignoring the system anymore. Making the day-to-day life
> > easier.
> 
> You would only have to set the new option once in the client config file
> and from then on Subversion will always follow your system proxy settings.

Once this works correctly I would prefer using the system proxy by default. 

If you could connect directly, you wouldn't have a system wide proxy
configured. And off by default makes it hard on users to switch to the
system default proxy while still keeping overrides.

	Bert


Re: [bug 3740] Change of default behaviour

Posted by Stefan Sperling <st...@elego.de>.
On Mon, May 30, 2011 at 03:22:57PM +0200, Dimstar / Dominique Leuenberger wrote:
> Now of course I do understand that this patch does bring a change in the
> default behavior of svn: so far, we simply ignored system settings and
> let the user crawl through a documentation, finding on how to enable the
> proxy (based on the number of blog posts on how to do this, it might be
> a bit hidden, but that's another topic).

For the record I would prefer an expanded patch that adds a new
configuration option SVN_CONFIG_OPTION_HTTP_USE_SYSTEM_PROXY that
enables this behaviour. I don't think we should change the default
(no proxy) to use the system proxy settings because Subversion
is not compatible with every HTTP proxy (notably squid is often
reported to cause problems). If we start using system proxies by default
in 1.7 many users might suddently run into issues that didn't exist
for them before the update. They would perceive this as a regression.

> I for one though would argue that we're just fixing a long standing bug,
> by finally not ignoring the system anymore. Making the day-to-day life
> easier.

You would only have to set the new option once in the client config file
and from then on Subversion will always follow your system proxy settings.