Provided by: libselinux1-dev_3.5-2ubuntu5_amd64 bug

NAME

       get_ordered_context_list,            get_ordered_context_list_with_level,            get_default_context,
       get_default_context_with_level,    get_default_context_with_role,     get_default_context_with_rolelevel,
       query_user_context,  manual_user_enter_context,  get_default_role - determine SELinux context(s) for user
       sessions

SYNOPSIS

       #include <selinux/selinux.h>
       #include <selinux/get_context_list.h>

       int get_ordered_context_list(const char *user, const char *fromcon, char ***list);

       int get_ordered_context_list_with_level(const char *user, const char *level, const  char  *fromcon,  char
       ***list);

       int get_default_context(const char *user, const char *fromcon, char **newcon);

       int  get_default_context_with_level(const  char  *user,  const  char  *level,  const  char *fromcon, char
       **newcon);

       int  get_default_context_with_role(const  char  *user,  const  char  *role,  const  char  *fromcon,  char
       **newcon);

       int  get_default_context_with_rolelevel(const char *user, const char *role, const char *level, const char
       *fromcon, char **newcon);

       int query_user_context(char **list, char **newcon);

       int manual_user_enter_context(const char *user, char **newcon);

       int get_default_type(const char *role, char **type);

DESCRIPTION

       This family of functions can be used to obtain either  a  prioritized  list  of  all  reachable  security
       contexts for a given SELinux user or a single default (highest priority) context for a given SELinux user
       for use by login-like programs.  These functions takes a SELinux user identity that must  be  defined  in
       the  SELinux  policy  as  their  input,  not  a Linux username.  Most callers should typically first call
       getseuserbyname(3) to look up the SELinux user identity and level for a given  Linux  username  and  then
       invoke one of get_ordered_context_list_with_level() or get_default_context_with_level() with the returned
       SELinux user and level as inputs.

       get_ordered_context_list() obtains the list of contexts for the specified SELinux user identity that  are
       reachable      from      the      specified      fromcon      context     based     on     the     global
       /etc/selinux/{SELINUXTYPE}/contexts/default_contexts        file         and         the         per-user
       /etc/selinux/{SELINUXTYPE}/contexts/users/<username>  file  if  it  exists.  The fromcon parameter may be
       NULL to indicate that the current context should be used.  The function returns the number of contexts in
       the list, or -1 upon errors.  The list must be freed using the freeconary(3) function.

       get_ordered_context_list_with_level()  invokes  the  get_ordered_context_list()  function and applies the
       specified level.

       get_default_context() is the same as get_ordered_context_list() but only returns a single  context  which
       has to be freed with freecon(3).

       get_default_context_with_level()  invokes  the  get_default_context()  function and applies the specified
       level.

       get_default_context_with_role() is the same as get_default_context() but only returns a context with  the
       specified role, returning -1 if no such context is reachable for the user.

       get_default_context_with_rolelevel() invokes the get_default_context_with_role() function and applies the
       specified level.

       query_user_context() takes a list of contexts, queries the user via stdin/stdout as to which context they
       want, and returns a new context as selected by the user (which has to be freed with freecon(3)).

       manual_user_enter_context()  allows  the  user  to  manually  enter  a context as a fallback if a list of
       authorized contexts could not be obtained. Caller must free via freecon(3).

       get_default_type() Get the default type (domain) for role and set type to refer to it, which  has  to  be
       freed with free.

RETURN VALUE

       get_ordered_context_list() and get_ordered_context_list_with_level() return the number of contexts in the
       list upon success or -1 upon errors.  The other functions return 0 for success or -1 for errors.

SEE ALSO

       selinux(8), freeconary(3), freecon(3), security_compute_av(3), getseuserbyname(3)