On Fri, Dec 02, 2011 at 11:27:48AM +0000, Daniel Stone wrote:
> Even though we hide local-only extensions from remote clients in the
> extension list, make doubly sure they can't make a local-only request.
> 
> Signed-off-by: Daniel Stone <dan...@fooishbar.org>

Reviewed-by: Peter Hutterer <peter.hutte...@who-t.net>

Cheers,
  Peter

> ---
>  dix/dispatch.c |   14 ++++++++++----
>  1 files changed, 10 insertions(+), 4 deletions(-)
> 
> diff --git a/dix/dispatch.c b/dix/dispatch.c
> index b39271f..51b9033 100644
> --- a/dix/dispatch.c
> +++ b/dix/dispatch.c
> @@ -432,10 +432,16 @@ Dispatch(void)
>               if (result > (maxBigRequestSize << 2))
>                   result = BadLength;
>               else {
> -                 result = XaceHookDispatch(client, client->majorOp);
> -                 if (result == Success)
> -                     result = (* 
> client->requestVector[client->majorOp])(client);
> -                 XaceHookAuditEnd(client, result);
> +                 ExtensionEntry *ext = GetExtensionEntry(client->majorOp);
> +                 if (ext && ext->localOnly && !LocalClient(client)) {
> +                     result = BadRequest;
> +                 }
> +                 else {
> +                     result = XaceHookDispatch(client, client->majorOp);
> +                     if (result == Success)
> +                         result = (* 
> client->requestVector[client->majorOp])(client);
> +                     XaceHookAuditEnd(client, result);
> +                 }
>               }
>  #ifdef XSERVER_DTRACE
>               XSERVER_REQUEST_DONE(LookupMajorName(client->majorOp), 
> client->majorOp,
> -- 
> 1.7.7.3
> 
> _______________________________________________
> xorg-devel@lists.x.org: X.Org development
> Archives: http://lists.x.org/archives/xorg-devel
> Info: http://lists.x.org/mailman/listinfo/xorg-devel
> 
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to