27#define LOG(s) CLASS_EMERGENCY_LOG(program_wide_logger::get(), s)
37#ifdef DEBUG_KEY_REPOSITORY
45#ifdef DEBUG_KEY_REPOSITORY
50#ifdef DEBUG_KEY_REPOSITORY
59 if (!to_unlock)
return;
66#ifdef DEBUG_KEY_REPOSITORY
77#ifdef DEBUG_KEY_REPOSITORY
Provides a dynamically resizable ASCII character string.
auto_synchronizer simplifies concurrent code by automatically unlocking.
void lock()
Clamps down on the mutex, if possible.
void unlock()
Gives up the possession of the mutex.
Outcomes describe the state of completion for an operation.
Provides BlowFish encryption on byte_arrays using the OpenSSL package.
basis::outcome whack(const octopus_entity &ent)
removes the key for "ent".
void unlock(octenc_key_record *to_unlock)
drops the lock on the key record in "to_unlock".
basis::outcome add(const octopus_entity &ent, const crypto::blowfish_crypto &key)
adds a "key" for the "ent". this will fail if one is already listed.
octenc_key_record * lock(const octopus_entity &ent)
locates the key for "ent", if it's stored.
virtual ~key_repository()
Tracks the keys that have been assigned for a secure channel.
Provides a way of identifying users of an octopus object.
basis::astring text_form() const
returns a readable form of the identifier.
basis::astring mangled_form() const
returns the combined string form of the identifier.
#define NULL_POINTER
The value representing a pointer to nothing.
#define FUNCDEF(func_in)
FUNCDEF sets the name of a function (and plugs it into the callstack).
The guards collection helps in testing preconditions and reporting errors.
A dynamic container class that holds any kind of object via pointers.