teor
78b2984ac9
practracker: Regenerate exceptions file
...
Accept the current state of the tor codebase, including all the
files and functions that have increased technical debt over the
last few months.
Accepts all the current practracker warnings, so that reviewers
can focus on new warnings.
Closes ticket 33635.
2020-03-19 16:59:52 +10:00
teor
c86d08e3e6
Run "practracker.py --regen-overbroad"
...
We've successfully resolved a bunch of technical debt over the last
few months. Let's remove the allowances for that debt from the
practracker exceptions.
2020-03-17 23:02:16 +10:00
David Goulet
df3f2bd9aa
hs-v3: Log reasons why service can't upload descriptor
...
When a service can not upload its descriptor(s), we have no logs on why. This
adds logging for each possible reason for each descriptors.
That logging is emitted every second so it is rate limited for each reason and
per descriptor.
Closes #33400
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-03-11 15:32:11 +02:00
Nick Mathewson
686494f0f7
Merge branch 'clang_format_prep_3'
2020-03-05 08:23:32 -05:00
Nick Mathewson
caa392a73a
Merge remote-tracking branch 'tor-github/pr/1685/head'
2020-02-24 07:45:20 -05:00
Nick Mathewson
7ba7f9c0de
Merge branch 'maint-0.4.3'
2020-02-20 10:44:43 -05:00
Nick Mathewson
7b42502869
Merge remote-tracking branch 'tor-github/pr/1757/head' into maint-0.4.3
2020-02-20 10:44:36 -05:00
Nick Mathewson
66bbdadbbe
Merge branch 'extract_routerkeys_squashed'
2020-02-20 10:41:12 -05:00
Nick Mathewson
1d068625dd
Move relay_handshake.[ch] into src/feature/relay, and make it optional
2020-02-20 10:41:06 -05:00
Nick Mathewson
09fb7987c5
Merge branch 'maint-0.4.3'
2020-02-20 08:50:18 -05:00
Nick Mathewson
dd4fa9b468
Extract relay-only handshake code into its own file.
...
This is not the only relay-only handshake code, but it is most of
such code that is in connection_or.c.
2020-02-19 19:11:57 -05:00
teor
57ff8d4a53
practracker: Read unicode files when using Python 2
...
Allow the "practracker" coding best practices checking script to read
unicode files, when using Python 2.
We made the script use unicode literals in 0.4.3.1-alpha, but didn't
change the codec for opening files.
Fixes bug 33374; bugfix on 0.4.3.1-alpha.
2020-02-19 08:22:01 +10:00
teor
d8cbb2965e
Run "practracker --regen-overbroad"
...
Closes ticket 33373.
2020-02-19 08:13:02 +10:00
David Goulet
17724a7cde
Merge branch 'tor-github/pr/1743'
2020-02-18 09:06:13 -05:00
Nick Mathewson
d3c23b079a
lintChanges: Tolerate variants that sortChanges knows how to clean up.
2020-02-18 09:01:56 -05:00
Panagiotis Vasilopoulos
674a821fbb
Stop assuming that /usr/bin/python exists
...
Fixes 33192
2020-02-16 21:58:01 +02:00
Taylor Yu
55f088bb29
Script to check sorting of manpage entries
...
Add a script to help check the alphabetical ordering of option names
in a manpage. Closes ticket 33339.
2020-02-14 11:02:16 -06:00
Nick Mathewson
b5ccdd978e
Add a dire warning about not reformatting the whole codebase yet.
2020-02-12 18:52:35 -05:00
David Goulet
f0964628e6
Merge branch 'ticket33029_042_01' into ticket33029_043_03
...
Conflicts:
doc/tor.1.txt
src/app/config/config.c
src/app/config/or_options_st.h
src/core/mainloop/connection.h
Between 042 and 043, the dirauth options were modularized so this merge commit
address this by moving the AuthDirRejectUncompressedRequests to the module
along with a series of accessors.
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-02-11 10:30:29 -05:00
Nick Mathewson
5fa62fffee
checkSpace: permit wide lines for LCOV_EXCL
...
We're telling clang-format that a line with LCOV_EXCL must not be
split -- that's fine, but we shouldn't complain when it indents it.
2020-02-06 16:25:56 -05:00
Nick Mathewson
f39ba52029
checkSpace: be more careful about bad function headers.
...
Previously we would forbid macro indentations like this:
FOO({
int x;
})
But clang-format sometimes generates those.
2020-02-06 14:54:04 -05:00
Nick Mathewson
c8fae6b5c8
checkSpace: don't treat an unindented label as starting a function.
2020-02-06 14:33:05 -05:00
Nick Mathewson
8d6f27cea5
checkSpace.pl: Allow space between iteration macros and ().
...
Clang-format wants to put these in, and they do make sense for
consistency.
Also allow more types.
2020-02-06 14:33:05 -05:00
Nick Mathewson
bfa7607385
checkSpace.pl: Use a data structure for a list of non-function names
2020-02-06 14:33:05 -05:00
Nick Mathewson
1f1d943999
checkspace: allow spaces in cpp directives.
2020-02-06 14:33:05 -05:00
Nick Mathewson
15819cde61
checkSpace.pl: allow {{, ){, and ({.
2020-02-06 14:33:05 -05:00
Nick Mathewson
f1d371bf32
checkSpace: remove the nosplabel test.
2020-02-06 14:33:05 -05:00
Nick Mathewson
573ab70bfe
Temporary clang-format configuration and script.
...
The format is the same as in my previous efforts here.
The script is a little tricky, since it invokes both clang-format
and codetool, and it makes sure that files do not have a changed
mtime unless there is actually some change in the file.
2020-02-06 14:33:05 -05:00
Nick Mathewson
5bd86b50b5
codetool: post-processor for clang-format
...
This code transformer makes a couple of changes that we want for our
source code, and can be expanded to handle more.
2020-02-06 14:04:19 -05:00
Nick Mathewson
5e963f97b1
practracker: use shutil.move so --regen will work on windows
...
On windows you can't os.rename() a file if the target filename
already exists.
2020-02-03 13:36:56 -05:00
Nick Mathewson
ec965ba98b
practracker: integration tests for --regen and --regen-overbroad
2020-02-03 13:11:58 -05:00
Nick Mathewson
2542a24b63
practracker: add a --regen-overbroad option to remove overbroad exceptions.
...
Closes ticket 32372.
2020-02-03 13:02:12 -05:00
cclauss
3208a74f90
Use print() function in both Python 2 and Python 3
2020-01-28 01:38:54 +01:00
David Goulet
3484608bda
practracker: Make it happy
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-01-21 10:31:29 -05:00
teor
28c8c63de9
add_c_file: Replace asserts with exceptions
...
Closes 32962.
2020-01-20 13:27:40 +10:00
teor
2c75d4a8d0
add_c_file: Improve script documentation
...
Part of 32962.
2020-01-20 13:20:14 +10:00
teor
0418bc0cb2
add_c_file: Improve tor source directory checks
...
Check that the script isn't in a tor build directory, by looking
for a src/include.am file.
Part of 32962.
2020-01-20 13:04:02 +10:00
teor
eb336e23a6
add_c_file: Rename variables based on the type of path
...
* fname for generic file paths
* tor_fname for paths relative to the top-level tor directory
* src_fname for paths relative to tor's src directory
With prefixes as required to disambiguate different paths of the same
type.
Part of 32962.
2020-01-16 09:27:57 +10:00
teor
b828588499
add_c_file: Simplify some usage of srcdir_file()
...
Part of 32962.
2020-01-16 09:26:08 +10:00
teor
3d50efcf98
add_c_file: Document the paths used by each part of the script
...
Most paths are relative to the top-level tor directory, but the
paths in the C and H files are relative to tor's src directory.
Part of 32962.
2020-01-16 09:26:04 +10:00
teor
207d2625ed
add_c_file: Improve path handling and canonicalisation
...
* distinguish between paths relative to the top-level tor directory,
and paths relative to tor's src directory
* canonicalise paths before using them
* check that the script is run from the top-level tor directory
* check that the file is being created in tor's src directory
Part of 32962.
2020-01-16 09:25:58 +10:00
Nick Mathewson
4f45ad1394
add_c_file: tolerate ./ in filenames.
2020-01-16 09:23:54 +10:00
Nick Mathewson
ef1744e2c9
add_c_file: handle adding to the end of a list correctly.
...
Fixes bug 32962.
2020-01-16 09:23:49 +10:00
Nick Mathewson
5e70c27e85
Merge remote-tracking branch 'tor-github/pr/1657'
2020-01-15 13:10:14 -05:00
teor
b7cfca1dee
Merge branch 'pr1599_squashed'
2020-01-15 22:31:01 +10:00
teor
b910ae8cd1
practracker: Wrap long lines in the test script
2020-01-15 22:29:52 +10:00
teor
fa038e5617
practracker: Test practracker exit status
...
Part of 32705.
2020-01-15 22:29:48 +10:00
teor
eb55d85e75
practracker: Fail tests if any process exits unexpectedly
...
Part of 32705.
2020-01-15 22:29:44 +10:00
teor
cda2ff1965
practracker: Capture stderr output in test_practracker.sh
...
And canonicalise file paths, so that output is consistent, even in
out-of-tree builds.
Capturing stderr output produces better diagnostics.
Diagnostics for 32705.
2020-01-15 22:29:22 +10:00
teor
8095c785f1
Merge branch 'maint-0.4.2'
2020-01-14 17:41:44 +10:00
teor
7e111d0eaa
practracker: print a notice to stderr when disabled
...
When TOR_DISABLE_PRACTRACKER is set, print a message to
stderr when skipping practracker checks.
Part of 32705.
2020-01-14 17:41:00 +10:00
Nick Mathewson
6b1592b564
test_practracker.sh: never disable practracker
...
When practracker is disabled, its output will be empty. We don't
want that happening during our tests.
Fixes bug 32705; bugfix on 0.4.2.1-alpha, when test_practracker.sh
was introduced.
2020-01-13 16:17:51 -05:00
Nick Mathewson
73ac1add3f
Split core/include.am into per-subdirectory include.am files
...
Closes ticket 32137.
2020-01-13 09:34:17 -05:00
teor
1619f14a04
python: Add __future__ imports for python 3 compatibility
...
Except for src/ext, which we may not want to modify.
Closes ticket 32732.
2019-12-12 15:58:51 +10:00
Nick Mathewson
e93801bfe6
Port changelog tools to python 3
...
Closes ticket 32704.
2019-12-09 10:53:48 -05:00
Nick Mathewson
fcb5656128
Merge branch 'ticket32609_squashed'
2019-12-04 12:15:28 -05:00
teor
b0f1b760ae
practracker: document !advisory in includes.py
2019-12-04 12:15:22 -05:00
teor
19324ff0ba
practracker: Test for bad ".c" includes in the unit tests
...
Part of 32522.
2019-12-04 12:15:22 -05:00
Nick Mathewson
8a10a74870
Have checkSpaceTest.sh exit as skipped when on Windows
...
Managing line-ending issues for this one isn't worth it.
2019-12-03 12:56:50 +10:00
Nick Mathewson
bd61a4e848
Add a simple test for checkSpace.pl
...
This script is not expected to work on windows due to line-ending
issues, so I'm not making it get run on an automated basis. We
should use it when editing checkSpace.pl.
Closes ticket 32613.
2019-12-03 12:56:46 +10:00
Nick Mathewson
2aaa7ae6e2
checkSpace.pl: make output more uniform.
...
There were lots of slight differences in indentation and formatting
among the in-file error messages.
2019-11-26 12:58:25 -05:00
teor
fadd292bf0
practracker/includes.py: Don't read editor temp files
...
(Or any files that start with "." or "#".)
Obviously correct changes to already-reviewed code.
2019-11-26 17:52:18 +10:00
teor
0ce11433c0
check-spaces: Fix an outdated comment
2019-11-26 11:02:28 +10:00
teor
ab70c315bd
practracker: Fix a typo in a logging function call
...
Obviously correct changes to already-reviewed code.
2019-11-26 11:01:34 +10:00
Nick Mathewson
31f8b4fa65
Merge branch 'stream-socks-auth' into bug19859_merged
2019-11-25 07:58:02 -05:00
Nick Mathewson
d9d75d4ae1
rename_c_identifier: don't crash when doing only one replacement.
2019-11-23 15:30:18 -05:00
Nick Mathewson
5060007f4b
Split log configuration out of options_act_reversible().
2019-11-19 16:03:32 -05:00
George Kadianakis
53ac9a9a91
Add changes file for #30381 .
2019-11-18 19:21:10 +02:00
teor
3b4a360ed0
practracker: Don't read editor temp files, attempt 2
...
(Or any files that start with "." or "#".)
Obviously correct changes to already-reviewed code.
2019-11-14 16:12:19 +10:00
teor
f7b45975bf
Merge branch 'bug32402_042' into bug32402_master
...
Merge changes from master with shellcheck fixes.
2019-11-06 16:14:06 +10:00
teor
57baea701f
shellcheck: Start checking most scripts for errors
...
This check was accidentally disabled by a bad find command.
Fixes bug 32402; bugfix on 0.4.2.1-alpha.
Obviously correct changes to already reviewed code.
2019-11-06 15:49:50 +10:00
teor
60d5ff303d
practracker: Preserve improvements
2019-11-05 14:28:02 +10:00
teor
bcb38d984d
practracker: Update the exceptions file with improvements
...
Regenerate the exceptions file, but only commit the improvements.
Includes changes from 32213 and other tickets.
2019-11-05 12:50:08 +10:00
teor
81972353cb
scripts: Fix update_versions.py for out-of-tree builds
...
Fixes bug 32371; bugfix on 0.4.0.1-alpha.
2019-11-05 12:00:59 +10:00
teor
c065ad3e3d
practracker: Rename functions modified by a previous commit
...
Part of 32213.
2019-11-05 11:36:26 +10:00
JeremyRand
736322ce61
Bug #19859 : Increase function-size exception to 124
2019-11-03 07:11:08 +00:00
teor
18e09913bf
practracker: Don't read editor temp files
...
(Or any dot files.)
Obviously correct changes to already-reviewed code.
2019-10-28 13:09:58 +10:00
Nick Mathewson
e7993dc046
Merge branch 'ticket31241_v3'
2019-10-25 08:10:39 -04:00
teor
00c3fba61c
scripts/maint: Stop assuming that python3 is in /usr/bin
...
Obviously correct fix to rename_c_identifier.py.
Bugfix on 32237; not in any released version of tor.
2019-10-25 16:46:54 +10:00
Nick Mathewson
dc6d7f072d
Make foo_validate() functions call config_validate().
...
The former foo_validate() functions are now toplevel
legacy_validate_fn callbacks. The new foo_validate() functions now
call them.
This change lets us remove the old shared_random disk state
validation callback entirely.
2019-10-24 20:30:32 -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
Nick Mathewson
264c5312eb
Merge branch 'maint-0.4.2'
2019-10-18 12:32:49 -04:00
Alexander Færøy
95e3527df0
Bump practracker exception limit for process_win32_exec().
...
I have added a larger comment there and one line of code, so I think
this bump is reasonable.
See: https://bugs.torproject.org/31810
2019-10-17 21:12:51 +02:00
Nick Mathewson
2c97cf3add
Merge remote-tracking branch 'tor-github/pr/1329'
2019-10-16 12:31:47 -04:00
Nick Mathewson
08fd551e9f
Regenerate practracker exceptions file for 0.4.3 progress.
2019-10-16 09:15:00 -04:00
Nick Mathewson
8ce17e0b35
practracker: add a missing #.
2019-10-16 09:15:00 -04:00
Nick Mathewson
a4790e7d4b
maint-0.4.2: remove ".enable_practracker_in_hooks".
2019-10-11 17:18:55 -04:00
Nick Mathewson
5fd137c482
Merge remote-tracking branch 'tor-github/pr/1358'
2019-10-03 09:11:49 -04:00
teor
3d17fafa04
control/control: Refactor some error handling code
...
Split some protocol error handling out of
connection_control_process_inbuf().
This refactor reduces the size of a practracker exception.
Closes 31840.
2019-10-03 11:35:42 +10:00
George Kadianakis
4673cb8168
Merge branch 'tor-github/pr/1339'
2019-09-30 13:44:59 +03:00
Nick Mathewson
fc1134e3e5
annotate_ifdef_directives: test edge-case of 80-char line
...
An 80-character line (79 characters if you don't count the newline)
should not be truncated, and should not have a "..." insterted.
2019-09-27 21:04:22 -04:00
Nick Mathewson
21c9f7c85e
Annotate_ifdef_directives: doctest for 80-column lines.
2019-09-27 21:04:22 -04:00
Nick Mathewson
f1e0665c93
Rename annotate_ifdef_directives to end with .py.
...
This allows the python doctest module to process it correctly
when invoked as:
python -m doctest -v annotate_ifdef_directives.py
2019-09-27 21:04:22 -04:00
Nick Mathewson
d229399e77
annotate_ifdef_directives: Allow it to be imported as a module.
2019-09-27 21:04:22 -04:00
Nick Mathewson
6f0e697e41
Use Doctests to test the behavior of annotate_ifdef_directives.
2019-09-27 21:04:22 -04:00
Nick Mathewson
195aa2f5f7
annotate_ifdef_directives: generate paren-balanced expressions
...
This algorithm is not fully general, but it strikes a balance
between efficiency, simplicity, and correctness.
2019-09-27 21:04:22 -04:00
Nick Mathewson
21cc9d13f3
annotate_ifdef_directives: clarify situation with newlines
...
Our line limit is 80 characters, assuming that there is a single
terminating newline character that counts towards the limit. On
Windows, this might go as high as 81 characters, if we count CRLF as
two characters.
2019-09-26 15:52:45 -04:00
Nick Mathewson
65e63e7461
annotate_ifdef_directives: remove some cases of double negation
...
This change should reduce the number of cases where we say
"/* !(!defined(foo)) */" .
This only does cases where we can use a regex to make sure that the
simplification is guaranteed to be correct. Full boolean
simplification would require this script to parse C, and nobody
wants that.
2019-09-26 15:52:45 -04:00
Nick Mathewson
ffd857bbe1
Merge remote-tracking branch 'tor-github/pr/1308'
2019-09-26 14:36:37 -04:00
George Kadianakis
7157d80c6f
Merge branch 'tor-github/pr/1337'
2019-09-25 14:19:49 +03:00