summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
| * | guardmgr: Implement Universe for bridges.Nick Mathewson2022-11-023-2/+161
| | | | | | | | | | | | | | | Now we can use a group of bridges as the basis for a sample of guards.
| * | guardmgr: Universe API should look up by ChanTargetNick Mathewson2022-11-023-14/+13
| | | | | | | | | | | | This will be necessary for bridges.
| * | guardmgr: take sampled guards from Universe.Nick Mathewson2022-11-023-83/+140
| | | | | | | | | | | | This is a trickier case, since we have to deal with weights.
| * | guardmgr: Continue porting porting code to use Universe.Nick Mathewson2022-11-022-12/+11
| | | | | | | | | | | | Two more simple cases that can use Universe instead of Netdir.
| * | guardmgr: Begin to decouple guards from NetDir.Nick Mathewson2022-11-023-38/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In this and the upcoming commits I'll be changing how guards related to `NetDir` and to `Relay`. Previously, a guard could only come from (or be updated from) a `Relay` in a `NetDir`. Soon it will be able to be built from a bridge as well. To do this, I'm defining a `Universe` trait (name negotiable) that represents a set of things that may be guards. I'm going to continue extending its functionality until there are no more methods in guard.rs or sample.rs that take `NetDir`. This commit removes most of the usage of `NetDir` and `Relay` in `guard.rs`.
| * | guardmgr: Rename microdescriptor_missing to dir_info_missingNick Mathewson2022-11-021-9/+9
| | |
| * | guardmgr: Allow guards to be constructed from any ChanTarget.Nick Mathewson2022-11-022-7/+16
| | |
| * | guardmgr: Include PtTarget in guards.Nick Mathewson2022-11-021-8/+50
| |/ | | | | | | | | Use a vector, since we may (someday) want to allow a Guard to have multiple PtTargets.
* | Merge branch 'notify' into 'main'Ian Jackson2022-11-011-123/+137
|\ \ | | | | | | | | | | | | | | | | | | refactor config reload triggering Closes #562 See merge request tpo/core/arti!819
| * | debounce reload cfg eventstrinity-1686a2022-11-011-0/+7
| | |
| * | rename unused fieldtrinity-1686a2022-10-301-3/+2
| | |
| * | update some stringstrinity-1686a2022-10-301-10/+10
| | |
| * | use iife so we can try! instead of custom error handlingtrinity-1686a2022-10-301-64/+56
| | |
| * | refactor so events always indicate reloadtrinity-1686a2022-10-301-71/+74
| | |
| * | depends less on notify typestrinity-1686a2022-10-301-22/+35
| |/
* | Merge branch 'remove-deps' into 'main'Ian Jackson2022-11-016-15/+1
|\ \ | |/ |/| | | | | remove unused dependancies See merge request tpo/core/arti!817
| * remove unused dependanciestrinity-1686a2022-10-296-15/+1
|/
* Merge branch 'upgrade_20221028' into 'main'Nick Mathewson2022-10-281-123/+209
|\ | | | | | | | | Upgrade and update dependencies See merge request tpo/core/arti!816
| * Upgrade dependencies in preparation for upcoming release(s)Nick Mathewson2022-10-281-123/+209
|/
* update to latest arti-corporaNick Mathewson2022-10-281-0/+0
|
* Merge branch 'guards_as_bridges_part2' into 'main'Nick Mathewson2022-10-276-142/+374
|\ | | | | | | | | Use ByRelayIds to hold guards in GuardSet See merge request tpo/core/arti!808
| * guardmgr: Rename and clarify of non-persistent-state copy fnsNick Mathewson2022-10-273-32/+24
| | | | | | | | These will need a bigger overhaul: see #612 and #611.
| * Clarify fix_consistencyIan Jackson2022-10-271-2/+2
| |
| * Clarify what it means to be "an identity" for a primary guard.Ian Jackson2022-10-271-1/+1
| |
| * tor-guardmgr: Add big doc comment about guard id handlingIan Jackson2022-10-271-0/+58
| |
| * guardmgr: Use new ambiguity-tolerant contains in state handlingNick Mathewson2022-10-251-2/+30
| | | | | | | | This has subtleties; the comments try to explain them.
| * guard sample: Change semantics of `contains` to handle ambiguity.Nick Mathewson2022-10-252-10/+33
| | | | | | | | | | | | | | | | | | This is necessary for the (somewhat undesirable) lookup_ids function to return an ID that the dirmgr can actually use to report successes and failures. As noted, lookup_ids will create problems down the road when we implement relays. We should refactor it out before then.
| * Replace contains_relay with can_add_relay().Nick Mathewson2022-10-251-9/+6
| | | | | | | | | | | | To see if we can add a relay as a guard, we need a conservative test: any IDs in common with the given relay prevent us from adding it.
| * Convert guard samples to use ByRelayIds.Nick Mathewson2022-10-253-124/+193
| | | | | | | | | | | | | | | | | | | | | | | | This required a number of changes, which I've tried to document. I've taken a conservative approach to modification, and I'm not using any of the by_*_mut() functions (yet). For cases which potentially modify the whole set, I'm using into_values() and collect() to ensure that it's re-indexed correctly, even though the identities don't change. I introduce some "TODO pt-client" comments here which I will resolve in the next commit(s).
| * impl HasRelayIds for GuardId.Nick Mathewson2022-10-251-0/+9
| |
| * ByRelayIds: Add additional accessor functions.Nick Mathewson2022-10-251-0/+51
| | | | | | | | | | These are the ones that turned out to be necessary while converting guard samples to use ByRelayIds.
| * linkspec: add HasRelayIds::has_any_identity.Nick Mathewson2022-10-251-1/+6
| |
* | Merge branch 'bridge-api-yaks' into 'main'Ian Jackson2022-10-277-6/+25
|\ \ | | | | | | | | | | | | Misc minor changes to BridgeDescProvider APIs See merge request tpo/core/arti!812
| * | tor-dirmgr: impl Default for FlagPublisherIan Jackson2022-10-271-0/+6
| | |
| * | tor-dirmgr: impl FlagEvent for BridgeDescEventIan Jackson2022-10-271-0/+6
| | |
| * | BridgeDescProvider: Make BridgeDescEvent repr(u16) and derive traitsIan Jackson2022-10-273-1/+8
| | | | | | | | | | | | This will enable us to impl FlagEvent for it.
| * | impl Hash for BridgeConfig and various PT informationIan Jackson2022-10-272-4/+4
| | | | | | | | | | | | | | | The bridge descriptor manager wants to index data structures by the BridgeConfig.
| * | tor-guardmgr: bridges: export BridgeDescError at toplevelIan Jackson2022-10-271-1/+1
|/ /
* | Merge branch 'fuzz_ptmgr_ipc' into 'main'eta2022-10-273-0/+36
|\ \ | | | | | | | | | | | | ptmgr: Add a fuzzer for ptmessage. See merge request tpo/core/arti!814
| * | ptmgr: Add a fuzzer for ptmessage.Nick Mathewson2022-10-263-0/+36
| | |
* | | Merge branch 'simpler_quote_skipping' into 'main'eta2022-10-271-10/+5
|\ \ \ | | | | | | | | | | | | | | | | ptmgr::ipc: Try an alternate approach to initial quotes. See merge request tpo/core/arti!813
| * | | ptmgr::ipc: Try an alternate approach to initial quotes.Nick Mathewson2022-10-261-10/+5
| |/ / | | | | | | | | | This lets us use `chars()` rather than `char_indices()`.
* | | Merge branch 'misc-yaks' into 'main'Ian Jackson2022-10-274-10/+24
|\ \ \ | | | | | | | | | | | | | | | | Two misc minor changes, for descriptor downloading See merge request tpo/core/arti!811
| * | | tor-basic-utils: Provide an implementation of BinaryHeap::retainIan Jackson2022-10-272-0/+23
| | | | | | | | | | | | | | | | | | | | | | | | This is currently nightly-only and is blocked on an unresolved API question: https://github.com/rust-lang/rust/issues/71503
| * | | tor-checkable: Make TimerangeBound::dangerously* non-experimentalIan Jackson2022-10-272-10/+1
|/ / / | | | | | | | | | | | | I want one of these for the bridge descriptor downloader, and they seem reasonable to me.
* | | Merge branch 'assert_maxlen' into 'main'Nick Mathewson2022-10-271-1/+2
|\ \ \ | |/ / |/| | | | | | | | tor-cell: Assert data length in Data cells See merge request tpo/core/arti!800
| * | tor-cell: Assert data length in Data cellsEmil Engler2022-10-241-1/+2
| | | | | | | | | | | | | | | | | | This commit adds a `debug_assert!` macro into the `new_unchecked()` function of the Data cell. Beside this, it also fixes a misleading comment regarding that limit.
* | | Merge branch 'dirclient-yaks' into 'main'Nick Mathewson2022-10-264-1/+57
|\ \ \ | | | | | | | | | | | | | | | | Misc minor changes to tor-dirclient, for descriptor downloading See merge request tpo/core/arti!810
| * | | tor-dirclient: impl HasKind for RequestFailedErrorIan Jackson2022-10-251-1/+7
| | | |
| * | | tor-dirclient: Promise that download only gives RequestFailedIan Jackson2022-10-251-0/+4
| | | |