Analogously to tor-github, we now make a tor-gitlab repository. It
is set up to disable push direct attempts, and to fetch merge
requests into appropriate branches.
git-pull-all.sh knows how to fetch this repository.
LTTng tracepoint probe declaration is not really following a C standard that
coccinelle and checkSpace.pl likes.
Move everything to a .inc file and standardize the trace_probes_circuit.h
header to include that LTTng specific file if the instrumentation was enabled
at configure time.
Part of #32910
Signed-off-by: David Goulet <dgoulet@torproject.org>
This is the very first tracepoint in tor. It is in the circuit subsystem for
when a new circuit opens.
LTTng instrumentation requires lot more around a tracepoint than USDT thus
this commit only adds one tracepoint in order to outline a base to add more
tracepoints later.
The idea is that we separate subsystem into what LTTng defines as "providers"
so the circuit provider contains the tracepoint definitions for the circuit
subsystem.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Signed-off-by: David Goulet <dgoulet@torproject.org>
We introduce TOR_EXTRA_PRE_COMMIT_CHECKS environment variable to run the
pre-commit hook. The pre-push git hook will set it in order to run all
pre-commit checks.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Only warn when we actually want a commit _and_ there are uncommitted changes
found. Else, it is fine to rename if the script is not creating a commit.
Signed-off-by: David Goulet <dgoulet@torproject.org>
Previously, this script ran over every C file in our source code,
which took up to a minute on my desktop.
Instead, the script now has several modes that it can run in, to
minimize the time spent and improve useful output. It should now be
suitable for everyday use and git hooks. I hope.
I've also renamed this script, so that we can keep using it in the
future if we were to move to some tool other than clang-format.
Accept extra lines in nodelist and routerlist due to extra features, and
due to refactors that simplify some functions.
Most of the refactor eliminated duplicate code in smaller functions, so
there's only one large function that got smaller.
Part of 34200.
Move a series of function from config.c into that new file which is related to
address resolving.
Part of #33789
Signed-off-by: David Goulet <dgoulet@torproject.org>
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.
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.
To run this, say something like
TOR_DEVTOOL_DIR=~/bin scripts/git/git-install-tools.sh all
To see what it would do, give it the -n flag.
To get help, give it the -h flag.
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>
This reverts commit a63b414822.
The "typo" wasn't actually a typo. The "r" in the suffixes for the
release branches is meant to make them distinct from the maint
branches.
Now, _right now_, nothing uses release branch suffixes, but it's
important to keep them distinct if we decide to use them in the
future.
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.
Stop executing the checked-out pre-commit hook from the pre-push hook.
Instead, execute the copy in the user's git dir.
Fixes bug 33284; bugfix on 0.4.1.1-alpha.
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>
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.
* 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.
* 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.