Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(101)

Side by Side Diff: base/linux_util.h

Issue 10492006: Setuid sandbox API versioning (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Switch return value logic in CheckAndExportApiVersion Created 8 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef BASE_LINUX_UTIL_H_ 5 #ifndef BASE_LINUX_UTIL_H_
6 #define BASE_LINUX_UTIL_H_ 6 #define BASE_LINUX_UTIL_H_
7 #pragma once 7 #pragma once
8 8
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <sys/types.h> 10 #include <sys/types.h>
11 11
12 #include <string> 12 #include <string>
13 13
14 #include "base/base_export.h" 14 #include "base/base_export.h"
15 15
16 namespace base { 16 namespace base {
17 17
18 static const char kFindInodeSwitch[] = "--find-inode"; 18 static const char kFindInodeSwitch[] = "--find-inode";
19 19
20 // This should be kept in sync with sandbox/linux/suid/sandbox.c
21 static const long kSUIDSandboxApiNumber = 0;
22 static const char kSandboxEnvironmentApiRequest[] = "SBX_CHROME_API_RQ";
23 static const char kSandboxEnvironmentApiProvides[] = "SBX_CHROME_API_PRV";
24
20 // This is declared here so the crash reporter can access the memory directly 25 // This is declared here so the crash reporter can access the memory directly
21 // in compromised context without going through the standard library. 26 // in compromised context without going through the standard library.
22 BASE_EXPORT extern char g_linux_distro[]; 27 BASE_EXPORT extern char g_linux_distro[];
23 28
24 // Get the Linux Distro if we can, or return "Unknown". 29 // Get the Linux Distro if we can, or return "Unknown".
25 BASE_EXPORT std::string GetLinuxDistro(); 30 BASE_EXPORT std::string GetLinuxDistro();
26 31
27 // Set the Linux Distro string. 32 // Set the Linux Distro string.
28 BASE_EXPORT void SetLinuxDistro(const std::string& distro); 33 BASE_EXPORT void SetLinuxDistro(const std::string& distro);
29 34
30 // Return the inode number for the UNIX domain socket |fd|. 35 // Return the inode number for the UNIX domain socket |fd|.
31 BASE_EXPORT bool FileDescriptorGetInode(ino_t* inode_out, int fd); 36 BASE_EXPORT bool FileDescriptorGetInode(ino_t* inode_out, int fd);
32 37
33 // Find the process which holds the given socket, named by inode number. If 38 // Find the process which holds the given socket, named by inode number. If
34 // multiple processes hold the socket, this function returns false. 39 // multiple processes hold the socket, this function returns false.
35 BASE_EXPORT bool FindProcessHoldingSocket(pid_t* pid_out, ino_t socket_inode); 40 BASE_EXPORT bool FindProcessHoldingSocket(pid_t* pid_out, ino_t socket_inode);
36 41
37 // For a given process |pid|, look through all its threads and find the first 42 // For a given process |pid|, look through all its threads and find the first
38 // thread with /proc/[pid]/task/[thread_id]/syscall whose first N bytes matches 43 // thread with /proc/[pid]/task/[thread_id]/syscall whose first N bytes matches
39 // |expected_data|, where N is the length of |expected_data|. 44 // |expected_data|, where N is the length of |expected_data|.
40 // Returns the thread id or -1 on error. If |syscall_supported| is 45 // Returns the thread id or -1 on error. If |syscall_supported| is
41 // set to false the kernel does not support syscall in procfs. 46 // set to false the kernel does not support syscall in procfs.
42 BASE_EXPORT pid_t FindThreadIDWithSyscall(pid_t pid, 47 BASE_EXPORT pid_t FindThreadIDWithSyscall(pid_t pid,
43 const std::string& expected_data, 48 const std::string& expected_data,
44 bool* syscall_supported); 49 bool* syscall_supported);
45 50
46 } // namespace base 51 } // namespace base
47 52
48 #endif // BASE_LINUX_UTIL_H_ 53 #endif // BASE_LINUX_UTIL_H_
OLDNEW
« no previous file with comments | « no previous file | content/browser/zygote_host_impl_linux.cc » ('j') | content/browser/zygote_host_impl_linux.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698