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

Issue 747907 link

Starred by 4 users

Issue metadata

Status: Verified
Owner:
Closed: Sep 2017
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocked on:
issue 747930



Sign in to add a comment

Manage ext4 migration for edu by user policy EcryptfsMigrationStrategy

Project Member Reported by pmarko@chromium.org, Jul 24 2017

Issue description

Forked this from  bug 722371 .

Going forward,
-  bug 722371  will be used to track efforts around device policy DeviceEcryptfsMigrationStrategy (<=M60)
- this bug will be used to track efforts around user policy EcryptfsMigrationStrategy (>=M61)

Client-side design for user policy control: go/chromeos-ext4-migration-user-policy
Server-side bug: b/63972857
 

Comment 1 by pmarko@chromium.org, Jul 24 2017

Labels: -Pri-2 M-61 Pri-1
Original implementation of EcryptfsMigrationStrategy was done as part of  bug 722371  with the following CLs:

cros system_api: https://chromium-review.googlesource.com/c/562137/
cros libbrillo: https://chromium-review.googlesource.com/c/562277/
cros session_manager: https://chromium-review.googlesource.com/c/562158/
cros cryptohome: https://chromium-review.googlesource.com/c/562157/

chromium user policy introduction: https://chromium-review.googlesource.com/c/564609/
chromium histogram fix: https://chromium-review.googlesource.com/579382

The last CL needs merging to M61.

Comment 2 by pmarko@chromium.org, Jul 24 2017

Description: Show this description

Comment 3 by pmarko@chromium.org, Jul 24 2017

Status: Started (was: Assigned)

Comment 4 by pmarko@chromium.org, Jul 24 2017

Blockedon: 747930
Project Member

Comment 5 by bugdroid1@chromium.org, Jul 26 2017

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

commit 4a64c3939c211c131d16161c2c485831e7f6fc19
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Jul 26 14:23:30 2017

Temporarily change ext4 user policy default to ASK_USER

Change the default value of the EcryptfMigrationStrategy policy for
managed users who don't get a valid policy value. Instead of
DISALLOW_ARC_NO_MIGRATION, the default value will be ASK_USER.

This change is made to make testing of ext4 migration easier before the
server-side changes to support the policy land. This change will be
reverted when that happens - tracked in  bug 747930 .

BUG= 747907 
TEST=Manual test

Change-Id: Ia74a71f08818e09fbe3682c64cc18f8aae46ecee
Reviewed-on: https://chromium-review.googlesource.com/582648
Reviewed-by: Alexander Alekseev <alemate@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#489634}
[modify] https://crrev.com/4a64c3939c211c131d16161c2c485831e7f6fc19/chrome/browser/chromeos/login/existing_user_controller.cc

Comment 6 by pmarko@chromium.org, Jul 27 2017

Labels: Merge-Request-61
Requesting to merge the above commit to M61 branch.
It changes default behavior for not-present policy until the policy is implemented server-side, and will be reverted in  bug 747930 .
Labels: -Merge-Request-61 Merge-Approved-61
Approving merge to M61 Chrome OS.
Project Member

Comment 8 by bugdroid1@chromium.org, Jul 31 2017

Labels: -merge-approved-61 merge-merged-3163
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/38d33c7aa8a50a41c2c57583b059585e86219d50

commit 38d33c7aa8a50a41c2c57583b059585e86219d50
Author: Pavol Marko <pmarko@chromium.org>
Date: Mon Jul 31 07:36:27 2017

[Merge to M61] Temporarily change ext4 user policy default to ASK_USER

Change the default value of the EcryptfMigrationStrategy policy for
managed users who don't get a valid policy value. Instead of
DISALLOW_ARC_NO_MIGRATION, the default value will be ASK_USER.

This change is made to make testing of ext4 migration easier before the
server-side changes to support the policy land. This change will be
reverted when that happens - tracked in  bug 747930 .

BUG= 747907 
TEST=Manual test
TBR=pmarko@chromium.org

(cherry picked from commit 4a64c3939c211c131d16161c2c485831e7f6fc19)

Change-Id: Ia74a71f08818e09fbe3682c64cc18f8aae46ecee
Reviewed-on: https://chromium-review.googlesource.com/582648
Reviewed-by: Alexander Alekseev <alemate@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#489634}
Reviewed-on: https://chromium-review.googlesource.com/593314
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#144}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/38d33c7aa8a50a41c2c57583b059585e86219d50/chrome/browser/chromeos/login/existing_user_controller.cc

Comment 9 by pmarko@chromium.org, Aug 28 2017

Cc: naveenv@chromium.org atwilson@chromium.org
Summarizing additional changes we have decided to implement and merge to M61:
( https://docs.google.com/document/d/1IK9rq0K8gE9o2YTTWKPZGk2o7Y13lCOiKb8ztXwda4g/
 )

(1) Switch wipe migration to minimal migration unless we find issues
  Who: pmarko@ 
  Status: Implementation about to land soon, then we have to merge to M-61.
(2) Completely remove the banner announcing an update from the user selection screen.
  Who: pmarko@
  Plan: Disable for M-61, remove for M-62+
  Status: In progress.
(3) Reduce battery threshold from 30% to 10% for everyone.
  Who: pmarko@
  Status: In progress.
(4) Ensure that users can skip migration forced by policy (EcryptfsMigrationStrategy user policy value 1 == MIGRATE) if the battery is under the threshold.
  Who: pmarko@
  Status: In progress.
(5) Introduce new policy value with per-device behavior.
  Who: igorcov@
  Status: In progress.
I'm very uncomfortable with the idea of sending (1) to M61.  It makes non-trivial changes to the migration code and 61 is too far into beta to get any useful beta feedback/stats (any beta users who were going to migrate have probably already done so).
Re Comment #10:
The "minimal migration" code path is only triggered if the EcryptfsMigrationStratey policy value (sent from the server for managed users) is MINIMAL_MIGRATION.
Specifically:
- Unmanaged users are not affected
- Managed users are only affected if their administrator chooses to Wipe.

We are keeping the original policy value WIPE, and the plan is to remap the "Wipe" option in the Administrator Console back to the "WIPE" policy value if we see any issues with "MINIMAL_MIGRATION".

