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
83a4946e7b
Prune the .may_include files a bit; detect unused lines in them
2018-07-01 18:14:28 -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
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
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
f46cdb3ff8
lintchanges: Allow 'fixes bugs a, b, and c'
2017-11-05 14:41:39 -05:00
Nick Mathewson
9298749088
Add dirauth changes as a lintchanges category
2017-10-17 13:58:21 -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
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
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
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
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
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
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
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
cypherpunks
f43e56a6d0
Declare all variables to be local
...
Without the 'my' keyword the variables are global and Perl requires
global symbols to include an explicit package name.
2016-12-16 10:52:14 -05:00
cypherpunks
67e1eff321
Convert tabs to spaces
2016-12-16 10:52:14 -05:00
Nick Mathewson
b64c224362
fix crash in lintChanges.py
2016-09-22 08:33:09 -04:00
Nick Mathewson
5927ed8d33
checkSpace.pl now forbids more identifiers.
...
The functions it warns about are:
assert, memcmp, strcat, strcpy, sprintf, malloc, free, realloc,
strdup, strndup, calloc.
Also, fix a few lingering instances of these in the code. Use other
conventions to indicate _intended_ use of assert and
malloc/realloc/etc.
2016-09-06 12:35:37 -04:00
Nick Mathewson
5aa6a19de5
Update lintChanges script to understand 'Minor features (debugging)'
...
Previously we would give a warning because we didn't say "Fixes bug
Foo" on these.
2016-08-02 11:40:08 -04:00
Nick Mathewson
f3575a45ce
Merge branch 'maint-0.2.8'
2016-07-29 10:23:38 -04:00
teor (Tim Wilson-Brown)
1c4a2dd208
Remove a fallback that was on the hardcoded list, then opted-out
...
The fallback was added in 0.2.8.2-alpha.
2016-07-29 10:23:15 -04:00
Sebastian Hahn
265e40b481
Raise libevent dependency to 2.0.10-stable or newer
...
Only some very ancient distributions don't ship with Libevent 2 anymore,
even the oldest supported Ubuntu LTS version has it. This allows us to
get rid of a lot of compat code.
2016-07-04 12:40:09 +02:00
Nick Mathewson
f42dbc4e26
Merge branch 'maint-0.2.8'
2016-06-28 19:15:43 -04:00
teor (Tim Wilson-Brown)
26146dbe9e
Comment-out fallbacks in a way the stem fallback parser understands
...
If we manually remove fallbacks in C by adding '/*' and '*/' on separate
lines, stem still parses them as being present, because it only looks at
the start of a line.
Add a comment to this effect in the generated source code.
2016-06-28 19:15:08 -04:00