Commit Graph

770 Commits

Author SHA1 Message Date
David Goulet
39a14421b1 Merge branch 'tor-github/pr/1021'
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-15 15:35:22 -04:00
George Kadianakis
d71fa707dd Merge branch 'bug28780-squashed3-rebased' into bug28780_rebase 2019-05-15 16:46:51 +03:00
Mike Perry
ff2a980935 The practracker beatings will continue until the files get smaller. 2019-05-15 16:44:59 +03:00
Mike Perry
5f47d582d5 Practracker beatings are even more fun when they get caused mid-PR due to a github auto-rebase of a PR
Because github PRs choose the most recent origin/master at the time of the PR
(and for any fixups pushed to a PR later to send to CI), there are tons of
conflicts and unexpected practracker issues.

This means CI can suddenly fail after fixups to a branch that pass locally.

Then CI fails and we have to close and re-open the PR.
2019-05-15 15:10:48 +03:00
Nick Mathewson
b9f50a2d77 update practracker for tor_init 2019-05-14 19:56:20 -04:00
Nick Mathewson
dd537ba35f Update practracker for 30452 2019-05-14 19:22:35 -04:00
Nick Mathewson
43d4119454 Merge remote-tracking branch 'tor-github/pr/1004' 2019-05-14 11:43:10 -04:00
Nick Mathewson
9ad2eb8f73 Merge branch 'bug28683_30173_29203_squashed' 2019-05-13 14:33:31 -04:00
Mike Perry
507df74b31 The practracker beatings will continue until the functions get smaller. 2019-05-13 14:30:35 -04:00
Nick Mathewson
c6523a6398 Merge remote-tracking branch 'tor-github/pr/998' 2019-05-13 14:25:54 -04:00
rl1987
6f1527f888 pre-push.git-hook: Check remote name to see if it's upstream 2019-05-11 18:58:14 +03:00
George Kadianakis
501d1ae0bd Merge branch 'tor-github/pr/973' 2019-05-10 12:49:01 +03:00
Neel Chauhan
3cafdeb8c0 Only call tor_addr_parse() in circuit_is_acceptable() when needed 2019-05-07 11:52:56 -04:00
George Kadianakis
7f2cd6545c Hiding crypt_path_t: Hide 'crypto' usage in sendme.c 2019-05-03 18:29:51 +03:00
George Kadianakis
593b7726e9 Hiding crypt_path_t: Trivial changes to satisfy check-local. 2019-05-03 18:15:26 +03:00
David Goulet
b3492d53c3 Merge branch 'tor-github/pr/984'
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-05-03 10:56:12 -04:00
George Kadianakis
b2c2cb9287 Merge branch 'tor-github/pr/986' 2019-05-02 18:12:52 +03:00
Nick Mathewson
0f365e2f46 practracker updates. 2019-05-02 09:22:13 -04:00
Mike Perry
e1771aeb51 The practracker beatings will continue until our files get smaller. 2019-05-01 21:04:40 +00:00
rl1987
d91deeee45 pre-push.git-hook: Allow fixup and squash commits when pushing to non-upstream branches 2019-05-01 14:01:30 +03:00
Taylor Yu
58ec88e806 Coccinelle scripts for control.c refactor 2019-04-30 13:18:46 -05:00
Taylor Yu
8e7316bae4 Split reply formatting out of control_fmt.c
Split the core reply formatting code out of control_fmt.c into
control_proto.c.  The remaining code in control_format.c deals with
specific subsystems and will eventually move to join those subsystems.
2019-04-30 13:18:46 -05:00
George Kadianakis
9084a90b00 Merge branch 'tor-github/pr/936' 2019-04-30 19:21:15 +03:00
George Kadianakis
a44aca5453 Merge branch 'tor-github/pr/993' 2019-04-30 19:13:57 +03:00
George Kadianakis
86f8dfe419 Merge branch 'tor-github/pr/983' 2019-04-30 19:13:30 +03:00
David Goulet
43c119fedb Merge branch 'tor-github/pr/980'
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-30 11:50:36 -04:00
Nick Mathewson
b5a62b1ef5 Move dirauth periodic events into dirauth module.
Closes ticket 30294.
2019-04-30 11:14:59 -04:00
David Goulet
535ba0d7c5 practracker: Update exceptions for #26288
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-29 12:27:53 -04:00
Nick Mathewson
1d44ac9acd Make nodelist_get_list() return a const pointer. 2019-04-26 10:36:49 -04:00
Nick Mathewson
01b07c548b Use parsing code for the simpler controller commands.
(This should be all of the command that work nicely with positional
arguments only.)

Some of these commands should probably treat extra arguments as
incorrect, but for now I'm trying to be careful not to break
any existing users.
2019-04-25 14:13:03 -04:00
Nick Mathewson
dbfe1a14e4 When parsing a multiline controller command, be careful with linebreaks
The first line break in particular was mishandled: it was discarded
if no arguments came before it, which made it impossible to
distinguish arguments from the first line of the body.

To solve this, we need to allocate a copy of the command rather than
using NUL to separate it, since we might have "COMMAND\n" as our input.

Fixes ticket 29984.
2019-04-25 14:13:03 -04:00
Nick Mathewson
d0a0f3e8cd Allow do_resolve() to be longer. 2019-04-24 14:15:18 -04:00
David Goulet
4587e67dfd Merge branch 'tor-github/pr/930' 2019-04-24 09:39:32 -04:00
teor
de91b83849
practracker: Accept ~80 extra lines in src/core/or/policies.c
Part of 23588.
2019-04-24 17:31:02 +10:00
Nick Mathewson
15d4238383 Merge remote-tracking branch 'tor-github/pr/944' 2019-04-23 15:39:23 -04:00
Nick Mathewson
b0459de217 Merge branch 'ticket30051_take2_squashed' 2019-04-23 12:51:44 -04:00
rl1987
a85cd5b41b Call practracker from pre-push and pre-commit hooks 2019-04-23 12:51:29 -04:00
Nick Mathewson
a7599c5be2 Merge remote-tracking branch 'tor-github/pr/962' 2019-04-23 12:48:37 -04:00
teor
bffba9d26f
practracker: accept more lines in microdescs_parse_from_string()
Part of 28223.
2019-04-19 10:34:16 +10:00
George Kadianakis
78223ab0fc Merge branch 'tor-github/pr/938' 2019-04-18 13:23:32 +03:00
George Kadianakis
2db9bb02c7 Merge branch 'tor-github/pr/925' 2019-04-18 13:22:54 +03:00
teor
f12b990bbf
practracker: accept the extra 25 line string from 27821 2019-04-17 18:44:26 +10:00
Neel Chauhan
f643020e64 Update practracker exceptions.txt for policies.c 2019-04-16 09:16:52 -04:00
Nick Mathewson
82b690d7da Merge remote-tracking branch 'tor-github/pr/910' 2019-04-16 08:09:20 -04:00
Neel Chauhan
d4f980d29a Update exceptions.txt for Bug #29613 2019-04-14 14:27:29 -04:00
Nick Mathewson
7332346002 Changes file and practracker updates for 30149. 2019-04-11 18:58:44 -04:00
Nick Mathewson
e39b53ef7d changes file and practracker updates for 30147. 2019-04-11 17:59:21 -04:00
Nick Mathewson
98e08b452f Fix pre-commit hook to correctly allow empty changes files.
Fixes bug 30120; bugfix not in any released Tor.
2019-04-10 11:49:23 -04:00
teor
5722c6d12d
scripts: In git-pull-all.sh, also fetch the latest tor-github pull requests
Implements ticket 30114.
2019-04-10 19:26:47 +10:00
teor
60c46c6cd0
practracker: accept 4 extra lines due to 30041 2019-04-10 18:29:11 +10:00
teor
7741b21d0e
practracker: accept 6 extra lines in tortls_nss.c:tor_tls_context_new()
These lines were added to fix bug 29241.
2019-04-06 12:26:30 +10:00
rl1987
705c1c28c7 Call pre-commit hook from pre-push script 2019-04-05 18:59:48 +03:00
Nick Mathewson
f021ca2d52 practracker: allow config.c to be a touch larger. 2019-04-05 09:59:45 -04:00
Nick Mathewson
ee6f54ff3f Merge remote-tracking branch 'tor-github/pr/860' 2019-04-03 08:33:40 -04:00
Nick Mathewson
f0e39df5ce allow circuituse.c to get even longer. 2019-03-29 14:30:33 -04:00
teor
a10d4adc25
Stop assuming that /usr/bin/python3 exists
For scripts that work with python2, use /usr/bin/python.
Otherwise, use /usr/bin/env python3.

