Commit Graph

9486 Commits

Author SHA1 Message Date
David Goulet
a1dec44723 Merge branch 'tor-github/pr/1697' 2020-01-30 13:48:36 -05:00
David Goulet
e4245e2a6b hs-v2: Turn logs into protocol warning
All of those can be triggered remotely so change them to protocol warnings.

Fixes #32706

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-01-30 11:14:50 -05:00
Nick Mathewson
af76b9dcc6 Merge branch 'bug32673_035' 2020-01-30 09:58:23 -05:00
Nick Mathewson
9ea0c0bfcd Merge branch 'bug33093_logging_035' 2020-01-30 09:55:40 -05:00
Nick Mathewson
2a1f8ea2e7 Do not set "once" when calling tor_bug_occurred_ from BUG().
The "once" flag makes tor_bug_occurred_() say that future instances
of the warning will be suppressed -- but that's not something that
BUG() does.  Fixes bug 33095; bugfix on 0.4.1.1-alpha.
2020-01-30 09:43:34 -05:00
Nick Mathewson
7bd671811e Rewrite control_event_signal() to use signal_table.
When we added the ACTIVE and DORMANT virtual signals, we taught the
signal command to handle them, but we didn't teach SIGNAL event to
report them.

To solve this problem and prevent it from recurring, this patch
revises the implementation of control_event_signal() to use the same
signal_table that handle_control_signal() uses.  This way, the two
controller commands can't become out of sync.

Fixes bug 33104; bugfix on 0.4.0.1-alpha.
2020-01-30 09:29:07 -05:00
teor
7b6be02a92
Merge branch 'maint-0.4.1' into maint-0.4.2 2020-01-30 07:55:12 +10:00
teor
6b392c333a
Merge branch 'maint-0.4.0' into maint-0.4.1 2020-01-30 07:55:05 +10:00
teor
65825018c7
Merge branch 'maint-0.3.5' into maint-0.4.0 2020-01-30 07:54:58 +10:00
teor
9b0b2aef80
Merge remote-tracking branch 'tor-github/pr/1634' into maint-0.4.1 2020-01-30 07:54:39 +10:00
teor
41d52e9cd8
Merge remote-tracking branch 'tor-github/pr/1614' into maint-0.3.5 2020-01-30 07:53:53 +10:00
Nick Mathewson
2985a6018f buf_read_from_tls: Return ERROR_MISC, not WANTWRITE, on BUG().
Fixes bug 32673; bugfix on 0.3.0.4-alpha.  We introduced these
checks in ee5471f9aa to help diagnose 21369, but we used "-1"
when "TOR_TLS_ERROR_MISC" would have been correct.  Found by opara.

I don't think that this is actually getting triggered in the wild,
but if it were, it could cause nasty behavior: spurious
WANTREAD/WANTWRITE returns have a way of turning into CPU-eating
busy-loops.
2020-01-29 08:50:03 -05:00
Nick Mathewson
1f163fcbde Change BUG() messages in buf_flush_to_tls() to IF_BUG_ONCE()
We introduced these BUG() checks in b0ddaac074 to prevent a
recurrence of bug 23690.  But there's a report of the BUG() message
getting triggered and filling up the disk.  Let's change it to
IF_BUG_ONCE().

Fixes bug 33093; bugfix on 0.3.2.2-alpha.
2020-01-29 08:31:22 -05:00
teor
f3ecf0b0a4
changes: file for 33091 2020-01-29 18:27:53 +10:00
Nick Mathewson
99671c0dae Merge remote-tracking branch 'tor-github/pr/1680' 2020-01-28 08:15:21 -05:00
Nick Mathewson
27099ffe6a Merge remote-tracking branch 'tor-github/pr/1689' 2020-01-28 07:55:34 -05:00
rl1987
9879eae17e Remove contrib/dist/rc.subr 2020-01-28 20:32:40 +08:00
teor
9d771ccc86
Travis: Stop allowing stem test failures
Stop allowing failures on the Travis CI stem tests job. It looks like
all the stem hangs we were seeing are now fixed, but let's make sure we
see them if they happen again.

Closes ticket 33075.
2020-01-28 19:56:56 +10:00
Taylor Yu
f10e6b7234 changes file for ticket 33039 2020-01-24 12:20:52 -06:00
David Goulet
21d0d81d82 Merge branch 'tor-github/pr/1677' 2020-01-22 14:32:30 -05:00
Alexander Færøy
35721b38e4 Lower log level of standard error messages from PT's.
This patch lowers the log level of error messages from PT processes from
warning to debug.

See: https://bugs.torproject.org/33005
2020-01-22 14:32:13 -05:00
rl1987
a207fd7226 Add changes file 2020-01-22 20:26:04 +08:00
Nick Mathewson
9aebb252a1 Initial incorporation of 0.4.3.x changelogs. 2020-01-21 11:35:59 -05:00
Nick Mathewson
722a6d3eb8 Remove changes files that already appeared in 0.4.2.5 2020-01-21 11:33:26 -05:00
David Goulet
ff93133403 Merge branch 'tor-github/pr/1675' 2020-01-20 10:47:49 -05:00
David Goulet
ca8b90a843 Merge branch 'tor-github/pr/1668' 2020-01-20 10:44:03 -05:00
teor
bf2a399fc0
config: Make clients tell dual-stack exits they prefer IPv6
Make Tor clients tell dual-stack exits that they prefer IPv6
connections.

This change is equivalent to setting the PreferIPv6 flag on
SOCKSPorts (and most other listener ports). Tor Browser has
been setting this flag for some time, and we want to remove a
client distinguisher at exits.

Also update the man page, putting all the IP flags in their
non-default forms.

Closes ticket 32637.
2020-01-20 16:36:58 +10:00
teor
b23b8fa4a1
Merge remote-tracking branch 'tor-github/pr/1673' 2020-01-20 15:52:40 +10:00
teor
3851128e88
Merge branch 'ticket20218_rebased_squashed' into ticket20218_merged
* ticket 32695 removed networkstatus_consensus_has_ipv6(),
  keep that change in master.
* ticket 20218 modifies the function name and comment for
  routerstatus_has_visibly_changed(), keep that change
  in ticket20218_rebased_squashed.
2020-01-20 15:50:54 +10:00
teor
0b82b5ee42
Merge remote-tracking branch 'tor-github/pr/1671' 2020-01-20 15:40:42 +10:00
Nick Mathewson
4f88eb849c Fix a small lint-changes warning. 2020-01-17 08:50:04 -05:00
Nick Mathewson
5086b16055 Merge remote-tracking branch 'tor-github/pr/1529' 2020-01-17 08:49:56 -05:00
Nick Mathewson
c8b6392b4e Initialize publish/subscribe code when running as an NT service.
Fixes bug 32778; bugfix on 0.4.1.1-alpha.
2020-01-17 08:41:52 -05:00
Nick Mathewson
eef021e12d Revert "Use tor_api.h entry points in ntmain.c."
This reverts commit dca2629480.
2020-01-17 08:39:56 -05:00
Nick Mathewson
7f03ba06d8 Merge branch 'ticket32806' 2020-01-17 08:37:33 -05:00
Nick Mathewson
abd9ae48ac Merge branch 'ticket32487_squashed_and_merged' 2020-01-17 07:50:50 -05:00
Nick Mathewson
01fdc3240f Merge branch 'ticket32695_squashed' 2020-01-16 16:42:01 -05:00
Nick Mathewson
441a048a3a Remove support for now-obsolete consensus methods before 28.
Closes ticket 32695.
2020-01-16 16:41:53 -05:00
Victor Nepveu
594e5ce635 Refactor routerstatus_has_changed function
- Check all fields that might change in a routerstatus
- Document the refactoring

Signed-off-by: Victor Nepveu <victor.nepveu@imt-atlantique.net>
2020-01-16 10:39:15 -05:00
Nick Mathewson
3c89622e39 Merge branch 'ticket32487_squashed' into ticket32487_squashed_and_merged
Resolved conflicts in src/core/include.am
2020-01-16 07:57:37 -05:00
Nick Mathewson
a1bc471dd4 Add a changes file for disabling the dircache code. 2020-01-16 07:48:17 -05:00
teor
fb541ffca3
Merge branch 'maint-0.4.0' into maint-0.4.1 2020-01-16 10:00:40 +10:00
teor
026f068bb3
Merge branch 'maint-0.3.5' into maint-0.4.0 2020-01-16 10:00:32 +10:00
teor
19954cffd7
Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.3.5 2020-01-16 09:57:27 +10:00
Alexander Færøy
ca9a5390ff Don't escape the bridge distribution value.
We already check if there are invalid values in
check_bridge_distribution_setting() and reject the value if that is the
case. We can therefore only have strings of [A-Z] | [a-z] | [0-9] | '-'
| '_' here which is according to the directory specification.

See: https://bugs.torproject.org/32753
2020-01-15 23:41:58 +00:00
Nick Mathewson
5e70c27e85 Merge remote-tracking branch 'tor-github/pr/1657' 2020-01-15 13:10:14 -05:00
teor
5fa7c1b13f
Merge remote-tracking branch 'tor-github/pr/1661' 2020-01-16 00:46:31 +10:00
David Goulet
b958529dbf Merge branch 'tor-github/pr/1633' 2020-01-14 14:03:21 -05:00
Nick Mathewson
08bbb6b8d9 Merge branch 'ticket32892_043_01_squashed' 2020-01-14 13:31:20 -05:00
David Goulet
59dac38ebe chan: Remove dead var cell handler from channel_t
The variable lenght cells are handled directly by
channel_tls_handle_var_cell() from an OR connection reading its inbuf. The
channel var cell handler (agnostic) was never used.

Closes #32892

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-01-14 13:31:08 -05:00
Nick Mathewson
165a92e33f Replace an assertion with a check-and-log
We hit this assertion with bug 32868, but I'm stymied figuring out
how we wound up with a routerstatus like this.  This patch is a
diagnostic to attempt to figure out what is going on, and to avoid a
crash in the meantime.
2020-01-14 13:16:39 -05:00
Nick Mathewson
c948db4252 Merge remote-tracking branch 'tor-github/pr/1636' 2020-01-14 12:46:14 -05:00
Nick Mathewson
c2dc94d8eb Merge branch 'ticket32883' 2020-01-14 12:42:41 -05:00
Nick Mathewson
dec11793ba Merge branch 'ticket32825_squashed' 2020-01-14 12:42:19 -05:00
Nick Mathewson
8ab9f93993 changes file for 32825 2020-01-14 12:42:13 -05:00
Nick Mathewson
75741c6b3a Merge remote-tracking branch 'tor-github/pr/1659' 2020-01-14 12:40:07 -05:00
teor
8095c785f1
Merge branch 'maint-0.4.2' 2020-01-14 17:41:44 +10:00
teor
7e111d0eaa
practracker: print a notice to stderr when disabled
When TOR_DISABLE_PRACTRACKER is set, print a message to
stderr when skipping practracker checks.

Part of 32705.
2020-01-14 17:41:00 +10:00
Neel Chauhan
8d288eb3a7 Deprecate the ClientAutoIPv6ORPort option 2020-01-13 14:55:16 -08:00
Nick Mathewson
6b1592b564 test_practracker.sh: never disable practracker
When practracker is disabled, its output will be empty.  We don't
want that happening during our tests.

