Commit Graph

287 Commits

Author SHA1 Message Date
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