summaryrefslogtreecommitdiff
path: root/Xext/xace.c
diff options
context:
space:
mode:
authorEamon Walsh <ewalsh@tycho.nsa.gov>2007-08-29 14:16:46 -0400
committerEamon Walsh <ewalsh@moss-charon.epoch.ncsc.mil>2007-08-29 14:16:46 -0400
commite39694789e31e221fc8dec44ace9c697daf7acad (patch)
tree2ef4e123d2f6f09705384cc02ec88f6b2010009a /Xext/xace.c
parent41355a53c29bbf879da0c6ea562294fcc7ef89ff (diff)
xace: drop map-window checking hook, add new hooks for controlling the
delivery of events to windows and clients. This is tentative. It's likely that an additional last-resort hook will be necessary for code that calls TryClientEvents or WriteEventsToClient directly. It's also possible that new xace machinery will be necessary to classify events and pull useful resource ID's out of them. The failure case also needs some thinking through. Should event delivery "succeed" or should it report undeliverable? Finally, XKB appears to call WriteToClient to pass events. Sigh.
Diffstat (limited to 'Xext/xace.c')
-rw-r--r--Xext/xace.c19
1 files changed, 17 insertions, 2 deletions
diff --git a/Xext/xace.c b/Xext/xace.c
index 4d34dc3d9..3091ecd32 100644
--- a/Xext/xace.c
+++ b/Xext/xace.c
@@ -113,10 +113,25 @@ int XaceHook(int hook, ...)
prv = &rec.status;
break;
}
- case XACE_MAP_ACCESS: {
- XaceMapAccessRec rec = {
+ case XACE_SEND_ACCESS: {
+ XaceSendAccessRec rec = {
va_arg(ap, ClientPtr),
+ va_arg(ap, DeviceIntPtr),
va_arg(ap, WindowPtr),
+ va_arg(ap, xEventPtr),
+ va_arg(ap, int),
+ Success /* default allow */
+ };
+ calldata = &rec;
+ prv = &rec.status;
+ break;
+ }
+ case XACE_RECEIVE_ACCESS: {
+ XaceReceiveAccessRec rec = {
+ va_arg(ap, ClientPtr),
+ va_arg(ap, WindowPtr),
+ va_arg(ap, xEventPtr),
+ va_arg(ap, int),
Success /* default allow */
};
calldata = &rec;