New issue
Advanced search Search tips

Issue 825970 link

Starred by 2 users

Issue metadata

Status: Fixed
Owner:
Closed: Oct 12
Components:
EstimatedDays: ----
NextAction: ----
OS: Android
Pri: 3
Type: Bug
Team-Security-UX



Sign in to add a comment

Trigger a new captive portal check on Android when only SSL error is a name mismatch

Project Member Reported by mea...@chromium.org, Mar 26 2018

Issue description

Consider the following scenario where a captive portal requires an SMS based auth on a device with a cellular and Wi-Fi connections (captive portal is on Wi-Fi):

(1) Connect to the Wi-Fi. Android will display a system notification that says "Sign in to Wi-Fi network".
(2) Try signing in. The portal wants to send an SMS to your phone number before allowing internet access.
(3) Enter your phone number and get an auth code via SMS.
(4) There is now no apparent way to sign in to the portal again, because tapping the notification previously made it disappear. Android won't probe the portal soon, as it implements a backs off. Chrome only knows about the good network (cellular) so it can't show a captive portal interstitial.

Chrome should call reportNetworkConnectivity to hint Android to probe the portal again. This will trigger the "Sign in to Wi-Fi" notification again so that the user can login. A name-mismatch SSL error is a good place to do this, as that's what most well-behaved captive portal interceptions should manifest.

 

Comment 1 by mea...@chromium.org, Mar 26 2018

Labels: OS-Android

Comment 2 by mea...@chromium.org, Mar 26 2018

Description: Show this description

Comment 3 by est...@chromium.org, Mar 31 2018

Status: Available (was: Untriaged)
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 12 2018

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

commit a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c
Author: Mustafa Emre Acer <meacer@chromium.org>
Date: Thu Apr 12 18:07:13 2018

Report network connectivity on name-mismatch only SSL errors and known captive portals

This CL triggers a reportNetworkConnectivity call when an SSL interstitial is to be
displayed and either the only error is a name mismatch or that a known captive portal certificate
is observed. This will cause Android to re-evaluate its captive portal status on all networks.
Android may decide to put up a system notification if it detects a captive portal.

Bug:  825970 

Change-Id: Ifedcd7db0d184c9e4f7c2156df37766d7c298928
Reviewed-on: https://chromium-review.googlesource.com/996900
Commit-Queue: Mustafa Emre Acer <meacer@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550267}
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/android/java/src/org/chromium/chrome/browser/ssl/CaptivePortalHelper.java
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/captive_portal_helper_android.cc
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/captive_portal_helper_android.h
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/ssl_browsertest.cc
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/ssl_error_handler.cc
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/ssl_error_handler.h
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/ssl_error_handler_unittest.cc

Project Member

Comment 5 by bugdroid1@chromium.org, Apr 17 2018

Labels: merge-merged-testbranch
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c

commit a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c
Author: Mustafa Emre Acer <meacer@chromium.org>
Date: Thu Apr 12 18:07:13 2018

Report network connectivity on name-mismatch only SSL errors and known captive portals

This CL triggers a reportNetworkConnectivity call when an SSL interstitial is to be
displayed and either the only error is a name mismatch or that a known captive portal certificate
is observed. This will cause Android to re-evaluate its captive portal status on all networks.
Android may decide to put up a system notification if it detects a captive portal.

Bug:  825970 

Change-Id: Ifedcd7db0d184c9e4f7c2156df37766d7c298928
Reviewed-on: https://chromium-review.googlesource.com/996900
Commit-Queue: Mustafa Emre Acer <meacer@chromium.org>
Reviewed-by: Ted Choc <tedchoc@chromium.org>
Reviewed-by: Emily Stark <estark@chromium.org>
Cr-Commit-Position: refs/heads/master@{#550267}
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/android/java/src/org/chromium/chrome/browser/ssl/CaptivePortalHelper.java
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/captive_portal_helper_android.cc
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/captive_portal_helper_android.h
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/ssl_browsertest.cc
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/ssl_error_handler.cc
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/ssl_error_handler.h
[modify] https://crrev.com/a28eea09d40bc68a3b7363ff6e8db4dc06f0a98c/chrome/browser/ssl/ssl_error_handler_unittest.cc

Owner: meacer@google.com
hi meacer, i'm doing a bug cleanup. can this bug be closed?
Status: Fixed (was: Available)
Yes, this is fixed.

Sign in to add a comment