xserver: Branch 'XACE-SELINUX' - 3 commits

Eamon Walsh ewalsh at kemper.freedesktop.org
Thu Oct 18 07:31:20 PDT 2007


 Xext/xselinux.c |   32 ++++-
 dix/registry.c  |  353 ++++++++++++++++++++++++++++----------------------------
 2 files changed, 209 insertions(+), 176 deletions(-)

New commits:
commit 31110d6837ee52fd654729d9e5c4b0c5395abab0
Author: Eamon Walsh <ewalsh at tycho.nsa.gov>
Date:   Thu Oct 18 10:30:44 2007 -0400

    registry: special case minor number when looking up core requests.

diff --git a/dix/registry.c b/dix/registry.c
index 48e1b5d..0181858 100644
--- a/dix/registry.c
+++ b/dix/registry.c
@@ -123,6 +123,8 @@ RegisterResourceName(RESTYPE resource, const char *name)
 const char *
 LookupRequestName(int major, int minor)
 {
+    if (major < 128)
+	minor = 0;
     if (major >= nmajor)
 	return XREGISTRY_UNKNOWN;
     if (minor >= nminor[major])
commit e3fd90ae9c3ddfc5d78e62614e311b73505d7ead
Author: Eamon Walsh <ewalsh at tycho.nsa.gov>
Date:   Thu Oct 18 10:29:10 2007 -0400

    registry: Add "X11:" prefix to core protocol names.

diff --git a/dix/registry.c b/dix/registry.c
index 7b521b5..48e1b5d 100644
--- a/dix/registry.c
+++ b/dix/registry.c
@@ -29,6 +29,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 #include "registry.h"
 
 #define BASE_SIZE 16
+#define CORE "X11:"
 
 static const char ***requests, **events, **errors, **resources;
 static unsigned nmajor, *nminor, nevent, nerror, nresource;
@@ -195,181 +196,181 @@ dixResetRegistry(void)
     RegisterResourceName(RT_PASSIVEGRAB, "PASSIVE GRAB");
 
     /* Add the core protocol */
-    RegisterRequestName(X_CreateWindow, 0, "CreateWindow");
-    RegisterRequestName(X_ChangeWindowAttributes, 0, "ChangeWindowAttributes");
-    RegisterRequestName(X_GetWindowAttributes, 0, "GetWindowAttributes");
-    RegisterRequestName(X_DestroyWindow, 0, "DestroyWindow");
-    RegisterRequestName(X_DestroySubwindows, 0, "DestroySubwindows");
-    RegisterRequestName(X_ChangeSaveSet, 0, "ChangeSaveSet");
-    RegisterRequestName(X_ReparentWindow, 0, "ReparentWindow");
-    RegisterRequestName(X_MapWindow, 0, "MapWindow");
-    RegisterRequestName(X_MapSubwindows, 0, "MapSubwindows");
-    RegisterRequestName(X_UnmapWindow, 0, "UnmapWindow");
-    RegisterRequestName(X_UnmapSubwindows, 0, "UnmapSubwindows");
-    RegisterRequestName(X_ConfigureWindow, 0, "ConfigureWindow");
-    RegisterRequestName(X_CirculateWindow, 0, "CirculateWindow");
-    RegisterRequestName(X_GetGeometry, 0, "GetGeometry");
-    RegisterRequestName(X_QueryTree, 0, "QueryTree");
-    RegisterRequestName(X_InternAtom, 0, "InternAtom");
-    RegisterRequestName(X_GetAtomName, 0, "GetAtomName");
-    RegisterRequestName(X_ChangeProperty, 0, "ChangeProperty");
-    RegisterRequestName(X_DeleteProperty, 0, "DeleteProperty");
-    RegisterRequestName(X_GetProperty, 0, "GetProperty");
-    RegisterRequestName(X_ListProperties, 0, "ListProperties");
-    RegisterRequestName(X_SetSelectionOwner, 0, "SetSelectionOwner");
-    RegisterRequestName(X_GetSelectionOwner, 0, "GetSelectionOwner");
-    RegisterRequestName(X_ConvertSelection, 0, "ConvertSelection");
-    RegisterRequestName(X_SendEvent, 0, "SendEvent");
-    RegisterRequestName(X_GrabPointer, 0, "GrabPointer");
-    RegisterRequestName(X_UngrabPointer, 0, "UngrabPointer");
-    RegisterRequestName(X_GrabButton, 0, "GrabButton");
-    RegisterRequestName(X_UngrabButton, 0, "UngrabButton");
-    RegisterRequestName(X_ChangeActivePointerGrab, 0, "ChangeActivePointerGrab");
-    RegisterRequestName(X_GrabKeyboard, 0, "GrabKeyboard");
-    RegisterRequestName(X_UngrabKeyboard, 0, "UngrabKeyboard");
-    RegisterRequestName(X_GrabKey, 0, "GrabKey");
-    RegisterRequestName(X_UngrabKey, 0, "UngrabKey");
-    RegisterRequestName(X_AllowEvents, 0, "AllowEvents");
-    RegisterRequestName(X_GrabServer, 0, "GrabServer");
-    RegisterRequestName(X_UngrabServer, 0, "UngrabServer");
-    RegisterRequestName(X_QueryPointer, 0, "QueryPointer");
-    RegisterRequestName(X_GetMotionEvents, 0, "GetMotionEvents");
-    RegisterRequestName(X_TranslateCoords, 0, "TranslateCoords");
-    RegisterRequestName(X_WarpPointer, 0, "WarpPointer");
-    RegisterRequestName(X_SetInputFocus, 0, "SetInputFocus");
-    RegisterRequestName(X_GetInputFocus, 0, "GetInputFocus");
-    RegisterRequestName(X_QueryKeymap, 0, "QueryKeymap");
-    RegisterRequestName(X_OpenFont, 0, "OpenFont");
-    RegisterRequestName(X_CloseFont, 0, "CloseFont");
-    RegisterRequestName(X_QueryFont, 0, "QueryFont");
-    RegisterRequestName(X_QueryTextExtents, 0, "QueryTextExtents");
-    RegisterRequestName(X_ListFonts, 0, "ListFonts");
-    RegisterRequestName(X_ListFontsWithInfo, 0, "ListFontsWithInfo");
-    RegisterRequestName(X_SetFontPath, 0, "SetFontPath");
-    RegisterRequestName(X_GetFontPath, 0, "GetFontPath");
-    RegisterRequestName(X_CreatePixmap, 0, "CreatePixmap");
-    RegisterRequestName(X_FreePixmap, 0, "FreePixmap");
-    RegisterRequestName(X_CreateGC, 0, "CreateGC");
-    RegisterRequestName(X_ChangeGC, 0, "ChangeGC");
-    RegisterRequestName(X_CopyGC, 0, "CopyGC");
-    RegisterRequestName(X_SetDashes, 0, "SetDashes");
-    RegisterRequestName(X_SetClipRectangles, 0, "SetClipRectangles");
-    RegisterRequestName(X_FreeGC, 0, "FreeGC");
-    RegisterRequestName(X_ClearArea, 0, "ClearArea");
-    RegisterRequestName(X_CopyArea, 0, "CopyArea");
-    RegisterRequestName(X_CopyPlane, 0, "CopyPlane");
-    RegisterRequestName(X_PolyPoint, 0, "PolyPoint");
-    RegisterRequestName(X_PolyLine, 0, "PolyLine");
-    RegisterRequestName(X_PolySegment, 0, "PolySegment");
-    RegisterRequestName(X_PolyRectangle, 0, "PolyRectangle");
-    RegisterRequestName(X_PolyArc, 0, "PolyArc");
-    RegisterRequestName(X_FillPoly, 0, "FillPoly");
-    RegisterRequestName(X_PolyFillRectangle, 0, "PolyFillRectangle");
-    RegisterRequestName(X_PolyFillArc, 0, "PolyFillArc");
-    RegisterRequestName(X_PutImage, 0, "PutImage");
-    RegisterRequestName(X_GetImage, 0, "GetImage");
-    RegisterRequestName(X_PolyText8, 0, "PolyText8");
-    RegisterRequestName(X_PolyText16, 0, "PolyText16");
-    RegisterRequestName(X_ImageText8, 0, "ImageText8");
-    RegisterRequestName(X_ImageText16, 0, "ImageText16");
-    RegisterRequestName(X_CreateColormap, 0, "CreateColormap");
-    RegisterRequestName(X_FreeColormap, 0, "FreeColormap");
-    RegisterRequestName(X_CopyColormapAndFree, 0, "CopyColormapAndFree");
-    RegisterRequestName(X_InstallColormap, 0, "InstallColormap");
-    RegisterRequestName(X_UninstallColormap, 0, "UninstallColormap");
-    RegisterRequestName(X_ListInstalledColormaps, 0, "ListInstalledColormaps");
-    RegisterRequestName(X_AllocColor, 0, "AllocColor");
-    RegisterRequestName(X_AllocNamedColor, 0, "AllocNamedColor");
-    RegisterRequestName(X_AllocColorCells, 0, "AllocColorCells");
-    RegisterRequestName(X_AllocColorPlanes, 0, "AllocColorPlanes");
-    RegisterRequestName(X_FreeColors, 0, "FreeColors");
-    RegisterRequestName(X_StoreColors, 0, "StoreColors");
-    RegisterRequestName(X_StoreNamedColor, 0, "StoreNamedColor");
-    RegisterRequestName(X_QueryColors, 0, "QueryColors");
-    RegisterRequestName(X_LookupColor, 0, "LookupColor");
-    RegisterRequestName(X_CreateCursor, 0, "CreateCursor");
-    RegisterRequestName(X_CreateGlyphCursor, 0, "CreateGlyphCursor");
-    RegisterRequestName(X_FreeCursor, 0, "FreeCursor");
-    RegisterRequestName(X_RecolorCursor, 0, "RecolorCursor");
-    RegisterRequestName(X_QueryBestSize, 0, "QueryBestSize");
-    RegisterRequestName(X_QueryExtension, 0, "QueryExtension");
-    RegisterRequestName(X_ListExtensions, 0, "ListExtensions");
-    RegisterRequestName(X_ChangeKeyboardMapping, 0, "ChangeKeyboardMapping");
-    RegisterRequestName(X_GetKeyboardMapping, 0, "GetKeyboardMapping");
-    RegisterRequestName(X_ChangeKeyboardControl, 0, "ChangeKeyboardControl");
-    RegisterRequestName(X_GetKeyboardControl, 0, "GetKeyboardControl");
-    RegisterRequestName(X_Bell, 0, "Bell");
-    RegisterRequestName(X_ChangePointerControl, 0, "ChangePointerControl");
-    RegisterRequestName(X_GetPointerControl, 0, "GetPointerControl");
-    RegisterRequestName(X_SetScreenSaver, 0, "SetScreenSaver");
-    RegisterRequestName(X_GetScreenSaver, 0, "GetScreenSaver");
-    RegisterRequestName(X_ChangeHosts, 0, "ChangeHosts");
-    RegisterRequestName(X_ListHosts, 0, "ListHosts");
-    RegisterRequestName(X_SetAccessControl, 0, "SetAccessControl");
-    RegisterRequestName(X_SetCloseDownMode, 0, "SetCloseDownMode");
-    RegisterRequestName(X_KillClient, 0, "KillClient");
-    RegisterRequestName(X_RotateProperties, 0, "RotateProperties");
-    RegisterRequestName(X_ForceScreenSaver, 0, "ForceScreenSaver");
-    RegisterRequestName(X_SetPointerMapping, 0, "SetPointerMapping");
-    RegisterRequestName(X_GetPointerMapping, 0, "GetPointerMapping");
-    RegisterRequestName(X_SetModifierMapping, 0, "SetModifierMapping");
-    RegisterRequestName(X_GetModifierMapping, 0, "GetModifierMapping");
-    RegisterRequestName(X_NoOperation, 0, "NoOperation");
-
-    RegisterErrorName(Success, "Success");
-    RegisterErrorName(BadRequest, "BadRequest");
-    RegisterErrorName(BadValue, "BadValue");
-    RegisterErrorName(BadWindow, "BadWindow");
-    RegisterErrorName(BadPixmap, "BadPixmap");
-    RegisterErrorName(BadAtom, "BadAtom");
-    RegisterErrorName(BadCursor, "BadCursor");
-    RegisterErrorName(BadFont, "BadFont");
-    RegisterErrorName(BadMatch, "BadMatch");
-    RegisterErrorName(BadDrawable, "BadDrawable");
-    RegisterErrorName(BadAccess, "BadAccess");
-    RegisterErrorName(BadAlloc, "BadAlloc");
-    RegisterErrorName(BadColor, "BadColor");
-    RegisterErrorName(BadGC, "BadGC");
-    RegisterErrorName(BadIDChoice, "BadIDChoice");
-    RegisterErrorName(BadName, "BadName");
-    RegisterErrorName(BadLength, "BadLength");
-    RegisterErrorName(BadImplementation, "BadImplementation");
-
-    RegisterEventName(X_Error, "Error");
-    RegisterEventName(X_Reply, "Reply");
-    RegisterEventName(KeyPress, "KeyPress");
-    RegisterEventName(KeyRelease, "KeyRelease");
-    RegisterEventName(ButtonPress, "ButtonPress");
-    RegisterEventName(ButtonRelease, "ButtonRelease");
-    RegisterEventName(MotionNotify, "MotionNotify");
-    RegisterEventName(EnterNotify, "EnterNotify");
-    RegisterEventName(LeaveNotify, "LeaveNotify");
-    RegisterEventName(FocusIn, "FocusIn");
-    RegisterEventName(FocusOut, "FocusOut");
-    RegisterEventName(KeymapNotify, "KeymapNotify");
-    RegisterEventName(Expose, "Expose");
-    RegisterEventName(GraphicsExpose, "GraphicsExpose");
-    RegisterEventName(NoExpose, "NoExpose");
-    RegisterEventName(VisibilityNotify, "VisibilityNotify");
-    RegisterEventName(CreateNotify, "CreateNotify");
-    RegisterEventName(DestroyNotify, "DestroyNotify");
-    RegisterEventName(UnmapNotify, "UnmapNotify");
-    RegisterEventName(MapNotify, "MapNotify");
-    RegisterEventName(MapRequest, "MapRequest");
-    RegisterEventName(ReparentNotify, "ReparentNotify");
-    RegisterEventName(ConfigureNotify, "ConfigureNotify");
-    RegisterEventName(ConfigureRequest, "ConfigureRequest");
-    RegisterEventName(GravityNotify, "GravityNotify");
-    RegisterEventName(ResizeRequest, "ResizeRequest");
-    RegisterEventName(CirculateNotify, "CirculateNotify");
-    RegisterEventName(CirculateRequest, "CirculateRequest");
-    RegisterEventName(PropertyNotify, "PropertyNotify");
-    RegisterEventName(SelectionClear, "SelectionClear");
-    RegisterEventName(SelectionRequest, "SelectionRequest");
-    RegisterEventName(SelectionNotify, "SelectionNotify");
-    RegisterEventName(ColormapNotify, "ColormapNotify");
-    RegisterEventName(ClientMessage, "ClientMessage");
-    RegisterEventName(MappingNotify, "MappingNotify");
+    RegisterRequestName(X_CreateWindow, 0, CORE "CreateWindow");
+    RegisterRequestName(X_ChangeWindowAttributes, 0, CORE "ChangeWindowAttributes");
+    RegisterRequestName(X_GetWindowAttributes, 0, CORE "GetWindowAttributes");
+    RegisterRequestName(X_DestroyWindow, 0, CORE "DestroyWindow");
+    RegisterRequestName(X_DestroySubwindows, 0, CORE "DestroySubwindows");
+    RegisterRequestName(X_ChangeSaveSet, 0, CORE "ChangeSaveSet");
+    RegisterRequestName(X_ReparentWindow, 0, CORE "ReparentWindow");
+    RegisterRequestName(X_MapWindow, 0, CORE "MapWindow");
+    RegisterRequestName(X_MapSubwindows, 0, CORE "MapSubwindows");
+    RegisterRequestName(X_UnmapWindow, 0, CORE "UnmapWindow");
+    RegisterRequestName(X_UnmapSubwindows, 0, CORE "UnmapSubwindows");
+    RegisterRequestName(X_ConfigureWindow, 0, CORE "ConfigureWindow");
+    RegisterRequestName(X_CirculateWindow, 0, CORE "CirculateWindow");
+    RegisterRequestName(X_GetGeometry, 0, CORE "GetGeometry");
+    RegisterRequestName(X_QueryTree, 0, CORE "QueryTree");
+    RegisterRequestName(X_InternAtom, 0, CORE "InternAtom");
+    RegisterRequestName(X_GetAtomName, 0, CORE "GetAtomName");
+    RegisterRequestName(X_ChangeProperty, 0, CORE "ChangeProperty");
+    RegisterRequestName(X_DeleteProperty, 0, CORE "DeleteProperty");
+    RegisterRequestName(X_GetProperty, 0, CORE "GetProperty");
+    RegisterRequestName(X_ListProperties, 0, CORE "ListProperties");
+    RegisterRequestName(X_SetSelectionOwner, 0, CORE "SetSelectionOwner");
+    RegisterRequestName(X_GetSelectionOwner, 0, CORE "GetSelectionOwner");
+    RegisterRequestName(X_ConvertSelection, 0, CORE "ConvertSelection");
+    RegisterRequestName(X_SendEvent, 0, CORE "SendEvent");
+    RegisterRequestName(X_GrabPointer, 0, CORE "GrabPointer");
+    RegisterRequestName(X_UngrabPointer, 0, CORE "UngrabPointer");
+    RegisterRequestName(X_GrabButton, 0, CORE "GrabButton");
+    RegisterRequestName(X_UngrabButton, 0, CORE "UngrabButton");
+    RegisterRequestName(X_ChangeActivePointerGrab, 0, CORE "ChangeActivePointerGrab");
+    RegisterRequestName(X_GrabKeyboard, 0, CORE "GrabKeyboard");
+    RegisterRequestName(X_UngrabKeyboard, 0, CORE "UngrabKeyboard");
+    RegisterRequestName(X_GrabKey, 0, CORE "GrabKey");
+    RegisterRequestName(X_UngrabKey, 0, CORE "UngrabKey");
+    RegisterRequestName(X_AllowEvents, 0, CORE "AllowEvents");
+    RegisterRequestName(X_GrabServer, 0, CORE "GrabServer");
+    RegisterRequestName(X_UngrabServer, 0, CORE "UngrabServer");
+    RegisterRequestName(X_QueryPointer, 0, CORE "QueryPointer");
+    RegisterRequestName(X_GetMotionEvents, 0, CORE "GetMotionEvents");
+    RegisterRequestName(X_TranslateCoords, 0, CORE "TranslateCoords");
+    RegisterRequestName(X_WarpPointer, 0, CORE "WarpPointer");
+    RegisterRequestName(X_SetInputFocus, 0, CORE "SetInputFocus");
+    RegisterRequestName(X_GetInputFocus, 0, CORE "GetInputFocus");
+    RegisterRequestName(X_QueryKeymap, 0, CORE "QueryKeymap");
+    RegisterRequestName(X_OpenFont, 0, CORE "OpenFont");
+    RegisterRequestName(X_CloseFont, 0, CORE "CloseFont");
+    RegisterRequestName(X_QueryFont, 0, CORE "QueryFont");
+    RegisterRequestName(X_QueryTextExtents, 0, CORE "QueryTextExtents");
+    RegisterRequestName(X_ListFonts, 0, CORE "ListFonts");
+    RegisterRequestName(X_ListFontsWithInfo, 0, CORE "ListFontsWithInfo");
+    RegisterRequestName(X_SetFontPath, 0, CORE "SetFontPath");
+    RegisterRequestName(X_GetFontPath, 0, CORE "GetFontPath");
+    RegisterRequestName(X_CreatePixmap, 0, CORE "CreatePixmap");
+    RegisterRequestName(X_FreePixmap, 0, CORE "FreePixmap");
+    RegisterRequestName(X_CreateGC, 0, CORE "CreateGC");
+    RegisterRequestName(X_ChangeGC, 0, CORE "ChangeGC");
+    RegisterRequestName(X_CopyGC, 0, CORE "CopyGC");
+    RegisterRequestName(X_SetDashes, 0, CORE "SetDashes");
+    RegisterRequestName(X_SetClipRectangles, 0, CORE "SetClipRectangles");
+    RegisterRequestName(X_FreeGC, 0, CORE "FreeGC");
+    RegisterRequestName(X_ClearArea, 0, CORE "ClearArea");
+    RegisterRequestName(X_CopyArea, 0, CORE "CopyArea");
+    RegisterRequestName(X_CopyPlane, 0, CORE "CopyPlane");
+    RegisterRequestName(X_PolyPoint, 0, CORE "PolyPoint");
+    RegisterRequestName(X_PolyLine, 0, CORE "PolyLine");
+    RegisterRequestName(X_PolySegment, 0, CORE "PolySegment");
+    RegisterRequestName(X_PolyRectangle, 0, CORE "PolyRectangle");
+    RegisterRequestName(X_PolyArc, 0, CORE "PolyArc");
+    RegisterRequestName(X_FillPoly, 0, CORE "FillPoly");
+    RegisterRequestName(X_PolyFillRectangle, 0, CORE "PolyFillRectangle");
+    RegisterRequestName(X_PolyFillArc, 0, CORE "PolyFillArc");
+    RegisterRequestName(X_PutImage, 0, CORE "PutImage");
+    RegisterRequestName(X_GetImage, 0, CORE "GetImage");
+    RegisterRequestName(X_PolyText8, 0, CORE "PolyText8");
+    RegisterRequestName(X_PolyText16, 0, CORE "PolyText16");
+    RegisterRequestName(X_ImageText8, 0, CORE "ImageText8");
+    RegisterRequestName(X_ImageText16, 0, CORE "ImageText16");
+    RegisterRequestName(X_CreateColormap, 0, CORE "CreateColormap");
+    RegisterRequestName(X_FreeColormap, 0, CORE "FreeColormap");
+    RegisterRequestName(X_CopyColormapAndFree, 0, CORE "CopyColormapAndFree");
+    RegisterRequestName(X_InstallColormap, 0, CORE "InstallColormap");
+    RegisterRequestName(X_UninstallColormap, 0, CORE "UninstallColormap");
+    RegisterRequestName(X_ListInstalledColormaps, 0, CORE "ListInstalledColormaps");
+    RegisterRequestName(X_AllocColor, 0, CORE "AllocColor");
+    RegisterRequestName(X_AllocNamedColor, 0, CORE "AllocNamedColor");
+    RegisterRequestName(X_AllocColorCells, 0, CORE "AllocColorCells");
+    RegisterRequestName(X_AllocColorPlanes, 0, CORE "AllocColorPlanes");
+    RegisterRequestName(X_FreeColors, 0, CORE "FreeColors");
+    RegisterRequestName(X_StoreColors, 0, CORE "StoreColors");
+    RegisterRequestName(X_StoreNamedColor, 0, CORE "StoreNamedColor");
+    RegisterRequestName(X_QueryColors, 0, CORE "QueryColors");
+    RegisterRequestName(X_LookupColor, 0, CORE "LookupColor");
+    RegisterRequestName(X_CreateCursor, 0, CORE "CreateCursor");
+    RegisterRequestName(X_CreateGlyphCursor, 0, CORE "CreateGlyphCursor");
+    RegisterRequestName(X_FreeCursor, 0, CORE "FreeCursor");
+    RegisterRequestName(X_RecolorCursor, 0, CORE "RecolorCursor");
+    RegisterRequestName(X_QueryBestSize, 0, CORE "QueryBestSize");
+    RegisterRequestName(X_QueryExtension, 0, CORE "QueryExtension");
+    RegisterRequestName(X_ListExtensions, 0, CORE "ListExtensions");
+    RegisterRequestName(X_ChangeKeyboardMapping, 0, CORE "ChangeKeyboardMapping");
+    RegisterRequestName(X_GetKeyboardMapping, 0, CORE "GetKeyboardMapping");
+    RegisterRequestName(X_ChangeKeyboardControl, 0, CORE "ChangeKeyboardControl");
+    RegisterRequestName(X_GetKeyboardControl, 0, CORE "GetKeyboardControl");
+    RegisterRequestName(X_Bell, 0, CORE "Bell");
+    RegisterRequestName(X_ChangePointerControl, 0, CORE "ChangePointerControl");
+    RegisterRequestName(X_GetPointerControl, 0, CORE "GetPointerControl");
+    RegisterRequestName(X_SetScreenSaver, 0, CORE "SetScreenSaver");
+    RegisterRequestName(X_GetScreenSaver, 0, CORE "GetScreenSaver");
+    RegisterRequestName(X_ChangeHosts, 0, CORE "ChangeHosts");
+    RegisterRequestName(X_ListHosts, 0, CORE "ListHosts");
+    RegisterRequestName(X_SetAccessControl, 0, CORE "SetAccessControl");
+    RegisterRequestName(X_SetCloseDownMode, 0, CORE "SetCloseDownMode");
+    RegisterRequestName(X_KillClient, 0, CORE "KillClient");
+    RegisterRequestName(X_RotateProperties, 0, CORE "RotateProperties");
+    RegisterRequestName(X_ForceScreenSaver, 0, CORE "ForceScreenSaver");
+    RegisterRequestName(X_SetPointerMapping, 0, CORE "SetPointerMapping");
+    RegisterRequestName(X_GetPointerMapping, 0, CORE "GetPointerMapping");
+    RegisterRequestName(X_SetModifierMapping, 0, CORE "SetModifierMapping");
+    RegisterRequestName(X_GetModifierMapping, 0, CORE "GetModifierMapping");
+    RegisterRequestName(X_NoOperation, 0, CORE "NoOperation");
+
+    RegisterErrorName(Success, CORE "Success");
+    RegisterErrorName(BadRequest, CORE "BadRequest");
+    RegisterErrorName(BadValue, CORE "BadValue");
+    RegisterErrorName(BadWindow, CORE "BadWindow");
+    RegisterErrorName(BadPixmap, CORE "BadPixmap");
+    RegisterErrorName(BadAtom, CORE "BadAtom");
+    RegisterErrorName(BadCursor, CORE "BadCursor");
+    RegisterErrorName(BadFont, CORE "BadFont");
+    RegisterErrorName(BadMatch, CORE "BadMatch");
+    RegisterErrorName(BadDrawable, CORE "BadDrawable");
+    RegisterErrorName(BadAccess, CORE "BadAccess");
+    RegisterErrorName(BadAlloc, CORE "BadAlloc");
+    RegisterErrorName(BadColor, CORE "BadColor");
+    RegisterErrorName(BadGC, CORE "BadGC");
+    RegisterErrorName(BadIDChoice, CORE "BadIDChoice");
+    RegisterErrorName(BadName, CORE "BadName");
+    RegisterErrorName(BadLength, CORE "BadLength");
+    RegisterErrorName(BadImplementation, CORE "BadImplementation");
+
+    RegisterEventName(X_Error, CORE "Error");
+    RegisterEventName(X_Reply, CORE "Reply");
+    RegisterEventName(KeyPress, CORE "KeyPress");
+    RegisterEventName(KeyRelease, CORE "KeyRelease");
+    RegisterEventName(ButtonPress, CORE "ButtonPress");
+    RegisterEventName(ButtonRelease, CORE "ButtonRelease");
+    RegisterEventName(MotionNotify, CORE "MotionNotify");
+    RegisterEventName(EnterNotify, CORE "EnterNotify");
+    RegisterEventName(LeaveNotify, CORE "LeaveNotify");
+    RegisterEventName(FocusIn, CORE "FocusIn");
+    RegisterEventName(FocusOut, CORE "FocusOut");
+    RegisterEventName(KeymapNotify, CORE "KeymapNotify");
+    RegisterEventName(Expose, CORE "Expose");
+    RegisterEventName(GraphicsExpose, CORE "GraphicsExpose");
+    RegisterEventName(NoExpose, CORE "NoExpose");
+    RegisterEventName(VisibilityNotify, CORE "VisibilityNotify");
+    RegisterEventName(CreateNotify, CORE "CreateNotify");
+    RegisterEventName(DestroyNotify, CORE "DestroyNotify");
+    RegisterEventName(UnmapNotify, CORE "UnmapNotify");
+    RegisterEventName(MapNotify, CORE "MapNotify");
+    RegisterEventName(MapRequest, CORE "MapRequest");
+    RegisterEventName(ReparentNotify, CORE "ReparentNotify");
+    RegisterEventName(ConfigureNotify, CORE "ConfigureNotify");
+    RegisterEventName(ConfigureRequest, CORE "ConfigureRequest");
+    RegisterEventName(GravityNotify, CORE "GravityNotify");
+    RegisterEventName(ResizeRequest, CORE "ResizeRequest");
+    RegisterEventName(CirculateNotify, CORE "CirculateNotify");
+    RegisterEventName(CirculateRequest, CORE "CirculateRequest");
+    RegisterEventName(PropertyNotify, CORE "PropertyNotify");
+    RegisterEventName(SelectionClear, CORE "SelectionClear");
+    RegisterEventName(SelectionRequest, CORE "SelectionRequest");
+    RegisterEventName(SelectionNotify, CORE "SelectionNotify");
+    RegisterEventName(ColormapNotify, CORE "ColormapNotify");
+    RegisterEventName(ClientMessage, CORE "ClientMessage");
+    RegisterEventName(MappingNotify, CORE "MappingNotify");
 }
 
 #endif /* XREGISTRY */
