#include "system.h"#include <rpmlib.h>#include <rpmmacro.h>#include "rpmsx.h"#include "debug.h"Include dependency graph for rpmsx.c:

Go to the source code of this file.
Defines | |
| #define | _RPMSX_INTERNAL |
| #define | inc_err() nerr++ |
Functions | |
| static void | rpmsxSort (rpmsx sx) |
| Stable sort for policy specifications, patterns before paths. | |
| static void | rpmsxpHasMetaChars (rpmsxp sxp) |
| static size_t | rpmsxsPStem (const char *const buf) |
| Return the length of the text that can be considered the stem. | |
| static size_t | rpmsxsFStem (const char *const buf) |
| Return the length of the text that is the stem of a file name. | |
| static int | rpmsxAdd (rpmsx sx, const char **bpp) |
| Find (or create) the stem of a file spec. | |
| static 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. | |
| static 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 138 of file rpmsx.c. References rpmsxsPStem(), xmalloc(), and xrealloc(). Referenced by rpmsxParse(). |
|
|
Return current context.
Definition at line 578 of file rpmsx.c. Referenced by rpmsxFContext(). |
|
|
Return security context patterns count.
|
|
||||||||||||||||
|
Find file security context from path and type.
Definition at line 658 of file rpmsx.c. References rpmsxContext(), rpmsxFind(), rpmsxFMode(), rpmsxFStem(), rpmsxInit(), rpmsxNext(), rpmsxPattern(), and rpmsxRE(). Referenced by fsmMkdirs(). |
|
||||||||||||
|
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 182 of file rpmsx.c. References rpmsxsFStem(). Referenced by rpmsxFContext(). |
|
|
Return current file mode.
Definition at line 596 of file rpmsx.c. Referenced by rpmsxFContext(). |
|
|
Destroy a security context patterns.
Definition at line 226 of file rpmsx.c. References _free(), _rpmsx_debug, and rpmsxUnlink. Referenced by fsmMkdirs(), rpmsxNew(), rpmtsFree(), and rpmtsSetREContext(). |
|
|
Return current file stem.
Definition at line 605 of file rpmsx.c. Referenced by rpmsxFContext(). |
|
||||||||||||
|
Initialize security context patterns iterator.
Definition at line 646 of file rpmsx.c. Referenced by rpmsxFContext(). |
|
|
Return security context patterns index.
|
|
|
Create and load security context patterns.
Definition at line 518 of file rpmsx.c. References rpmsxFree(), rpmsxLink, rpmsxParse(), and xcalloc(). |
|
|
Return next security context patterns iterator index.
Definition at line 614 of file rpmsx.c. References _rpmsx_debug. Referenced by rpmsxFContext(). |
|
||||||||||||
|
Parse selinux file security context patterns.
Definition at line 319 of file rpmsx.c. References _, _free(), errno, inc_err, rpmGetPath(), rpmsxAdd(), rpmsxpCheckNoDupes(), rpmsxpHasMetaChars(), rpmsxSort(), S_IFSOCK, security_check_context, xcalloc(), and xmalloc(). Referenced by rpmsxNew(). |
|
|
Return current pattern.
Definition at line 560 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 280 of file rpmsx.c. Referenced by rpmsxParse(). |
|
|
Definition at line 57 of file rpmsx.c. Referenced by rpmsxParse(). |
|
|
Return current regex.
Definition at line 587 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 121 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(), and xmalloc(). Referenced by rpmsxParse(). |
|
|
Return the length of the text that can be considered the stem.
Definition at line 99 of file rpmsx.c. Referenced by rpmsxAdd(). |
|
|
Return current type.
|
|
||||||||||||||||||||
|
Definition at line 213 of file rpmsx.c. References _rpmsx_debug. |
|
||||||||||||||||||||
|
Definition at line 202 of file rpmsx.c. References _rpmsx_debug. |
|
|
|
1.4.4