• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4 
5 #ifndef SANDBOX_LINUX_SUID_SANDBOX_H_
6 #define SANDBOX_LINUX_SUID_SANDBOX_H_
7 
8 #if defined(__cplusplus)
9 namespace sandbox {
10 #endif
11 
12 // These are command line switches that may be used by other programs
13 // (e.g. Chrome) to construct a command line for the sandbox.
14 static const char kSuidSandboxGetApiSwitch[] = "--get-api";
15 static const char kAdjustOOMScoreSwitch[] = "--adjust-oom-score";
16 
17 static const char kSandboxDescriptorEnvironmentVarName[] = "SBX_D";
18 static const char kSandboxHelperPidEnvironmentVarName[] = "SBX_HELPER_PID";
19 
20 static const int kSUIDSandboxApiNumber = 1;
21 static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ";
22 static const char kSandboxEnvironmentApiProvides[] = "SBX_CHROME_API_PRV";
23 
24 // This number must be kept in sync with common/zygote_commands_linux.h
25 static const int kZygoteIdFd = 7;
26 
27 // These are the magic byte values which the sandboxed process uses to request
28 // that it be chrooted.
29 static const char kMsgChrootMe = 'C';
30 static const char kMsgChrootSuccessful = 'O';
31 
32 // These are set if we have respectively switched to a new PID or NET namespace
33 // by going through the setuid binary helper.
34 static const char kSandboxPIDNSEnvironmentVarName[] = "SBX_PID_NS";
35 static const char kSandboxNETNSEnvironmentVarName[] = "SBX_NET_NS";
36 
37 #if defined(__cplusplus)
38 }  // namespace sandbox
39 #endif
40 
41 #endif  // SANDBOX_LINUX_SUID_SANDBOX_H_
42