Are concerned with issues in the "minimal migration" codepath itself or possible regressions to other (regular) migration modes?
Cc: dspaid@chromium.org
+dspaid for e-mail notfication about Comment #11 :-)
Generally concerned about possible regressions.  The code itself isn't too scary, but any minor issue/race condition has the potential to destroy the entire user profile, and we're not going to get any useful data from dev/beta users about it since they've almost all migrated (stats indicate that dev is almost 100% migrated, beta was ~75% at the beginning of the week and will only increase from there).
Cc: keta...@chromium.org
Understood the concern about regressions - I think Pavol has outlined our opinion relatively well (his change is pretty safe and shouldn't impact the non-wipe case). It also addresses a significant usability issue the core of our user base (students, who will be forced to do a double-signin during migration in the absence of this change).

Anyhow, understood there's always a risk with changes this late in the cycle, and as with most such changes we'll need to rely on internal testing rather than getting feedback from the beta channel. We need to make a call whether the benefit outweighs this small risk. My personal opinion is that we should merge this, but it's not my decision :)

naveenv/ketakid - let us know if you need more data to make the call on merging this.

Project Member

Comment 15 by bugdroid1@chromium.org, Aug 30 2017

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

commit 715b9c42cf11b38a86a613be4ed195e49e8abfe8
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Aug 30 18:30:57 2017

Introduce additional EcryptfsMigrationStrategy values

Introduce additional values for the EcryptfsMigrationStrategy policy:
- MinimalMigrate (value 4) in preparation for minimal migration mode.
  For now, this behaves as wipe (so if we merge only this back to M-61,
  the M-61 client will use "Wipe" when this policy comes in).
- AskForEcryptfsArcUsers (value 5) in preparation for the new default
  for EDU.

Additionally, this CL:
- Changes the default value (if the cached policy is too old to contain
  the value) to kDisallowMigration as per  crbug.com/747930 
- Fixes handling of max value in DecodeMigrationActionFromPolicy.

BUG= 747907 , 747930 

Change-Id: Ib800b7d34aade8507a2c8f853d224fb33df40b95
Reviewed-on: https://chromium-review.googlesource.com/641871
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Igor <igorcov@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498542}
[modify] https://crrev.com/715b9c42cf11b38a86a613be4ed195e49e8abfe8/chrome/browser/chromeos/arc/policy/arc_policy_util.h
[modify] https://crrev.com/715b9c42cf11b38a86a613be4ed195e49e8abfe8/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/715b9c42cf11b38a86a613be4ed195e49e8abfe8/components/policy/resources/policy_templates.json

Is there at all a way to bound the regression risk? Scanning this thread, is it safe to say that this could only regress managed users who have received the 'wipe' policy? Or could the issues/race conditions that dan raises concerns about affect non-managed users in any way? It feels like the UI benefit would be significant to reduce re-login friction. And it seems like the possibility of regression is there, but what would be helpful is if that possibilities were bounded in any way (like I describe above).
Project Member

Comment 17 by bugdroid1@chromium.org, Aug 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/system_api/+/27810c6ba2d3f136811e516fe07d5562704a92ee

commit 27810c6ba2d3f136811e516fe07d5562704a92ee
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Aug 30 20:04:20 2017

system_api: Add MigrateToDircryptoEx to cryptohome API

Add method MigrateToDircryptoEx to cryptohome API.

BUG= chromium:747907 
TEST=none

Change-Id: Ide6f8d6dec9b70079abcfed25494edeee4f56ea3
Reviewed-on: https://chromium-review.googlesource.com/632476
Commit-Ready: Pavol Marko <pmarko@chromium.org>
Tested-by: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>

[modify] https://crrev.com/27810c6ba2d3f136811e516fe07d5562704a92ee/dbus/cryptohome/rpc.proto
[modify] https://crrev.com/27810c6ba2d3f136811e516fe07d5562704a92ee/dbus/cryptohome/dbus-constants.h

Project Member

Comment 18 by bugdroid1@chromium.org, Aug 30 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/71638cfd3c4f40d62256a41c4d55bf999c399712

commit 71638cfd3c4f40d62256a41c4d55bf999c399712
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Aug 30 20:04:21 2017

cryptohome: Support minimal migration

Add support for migration which only migrates whitelisted paths.
This migration mode should be very fast and we're fine with losing
most user data.

MigrateToDircryptoEx has an additional parameters:
- minimal_migration is a boolean. When it is true, only whitelisted
  paths necessary to be able to sign-in into the profile are migrated.

BUG= chromium:747907 
TEST=cros_run_unit_tests --board=<board> --packages cryptohome
TEST=Triggered minimal migration using CL:612086. Verified that the
following things work fine:
- Sign-in
- Sync (including extensions, keyboard layouts, bookmarks)
- Enterprise Policy (including force-installed extensions)
- ARC++
CQ-DEPEND=CL:632476

Change-Id: I6ca3ac2fbfa610569eaa332861e5401ff6266842
Reviewed-on: https://chromium-review.googlesource.com/612249
Commit-Ready: Pavol Marko <pmarko@chromium.org>
Tested-by: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>

