Changeset 2651

Show
Ignore:
Timestamp:
03/26/08 14:44:25 (8 months ago)
Author:
pebenito
Message:

xselinux: merge x_rootcolormap_t and x_rootwindow_t into a per-role type, and merge x_rootscreen_t into the per-role xserver type.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • branches/xselinux/policy/modules/services/xserver.if

    r2650 r2651  
    1818 
    1919                attribute x_server_domain; 
    20                 type x_rootwindow_t, x_rootcolormap_t, x_rootscreen_t; 
    2120                class x_drawable all_x_drawable_perms; 
    2221                class x_colormap all_x_colormap_perms; 
     
    3130        attribute $1_x_domain; 
    3231        attribute $1_input_xevent_type; 
     32 
     33        type $1_rootwindow_t, rootwindow_type; 
    3334 
    3435        type $1_xserver_t, x_server_domain; 
     
    9394        logging_log_filetrans($1_xserver_t,xserver_log_t,file) 
    9495 
    95         # Labeling rules for default windows, screens, and colormaps 
    96         type_transition $1_xserver_t $1_xserver_t:x_drawable x_rootwindow_t; 
    97         type_transition $1_xserver_t $1_xserver_t:x_colormap x_rootcolormap_t; 
    98         type_transition $1_xserver_t $1_xserver_t:x_screen x_rootscreen_t; 
     96        # Labeling rules for default windows and colormaps 
     97        type_transition $1_xserver_t $1_xserver_t:{ x_drawable x_colormap } $1_rootwindow_t; 
    9998 
    10099        kernel_read_system_state($1_xserver_t) 
     
    197196                        attribute xproperty_type, xselection_type; 
    198197                        attribute xextension_type, xevent_type; 
    199  
    200                         type x_rootcolormap_t, x_rootscreen_t; 
    201                         type x_rootwindow_t, remote_xclient_t; 
     198                        attribute rootwindow_type; 
     199 
     200                        type remote_xclient_t; 
    202201                ') 
    203202                allow $1_xserver_t x_server_domain:x_server *; 
    204                 allow $1_xserver_t { x_domain x_rootwindow_t }:x_drawable *; 
    205                 allow $1_xserver_t x_rootscreen_t:x_screen *; 
     203                allow $1_xserver_t { x_domain rootwindow_type }:x_drawable *; 
     204                allow $1_xserver_t x_server_domain:x_screen *; 
    206205                allow $1_xserver_t x_domain:x_gc *; 
    207                 allow $1_xserver_t { x_domain x_rootcolormap_t }:x_colormap *; 
     206                allow $1_xserver_t { x_domain rootwindow_type }:x_colormap *; 
    208207                allow $1_xserver_t xproperty_type:x_property *; 
    209208                allow $1_xserver_t xselection_type:x_selection *; 
     
    472471 
    473472        allow $1_xserver_t { input_xevent_t $1_input_xevent_type }:x_event send; 
    474         allow $1_xserver_t { x_rootwindow_t $1_x_domain }:x_drawable send; 
     473        allow $1_xserver_t { $1_rootwindow_t $1_x_domain }:x_drawable send; 
    475474 
    476475        # manage: xhost X11:ChangeHosts 
     
    485484        allow $2 $1_xserver_t:x_resource write; 
    486485 
    487         allow $2 x_rootcolormap_t:x_colormap { install uninstall }; 
     486        allow $2 $1_rootwindow_t:x_colormap { install uninstall }; 
    488487 
    489488        # read: gnome-settings-daemon RANDR:GetScreenSizeRange 
     
    491490        # setattr: gnome-settings-daemon X11:GrabKey 
    492491        # manage: metacity X11:ChangeWindowAttributes 
    493         allow $2 x_rootwindow_t:x_drawable { read write manage setattr }; 
     492        allow $2 $1_rootwindow_t:x_drawable { read write manage setattr }; 
    494493 
    495494        # setattr: metacity X11:InstallColormap 
    496         allow $2 x_rootscreen_t:x_screen { saver_setattr saver_getattr setattr }; 
     495        allow $2 $1_xserver_t:x_screen { saver_setattr saver_getattr setattr }; 
    497496 
    498497        # xrdb X11:ChangeProperty prop=RESOURCE_MANAGER 
     
    677676template(`xserver_common_x_domain_template',` 
    678677        gen_require(` 
    679                 type x_rootwindow_t, x_rootcolormap_t, std_xext_t, shmem_xext_t; 
     678                type $1_rootwindow_t, std_xext_t, shmem_xext_t; 
    680679                type xproperty_t, info_xproperty_t, clipboard_xproperty_t; 
    681680                type input_xevent_t, focus_xevent_t, property_xevent_t, manage_xevent_t; 
     
    766765        allow $3 info_xproperty_t:x_property read; 
    767766        # can change properties of root window 
    768         allow $3 x_rootwindow_t:x_drawable { list_property get_property set_property }; 
     767        allow $3 $1_rootwindow_t:x_drawable { list_property get_property set_property }; 
    769768        # can change properties of own windows 
    770769        allow $3 self:x_drawable { list_property get_property set_property }; 
     
    772771        # X Windows 
    773772        # operations allowed on root windows 
    774         allow $3 x_rootwindow_t:x_drawable { getattr list_child add_child remove_child send receive }; 
     773        allow $3 $1_rootwindow_t:x_drawable { getattr list_child add_child remove_child send receive }; 
    775774        # operations allowed on my windows 
    776775        allow $3 self:x_drawable { create destroy getattr setattr read write show hide list_child add_child remove_child manage send receive }; 
    777         type_transition $3 x_rootwindow_t:x_drawable $3; 
     776        type_transition $3 $1_rootwindow_t:x_drawable $3; 
    778777 
    779778        # X Colormaps 
    780779        # can use the default colormap 
    781         allow $3 x_rootcolormap_t:x_colormap { read use add_color }; 
     780        allow $3 $1_rootwindow_t:x_colormap { read use add_color }; 
    782781 
    783782        # X Input 
     
    829828                        attribute xproperty_type, xselection_type; 
    830829                        attribute xextension_type, xevent_type; 
    831  
    832                         type x_rootcolormap_t, x_rootscreen_t; 
    833                         type x_rootwindow_t, remote_xclient_t; 
     830                        attribute rootwindow_type; 
     831 
     832                        type remote_xclient_t; 
    834833                ') 
    835834                allow $3 x_server_domain:x_server *; 
    836                 allow $3 { x_domain x_rootwindow_t }:x_drawable *; 
    837                 allow $3 x_rootscreen_t:x_screen *; 
     835                allow $3 { x_domain rootwindow_type }:x_drawable *; 
     836                allow $3 x_server_domain:x_screen *; 
    838837                allow $3 x_domain:x_gc *; 
    839                 allow $3 { x_domain x_rootcolormap_t }:x_colormap *; 
     838                allow $3 { x_domain rootwindow_type }:x_colormap *; 
    840839                allow $3 xproperty_type:x_property *; 
    841840                allow $3 xselection_type:x_selection *; 
  • branches/xselinux/policy/modules/services/xserver.te

    r2643 r2651  
    3939 
    4040# Per-object attributes 
     41attribute rootwindow_type; 
    4142attribute x_domain; 
    4243attribute xproperty_type; 
     
    6869type video_xext_t, xextension_type; 
    6970type unknown_xevent_t, xevent_type; 
    70 type x_rootcolormap_t; 
    71 type x_rootscreen_t; 
    72 type x_rootwindow_t; 
    7371type xevent_t alias default_xevent_t, xevent_type; 
    7472type xext_t alias unknown_xext_t, xextension_type; 
     
    496494 
    497495allow xserver_unconfined_type x_server_domain:x_server *; 
    498 allow xserver_unconfined_type { x_domain x_rootwindow_t }:x_drawable *; 
    499 allow xserver_unconfined_type x_rootscreen_t:x_screen *; 
     496allow xserver_unconfined_type { x_domain rootwindow_type }:x_drawable *; 
     497allow xserver_unconfined_type x_server_domain:x_screen *; 
    500498allow xserver_unconfined_type x_domain:x_gc *; 
    501 allow xserver_unconfined_type { x_domain x_rootcolormap_t }:x_colormap *; 
     499allow xserver_unconfined_type { x_domain rootwindow_type }:x_colormap *; 
    502500allow xserver_unconfined_type xproperty_type:x_property *; 
    503501allow xserver_unconfined_type xselection_type:x_selection *;