| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | | | | |
|
| |\ \ \ \
| |/ / /
|/| | |
| | | |
| | | | |
Followups wrt country-code robustness
See merge request tpo/core/arti!1268
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(There are plenty of strings that convert into 2 bytes of UTF8
without being two ascii characters, and there are plenty of
sequences of two ascii characters that aren't printable.)
|
| | | | |
| | | |
| | | |
| | | | |
We want to make sure that ?? is always None, never a CountryCode.
|
| |\ \ \ \
| | |/ /
| |/| |
| | | |
| | | | |
Bump openssl because RUSTSEC-2023-0044
See merge request tpo/core/arti!1270
|
| |/ / / |
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
keymgr: Move FS operations out of KeyType impl
See merge request tpo/core/arti!1263
|
| | | | |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
keystore.
|
| | | |
| | |
| | |
| | |
| | |
| | | |
The functions that handle OpenSSH-formatted keys now no longer read or
write from disk. This commit updates their names and doc strings to stop
suggesting they do.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
This moves the filesystem calls from the `ssh` module to
`ArtiNativeKeyStore`. While `ArtiNativeKeyStore` shouldn't be concerning
itself with filesystem operations either, that refactoring will be
tackled separately (see arti#899).
|
| | | | |
|
| | |/ |
|
| |\ \
| |/
|/|
| |
| | |
tor-geoip: Add new crate with GeoIP database functionality
See merge request tpo/core/arti!1239
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- This adds a new crate, `tor-geoip`, which can parse and perform
lookups in the GeoIP database C-tor already uses (generated by a
maintenance utility in the C-tor codebase).
- We embed a copy of C-tor's databases with the crate and use
`include_str!` to ship them with the binary, bloating its size
somewhat.
- This does, however, solve the problem of figuring out how to
distribute these.
- The plan is to gate this functionality behind a feature flag anyway,
so the cost should be nil unless explicitly opted into.
Part of tpo/core/onionmasq#47.
|
| |\ \
| | |
| | |
| | |
| | | |
keymgr: Change "TODO hs" to "TODO HSS".
See merge request tpo/core/arti!1264
|
| | | |
| | |
| | |
| | | |
We don't really need "key bundles" for the client keys.
|
| | | |
| | |
| | |
| | |
| | | |
We probably don't need to support passphrases for the "Basic Client"
milestone, so let's update this TODO accordingly.
|
| |\ \ \
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
arti-client: Dummy KeyMgr API improvements
Closes #897
See merge request tpo/core/arti!1256
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
The `keymgr` module selects one of the key manager implementations
(dummy or "real") and exposes all the APIs we need, so we can remove
all of the cfgs related to the `keymgr` feature from `client.rs`.
Part of #897
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This moves the key manager API selection (dummy vs "real" impl) into the
`keymgr` module. The module exports the dummy API if the `keymgr`
feature is disabled, and the impl from `tor-keymgr` otherwise.
Part of #897
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
`insert` and `remove` should return an error rather than `Ok(())`, as
`Ok(())` implies the key was stored/removed, which is impossible in the
no-op implementation.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This will help us reduce the number of `#[cfgs(...)]` from `client.rs`
Part of #897
|
| | | | |
| | | |
| | | |
| | | | |
Part of #897
|
| | | | |
| | | |
| | | |
| | | | |
Part of #897
|
| |\| | |
| | | |
| | | |
| | | |
| | | | |
keymgr: First steps towards path validation and permission checks
See merge request tpo/core/arti!1255
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
We currently initialize the `ArtiNativeKeyStore` with a dummy root dir,
so when `ArtiNativeKeyStore` starts validating directories, this code
will start to fail. Let's preemptively ignore any errors coming from
`ArtiNativeKeyStore::new`. This is temporary and will be removed when we
introduce the key store config (and a real default value for the
keystore root dir).
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
This will be useful later, when `KeyMgr` will start validating
permissions and paths.
|
| |/ / /
| | |
| | |
| | |
| | |
| | | |
In the future, the potential causes of an `Error::Filesystem` error will
include permission errors as well as other errors (not just
`io::Error`s).
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Resolve several "TODO HS" comments in circmgr.
See merge request tpo/core/arti!1258
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This algorithm only looks at circuits until it finds one that
satisfies our needs. To get a random circuit, it just randomizes
the starting point within the pool.
This optimization may help if we let circuit pools grow large.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Previously we'd always try to keep 8 circuits ready. That doesn't
make sense if we are super-busy. Instead, if we run out of
circuits, we double the amount that we try to keep ready, and if we
never go under 80% of our target number, we half the number we try
to keep ready.
We limit the rate of change here, to make sure that we aren't
flapping too much or shrinking too aggressively.
This algorithm is still a mite arbitrary, and will need tuning in
the future.
|
| | | | |
| | | |
| | | |
| | | | |
This will be helpful as we complexify the pool behavior a bit.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
These functions' documentation already says that they don't retry,
and hsclient appears to be where we are concentrating our retry
efforts.
|
| | | | | |
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
rpc: Minor docs improvements
See merge request tpo/core/arti!1260
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| | | | | | |
|
| |\ \ \ \ \
| |_|_|/ /
|/| | | |
| | | | |
| | | | | |
Sort out .onion handling in arti-client
See merge request tpo/core/arti!1257
|
| | | | | | |
|
| | | | | | |
|