[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/service.h
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/cryptohome_metrics.cc
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/interface.h
[add] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/migration_type.h
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/etc/Cryptohome.conf
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/cryptohome.cc
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/mount.cc
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/dircrypto_data_migrator/migration_helper.cc
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/dircrypto_data_migrator/migration_helper.h
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/service.cc
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/mount.h
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/cryptohome_metrics.h
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/interface.cc
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/dircrypto_data_migrator/migration_helper_unittest.cc
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/cryptohome.gyp
[modify] https://crrev.com/71638cfd3c4f40d62256a41c4d55bf999c399712/cryptohome/cryptohome.xml

Unfortunately the code is somewhat intertwined so the regressions are not necessarily limited to managed users.  Manual testing is also difficult as we found out initially because it really depends on what state the end user file systems are in.  There are lots of corrupted files out of there, as well as users with abnormal file systems due to crashes or update-related race conditions.  Our original implementation looked just as safe as this, but we ended up wiping the profile of ~5% of our dev users due to these unexpected states that we didn't catch in manual testing.

If the objective is just to not require the user to enter their password in twice the safe way to do some in M61 would probably be to bypass the migration entirely.  I'm not too familiar with the login logic, but I assume the current flow looks something like:
 1. get credentials
 2. Do some kind of policy check
 3. Call migrate with minimal flag
 4. Continue login

Instead could it just look like:
 1. get credentials
 2. Do some kind of policy check
 3. Call Remove on user's home directory
 4. Continue on as if the user's home directory had been evicted due to low storage
Re: Comment #19:
===== Genreal notes about re-sign in on removed cryptohome =====
Sadly, this currently has bad experience even in the "garbage-collected cryptohome" case, see  bug 524572  and bug 469990. It is fixable there (try to detect if cryptohome still exsits and if not, force online sign-in from the start), but has not been implemented yet.
(BTW I suspect that it used to work seamlessly before bug 447413 / when parallel_authenticator existed and tried both offline and online sign-in in parallel).

In our "wipe when user policy says so" case, it's not even fixable in this way:
- we only know the user policy after the user has entered their password
- only then can we find out that we're supposed to wipe the profile
- if we wipe it completely, we need to re-do the gaia flow. This is basically showing an embedded web page and waiting for it to succeed. We thought about injecting the stored password into the gaia flow, but this is rather hacky and would not play well with 2-factor auth or gaia speed bumps.

===== The CL in question with minimal_migration=false =====
So, I went through the CL again, and looked at what changed for the minimal_migration=false case.
The only effective change is in migration_helper.cc[1] in MigrateDir:
The special logic for skipping the GCache tmp directory (".../v1/tmp") has moved from the beginning of MigrateDir to before recursing into another MigrateDir call.

--- Old version (when encountering child ".../v1/tmp" somewhere in MigrateDir(".../v1") ---
IncrementChildCount(".../v1")
MigrateDir(".../v1/tmp")
  delete ".../v1/tmp" recursively, fail on error
  DecrementChildCountAndDeleteIfNecessary(".../v1")
  return

--- New version (when encountering child ".../v1/tmp" somewhere in MigrateDir(".../v1") ---
delete ".../v1/tmp" recursively, fail on error

So, we skip the child count increment-decrement steps on ".../v1" directory around deleting ".../v1/tmp".
IMO this is fine, because the ".../v1" directory always had a child count of >=1 anyway because of the "dummy child count increment" at the beginning of the MigrateDir(".../v1") call..

[1] https://chromium-review.googlesource.com/c/chromiumos/platform2/+/612249/14/cryptohome/dircrypto_data_migrator/migration_helper.cc
Project Member

Comment 21 by bugdroid1@chromium.org, Aug 31 2017

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

commit ea398ae5a05111e70ccc7ddabf5baf28f01f5adb
Author: Pavol Marko <pmarko@chromium.org>
Date: Thu Aug 31 13:13:21 2017

Roll src/third_party/cros_system_api/ d3b70a23a..27810c6ba (1 commit)

https://chromium.googlesource.com/chromiumos/platform/system_api.git/+log/d3b70a23a22a..27810c6ba2d3

$ git log d3b70a23a..27810c6ba --date=short --no-merges --format='%ad %ae %s'
2017-08-24 pmarko system_api: Add MigrateToDircryptoEx to cryptohome API

Created with:
  roll-dep src/third_party/cros_system_api

BUG= 747907 

Change-Id: I7973226cbdf3063b1127392b11414c5e6da4b38c
Reviewed-on: https://chromium-review.googlesource.com/645354
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498840}
[modify] https://crrev.com/ea398ae5a05111e70ccc7ddabf5baf28f01f5adb/DEPS

Project Member

Comment 22 by bugdroid1@chromium.org, Aug 31 2017

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

commit e1c3d9ba2a4a50261faaf8e4c3c21fcf64d3a67d
Author: Pavol Marko <pmarko@chromium.org>
Date: Thu Aug 31 14:42:18 2017

Only show encryption migration banner for consumer users

Disable the encryption migration banner on the user selection screen
if the user may be managed. The reason is that encryption migration
could be prevented by user policy, which can't be determined at the
point in time when the banner is displayed.

Also update the list of consumer domains - big thanks to zea@ for
extracting the current list!

BUG= 747907 

Change-Id: Ifc35285de101913cb314c48e434527fed386d4a3
Reviewed-on: https://chromium-review.googlesource.com/641433
Reviewed-by: Drew Wilson <atwilson@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Alexander Alekseev <alemate@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498863}
[modify] https://crrev.com/e1c3d9ba2a4a50261faaf8e4c3c21fcf64d3a67d/chrome/browser/chromeos/login/screens/user_selection_screen.cc
[modify] https://crrev.com/e1c3d9ba2a4a50261faaf8e4c3c21fcf64d3a67d/chrome/browser/chromeos/login/screens/user_selection_screen_browsertest.cc
[modify] https://crrev.com/e1c3d9ba2a4a50261faaf8e4c3c21fcf64d3a67d/components/policy/core/browser/browser_policy_connector.cc

Project Member

Comment 23 by bugdroid1@chromium.org, Aug 31 2017

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

commit a9808a6e140b1977fec203032d1a446d781d7843
Author: Pavol Marko <pmarko@chromium.org>
Date: Thu Aug 31 16:22:37 2017

Add minimal migration support

Add EcryptfsMigrationStrategy value MINIMAL_MIGRATE, which performs a
minimal ext4 migration, with only few files (esp. auth tokens and
channel binding information) whitelisted. This is similar to WIPE but
ensures that the user won't have to enter their password twice.

We monitor how long the minimal migration takes, and if it is longer
than 45 seconds, require a password re-entry for privacy reasons.

Depends on Chrome OS side CL:
https://chromium-review.googlesource.com/c/612249.

BUG= 747907 
TEST=unit_tests --gtest_filter=EncryptionMigrationScreenHandlerTest*
     Manual test with pre-existing ecryptfs user profile and user policy
     EcryptfsMigrationStrategy set to MINIMAL_MIGRATE(4).

Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I95f367b9219195936571da2af82dea38c91a1221
Reviewed-on: https://chromium-review.googlesource.com/612086
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Reviewed-by: Ilya Sherman <isherman@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498884}
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/chromeos/login/existing_user_controller.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/chromeos/login/screens/encryption_migration_mode.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/chromeos/login/screens/encryption_migration_screen.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/chromeos/login/screens/encryption_migration_screen.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/chromeos/login/screens/encryption_migration_screen_view.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/chromeos/login/session/user_session_manager.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/resources/chromeos/login/encryption_migration.html
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/resources/chromeos/login/encryption_migration.js
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h
[add] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler_unittest.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chromeos/cryptohome/homedir_methods.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chromeos/cryptohome/homedir_methods.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chromeos/cryptohome/mock_homedir_methods.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chromeos/dbus/cryptohome_client.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chromeos/dbus/cryptohome_client.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chromeos/dbus/fake_cryptohome_client.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/chromeos/dbus/fake_cryptohome_client.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/components/user_manager/known_user.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/components/user_manager/known_user.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/components/user_manager/user_manager.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/components/user_manager/user_manager_base.cc
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/components/user_manager/user_manager_base.h
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/a9808a6e140b1977fec203032d1a446d781d7843/tools/metrics/histograms/histograms.xml

Components: Enterprise
Project Member

Comment 25 by bugdroid1@chromium.org, Aug 31 2017

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

commit 352ed0889519265de0f83eabed21ce491a89ac21
Author: Pavol Marko <pmarko@chromium.org>
Date: Thu Aug 31 20:20:12 2017

Reduce battery threshold and don't force migration on low battery

This CL does two things:
- Reduce the battery threshold to 10%
- If the battery level is under that threshold and migration is
  forced by policy, stop forcing migration (we don't want to block
  the user until battery is charged).

BUG= 747907 

