GSignondStorageManager

GSignondStorageManager — manages encrypted disk storage for storing the secret database

Functions

Properties

GSignondConfig * config Read / Write / Construct Only

Object Hierarchy

    GObject
    ╰── GSignondStorageManager

Includes

#include <gsignond/gsignond-plugin-interface.h>

Description

GSignondStorageManager manages encrypted disk storage for storing the databases. The default implementation maintains a simple per-user directory accessible only to root and gsignond group, but gSSO can be configured to use a custom extension that provides a subclassed implementation of GSignondStorageManager (see GSignondExtension for instructions and pointers to examples).

Functions

gsignond_storage_manager_initialize_storage ()

gboolean
gsignond_storage_manager_initialize_storage
                               (GSignondStorageManager *self);

Initialize encryption storage. This means making sure that the necessary directories under GSIGNOND_CONFIG_GENERAL_STORAGE_PATH exist and are accessible.

Parameters

self

object instance.

 

Returns

success?


gsignond_storage_manager_delete_storage ()

gboolean
gsignond_storage_manager_delete_storage
                               (GSignondStorageManager *self);

Destroys all the encryption keys and wipes the storage. gsignond_wipe_directory() is typically used for the latter.

Parameters

self

object instance.

 

Returns

success?


gsignond_storage_manager_storage_is_initialized ()

gboolean
gsignond_storage_manager_storage_is_initialized
                               (GSignondStorageManager *self);

Checks if the storage has been initialized.

Parameters

self

object instance.

 

Returns

storage has been initialized?


gsignond_storage_manager_mount_filesystem ()

const gchar *
gsignond_storage_manager_mount_filesystem
                               (GSignondStorageManager *self);

Mounts an encrypted storage and returns the filesystem path of the storage mount point. This path will be set in GSignondConfig as GSIGNOND_CONFIG_GENERAL_SECURE_DIR and used to access the secret database via GSignondSecretStorage.

The default implemenation does nothing, and immediately returns the path for the secret database.

Parameters

self

object instance.

 

Returns

path of the storage mount point.

[transfer none]


gsignond_storage_manager_unmount_filesystem ()

gboolean
gsignond_storage_manager_unmount_filesystem
                               (GSignondStorageManager *self);

Unmounts a previously mounted encrypted storage filesystem.

Parameters

self

object instance.

 

Returns

success?


gsignond_storage_manager_filesystem_is_mounted ()

gboolean
gsignond_storage_manager_filesystem_is_mounted
                               (GSignondStorageManager *self);

Checks if the encrypted storage filesystem is currently mounted.

Parameters

self

object instance.

 

Returns

filesystem is currently mounted?

Types and Values

Property Details

The “config” property

  “config”                   GSignondConfig *

Configuration object.

Flags: Read / Write / Construct Only