Merge branch 'maint-0.4.4'

This commit is contained in:
Nick Mathewson 2020-07-13 10:45:04 -04:00
commit ecb43ce21c
30 changed files with 48 additions and 44 deletions

4
changes/ticket31812 Normal file
View File

@ -0,0 +1,4 @@
o Documentation:
- Replace most http:// URLs in our code and documentation with https://
URLs. (We have left unchanged the code in src/ext/, and the text in
LICENSE.) Closes ticket 31812. Patch from Jeremy Rand.

View File

@ -1,6 +1,6 @@
# clang sanitizer special case list # clang sanitizer special case list
# syntax specified in http://clang.llvm.org/docs/SanitizerSpecialCaseList.html # syntax specified in https://clang.llvm.org/docs/SanitizerSpecialCaseList.html
# for more info see http://clang.llvm.org/docs/AddressSanitizer.html # for more info see https://clang.llvm.org/docs/AddressSanitizer.html
# #
# Tor notes: This file is obsolete! # Tor notes: This file is obsolete!

View File

@ -254,7 +254,7 @@ seize this router will accomplish nothing.</p>
<p> <p>
Furthermore, this machine also serves as a carrier of email, which means that Furthermore, this machine also serves as a carrier of email, which means that
its contents are further protected under the ECPA. <a its contents are further protected under the ECPA. <a
href="http://www.law.cornell.edu/uscode/text/18/2707">18 href="https://www.law.cornell.edu/uscode/text/18/2707">18
USC 2707</a> explicitly allows for civil remedies ($1000/account USC 2707</a> explicitly allows for civil remedies ($1000/account
<i><b>plus</b></i> legal fees) <i><b>plus</b></i> legal fees)
in the event of a seizure executed without good faith or probable cause (it in the event of a seizure executed without good faith or probable cause (it
@ -272,7 +272,7 @@ used to violate the DMCA, please be aware that this machine does not host or
contain any illegal content. Also be aware that network infrastructure contain any illegal content. Also be aware that network infrastructure
maintainers are not liable for the type of content that passes over their maintainers are not liable for the type of content that passes over their
equipment, in accordance with <a equipment, in accordance with <a
href="http://www.law.cornell.edu/uscode/text/17/512">DMCA href="https://www.law.cornell.edu/uscode/text/17/512">DMCA
"safe harbor" provisions</a>. In other words, you will have just as much luck "safe harbor" provisions</a>. In other words, you will have just as much luck
sending a takedown notice to the Internet backbone providers. Please consult sending a takedown notice to the Internet backbone providers. Please consult
<a href="https://www.torproject.org/eff/tor-dmca-response">EFF's prepared <a href="https://www.torproject.org/eff/tor-dmca-response">EFF's prepared

View File

@ -341,7 +341,7 @@ General advice:
For additional useful advice (and a little bit of background), see For additional useful advice (and a little bit of background), see
[What Every Programmer Should Know About Floating-Point [What Every Programmer Should Know About Floating-Point
Arithmetic](http://floating-point-gui.de/). Arithmetic](https://floating-point-gui.de/).
A list of notable (and surprising) facts about floating point A list of notable (and surprising) facts about floating point
arithmetic is at [Floating-point arithmetic is at [Floating-point

View File

@ -224,10 +224,10 @@ Here are some additional bits of advice and rules:
> >
> * Data races > * Data races
> * Dereferencing a null/dangling raw pointer > * Dereferencing a null/dangling raw pointer
> * Reads of [undef](http://llvm.org/docs/LangRef.html#undefined-values) > * Reads of [undef](https://llvm.org/docs/LangRef.html#undefined-values)
> (uninitialized) memory > (uninitialized) memory
> * Breaking the > * Breaking the
> [pointer aliasing rules](http://llvm.org/docs/LangRef.html#pointer-aliasing-rules) > [pointer aliasing rules](https://llvm.org/docs/LangRef.html#pointer-aliasing-rules)
> with raw pointers (a subset of the rules used by C) > with raw pointers (a subset of the rules used by C)
> * `&mut T` and `&T` follow LLVMs scoped noalias model, except if the `&T` > * `&mut T` and `&T` follow LLVMs scoped noalias model, except if the `&T`
> contains an `UnsafeCell<U>`. Unsafe code must not violate these aliasing > contains an `UnsafeCell<U>`. Unsafe code must not violate these aliasing

View File

@ -28,7 +28,7 @@ have a reasonably recent clang and libfuzzer installed. At that point, you
just build with --enable-expensive-hardening and --enable-libfuzzer. That just build with --enable-expensive-hardening and --enable-libfuzzer. That
will produce a set of binaries in src/test/fuzz/lf-fuzz-* . These programs will produce a set of binaries in src/test/fuzz/lf-fuzz-* . These programs
take as input a series of directories full of fuzzing examples. For more take as input a series of directories full of fuzzing examples. For more
information on libfuzzer, see http://llvm.org/docs/LibFuzzer.html information on libfuzzer, see https://llvm.org/docs/LibFuzzer.html
Third, there's Google's OSS-Fuzz infrastructure, which expects to get all of Third, there's Google's OSS-Fuzz infrastructure, which expects to get all of
its. For more on this, see https://github.com/google/oss-fuzz and the its. For more on this, see https://github.com/google/oss-fuzz and the
@ -77,7 +77,7 @@ and then not actually use it.
Read afl/docs/notes_for_asan.txt for more details. Read afl/docs/notes_for_asan.txt for more details.
Download recidivm from http://jwilk.net/software/recidivm Download recidivm from https://jwilk.net/software/recidivm
Download the signature Download the signature
Check the signature Check the signature
```console ```console

View File

@ -22,7 +22,7 @@ and any high-quality guide to C for information on programming.)
I'm also going to assume that you know a little bit about how to use I'm also going to assume that you know a little bit about how to use
Git, or that you're able to follow one of the several excellent guides Git, or that you're able to follow one of the several excellent guides
at [git-scm](http://git-scm.org) to learn. at [git-scm](https://git-scm.org) to learn.
Most Tor developers develop using some Unix-based system, such as GNU/Linux, Most Tor developers develop using some Unix-based system, such as GNU/Linux,
BSD, or macOS. It's okay to develop on Windows if you want, but you're BSD, or macOS. It's okay to develop on Windows if you want, but you're

View File

@ -43,7 +43,7 @@ is
[The Little Book of Rust Macros](https://danielkeep.github.io/tlborm/book/index.html). [The Little Book of Rust Macros](https://danielkeep.github.io/tlborm/book/index.html).
For learning more about FFI and Rust, see Jake Goulding's For learning more about FFI and Rust, see Jake Goulding's
[Rust FFI Omnibus](http://jakegoulding.com/rust-ffi-omnibus/). [Rust FFI Omnibus](https://jakegoulding.com/rust-ffi-omnibus/).
## Compiling Tor with Rust enabled ## Compiling Tor with Rust enabled

View File

@ -11,15 +11,15 @@ Requirements:
------------- -------------
* Visual Studio 2010 * Visual Studio 2010
http://go.microsoft.com/fwlink/?LinkId=323467 https://go.microsoft.com/fwlink/?LinkId=323467
* CMake 2.8.12.2 * CMake 2.8.12.2
http://www.cmake.org/download/ https://www.cmake.org/download/
* Perl 5.16 * Perl 5.16
http://www.activestate.com/activeperl/downloads https://www.activestate.com/activeperl/downloads
* Latest stable OpenSSL tarball * Latest stable OpenSSL tarball
https://www.openssl.org/source/ https://www.openssl.org/source/
* Latest stable zlib tarball * Latest stable zlib tarball
http://zlib.net/ https://zlib.net/
* Latest stable libevent Libevent tarball * Latest stable libevent Libevent tarball
https://github.com/libevent/libevent/releases https://github.com/libevent/libevent/releases

View File

@ -4,7 +4,7 @@ The process used to create the official rpms is as follows:
You'll need to install libevent headers, usually located in package named You'll need to install libevent headers, usually located in package named
libevent-devel. Alternatively, you could download latest libevent from libevent-devel. Alternatively, you could download latest libevent from
http://libevent.org/ but that shouldn't be necessary. https://libevent.org/ but that shouldn't be necessary.
Download and Extract the latest tor source code from Download and Extract the latest tor source code from
https://www.torproject.org/download https://www.torproject.org/download

View File

@ -1,7 +1,7 @@
// Copyright (c) The Tor Project, Inc. // Copyright (c) The Tor Project, Inc.
// See LICENSE for licensing information // See LICENSE for licensing information
// This is an asciidoc file used to generate the manpage/html reference. // This is an asciidoc file used to generate the manpage/html reference.
// Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html // Learn asciidoc on https://www.methods.co.nz/asciidoc/userguide.html
:man source: Tor :man source: Tor
:man manual: Tor Manual :man manual: Tor Manual
tor-gencert(1) tor-gencert(1)

View File

@ -1,7 +1,7 @@
// Copyright (c) The Tor Project, Inc. // Copyright (c) The Tor Project, Inc.
// See LICENSE for licensing information // See LICENSE for licensing information
// This is an asciidoc file used to generate the manpage/html reference. // This is an asciidoc file used to generate the manpage/html reference.
// Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html // Learn asciidoc on https://www.methods.co.nz/asciidoc/userguide.html
:man source: Tor :man source: Tor
:man manual: Tor Manual :man manual: Tor Manual
tor-print-ed-signing-cert(1) tor-print-ed-signing-cert(1)

View File

@ -1,7 +1,7 @@
// Copyright (c) The Tor Project, Inc. // Copyright (c) The Tor Project, Inc.
// See LICENSE for licensing information // See LICENSE for licensing information
// This is an asciidoc file used to generate the manpage/html reference. // This is an asciidoc file used to generate the manpage/html reference.
// Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html // Learn asciidoc on https://www.methods.co.nz/asciidoc/userguide.html
:man source: Tor :man source: Tor
:man manual: Tor Manual :man manual: Tor Manual
tor-resolve(1) tor-resolve(1)

View File

@ -1,7 +1,7 @@
// Copyright (c) The Tor Project, Inc. // Copyright (c) The Tor Project, Inc.
// See LICENSE for licensing information // See LICENSE for licensing information
// This is an asciidoc file used to generate the manpage/html reference. // This is an asciidoc file used to generate the manpage/html reference.
// Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html // Learn asciidoc on https://www.methods.co.nz/asciidoc/userguide.html
:man source: Tor :man source: Tor
:man manual: Tor Manual :man manual: Tor Manual
// compat-mode tells Asciidoctor tools to process this as legacy AsciiDoc // compat-mode tells Asciidoctor tools to process this as legacy AsciiDoc

View File

@ -1,7 +1,7 @@
// Copyright (c) The Tor Project, Inc. // Copyright (c) The Tor Project, Inc.
// See LICENSE for licensing information // See LICENSE for licensing information
// This is an asciidoc file used to generate the manpage/html reference. // This is an asciidoc file used to generate the manpage/html reference.
// Learn asciidoc on http://www.methods.co.nz/asciidoc/userguide.html // Learn asciidoc on https://www.methods.co.nz/asciidoc/userguide.html
:man source: Tor :man source: Tor
:man manual: Tor Manual :man manual: Tor Manual
torify(1) torify(1)

View File

@ -1,5 +1,5 @@
# =========================================================================== # ===========================================================================
# http://www.gnu.org/software/autoconf-archive/ax_check_sign.html # https://www.gnu.org/software/autoconf-archive/ax_check_sign.html
# =========================================================================== # ===========================================================================
# #
# SYNOPSIS # SYNOPSIS

View File

@ -148,7 +148,7 @@ path to pkg-config.
_PKG_TEXT _PKG_TEXT
To get pkg-config, see <http://pkg-config.freedesktop.org/>.])[]dnl To get pkg-config, see <https://pkg-config.freedesktop.org/>.])[]dnl
]) ])
else else
$1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS $1[]_CFLAGS=$pkg_cv_[]$1[]_CFLAGS

View File

@ -3437,7 +3437,7 @@ options_validate_cb(const void *old_options_, void *options_, char **msg)
"UseEntryGuards is disabled, but you have configured one or more " "UseEntryGuards is disabled, but you have configured one or more "
"hidden services on this Tor instance. Your hidden services " "hidden services on this Tor instance. Your hidden services "
"will be very easy to locate using a well-known attack -- see " "will be very easy to locate using a well-known attack -- see "
"http://freehaven.net/anonbib/#hs-attack06 for details."); "https://freehaven.net/anonbib/#hs-attack06 for details.");
} }
if (options->NumPrimaryGuards && options->NumEntryGuards && if (options->NumPrimaryGuards && options->NumEntryGuards &&

View File

@ -603,7 +603,7 @@ nt_service_install(int argc, char **argv)
/* Genericity is apparently _so_ last year in Redmond, where some /* Genericity is apparently _so_ last year in Redmond, where some
* accounts are accounts that you can look up, and some accounts * accounts are accounts that you can look up, and some accounts
* are magic and undetectable via the security subsystem. See * are magic and undetectable via the security subsystem. See
* http://msdn2.microsoft.com/en-us/library/ms684188.aspx * https://msdn2.microsoft.com/en-us/library/ms684188.aspx
*/ */
printf("Running on a Post-Win2K OS, so we'll assume that the " printf("Running on a Post-Win2K OS, so we'll assume that the "
"LocalService account exists.\n"); "LocalService account exists.\n");

View File

@ -9,7 +9,7 @@
# #
# You should have received a copy of the CC0 legalcode along with this # You should have received a copy of the CC0 legalcode along with this
# work in doc/cc0.txt. If not, see # work in doc/cc0.txt. If not, see
# <http://creativecommons.org/publicdomain/zero/1.0/>. # <https://creativecommons.org/publicdomain/zero/1.0/>.
# Nick Mathewson is responsible for this kludge, but takes no # Nick Mathewson is responsible for this kludge, but takes no
# responsibility for it. # responsibility for it.

View File

@ -969,7 +969,7 @@ circuit_build_times_update_state(const circuit_build_times_t *cbt,
/** /**
* Shuffle the build times array. * Shuffle the build times array.
* *
* Adapted from http://en.wikipedia.org/wiki/Fisher-Yates_shuffle * Adapted from https://en.wikipedia.org/wiki/Fisher-Yates_shuffle
*/ */
static void static void
circuit_build_times_shuffle_and_store_array(circuit_build_times_t *cbt, circuit_build_times_shuffle_and_store_array(circuit_build_times_t *cbt,
@ -1180,7 +1180,7 @@ circuit_build_times_parse_state(circuit_build_times_t *cbt,
/** /**
* Estimates the Xm and Alpha parameters using * Estimates the Xm and Alpha parameters using
* http://en.wikipedia.org/wiki/Pareto_distribution#Parameter_estimation * https://en.wikipedia.org/wiki/Pareto_distribution#Parameter_estimation
* *
* The notable difference is that we use mode instead of min to estimate Xm. * The notable difference is that we use mode instead of min to estimate Xm.
* This is because our distribution is frechet-like. We claim this is * This is because our distribution is frechet-like. We claim this is
@ -1195,7 +1195,7 @@ circuit_build_times_update_alpha(circuit_build_times_t *cbt)
int n=0,i=0,abandoned_count=0; int n=0,i=0,abandoned_count=0;
build_time_t max_time=0; build_time_t max_time=0;
/* http://en.wikipedia.org/wiki/Pareto_distribution#Parameter_estimation */ /* https://en.wikipedia.org/wiki/Pareto_distribution#Parameter_estimation */
/* We sort of cheat here and make our samples slightly more pareto-like /* We sort of cheat here and make our samples slightly more pareto-like
* and less frechet-like. */ * and less frechet-like. */
cbt->Xm = circuit_build_times_get_xm(cbt); cbt->Xm = circuit_build_times_get_xm(cbt);
@ -1267,9 +1267,9 @@ circuit_build_times_update_alpha(circuit_build_times_t *cbt)
* We use it to calculate the timeout and also to generate synthetic * We use it to calculate the timeout and also to generate synthetic
* values of time for circuits that timeout before completion. * values of time for circuits that timeout before completion.
* *
* See http://en.wikipedia.org/wiki/Quantile_function, * See https://en.wikipedia.org/wiki/Quantile_function,
* http://en.wikipedia.org/wiki/Inverse_transform_sampling and * https://en.wikipedia.org/wiki/Inverse_transform_sampling and
* http://en.wikipedia.org/wiki/Pareto_distribution#Generating_a_ * https://en.wikipedia.org/wiki/Pareto_distribution#Generating_a_
* random_sample_from_Pareto_distribution * random_sample_from_Pareto_distribution
* That's right. I'll cite wikipedia all day long. * That's right. I'll cite wikipedia all day long.
* *

View File

@ -42,7 +42,7 @@
* circuit scheduler. It was supposed to prioritize circuits across many * circuit scheduler. It was supposed to prioritize circuits across many
* channels, but wasn't effective. It is preserved in scheduler_vanilla.c. * channels, but wasn't effective. It is preserved in scheduler_vanilla.c.
* *
* [0]: http://www.robgjansen.com/publications/kist-sec2014.pdf * [0]: https://www.robgjansen.com/publications/kist-sec2014.pdf
* *
* Then we actually got around to implementing KIST for real. We decided to * Then we actually got around to implementing KIST for real. We decided to
* modularize the scheduler so new ones can be implemented. You can find KIST * modularize the scheduler so new ones can be implemented. You can find KIST

View File

@ -11,7 +11,7 @@
* The main advantage of tor_timer_t over using libevent's timers is that * The main advantage of tor_timer_t over using libevent's timers is that
* they're way more efficient if we need to have thousands or millions of * they're way more efficient if we need to have thousands or millions of
* them. For more information, see * them. For more information, see
* http://www.25thandclement.com/~william/projects/timeout.c.html * https://www.25thandclement.com/~william/projects/timeout.c.html
* *
* Periodic timers are available in the backend, but I've turned them off. * Periodic timers are available in the backend, but I've turned them off.
* We can turn them back on if needed. * We can turn them back on if needed.

View File

@ -29,7 +29,7 @@ sample_laplace_distribution(double mu, double b, double p)
tor_assert(p >= 0.0 && p < 1.0); tor_assert(p >= 0.0 && p < 1.0);
/* This is the "inverse cumulative distribution function" from: /* This is the "inverse cumulative distribution function" from:
* http://en.wikipedia.org/wiki/Laplace_distribution */ * https://en.wikipedia.org/wiki/Laplace_distribution */
if (p <= 0.0) { if (p <= 0.0) {
/* Avoid taking log(0.0) == -INFINITY, as some processors or compiler /* Avoid taking log(0.0) == -INFINITY, as some processors or compiler
* options can cause the program to trap. */ * options can cause the program to trap. */

View File

@ -85,7 +85,7 @@ tor_set_max_memlock(void)
{ {
/* Future consideration for Windows is probably SetProcessWorkingSetSize /* Future consideration for Windows is probably SetProcessWorkingSetSize
* This is similar to setting the memory rlimit of RLIMIT_MEMLOCK * This is similar to setting the memory rlimit of RLIMIT_MEMLOCK
* http://msdn.microsoft.com/en-us/library/ms686234(VS.85).aspx * https://msdn.microsoft.com/en-us/library/ms686234(VS.85).aspx
*/ */
struct rlimit limit; struct rlimit limit;
@ -128,7 +128,7 @@ tor_mlockall(void)
* Future consideration for Windows may be VirtualLock * Future consideration for Windows may be VirtualLock
* VirtualLock appears to implement mlock() but not mlockall() * VirtualLock appears to implement mlock() but not mlockall()
* *
* http://msdn.microsoft.com/en-us/library/aa366895(VS.85).aspx * https://msdn.microsoft.com/en-us/library/aa366895(VS.85).aspx
*/ */
#ifdef HAVE_UNIX_MLOCKALL #ifdef HAVE_UNIX_MLOCKALL
@ -190,7 +190,7 @@ set_max_file_descriptors(rlim_t limit, int *max_out)
/* Define some maximum connections values for systems where we cannot /* Define some maximum connections values for systems where we cannot
* automatically determine a limit. Re Cygwin, see * automatically determine a limit. Re Cygwin, see
* http://archives.seul.org/or/talk/Aug-2006/msg00210.html * https://archives.seul.org/or/talk/Aug-2006/msg00210.html
* For an iPhone, 9999 should work. For Windows and all other unknown * For an iPhone, 9999 should work. For Windows and all other unknown
* systems we use 15000 as the default. */ * systems we use 15000 as the default. */
#ifndef HAVE_GETRLIMIT #ifndef HAVE_GETRLIMIT

View File

@ -1,5 +1,5 @@
# This is the ed25519 implementation from # This is the ed25519 implementation from
# http://ed25519.cr.yp.to/python/ed25519.py . # https://ed25519.cr.yp.to/python/ed25519.py .
# It is in the public domain. # It is in the public domain.
# #
# It isn't constant-time. Don't use it except for testing. Also, see # It isn't constant-time. Don't use it except for testing. Also, see

View File

@ -342,7 +342,7 @@ test_crypto_scrypt_vectors(void *arg)
#endif #endif
/* Test vectors from /* Test vectors from
http://tools.ietf.org/html/draft-josefsson-scrypt-kdf-00 section 11. https://tools.ietf.org/html/draft-josefsson-scrypt-kdf-00 section 11.
Note that the names of 'r' and 'N' are switched in that section. Or Note that the names of 'r' and 'N' are switched in that section. Or
possibly in libscrypt. possibly in libscrypt.

View File

@ -2362,7 +2362,7 @@ test_options_validate__rend(void *ignored)
expect_log_msg("UseEntryGuards is disabled, but you" expect_log_msg("UseEntryGuards is disabled, but you"
" have configured one or more hidden services on this Tor " " have configured one or more hidden services on this Tor "
"instance. Your hidden services will be very easy to locate using" "instance. Your hidden services will be very easy to locate using"
" a well-known attack -- see http://freehaven.net/anonbib/#hs-" " a well-known attack -- see https://freehaven.net/anonbib/#hs-"
"attack06 for details.\n"); "attack06 for details.\n");
tor_free(msg); tor_free(msg);
@ -2378,7 +2378,7 @@ test_options_validate__rend(void *ignored)
expect_no_log_msg("UseEntryGuards is disabled, but you" expect_no_log_msg("UseEntryGuards is disabled, but you"
" have configured one or more hidden services on this Tor " " have configured one or more hidden services on this Tor "
"instance. Your hidden services will be very easy to locate using" "instance. Your hidden services will be very easy to locate using"
" a well-known attack -- see http://freehaven.net/anonbib/#hs-" " a well-known attack -- see https://freehaven.net/anonbib/#hs-"
"attack06 for details.\n"); "attack06 for details.\n");
free_options_test_data(tdata); free_options_test_data(tdata);

View File

@ -893,7 +893,7 @@ test_uniform_interval(void *arg)
* *
* NIST/SEMATECH e-Handbook of Statistical Methods, Section * NIST/SEMATECH e-Handbook of Statistical Methods, Section
* 1.3.6.7.4 `Critical Values of the Chi-Square Distribution', * 1.3.6.7.4 `Critical Values of the Chi-Square Distribution',
* <http://www.itl.nist.gov/div898/handbook/eda/section3/eda3674.htm>, * <https://www.itl.nist.gov/div898/handbook/eda/section3/eda3674.htm>,
* retrieved 2018-10-28. * retrieved 2018-10-28.
*/ */

View File

@ -5651,7 +5651,7 @@ test_util_hostname_validation(void *arg)
tt_assert(string_is_valid_nonrfc_hostname("luck.y13.")); tt_assert(string_is_valid_nonrfc_hostname("luck.y13."));
// We allow punycode TLDs. For examples, see // We allow punycode TLDs. For examples, see
// http://data.iana.org/TLD/tlds-alpha-by-domain.txt // https://data.iana.org/TLD/tlds-alpha-by-domain.txt
tt_assert(string_is_valid_nonrfc_hostname("example.xn--l1acc")); tt_assert(string_is_valid_nonrfc_hostname("example.xn--l1acc"));
done: done: