Index: linux-2.6.10-rsbac-v1.2.4/kernel/sysctl.c
===================================================================
--- linux-2.6.10-rsbac-v1.2.4/kernel/sysctl.c	(Revision 182)
+++ linux-2.6.10-rsbac-v1.2.4/kernel/sysctl.c	(Arbeitskopie)
@@ -1020,6 +1020,7 @@
 
         /* RSBAC */
         #ifdef CONFIG_RSBAC
+        enum  rsbac_adf_request_t     rsbac_request;
         union rsbac_target_id_t       rsbac_target_id;
         union rsbac_attribute_value_t rsbac_attribute_value;
         #endif
@@ -1031,32 +1032,33 @@
         /* RSBAC */
         #ifdef CONFIG_RSBAC
         if(op & 002) /* write access */
+          rsbac_request = R_MODIFY_SYSTEM_DATA;
+        else
+          rsbac_request = R_GET_STATUS_DATA;
+        switch(table->ctl_name)
           {
-            switch(table->ctl_name)
-              {
-                case KERN_NODENAME:
-                  rsbac_target_id.scd = ST_host_id;
-                  break;
-                case KERN_DOMAINNAME:
-                  rsbac_target_id.scd = ST_net_id;
-                  break;
-                default:
-                  rsbac_target_id.scd = ST_other;
-              }
-            rsbac_attribute_value.dummy = 0;
+            case KERN_NODENAME:
+              rsbac_target_id.scd = ST_host_id;
+              break;
+            case KERN_DOMAINNAME:
+              rsbac_target_id.scd = ST_net_id;
+              break;
+            default:
+              rsbac_target_id.scd = ST_other;
+          }
+        rsbac_attribute_value.dummy = 0;
 #ifdef CONFIG_RSBAC_DEBUG
-            if (rsbac_debug_aef)
-              printk(KERN_DEBUG "ctl_perm() [sysctl() etc.]: calling ADF\n");
+        if (rsbac_debug_aef)
+          printk(KERN_DEBUG "ctl_perm() [sysctl() etc.]: calling ADF\n");
 #endif
-            if(!rsbac_adf_request(R_MODIFY_SYSTEM_DATA,
-                                  current->pid,
-                                  T_SCD,
-                                  rsbac_target_id,
-                                  A_none,
-                                  rsbac_attribute_value))
-              {
-                return -EPERM;
-              }
+        if(!rsbac_adf_request(rsbac_request,
+                              current->pid,
+                              T_SCD,
+                              rsbac_target_id,
+                              A_none,
+                              rsbac_attribute_value))
+          {
+            return -EPERM;
           }
         #endif
 
Index: linux-2.6.10-rsbac-v1.2.4/include/rsbac/acl_data_structures.h
===================================================================
--- linux-2.6.10-rsbac-v1.2.4/include/rsbac/acl_data_structures.h	(Revision 182)
+++ linux-2.6.10-rsbac-v1.2.4/include/rsbac/acl_data_structures.h	(Arbeitskopie)
@@ -3,7 +3,7 @@
 /* Author and (c) 1999-2005:          */
 /*   Amon Ott <ao@rsbac.org>          */
 /* Data structures / ACL              */
-/* Last modified: 26/Jan/2005         */
+/* Last modified: 23/Feb/2005         */
 /**************************************/
 
 #ifndef __RSBAC_ACL_DATA_STRUC_H
