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 |
Defines | |
#define | THRBLOCXX_IF(tst, ExceptionClass, msg) |
#define | THRBLOCXX_ERRNO_IF(tst, ExceptionClass, msg) |
#define | ABORT_IF(tst, msg) THRBLOCXX_IF((tst), Secure::ProcessAbortException, (msg)) |
#define | ABORT_ERRNO_IF(tst, msg) THRBLOCXX_ERRNO_IF((tst), Secure::ProcessAbortException, (msg)) |
Functions | |
BLOCXX_NAMESPACE::Secure::BLOCXX_DEFINE_EXCEPTION (ProcessAbort) | |
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 | |||
) | THRBLOCXX_ERRNO_IF((tst), Secure::ProcessAbortException, (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 | |||
) | THRBLOCXX_IF((tst), Secure::ProcessAbortException, (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 | |||
) |
do \ { \ if (tst) \ { \ BLOCXX_THROW_ERRNO_MSG(ExceptionClass, (msg)); \ } \ } while (false)
Definition at line 94 of file Secure.cpp.
#define THRBLOCXX_IF | ( | tst, | |
ExceptionClass, | |||
msg | |||
) |
do \ { \ if (tst) \ { \ BLOCXX_THROW(ExceptionClass, (msg)); \ } \ } while (false)
Definition at line 85 of file Secure.cpp.