mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 07:13:20 +00:00
Bug 922756 - Changes to import of Chromium sandbox so that it's buildable. r=aklotz
This commit is contained in:
parent
52aea6cfef
commit
e4698a14ab
@ -11,6 +11,14 @@ LOCAL_INCLUDES += \
|
||||
|
||||
DEFINES += -DUNICODE -D_UNICODE -DNS_NO_XPCOM -DSANDBOX_EXPORTS -DNOMINMAX -D_CRT_RAND_S
|
||||
|
||||
EXTRA_SDK_DECLS = $(topsrcdir)/security/sandbox/base/shim/sdkdecls.h
|
||||
|
||||
ifdef _MSC_VER
|
||||
OS_CXXFLAGS += -FI $(EXTRA_SDK_DECLS)
|
||||
else
|
||||
OS_CXXFLAGS += -include $(EXTRA_SDK_DECLS)
|
||||
endif
|
||||
|
||||
STL_FLAGS =
|
||||
MOZ_GLUE_LDFLAGS =
|
||||
endif
|
||||
|
17
security/sandbox/base/shim/base/gtest_prod_util.h
Normal file
17
security/sandbox/base/shim/base/gtest_prod_util.h
Normal file
@ -0,0 +1,17 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef FRIEND_TEST
|
||||
#define FRIEND_TEST(A, B)
|
||||
#endif
|
||||
|
||||
#ifndef FRIEND_TEST_ALL_PREFIXES
|
||||
#define FRIEND_TEST_ALL_PREFIXES(test_case_name, test_name)
|
||||
#endif
|
||||
|
||||
#ifndef FORWARD_DECLARE_TEST
|
||||
#define FORWARD_DECLARE_TEST(test_case_name, test_name)
|
||||
#endif
|
97
security/sandbox/base/shim/base/logging.cpp
Normal file
97
security/sandbox/base/shim/base/logging.cpp
Normal file
@ -0,0 +1,97 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include <windows.h>
|
||||
#include "base/logging.h"
|
||||
#include "base/strings/string_piece.h"
|
||||
#include "base/strings/string_util.h"
|
||||
|
||||
namespace {
|
||||
int min_log_level = 0;
|
||||
}
|
||||
|
||||
namespace logging
|
||||
{
|
||||
|
||||
LogMessage::LogMessage(const char* file, int line, LogSeverity severity,
|
||||
int ctr) :
|
||||
line_(line)
|
||||
{
|
||||
}
|
||||
|
||||
LogMessage::LogMessage(const char* file, int line, int ctr) : line_(line)
|
||||
{
|
||||
}
|
||||
|
||||
LogMessage::LogMessage(const char* file, int line, std::string* result) :
|
||||
severity_(LOG_FATAL),
|
||||
file_(file),
|
||||
line_(line)
|
||||
{
|
||||
}
|
||||
|
||||
LogMessage::LogMessage(const char* file, int line, LogSeverity severity,
|
||||
std::string* result) :
|
||||
severity_(severity),
|
||||
file_(file),
|
||||
line_(line)
|
||||
{
|
||||
}
|
||||
|
||||
LogMessage::~LogMessage()
|
||||
{
|
||||
}
|
||||
|
||||
LogMessage::SaveLastError::SaveLastError() :
|
||||
last_error_(::GetLastError())
|
||||
{
|
||||
}
|
||||
|
||||
LogMessage::SaveLastError::~SaveLastError()
|
||||
{
|
||||
::SetLastError(last_error_);
|
||||
}
|
||||
|
||||
SystemErrorCode GetLastSystemErrorCode()
|
||||
{
|
||||
return ::GetLastError();
|
||||
}
|
||||
|
||||
int GetMinLogLevel()
|
||||
{
|
||||
return min_log_level;
|
||||
}
|
||||
|
||||
Win32ErrorLogMessage::Win32ErrorLogMessage(const char* file, int line,
|
||||
LogSeverity severity,
|
||||
SystemErrorCode err,
|
||||
const char* module) :
|
||||
err_(err),
|
||||
module_(module),
|
||||
log_message_(file, line, severity)
|
||||
{
|
||||
}
|
||||
|
||||
Win32ErrorLogMessage::Win32ErrorLogMessage(const char* file,
|
||||
int line,
|
||||
LogSeverity severity,
|
||||
SystemErrorCode err) :
|
||||
err_(err),
|
||||
module_(NULL),
|
||||
log_message_(file, line, severity)
|
||||
{
|
||||
}
|
||||
|
||||
Win32ErrorLogMessage::~Win32ErrorLogMessage()
|
||||
{
|
||||
}
|
||||
|
||||
int GetVlogLevelHelper(const char* file, size_t N)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
} // namespace logging
|
17
security/sandbox/base/shim/base/strings/string_piece.h
Normal file
17
security/sandbox/base/shim/base/strings/string_piece.h
Normal file
@ -0,0 +1,17 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef _SECURITY_SANDBOX_SHIM_BASE_STRING_PIECE_H
|
||||
#define _SECURITY_SANDBOX_SHIM_BASE_STRING_PIECE_H
|
||||
#include "sandbox/base/strings/string_piece.h"
|
||||
|
||||
namespace {
|
||||
bool IsStringASCII(const base::StringPiece& ascii)
|
||||
{
|
||||
return IsStringASCII(ascii.as_string());
|
||||
}
|
||||
}
|
||||
#endif
|
8
security/sandbox/base/shim/base/third_party/nspr/prtime.h
vendored
Normal file
8
security/sandbox/base/shim/base/third_party/nspr/prtime.h
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// Grab the copy from in our tree
|
||||
#include "pr/include/prtime.h"
|
8
security/sandbox/base/shim/base/third_party/nspr/prtypes.h
vendored
Normal file
8
security/sandbox/base/shim/base/third_party/nspr/prtypes.h
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// Grab the copy from in our tree
|
||||
#include "pr/include/prtypes.h"
|
19
security/sandbox/base/shim/base/tracked_objects.h
Normal file
19
security/sandbox/base/shim/base/tracked_objects.h
Normal file
@ -0,0 +1,19 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef _SECURITY_SANDBOX_TRACKED_OBJECTS_H_
|
||||
#define _SECURITY_SANDBOX_TRACKED_OBJECTS_H_
|
||||
namespace tracked_objects
|
||||
{
|
||||
class ThreadData
|
||||
{
|
||||
public:
|
||||
static void InitializeThreadContext(const std::string& name)
|
||||
{
|
||||
}
|
||||
};
|
||||
}
|
||||
#endif
|
10
security/sandbox/base/shim/metrics/histogram.h
Normal file
10
security/sandbox/base/shim/metrics/histogram.h
Normal file
@ -0,0 +1,10 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
// This file is intentionally left blank beccause histogram.h is included
|
||||
// by the chromium sandbox code, but if the real copy was included, it would
|
||||
// increase the amount of dependencies. In order to minimize changes to the
|
||||
// sandbox code, we just create the file here.
|
9
security/sandbox/base/shim/metrics/sparse_histogram.h
Normal file
9
security/sandbox/base/shim/metrics/sparse_histogram.h
Normal file
@ -0,0 +1,9 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef UMA_HISTOGRAM_SPARSE_SLOWLY
|
||||
UMA_HISTOGRAM_SPARSE_SLOWLY(A, B)
|
||||
#endif
|
102
security/sandbox/base/shim/sdkdecls.h
Normal file
102
security/sandbox/base/shim/sdkdecls.h
Normal file
@ -0,0 +1,102 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef _SECURITY_SANDBOX_BASE_SHIM_SDKDECLS_H_
|
||||
#define _SECURITY_SANDBOX_BASE_SHIM_SDKDECLS_H_
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
#if (_WIN32_WINNT < 0x0600)
|
||||
typedef struct _STARTUPINFOEXA {
|
||||
STARTUPINFOA StartupInfo;
|
||||
LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
|
||||
} STARTUPINFOEXA, *LPSTARTUPINFOEXA;
|
||||
typedef struct _STARTUPINFOEXW {
|
||||
STARTUPINFOW StartupInfo;
|
||||
LPPROC_THREAD_ATTRIBUTE_LIST lpAttributeList;
|
||||
} STARTUPINFOEXW, *LPSTARTUPINFOEXW;
|
||||
#ifdef UNICODE
|
||||
typedef STARTUPINFOEXW STARTUPINFOEX;
|
||||
typedef LPSTARTUPINFOEXW LPSTARTUPINFOEX;
|
||||
#else
|
||||
typedef STARTUPINFOEXA STARTUPINFOEX;
|
||||
typedef LPSTARTUPINFOEXA LPSTARTUPINFOEX;
|
||||
#endif // UNICODE
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_NUMBER 0x0000FFFF
|
||||
#define PROC_THREAD_ATTRIBUTE_THREAD 0x00010000 // Attribute may be used with thread creation
|
||||
#define PROC_THREAD_ATTRIBUTE_INPUT 0x00020000 // Attribute is input only
|
||||
#define PROC_THREAD_ATTRIBUTE_ADDITIVE 0x00040000 // Attribute may be "accumulated," e.g. bitmasks, counters, etc.
|
||||
|
||||
#define ProcThreadAttributeValue(Number, Thread, Input, Additive) \
|
||||
(((Number) & PROC_THREAD_ATTRIBUTE_NUMBER) | \
|
||||
((Thread != FALSE) ? PROC_THREAD_ATTRIBUTE_THREAD : 0) | \
|
||||
((Input != FALSE) ? PROC_THREAD_ATTRIBUTE_INPUT : 0) | \
|
||||
((Additive != FALSE) ? PROC_THREAD_ATTRIBUTE_ADDITIVE : 0))
|
||||
|
||||
#define ProcThreadAttributeHandleList 2
|
||||
|
||||
#define PROC_THREAD_ATTRIBUTE_HANDLE_LIST \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeHandleList, FALSE, TRUE, FALSE)
|
||||
|
||||
#define PROCESS_DEP_ENABLE 0x00000001
|
||||
#define PROCESS_DEP_DISABLE_ATL_THUNK_EMULATION 0x00000002
|
||||
|
||||
#endif // (_WIN32_WINNT >= 0x0600)
|
||||
|
||||
#if (_WIN32_WINNT < 0x0601)
|
||||
#define ProcThreadAttributeMitigationPolicy 7
|
||||
#define PROC_THREAD_ATTRIBUTE_MITIGATION_POLICY \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeMitigationPolicy, FALSE, TRUE, FALSE)
|
||||
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_DEP_ENABLE 0x01
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_DEP_ATL_THUNK_ENABLE 0x02
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_SEHOP_ENABLE 0x04
|
||||
#endif // (_WIN32_WINNT >= 0x0601)
|
||||
|
||||
#if (_WIN32_WINNT < 0x0602)
|
||||
#define ProcThreadAttributeSecurityCapabilities 9
|
||||
#define PROC_THREAD_ATTRIBUTE_SECURITY_CAPABILITIES \
|
||||
ProcThreadAttributeValue (ProcThreadAttributeSecurityCapabilities, FALSE, TRUE, FALSE)
|
||||
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_MASK (0x00000003 << 8)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_DEFER (0x00000000 << 8)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON (0x00000001 << 8)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_OFF (0x00000002 << 8)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_FORCE_RELOCATE_IMAGES_ALWAYS_ON_REQ_RELOCS (0x00000003 << 8)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_MASK (0x00000003 << 12)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_DEFER (0x00000000 << 12)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_ON (0x00000001 << 12)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_ALWAYS_OFF (0x00000002 << 12)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HEAP_TERMINATE_RESERVED (0x00000003 << 12)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_MASK (0x00000003 << 16)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_DEFER (0x00000000 << 16)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_ON (0x00000001 << 16)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_ALWAYS_OFF (0x00000002 << 16)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_BOTTOM_UP_ASLR_RESERVED (0x00000003 << 16)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_MASK (0x00000003 << 20)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_DEFER (0x00000000 << 20)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_ON (0x00000001 << 20)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_ALWAYS_OFF (0x00000002 << 20)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_HIGH_ENTROPY_ASLR_RESERVED (0x00000003 << 20)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_MASK (0x00000003 << 24)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_DEFER (0x00000000 << 24)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_ON (0x00000001 << 24)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_ALWAYS_OFF (0x00000002 << 24)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_STRICT_HANDLE_CHECKS_RESERVED (0x00000003 << 24)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_MASK (0x00000003 << 28)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_DEFER (0x00000000 << 28)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_ON (0x00000001 << 28)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_ALWAYS_OFF (0x00000002 << 28)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_WIN32K_SYSTEM_CALL_DISABLE_RESERVED (0x00000003 << 28)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_MASK (0x00000003ui64 << 32)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_DEFER (0x00000000ui64 << 32)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_ON (0x00000001ui64 << 32)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_ALWAYS_OFF (0x00000002ui64 << 32)
|
||||
#define PROCESS_CREATION_MITIGATION_POLICY_EXTENSION_POINT_DISABLE_RESERVED (0x00000003ui64 << 32)
|
||||
#endif // (_WIN32_WINNT >= 0x0602)
|
||||
|
||||
#endif // _SECURITY_SANDBOX_BASE_SHIM_SDKDECLS_H_
|
Loading…
Reference in New Issue
Block a user