Commit Graph

629 Commits

Author SHA1 Message Date
Alexander Færøy 4f4728a004 Merge branch 'maint-0.4.4' into maint-0.4.5 2021-02-05 17:40:25 +00:00
Alexander Færøy aa1a053d55 Fix CI build: practracker error in connection_edge.c, take two.
This was a bad copy and paste error from the previous commit which
generated a duplicated entry error from practracker.

Unreviewed build fix.

See: tor#40275.
2021-02-05 17:39:21 +00:00
Alexander Færøy 3496804827 Merge branch 'maint-0.4.4' into maint-0.4.5 2021-02-05 17:17:05 +00:00
Alexander Færøy 62b98716ff Fix CI build: practracker error in connection_edge.c.
We solve this error by allowing the connection_exit_connect() function
to be 130 lines long.

Unreviewed build fix commit.

See: tor#40275.
2021-02-05 17:16:05 +00:00
David Goulet e06a0e904c Merge branch 'maint-0.4.4' into maint-0.4.5 2021-01-21 16:07:16 -05:00
David Goulet 2a3cf37450 Merge branch 'maint-0.4.3' into maint-0.4.4 2021-01-21 16:06:54 -05:00
David Goulet c09f8da8a9 Merge branch 'maint-0.3.5' into maint-0.4.3 2021-01-21 16:06:54 -05:00
David Goulet 8500700aa4 build: Add "make lsp" command
Generates the compile_commands.json file using the "bear" application so the
ccls server can be more efficient with our code base.

Closes #40227

Signed-off-by: David Goulet <dgoulet@torproject.org>
2021-01-21 16:06:31 -05:00
Samanta Navarro 4a0cd79588 Fix typos.
Typos found with codespell.

Please keep in mind that this should have impact on actual code
and must be carefully evaluated:

src/core/or/lttng_circuit.inc
-    ctf_enum_value("CONTROLER", CIRCUIT_PURPOSE_CONTROLLER)
+    ctf_enum_value("CONTROLLER", CIRCUIT_PURPOSE_CONTROLLER)
2020-11-12 11:44:09 -05:00
Alexander Færøy 5f61e19d8a Expose TOR_PT_OUTBOUND_BIND_ADDRESS_{V4,V6} to Pluggable Transports.
This patch adds support for exposing the environment variables
`TOR_PT_OUTBOUND_BIND_ADDRESS_V4` and `TOR_PT_OUTBOUND_BIND_ADDRESS_V6` to
Pluggable Transport proccesses. These two values will contain the IPv4
and IPv6 address that the user have specified in torrc that they wish
the PT to use for all outgoing IP packets.

It is important to note here that it is up to the indvidual Pluggable
Transport if they are willing to honor these values or ignore them
completely.

One can test this feature using the following dummy PT written in POSIX
shell script:

    #!/bin/sh

    echo "LOG SEVERITY=warning MESSAGE=\"Value for IPv4: ${TOR_PT_OUTBOUND_BIND_ADDRESS_V4}\""
    echo "LOG SEVERITY=warning MESSAGE=\"Value for IPv6: ${TOR_PT_OUTBOUND_BIND_ADDRESS_V6}\""

    while true ; do
        sleep 1
    done

with the following entries in your torrc:

    OutboundBindAddressPT 203.0.113.4
    OutboundBindAddress 203.0.113.5
    OutboundBindAddressPT 2001:db8::4
    OutboundBindAddress 2001:db8::5

See: https://bugs.torproject.org/5304
2020-10-06 09:30:11 -04:00
vnepveu 43672f9fca Implement IPv6 sybil protection.
[This is a squashed patch for ticket 7193, based on taking a "git
   diff" for the original branch, then applying it with "git apply
   -3".  I earlier attempted to squash the branch with "git rebase",
   but there were too many conflicts. --nickm]
2020-09-23 11:30:15 -04:00
Daniel Pinto ebaa1a1d23 Make options_init_from_torrc smaller #40102
Split implementation of several command line options from
options_init_from_torrc into smaller isolated functions.
2020-08-14 16:01:02 +01:00
Nick Mathewson e4ef3c61f7 Merge branch 'maint-0.4.4' 2020-08-11 11:03:25 -04:00
Nick Mathewson 2a7e71c956 Fix "run_check_subsystem_order.sh" to use $PYTHON.
Previously it just used /usr/bin/env/python, which would fail if we
only had a "python3" binary.

Fixes bug 40095; bugfix on 0.4.4.1-alpha.
2020-08-11 11:01:31 -04:00
Daniel Pinto ccdd0d801a Minor style improvements. #30045 2020-08-03 20:08:17 +01:00
Daniel Pinto 1474ab3395 Add --format argument to --key-expiration option. #30045 2020-08-01 01:08:37 +01:00
Nick Mathewson d6570eaf5d Merge remote-tracking branch 'tor-gitlab/mr/59' 2020-07-20 16:37:11 -04:00
Alexander Færøy 8638723d57 Merge branch 'tor-gitlab/mr/65' 2020-07-20 14:19:45 +00:00
Daniel Pinto 29307c0625 Add running glibc version to the log. #40047
Also adds the compiled and running glibc version when using the
--library-versions flag.
2020-07-17 18:45:57 +01:00
Nick Mathewson 09601c3c4d Use gitlab-friendly URLs when formatting changelogs as HTML
Our old https://bugs.torproject.org/nnnn URLs only work for bugs
numbered before 40000.  Newer gitlab bugs need to have specific
projects mentioned.

