<p dir="ltr">Derek, thanks for your review. :)</p>
<p dir="ltr">I'll correct the comment regarding fd and update this patch.<br>
>Should probably just be<br>
> * \return The fd to use for the connection</p>
<p dir="ltr">Thanks and regards,<br>
Sung-Jin Park</p>
<div class="gmail_quote">2016. 1. 13. 오전 1:58에 "Derek Foreman" <<a href="mailto:derekf@osg.samsung.com">derekf@osg.samsung.com</a>>님이 작성:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On 11/01/16 04:30 PM, Sung-Jin Park wrote:<br>
> This adds an API to get the socket fd for a client.<br>
> The client socket fd can be used for a wayland compositor to validate a request<br>
> from a client.<br>
> For instance, this will be helpful in some linux distributions, in which SELinux<br>
> or SMACK is enabled. In those environments, each file (including socket) will have<br>
> each security context in its inode as xattr member variable. A wayland compositor<br>
> can validate a client request by getting socket fd of the client and by checking<br>
> the security context associated with the socket fd.<br>
><br>
> Signed-off-by: Sung-Jin Park <<a href="mailto:input.hacker@gmail.com">input.hacker@gmail.com</a>><br>
> ---<br>
>  src/wayland-server-core.h |  3 +++<br>
>  src/wayland-server.c      | 15 +++++++++++++++<br>
>  2 files changed, 18 insertions(+)<br>
><br>
> diff --git a/src/wayland-server-core.h b/src/wayland-server-core.h<br>
> index 1700cd3..0d5fbc1 100644<br>
> --- a/src/wayland-server-core.h<br>
> +++ b/src/wayland-server-core.h<br>
> @@ -182,6 +182,9 @@ void<br>
>  wl_client_get_credentials(struct wl_client *client,<br>
>                         pid_t *pid, uid_t *uid, gid_t *gid);<br>
><br>
> +int<br>
> +wl_client_get_socket_fd(struct wl_client *client);<br>
> +<br>
>  void<br>
>  wl_client_add_destroy_listener(struct wl_client *client,<br>
>                              struct wl_listener *listener);<br>
> diff --git a/src/wayland-server.c b/src/wayland-server.c<br>
> index 55c0cf9..973a71c 100644<br>
> --- a/src/wayland-server.c<br>
> +++ b/src/wayland-server.c<br>
> @@ -491,6 +491,21 @@ wl_client_get_credentials(struct wl_client *client,<br>
>               *gid = client->ucred.gid;<br>
>  }<br>
><br>
> +/** Get the socket fd for the client<br>
> + *<br>
> + * \param client The display object<br>
> + * \return fd The fd to use for the connection<br>
<br>
Should probably just be<br>
 * \return The fd to use for the connection<br>
<br>
Otherwise this looks good to me,<br>
Reviewed-by: Derek Foreman <<a href="mailto:derekf@osg.samsung.com">derekf@osg.samsung.com</a>><br>
<br>
> + *<br>
> + * This function returns the client socket fd for the given client.<br>
> + *<br>
> + * \memberof wl_client<br>
> + */<br>
> +WL_EXPORT int<br>
> +wl_client_get_socket_fd(struct wl_client *client)<br>
> +{<br>
> +     return client->connection->fd;<br>
> +}<br>
> +<br>
>  /** Look up an object in the client name space<br>
>   *<br>
>   * \param client The client object<br>
><br>
<br>
</blockquote></div>