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.
#define | EXPIRE_KEYS_TIMEOUT_SECONDS (NEW_KEY_TIMEOUT_SECONDS + (60*2))
| The time after which we drop a key from the secrets file.
#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

## EXPIRE_KEYS_TIMEOUT_SECONDS

#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 76 of file dbus-keyring.c.

## LOCK_TIMEOUT_MILLISECONDS

#define LOCK_TIMEOUT_MILLISECONDS 250

Length of each timeout while waiting for a lock.

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

## MAX_KEYS_IN_FILE

#define MAX_KEYS_IN_FILE 256

Maximum number of keys in the keyring before we just ignore the rest.

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

## MAX_LOCK_TIMEOUTS

#define MAX_LOCK_TIMEOUTS 32

Maximum number of timeouts waiting for lock before we decide it's stale.

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

## MAX_TIME_TRAVEL_SECONDS

#define MAX_TIME_TRAVEL_SECONDS (60*5)

The maximum amount of time a key can be in the future.

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

## NEW_KEY_TIMEOUT_SECONDS

#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 70 of file dbus-keyring.c.