OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 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_SRC_SID_H_ | 5 #ifndef SANDBOX_SRC_SID_H_ |
6 #define SANDBOX_SRC_SID_H_ | 6 #define SANDBOX_SRC_SID_H_ |
7 | 7 |
| 8 #include <string> |
8 #include <windows.h> | 9 #include <windows.h> |
9 | 10 |
10 namespace sandbox { | 11 namespace sandbox { |
11 | 12 |
12 // This class is used to hold and generate SIDS. | 13 // This class is used to hold and generate SIDS. |
13 class Sid { | 14 class Sid { |
14 public: | 15 public: |
15 // Constructors initializing the object with the SID passed. | 16 // Constructors initializing the object with the SID passed. |
16 // This is a converting constructor. It is not explicit. | 17 // This is a converting constructor. It is not explicit. |
17 Sid(const SID *sid); | 18 Sid(const SID *sid); |
18 Sid(WELL_KNOWN_SID_TYPE type); | 19 Sid(WELL_KNOWN_SID_TYPE type); |
19 | 20 |
20 // Returns sid_. | 21 // Returns sid_. |
21 const SID *GetPSID() const; | 22 const SID *GetPSID() const; |
22 | 23 |
| 24 // Returns sid based on wellknown or provided sid but with unique |
| 25 // subauthority. |
| 26 void GenerateUniqueSubAuthoritySid(std::wstring* unique_sid); |
| 27 |
23 private: | 28 private: |
24 BYTE sid_[SECURITY_MAX_SID_SIZE]; | 29 BYTE sid_[SECURITY_MAX_SID_SIZE]; |
| 30 PSID unique_sub_auth_sid_; |
25 }; | 31 }; |
26 | 32 |
27 } // namespace sandbox | 33 } // namespace sandbox |
28 | 34 |
29 #endif // SANDBOX_SRC_SID_H_ | 35 #endif // SANDBOX_SRC_SID_H_ |
OLD | NEW |