selinux/libselinux/man/man3/getexeccon.3
Guillem Jover 6ef13eeda7 libselinux: man: Fix man pages formatting
- Add man page sections '(N)' to external references, and '()' on
  functions described in the same man page.
- Escape minus signs when those are expected to be used on the command
  line or files.
- Mark files and variables in italic; Note headings, function names,
  constants, program options and man page references in bold.
- Do not justify and hyphenate SEE ALSO section, and avoid hyphenation
  on symbol names by prepending them with \%.
- Remove trailing dot from NAME section description.
- Split sections with a no-op command '.', to visually distinguish them
  but to avoid introducing spurious vertical space in the formatted
  output.
- Add explicit .sp commands in the SYNOPSIS section between function
  prototypes, and fix space placement in function protoypes.
- Split header includes with .br (instead of the explicit or implicit
  .sp) so that they are vertically contiguous.
- Add missing {} around SELINUXTYPE and POLICYTYPE variable text in
  paths.
- Remove unneeded formatting commands.
- Remove spurious blank lines.

Signed-off-by: Guillem Jover <guillem@debian.org>
Signed-off-by: Eric Paris <eparis@redhat.com>
Acked-by: Dan Walsh <dwalsh@redhat.com>
2013-02-05 20:14:43 -05:00

79 lines
2.2 KiB
Groff

.TH "getexeccon" "3" "1 January 2004" "russell@coker.com.au" "SELinux API documentation"
.SH "NAME"
getexeccon, setexeccon \- get or set the SELinux security context used for executing a new process
rpm_execcon \- run a helper for rpm in an appropriate security context
.
.SH "SYNOPSIS"
.B #include <selinux/selinux.h>
.sp
.BI "int getexeccon(security_context_t *" context );
.sp
.BI "int setexeccon(security_context_t "context );
.sp
.BI "int rpm_execcon(unsigned int " verified ", const char *" filename ", char *const " argv "[] , char *const " envp "[]);
.
.SH "DESCRIPTION"
.BR getexeccon ()
retrieves the context used for executing a new process.
This returned context should be freed with
.BR freecon (3)
if non-NULL.
.BR getexeccon ()
sets
.BI * context
to NULL if no exec context has been explicitly
set by the program (i.e. using the default policy behavior).
.BR setexeccon ()
sets the context used for the next
.BR execve (2)
call.
NULL can be passed to
.BR setexeccon ()
to reset to the default policy behavior.
The exec context is automatically reset after the next
.BR execve (2),
so a program doesn't need to explicitly sanitize it upon startup.
.BR setexeccon ()
can be applied prior to library
functions that internally perform an
.BR execve (2),
e.g.
.BR execl *(3),
.BR execv *(3),
.BR popen (3),
in order to set an exec context for that operation.
.B Note:
Signal handlers that perform an
.BR execve (2)
must take care to
save, reset, and restore the exec context to avoid unexpected behavior.
.BR rpm_execcon ()
runs a helper for rpm in an appropriate security context. The
verified parameter should contain the return code from the signature
verification (0 == ok, 1 == notfound, 2 == verifyfail, 3 ==
nottrusted, 4 == nokey), although this information is not yet used by
the function. The function determines the proper security context for
the helper based on policy, sets the exec context accordingly, and
then executes the specified filename with the provided argument and
environment arrays.
.
.SH "RETURN VALUE"
On error \-1 is returned.
On success
.BR getexeccon ()
and
.BR setexeccon ()
returns 0.
.BR rpm_execcon ()
only returns upon errors, as it calls
.BR execve (2).
.
.SH "SEE ALSO"
.BR selinux "(8), " freecon "(3), " getcon "(3)"