Commit Graph

2974 Commits

Author SHA1 Message Date
Nick Mathewson 9329c7b878 arti-testing: Initial implementation
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.
2022-03-03 13:05:30 -05:00
eta 64c8ee0d1f Merge branch 'shellexpand' into 'main'
Switch to shellexpand-fork version of shellexpand

See merge request tpo/core/arti!373
2022-03-03 14:31:52 +00:00
Ian Jackson b27ffe14fb Merge branch 'dir-provider-redux' into 'main'
Alternative DirProvider setup

See merge request tpo/core/arti!347
2022-03-02 18:41:50 +00:00
Ian Jackson daa44df221 Replace manual Default impls with educe in tor-guardmgr 2022-03-02 18:06:37 +00:00
Ian Jackson 738f7efa3d Replace manual Default impl with educe in tor-dirmgr 2022-03-02 18:06:37 +00:00
Ian Jackson 4fbb088907 Replace manual Default impl with educe+std in tor-dirmgr 2022-03-02 18:06:37 +00:00
Ian Jackson bb1d59e073 Replace manual Default impl with educe in tor-cell 2022-03-02 18:06:37 +00:00
Ian Jackson ac0ed6ab65 Replace manual Default impls on enums with educe in arti-client 2022-03-02 18:06:37 +00:00
Ian Jackson 2a782a71c0 Refrain from replacing manual with educe Debug impl in caret
Instead, leave a comment saying we have left it this way deliberately.
2022-03-02 18:06:37 +00:00
Ian Jackson 1b8a8f933a Replace manual Debug impl with educe in arti-client 2022-03-02 18:06:37 +00:00
Ian Jackson decdd05ec5 Replace manual Clone impl with educe in arti-hyper 2022-03-02 18:06:37 +00:00
Ian Jackson ea03cc4084 Replace manual Clone impl with educe in tor-rtcompat 2022-03-02 18:06:37 +00:00
Ian Jackson 9dca756e23 Replace manual Debug impls with educe in tor-proto
We now print slighly more information.
2022-03-02 18:06:37 +00:00
Ian Jackson 210b9b70a8 Replace manual Debug impl with educe in tor-dirmgr 2022-03-02 18:06:37 +00:00
Ian Jackson f467f4666e Replace manual Debug impl with educe in tor-chanmgr 2022-03-02 18:06:37 +00:00
Ian Jackson 1c44dfa595 Replace manual Debug impl with educe in tor-cell 2022-03-02 18:03:00 +00:00
Ian Jackson b2d8c14c90 Replace manual Debug impl with educe in tor-guardmgr 2022-03-02 18:03:00 +00:00
Ian Jackson f474a583f1 Replace manual Debug impl with educe in tor-circmgr 2022-03-02 18:03:00 +00:00
Ian Jackson c1b80d6503 Import educe into tor-bytes and provide skip_fmt
Preparatory work for getting rid of some manual Debug impls
2022-03-02 18:03:00 +00:00
Ian Jackson 42f9b3c186 Replace manual Default, and abolish new, in tor-rtcompat
The Default impl was the only call site for new()
2022-03-02 18:01:18 +00:00
Ian Jackson 89074a1326 Replace manual Default and new with std derive in tor-proto 2022-03-02 18:01:08 +00:00
Ian Jackson 535e4ff118 Replace manual Default and new with std derive in tor-netdoc 2022-03-02 18:01:08 +00:00
Ian Jackson 4dfd1ef9cd Replace manual Default and new with std derive in tor-dirclient 2022-03-02 18:01:08 +00:00
Ian Jackson e45a95f65a Replace manual Default impl with std derive in tor-config 2022-03-02 18:01:08 +00:00
Ian Jackson 2becfcf894 Replace manual Default impl with std derive in tor-cell 2022-03-02 18:01:08 +00:00
Ian Jackson 486c73b6b7 Replace manual Clone impl with std derive in retry-error
This just clones the fields.  It is not clear to me why it was
written this way in be86df631d
   Remove anyhow dependency from tor-retry, and rename it to retry-error

