Commit Graph

17 Commits

Author SHA1 Message Date
Nick Mathewson b6452b4812 Add a from_hex method for RsaIdentity.
We perform this operation in a bunch of places, and most of them
use hex::decode().  That's not great, since hex::decode() has to do
heap allocation.  This implementation uses hex::decode_to_slice(),
which should be faster.

(In the future we might choose to use one of the faster hex
implementations, but I'm hoping that this change will be sufficient
to get hex decoding out of our profiles.)

Part of #377.
2022-03-04 08:55:34 -05:00
Nick Mathewson a4914b990b arti-client: Make dirmgr() and circmgr() return &Arc<..>
Previously they returned an Arc, which wasn't necessary unless the
client actually _wanted_ a new Arc.

This would be an API break, except that these functions are marked
'experimental-api', so semver does not apply; nonetheless I've noted
the break in semver_status.md, just in case we care.

Closes #369
2022-03-03 14:08:27 -05:00
Nick Mathewson e11871a134 Clear semver_status.md entries for 0.0.2 2022-01-11 09:25:53 -05:00
Nick Mathewson 9c3aa00030 Update semver_status.md with recent changes. 2021-12-08 10:08:14 -05:00
Nick Mathewson 66d5f73b9c tor-linkspec: Remove redundant method; add more tests.
The redundant method was a `to_owned` that probably shouldn't have
been called that.  It was only used in one place.

The tests should get tor-linkspec's line coverage up above 90%.
2021-12-04 15:42:53 -05:00
Nick Mathewson 214c251e41 Remove the unused "Error" type from caret.
This was a relic of the old, now-unused "caret_enum!" macro.
Removing it gets caret's coverage to 100%.

Yes, technically this is a semver breaker on caret.
2021-12-04 15:13:43 -05:00
Nick Mathewson 47614ee737 Implement Eq,PartialEq for BoundedInt32. 2021-12-02 16:40:22 -05:00
Nick Mathewson c2804419ab Add constructor for TorAddr, to enforce port != 0
This makes sure that we're checking for a nonzero port in all cases.
2021-11-30 15:41:19 -05:00
Nick Mathewson e2a7289aa7 Add comments about the absence of tap_key in microdesc. 2021-11-30 14:05:13 -05:00
Nick Mathewson d4ebda8e2a Note non-breaking API change in tor-proto. 2021-11-30 14:00:00 -05:00
Nick Mathewson bafd56c461 Clear semver_status log now that 0.0.2 is out. 2021-11-30 12:58:29 -05:00
Nick Mathewson 5184f5ba84 Move top-level configuration downwards from `arti` to `arti-config`.
To do this at all neatly, I had to split out `tor-config` from
`arti-config` again, and putting the lower level stuff (paths,
builder errors) into tor-config.  I also changed our use of
derive_builder to always use a common error type, to avoid
error type proliferation.
2021-11-18 11:37:48 -05:00
Nick Mathewson 2439129899 tor-dirclient: Put routerdesc download behind a feature.
Part of #125
2021-11-12 13:38:02 -05:00
Nick Mathewson e9ea7515bc tor-dirmgr: put routerdesc storage behind a feature.
(We keep routerdescs in the schema, since we don't want _that_ to
fragment.)

Part of #125.
2021-11-12 12:15:48 -05:00
Nick Mathewson 7b12b54d40 tor-netdoc: Put the "routerdesc" document type behind a feature.
Nothing in arti currently uses this document type.  Eventually it
will be useful for relays and for bridge clients.

I've left the "SHA1 digest of a router descriptor" type available
unconditinoally, however, since it does get used in a few places.

Part of #125.
2021-11-12 12:15:30 -05:00
Nick Mathewson fb591c51b4 tor-llcrypto: Put currently unused functions behind features.
We don't currently need a couple of the key manipulation features
that we have, since we aren't yet doing relays or onion service
clients.

Part of #125
2021-11-12 11:56:05 -05:00
Nick Mathewson b7b9aa854e Add a file to track per-crate semver status. 2021-11-11 10:35:38 -05:00