Fixes bug 32705; bugfix on 0.4.2.1-alpha, when test_practracker.sh
was introduced.
2020-01-13 16:17:51 -05:00
Nick Mathewson
8b46372f26 Merge branch 'pr_1643_squashed' 2020-01-13 13:26:23 -05:00
Swati Thacker
ec52c8ed69 manpage: alphabetize client options
Alphabetize client options in tor.1.txt.  Closes ticket32846.
2020-01-13 13:26:12 -05:00
Nick Mathewson
73ac1add3f Split core/include.am into per-subdirectory include.am files
Closes ticket 32137.
2020-01-13 09:34:17 -05:00
Nick Mathewson
5888db4967 Merge branch 'disable_ns_macro' 2020-01-09 16:02:41 -05:00
Nick Mathewson
93894fb770 Merge branch 'ticket22029_attempt_squashed' 2020-01-09 15:27:32 -05:00
Neel Chauhan
686c5e90a3 Add changes file for Bug #22029 2020-01-09 15:27:26 -05:00
Nick Mathewson
079912de4d Changes file for ticket 32887 (NS*() removal) 2020-01-09 11:51:46 -05:00
Nick Mathewson
e45810113b Merge branch 'pre_formatter_cleanups_squashed' 2020-01-09 07:32:39 -05:00
Nick Mathewson
8b2041c343 changes file for 32764. 2020-01-09 07:30:35 -05:00
teor
1fd27155d4 changes: file for 32845 2020-01-07 10:16:08 -05:00
Nick Mathewson
1b63eea66c Merge branch 'haxxpop/tcp_proxy_squashed' into tcp_proxy_squshed_and_merged 2020-01-06 13:41:20 -05:00
Suphanat Chunhapanya
14d781fff6 circuit: Add change file 2020-01-06 13:39:10 -05:00
Nick Mathewson
e08d07692f Add documentation about building a TAGS file.
Patch from opara.  Closes ticket 32779.
2020-01-06 13:31:30 -05:00
Nick Mathewson
1f498220bd Merge remote-tracking branch 'tor-github/pr/1620' 2020-01-06 13:28:10 -05:00
Nick Mathewson
48f7341783 Merge branch 'maint-0.4.2' 2020-01-06 13:24:01 -05:00
Nick Mathewson
6da989cfe8 Merge remote-tracking branch 'tor-github/pr/1612' into maint-0.4.2 2020-01-06 13:20:57 -05:00
Nick Mathewson
4f6901d7cc When initializing pthreads, always set the main thread.
Fixes bug 32884.  This is a bugfix on 0.3.3.1-alpha, when we started
allowing restart-in-process with tor_api.h.
2020-01-06 09:37:12 -05:00
Nick Mathewson
dca2629480 Use tor_api.h entry points in ntmain.c.
When we updated main.c to use the same entry points as tor_api.h, we
didn't update ntmain.c.  This led to bugs as the two got out of
sync.

