blocxx
|
#include "blocxx/BLOCXX_config.h"
#include "blocxx/Array.hpp"
#include "blocxx/Secure.hpp"
#include "blocxx/FileSystem.hpp"
#include "blocxx/String.hpp"
#include "blocxx/Paths.hpp"
#include "blocxx/Format.hpp"
#include "blocxx/LazyGlobal.hpp"
#include <fcntl.h>
#include <grp.h>
#include <limits.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <cstdlib>
#include <cstdio>
#include <cerrno>
#include <vector>
#include <algorithm>
Go to the source code of this file.
Namespaces | |
namespace | BLOCXX_NAMESPACE |
Taken from RFC 1321. | |
namespace | BLOCXX_NAMESPACE::Secure |
Macros | |
#define | THRBLOCXX_IF(tst, ExceptionClass, msg) |
#define | THRBLOCXX_ERRNO_IF(tst, ExceptionClass, msg) |
#define | ABORT_IF(tst, msg) |
#define | ABORT_ERRNO_IF(tst, msg) |
Functions | |
void | BLOCXX_NAMESPACE::Secure::dropPrivilegesPermanently (::uid_t newuid, ::gid_t newgid, EChildGroupAction extendedGroupAction) |
StringArray | BLOCXX_NAMESPACE::Secure::minimalEnvironment () |
void | BLOCXX_NAMESPACE::Secure::runAs (char const *username, EChildGroupAction extendedGroupAction=E_SOURCE_EXTENDED_GROUPS) |
Look up user ID and group ID for username in password file, chdir to "/", then drop privileges and run with that user ID and group ID. | |
#define ABORT_ERRNO_IF | ( | tst, | |
msg ) |
Definition at line 105 of file Secure.cpp.
Referenced by BLOCXX_NAMESPACE::Secure::dropPrivilegesPermanently(), and BLOCXX_NAMESPACE::Secure::runAs().
#define ABORT_IF | ( | tst, | |
msg ) |
Definition at line 103 of file Secure.cpp.
Referenced by BLOCXX_NAMESPACE::Secure::dropPrivilegesPermanently(), and BLOCXX_NAMESPACE::Secure::runAs().
#define THRBLOCXX_ERRNO_IF | ( | tst, | |
ExceptionClass, | |||
msg ) |
Definition at line 94 of file Secure.cpp.
#define THRBLOCXX_IF | ( | tst, | |
ExceptionClass, | |||
msg ) |
Definition at line 85 of file Secure.cpp.