| Commit message (Collapse) | Author | Age | Files | Lines | ||
|---|---|---|---|---|---|---|
| ... | ||||||
| * | | bridge desc: todo re config: weaken and reference a new ticket | Ian Jackson | 2022-11-08 | 1 | -3/+2 | |
| |/ | ||||||
| * | Merge branch 'store' into 'main' | Nick Mathewson | 2022-11-08 | 5 | -41/+466 | |
| |\ | | | | | | | | | | | | | Persistently cache bridge descriptors Closes #619 See merge request tpo/core/arti!831 | |||||
| | * | bridge descs: Rename BridgeDescMgr from BridgeDescManager | Ian Jackson | 2022-11-08 | 2 | -15/+15 | |
| | | | | | | | | | | | | | This is more consistent with our naming elsewhere. Suggested-by: Nick Mathewson <[email protected]> | |||||
| | * | bridge descs: Apply sensitive() to bridge identity in error log msg | Ian Jackson | 2022-11-08 | 2 | -1/+3 | |
| | | | ||||||
| | * | sqlite cache: Document reasoning about timestamps | Ian Jackson | 2022-11-08 | 1 | -2/+9 | |
| | | | | | | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/831#note_2851764 | |||||
| | * | bridge desc tests: Test caching and if-modified-since | Ian Jackson | 2022-11-04 | 1 | -2/+121 | |
| | | | ||||||
| | * | bridge desc tests: Break out queues_are_empty helper | Ian Jackson | 2022-11-04 | 1 | -2/+6 | |
| | | | ||||||
| | * | bridge desc tests: Provide a sqlite connection | Ian Jackson | 2022-11-04 | 1 | -2/+5 | |
| | | | | | | | | | The current test case doesn't use this. | |||||
| | * | bridge desc: Implement storage functions at the DB layer | Ian Jackson | 2022-11-04 | 1 | -8/+67 | |
| | | | ||||||
| | * | bridge desc: Make Downloaded be Debug | Ian Jackson | 2022-11-04 | 1 | -0/+1 | |
| | | | ||||||
| | * | bridge desc: Implement cache reuse logic and if-modified-since | Ian Jackson | 2022-11-04 | 4 | -9/+196 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | This introduces the new API functions to Store. But currently they are all no-ops. So all this machinery doesn't actually do anything. Also, it changes the API to the mockable downloader, to allow it to support if-modified-since. So this isn't used either. But it is more convenient to do this all at once in BridgeDescManager, since care needs to be taken about the intraction between if-modified-since and the persistent cache. | |||||
| | * | bridge desc: Rename one more variable to text | Ian Jackson | 2022-11-04 | 1 | -1/+1 | |
| | | | ||||||
| | * | bridge desc: Catch panics in the download functionality | Ian Jackson | 2022-11-04 | 1 | -1/+8 | |
| | | | ||||||
| | * | bridge desc: Provide a Store to the bridge desc manager | Ian Jackson | 2022-11-04 | 3 | -16/+49 | |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use the one in the dirmgr. That means that our constructor now has to take a dirmgr. And, the dirmgr must have a circmgr. This is all rather odd, TBH. Add .. to the binding of the return values from setup, as future-proofing. The tests now need to provide a Store too. Make the sqlite::new_empty function pub(crate) so we can use it. We must retain the _db_tmp_dir, since when it goes away the tmp directory is deleted and the db goes readonly. | |||||
| | * | bridge desc tests: Apply tracing_test::traced_test | Ian Jackson | 2022-11-04 | 2 | -0/+3 | |
| | | | | | | | | | This lets us see the log messages. They look fine, as it happens. | |||||
| * | | Merge branch 'store-yak-misc' into 'main' | eta | 2022-11-08 | 3 | -11/+34 | |
| |\| | | | | | | | | | Small misc yaks for bridge descriptor persistence See merge request tpo/core/arti!828 | |||||
| | * | tor-dirmgr: impl AsRef<dyn Error> for Error | Ian Jackson | 2022-11-04 | 1 | -0/+7 | |
| | | | | | | | | | This allows use with tor_error::Report. | |||||
| | * | dirmgr: Make store be in an Arc | Ian Jackson | 2022-11-04 | 1 | -2/+2 | |
| | | | | | | | | | | | This will let us share it with the bridge descriptor manager. (As discussed with Nick.) | |||||
| | * | dirmgr sqlite store: Improve schema updates | Ian Jackson | 2022-11-04 | 1 | -9/+25 | |
| | | | | | | | | | | | | | | | | | | | * Centralise applying the schema updates, in a closure * Make the schema update SQL texts be in an array so we can loop * Make the version update statement generic, not cloned-and-hacked This will make it possible to add another schema version without error-prone conditions etc. | |||||
| * | | Fix typos | Dimitris Apostolou | 2022-11-06 | 1 | -1/+1 | |
| |/ | ||||||
| * | bridgedesc: Rename "text" from "output" | Ian Jackson | 2022-11-03 | 1 | -5/+5 | |
| | | | | | | | This was confusing, because it's the output of the donwload, but nowhere near the output of the whole process. And it's going to become even less so. | |||||
| * | bridgedesc: Make process_document into a free function | Ian Jackson | 2022-11-03 | 1 | -53/+67 | |
| | | | | | It deserves this treatment, I think. | |||||
| * | bridgedesc: Introduce Downloaded | Ian Jackson | 2022-11-03 | 1 | -13/+17 | |
| | | | | | | This gives names to things and makes things clearer, and this will be even more true in a moemnt. | |||||
| * | bridgedesc: download: Break out process_document | Ian Jackson | 2022-11-03 | 1 | -47/+54 | |
| | | | | | We're going to want to reuse this for handling cached stuff. | |||||
| * | bridgedesc: Prepare Mockable trait for if-modified-since | Ian Jackson | 2022-11-03 | 2 | -6/+15 | |
| | | ||||||
| * | Run add_warnings. | Nick Mathewson | 2022-11-03 | 1 | -0/+1 | |
| | | ||||||
| * | bridge descriptors tests: Fix flaky test | Ian Jackson | 2022-11-03 | 1 | -1/+11 | |
| | | ||||||
| * | bridge descriptors tests: Test set_bridges more thoroughly (fix) | Ian Jackson | 2022-11-03 | 1 | -1/+1 | |
| | | | | | | | The RetryDelays are being triggered for the 2nd time here, so their timeouts can be longer. We must bump the sleep to make sure we don't have a flaky test. | |||||
| * | bridge descriptors: logging: Log addition and removal (fmt) | Ian Jackson | 2022-11-03 | 1 | -12/+20 | |
| | | | | | Worsify formatting as demanded by rustfmt. | |||||
| * | bridge descriptors: logging: Log addition and removal | Ian Jackson | 2022-11-03 | 1 | -8/+31 | |
| | | | | | | This involves breaking the calls to `new_bridges.remove` into a helper that does the logging. | |||||
| * | bridge descriptors: logging: Log download start and outcome | Ian Jackson | 2022-11-03 | 1 | -0/+6 | |
| | | ||||||
| * | bridge descriptors tests: Test set_bridges more thoroughly | Ian Jackson | 2022-11-03 | 1 | -0/+34 | |
| | | | | | | | | | Prior to the previous commit, set_bridges would malfunction if there were bridges which where (i) in current (ii) in queued or running (iii) in the new bridge set. This test failed then and passes now. | |||||
| * | bridge descriptors: Rewrite set_bridges | Ian Jackson | 2022-11-03 | 1 | -18/+12 | |
| | | | | | | | | | This was fundamentally confused and irregular. Now it is more regular: it does the same things to all the elements of Tracked, and a simple filtering on current. This fixes a bug, for which I'm about to add a test case. | |||||
| * | bridge descriptors tests: Add another couple of test cases | Ian Jackson | 2022-11-03 | 1 | -1/+31 | |
| | | ||||||
| * | bridge descriptors tests: stream_drain_ready returns event count | Ian Jackson | 2022-11-03 | 1 | -1/+4 | |
| | | | | | We'll use this in a moment. | |||||
| * | bridge descriptors tests: Break out bad_bridge helper function | Ian Jackson | 2022-11-03 | 1 | -7/+7 | |
| | | ||||||
| * | bridge descriptors: Change default max_refetch | Ian Jackson | 2022-11-03 | 2 | -2/+2 | |
| | | | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/820#note_2850269 | |||||
| * | bridge descriptors: Add clarification about bridge states | Ian Jackson | 2022-11-03 | 1 | -0/+3 | |
| | | ||||||
| * | bridge descriptors: Improve and fix docs for consider_launching | Ian Jackson | 2022-11-03 | 1 | -1/+6 | |
| | | ||||||
| * | bridge descriptors: Add comments where StateGuard is dropped | Ian Jackson | 2022-11-03 | 1 | -0/+8 | |
| | | ||||||
| * | bridge descriptors: Document `changed` and `earliest_timeout` Options | Ian Jackson | 2022-11-03 | 1 | -0/+5 | |
| | | ||||||
| * | bridge descriptors: Document updates argument to timeout_task | Ian Jackson | 2022-11-03 | 1 | -0/+6 | |
| | | ||||||
| * | Require derive_more 0.99.3 | Ian Jackson | 2022-11-03 | 1 | -1/+1 | |
| | | | | | | | | | 0.99.[012] have a bug https://github.com/JelteF/derive_more/issues/114 which makes the Deref derive for bridgedesc::StateGuard not work and therefore breaks minimal-versions CI. It seems simpler to require the newer version everywhere. | |||||
| * | bridge descriptors: Tests | Ian Jackson | 2022-11-03 | 3 | -0/+270 | |
| | | ||||||
| * | bridge descriptors: Provide a consistency check function | Ian Jackson | 2022-11-03 | 1 | -0/+196 | |
| | | | | | | This is really part of the tests, but I put it here so that it can be compiled-in if someone wants it during debugging. | |||||
| * | bridge descriptors: Provide an implementation of BridgeDescProvider | Ian Jackson | 2022-11-03 | 3 | -0/+1098 | |
| | | | | | Tests will come in a moment. | |||||
| * | Copy tor-netdoc/testdata/routerdesc1.txt into tor-dirmgr | Ian Jackson | 2022-11-03 | 1 | -0/+50 | |
| | | | | | | This seems better than having tor_netdoc export a `#[cfg(test)]` public constant. | |||||
| * | remove unused dependancies | trinity-1686a | 2022-10-29 | 1 | -1/+0 | |
| | | ||||||
| * | tor-dirmgr: impl Default for FlagPublisher | Ian Jackson | 2022-10-27 | 1 | -0/+6 | |
| | | ||||||
| * | tor-dirmgr: impl FlagEvent for BridgeDescEvent | Ian Jackson | 2022-10-27 | 1 | -0/+6 | |
| | | ||||||
