#include "sandbox/linux/services/credentials.h"
#include <errno.h>
#include <fcntl.h>
#include <limits.h>
#include <pthread.h>
#include <signal.h>
#include <stdio.h>
#include <sys/capability.h>
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
#include <memory>
#include <vector>
#include "base/check_op.h"
#include "base/files/file_path.h"
#include "base/files/file_util.h"
#include "base/files/scoped_file.h"
#include "sandbox/linux/services/proc_util.h"
#include "sandbox/linux/services/syscall_wrappers.h"
#include "sandbox/linux/system_headers/capability.h"
#include "sandbox/linux/tests/unit_tests.h"
#include "testing/gtest/include/gtest/gtest.h"
namespace sandbox {
namespace {
struct CapFreeDeleter { … };
ScopedCap;
bool WorkingDirectoryIsRoot() { … }
SANDBOX_TEST(Credentials, DropAllCaps) { …
SANDBOX_TEST(Credentials, MoveToNewUserNS) { … }
SANDBOX_TEST(Credentials, CanCreateProcessInNewUserNS) { … }
SANDBOX_TEST(Credentials, UidIsPreserved) { … }
bool NewUserNSCycle() { … }
SANDBOX_TEST(Credentials, NestedUserNS) { … }
SANDBOX_TEST(Credentials, CanDetectRoot) { …
SANDBOX_TEST_ALLOW_NOISE(Credentials,
DISABLE_ON_SANITIZERS(DropFileSystemAccessIsSafe)) { …
SANDBOX_TEST(Credentials, DISABLE_ON_SANITIZERS(CannotRegainPrivileges)) { … }
SANDBOX_TEST(Credentials, SetCapabilities) { … }
SANDBOX_TEST(Credentials, SetCapabilitiesAndChroot) { … }
SANDBOX_TEST(Credentials, SetCapabilitiesMatchesLibCap2) { … }
volatile sig_atomic_t signal_handler_called;
void SignalHandler(int sig) { … }
SANDBOX_TEST(Credentials,
DISABLE_ON_SANITIZERS(DropFileSystemAccessPreservesTLS)) { … }
}
}