Commit Graph

567 Commits

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