[zypp-devel] [PATCH 1/2] Pass full Url to ProxyInfo::proxy() function
Sometimes the decision about which proxy to use is based on more than just
the URL scheme. If a proxy autoconfigure script is in effect, we need the
full URL to be available. So pass it.
---
zypp/media/MediaCurl.cc | 2 +-
zypp/media/ProxyInfo.cc | 4 ++--
zypp/media/ProxyInfo.h | 2 +-
zypp/media/proxyinfo/ProxyInfoImpl.h | 4 ++--
zypp/media/proxyinfo/ProxyInfoSysconfig.cc | 4 ++--
zypp/media/proxyinfo/ProxyInfoSysconfig.h | 2 +-
6 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/zypp/media/MediaCurl.cc b/zypp/media/MediaCurl.cc
index a26585c..bf06908 100644
--- a/zypp/media/MediaCurl.cc
+++ b/zypp/media/MediaCurl.cc
@@ -329,7 +329,7 @@ void fillSettingsSystemProxy( const Url&url, TransferSettings &s )
ProxyInfo proxy_info (ProxyInfo::ImplPtr(new ProxyInfoSysconfig("proxy")));
s.setProxyEnabled( proxy_info.useProxyFor( url ) );
if ( s.proxyEnabled() )
- s.setProxy(proxy_info.proxy(url.getScheme()));
+ s.setProxy(proxy_info.proxy(url));
}
Pathname MediaCurl::_cookieFile = "/var/lib/YaST2/cookies";
diff --git a/zypp/media/ProxyInfo.cc b/zypp/media/ProxyInfo.cc
index 0b496ec..6e05271 100644
--- a/zypp/media/ProxyInfo.cc
+++ b/zypp/media/ProxyInfo.cc
@@ -35,8 +35,8 @@ namespace zypp {
bool ProxyInfo::enabled() const
{ return _pimpl->enabled(); }
- std::string ProxyInfo::proxy(const std::string & protocol_r) const
- { return _pimpl->proxy(protocol_r); }
+ std::string ProxyInfo::proxy(const Url & url_r) const
+ { return _pimpl->proxy(url_r); }
ProxyInfo::NoProxyList ProxyInfo::noProxy() const
{ return _pimpl->noProxy(); }
diff --git a/zypp/media/ProxyInfo.h b/zypp/media/ProxyInfo.h
index 2c7bed8..2e790b2 100644
--- a/zypp/media/ProxyInfo.h
+++ b/zypp/media/ProxyInfo.h
@@ -42,7 +42,7 @@ namespace zypp {
/** Ctor */
ProxyInfo(ProxyInfo::ImplPtr pimpl_r);
bool enabled() const;
- std::string proxy(const std::string & protocol_r) const;
+ std::string proxy(const Url & url) const;
NoProxyList noProxy() const;
NoProxyIterator noProxyBegin() const;
NoProxyIterator noProxyEnd() const;
diff --git a/zypp/media/proxyinfo/ProxyInfoImpl.h b/zypp/media/proxyinfo/ProxyInfoImpl.h
index 550d88c..93e0432 100644
--- a/zypp/media/proxyinfo/ProxyInfoImpl.h
+++ b/zypp/media/proxyinfo/ProxyInfoImpl.h
@@ -36,7 +36,7 @@ namespace zypp {
/** */
virtual bool enabled() const = 0;
/** */
- virtual std::string proxy(const std::string & prorocol_r) const = 0;
+ virtual std::string proxy(const Url & url_r) const = 0;
/** */
virtual ProxyInfo::NoProxyList noProxy() const = 0;
/** */
@@ -47,7 +47,7 @@ namespace zypp {
/** Return \c true if \ref enabled and \a url_r does not match \ref noProxy. */
bool useProxyFor( const Url & url_r ) const
{
- if ( ! enabled() || proxy( url_r.getScheme() ).empty() )
+ if ( ! enabled() && proxy( url_r ).empty() )
return false;
ProxyInfo::NoProxyList noproxy( noProxy() );
diff --git a/zypp/media/proxyinfo/ProxyInfoSysconfig.cc b/zypp/media/proxyinfo/ProxyInfoSysconfig.cc
index bd14f59..0af3daf 100644
--- a/zypp/media/proxyinfo/ProxyInfoSysconfig.cc
+++ b/zypp/media/proxyinfo/ProxyInfoSysconfig.cc
@@ -49,9 +49,9 @@ namespace zypp {
str::split(it->second, std::back_inserter(_no_proxy), ", \t");
}
- std::string ProxyInfoSysconfig::proxy(const std::string & protocol_r) const
+ std::string ProxyInfoSysconfig::proxy(const Url & url_r) const
{
- map
participants (1)
-
David Woodhouse