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
// "simulated") so that it's relatively obvious in windbg that it's not
// actually an exception. Most values in
// https://msdn.microsoft.com/en-us/library/windows/desktop/aa363082.aspx have
// some of the top nibble set, so we make sure to pick a value that doesn't,
// so as to be unlikely to conflict.
// https://msdn.microsoft.com/library/aa363082.aspx have some of the top
// nibble set, so we make sure to pick a value that doesn't, so as to be
// unlikely to conflict.
constexpr uint32_t kSimulatedExceptionCode = 0x517a7ed;
EXCEPTION_RECORD record = {};
record.ExceptionCode = kSimulatedExceptionCode;

View File

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

View File

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

View File

@ -22,7 +22,7 @@ limitations under the License.
## 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
other projects, Crashpad uses
[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
supported. Some tests also require the CDB debugger, installed with
[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
[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
depot_tools on Windows.
* [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
check out this repository directly with `git clone`, Crashpads dependencies are
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
get the source code.
`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.
### Initial Checkout
@ -106,7 +106,7 @@ $ ninja -C out/Debug
```
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.
### 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
[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
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
@ -243,7 +243,7 @@ device:/data/local/tmp $ CRASHPAD_TEST_DATA_ROOT=crashpad_test_data_root \
## Contributing
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
@ -256,7 +256,7 @@ must be sent to an appropriate reviewer, with a Cc sent to
file specifies this environment to `git-cl`.
`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.
```
@ -282,7 +282,7 @@ patch set with `git cl upload` and let your reviewer know youve addressed the
feedback.
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
“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
@ -294,7 +294,7 @@ Crashpad and Chromium committers.
After code review is complete and “Code-Review: +1” has been received from all
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
tests the patch on the try server before landing it. Commit queue access is
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
for macOS and Windows. The core client work for both platforms is substantially
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),
and on Windows as of [November
2015](https://chromium.googlesource.com/chromium/src/\+/cfa5b01bb1d06bf96967bd37e21a44752801948c).

View File

@ -52,9 +52,8 @@ bool CrashAndDumpTarget(const CrashpadClient& client, HANDLE process) {
do {
if (te32.th32OwnerProcessID == target_pid) {
// 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
// "9", see
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms685100.aspx.
// going to sleep. Dump and blame this thread. For an explanation of "9",
// see https://msdn.microsoft.com/library/ms685100.aspx.
if (te32.tpBasePri == 9) {
ScopedKernelHANDLE thread(
OpenThread(kXPThreadAllAccess, false, te32.th32ThreadID));

View File

@ -37,8 +37,8 @@ verifiers {
builders { name: "crashpad_try_mac_rel" }
builders { name: "crashpad_try_win_x64_dbg" }
builders { name: "crashpad_try_win_x64_rel" }
# crbug.com/743139 - disabled until we can move these to
# swarming, at which point we can just remove them.
# https://crbug.com/743139 - disabled until we can move these to swarming,
# at which point we can just remove them.
#builders { name: "crashpad_try_win_x86_dbg" }
#builders { name: "crashpad_try_win_x86_rel" }
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
//! 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 {
//! \brief The thread was executing a trap handler in kernel mode
//! (`CONTEXT_EXCEPTION_ACTIVE`).

View File

@ -38,7 +38,7 @@ struct HandleSnapshot {
//! \brief The ACCESS_MASK for the handle in this process.
//!
//! 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.
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) {
#if defined(ARCH_CPU_X86_FAMILY)
if (Is64Bit()) {
// x86_64 has a red zone. See AMD64 ABI 0.99.6,
// http://www.x86-64.org/documentation/abi.pdf, section 3.2.2, “The Stack
// Frame”.
// x86_64 has a red zone. See AMD64 ABI 0.99.8,
// https://raw.githubusercontent.com/wiki/hjl-tools/x86-psABI/x86-64-psABI-r252.pdf#page=19,
// section 3.2.2, “The Stack Frame”.
constexpr mach_vm_size_t kRedZoneSize = 128;
mach_vm_address_t red_zone_base =
*start_address >= kRedZoneSize ? *start_address - kRedZoneSize : 0;

View File

@ -13,7 +13,7 @@
// limitations under the License.
// 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
// 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.

View File

@ -88,7 +88,7 @@ TEST(TimeZone, Basic) {
// 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
// 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)
<< "standard_offset_seconds " << standard_offset_seconds;
@ -100,9 +100,9 @@ TEST(TimeZone, Basic) {
<< "daylight_offset_seconds " << daylight_offset_seconds;
// In contemporary usage, dst_delta_seconds will almost always be one hour,
// except for Lord Howe Island, Australia, which uses a 30-minute
// delta. Throughout history, other variations existed. See
// http://www.timeanddate.com/time/dst/#brief.
// except for Lord Howe Island, Australia, which uses a 30-minute delta.
// Throughout history, other variations existed. See
// https://www.timeanddate.com/time/dst/.
int dst_delta_seconds = daylight_offset_seconds - standard_offset_seconds;
if (dst_delta_seconds != 60 * 60 && dst_delta_seconds != 30 * 60) {
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
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms647001.aspx.
// https://msdn.microsoft.com/library/ms647001.aspx.
struct VS_VERSIONINFO {
WORD wLength;
WORD wValueLength;

View File

@ -165,7 +165,7 @@ uint32_t PEImageResourceReader::GetEntryFromResourceDirectoryByLanguage(
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.
// 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
// the Priority, BasePriority, and
// https://msdn.microsoft.com/en-us/library/windows/desktop/ms685100 .
// MinidumpThreadWriter doesn't handle it yet in any case, so investigate
// both of those at the same time if it's useful.
// https://msdn.microsoft.com/library/ms685100.aspx. MinidumpThreadWriter
// doesn't handle it yet in any case, so investigate both of those at the
// same time if it's useful.
thread.priority_class = NORMAL_PRIORITY_CLASS;
thread.priority = thread_info.Priority;
@ -403,7 +403,7 @@ void ProcessReaderWin::ReadThreadData(bool is_64_reading_32) {
WinVMAddress limit = 0;
// 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
// https://msdn.microsoft.com/en-us/library/dn424783.aspx
// https://msdn.microsoft.com/library/dn424783.aspx.
if (is_64_reading_32) {
process_types::NT_TIB<process_types::internal::Traits32> tib32;
thread.teb_address = tib.Wow64Teb;

View File

@ -265,12 +265,11 @@ void ProcessSnapshotWin::InitializeModules() {
}
void ProcessSnapshotWin::InitializeUnloadedModules() {
// As documented by https://msdn.microsoft.com/en-us/library/cc678403.aspx
// we can retrieve the location for our unload events, and use that address in
// the target process. Unfortunately, this of course only works for
// 64-reading-64 and 32-reading-32, so at the moment, we simply do not
// retrieve unloaded modules for 64-reading-32. See
// https://crashpad.chromium.org/bug/89.
// As documented by https://msdn.microsoft.com/library/cc678403.aspx, we can
// retrieve the location for our unload events, and use that address in the
// target process. Unfortunately, this of course only works for 64-reading-64
// and 32-reading-32, so at the moment, we simply do not retrieve unloaded
// modules for 64-reading-32. See https://crashpad.chromium.org/bug/89.
#if defined(ARCH_CPU_X86_64)
if (!process_reader_.Is64Bit()) {
@ -516,9 +515,9 @@ void ProcessSnapshotWin::AddMemorySnapshotForLdrLIST_ENTRY(
WinVMSize ProcessSnapshotWin::DetermineSizeOfEnvironmentBlock(
WinVMAddress start_of_environment_block) {
// http://blogs.msdn.com/b/oldnewthing/archive/2010/02/03/9957320.aspx On
// newer OSs there's no stated limit, but in practice grabbing 32k characters
// should be more than enough.
// https://blogs.msdn.microsoft.com/oldnewthing/20100203-00/?p=15083: On newer
// OSs there's no stated limit, but in practice grabbing 32k characters should
// be more than enough.
std::wstring env_block;
env_block.resize(32768);
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
// UTC, although several are at a half-hour offset, and two are at 15-minute
// 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)
<< "standard_offset_seconds " << standard_offset_seconds;
@ -142,9 +142,9 @@ TEST_F(SystemSnapshotWinTest, TimeZone) {
<< "daylight_offset_seconds " << daylight_offset_seconds;
// In contemporary usage, dst_delta_seconds will almost always be one hour,
// except for Lord Howe Island, Australia, which uses a 30-minute
// delta. Throughout history, other variations existed. See
// http://www.timeanddate.com/time/dst/#brief.
// except for Lord Howe Island, Australia, which uses a 30-minute delta.
// Throughout history, other variations existed. See
// https://www.timeanddate.com/time/dst/.
int dst_delta_seconds = daylight_offset_seconds - standard_offset_seconds;
if (dst_delta_seconds != 60 * 60 && dst_delta_seconds != 30 * 60) {
FAIL() << "dst_delta_seconds " << dst_delta_seconds;

View File

@ -8,7 +8,7 @@ Security Critical: yes
Description:
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
small, self-contained, and a library. mini_chromium is especially useful as a
dependency of other code that wishes to use Chromiums base routines.

View File

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

View File

@ -277,11 +277,14 @@ static_library("util") {
if (is_win) {
# There's no ml.exe yet in cross builds, so provide broken-but-not-asm
# versions of the functions defined in .asm files.
#
# CaptureContext() in capture_context_broken.cc just calls CHECK(false).
# SafeTerminateProcess() in safe_terminate_process.cc just calls regular
# TerminateProcess() without the protection against broken third-party
# 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") {
sources += [
"win/capture_context.asm",

View File

@ -66,9 +66,9 @@ int DarwinMajorVersion() {
// base::OperatingSystemVersionNumbers calls Gestalt(), which is a
// higher-level function than is needed. It might perform unnecessary
// 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
// operations. Actually, nobody really knows for sure just what Gestalt()
// might do, or what it might be taught to do in the future.
// https://crbug.com/53200). It might also read files or perform other
// blocking operations. Actually, nobody really knows for sure just what
// 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()
// 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
//! href="http://www.debuginfo.com/articles/debuginfomatch.html#pdbfiles">Matching
//! Debug Information</a>, PDB Files, and <a
//! href="http://undocumented.rawol.com/sbs-w2k-1-windows-2000-debugging-support.pdf#page=63">Undocumented
//! Windows 2000 Secrets</a>, Windows 2000 Debugging Support/Microsoft Symbol
//! File Internals/CodeView Subsections.
//! Debug Information</a>, PDB Files, and <i>Undocumented Windows 2000
//! Secrets</i>, Windows 2000 Debugging Support/Microsoft Symbol File
//! Internals/CodeView Subsections.
//!
//! \sa IMAGE_DEBUG_MISC
struct CodeViewRecordPDB20 {

View File

@ -85,7 +85,7 @@ void TestGzipDeflateInflate(const std::string& string) {
// 8-byte trailer.
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.
// Zero-length input will “compress” to a 2-byte zlib stream. Add the overhead
// 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.dwExtraInfoLength = 1;
std::wstring url_wide(base::UTF8ToUTF16(url()));
// dwFlags = ICU_REJECT_USERPWD fails on XP. See "Community Additions" at:
// https://msdn.microsoft.com/en-us/library/aa384092.aspx
// dwFlags = ICU_REJECT_USERPWD fails on XP.
if (!WinHttpCrackUrl(
url_wide.c_str(), 0, 0, &url_components)) {
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
// __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
// 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 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.
extern "C" {
size_t strnlen(const char* string, size_t max_length);

View File

@ -19,7 +19,7 @@
namespace crashpad {
// 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,
std::wstring* command_line) {
if (!command_line->empty()) {

View File

@ -53,7 +53,7 @@ void AppendCommandLineArgumentTest(size_t argc, const wchar_t* const argv[]) {
TEST(CommandLine, AppendCommandLineArgument) {
// 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
// AppendCommandLineArgument().

View File

@ -24,7 +24,7 @@ namespace crashpad {
//! `HANDLE` is a `typedef` for `void *`, but kernel `HANDLE` values arent
//! pointers to anything. Only 32 bits of kernel `HANDLE`s are significant, even
//! 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>.
//!
//! 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
//! pointers to anything. Only 32 bits of kernel `HANDLE`s are significant, even
//! 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>.
//!
//! 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);
// From https://msdn.microsoft.com/en-us/library/cc678403(v=vs.85).aspx.
// From https://msdn.microsoft.com/library/cc678403.aspx.
template <class Traits>
struct RTL_UNLOAD_EVENT_TRACE {
typename Traits::Pointer BaseAddress;

View File

@ -72,7 +72,7 @@ class ProcessInfo {
//! \brief The `ACCESS_MASK` for the handle in this process.
//!
//! 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.
uint32_t granted_access;
@ -188,9 +188,9 @@ class ProcessInfo {
// the presumed alignment and emits SSE instructions that require aligned
// storage. clang-cl should relax (unfortunately), but in the mean time, this
// 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.
MemoryBasicInformation64Vector memory_info_;

View File

@ -289,7 +289,7 @@ struct PEB {
template <class Traits>
struct NT_TIB {
union {
// See https://msdn.microsoft.com/en-us/library/dn424783.aspx.
// See https://msdn.microsoft.com/library/dn424783.aspx.
typename Traits::Pointer Wow64Teb;
struct {
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>
struct CLIENT_ID {
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
// fields of it. See http://www.nirsoft.net/kernel_struct/vista/TEB.html, and
// the (arch-specific) definition of _TEB in winternl.h.
// fields of it. See https://nirsoft.net/kernel_struct/vista/TEB.html, and the
// (arch-specific) definition of _TEB in winternl.h.
template <class Traits>
struct TEB {
NT_TIB<Traits> NtTib;
@ -334,7 +334,7 @@ struct TEB {
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>
struct SYSTEM_THREAD_INFORMATION {
union {
@ -400,7 +400,7 @@ struct VM_COUNTERS<internal::Traits64> {
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>
struct SYSTEM_PROCESS_INFORMATION {
ULONG NextEntryOffset;
@ -436,7 +436,7 @@ struct SYSTEM_PROCESS_INFORMATION {
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>
struct THREAD_BASIC_INFORMATION {
union {

View File

@ -137,7 +137,7 @@ const void* GetSecurityDescriptorForNamedPipeInstance(size_t* size) {
#pragma pack(push, 1)
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;
struct {
ACL acl;

View File

@ -24,14 +24,14 @@ enum {
//!
//! Requesting `PROCESS_ALL_ACCESS` with the value defined when building
//! 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,
//! \brief This is the XP-suitable value of `THREAD_ALL_ACCESS`.
//!
//! Requesting `THREAD_ALL_ACCESS` with the value defined when building
//! 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,
};