Fixes bug 29913; bugfix on 0.2.5.3-alpha.
2019-03-27 11:07:55 +10:00
Nick Mathewson
7b9732063c practracker updates from messaging_v3 merge
(main.c is a bit better, but shutdown.c is ugly)
2019-03-26 20:14:21 -04:00
teor
beceb079e1
practracker: regen in master, for bug28925 merged to 0.4.0 and later
python3 scripts/maint/practracker/practracker.py --regen
2019-03-27 09:40:03 +10:00
Nick Mathewson
7502e5467b Regenerate practracker file from scratch.
Closes ticket 29912.

Since this is the first time that practracker has had a stable
output order, this diff will be larger than usual.
2019-03-26 19:28:35 -04:00
Nick Mathewson
300e7d8c99 Merge branch 'practracker_regen' 2019-03-26 19:27:54 -04:00
George Kadianakis
989b6325d6 Merge branch 'tor-github/pr/842' 2019-03-26 16:41:07 +02:00
Nick Mathewson
e028ec6bb7 Add new exceptions.txt entries 2019-03-26 09:43:46 -04:00
Nick Mathewson
39e4494344 practracker: update usage note in docstring 2019-03-26 08:42:14 -04:00
teor
ec736f8729
Merge remote-tracking branch 'tor-github/pr/833' 2019-03-26 13:02:37 +10:00
George Kadianakis
473decb246 Merge branch 'tor-github/pr/839' 2019-03-26 01:17:58 +02:00
Nick Mathewson
c2643842a9 practracker: add ability to regenerate exceptions file.
Also add a useful argument parser.
2019-03-25 16:09:11 -04:00
Nick Mathewson
0260e0f6fc practracker: pass sys.argv to main() as an argument 2019-03-25 16:09:11 -04:00
Nick Mathewson
301e3f22ef Practracker: add a string explaining the excptions file. 2019-03-25 16:09:11 -04:00
Nick Mathewson
c81b2b09ea Merge branch 'practracker_comments' 2019-03-25 15:18:36 -04:00
Nick Mathewson
61cebb2035 Minimize the includes in control.c 2019-03-25 14:14:56 -04:00
Nick Mathewson
2917ecaa97 Split command-handling and authentication from control.c 2019-03-25 14:06:56 -04:00
Nick Mathewson
4754e9058b Split getinfo handling into a new control_getinfo.c 2019-03-25 12:49:24 -04:00
Nick Mathewson
a49f506e05 Split all controller events code into a new control_events.c
Also, split the formatting code shared by control.c and
control_events.c into controller_fmt.c.
2019-03-25 12:11:59 -04:00
Nick Mathewson
135b51c9d3 practracker: allow comments in exceptions file
Also, distinguish between empty lines (which we should ignore)
and incorrect lines (which we should warn about).
2019-03-25 09:28:24 -04:00
Nick Mathewson
a20a2025a5 practracker: sort filenames and directories.
This helps ensure that we'll get output in a stable order.

Closes ticket 29882.
2019-03-25 09:08:04 -04:00
teor
d4d541c53c
Merge remote-tracking branch 'tor-github/pr/785' 2019-03-25 14:01:20 +10:00
Taylor Yu
307c156fbe Set file encoding in practracker.py
Explicitly set the file encoding to UTF-8 in practracker.py, to avoid
problems in some CI environments.  Fixes bug 29789; bug not in any
released Tor.
2019-03-22 17:51:55 -05:00
George Kadianakis
0aaeec19e7 Satisfy practracker broken by #29665 and #28656. 2019-03-15 17:13:06 +02:00
Nick Mathewson
2d76945052 practracker: Create an exception for an as-yet-nonexistent file.
We need a better way to do this.
2019-03-14 09:35:23 -04:00
George Kadianakis
a55c89c475 practracker: Be compatible with python2 which is used by travis/jenkins. 2019-03-14 02:15:32 +02:00
George Kadianakis
26b0d95397 Merge branch 'tor-github/pr/780' 2019-03-13 16:07:19 +02:00
Nick Mathewson
17ff69a268 Merge branch 'bug29221_more_squashed' 2019-03-13 09:30:02 -04:00
George Kadianakis
3e38efdf16 practracker: Fix duplicate exceptions and handle them more "gracefully". 2019-03-13 09:27:29 -04:00
Nick Mathewson
21c6e295ca grandfather in two more functions 2019-03-13 09:27:29 -04:00
Nick Mathewson
e2512950b6 Improve failure message from check-best-practices 2019-03-13 09:27:29 -04:00
Nick Mathewson
f0302d51ab practracker: Be more careful about excluding "confusing terms"
Previously we excluded any line containing one of these terms from
consideration as the start or end of a function.  Now we're more
careful, and we only ignore these terms when they appear to be
starting a function definition.
2019-03-13 09:27:29 -04:00
George Kadianakis
ec8c5b3fea practracker: Improvements based on last Nick's review. 2019-03-13 09:27:29 -04:00
George Kadianakis
157f7ba93e practracker: Update exceptions file :) 2019-03-13 09:27:29 -04:00
George Kadianakis
8c9835c6e5 practracker: Normalize filesystem paths across Windows and Posix.
This was causing issues because the exceptions file is written using Posix
paths, whereas practracker in Windows was trying to match Windows paths ("\"
instead of "/").
2019-03-13 09:27:29 -04:00
George Kadianakis
8bacc1dad1 practracker: Improve documentation in problem.py . 2019-03-13 09:27:29 -04:00
George Kadianakis
4795f2d3a0 Fold in an initial practracker exceptions file. 2019-03-13 09:27:29 -04:00
George Kadianakis
58de565988 Call practracker as part of check-local.
- Introduce 'make check-best-practices'.
- Fix up Tor topdir etc to work with the way 'make check-local' gets called.
- Make practracker less likely to print useless stuff.
2019-03-13 09:27:24 -04:00
Nick Mathewson
95209be861 Make checkSpace.pl check guard macros:
- every .h file needs an #ifndef/#define pair.
  - They must refer to the same macro.
  - The guard macros that they refer to must be unique across all headers.
