summaryrefslogtreecommitdiff
path: root/chromium/sandbox/linux/suid/common/sandbox.h
blob: 9345287815080648346a984b4322307a6e2f5442 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef SANDBOX_LINUX_SUID_SANDBOX_H_
#define SANDBOX_LINUX_SUID_SANDBOX_H_

#if defined(__cplusplus)
namespace sandbox {
#endif

// These are command line switches that may be used by other programs
// (e.g. Chrome) to construct a command line for the sandbox.
static const char kAdjustOOMScoreSwitch[] = "--adjust-oom-score";

static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D";
static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID";

static const long kSUIDSandboxApiNumber = 1;
static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ";
static const char kSandboxEnvironmentApiProvides[] = "SBX_CHROME_API_PRV";

// This number must be kept in sync with common/zygote_commands_linux.h
static const int kZygoteIdFd = 7;

// These are the magic byte values which the sandboxed process uses to request
// that it be chrooted.
static const char kMsgChrootMe = 'C';
static const char kMsgChrootSuccessful = 'O';

// These are set if we have respectively switched to a new PID or NET namespace
// by going through the setuid binary helper.
static const char kSandboxPIDNSEnvironmentVarName[] = "SBX_PID_NS";
static const char kSandboxNETNSEnvironmentVarName[] = "SBX_NET_NS";

#if defined(__cplusplus)
}  // namespace sandbox
#endif

#endif  // SANDBOX_LINUX_SUID_SANDBOX_H_