Index: sandbox/win/tools/finder/main.cc |
diff --git a/sandbox/win/tools/finder/main.cc b/sandbox/win/tools/finder/main.cc |
deleted file mode 100644 |
index 7cadbef8f6939713c557aeee2c5b6f67d647d4c9..0000000000000000000000000000000000000000 |
--- a/sandbox/win/tools/finder/main.cc |
+++ /dev/null |
@@ -1,147 +0,0 @@ |
-// Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-#include "sandbox/win/src/restricted_token_utils.h" |
-#include "sandbox/win/tools/finder/finder.h" |
- |
-#define PARAM_IS(y) (argc > i) && (_wcsicmp(argv[i], y) == 0) |
- |
-void PrintUsage(wchar_t *application_name) { |
- wprintf(L"\n\nUsage: \n %ls --token type --object ob1 [ob2 ob3] " |
- L"--access ac1 [ac2 ac3] [--log filename]", application_name); |
- wprintf(L"\n\n Token Types : \n\tLOCKDOWN \n\tRESTRICTED " |
- L"\n\tLIMITED_USER \n\tINTERACTIVE_USER \n\tNON_ADMIN \n\tUNPROTECTED"); |
- wprintf(L"\n Object Types: \n\tREG \n\tFILE \n\tKERNEL"); |
- wprintf(L"\n Access Types: \n\tR \n\tW \n\tALL"); |
- wprintf(L"\n\nSample: \n %ls --token LOCKDOWN --object REG FILE KERNEL " |
- L"--access R W ALL", application_name); |
-} |
- |
-int wmain(int argc, wchar_t* argv[]) { |
- // Extract the filename from the path. |
- wchar_t *app_name = wcsrchr(argv[0], L'\\'); |
- if (!app_name) { |
- app_name = argv[0]; |
- } else { |
- app_name++; |
- } |
- |
- // parameters to read |
- ATL::CString log_file; |
- sandbox::TokenLevel token_type = sandbox::USER_LOCKDOWN; |
- DWORD object_type = 0; |
- DWORD access_type = 0; |
- |
- // no arguments |
- if (argc == 1) { |
- PrintUsage(app_name); |
- return -1; |
- } |
- |
- // parse command line. |
- for (int i = 1; i < argc; ++i) { |
- if (PARAM_IS(L"--token")) { |
- i++; |
- if (argc > i) { |
- if (PARAM_IS(L"LOCKDOWN")) { |
- token_type = sandbox::USER_LOCKDOWN; |
- } else if (PARAM_IS(L"RESTRICTED")) { |
- token_type = sandbox::USER_RESTRICTED; |
- } else if (PARAM_IS(L"LIMITED_USER")) { |
- token_type = sandbox::USER_LIMITED; |
- } else if (PARAM_IS(L"INTERACTIVE_USER")) { |
- token_type = sandbox::USER_INTERACTIVE; |
- } else if (PARAM_IS(L"NON_ADMIN")) { |
- token_type = sandbox::USER_NON_ADMIN; |
- } else if (PARAM_IS(L"USER_RESTRICTED_SAME_ACCESS")) { |
- token_type = sandbox::USER_RESTRICTED_SAME_ACCESS; |
- } else if (PARAM_IS(L"UNPROTECTED")) { |
- token_type = sandbox::USER_UNPROTECTED; |
- } else { |
- wprintf(L"\nAbord. Invalid token type \"%ls\"", argv[i]); |
- PrintUsage(app_name); |
- return -1; |
- } |
- } |
- } else if (PARAM_IS(L"--object")) { |
- bool is_object = true; |
- do { |
- i++; |
- if (PARAM_IS(L"REG")) { |
- object_type |= kScanRegistry; |
- } else if (PARAM_IS(L"FILE")) { |
- object_type |= kScanFileSystem; |
- } else if (PARAM_IS(L"KERNEL")) { |
- object_type |= kScanKernelObjects; |
- } else { |
- is_object = false; |
- } |
- } while(is_object); |
- i--; |
- } else if (PARAM_IS(L"--access")) { |
- bool is_access = true; |
- do { |
- i++; |
- if (PARAM_IS(L"R")) { |
- access_type |= kTestForRead; |
- } else if (PARAM_IS(L"W")) { |
- access_type |= kTestForWrite; |
- } else if (PARAM_IS(L"ALL")) { |
- access_type |= kTestForAll; |
- } else { |
- is_access = false; |
- } |
- } while(is_access); |
- i--; |
- } else if (PARAM_IS(L"--log")) { |
- i++; |
- if (argc > i) { |
- log_file = argv[i]; |
- } |
- else { |
- wprintf(L"\nAbord. No log file specified"); |
- PrintUsage(app_name); |
- return -1; |
- } |
- } else { |
- wprintf(L"\nAbord. Unrecognized parameter \"%ls\"", argv[i]); |
- PrintUsage(app_name); |
- return -1; |
- } |
- } |
- |
- // validate parameters |
- if (0 == access_type) { |
- wprintf(L"\nAbord, Access type not specified"); |
- PrintUsage(app_name); |
- return -1; |
- } |
- |
- if (0 == object_type) { |
- wprintf(L"\nAbord, Object type not specified"); |
- PrintUsage(app_name); |
- return -1; |
- } |
- |
- |
- // Open log file |
- FILE * file_output; |
- if (log_file.GetLength()) { |
- errno_t err = _wfopen_s(&file_output, log_file, L"w"); |
- if (err) { |
- wprintf(L"\nAbord, Cannot open file \"%ls\"", log_file.GetBuffer()); |
- return -1; |
- } |
- } else { |
- file_output = stdout; |
- } |
- |
- Finder finder_obj; |
- finder_obj.Init(token_type, object_type, access_type, file_output); |
- finder_obj.Scan(); |
- |
- fclose(file_output); |
- |
- return 0; |
-} |