Previously, I think, RetryError wasn't Clone.
2022-03-02 17:04:07 +00:00
Ian Jackson 90f86b47e4 Replace manual Debug impl with std derive in tor-circmgr
When I wrote this, I arranged to skip dumping the field `pending`.
This must have been because I thought that either

(a) PendingEntry couldn't `#[derive(Debug)]` (but it can)

and/or

(b) Some of the fields of PendingEntry ought not to be dumped because
they might contain (eg) packet data.  But I think they don't: there's
just the spec, and the Result which is (basically) a Circ.

I tried preseving something closer to the original using educe, but
educe gets somehow tangled up with the generics, and the result fails
to compile.  I haven't investigated this further.
2022-03-02 17:04:07 +00:00
Ian Jackson d1e8aa1dbd tor-llcrypto: Replace a tiny bit of code duplication with a call
No functional change.
2022-03-02 17:04:07 +00:00
Nick Mathewson 241fbd8746 Have caller of dirmgr_builder() provide Arc. 2022-03-02 12:01:26 -05:00
Ian Jackson 7a4369e240 tor-llcrypto: Add test case for RsaIdentity formatting
I'm going to change the code that does this, so add a test first
to check the output doesn't change.

At some point we should have more RSA tests.
2022-03-02 16:25:01 +00:00
Ian Jackson 72bb8e7f28 Switch to shellexpand-fork version of shellexpand
Apropos discussion in
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/274
2022-03-02 12:14:51 +00:00
Nick Mathewson f7009e238a add_warning: remove clone_on_ref_ptr
See !352
2022-03-01 15:38:46 -05:00
Nick Mathewson 83c8b11c2c Merge branch 'clippy-allow-arc-clone' into 'main'
Disable clippy::clone_on_ref_ptr

See merge request tpo/core/arti!352
2022-03-01 20:38:05 +00:00
Nick Mathewson e8e9791a97 Bump all crates to 0.1.0 2022-03-01 08:59:34 -05:00
Nick Mathewson 06f5580c8a Whoops I forgot to a verb. 2022-03-01 08:54:27 -05:00
Nick Mathewson b97fb211a0 Finish the changelog for 0.1.0 2022-03-01 08:47:47 -05:00
Nick Mathewson 8a5b766539 Final "cargo update" before relase. 2022-03-01 08:36:31 -05:00
Nick Mathewson 5735222691 Update README.md files from rustdoc. 2022-03-01 08:30:53 -05:00
eta c8f617c85e Merge branch 'integration_fix' into 'main'
chutney/setup: Wait for port 9150 to open after launching arti

Closes #367

See merge request tpo/core/arti!370
2022-03-01 13:26:31 +00:00
Nick Mathewson 57a8fe5f55 Fix rustdoc errors. 2022-03-01 08:16:02 -05:00
Nick Mathewson 224252f082 Run rustfmt. 2022-03-01 08:13:05 -05:00
Nick Mathewson f4a0aefae5 Merge remote-tracking branch 'origin/mr/371' 2022-03-01 08:12:51 -05:00
Nick Mathewson 132416275d Merge branch '010_docs' 2022-03-01 08:08:56 -05:00
Ian Jackson 4fa78e3f44 arti-hyper: Upgrade from an example to an "adaptation layer" 2022-03-01 11:53:15 +00:00
Ian Jackson b083ae661e arti-hyper: Expand docs 2022-03-01 11:53:13 +00:00
Ian Jackson 5533fef4f3 arti-hyper: Drop obsolete comment about not doing TLS 2022-03-01 11:53:12 +00:00
Ian Jackson d80f3198ea arti-client: Add stability warning to config module 2022-03-01 11:34:07 +00:00
Ian Jackson 73b0bf2c57 Merge branch 'eta/326' into 'main'
Refactor multiple runtime support in order to clean up documentation

Closes #326

See merge request tpo/core/arti!364
2022-03-01 11:25:03 +00:00
Ian Jackson 5610cec095 Merge branch 'main' into hyper-docs 2022-03-01 11:02:46 +00:00
Ian Jackson 66f53b6a9a Merge branch 'main' into 364
Conflicts:
	crates/arti-hyper/examples/hyper.rs

Trivially resolved.  Hyper example still works.
2022-03-01 10:36:02 +00:00