summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | | | Merge branch 'debian/tpo' into 'main'Ian Jackson2024-08-2710-1/+288
|\ \ \ \ | |_|/ / |/| | | | | | | | | | | Build a deb package for Arti (download dependencies while building) See merge request tpo/core/arti!2323
| * | | Add comment on big-endian targets to .gitlab-ci.ymlNoisyCoil2024-08-271-0/+4
| | | |
| * | | Cross-build an arm64 deb binary package in CINoisyCoil2024-08-271-0/+30
| | | |
| * | | Temporarily disable testing in native deb packageNoisyCoil2024-08-271-1/+2
| | | |
| * | | Build an amd64 native deb binary package in CINoisyCoil2024-08-272-2/+21
| | | |
| * | | Build a deb source package in CINoisyCoil2024-08-271-0/+18
| | | |
| * | | Exclude debian/* from the forbid-absolute-shebangs checksNoisyCoil2024-08-271-1/+1
| | | |
| * | | Initial debian commitNoisyCoil2024-08-278-0/+215
|/ / /
* | | Merge branch 'circuit-reactor-tests' into 'main'Jim Newsome2024-08-221-0/+128
|\ \ \ | | | | | | | | | | | | | | | | tor-proto circuit: add unit test for fairness See merge request tpo/core/arti!2365
| * | | tor-proto circuit: add unit test for fairnessJim Newsome2024-08-221-0/+128
|/ / /
* | | Merge branch 'temp-disable-test' into 'main'gabi-2502024-08-221-0/+1
|\ \ \ | | | | | | | | | | | | | | | | arti: Temporarily disable a flaky test. See merge request tpo/core/arti!2364
| * | | arti: Temporarily disable a flaky test.Gabriela Moldovan2024-08-221-0/+1
|/ / / | | | | | | | | | Disabling until #1549 is fixed to unblock CI.
* | | Merge branch 'live-reload' into 'main'gabi-2502024-08-2213-320/+1195
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | tor-hsservice: Add watcher for restricted_discovery config changes Closes #1505 See merge request tpo/core/arti!2353
| * | | arti: Use a postage::watch channel in the tests.Gabriela Moldovan2024-08-223-15/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The watch channel should help prevent flakiness in the tests (`TestModule` uses `maybe_send` to only send the received config if it's different from the previously received value. This is supposed to prevent the tests from failing when duplicate update events are received).
| * | | arti: Add test for config reloading.Gabriela Moldovan2024-08-213-0/+176
| | | |
| * | | arti: Wrap long lines not handled by rustfmt.Gabriela Moldovan2024-08-211-2/+14
| | | |
| * | | tor-hsservice: Add a TODO about rethinking publish rate-limiting.Gabriela Moldovan2024-08-211-0/+11
| | | |
| * | | tor-hsservive: Document how restricted discovery live reloading works.Gabriela Moldovan2024-08-211-0/+48
| | | |
| * | | tor-hsservice: Remove a TODO that is no longer relevant.Gabriela Moldovan2024-08-211-16/+1
| | | | | | | | | | | | | | | | This is now implemented.
| * | | Cargo.toml: Sort crate list.Gabriela Moldovan2024-08-211-1/+1
| | | | | | | | | | | | | | | | This is needed to satisfy `maint/check_toposort`.
| * | | tor-config: Write tests for FileWatcher.Gabriela Moldovan2024-08-213-3/+147
| | | |
| * | | tor-config: Add a TODO about relocating file_watcher.Gabriela Moldovan2024-08-211-0/+3
| | | |
| * | | tor-hsservice: Add TODO about updating publisher status on error.Gabriela Moldovan2024-08-211-0/+1
| | | | | | | | | | | | | | | | | | | | This is a general issue with the publisher that will need to be addressed soon.
| * | | tor-hsservice: Update the authorized_clients and watcher when the config ↵Gabriela Moldovan2024-08-211-1/+5
| | | | | | | | | | | | | | | | changes.
| * | | tor-hsservice: Store a FileWatcher in the publisher reactor.Gabriela Moldovan2024-08-211-2/+137
| | | | | | | | | | | | | | | | | | | | This `FileWatcher` is watching the `restricted_discovery.key_dirs` directories for changes.
| * | | tor-config: Add getters for FileWatcher.Gabriela Moldovan2024-08-213-1/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Sometimes it's useful to know what files/directories are being watched. For example, the descriptor publisher needs to know in order to figure out if it needs to update the watcher in response to changes in the config.
| * | | tor-hsservice: Pass watch_configuration down to restricted discovery config.Gabriela Moldovan2024-08-212-7/+31
| | | | | | | | | | | | | | | | | | | | | | | | We need to know if `watch_configuration` is set in the descriptor publisher reactor to know whether we should be watching the `restricted_discovery.key_dirs` directories.
| * | | tor-hsservice: Derive getters for OnionServiceConfig, RestrictedDiscoveryConfig.Gabriela Moldovan2024-08-212-7/+5
| | | |
| * | | tor-hsservice: Schedule descriptor republication whenever the key_dirs ↵Gabriela Moldovan2024-08-211-1/+57
| | | | | | | | | | | | | | | | contents change.
| * | | tor-hsservice: Add helper for reading authorized_clients.Gabriela Moldovan2024-08-211-8/+17
| | | | | | | | | | | | | | | | | | | | This will soon be used in the `key_dirs` change handler, which will re-read the authorized_clients list.
| * | | tor-hsservice: Add channel for receiving key_dirs change events.Gabriela Moldovan2024-08-211-0/+11
| | | |
| * | | tor-hsservice: Log a message whenever restricted discovery mode is toggled.Gabriela Moldovan2024-08-211-0/+13
| | | |
| * | | tor-hsservice: Only republish if the config changes are relevant.Gabriela Moldovan2024-08-211-8/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously, the publisher would always publish a new descriptor if the config changed. Now, it only republishes if the parts of the config that changed are relevant (i.e. if they are part of `OnionServiceConfigPublisherView`). A future change will make it so that we trigger a republish task whenever the restricted discovery mode authorized clients change. This will involve looking at the contents of the configured `key_dirs`, as well as the `OnionServiceConfigPublisherView`.
| * | | tor-hsservice: Make restricted_discovery updateable.Gabriela Moldovan2024-08-211-1/+1
| | | |
| * | | tor-hsservice: Make the reactor take a reference to the config.Gabriela Moldovan2024-08-212-3/+3
| | | | | | | | | | | | | | | | This resolves a clippy warning.
| * | | tor-hsservice: Use OnionServiceConfigPublisherView in the publisher.Gabriela Moldovan2024-08-212-16/+11
| | | | | | | | | | | | | | | | | | | | Resolves the TODO prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1603#note_2944902
| * | | tor-hsservice: Create a type for the descriptor publisher's view of the config.Gabriela Moldovan2024-08-211-1/+49
| | | | | | | | | | | | | | | | | | | | Partially addresses https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1603#note_2944902
| * | | tor-hsservice: Log the client nicknames the descriptor is encrypted for.Gabriela Moldovan2024-08-211-1/+4
| | | | | | | | | | | | | | | | Knowing the nicknames can be useful when debugging.
| * | | tor-hsservice: Log if we are about to generate a new descriptor.Gabriela Moldovan2024-08-211-0/+1
| | | |
| * | | tor-config: Support watching dirs for files with a given extension (fmt).Gabriela Moldovan2024-08-211-2/+9
| | | |
| * | | tor-config: Support watching dirs for files with a given extension.Gabriela Moldovan2024-08-212-20/+73
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This also fixes a couple of issues with the previous implementation: * it enables you to watch for more than just one file/extension per directory (each directory now has a list of filters. If any of the filters apply to the path contained in the notify::Event, the `FilterWatcher` notifies the listeners * it removes the list watched files from `FileWatcher`. This makes things a lot simpler to grok: essentially, the file watcher only ever watches directories, notifying if an "interesting" file was changed (in our case, the interesting files are files that have a relevant extension, such as `.auth`, or specific configuration files, as specified by `ConfigurationSources`).
| * | | tor-config: Move event handling to a separate function.Gabriela Moldovan2024-08-211-20/+30
| | | | | | | | | | | | | | | | | | | | This will soon grow more complex, so I am preemptively moving it out of `start_watching`.
| * | | tor-config: Remove unused Event::SigHup variant.Gabriela Moldovan2024-08-211-3/+0
| | | | | | | | | | | | | | | | | | | | We don't need this variant anymore, because sighup is now handled separately from `FileWatcher` events.
| * | | tor-config: Make FileWatcher use an opaque channel type.Gabriela Moldovan2024-08-214-94/+178
| | | | | | | | | | | | | | | | The `FileWatcher` now uses a `postage::watch` channel under the hood.
| * | | tor-config: Give FileWatcherBuilder a handle to the runtime.Gabriela Moldovan2024-08-214-16/+18
| | | | | | | | | | | | | | | | | | | | The event handler will soon be made async, so we need a handle to the runtime.
| * | | tor-config: Move FileWatcher to tor-config.Gabriela Moldovan2024-08-215-185/+220
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For the most part, this is just code motion. The only change here is that `prepare` is no longer a method on `FileWatcher`. This decouples `FileWatcher` from `ConfigurationSources`, enabling us to use it to watch files and directories that aren't configuration.
| * | | arti: Update outdated FileWatcher docs.Gabriela Moldovan2024-08-211-5/+1
| | | | | | | | | | | | | | | | | | | | The `FileWatcher` doesn't contain the channel for receiving events anymore, and `FileWatcher::event_matched` was removed at some point.
* | | | Merge branch 'document-data-streams' into 'main'Nick Mathewson2024-08-223-3/+22
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | Circuit reactor: improve code comments See merge request tpo/core/arti!2358
| * | | | flow-control: document idea for making more robustJim Newsome2024-08-212-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | From <https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/2340#note_3062531>
| * | | | Circuit reactor: improve code commentsJim Newsome2024-08-211-3/+11
| | |_|/ | |/| | | | | | | | | | | | | | In particular, clarify that stream-flow-control msgs don't get blocked on circuit congestion control.