From ccae560ec00d44a365acbe763e5c579d4031a028 Mon Sep 17 00:00:00 2001 From: Ralf Habacker Date: Thu, 5 Mar 2015 19:17:25 +0100 Subject: [PATCH 3/3] DBusSocket refacforing - common part --- dbus/dbus-nonce.c | 8 ++++---- dbus/dbus-nonce.h | 5 +++-- dbus/dbus-server-debug-pipe.c | 2 +- dbus/dbus-server-socket.c | 12 ++++++------ dbus/dbus-server-socket.h | 2 +- dbus/dbus-sysdeps.h | 38 ++++++++++++++++++++++---------------- dbus/dbus-transport-socket.c | 5 +++-- 7 files changed, 40 insertions(+), 32 deletions(-) diff --git a/dbus/dbus-nonce.c b/dbus/dbus-nonce.c index 44c46b2..280abb2 100644 --- a/dbus/dbus-nonce.c +++ b/dbus/dbus-nonce.c @@ -142,10 +142,10 @@ _dbus_read_nonce (const DBusString *fname, DBusString *nonce, DBusError* error) return TRUE; } -int -_dbus_accept_with_noncefile (int listen_fd, const DBusNonceFile *noncefile) +DBusSocket +_dbus_accept_with_noncefile (DBusSocket listen_fd, const DBusNonceFile *noncefile) { - int fd; + DBusSocket fd; DBusString nonce; _dbus_assert (noncefile != NULL); @@ -431,7 +431,7 @@ _dbus_noncefile_get_path (const DBusNonceFile *noncefile) * and matches the nonce from the given nonce file */ dbus_bool_t -_dbus_noncefile_check_nonce (int fd, +_dbus_noncefile_check_nonce (DBusSocket fd, const DBusNonceFile *noncefile, DBusError* error) { diff --git a/dbus/dbus-nonce.h b/dbus/dbus-nonce.h index 474ea72..26308fd 100644 --- a/dbus/dbus-nonce.h +++ b/dbus/dbus-nonce.h @@ -27,6 +27,7 @@ #include #include #include +#include DBUS_BEGIN_DECLS @@ -46,13 +47,13 @@ dbus_bool_t _dbus_noncefile_create (DBusNonceFile *noncefile, dbus_bool_t _dbus_noncefile_delete (DBusNonceFile *noncefile, DBusError *error); -dbus_bool_t _dbus_noncefile_check_nonce (int fd, +dbus_bool_t _dbus_noncefile_check_nonce (DBusSocket fd, const DBusNonceFile *noncefile, DBusError *error); const DBusString* _dbus_noncefile_get_path (const DBusNonceFile *noncefile); -int _dbus_accept_with_noncefile (int listen_fd, +DBusSocket _dbus_accept_with_noncefile(DBusSocket listen_fd, const DBusNonceFile *noncefile); // shared diff --git a/dbus/dbus-server-debug-pipe.c b/dbus/dbus-server-debug-pipe.c index 8f5ff5f..a81b3e2 100644 --- a/dbus/dbus-server-debug-pipe.c +++ b/dbus/dbus-server-debug-pipe.c @@ -211,7 +211,7 @@ _dbus_transport_debug_pipe_new (const char *server_name, DBusTransport *client_transport; DBusTransport *server_transport; DBusConnection *connection; - int client_fd, server_fd; + DBusSocket client_fd, server_fd; DBusServer *server; DBusString address; diff --git a/dbus/dbus-server-socket.c b/dbus/dbus-server-socket.c index 70367c7..aa2ce85 100644 --- a/dbus/dbus-server-socket.c +++ b/dbus/dbus-server-socket.c @@ -51,7 +51,7 @@ struct DBusServerSocket { DBusServer base; /**< Parent class members. */ int n_fds; /**< Number of active file handles */ - int *fds; /**< File descriptor or -1 if disconnected. */ + DBusSocket *fds; /**< File descriptor or -1 if disconnected. */ DBusWatch **watch; /**< File descriptor watch. */ char *socket_name; /**< Name of domain socket, to unlink if appropriate */ DBusNonceFile *noncefile; /**< Nonce file used to authenticate clients */ @@ -182,8 +182,8 @@ socket_handle_watch (DBusWatch *watch, if (flags & DBUS_WATCH_READABLE) { - int client_fd; - int listen_fd; + DBusSocket client_fd; + DBusSocket listen_fd; int saved_errno; listen_fd = dbus_watch_get_socket (watch); @@ -280,7 +280,7 @@ static const DBusServerVTable socket_vtable = { * */ DBusServer* -_dbus_server_new_for_socket (int *fds, +_dbus_server_new_for_socket (DBusSocket *fds, int n_fds, const DBusString *address, DBusNonceFile *noncefile) @@ -295,7 +295,7 @@ _dbus_server_new_for_socket (int *fds, socket_server->noncefile = noncefile; - socket_server->fds = dbus_new (int, n_fds); + socket_server->fds = (DBusSocket *)dbus_new (int, n_fds); if (!socket_server->fds) goto failed_0; @@ -396,7 +396,7 @@ _dbus_server_new_for_tcp_socket (const char *host, dbus_bool_t use_nonce) { DBusServer *server; - int *listen_fds = NULL; + DBusSocket *listen_fds = NULL; int nlisten_fds = 0, i; DBusString address; DBusString host_str; diff --git a/dbus/dbus-server-socket.h b/dbus/dbus-server-socket.h index 44e11e8..cdb6284 100644 --- a/dbus/dbus-server-socket.h +++ b/dbus/dbus-server-socket.h @@ -29,7 +29,7 @@ DBUS_BEGIN_DECLS -DBusServer* _dbus_server_new_for_socket (int *fds, +DBusServer* _dbus_server_new_for_socket (DBusSocket *fds, int n_fds, const DBusString *address, DBusNonceFile *noncefile); diff --git a/dbus/dbus-sysdeps.h b/dbus/dbus-sysdeps.h index 2dbc420..63be9e2 100644 --- a/dbus/dbus-sysdeps.h +++ b/dbus/dbus-sysdeps.h @@ -128,20 +128,26 @@ typedef unsigned long dbus_gid_t; * will be checked by the compiler. * */ +#ifndef DBUS_WIN +typedef int DBusSocket; +#else +#include +typedef SOCKET DBusSocket; +#endif DBUS_PRIVATE_EXPORT -dbus_bool_t _dbus_close_socket (int fd, +dbus_bool_t _dbus_close_socket (DBusSocket fd, DBusError *error); DBUS_PRIVATE_EXPORT -int _dbus_read_socket (int fd, +int _dbus_read_socket (DBusSocket fd, DBusString *buffer, int count); DBUS_PRIVATE_EXPORT -int _dbus_write_socket (int fd, +int _dbus_write_socket (DBusSocket fd, const DBusString *buffer, int start, int len); -int _dbus_write_socket_two (int fd, +int _dbus_write_socket_two (DBusSocket fd, const DBusString *buffer1, int start1, int len1, @@ -149,19 +155,19 @@ int _dbus_write_socket_two (int fd, int start2, int len2); -int _dbus_read_socket_with_unix_fds (int fd, +int _dbus_read_socket_with_unix_fds (DBusSocket fd, DBusString *buffer, int count, - int *fds, + DBusSocket *fds, int *n_fds); DBUS_PRIVATE_EXPORT -int _dbus_write_socket_with_unix_fds (int fd, +int _dbus_write_socket_with_unix_fds (DBusSocket fd, const DBusString *buffer, int start, int len, const int *fds, int n_fds); -int _dbus_write_socket_with_unix_fds_two (int fd, +int _dbus_write_socket_with_unix_fds_two (DBusSocket fd, const DBusString *buffer1, int start1, int len1, @@ -186,15 +192,15 @@ int _dbus_listen_tcp_socket (const char *host, const char *port, const char *family, DBusString *retport, - int **fds_p, + DBusSocket **fds_p, DBusError *error); -int _dbus_accept (int listen_fd); +DBusSocket _dbus_accept (DBusSocket listen_fd); -dbus_bool_t _dbus_read_credentials_socket (int client_fd, +dbus_bool_t _dbus_read_credentials_socket (DBusSocket client_fd, DBusCredentials *credentials, DBusError *error); -dbus_bool_t _dbus_send_credentials_socket (int server_fd, +dbus_bool_t _dbus_send_credentials_socket (DBusSocket server_fd, DBusError *error); dbus_bool_t _dbus_credentials_add_from_user (DBusCredentials *credentials, @@ -224,7 +230,7 @@ dbus_bool_t _dbus_daemon_publish_session_bus_address (const char* address, const void _dbus_daemon_unpublish_session_bus_address (void); -dbus_bool_t _dbus_socket_can_pass_unix_fd(int fd); +dbus_bool_t _dbus_socket_can_pass_unix_fd(DBusSocket fd); /** Opaque type representing an atomically-modifiable integer * that can be used from multiple threads. @@ -378,7 +384,7 @@ dbus_bool_t _dbus_check_dir_is_private_to_user (DBusString *dir, DBusError *error); DBUS_PRIVATE_EXPORT -const char* _dbus_get_tmpdir (void); +const char *_dbus_get_tmpdir(void); /** * Random numbers @@ -438,8 +444,8 @@ dbus_bool_t _dbus_stat (const DBusString *filename, DBusStat *statbuf, DBusError *error); DBUS_PRIVATE_EXPORT -dbus_bool_t _dbus_full_duplex_pipe (int *fd1, - int *fd2, +dbus_bool_t _dbus_full_duplex_pipe (DBusSocket *fd1, + DBusSocket *fd2, dbus_bool_t blocking, DBusError *error); diff --git a/dbus/dbus-transport-socket.c b/dbus/dbus-transport-socket.c index c1e4701..518395a 100644 --- a/dbus/dbus-transport-socket.c +++ b/dbus/dbus-transport-socket.c @@ -604,7 +604,7 @@ do_writing (DBusTransport *transport) if (socket_transport->message_bytes_written <= 0 && DBUS_TRANSPORT_CAN_SEND_UNIX_FD(transport)) { /* Send the fds along with the first byte of the message */ - const int *unix_fds; + const DBusSocket *unix_fds; unsigned n; _dbus_message_get_unix_fds(message, &unix_fds, &n); @@ -821,7 +821,8 @@ do_reading (DBusTransport *transport) #ifdef HAVE_UNIX_FD_PASSING if (DBUS_TRANSPORT_CAN_SEND_UNIX_FD(transport)) { - int *fds, n_fds; + DBusSocket *fds; + int n_fds; if (!_dbus_message_loader_get_unix_fds(transport->loader, &fds, &n_fds)) { -- 1.8.4.5