New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 608866 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Last visit > 30 days ago
Closed: May 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

shill: captive portal detection is broken on first boot

Project Member Reported by cernekee@chromium.org, May 3 2016

Issue description

The shill.conf upstart script says:

  # If OOBE has not completed (i.e. EULA not agreed to), do not run
  # portal checks.
  if [ ! -f /home/chronos/.oobe_completed ]; then
    ARGS="${ARGS} --portal-list="
  fi

This not only blocks portal detection during OOBE; it also blocks portal detection *after* the user has signed in, until he reboots the system.  Captive portal wifi networks will be ranked incorrectly in shill's service sort order (e.g. a wifi network with no access to the internet could be chosen over a working LTE network).  It also causes some complications when reconnecting to VPNs after a connection change - the problem was discovered while testing the fix for  bug 598781  (VPN reconnections can fail when using a captive portal).

I would propose removing this check unless there is a compelling reason to keep it.  Are there any objections?
 
Cc: alberto@chromium.org
Cc: battre@chromium.org
battre@ - Any idea why EULA agreement would be needed prior to captive portal detection? I can't think of a reason why it would.
Cc: -pstew@chromium.org sumit@chromium.org
+sumit might remember the history of this.
Cc: -sumit@chromium.org pstew@chromium.org
oops. didn't mean to drop pstew@ from the thread.
Cc: sumit@chromium.org
<sigh> editing bugs is hard
> chrome/browser/chromeos/login/wizard_controller.cc

This code isn't actually running in my setup; I added log prints on both sides and nothing came out.

And now that I come to think of it, I'm not being asked to click through the EULA either.  Maybe one of these factors is to blame:

1) I'm running locally built test images (so they're Chromium, not Chrome)

2) I'm constantly transitioning between enterprise-enrolled + normal configurations by running `crossystem clear_tpm_owner_request=1 && reboot`

3) I'm hitting ESC to skip the update check, because Omaha times out on test images

I don't think it's (3) because nothing changed when I didn't skip the step.

I don't think it's (2) because nothing changed after a powerwash.  I probably should have reflashed via recovery to be sure, but didn't feel like spending the time yet.

So maybe skipping the EULA is WAI for (1), and that has surprising side effects on portal detection?

Comment 8 by pstew@chromium.org, May 3 2016

Assuming the actual "production" flow works correctly, wouldn't just "touch /home/chronos/.oobe_completed" fix your test workflow?
Now that we know what the problem is, merely rebooting would fix my test workflow.

So I guess the question is whether there's a good justification to leave this booby trap in the code?  This seems like something that's likely to pop up again the next time somebody tries to bisect or debug a problem with captive portal detection.

If we can't change the script, maybe Chrome should set up the CheckPortalList when it triggers the initial update check.
Cc: ctanaka@chromium.org
+ctanaka

I don't know whether there is a legal reason to have EULA consent before portal detection.

One question: Are we talking about portal detection or also about the user interacting with the portal? In the latter case there may be a risk that the user browses the web without EULA consent.
If we allow captive portal detection without EULA consent, will the user still be prompted for EULA consent next time they launch the browser? Or would this permanently bypass EULA consent for all users who happen to go through first run on a captive portal?
This captive portal detection happens at the shill layer so it should not affect the EULA UI flow.
Project Member

Comment 13 by sheriffbot@chromium.org, May 8 2017

Status: Archived (was: Unconfirmed)
Issue has not been modified or commented on in the last 365 days, please re-open or file a new bug if this is still an issue.

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot

Sign in to add a comment