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
teor
99d957696b
scripts/git: Stop running the checked-out git scripts
...
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.
2020-02-12 20:37:21 +10:00
David Goulet
2a524662c3
Merge branch 'tor-github/pr/1717'
2020-02-11 10:52:49 -05:00
Nick Mathewson
7404b6fb71
Update scripts/git/*.sh to know about 043 and not about 040.
2020-02-11 10:52:42 -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
Christian Clauss
9f7e1ccacb
Undefined name: make_key() -> make_rsa_key()
2020-02-11 08:35:11 -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
b7bbff0c9c
Merge remote-tracking branch 'public/practracker_regen_overbroad_2'
2020-02-06 08:27:12 -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
Christian Clauss
472d58372b
Remove unused import UserDict
...
Fixes: https://trac.torproject.org/projects/tor/ticket/32791#comment:3
Unblocks: #1686
2020-02-03 17:55:58 +02:00
cclauss
3208a74f90
Use print() function in both Python 2 and Python 3
2020-01-28 01:38:54 +01:00
Nick Mathewson
cda10a2e89
Git hooks: remove support for 0.2.9 directory layout.
...
We no longer will be pushing or committing things in branches that
use src/common or src/or.
Resolves ticket 32957.
2020-01-23 10:28:09 -05: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
c80694decc
scripts/git: Improve branch list comments
...
Hopefully, these explanations make it easier to get the next branch
transition right.
Part of 32772.
2020-01-15 12:28:00 +10:00
teor
536eeb4589
scripts/git: Fix git-merge-forward after removing 0.2.9
...
We need a test branch for the earliest maint branch (maint-0.3.5),
but we can't merge forward into it, because there is no previous
active maint branch.
Also, edit a git-push-all comment that still said "029".
Bugfix on 32772; bug not in any released version of tor.
2020-01-15 12:22:38 +10:00
David Goulet
b958529dbf
Merge branch 'tor-github/pr/1633'
2020-01-14 14:03:21 -05: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
rl1987
c0dd214c8a
Remove 0.2.9 from git scripts
2019-12-30 12:41:08 +07:00
teor
ac3a9aaf0d
Makefile/git scripts: Add comments to keep owned file lists in sync
2019-12-20 09:35:18 +10:00
teor
5c98a42f49
Merge remote-tracking branch 'tor-github/pr/1584'
2019-12-19 19:33:29 +10: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
teor
9a556dee81
cocci: Require spatch >= 1.0.4 to run checks
...
No changes file required: not in any released version of tor.
Fixes bug 32663.
2019-12-05 10:27:47 +10: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
8861ad85d0
git scripts: Add the checkSpace.pl unit tests
...
Extra testing after 32613.
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
teor
5ce45ac907
Makefile/git scripts: Add the practracker unit tests
...
Add a check-practracker-unit-test target, and run it as part of
"make check".
Add the practracker unit tests to scripts/git/pre-commit.git-hook.
Part of 32609.
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
David Goulet
1371d29e5b
Merge branch 'tor-github/pr/1489'
2019-11-14 10:37:14 -05: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
7ee1e16c6f
scripts/git: Stop failing when upstream branches don't exist
...
If you add a custom remote, or a new branch, and don't fetch first,
then the script would fail when checking for unchanged branches.
Instead, skip the check: a new branch is definitely a change.
2019-11-07 12:04:51 +10:00
teor
3864536b7c
scripts/git: Remove extra printfs from a bad merge
2019-11-07 12:04:22 +10:00
teor
e6b5a1ff93
shellcheck: Fix minor issues in some scripts
...
Fix minor issues in git-push-all.sh, git-setup-dirs.sh and
test_parseconf.sh.
Fixes bug 32402; not in any released version of tor.
Obviously correct changes to already reviewed code.
2019-11-06 16:21:01 +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
7f23d47f72
shellcheck: Fix issues in the git-*.sh scripts
...
Fixes bug 32402; bugfix on 0.4.2.1-alpha.
Obviously correct changes to already reviewed code.
2019-11-06 16:09:31 +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
6169469546
Merge remote-tracking branch 'tor-github/pr/1477'
2019-11-05 14:23:10 +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
1ffb3b549f
scripts/git: Add TOR_EXTRA_REMOTE_* for an extra git remote
...
When running git-setup-dirs.sh.
Part of 32347.
2019-10-31 14:59:19 +10:00
teor
38e8cca6a1
scripts/git: Add TOR_EXTRA_CLONE_ARGS for git clone
...
When running git-setup-dirs.sh.
Part of 32347.
2019-10-31 14:59:16 +10:00
teor
995618ec61
scripts/git: Make a master symlink in the worktree directory
...
When running git-setup-dirs.sh.
Part of 32347.
2019-10-31 14:59:12 +10:00
teor
e046903f93
scripts/git: Restore a dropped check for pre-commit in pre-push
...
Bugfix on 31919; not in any released version of Tor.
2019-10-31 14:51:31 +10:00
teor
7e73c0d5a1
scripts/git: Print the correct path in git-setup-dirs.sh
2019-10-31 14:39:49 +10:00
teor
cb7340abf1
scripts/git: Don't use spaces in git URLs
2019-10-31 13:56:59 +10:00
teor
3479024cb1
scripts: Change to the top source directory as needed
...
Bugfix on 31919; not in any released version of tor.
2019-10-28 13:28:50 +10: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
teor
68befa3b84
scripts/git: Fix a shellcheck error in pre-commit.git-hook
...
Some versions of shellcheck do not detect this error.
Bugfix on 31919; not in any released version of tor.
2019-10-28 13:04:29 +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
teor
f40eb2ead6
Merge remote-tracking branch 'tor-github/pr/1462'
2019-10-25 16:14:37 +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
teor
b3d035d5c4
Merge remote-tracking branch 'tor-github/pr/1463'
2019-10-25 10:27:41 +10: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
teor
1094389d82
scripts/git: Make spaces consistent in pre-push.git-hook
...
Part of 31919.
2019-10-24 14:10:30 +10:00
teor
b4b316631d
scripts/git: Only check modified files in existing git hook checks
...
Part of 31919.
2019-10-24 14:10:26 +10:00
teor
b9a2286765
scripts/git: Add check_cocci_parse.sh to the pre-commit hook
...
But only check modified files, which dramatically speeds up
check_cocci_parse.sh.
Part of 31919.
2019-10-24 14:09:53 +10:00
teor
71b8b7ee2d
scripts/cocci: Check owned src in check_cocci_parse.sh by default
...
Check the tor-owned sources in an 0.3.5 directory layout, if no
files are provided on the command line.
Part of 31919.
2019-10-24 14:09:45 +10:00
teor
330717f018
scripts/cocci: Add check_cocci_parse.sh and default exceptions
...
Add check_cocci_parse.sh, which is a thin wrapper around
try_parse.sh. Add a default exceptions file, and use it in
check_cocci_parse.sh.
Part of 31919.
2019-10-24 11:40:58 +10:00
teor
87ee49e016
scripts/cocci: Remove unused arguments from try_parse.sh spatch
...
Part of 31919.
2019-10-24 11:40:54 +10:00
teor
9a96068a0b
scripts/cocci: Add an exceptions file to try_parse.sh
...
Set $TOR_COCCI_EXCEPTIONS_FILE to the name of an exceptions file,
containing a list of filename patterns matched by 'grep -f'.
Part of 31919.
2019-10-24 11:40:51 +10:00
teor
20606b8a15
Merge remote-tracking branch 'tor-github/pr/1447'
2019-10-24 10:00:47 +10:00
teor
f43a7a4d96
scripts/git: Avoid sleeping before the last push in git-push-all.sh
...
Change the loop order, so that we only sleep between pushes,
and avoid sleeping after all the pushes are done.
(In rare cases, there may still be an extra sleep.)
Part of 32216.
2019-10-23 13:28:37 +10:00
teor
4f6f006c99
scripts/git: Make git-push-all.sh skip more branches that match upstream
...
The script now skips master, maint-* and release-* branches that match
upstream, not just test branches.
And fix "no branches" bugs that this change makes happen more often.
Part of 32216.
2019-10-23 13:28:15 +10:00
teor
9a3b768fae
scripts/git: Pass all unrecognised arguments to git-push-all.sh
...
This makes the behaviour of git-push-all.sh -n identical to the other
git scripts.
Part of 32216.
2019-10-23 13:04:28 +10:00
teor
71191fa3dc
scripts/git: Fix a variable name typo in git-push-all.sh
...
Obviously correct changes to already reviewed code.
2019-10-23 13:01:55 +10:00
Nick Mathewson
b2d487ae22
Merge branch 'ticket31705_v2' into ticket31705_v2_merged
...
Conflicts:
src/feature/dirparse/authcert_parse.c
src/feature/dirparse/ns_parse.c
src/feature/hs/hs_service.c
src/lib/conf/conftesting.h
src/lib/log/log.h
src/lib/thread/threads.h
src/test/test_options.c
These conflicts were mostly related to autostyle improvements, with
one or two due to doxygen fixes.
2019-10-22 09:39:06 -04:00
Nick Mathewson
3e41459dff
confmacros.h: fix coccinelle parsing.
2019-10-22 09:32:13 -04:00
Nick Mathewson
d6ce8527f8
tor-coccinelle.h: add a definition for EXTERN
2019-10-22 09:32:13 -04:00
Nick Mathewson
6696a5bbae
tor-coccinelle.h: add HANDLE_{DECL,IMPL}
2019-10-22 09:32:13 -04:00
Nick Mathewson
d129b503c0
tor-coccinelle.h: add EAT_SEMICOLON
2019-10-22 09:32:13 -04:00
Nick Mathewson
2e64dfea95
tor-coccinelle.h: add CHECK_SCANF
2019-10-22 09:32:13 -04:00
Nick Mathewson
7798c53c98
tor-coccinelle.h: add MOCK_DECL
2019-10-22 09:24:25 -04:00
Nick Mathewson
18f1624bbe
tor-coccinelle.h: handle SLIST and LIST.
2019-10-22 09:24:25 -04:00
Nick Mathewson
a2bb66c355
Add a "COCCI" macro that we tell coccinelle is always defined.
...
This will let us give specific in-file equivalents to given macros
or preprocessor directives, to make things parse.
2019-10-22 09:24:25 -04:00
Nick Mathewson
ea47e53252
tor-coccinelle.h: handle NS and NS_DECL.
2019-10-22 09:24:25 -04:00
Nick Mathewson
017c62000c
tor-coccinelle: handle SIMPLEQ and TAILQ better.
2019-10-22 09:24:25 -04:00
Nick Mathewson
c13c0c8999
tor-coccinelle.h: Add {EN,DIS}ABLE_GCC_WARNING.
2019-10-22 09:24:25 -04:00
Nick Mathewson
eb1260e346
tor-coccinelle: expect parentheses after HT_INITIALIZER
2019-10-22 09:24:25 -04:00
Nick Mathewson
51c2097586
try_parse.sh: add a verbose mode and a meaningful exit code.
2019-10-22 09:24:25 -04:00
Nick Mathewson
9ab96550da
document test-operator-cleanup
2019-10-22 09:24:25 -04:00
Nick Mathewson
b4e1dc747e
Merge remote-tracking branch 'tor-github/pr/1420'
2019-10-21 18:45:34 -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
teor
85d0a458c2
scripts: Add git-setup-dirs.sh, which sets up maintainer git repos
...
git-setup-dirs.sh sets up an upstream git repository and worktrees,
so that tor maintainers can do merges.
Closes ticket 29603.
2019-10-17 14:47:48 +10:00
teor
e6bb23434e
Merge remote-tracking branch 'tor-github/pr/1419'
...
Obviously correct fixes to code that's already been reviewed.
2019-10-17 13:47:42 +10: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
teor
11b5946e49
scripts: Fix a git script comment
2019-10-15 13:58:53 +10:00
teor
028987a0a1
scripts: Merge forward test branch _042 into test branch _master
...
Fixes an issue where test branch _041 was merged into _042 and _master.
This issue only affects test branch mode (-t).
2019-10-15 13:36:56 +10:00
Nick Mathewson
78f4e29219
git scripts: add maint/release-0.4.2.
2019-10-11 17:26:34 -04:00
Nick Mathewson
a4790e7d4b
maint-0.4.2: remove ".enable_practracker_in_hooks".
2019-10-11 17:18:55 -04:00
Nick Mathewson
4ab85f4928
Document tor-coccinelle.h
2019-10-09 09:23:49 -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
George Kadianakis
6677eae579
Merge branch 'tor-github/pr/1355'
2019-09-25 14:17:03 +03:00
George Kadianakis
e77ad795c6
Merge branch 'tor-github/pr/1322'
2019-09-25 14:13:44 +03:00
George Kadianakis
99f75373de
Merge branch 'tor-github/pr/1309'
2019-09-25 14:12:42 +03:00
teor
22c33ea7f7
practracker: Fix a typo in the usage message
...
Fixes bug 31828; bugfix on 0.4.2.1-alpha.
2019-09-24 14:37:43 +10:00
AmreshVenugopal
3e45260594
fix: Ticket #31589
...
- The function `decrypt_desc_layer` has a cleaner interface.
- `is_superencrypted_layer` changed from `int` -> `bool`
[ticket details](https://trac.torproject.org/projects/tor/ticket/31589 )
add(changes/*): changes file
fix(src/features/hs): is_superencrypted changed from `int` -> `bool`
fix(changes/ticket31589): header
add(changes/ticket31589): subsystem(onion services) to change
2019-09-23 23:52:01 +05:30
Nick Mathewson
16890839d3
annotate_ifdef_directives: obey an 80-column line-limit
...
If we would add a comment making a line longer than 80 columns,
instead truncate the variable portion of the comment until it just
fits into 80 columns, with an ellipsis.
2019-09-23 08:48:53 -04:00
Nick Mathewson
f36e743e5d
annotate_ifdef_directives: introduce a function to make commented lines
...
No functional change in this commit.
2019-09-23 08:48:53 -04:00
Nick Mathewson
0b367f3386
Add comments to annotate_ifdef_directives
2019-09-23 08:48:53 -04:00
Nick Mathewson
2e1989dacc
Remove practracker exception for microdesc parsing function
2019-09-19 14:37:24 -04:00
Nick Mathewson
387cfccee4
Add a coccinelle script to look for {inc,dec}rements in log_debug
...
We want to forbid this pattern since, unlike the other log_*()
macros, log_debug() conditionally evaluates its arguments only if
debug-level logging is enabled. Thus, a call to
log_debug("%d", x++);
will only increment x if debugging logs are enabled, which is
probably not what the programmer intended.
One bug caused by this pattern was #30628 .
This script detects log_debug( ) calls with any of E++, E--, ++E,
or --E in their arguments, where E is an arbitrary expression.
Closes ticket 30743.
2019-09-18 13:43:42 -04:00
Nick Mathewson
1c67d261d5
practracker: Integration test for --list-overbroad
...
Make sure that we list overbroad exceptions, and nothing else
2019-09-18 10:28:33 -04:00
Nick Mathewson
d1ffac3f8a
practracker: An exception is "used" even when it is violated.
...
The purpose of tracking whether an exception is used is so that we
can tell whether it is overbroad. This means that an _underbroad_
exception is still a used one. Fixes bug 31338.
2019-09-18 10:28:33 -04:00
Nick Mathewson
25d55fa01e
Practracker: do not list problems when told to --list-overbroad.
2019-09-18 10:28:33 -04:00
Daniel Pinto
619178bb3a
Fix add_c_file.py script to support paths starting with ./ #31336
2019-09-16 22:57:20 +01:00
George Kadianakis
8f2ab45229
Merge branch 'tor-github/pr/1313'
2019-09-16 19:45:20 +03:00
George Kadianakis
9877423736
Merge branch 'tor-github/pr/1312'
2019-09-16 19:44:33 +03:00
Nick Mathewson
25ed698fb8
Add some more of our trickier macros to tor-coccinelle.h
...
Note that this header file behaves a bit strangely. It is used by
coccinelle just for the purpose of knowing how to parse
difficult-to-parse stuff. It doesn't need to produce good C -- just
grammatical C.
2019-09-11 18:45:52 -04:00
Nick Mathewson
c6191983e9
Add a script to tell whether a file can be perfectly parsed by spatch
...
spatch can let us know whether a file has parsed "perfectly" or
not. The more perfect it parses, the likelier any semantic patches
are to apply. I've used this script to identify problem areas in
our code.
2019-09-11 18:44:10 -04:00
Nick Mathewson
9a101c2c0f
Add a script to run spatch with appropriate arguments
...
It's a bit tricky to remember the right incantation to get the
proper include paths and incantations for coccinelle, but without
it, coccinelle is less effective at parsing our C.
2019-09-11 18:43:16 -04:00
Nick Mathewson
e7565855c0
Merge branch 'ticket31578' into ticket31578_merged
2019-09-11 08:59:29 -04:00
teor
af12b6fd29
scripts: Make checkShellScripts.sh error exit if it can't find src
...
Closes 31679.
2019-09-10 12:24:08 +10:00
teor
8c37bf738d
scripts: Allow checkShellScripts.sh to be run from its parent directory
...
... on systems that don't have realpath.
Part of 31679.
2019-09-10 12:23:12 +10:00
teor
f0044e44f2
scripts: Make the git scripts show usage messages
...
All of the git scripts now have usage messages on:
* a new -h option, and
* usage errors.
Closes 31677.
2019-09-10 12:14:49 +10:00
teor
785391a934
scripts: reformat the comments in git-pull-all.sh for consistency
...
Preparation for 31677.
2019-09-10 12:14:00 +10:00
teor
97da440f9e
scripts: Improve a usage message in git-push-all.sh
...
Part of 31677.
2019-09-10 12:12:04 +10:00
teor
51b792b000
scripts: Allow git-push-all.sh to be run from any directory
...
Closes 31678.
2019-09-10 12:10:28 +10:00
David Goulet
796a9b37ea
Merge branch 'tor-github/pr/1264'
2019-09-09 14:53:12 -04:00
Nick Mathewson
a642a4cbd7
Merge branch 'ticket30924_042_04_squashed' into ticket30924_042_04_squashed_merged
2019-09-09 11:10:53 -04:00
David Goulet
a8a1ea4e0e
practracker: Make you happy funny script
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-09-09 11:06:51 -04:00
Nick Mathewson
bc4ddbf4ac
New practracker exceptions for dependency violations in headers
...
I've done this manually, since I don't want to override the existing
exceptions in this branch.
2019-09-05 16:17:50 -04:00
Nick Mathewson
318de94e49
Fix a bug in practracker's handling of .may_include in headers
...
I was expecting our filter code to work in a way it didn't. I
thought that saying that DependencyViolation applied to "*" would
hit all of the files -- but actually, "*" wasn't implemented. I had
to say "*.c" and "*.h"
2019-09-05 16:16:20 -04:00
teor
5c2941e69f
shellcheck: Add shellcheck to the pre-commit hook
...
* Move the shellcheck script from the Makefile to its own script file
* Reformat the shellcheck script so it's easier to read and modify
* Call the shellcheck script from the pre-commit hook
Fixes bug 30967; not in any released version of Tor.
2019-09-05 11:15:26 +10:00
David Goulet
6210c75076
Merge branch 'tor-github/pr/1246'
2019-09-04 08:27:36 -04:00
Nick Mathewson
03040903e6
practracker: handle empty files.
...
Previously practracker would fail on a file with no lines.
2019-09-02 15:40:35 -04:00
Nick Mathewson
3a2964577e
practracker: Fix indentation in util.py
...
This commit only changes whitespace and removes a temporary comment.
2019-09-02 15:40:35 -04:00
Nick Mathewson
651bbe8a0d
Practracker: only consider files under "src/"
2019-09-02 15:40:35 -04:00
Nick Mathewson
e3f7e5e65e
practracker: make filename terminology uniform
...
Previously we often referred to "C files" and "H files", which is
more ambiguous than ".c files" and ".h files".
2019-08-29 09:20:27 -04:00
teor
e155598fe3
scripts/git: fix shellcheck issues in git-push-all.sh
...
Part of 31314.
2019-08-29 23:13:29 +10:00
teor
340ff7f5f8
scripts/git: fix an env var typo in git-merge-forward.sh
...
Part of 31314.
2019-08-29 22:58:53 +10:00
teor
d0e31b4d1f
scripts/git: Quote shell arguments where possible
...
Most shell arguments should be quoted to avoid mistakes.
But since all branch names are hard-coded, or supplied by the script user,
we don't need to be too concerned about command injection.
Quoting all shell arguments would take a major refactor.
(Probably using arrays.)
Part of 31314.
2019-08-29 22:53:44 +10:00
teor
664e6a392e
scripts/git: Improve usage documentation for merge-forward and push-all
...
Part of 31314.
2019-08-29 22:52:21 +10:00
teor
b47b71ad2f
scripts/git: Let git-push-all.sh skip unchanged test branches
...
Skip test branches that are the same as remote maint/release/master
branches.
Add a TOR_PUSH_SAME and -s argument to git-push-all.sh to change this
default.
Part of 31314.
2019-08-29 22:50:47 +10:00
teor
70387054b9
scripts/git: Make the git push command and args configurable
...
TOR_GIT_PUSH provides the git push command and default arguments.
Also fix handling of git-push-all.sh script arguments and arguments that
are passed through to $TOR_GIT_PUSH, using a "--" argument as a separator.
Fix on 29879.
2019-08-29 22:50:37 +10:00
teor
15782758c7
scripts/git: Allow git-merge-forward.sh to re-use existing test branches
...
Add a -u argument to git-merge-forward.sh, so that the script can
re-use existing test branches after a merge failure and fix.
Part of 31314.
2019-08-29 22:47:50 +10:00
teor
667311ebbd
scripts/git: Add test branch support to the git scripts
...
Add a -t <test-branch-prefix> argument to git-merge-forward.sh and
git-push-all.sh, which makes these scripts create, merge forward, and
push test branches.
Add a -r <remote-name> argument to git-push-all.sh, so the script can
push test branches to a personal remote.
Closes ticket 31314.
2019-08-29 22:47:43 +10:00
teor
c98724b022
scripts/git: Cleanup and fix minor git scripts issues
...
Fix typos, clean up formatting, rewrite some comments, add headings.
Preparation for 31314.
2019-08-29 22:42:37 +10:00
Nick Mathewson
c710518825
Add integration tests for new practracker features
...
These tests check our .may_include checking, and our header file
checking.
They do not pass yet: we have a bug in our filtering code.
2019-08-26 12:28:46 -04:00
George Kadianakis
859514d477
Merge branch 'tor-github/pr/1263'
2019-08-26 17:35:34 +03:00
Nick Mathewson
eff95429fd
Merge remote-tracking branch 'tor-github/pr/1241'
2019-08-26 10:15:25 -04:00
Nick Mathewson
ca667b9a8a
Fix/suppress shellcheck warnings in git-push-all.sh
...
(I've chosen to suppress some instances rather than 'fix' them,
since the fix would require arrays or major refactoring.)
Fixes bug 31519; bug not in any released Tor.
2019-08-26 09:58:38 -04:00
David Goulet
24bc2cd7b5
Merge branch 'tor-github/pr/1254'
2019-08-26 09:38:24 -04:00
Nick Mathewson
7a45c9c1d2
Merge remote-tracking branch 'tor-github/pr/1215'
2019-08-24 16:30:55 -04:00
Nick Mathewson
2780cbb9cb
Merge branch 'ticket30935' into ticket30935_merged
2019-08-22 17:25:35 -04:00
David Goulet
d475d7c2fb
Merge branch 'tor-github/pr/1244'
2019-08-22 17:10:22 -04:00
Nick Mathewson
5b3741e05a
Document new practracker violation types, and add a practracker readme
...
Closes ticket 31476.
2019-08-21 10:17:26 -04:00
Nick Mathewson
cc48eff2d3
Merge branch 'ticket31176' into ticket31176_merged
2019-08-21 09:46:20 -04:00
Nick Mathewson
edf5a327c5
Merge branch 'ticket30914' into ticket30914_merged
2019-08-20 13:57:05 -04:00
teor
bdcccb9776
scripts/git: Remove a duplicate practracker call from the pre-push hook
...
The pre-push hook already calls the pre-commit hook, which calls
practracker.
Also update the script comments to avoid similar issues in future.
Fixes bug 31462; bugfix on 0.4.1.1-alpha.
2019-08-20 12:21:02 +10:00
Nick Mathewson
29bd43ab03
Merge remote-tracking branch 'tor-github/pr/1224'
2019-08-19 11:26:58 -04:00
Nick Mathewson
e7aabfce61
Merge remote-tracking branch 'tor-github/pr/1235'
2019-08-19 11:10:21 -04:00
George Kadianakis
e411fcabd7
Merge branch 'tor-github/pr/1220'
2019-08-19 18:02:44 +03:00
George Kadianakis
b257e8e553
Merge remote-tracking branch 'mike/bug31356+logs-rebased2' into bug31356_final
2019-08-19 17:53:00 +03:00
David Goulet
81e37b81f1
practracker: Make exceptions.txt happy
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-08-19 09:47:52 -04:00
Mike Perry
6deba34fee
Practracker
2019-08-12 14:06:08 -05:00
Neel
64d2133a61
Move the connection_edge_process_relay_cell() assignments out of if statements in circuit_receive_relay_cell()
2019-08-08 13:05:46 -04:00
Nick Mathewson
71e5af0221
pre-push hook: Only run practracker when a special file is present
...
Closes ticket 30979.
2019-08-08 11:36:05 -04:00
teor
d6202d3128
scripts/git: add TOR_PUSH_DELAY to git-push-all.sh
...
Add a TOR_PUSH_DELAY variable to git-push-all.sh, which makes the script
push master and maint branches with a delay between each branch. These
delays trigger the CI jobs in a set order, which should show the most
likely failures first.
Also:
* make pushes atomic by default, and
* make the script pass any command-line arguments to git push.
Closes ticket 29879.
2019-08-08 18:59:44 +10:00
Nick Mathewson
35cfe2e776
Merge remote-tracking branch 'tor-github/pr/1208'
2019-08-07 09:49:49 -04:00
David Goulet
2b225aaa77
practracker: Make it happy after rebase
...
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-08-06 08:01:26 -04:00
David Goulet
c5b00c5a51
hs-v3: Add consensus parameters for DoS defenses
...
Part of #15516
Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-08-06 07:58:14 -04:00
George Kadianakis
d7afdb3b0f
Merge branch 'tor-github/pr/1195'
2019-08-06 14:51:47 +03:00
Nick Mathewson
0f4b245b20
update exceptions file for depencency violations
2019-08-05 17:48:06 -04:00
Nick Mathewson
a5971d732e
Move include-violation checking into its own function.
2019-08-05 17:48:06 -04:00
Nick Mathewson
2a3c727dfe
Make includes interface more like the rest of practracker
...
Everything else assumes that somebody else will open the file for it.
2019-08-05 17:48:06 -04:00
Nick Mathewson
6b26281b50
practracker: a violation of a .may_include rule is now a problem.
...
We treat "0" as the expected number, and warn about everything
else. The problem type is "dependency-violation".
2019-08-05 17:48:06 -04:00
Nick Mathewson
720951f056
Teach include-checker about advisory rules
...
A .may_includes file can be "advisory", which means that some
violations of the rules are expected. We will track these
violations with practracker, not as automatic errors.
2019-08-05 17:04:00 -04:00
Nick Mathewson
9abbde2c24
Update pre-commit hook to find checkIncludes in its new location
...
Also add a temporary script to redirect the hook, if people don't
upgrade for a bit.
2019-08-05 14:12:39 -04:00
Nick Mathewson
6fb74753c2
Move checkIncludes inside practracker
...
Update the makefile accordingly.
2019-08-05 14:10:40 -04:00
Nick Mathewson
9eb12dde18
checkIncludes: add a real main function and CLI
2019-08-05 13:40:59 -04:00
Nick Mathewson
3f4e89a7ab
checkIncludes: refactor to use error-iteration style
...
This makes checkIncludes match practracker more closely, and lets us
eliminate a global.
2019-08-05 13:40:59 -04:00
Nick Mathewson
47d9bcfef8
checkIncludes: Separate file-handling from rule-handling
...
This is our shift from directory-at-a-time processing to
file-at-a-time processing.
2019-08-05 13:40:59 -04:00
Nick Mathewson
65a69f861e
checkIncludes.py: extract topological sort code
...
Our topological sort code really deserves a function of its own.
Additionally, don't print from inside the topological sort code:
instead, return a result, and let the caller print it.
2019-08-05 13:40:59 -04:00
Nick Mathewson
3f35ac772b
checkIncludes: introduce rules-file caching.
...
We'll want this so that we can have each file evaluated
independently, rather than a directory at a time.
2019-08-05 11:35:13 -04:00
Nick Mathewson
475749351d
Move the executable part of checkIncludes.py inside an if block.
...
I'll want to make this block into a series of functions in a
subsequent commit, but I'm doing this separately to get the
indentation change out of the way.
This branch will end up with making checkIncludes.py an integrated
part of practracker, for ticket 31176.
2019-08-05 11:30:22 -04:00
George Kadianakis
ce477da8a7
Ignore regular cells in padding circuits.
...
Padding circuits were regular cells that got closed before their padding
machine could finish. This means that they can still receive regular cells from
their past life, but they have no way or reason to answer them anymore. Hence
let's ignore them before they even get to the proper subsystems.
2019-08-05 18:03:23 +03:00
Nick Mathewson
d5ccd0fa84
Add exceptions for current .h practracker problems.
2019-08-05 10:32:39 -04:00
Nick Mathewson
9a1e9b1d6c
Teach practracker about .h files
...
I'm using 500 as a file size limit, and 15 as an include limit.
This affects comparatively few files, but I think they are the worst
ones.
Closes ticket 31175.
2019-08-05 10:31:02 -04:00
Nick Mathewson
1440c2cb34
Adjust test_practracker.sh to work on windows
...
The required change is to ignore trailing CRs when diffing files.
2019-08-01 15:43:54 -04:00
Nick Mathewson
fa60fee8d5
practracker: Add unit tests to test script, and test script to makefile
...
This makes all of the practracker tests get run by make check, and
hence by our CI.
Closes ticket 31304.
2019-08-01 14:01:43 -04:00
Nick Mathewson
5d98b54725
Port practracker unit tests to python 3
2019-08-01 14:00:48 -04:00
Nick Mathewson
e57209dc32
Regenerate the practracker exceptions.txt file
2019-08-01 10:25:42 -04:00
Nick Mathewson
a4e4896e66
practracker: restore exceptions.txt header when running --regen
2019-08-01 10:25:20 -04:00
David Goulet
c4864de573
Merge branch 'tor-github/pr/1177'
2019-08-01 10:18:10 -04:00
Nick Mathewson
19536fd18d
practracker: replaces "overstrict" with "overbroad"
...
I had the logic reversed here.
2019-08-01 09:35:33 -04:00
Nick Mathewson
3221dc1b32
Lower check of TOR_DISABLE_PRACTRACKER
...
Since we sometimes call practracker directly, that's where we should
check the TOR_DISABLE_PRACTRACKER envvar.
2019-08-01 08:40:56 -04:00
Nick Mathewson
8d3f3e5d30
Practracker: add an integration test.
...
This test runs practracker with a set of 0 thresholds, to make sure
that it enumerates all its values right. It tries running with an
empty exceptions file, and with an exceptions file that covers
_some_ of the data, and it makes sure that the outputs are as expected.
2019-07-30 12:14:46 -04:00
Nick Mathewson
a79e2c2975
practracker: better warning/regen handling
...
Now that there is only one toplevel place where we print problems,
we can redirect just that one print to a file when we are
regenerating the exceptions.txt file. Previously we redirected
sys.stdout, which is naughty, and forced us to send warnings (and
warnings alone) to stderr.
2019-07-30 11:54:05 -04:00
Nick Mathewson
3f303c102a
Practracker: new flags to control output.
...
These flags let you suppress the message about the number of
problems and warnings, and let you control the thresholds above
which something counts as a problem.
I need this for testing.
2019-07-30 11:49:50 -04:00
Nick Mathewson
31a0b81854
practracker: Remove problemvault global.
2019-07-30 10:17:56 -04:00
Nick Mathewson
65cb4fead5
practracker: Move the warning/error distinction to a higher level.
...
Previously warnings were generated by magic inside ProblemVault; now
they're printed on demand.
2019-07-30 10:17:47 -04:00