Change-Id: Id51e8cae70f3c38ca74cbcf68fdfa4f6c2543d03
Reviewed-on: https://chromium-review.googlesource.com/641473
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Cr-Commit-Position: refs/heads/master@{#498974}
[modify] https://crrev.com/352ed0889519265de0f83eabed21ce491a89ac21/chrome/browser/chromeos/arc/arc_migration_constants.h
[modify] https://crrev.com/352ed0889519265de0f83eabed21ce491a89ac21/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc
[modify] https://crrev.com/352ed0889519265de0f83eabed21ce491a89ac21/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h

Labels: Merge-Request-61
@ketakid: As discussed offline, requesting merge to M-61 to make sure the update/migration behavior is not disruptive for EDU.
The complete CL-level overview can be found at
https://docs.google.com/document/d/1XOVXxtQbJSM-L7tFTfmckTC5DemrLvr9vRCwVcD7dnQ/edit

Specifically, we'd like to request merge approval for the following CLs from ToT:
(1.1) https://chromium-review.googlesource.com/582951
(1.2) https://chromium-review.googlesource.com/c/chromium/src/+/641871
(2.1) https://chromium-review.googlesource.com/c/chromiumos/overlays/board-overlays/+/637998
(2.2) https://chromium-review.googlesource.com/c/chromiumos/platform2/+/637771
(4.1) https://chromium-review.googlesource.com/c/chromium/src/+/641473
(5.1) https://chromium-review.googlesource.com/c/chromium/src/+/641433

And tentative approval for the following critical CL which is expected to land really soon:
(2.3) https://chromium-review.googlesource.com/c/chromium/src/+/645953


I'll leave it up to naveenv@ if we request merge approval for the UX improvements in the "Wipe" case. These are all on ToT and would be:
(3.1) https://chromium-review.googlesource.com/c/chromiumos/platform/system_api/+/632476
(3.2) https://chromium-review.googlesource.com/c/chromiumos/platform2/+/612249
(3.3) https://chromium-review.googlesource.com/c/chromium/src/+/645354
(3.4) https://chromium-review.googlesource.com/c/chromium/src/+/612086


Thanks!!
Project Member

Comment 27 by sheriffbot@chromium.org, Sep 1 2017

Labels: -Merge-Request-61 Merge-Review-61 Hotlist-Merge-Review
This bug requires manual review: We are only 3 days from stable.
Please contact the milestone owner if you have questions.
Owners: amineer@(Android), cmasso@(iOS), ketakid@(ChromeOS), govind@(Desktop)

For more details visit https://www.chromium.org/issue-tracking/autotriage - Your friendly Sheriffbot
Labels: -Merge-Review-61 Merge-Approved-61
Approved merge to M61.
Project Member

Comment 29 by bugdroid1@chromium.org, Sep 1 2017

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

commit 3c98b1db64a560b684b06dc8ea3b2434eb745774
Author: Pavol Marko <pmarko@chromium.org>
Date: Fri Sep 01 18:26:50 2017

Default (unset by admin) migration policy for EDU

If the admin left the policy for migration unset and the device is
enrolled in an EDU domain, the server will send to the client
kAskForEcryptfsArcUsers = 5 value for that policy.

When the client receives the kAskForEcryptfsArcUsers policy value,
it must check two things:
1. If the device had ARC M in M60 (specified by the flag
kArcTransitionMigrationRequired)
2. Arc is enabled by poicy.

If both conditions apply, then user should be asked if the migration
has to be performed. Otherwise the migration is disabled for this
policy value.

This CL was originally owned by igorcov@ and tracked in CL:645352.

BUG= 747907 
TEST=Manual, unit_tests --gtest_filter=ArcMigration*

Change-Id: I668e5d4e33afa94607aa6db790c06e6f9ee61879
Reviewed-on: https://chromium-review.googlesource.com/645953
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499237}
[modify] https://crrev.com/3c98b1db64a560b684b06dc8ea3b2434eb745774/chrome/browser/chromeos/arc/arc_util.cc
[modify] https://crrev.com/3c98b1db64a560b684b06dc8ea3b2434eb745774/chrome/browser/chromeos/arc/arc_util.h
[modify] https://crrev.com/3c98b1db64a560b684b06dc8ea3b2434eb745774/chrome/browser/chromeos/arc/arc_util_unittest.cc
[modify] https://crrev.com/3c98b1db64a560b684b06dc8ea3b2434eb745774/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/3c98b1db64a560b684b06dc8ea3b2434eb745774/chromeos/chromeos_switches.cc
[modify] https://crrev.com/3c98b1db64a560b684b06dc8ea3b2434eb745774/chromeos/chromeos_switches.h

Project Member

Comment 30 by bugdroid1@chromium.org, Sep 5 2017

Labels: -merge-approved-61
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a83b253ba61617231915dc02628dfead3eefcbb4

commit a83b253ba61617231915dc02628dfead3eefcbb4
Author: Pavol Marko <pmarko@chromium.org>
Date: Tue Sep 05 10:44:13 2017

[Merge to M61] Introduce additional EcryptfsMigrationStrategy values

Introduce additional values for the EcryptfsMigrationStrategy policy:
- MinimalMigrate (value 4) in preparation for minimal migration mode.
  For now, this behaves as wipe (so if we merge only this back to M-61,
  the M-61 client will use "Wipe" when this policy comes in).
- AskForEcryptfsArcUsers (value 5) in preparation for the new default
  for EDU.

Additionally, this CL:
- Changes the default value (if the cached policy is too old to contain
  the value) to kDisallowMigration as per  crbug.com/747930 
- Fixes handling of max value in DecodeMigrationActionFromPolicy.

BUG= 747907 , 747930 
TBR=pmarko@chromium.org

(cherry picked from commit 715b9c42cf11b38a86a613be4ed195e49e8abfe8)

Change-Id: Ib800b7d34aade8507a2c8f853d224fb33df40b95
Reviewed-on: https://chromium-review.googlesource.com/641871
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Reviewed-by: Igor <igorcov@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#498542}
Reviewed-on: https://chromium-review.googlesource.com/649695
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1098}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/a83b253ba61617231915dc02628dfead3eefcbb4/chrome/browser/chromeos/arc/policy/arc_policy_util.h
[modify] https://crrev.com/a83b253ba61617231915dc02628dfead3eefcbb4/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/a83b253ba61617231915dc02628dfead3eefcbb4/components/policy/resources/policy_templates.json

Project Member

Comment 31 by bugdroid1@chromium.org, Sep 5 2017

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

commit b0526b82ffb049952715ec79ed04ebcc789f0e0a
Author: Pavol Marko <pmarko@chromium.org>
Date: Tue Sep 05 12:38:48 2017

[Merge to M61] Reduce battery threshold and don't force migration on low battery

This CL does two things:
- Reduce the battery threshold to 10%
- If the battery level is under that threshold and migration is
  forced by policy, stop forcing migration (we don't want to block
  the user until battery is charged).

BUG= 747907 
TBR=pmarko@chromium.org

(cherry picked from commit 352ed0889519265de0f83eabed21ce491a89ac21)

Change-Id: Id51e8cae70f3c38ca74cbcf68fdfa4f6c2543d03
Reviewed-on: https://chromium-review.googlesource.com/641473
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Achuith Bhandarkar <achuith@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#498974}
Reviewed-on: https://chromium-review.googlesource.com/649851
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1099}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/b0526b82ffb049952715ec79ed04ebcc789f0e0a/chrome/browser/chromeos/arc/arc_migration_constants.h
[modify] https://crrev.com/b0526b82ffb049952715ec79ed04ebcc789f0e0a/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc
[modify] https://crrev.com/b0526b82ffb049952715ec79ed04ebcc789f0e0a/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h

Project Member

Comment 32 by bugdroid1@chromium.org, Sep 5 2017

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

commit 3b87c90834a7cb79e73d25fbdb2254078d73f705
Author: Pavol Marko <pmarko@chromium.org>
Date: Tue Sep 05 12:50:32 2017

[Merge to M61] Only show encryption migration banner for consumer users

Disable the encryption migration banner on the user selection screen
if the user may be managed. The reason is that encryption migration
could be prevented by user policy, which can't be determined at the
point in time when the banner is displayed.

Also update the list of consumer domains - big thanks to zea@ for
extracting the current list!

BUG= 747907 
TBR=pmarko@chromium.org

(cherry picked from commit e1c3d9ba2a4a50261faaf8e4c3c21fcf64d3a67d)

Change-Id: Ifc35285de101913cb314c48e434527fed386d4a3
Reviewed-on: https://chromium-review.googlesource.com/641433
Reviewed-by: Drew Wilson <atwilson@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Alexander Alekseev <alemate@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#498863}
Reviewed-on: https://chromium-review.googlesource.com/650295
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1100}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/3b87c90834a7cb79e73d25fbdb2254078d73f705/chrome/browser/chromeos/login/screens/user_selection_screen.cc
[modify] https://crrev.com/3b87c90834a7cb79e73d25fbdb2254078d73f705/chrome/browser/chromeos/login/screens/user_selection_screen_browsertest.cc
[modify] https://crrev.com/3b87c90834a7cb79e73d25fbdb2254078d73f705/components/policy/core/browser/browser_policy_connector.cc

Project Member

Comment 33 by bugdroid1@chromium.org, Sep 5 2017

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

