blob: 993b7fc77cebcc227cc0de80d9c38f38a893eb52 [file] [log] [blame]
// 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;
}