Main Page | Modules | Data Structures | File List | Data Fields | Related Pages

Authentication implementation details
[D-BUS internal implementation details]

DBusAuth implementation details. More...

Data Structures

struct  DBusAuth
 Internal members of DBusAuth. More...

struct  DBusAuthClient
 "Subclass" of DBusAuth for client side More...

struct  DBusAuthCommandHandler
 Handler for a given auth protocol command. More...

struct  DBusAuthMechanismHandler
 Virtual table representing a particular auth mechanism. More...

struct  DBusAuthServer
 "Subclass" of DBusAuth for server side. More...


Defines

#define DBUS_AUTH_IS_SERVER(auth)   ((auth)->handlers == server_handlers)
#define DBUS_AUTH_IS_CLIENT(auth)   ((auth)->handlers == client_handlers)
#define DBUS_AUTH_CLIENT(auth)   ((DBusAuthClient*)(auth))
#define DBUS_AUTH_SERVER(auth)   ((DBusAuthServer*)(auth))
#define DBUS_AUTH_NAME(auth)   (DBUS_AUTH_IS_SERVER(auth) ? "server" : "client")
 The name of the auth ("client" or "server").

#define N_CHALLENGE_BYTES   (128/8)
 http://www.ietf.org/rfc/rfc2831.txt suggests at least 64 bits of entropy, we use 128.


Typedefs

typedef dbus_bool_t(* DBusProcessAuthCommandFunction )(DBusAuth *auth, const DBusString *command, const DBusString *args)
 Processes a command.

typedef dbus_bool_t(* DBusInitialResponseFunction )(DBusAuth *auth, DBusString *response)
 This function appends an initial client response to the given string.

typedef dbus_bool_t(* DBusAuthDataFunction )(DBusAuth *auth, const DBusString *data)
 This function processes a block of data received from the peer.

typedef dbus_bool_t(* DBusAuthEncodeFunction )(DBusAuth *auth, const DBusString *data, DBusString *encoded)
 This function encodes a block of data from the peer.

typedef dbus_bool_t(* DBusAuthDecodeFunction )(DBusAuth *auth, const DBusString *data, DBusString *decoded)
 This function decodes a block of data from the peer.

typedef void(* DBusAuthShutdownFunction )(DBusAuth *auth)
 This function is called when the mechanism is abandoned.


Detailed Description

DBusAuth implementation details.

Private details of authentication code.


Define Documentation

#define DBUS_AUTH_CLIENT auth   )     ((DBusAuthClient*)(auth))
 

Parameters:
auth the auth conversation
Returns:
auth cast to DBusAuthClient

Definition at line 269 of file dbus-auth.c.

Referenced by _dbus_auth_client_new(), _dbus_auth_do_work(), and _dbus_auth_unref().

#define DBUS_AUTH_IS_CLIENT auth   )     ((auth)->handlers == client_handlers)
 

Parameters:
auth the auth conversation
Returns:
TRUE if the conversation is the client side

Definition at line 264 of file dbus-auth.c.

Referenced by _dbus_auth_decode_data(), _dbus_auth_encode_data(), _dbus_auth_needs_decoding(), _dbus_auth_needs_encoding(), and _dbus_auth_unref().

#define DBUS_AUTH_IS_SERVER auth   )     ((auth)->handlers == server_handlers)
 

Parameters:
auth the auth conversation
Returns:
TRUE if the conversation is the server side

Definition at line 259 of file dbus-auth.c.

Referenced by _dbus_auth_do_work().

#define DBUS_AUTH_NAME auth   )     (DBUS_AUTH_IS_SERVER(auth) ? "server" : "client")
 

The name of the auth ("client" or "server").

Parameters:
auth the auth conversation
Returns:
a string

Definition at line 281 of file dbus-auth.c.

Referenced by _dbus_auth_bytes_sent(), and _dbus_auth_do_work().

#define DBUS_AUTH_SERVER auth   )     ((DBusAuthServer*)(auth))
 

Parameters:
auth the auth conversation
Returns:
auth cast to DBusAuthServer

Definition at line 274 of file dbus-auth.c.

Referenced by _dbus_auth_do_work(), and _dbus_auth_server_new().

#define N_CHALLENGE_BYTES   (128/8)
 

http://www.ietf.org/rfc/rfc2831.txt suggests at least 64 bits of entropy, we use 128.

This is the number of bytes in the random challenge.

Definition at line 442 of file dbus-auth.c.


Typedef Documentation

typedef dbus_bool_t(* DBusAuthDataFunction)(DBusAuth *auth, const DBusString *data)
 

This function processes a block of data received from the peer.

i.e. handles a DATA command.

Definition at line 95 of file dbus-auth.c.

typedef dbus_bool_t(* DBusProcessAuthCommandFunction)(DBusAuth *auth, const DBusString *command, const DBusString *args)
 

Processes a command.

Returns whether we had enough memory to complete the operation.

Definition at line 72 of file dbus-auth.c.


Generated on Tue Feb 10 18:14:11 2004 for D-BUS by doxygen 1.3.5