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

Unified Diff: base/vistautil.h

Issue 624713003: Keep only base/extractor.[cc|h]. (Closed) Base URL: https://chromium.googlesource.com/external/omaha.git@master
Patch Set: Created 6 years, 2 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/vista_utils_unittest.cc ('k') | base/vistautil.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: base/vistautil.h
diff --git a/base/vistautil.h b/base/vistautil.h
deleted file mode 100644
index e0ebdb7cac1d19cb215e121d7b6e7131290db592..0000000000000000000000000000000000000000
--- a/base/vistautil.h
+++ /dev/null
@@ -1,165 +0,0 @@
-// Copyright 2006-2010 Google Inc.
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-// ========================================================================
-
-#ifndef OMAHA_BASE_VISTAUTIL_H_
-#define OMAHA_BASE_VISTAUTIL_H_
-
-#include <windows.h>
-#include <tchar.h>
-#include <accctrl.h>
-#include <Aclapi.h>
-#include <Sddl.h>
-#include <WinNT.h>
-#include <atlsecurity.h>
-
-namespace omaha {
-
-// SACLs are normally used for auditing, but Vista also uses them to
-// determine integrity levels.
-// For more info, http://www.google.com/search?q=SDDL+for+Mandatory+Labels
-// S = SACL
-// ML = Mandatory label (aka integrity level)
-// NW = No write up (integrity levels less than low cannot gain access)
-// LW = Low Integrity Level (What IE normally runs in)
-
-// The LABEL_SECURITY_INFORMATION SDDL SACL for medium integrity.
-// L"S:(ML;;NW;;;ME)"
-#define MEDIUM_INTEGRITY_SDDL_SACL SDDL_SACL \
- SDDL_DELIMINATOR \
- SDDL_ACE_BEGIN \
- SDDL_MANDATORY_LABEL \
- SDDL_SEPERATOR \
- SDDL_SEPERATOR \
- SDDL_NO_WRITE_UP \
- SDDL_SEPERATOR \
- SDDL_SEPERATOR \
- SDDL_SEPERATOR \
- SDDL_ML_MEDIUM \
- SDDL_ACE_END
-
-// The LABEL_SECURITY_INFORMATION SDDL SACL for low integrity.
-// L"S:(ML;;NW;;;LW)"
-#define LOW_INTEGRITY_SDDL_SACL SDDL_SACL \
- SDDL_DELIMINATOR \
- SDDL_ACE_BEGIN \
- SDDL_MANDATORY_LABEL \
- SDDL_SEPERATOR \
- SDDL_SEPERATOR \
- SDDL_NO_WRITE_UP \
- SDDL_SEPERATOR \
- SDDL_SEPERATOR \
- SDDL_SEPERATOR \
- SDDL_ML_LOW \
- SDDL_ACE_END
-
-namespace vista_util {
-
-// This is fast, since it caches the answer after first run.
-bool IsVistaOrLater();
-
-// Is the user running on Vista or later with a split-token.
-HRESULT IsUserRunningSplitToken(bool* is_split_token);
-
-// Returns true if the user has a split token, or if the EnableLUA key is set
-// to 1. EnableLUA is only really effective after a reboot, and the value there
-// may not reflect the exact state of the running machine. So this function
-// needs to be used with care.
-bool IsUACMaybeOn();
-
-// Returns true if running at High integrity with UAC possibly enabled. As the
-// name indicates, UAC being on or off is not 100% accurate. So this function
-// needs to be used with care.
-bool IsElevatedWithUACMaybeOn();
-
-// Returns true if the process is running under credentials of an user
-// belonging to the admin group in case of pre-Vista and in case Vista
-// returns true if the user is running as an elevated admin.
-bool IsUserAdmin();
-
-// Returns true if the user is running as a non-elevated admin in case of
-// Vista. In case of XP always returns false.
-bool IsUserNonElevatedAdmin();
-
-// Determine the mandatory level of a process
-// processID, the process to query, or (0) to use the current process
-// On Vista, level should alwys be filled in with either
-// MandatoryLevelLow (IE)
-// MandatoryLevelMedium(user), or
-// MandatoryLevelHigh( Elevated Admin)
-// On error, level remains unchanged
-HRESULT GetProcessIntegrityLevel(DWORD processID, MANDATORY_LEVEL* level);
-
-// Elevated processes need to be careful how they launch child processes
-// to avoid having them inherit too many credentials or not being able to
-// elevate their own IE processes normally. Microsoft's advice from
-// http://msdn.microsoft.com/library/en-us/ietechcol/dnwebgen/protectedmode.asp
-// will launch a low integrity IE, but that IE cannot elevate properly since
-// it was running from the wrong token. The best method I can gather is to find
-// an existing process on the machine running at normal user rights, and launch
-// this process impersonating that token rather than trying to adjust token
-// privileges of the elevated token. TODO(omaha): Implement and test this.
-HRESULT CreateProcessAsNormalUserFromElevatedAdmin(const TCHAR* commandline,
- STARTUPINFO* startup_info, PROCESS_INFORMATION* process_info);
-
-// Starts a new elevated process. file_path specifies the program to be run.
-// If exit_code is not null, the function waits until the spawned process has
-// completed. The exit code of the process is returned therein.
-// If exit_code is null, the function will return after spawning the program
-// and will not wait for completion.
-// show_window is one of the SW_* constants to specify how the window is
-// opened.
-HRESULT RunElevated(const TCHAR* file_path, const TCHAR* parameters,
- int show_window, DWORD* exit_code);
-
-// If there is no specific integrity level defined, return S_FALSE (1) and set
-// level to MandatoryLevelMedium (the Vista default)
-HRESULT GetFileOrFolderIntegrityLevel(const TCHAR* file,
- MANDATORY_LEVEL* level, bool* and_children);
-
-// A level of MandatoryLevelUntrusted (0) will remove the integrity level for
-// this file and all children
-HRESULT SetFileOrFolderIntegrityLevel(const TCHAR* file,
- MANDATORY_LEVEL level, bool and_children);
-
-// If there is no specific integrity level defined, return S_FALSE (1) and set
-// level to MandatoryLevelMedium (the Vista default)
-// root must be one of the 4 pre-defined roots: HKLM, HKCU, HKCR, HCU
-HRESULT GetRegKeyIntegrityLevel(HKEY root, const TCHAR* subkey,
- MANDATORY_LEVEL* level, bool* and_children);
-
-// A level of MandatoryLevelUntrusted (0) will remove the integrity label
-// root must be one of the 4 pre-defined roots: HKLM, HKCU, HKCR, HCU
-HRESULT SetRegKeyIntegrityLevel(HKEY root, const TCHAR* subkey,
- MANDATORY_LEVEL level, bool and_children);
-
-// Creates a security descriptor that can be used to make an object accessible
-// from the specified integrity level. When not running on Windows Vista or
-// in case of errors, the function returns NULL, which results in using
-// the default security descriptor.
-// The caller must take ownership of the returned security descriptor.
-// Mask will be added as an allowed ACE of the DACL.
-// For example, use MUTEX_ALL_ACCESS for shared mutexes.
-CSecurityDesc* CreateLowIntegritySecurityDesc(ACCESS_MASK mask);
-CSecurityDesc* CreateMediumIntegritySecurityDesc(ACCESS_MASK mask);
-
-// For Vista or later, add the low integrity SACL to an existing CSecurityDesc.
-HRESULT AddLowIntegritySaclToExistingDesc(CSecurityDesc* sd);
-
-} // namespace vista_util
-
-} // namespace omaha
-
-#endif // OMAHA_BASE_VISTAUTIL_H_
-
« no previous file with comments | « base/vista_utils_unittest.cc ('k') | base/vistautil.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698