Main Page | Modules | Data Structures | File List | Data Fields | Globals | Related Pages

lib/rpmsx.h File Reference

Structure(s) used for file security context pattern handling. More...

#include <regex.h>

Go to the source code of this file.

Defines

#define rpmsxUnlink(_sx, _msg)   XrpmsxUnlink(_sx, _msg, __FILE__, __LINE__)
#define rpmsxLink(_sx, _msg)   XrpmsxLink(_sx, _msg, __FILE__, __LINE__)

Typedefs

typedef rpmsx_s * rpmsx
typedef rpmsxp_s * rpmsxp
typedef rpmsxs_s * rpmsxs

Functions

rpmsx rpmsxUnlink (rpmsx sx, const char *msg)
 Unreference a security context patterns instance.

rpmsx XrpmsxUnlink (rpmsx sx, const char *msg, const char *fn, unsigned ln)
rpmsx rpmsxLink (rpmsx sx, const char *msg)
 Reference a security context patterns instance.

rpmsx XrpmsxLink (rpmsx sx, const char *msg, const char *fn, unsigned ln)
rpmsx rpmsxFree (rpmsx sx)
 Destroy a security context patterns.

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
int _rpmsx_nopromote


Detailed Description

Structure(s) used for file security context pattern handling.

Definition in file rpmsx.h.


Define Documentation

#define rpmsxLink _sx,
_msg   )     XrpmsxLink(_sx, _msg, __FILE__, __LINE__)
 

Definition at line 116 of file rpmsx.h.

Referenced by rpmsxNew(), rpmtsREContext(), and rpmtsSetREContext().

#define rpmsxUnlink _sx,
_msg   )     XrpmsxUnlink(_sx, _msg, __FILE__, __LINE__)
 

Definition at line 97 of file rpmsx.h.

Referenced by rpmsxFree().


Typedef Documentation

typedef struct rpmsx_s* rpmsx
 

Definition at line 25 of file rpmsx.h.

Referenced by fsmMapFContext(), fsmMkdirs(), genCpioListAndHeader(), rpmcliQuery(), rpmcliVerify(), rpmfiBuildREContexts(), rpmInstall(), rpmsxAdd(), rpmsxContext(), rpmsxCount(), rpmsxFContext(), rpmsxFind(), rpmsxFMode(), rpmsxFree(), rpmsxFStem(), rpmsxInit(), rpmsxIx(), rpmsxNew(), rpmsxNext(), rpmsxParse(), rpmsxPattern(), rpmsxpCheckNoDupes(), rpmsxRE(), rpmsxSetIx(), rpmsxSort(), rpmsxType(), rpmts_Run(), rpmtsREContext(), rpmtsSetREContext(), rpmVerifyFile(), XrpmsxLink(), and XrpmsxUnlink().

typedef struct rpmsxp_s* rpmsxp
 

Definition at line 26 of file rpmsx.h.

Referenced by rpmsxFree(), rpmsxNext(), rpmsxParse(), rpmsxpCheckNoDupes(), rpmsxpHasMetaChars(), and rpmsxSort().

typedef struct rpmsxs_s* rpmsxs
 

Definition at line 27 of file rpmsx.h.

Referenced by rpmsxAdd(), rpmsxFind(), and rpmsxFree().


Function Documentation

const char* rpmsxContext const rpmsx  sx  ) 
 

Return current context.

Parameters:
sx security context patterns
Returns:
current context, NULL on invalid

Definition at line 558 of file rpmsx.c.

References rpmsx.

Referenced by rpmsxFContext().

int rpmsxCount const rpmsx  sx  ) 
 

Return security context patterns count.

Parameters:
sx security context patterns
Returns:
current count

Definition at line 519 of file rpmsx.c.

References rpmsx.

const char* rpmsxFContext rpmsx  sx,
const char *  fn,
mode_t  fmode
 

Find file security context from path and type.

Parameters:
sx security context patterns
fn file path
fmode file mode
Returns:
file security context

Definition at line 638 of file rpmsx.c.

References rpmsx, rpmsxContext(), rpmsxFind(), rpmsxFMode(), rpmsxFStem(), rpmsxInit(), rpmsxNext(), rpmsxPattern(), and rpmsxRE().

Referenced by fsmMapFContext(), fsmMkdirs(), genCpioListAndHeader(), rpmfiBuildREContexts(), and rpmVerifyFile().

mode_t rpmsxFMode const rpmsx  sx  ) 
 

Return current file mode.

Parameters:
sx security context patterns
Returns:
current file mode, 0 on invalid

Definition at line 576 of file rpmsx.c.

