xace: Add an access_mode field to the extension structure.
This allows the same callback to be used for both extension hooks.
This commit is contained in:
parent
e3a8cbe523
commit
db66e66dbf
15
Xext/xace.c
15
Xext/xace.c
|
@ -67,6 +67,17 @@ int XaceHook(int hook, ...)
|
||||||
prv = &rec.status;
|
prv = &rec.status;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
case XACE_EXT_DISPATCH: {
|
||||||
|
XaceExtAccessRec rec = {
|
||||||
|
va_arg(ap, ClientPtr),
|
||||||
|
va_arg(ap, ExtensionEntry*),
|
||||||
|
DixUseAccess,
|
||||||
|
Success /* default allow */
|
||||||
|
};
|
||||||
|
calldata = &rec;
|
||||||
|
prv = &rec.status;
|
||||||
|
break;
|
||||||
|
}
|
||||||
case XACE_RESOURCE_ACCESS: {
|
case XACE_RESOURCE_ACCESS: {
|
||||||
XaceResourceAccessRec rec = {
|
XaceResourceAccessRec rec = {
|
||||||
va_arg(ap, ClientPtr),
|
va_arg(ap, ClientPtr),
|
||||||
|
@ -141,11 +152,11 @@ int XaceHook(int hook, ...)
|
||||||
prv = &rec.status;
|
prv = &rec.status;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case XACE_EXT_DISPATCH:
|
|
||||||
case XACE_EXT_ACCESS: {
|
case XACE_EXT_ACCESS: {
|
||||||
XaceExtAccessRec rec = {
|
XaceExtAccessRec rec = {
|
||||||
va_arg(ap, ClientPtr),
|
va_arg(ap, ClientPtr),
|
||||||
va_arg(ap, ExtensionEntry*),
|
va_arg(ap, ExtensionEntry*),
|
||||||
|
DixGetAttrAccess,
|
||||||
Success /* default allow */
|
Success /* default allow */
|
||||||
};
|
};
|
||||||
calldata = &rec;
|
calldata = &rec;
|
||||||
|
@ -228,7 +239,7 @@ int XaceHook(int hook, ...)
|
||||||
|
|
||||||
/* call callbacks and return result, if any. */
|
/* call callbacks and return result, if any. */
|
||||||
CallCallbacks(&XaceHooks[hook], calldata);
|
CallCallbacks(&XaceHooks[hook], calldata);
|
||||||
return prv ? *prv : 0;
|
return prv ? *prv : Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
|
|
@ -97,6 +97,7 @@ typedef struct {
|
||||||
typedef struct {
|
typedef struct {
|
||||||
ClientPtr client;
|
ClientPtr client;
|
||||||
ExtensionEntry *ext;
|
ExtensionEntry *ext;
|
||||||
|
Mask access_mode;
|
||||||
int status;
|
int status;
|
||||||
} XaceExtAccessRec;
|
} XaceExtAccessRec;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue