syslog-ng source
secret-storage.c File Reference
#include <errno.h>
#include <string.h>
#include <stddef.h>
#include "nondumpable-allocator.h"
#include "secret-storage.h"
Include dependency graph for secret-storage.c:

Classes

struct  Subscription
 
struct  SecretStorage
 
struct  SecretCallBackAction
 

Macros

#define SECRET_HEADER_SIZE   offsetof(Secret, data)
 
#define SECRET_STORAGE_HEADER_SIZE   (SECRET_HEADER_SIZE + offsetof(SecretStorage, secret))
 
#define SECRET_STORAGE_INITIAL_SIZE   2048
 

Functions

void secret_storage_init (void)
 
void secret_storage_deinit (void)
 
gboolean secret_storage_store_secret (const gchar *key, gchar *secret, gsize len)
 
void secret_storage_wipe (gpointer s, gsize len)
 
gboolean secret_storage_store_string (const gchar *key, gchar *secret)
 
Secretsecret_storage_clone_secret (Secret *self)
 
Secretsecret_storage_get_secret_by_name (const gchar *key)
 
void secret_storage_put_secret (Secret *self)
 
void secret_storage_with_secret (const gchar *key, SecretStorageCB func, gpointer user_data)
 
gboolean secret_storage_subscribe_for_key (const gchar *key, SecretStorageCB func, gpointer user_data)
 
void secret_storage_unsubscribe (const gchar *key, SecretStorageCB func, gpointer user_data)
 
void secret_storage_status_foreach (SecretStatusCB cb, gpointer user_data)
 
void secret_storage_update_status (const gchar *key, SecretStorageSecretState state)
 
gboolean secret_storage_contains_key (const gchar *key)
 

Variables

GHashTable *secret_manager INTERNAL = 1
 

Macro Definition Documentation

◆ SECRET_HEADER_SIZE

#define SECRET_HEADER_SIZE   offsetof(Secret, data)

◆ SECRET_STORAGE_HEADER_SIZE

#define SECRET_STORAGE_HEADER_SIZE   (SECRET_HEADER_SIZE + offsetof(SecretStorage, secret))

◆ SECRET_STORAGE_INITIAL_SIZE

#define SECRET_STORAGE_INITIAL_SIZE   2048

Function Documentation

◆ secret_storage_clone_secret()

Secret* secret_storage_clone_secret ( Secret self)

◆ secret_storage_contains_key()

gboolean secret_storage_contains_key ( const gchar *  key)

◆ secret_storage_deinit()

void secret_storage_deinit ( void  )

◆ secret_storage_get_secret_by_name()

Secret* secret_storage_get_secret_by_name ( const gchar *  key)

◆ secret_storage_init()

void secret_storage_init ( void  )

◆ secret_storage_put_secret()

void secret_storage_put_secret ( Secret self)

◆ secret_storage_status_foreach()

void secret_storage_status_foreach ( SecretStatusCB  cb,
gpointer  user_data 
)

◆ secret_storage_store_secret()

gboolean secret_storage_store_secret ( const gchar *  key,
gchar *  secret,
gsize  len 
)

◆ secret_storage_store_string()

gboolean secret_storage_store_string ( const gchar *  key,
gchar *  secret 
)

◆ secret_storage_subscribe_for_key()

gboolean secret_storage_subscribe_for_key ( const gchar *  key,
SecretStorageCB  func,
gpointer  user_data 
)

◆ secret_storage_unsubscribe()

void secret_storage_unsubscribe ( const gchar *  key,
SecretStorageCB  func,
gpointer  user_data 
)

◆ secret_storage_update_status()

void secret_storage_update_status ( const gchar *  key,
SecretStorageSecretState  state 
)

◆ secret_storage_wipe()

void secret_storage_wipe ( gpointer  s,
gsize  len 
)

◆ secret_storage_with_secret()

void secret_storage_with_secret ( const gchar *  key,
SecretStorageCB  func,
gpointer  user_data 
)

Variable Documentation

◆ INTERNAL

volatile gint secret_manager_uninitialized INTERNAL = 1