commit 6d932e43314bba0c21124a3fbb633dc37718b7f2
Author: Pavol Marko <pmarko@chromium.org>
Date: Tue Sep 05 13:04:44 2017

[Merge to M61] Default (unset by admin) migration policy for EDU

If the admin left the policy for migration unset and the device is
enrolled in an EDU domain, the server will send to the client
kAskForEcryptfsArcUsers = 5 value for that policy.

When the client receives the kAskForEcryptfsArcUsers policy value,
it must check two things:
1. If the device had ARC M in M60 (specified by the flag
kArcTransitionMigrationRequired)
2. Arc is enabled by poicy.

If both conditions apply, then user should be asked if the migration
has to be performed. Otherwise the migration is disabled for this
policy value.

This CL was originally owned by igorcov@ and tracked in CL:645352.

BUG= 747907 
TEST=Manual, unit_tests --gtest_filter=ArcMigration*
TBR=pmarko@chromium.org

(cherry picked from commit 3c98b1db64a560b684b06dc8ea3b2434eb745774)

Change-Id: I668e5d4e33afa94607aa6db790c06e6f9ee61879
Reviewed-on: https://chromium-review.googlesource.com/645953
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#499237}
Reviewed-on: https://chromium-review.googlesource.com/650353
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1101}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/6d932e43314bba0c21124a3fbb633dc37718b7f2/chrome/browser/chromeos/arc/arc_util.cc
[modify] https://crrev.com/6d932e43314bba0c21124a3fbb633dc37718b7f2/chrome/browser/chromeos/arc/arc_util.h
[modify] https://crrev.com/6d932e43314bba0c21124a3fbb633dc37718b7f2/chrome/browser/chromeos/arc/arc_util_unittest.cc
[modify] https://crrev.com/6d932e43314bba0c21124a3fbb633dc37718b7f2/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/6d932e43314bba0c21124a3fbb633dc37718b7f2/chromeos/chromeos_switches.cc
[modify] https://crrev.com/6d932e43314bba0c21124a3fbb633dc37718b7f2/chromeos/chromeos_switches.h

Project Member

Comment 34 by bugdroid1@chromium.org, Sep 5 2017

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

commit e1f238f19ef0508d041ea7ae87d4f7de61d09a37
Author: Pavol Marko <pmarko@chromium.org>
Date: Tue Sep 05 18:58:42 2017

Commit minimal migration status to local state prefs

Commit minimal migration status to local state PrefService.
Introduces a CommitPendingWrite function with a callback to be sure that
prefs landed on disk.

BUG= 747907 

Change-Id: I565ffbae7b8a1e934875101012c39c8a9841a139
Reviewed-on: https://chromium-review.googlesource.com/647454
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#499693}
[modify] https://crrev.com/e1f238f19ef0508d041ea7ae87d4f7de61d09a37/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/e1f238f19ef0508d041ea7ae87d4f7de61d09a37/chrome/browser/prefs/profile_pref_store_manager_unittest.cc
[modify] https://crrev.com/e1f238f19ef0508d041ea7ae87d4f7de61d09a37/components/prefs/persistent_pref_store.cc
[modify] https://crrev.com/e1f238f19ef0508d041ea7ae87d4f7de61d09a37/components/prefs/persistent_pref_store.h
[modify] https://crrev.com/e1f238f19ef0508d041ea7ae87d4f7de61d09a37/components/prefs/pref_service.cc
[modify] https://crrev.com/e1f238f19ef0508d041ea7ae87d4f7de61d09a37/components/prefs/pref_service.h

Comment 35 Deleted

Labels: Merge-Request-62
Requesting merge of

CL 645953
- https://chromium-review.googlesource.com/645953
- landed ~16 hours after branch point
- Comment #33

CL 647454
- https://chromium-review.googlesource.com/647454
- landed ~4 days after branch point
- Comment #34

to M-62.
Project Member

Comment 37 by bugdroid1@chromium.org, Sep 6 2017

Labels: merge-merged-release-R61-9765.B
The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform/system_api/+/8a400ce97612e4264a8e4c6098701547a9d906ef

commit 8a400ce97612e4264a8e4c6098701547a9d906ef
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Sep 06 14:19:51 2017

[M61] system_api: Add MigrateToDircryptoEx to cryptohome API

Add method MigrateToDircryptoEx to cryptohome API.

BUG= chromium:747907 
TEST=none

Change-Id: Ide6f8d6dec9b70079abcfed25494edeee4f56ea3
Reviewed-on: https://chromium-review.googlesource.com/632476
Commit-Ready: Pavol Marko <pmarko@chromium.org>
Tested-by: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>
(cherry picked from commit 27810c6ba2d3f136811e516fe07d5562704a92ee)
Reviewed-on: https://chromium-review.googlesource.com/647753
Reviewed-by: Dan Erat <derat@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>

[modify] https://crrev.com/8a400ce97612e4264a8e4c6098701547a9d906ef/dbus/cryptohome/rpc.proto
[modify] https://crrev.com/8a400ce97612e4264a8e4c6098701547a9d906ef/dbus/cryptohome/dbus-constants.h

Project Member

Comment 38 by bugdroid1@chromium.org, Sep 6 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromiumos/platform2/+/9d211a92695c90a54be0b0a66c18b768e52a8fce

commit 9d211a92695c90a54be0b0a66c18b768e52a8fce
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Sep 06 14:19:59 2017

[M61] cryptohome: Support minimal migration

Add support for migration which only migrates whitelisted paths.
This migration mode should be very fast and we're fine with losing
most user data.

MigrateToDircryptoEx has an additional parameters:
- minimal_migration is a boolean. When it is true, only whitelisted
  paths necessary to be able to sign-in into the profile are migrated.

BUG= chromium:747907 
TEST=cros_run_unit_tests --board=<board> --packages cryptohome
TEST=Triggered minimal migration using CL:612086. Verified that the
following things work fine:
- Sign-in
- Sync (including extensions, keyboard layouts, bookmarks)
- Enterprise Policy (including force-installed extensions)
- ARC++
CQ-DEPEND=CL:647753

Change-Id: I6ca3ac2fbfa610569eaa332861e5401ff6266842
Reviewed-on: https://chromium-review.googlesource.com/612249
Commit-Ready: Pavol Marko <pmarko@chromium.org>
Tested-by: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>
(cherry picked from commit 71638cfd3c4f40d62256a41c4d55bf999c399712)
Reviewed-on: https://chromium-review.googlesource.com/647451
Commit-Queue: Pavol Marko <pmarko@chromium.org>

