Commit Graph

33904 Commits

Author SHA1 Message Date
David Goulet
3867ca4925 dir: Return 503 code when rejecting single hop request
Single hop rejection (POST and GET) for HS v3 descriptor now return a 503 code
which is more accurate code from dir-spec.txt and from other rejection case in
the code.

For instance if you are not a relay and you get a POST request, a 503 code is
sent back with a rejection message.

Part of #31958

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-24 11:25:05 -04:00
David Goulet
985717675c dir: Remove connection_dir_is_anonymous() logging
First, remove the HSDir mention which should not be in that generic function.
Second, move them to debug() level since they are possible error case.

Part of #31958

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-24 11:23:31 -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
cf5f52d694 configure: Add --disable-module-relay to summary
Closes #32266

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-10-24 09:08:36 -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
1094389d82
scripts/git: Make spaces consistent in pre-push.git-hook
Part of 31919.
2019-10-24 14:10:30 +10:00
teor
b4b316631d
scripts/git: Only check modified files in existing git hook checks
Part of 31919.
2019-10-24 14:10:26 +10:00
teor
b9a2286765
scripts/git: Add check_cocci_parse.sh to the pre-commit hook
But only check modified files, which dramatically speeds up
check_cocci_parse.sh.

Part of 31919.
2019-10-24 14:09:53 +10:00
teor
71b8b7ee2d
scripts/cocci: Check owned src in check_cocci_parse.sh by default
Check the tor-owned sources in an 0.3.5 directory layout, if no
files are provided on the command line.

Part of 31919.
2019-10-24 14:09:45 +10:00
teor
330717f018
scripts/cocci: Add check_cocci_parse.sh and default exceptions
Add check_cocci_parse.sh, which is a thin wrapper around
try_parse.sh. Add a default exceptions file, and use it in
check_cocci_parse.sh.

Part of 31919.
2019-10-24 11:40:58 +10:00
teor
87ee49e016
scripts/cocci: Remove unused arguments from try_parse.sh spatch
Part of 31919.
2019-10-24 11:40:54 +10:00
teor
9a96068a0b
scripts/cocci: Add an exceptions file to try_parse.sh
Set $TOR_COCCI_EXCEPTIONS_FILE to the name of an exceptions file,
containing a list of filename patterns matched by 'grep -f'.

Part of 31919.
2019-10-24 11:40:51 +10:00
Nick Mathewson
a03c0394a3 Merge branch 'maint-0.4.2'
"ours" to avoid version bump.
2019-10-23 20:26:15 -04:00
Nick Mathewson
76939cf293 Bump to 0.4.2.3-alpha 2019-10-23 20:25:34 -04:00
teor
20606b8a15
Merge remote-tracking branch 'tor-github/pr/1447' 2019-10-24 10:00:47 +10: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
f43a7a4d96
scripts/git: Avoid sleeping before the last push in git-push-all.sh
Change the loop order, so that we only sleep between pushes,
and avoid sleeping after all the pushes are done.

(In rare cases, there may still be an extra sleep.)

Part of 32216.
2019-10-23 13:28:37 +10:00
teor
4f6f006c99
scripts/git: Make git-push-all.sh skip more branches that match upstream
The script now skips master, maint-* and release-* branches that match
upstream, not just test branches.

And fix "no branches" bugs that this change makes happen more often.

Part of 32216.
2019-10-23 13:28:15 +10:00
teor
9a3b768fae
scripts/git: Pass all unrecognised arguments to git-push-all.sh
This makes the behaviour of git-push-all.sh -n identical to the other
git scripts.

Part of 32216.
2019-10-23 13:04:28 +10:00
teor
71191fa3dc
scripts/git: Fix a variable name typo in git-push-all.sh
Obviously correct changes to already reviewed code.
2019-10-23 13:01:55 +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
8a56819d23
Merge branch 'maint-0.4.2' 2019-10-23 10:00:49 +10:00
teor
65545e1345
Merge branch 'maint-0.4.1' into maint-0.4.2
`git merge --strategy ours` to use STATIC for unit tests in
maint-0.4.2.
2019-10-23 09:59:07 +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
b45048feaf
Merge branch 'maint-0.4.1' into maint-0.4.2 2019-10-23 08:47:23 +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
d175e70817
Merge branch 'maint-0.2.9' into maint-0.3.5 2019-10-23 08:47:01 +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
1ea19d7a5b
Merge branch 'maint-0.2.9' into maint-0.3.5
`git merge --strategy ours` to take the 0.3.5 changes for 31001,
and ignore the conflicting 0.2.9 changes.
2019-10-23 08:25:42 +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
Philipp Winter
80a198928e
Remove outdated note.
BridgeDB supports bridge-distribution lines since version 0.5.0:
<https://bugs.torproject.org/23957>
2019-10-23 07:52:05 +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
teor
339c18d6c7
Tidy whitespace around some STMT_BEGINs and STMT_ENDs 2019-10-23 07:37:39 +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
6bc2b41e54 config validation: make the "old_options" argument const.
We can't do this with the "options" argument yet, since several
places in the code change those right now.
2019-10-22 14:24:09 -04:00
Nick Mathewson
3656fdae98 test_options: remove def_opt member of test data. 2019-10-22 14:24:09 -04:00
Nick Mathewson
86a1d670ac test_options: remove "dflt" part of setup_options().
It is no longer used anywhere.
2019-10-22 14:24:09 -04:00
Nick Mathewson
475a1dc9be Remove a pair of now-unused default-options arguments. 2019-10-22 14:24:03 -04:00