2019-03-12 15:19:28 -04:00
Nick Mathewson
a6dd893e76 Fix shellcheck warnings in pull-all/merge-all scripts
This appears at first glance to be a shellcheck bug.

Closes 29747.  Bugfix not in any released Tor.
2019-03-12 10:50:54 -04:00
rl1987
0befdb8a35 Disable git diff pagination 2019-03-10 18:28:07 +02:00
rl1987
537692c1e3 Using diff -u in check_for_diffs 2019-03-10 18:28:07 +02:00
rl1987
5f253f6a47 Iterate over contents of scripts/git with check_for_script_update function 2019-03-10 18:28:06 +02:00
rl1987
888bb9508b Move all git maintenance scripts to separate directory 2019-03-10 18:28:06 +02:00
rl1987
7b5f31f2d6 Mention what file has changed 2019-03-10 18:28:06 +02:00
rl1987
88633fad5b Write a comment for post-merge.git-hook 2019-03-10 18:28:06 +02:00
rl1987
bb8b2f47d0 Also print changes in git helper scripts, if any 2019-03-10 18:28:06 +02:00
rl1987
2d3ef34dce Add post-merge git hook to warn about git hooks being updated in the repo 2019-03-10 18:28:06 +02:00
Nick Mathewson
8fd20df455 Merge remote-tracking branch 'tor-github/pr/743' 2019-03-08 10:07:25 -05:00
David Goulet
db2e916afe Merge branch 'tor-github/pr/717' 2019-03-05 14:26:59 -05:00
rl1987
7f0516022b Also disallow pushing to/from upstream branch when branch names do not match 2019-03-05 14:26:09 -05:00
rl1987
0deea98d02 Improve pre-push.git-hook description 2019-03-05 14:26:09 -05:00
rl1987
f3eac74ed9 In pre-push hook script, actually check local and remote refs 2019-03-05 14:26:09 -05:00
rl1987
ae5a0f39cd Update git pre-push hook so that only upstream branches can get pushed to origin 2019-03-05 14:26:09 -05:00
David Goulet
436e0c8ca4 maint: Make git scripts fetch origin once
Replace the "git pull" by one single "git fetch origin" and then "git merge"
into each defined branches.

This speeds up the process considerably.

Closes #29616

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-03-01 09:24:46 -05:00
David Goulet
9256b02cc8 maint: Remove 0.3.3 branch from git scripts
It is EOL today: Febuary 28th, 2019

No more releases will occur.

Closes #29616

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-02-28 13:16:41 -05:00
George Kadianakis
cec555f44c Merge branch 'tor-github/pr/720' 2019-02-28 12:32:16 +02:00
George Kadianakis
31c1d91ffb Exit with 1 if new issues were found. Also work with python3. 2019-02-27 19:31:41 +02:00
George Kadianakis
2a722e2841 Improve metrics implementation.
No longer messes up with MOCK_IMPL. Also update the tests to show that. We are
still being innacurate on the line count in some cases, but that doesnt matter
so much.
2019-02-27 19:31:15 +02:00
George Kadianakis
26c4f6cfd0 Add more intelligent problem tracking. 2019-02-27 18:34:13 +02:00
George Kadianakis
371ea65c08 Improve #include counting func and move it to metrics.py. 2019-02-27 17:05:00 +02:00
George Kadianakis
a7684fcb57 Add some failing unittests for the function length metric. 2019-02-27 15:22:24 +02:00
George Kadianakis
17dd316749 Initial commit of practracker.py . 2019-02-27 15:22:24 +02:00
David Goulet
e1ad22643e maint: Helpful scripts for tor maintenance
Closes #29391

Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-02-26 10:52:25 -05:00
Nick Mathewson
b3b737b875 Update pre-commit.git-hook for ticket 29553
- handle older source layout
 - handle empty changes directories
 - "set -e" so that  we exit if there's a problem.
2019-02-21 13:35:33 -05:00
Nick Mathewson
a036c0187a cov-diff: better handle the case where a file stops having coverage 2019-02-08 11:22:55 -05:00
Nick Mathewson
f4c76661d1 Add a script to check for coverage nondeterminism
Closes ticket 29436.
2019-02-08 11:22:24 -05:00
Nick Mathewson
f2b646a2b6 Merge branch 'ticket29435_035' into ticket29435_040 2019-02-08 10:47:04 -05:00
Nick Mathewson
192b312c97 Fix coverage script.
It was looking for object files made with the old automake
directorations, but those changed when we split up our libraries.

Fixes bug 29435; bugfix on 0.3.5.1-alpha.
2019-02-08 10:43:38 -05:00
Nick Mathewson
8b254c1c70 Merge branch 'precommit_squashed' 2019-01-24 11:08:10 -05:00
Nick Mathewson
dd22c84ccf Only run the checkIncludes.py script if it exists
(It was added in 0.3.5)
2019-01-24 08:06:09 -05:00
Nick Mathewson
107e50a90f lintChanges.py didn't take a directory argument in 0.2.9 2019-01-24 08:05:42 -05:00
rl1987
611e8dcda7 Also run checkInclude.py before every commit 2019-01-24 08:03:17 -05:00
rl1987
99fffc6c2f Add a pre-commit hook that runs code and changelog entry formatting checks 2019-01-24 08:03:17 -05:00
Nick Mathewson
00bc18b847 Merge remote-tracking branch 'tor-github/pr/653' 2019-01-22 08:13:14 -05:00
Nick Mathewson
aaef95ada5 format_changelog: treat "issue NNNN" as a track ticket 2019-01-18 10:15:02 -05:00
Nick Mathewson
7e1f893460 lintChanges.py: Two python re usage fixes 2019-01-17 08:46:06 -05:00
Nick Mathewson
2f683465d4 Bump copyright date to 2019 2019-01-16 12:33:22 -05:00
Nick Mathewson
9473a386c4 Update copyright script for 2019 2019-01-16 12:33:09 -05:00
Nick Mathewson
efe55b8898 Bump copyright date to 2019. 2019-01-16 12:32:32 -05:00
Nick Mathewson
2dd23086f1 Remove fallback scripts and whitelist
They have been extracted to a new fallback-scripts.git repository.

Closes ticket 27914.
2019-01-15 19:20:25 -05:00
Nick Mathewson
31e784915e Use [ -n "$x" ] in place of [ ! -z "$x" ] in chutney-git-bisect
Closes 29099.
2019-01-15 18:26:08 -05:00
rl1987
d47e7863bd Depending on script mode, either use 'whitelist' or 'fallback list' 2019-01-15 08:25:29 -05:00
rl1987
7fbe7a2563 In updateFallbackDirs.py, say 'fallback list' instead of 'whitelist' 2019-01-15 08:25:29 -05:00
Nick Mathewson
4afc6b172a Merge branch 'ticket28755_v2_squashed' 2018-12-12 11:07:38 -05:00
Nick Mathewson
5200df8557 Copy the nss-related changes into fuzzing_include_am.py. 2018-12-12 11:07:08 -05:00
Nick Mathewson
845e8dbe59 Fuzzing module for various string operations, currently focusing on
encoding and decoding.

There are bunches of places where we don't want to invest in a full
fuzzer, but we would like to make sure that some string operation
can handle all its possible inputs.  This fuzzer uses the first byte
of its input to decide what to do with the rest of the input.  Right
now, all the possibilities are decoding a string, and seeing whether
it is decodeable.  If it is, we try to re-encode it and do the whole
thing again, to make sure we get the same result.

