aboutsummaryrefslogtreecommitdiff
path: root/src/feature
AgeCommit message (Collapse)Author
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
2023-11-03Fix TROVE-2023-004: Remote crash when compiled against OpenSSLAlexander Færøy
Fixes #40874 Signed-off-by: David Goulet <dgoulet@torproject.org>
2023-11-01Bug 40876: Extra loggingMike Perry
2023-11-01Bug 40876: Don't reduce primary list for temporary restrictionsMike Perry
2023-10-18fix typostrinity-1686a
2023-10-18add metrics for rejected BEGIN/RESOLVEtrinity-1686a
2023-10-18add rate limit on BEGIN and RESOLVE cell per circuittrinity-1686a
2023-10-12Merge branch 'eol-config' into 'main'David Goulet
add configuration option to reject descriptor based on tor version Closes #40817 See merge request tpo/core/tor!773
2023-10-11Fix the spelling of maxunmeasur(e)dbw.Nick Mathewson
This has been misspelled when using consensus method 31 or later since 0.4.6.1-alpha. Fixes bug 40869. This commit is a backport of b9b0abd6c26d9b361923 to 0.4.8.
2023-10-08reject MinimalAcceptedServerVersion which would reject current versiontrinity-1686a
and fix memory leak on reload error path
2023-10-07introduce MinimalAcceptedServerVersiontrinity-1686a
2023-10-05Fix the spelling of maxunmeasur(e)dbw.Nick Mathewson
This has been misspelled when using consensus method 31 or later since 0.4.6.1-alpha. Fixes bug 40869.
2023-10-05Remove MIN_METHOD_FOR_MIDDLEONLYNick Mathewson
2023-10-05Remove MIN_METHOD_FOR_CORRECT_BWWEIGHTSCALENick Mathewson
This also lets us discard extract_param_buggy, which we've been wanting to do.
2023-10-05Remove MIN_METHOD_FOR_UNPADDED_NTOR_KEYNick Mathewson
2023-10-05Remove MIN_METHOD_FOR_CANONICAL_FAMILIES_IN_MICRODESCSNick Mathewson
2023-10-05Increment MIN_SUPPORTED_CONSENSUS_METHOD to 32.Nick Mathewson
Per proposal 290, all earlier consensus methods are obsolete, since 32 is the highest method supported by 0.4.7.7.
2023-09-25Merge branch 'ahf/40638' into 'main'David Goulet
Handle ntor and ntor_v3 individually in rephist and for MetricsPort. Closes #40638 See merge request tpo/core/tor!767
2023-09-19Handle ntor and ntor_v3 individually in rephist and for MetricsPort.Alexander Færøy
This patch should not mess with the DoS protection here. Fixes tpo/core/tor#40638.
2023-09-18Merge branch 'maint-0.4.8'David Goulet
2023-09-18Merge branch 'tor-gitlab/mr/759' into maint-0.4.8David Goulet
2023-09-14Merge branch 'maint-0.4.8'David Goulet
2023-09-14Merge branch 'maint-0.4.7' into maint-0.4.8David Goulet
2023-09-14Bug 40858: Cache sendme_inc to avoid purging intro points.Mike Perry
Bug found and fixed by @hyunsoo.kim676.
2023-09-12Remove defensive assertion in `relay_key_is_unavailable_()`.Alexander Færøy
This patch removes a call to `tor_assert_nonfatal_unreached()` in `relay_key_is_unavailable_()` that is only called when Tor is compiled without relay support. Unfortunately, the non-fatal assertion causes a BUG log message to appear for clients when they start up without relay support for each CPU worker we spawn. This makes it spotting issues during bootstrap harder particularly for our iOS developers. Since the call sites to `get_master_identity_key()` handles `NULL` values already, we do not think this will be an issue later on. Reported by Benjamin Erhart (@tla) from Guardian Project. Fixes tpo/core/tor#40848.
2023-09-12Merge branch 'maint-0.4.8'David Goulet
2023-09-12Make networkstatus_getinfo_by_purpose report published_on again.Nick Mathewson
When we implemented prop275 in 0.4.8.1-alpha, we changed the behavior of networkstatus_getinfo_helper_single to omit meaningful published_on times, replacing them with "2038-01-01". This is necessary when we're formatting a routerstatus with no additional info, since routerstatus objects no longer include a published_on. But in networkstatus_getinfo_by_purpose, we do have a routerinfo that does have a published_on. This patch uses that information to report published_on times in our output when we're making a "virtual" networkstatus for a big file of routerinfo_t objects. This is mostly important for bridge authorities, since when they dump a secret list of the bridges, they want to include published_on times. Closes #40855. Bugfix on 0.4.8.1-alpha.
2023-08-25Merge branch 'no_consensus_on_package_lines' into 'main'David Goulet
Implement proposal 301-dont-vote-on-package-fingerprints.txt See merge request tpo/core/tor!743
2023-08-15Implement proposal 301-dont-vote-on-package-fingerprints.txtNick Mathewson
This commit adds a new consensus method which, when present, causes authorities not to consider package fingerprints when computing a consensus. It builds on earlier work which dropped support for putting these lines into the votes.