![]() |
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 BEGIN_SETUID_MODE protlib::setuid::on(); install_cleanup(call_void_fun,protlib::setuid::off) |
void protlib::setuid::end | ( | ) | [static, inherited] |
cleanup setuid resources
Definition at line 78 of file setuid.cpp.
References protlib::setuid::count, protlib::log::ERROR_LOG, protlib::log::INFO_LOG, protlib::setuid::is_init, protlib::setuid::is_setuid, Log, protlib::log::LOG_CRIT, protlib::setuid::mutex, protlib::setuid::real_userid, and protlib::setuid::real_username.
Referenced by ariba::transport::tcpip::stop().
void protlib::setuid::init | ( | ) | [static, inherited] |
initialize setuid
Definition at line 56 of file setuid.cpp.
References protlib::setuid::count, protlib::log::ERROR_LOG, protlib::setuid::file_userid, protlib::setuid::file_username, protlib::tsdb::get_username(), protlib::log::INFO_LOG, protlib::setuid::is_init, protlib::setuid::is_setuid, Log, protlib::log::LOG_CRIT, protlib::setuid::mutex, protlib::setuid::off(), protlib::setuid::real_userid, and protlib::setuid::real_username.
Referenced by ariba::transport::tcpip::start().
void protlib::setuid::off | ( | ) | [static, inherited] |
turn off setuid mode
Definition at line 119 of file setuid.cpp.
References protlib::setuid::count, protlib::log::ERROR_LOG, protlib::setuid::file_userid, protlib::log::INFO_LOG, protlib::setuid::is_init, protlib::setuid::is_setuid, Log, protlib::log::LOG_ALERT, protlib::log::LOG_CRIT, protlib::setuid::mutex, protlib::setuid::real_userid, protlib::setuid::real_username, and status.
Referenced by protlib::setuid::init().
void protlib::setuid::on | ( | ) | [static, inherited] |
turn on setuid mode
Definition at line 93 of file setuid.cpp.
References protlib::setuid::count, protlib::log::ERROR_LOG, protlib::setuid::file_userid, protlib::setuid::file_username, protlib::log::INFO_LOG, protlib::setuid::is_init, protlib::setuid::is_setuid, Log, protlib::log::LOG_ALERT, protlib::log::LOG_CRIT, protlib::setuid::mutex, protlib::setuid::real_userid, and status.
uint32 protlib::setuid::count = 0 [static, private, inherited] |
setuid counter
Definition at line 73 of file setuid.h.
Referenced by protlib::setuid::end(), protlib::setuid::init(), protlib::setuid::off(), and protlib::setuid::on().
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
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().