#include "system.h"
#include <rpmlib.h>
#include <rpmmacro.h>
#include "rpmsx.h"
#include "debug.h"
Go to the source code of this file.
Defines | |
#define | _RPMSX_INTERNAL |
#define | inc_err() nerr++ |
Functions | |
void | rpmsxSort (rpmsx sx) |
Stable sort for policy specifications, patterns before paths. | |
void | rpmsxpHasMetaChars (rpmsxp sxp) |
size_t | rpmsxsPStem (const char *const buf) |
Return the length of the text that can be considered the stem. | |
size_t | rpmsxsFStem (const char *const buf) |
Return the length of the text that is the stem of a file name. | |
int | rpmsxAdd (rpmsx sx, const char **bpp) |
Find (or create) the stem of a file spec. | |
int | rpmsxFind (const rpmsx sx, const char **bpp) |
Find the stem of a file name. | |
rpmsx | XrpmsxUnlink (rpmsx sx, const char *msg, const char *fn, unsigned ln) |
rpmsx | XrpmsxLink (rpmsx sx, const char *msg, const char *fn, unsigned ln) |
rpmsx | rpmsxFree (rpmsx sx) |
Destroy a security context patterns. | |
int | rpmsxpCheckNoDupes (const rpmsx sx) |
Check for duplicate specifications. | |
int | rpmsxParse (rpmsx sx, const char *fn) |
Parse selinux file security context patterns. | |
rpmsx | rpmsxNew (const char *fn) |
Create and load security context patterns. | |
int | rpmsxCount (const rpmsx sx) |
Return security context patterns count. | |
int | rpmsxIx (const rpmsx sx) |
Return security context patterns index. | |
int | rpmsxSetIx (rpmsx sx, int ix) |
Set security context patterns index. | |
const char * | rpmsxPattern (const rpmsx sx) |
Return current pattern. | |
const char * | rpmsxType (const rpmsx sx) |
Return current type. | |
const char * | rpmsxContext (const rpmsx sx) |
Return current context. | |
regex_t * | rpmsxRE (const rpmsx sx) |
Return current regex. | |
mode_t | rpmsxFMode (const rpmsx sx) |
Return current file mode. | |
int | rpmsxFStem (const rpmsx sx) |
Return current file stem. | |
int | rpmsxNext (rpmsx sx) |
Return next security context patterns iterator index. | |
rpmsx | rpmsxInit (rpmsx sx, int reverse) |
Initialize security context patterns iterator. | |
const char * | rpmsxFContext (rpmsx sx, const char *fn, mode_t fmode) |
Find file security context from path and type. | |
Variables | |
int | _rpmsx_debug = 0 |
Definition in file rpmsx.c.
|
|
|
Referenced by rpmsxParse(). |
|
Find (or create) the stem of a file spec. Error iff a file in the root directory or a regex that is too complex.
Definition at line 135 of file rpmsx.c. References rpmsxs, rpmsxsPStem(), and xrealloc(). Referenced by rpmsxParse(). |
|
Return current context.
Definition at line 570 of file rpmsx.c. Referenced by rpmsxFContext(). |
|
Return security context patterns count.
|
|
Find file security context from path and type.
Definition at line 650 of file rpmsx.c. References rpmsxContext(), rpmsxFind(), rpmsxFMode(), rpmsxFStem(), rpmsxInit(), rpmsxNext(), rpmsxPattern(), and rpmsxRE(). Referenced by fsmMapFContext(), fsmMkdirs(), genCpioListAndHeader(), rpmfiBuildREContexts(), and rpmVerifyFile(). |
|
Find the stem of a file name. Error iff a file in the root directory or a regex that is too complex.
Definition at line 174 of file rpmsx.c. References rpmsxs, and rpmsxsFStem(). Referenced by rpmsxFContext(). |
|
Return current file mode.
Definition at line 588 of file rpmsx.c. Referenced by rpmsxFContext(). |
|
Destroy a security context patterns.
Definition at line 218 of file rpmsx.c. References _free(), _rpmsx_debug, rpmsx, rpmsxp, rpmsxs, and rpmsxUnlink. Referenced by fsmMapFContext(), fsmMkdirs(), genCpioListAndHeader(), rpmcliQuery(), rpmcliVerify(), rpmfiBuildREContexts(), rpmInstall(), rpmsxNew(), rpmts_Run(), rpmtsFree(), rpmtsSetREContext(), and rpmVerifyFile(). |
|
Return current file stem.
Definition at line 597 of file rpmsx.c. Referenced by rpmsxFContext(). |
|
Initialize security context patterns iterator.
Definition at line 638 of file rpmsx.c. References rpmsx. Referenced by rpmsxFContext(). |
|
Return security context patterns index.
|
|
Create and load security context patterns.
Definition at line 510 of file rpmsx.c. References rpmsx, rpmsxFree(), rpmsxLink, rpmsxParse(), and xcalloc(). Referenced by genCpioListAndHeader(), rpmcliQuery(), rpmcliVerify(), rpmfiBuildREContexts(), rpmInstall(), and rpmts_Run(). |
|
Return next security context patterns iterator index.
Definition at line 606 of file rpmsx.c. References _rpmsx_debug, and rpmsxp. Referenced by rpmsxFContext(). |
|
Parse selinux file security context patterns.
Definition at line 311 of file rpmsx.c. References _, _free(), errno, inc_err, rpmGetPath(), rpmsxAdd(), rpmsxp, rpmsxpCheckNoDupes(), rpmsxpHasMetaChars(), rpmsxSort(), security_check_context, xcalloc(), and xmalloc(). Referenced by rpmsxNew(). |
|
Return current pattern.
Definition at line 552 of file rpmsx.c. Referenced by rpmsxFContext(). |
|
Check for duplicate specifications. If a duplicate specification is found and the context is the same, give a warning to the user. If a duplicate specification is found and the context is different, give a warning to the user (This could be changed to error). Return of non-zero is an error.
Definition at line 272 of file rpmsx.c. References rpmsxp. Referenced by rpmsxParse(). |
|
Definition at line 54 of file rpmsx.c. Referenced by rpmsxParse(). |
|
Return current regex.
Definition at line 579 of file rpmsx.c. Referenced by rpmsxFContext(). |
|
Set security context patterns index.
|
|
Return the length of the text that is the stem of a file name.
Definition at line 118 of file rpmsx.c. Referenced by rpmsxFind(). |
|
Stable sort for policy specifications, patterns before paths.
Definition at line 23 of file rpmsx.c. References _free(), rpmsxp, and xmalloc(). Referenced by rpmsxParse(). |
|
Return the length of the text that can be considered the stem.
Definition at line 96 of file rpmsx.c. Referenced by rpmsxAdd(). |
|
Return current type.
|
|
Definition at line 205 of file rpmsx.c. References _rpmsx_debug, and rpmsx. |
|
Definition at line 194 of file rpmsx.c. References _rpmsx_debug, and rpmsx. |
|
|