| // Copyright 2019 The Chromium OS Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| // These protobufs are used between cryptohome and cryptohome-namespace-mounter. |
| |
| syntax = "proto3"; |
| option optimize_for = LITE_RUNTIME; |
| |
| package cryptohome; |
| |
| message OutOfProcessMountRequest { |
| // MountType is defined in platform2/cryptohome/mount_constants.h. |
| enum MountType { |
| // Not mounted. |
| NONE = 0; |
| // Encrypted with ecryptfs. |
| ECRYPTFS = 1; |
| // Encrypted with dircrypto. |
| DIR_CRYPTO = 2; |
| // Encrypted with dmcrypt. |
| DMCRYPT = 3; |
| // Ephemeral mount. |
| EPHEMERAL = 4; |
| // Vault Migration ECRYPTFS->DIRCRYPTO. |
| ECRYPTFS_TO_DIR_CRYPTO = 5; |
| // Vault Migration ECRYPTFS->DMCRYPT. |
| ECRYPTFS_TO_DMCRYPT = 6; |
| // Vault Migration DIRCRYPTO->DMCRYPT. |
| DIR_CRYPTO_TO_DMCRYPT = 7; |
| } |
| // Username used in login. |
| string username = 1; |
| // Whether to make the legacy home directory (/home/chronos/user) available. |
| bool legacy_home = 2; |
| // OOP mounter will be entering Chrome mount namespace defined by |
| // |mount_namespace_path| path. |
| string mount_namespace_path = 3; |
| // Mount type for the current user. The type is set to dircrypto when |
| // migrating to dircrypto even if there is an eCryptfs vault. |
| MountType type = 4; |
| // File encryption key (FEK) used to encrypt the file contents when the file |
| // is persisted to the lower filesystem by eCryptfs. |
| string fek_signature = 5; |
| // File name encryption key (FNEK) used to encrypt the file name when the file |
| // is persisted to the lower filesystem by eCryptfs. |
| string fnek_signature = 6; |
| // True, if the Cryptohomed should bind mount Downloads/. |
| bool bind_mount_downloads = 7; |
| // Path to the loop device for the ephemeral mount. |
| string ephemeral_loop_device = 8; |
| } |
| |
| message OutOfProcessMountResponse { |
| // Paths bind-mounted by MountHelper::MountHomesAndDaemonStores(). |
| repeated string paths = 1; |
| // Mount error returned from PerformMount() or PerformEphemeralMount(). Enum |
| // values for MountError are defined in |
| // /platform2/system_api/dbus/cryptohome/dbus-constants.h |
| uint32 mount_error = 2; |
| } |