commit aa340b2c7cbe9ddab53cff08c8ba165558209187
Author: Eamon Walsh <ewalsh at tycho.nsa.gov>
Date:   Wed Oct 17 19:27:16 2007 -0400

    xselinux: add hook for device acceses.

diff --git a/Xext/xselinux.c b/Xext/xselinux.c
index fc91ae3..8bafa1f 100644
--- a/Xext/xselinux.c
+++ b/Xext/xselinux.c
@@ -292,6 +292,36 @@ SELinuxLog(int type, const char *fmt, ...)
  */
 
 static void
+SELinuxDevice(CallbackListPtr *pcbl, pointer unused, pointer calldata)
+{
+    XaceDeviceAccessRec *rec = calldata;
+    SELinuxStateRec *subj, *obj;
+    SELinuxAuditRec auditdata = { NULL, NULL, 0, 0, 0, NULL };
+    int rc;
+
+    subj = dixLookupPrivate(&rec->client->devPrivates, stateKey);
+    obj = dixLookupPrivate(&rec->dev->devPrivates, stateKey);
+
+    /* If this is a new object that needs labeling, do it now */
+    if (rec->access_mode & DixCreateAccess) {
+	sidput(obj->sid);
+
+	/* Perform a transition to obtain the final SID */
+	if (avc_compute_create(subj->sid, subj->sid, SECCLASS_X_DEVICE,
+			       &obj->sid) < 0) {
+	    ErrorF("XSELinux: a compute_create call failed!\n");
+	    rec->status = BadValue;
+	    return;
+	}
+    }
+
+    rc = SELinuxDoCheck(rec->client, obj, SECCLASS_X_DEVICE,
+			rec->access_mode, &auditdata);
+    if (rc != Success)
+	rec->status = rc;
+}
+
+static void
 SELinuxExtension(CallbackListPtr *pcbl, pointer unused, pointer calldata)
 {
     XaceExtAccessRec *rec = calldata;
@@ -755,7 +785,7 @@ XSELinuxExtensionInit(INITARGS)
 
     ret &= XaceRegisterCallback(XACE_EXT_DISPATCH, SELinuxExtension, 0);
     ret &= XaceRegisterCallback(XACE_RESOURCE_ACCESS, SELinuxResource, 0);
-//    ret &= XaceRegisterCallback(XACE_DEVICE_ACCESS, SELinuxDevice, 0);
+    ret &= XaceRegisterCallback(XACE_DEVICE_ACCESS, SELinuxDevice, 0);
     ret &= XaceRegisterCallback(XACE_PROPERTY_ACCESS, SELinuxProperty, 0);
 //    ret &= XaceRegisterCallback(XACE_SEND_ACCESS, SELinuxSend, 0);
 //    ret &= XaceRegisterCallback(XACE_RECEIVE_ACCESS, SELinuxReceive, 0);


More information about the xorg-commit mailing list