libstorage-ng
|
An LUKS encryption layer on a block device. More...
#include <Luks.h>
Public Member Functions | |
const std::string & | get_uuid () const |
Get the LUKS UUID. | |
void | set_uuid (const std::string &uuid) |
Set the LUKS UUID. More... | |
const std::string & | get_label () const |
Get the LUKS label. More... | |
void | set_label (const std::string &label) |
Set the LUKS label. More... | |
const std::string & | get_format_options () const |
Get extra options for luks format call. | |
void | set_format_options (const std::string &format_options) |
Set extra options for luks format call. More... | |
Impl & | get_impl () |
const Impl & | get_impl () const |
virtual Luks * | clone () const override |
![]() | |
EncryptionType | get_type () const |
Get the encryption type. | |
void | set_type (EncryptionType type) |
Set the encryption type. More... | |
const std::string & | get_password () const |
Get the encryption password. | |
void | set_password (const std::string &password) |
Set the encryption password. | |
const std::string & | get_key_file () const |
Get the key file. | |
void | set_key_file (const std::string &key_file) |
Set the key file. More... | |
const std::string & | get_cipher () const |
Get the cipher. More... | |
void | set_cipher (const std::string &cipher) |
Set the cipher. More... | |
unsigned int | get_key_size () const |
Get the key size in bytes. More... | |
void | set_key_size (unsigned int key_size) |
Set the key size in bytes. More... | |
const std::string & | get_pbkdf () const |
Get the PBKDF (of the first used keyslot). More... | |
void | set_pbkdf (const std::string &pbkdf) |
Set the PBKDF. More... | |
MountByType | get_mount_by () const |
Get the mount-by method. More... | |
void | set_mount_by (MountByType mount_by) |
Set the mount-by method. More... | |
void | set_default_mount_by () |
Set the mount-by method to the global default, see Storage::get_default_mount_by(). More... | |
const std::vector< std::string > & | get_crypt_options () const |
Get options (fourth field) in /etc/crypttab. | |
void | set_crypt_options (const std::vector< std::string > &crypt_options) |
Set options (fourth field) in /etc/crypttab. | |
bool | is_in_etc_crypttab () const |
Query whether the LUKS device is present (probed devicegraph) or will be present (staging devicegraph) in /etc/crypttab. | |
void | set_in_etc_crypttab (bool in_etc_crypttab) |
Set whether the LUKS device will be present in /etc/crypttab. | |
BlkDevice * | get_blk_device () |
Return underlying blk device. More... | |
const BlkDevice * | get_blk_device () const |
Return underlying blk device. More... | |
const std::string & | get_open_options () const |
Get extra options for open calls. | |
void | set_open_options (const std::string &open_options) |
Set extra options for open calls. More... | |
Impl & | get_impl () |
const Impl & | get_impl () const |
![]() | |
const std::string & | get_name () const |
void | set_name (const std::string &name) |
const Region & | get_region () const |
void | set_region (const Region ®ion) |
unsigned long long | get_size () const |
Returns the size of the block device. | |
void | set_size (unsigned long long size) |
Set the size of the block device. More... | |
std::string | get_size_string () const |
Returns the size of the block device as a localised string. More... | |
const Topology & | get_topology () const |
Get the topology. | |
void | set_topology (const Topology &topology) |
Set the topology. More... | |
bool | is_active () const |
bool | is_read_only () const |
Return whether the block device is read-only. More... | |
const std::string & | get_sysfs_name () const |
const std::string & | get_sysfs_path () const |
const std::vector< std::string > & | get_udev_paths () const |
Return the names of the udev by-path links of the blk device. More... | |
const std::vector< std::string > & | get_udev_ids () const |
Return the names of the udev by-id links of the blk device. More... | |
bool | is_usable_as_blk_device () const |
Checks whether the blk device is in general usable as a blk device. More... | |
RemoveInfo | detect_remove_info () const |
Check whether the device can be removed. More... | |
const std::string & | get_dm_table_name () const |
Return device-mapper table name (dm-table-name for short). More... | |
void | set_dm_table_name (const std::string &dm_table_name) |
Set the device-mapper table name (dm-table-name for short). More... | |
BlkFilesystem * | create_blk_filesystem (FsType fs_type) |
Creates a block filesystem on the block device. More... | |
bool | has_blk_filesystem () const |
Return whether the block device has a block filesystem. | |
BlkFilesystem * | get_blk_filesystem () |
Return the block filesystem of the block device. More... | |
const BlkFilesystem * | get_blk_filesystem () const |
Return the block filesystem of the block device. More... | |
BlkFilesystem * | create_filesystem (FsType fs_type) ST_DEPRECATED |
Creates a block filesystem on the block device. More... | |
bool | has_filesystem () const ST_DEPRECATED |
Return whether the block device has a block filesystem. More... | |
BlkFilesystem * | get_filesystem () ST_DEPRECATED |
Return the block filesystem of the block device. More... | |
const BlkFilesystem * | get_filesystem () const ST_DEPRECATED |
Return the block filesystem of the block device. More... | |
Encryption * | create_encryption (const std::string &dm_name) ST_DEPRECATED |
Creates an encryption device on the blk device. More... | |
Encryption * | create_encryption (const std::string &dm_name, EncryptionType type) |
Creates an encryption device on the blk device. More... | |
void | remove_encryption () |
Removes an encryption device on the blk device. More... | |
bool | has_encryption () const |
Return whether the block device has an Encryption. | |
Encryption * | get_encryption () |
Return the Encryption of the block device. More... | |
const Encryption * | get_encryption () const |
Return the Encryption of the block device. More... | |
Bcache * | create_bcache (const std::string &name) |
Creates a Bcache on the blk device. More... | |
bool | has_bcache () const |
Return whether the block device has a BCache. | |
Bcache * | get_bcache () |
Return the Bcache of the block device. More... | |
const Bcache * | get_bcache () const |
Return the Bcache of the block device. More... | |
BcacheCset * | create_bcache_cset () |
Creates a BcacheCset on the blk device. More... | |
bool | has_bcache_cset () const |
Return whether the block device has a BcacheCset. | |
BcacheCset * | get_bcache_cset () |
Return the BcacheCset of the block device. More... | |
const BcacheCset * | get_bcache_cset () const |
Return the BcacheCset of the block device. More... | |
std::vector< MountByType > | possible_mount_bys () const |
Returns the possible mount-by methods to reference the block device. | |
Impl & | get_impl () |
const Impl & | get_impl () const |
![]() | |
sid_t | get_sid () const |
Return the storage id (sid) of the device. More... | |
bool | operator== (const Device &rhs) const |
bool | operator!= (const Device &rhs) const |
Device * | copy_to_devicegraph (Devicegraph *devicegraph) const |
Copies the device to the devicegraph. More... | |
bool | exists_in_devicegraph (const Devicegraph *devicegraph) const |
Checks if the device exists in the devicegraph. | |
bool | exists_in_probed () const |
Checks if the device exists in the probed devicegraph. | |
bool | exists_in_staging () const |
Checks if the device exists in the staging devicegraph. | |
bool | exists_in_system () const |
Checks if the device exists in the system devicegraph. | |
std::string | get_displayname () const |
ResizeInfo | detect_resize_info () const |
Detect the resize info of the device. More... | |
bool | has_children () const |
size_t | num_children () const |
bool | has_parents () const |
size_t | num_parents () const |
std::vector< Device * > | get_children () |
std::vector< const Device * > | get_children () const |
std::vector< Device * > | get_children (View view) |
Get all children of the device. | |
std::vector< const Device * > | get_children (View view) const |
Get all children of the device. More... | |
std::vector< Device * > | get_parents () |
std::vector< const Device * > | get_parents () const |
std::vector< Device * > | get_parents (View view) |
Get all parents of the device. | |
std::vector< const Device * > | get_parents (View view) const |
Get all parents of the device. More... | |
std::vector< Device * > | get_siblings (bool itself) |
std::vector< const Device * > | get_siblings (bool itself) const |
std::vector< Device * > | get_descendants (bool itself) |
std::vector< const Device * > | get_descendants (bool itself) const |
std::vector< Device * > | get_descendants (bool itself, View view) |
std::vector< const Device * > | get_descendants (bool itself, View view) const |
std::vector< Device * > | get_ancestors (bool itself) |
std::vector< const Device * > | get_ancestors (bool itself) const |
std::vector< Device * > | get_leaves (bool itself) |
std::vector< const Device * > | get_leaves (bool itself) const |
std::vector< Device * > | get_roots (bool itself) |
std::vector< const Device * > | get_roots (bool itself) const |
std::vector< Holder * > | get_in_holders () |
std::vector< const Holder * > | get_in_holders () const |
std::vector< Holder * > | get_out_holders () |
std::vector< const Holder * > | get_out_holders () const |
void | remove_descendants () ST_DEPRECATED |
void | remove_descendants (View view) |
Remove all descendants of the device. More... | |
const std::map< std::string, std::string > & | get_userdata () const |
Return the userdata of the device. | |
void | set_userdata (const std::map< std::string, std::string > &userdata) |
Set the userdata of the device. | |
std::string | get_name_sort_key () const |
Get a sort-key based on the device name. More... | |
Devicegraph * | get_devicegraph () |
Return the devicegraph the device belongs to. | |
const Devicegraph * | get_devicegraph () const |
Return the devicegraph the device belongs to. More... | |
Impl & | get_impl () |
const Impl & | get_impl () const |
void | save (xmlNode *node) const ST_DEPRECATED |
Static Public Member Functions | |
static Luks * | create (Devicegraph *devicegraph, const std::string &dm_name) |
Create a device of type Luks. More... | |
static Luks * | load (Devicegraph *devicegraph, const xmlNode *node) |
static std::vector< Luks * > | get_all (Devicegraph *devicegraph) |
Get all Lukses. | |
static std::vector< const Luks * > | get_all (const Devicegraph *devicegraph) |
Get all Lukses. More... | |
static void | reset_activation_infos () |
The library keeps track of whether the activation of a specific LUKS device was canceled and of the password. More... | |
![]() | |
static Encryption * | create (Devicegraph *devicegraph, const std::string &name) |
Create a device of type Encryption. More... | |
static Encryption * | load (Devicegraph *devicegraph, const xmlNode *node) |
static std::vector< Encryption * > | get_all (Devicegraph *devicegraph) |
Get all Encryption objects of the devicegraph. | |
static std::vector< const Encryption * > | get_all (const Devicegraph *devicegraph) |
Get all Encryption objects of the devicegraph. More... | |
![]() | |
static std::vector< BlkDevice * > | get_all (Devicegraph *devicegraph) |
Get all BlkDevices. | |
static std::vector< const BlkDevice * > | get_all (const Devicegraph *devicegraph) |
Get all BlkDevices. More... | |
static BlkDevice * | find_by_name (Devicegraph *devicegraph, const std::string &name) |
Find a block device by its name. More... | |
static const BlkDevice * | find_by_name (const Devicegraph *devicegraph, const std::string &name) |
Find a block device by its name. More... | |
static bool | exists_by_any_name (const Devicegraph *devicegraph, const std::string &name, SystemInfo &system_info) |
Check if a block device by any name including any symbolic links in /dev. More... | |
static BlkDevice * | find_by_any_name (Devicegraph *devicegraph, const std::string &name) ST_DEPRECATED |
Find a block device by any name including any symbolic links in /dev. More... | |
static BlkDevice * | find_by_any_name (Devicegraph *devicegraph, const std::string &name, SystemInfo &system_info) |
Find a block device by any name including any symbolic links in /dev. More... | |
static const BlkDevice * | find_by_any_name (const Devicegraph *devicegraph, const std::string &name) ST_DEPRECATED |
Find a block device by any name including any symbolic links in /dev. More... | |
static const BlkDevice * | find_by_any_name (const Devicegraph *devicegraph, const std::string &name, SystemInfo &system_info) |
Find a block device by any name including any symbolic links in /dev. More... | |
static bool | compare_by_dm_table_name (const BlkDevice *lhs, const BlkDevice *rhs) |
Compare (less than) two BlkDevices by DM table name. More... | |
![]() | |
static std::vector< Device * > | get_all (Devicegraph *devicegraph) |
Get all Devices. | |
static std::vector< const Device * > | get_all (const Devicegraph *devicegraph) |
Get all Devices. More... | |
static bool | compare_by_sid (const Device *lhs, const Device *rhs) |
Compare (less than) two Devices by sid. More... | |
static bool | compare_by_name (const Device *lhs, const Device *rhs) |
Compare (less than) two Devices by name. More... | |
Protected Member Functions | |
Luks (Impl *impl) | |
![]() | |
Encryption (Impl *impl) | |
![]() | |
BlkDevice (Impl *impl) | |
![]() | |
Device (Impl *impl) | |
void | create (Devicegraph *devicegraph) |
Create a device in the devicegraph. More... | |
void | load (Devicegraph *devicegraph) |
An LUKS encryption layer on a block device.
Do not resize the Luks object but the underlying BlkDevice object.
|
static |
Create a device of type Luks.
Usually this function is not called directly. Instead BlkDevice::create_encryption() is called.
|
static |
Get all Lukses.
const std::string& storage::Luks::get_label | ( | ) | const |
Get the LUKS label.
Only available in LUKS version 2.
|
static |
The library keeps track of whether the activation of a specific LUKS device was canceled and of the password.
Using this function that information can be reset.
void storage::Luks::set_format_options | ( | const std::string & | format_options | ) |
Set extra options for luks format call.
The options are injected as-is to the command so must be properly quoted.
Options that modify the size of the resulting blk device (e.g. –integrity) are not allowed.
void storage::Luks::set_label | ( | const std::string & | label | ) |
Set the LUKS label.
Only available in LUKS version 2.
void storage::Luks::set_uuid | ( | const std::string & | uuid | ) |
Set the LUKS UUID.
The UUID is only set when creating a new LUKS on disk.