On 11/01/16 04:30 PM, Sung-Jin Park wrote: > This adds an API to get the socket fd for a client. > The client socket fd can be used for a wayland compositor to validate a > request > from a client. > For instance, this will be helpful in some linux distributions, in which > SELinux > or SMACK is enabled. In those environments, each file (including socket) will > have > each security context in its inode as xattr member variable. A wayland > compositor > can validate a client request by getting socket fd of the client and by > checking > the security context associated with the socket fd. > > Signed-off-by: Sung-Jin Park <[email protected]> > --- > src/wayland-server-core.h | 3 +++ > src/wayland-server.c | 15 +++++++++++++++ > 2 files changed, 18 insertions(+) > > diff --git a/src/wayland-server-core.h b/src/wayland-server-core.h > index 1700cd3..0d5fbc1 100644 > --- a/src/wayland-server-core.h > +++ b/src/wayland-server-core.h > @@ -182,6 +182,9 @@ void > wl_client_get_credentials(struct wl_client *client, > pid_t *pid, uid_t *uid, gid_t *gid); > > +int > +wl_client_get_socket_fd(struct wl_client *client); > + > void > wl_client_add_destroy_listener(struct wl_client *client, > struct wl_listener *listener); > diff --git a/src/wayland-server.c b/src/wayland-server.c > index 55c0cf9..973a71c 100644 > --- a/src/wayland-server.c > +++ b/src/wayland-server.c > @@ -491,6 +491,21 @@ wl_client_get_credentials(struct wl_client *client, > *gid = client->ucred.gid; > } > > +/** Get the socket fd for the client > + * > + * \param client The display object > + * \return fd The fd to use for the connection
Should probably just be * \return The fd to use for the connection Otherwise this looks good to me, Reviewed-by: Derek Foreman <[email protected]> > + * > + * This function returns the client socket fd for the given client. > + * > + * \memberof wl_client > + */ > +WL_EXPORT int > +wl_client_get_socket_fd(struct wl_client *client) > +{ > + return client->connection->fd; > +} > + > /** Look up an object in the client name space > * > * \param client The client object > _______________________________________________ wayland-devel mailing list [email protected] http://lists.freedesktop.org/mailman/listinfo/wayland-devel