@@ -116,6 +116,7 @@
        ( \
           ((rsbac_request_vector_t) 1 << R_MAP_EXEC) \
         | ((rsbac_request_vector_t) 1 << R_MODIFY_ATTRIBUTE) \
+        | ((rsbac_request_vector_t) 1 << R_GET_STATUS_DATA) \
         | ((rsbac_request_vector_t) 1 << R_MODIFY_PERMISSIONS_DATA) \
         | ((rsbac_request_vector_t) 1 << R_READ_ATTRIBUTE) \
         | ((rsbac_request_vector_t) 1 << R_SWITCH_LOG) \
@@ -146,6 +147,7 @@
           ((rsbac_request_vector_t) 1 << R_ADD_TO_KERNEL) \
         | ((rsbac_request_vector_t) 1 << R_CHANGE_GROUP) \
         | ((rsbac_request_vector_t) 1 << R_CHANGE_OWNER) \
+        | ((rsbac_request_vector_t) 1 << R_GET_STATUS_DATA) \
         | ((rsbac_request_vector_t) 1 << R_MAP_EXEC) \
         | ((rsbac_request_vector_t) 1 << R_MOUNT) \
         | ((rsbac_request_vector_t) 1 << R_REMOVE_FROM_KERNEL) \
Index: linux-2.6.10-rsbac-v1.2.4/include/rsbac/request_groups.h
===================================================================
--- linux-2.6.10-rsbac-v1.2.4/include/rsbac/request_groups.h	(Revision 182)
+++ linux-2.6.10-rsbac-v1.2.4/include/rsbac/request_groups.h	(Arbeitskopie)
@@ -1,9 +1,9 @@
 /************************************ */
 /* Rule Set Based Access Control      */
-/* Author and (c) 1999-2004: Amon Ott */
+/* Author and (c) 1999-2005: Amon Ott */
 /* Groups of ADF request for          */
 /* administration                     */
-/* Last modified: 16/Apr/2004         */
+/* Last modified: 23/Feb/2005         */
 /************************************ */
 
 #ifndef __RSBAC_REQUEST_GROUPS_H
@@ -258,6 +258,7 @@
 #define RSBAC_NONE_REQUEST_VECTOR (\
   ((rsbac_request_vector_t) 1 << R_ADD_TO_KERNEL) | \
   ((rsbac_request_vector_t) 1 << R_MODIFY_ATTRIBUTE) | \
+  ((rsbac_request_vector_t) 1 << R_GET_STATUS_DATA) | \
   ((rsbac_request_vector_t) 1 << R_MODIFY_PERMISSIONS_DATA) | \
   ((rsbac_request_vector_t) 1 << R_READ_ATTRIBUTE) | \
   ((rsbac_request_vector_t) 1 << R_REMOVE_FROM_KERNEL) | \
Index: linux-2.6.10-rsbac-v1.2.4/include/rsbac/rc_types.h
===================================================================
--- linux-2.6.10-rsbac-v1.2.4/include/rsbac/rc_types.h	(Revision 182)
+++ linux-2.6.10-rsbac-v1.2.4/include/rsbac/rc_types.h	(Arbeitskopie)
@@ -1,9 +1,9 @@
 /************************************ */
 /* Rule Set Based Access Control      */
-/* Author and (c) 1999-2004: Amon Ott */
+/* Author and (c) 1999-2005: Amon Ott */
 /* API: Data types for                */
 /*    Role Compatibility Module       */
-/* Last modified: 14/Jun/2004         */
+/* Last modified: 23/Feb/2005         */
 /************************************ */
 
 #ifndef __RSBAC_RC_TYPES_H
@@ -141,6 +141,7 @@
          /* ST_rsbac_log */         RSBAC_SCD_REQUEST_VECTOR | RSBAC_RC_SPECIAL_RIGHTS_VECTOR, \
          /* ST_other */             ( \
                                        ((rsbac_request_vector_t) 1 << R_MAP_EXEC) \
+                                     | ((rsbac_request_vector_t) 1 << R_GET_STATUS_DATA) \
                                      | ((rsbac_request_vector_t) 1 << R_MODIFY_PERMISSIONS_DATA) \
                                      | ((rsbac_request_vector_t) 1 << R_SWITCH_LOG) \
                                      | ((rsbac_request_vector_t) 1 << R_SWITCH_MODULE) \
@@ -183,6 +184,7 @@
          /* ST_rsbac_log */         0, \
          /* ST_other */             ( \
                                        ((rsbac_request_vector_t) 1 << R_ADD_TO_KERNEL) \
+                                     | ((rsbac_request_vector_t) 1 << R_GET_STATUS_DATA) \
                                      | ((rsbac_request_vector_t) 1 << R_MAP_EXEC) \
                                      | ((rsbac_request_vector_t) 1 << R_MOUNT) \
                                      | ((rsbac_request_vector_t) 1 << R_REMOVE_FROM_KERNEL) \
