DBusKeyring implementation details
D-Bus secret internal implementation details

DBusKeyring implementation details. More...

## Data Structures

struct | DBusKey
| A single key from the cookie file. More...
struct | DBusKeyring
| Internals of DBusKeyring. More...

## Macros

#define | NEW_KEY_TIMEOUT_SECONDS (60*5)
| The maximum age of a key before we create a new key to use in challenges. More...
#define | EXPIRE_KEYS_TIMEOUT_SECONDS (NEW_KEY_TIMEOUT_SECONDS + (60*2))
| The time after which we drop a key from the secrets file. More...
#define | MAX_TIME_TRAVEL_SECONDS (60*5)
| The maximum amount of time a key can be in the future.
#define | MAX_KEYS_IN_FILE 256
| Maximum number of keys in the keyring before we just ignore the rest.
#define | MAX_LOCK_TIMEOUTS 32
| Maximum number of timeouts waiting for lock before we decide it's stale.
#define | LOCK_TIMEOUT_MILLISECONDS 250
| Length of each timeout while waiting for a lock.

## Detailed Description

DBusKeyring implementation details.

The guts of DBusKeyring.

## Macro Definition Documentation

#define EXPIRE_KEYS_TIMEOUT_SECONDS (NEW_KEY_TIMEOUT_SECONDS + (60*2))

The time after which we drop a key from the secrets file.

The EXPIRE_KEYS_TIMEOUT_SECONDS - NEW_KEY_TIMEOUT_SECONDS is the minimum time window a client has to complete authentication.

Definition at line 73 of file dbus-keyring.c.

#define NEW_KEY_TIMEOUT_SECONDS (60*5)

The maximum age of a key before we create a new key to use in challenges.

This isn't super-reliably enforced, since system clocks can change or be wrong, but we make a best effort to only use keys for a short time.

Definition at line 67 of file dbus-keyring.c.