aboutsummaryrefslogtreecommitdiff
path: root/src/feature
AgeCommit message (Collapse)Author
2024-10-21Revert "Handle empty DNS reply without error as NOERROR"David Goulet
Closes #40984 This reverts commit 3d2f7c3467e7aff545d8e22ffd4153d7598c6d7c.
2024-09-24Handle empty DNS reply without error as NOERRORDaniel Winzen
2024-08-05Merge branch 'maint-0.4.8'David Goulet
2024-08-05dirvote: Fix memleak when computing consensusDavid Goulet
Fixes #40966 Signed-off-by: David Goulet <dgoulet@torproject.org>
2024-06-26Do not publish TAP key when publish-dummy-tap-key is 0.Nick Mathewson
2024-06-26process_descs: Authorities require TAP keys for now.Nick Mathewson
2024-06-26Routerparse: accept routerdescs without TAP keys.Nick Mathewson
2024-06-26routerparse: Simplify checking for now-mandatory elementsNick Mathewson
All of these elements are now mandatory, so we can now simplify our logic for making sure that they are all present or all not-present.
2024-06-26Rename "onion_pkey" fields in routerinfo_t, and make them optional.Nick Mathewson
(Renaming them has forced me to look at every place where they are used, so I can make sure that they are really optional now.)
2024-06-26Remove node_get_rsa_onion_keyNick Mathewson
2024-06-26Remove TAP key from extend_info_tNick Mathewson
2024-06-24Make onion-key body optional in microdescsNick Mathewson
Also, stop storing onion keys in microdesc_t. (In prop350, for microdescs, we are making the body optional; the "onion-key" entry is still mandatory, so that we can tell where microdescs begin.)
2024-06-24prop350: Remove all support for TAP, CREATE, and EXTEND.Nick Mathewson
2024-06-24prop350: Stop accepting CREATE and EXTEND.Nick Mathewson
2024-06-18Merge branch 'maint-0.4.8'David Goulet
2024-06-18bridge: Always put transport-info lineDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2024-06-18Add changes file for tpo/core/tor#11101.Alexander Færøy
2024-06-18Add implementation and version metadata to bridge extra-info.Alexander Færøy
This patch adds two new keys to bridges' extra-info document: "transport-version" and "transport-implementation". These two new values always appear together (if one is missing, the other one will be missing too) and is parsed from PT's STATUS TYPE=version messages. See: tpo/core/tor#11101.
2024-06-18Include "IMPLEMENTATION" parameter to STATUS TYPE=version PT messages.Alexander Færøy
2024-06-18Drop requirement for TRANSPORT being present in STATUS messages.Alexander Færøy
2024-06-18Add support for PT STATUS TYPE=version messages.Alexander Færøy
This patch adds support for handling the version status message. Once we receive such message, we add the given version string to the managed_proxy_t instance. Note this value can be NULL and the value can change throughout the lifetime of the PT as multiple status version messages are handled. See: tpo/core/tor#11101
2024-05-29fix a few comment typosRoger Dingledine
2024-04-29Merge branch 'maint-0.4.8'David Goulet
2024-04-18typos in commentsRoger Dingledine
2024-04-18typotrinity-1686a
2024-04-16circuit: Remove log_warn triggered by a proto violationDavid Goulet
Fixes #40932 Signed-off-by: David Goulet <dgoulet@torproject.org>
2024-04-15Merge branch 'maint-0.4.8'David Goulet
2024-04-15conflux: Avoid noting a cell was sent on a closed circuitDavid Goulet
It turns out that circuit_package_relay_cell() returns 0 in order to drop a cell but there is a code path, if the circuit queue is full, that also silently closes the circuit and returns 0. This lead to Conflux thinking a cell was sent but actually the cell was not and the circuit was closed leading to the hard assert. And so this function makes sure that circuit_package_relay_cell() and append_cell_to_circuit_queue() returns a value that indicate what happened with the cell and circuit so the caller can make an informed decision with it. This change makes it that we do NOT enter the Conflux subsystem if the cell is not queued on the circuit. Fixes #40921 Signed-off-by: David Goulet <dgoulet@torproject.org>
2024-03-14hs_service: don't force high intro point rotation for TestingTorNetworkJim Newsome
This was previously added to facilitate testing intro point rotation with chutney. However, the implementation is problematic since it forces excessive rotation whenever TestingTorNetwork is enabled, and can't be adjusted or disabled. Alternatives for testing intro point rotation include: * Using shadow to "fast forward" time * Overriding the consensus parameters hs_intro_min_lifetime and hs_intro_max_lifetime. Fixes #40922
2024-03-07In router_is_active, don't require non-zero bandwidthcapacityJim Newsome
This check was originally added in 962765a3, with the intent of preventing relays with 0 measured bandwidth from being listed in the consensus (part of fixing #13000). Currently, that decision and other relevant places effectively use `dirserv_get_credible_bandwidth_kb`, which prefers bwauth-measured bandwidth over the self-reported `bandwidthcapacity`, making this check mostly redundant. i.e. this change should only affect behavior when the relay has uploaded a descriptor with `bandwidthcapacity=0` *and* we have a non-zero measured bandwidth, in which case we'll still trust the measured bandwidth. This is what we want when bootstrapping a network (e.g. for testing), since it allows us to initialize bandwidths using a bandwidth authority file. A relay can still cause `router_is_active` to return false by setting the hibernate flag. Also see discussion in #40917. Fixes #40917.
2024-02-28Merge branch 'maint-0.4.8'Alexander Færøy
2024-02-01dirauth: Warn when failing to post during a voteSebastian Hahn
The only way to figure out that posting a vote or signatures to another dirauth failed is by counting how many success messages there are on notice level, and noticing that it is fewer than the number of configured dirauths. Closes #40910.
2024-01-30Merge branch 'tor-gitlab/mr/791'David Goulet
2024-01-30dirauth: Reject 0.4.7.x series at the authority levelDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2024-01-30bwauth: Allow "node_id" KeyValue without "$"juga
Allow "node_id" KeyValue without the dollar sign at the start of the hexdigit in the BandwidthFiles, in order to easier database queries combining Tor documents in which the relays fingerprint doesn't include it. Bugfix on all supported versions of Tor. Closes #40891
2024-01-30metrics: Add new relay metrics to MetricsPortDavid Goulet
This commit adds the total number of DROP cell seen, the total number of DESTROY cell received and the total number of protocol violation that lead to a circuit close. Closes #40816 Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-12-10dirauth: Reject 0.4.7.x series at the authority levelnonameformee
2023-11-22Merge branch 'fix-bridge-exit-warn' into 'main'David Goulet
Fix bridge exit warn Closes #40884 See merge request tpo/core/tor!783
2023-11-21Merge branch 'eol-config-no-spurious-warn' into 'main'Alexander Færøy
don't warn for empty RecommendedServerVersion Closes #40888 See merge request tpo/core/tor!787
2023-11-21bwauth: Allow "node_id" KeyValue without "$"juga
Allow "node_id" KeyValue without the dollar sign at the start of the hexdigit in the BandwidthFiles, in order to easier database queries combining Tor documents in which the relays fingerprint doesn't include it. Bugfix on all supported versions of Tor. Closes #40891
2023-11-16don't warn for empty RecommendedServerVersiontrinity-1686a
2023-11-12don't warn when ExitRelay is set to 0trinity-1686a
2023-11-09Merge branch 'maint-0.4.8'David Goulet
2023-11-09Merge branch 'ticket40883_048_01' into maint-0.4.8David Goulet
2023-11-09Merge branch 'maint-0.4.8'David Goulet
2023-11-09Merge branch 'tor-gitlab/mr/778' into maint-0.4.8David Goulet
2023-11-08hs: Always check if the hs_ident is available when processing a cellDavid Goulet
Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-11-07hs: Fix assert in hs_metrics_update_by_ident()David Goulet
The hs_metrics_failed_rdv() macro could pass a NULL value for the identity key when a building circuit would end up in a failure path *before* the "hs_ident" was able to be set which leading to this assert. This was introduced in 0.4.8.1-alpha with the addition of rendezvous circuit failure metrics for the MetricsPort. This fixes TROVE-2023-006 for which its severity is considered high. Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-11-03Merge branch 'maint-0.4.8'David Goulet
2023-11-03Merge branch 'maint-0.4.7' into maint-0.4.8David Goulet