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

Issue 881612 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Oct 10
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug


Participants' hotlists:
Better-Together-Launch-Blockers


Sign in to add a comment

EasyUnlock grandfathered support will not work correctly

Project Member Reported by lesliewatkins@chromium.org, Sep 6

Issue description

See b/112856481

On the CrOS side, EASY_UNLOCK_HOST needs to be disabled when BETTER_TOGETHER_HOST is explicitly disabled (ie when the user clicks the "Forget Phone" button). 
 
Labels: M-70 OS-Chrome
Owner: lesliewatkins@chromium.org
Status: Assigned (was: Untriaged)
Leslie do you mind taking this on? Do you still have a working chromium setup handy?
I no longer have a working chromium setup handy. I could set everything back up and hopefully have this change in by the end of the week/early next week, but I think it would be a lot quicker to let someone else take this. 
Cc: lesliewatkins@chromium.org
Owner: nohle@chromium.org
Josh, I think this might be a good thing for you to grab that's a bit higher priority than the other bug you're currently working on. Leslie, do you mind giving Josh some context off-thread and walking him through what he'd need to change?
Yep!

Josh, let me know when you're ready to manually test the changes with a phone. 
Project Member

Comment 5 by bugdroid1@chromium.org, Sep 8

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

commit 14af52f2c0b2928008dcbb87acb81e75a05cf86e
Author: Josh Nohle <nohle@google.com>
Date: Sat Sep 08 00:07:36 2018

[CrOS MultiDevice] Disable EASY_UNLOCK_HOST when BETTER_TOGETHER_HOST disabled

On the GmsCore side, EASY_UNLOCK_HOST is blacklisted from being
automatically disabled when BETTER_TOGETHER_HOST is disabled. This is
done to prevent CryptAuth from losing the enabled status of EasyUnlock
on host devices that have grandfathered-in EasyUnlock support. In order
to disable EasyUnlock, it must be done so explicitly. Therefore, when
the user chooses to manually disable all Better Together features via the
"Forget this device" button in Chrome OS or a comparable method on Android,
EASY_UNLOCK_HOST should be explicitly disabled in addition to
BETTER_TOGETHER_HOST.

  - before this change, EASY_UNLOCK_HOST was *not* disabled when "Forget
    this device" button was used, and
  - after this change, EASY_UNLOCK_HOST *was* disabled when "Forget this
    device" button was used.

