aboutsummaryrefslogtreecommitdiff
path: root/src/feature
AgeCommit message (Collapse)Author
2020-10-21Allow mutiple lines on configuration for ROUTERSET entries. #28361Daniel Pinto
Affected entries are: EntryNodes, ExcludeNodes, ExcludeExitNodes, ExitNodes, MiddleNodes, HSLayer2Nodes and HSLayer3Nodes.
2020-10-20Merge branch 'mr_175_squashed'Nick Mathewson
2020-10-20Consider 301 as an error like 404Guinness
Tor does not follow redirects when bootstraping so we encountered an error. Fixes #40053
2020-10-20Merge remote-tracking branch 'tor-gitlab/mr/148' into masterGeorge Kadianakis
2020-10-19Explain why we use "mark_as_used_for_origin_circuit" where we doNick Mathewson
Also, explain why it's relevant for bootstrapping. This is a comments-only patch.
2020-10-19Simplify logic to use smartlist_add_asprintf()Nick Mathewson
2020-10-08dirclient: print bandwidth usage on one line (#40159)Alex Xu (Hello71)
2020-10-07Merge branch 'maint-0.4.4' into masterGeorge Kadianakis
2020-10-07Merge remote-tracking branch 'tor-gitlab/mr/154' into maint-0.4.4George Kadianakis
2020-10-06Expose TOR_PT_OUTBOUND_BIND_ADDRESS_{V4,V6} to Pluggable Transports.Alexander Færøy
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-01fix typosRoger Dingledine
no actual changes
2020-09-28Add missing documentation for get_net_param_from_listNick Mathewson
2020-09-23Fix memory leak in vote generationNick Mathewson
2020-09-23Move a DIGESTMAP_FOREACH_END (cosmetic)Nick Mathewson
2020-09-23IPv6 sybil: consider addresses in the same /64 to be equal.Nick Mathewson
2020-09-23Refactor address comparison in get_sybil_list_by_ip_versionNick Mathewson
2020-09-23get_all_possible_sybil: small indentation and comment cleanupsNick Mathewson
2020-09-23Remove needless sort operation.Nick Mathewson
2020-09-23Tidy up compare_routerinfo_by_ipv{4,6} to match better.Nick Mathewson
2020-09-23Fix memory leaks.Nick Mathewson
2020-09-23Implement IPv6 sybil protection.vnepveu
[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-22Merge branch 'maint-0.4.3' into maint-0.4.4David Goulet
2020-09-22Merge branch 'maint-0.4.4'David Goulet
2020-09-22Merge branch 'maint-0.3.5' into maint-0.4.3David Goulet
2020-09-22Merge branch 'tor-gitlab/mr/145'David Goulet
2020-09-22srv: Remove spammy debug logDavid Goulet
Fixes #40135 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-09-22Fix warnings when using two unusual options together.Nick Mathewson
The option `--enable-all-bugs-are-fatal` when used with `--disable-module-relay` caused GCC to warn about functions that it thought should be labeled noreturn. I've tried a couple of approaches, but disabling the warning on these functions seems to be the best approach. Fixed #40129; bugfix on 0.4.4.1-alpha.
2020-09-18Add flag for whether an OR conn "counts" for bootstrap trackingNick Mathewson
We set this flag if we've launched the connection in order to satisfy an origin circuit, or when we decide the connection _would_ satisfy an origin circuit. These are the only or_connections we want to consider for bootstrapping: other or_connections are opened because of client EXTEND requests, and they may succeed or fail because of the clients' confusion or misconfiguration. Closes #25061.
2020-09-17Use the correct SIGNED_KEY_TYPE value for signing->link certsNick Mathewson
Our code was using [01] as for the key type of signed->link certs, which was incorrect. The value should be [03], to indicate that the value as the SHA256 of an x.509 cert. Fortunately, nothing cares about this value, so there shouldn't be compatibility issues. Fixes bug 40124; bugfix on 0.2.7.2-alpha.
2020-09-17Merge branch 'tor-gitlab/mr/131'David Goulet
2020-09-17Fix wide linesNick Mathewson
2020-09-17Rename tor_cert_create to tor_cert_create_ed25519Nick Mathewson
This is an automated commit, generated by this command: ./scripts/maint/rename_c_identifier.py \ tor_cert_create tor_cert_create_ed25519 It was generated with --no-verify, so it probably breaks some commit hooks. The commiter should be sure to fix them up in a subsequent commit.
2020-09-08Merge branch 'maint-0.4.4'David Goulet
2020-09-07statistics: Properly count all rendezvous cells (avoid undercounting).George Kadianakis
tl;dr We were not counting cells flying from the client to the service, but we were counting cells flying from the service to the client. When a rendezvous cell arrives from the client to the RP, the RP forwards it to the service. For this to happen, the cell first passes through command_process_relay_cell() which normally does the statistics counting. However because the `rend_circ` circuit was not flagged with `circuit_carries_hs_traffic_stats` in rend_mid_rendezvous(), the cell is not counted there. Then the cell goes to circuit_receive_relay_cell() which has a special code block based on `rend_splice` specifically for rendezvous cells, and the cell gets directly passed to `rend_circ` via a direct call to circuit_receive_relay_cell(). The cell never passes through command_process_relay_cell() ever again and hence is never counted by our rephist module. The fix here is to flag the `rend_circ` circuit with `circuit_carries_hs_traffic_stats` so that the cell is counted as soon as it hits command_process_relay_cell(). Furthermore we avoid double-counting cells since the special code block of circuit_receive_relay_cell() makes us count rendezvous cells only as they enter the RP and not as they exit it. Fixes #40117.
2020-08-26Merge branch 'tor-gitlab/mr/135'David Goulet
2020-08-25Merge branch 'mr/113'George Kadianakis
2020-08-25Even argument spacing for some functions in feature/client/bridges.cNeel Chauhan
2020-08-25Validate address more carefully when checking self-reachabilityNick Mathewson
Previously, we would treat *any* incoming circuit on a non-local channel as meaning that our ORPort was reachable. With this patch, we make sure that the address that the peer _says_ we have is the same as the one we're trying to advertise right now. Closes 20165. Bugfix on 4f5192b2803c706 in 0.1.0.1-rc, when reachability self-tests were first introduced.
2020-08-25Merge branch 'maint-0.4.4'David Goulet
2020-08-25Avoid guard-related warning when upgrading from 043 to 044.George Kadianakis
Fixes #40105.
2020-08-25Merge branch 'maint-0.4.4'George Kadianakis
2020-08-25Merge remote-tracking branch 'tor-gitlab/mr/130' into maint-0.4.4George Kadianakis
2020-08-20Merge branch 'maint-0.4.4'George Kadianakis
2020-08-20v3 control: Persist ONION_CLIENT_AUTH_ADD client nameNeel Chauhan
2020-08-19relay: Query our cache when deciding for dummy descriptor fetchDavid Goulet
Instead of looking at the "Address" option alone, instead check if we have an address in our cache (that is discovered by tor). If not, then it tells us that tor does not have an address to work with so we can then ask a directory authority for a suggestion. Related #2178 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-08-19hs: Don't overwrite DoS parameters on circuit with consensus paramsDavid Goulet
Turns out that the HS DoS defenses parameters were overwritten by the consensus parameters everytime a new consensus would arrive. This means that a service operator can still enable the defenses but as soon as the intro point relay would get a new consensus, they would be overwritten. And at this commit, the network is entirely disabling DoS defenses. Fix this by introducing an "explicit" flag that indicate if the ESTABLISH_INTRO cell DoS extension set those parameters or not. If set, avoid using the consenus at once. We are not bumping the protover HSIntro value for this because 0.4.2.x series is EOL in 1 month and thus 0.4.3.x would be the only series with this bug. We are confident that a backport and then upgrade path to the latest 0.4.4.x stable coming up soon is enough to mitigate this problem in the coming months. It avoids the upgrade path on the service side by keeping the requirement for protover HSIntro=5. Fixes #40109 Signed-off-by: David Goulet <dgoulet@torproject.org>
2020-08-14Revise trac.torproject.org urls to refer to gitlab replacements.Nick Mathewson
Closes #40101.
2020-08-12Merge branch 'maint-0.4.4'George Kadianakis
2020-08-12Merge remote-tracking branch 'tor-gitlab/mr/107' into maint-0.4.4George Kadianakis
2020-08-11Remove extraneous EVENT_CONTROLLER_WAITNick Mathewson
This turned into a new StreamStatus value. Closes #40092. Bug not in any released Tor.