|DBusKeyring *||_dbus_keyring_ref (DBusKeyring *keyring)|
|Increments reference count of the keyring. More...|
|void||_dbus_keyring_unref (DBusKeyring *keyring)|
|Decrements refcount and finalizes if it reaches zero. More...|
|DBusKeyring *||_dbus_keyring_new_for_credentials (DBusCredentials *credentials, const DBusString *context, DBusError *error)|
|Creates a new keyring that lives in the ~/.dbus-keyrings directory of the user represented by |
|dbus_bool_t||_dbus_keyring_validate_context (const DBusString *context)|
|Checks whether the context is a valid context. More...|
|int||_dbus_keyring_get_best_key (DBusKeyring *keyring, DBusError *error)|
|Gets a recent key to use for authentication. More...|
|dbus_bool_t||_dbus_keyring_is_for_credentials (DBusKeyring *keyring, DBusCredentials *credentials)|
|Checks whether the keyring is for the same user as the given credentials. More...|
|dbus_bool_t||_dbus_keyring_get_hex_key (DBusKeyring *keyring, int key_id, DBusString *hex_key)|
|Gets the hex-encoded secret key for the given ID. More...|
DBusKeyring data structure.
Types and functions related to DBusKeyring. DBusKeyring is intended to manage cookies used to authenticate clients to servers. This is essentially the "verify that client can read the user's homedir" authentication mechanism. Both client and server must have access to the homedir.
The secret keys are not kept in locked memory, and are written to a file in the user's homedir. However they are transient (only used by a single server instance for a fixed period of time, then discarded). Also, the keys are not sent over the wire.
Gets a recent key to use for authentication.
If no recent key exists, creates one. Returns the key ID. If a key can't be written to the keyring file so no recent key can be created, returns -1. All valid keys are > 0.
|error||error on failure|
Gets the hex-encoded secret key for the given ID.
|key_id||the key ID|
|hex_key||string to append hex-encoded key to|
|dbus_bool_t _dbus_keyring_is_for_credentials||(||DBusKeyring *||keyring,|
|DBusKeyring* _dbus_keyring_new_for_credentials||(||DBusCredentials *||credentials,|
|const DBusString *||context,|
Creates a new keyring that lives in the ~/.dbus-keyrings directory of the user represented by
credentials are NULL or empty, uses those of the current process.
|credentials||a set of credentials representing a user or NULL|
|context||which keyring to get|
|error||return location for errors|
References _dbus_append_keyring_directory_for_credentials(), _dbus_check_setuid(), _dbus_credentials_add_from_current_process(), _dbus_credentials_are_anonymous(), _dbus_credentials_copy(), _dbus_credentials_new_from_current_process(), _dbus_string_init(), DBUS_ERROR_NO_MEMORY, DBUS_ERROR_NOT_SUPPORTED, dbus_set_error(), dbus_set_error_const(), FALSE, and NULL.
|void _dbus_keyring_unref||(||DBusKeyring *||keyring||)|
Checks whether the context is a valid context.
Contexts that might cause confusion when used in filenames are not allowed (contexts can't start with a dot or contain dir separators).