| 
      
      
      From: <ssm...@us...> - 2007-04-09 18:22:29
      
     | 
| Revision: 2328
          http://svn.sourceforge.net/selinux/?rev=2328&view=rev
Author:   ssmalley
Date:     2007-04-09 11:22:10 -0700 (Mon, 09 Apr 2007)
Log Message:
-----------
Author: James Carter
Email: jw...@ty...
Subject: libselinux: add support for getting contexts for kernel initial SIDs from selinuxfs
Date: Fri, 06 Apr 2007 15:37:20 -0400
Adds support to libselinux to get the context for a kernel initial
security identifier specified by name from the selinuxfs interface.
Signed-off-by: James Carter <jw...@ty...>
Modified Paths:
--------------
    trunk/libselinux/include/selinux/selinux.h
    trunk/libselinux/man/man3/security_compute_av.3
    trunk/libselinux/src/selinux_internal.h
Added Paths:
-----------
    trunk/libselinux/man/man3/security_get_initial_context.3
Modified: trunk/libselinux/include/selinux/selinux.h
===================================================================
--- trunk/libselinux/include/selinux/selinux.h	2007-04-09 18:18:02 UTC (rev 2327)
+++ trunk/libselinux/include/selinux/selinux.h	2007-04-09 18:22:10 UTC (rev 2328)
@@ -189,6 +189,13 @@
 /* Load a policy configuration. */
 	extern int security_load_policy(void *data, size_t len);
 
+/* Get the context of an initial kernel security identifier by name.  
+   Caller must free via freecon */
+	extern int security_get_initial_context(const char * name, 
+						security_context_t * con);
+	extern int security_get_initial_context_raw(const char * name, 
+						    security_context_t * con);
+
 /*
  * Make a policy image and load it.
  * This function provides a higher level interface for loading policy
Modified: trunk/libselinux/man/man3/security_compute_av.3
===================================================================
--- trunk/libselinux/man/man3/security_compute_av.3	2007-04-09 18:18:02 UTC (rev 2327)
+++ trunk/libselinux/man/man3/security_compute_av.3	2007-04-09 18:22:10 UTC (rev 2328)
@@ -1,6 +1,7 @@
 .TH "security_compute_av" "3" "1 January 2004" "ru...@co..." "SE Linux API documentation"
 .SH "NAME"
-security_compute_av, security_compute_create, security_compute_relabel, security_compute_user \- query
+security_compute_av, security_compute_create, security_compute_relabel,
+security_compute_user, security_get_initial_context \- query
 the SELinux policy database in the kernel.
 
 .SH "SYNOPSIS"
@@ -16,6 +17,9 @@
 .sp
 .BI "int security_compute_user(security_context_t "scon ", const char *" username ", security_context_t **" con );
 .sp
+.BI "int security_get_initial_context(const char *" name ", security_context_t
+"con );
+.sp
 .BI "int checkPasswdAccess(access_vector_t " requested );
 
 .SH "DESCRIPTION"
@@ -44,6 +48,9 @@
 source context. Is mainly used by
 .B get_ordered_context_list.
 
+.B security_get_initial_context
+is used to get the context of an initial kernel security identifier by name.
+
 .B checkPasswdAccess
 This functions is a helper functions that allows you to check for a permission in the passwd class. checkPasswdAccess uses getprevcon() for the source and target security contexts.
 
Added: trunk/libselinux/man/man3/security_get_initial_context.3
===================================================================
--- trunk/libselinux/man/man3/security_get_initial_context.3	                        (rev 0)
+++ trunk/libselinux/man/man3/security_get_initial_context.3	2007-04-09 18:22:10 UTC (rev 2328)
@@ -0,0 +1 @@
+.so man3/security_compute_av.3
Modified: trunk/libselinux/src/selinux_internal.h
===================================================================
--- trunk/libselinux/src/selinux_internal.h	2007-04-09 18:18:02 UTC (rev 2327)
+++ trunk/libselinux/src/selinux_internal.h	2007-04-09 18:22:10 UTC (rev 2328)
@@ -76,6 +76,8 @@
 hidden_proto(selinux_getpolicytype);
 hidden_proto(selinux_raw_to_trans_context);
 hidden_proto(selinux_trans_to_raw_context);
+hidden_proto(security_get_initial_context);
+hidden_proto(security_get_initial_context_raw);
 
 extern int load_setlocaldefs hidden;
 extern int require_seusers hidden;
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
 |