summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* Merge branch 'key-extensions' into 'main'gabi-2502023-10-164-9/+16
|\ | | | | | | | | tor-keymgr: Encode whether the key is public or private in the file extension. See merge request tpo/core/arti!1672
| * dev-doc: Document the service keys currently supported by keymgr.Gabriela Moldovan2023-10-131-4/+9
| |
| * tor-keymgr: Encode whether the key is public or private in the file extension.Gabriela Moldovan2023-10-134-7/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There are 2 reasons to make this change: * because having the word `private` in the extension will make it more difficult to accidentally misuse or misplace a private key (see https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1618#note_2947461) * because `Keystore`s will soon grow a `list()` function returning all `(ArtiPath, KeyType)`s in the keystore, and in order for `ArtiNativeKeystore` to implement this function, it will need to be able to reverse the `KeyType -> file extension` mapping (if two different `KeyType`s are mapped to the same extension, `ArtiNativeKeystore`s won't be able to reverse the mapping)
* | Merge branch 'bug1039_redux' into 'main'Nick Mathewson2023-10-161-16/+25
|\ \ | | | | | | | | | | | | | | | | | | Sort introduction point lists by ntor public key. Closes #1039 See merge request tpo/core/arti!1674
| * | Explain why we are sorting intro points.Nick Mathewson2023-10-161-0/+7
| | |
| * | Sort introduction point lists by ntor public key.Neel Chauhan2023-10-161-16/+18
| | | | | | | | | | | | Closes #1039
* | | Merge branch 'track' into 'main'Nick Mathewson2023-10-162-7/+119
|\ \ \ | |/ / |/| | | | | | | | tor-hsservice: timeout track: More docs See merge request tpo/core/arti!1673
| * | tor-hsservice: timeout track: Worsify formattingIan Jackson2023-10-161-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | Simply running `rustfmt` makes a mess. This new formatting is less nice but repo policy requires that the layout is a fixed point under rustfmt and this is the least bad fixed point I found.
| * | tor-hsservice: timeout track: Add some discussionIan Jackson2023-10-161-4/+36
| | |
| * | tor-hsservice: timeout track: Add an example doctestIan Jackson2023-10-162-0/+74
| | |
| * | tor-hsservice: timeout track: Add a rustdoc allowIan Jackson2023-10-161-0/+4
| | | | | | | | | | | | Suppresses some erroneous warnings.
* | | Merge branch 'generic-listen' into 'main'Nick Mathewson2023-10-164-56/+120
|\ \ \ | |/ / |/| | | | | | | | arti, tor-config: Allow listening on generic addresses for SOCKS and DNS. See merge request tpo/core/arti!1613
| * | Treat only EAFNOSUPPORT as a warningJani Monoses2023-09-262-8/+12
| | |
| * | Test for Listen DisplayJani Monoses2023-09-261-0/+24
| | |
| * | Do not writelns in Display, undo localhost_port_legacy changes.Jani Monoses2023-09-252-5/+4
| | |
| * | Handle address already in useJani Monoses2023-09-222-2/+6
| | |
| * | arti, tor-config: Allow listening on generic addresses for SOCKS and DNS.Jani Monoses2023-09-224-59/+92
| | |
* | | Merge branch 'test' into 'main'Ian Jackson2023-10-1613-68/+399
|\ \ \ | | | | | | | | | | | | | | | | Cleanups , fixes,and tests in IPT manager See merge request tpo/core/arti!1659
| * | | tor-hsservice: timeout_track: Add a TODO re explanationsIan Jackson2023-10-161-0/+3
| | | |
| * | | tor-hsservice: ipt_mgr: Tolerate complexity warning for nowIan Jackson2023-10-161-0/+1
| | | | | | | | | | | | | | | | And add a TODO HSS for improving it.
| * | | tor-hsservice: Apply mandatory code formatting worseningIan Jackson2023-10-162-21/+49
| | | |
| * | | tor-hsservice: timeout_track: tests: Introduce secs() aliasIan Jackson2023-10-161-11/+14
| | | | | | | | | | | | | | | | I wish we could `use Duration::from_secs as secs`.
| * | | tor-hsservice: ipt_mgr: Add a test caseIan Jackson2023-10-163-0/+173
| | | | | | | | | | | | | | | | | | | | This doesn't test all the code paths, but it does test the main path of execution (and detected a couple of bugs).
| * | | tor-hsservice: ipt_mgr: Adjust API for mock RNGIan Jackson2023-10-161-4/+4
| | | | | | | | | | | | | | | | | | | | We're want to be able to return a mutable borrow of a field in the mock state. This means we must make `Rng` a GAT.
| * | | tor-hsservice: Narrow some dead code allowsIan Jackson2023-10-166-2/+7
| | | |
| * | | tor-hsservice: timeout_track: Change semantics to do what's neededIan Jackson2023-10-161-32/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The key point is this: +//! I.e., the timeout tracker tells you when (in the future) +//! any of the comparisons you have made, might produce different answers. +//! So, that can be used to know how long to sleep for when waiting for timeout(s). That's how the code in ipt_mgr.rs uses this. Without this change, things go wrong in the following case: we've got at least one good IPT, but not quite enough, and the others are taking too long. Ie, the timeout for "we should publish" is in the past. We decide to publish (correctly) but this *past* timeout should be disregarded. Disregarding past timeouts is correct if the code which is making the comparisons acts on the timeout when it occurs.
| * | | tor-hsservice: timeout_track: Provided shortest() for all trackersIan Jackson2023-10-161-0/+25
| | | |
| * | | tor-hsservice: timeout_track: Mark some unused variablesIan Jackson2023-10-161-2/+2
| | | |
| * | | tor-hsservice: timeout_track: Add a dead code allowIan Jackson2023-10-161-0/+1
| | | | | | | | | | | | | | | | For the same reason as the allow(unreachable_pub).
| * | | tor-hsservice: ipt_mgr: Improve waiting publish messageIan Jackson2023-10-161-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | This involves plumbing the duration through. Also it involved breaking out the multiplication by two into an addition, since if we were to change the factor we'd want to print the scaled value.
| * | | tor-hsservice: ipt_mgr: Add several debug/trace messagesIan Jackson2023-10-161-4/+22
| | | | | | | | | | | | | | | | | | | | We're going to improve the "establishing_very_recently" one in a moment.
| * | | tor-hsservice: ipt_mgr: Fix a message styleIan Jackson2023-10-161-1/+2
| | | | | | | | | | | | | | | | | | | | Add a colon. This is going to be the style for our trace and debug output.
| * | | tor-hsservice: ipt_mgr: Avoid looping with a zero timeoutIan Jackson2023-10-161-0/+3
| | | | | | | | | | | | | | | | | | | | If the time we're supposed to wait is zero, something has gone wrong. We'd probably just go round again and loop indefinitely.
| * | | tor-hsservice: ipt_mgr: Apply a limit to loopingIan Jackson2023-10-161-0/+10
| | | | | | | | | | | | | | | | This is a backstop to stop us just spinning. Instead, we crash.
| * | | tor-hsservice: ipt_mgr: Actually wait for (fast-ish) IPTsIan Jackson2023-10-161-0/+4
| | | | | | | | | | | | | | | | | | | | We never called the `started_establishing_very_recently` machinery. Do so.
| * | | tor-hsservice: ipt_mgr: Remove vestigial expiry time code (2)Ian Jackson2023-10-161-10/+1
| | | | | | | | | | | | | | | | | | | | lifetime is passed in the IptSet and doesn't want to be made absolute here.
| * | | tor-hsservice: ipt_mgr: Remove vestigial expiry time codeIan Jackson2023-10-161-4/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This calculation is now done elsewhere: the addition of IPT_PUBLISH_EXPIRY_SLOP happens in IptSet::note_publication_attempt and the storage in the manager's data structure is done by IptManager::import_new_expiry_times.
| * | | tor-hsservice: ipt_mgr: Mark an argument as unusedIan Jackson2023-10-161-1/+1
| | | |
| * | | tor-hsservice: Better debug impl for IptLocalIdIan Jackson2023-10-161-1/+5
| | | |
| * | | tor-rtmock: MockRuntime::test_with_various: Print what we're doingIan Jackson2023-10-161-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Without this, it can be a bit confusing since you just get the output (if any) of all the test runs, concatenated. It seems sensible to put the framing centrally. And, this would be helpful if the test fails for any reason.
| * | | tor-rtmock: MockExecutor: Provide n_tasks accessorIan Jackson2023-10-162-0/+16
|/ / /
* | | Merge branch 'by_type_remove' into 'main'Nick Mathewson2023-10-161-10/+0
|\ \ \ | | | | | | | | | | | | | | | | tor-cell: Remove unused by_type() function See merge request tpo/core/arti!1664
| * | | tor-cell: Remove unused by_type() functionNeel Chauhan2023-10-131-10/+0
| | |/ | |/|
* | | Merge branch 'fix-after-script-usage' into 'main'Nick Mathewson2023-10-141-7/+2
|\ \ \ | |/ / |/| | | | | | | | | | | | | | move usage of ./maint/preserve out of after_script Closes #1061 See merge request tpo/core/arti!1663
| * | remove artifact generation from rust-latest-test-all-featurestrinity-1686a2023-10-131-5/+0
| | |
| * | move usage of ./maint/preserve out of after_scripttrinity-1686a2023-10-131-3/+3
|/ /
* | Merge branch 'todos_proto' into 'main'Nick Mathewson2023-10-1212-129/+205
|\ \ | | | | | | | | | | | | tor-proto: Resolve a few TODO HSS entries. See merge request tpo/core/arti!1658
| * | Add downgrade-dependencies exceptions to make tor-proto build right.Nick Mathewson2023-10-121-1/+3
| | |
| * | proto::stream::incoming: Use bit-array representation for command listNick Mathewson2023-10-123-7/+125
| | | | | | | | | | | | | | | This should be smaller and faster than vec, and save some allocations. It could also avoid a tiny sidechannel.
| * | tor-proto: remove a now-unneeded allow in stream::incomingNick Mathewson2023-10-121-2/+0
| | |