| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
Solves a name conflict with the existing tor_client create.
Closes #130.
|
| |
|
|
|
|
|
| |
There are some missing parts here (like persistence and tests)
and some incorrect parts (I am 90% sure that the "exploratory
circuit" flag is bogus). Also it is not integrated with the circuit
manager code.
|
| |
|
|
|
| |
This will cause some pain for now, but now is really the best time
to do this kind of thing.
|
| |
|
|
|
|
| |
This commit defines a crate (tor-persist) that describes an abstract
key-value store using serde, plus an on-disk implementation using
Toml and fslock.
|
| | |
|
| |
|
|
| |
Now RetryError is parameterized on an underlying error type.
|
| |
|
|
| |
(Squashed from typed-netdir-params)
|
| | |
|
| |
|
|
|
| |
Since these parts are testing-only, let's take steps to make sure we
don't ship them in production by accident.
|
| |
|
|
| |
This lets us simplify tor-dirclient a fair bit. Closes #79.
|
| |
|
|
| |
Closes #106
|
| | |
|
| | |
|
| |
|
|
|
|
| |
This crate is mainly intended to wrap the config.rs code if
necessary, and to give a way for interacting with it on the command
line.
|
| | |
|
| |
|
|
|
|
| |
When we try to do something a few times and it fails each time, it
can be a good idea to remember why the individual failures
happened.
|
| |
|
|
|
|
|
|
| |
This code can now bootstrap from the network, cache the results, and
reload from cache.
There's lots more work to do here, including a big pile of tidying
and refactoring and testing and documentation.
|
| |
|
|
|
|
|
|
| |
It can send a GET request on a circuit, get an answer, and
decompress it with zlib.
It will need documentation and tests eventually, as well as serious
refactoring.
|
| |
|
|
|
| |
Like tor_llcrypto, this crate is meant to expose only the part of
other crates (in this case, a async runtime crate) that we use.
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
| |
For now, it's set up to just use a chutney network, so I don't
cause major drama with the real network.
I'll be working on this in parallel with proto and netdir
improvements, until it works.
|
| |
|
|
| |
For now, this assumes an existing Tor cache directory.
|
| |
|
|
|
|
|
|
|
|
|
| |
Too often I've been writing code that defers timeliness checking to
an is_valid_at() method [which you'd better call or else whoops] and
which does signature checking while parsing [not great for
performance].
Instead, let's make return types where you can't get at the interior
object without first either checking the signatures/timeliness, or
declaring that (dangerously) you don't care.
|
| |
|
|
|
|
| |
Unlike caret_enum!, these types are for use with things like cell
commands or certificate types, where the entire space of integer
values is possible, and only some are recognized.
|
| | |
|
|
|
Arti is a rust tor implementation. It's project I've been working
on for a few months now, in weekends and in spare time. It doesn't
speak the tor protocol yet, and it doesn't connect to the network at
all.
It needs much more documentation and testing, but I'm just about
ready to show it to others. See the README.md for a description of
what is there and what isn't.
|