| Commit message (Collapse) | Author | Age | Files | Lines |
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
- `tor-ptmgr` has a new `add_unmanaged` function to insert an unmanaged
PT into the `cmethods` table.
- There are many ways to misuse this API and have it blow up in your
face (for example, by overwriting an existing PT's cmethod, etc.)
- It's unclear whether these are worth caring about.
- The `TorClient` gains a new experimental `ptmgr()` function, and the
`PtClientMethod` can now be constructed by user code.
|
| |\
| |
| |
| |
| | |
tor-hsservice: Implement PartialEq for HsClientDescEncKey, Anonimity, DescEncryptionConfig
See merge request tpo/core/arti!1601
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This will enable the descriptor publisher to tell whether it needs to
update the descriptor.
When the publisher is notified of an `OnionServiceConfig` change, it
checks whether the `anonimity` or `encrypt_descriptor` fields have
changed. If they have, it rebuilds and republishes the descriptor
using the new values (note: the publisher changes will be implemented in
a future commit).
|
| | |
| |
| |
| | |
Needed to implement `PartialEq` for `AuthorizedClientConfig`.
|
| |\ \
| |/
|/|
| |
| | |
tor-hsservice: ipt mgr: Notify Establisher to start accepting
See merge request tpo/core/arti!1598
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
We're going to want to talk about this in the Mockable trait.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
The call site is going to want to do something other with the selected
IPTs than just publish them.
(This seems better than putting the Establisher notification in a
function called `publish_set`.)
|
| | |
| |
| |
| |
| |
| | |
We're going to split this function, and this will be in the 2nd half.
Code motion only.
|
| | |
| |
| |
| |
| | |
We want a separate block so we can do other things besides just making
an IptPublishSet.
|
| |\ \
| |/
|/|
| |
| | |
tor-rtmock: task: Provide advance_* to replace advance
See merge request tpo/core/arti!1594
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
This will change the ordering in the docs.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
We might loop, sleeping for zero. In real life this wouldn't last
long, but with the mock executor it can busy loop.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| | |
advance_by can be used in a more natural way, rather than having to
manually advance the clock in chunks to avoid triggering only the
first sleep.
It can also detects some "timeout triggered precisely" edge case bugs.
|
| | |
| |
| |
| | |
We should encourage the use of this, rather than Spawn::spawn()
|
| |\ \
| | |
| | |
| | |
| | | |
tor-hsservice: Pass correct parameters to Establisher
See merge request tpo/core/arti!1597
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This was missing the conventional spaces. Noticed in passing.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
We don't need this because the manager takes an IptsManagerView
which can be connected to something other than a real publisher
(and is pretty good at passing on the info).
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
This is the persistent IPT feature.
|
| | | |
| | |
| | |
| | | |
We must generate keys and so on before we can set up an Establisher.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
IntroPointId was RelayIds but that's wrong, because there can be
different IPTs at the same relay - but also because an established IPT
might change its RelayIds.
Use IptLocalId instead, which I think is the type we decided to use
for this, and which is, conveniently, Copy.
And change the variable names to match, everywhere.
Specifically: in places where an intro point is implied (ipt_mgr.rs,
ipt_establish.rs) use the name `lid` everywhere, like in ipt_mgr.rs.
Elsewhere, use `ipt_lid`.
(We could use a longer name, but in that case it should be changed in
ipt_mgr.rs too.)
No actual functional change in this commit.
|
| | |/
| |
| |
| |
| |
| |
| | |
Local variables can have contextually implied elements omitted. In
this case that's `hs` and `ipt`, leaving `k_sid` as in ipt_mgr.rs.
Put the full name in the doc comment.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This threads the country codes work through the rest of the codebase:
- `tor-dirmgr` will now enable GeoIP with the embedded database when the
`geoip` future is enabled
- This can be extended later using the `DirMgrConfig` to allow
specifying a custom database; this is not done here, though
- `tor-circmgr`'s `SupportedCircUsage` and `TargetCircUsage` fields gain
new `country_code` members to allow filtering circuits by country
- These are `()` in builds where the `geoip` feature is not enabled --
doing it this way means we don't have to copy and paste huge swathes
of code, since we can't use `#[cfg]` in patterns
- `ExitPathBuilder` gains (hacked-in) support for choosing a relay with
the correct country code
- Due to the lack of conjuction, we just copy and paste a small bit,
pending further refactoring
- `StreamPrefs` now lets you specify a country code, letting embedders
make use of the feature
|
| |\ \
| |/
|/|
| |
| | |
tor-hsservice: Implement ipt_set
See merge request tpo/core/arti!1577
|
| | | |
|
| | |
| |
| |
| |
| |
| | |
This is actually just the start of an existing test case.
tor-hsservice tests will want this in a moment.
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Defend against rustfmt worsifying this by adding an empty comment.
|
| | |
| |
| |
| |
| |
| | |
From ..._start. The old name is confusing when you see a call site,
because the actual time passed isn't the start time, but the call site
looks like it ought to be.
|
| | |
| |
| |
| | |
This gains an almost impossible error case.
|
| | | |
|
| | |
| |
| |
| | |
This is needed since the notification channel will be an mpsc.
|
| | | |
|
| | | |
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
Define a keypair type for HsSvcNtor{,Secret}Key, and use it in ipt_mgr.
Closes #1030
See merge request tpo/core/arti!1590
|
| | | |
|
| | |
| |
| |
| | |
Closes #1030.
|