Thread-safe setuid program support

Collaboration diagram for Thread-safe setuid program support:

Classes

class  protlib::setuid
 Thread-safe setuid. More...

Namespaces

namespace  protlib

Defines

#define BEGIN_SETUID_MODE   protlib::setuid::on(); install_cleanup(call_void_fun,protlib::setuid::off)
 Turn on setuid mode and install cleanup handler.
#define END_SETUID_MODE   uninstall_cleanup(1)

Functions

static void protlib::setuid::init ()
 initialize setuid
static void protlib::setuid::end ()
 cleanup setuid resources
static void protlib::setuid::on ()
 turn on setuid mode
static void protlib::setuid::off ()
 turn off setuid mode

Variables

static bool protlib::setuid::is_init = false
 init state
static pthread_mutex_t protlib::setuid::mutex
 setuid mutex
static uint32 protlib::setuid::count = 0
 setuid counter
static uid_t protlib::setuid::file_userid = 65534
 file user ID
static string protlib::setuid::file_username = "nobody"
 file user name
static uid_t protlib::setuid::real_userid = 65534
 real user ID
static string protlib::setuid::real_username = "nobody"
 real user name
static bool protlib::setuid::is_setuid = true
 are we using setuid?

Define Documentation

#define BEGIN_SETUID_MODE   protlib::setuid::on(); install_cleanup(call_void_fun,protlib::setuid::off)

Turn on setuid mode and install cleanup handler.

Definition at line 87 of file setuid.h.

#define END_SETUID_MODE   uninstall_cleanup(1)

Definition at line 88 of file setuid.h.


Function Documentation

void protlib::setuid::end (  )  [static, inherited]

void protlib::setuid::init (  )  [static, inherited]

void protlib::setuid::off (  )  [static, inherited]

void protlib::setuid::on (  )  [static, inherited]


Variable Documentation

uint32 protlib::setuid::count = 0 [static, private, inherited]

uid_t protlib::setuid::file_userid = 65534 [static, private, inherited]

file user ID

Definition at line 75 of file setuid.h.

Referenced by protlib::setuid::init(), protlib::setuid::off(), and protlib::setuid::on().

string protlib::setuid::file_username = "nobody" [static, private, inherited]

file user name

Definition at line 77 of file setuid.h.

Referenced by protlib::setuid::init(), and protlib::setuid::on().

bool protlib::setuid::is_init = false [static, private, inherited]

init state

Definition at line 69 of file setuid.h.

Referenced by protlib::setuid::end(), protlib::setuid::init(), protlib::setuid::off(), and protlib::setuid::on().

bool protlib::setuid::is_setuid = true [static, private, inherited]

are we using setuid?

Definition at line 83 of file setuid.h.

Referenced by protlib::setuid::end(), protlib::setuid::init(), protlib::setuid::off(), and protlib::setuid::on().

pthread_mutex_t protlib::setuid::mutex [static, private, inherited]

Initial value:




    PTHREAD_MUTEX_INITIALIZER
setuid mutex

Definition at line 71 of file setuid.h.

Referenced by protlib::setuid::end(), protlib::setuid::init(), protlib::setuid::off(), and protlib::setuid::on().

uid_t protlib::setuid::real_userid = 65534 [static, private, inherited]

real user ID

Definition at line 79 of file setuid.h.

Referenced by protlib::setuid::end(), protlib::setuid::init(), protlib::setuid::off(), and protlib::setuid::on().

string protlib::setuid::real_username = "nobody" [static, private, inherited]

real user name

Definition at line 81 of file setuid.h.

Referenced by protlib::setuid::end(), protlib::setuid::init(), and protlib::setuid::off().


Generated on Fri Aug 14 23:38:37 2009 for Ariba by  doxygen 1.5.8