This turned up a lot of bugs in the key-value parser, and I think it
will help in other cases too.

Closes ticket 28808.
2018-12-12 11:07:08 -05:00
Nick Mathewson
91be6a77e9 Merge remote-tracking branch 'teor/ticket24838' 2018-12-11 10:04:16 -05:00
Nick Mathewson
b915b6cd21 Merge remote-tracking branch 'github/prop297' 2018-12-11 09:44:57 -05:00
Nick Mathewson
58d2ced572 Merge remote-tracking branch 'teor/24805-phoul' 2018-12-11 09:38:27 -05:00
Nick Mathewson
b65166750d Merge remote-tracking branch 'rl1987/ticket28007_take2' 2018-12-11 09:25:46 -05:00
rl1987
da264f7c76 Let's not double-quote OUTPUTARG after all 2018-12-08 15:17:22 +02:00
teor
6bc5c06dc2 Fallbacks: accept relays that are a fuzzy match to the whitelist
If a relay matches at least one fingerprint, IPv4 address, or IPv6
address in the fallback whitelist, it can become a fallback. This
reduces the work required to keep the list up to date.

Closes ticket 28768.
2018-12-07 16:30:24 +10:00
teor
75b5cc047d Fallbacks: refactor is_in_whitelist() to take an exact match boolean
No behaviour change.

Preparation for 24838.
2018-12-07 15:54:32 +10:00
teor
7f3a7d9a27 Fallbacks: Rename CONSENSUS_EXPIRY_TOLERANCE to REASONABLY_LIVE_TIME
Cleanup after 28768.
2018-12-07 15:54:32 +10:00
teor
c3fe405e21 Fallbacks: use a 24 hour future consensus tolerance
Tor clients on 0.3.5.6-rc? and later will use a consensus that will become
valid up to 24 hours in the future.

Clients on 0.3.5.5-alpha? and earlier won't accept future consensuses.

Update the fallback expiry tolerance to match tor's checks.

Part of 28768, follow-up on 28591.
2018-12-07 15:54:32 +10:00
teor
766fd6cf76 Fallbacks: use a 24 hour consensus expiry tolerance
Tor clients will use a consensus that expired up to 24 hours ago.

Clients on 0.3.5.5-alpha? and earlier won't select guards from an expired
consensus, but they can still bootstrap if they have existing guards.

Update the fallback expiry tolerance to match tor's checks.

Part of 28768, follow-up on 24661.
2018-12-07 15:54:32 +10:00
teor
d9f36d3e92 Fallbacks: minor script comment changes 2018-12-07 15:45:48 +10:00
Nick Mathewson
d4f558e385 Merge remote-tracking branch 'tor-github/pr/531' 2018-12-05 09:02:49 -05:00
Nick Mathewson
ca4b86f90a Merge remote-tracking branch 'tor-github/pr/508' 2018-12-05 08:19:02 -05:00
rl1987
9c90bddc42 Mention --no-verify in error message 2018-11-29 11:10:48 +02:00
rl1987
7c6dc28881 Improve comment at the top 2018-11-29 11:10:30 +02:00
rl1987
e2b418bab5 Rename to pre-push.git-hook 2018-11-29 10:56:56 +02:00
rl1987
59001a69c9 Address SC2086 in scan-build.sh
We can safely silence SC2086 warning on $CHECKERS, as contents of that
is hardcoded into script, and we don't want to require Bash to use Bash
array here. Double-quote $OUTPUTARG, as it's value depends on environment
variable.
2018-11-26 18:03:36 +02:00
rl1987
30f8b49d3b Silence SC2034 shellcheck checker for EXTRA_CHECKERS and NOISY_CHECKERS variables 2018-11-26 17:46:05 +02:00
Nick Mathewson
b16d6453ad Rewrite updateVersions script in Python, add datestamp functionality.
This updateVersions.pl script was one of the only essential perl
scripts left in out maint system, and was the only one that used
autoconf to fill in the script.

This script adds a feature to define an APPROX_RELEASE_DATE macro
that is updated when the version changes.  We'll use this to
implement prop297, so that we have an accurate view of when a
release date happens.
2018-11-24 20:44:37 -05:00
Colin Childs
6d2c2be291 Add CrackerboxPalace fallback 2018-11-21 20:36:08 -06:00
rl1987
ba2a9988cc Fix SC2230 warning 2018-11-20 16:57:57 +02:00
rl1987
27e982b470 Fix SC2046 and SC2086 warnings 2018-11-20 16:55:35 +02:00
rl1987
b2053cfc44 Also disallow fixup/squash commits in maint-* and release-* 2018-11-20 16:37:30 +02:00
rl1987
7dd515b0e0 Silence SC1117 warnings 2018-11-20 16:22:47 +02:00
rl1987
ffee0a6384 Add pre-push git hook to prevent fixup and squash commits from ending up in master 2018-11-20 15:40:52 +02:00
Nick Mathewson
a8df39e955 Merge remote-tracking branch 'tor-github/pr/519' 2018-11-19 08:47:03 -05:00
rl1987
d9f7cb3f62 Fix shellcheck issues in cov-diff - SC2231, SC2006 and SC2086 2018-11-15 19:37:07 +02:00
rl1987
4fc584f20e Fix one last SC2086 2018-11-15 19:35:56 +02:00
rl1987
7c04b00e65 Fix most instances of SC2086 warning 2018-11-15 19:35:56 +02:00
rl1987
ce1b018ab7 Fix shellcheck SC2006 warnings in 'coverage' script 2018-11-15 19:35:56 +02:00
Nick Mathewson
fae29f7b42 Make the topological-sort output off by default 2018-11-14 16:07:36 -05:00
Nick Mathewson
c3c8c926bf Update the check-includes script to enforce some naming and no-circularity rules 2018-11-14 16:07:36 -05:00
rl1987
5b48af9c4c Fix all instances of shellcheck warning SC2006 2018-11-04 19:34:46 +02:00
Nick Mathewson
f27279f857 Merge remote-tracking branch 'tor-github/pr/449' 2018-11-02 13:11:26 -04:00
Nick Mathewson
d671e3f513 Merge remote-tracking branch 'tor-github/pr/448' 2018-11-02 13:09:45 -04:00
rl1987
6aef0ce94e Fix shellcheck issue SC2217 in run_calltool.sh 2018-10-29 11:37:16 +02:00
rl1987
eab81b12e9 Fix shellcheck warning SC2086 in run_calltool.sh 2018-10-29 11:31:03 +02:00
rl1987
a0dd6bfdb0 run_trunnel.sh: Use 'find -exec' instead of a 'for' loop
This fixes shellcheck warnings SC2044 and SC2006.
2018-10-29 10:54:31 +02:00
rl1987
635312fc2a Silence shellcheck SC2086 in run_trunnel.sh 2018-10-29 10:45:14 +02:00
Colin Childs
17f4388b0f Remove mullbinde9 from fallback list 2018-10-15 13:47:31 -05:00
Colin Childs
9b946c13a2 Adding hviv104 to fallback list 2018-10-15 11:43:02 -05:00
Colin Childs
5033e950cc Adding Quake to fallback list 2018-10-12 15:25:17 -05:00
Colin Childs
57bba19bbe Remove aurora and chulak from fallback list 2018-10-12 15:21:32 -05:00
rl1987
8b5ad246e8 Fix issues that shellcheck found in chutney-git-bisect.sh 2018-10-11 20:28:11 +03:00
Colin Childs
bc68e80e0a Adding fallback relay 2018-09-20 13:48:45 -05:00
Colin Childs
1663a1dd63 Adjusting IP of fallback 2018-09-19 15:39:39 -05:00
teor
3eafa61f63 check-changes: Warn about bugfixes on future releases
Warn when bugfix changes files say that the bug is in a future release.

