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

Issue 699445 link

Starred by 1 user

Issue metadata

Status: Archived
Owner:
Closed: Mar 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 1
Type: Bug

Blocking:
issue 688900



Sign in to add a comment

Add a dbus method for kicking eCryptfs -> ext4 migration to cryptohomed.

Project Member Reported by kinaba@chromium.org, Mar 8 2017

Issue description

Title says all.

Its C++-wrapped interface will look something like

void MigrateToDircrypto(
  const cryptohome::Identification& cryptohome_id,
  const cryptohome::AuthorizationRequest& auth,
  const ProtobufMethodCallback& callback) = 0;

(Takes the same two first arguments of MountEx(), and the basic reply callback.)
 

Comment 1 by kinaba@chromium.org, Mar 14 2017

Status: Started (was: Assigned)
Project Member

Comment 2 by bugdroid1@chromium.org, Mar 18 2017

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

commit e53891844ed52496f2d26076d6ed0625f6130a1c
Author: Kazuhiro Inaba <kinaba@chromium.org>
Date: Sat Mar 18 03:12:24 2017

cryptohome: Add dbus method and signal name for dircrypto migration.

BUG= chromium:699445 

Change-Id: If4f1006262fa35b97228c525216a743644ab38be
Reviewed-on: https://chromium-review.googlesource.com/454576
Commit-Ready: Kazuhiro Inaba <kinaba@chromium.org>
Tested-by: Kazuhiro Inaba <kinaba@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>

[modify] https://crrev.com/e53891844ed52496f2d26076d6ed0625f6130a1c/dbus/cryptohome/dbus-constants.h

Project Member

Comment 3 by bugdroid1@chromium.org, Mar 18 2017

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

commit a8d780e30e78cf31195fadf7e128f424f6c33666
Author: Kazuhiro Inaba <kinaba@chromium.org>
Date: Sat Mar 18 13:29:54 2017

cryptohome: Add boilerplate impl for encryption migration methods.

To the Service class, this CL adds

 SendDircryptoMigrationProgressSignal(DircryptoMigrationStatus status,
                                      uint64_t current_bytes,
                                      uint64_t total_bytes);

to send the progress notification signal to Chromium, and

 Service::DoMigrateToDircrypto(AccountIdentifier* identifier,
                               AuthorizationRequest* authorization);

which is the entry point called from Chromium for starting migration.
The actual connection to the migration library is to be done in
future changes.

BUG= chromium:699445 
CQ-DEPEND=CL:454576
TEST=cros_workon_make cryptohome --test
TEST=Manually verified logging into chrome os w/o problem.
TEST=`su chronos; dbus-send --system --dest=org.chromium.Cryptohome \
  --type=method_call --print-reply /org/chromium/Cryptohome \
  org.chromium.CryptohomeInterface.MigrateToDircrypto array:byte: array:byte:`
  succeeds.
Change-Id: I99ac5713b210c19a3a246d24923565561c01f885
Reviewed-on: https://chromium-review.googlesource.com/454361
Commit-Ready: Kazuhiro Inaba <kinaba@chromium.org>
Tested-by: Kazuhiro Inaba <kinaba@chromium.org>
Reviewed-by: Ryo Hashimoto <hashimoto@chromium.org>

[modify] https://crrev.com/a8d780e30e78cf31195fadf7e128f424f6c33666/cryptohome/service.cc
[modify] https://crrev.com/a8d780e30e78cf31195fadf7e128f424f6c33666/cryptohome/etc/Cryptohome.conf
[modify] https://crrev.com/a8d780e30e78cf31195fadf7e128f424f6c33666/cryptohome/service.h
[modify] https://crrev.com/a8d780e30e78cf31195fadf7e128f424f6c33666/cryptohome/interface.cc
[modify] https://crrev.com/a8d780e30e78cf31195fadf7e128f424f6c33666/cryptohome/interface.h
[modify] https://crrev.com/a8d780e30e78cf31195fadf7e128f424f6c33666/cryptohome/cryptohome.xml

Project Member

Comment 4 by bugdroid1@chromium.org, Mar 21 2017

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

commit 4076785af1b5ff3207dc841d1283719bc3e3df4a
Author: kinaba <kinaba@chromium.org>
Date: Tue Mar 21 01:32:08 2017

cryptohome: Add dbus method and signal name for encryption migration.

To Chromium, this adds

  HomedirMethods::MigrateToExt4Crypto(const Identification& id,
                                      const Authorization& auth,
                                      const Callback& callback);

that requests Cryptohomed to do the migration (for the |id|
and |auth| combination containing the same data that are passed
to MountEx), and

  CryptohomeClient::SetExt4CryptoMigrationProgressHandler(
      const base::Calback<void(uint64_t, uint64_t)>&);

for listening to a periodic progress status update.

Depends on the constants definition in
https://chromium-review.googlesource.com/c/454576/

BUG= 699445 

Review-Url: https://codereview.chromium.org/2748743004
Cr-Commit-Position: refs/heads/master@{#458268}

[modify] https://crrev.com/4076785af1b5ff3207dc841d1283719bc3e3df4a/DEPS
[modify] https://crrev.com/4076785af1b5ff3207dc841d1283719bc3e3df4a/chromeos/cryptohome/homedir_methods.cc
[modify] https://crrev.com/4076785af1b5ff3207dc841d1283719bc3e3df4a/chromeos/cryptohome/homedir_methods.h
[modify] https://crrev.com/4076785af1b5ff3207dc841d1283719bc3e3df4a/chromeos/cryptohome/mock_homedir_methods.h
[modify] https://crrev.com/4076785af1b5ff3207dc841d1283719bc3e3df4a/chromeos/dbus/cryptohome_client.cc
[modify] https://crrev.com/4076785af1b5ff3207dc841d1283719bc3e3df4a/chromeos/dbus/cryptohome_client.h
[modify] https://crrev.com/4076785af1b5ff3207dc841d1283719bc3e3df4a/chromeos/dbus/fake_cryptohome_client.cc
[modify] https://crrev.com/4076785af1b5ff3207dc841d1283719bc3e3df4a/chromeos/dbus/fake_cryptohome_client.h
[modify] https://crrev.com/4076785af1b5ff3207dc841d1283719bc3e3df4a/chromeos/dbus/mock_cryptohome_client.h

Comment 5 by kinaba@chromium.org, Mar 21 2017

Status: Fixed (was: Started)
Project Member

Comment 6 by bugdroid1@chromium.org, Mar 28 2017

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

commit b78cb4884c80ae158efa81b1c65c489cfbc97959
Author: Dan Spaid <dspaid@google.com>
Date: Tue Mar 28 07:44:44 2017

cryptohome: Add more DircryptoMigration statuses

Add statuses for failed, in progress, and initializing.

BUG= chromium:699445 
TEST=N/A

Change-Id: I44c093e98d9c1384bf02127bda8250d7c67adcfe
Reviewed-on: https://chromium-review.googlesource.com/458357
Commit-Ready: Dan Spaid <dspaid@chromium.org>
Tested-by: Dan Spaid <dspaid@chromium.org>
Reviewed-by: Dan Erat <derat@chromium.org>

[modify] https://crrev.com/b78cb4884c80ae158efa81b1c65c489cfbc97959/dbus/cryptohome/dbus-constants.h

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

Status: Archived (was: Fixed)

Sign in to add a comment