tor/scripts
David Goulet 5530af675b scripts: Quiet the IPFire location GeoIP command
We do this to avoid useless outputs but also, in the CI environement,
the Python logging package stacktraces with a problem on a socket.

The command still works but the logging fails. With the quiet switch, we
don't get such stacktrace.

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-10-27 10:24:13 -04:00
..
build Update combine_libs script 2021-08-14 21:45:44 +02:00
ci Merge branch 'maint-0.4.6' 2021-10-26 14:33:49 -04:00
coccinelle Makefile/git scripts: Add comments to keep owned file lists in sync 2019-12-20 09:35:18 +10:00
codegen Merge remote-tracking branch 'asn-private/hsfuz' into hs_fuzzing 2021-10-15 11:20:06 -04:00
git scripts: Add -M option to git-list-tor-branches.sh 2021-10-26 15:52:53 -04:00
maint scripts: Quiet the IPFire location GeoIP command 2021-10-27 10:24:13 -04:00
test python: Add __future__ imports for python 3 compatibility 2019-12-12 15:58:51 +10:00
README Add scripts/test/chutney-git-bisect.sh, for bisecting using chutney 2018-08-24 12:46:04 +10:00

The scripts directory holds tools for use in building, generating, testing,
and maintaining the Tor source code.  It is mainly for use by developers.

Code maintenance scripts
------------------------

maint/checkLogs.pl -- Verify that Tor log statements are unique.

maint/check_config_macros.pl -- Look for autoconf tests whose results are
never used.

maint/checkOptionDocs.pl -- Make sure that Tor options are documented in the
manpage, and that the manpage only documents real Tor options.

maint/checkSpaces.pl -- Style checker for the Tor source code.  Mainly checks
whitespace.

maint/findMergedChanges.pl -- Find a set of changes/* files that have been
merged into an upstream version.

maint/format_changelog.py -- Flow the changelog into the proper format.

maint/redox.py -- Find places that should have DOCDOC comments to indicate a
need for doxygen comments, and put those comments there.

maint/updateVersions.pl -- Update the version number in the .nsi and windows
orconfig.h files.


Testing scripts
---------------

test/chutney-git-bisect.sh -- a git bisect run script that bisects using
chutney. The script builds tor and tor-gencert, then runs chutney. The script
takes optional arguments for out-of-tree builds, and specific chutney network
flavours. You should copy this script before using it with git bisect, so that
it doesn't change (or disappear) during bisection.

test/cov-blame -- Mash up the results of gcov with git blame.  Mainly useful
to find out who has been writing untested code.

test/cov-diff -- Compare two directories of gcov files to identify changed
lines without coverage.

test/coverage -- Generates a directory full of gcov files. You need to use
this script instead of calling gcov directly because of our confusingly named
object files.

test/scan-build.sh -- Example script for invoking clang's scan-build
static analysis tools.


Code generation scripts
-----------------------

codegen/gen_linux_syscalls.pl -- Generate a table mapping linux syscall
numbers to their names.

codegen/gen_server_ciphers.py -- Generate a sorted list of TLS ciphersuites
for servers to choose from.

codegen/get_mozilla_ciphers.py -- Generate a list of TLS ciphersuites for
clients to use in order to look like Firefox.

Code transformation scripts
---------------------------

coccinelle/calloc.cocci -- Transform code to replace variants of
malloc(a*b) with calloc(a,b)