summaryrefslogtreecommitdiff
path: root/crates/tor-netdir/src
Commit message (Collapse)AuthorAgeFilesLines
* tor-netdir: Warn on one more case of insufficient itemsNick Mathewson2025-04-291-1/+12
| | | | | | Now that choose_multiple_weighted can once more return fewer items than requested, we should warn when it does so, to be consistent with our other cases of warning about #1907.
* tor-netdir: test for rand 0.9.1 behavior instead of 0.9.0Nick Mathewson2025-04-291-3/+9
| | | | | | | | Rand 0.9.1 reverted the changes that caused #1903, in https://github.com/rust-random/rand/pull/1623. This broke our test that made sure that rand wasn't going to change their behavior _again_ :)
* Merge branch 'todos-msrv' into 'main'Jim Newsome2025-04-241-3/+0
|\ | | | | | | | | various crates: MSRV TODO standardization and cleanup of an old TODO See merge request tpo/core/arti!2945
| * tor-netdir: remove lint allow as per TODOhashcatHitman2025-04-161-3/+0
| | | | | | | | | | - https://github.com/rust-lang/rust-clippy/issues/11764 was fixed upstream, so this is no longer needed.
* | Rename recommended_protocols to protocol_statuses.Nick Mathewson2025-04-162-4/+4
| | | | | | | | | | This name reflects its purpose better than the original one, since it includes required protocols as well as recommended ones.
* | netdir: Add a recommended_protocols() to NetDirProviderNick Mathewson2025-04-162-0/+19
| |
* | dirmgr, netdir: Store protocol requirments as soon as they are validated.Nick Mathewson2025-04-161-0/+4
| |
* | Fix another miscapitalized "MicroDesc"Nick Mathewson2025-04-161-1/+1
|/
* netdir: Add a (hopefully) temporary workaroundNick Mathewson2025-03-251-3/+27
| | | | | Instead of doing the more sensible thing when every relay has weight 0, give a warning message.
* netdir: Add a note about using f64Nick Mathewson2025-03-251-0/+8
|
* netdir: Another test for choose_multiple_weighted.Nick Mathewson2025-03-251-0/+17
| | | | | | Here we test the (arguably inconsistent behavior) where can we return fewer items than requested if no item had zero weight. (If this ever becomes an error, we need to modify the calling code.)
* netdir: Warn on unexpected WeightedErrorsNick Mathewson2025-03-251-5/+13
| | | | | | WeightedError::InsufficientNonzero is expected under some circumstances, but the other instances would mean that we have a bug.
* netdir: add a test to verify weighted samplingNick Mathewson2025-03-251-3/+37
| | | | | We want to make sure that behavior for 0-weighted elements is consistent for choose_multiple_weighted and choose_weighted.
* tor-netdir: Handle InsufficientNonZero error.Nick Mathewson2025-03-201-0/+8
| | | | Possible fix for #1902.
* Merge branch 'named_protovers' into 'main'David Goulet2025-03-201-2/+2
|\ | | | | | | | | | | | | protover: Add support for subprotocol version mnemonics. Closes #1891 See merge request tpo/core/arti!2854
| * Use named subprotocol versions throughout arti.Nick Mathewson2025-03-121-2/+2
| |
* | squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-2/+2
| | | | | | | | - The Rng::gen() functions have been renamed to Rng::random().
* | squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-1/+1
| | | | | | | | - Several methods have been moved out of SliceRandom.
* | squash! Upgrade rand dependency to 0.9.Nick Mathewson2025-03-181-1/+1
|/ | | | - The rand::distributions module has been renamed to rand::distr
* netdir: Consider RelayFamilyIds based on family rulesNick Mathewson2025-02-252-12/+28
| | | | | | | This implements the client side of proposal 321. It's a breaking change in netdir, since in_same_family now takes an extra argument.
* relay-selection: Add FamilyRules to exclude_relays_in_same_family.Nick Mathewson2025-02-251-0/+63
| | | | | | | | | | | | When we're trying to exclude relays by family, we need to know which lists to look at. This information ultimately comes from the network parameters. We could avoid this change if we just told clients "look at all family information all the time", but that's not what the proposal says. This is a breaking change.
* netdir: Add client params related to happy families (prop321)Nick Mathewson2025-02-251-0/+10
|
* fix: fix typosDimitris Apostolou2025-01-301-1/+1
|
* netdir: Add congestion control consensus parametersDavid Goulet2025-01-161-22/+101
| | | | | | Related #534 Signed-off-by: David Goulet <[email protected]>
* tor-netdir: Add KIST consensus params.Gabriela Moldovan2025-01-151-0/+26
| | | | | | These are tentative, so I haven't added them to param-spec yet. Part of #1729
* clippy: deny `mod_module_files`Steven Engler2025-01-061-0/+1
| | | | | | Denies 'mod.rs' files for consistency. https://rust-lang.github.io/rust-clippy/master/index.html#mod_module_files
* Resolve clippy::empty_line_after_doc_comments warnings.Nick Mathewson2024-12-032-2/+1
| | | | These are new in Rust 1.83.
* add_warnings, *: Allow clippy::needless_lifetimesNick Mathewson2024-12-031-0/+1
| | | | | | | | In 1.83, this warning triggers on many of our crates. We're thinking of fixing them all, but for now, we're going to disable the warning. This is part of #1765.
* tor-netdir: Add timeliness param to wait_for_netdir_to_list.Wesley Aptekar-Cassels2024-11-251-1/+2
|
* Move helpers from tor-hsservice to tor-netdir.Wesley Aptekar-Cassels2024-11-251-1/+79
| | | | | These helpers seem potentially broadly useful, and only really discoverable if they're here.
* tor-netdir: Allow access to the `ConsensusBuilder` when building test ↵Gabriela Moldovan2024-09-091-1/+6
| | | | netdirs (fmt).
* tor-netdir: Allow access to the `ConsensusBuilder` when building test netdirs.Gabriela Moldovan2024-09-092-16/+16
| | | | | This allows us to set SRVs for example (needed because by default, the test `NetDir` is built from a consensus that doesn't contain any SRVs).
* Fix new "clippy::needless-maybe-sized" warning on nightlyNick Mathewson2024-07-281-1/+1
| | | | | This warning complains when we say `where T: SomeTrait + ?Sized` when `SomeTrait` is inherently Sized.
* Re-run maint/add_warning.Nick Mathewson2024-05-061-2/+2
| | | | This commit is automatically generated.
* Use uXX::MAX in place of std::uXX::MAXNick Mathewson2024-04-221-3/+3
| | | | | | The old code produced a warning from clippy nightly; we may as well update to use the new associated consts. (They've been there since Rust 1.4x.)
* Merge branch 'vanguard-mgr-sets' into 'main'gabi-2502024-04-101-8/+52
|\ | | | | | | | | | | | | tor-guardmgr: Make lite vanguards work Closes #1275 and #1340 See merge request tpo/core/arti!2075
| * tor-netdir: Increase channel size to so set_netidr_and_notify doesn't block.Gabriela Moldovan2024-04-091-1/+1
| | | | | | | | | | `TestNetDirProvider::set_netidr_and_notify` blocks if the channel is full, so let's give it a non-zero size.
| * tor-netdir: Implement TestNetDirProvider::events().Gabriela Moldovan2024-04-051-8/+52
| |
* | Doc: tweak documentation on NetDir::id*listed functionsNick Mathewson2024-04-101-10/+9
| | | | | | | | | | Previously they were a bit confusing, and the public function explained its behavior in terms of the private one.
* | Doc: Add xref from NetDir::by_ids to ids_listed.Nick Mathewson2024-04-101-0/+7
|/ | | | | | | Explain that `by_ids` isn't what you want if you need to know whether a relay _definitely_ doesn't exist. Closes #1365
* Fix some rustdoc links and copypaste errors in tor-netdir.Nick Mathewson2024-04-042-5/+9
|
* tor-netdir: Abolish Relay::has_same_relay_idsIan Jackson2024-04-032-11/+5
| | | | This was an open-coded specialisation. Remove the one call site.
* Comment fixes in RelayDetails refactor.Ian Jackson2024-04-031-2/+4
|
* Move rs_is_dircache to details.rsNick Mathewson2024-03-282-9/+9
|
* Rename `Relay::same_relay` and make it private.Nick Mathewson2024-03-282-9/+7
| | | | | Everybody outside of tor-netdir should use HasRelayIds::same_relay_ids, whose intent is clearer.
* Remove all *Relay is_flagged_guard methods.Nick Mathewson2024-03-282-27/+3
| | | | These were only used for testing.
* Remove temporary functions in CheckedRelay.Nick Mathewson2024-03-281-169/+57
|
* Remove temporary functions in UncheckedRelay.Nick Mathewson2024-03-281-26/+6
|
* Move most functions from *Relay to *RelayDetailsNick Mathewson2024-03-282-22/+166
| | | | | | | | In *RelayDetails, this is just a matter of changing a bunch of `self`s to `self.0`. Additionally, I've added temporary stub functions to delegate to the new functions.
* Relocate declarations of *Relay methods to details.rsNick Mathewson2024-03-282-129/+141
| | | | This is 99% code movement.