Closes ticket 27761.
2018-09-18 20:40:50 +10:00
teor
7e862c3ec0 check-changes: Check bugfix version formatting
Check that bugfix versions in changes files look like Tor versions
from the versions spec.

Part of ticket 27761.
2018-09-18 20:40:44 +10:00
Colin Childs
cb1891b412 Adding 1 new fallback 2018-09-12 13:39:49 -05:00
Nick Mathewson
b4b8fa4899 Set the file encoding in checkIncludes.py with Python3 2018-08-28 16:25:54 -04:00
Colin Childs
f0792537e9 Adding new fallback 2018-08-28 13:05:59 -05:00
teor
4217dc0558
Add scripts/test/chutney-git-bisect.sh, for bisecting using chutney
Supports bisection on 0.3.4 and earlier.
Recommend that users copy the script before bisecting.

Implements ticket 27211.
2018-08-24 12:46:04 +10:00
Colin Childs
51f8db1d92 Drop relays from fallback list that were terminated by provider 2018-08-16 14:32:23 -05:00
Colin Childs
9aceb92839 Adding 2 new fallback mirrors 2018-08-10 15:19:03 -05:00
Colin Childs
0260b72005 Adding relay from Edmond 2018-08-03 09:49:03 -05:00
Nick Mathewson
d66cfadbd3 Merge remote-tracking branch 'teor/bug26979' 2018-07-31 08:26:15 -04:00
Nick Mathewson
de4d7c3837 Merge branch 'ticket26447' 2018-07-31 08:21:10 -04:00
teor
c3fca338a2
Appveyor CI: always use HEAD for the short commit
Part of 26979.
2018-07-31 12:14:40 +10:00
teor
c6973aeccb
Appveyor CI: sort environmental variables
To avoid future duplicates.
2018-07-31 11:54:02 +10:00
teor
02a45b3ea4
Appveyor CI: fix some typos 2018-07-31 11:49:11 +10:00
teor
019c31bbf8
Appveyor CI: Generate correct tag names
Part of 26979.
2018-07-31 11:47:33 +10:00
teor
3d3e62d147
Appveyor CI: Switch to one URL per line
Part of 26979.
2018-07-31 11:37:11 +10:00
teor
9b41eb2bc3
Appveyor CI: Generate correct branches and URLs for pull requests
Part of 26979.
2018-07-31 11:13:20 +10:00
teor
861db8c4ae
Appveyor CI: Make short commits 10 hexdigits long
That's what git does for tor.

Part of 26979.
2018-07-31 11:13:17 +10:00
teor
fc9f8c28fb
Appveyor CI: Fix GitHub provider detection
Part of 26979.
2018-07-31 11:13:10 +10:00
Nick Mathewson
4833717d69 Merge branch 'maint-0.3.4' 2018-07-17 14:46:16 -04:00
rl1987
8645647250 Fix build to work with --disable-unittests again 2018-07-17 12:09:34 +00:00
Colin Childs
5c2431a343 Add mirrors from EmeraldOnion 2018-07-16 12:25:29 -05:00
Colin Childs
831abc0e10 Adding 3 more fallback mirrors 2018-07-16 12:25:29 -05:00
Colin Childs
226816df55 Fixing spacing issue in whitelist 2018-07-16 12:25:29 -05:00
Colin Childs
eca58aec76 Updating whitelist to match operator feedback 2018-07-16 12:25:29 -05:00
Colin Childs
7479f75b95 Update whitelist to match feedback from operators 2018-07-16 12:25:29 -05:00
Colin Childs
04de9443fe Update fallback lists to match #24805 2018-07-16 12:25:29 -05:00
Nick Mathewson
2d0e1cef20 Add fuzzing wrapper for fetch_from_buf_socks() 2018-07-12 14:20:46 -04:00
Nick Mathewson
413b73450c Merge remote-tracking branch 'imnotbad/bug26502' 2018-07-12 09:30:01 -04:00
Nick Mathewson
ee12286222 Add a little documentation to checkIncludes.py.
Someday people might be glad I did.
2018-07-09 16:02:34 -04:00
Nick Mathewson
294f580f04 Re-wrap the error message emitted by checkIncludes.py 2018-07-09 15:48:55 -04:00
Nick Mathewson
3145e469d8 Make checkIncludes work on python 2.7 2018-07-09 15:46:39 -04:00
Kaidan
85fa69297c Remove small piece of unneeded documentation 2018-07-08 07:05:31 +10:00
Kaidan
5f09708046 #26502: Stop using fallback blacklist 2018-07-08 06:54:14 +10:00
Nick Mathewson
f720a5a439 Fix everything that previously referred to src/or 2018-07-05 17:15:50 -04:00
Nick Mathewson
81cb0afb2b Start splitting src/or
This is a very gentle commit that just lays the groundwork in the
build system: it puts the include files to build libtor-app.a into
src/core, and to build the tor executable into src/app.  The
executable is now "src/app/tor".
2018-07-05 17:15:50 -04:00
Nick Mathewson
f7eff3008d Fix fuzzing_include_am.py 2018-07-05 15:22:17 -04:00
Nick Mathewson
83a4946e7b Prune the .may_include files a bit; detect unused lines in them 2018-07-01 18:14:28 -04:00
Nick Mathewson
c03958dbc1 Update the coverage script to look at new file locations 2018-07-01 10:18:48 -04:00
Nick Mathewson
3808e3015a Merge branch 'maint-0.3.3' into maint-0.3.4 2018-06-29 23:12:03 -04:00
Nick Mathewson
72ee0b6f79 Merge branch 'maint-0.3.2' into maint-0.3.3 2018-06-29 23:12:03 -04:00
Nick Mathewson
3c97b148a4 Merge branch 'maint-0.3.1' into maint-0.3.2 2018-06-29 23:12:03 -04:00
Nick Mathewson
2968c716d7 Merge branch 'maint-0.2.9' into maint-0.3.1 2018-06-29 23:11:47 -04:00
Nick Mathewson
1953a7e61d Finally remove our EOL@EOF check.
This check was added by mistake long ago.  It will be nice to see
these EOLs disappear from our code over time.