References rpmsx.

Referenced by rpmsxFContext().

rpmsx rpmsxFree rpmsx  sx  ) 
 

Destroy a security context patterns.

Parameters:
sx security context patterns
Returns:
NULL always

Definition at line 217 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().

int rpmsxFStem const rpmsx  sx  ) 
 

Return current file stem.

Parameters:
sx security context patterns
Returns:
current file stem, -1 on invalid

Definition at line 585 of file rpmsx.c.

References rpmsx.

Referenced by rpmsxFContext().

rpmsx rpmsxInit rpmsx  sx,
int  reverse
 

Initialize security context patterns iterator.

Parameters:
sx security context patterns
reverse iterate in reverse order?
Returns:
security context patterns

Definition at line 626 of file rpmsx.c.

References reverse, and rpmsx.

Referenced by rpmsxFContext().

int rpmsxIx const rpmsx  sx  ) 
 

Return security context patterns index.

Parameters:
sx security context patterns
Returns:
current index

Definition at line 524 of file rpmsx.c.

References rpmsx.

rpmsx rpmsxLink rpmsx  sx,
const char *  msg
 

Reference a security context patterns instance.

Parameters:
sx security context patterns
msg 
Returns:
new security context patterns reference

rpmsx rpmsxNew const char *  fn  ) 
 

Create and load security context patterns.

Parameters:
fn security context patterns file name
Returns:
new security context patterns

Definition at line 498 of file rpmsx.c.

References rpmsx, rpmsxFree(), rpmsxLink, rpmsxParse(), and xcalloc().

Referenced by genCpioListAndHeader(), rpmcliQuery(), rpmcliVerify(), rpmfiBuildREContexts(), rpmInstall(), and rpmts_Run().

int rpmsxNext rpmsx  sx  ) 
 

Return next security context patterns iterator index.

Parameters:
sx security context patterns
Returns:
security context patterns iterator index, -1 on termination

Definition at line 594 of file rpmsx.c.

References _rpmsx_debug, rpmsx, and rpmsxp.

Referenced by rpmsxFContext().

int rpmsxParse rpmsx  sx,
const char *  fn
 

Parse selinux file security context patterns.

Parameters:
sx security context patterns
fn file name to parse
Returns:
0 on success

Definition at line 310 of file rpmsx.c.

References _, errno, inc_err, rpmsx, rpmsxAdd(), rpmsxp, rpmsxpCheckNoDupes(), rpmsxpHasMetaChars(), rpmsxSort(), S_IFSOCK, security_check_context, xcalloc(), and xmalloc().

Referenced by rpmsxNew().

const char* rpmsxPattern const rpmsx  sx  ) 
 

Return current pattern.

Parameters:
sx security context patterns
Returns:
current pattern, NULL on invalid

Definition at line 540 of file rpmsx.c.

References rpmsx.

Referenced by rpmsxFContext().

regex_t* rpmsxRE const rpmsx  sx  ) 
 

Return current regex.

Parameters:
sx security context patterns
Returns:
current context, NULL on invalid

Definition at line 567 of file rpmsx.c.

References rpmsx.

Referenced by rpmsxFContext().

int rpmsxSetIx rpmsx  sx,
int  ix
 

Set security context patterns index.

Parameters:
sx security context patterns
ix new index
Returns:
current index

Definition at line 529 of file rpmsx.c.

References rpmsx.

const char* rpmsxType const rpmsx  sx  ) 
 

Return current type.

Parameters:
sx security context patterns
Returns:
current type, NULL on invalid/missing

Definition at line 549 of file rpmsx.c.

References rpmsx.

rpmsx rpmsxUnlink rpmsx  sx,
const char *  msg
 

Unreference a security context patterns instance.

Parameters:
sx security context patterns
msg 
Returns:
NULL always

rpmsx XrpmsxLink rpmsx  sx,
const char *  msg,
const char *  fn,
unsigned  ln
 

Todo:
Remove debugging entry from the ABI.

Definition at line 204 of file rpmsx.c.

References _rpmsx_debug, and rpmsx.

rpmsx XrpmsxUnlink rpmsx  sx,
const char *  msg,
const char *  fn,
unsigned  ln
 

Todo:
Remove debugging entry from the ABI.

Definition at line 193 of file rpmsx.c.

References _rpmsx_debug, and rpmsx.


Variable Documentation

int _rpmsx_debug
 

Definition at line 15 of file rpmsx.h.

int _rpmsx_nopromote
 

Definition at line 22 of file rpmsx.h.


Generated on Fri Apr 16 16:36:56 2004 for rpm by doxygen 1.3.6