From 30b18d8e158a7564d2d0d77239c075fc13ffd561 Mon Sep 17 00:00:00 2001 From: Carmelo Messina Date: Sat, 30 Jan 2021 17:23:11 +0100 Subject: [PATCH] added reading of kProxyReverseBypass from config --- .../Add-a-proxy-configuration-page.patch | 53 +++++++++++++++---- 1 file changed, 44 insertions(+), 9 deletions(-) diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 14101efd..105aad53 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -23,11 +23,12 @@ Offer auto-complete for the proxy page URL. chrome/common/webui_url_constants.cc | 4 + chrome/common/webui_url_constants.h | 2 + .../core/browser/proxy_policy_handler.cc | 2 +- - .../proxy_config/proxy_config_dictionary.cc | 22 +- - .../proxy_config/proxy_config_dictionary.h | 6 +- + .../pref_proxy_config_tracker_impl.cc | 1 + + .../proxy_config/proxy_config_dictionary.cc | 30 +- + .../proxy_config/proxy_config_dictionary.h | 7 +- net/proxy_resolution/proxy_config.cc | 52 ++- net/proxy_resolution/proxy_config.h | 3 + - 20 files changed, 953 insertions(+), 14 deletions(-) + 21 files changed, 963 insertions(+), 14 deletions(-) create mode 100644 chrome/browser/resources/proxy_config.css create mode 100644 chrome/browser/resources/proxy_config.html create mode 100644 chrome/browser/resources/proxy_config.js @@ -1079,6 +1080,17 @@ diff --git a/components/policy/core/browser/proxy_policy_handler.cc b/components } break; } +diff --git a/components/proxy_config/pref_proxy_config_tracker_impl.cc b/components/proxy_config/pref_proxy_config_tracker_impl.cc +--- a/components/proxy_config/pref_proxy_config_tracker_impl.cc ++++ b/components/proxy_config/pref_proxy_config_tracker_impl.cc +@@ -380,6 +380,7 @@ bool PrefProxyConfigTrackerImpl::PrefConfigToNetConfig( + if (proxy_dict.GetBypassList(&proxy_bypass)) { + proxy_config.proxy_rules().bypass_rules.ParseFromString(proxy_bypass); + } ++ proxy_config.proxy_rules().reverse_bypass = proxy_dict.HasReverseBypass(); + *config = net::ProxyConfigWithAnnotation( + proxy_config, kSettingsProxyConfigTrafficAnnotation); + return true; diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/proxy_config/proxy_config_dictionary.cc --- a/components/proxy_config/proxy_config_dictionary.cc +++ b/components/proxy_config/proxy_config_dictionary.cc @@ -1091,7 +1103,22 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro } // namespace -@@ -79,29 +81,30 @@ const base::Value& ProxyConfigDictionary::GetDictionary() const { +@@ -72,6 +74,14 @@ bool ProxyConfigDictionary::HasBypassList() const { + return dict_.FindKey(kProxyBypassList); + } + ++bool ProxyConfigDictionary::HasReverseBypass() const { ++ const base::Value* value = dict_.FindKey(kProxyReverseBypass); ++ if (!value || !value->is_bool()) { ++ return false; ++ } ++ return value->GetBool(); ++} ++ + const base::Value& ProxyConfigDictionary::GetDictionary() const { + return dict_; + } +@@ -79,29 +89,30 @@ const base::Value& ProxyConfigDictionary::GetDictionary() const { // static base::Value ProxyConfigDictionary::CreateDirect() { return CreateDictionary(ProxyPrefs::MODE_DIRECT, std::string(), false, @@ -1127,7 +1154,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro } else { return CreateDirect(); } -@@ -110,7 +113,7 @@ base::Value ProxyConfigDictionary::CreateFixedServers( +@@ -110,7 +121,7 @@ base::Value ProxyConfigDictionary::CreateFixedServers( // static base::Value ProxyConfigDictionary::CreateSystem() { return CreateDictionary(ProxyPrefs::MODE_SYSTEM, std::string(), false, @@ -1136,7 +1163,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro } // static -@@ -119,7 +122,8 @@ base::Value ProxyConfigDictionary::CreateDictionary( +@@ -119,7 +130,8 @@ base::Value ProxyConfigDictionary::CreateDictionary( const std::string& pac_url, bool pac_mandatory, const std::string& proxy_server, @@ -1146,7 +1173,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro base::Value dict(base::Value::Type::DICTIONARY); dict.SetKey(kProxyMode, base::Value(ProxyModeToString(mode))); if (!pac_url.empty()) { -@@ -128,8 +132,10 @@ base::Value ProxyConfigDictionary::CreateDictionary( +@@ -128,8 +140,10 @@ base::Value ProxyConfigDictionary::CreateDictionary( } if (!proxy_server.empty()) dict.SetKey(kProxyServer, base::Value(proxy_server)); @@ -1161,7 +1188,15 @@ diff --git a/components/proxy_config/proxy_config_dictionary.cc b/components/pro diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/proxy_config/proxy_config_dictionary.h --- a/components/proxy_config/proxy_config_dictionary.h +++ b/components/proxy_config/proxy_config_dictionary.h -@@ -46,7 +46,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary { +@@ -38,6 +38,7 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary { + bool GetProxyServer(std::string* out) const; + bool GetBypassList(std::string* out) const; + bool HasBypassList() const; ++ bool HasReverseBypass() const; + + const base::Value& GetDictionary() const; + +@@ -46,7 +47,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary { static base::Value CreatePacScript(const std::string& pac_url, bool pac_mandatory); static base::Value CreateFixedServers(const std::string& proxy_server, @@ -1171,7 +1206,7 @@ diff --git a/components/proxy_config/proxy_config_dictionary.h b/components/prox static base::Value CreateSystem(); // Encodes the proxy server as "=://". -@@ -62,7 +63,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary { +@@ -62,7 +64,8 @@ class PROXY_CONFIG_EXPORT ProxyConfigDictionary { const std::string& pac_url, bool pac_mandatory, const std::string& proxy_server,