xace: add special-case for just setting the event mask on a window,
this should only check "receive" permission, not "setattr" permission.
This commit is contained in:
parent
97c150b61b
commit
963e69b8ef
|
@ -570,11 +570,13 @@ ProcChangeWindowAttributes(ClientPtr client)
|
||||||
{
|
{
|
||||||
WindowPtr pWin;
|
WindowPtr pWin;
|
||||||
REQUEST(xChangeWindowAttributesReq);
|
REQUEST(xChangeWindowAttributesReq);
|
||||||
int result;
|
int result, len, rc;
|
||||||
int len, rc;
|
Mask access_mode = DixSetAttrAccess;
|
||||||
|
|
||||||
REQUEST_AT_LEAST_SIZE(xChangeWindowAttributesReq);
|
REQUEST_AT_LEAST_SIZE(xChangeWindowAttributesReq);
|
||||||
rc = dixLookupWindow(&pWin, stuff->window, client, DixSetAttrAccess);
|
if (stuff->valueMask == CWEventMask)
|
||||||
|
access_mode = DixReceiveAccess;
|
||||||
|
rc = dixLookupWindow(&pWin, stuff->window, client, access_mode);
|
||||||
if (rc != Success)
|
if (rc != Success)
|
||||||
return rc;
|
return rc;
|
||||||
len = client->req_len - (sizeof(xChangeWindowAttributesReq) >> 2);
|
len = client->req_len - (sizeof(xChangeWindowAttributesReq) >> 2);
|
||||||
|
|
Loading…
Reference in New Issue