<p dir="ltr">Jonas Ådahl, thanks for your review.</p>
<p dir="ltr">wl_client_get_fd() looks better to me as well.  Including API name, I'll correct comments as well.</p>
<p dir="ltr">Thanks and regards,<br>
Sung-Jin Park</p>
<div class="gmail_quote">2016. 1. 13. 오전 11:32에 "Jonas Ådahl" <<a href="mailto:jadahl@gmail.com">jadahl@gmail.com</a>>님이 작성:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Tue, Jan 12, 2016 at 10:58:16AM -0600, Derek Foreman wrote:<br>
> 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>
s/fd/file descriptor/<br>
<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>
Maybe "file descriptor" here as well?<br>
<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>
I would also prefer the API to be "wl_client_get_fd()" as that is that<br>
is what all the other similar API looks like (be it a socket fd or a<br>
non-socket fd).<br>
<br>
Other than those issues, this looks reasonable to me, so consider it<br>
Reviewed-by: Jonas Ådahl <<a href="mailto:jadahl@gmail.com">jadahl@gmail.com</a>><br>
<br>
<br>
Jonas<br>
<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>
> _______________________________________________<br>
> wayland-devel mailing list<br>
> <a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
> <a href="http://lists.freedesktop.org/mailman/listinfo/wayland-devel" rel="noreferrer" target="_blank">http://lists.freedesktop.org/mailman/listinfo/wayland-devel</a><br>
</blockquote></div>