selinux_raw_context_to_color(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | FILES | NOTES | EXAMPLE | SEE ALSO | COLOPHON

selinux_...to_color(3)  Library Functions Manual  selinux_...to_color(3)

NAME         top

       selinux_raw_context_to_color - Return RGB color string for an
       SELinux security context

SYNOPSIS         top

       #include <selinux/selinux.h>

       int selinux_raw_context_to_color(char *raw,
              char **color_str);

DESCRIPTION         top

       selinux_raw_context_to_color() returns a color_str associated to
       the raw context raw provided that the mcstransd(8) daemon is
       running, the policy is an MLS type policy (MCS or MLS) and there
       is a color configuration file secolor.conf(5) (see the FILES
       section).

       The color_str string is a space separated list of eight
       hexadecimal RGB triples, each prefixed by a hash character (#).
       These represent the user:role:type:range components of the
       foreground and background colors. An example string is shown in
       the EXAMPLE section.

       The returned color_str string must be freed with free(3).

       If a color has not been configured for a specific user, role,
       type and/or range component of context raw, then
       selinux_raw_context_to_color() will select the color returned in
       color_str in order of precedence as follows:
              role, type, range
              user, type, range
              user, role, range
              user, role, type

       If there are no entries in the secolor.conf(5) file for any of
       the components of context raw (or the file is not present), then
       the default string returned in color_str is:

              ----- user ---- ---- role ----  ---- type ----  ---- range
              ----
              #000000 #ffffff #000000 #ffffff #000000 #ffffff #000000
              #ffffff

RETURN VALUE         top

       On success, zero is returned.
       On failure, -1 is returned with errno set appropriately.

ERRORS         top

       ENOENT If the mcstransd(8) daemon is not running.

FILES         top

       selinux_raw_context_to_color() obtains the translated entry from
       the active policy secolor.conf(5) file as returned by
       selinux_colors_path(3).  The file format is described in
       secolor.conf(5).

NOTES         top

       1. The primary use of selinux_raw_context_to_color() is to return
       a color that corresponds to a range, that can then be used to
       highlight information at different MLS levels.

       2. The mcstransd(8) daemon process security level must dominate
       the raw security level passed to it by the
       selinux_raw_context_to_color() function. If not, the range color
       selected will be as defined by the order of precedence.

EXAMPLE         top

       selinux_raw_context_to_color() returns the foreground and
       background colors of the context string components
       (user:role:type:range) as RGB triples as follows:

             user     :       role      :      type      :      range
         fg       bg  :   fg       bg   :  fg       bg   :  fg       bg
       #000000 #ffffff  #ffffff #000000  #d2b48c #ffa500  #000000
       #008000
        black   white :  white   black  : tan    orange  : black   green

SEE ALSO         top

       selinux(8), selinux_colors_path(3), mcstransd(8),
       secolor.conf(5), selinux_raw_to_trans_context(3),
       selinux_trans_to_raw_context(3), free(3)

COLOPHON         top

       This page is part of the selinux (Security-Enhanced Linux user-
       space libraries and tools) project.  Information about the
       project can be found at 
       ⟨https://github.com/SELinuxProject/selinux/wiki⟩.  If you have a
       bug report for this manual page, see
       ⟨https://github.com/SELinuxProject/selinux/wiki/Contributing⟩.
       This page was obtained from the project's upstream Git repository
       ⟨https://github.com/SELinuxProject/selinux⟩ on 2023-12-22.  (At
       that time, the date of the most recent commit that was found in
       the repository was 2023-05-11.)  If you discover any rendering
       problems in this HTML version of the page, or you believe there
       is a better or more up-to-date source for the page, or you have
       corrections or improvements to the information in this COLOPHON
       (which is not part of the original manual page), send a mail to
       man-pages@man7.org

SELinux API documentation     08 April 2011       selinux_...to_color(3)

Pages that refer to this page: selinux_colors_path(3)secolor.conf(5)