| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
We don't need dummy impls for `Error` and `Result`.
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
`dummy.rs` will be moved to `tor-keymgr`, which will export everything
from the module.
|
| | | | | | |
|
| | | | | | |
|
| | | |/ /
| |/| |
| | | |
| | | |
| | | |
| | | |
| | | | |
The dummy key manager impl from `arti-client` will be moved to
`tor-keymgr` soon. This commit adds a `keymgr` feature flag to
`tor-keymgr` which will eventually be used to choose between the real
key manager API and the dummy one.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Better API for getting circuit paths
Closes #787
See merge request tpo/core/arti!1286
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The new path_ref() method returns an Arc<Path>, which gives a much
better API for reasons discussed in the new documentation of path().
(We could just replace path() if we'd prefer, but IMO having
path_ref() here isn't so bad.)
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
(I'm not 100% sure about having both hops() and iter(). Should I
remove one?)
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
The new PathEntry struct wraps the old PathEntry enum, which has
been renamed to HopDetail. It's an opaque struct because we want to
be able to put new information in the enum as we think best.
|
| | | | | |
| | | | |
| | | | |
| | | | | |
(You can't get one yet or do much with it.)
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Now Path is a regular struct with no interior mutability, and we use
Arc::make_mut() for the case when we need to add a hop.
|
| | | |_|/
| |/| |
| | | |
| | | | |
(We're about to remove the interior mutability from Path.)
|
| |\ \ \ \
| |_|/ /
|/| | |
| | | |
| | | | |
tor-proto: resolve or defer the easier TODO HS items.
See merge request tpo/core/arti!1282
|
| | | | |
| | | |
| | | |
| | | | |
We never actually need to allow these again; see #914
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This lets us keep the service-side hs-ntor handshake experiemental
for now.
|
| | | | | |
|
| | |/ /
| | |
| | |
| | |
| | | |
These are all related to issues that will come up for the service
side of the onion service implementation.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Generate correct-ish socks5 errors for onion service errors.
Closes #736
See merge request tpo/core/arti!1279
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This takes an approach discussed in #736: Instead of trying to
distinguish INTRO/REND failures perfectly, we instead map our
existing ErrorKinds as best we can, in respect to the fact that
this distinction is not super important in practice.
Closes #736
|
| | | | |
| | | |
| | | |
| | | | |
Use this to emit HS_BAD_ADDRESS as appropriate.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
These errors are orthogonal to our actual error kinds. See
discussion on #736.
|
| | | | |
| | | |
| | | |
| | | | |
Part of #736
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
tor-hsclient: Delete/rewrite out-of-date commentary
See merge request tpo/core/arti!1288
|
| | | |/ /
| |/| | |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
keymgr: Remove/downgrade TODOs
See merge request tpo/core/arti!1285
|
| | | | | |
|
| |/ / /
| | |
| | |
| | | |
This TODO talks about a change we've decided not to implement.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
lints: Promote clippy::print_stderr and clippy::print_stdout
See merge request tpo/core/arti!1271
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
I prepared 161b9844d against an earlier version of main without the
geoip crate. Run maint/add_warning again.
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These are available in our MSRV now, so we don't need to handle
specially. We can just add them to the standard lint block.
(Lint block in every crate will be updated automatically in the next
commit.)
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
keymgr: Make ArtiNativeKeyStore::key_path() return a relative path.
Closes #908
See merge request tpo/core/arti!1267
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
This TODO was addressed in #899
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This also updates `ArtiNativeKeyStore`'s `KeyStore::remove`
implementation to build the absolute path of the file being removed, by
joining `self.keystore_dir` and the relpath returned by
`ArtiNativeKeyStore::key_path()`.
This addresses #908
|
| |/ / / /
| | | |
| | | |
| | | |
| | | | |
Sometimes we need the underlying String (for example to create a
PathBuf).
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
keymgr: Remove Error::NotFound, update KeyMgr, KeyStore APIs.
See merge request tpo/core/arti!1280
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This removes the `NotFound` `tor_keymgr::Error` variant. Since `KeyMgr`
and `KeyStore` users will need to be able to distinguish between "not
found" errors and other I/O errors, this also changes the return types
of the `get()` and `remove()` functions of `KeyStore` and `KeyMgr`,
which now return `Ok(None)` instead of `Error::NotFound`.
This makes the `KeyStore` API consistent with `KeyMgr::get`, which
already has a return type of `Result<Option<K>>` (rather than
`Result<K>`).
This also prepares us for #901, which will make key store errors
opaque. Without this change:
* we'd have to create a `struct NotFoundError;` error type. Its
`HasKind` impl would need to return a new
`ErrorKind::KeyStoreErrorNotFound` `ErrorKind` variant
* callers would have to match the `error_kind()` of the error to
figure out whether the key simply can't be found
(`ErrorKind::KeyStoreErrorNotFound`), or if something went wrong
(any other `ErrorKind`).
Given the above, I think `Result<Option<()>>` makes for a more ergonomic
API.
Part of #901
|
| |\| | | |
| | | | |
| | | | |
| | | | |
| | | | | |
keymgr: Remove unnecessary condition.
See merge request tpo/core/arti!1277
|