[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/service.h
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/cryptohome_metrics.cc
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/interface.h
[add] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/migration_type.h
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/etc/Cryptohome.conf
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/cryptohome.cc
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/mount.cc
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/dircrypto_data_migrator/migration_helper.cc
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/dircrypto_data_migrator/migration_helper.h
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/service.cc
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/mount.h
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/cryptohome_metrics.h
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/interface.cc
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/dircrypto_data_migrator/migration_helper_unittest.cc
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/cryptohome.gyp
[modify] https://crrev.com/9d211a92695c90a54be0b0a66c18b768e52a8fce/cryptohome/cryptohome.xml

Project Member

Comment 39 by bugdroid1@chromium.org, Sep 6 2017

The following revision refers to this bug:
  https://chrome-internal.googlesource.com/chrome/tools/buildspec/+/2bfa2c707aeaf2a795f1582535bc6f07bb9e5bb9

commit 2bfa2c707aeaf2a795f1582535bc6f07bb9e5bb9
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Sep 06 16:44:49 2017

Labels: -Merge-Request-62 Merge-Approved-62
Merge approved for 62. 
Project Member

Comment 41 by bugdroid1@chromium.org, Sep 6 2017

Labels: -merge-approved-62 merge-merged-3202
The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/52f887710a71b773dac915598a9521a7c488f714

commit 52f887710a71b773dac915598a9521a7c488f714
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Sep 06 18:32:02 2017

[Merge to M62] Default (unset by admin) migration policy for EDU

If the admin left the policy for migration unset and the device is
enrolled in an EDU domain, the server will send to the client
kAskForEcryptfsArcUsers = 5 value for that policy.

When the client receives the kAskForEcryptfsArcUsers policy value,
it must check two things:
1. If the device had ARC M in M60 (specified by the flag
kArcTransitionMigrationRequired)
2. Arc is enabled by poicy.

If both conditions apply, then user should be asked if the migration
has to be performed. Otherwise the migration is disabled for this
policy value.

This CL was originally owned by igorcov@ and tracked in CL:645352.

BUG= 747907 
TEST=Manual, unit_tests --gtest_filter=ArcMigration*
TBR=pmarko@chromium.org

(cherry picked from commit 3c98b1db64a560b684b06dc8ea3b2434eb745774)

Change-Id: I668e5d4e33afa94607aa6db790c06e6f9ee61879
Reviewed-on: https://chromium-review.googlesource.com/645953
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Reviewed-by: Maksim Ivanov <emaxx@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#499237}
Reviewed-on: https://chromium-review.googlesource.com/653638
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{#51}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/52f887710a71b773dac915598a9521a7c488f714/chrome/browser/chromeos/arc/arc_util.cc
[modify] https://crrev.com/52f887710a71b773dac915598a9521a7c488f714/chrome/browser/chromeos/arc/arc_util.h
[modify] https://crrev.com/52f887710a71b773dac915598a9521a7c488f714/chrome/browser/chromeos/arc/arc_util_unittest.cc
[modify] https://crrev.com/52f887710a71b773dac915598a9521a7c488f714/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/52f887710a71b773dac915598a9521a7c488f714/chromeos/chromeos_switches.cc
[modify] https://crrev.com/52f887710a71b773dac915598a9521a7c488f714/chromeos/chromeos_switches.h

Project Member

Comment 42 by bugdroid1@chromium.org, Sep 6 2017

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

commit 755f1607dc4615cde5b2c80aa90d1631ee85ff71
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Sep 06 18:34:16 2017

[Merge to M62] Commit minimal migration status to local state prefs

Commit minimal migration status to local state PrefService.
Introduces a CommitPendingWrite function with a callback to be sure that
prefs landed on disk.

BUG= 747907 
TBR=pmarko@chromium.org

(cherry picked from commit e1f238f19ef0508d041ea7ae87d4f7de61d09a37)

Change-Id: I565ffbae7b8a1e934875101012c39c8a9841a139
Reviewed-on: https://chromium-review.googlesource.com/647454
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Bernhard Bauer <bauerb@chromium.org>
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#499693}
Reviewed-on: https://chromium-review.googlesource.com/653639
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{#52}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/755f1607dc4615cde5b2c80aa90d1631ee85ff71/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/755f1607dc4615cde5b2c80aa90d1631ee85ff71/chrome/browser/prefs/profile_pref_store_manager_unittest.cc
[modify] https://crrev.com/755f1607dc4615cde5b2c80aa90d1631ee85ff71/components/prefs/persistent_pref_store.cc
[modify] https://crrev.com/755f1607dc4615cde5b2c80aa90d1631ee85ff71/components/prefs/persistent_pref_store.h
[modify] https://crrev.com/755f1607dc4615cde5b2c80aa90d1631ee85ff71/components/prefs/pref_service.cc
[modify] https://crrev.com/755f1607dc4615cde5b2c80aa90d1631ee85ff71/components/prefs/pref_service.h

Project Member

Comment 43 by bugdroid1@chromium.org, Sep 6 2017

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

commit 6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Sep 06 21:31:40 2017

[Merge to M61] Add minimal migration support

This is a cherry-pick of two CLs to M61:
- Add minimal migration support
  https://chromium-review.googlesource.com/612086
- Commit minimal migration status to local state prefs
  https://chromium-review.googlesource.com/647454

I lumped them together because the second commit is a bugfix
for a possible race condition in the first commit, and so that
it could be reverted without problems.

---
Commit minimal migration status to local state prefs

Commit minimal migration status to local state PrefService.
Introduces a CommitPendingWrite function with a callback to be sure that
prefs landed on disk.

---
Add minimal migration support

Add EcryptfsMigrationStrategy value MINIMAL_MIGRATE, which performs a
minimal ext4 migration, with only few files (esp. auth tokens and
channel binding information) whitelisted. This is similar to WIPE but
ensures that the user won't have to enter their password twice.

We monitor how long the minimal migration takes, and if it is longer
than 45 seconds, require a password re-entry for privacy reasons.

Depends on Chrome OS side CL:
https://chromium-review.googlesource.com/c/612249.

BUG= 747907 
TEST=unit_tests --gtest_filter=EncryptionMigrationScreenHandlerTest*
     Manual test with pre-existing ecryptfs user profile and user policy
     EcryptfsMigrationStrategy set to MINIMAL_MIGRATE(4).

Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: Ib09cf759f0e277456e15b714bf2d879ea1d82402
Reviewed-on: https://chromium-review.googlesource.com/652999
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1123}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/chromeos/login/existing_user_controller.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/chromeos/login/screens/encryption_migration_mode.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/chromeos/login/screens/encryption_migration_screen.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/chromeos/login/screens/encryption_migration_screen.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/chromeos/login/screens/encryption_migration_screen_view.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/chromeos/login/session/user_session_manager.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/prefs/profile_pref_store_manager_unittest.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/resources/chromeos/login/encryption_migration.html
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/resources/chromeos/login/encryption_migration.js
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h
[add] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler_unittest.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chromeos/cryptohome/homedir_methods.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chromeos/cryptohome/homedir_methods.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chromeos/cryptohome/mock_homedir_methods.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chromeos/dbus/cryptohome_client.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chromeos/dbus/cryptohome_client.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chromeos/dbus/fake_cryptohome_client.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/chromeos/dbus/fake_cryptohome_client.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/components/prefs/persistent_pref_store.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/components/prefs/persistent_pref_store.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/components/prefs/pref_service.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/components/prefs/pref_service.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/components/user_manager/known_user.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/components/user_manager/known_user.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/components/user_manager/user_manager.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/components/user_manager/user_manager_base.cc
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/components/user_manager/user_manager_base.h
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b/tools/metrics/histograms/histograms.xml

Project Member

Comment 44 by bugdroid1@chromium.org, Sep 6 2017

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

commit 98870021039bfb9a57265c475e217ea280395d50
Author: Vladislav Kaznacheev <kaznacheev@chromium.org>
Date: Wed Sep 06 23:21:40 2017

Revert "[Merge to M61] Add minimal migration support"

This reverts commit 6f97f8e886c05c9a5b5237a7ff1be677f54c5d7b.

Reason for revert: breaks compile
chromeos/cryptohome/homedir_methods.cc:223:43: error: variable has incomplete type 'cryptohome::MigrateToDircryptoRequest'
chromeos/dbus/cryptohome_client.cc:941:46: error: no member named 'kCryptohomeMigrateToDircryptoEx' in namespace 'cryptohome'
chromeos/dbus/cryptohome_client.cc:948:38: error: no viable conversion from 'const cryptohome::MigrateToDircryptoRequest' to 'const google::protobuf::MessageLite'


Original change's description:
> [Merge to M61] Add minimal migration support
> 
> This is a cherry-pick of two CLs to M61:
> - Add minimal migration support
>   https://chromium-review.googlesource.com/612086
> - Commit minimal migration status to local state prefs
>   https://chromium-review.googlesource.com/647454
> 
> I lumped them together because the second commit is a bugfix
> for a possible race condition in the first commit, and so that
> it could be reverted without problems.
> 
> ---
> Commit minimal migration status to local state prefs
> 
> Commit minimal migration status to local state PrefService.
> Introduces a CommitPendingWrite function with a callback to be sure that
> prefs landed on disk.
> 
> ---
> Add minimal migration support
> 
> Add EcryptfsMigrationStrategy value MINIMAL_MIGRATE, which performs a
> minimal ext4 migration, with only few files (esp. auth tokens and
> channel binding information) whitelisted. This is similar to WIPE but
> ensures that the user won't have to enter their password twice.
> 
> We monitor how long the minimal migration takes, and if it is longer
> than 45 seconds, require a password re-entry for privacy reasons.
> 
> Depends on Chrome OS side CL:
> https://chromium-review.googlesource.com/c/612249.
> 
> BUG= 747907 
> TEST=unit_tests --gtest_filter=EncryptionMigrationScreenHandlerTest*
>      Manual test with pre-existing ecryptfs user profile and user policy
>      EcryptfsMigrationStrategy set to MINIMAL_MIGRATE(4).
> 
> Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
> Change-Id: Ib09cf759f0e277456e15b714bf2d879ea1d82402
> Reviewed-on: https://chromium-review.googlesource.com/652999
> Reviewed-by: Pavol Marko <pmarko@chromium.org>
> Cr-Commit-Position: refs/branch-heads/3163@{#1123}
> Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}

TBR=pmarko@chromium.org

Change-Id: Ic02611eb11365f56e052acdf91d9768dc7223dd0
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug:  747907 
Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Reviewed-on: https://chromium-review.googlesource.com/654071
Reviewed-by: Vladislav Kaznacheev <kaznacheev@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1125}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/chromeos/login/existing_user_controller.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/chromeos/login/screens/encryption_migration_mode.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/chromeos/login/screens/encryption_migration_screen.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/chromeos/login/screens/encryption_migration_screen.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/chromeos/login/screens/encryption_migration_screen_view.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/chromeos/login/session/user_session_manager.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/prefs/profile_pref_store_manager_unittest.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/resources/chromeos/login/encryption_migration.html
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/resources/chromeos/login/encryption_migration.js
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h
[delete] https://crrev.com/a055988ec96a03faf3f95435bb62393a7e56a217/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler_unittest.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chromeos/cryptohome/homedir_methods.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chromeos/cryptohome/homedir_methods.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chromeos/cryptohome/mock_homedir_methods.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chromeos/dbus/cryptohome_client.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chromeos/dbus/cryptohome_client.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chromeos/dbus/fake_cryptohome_client.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/chromeos/dbus/fake_cryptohome_client.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/components/prefs/persistent_pref_store.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/components/prefs/persistent_pref_store.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/components/prefs/pref_service.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/components/prefs/pref_service.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/components/user_manager/known_user.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/components/user_manager/known_user.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/components/user_manager/user_manager.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/components/user_manager/user_manager_base.cc
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/components/user_manager/user_manager_base.h
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/98870021039bfb9a57265c475e217ea280395d50/tools/metrics/histograms/histograms.xml

Project Member

Comment 45 by bugdroid1@chromium.org, Sep 7 2017

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

commit 82352984628ff2be13329e9fb75ac63cf43e1642
Author: Pavol Marko <pmarko@chromium.org>
Date: Thu Sep 07 07:17:46 2017

[M61] Roll cros_system_api on 3163 branch head

Update cros_system_api dependency to be able to use a new cryptohome
method.
Direct link to system_api diff:
https://chromium.googlesource.com/chromiumos/platform/system_api/+/69b19fbcbec5fa8f5933b9c3f3375052b0059980..8a400ce97612e4264a8e4c6098701547a9d906ef
See also CL:*448432 for branch buildspec and CL:645354 for ToT
system_api roll.

BUG= 747907 
TEST=gclient sync && ninja -C out/Default unit_tests browser_tests chrome &&
out/Default/unit_tests

Change-Id: I054607313b00785c45036c00d05c36a10b6e9cfb
Reviewed-on: https://chromium-review.googlesource.com/654599
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1129}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/82352984628ff2be13329e9fb75ac63cf43e1642/DEPS

