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

Side by Side Diff: sandbox/win/src/app_container.h

Issue 937353002: Adding method to create process using LowBox token in sandbox code. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Removed sid.h/.cc Created 5 years, 9 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
« no previous file with comments | « no previous file | sandbox/win/src/app_container.cc » ('j') | sandbox/win/src/app_container_test.cc » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 SANDBOX_WIN_SRC_APP_CONTAINER_H_ 5 #ifndef SANDBOX_WIN_SRC_APP_CONTAINER_H_
6 #define SANDBOX_WIN_SRC_APP_CONTAINER_H_ 6 #define SANDBOX_WIN_SRC_APP_CONTAINER_H_
7 7
8 #include <windows.h> 8 #include <windows.h>
9 9
10 #include <vector> 10 #include <vector>
(...skipping 14 matching lines...) Expand all
25 // process. 25 // process.
26 class AppContainerAttributes { 26 class AppContainerAttributes {
27 public: 27 public:
28 AppContainerAttributes(); 28 AppContainerAttributes();
29 ~AppContainerAttributes(); 29 ~AppContainerAttributes();
30 30
31 // Sets the AppContainer and capabilities to be used with the new process. 31 // Sets the AppContainer and capabilities to be used with the new process.
32 ResultCode SetAppContainer(const base::string16& app_container_sid, 32 ResultCode SetAppContainer(const base::string16& app_container_sid,
33 const std::vector<base::string16>& capabilities); 33 const std::vector<base::string16>& capabilities);
34 34
35 // Updates the proc_thred attribute list of the provided startup_information 35 bool HasAppContainer() const;
36 // with the app container related data.
37 // WARNING: startup_information just points back to our internal memory, so
38 // the lifetime of this object has to be greater than the lifetime of the
39 // provided startup_information.
40 ResultCode ShareForStartup(
rvargas (doing something else) 2015/02/27 20:16:34 I know I asked you to remove this, but after talki
41 base::win::StartupInformation* startup_information) const;
42 36
43 bool HasAppContainer() const; 37 // Returns security capabilities structure, which is populated when you call
38 // SetAppContainer.
39 const SECURITY_CAPABILITIES& GetCapabilities() const;
44 40
45 private: 41 private:
46 SECURITY_CAPABILITIES capabilities_; 42 SECURITY_CAPABILITIES capabilities_;
47 std::vector<SID_AND_ATTRIBUTES> attributes_; 43 std::vector<SID_AND_ATTRIBUTES> attributes_;
48 44
49 DISALLOW_COPY_AND_ASSIGN(AppContainerAttributes); 45 DISALLOW_COPY_AND_ASSIGN(AppContainerAttributes);
50 }; 46 };
51 47
52 // Creates a new AppContainer on the system. |sid| is the identifier of the new 48 // Creates a new AppContainer on the system. |sid| is the identifier of the new
53 // AppContainer, and |name| will be used as both the display name and moniker. 49 // AppContainer, and |name| will be used as both the display name and moniker.
54 // This function fails if the OS doesn't support AppContainers, or if there is 50 // This function fails if the OS doesn't support AppContainers, or if there is
55 // an AppContainer registered with the same id. 51 // an AppContainer registered with the same id.
56 ResultCode CreateAppContainer(const base::string16& sid, 52 ResultCode CreateAppContainer(const base::string16& sid,
57 const base::string16& name); 53 const base::string16& name);
58 54
59 // Deletes an AppContainer previously created with a successfull call to 55 // Deletes an AppContainer previously created with a successfull call to
60 // CreateAppContainer. 56 // CreateAppContainer.
61 ResultCode DeleteAppContainer(const base::string16& sid); 57 ResultCode DeleteAppContainer(const base::string16& sid);
62 58
63 // Retrieves the name associated with the provided AppContainer sid. Returns an 59 // Retrieves the name associated with the provided AppContainer sid. Returns an
64 // empty string if the AppContainer is not registered with the system. 60 // empty string if the AppContainer is not registered with the system.
65 base::string16 LookupAppContainer(const base::string16& sid); 61 base::string16 LookupAppContainer(const base::string16& sid);
66 62
67 } // namespace sandbox 63 } // namespace sandbox
68 64
69 #endif // SANDBOX_WIN_SRC_APP_CONTAINER_H_ 65 #endif // SANDBOX_WIN_SRC_APP_CONTAINER_H_
OLDNEW
« no previous file with comments | « no previous file | sandbox/win/src/app_container.cc » ('j') | sandbox/win/src/app_container_test.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698