This patch assumes that bugs are in tpo/core/tor by default, but
allows us to refer to several other projects by saying
e.g. "chutney#40002" if we want.
2020-07-17 09:31:32 -04:00
David Goulet 456be93956 doc: Move manpages into doc/man/
Closes #40044

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-07-14 09:02:03 -04:00
David Goulet d80c34d214 trace: Move LTTng specific declartion to .inc file
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>
2020-07-08 09:18:33 -04:00
David Goulet bf0e2ae0d0 trace: Add single tracepoint in circuit subsystem
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>
2020-07-08 09:10:08 -04:00
George Kadianakis 3bb9b7e743 Merge branch 'tor-github/pr/1934' 2020-07-03 10:50:47 +03:00
Nick Mathewson 8f362b7bce Extract extend_info manipulation functions into a new file. 2020-07-02 09:51:03 -04:00
David Goulet 7a6e1f2491 scripts: Fix rename_c_identifier.py uncommitted warning
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>
2020-06-30 13:48:22 -04:00
David Goulet 86da0cfd36 Merge branch 'tor-github/pr/1945' 2020-06-24 13:51:51 -04:00
George Kadianakis 279225acdd Merge branch 'tor-github/pr/1929' 2020-06-24 17:20:25 +03:00
David Goulet 6da8c0b4fa addr: Rename resolve_my_address to be v4 specific
Part of #33233

Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-06-23 09:25:36 -04:00
Mike Perry c047c6d5b8 practracker FTL!
Faster Than Light!
2020-06-16 13:44:10 -05:00
George Kadianakis 3cb77a9cca Merge branch 'maint-0.4.4' 2020-06-11 17:29:54 +03:00
Nick Mathewson f3c82c86f9 Improve our clang-format.sh script
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.
2020-06-11 10:28:03 -04:00
George Kadianakis 52edea121e Fold in a changes file and update exceptions.txt.
Co-authored-by: Florentin Rochet <florentin.rochet@uclouvain.be>
2020-06-11 16:13:25 +03:00
Nick Mathewson fc16dbf7aa Remove "enable_practracker_in_hooks" for 0.4.4. 2020-06-09 15:47:25 -04:00
Nick Mathewson 354f085e5f Merge remote-tracking branch 'tor-github/pr/1888/head' 2020-06-09 15:44:58 -04:00
c 76d07940fd scripts/maint: Remove obsolete generated tor.sh
Per <https://trac.torproject.org/projects/tor/ticket/34381>, these
contrib scripts were generated by older versions of Tor and shellcheck
will throw warnings if they still exist.
2020-06-08 01:41:36 +00:00
teor 8ec4d9cc3c practracker: Accept extra file lines, enforce a smaller function
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.
2020-05-18 21:53:52 +10:00
Nick Mathewson bbfdee4c4e Fix a python warning in format_changelog.py. 2020-05-14 10:37:52 -04:00
teor de979dd7bd practracker: Allow a few extra lines in circuituse
Part of 33222.
2020-05-13 20:08:29 +10:00
teor b64972edcd practracker: Accept extra or.h lines 2020-05-11 14:39:42 +10:00
teor 24099680f1 Appease practracker: wrapping costs lines 2020-05-07 20:19:19 +10:00
David Goulet a25f167072 config: New file resolve_addr.{c|h}
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>
2020-05-05 14:24:04 -04:00
teor a202f03c64 practracker: Accept some wrapped long lines
Part of 33222.
2020-04-30 15:15:53 +10:00
teor efcae919ae practracker: Accept the connection buf refactor
Accept a few extra lines from the connection_buf_read_from_socket()
refactor.

Cleanup after 33131.
2020-04-30 13:55:26 +10:00
teor ed4420b4b8 practracker: Allow an extra line in tor_addr_parse_mask_ports()
We added a cast, and wrapped a line.
2020-04-30 06:54:42 +10:00
teor f5c34d340d Run practracker regen
Lock-in improvements.
Accept some small function size increases.
Allow a small amount of extra file size increase.
2020-04-14 15:42:52 +10:00
Nick Mathewson 80031db32a Merge remote-tracking branch 'tor-github/pr/1801/head' 2020-04-09 11:50:20 -04:00
teor 75aba30abf relay: Run practracker --regen
Lock in some file and function size improvements.

Accept some small file size and dependency increases.

Part of 33633.
2020-04-09 11:00:04 +10:00
teor 065ccda4f6 Merge branch 'pr1838_squashed' 2020-04-07 17:36:17 +10:00
Nick Mathewson ea9ff58921 Try rewriting normalize_srcdir to normalize harder. 2020-04-07 17:36:05 +10:00