New issue
Advanced search Search tips

Issue 902418 link

Starred by 2 users

Issue metadata

Status: Untriaged
Owner: ----
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 3
Type: Bug



Sign in to add a comment

Does ChromeOS need <local> proxy bypass rule?

Project Member Reported by eroman@chromium.org, Nov 6

Issue description

ChromeOS implicitly adds the <local> bypass rule to manual proxy settings.

This was originally added in https://codereview.chromium.org/7256003 as a means to bypass localhost and 127.0.0.1.

That is no longer how <local> works. localhost and 127.0.0.1 are implicitly bypassed with or without the <local> rule. So the actual effect of having <local> is to bypass "simple hostnames" -- those without any dots in them.

This makes ChromeOS behave the same as macOS when you have clicked the "Exclude simple hostnames" checkbox in the proxy settings.

Having this bypass rule implicitly added is inflexible, as it means users are unable to proxy those names if they choose to. It would be better expressed as an option like on other platforms.
 
Project Member

Comment 1 by bugdroid1@chromium.org, Nov 12

The following revision refers to this bug:
  https://chromium.googlesource.com/catapult/+/662c038f3fdd57f661d01e5244f9b4cf26444178

commit 662c038f3fdd57f661d01e5244f9b4cf26444178
Author: Eric Roman <eroman@chromium.org>
Date: Mon Nov 12 10:40:27 2018

Don't pass the --proxy-server flag when launching the browser for ChromeOS (remote).

Since the --proxy-server being specified is invalid, and not reachable from the VM. The ChromeOS setup is actually forwarding the HTTP server's port and not the proxy server's.

Bug:  chromium:902579 
Bug: chromium:902418
Change-Id: I919bee249be2af3c30fd871a0e7b0767f067c74e
Reviewed-on: https://chromium-review.googlesource.com/c/1330680
Commit-Queue: Juan Antonio Navarro Pérez <perezju@chromium.org>
Auto-Submit: Eric Roman <eroman@chromium.org>
Reviewed-by: Juan Antonio Navarro Pérez <perezju@chromium.org>

[modify] https://crrev.com/662c038f3fdd57f661d01e5244f9b4cf26444178/telemetry/telemetry/internal/backends/chrome/cros_browser_finder.py
[modify] https://crrev.com/662c038f3fdd57f661d01e5244f9b4cf26444178/telemetry/telemetry/internal/backends/chrome/chrome_startup_args.py
[modify] https://crrev.com/662c038f3fdd57f661d01e5244f9b4cf26444178/telemetry/telemetry/internal/backends/chrome/chrome_startup_args_unittest.py

Project Member

Comment 2 by bugdroid1@chromium.org, Nov 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/2e38d313a49bc8c28b8ce38f004776dbf4357b99

commit 2e38d313a49bc8c28b8ce38f004776dbf4357b99
Author: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Date: Mon Nov 12 12:53:42 2018

Roll src/third_party/catapult cc4ed36d5b76..662c038f3fdd (1 commits)

https://chromium.googlesource.com/catapult.git/+log/cc4ed36d5b76..662c038f3fdd


git log cc4ed36d5b76..662c038f3fdd --date=short --no-merges --format='%ad %ae %s'
2018-11-12 eroman@chromium.org Don't pass the --proxy-server flag when launching the browser for ChromeOS (remote).


Created with:
  gclient setdep -r src/third_party/catapult@662c038f3fdd

The AutoRoll server is located here: https://autoroll.skia.org/r/catapult-autoroll

Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md

If the roll is causing failures, please contact the current sheriff, who should
be CC'd on the roll, and stop the roller if necessary.

CQ_INCLUDE_TRYBOTS=luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:win_optional_gpu_tests_rel

BUG= chromium:902579 ,chromium:902418
TBR=sullivan@chromium.org

