URL cleanups: switch to HTTPS, fix dead ones, use canonical ones

Change-Id: I4b247d7fae1a212350f8ffcf2bf5ba1fa730f5c1
Reviewed-on: https://chromium-review.googlesource.com/780339
Reviewed-by: Scott Graham <scottmg@chromium.org>
Commit-Queue: Mark Mentovai <mark@chromium.org>
This commit is contained in:
Mark Mentovai 2017-11-20 16:57:43 -05:00 committed by Commit Bot
parent e935375fe9
commit 20e5aba1af
34 changed files with 92 additions and 94 deletions

View File

@ -750,9 +750,9 @@ void CrashpadClient::DumpWithoutCrash(const CONTEXT& context) {
// We include a fake exception and use a code of '0x517a7ed' (something like // We include a fake exception and use a code of '0x517a7ed' (something like
// "simulated") so that it's relatively obvious in windbg that it's not // "simulated") so that it's relatively obvious in windbg that it's not
// actually an exception. Most values in // actually an exception. Most values in
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa363082.aspx have // https://msdn.microsoft.com/library/aa363082.aspx have some of the top
// some of the top nibble set, so we make sure to pick a value that doesn't, // nibble set, so we make sure to pick a value that doesn't, so as to be
// so as to be unlikely to conflict. // unlikely to conflict.
constexpr uint32_t kSimulatedExceptionCode = 0x517a7ed; constexpr uint32_t kSimulatedExceptionCode = 0x517a7ed;
EXCEPTION_RECORD record = {}; EXCEPTION_RECORD record = {};
record.ExceptionCode = kSimulatedExceptionCode; record.ExceptionCode = kSimulatedExceptionCode;

View File

@ -564,16 +564,15 @@ struct __attribute__((packed, aligned(4))) MINIDUMP_MODULE {
//! <a //! <a
//! href="http://pierrelib.pagesperso-orange.fr/exec_formats/MS_Symbol_Type_v1.0.pdf#page=71">Microsoft //! href="http://pierrelib.pagesperso-orange.fr/exec_formats/MS_Symbol_Type_v1.0.pdf#page=71">Microsoft
//! Symbol and Type Information</a>, section 7.2, “Debug Information Format” //! Symbol and Type Information</a>, section 7.2, “Debug Information Format”
//! for a list of debug information formats, and <a //! for a list of debug information formats, and <i>Undocumented Windows 2000
//! href="http://undocumented.rawol.com/sbs-w2k-1-windows-2000-debugging-support.pdf#page=63">Undocumented //! Secrets</i>, Windows 2000 Debugging Support/Microsoft Symbol File
//! Windows 2000 Secrets</a>, Windows 2000 Debugging Support/Microsoft Symbol //! Internals/CodeView Subsections for an in-depth description of the CodeView
//! File Internals/CodeView Subsections for an in-depth description of the //! 4.1 format. Signatures seen in the wild include “NB09” (0x3930424e) for
//! CodeView 4.1 format. Signatures seen in the wild include “NB09” //! CodeView 4.1 and “NB11” (0x3131424e) for CodeView 5.0. This form of
//! (0x3930424e) for CodeView 4.1 and “NB11” (0x3131424e) for CodeView 5.0. //! debugging information within the module, as opposed to a link to an
//! This form of debugging information within the module, as opposed to a link //! external `.pdb` file, is chosen by building with `/Z7` in Visual Studio
//! to an external `.pdb` file, is chosen by building with `/Z7` in Visual //! 6.0 (1998) and earlier. This embedded form of debugging information is now
//! Studio 6.0 (1998) and earlier. This embedded form of debugging information //! considered obsolete.
//! is now considered obsolete.
//! //!
//! On Windows, the CodeView record is taken from a modules //! On Windows, the CodeView record is taken from a modules
//! IMAGE_DEBUG_DIRECTORY entry whose Type field has the value //! IMAGE_DEBUG_DIRECTORY entry whose Type field has the value

View File

@ -18,8 +18,8 @@
// include_next <winnt.h> // include_next <winnt.h>
#include <../um/winnt.h> #include <../um/winnt.h>
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa373184.aspx: // https://msdn.microsoft.com/library/aa373184.aspx: "Note that this structure
// "Note that this structure definition was accidentally omitted from WinNT.h." // definition was accidentally omitted from WinNT.h."
struct PROCESSOR_POWER_INFORMATION { struct PROCESSOR_POWER_INFORMATION {
ULONG Number; ULONG Number;
ULONG MaxMhz; ULONG MaxMhz;

View File

@ -22,7 +22,7 @@ limitations under the License.
## Introduction ## Introduction
Crashpad is a [Chromium project](https://dev.chromium.org/Home). Most of its Crashpad is a [Chromium project](https://www.chromium.org/Home). Most of its
development practices follow Chromiums. In order to function on its own in development practices follow Chromiums. In order to function on its own in
other projects, Crashpad uses other projects, Crashpad uses
[mini_chromium](https://chromium.googlesource.com/chromium/mini_chromium/), a [mini_chromium](https://chromium.googlesource.com/chromium/mini_chromium/), a
@ -43,9 +43,9 @@ the `$PATH` environment variable:
C++ support and the Windows SDK. MSVS 2015 and MSVS 2017 are both C++ support and the Windows SDK. MSVS 2015 and MSVS 2017 are both
supported. Some tests also require the CDB debugger, installed with supported. Some tests also require the CDB debugger, installed with
[Debugging Tools for [Debugging Tools for
Windows](https://msdn.microsoft.com/library/windows/hardware/ff551063.aspx). Windows](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/).
* Chromiums * Chromiums
[depot_tools](https://dev.chromium.org/developers/how-tos/depottools). [depot_tools](https://www.chromium.org/developers/how-tos/depottools).
* [Git](https://git-scm.com/). This is provided by Xcode on macOS and by * [Git](https://git-scm.com/). This is provided by Xcode on macOS and by
depot_tools on Windows. depot_tools on Windows.
* [Python](https://www.python.org/). This is provided by the operating system * [Python](https://www.python.org/). This is provided by the operating system
@ -57,12 +57,12 @@ The main source code repository is a Git repository hosted at
https://chromium.googlesource.com/crashpad/crashpad. Although it is possible to https://chromium.googlesource.com/crashpad/crashpad. Although it is possible to
check out this repository directly with `git clone`, Crashpads dependencies are check out this repository directly with `git clone`, Crashpads dependencies are
managed by managed by
[`gclient`](https://dev.chromium.org/developers/how-tos/depottools#TOC-gclient) [`gclient`](https://www.chromium.org/developers/how-tos/depottools#TOC-gclient)
instead of Git submodules, so to work on Crashpad, it is best to use `fetch` to instead of Git submodules, so to work on Crashpad, it is best to use `fetch` to
get the source code. get the source code.
`fetch` and `gclient` are part of the `fetch` and `gclient` are part of the
[depot_tools](https://dev.chromium.org/developers/how-tos/depottools). Theres [depot_tools](https://www.chromium.org/developers/how-tos/depottools). Theres
no need to install them separately. no need to install them separately.
### Initial Checkout ### Initial Checkout
@ -106,7 +106,7 @@ $ ninja -C out/Debug
``` ```
Ninja is part of the Ninja is part of the
[depot_tools](https://dev.chromium.org/developers/how-tos/depottools). Theres [depot_tools](https://www.chromium.org/developers/how-tos/depottools). Theres
no need to install it separately. no need to install it separately.
### Android ### Android
@ -200,7 +200,7 @@ $ python build/run_tests.py out/Debug
On Windows, `end_to_end_test.py` requires the CDB debugger, installed with On Windows, `end_to_end_test.py` requires the CDB debugger, installed with
[Debugging Tools for [Debugging Tools for
Windows](https://msdn.microsoft.com/library/windows/hardware/ff551063.aspx). Windows](https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/).
This can be installed either as part of the [Windows Driver This can be installed either as part of the [Windows Driver
Kit](https://go.microsoft.com/fwlink/p?LinkID=239721) or the [Windows Kit](https://go.microsoft.com/fwlink/p?LinkID=239721) or the [Windows
SDK](https://go.microsoft.com/fwlink/p?LinkID=271979). If the Windows SDK has SDK](https://go.microsoft.com/fwlink/p?LinkID=271979). If the Windows SDK has
@ -243,7 +243,7 @@ device:/data/local/tmp $ CRASHPAD_TEST_DATA_ROOT=crashpad_test_data_root \
## Contributing ## Contributing
Crashpads contribution process is very similar to [Chromiums contribution Crashpads contribution process is very similar to [Chromiums contribution
process](https://dev.chromium.org/developers/contributing-code). process](https://www.chromium.org/developers/contributing-code).
### Code Review ### Code Review
@ -256,7 +256,7 @@ must be sent to an appropriate reviewer, with a Cc sent to
file specifies this environment to `git-cl`. file specifies this environment to `git-cl`.
`git-cl` is part of the `git-cl` is part of the
[depot_tools](https://dev.chromium.org/developers/how-tos/depottools). Theres [depot_tools](https://www.chromium.org/developers/how-tos/depottools). Theres
no need to install it separately. no need to install it separately.
``` ```
@ -282,7 +282,7 @@ patch set with `git cl upload` and let your reviewer know youve addressed the
feedback. feedback.
The most recently uploaded patch set on a review may be tested on a [try The most recently uploaded patch set on a review may be tested on a [try
server](https://dev.chromium.org/developers/testing/try-server-usage) by running server](https://www.chromium.org/developers/testing/try-server-usage) by running
`git cl try` or by clicking the “CQ Dry Run” button in Gerrit. These set the `git cl try` or by clicking the “CQ Dry Run” button in Gerrit. These set the
“Commit-Queue: +1” label. This does not mean that the patch will be committed, “Commit-Queue: +1” label. This does not mean that the patch will be committed,
but the try server and commit queue share infrastructure and a Gerrit label. The but the try server and commit queue share infrastructure and a Gerrit label. The
@ -294,7 +294,7 @@ Crashpad and Chromium committers.
After code review is complete and “Code-Review: +1” has been received from all After code review is complete and “Code-Review: +1” has been received from all
reviewers, the patch can be submitted to Crashpads [commit reviewers, the patch can be submitted to Crashpads [commit
queue](https://dev.chromium.org/developers/testing/commit-queue) by clicking the queue](https://www.chromium.org/developers/testing/commit-queue) by clicking the
“Submit to CQ” button in Gerrit. This sets the “Commit-Queue: +2” label, which “Submit to CQ” button in Gerrit. This sets the “Commit-Queue: +2” label, which
tests the patch on the try server before landing it. Commit queue access is tests the patch on the try server before landing it. Commit queue access is
available to Crashpad and Chromium committers. available to Crashpad and Chromium committers.

View File

@ -21,7 +21,7 @@ limitations under the License.
Crashpad currently consists of a crash-reporting client and some related tools Crashpad currently consists of a crash-reporting client and some related tools
for macOS and Windows. The core client work for both platforms is substantially for macOS and Windows. The core client work for both platforms is substantially
complete. Crashpad became the crash reporter client for complete. Crashpad became the crash reporter client for
[Chromium](https://dev.chromium.org/Home) on macOS as of [March [Chromium](https://www.chromium.org/Home) on macOS as of [March
2015](https://chromium.googlesource.com/chromium/src/\+/d413b2dcb54d523811d386f1ff4084f677a6d089), 2015](https://chromium.googlesource.com/chromium/src/\+/d413b2dcb54d523811d386f1ff4084f677a6d089),
and on Windows as of [November and on Windows as of [November
2015](https://chromium.googlesource.com/chromium/src/\+/cfa5b01bb1d06bf96967bd37e21a44752801948c). 2015](https://chromium.googlesource.com/chromium/src/\+/cfa5b01bb1d06bf96967bd37e21a44752801948c).

View File

@ -52,9 +52,8 @@ bool CrashAndDumpTarget(const CrashpadClient& client, HANDLE process) {
do { do {
if (te32.th32OwnerProcessID == target_pid) { if (te32.th32OwnerProcessID == target_pid) {
// We set the thread priority of "Thread1" to a non-default value before // We set the thread priority of "Thread1" to a non-default value before
// going to sleep. Dump and blame this thread. For an explanation of // going to sleep. Dump and blame this thread. For an explanation of "9",
// "9", see // see https://msdn.microsoft.com/library/ms685100.aspx.
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms685100.aspx.
if (te32.tpBasePri == 9) { if (te32.tpBasePri == 9) {
ScopedKernelHANDLE thread( ScopedKernelHANDLE thread(
OpenThread(kXPThreadAllAccess, false, te32.th32ThreadID)); OpenThread(kXPThreadAllAccess, false, te32.th32ThreadID));

View File

@ -37,8 +37,8 @@ verifiers {
builders { name: "crashpad_try_mac_rel" } builders { name: "crashpad_try_mac_rel" }
builders { name: "crashpad_try_win_x64_dbg" } builders { name: "crashpad_try_win_x64_dbg" }
builders { name: "crashpad_try_win_x64_rel" } builders { name: "crashpad_try_win_x64_rel" }
# crbug.com/743139 - disabled until we can move these to # https://crbug.com/743139 - disabled until we can move these to swarming,
# swarming, at which point we can just remove them. # at which point we can just remove them.
#builders { name: "crashpad_try_win_x86_dbg" } #builders { name: "crashpad_try_win_x86_dbg" }
#builders { name: "crashpad_try_win_x86_rel" } #builders { name: "crashpad_try_win_x86_rel" }
builders { name: "crashpad_try_win_x86_wow64_dbg" } builders { name: "crashpad_try_win_x86_wow64_dbg" }

View File

@ -26,7 +26,7 @@ namespace crashpad {
//! \brief Architecture-independent flags for `context_flags` fields in Minidump //! \brief Architecture-independent flags for `context_flags` fields in Minidump
//! context structures. //! context structures.
// //
// http://zachsaw.blogspot.com/2010/11/wow64-bug-getthreadcontext-may-return.html#c5639760895973344002 // https://zachsaw.blogspot.com/2010/11/wow64-bug-getthreadcontext-may-return.html#c5639760895973344002
enum MinidumpContextFlags : uint32_t { enum MinidumpContextFlags : uint32_t {
//! \brief The thread was executing a trap handler in kernel mode //! \brief The thread was executing a trap handler in kernel mode
//! (`CONTEXT_EXCEPTION_ACTIVE`). //! (`CONTEXT_EXCEPTION_ACTIVE`).

View File

@ -38,7 +38,7 @@ struct HandleSnapshot {
//! \brief The ACCESS_MASK for the handle in this process. //! \brief The ACCESS_MASK for the handle in this process.
//! //!
//! See //! See
//! http://blogs.msdn.com/b/openspecification/archive/2010/04/01/about-the-access-mask-structure.aspx //! https://blogs.msdn.microsoft.com/openspecification/2010/04/01/about-the-access_mask-structure/
//! for more information. //! for more information.
uint32_t granted_access; uint32_t granted_access;

View File

@ -681,9 +681,9 @@ void ProcessReader::LocateRedZone(mach_vm_address_t* const start_address,
const unsigned int user_tag) { const unsigned int user_tag) {
#if defined(ARCH_CPU_X86_FAMILY) #if defined(ARCH_CPU_X86_FAMILY)
if (Is64Bit()) { if (Is64Bit()) {
// x86_64 has a red zone. See AMD64 ABI 0.99.6, // x86_64 has a red zone. See AMD64 ABI 0.99.8,
// http://www.x86-64.org/documentation/abi.pdf, section 3.2.2, “The Stack // https://raw.githubusercontent.com/wiki/hjl-tools/x86-psABI/x86-64-psABI-r252.pdf#page=19,
// Frame”. // section 3.2.2, “The Stack Frame”.
constexpr mach_vm_size_t kRedZoneSize = 128; constexpr mach_vm_size_t kRedZoneSize = 128;
mach_vm_address_t red_zone_base = mach_vm_address_t red_zone_base =
*start_address >= kRedZoneSize ? *start_address - kRedZoneSize : 0; *start_address >= kRedZoneSize ? *start_address - kRedZoneSize : 0;

View File

@ -13,7 +13,7 @@
// limitations under the License. // limitations under the License.
// The name of this file was chosen based on // The name of this file was chosen based on
// http://llvm.org/svn/llvm-project/llvm/trunk/lib/Support/PrettyStackTrace.cpp. // https://llvm.org/svn/llvm-project/llvm/trunk/lib/Support/PrettyStackTrace.cpp.
// The name of the structure it describes was chosen based on that file as well // The name of the structure it describes was chosen based on that file as well
// as 10.9.2 cups-372.2/cups/backend/usb-darwin.c. That file also provided the // as 10.9.2 cups-372.2/cups/backend/usb-darwin.c. That file also provided the
// names and types of the fields in the structure. // names and types of the fields in the structure.

View File

@ -88,7 +88,7 @@ TEST(TimeZone, Basic) {
// In contemporary usage, most time zones have an integer hour offset from // In contemporary usage, most time zones have an integer hour offset from
// UTC, although several are at a half-hour offset, and two are at 15-minute // UTC, although several are at a half-hour offset, and two are at 15-minute
// offsets. Throughout history, other variations existed. See // offsets. Throughout history, other variations existed. See
// http://www.timeanddate.com/time/time-zones-interesting.html. // https://www.timeanddate.com/time/time-zones-interesting.html.
EXPECT_EQ(standard_offset_seconds % (15 * 60), 0) EXPECT_EQ(standard_offset_seconds % (15 * 60), 0)
<< "standard_offset_seconds " << standard_offset_seconds; << "standard_offset_seconds " << standard_offset_seconds;
@ -100,9 +100,9 @@ TEST(TimeZone, Basic) {
<< "daylight_offset_seconds " << daylight_offset_seconds; << "daylight_offset_seconds " << daylight_offset_seconds;
// In contemporary usage, dst_delta_seconds will almost always be one hour, // In contemporary usage, dst_delta_seconds will almost always be one hour,
// except for Lord Howe Island, Australia, which uses a 30-minute // except for Lord Howe Island, Australia, which uses a 30-minute delta.
// delta. Throughout history, other variations existed. See // Throughout history, other variations existed. See
// http://www.timeanddate.com/time/dst/#brief. // https://www.timeanddate.com/time/dst/.
int dst_delta_seconds = daylight_offset_seconds - standard_offset_seconds; int dst_delta_seconds = daylight_offset_seconds - standard_offset_seconds;
if (dst_delta_seconds != 60 * 60 && dst_delta_seconds != 30 * 60) { if (dst_delta_seconds != 60 * 60 && dst_delta_seconds != 30 * 60) {
FAIL() << "dst_delta_seconds " << dst_delta_seconds; FAIL() << "dst_delta_seconds " << dst_delta_seconds;

View File

@ -235,7 +235,7 @@ bool PEImageReader::VSFixedFileInfo(
} }
// This structure is not declared anywhere in the SDK, but is documented at // This structure is not declared anywhere in the SDK, but is documented at
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms647001.aspx. // https://msdn.microsoft.com/library/ms647001.aspx.
struct VS_VERSIONINFO { struct VS_VERSIONINFO {
WORD wLength; WORD wLength;
WORD wValueLength; WORD wValueLength;

View File

@ -165,7 +165,7 @@ uint32_t PEImageResourceReader::GetEntryFromResourceDirectoryByLanguage(
return 0; return 0;
} }
// https://msdn.microsoft.com/en-us/library/cc194810.aspx // https://msdn.microsoft.com/library/cc194810.aspx
// //
// TODO(mark): It seems like FindResourceEx() might do something more complex. // TODO(mark): It seems like FindResourceEx() might do something more complex.
// It would be best to mimic its behavior. // It would be best to mimic its behavior.

View File

@ -374,9 +374,9 @@ void ProcessReaderWin::ReadThreadData(bool is_64_reading_32) {
// TODO(scottmg): I believe we could reverse engineer the PriorityClass from // TODO(scottmg): I believe we could reverse engineer the PriorityClass from
// the Priority, BasePriority, and // the Priority, BasePriority, and
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms685100 . // https://msdn.microsoft.com/library/ms685100.aspx. MinidumpThreadWriter
// MinidumpThreadWriter doesn't handle it yet in any case, so investigate // doesn't handle it yet in any case, so investigate both of those at the
// both of those at the same time if it's useful. // same time if it's useful.
thread.priority_class = NORMAL_PRIORITY_CLASS; thread.priority_class = NORMAL_PRIORITY_CLASS;
thread.priority = thread_info.Priority; thread.priority = thread_info.Priority;
@ -403,7 +403,7 @@ void ProcessReaderWin::ReadThreadData(bool is_64_reading_32) {
WinVMAddress limit = 0; WinVMAddress limit = 0;
// If we're reading a WOW64 process, then the TIB we just retrieved is the // If we're reading a WOW64 process, then the TIB we just retrieved is the
// x64 one. The first word of the x64 TIB points at the x86 TIB. See // x64 one. The first word of the x64 TIB points at the x86 TIB. See
// https://msdn.microsoft.com/en-us/library/dn424783.aspx // https://msdn.microsoft.com/library/dn424783.aspx.
if (is_64_reading_32) { if (is_64_reading_32) {
process_types::NT_TIB<process_types::internal::Traits32> tib32; process_types::NT_TIB<process_types::internal::Traits32> tib32;
thread.teb_address = tib.Wow64Teb; thread.teb_address = tib.Wow64Teb;

View File

@ -265,12 +265,11 @@ void ProcessSnapshotWin::InitializeModules() {
} }
void ProcessSnapshotWin::InitializeUnloadedModules() { void ProcessSnapshotWin::InitializeUnloadedModules() {
// As documented by https://msdn.microsoft.com/en-us/library/cc678403.aspx // As documented by https://msdn.microsoft.com/library/cc678403.aspx, we can
// we can retrieve the location for our unload events, and use that address in // retrieve the location for our unload events, and use that address in the
// the target process. Unfortunately, this of course only works for // target process. Unfortunately, this of course only works for 64-reading-64
// 64-reading-64 and 32-reading-32, so at the moment, we simply do not // and 32-reading-32, so at the moment, we simply do not retrieve unloaded
// retrieve unloaded modules for 64-reading-32. See // modules for 64-reading-32. See https://crashpad.chromium.org/bug/89.
// https://crashpad.chromium.org/bug/89.
#if defined(ARCH_CPU_X86_64) #if defined(ARCH_CPU_X86_64)
if (!process_reader_.Is64Bit()) { if (!process_reader_.Is64Bit()) {
@ -516,9 +515,9 @@ void ProcessSnapshotWin::AddMemorySnapshotForLdrLIST_ENTRY(
WinVMSize ProcessSnapshotWin::DetermineSizeOfEnvironmentBlock( WinVMSize ProcessSnapshotWin::DetermineSizeOfEnvironmentBlock(
WinVMAddress start_of_environment_block) { WinVMAddress start_of_environment_block) {
// http://blogs.msdn.com/b/oldnewthing/archive/2010/02/03/9957320.aspx On // https://blogs.msdn.microsoft.com/oldnewthing/20100203-00/?p=15083: On newer
// newer OSs there's no stated limit, but in practice grabbing 32k characters // OSs there's no stated limit, but in practice grabbing 32k characters should
// should be more than enough. // be more than enough.
std::wstring env_block; std::wstring env_block;
env_block.resize(32768); env_block.resize(32768);
WinVMSize bytes_read = process_reader_.ReadAvailableMemory( WinVMSize bytes_read = process_reader_.ReadAvailableMemory(

View File

@ -130,7 +130,7 @@ TEST_F(SystemSnapshotWinTest, TimeZone) {
// In contemporary usage, most time zones have an integer hour offset from // In contemporary usage, most time zones have an integer hour offset from
// UTC, although several are at a half-hour offset, and two are at 15-minute // UTC, although several are at a half-hour offset, and two are at 15-minute
// offsets. Throughout history, other variations existed. See // offsets. Throughout history, other variations existed. See
// http://www.timeanddate.com/time/time-zones-interesting.html. // https://www.timeanddate.com/time/time-zones-interesting.html.
EXPECT_EQ(standard_offset_seconds % (15 * 60), 0) EXPECT_EQ(standard_offset_seconds % (15 * 60), 0)
<< "standard_offset_seconds " << standard_offset_seconds; << "standard_offset_seconds " << standard_offset_seconds;
@ -142,9 +142,9 @@ TEST_F(SystemSnapshotWinTest, TimeZone) {
<< "daylight_offset_seconds " << daylight_offset_seconds; << "daylight_offset_seconds " << daylight_offset_seconds;
// In contemporary usage, dst_delta_seconds will almost always be one hour, // In contemporary usage, dst_delta_seconds will almost always be one hour,
// except for Lord Howe Island, Australia, which uses a 30-minute // except for Lord Howe Island, Australia, which uses a 30-minute delta.
// delta. Throughout history, other variations existed. See // Throughout history, other variations existed. See
// http://www.timeanddate.com/time/dst/#brief. // https://www.timeanddate.com/time/dst/.
int dst_delta_seconds = daylight_offset_seconds - standard_offset_seconds; int dst_delta_seconds = daylight_offset_seconds - standard_offset_seconds;
if (dst_delta_seconds != 60 * 60 && dst_delta_seconds != 30 * 60) { if (dst_delta_seconds != 60 * 60 && dst_delta_seconds != 30 * 60) {
FAIL() << "dst_delta_seconds " << dst_delta_seconds; FAIL() << "dst_delta_seconds " << dst_delta_seconds;

View File

@ -8,7 +8,7 @@ Security Critical: yes
Description: Description:
mini_chromium is a small collection of useful low-level (“base”) routines from mini_chromium is a small collection of useful low-level (“base”) routines from
the Chromium open-source project at http://www.chromium.org/. Chromium is the Chromium open-source project at https://www.chromium.org/Home. Chromium is
large, sprawling, full of dependencies, and a web browser. mini_chromium is large, sprawling, full of dependencies, and a web browser. mini_chromium is
small, self-contained, and a library. mini_chromium is especially useful as a small, self-contained, and a library. mini_chromium is especially useful as a
dependency of other code that wishes to use Chromiums base routines. dependency of other code that wishes to use Chromiums base routines.

View File

@ -1,6 +1,6 @@
Name: zlib Name: zlib
Short Name: zlib Short Name: zlib
URL: http://zlib.net/ URL: https://zlib.net/
Revision: See zlib/README.chromium Revision: See zlib/README.chromium
License: zlib License: zlib
License File: zlib/LICENSE License File: zlib/LICENSE

View File

@ -277,11 +277,14 @@ static_library("util") {
if (is_win) { if (is_win) {
# There's no ml.exe yet in cross builds, so provide broken-but-not-asm # There's no ml.exe yet in cross builds, so provide broken-but-not-asm
# versions of the functions defined in .asm files. # versions of the functions defined in .asm files.
#
# CaptureContext() in capture_context_broken.cc just calls CHECK(false). # CaptureContext() in capture_context_broken.cc just calls CHECK(false).
# SafeTerminateProcess() in safe_terminate_process.cc just calls regular # SafeTerminateProcess() in safe_terminate_process.cc just calls regular
# TerminateProcess() without the protection against broken third-party # TerminateProcess() without the protection against broken third-party
# patching of TerminateProcess(). # patching of TerminateProcess().
# TODO(thakis): Use the .asm file in cross builds somehow, crbug.com/762167 #
# TODO(thakis): Use the .asm file in cross builds somehow,
# https://crbug.com/762167.
if (host_os == "win") { if (host_os == "win") {
sources += [ sources += [
"win/capture_context.asm", "win/capture_context.asm",

View File

@ -66,9 +66,9 @@ int DarwinMajorVersion() {
// base::OperatingSystemVersionNumbers calls Gestalt(), which is a // base::OperatingSystemVersionNumbers calls Gestalt(), which is a
// higher-level function than is needed. It might perform unnecessary // higher-level function than is needed. It might perform unnecessary
// operations. On 10.6, it was observed to be able to spawn threads (see // operations. On 10.6, it was observed to be able to spawn threads (see
// http://crbug.com/53200). It might also read files or perform other blocking // https://crbug.com/53200). It might also read files or perform other
// operations. Actually, nobody really knows for sure just what Gestalt() // blocking operations. Actually, nobody really knows for sure just what
// might do, or what it might be taught to do in the future. // Gestalt() might do, or what it might be taught to do in the future.
// //
// uname(), on the other hand, is implemented as a simple series of sysctl() // uname(), on the other hand, is implemented as a simple series of sysctl()
// system calls to obtain the relevant data from the kernel. The data is // system calls to obtain the relevant data from the kernel. The data is

View File

@ -30,10 +30,9 @@ namespace crashpad {
//! //!
//! For more information about this structure and format, see <a //! For more information about this structure and format, see <a
//! href="http://www.debuginfo.com/articles/debuginfomatch.html#pdbfiles">Matching //! href="http://www.debuginfo.com/articles/debuginfomatch.html#pdbfiles">Matching
//! Debug Information</a>, PDB Files, and <a //! Debug Information</a>, PDB Files, and <i>Undocumented Windows 2000
//! href="http://undocumented.rawol.com/sbs-w2k-1-windows-2000-debugging-support.pdf#page=63">Undocumented //! Secrets</i>, Windows 2000 Debugging Support/Microsoft Symbol File
//! Windows 2000 Secrets</a>, Windows 2000 Debugging Support/Microsoft Symbol //! Internals/CodeView Subsections.
//! File Internals/CodeView Subsections.
//! //!
//! \sa IMAGE_DEBUG_MISC //! \sa IMAGE_DEBUG_MISC
struct CodeViewRecordPDB20 { struct CodeViewRecordPDB20 {

View File

@ -85,7 +85,7 @@ void TestGzipDeflateInflate(const std::string& string) {
// 8-byte trailer. // 8-byte trailer.
constexpr size_t kGzipHeaderSize = 18; constexpr size_t kGzipHeaderSize = 18;
// Per http://www.zlib.net/zlib_tech.html, in the worst case, zlib will store // Per https://zlib.net/zlib_tech.html, in the worst case, zlib will store
// uncompressed data as-is, at an overhead of 5 bytes per 16384-byte block. // uncompressed data as-is, at an overhead of 5 bytes per 16384-byte block.
// Zero-length input will “compress” to a 2-byte zlib stream. Add the overhead // Zero-length input will “compress” to a 2-byte zlib stream. Add the overhead
// of the gzip wrapper, assuming no optional fields are present. // of the gzip wrapper, assuming no optional fields are present.

View File

@ -169,8 +169,7 @@ bool HTTPTransportWin::ExecuteSynchronously(std::string* response_body) {
url_components.dwUrlPathLength = 1; url_components.dwUrlPathLength = 1;
url_components.dwExtraInfoLength = 1; url_components.dwExtraInfoLength = 1;
std::wstring url_wide(base::UTF8ToUTF16(url())); std::wstring url_wide(base::UTF8ToUTF16(url()));
// dwFlags = ICU_REJECT_USERPWD fails on XP. See "Community Additions" at: // dwFlags = ICU_REJECT_USERPWD fails on XP.
// https://msdn.microsoft.com/en-us/library/aa384092.aspx
if (!WinHttpCrackUrl( if (!WinHttpCrackUrl(
url_wide.c_str(), 0, 0, &url_components)) { url_wide.c_str(), 0, 0, &url_components)) {
LOG(ERROR) << WinHttpMessage("WinHttpCrackUrl"); LOG(ERROR) << WinHttpMessage("WinHttpCrackUrl");

View File

@ -22,7 +22,7 @@
// In order for the @NO and @YES literals to work, NO and YES must be defined as // In order for the @NO and @YES literals to work, NO and YES must be defined as
// __objc_no and __objc_yes. See // __objc_no and __objc_yes. See
// http://llvm.org/releases/3.1/tools/clang/docs/ObjectiveCLiterals.html . // https://clang.llvm.org/docs/ObjectiveCLiterals.html.
// //
// NO and YES are defined properly for this purpose in the 10.8 SDK, but not in // NO and YES are defined properly for this purpose in the 10.8 SDK, but not in
// earlier SDKs. Because this code is never expected to be compiled with a // earlier SDKs. Because this code is never expected to be compiled with a

View File

@ -17,7 +17,7 @@
#if defined(OS_MACOSX) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7 #if defined(OS_MACOSX) && MAC_OS_X_VERSION_MIN_REQUIRED < MAC_OS_X_VERSION_10_7
#if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7 #if MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_7
// Redeclare a method only available on OSX 10.7+ to suppress a // Redeclare a method only available on Mac OS X 10.7 and later to suppress a
// -Wpartial-availability warning. // -Wpartial-availability warning.
extern "C" { extern "C" {
size_t strnlen(const char* string, size_t max_length); size_t strnlen(const char* string, size_t max_length);

View File

@ -19,7 +19,7 @@
namespace crashpad { namespace crashpad {
// Ref: // Ref:
// http://blogs.msdn.com/b/twistylittlepassagesallalike/archive/2011/04/23/everyone-quotes-arguments-the-wrong-way.aspx // https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/
void AppendCommandLineArgument(const std::wstring& argument, void AppendCommandLineArgument(const std::wstring& argument,
std::wstring* command_line) { std::wstring* command_line) {
if (!command_line->empty()) { if (!command_line->empty()) {

View File

@ -53,7 +53,7 @@ void AppendCommandLineArgumentTest(size_t argc, const wchar_t* const argv[]) {
TEST(CommandLine, AppendCommandLineArgument) { TEST(CommandLine, AppendCommandLineArgument) {
// Most of these test cases come from // Most of these test cases come from
// http://blogs.msdn.com/b/twistylittlepassagesallalike/archive/2011/04/23/everyone-quotes-arguments-the-wrong-way.aspx, // https://blogs.msdn.microsoft.com/twistylittlepassagesallalike/2011/04/23/everyone-quotes-command-line-arguments-the-wrong-way/,
// which was also a reference for the implementation of // which was also a reference for the implementation of
// AppendCommandLineArgument(). // AppendCommandLineArgument().

View File

@ -24,7 +24,7 @@ namespace crashpad {
//! `HANDLE` is a `typedef` for `void *`, but kernel `HANDLE` values arent //! `HANDLE` is a `typedef` for `void *`, but kernel `HANDLE` values arent
//! pointers to anything. Only 32 bits of kernel `HANDLE`s are significant, even //! pointers to anything. Only 32 bits of kernel `HANDLE`s are significant, even
//! in 64-bit processes on 64-bit operating systems. See <a //! in 64-bit processes on 64-bit operating systems. See <a
//! href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa384203">Interprocess //! href="https://msdn.microsoft.com/library/aa384203.aspx">Interprocess
//! Communication Between 32-bit and 64-bit Applications</a>. //! Communication Between 32-bit and 64-bit Applications</a>.
//! //!
//! This function safely converts a kernel `HANDLE` to an `int` similarly to a //! This function safely converts a kernel `HANDLE` to an `int` similarly to a
@ -45,7 +45,7 @@ int HandleToInt(HANDLE handle);
//! `HANDLE` is a `typedef` for `void *`, but kernel `HANDLE` values arent //! `HANDLE` is a `typedef` for `void *`, but kernel `HANDLE` values arent
//! pointers to anything. Only 32 bits of kernel `HANDLE`s are significant, even //! pointers to anything. Only 32 bits of kernel `HANDLE`s are significant, even
//! in 64-bit processes on 64-bit operating systems. See <a //! in 64-bit processes on 64-bit operating systems. See <a
//! href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa384203">Interprocess //! href="https://msdn.microsoft.com/library/aa384203.aspx">Interprocess
//! Communication Between 32-bit and 64-bit Applications</a>. //! Communication Between 32-bit and 64-bit Applications</a>.
//! //!
//! This function safely convert an `int` to a kernel `HANDLE` similarly to a //! This function safely convert an `int` to a kernel `HANDLE` similarly to a

View File

@ -76,7 +76,7 @@ NTSTATUS NtSuspendProcess(HANDLE handle);
NTSTATUS NtResumeProcess(HANDLE handle); NTSTATUS NtResumeProcess(HANDLE handle);
// From https://msdn.microsoft.com/en-us/library/cc678403(v=vs.85).aspx. // From https://msdn.microsoft.com/library/cc678403.aspx.
template <class Traits> template <class Traits>
struct RTL_UNLOAD_EVENT_TRACE { struct RTL_UNLOAD_EVENT_TRACE {
typename Traits::Pointer BaseAddress; typename Traits::Pointer BaseAddress;

View File

@ -72,7 +72,7 @@ class ProcessInfo {
//! \brief The `ACCESS_MASK` for the handle in this process. //! \brief The `ACCESS_MASK` for the handle in this process.
//! //!
//! See //! See
//! http://blogs.msdn.com/b/openspecification/archive/2010/04/01/about-the-access-mask-structure.aspx //! https://blogs.msdn.microsoft.com/openspecification/2010/04/01/about-the-access_mask-structure/
//! for more information. //! for more information.
uint32_t granted_access; uint32_t granted_access;
@ -188,9 +188,9 @@ class ProcessInfo {
// the presumed alignment and emits SSE instructions that require aligned // the presumed alignment and emits SSE instructions that require aligned
// storage. clang-cl should relax (unfortunately), but in the mean time, this // storage. clang-cl should relax (unfortunately), but in the mean time, this
// provides aligned storage. See https://crbug.com/564691 and // provides aligned storage. See https://crbug.com/564691 and
// http://llvm.org/PR25779. // https://llvm.org/PR25779.
// //
// TODO(mark): Remove this workaround when http://llvm.org/PR25779 is fixed // TODO(mark): Remove this workaround when https://llvm.org/PR25779 is fixed
// and the fix is present in the clang-cl that compiles this code. // and the fix is present in the clang-cl that compiles this code.
MemoryBasicInformation64Vector memory_info_; MemoryBasicInformation64Vector memory_info_;

View File

@ -289,7 +289,7 @@ struct PEB {
template <class Traits> template <class Traits>
struct NT_TIB { struct NT_TIB {
union { union {
// See https://msdn.microsoft.com/en-us/library/dn424783.aspx. // See https://msdn.microsoft.com/library/dn424783.aspx.
typename Traits::Pointer Wow64Teb; typename Traits::Pointer Wow64Teb;
struct { struct {
typename Traits::Pointer ExceptionList; typename Traits::Pointer ExceptionList;
@ -306,7 +306,7 @@ struct NT_TIB {
}; };
}; };
// See https://msdn.microsoft.com/en-us/library/gg750647.aspx. // See https://msdn.microsoft.com/library/gg750647.aspx.
template <class Traits> template <class Traits>
struct CLIENT_ID { struct CLIENT_ID {
typename Traits::Pointer UniqueProcess; typename Traits::Pointer UniqueProcess;
@ -314,8 +314,8 @@ struct CLIENT_ID {
}; };
// This is a partial definition of the TEB, as we do not currently use many // This is a partial definition of the TEB, as we do not currently use many
// fields of it. See http://www.nirsoft.net/kernel_struct/vista/TEB.html, and // fields of it. See https://nirsoft.net/kernel_struct/vista/TEB.html, and the
// the (arch-specific) definition of _TEB in winternl.h. // (arch-specific) definition of _TEB in winternl.h.
template <class Traits> template <class Traits>
struct TEB { struct TEB {
NT_TIB<Traits> NtTib; NT_TIB<Traits> NtTib;
@ -334,7 +334,7 @@ struct TEB {
typename Traits::Pointer TlsExpansionSlots; typename Traits::Pointer TlsExpansionSlots;
}; };
// See https://msdn.microsoft.com/en-us/library/gg750724.aspx. // See https://msdn.microsoft.com/library/gg750724.aspx.
template <class Traits> template <class Traits>
struct SYSTEM_THREAD_INFORMATION { struct SYSTEM_THREAD_INFORMATION {
union { union {
@ -400,7 +400,7 @@ struct VM_COUNTERS<internal::Traits64> {
SIZE_T PrivateUsage; SIZE_T PrivateUsage;
}; };
// See http://undocumented.ntinternals.net/source/usermode/undocumented%20functions/system%20information/structures/system_process_information.html // https://undocumented.ntinternals.net/UserMode/Undocumented%20Functions/System%20Information/Structures/SYSTEM_PROCESS_INFORMATION.html
template <class Traits> template <class Traits>
struct SYSTEM_PROCESS_INFORMATION { struct SYSTEM_PROCESS_INFORMATION {
ULONG NextEntryOffset; ULONG NextEntryOffset;
@ -436,7 +436,7 @@ struct SYSTEM_PROCESS_INFORMATION {
SYSTEM_THREAD_INFORMATION<Traits> Threads[1]; SYSTEM_THREAD_INFORMATION<Traits> Threads[1];
}; };
// http://undocumented.ntinternals.net/source/usermode/structures/thread_basic_information.html // https://undocumented.ntinternals.net/source/usermode/structures/THREAD_BASIC_INFORMATION.html
template <class Traits> template <class Traits>
struct THREAD_BASIC_INFORMATION { struct THREAD_BASIC_INFORMATION {
union { union {

View File

@ -137,7 +137,7 @@ const void* GetSecurityDescriptorForNamedPipeInstance(size_t* size) {
#pragma pack(push, 1) #pragma pack(push, 1)
static constexpr struct SecurityDescriptorBlob { static constexpr struct SecurityDescriptorBlob {
// See https://msdn.microsoft.com/en-us/library/cc230366.aspx. // See https://msdn.microsoft.com/library/cc230366.aspx.
SECURITY_DESCRIPTOR_RELATIVE sd_rel; SECURITY_DESCRIPTOR_RELATIVE sd_rel;
struct { struct {
ACL acl; ACL acl;

View File

@ -24,14 +24,14 @@ enum {
//! //!
//! Requesting `PROCESS_ALL_ACCESS` with the value defined when building //! Requesting `PROCESS_ALL_ACCESS` with the value defined when building
//! against a Vista+ SDK results in `ERROR_ACCESS_DENIED` when running on XP. //! against a Vista+ SDK results in `ERROR_ACCESS_DENIED` when running on XP.
//! See https://msdn.microsoft.com/en-ca/library/windows/desktop/ms684880.aspx //! See https://msdn.microsoft.com/library/ms684880.aspx.
kXPProcessAllAccess = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF, kXPProcessAllAccess = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0xFFF,
//! \brief This is the XP-suitable value of `THREAD_ALL_ACCESS`. //! \brief This is the XP-suitable value of `THREAD_ALL_ACCESS`.
//! //!
//! Requesting `THREAD_ALL_ACCESS` with the value defined when building //! Requesting `THREAD_ALL_ACCESS` with the value defined when building
//! against a Vista+ SDK results in `ERROR_ACCESS_DENIED` when running on XP. //! against a Vista+ SDK results in `ERROR_ACCESS_DENIED` when running on XP.
//! See https://msdn.microsoft.com/en-us/library/windows/desktop/ms686769.aspx //! See https://msdn.microsoft.com/library/ms686769.aspx.
kXPThreadAllAccess = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF, kXPThreadAllAccess = STANDARD_RIGHTS_REQUIRED | SYNCHRONIZE | 0x3FF,
}; };