D-Bus
1.14.99
|
Implementation details of DBusServer on SOCKET. More...
Data Structures | |
struct | DBusServerSocket |
Implementation details of DBusServerSocket. More... | |
Typedefs | |
typedef struct DBusServerSocket | DBusServerSocket |
Opaque object representing a Socket server implementation. | |
Functions | |
DBusServer * | _dbus_server_new_for_socket (DBusSocket *fds, int n_fds, const DBusString *address, DBusNonceFile *noncefile, DBusError *error) |
Creates a new server listening on the given file descriptor. More... | |
DBusServer * | _dbus_server_new_for_tcp_socket (const char *host, const char *bind, const char *port, const char *family, DBusError *error, dbus_bool_t use_nonce) |
Creates a new server listening on TCP. More... | |
DBusServerListenResult | _dbus_server_listen_socket (DBusAddressEntry *entry, DBusServer **server_p, DBusError *error) |
Tries to interpret the address entry for various socket-related addresses (well, currently only tcp and nonce-tcp). More... | |
void | _dbus_server_socket_own_filename (DBusServer *server, char *filename) |
This is a bad hack since it's really unix domain socket specific. More... | |
DBusServer * | _dbus_server_new_for_domain_socket (const char *path, dbus_bool_t abstract, DBusError *error) |
Creates a new server listening on the given Unix domain socket. More... | |
DBusServer * | _dbus_server_new_for_dir (const char *dir, dbus_bool_t use_abstract, DBusError *error) |
Creates a new Unix domain socket server listening under the given directory. More... | |
DBusServerListenResult | _dbus_server_listen_unix_socket (DBusAddressEntry *entry, DBusServer **server_p, DBusError *error) |
Tries to interpret the address entry for UNIX socket addresses. More... | |
Implementation details of DBusServer on SOCKET.
DBusServerListenResult _dbus_server_listen_socket | ( | DBusAddressEntry * | entry, |
DBusServer ** | server_p, | ||
DBusError * | error | ||
) |
Tries to interpret the address entry for various socket-related addresses (well, currently only tcp and nonce-tcp).
Sets error if the result is not OK.
entry | an address entry |
server_p | a new DBusServer, or NULL on failure. |
error | location to store rationale for failure on bad address |
Definition at line 535 of file dbus-server-socket.c.
References _dbus_server_new_for_tcp_socket(), dbus_address_entry_get_method(), dbus_address_entry_get_value(), FALSE, NULL, and TRUE.
DBusServerListenResult _dbus_server_listen_unix_socket | ( | DBusAddressEntry * | entry, |
DBusServer ** | server_p, | ||
DBusError * | error | ||
) |
Tries to interpret the address entry for UNIX socket addresses.
Sets error if the result is not OK.
entry | an address entry |
server_p | location to store a new DBusServer, or NULL on failure. |
error | location to store rationale for failure on bad address |
Definition at line 758 of file dbus-server-socket.c.
References _dbus_concat_dir_and_file(), _dbus_getenv(), _dbus_server_new_for_dir(), _dbus_server_new_for_domain_socket(), _dbus_set_bad_address(), _dbus_string_append(), _dbus_string_free(), _dbus_string_init(), _dbus_string_init_const(), dbus_address_entry_get_method(), dbus_address_entry_get_value(), DBUS_ERROR_NOT_SUPPORTED, dbus_set_error(), FALSE, NULL, and TRUE.
DBusServer* _dbus_server_new_for_dir | ( | const char * | dir, |
dbus_bool_t | use_abstract, | ||
DBusError * | error | ||
) |
Creates a new Unix domain socket server listening under the given directory.
This function is used for "unix:dir/tmpdir" kind of addresses.
dir | the path to a directory. |
abstract | TRUE to use abstract socket namespace |
error | location to store reason for failure. |
Definition at line 689 of file dbus-server-socket.c.
References _dbus_concat_dir_and_file(), _dbus_generate_random_ascii(), _dbus_server_new_for_domain_socket(), _dbus_string_append(), _dbus_string_free(), _dbus_string_init(), DBUS_ERROR_NO_MEMORY, dbus_set_error(), and NULL.
Referenced by _dbus_server_listen_unix_socket().
DBusServer* _dbus_server_new_for_domain_socket | ( | const char * | path, |
dbus_bool_t | abstract, | ||
DBusError * | error | ||
) |
Creates a new server listening on the given Unix domain socket.
path | the path for the domain socket. |
abstract | TRUE to use abstract socket namespace |
error | location to store reason for failure. |
Definition at line 605 of file dbus-server-socket.c.
References _dbus_address_append_escaped(), _dbus_listen_unix_socket(), _dbus_strdup(), _dbus_string_append(), _dbus_string_init(), _dbus_string_init_const(), DBUS_ERROR_NO_MEMORY, dbus_set_error(), and NULL.
Referenced by _dbus_server_listen_unix_socket(), and _dbus_server_new_for_dir().
DBusServer* _dbus_server_new_for_socket | ( | DBusSocket * | fds, |
int | n_fds, | ||
const DBusString * | address, | ||
DBusNonceFile * | noncefile, | ||
DBusError * | error | ||
) |
Creates a new server listening on the given file descriptor.
The file descriptor should be nonblocking (use _dbus_set_fd_nonblocking() to make it so). The file descriptor should be listening for connections, that is, listen() should have been successfully invoked on it. The server will use accept() to accept new client connections.
fds | list of file descriptors. |
n_fds | number of file descriptors |
address | the server's address |
noncefile | to be used for authentication (NULL if not needed) |
error | location to store reason for failure |
Definition at line 283 of file dbus-server-socket.c.
References _dbus_watch_new(), dbus_new, dbus_new0, fds, noncefile, NULL, and watch.
Referenced by _dbus_server_listen_platform_specific(), _dbus_server_new_for_launchd(), and _dbus_server_new_for_tcp_socket().
DBusServer* _dbus_server_new_for_tcp_socket | ( | const char * | host, |
const char * | bind, | ||
const char * | port, | ||
const char * | family, | ||
DBusError * | error, | ||
dbus_bool_t | use_nonce | ||
) |
Creates a new server listening on TCP.
If host is NULL, it will default to localhost. If bind is NULL, it will default to the value for the host parameter, and if that is NULL, then localhost If bind is a hostname, it will be resolved and will listen on all returned addresses. If family is NULL, hostname resolution will try all address families, otherwise it can be ipv4 or ipv6 to restrict the addresses considered.
host | the hostname to report for the listen address |
bind | the hostname to listen on |
port | the port to listen on or 0 to let the OS choose |
family | |
error | location to store reason for failure. |
use_nonce | whether to use a nonce for low-level authentication (nonce-tcp transport) or not (tcp transport) |
Definition at line 415 of file dbus-server-socket.c.
References _dbus_address_append_escaped(), _dbus_close_socket(), _dbus_listen_tcp_socket(), _dbus_server_new_for_socket(), _dbus_string_append(), _dbus_string_free(), _dbus_string_init(), _dbus_string_init_const(), DBUS_ERROR_NO_MEMORY, dbus_free(), dbus_set_error(), and NULL.
Referenced by _dbus_server_listen_platform_specific(), and _dbus_server_listen_socket().
void _dbus_server_socket_own_filename | ( | DBusServer * | server, |
char * | filename | ||
) |
This is a bad hack since it's really unix domain socket specific.
Also, the function weirdly adopts ownership of the passed-in string.
server | a socket server |
filename | socket filename to report/delete |
Definition at line 588 of file dbus-server-socket.c.
References socket_name.