Project Member

Comment 46 by bugdroid1@chromium.org, Sep 7 2017

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

commit da11a3c536888d88668e53c8471887358958b253
Author: Pavol Marko <pmarko@chromium.org>
Date: Thu Sep 07 08:11:50 2017

[Merge to M61] [Reland] Add minimal migration support

This is a reland of CL:652999 after submitting CL:654599 to roll DEPS on
 branch-heads/3163 too.

This is a cherry-pick of two CLs to M61:
- Add minimal migration support
  https://chromium-review.googlesource.com/612086
- Commit minimal migration status to local state prefs
  https://chromium-review.googlesource.com/647454

I lumped them together because the second commit is a bugfix
for a possible race condition in the first commit, and so that
it could be reverted without problems.

---
CL:612086
Add minimal migration support

Add EcryptfsMigrationStrategy value MINIMAL_MIGRATE, which performs a
minimal ext4 migration, with only few files (esp. auth tokens and
channel binding information) whitelisted. This is similar to WIPE but
ensures that the user won't have to enter their password twice.

We monitor how long the minimal migration takes, and if it is longer
than 45 seconds, require a password re-entry for privacy reasons.

Depends on Chrome OS side CL:
https://chromium-review.googlesource.com/c/612249.

---
CL:647454
Commit minimal migration status to local state prefs

Commit minimal migration status to local state PrefService.
Introduces a CommitPendingWrite function with a callback to be sure that
prefs landed on disk.

---

BUG= 747907 
TEST=ninja -C out/Default chrome unit_tests browser_tests &&
     out/Default/unit_tests
     Builds on M-61 branch.
     Deployed to edgar device and tested various sign-in and migration
     scenarios.