There are two calls that we drop in this patch: first, I drop the
call to set_main_thread(), since that's redundant with the init
function in compat_winthreads.c (but see #32884).  Second, I drop
the check for CMD_RUN_TOR: I'll add that back with a subsequent
commit.

Closes ticket 32883.
2020-01-06 09:24:15 -05:00
Nick Mathewson
54eec5342d Initialize publish/subscribe code when running as an NT service.
Fixes bug 32778; bugfix on 0.4.1.1-alpha.
2020-01-06 09:22:57 -05:00
Nick Mathewson
13216f848a Merge branch 'maint-0.4.2' 2020-01-06 08:08:59 -05:00
Nick Mathewson
2d8d6d1ebf Merge branch 'maint-0.4.1' into maint-0.4.2 2020-01-06 08:08:59 -05:00
Nick Mathewson
f5461a4bdf update changes file to pass "make check-changes" 2020-01-06 08:08:48 -05:00
Nick Mathewson
16e94dc7a7 Merge branch 'maint-0.4.1' into maint-0.4.2 2020-01-06 08:06:54 -05:00
Peter Gerber
b9d81282e0 Fix sandbox crash during reload of logging configuration
Allow calls to dup() which was introduced in commit a22fbab986.

From a security perspective, I don't think this should impact the
security of the sandbox significantly. As far as I can tell, there
is nothing an adversary can do with a duplicated FD that can't be
done with the original.
2020-01-05 15:24:45 +00:00
rl1987
52bbc7fb49 Add changes file 2019-12-30 13:02:04 +07:00
Nick Mathewson
33a0f15b21 Merge branch 'bug29819_035' 2019-12-20 07:37:47 -05:00
teor
7237637871
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-20 10:12:43 +10:00
teor
7e17c24381
Merge remote-tracking branch 'tor-github/pr/1606' 2019-12-20 10:12:18 +10:00
Nick Mathewson
42e31b5c45 Mark TestingEstimatedDescriptorPropagationTime as obsolete.
We stopped looking at this option in 85cf6dcba3, back when we
implemented the minimal pieces of prop275.  Since then, we've had
code to validate and adjust this option, and to give it a different
value in testing networks, but the option hasn't actually done
anything.

We can safely mark it as OBSOLETE, since doing so does not make any
old configuration get rejected.

Closes ticket 32807.
2019-12-19 11:04:48 -05:00
Nick Mathewson
3663df6937 changes file for ticket 32806 2019-12-19 10:49:57 -05:00
George Kadianakis
b7304027f6 Merge branch 'tor-github/pr/1587' 2019-12-18 14:19:15 +02:00
Nick Mathewson
08bfc2d71a Merge branch 'ticket32172_once_again' 2019-12-17 15:02:06 -05:00
Peter Gerber
0d64bafcfe Correct how we use libseccomp
This fixes a startup crash with libseccomp v2.4.0 if Sandbox is
set to 1.
2019-12-17 09:47:28 -05:00
Nick Mathewson
5f9808d1d7 Merge remote-tracking branch 'tor-github/pr/1596' 2019-12-17 09:39:50 -05:00
teor
11c8c4f23c
Merge branch 'pr1590_amended_commit' 2019-12-17 09:49:30 +10:00
Nick Mathewson
b4977d1aa9 Fix formatting in tor_assertf() message in struct_check_magic().
Closes 32771; bugfix on 0.4.2.1-alpha.
2019-12-16 15:31:23 -05:00
Nick Mathewson
df5c81fec0 Merge branch 'bug32765_041' into bug32771_042 2019-12-16 15:27:18 -05:00
Nick Mathewson
1b619a627c Use CHECK_PRINTF() for printf-like functions in util_bug.h 2019-12-16 15:14:13 -05:00
George Kadianakis
e6bffeca64 Merge branch 'tor-github/pr/1591' 2019-12-16 22:01:10 +02:00
Mike Perry
e01e199005 Add changes file 2019-12-16 22:00:54 +02:00
teor
55b25ee6c6
Merge branch 'bug32240_32242_042' into bug32240_32242_master
Merge:
* libzstd-dev from ticket32242_042
* coccinelle from master
2019-12-16 09:25:38 +10:00
teor
8b5c11fbf6
Merge branch 'bug32240_32242_041' into bug32240_32242_042 2019-12-16 09:23:46 +10:00
teor
84c4ede052
Merge branch 'bug32240_32242_040' into bug32240_32242_041 2019-12-16 09:23:41 +10:00
teor
d96b35d663
Merge branch 'bug32240_32242_035' into bug32240_32242_040
Merge:
* libzstd-dev from ticket32242_035
* shellcheck from maint-0.4.0
2019-12-16 09:22:52 +10:00
teor
0b3763612c
Merge remote-tracking branch 'tor-github/pr/1459' into bug32240_32242_035 2019-12-16 09:21:05 +10:00
teor
86ca3194aa
Merge branch 'bug32240_042' into bug32240_master 2019-12-16 09:17:02 +10:00
teor
da404910a7
Merge branch 'bug32240_041' into bug32240_042
Merge:
* CHUTNEY_TOR_SANDBOX=0 from bug32240_041
* RUST_VERSION from maint-0.4.2
2019-12-16 09:15:42 +10:00
teor
4a34fd5b74
Merge branch 'bug32240_040' into bug32240_041 2019-12-16 09:14:38 +10:00
teor
e2f78396f4
Merge branch 'bug32240_035' into bug32240_040 2019-12-16 09:14:32 +10:00
teor
75096de4c7
Merge branch 'bug32240_029' into bug32240_035
Merge
* Chutney Trusty deletion in bug32240_029
* NSS addition in maint-0.3.5
2019-12-16 09:09:16 +10:00
teor
37b04aeed7
changes: file for 32240 2019-12-16 09:06:25 +10:00
teor
5082eeba38
Merge branch 'maint-0.4.2' 2019-12-16 08:16:28 +10:00
teor
ffccf6fc55
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-16 08:16:12 +10:00
teor
7481172983
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-16 08:16:04 +10:00
teor
648399d6c2
Merge remote-tracking branch 'tor-github/pr/1505' 2019-12-16 08:15:19 +10:00
teor
933b0c1b1b
Merge remote-tracking branch 'tor-github/pr/1577' into maint-0.4.2 2019-12-16 08:14:29 +10:00
teor
05908d57f6
Merge remote-tracking branch 'tor-github/pr/1576' into maint-0.3.5 2019-12-16 08:14:04 +10:00
teor
7dd5946094
Merge remote-tracking branch 'tor-github/pr/1575' into maint-0.2.9 2019-12-16 08:13:38 +10:00
Taylor Yu
4bc698f776 changes file for ticket 32708 2019-12-12 10:44:21 -06:00
teor
f9a243a9d4
changes: update changes file for 32609 2019-12-12 16:12:18 +10:00
Taylor Yu
0fd49c6663 Document high-level architecture goals
Create a high-level description of the long-term software architecture
goals.  Closes ticket 32206.
2019-12-10 16:47:38 -06:00
Nick Mathewson
fefa08df75 Add a changes file for ticket 32172. 2019-12-10 15:56:06 -05:00
Neel Chauhan
a8b5b9a1bc In cancel_descriptor_fetches(), use connection_list_by_type_purpose() instead of connection_list_by_type_state() 2019-12-10 12:00:38 -05:00
George Kadianakis
a38014e5c6 Merge branch 'tor-github/pr/1581' 2019-12-10 18:34:00 +02:00
David Goulet
fc32349adc hs-v3: Handle client rendezvous circuit timeout
With v3, the "pending_final_cpath" of a circuit is always NULL which means
that for v3, established client rendezvous circuit waiting for the intro point
to ACK, will always end up timing out quickly.

This can increase the delays to which you connect to a service since in order
to succeed, the rendezvous circuit needs to fully established
(CIRCUIT_PURPOSE_C_REND_JOINED) within the cutoff of the introduction circuit
as well which is these days around 2-3 seconds.

Fixes #32021

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-12-10 18:33:48 +02:00
Taylor Yu
7bd7089988 changes file for ticket 30984 2019-12-09 09:55:04 -06:00
Nick Mathewson
e93801bfe6 Port changelog tools to python 3
Closes ticket 32704.
2019-12-09 10:53:48 -05:00
Nick Mathewson
089466eff3 Merge branch 'maint-0.4.2' 2019-12-06 16:02:08 -05:00
Nick Mathewson
3248630fc8 Merge branch 'maint-0.4.1' into maint-0.4.2 2019-12-06 16:02:08 -05:00
Nick Mathewson
6513102b9d Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-06 16:02:08 -05:00
Nick Mathewson
c7ca3fc186 Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-06 16:02:07 -05:00
Nick Mathewson
74cae547e5 Merge branch 'maint-0.2.9' into maint-0.3.5 2019-12-06 16:02:07 -05:00
Karsten Loesing
b7b467d3af Update geoip and geoip6 to the December 3 2019 database. 2019-12-06 11:50:35 +01:00
teor
f86d508d49
changes: file for 32629 2019-12-06 10:52:19 +10:00
teor
a277f28947
changes: file for 32629 2019-12-06 10:51:43 +10:00
teor
b84e7715da
changes: file for 32629 2019-12-06 10:51:05 +10:00
Nick Mathewson
37d1ee554d Remove changes files that are scheduled for inclusion in 0.4.2.5 2019-12-05 13:27:46 -05:00
teor
cfa9cc34aa
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-05 10:14:01 +10:00
teor
92fb099067
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-05 10:13:53 +10:00
teor
46057ec5ae
Merge remote-tracking branch 'tor-github/pr/1424' into maint-0.4.0 2019-12-05 10:13:15 +10:00
teor
aee966cb06
Merge remote-tracking branch 'tor-github/pr/1277' into maint-0.3.5 2019-12-05 10:11:18 +10:00
Nick Mathewson
fcb5656128 Merge branch 'ticket32609_squashed' 2019-12-04 12:15:28 -05:00
teor
5ce45ac907 Makefile/git scripts: Add the practracker unit tests
Add a check-practracker-unit-test target, and run it as part of
"make check".

Add the practracker unit tests to scripts/git/pre-commit.git-hook.

Part of 32609.
2019-12-04 12:15:22 -05:00
teor
a4c22164c0
Merge branch 'maint-0.4.2' 2019-12-03 12:47:05 +10:00
teor
3207a8e5c2
Merge branch 'maint-0.4.1' into maint-0.4.2 2019-12-03 12:46:58 +10:00
teor
14089a29b5
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-12-03 12:46:50 +10:00
teor
febbc236d4
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-12-03 12:46:43 +10:00
teor
145ff92d92
Merge branch 'maint-0.2.9' into maint-0.3.5
Merge C_DIALECT_OPTIONS from ticket32500_029 with
other configure options from maint-0.3.5.
2019-12-03 12:45:41 +10:00
teor
792c15fde2
Travis: use -std=gnu99 in some jobs
Require C99 standards-conforming code in Travis CI, but allow GNU gcc
extensions. Also activates clang's -Wtypedef-redefinition warnings.

Builds some jobs with -std=gnu99, and some jobs without.

Closes ticket 32500.
2019-12-03 12:42:39 +10:00
George Kadianakis
53bdd21179 Merge branch 'tor-github/pr/1559' 2019-12-02 12:52:44 +02:00
teor
4a157c7569
Merge branch 'ticket32629_041' into ticket32629_042
Merge RUST_VERSION from maint-0.4.2 with disabling the macOS Rust
job from ticket32629_041.
2019-12-01 20:28:44 +10:00
teor
a00b9e5a86
Merge branch 'ticket32629_040' into ticket32629_041 2019-12-01 20:26:55 +10:00
teor
349554f40d
Merge branch 'ticket32629_035' into ticket32629_040 2019-12-01 20:26:51 +10:00
teor
96e620caaf
Merge remote-tracking branch 'tor-github/pr/1574' 2019-12-01 17:53:06 +10:00
teor
f2f7491cd9
Merge branch 'ticket32629_029' into ticket32629_035
Merge re-enable chutney from ticket32629_029 with
stem from maint-0.3.5.
2019-11-28 12:21:08 +10:00
teor
99b5f1b261
Revert "Travis: Disable all but one macOS build"
This reverts commit 511aeba8ee.
2019-11-28 12:10:10 +10:00
George Kadianakis
68a00c4951 Merge branch 'tor-github/pr/1573' 2019-11-27 15:36:26 +02:00
David Goulet
85b984dbc6 hs: Add changes file for 32020
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-27 14:52:09 +02:00
Neel Chauhan
99cf3f99c0 Make control_event_conf_changed() take a config_line_t 2019-11-26 22:12:23 -05:00
Nick Mathewson
031f204a10 configure: reject Python 2.
Python 2 will be end-of-life as of 1 Jan 2020, so we can finally
stop supporting it.  As a first step, we should make our configure
script stop accepting python 2 as something acceptable to run our
tests with.

Closes ticket 32608.
2019-11-25 13:01:04 -05:00
Nick Mathewson
31f8b4fa65 Merge branch 'stream-socks-auth' into bug19859_merged 2019-11-25 07:58:02 -05:00
teor
26071aa3be
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-25 12:37:07 +10:00
teor
055f5d4d1b
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-25 12:36:59 +10:00
teor
c17ab20ac0
Merge remote-tracking branch 'tor-github/pr/1441' into maint-0.4.0 2019-11-25 12:36:41 +10:00
teor
ed6f2f61a2
Merge remote-tracking branch 'tor-github/pr/1396' into maint-0.4.0 2019-11-25 12:35:58 +10:00
teor
501b5174d8
Merge remote-tracking branch 'tor-github/pr/1464' into maint-0.3.5 2019-11-25 12:35:11 +10:00
teor
400cee261e
Merge remote-tracking branch 'tor-github/pr/1422' into maint-0.3.5 2019-11-25 12:34:29 +10:00
teor
54c01119ed
Merge remote-tracking branch 'tor-github/pr/1405' into maint-0.3.5 2019-11-25 12:33:55 +10:00
teor
83424cb62f
Merge remote-tracking branch 'tor-github/pr/1395' into maint-0.3.5 2019-11-25 12:33:14 +10:00
teor
f9812ee5f7
Merge remote-tracking branch 'tor-github/pr/1394' into maint-0.3.5 2019-11-25 12:29:43 +10:00
Nick Mathewson
75f417fd0c changes file for 29826 2019-11-23 15:35:59 -05:00
Nick Mathewson
d8ff7d0236 Merge branch 'reversible_3' 2019-11-21 07:49:18 -05:00
David Goulet
cb11276068 hs-v3: Add changes file for ticket #30382
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-21 13:02:29 +02:00
Nick Mathewson
a30d143228 Make KeyDirectory's GroupReadable behave the same as CacheDirectory's.
In #26913 we solved a bug where CacheDirectoryGroupReadable would
override DataDirectoryGroupReadable when the two directories are the
same.  We never did the same for KeyDirectory, though, because
that's a rare setting.

Now that I'm testing this code, though, fixing this issue seems
fine.  Fixes bug #27992; bugfix on 0.3.3.1-alpha.
2019-11-20 09:26:47 -05:00
George Kadianakis
53ac9a9a91 Add changes file for #30381. 2019-11-18 19:21:10 +02:00
teor
c34fb3413d
Merge remote-tracking branch 'tor-github/pr/1517' 2019-11-18 11:21:37 +10:00
teor
825f52784d
Merge remote-tracking branch 'tor-github/pr/1535' 2019-11-15 12:11:32 +10:00
teor
b58e5091b7
Merge remote-tracking branch 'tor-github/pr/1533' 2019-11-15 12:11:22 +10:00
David Goulet
1371d29e5b Merge branch 'tor-github/pr/1489' 2019-11-14 10:37:14 -05:00
Nick Mathewson
a76b7cd8b5 Merge remote-tracking branch 'tor-github/pr/1531' 2019-11-14 09:58:37 -05:00
teor
0df8bcfb6f relay: Disable relay_sys when the relay module is disabled
Closes ticket 32245.
2019-11-14 16:27:06 +10:00
teor
88c2a23c4b relay: Disable relay_periodic when the relay module is disabled
Closes ticket 32244.
2019-11-14 16:17:17 +10:00
teor
ef00b1ce0f dirauth: Remove a HAVE_MODULE_DIRAUTH inside a function
There are now no HAVE_MODULE_{DIRAUTH,RELAY} inside functions.

Closes ticket 32163.
2019-11-14 15:43:27 +10:00
teor
b2b61b0268
changes: Update the changes file for 32410
When the relay module is disabled, we change the ClientOnly
default to 1. But we forgot to mention that in the changes file.
2019-11-14 15:39:40 +10:00
teor
9f37c0f4f2
changes: file for 32451 2019-11-14 13:12:42 +10:00
teor
4514bfe9c2 test/parseconf: Stop ignoring --dump-config failures
When we added the $FILTER for Windows newlines, we made
the pipeline always exit successfully, even if tor failed.

Fixes bug 32468; bugfix on 0.4.2.1-alpha.
2019-11-14 10:55:21 +10:00
Nick Mathewson
79bac44293 Remove changes files that are already merged into 0.4.2.4-rc. 2019-11-12 16:48:12 -05:00
Nick Mathewson
fc1316b559 Merge branch 'ticket32467' 2019-11-12 13:19:12 -05:00
Nick Mathewson
c11c1d0623 Merge remote-tracking branch 'tor-github/pr/1367' 2019-11-12 12:18:14 -05:00
Nick Mathewson
6d9db29dda Document --dump-config.
Closes ticket 32467.
2019-11-12 08:19:35 -05:00
teor
2ee04fc309
config: Log the option name when skipping an obsolete option
This is a basic fix for 0.4.2 only. The fix for 0.4.3 and later
is in 32404.

Fixes bug 32295; bugfix on 0.4.2.1-alpha.
2019-11-12 10:07:12 +10:00
Nick Mathewson
7c3378fb8d Merge remote-tracking branch 'tor-github/pr/1338' 2019-11-11 12:20:14 -05:00
Nick Mathewson
4462766d32 Merge branch 'ticket32404' 2019-11-11 11:54:14 -05:00
Nick Mathewson
2b3dc3384c Merge branch 'ticket32385' 2019-11-11 10:38:10 -05:00
Nick Mathewson
b1083584c7 Clarify that "missing-doc-warnings" makes doxygen warnings nonfatal 2019-11-11 10:38:04 -05:00
liberat
4e4c4e72d7 Handle binary IPv6 addresses and bracketed strings in RESOLVE_PTR.
When a SOCKS5 client sends a RESOLVE_PTR request, it must include
either an IPv4 or IPv6 address.  In the past this was required to be a
binary address (address types 1 or 4), but since the refactoring of
SOCKS5 support in Tor 0.3.5.1-alpha, strings (address type 3) are also
allowed if they represent an IPv4 or IPv6 literal.

However, when a binary IPv6 address is provided,
parse_socks5_client_request converts it into a string enclosed in
brackets.  This doesn't match what string_is_valid_ipv6_address
expects, so this would fail with the error "socks5 received
RESOLVE_PTR command with hostname type. Rejecting."

By replacing string_is_valid_ipv4_address/string_is_valid_ipv6_address
with tor_addr_parse, we accept strings both with and without brackets.
This fixes the handling of binary addresses, and also improves
symmetry with CONNECT and RESOLVE requests.

Fixes bug 32315.
2019-11-11 15:34:38 +00:00
Nick Mathewson
29eb7b07ef Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-11 10:14:04 -05:00
Nick Mathewson
a920597f62 Merge branch 'maint-0.4.1' into maint-0.4.2 2019-11-11 10:14:04 -05:00
Nick Mathewson
eb8ea92cf9 Merge branch 'maint-0.4.2' 2019-11-11 10:14:04 -05:00
Nick Mathewson
329aa1c48e Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-11 10:14:03 -05:00
Nick Mathewson
7beaaed245 Merge branch 'maint-0.2.9' into maint-0.3.5 2019-11-11 10:14:03 -05:00
teor
8af8ed72b2
Merge branch 'maint-0.4.2' 2019-11-11 14:20:03 +10:00
teor
8b1f99c29d
Merge branch 'maint-0.4.1' into maint-0.4.2 2019-11-11 14:19:55 +10:00
teor
7043be968a
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-11 14:19:47 +10:00
teor
29940511e3
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-11 14:19:39 +10:00
teor
2abff832dd
Appveyor: Install OpenSSL to resolve a header/library mismatch
Install the mingw OpenSSL package in Appveyor. This makes sure that
the OpenSSL headers and libraries match in Tor's Appveyor builds.

(This bug was triggered by an Appveyor image update.)

Fixes bug 32449; bugfix on 0.3.5.6-rc.
2019-11-11 13:19:15 +10:00
Karsten Loesing
853b6ad095 Update geoip and geoip6 to the November 6 2019 database. 2019-11-09 10:10:19 +01:00
Nick Mathewson
a08969e460 Refactor "OBSOLETE" type
It no longer warns, and is now defined in terms of an "IGNORE" type.

(The "IGNORE" type is the same as "OBSOLETE", except that it is not
reported as obsolete. It should be useful for disabled modules.)

Closes ticket 32404.
2019-11-07 11:01:25 -05:00
Nick Mathewson
c9b2fe0460 Changes file for 32415 (struct name uniformity) 2019-11-07 08:56:18 -05:00
Nick Mathewson
32a2f96f82 Add the ability to fail when a hardware accelerator is missing.
Closes ticket 32406.
2019-11-07 07:28:43 -05:00
Nick Mathewson
0d8504e70b crypto config: do not change the user's value of HardwareAccel.
We still interpret "AccelName" as turning on the "HardwareAccel"
feature, but we no longer modify the user's options here.

Fixes bug 32382; bugfix on 0.2.2.1-alpha when we added openssl
engine support.
2019-11-07 07:28:43 -05:00
teor
aaef9a2519 relay: Stop failing on startup when the relay module is disabled
When the relay module is disabled, make "ClientOnly 1" and
"DirCache 0" by default. (But keep "ClientOnly 0" and
"DirCache 1" as the defaults for the unit tests.)

And run "make autostyle".

Part of ticket 32410.
2019-11-07 11:43:41 +10:00
teor
e466c84ed3
Merge branch 'maint-0.4.2' 2019-11-07 10:51:48 +10:00
teor
1f3bf10d3f
Merge remote-tracking branch 'tor-github/pr/1513' into maint-0.4.2 2019-11-07 10:51:22 +10:00
Nick Mathewson
4d70e725d1 Do not try to shut down the event loop when it is not initialized.
Doing so caused us to crash in some unusual circumstances, such as
using --verify-config to verify a configuration that failed during
the options_act() stage.

Fixes bug 32407; bugfix on 0.3.3.1-alpha.
2019-11-06 11:33:23 -05:00
David Goulet
65013a6924 changes: Add file for ticket #31371
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-11-06 10:27:34 -05:00
Nick Mathewson
059a5795d3 Merge branch 'maint-0.4.2' 2019-11-06 08:57:21 -05:00
Nick Mathewson
8f6dc54e3c Merge remote-tracking branch 'tor-github/pr/1495' into maint-0.4.2 2019-11-06 08:57:14 -05:00
teor
22482fd454
test/parseconf: Add support for optional library variants
test_parseconf.sh now supports:
* {error,expected}{,_lzma,_nss,_zstd}{,_no_dirauth,_no_relay_dirauth}
Or any combination of two or more optional libraries.

Closes ticket 32397.
2019-11-06 21:36:42 +10:00
teor
89f52f36e0
Merge remote-tracking branch 'tor-github/pr/1510' 2019-11-06 21:29:18 +10:00
teor
c3a1e15a5e
Merge remote-tracking branch 'tor-github/pr/1509' into maint-0.4.2 2019-11-06 21:28:28 +10:00
teor
23ff60c150
Merge branch 'maint-0.4.2' 2019-11-06 17:04:52 +10:00
teor
f7b45975bf
Merge branch 'bug32402_042' into bug32402_master
Merge changes from master with shellcheck fixes.
2019-11-06 16:14:06 +10:00
teor
7f23d47f72
shellcheck: Fix issues in the git-*.sh scripts
Fixes bug 32402; bugfix on 0.4.2.1-alpha.
Obviously correct changes to already reviewed code.
2019-11-06 16:09:31 +10:00
teor
57baea701f
shellcheck: Start checking most scripts for errors
This check was accidentally disabled by a bad find command.

Fixes bug 32402; bugfix on 0.4.2.1-alpha.
Obviously correct changes to already reviewed code.
2019-11-06 15:49:50 +10:00
teor
10ef7a31cf
Makefile: Fix "make check-includes" for out-of-tree builds
Previously, it would run on the build tree, which did not contain
any sources.

Fixes bug 31335; bugfix on 0.3.5.1-alpha.
2019-11-06 12:30:19 +10:00
teor
de6ceb0bee
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-11-06 11:19:46 +10:00
teor
03e77ef036
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-11-06 11:19:38 +10:00
teor
1bde356bf6
Merge branch 'maint-0.2.9' into maint-0.3.5 2019-11-06 11:19:30 +10:00
teor
4f9a003392
Merge remote-tracking branch 'tor-github/pr/1374' into maint-0.4.1 2019-11-06 11:19:13 +10:00
teor
4abfcb7997
Merge remote-tracking branch 'tor-github/pr/1354' into maint-0.3.5 2019-11-06 11:18:09 +10:00
teor
0e2834a371
Merge remote-tracking branch 'tor-github/pr/1348' into maint-0.3.5 2019-11-06 11:17:43 +10:00
teor
d2e4262ebc
Merge remote-tracking branch 'tor-github/pr/1340' into maint-0.3.5 2019-11-06 11:17:01 +10:00
teor
6bfdd09679
Merge remote-tracking branch 'tor-github/pr/1343' into maint-0.3.5 2019-11-06 11:16:09 +10:00
teor
0650bf3695
Merge remote-tracking branch 'tor-github/pr/1342' into maint-0.2.9 2019-11-06 11:15:45 +10:00
teor
c06d540ff9
Merge remote-tracking branch 'tor-github/pr/1330' into maint-0.2.9 2019-11-06 11:14:53 +10:00
Nick Mathewson
d3e547b2bd Re-think our doxygen warnings wrt missing docs and fatalness.
Up till now, we have warned about all missing documentation, which
meant that we could never make doxygen warnings fatal.  This has led
to our doxygen output getting full of errors several times in the
past.

This commit changes our approach to doxygen warnings: missing
documentation warnings are only on when the user asks for them with
--enable-missing-doc-warnings.  When that option is not present,
doxygen respects the --enable-fatal-warnings flag.

Closes ticket 32385.
2019-11-05 12:24:02 -05:00
teor
804d7c9bfc
configure: Remove a check that will always fail
And update the changes file to be more specific.

Part of 32191.
2019-11-05 15:48:01 +10:00
Hans-Christoph Steiner
2a349006b9
force pkg-config to only use --prefix when cross-compiling
The current pkg-config setup has no sense of whether it is cross-compiling,
so it will detect things on the build system that are not present or are
wrong for the host system.  This forces the cross-compiling build to only
look for pkg-config .pc files in --prefix.

A version of this has been the setup for many years with the Android builds.

Fixes #32191

Signed-off-by: Hans-Christoph Steiner <hans@eds.org>
2019-11-05 15:45:25 +10:00
teor
655603c779
Merge remote-tracking branch 'tor-github/pr/1487'
Combine V_IMMUTABLE and FILENAME changes on PidFile.
2019-11-05 14:26:23 +10:00
teor
b9269d6d0a
Merge remote-tracking branch 'tor-github/pr/1486' 2019-11-05 14:23:56 +10:00
teor
6169469546
Merge remote-tracking branch 'tor-github/pr/1477' 2019-11-05 14:23:10 +10:00
teor
81972353cb scripts: Fix update_versions.py for out-of-tree builds
Fixes bug 32371; bugfix on 0.4.0.1-alpha.
2019-11-05 12:00:59 +10:00
teor
9e2a2d38f4 Makefile: Fix "make autostyle" for out-of-tree builds
Fixes bug 32370; bugfix on 0.4.1.2-alpha.
2019-11-05 12:00:57 +10:00
teor
96334d6f7f changes: file for 32213 2019-11-05 11:26:26 +10:00
teor
233b96d83a test/parseconf: Always show the result file name on failure
Obviously correct fixes on already reviewed code.
2019-11-05 11:12:50 +10:00
teor
5b04db59f6 test/scripts: Use the same code to find the tor binary
This change makes sure we are always using the coverage binary, when
coverage is enabled.

Fixes bug 32368; bugfix on 0.2.7.3-rc.
2019-11-05 11:07:31 +10:00
teor
f29de4b8d2 confmgt: Stop adding a space, when there is no option value
Fixes bug 32352; bugfix on 0.0.9pre6.
2019-11-05 11:01:28 +10:00
Nick Mathewson
096cbfb8b0 Merge remote-tracking branch 'tor-github/pr/1480' 2019-11-01 09:35:17 -04:00
George Kadianakis
fa0257eda0 Merge branch 'tor-github/pr/1484' 2019-10-31 15:31:14 +08:00
teor
384fe64786
changes: file for 32347 2019-10-31 14:59:23 +10:00
Nick Mathewson
14831ea0ab Use FILENAME to determine which options to check for relative paths
This is part of ticket 32344.
2019-10-30 15:32:12 -04:00
Nick Mathewson
b985cf2403 Use CFLG_IMMUTABLE to replace much of the options transition cb.
Closes ticket 32344.
2019-10-30 15:05:26 -04:00
David Goulet
f579541f13 Merge branch 'tor-github/pr/1468' 2019-10-30 08:53:51 -04:00
Neel Chauhan
f81e4aa831 hs-v2: Lookup intro failure cache when picking an intro from descriptor
When picking an intro point from the service descriptor, the client failed to
lookup the failure cache.

It made an HS v2 client re-pick bad intro points for which we already know it
won't work in the first place.

Based on Neel Chauhan original patch.

Fixes #25568

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-30 08:47:21 -04:00
Taylor Yu
1e8ddbe1ee Changes file for ticket 32277 2019-10-29 16:39:03 -05:00
George Kadianakis
4413b98190 Merge branch 'tor-github/pr/1456' 2019-10-29 21:29:13 +08:00
teor
b448f6044d
Merge branch 'maint-0.4.2' 2019-10-29 08:27:02 +10:00
teor
2395800d3e
Merge branch 'maint-0.4.1' into maint-0.4.2 2019-10-29 08:26:55 +10:00
teor
63aff4a43e
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-10-29 08:26:48 +10:00
teor
54e2d0dc2d
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-10-29 08:26:40 +10:00
teor
15d67842f9
Merge branch 'maint-0.2.9' into maint-0.3.5 2019-10-29 08:26:32 +10:00
teor
752c35ca96
Merge remote-tracking branch 'tor-github/pr/1460' into maint-0.2.9 2019-10-29 08:23:35 +10:00
David Goulet
d67db64ced changes: Add file for ticket 32196
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-28 13:21:08 -04:00
David Goulet
b98631d280 Merge branch 'tor-github/pr/1476' 2019-10-28 08:47:57 -04:00
José M. Guisado
42ba3997d6 Check memunit parsing for overflow in confparse
Before, when parsing memunits, if overflow occured it failed silently.
Use nowrap u64 math to detect overflow, compare to INT64_MAX and if
greater tell user and fail accordingly.

15000000.5 TB fails double check as it a greater floating number than
(double)INT64_MAX

8388608.1 TB passes double check because it falls in the same value as
(double)INT64_MAX (which is 2^63), but will fail the int check because
(uint64_t)d, which is 2^63, is strictly greater than 2^63-1 (INT64_MAX).

Fixes #30920
Signed-off-by: José M. Guisado <guigom@riseup.net>
2019-10-28 11:38:41 +01:00
JeremyRand
2734968e40
Bug 19859: Add stream isolation data to STREAM event 2019-10-27 01:32:21 +00:00
Nick Mathewson
bc4b9d7df4 Changes file for ticket 32307. 2019-10-26 12:09:09 -04:00
Nick Mathewson
731464deb5 changes file for 32304 2019-10-26 10:14:05 -04:00
Nick Mathewson
e7993dc046 Merge branch 'ticket31241_v3' 2019-10-25 08:10:39 -04:00
teor
f40eb2ead6
Merge remote-tracking branch 'tor-github/pr/1462' 2019-10-25 16:14:37 +10:00
teor
9be0324c2c
changes: file for 31919 2019-10-25 16:08:44 +10:00
teor
aff286618c
Merge branch 'maint-0.4.2' 2019-10-25 10:56:21 +10:00
teor
d7c40beeab
Merge branch 'maint-0.4.1' into maint-0.4.2 2019-10-25 10:56:13 +10:00
teor
63581d55a6
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-10-25 10:56:06 +10:00
teor
e56e7e865e
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-10-25 10:55:58 +10:00
teor
e03db9934a
Merge branch 'maint-0.2.9' into maint-0.3.5 2019-10-25 10:55:51 +10:00
teor
a91f52a443
Merge branch 'maint-0.4.2' 2019-10-25 10:38:22 +10:00
Nick Mathewson
94853b4ab6 changes tile for ticket 31241 2019-10-24 20:38:02 -04:00
teor
c8aa3cc17d
Merge remote-tracking branch 'tor-github/pr/1466' into maint-0.4.2 2019-10-25 10:38:01 +10:00
teor
b3d035d5c4
Merge remote-tracking branch 'tor-github/pr/1463' 2019-10-25 10:27:41 +10:00
teor
93be7275ec
changes: file for 31919's bionic Travis image change 2019-10-25 09:53:11 +10:00
teor
c00602cc34
Merge branch 'maint-0.4.2' 2019-10-25 09:42:14 +10:00
teor
acd27f4b41
Merge remote-tracking branch 'tor-github/pr/1464' into maint-0.4.2 2019-10-25 09:41:48 +10:00
Nick Mathewson
fefee871a6 Merge remote-tracking branch 'tor-github/pr/1437' 2019-10-24 11:44:19 -04:00
David Goulet
09468cc58b dir: Look if circuit is closed in connection_dir_is_anonymous()
Before inspecting the p_chan, we must check if the circuit is marked for close
because if it is the case, the channels are nullified from the circuit.

Several valid cases can mark the circuit for close of the directory
connection.

Fixes #31958

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-24 11:08:25 -04:00
David Goulet
ed57a04a65 hs-v3: Remove a BUG() caused by an acceptable race
hs_client_purge_state() and hs_cache_clean_as_client() can remove a descriptor
from the client cache with a NEWNYM or simply when the descriptor expires.

Which means that for an INTRO circuit being established during that time, once
it opens, we lookup the descriptor to get the IP object but hey surprised, no
more descriptor.

The approach here is minimalist that is accept the race and close the circuit
since we can not continue. Before that, the circuit would stay opened and the
client wait the SockTimeout.

Fixers #28970.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-24 08:50:01 -04:00
Nick Mathewson
fcdb66acd3 Add a script to rename C identifiers, and optionally add a commit message
This script should "pay for itself" if it prevents one bug caused by
careless search-replace-commit loops.
2019-10-24 08:20:31 -04:00
teor
14b197a148
Travis: Use macOS 10.14 with Xcode 11.2
Closes ticket 32241.
2019-10-24 11:44:43 +10:00
teor
20606b8a15
Merge remote-tracking branch 'tor-github/pr/1447' 2019-10-24 10:00:47 +10:00
teor
4342486649
Travis: Use zstd in our Travis Linux builds
Recent Ubuntu versions have zstd >= 1.1, which is an optional tor build
dependency.

Closes ticket 32242.
2019-10-24 09:26:54 +10:00
David Goulet
b6c24eb484 hs-v3: Remove the circuit_established intro flag
Only use the HS circuit map to know if an introduction circuit is established
or not. No need for a flag to keep state of something we already have in the
circuit map. Furthermore, the circuit map gets cleaned up properly so it will
always have the "latest truth".

This commit also removes a unit test that was testing specifically that flag
but now we rely solely on the HS circuit map which is also tested few lines
below the removed test.

Fixes #32094

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-23 11:51:23 -04:00
David Goulet
9586ae178a Merge branch 'tor-github/pr/1451' 2019-10-23 09:11:43 -04:00
teor
34509e78c6
Merge remote-tracking branch 'tor-github/pr/1449' 2019-10-23 22:59:16 +10:00
teor
226f11002d
changes: file for 32216 2019-10-23 13:36:39 +10:00
teor
d804a81cf1
changes: file for 29603
We merged this change without a changes file.
2019-10-23 12:26:32 +10:00
teor
8bc65cda44
Merge branch 'pr1450_squashed' into maint-0.4.1 2019-10-23 09:58:22 +10:00
Nick Mathewson
f3c0a0b9fe
Authorities reject relays running unsupported Tor release series.
Our minimum version is now 0.2.9.5-alpha.  Series 0.3.0, 0.3.1,
0.3.2, 0.3.3, and 0.3.4 are now rejected.

Also, extract this version-checking code into a new function, so we
can test it.

Closes ticket 31549.

Also reject 0.3.5.0 through 0.3.5.6-rc as unstable.
2019-10-23 09:57:51 +10:00
teor
9db1602ec5
Merge branch 'maint-0.4.2' 2019-10-23 08:47:30 +10:00
teor
4a5c909ce5
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-10-23 08:47:15 +10:00
teor
57acdaa3f1
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-10-23 08:47:08 +10:00
teor
641f130447
Merge remote-tracking branch 'tor-github/pr/1361' into maint-0.4.0 2019-10-23 08:35:17 +10:00
teor
c77162e4e9
Merge remote-tracking branch 'tor-github/pr/1360' into maint-0.3.5 2019-10-23 08:32:52 +10:00
teor
8682442c76
Merge remote-tracking branch 'tor-github/pr/1351' into maint-0.2.9 2019-10-23 08:32:22 +10:00
teor
27965f1ef2
Merge remote-tracking branch 'tor-github/pr/1284' into maint-0.3.5 2019-10-23 08:30:48 +10:00
teor
003be727c4
Merge remote-tracking branch 'tor-github/pr/1256' into maint-0.3.5 2019-10-23 08:28:03 +10:00
teor
7660a7cf7d
Merge remote-tracking branch 'tor-github/pr/1178' into maint-0.2.9 2019-10-23 08:20:45 +10:00
Roger Dingledine
4233fb7014
clarify in man page: we count by powers of two
Make clear in the man page, in both the bandwidth section and the
accountingmax section, that Tor counts in powers of two, not
powers of ten: 1 GByte is 1024*1024*1024 bytes, not one billion
bytes.

Resolves ticket 32106.
2019-10-23 07:50:20 +10:00
Nick Mathewson
1cdc030c3d Merge branch 'maint-0.4.2' 2019-10-22 14:47:28 -04:00
Nick Mathewson
2ed194c9a9 Merge remote-tracking branch 'tor-github/pr/1441' into maint-0.4.2 2019-10-22 14:46:10 -04:00
Nick Mathewson
04addabb04 Changes file for options_validate() API changes in #32187. 2019-10-22 14:24:09 -04:00
Nick Mathewson
91413e04b4 Remove changes files that are already merged in 0.4.2. 2019-10-22 13:01:25 -04:00
Nick Mathewson
3c071f3002 Merge remote-tracking branch 'tor-github/pr/1330' into maint-0.4.1 2019-10-22 12:54:37 -04:00
Nick Mathewson
d08d29f15f Merge remote-tracking branch 'tor-github/pr/1341' into maint-0.4.1 2019-10-22 12:53:06 -04:00
Nick Mathewson
7d75e1dbdf Merge remote-tracking branch 'tor-github/pr/1446' 2019-10-22 12:52:32 -04:00
Nick Mathewson
b588b60876 Merge remote-tracking branch 'tor-github/pr/1343' into maint-0.4.1 2019-10-22 12:51:27 -04:00
Nick Mathewson
9769df89fe Merge remote-tracking branch 'tor-github/pr/1303' into maint-0.4.1 2019-10-22 12:15:06 -04:00
Nick Mathewson
c1bf4260b6 Merge remote-tracking branch 'tor-github/pr/1302' into maint-0.4.1 2019-10-22 12:13:47 -04:00
Nick Mathewson
d4dde249a0 Merge remote-tracking branch 'tor-github/pr/1346' into maint-0.4.1 2019-10-22 12:11:50 -04:00
Nick Mathewson
4013e50cb7 Merge branch 'maint-0.3.5' into maint-0.4.0 2019-10-22 12:10:30 -04:00
Nick Mathewson
6965798a16 Merge branch 'maint-0.4.0' into maint-0.4.1 2019-10-22 12:10:30 -04:00
Nick Mathewson
21c3488af7 Merge remote-tracking branch 'tor-github/pr/1376' into maint-0.3.5 2019-10-22 12:10:08 -04:00
Nick Mathewson
4c8af10f0e Merge remote-tracking branch 'tor-github/pr/1385' into maint-0.4.1 2019-10-22 12:08:46 -04:00
Nick Mathewson
b2d487ae22 Merge branch 'ticket31705_v2' into ticket31705_v2_merged
Conflicts:
	src/feature/dirparse/authcert_parse.c
	src/feature/dirparse/ns_parse.c
	src/feature/hs/hs_service.c
	src/lib/conf/conftesting.h
	src/lib/log/log.h
	src/lib/thread/threads.h
	src/test/test_options.c

These conflicts were mostly related to autostyle improvements, with
one or two due to doxygen fixes.
2019-10-22 09:39:06 -04:00
Nick Mathewson
2d013bbe5c Merge remote-tracking branch 'tor-github/pr/1417' 2019-10-22 08:36:32 -04:00
Nick Mathewson
8d84e10e87 Make options_validate() no longer use its "defaults" argument.
It can just look at what the defaults are.

Closes ticket 32185.
2019-10-22 08:30:00 -04:00
Nick Mathewson
a1d5341374 Merge branch 'bug32175' 2019-10-22 07:51:30 -04:00
Nick Mathewson
65e80ce646 Merge branch 'from_setconf_removal_squashed' 2019-10-22 07:50:42 -04:00
Nick Mathewson
0bb2e77283 changes file for 31999 2019-10-22 07:50:13 -04:00
teor
b3478a8856
Merge branch 'maint-0.4.2' 2019-10-22 20:48:26 +10:00
teor
2318bb237f
Merge branch 'maint-0.4.0' into maint-0.4.1 2019-10-22 20:48:13 +10:00
teor
9bb0ca122f
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-10-22 20:48:05 +10:00
teor
bed4390133
Merge remote-tracking branch 'origin/maint-0.3.5' into maint-0.3.5 2019-10-22 20:47:44 +10:00
teor
8f84999f58
Merge branch 'ticket32177_041' into ticket32177_042
Merge RUST_VERSION from maint-0.4.2 into disabled macOS rust build
from ticket32177_041.
2019-10-22 19:44:58 +10:00
teor
86b1714731
Merge branch 'ticket32177_040' into ticket32177_041 2019-10-22 19:43:38 +10:00
teor
868bcc24e5
Merge branch 'ticket32177_035' into ticket32177_040 2019-10-22 19:43:33 +10:00
teor
8e0190d837
Merge branch 'maint-0.3.5' into ticket32177_035 2019-10-22 19:43:18 +10:00
teor
92ad87b808
Merge branch 'ticket32177_029' into ticket32177_035
Stem from maint-0.3.5, disabled macOS chutney from ticket32177_029.
2019-10-22 19:42:23 +10:00
teor
511aeba8ee
Travis: Disable all but one macOS build
We need to mitigate slow scheduling of Travis macOS jobs.

Closes ticket 32177.
2019-10-22 19:35:43 +10:00
Nick Mathewson
53aa159632 Merge branch 'maint-0.4.0' into maint-0.4.1 2019-10-21 18:44:44 -04:00
Nick Mathewson
89ead08eef Merge branch 'maint-0.3.5' into maint-0.4.0 2019-10-21 18:44:44 -04:00
Nick Mathewson
7a35c8d8be Merge branch 'maint-0.4.1' into maint-0.4.2 2019-10-21 18:44:44 -04:00
Nick Mathewson
65c0df4dbf Merge branch 'maint-0.4.2' 2019-10-21 18:44:44 -04:00
Taylor Yu
97e8a05083 Changes file for ticket 32176 2019-10-21 16:20:12 -05:00
Nick Mathewson
b064e0420a Changes file for 32175 (test_options.c cleanup) 2019-10-21 14:46:04 -04:00
Nick Mathewson
7dc78aca29 Merge remote-tracking branch 'tor-github/pr/1430' 2019-10-21 12:43:26 -04:00
Roger Dingledine
a7ccd9a997 respect accountingmax during soft hibernation
Relays now respect their AccountingMax bandwidth again. When relays
entered "soft" hibernation (which typically starts when we've hit
90% of our AccountingMax), we had stopped checking whether we should
enter hard hibernation. Soft hibernation refuses new connections and
new circuits, but the existing circuits can continue, meaning that
relays could have exceeded their configured AccountingMax.

This commit rolls back some of the cpu-saving fixes, where we tried
to avoid calling so many of our events while we're off the network.

That's because PERIODIC_EVENT_FLAG_NEED_NET checks net_is_disabled(),
which returns true even if we're only in soft hibernation.

Fixes bug 32108; bugfix on 0.4.0.1-alpha.
2019-10-21 04:14:42 -04:00
teor
7a72e71f74
Merge remote-tracking branch 'tor-github/pr/1434' 2019-10-21 15:24:22 +10:00
teor
3b2525c375
Fix changes file and string typos
Part of 31684.
2019-10-21 13:56:58 +10:00
AmreshVenugopal
6413b2102f
control: Add GETINFO support for dumping microdesc consensus
- Allows control port to read microdesc consensus using:
GETINFO dir/status-vote/microdesc/consensus

add: Helper function `getinfo_helper_current_consensus`
test: check if GETINFO commands return expected consensus data.

Resolves 31684.
2019-10-21 13:54:55 +10:00
teor
77c85360f6
Merge branch 'maint-0.4.2' 2019-10-21 13:28:04 +10:00
teor
04e9e74f1d
Merge remote-tracking branch 'tor-github/pr/1422' into maint-0.4.2 2019-10-21 13:07:39 +10:00
teor
a1f73cb93d
Merge branch 'maint-0.4.2' 2019-10-21 09:45:34 +10:00
teor
5c8ecf364a
Merge remote-tracking branch 'tor-github/pr/1354' into maint-0.4.2 2019-10-21 09:44:42 +10:00
teor
f420b60c19
Appveyor: Use Windows Server 2019
Instead of Windows Server 2016.

Closes ticket 32086.
2019-10-20 22:04:08 +10:00
teor
b1f71eeed6
changes: file for 32123
Create an optional relay module, which can be disabled using the
--disable-module-relay configure option. When it is set, also disable
the dirauth module.

Add a minimal implemention, which disables the relay and dircache modes
in tor.

Closes ticket 32123.
2019-10-20 20:26:09 +10:00
teor
cf2b00d3f5
test/rebind: Make control formatting and log parsing more robust
* actually sleep when tor has not logged anything
* log at debug level when waiting for tor to log something
* backslash-replace bad UTF-8 characters in logs
* format control messages as ASCII: tor does not accept UTF-8 control commands

Fixes bug 31837; bugfix on 0.3.5.1-alpha.
2019-10-20 20:09:35 +10:00
Nick Mathewson
37320bce06 Merge branch 'maint-0.4.2' 2019-10-18 12:42:56 -04:00
Nick Mathewson
f0f3f3338e Merge remote-tracking branch 'tor-github/pr/1427' into maint-0.4.2 2019-10-18 12:42:49 -04:00
Nick Mathewson
264c5312eb Merge branch 'maint-0.4.2' 2019-10-18 12:32:49 -04:00
Nick Mathewson
0994050c4a Merge remote-tracking branch 'tor-github/pr/1426' into maint-0.4.2 2019-10-18 12:32:29 -04:00
Nick Mathewson
7c5716d162 Merge branch 'maint-0.4.2' 2019-10-18 12:27:49 -04:00
Nick Mathewson
57c4af16f0 Merge remote-tracking branch 'tor-github/pr/1396' into maint-0.4.2 2019-10-18 12:27:39 -04:00
Nick Mathewson
fbd2fef220 Merge branch 'maint-0.4.2' of git-rw.torproject.org:/tor into maint-0.4.2 2019-10-18 12:25:55 -04:00
teor
b3fc3b609b
changes: file for 32124. 2019-10-18 17:26:09 +10:00
teor
d616214e47
Merge branch 'maint-0.4.2' 2019-10-18 12:05:20 +10:00
teor
f73c8bd786
Merge remote-tracking branch 'tor-github/pr/1407' into maint-0.4.2 2019-10-18 12:05:07 +10:00
Alexander Færøy
389b37246e Remove overly strict assertions in transports.c.
This patch removes an overly strict tor_assert() and an ignorable BUG()
expression. Both of these would trigger if a PT was unable to configure
itself during startup. The easy way to trigger this is to configure an
obfs4 bridge where you make the obfs4 process try to bind on a port
number under 1024.

See: https://bugs.torproject.org/31091
2019-10-17 21:33:54 +02:00
Alexander Færøy
85b4a5c276 Handle errors from execve() in the Unix process backend more gracefully.
This patch removes a call to tor_assert_unreached() after execve()
failed. This assertion leads to the child process emitting a stack trace
on its standard output, which makes the error harder for the user to
demystify, since they think it is an internal error in Tor instead of
"just" being a "no such file or directory" error.

The process will now instead output "Error from child process: X" where
X is the stringified version of the errno value.

See: https://bugs.torproject.org/31810
2019-10-17 20:52:22 +02:00
Nick Mathewson
800b823c29 Merge branch 'cmdline_refactor' 2019-10-17 12:01:45 -04:00
Nick Mathewson
35c18870b4 add a changes file for 32003 (command-line option parsing). 2019-10-17 12:01:40 -04:00
Alexander Færøy
9915b8f0bc Handle errors from execve() in the Unix process backend more gracefully.
This patch removes a call to tor_assert_unreached() after execve()
failed. This assertion leads to the child process emitting a stack trace
on its standard output, which makes the error harder for the user to
demystify, since they think it is an internal error in Tor instead of
"just" being a "no such file or directory" error.

The process will now instead output "Error from child process: X" where
X is the stringified version of the errno value.

See: https://bugs.torproject.org/31810
2019-10-17 16:39:05 +02:00
David Goulet
4a8d491322 mainloop: Disable periodic events before a destroy
When tearing down all periodic events during shutdown, disable them first so
their enable flag is updated.

This allows the tor_api.h to relaunch tor properly after a clean shutdown.

Fixes #32058

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-17 10:11:32 -04:00
Nick Mathewson
0081d6c112 Merge branch 'ticket31373_042_01_squashed' 2019-10-17 10:09:16 -04:00
David Goulet
7fcf999c63 Print summary at the end of the configure script
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-17 10:08:34 -04:00
teor
5f3233ce1a
Merge branch 'maint-0.4.2' 2019-10-17 14:52:19 +10:00
teor
e483257e1b
Merge branch 'maint-0.3.5' into maint-0.4.0 2019-10-17 14:51:58 +10:00
teor
92c4dc9b14
Merge remote-tracking branch 'tor-github/pr/1373' into maint-0.4.2 2019-10-17 14:51:30 +10:00
teor
13daf339a9
Merge remote-tracking branch 'tor-github/pr/1372' into maint-0.4.1 2019-10-17 14:51:02 +10:00
teor
702aa8f775
Merge remote-tracking branch 'tor-github/pr/1370' into maint-0.3.5 2019-10-17 14:50:28 +10:00
teor
c660f47960
Merge remote-tracking branch 'tor-github/pr/1369' into maint-0.2.9 2019-10-17 14:49:52 +10:00
Nick Mathewson
2c97cf3add Merge remote-tracking branch 'tor-github/pr/1329' 2019-10-16 12:31:47 -04:00
Alexander Færøy
8162859ef7 Add changes file for #31147
See: https://bugs.torproject.org/31147
2019-10-16 18:07:28 +02:00
Nick Mathewson
911adb4d2b Make doc/doxygen before running doxygen.
This makes out-of-tree doxygen builds work.

Closes ticket 32113.
2019-10-16 10:31:44 -04:00
Nick Mathewson
593acfabb3 Doxygen: stop producing LaTeX.
Running doxygen with latex gave us all manner of unicode issues,
slowed down the "make doxygen" target by a lot, and added several
latex dependencies... all to produce a 4000-page reference manual
which is probably not what anybody wanted.

Closes ticket 32099.
2019-10-16 09:56:31 -04:00
Nick Mathewson
033d76b0e0 Doxygen: update doxyfile to a more recent version.
I have left the settings at their old values, except when they
referred to nonexistent files.

Closes ticket 32110
2019-10-16 09:07:21 -04:00
David Goulet
09e6c0f7c7 hs-v3: Fix possible memory leak in error code path
Found by coverity CID 1454769.

There were a second possible leak that is also fixed in this commit.

Fixes #32063

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-15 08:54:11 -04:00
Nick Mathewson
eebd2d44a1 Merge remote-tracking branch 'tor-github/pr/1393' into maint-0.4.2 2019-10-14 15:55:13 -04:00
Nick Mathewson
2e5724d153 Merge branch 'ticket31682_042_01_squashed' 2019-10-11 10:21:58 -04:00
David Goulet
b356b3907a hs-v3: Fix implicit ssize_t to size_t conversion
Found by Coverity.

Fixes #31682

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-11 10:20:36 -04:00
Nick Mathewson
0d82a8be77 Merge remote-tracking branch 'tor-github/pr/1394' 2019-10-09 16:44:12 -04:00
Nick Mathewson
ab064cf762 Merge remote-tracking branch 'tor-github/pr/1399' 2019-10-09 16:37:47 -04:00
Nick Mathewson
755f001600 Merge remote-tracking branch 'tor-github/pr/1401' 2019-10-09 16:29:46 -04:00
Nick Mathewson
99809834a7 Merge branch 'bug30344_squashed_035' 2019-10-09 16:26:31 -04:00
George Kadianakis
841cff6e4f Stop libevent from reading data from closed connections.
Code adapted from Rob's proposed patch in #30344.

Also add a comment in connection_mark_for_close_internal_() on why we should
not be adding extra code there without a very good reason.
2019-10-09 16:24:49 -04:00
David Goulet
f50de3a918 hs-v3: Do not remove intro point if circuit exists
When considering introduction point of a service's descriptor, do not remove
an intro point that has an established or pending circuit.

Fixes #31652

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-08 17:02:47 -04:00
David Goulet
1f60337da4 Merge branch 'tor-github/pr/1381' 2019-10-08 14:49:39 -04:00
George Kadianakis
081bd37315 Fix flapping of test_service_intro_point() unittest. 2019-10-08 19:00:43 +03:00
Nick Mathewson
7a26f14a37 Merge remote-tracking branch 'tor-github/pr/1317' 2019-10-07 10:23:44 -04:00
Nick Mathewson
56e8d84ea3 Merge branch 'ticket31548_035_01_squashed' 2019-10-07 10:21:40 -04:00
David Goulet
984a28f3e5 hs-v3: Make service pick the exact amount of intro points
When encoding introduction points, we were not checking if that intro points
had an established circuit.

When botting up, the service will pick, by default, 3 + 2 intro points and the
first 3 that establish, we use them and upload the descriptor.

However, the intro point is removed from the service descriptor list only when
the circuit has opened and we see that we have already enough intro points, it
is then removed.

But it is possible that the service establishes 3 intro points successfully
before the other(s) have even opened yet.

This lead to the service encoding extra intro points in the descriptor even
though the circuit is not opened or might never establish (#31561).

Fixes #31548

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-07 10:20:09 -04:00
Nick Mathewson
58b87a2c59 Merge remote-tracking branch 'tor-github/pr/1379' 2019-10-07 10:15:46 -04:00
Nick Mathewson
52194c8681 Merge remote-tracking branch 'tor-github/pr/1390' 2019-10-07 10:13:32 -04:00
Nick Mathewson
fdfb4b196b Use {mock,unmock}_hostname_resolver() in relevant tests
These tests all invoke the hostname resolver in one way or another,
and therefore potentially block if our DNS server is missing,
absent, or extremely slow.  Closes ticket 31841.
2019-10-04 08:03:19 -04:00
teor
ff304f3be7
tls: Log TLS read buffer length bugs once
Rather than filling the logs with similar warnings.

Fixes bug 31939; bugfix on 0.3.0.4-rc.
2019-10-04 12:33:34 +10:00
David Goulet
52b7ae71b3 hs: ADD_ONION NEW:BEST now defaults to ED25519-V3
From RSA1024 (v2) to v3 now.

Closes #29669

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-03 15:43:03 -04:00
Nick Mathewson
519afb0ece Sort changes entries into a changelog for 0.4.2.2-alpha 2019-10-03 12:22:46 -04:00
George Kadianakis
9309eaf8ea Merge branch 'tor-github/pr/1377' 2019-10-03 19:13:57 +03:00
George Kadianakis
3778b97cab Merge branch 'tor-github/pr/1276' 2019-10-03 19:13:02 +03:00
Nick Mathewson
4d4e2abd2f Authorities reject relays running unsupported Tor release series.
Our minimum version is now 0.2.9.5-alpha.  Series 0.3.0, 0.3.1,
0.3.2, 0.3.3, and 0.3.4 are now rejected.

Also, extract this version-checking code into a new function, so we
can test it.

Closes ticket 31549.

Also reject 0.3.5.0 through 0.3.5.6-rc as unstable.
2019-10-03 19:12:46 +03:00
Nick Mathewson
05a324b564 Merge remote-tracking branch 'tor-github/pr/1376' 2019-10-03 09:19:37 -04:00
Nick Mathewson
5fd137c482 Merge remote-tracking branch 'tor-github/pr/1358' 2019-10-03 09:11:49 -04:00
Nick Mathewson
de7fcae72a Merge remote-tracking branch 'tor-github/pr/1382' 2019-10-03 09:08:23 -04:00
teor
f0993d3831 configure: Give a more useful message when pkg-config fails
When pkg-config is not installed, or a library that depends on
pkg-config is not found, tell the user what to do to fix the
problem.

Fixes bug 31922; bugfix on 0.3.1.1-alpha.
2019-10-03 16:31:20 +10:00
teor
3d17fafa04
control/control: Refactor some error handling code
Split some protocol error handling out of
connection_control_process_inbuf().

This refactor reduces the size of a practracker exception.

Closes 31840.
2019-10-03 11:35:42 +10:00
Nick Mathewson
bca30bcb90 Merge remote-tracking branch 'tor-github/pr/1374' 2019-10-02 19:19:11 -04:00
David Goulet
ca1f18c159 Merge branch 'tor-github/pr/1385' 2019-10-02 14:15:31 -04:00
David Goulet
014abf86e5 Merge branch 'tor-github/pr/1344' 2019-10-02 10:37:49 -04:00
David Goulet
40be20d542 Merge branch 'tor-github/pr/1363' 2019-10-02 10:34:46 -04:00
Nick Mathewson
a74c180691 Merge branch 'maint-0.3.5' into maint-0.4.0 2019-10-02 08:01:34 -04:00
Nick Mathewson
4dcbbe4166 Merge branch 'maint-0.4.0' into maint-0.4.1 2019-10-02 08:01:34 -04:00
Nick Mathewson
c81e1e4542 Merge branch 'maint-0.4.1' 2019-10-02 08:01:34 -04:00
Nick Mathewson
7b9cb4c47b Merge branch 'maint-0.2.9' into maint-0.3.5 2019-10-02 08:01:33 -04:00
Karsten Loesing
90de776ea9 Update geoip and geoip6 to the October 1 2019 database. 2019-10-02 11:11:27 +02:00
Nick Mathewson
2b825a1a2e Fix a crash bug in max_u16_in_sl()
The documentation for this function says that the smartlist can
contain NULLs, but the code only handled NULLs if they were at the
start of the list.

We didn't notice this for a long time, because when Tor is run
normally, the sequence of msg_id_t is densely packed, and so this
list (mapping msg_id_t to channel_id_t) contains no NULL elements.
We could only run into this bug:
  * when Tor was running in embedded mode, and starting more than once.
  * when Tor ran first with more pubsub messages enabled, and then
    later with fewer.
  * When the second run (the one with fewer enabled pubsub messages)
    had at least some messages enabled, and those messages were not
    the ones with numerically highest msg_id_t values.

Fixes bug 31898; bugfix on 47de9c7b0a
in 0.4.1.1-alpha.
2019-10-01 13:01:20 -04:00
teor
58746ad9ca
Merge branch 'bug31859_041' into bug31859_master
Merge master's RUST_VERSION="nightly" into the macOS Rust job
from bug31859_041.

Drop master's RUST_VERSION="beta", because we only have two
Rust jobs now.
2019-10-02 00:20:38 +10:00
teor
e5dda7f664
Merge branch 'bug31859_040' into bug31859_041
Merge TOR_TEST_RNG_SEED in maint-0.4.1 into the coverage line
from bug31859_040.
2019-10-01 23:50:24 +10:00
teor
07db4141ab
Merge branch 'bug31859_035' into bug31859_040 2019-10-01 23:46:28 +10:00
George Kadianakis
e8e42f4af9 Help users who try to use v2 client auth in v3 onions. 2019-10-01 13:41:21 +03:00
teor
f368f5bc37
Merge branch 'bug31859_029' into bug31859_035
While merging:
* leave out some redundant jobs and build matrix entries
2019-10-01 17:31:55 +10:00
Nick Mathewson
6581f3e2fa Fix the documentation for GuardLifetime. 2019-09-30 14:54:52 -04:00
teor
1e0e23c1e4
Travis: Add a macOS chutney job, but don't wait for it to finish
Since Travis macOS has IPv6 support (and Travis Linux does not), chutney
will now run its IPv6 networks as part of Travis CI.

But since chutney is slow, don't wait for the macOS chutney to finish.
(Travis have fixed the duplicate notification bug in fast_finish. So we
can use fast_finish and allow_failure to finish early. Unfortunately,
allow_failure also means we ignore failures in macOS chutney.)

Also make sure that we have:
* a compile on each platform, with each compiler,
* a check on each platform, and
* a check on each compiler.

Finally, sort builds: allow fail last, macOS first, slowest first.

Closes ticket 30860.
Closes ticket 31859 for 0.2.9.
2019-09-30 23:58:38 +10:00
teor
4e4297830e
Travis: Remove a redundant clang Linux job
Part of 31859.
2019-09-30 23:58:24 +10:00
teor
c23986246b err: Always lock the backtrace buffer before it is used
Fixes bug 31734; bugfix on 0.2.5.3-alpha.
2019-09-30 23:17:04 +10:00
teor
db329522ef
log: When initialising log domain masks, only set known log domains
And add a runtime test that checks for unknown domains and flags.

Fixes bug 31854; bugfix on 0.2.1.1-alpha.
2019-09-30 22:05:00 +10:00
George Kadianakis
de66bed604 Merge branch 'tor-github/pr/1366' 2019-09-30 14:01:01 +03:00
George Kadianakis
9318682109 Merge branch 'tor-github/pr/1346' 2019-09-30 13:56:51 +03:00
George Kadianakis
ae8d36db31 Merge branch 'tor-github/pr/1302' 2019-09-30 13:47:53 +03:00
George Kadianakis
fc760c5088 Merge branch 'tor-github/pr/1356' 2019-09-30 13:47:06 +03:00
George Kadianakis
4673cb8168 Merge branch 'tor-github/pr/1339' 2019-09-30 13:44:59 +03:00
teor
b186418792
Appveyor: Avoid spurious errors in Appveyor CI builds
When Appveyor fails before the install step, some of the finish step's
functions were not defined.

Fixes bug 31884; bugfix on 0.3.4.2-alpha.
2019-09-30 15:14:21 +10:00
teor
2420c8c936 test: Avoid a map_anon_nofork test failure on SunOS
This test failure happened due to a signed/unsigned integer
comparison.

This bug occurred on SunOS, it may also occur on other systems that
use signed char as the default. (And cast 1-byte integer constants
to an unsigned integer.)

Fixes bug 31897; bugfix on 0.4.1.1-alpha.
2019-09-30 14:54:56 +10:00
Nick Mathewson
3283fd7e79 Changes file for 31759 and 31779 2019-09-26 15:52:45 -04:00
Nick Mathewson
ffd857bbe1 Merge remote-tracking branch 'tor-github/pr/1308' 2019-09-26 14:36:37 -04:00
teor
d1eab05834
lock: Avoid some undefined behaviour when freeing mutexes.
Fixes bug 31736; bugfix on 0.0.7.
2019-09-26 12:37:25 +10:00
teor
c9c046c365
changes: file for 31614 2019-09-26 12:22:21 +10:00
Nick Mathewson
40a22fb707 Merge remote-tracking branch 'tor-github/pr/1349' 2019-09-25 13:07:19 -04:00
rl1987
b4aeeb77ba Merge advice from this_not_that.md in torguts repo into our main coding standard doc 2019-09-25 17:15:12 +03:00
George Kadianakis
7157d80c6f Merge branch 'tor-github/pr/1337' 2019-09-25 14:19:49 +03:00
George Kadianakis
01a797be4e Merge branch 'tor-github/pr/1334' 2019-09-25 14:19:02 +03:00
George Kadianakis
0a77e5f1c2 Merge branch 'tor-github/pr/1341' 2019-09-25 14:18:15 +03:00
George Kadianakis
09769779a0 Merge branch 'tor-github/pr/1357' 2019-09-25 14:17:35 +03:00
George Kadianakis
6712fb9e27 Merge branch 'tor-github/pr/1353' 2019-09-25 14:16:28 +03:00
George Kadianakis
e77ad795c6 Merge branch 'tor-github/pr/1322' 2019-09-25 14:13:44 +03:00
George Kadianakis
99f75373de Merge branch 'tor-github/pr/1309' 2019-09-25 14:12:42 +03:00
teor
d30a042fa8 test: Use SEVERITY_MASK_IDX() to find the LOG_* mask indexes
In the unit tests and fuzzers.

Fixes bug 31334; bugfix on 0.2.5.2-alpha.
2019-09-25 16:40:09 +10:00
Nick Mathewson
b03cb0cc26 Add a changes file about the introduction of doc/HACKING/design. 2019-09-24 19:35:42 -04:00
Nick Mathewson
7071144859 Merge branch 'ticket31372_041' into ticket31372_042 2019-09-24 08:04:41 -04:00
Nick Mathewson
836b7a538e Merge branch 'ticket31372_040' into ticket31372_041 2019-09-24 08:04:20 -04:00
Nick Mathewson
246fdd8742 Merge branch 'ticket31372_035' into ticket31372_040 2019-09-24 08:02:44 -04:00
Nick Mathewson
da5c8277ea Merge branch 'ticket31372_029' into ticket31372_035 2019-09-24 08:01:43 -04:00
teor
0c07cd24d4
changes: file for 31839 2019-09-24 15:22:57 +10:00
teor
c7c849bba8
configure: Explain --disable-module-dirauth better
Explain what the optional Directory Authority module is, and what
happens when it is disabled.

Fixes bug 31825; bugfix on 0.3.4.1-alpha.
2019-09-24 11:29:22 +10:00
teor
876b3e2775
Merge branch 'bug31408_035' into bug31408_master 2019-09-24 11:07:38 +10:00
teor
0614f83905
changes: use correct bugfix release, and reword changes file for 31408 2019-09-24 11:06:20 +10:00
Nick Mathewson
49a11f8a8a Try using make -k in the Appveyor configuration
Frequently, when a patch fails, it has failures in several files.
Using the "-k" flag will let us learn all the compilation errors,
not just the first one that the compiler hits.

Based on a patch by rl1987.

Closes ticket 31372.
2019-09-23 15:08:34 -04:00
Nick Mathewson
6ed3d8dbd1 Try using make -k in Travis configuration
Frequently, when a patch fails, it has failures in several files.
Using the "-k" flag will let us learn all the compilation errors,
not just the first one that the compiler hits.

Based on a patch by rl1987.
2019-09-23 15:05:08 -04:00
AmreshVenugopal
3e45260594 fix: Ticket #31589
- The function `decrypt_desc_layer` has a cleaner interface.
- `is_superencrypted_layer` changed from `int` -> `bool`

[ticket details](https://trac.torproject.org/projects/tor/ticket/31589)

add(changes/*): changes file
fix(src/features/hs): is_superencrypted changed from `int` -> `bool`
fix(changes/ticket31589): header
add(changes/ticket31589): subsystem(onion services) to change
2019-09-23 23:52:01 +05:30
Daniel Pinto
15490816da
Fix bug when %including folder with comment only files. #31408
When processing a %included folder, a bug caused the pointer to
the last element of the options list to be set to NULL when
processing a file with only comments or whitepace. This could
cause options from other files on the same folder to be
discarded depending on the lines after the affected %include.
2019-09-23 10:39:08 +10:00
Nick Mathewson
6100378c29 changes file for microdesc_parse refactoring. 2019-09-19 14:37:24 -04:00
Nick Mathewson
37c616aeaf Merge branch 'bug31466_035' into bug31466_042 2019-09-18 15:48:25 -04:00
Nick Mathewson
bf4a27c0ea Merge branch 'bug31466_029' into bug31466_035_tmp 2019-09-18 15:42:40 -04:00
Nick Mathewson
f0e4120996 Add a rate-limit to our warning about the disabled .exit notation
This warning would previously be given every time we tried to open a
connection to a foo.exit address, which could potentially be used to
flood the logs.  Now, we don't allow this warning to appear more
than once every 15 minutes.

Fixes bug 31466; bugfix on 0.2.2.1-alpha, when .exit was first
deprecated.
2019-09-18 15:38:33 -04:00
Nick Mathewson
387cfccee4 Add a coccinelle script to look for {inc,dec}rements in log_debug
We want to forbid this pattern since, unlike the other log_*()
macros, log_debug() conditionally evaluates its arguments only if
debug-level logging is enabled.  Thus, a call to
    log_debug("%d", x++);
will only increment x if debugging logs are enabled, which is
probably not what the programmer intended.

One bug caused by this pattern was #30628.

This script detects log_debug( ) calls with any of E++, E--, ++E,
or --E in their arguments, where E is an arbitrary expression.

Closes ticket 30743.
2019-09-18 13:43:42 -04:00
Nick Mathewson
4bbefc2aac Merge branch 'bug30916_035' into bug30916_041 2019-09-18 11:19:41 -04:00
Nick Mathewson
2da4d64a64 Avoid a crash if our "current" and "old" ntor onion keys are equal
Our dimap code asserts if you try to add the same key twice; this
can't happen if everything is running smoothly, but it's possible if
you try to start a relay where secret_onion_key_ntor is the same as
secret_onion_key_ntor.old.

Fixes bug 30916; bugfix on 0.2.4.8-alpha when ntor keys were
introduced.
2019-09-18 11:14:45 -04:00
Nick Mathewson
82ad63ef40 changes file for 31338 2019-09-18 10:28:33 -04:00
Nick Mathewson
d6d3e829dd Merge branch 'maint-0.4.1' 2019-09-18 08:07:56 -04:00
Nick Mathewson
70bcff6010 Merge branch 'bug31772_041' into maint-0.4.1 2019-09-18 08:07:50 -04:00
Nick Mathewson
5f00c03ed0 Merge branch 'maint-0.4.0' into maint-0.4.1 2019-09-17 21:28:38 -04:00
Nick Mathewson
9e674d0eb4 Merge branch 'maint-0.3.5' into maint-0.4.0 2019-09-17 21:28:37 -04:00
Nick Mathewson
02840169d8 Merge remote-tracking branch 'tor-github/pr/1300' into maint-0.3.5 2019-09-17 21:28:29 -04:00
Nick Mathewson
c3e94a8ccd Merge branch 'maint-0.4.0' into maint-0.4.1 2019-09-17 21:26:32 -04:00
Nick Mathewson
a1f97bb253 Merge branch 'maint-0.3.5' into maint-0.4.0 2019-09-17 21:26:31 -04:00
Nick Mathewson
50b45c43eb Merge branch 'maint-0.2.9' into maint-0.3.5 2019-09-17 21:26:31 -04:00
Nick Mathewson
967460389a Merge remote-tracking branch 'tor-github/pr/1216' into maint-0.2.9 2019-09-17 21:26:17 -04:00
Nick Mathewson
25af8ada30 Correct the syntax description for the MAPADDRESS command.
In 0.4.1.1-alpha I introduced a bug where we would require and
ignore a single positional argument.

Fixes bug 31772.
2019-09-17 19:26:45 -04:00
Nick Mathewson
c6f7943269 Merge branch 'bug31570_041' into maint-0.4.1 2019-09-17 19:04:25 -04:00
Nick Mathewson
50f981719f Merge branch 'maint-0.4.0' into maint-0.4.1 2019-09-17 18:58:44 -04:00
Nick Mathewson
ef35435584 Merge branch 'maint-0.3.5' into maint-0.4.0 2019-09-17 18:58:43 -04:00
Nick Mathewson
dc41e6a80c Merge remote-tracking branch 'tor-github/pr/1307' into maint-0.3.5 2019-09-17 18:58:06 -04:00
Nick Mathewson
cec42be570 Merge branch 'maint-0.4.0' into maint-0.4.1 2019-09-17 18:56:52 -04:00
Nick Mathewson
ab74c3560a Merge branch 'ticket31552_041' into maint-0.4.1 2019-09-17 18:54:05 -04:00
Nick Mathewson
4d7ce27105 Merge branch 'bug31107_041' into bug31107_master 2019-09-17 09:16:53 -04:00
Nick Mathewson
6ee19e57c2 Merge branch 'bug31107_040' into bug31107_041 2019-09-17 09:16:52 -04:00
Nick Mathewson
da8ba5010b Merge branch 'bug31107_035' into bug31107_040 2019-09-17 09:16:52 -04:00
Nick Mathewson
7589995111 Merge branch 'maint-0.3.5' into bug31107_035 2019-09-17 09:16:52 -04:00
Nick Mathewson
3c97ab3c24 Treat an unexpected constant-sized VERSIONS cell as a PROTOCOL_WARN.
We previously used tor_fragile_assert() to declare that this case
could not happen: VERSIONS cells are always supposed to be
variable-sized, right?

This is incorrect, though.  On a v1 link protocol connection, all
cells are fixed-sized.  There aren't supposed to be any VERSIONS
cells with this version of the protocol, but apparently, somebody
was messing up.  (The v1 link protocol is obsolete, so probably the
implementer responsible didn't mean to be using it.)

Fixes bug 31107.  Bugfix on 0.2.4.4-alpha, when we introduced a
tor_fragile_assert() for this case.
2019-09-17 09:13:25 -04:00
Nick Mathewson
1f0848e0b6 Fold new entries into 0.4.2.1-alpha changelog 2019-09-17 08:00:24 -04:00
George Kadianakis
585eaa123f Merge branch 'tor-github/pr/1323' 2019-09-17 14:51:43 +03:00