Change-Id: I6f914d7d5118349371d42e1d32e6d2ef9dd84833
Reviewed-on: https://chromium-review.googlesource.com/c/1331186
Reviewed-by: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Commit-Queue: chromium-autoroll <chromium-autoroll@skia-public.iam.gserviceaccount.com>
Cr-Commit-Position: refs/heads/master@{#607204}
[modify] https://crrev.com/2e38d313a49bc8c28b8ce38f004776dbf4357b99/DEPS

Project Member

Comment 3 by bugdroid1@chromium.org, Nov 12

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/efdf315bc867468592bfe7a58da2225935281e7d

commit efdf315bc867468592bfe7a58da2225935281e7d
Author: Eric Roman <eroman@chromium.org>
Date: Mon Nov 12 16:57:08 2018

Prepend rather than append the <local> proxy bypass rule on Chrome OS.

This fixes BasicAuthWSConnect.BasicAuthWSConnect.

The ordering of proxy bypass rules only mattered until recently, with the addition of the <-loopback> bypass rule ( Issue 413511 ). That rule gives a way to "subtract" the bypass of localhost, and can be used by tests need to proxy localhost (see Issue 901896).

Because later rules have priority over earlier rules, we need to move <local> to the front, or it won't be possible for user-provided (explicit) rules to override it.

Bug: 902418
Change-Id: I40fb6e23e7b79ba628595cd6724de627bedb5f73
Reviewed-on: https://chromium-review.googlesource.com/c/1321853
Commit-Queue: Eric Roman <eroman@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607267}
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/chrome/browser/chromeos/proxy_config_service_impl_unittest.cc
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/chrome/browser/net/proxy_browsertest.cc
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/chromeos/network/proxy/proxy_config_service_impl.cc
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/chromeos/test/data/network/proxy_config.json
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/chromeos/test/data/network/shill_wifi_proxy.json
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/chromeos/test/data/network/toplevel_wifi_wep_proxy.onc
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/chromeos/test/data/network/translation_of_shill_wifi_proxy.onc
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/chromeos/test/data/network/wifi_proxy.onc
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/net/proxy_resolution/proxy_bypass_rules.cc
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/net/proxy_resolution/proxy_bypass_rules.h
[modify] https://crrev.com/efdf315bc867468592bfe7a58da2225935281e7d/net/proxy_resolution/proxy_config_service_mac.cc

Project Member

Comment 4 by bugdroid1@chromium.org, Nov 13

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/15242c0c52f055089ca410881dc049f43a2c4e62

commit 15242c0c52f055089ca410881dc049f43a2c4e62
Author: Eric Roman <eroman@chromium.org>
Date: Tue Nov 13 02:04:50 2018

Fix the interpretation of the <local> proxy bypass rule.

The rule should just match simple hostnames, and previously was confused (both in implementation and consumers) into acting like a bypass for localhost.

The compatibility risk of changing its meaning (given this may be serialized in preferences or used by extensions) is low, since a previous change added implicit bypass on localhost. Hence the overall impact of fixing <local> now is just that IPv6 IP addresses are no longer bypassed. That IPv6 literals were being bypassed by the check was unexpected and a bug.

Bug:  902579 , 902418
Change-Id: I5937048e3f927c66668e39e4ceb589ef8516e874
Reviewed-on: https://chromium-review.googlesource.com/c/1320849
Commit-Queue: Eric Roman <eroman@chromium.org>
Reviewed-by: Devlin <rdevlin.cronin@chromium.org>
Reviewed-by: Steven Bennetts <stevenjb@chromium.org>
Reviewed-by: Tarun Bansal <tbansal@chromium.org>
Reviewed-by: Matt Menke <mmenke@chromium.org>
Cr-Commit-Position: refs/heads/master@{#607435}
[modify] https://crrev.com/15242c0c52f055089ca410881dc049f43a2c4e62/chrome/common/extensions/docs/templates/intros/proxy.html
[modify] https://crrev.com/15242c0c52f055089ca410881dc049f43a2c4e62/chromeos/network/proxy/proxy_config_service_impl.cc
[modify] https://crrev.com/15242c0c52f055089ca410881dc049f43a2c4e62/components/data_reduction_proxy/core/browser/data_reduction_proxy_config.cc
[modify] https://crrev.com/15242c0c52f055089ca410881dc049f43a2c4e62/net/proxy_resolution/proxy_bypass_rules.cc
[modify] https://crrev.com/15242c0c52f055089ca410881dc049f43a2c4e62/net/proxy_resolution/proxy_bypass_rules.h
[modify] https://crrev.com/15242c0c52f055089ca410881dc049f43a2c4e62/net/proxy_resolution/proxy_bypass_rules_unittest.cc
[modify] https://crrev.com/15242c0c52f055089ca410881dc049f43a2c4e62/net/proxy_resolution/proxy_config_service_mac.cc

Description: Show this description
Labels: Enterprise-Triaged

Sign in to add a comment