Cq-Include-Trybots: master.tryserver.chromium.linux:closure_compilation
Change-Id: I4c90ab830400efdb34c5f72c810866dc23efea35
Reviewed-on: https://chromium-review.googlesource.com/654601
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3163@{#1130}
Cr-Branched-From: ff259bab28b35d242e10186cd63af7ed404fae0d-refs/heads/master@{#488528}
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/chromeos/BUILD.gn
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/chromeos/login/existing_user_controller.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/chromeos/login/existing_user_controller.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/chromeos/login/screens/encryption_migration_mode.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/chromeos/login/screens/encryption_migration_screen.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/chromeos/login/screens/encryption_migration_screen.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/chromeos/login/screens/encryption_migration_screen_view.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/chromeos/login/session/user_session_manager.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/prefs/profile_pref_store_manager_unittest.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/resources/chromeos/login/encryption_migration.html
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/resources/chromeos/login/encryption_migration.js
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler.h
[add] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chrome/browser/ui/webui/chromeos/login/encryption_migration_screen_handler_unittest.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chromeos/cryptohome/homedir_methods.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chromeos/cryptohome/homedir_methods.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chromeos/cryptohome/mock_homedir_methods.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chromeos/dbus/cryptohome_client.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chromeos/dbus/cryptohome_client.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chromeos/dbus/fake_cryptohome_client.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/chromeos/dbus/fake_cryptohome_client.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/components/prefs/persistent_pref_store.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/components/prefs/persistent_pref_store.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/components/prefs/pref_service.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/components/prefs/pref_service.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/components/user_manager/known_user.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/components/user_manager/known_user.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/components/user_manager/user_manager.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/components/user_manager/user_manager_base.cc
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/components/user_manager/user_manager_base.h
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/tools/metrics/histograms/enums.xml
[modify] https://crrev.com/da11a3c536888d88668e53c8471887358958b253/tools/metrics/histograms/histograms.xml

Status: Fixed (was: Started)
For completeness: An additional CL ( https://chromium-review.googlesource.com/692195 ) has landed related to this to cache the ext4 migration policy during user session.
Project Member

Comment 49 by bugdroid1@chromium.org, Oct 6 2017

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

commit 524ce8b8f4ad0ee119de87921e8ed145ac91641a
Author: Pavol Marko <pmarko@chromium.org>
Date: Fri Oct 06 15:09:23 2017

Allow ext4 migation by default for AD users

Make the default of the EcryptfsMigrationStrategy user policy for
managed users depend on the user type: AD users should default to
"AskUser", while regular users should default to "DisallowMigration".
The reason is that there is no central device management server which
could set sensible defaults for AD users.
Also make sure that existing_user_controller.cc and arc_util.cc both
use the same source for the defaults by moving default handling to
arc_policy_util.cc.

BUG= 747907 ,b:67361763
TEST=unit_test --gtest_filter=ArcMigrationTest*
TEST=Manual test on non-chromad managed account:
     confirmed default behavior (don't migrate) for missing policy
TEST=Manual test on chromad managed account:
     confirmed default behavior (ask user) for missing or not
     loadable policy

Change-Id: Id5edde9cdb9971afa2c7d15ff57f2ff8ba81dc21
Reviewed-on: https://chromium-review.googlesource.com/700640
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Lutz Justen <ljusten@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Cr-Commit-Position: refs/heads/master@{#507073}
[modify] https://crrev.com/524ce8b8f4ad0ee119de87921e8ed145ac91641a/chrome/browser/chromeos/arc/arc_util.cc
[modify] https://crrev.com/524ce8b8f4ad0ee119de87921e8ed145ac91641a/chrome/browser/chromeos/arc/arc_util_unittest.cc
[modify] https://crrev.com/524ce8b8f4ad0ee119de87921e8ed145ac91641a/chrome/browser/chromeos/arc/policy/arc_policy_util.cc
[modify] https://crrev.com/524ce8b8f4ad0ee119de87921e8ed145ac91641a/chrome/browser/chromeos/arc/policy/arc_policy_util.h
[modify] https://crrev.com/524ce8b8f4ad0ee119de87921e8ed145ac91641a/chrome/browser/chromeos/login/existing_user_controller.cc

Project Member

Comment 50 by bugdroid1@chromium.org, Oct 11 2017

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

commit 34eabd8fe547c14d7f38c9c92f24bf04c8eafc3f
Author: Pavol Marko <pmarko@chromium.org>
Date: Wed Oct 11 15:00:27 2017

[Merge to M62] Allow ext4 migation by default for AD users

Make the default of the EcryptfsMigrationStrategy user policy for
managed users depend on the user type: AD users should default to
"AskUser", while regular users should default to "DisallowMigration".
The reason is that there is no central device management server which
could set sensible defaults for AD users.
Also make sure that existing_user_controller.cc and arc_util.cc both
use the same source for the defaults by moving default handling to
arc_policy_util.cc.

BUG= 747907 ,b:67361763
TEST=unit_test --gtest_filter=ArcMigrationTest*
TEST=Manual test on non-chromad managed account:
     confirmed default behavior (don't migrate) for missing policy
TEST=Manual test on chromad managed account:
     confirmed default behavior (ask user) for missing or not
     loadable policy

TBR=pmarko@chromium.org

(cherry picked from commit 524ce8b8f4ad0ee119de87921e8ed145ac91641a)

Change-Id: Id5edde9cdb9971afa2c7d15ff57f2ff8ba81dc21
Reviewed-on: https://chromium-review.googlesource.com/700640
Commit-Queue: Pavol Marko <pmarko@chromium.org>
Reviewed-by: Lutz Justen <ljusten@chromium.org>
Reviewed-by: Xiyuan Xia <xiyuan@chromium.org>
Reviewed-by: Hidehiko Abe <hidehiko@chromium.org>
Cr-Original-Commit-Position: refs/heads/master@{#507073}
Reviewed-on: https://chromium-review.googlesource.com/709534
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Cr-Commit-Position: refs/branch-heads/3202@{#658}
Cr-Branched-From: fa6a5d87adff761bc16afc5498c3f5944c1daa68-refs/heads/master@{#499098}
[modify] https://crrev.com/34eabd8fe547c14d7f38c9c92f24bf04c8eafc3f/chrome/browser/chromeos/arc/arc_util.cc
[modify] https://crrev.com/34eabd8fe547c14d7f38c9c92f24bf04c8eafc3f/chrome/browser/chromeos/arc/arc_util_unittest.cc
[modify] https://crrev.com/34eabd8fe547c14d7f38c9c92f24bf04c8eafc3f/chrome/browser/chromeos/arc/policy/arc_policy_util.cc
[modify] https://crrev.com/34eabd8fe547c14d7f38c9c92f24bf04c8eafc3f/chrome/browser/chromeos/arc/policy/arc_policy_util.h
[modify] https://crrev.com/34eabd8fe547c14d7f38c9c92f24bf04c8eafc3f/chrome/browser/chromeos/login/existing_user_controller.cc

Comment 51 by dchan@chromium.org, Jan 22 2018

Status: Archived (was: Fixed)

Comment 52 by dchan@chromium.org, Jan 23 2018

Status: Fixed (was: Archived)
Project Member

Comment 53 by bugdroid1@chromium.org, Feb 13 2018

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

commit dd2fdb4add2279eb47215dc49955c406c15f9de3
Author: Junichi Uekawa <uekawa@google.com>
Date: Tue Feb 13 12:33:55 2018

Add enum for minimal migration.

Seems to have been missing from
https://chromium-review.googlesource.com/612086

TEST=None
BUG= 747907 

Change-Id: I9931f01a303eda01e7fe0e9e7eef07fc699dbf92
Reviewed-on: https://chromium-review.googlesource.com/914211
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>
Reviewed-by: Pavol Marko <pmarko@chromium.org>
Commit-Queue: Junichi Uekawa <uekawa@chromium.org>
Cr-Commit-Position: refs/heads/master@{#536342}
[modify] https://crrev.com/dd2fdb4add2279eb47215dc49955c406c15f9de3/tools/metrics/histograms/enums.xml

Status: Verified (was: Fixed)
verified a while back as part of the overal ext4 transition testing

Sign in to add a comment