Bug:  881612 
Change-Id: If1f1898a8942f9c42a0f5cceb20095ad1ef087d5
Tested: Manually verified that when EASY_UNLOCK_HOST is blacklisted,
Reviewed-on: https://chromium-review.googlesource.com/1212742
Reviewed-by: Jeremy Klein <jlklein@chromium.org>
Commit-Queue: Josh Nohle <nohle@chromium.org>
Cr-Commit-Position: refs/heads/master@{#589727}
[modify] https://crrev.com/14af52f2c0b2928008dcbb87acb81e75a05cf86e/chromeos/services/device_sync/public/cpp/fake_device_sync_client.cc
[modify] https://crrev.com/14af52f2c0b2928008dcbb87acb81e75a05cf86e/chromeos/services/device_sync/public/cpp/fake_device_sync_client.h
[modify] https://crrev.com/14af52f2c0b2928008dcbb87acb81e75a05cf86e/chromeos/services/multidevice_setup/host_backend_delegate_impl.cc
[modify] https://crrev.com/14af52f2c0b2928008dcbb87acb81e75a05cf86e/chromeos/services/multidevice_setup/host_backend_delegate_impl_unittest.cc

Labels: Merge-Request-70
Project Member

Comment 7 by sheriffbot@chromium.org, Sep 9

Labels: -Merge-Request-70 Hotlist-Merge-Approved Merge-Approved-70
Your change meets the bar and is auto-approved for M70. Please go ahead and merge the CL to branch 3538 manually. Please contact milestone owner if you have questions.
Owners: benmason@(Android), kariahda@(iOS), geohsu@(ChromeOS), abdulsyed@(Desktop)

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

Comment 8 by bugdroid1@chromium.org, Sep 10

Labels: -merge-approved-70 merge-merged-3538
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/e16e3b72279f824c9a54d28439309bfd558408c0

commit e16e3b72279f824c9a54d28439309bfd558408c0
Author: Josh Nohle <nohle@google.com>
Date: Mon Sep 10 16:31:10 2018

[CrOS MultiDevice] Disable EASY_UNLOCK_HOST when BETTER_TOGETHER_HOST disabled

On the GmsCore side, EASY_UNLOCK_HOST is blacklisted from being
automatically disabled when BETTER_TOGETHER_HOST is disabled. This is
done to prevent CryptAuth from losing the enabled status of EasyUnlock
on host devices that have grandfathered-in EasyUnlock support. In order
to disable EasyUnlock, it must be done so explicitly. Therefore, when
the user chooses to manually disable all Better Together features via the
"Forget this device" button in Chrome OS or a comparable method on Android,
EASY_UNLOCK_HOST should be explicitly disabled in addition to
BETTER_TOGETHER_HOST.

  - before this change, EASY_UNLOCK_HOST was *not* disabled when "Forget
    this device" button was used, and
  - after this change, EASY_UNLOCK_HOST *was* disabled when "Forget this
    device" button was used.

Bug:  881612 
Change-Id: If1f1898a8942f9c42a0f5cceb20095ad1ef087d5
Tested: Manually verified that when EASY_UNLOCK_HOST is blacklisted,
Reviewed-on: https://chromium-review.googlesource.com/1212742
Reviewed-by: Jeremy Klein <jlklein@chromium.org>
Commit-Queue: Josh Nohle <nohle@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#589727}(cherry picked from commit 14af52f2c0b2928008dcbb87acb81e75a05cf86e)
Reviewed-on: https://chromium-review.googlesource.com/1216709
Cr-Commit-Position: refs/branch-heads/3538@{#223}
Cr-Branched-From: 79f7c91a2b2a2932cd447fa6f865cb6662fa8fa6-refs/heads/master@{#587811}
[modify] https://crrev.com/e16e3b72279f824c9a54d28439309bfd558408c0/chromeos/services/device_sync/public/cpp/fake_device_sync_client.cc
[modify] https://crrev.com/e16e3b72279f824c9a54d28439309bfd558408c0/chromeos/services/device_sync/public/cpp/fake_device_sync_client.h
[modify] https://crrev.com/e16e3b72279f824c9a54d28439309bfd558408c0/chromeos/services/multidevice_setup/host_backend_delegate_impl.cc
[modify] https://crrev.com/e16e3b72279f824c9a54d28439309bfd558408c0/chromeos/services/multidevice_setup/host_backend_delegate_impl_unittest.cc

Status: Fixed (was: Assigned)
Labels: -M-70 M-71
Status: Started (was: Fixed)
See review comments post-submission for https://chromium-review.googlesource.com/c/chromium/src/+/1212742. We still have an edge case to fix here. That being said, the fixes above should work for most cases, so I don't think the extra fix needs to be merged to M-70, so I'm moving the target for this fix to M-71.
Components: -UI>ProximityAuth UI>Multidevice
Here's a little more context:

On the GmsCore side, the enabled/disabled state of supported features (eg., MAGIC_TETHER_HOST) are aligned with that of BETTER_TOGETHER_HOST (cl/207356721). So, if BETTER_TOGETHER_HOST is enabled/disabled, all other supported features should be enabled/disabled as well. However, EASY_UNLOCK_HOST is blacklisted from being automatically disabled (cl/212997905). This is done to prevent CryptAuth from losing the enabled status of EasyUnlock on host devices that have grandfathered-in EasyUnlock support.

In order to disable EasyUnlock, it must be done so explicitly. Therefore, when the user chooses to manually disable all BetterTogether features via the "Forget this device" button in ChromeOS or a comparable method on Android, EASY_UNLOCK_HOST should be explicitly disabled in addition to BETTER_TOGETHER_HOST. 
Project Member

Comment 13 by bugdroid1@chromium.org, Oct 10

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

commit 3bf5ee0d9bf8308fd12803a4be3fab95c56874ec
Author: Josh Nohle <nohle@google.com>
Date: Wed Oct 10 00:18:31 2018

[CrOS MultiDevice] Refactor: Disable EASY_UNLOCK_HOST when BETTER_TOGETHER_HOST disabled

This CL is a rework of
https://chromium-review.googlesource.com/c/chromium/src/+/1212742.

This class watches for BETTER_TOGETHER_HOST to be disabled on all
devices and responds by also disabling EASY_UNLOCK_HOST. If the
attempt to disable EASY_UNLOCK_HOST fails, a retry attempt takes
place every 5 minutes or when ChromeOS is restarted.

Bug:  881612 
Change-Id: If579c64322f876d59a6d6cfd38bbe8cda87895c7
Tested: Manual and chromeos_unittests
Reviewed-on: https://chromium-review.googlesource.com/c/1250096
Commit-Queue: Josh Nohle <nohle@chromium.org>
Reviewed-by: Kyle Horimoto <khorimoto@chromium.org>
Cr-Commit-Position: refs/heads/master@{#598143}
[modify] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/BUILD.gn
[add] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/grandfathered_easy_unlock_host_disabler.cc
[add] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/grandfathered_easy_unlock_host_disabler.h
[add] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/grandfathered_easy_unlock_host_disabler_unittest.cc
[modify] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/host_backend_delegate_impl.cc
[modify] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/host_backend_delegate_impl_unittest.cc
[modify] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/multidevice_setup_impl.cc
[modify] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/multidevice_setup_impl.h
[modify] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/multidevice_setup_impl_unittest.cc
[modify] https://crrev.com/3bf5ee0d9bf8308fd12803a4be3fab95c56874ec/chromeos/services/multidevice_setup/multidevice_setup_service.cc

Status: Fixed (was: Started)

Sign in to add a comment