(backport from master)
2018-06-29 23:11:02 -04:00
Nick Mathewson
860b9a9918 Remove some accidentally committed code in checkIncludes.py 2018-06-26 12:04:24 -04:00
Nick Mathewson
405fa42e8a Another windows include 2018-06-22 13:52:30 -04:00
Nick Mathewson
eb784aa9ea add license statement to checkincludes, and have it return an error code 2018-06-21 14:29:00 -04:00
Nick Mathewson
999f7984e1 New script to check includes for modularity violations
Includes configuration files to enforce these rules on lib and
common.  Of course, "common" *is* a modularity violation right now,
so these rules aren't as strict as I would like them to be.
2018-06-21 14:05:33 -04:00
Nick Mathewson
0dab29ce10 Run rectify_include_paths.py 2018-06-20 09:35:05 -04:00
Nick Mathewson
178b738be0 Script to replace include paths with full paths under src/
This will let us move around header files without having to fix up
all the include sites manually.
2018-06-20 09:25:16 -04:00
Nick Mathewson
fb0019daf9 Update copyrights to 2018. 2018-06-20 08:13:28 -04:00
Nick Mathewson
67dc83fa75 New check-spaces rule: Our C files may not have duplicate names. 2018-06-18 16:17:11 -04:00
Nick Mathewson
6af248f27f Finally remove our EOL@EOF check.
This check was added by mistake long ago.  It will be nice to see
these EOLs disappear from our code over time.
2018-06-18 16:10:47 -04:00
Nick Mathewson
d7bbfd0f62 Fix various typos 2018-05-30 07:57:22 -07:00
Nick Mathewson
e053c71e3e Merge branch 'appveyor_min_029_v2' into appveyor_min_034_v2 2018-05-22 09:57:12 -04:00
Nick Mathewson
459ab3650c Python script for IRC notifications from appveyor
Original by Christopher Wood, with modifications by nexB, Isis
Lovecruft, and Marcin Cieślak.
2018-05-21 17:01:11 -04:00
Nick Mathewson
db94d7fed2 Update cov-diff to handle new gcov, and remove timestamps
The new gcov sometimes emits *s if there is a line containing
multiple basic blocks, and some are not executed.  (The gcov
documentation says something weird about this point, so I'm trying
to interpret it into the compilerese that I'm familiar with.)
That's bug 26101.

Also, when we're looking for unique variations in our coverage, we
would like cov-diff to suppress timestamps on the diffs.  That's bug
26102.

Both of these are bugfixes on 0.2.5.1-alpha when the cov-diff script
was introduced.

My apologies for the perl.
2018-05-14 18:04:10 -04:00
Nick Mathewson
c9c26d0c31 Remove a comment about 0.2.8 that will soon be irrelevant.
(It becomes irrelevant on 15 May 2018 when 0.2.5 is EOL.)
2018-04-18 10:44:25 -04:00
Isis Lovecruft
9799394375 maint: Add script for vendoring/updating Rust dependencies.
* ADD documentation for usage both inside the script and in
   doc/HACKING/CodingStandardsRust.md
 * FIXES part of #25310: https://bugs.torproject.org/25310
2018-03-21 17:04:28 -04:00
Deepesh Pathak
ca6682f3f8 Fix spelling mistakes corresponding to ticket #23650 2018-02-07 10:41:57 -05:00
Nick Mathewson
455cc12b51 Update scan-build.sh to work with the latest clangalyzer 2018-01-16 08:56:07 -05:00
teor
65520f1bde
Stop logging excessive information about fallback netblocks
Implements ticket 24791
2018-01-05 13:28:17 +11:00
teor
d30d3fe8ed
Adjust fallback selection parameters
Avoid selecting fallbacks that change their IP addresses too often.

Select more fallbacks by ignoring the Guard flag, and allowing lower
cutoffs for the Running and V2Dir flags. Also allow a lower bandwidth,
and a higher number of fallbacks per operator (5% of the list).

Implements ticket 24785.
2018-01-05 13:28:13 +11:00
teor
befcc56d84
Update dependency list for the fallback script
Comment-only change.

Implements #24711.
2018-01-05 13:28:09 +11:00
teor
91a8b37a2e
Make updateFallbackDirs.py search harder for python
(Some OSs don't put it in /usr/bin.)

Fixes bug 24708; bugfix on 0.2.8.1-alpha.
2018-01-05 13:28:05 +11:00
teor
2ae33e486e
Revise the generateFallbackDirLine.py script to use descriptors
Patch by atagar, part of #24706.
2018-01-05 13:28:01 +11:00
teor
e244738bbd
Add fallback directory mirror helper scripts
Add the generateFallbackDirLine.py script for automatically generating
fallback directory mirror lines from relay fingerprints. No more typos!

Add the lookupFallbackDirContact.py script for automatically looking up
operator contact info from relay fingerprints.

Implements ticket 24706.
2018-01-05 13:27:55 +11:00
teor
9864fcd4e3
Add a generated timestamp to the fallback directory header
This can act as a revision counter, as requested by atagar in 24742.

Part of 24725.
2018-01-05 13:27:47 +11:00
teor
d8ab1b803a
Remove an incorrect C comment from updateFallbackDirs.py's list generation code
Part of #24725.
2018-01-05 13:27:39 +11:00
teor
b6033f5734
Add a delimiter to the end of each fallback entry
This helps external parsers.

Also, add comments indicating where to add new fields in the fallback
format.

Part of 24725.
2018-01-05 13:27:32 +11:00
teor
beedf5fd81
Remove commas and equals signs from external string inputs to the fallback list
This makes sure that list parsers only see one comma per fallback entry,
and only see one equals sign per field.

Implements ticket 24726.
2018-01-05 13:27:22 +11:00
teor
6a27fc6245
Add an extrainfo cache flag for each fallback in a C comment
This allows stem to use fallbacks to fetch extra-info documents,
rather than using authorities.

Implements ticket 22759.
2018-01-05 13:27:14 +11:00
teor
561f18e724
Add a nickname to each fallback in a C comment
This makes it easier for operators to find their relays, and allows stem to
use nicknames to identify fallbacks.

Implements ticket 24600.
2018-01-05 13:27:07 +11:00
teor
ac5058ac8a
Remove the "weight=10" line from fallback directory mirror entries
This removes some redundant repeated lines.

Ticket 24681 will maintain the current fallback weights by changing
Tor's default fallback weight to 10.

Implements ticket 24679.
2018-01-05 13:26:53 +11:00
teor
8d226a2c7b
Add a type and version header to the fallback directory mirror file
This helps external parsers like stem and Relay Search.

Implements ticket 24725.
2018-01-05 13:26:44 +11:00
teor
5045dde956
Stop refusing fallbacks on the same machine
We only occasionally checked for fallbacks on the same machine.
And I'm not convinced it makes much of a difference with ~150 fallbacks.

Part of #22321.
2018-01-05 13:26:34 +11:00
teor
23dddaf49b
Forgive fallback operators that were blacklisted due to a details change
(But have since run a stable relay.)

Part of #22321.
2018-01-05 13:26:30 +11:00
teor
a9c0be62a9
Some fallbacks changed their details: assume the changes are permanent
We have already updated the details for operators who replied to:
https://lists.torproject.org/pipermail/tor-relays/2017-December/013988.html

Closes #24678.
2018-01-05 13:26:26 +11:00
teor
f2a9019569
Update fallback directory mirror details based on opt-ins and opt-outs
https://lists.torproject.org/pipermail/tor-relays/2017-December/013898.html

Part of 22321.
2018-01-05 13:26:22 +11:00
Matt Traudt
90fd4566ad
Update fallback whitelist and blacklist based on 2017 changes
This covers #22321 comments 3-14, including some child tickets.

Part of #22321. Patch by pastly.
2018-01-05 13:26:18 +11:00
teor
9a0cf2376d
Update comment and add changes file for 20942 2018-01-05 13:26:14 +11:00
Dominique Ingoglia
23979d7682
Set CONSENSUS_EXPIRY_TOLERANCE to 0 2018-01-05 13:26:10 +11:00
Nick Mathewson
8e5450b752 Remove merge-conflict detritus 2017-12-20 10:15:00 -05:00
teor
1a29ad611c
Make fallback script usage instructions create a log file
Comment-only change.

Closes 24682.
2017-12-20 12:36:31 +11:00
Nick Mathewson
f755f9b9e6 Merge branch 'maint-0.3.2' 2017-11-05 14:41:53 -05:00
Nick Mathewson
f46cdb3ff8 lintchanges: Allow 'fixes bugs a, b, and c' 2017-11-05 14:41:39 -05:00
Roger Dingledine
b601eeda0e all the other lines here had a tab; make this one blend in 2017-10-31 23:07:47 -04:00
David Goulet
4d2de821ce Revert "Temporarily disable compilation of the v3 hs fuzzing code"
This reverts commit 5ef656e7d1.
2017-10-26 09:41:47 -04:00
Nick Mathewson
9298749088 Add dirauth changes as a lintchanges category 2017-10-17 13:58:21 -04:00
Taylor Yu
e31ffb2741 Don't move gcov output to root directory
In scripts/test/coverage, avoid attempting to move gcov output files
to the root directory when given no arguments.  Fixes bug 23741.
2017-10-02 16:09:28 -05:00
Nick Mathewson
9727a9248a Improve cov-diff script to account for new files. 2017-09-28 08:53:16 -04:00
Nick Mathewson
3c04c8317f Make check-spaces part of the standard "make check" process
To do this, we had to make sure it passes when the changes directory
is empty.  I also tried to improve the quality of the output, and
fix some false-positive cases.  Let's see how this goes!

Closes ticket 23564.
2017-09-21 16:25:24 -04:00
Nick Mathewson
1f602e8643 plural in manpage 2017-09-19 08:48:39 -04:00
Nick Mathewson
2b5bc5613c Merge remote-tracking branch 'ewongbb/chkdblcolon' 2017-09-18 15:04:14 -04:00
Edmund Wong
f0e87ff9eb Add check for double-semi-colons at the end of a line 2017-09-18 15:33:24 +08:00
Nick Mathewson
76c33f7ff4 Merge branch 'scan-build-032' 2017-09-15 16:40:11 -04:00
Nick Mathewson
40ce9819dd update script to use /* */ comments 2017-09-15 16:11:48 -04:00
Nick Mathewson
5d06bbc66f Merge branch 'annotate_ifdefs' 2017-09-15 16:07:37 -04:00
Nick Mathewson
a28e239b17 Teach the scan-build script to output to a chosen directory 2017-09-12 21:42:36 -04:00
Nick Mathewson
f9f3014ce6 Add more checkers to scan-build. 2017-09-12 21:32:42 -04:00
Nick Mathewson
4097d646d8 Use all+only the default checkers in scan-build script 2017-09-12 19:03:04 -04:00
David Goulet
87585ebd2d test: Add an HS v3 reachability unit test
This is a large and important unit test for the hidden service version
3! It tests the service reachability for a client using different
consensus timings and makes sure that the computed hashring is the same
on both side so it is actually reachable.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2017-09-08 19:07:00 +03:00
Nick Mathewson
f117da3ea0 Whoops -- I messed a calltool target 2017-09-07 11:03:22 -04:00
Nick Mathewson
283be00b0b Add support for running "calltool" on Tor via "make callgraph".
Closes #19307.
2017-09-07 10:51:02 -04:00
Nick Mathewson
f8c14a987c Add a python script to annotate our #elses and #endifs 2017-09-06 11:30:37 -04:00
Nick Mathewson
73b0e2e6fd Merge branch 'http_tunnel_squashed' 2017-09-05 14:34:29 -04:00
Nick Mathewson
ad9190404b Add a fuzzer for HTTP CONNECT 2017-09-05 14:34:09 -04:00
Nick Mathewson
5ef656e7d1 Temporarily disable compilation of the v3 hs fuzzing code
Turns out, it wasn't up-to-date with the latest v3 hs API :(
2017-08-28 14:12:56 -04:00
Nick Mathewson
18bc7fa70b Merge remote-tracking branch 'haxxpop/fuzzing-hsv3' 2017-08-28 13:46:24 -04:00
Alexander Færøy
9e1fa95920 Add Coccinelle patch for replacing NULL/non-NULL tt_assert().
This patch replaces tt_assert() checks for NULL/non-NULL values with
tt_ptr_op().
2017-08-24 15:22:20 -04:00
Alexander Færøy
7666cd8881 Add Coccinelle patch for replacing tt_assert() usage on integer types.
This patch replaces tt_assert() comparison of integers and unsigned
integers with their respective tt_int_op or tt_uint_op counterpart.
2017-08-24 15:21:43 -04:00
Alexander Færøy
3fd68b249b Add Coccinelle patch for replacing tt_assert(0) with tt_abort(). 2017-08-24 15:21:07 -04:00
Alexander Færøy
25eaf77033 Add Coccinelle patch for detecing places where CEIL_DIV should be used. 2017-08-24 15:20:11 -04:00
Alexander Færøy
7c3e980fb9 Add script for cleaning op operator usage in test files.
This patch adds a script written by Nick for bug #13172 to clean up the
usage of ==, !=, <, >, <=, and >= by replacing them with their symbolic
OP_* counterpart. This will ensure that a tool like Coccinelle doesn't
get confused and silently ignore large blocks of code.
2017-08-24 15:19:11 -04:00
Ties Stuij
2e99f839e9 22839: Build tor with rust enabled on win
- make tor_util static library name configurable
- fix Rust libary dependency order for Windows
2017-08-21 15:08:24 -04:00
Suphanat Chunhapanya
97347b1109 Fuzz outer layer of hsv3 descriptor
The code in fuzz_hsdescv3.c fuzzes the unencrypted layer of the hsv3
descriptor. We need to fuzz the encrypted layer later.
2017-08-13 17:50:51 +07:00
Nick Mathewson
d011126467 Update fuzzing_include_am to include updates from include.am 2017-07-03 13:24:57 -04:00
Nick Mathewson
80ad374b84 Remove old callgraph scripts; recommend calltool instead. 2017-06-14 17:44:15 -04:00
teor
09cd788869
Update fallback whitelist and blacklist based on operator emails
Part of 21283.
2017-05-16 18:12:47 +10:00
teor
cd687a0a2c
Update fallback stability requirements
Decrease the minimum number of fallbacks to 100.

Final fix to 20913.
2017-05-16 18:12:10 +10:00
teor
0e81e2114a
Merge branch 'fallbacks-201702-v3' into fallbacks-2017-05 2017-05-16 18:03:00 +10:00
teor
3f28824931
Make the usage example in updateFallbackDirs.py actually work
And explain what it does.

Fixes bug 22270 in 0.3.0.3-alpha.
2017-05-16 17:35:47 +10:00
Nick Mathewson
43db91bd87 Teach cov-exclude to detect runaway LCOV_EXCL_START lines
Also, fix two instances of runaway LCOV_EXCL_START lines.
2017-04-25 10:59:19 -04:00
Nick Mathewson
6657fe1e54 Generate src/test/fuzz/include.am from a script
It was very error-prone to maintain this by hand.
2017-03-16 17:14:10 -04:00
Nick Mathewson
7505f452c8 Run the copyright update script. 2017-03-15 16:13:17 -04:00
Nick Mathewson
c6b97b3da0 Update updateCopyright to 2017 2017-03-15 16:11:50 -04:00
Nick Mathewson
1453bda67b Update changelog sorting rules to know about dirauth changes 2017-02-28 10:12:17 -05:00
teor
28d523fcd5
Move a relay to the blacklist because its details changed
(And its contact email address no longer works.)
2017-02-27 13:13:32 +11:00
teor
1f26b6db57
Update the fallback whitelist and blacklist based on operator emails 2017-02-27 13:13:28 +11:00
teor
71b79d6bf3
Modify fallback stability requirements
Increase the fallback stability requirement to 30 days.
When this was at 7 days, we chose far too many unstable fallbacks.

Decrease the guard flag requirement to 0.8.
When this was at 0.9, we lost too many fallbacks due to version upgrades.
(The running and v2dir flags ensure DirPorts are available to clients.)

Partial fixes to #20913.
2017-02-27 13:13:17 +11:00
Nick Mathewson
67eb6470d7 Merge branches 'server_ciphers' and 'ciphers.inc' 2017-01-27 16:45:18 -05:00
Nick Mathewson
26a9787aa5 MOre gen_server_ciphers improvements:
- Remove DES from mandatory list.
  - always put the closing ; on its own line.
2017-01-27 16:15:26 -05:00
Suphanat Chunhapanya
1e26d6dbe8 Add the output file to the usage 2017-01-25 13:11:57 -05:00
Suphanat Chunhapanya
e6eaf14350 Add usage for check_existing 2017-01-25 13:11:57 -05:00
Suphanat Chunhapanya
d97792d596 Logging existing fallbacks at warning level 2017-01-25 13:11:57 -05:00
Suphanat Chunhapanya
3fd58aa98d Automate checking existing fallbacks 2017-01-25 13:11:56 -05:00
Nick Mathewson
8a9eca1267 Teach gen_server_ciphers about CCM and Chacha.
Also, teach it to not use 3DES any more.
2017-01-24 15:29:26 -05:00
Nick Mathewson
3db28eaea2 Update ciphers.inc script to understand openssl-1.1 2017-01-24 15:02:36 -05:00
cypherpunks
99cbadf143 Warn on Tor versions with the 'tor-' prefix
Closes ticket 21096.
2017-01-11 09:16:20 -05:00
cypherpunks
fa0792c3a8 Fix coding style issues in the changes file linter
Found using flake8 which gave the following output;

lintChanges.py:10:13: E225 missing whitespace around operator
lintChanges.py:25:1: E302 expected 2 blank lines, found 1
lintChanges.py:46:5: F841 local variable 'lines' is assigned to but never used
lintChanges.py:52:32: E228 missing whitespace around modulo operator
lintChanges.py:53:11: E201 whitespace after '('
lintChanges.py:56:41: E228 missing whitespace around modulo operator

Part of ticket 21096.
2017-01-11 09:16:19 -05:00
teor
a0bbd72caa
Add and update fallback directory details
These updates were made after the December 2016 list was created.
2016-12-21 08:15:21 +11:00
teor
e9b7308ea5
Blacklist a fallback that was removed by the operator 2016-12-19 18:15:06 +11:00
teor
fcf19f8b54
Update fallback whitelist and blacklist
Based on:
* fallback directory mirror checks,
* operator emails and tickets, both before and after the Dec 2016 emails:
https://lists.torproject.org/pipermail/tor-relays/2016-December/011113.html
https://lists.torproject.org/pipermail/tor-relays/2016-December/011330.html
2016-12-19 15:06:46 +11:00
teor
53ec087450
Avoid an error in the fallback script when a fallback doesn't have any uptime
Sometimes, the fallback generation script doesn't add attributes to the
fallbacks in the list. If this happens, log an error, and avoid selecting
that fallback.

This is a rare issue: it should not change selection behaviour.

Fixes issue #20945.
2016-12-19 15:06:04 +11:00
teor
654367f026
Allow fallbacks serving consensuses that expired less than 24 hours ago
This works around #20909, where relays serve stale consensuses for a short
time, and then recover.

Update to the fix for #20539.
2016-12-19 15:06:00 +11:00
teor
2d2bbaf259
Avoid checking fallback candidates' DirPorts if they are down in OnionOO
Exclude relays that have been down for 1 or more days from the fallback
candidate list.

When a relay operator has multiple relays, this prioritises relays that are
up over relays that are down.

Fixes issue #20926.
2016-12-19 15:05:56 +11:00
teor
4c832bcfac
Be more tolerant of a decreased number of fallbacks 2016-12-19 15:05:53 +11:00
teor
124c342364
Reduce fallback bandwidth requirement to 1 MByte/s 2016-12-19 15:05:49 +11:00
teor
35da99a712
Allow 3 fallbacks per operator
This is safe now we are choosing 200 fallbacks.

Closes ticket 20912.
2016-12-19 15:05:45 +11:00
teor
ee3e8fc3e9
Require fallbacks to have 90% Running, V2Dir, and Guard flags
This allows 73% of clients to bootstrap in the first 5 seconds without
contacting an authority.

Part of #18828.
2016-12-19 15:05:40 +11:00
teor
396bddaa4c
Require fallback directories to have the same address and port for 7 days
7 days is a tradeoff between the expected time between major Tor releases,
which is 6 months, and the number of relays with enough stability.

Relays whose OnionOO stability timer is reset on restart by bug #18050
should upgrade to Tor 0.2.8.7 or later, which has a fix for this issue.

Closes ticket #20880; maintains short-term fix in e220214 in tor-0.2.8.2-alpha.
2016-12-19 15:05:36 +11:00
teor
9629a25d10
Display the fingerprint when downloading consensuses from fallbacks 2016-12-19 15:05:33 +11:00
teor
ced50aff7e
Update fallback whitelist based on relay descriptors
These updates assume that the changes were intentional and permanent.
The operators were emailed to confirm.
2016-12-19 15:05:29 +11:00
teor
8381d928cf
Exclude relays that deliver an expired consensus from the fallback list
Part of #20539, based on #20501.
2016-12-19 15:05:21 +11:00
teor
243d6fa0c7
Exclude relay versions affected by #20499 from the fallback list
Part of #20539, based on #20509.
2016-12-19 15:05:18 +11:00
teor (Tim Wilson-Brown)
49df83cc03
Update fallback whitelist and blacklist
Update fallback whitelist and blacklist based on:
* pre-0.2.9 checks
* operator opt-ins and opt-outs, via emails and tickets
2016-12-19 15:05:10 +11:00
teor
864a8eb283
Make fallback sort order configurable
Closes issue #20882.
2016-12-19 15:05:06 +11:00
teor
31e1439642
Select 200 fallback directories by default for each release
Closes ticket #20881.
2016-12-19 15:05:02 +11:00
teor
4eba30ca59
Provide bandwidth and consensus weight for each candidate fallback
And make it clear that updateFallbackDirs.py outputs bandwidth in
megabytes per second.

Closes #20878.
2016-12-19 15:04:58 +11:00
teor
6ed8e3764b
Add a missed return to fallbackdir_comment() in updateFallbackDirs.py
Closes ticket #20877.
2016-12-19 15:04:54 +11:00
cypherpunks
e8760b6e51 Use the new message function
Substitutions were made using `sed -e 's/print/msg/g'`.
2016-12-16 10:52:14 -05:00
cypherpunks
4b2516313e Add a function to keep track of found errors 2016-12-16 10:52:14 -05:00
cypherpunks
44db6461b5 Restrict unsafe constructs and enable all warnings 2016-12-16 10:52:14 -05:00