| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |/
|
|
|
| |
This (almost) a pure code-movement commit: it also makes one public
function private in order to suppress a warning.
|
| | |
|
| |\
| |
| |
| |
| | |
Simpify tor-netdoc TokVal
See merge request tpo/core/arti!404
|
| | |
| |
| |
| |
| | |
This enum was otiose: its set of valid values is precisely those of a
Vec. (Indeed what would TokVal::Multi(vec![]) have meant?)
|
| | |
| |
| |
| |
| |
| | |
We have upstreamed this code.
This reverts commit 6193c9d9742d1d19a45a0ee1c383858201304912.
|
| |/
|
|
|
|
|
|
| |
This has the humantime_serde::option module, which we have upstreamed
and are about to switch to.
The remaining dependency with version = "1" is going to be removed
in a moment.
|
| |\
| |
| |
| |
| | |
Drop config back-conversion from FooConfig to FooConfigBuilder
See merge request tpo/core/arti!391
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We are going to want to specify custom attributes on fields of the
builder struct. This feature was missing from derive_builder.
This commitid is the current head of my MR branch
https://github.com/colin-kiegel/rust-derive-builder/pull/237
https://github.com/ijackson/rust-derive-builder/tree/builder-field-attrs
Using the commitid prevents surprises if that branch is updated.
We will require this newer version of derive_builder. The version
will need to be bumped again later, assuming the upstream MR is merged
and upstream do a release containing the needed changes.
|
| | |
| |
| |
| |
| | |
This will be used to allow our config *builder* structs to be
Deserialize.
|
| |/
|
|
|
|
| |
This commit adds support for a BrokenTcp provider that can make
connection attempts fail or time out. It doesn't yet have a way to
turn on the failure.
|
| |\
| |
| |
| |
| | |
Replace many manual trait impls with use of educe
See merge request tpo/core/arti!375
|
| | |
| |
| |
| |
| |
| |
| | |
Code motion and the minimal mechanical changes.
As per
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/375#note_2783078
|
| | |
| |
| |
| | |
Empty crate right now
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
We now print slighly more information.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
Preparatory work for getting rid of some manual Debug impls
|
| |\ \
| | |
| | |
| | |
| | | |
arti-testing: Initial implementation
See merge request tpo/core/arti!378
|
| | |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds a new program to try to implement the ideas behind
experimentation in arti#329. In particular, it tries to implement
basic client "can I bootstrap and connect" functionality testing,
with a lot of instrumentation, and support for breaking things.
So far, the instrumentation is limited to counting TCP bytes and
connections, and counting events. Still, this is enough to measure
behavior on some of the incorrect-clock tests.
NOTE:
For now, you are _required_ to pass in an explicit configuration, in
hopes that this will lead you to override your storage directories
for doing specific experiments.
|
| |/
|
|
|
| |
Apropos discussion in
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/274
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Add tls_conn field to ArtiHttpConnector (and argument to constructor).
Introduce MaybeHttpsStream and use it in ArtiHttpConnection.
Have the example program pass the native TLS connector.
Currently the TLS connector and the HTTPS variant are not used, but
this commit is very noisy and fomrulaic, so I have split out the code
to use them into a separate commit for easier preparation and review.
|
| |
|
|
|
|
| |
(It's good to do this a couple of days in advance in case it turns
up any bugs. That's how we caught the panic bug in simple_asn1
0.6.0)
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
We need this not to use anyhow because we don't want our libraries to
expose anyhow, and this is about to go into the library.
|
| |
|
|
| |
Code motion and consequential dependency adjustments.
|
| | |
|
| | |
|
| |\ |
|
| | |
| |
| |
| |
| | |
This isn't complete (see TODO), but it's enough to let us report the
right ErrorKind if something fails to parse.
|
| | | |
|
| |\ \
| |/
|/|
| |
| |
| |
| | |
arti-client: add ability to automatically bootstrap
Closes #278
See merge request tpo/core/arti!322
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The new `BootstrapBehavior` enum controls whether an unbootstrapped
`TorClient` will bootstrap itself automatically (`Ondemand`) when an
attempt is made to use it, or whether the user must perform
bootstrapping themselves (`Manual`).
The `lazy-init` example shows how you could write a simple
`get_tor_client()` function that used a global `OnceCell` to share
a Tor client across an entire application with this API.
closes arti#278
|
| |\ \
| |/
|/|
| |
| | |
tor-cell and tor-proto: provide HasKind.
See merge request tpo/core/arti!304
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
Additionally, refactor the IoError out of tor_cell::Error:
nothing in TorCell created this; it was only used by tor_proto.
This required refactoring in tor_proto to use a new error type. Here I
decided to use a new CodecError for now, though we may refactor that
away soon too.
|
| |\ \
| |/
|/|
| |
| | |
Refactor errors in tor-netdoc
See merge request tpo/core/arti!314
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This error type doesn't impement HasKind, since the kind will depend
on context.
However, the existing implementation was pretty messy and inconsistent:
Some errors had positions, some didn't.
Some took messages as str, some as String.
Some had internal errors that were somewhat orthogonal to their actual
types.
This commit refactors tor_netdoc::Error to use a ParseErrorKind, and
adds a set of convenience functions to add positions and
messages to the errors that need them.
|
| |/
|
|
|
|
|
|
| |
Since the only purpose of this function is to make sure that no
bootstrapping task is running, a simple futures::lock::Mutex
should do the job just fine.
Closes #337.
|
| |\
| |
| |
| |
| |
| |
| | |
Allow creating unbootstrapped `TorClient`s (and `DirMgr`s)
Closes #293
See merge request tpo/core/arti!298
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit changes how the `TorClient` type works, enabling it to be
constructed synchronously without initiating the bootstrapping process.
Daemon tasks are still started on construction (although some of them
won't do anything if the client isn't bootstrapped).
The old bootstrap() methods are now reimplemented in terms of the new
create_unbootstrapped() and bootstrap_existing() methods.
This required refactoring how the `DirMgr` works to enable the same sort
of thing there.
closes #293
|