| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Explicit drops don't work. Instead, introduce a scope.
We need two scopes, actually: one where we do the initial table
wrangling, and one for the retries after relock.
So we must put the meat in a closure so we can reuse it.
And we must return the flow control as an enum. Bah, etc.
Avoid reformatting this for the moment. This makes the delta legible...
|
| | |
|
| | |
|
| |
|
|
| |
This will allow us to test state.rs.
|
| |
|
|
| |
Like the similar thing in tor-guardmgr.
|
| |
|
|
| |
This compiles, but it cannot work yet. Nor can it conveniently be tested.
|
| |
|
|
|
|
|
|
| |
Provide a more cookied "secret keys for use to connecting to a
particular HS" type, with a builder.
This wants to use config stuff, so oughtn't to be in tor-*crypto.
The individual types remain there.
|
| |
|
|
| |
Specifically, RendCookie, Subcredential, HsId, and HsBlindId.
|
| |
|
|
|
|
|
|
|
|
| |
These crates didn't have any changes until now, when I bumped
the versions of some other crates they depend on:
tor-consdiff
arti-hyper
arti-bench
arti-testing
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
These crates have had small code changes, but no API additions:
tor-config
tor-socksproto
tor-cert
tor-chanmgr
tor-ptmgr
tor-guardmgr
tor-circmgr
tor-dirclient
tor-dirmgr
arti
tor-hsservice
tor-congestion
These crates have had API extensions:
fs-mistrust
tor-llcrypto
tor-bytes
tor-checkable
tor-linkspec
tor-netdoc
tor-persist
arti-client
|
| |
|
|
|
|
|
|
| |
(The breaking change was removing `as_days()` from IntegerMinutes.)
We are _not_ calling this a downstream-api breaking change, per
discussion at
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1012?commit_id=bb2ab7c2a3e0994bb438188511688b5b039cae29#note_2876819
|
| |
|
|
|
|
| |
These are API breaks, but the crates themselves are currently
100% experimental, so there's no need to bump the minor versions
according to our semver rules.
|
| |
|
|
| |
This includes tor-cell, tor-proto, and tor-netdir.
|
| | |
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
Finish #525 for relay messages: Only parse messages at the last instant.
Closes #773 and #525
See merge request tpo/core/arti!1017
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
We now manipulate raw relay cell bodies as (an alias for)
`Box<[u8;509]>` rather than as (an alias for) `[u8;509]`. This
enables us to do much less copying. It will become more important
soon, as we defer parsing relay cell bodies even longer.
Related to #7.
We also use SliceWriter to avoid allocating a Vec<> for every relay
message we want to encode, and instead encode directly into the
cell.
|
| |/
|
|
| |
(None of the breaking changes affect us this time.)
|
| |\
| |
| |
| |
| | |
Apply restricted_msg to ChanMsg parts of tor-proto
See merge request tpo/core/arti!1013
|
| | |
| |
| |
| | |
This allows us to remove a shenanigan from `restricted_msg!{}`.
|
| | |
| |
| |
| |
| | |
This already allows us to get rid of some duplication, and will be
useful more widely in a moment.
|
| | |
| |
| |
| |
| |
| | |
Locally, the only functional effect is that now we refuse to handle
non-whole-number-of-minutes lengths - but since the consensus
parameter can't represent those, there's no overall functional change.
|
| |/ |
|
| |
|
|
| |
This is the main implementation part of #525.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
There are some places where I note certificates which are not
currently validated, because there is no cryptographic point in
doing so. We should either document that this is okay, or validate
the certificates anyway.
This code might benefit from refactoring to make it prettier.
|
| |
|
|
|
| |
This is tested via a round-trip check, and via a successful
decryption of our example descriptor's outer layer.
|
| | |
|
| |
|
|
|
|
|
|
|
| |
In !948 we renamed a couple of accessor functions, which is a
breaking change in `tor-cell`'s API.
In retrospect, perhaps we should have deprecated the old names and
added the new ones, so we wouldn't have to break the API. (This is
the only API break AFAICT since 1.1.0.)
|
| |
|
|
|
|
| |
These crates had API or behavior changes that may affect downstream
crates. Fortunately, they're all version 0.x, and don't need minor
bumps for this.
|
| |
|
|
|
|
|
| |
These changes influence behavior, but not effect compatibility.
(If I messed up, and any crate except for `arti` has non-breaking
API changes, that's still fine, since they are all version
0.x.)
|
| |
|
|
|
| |
These crates have not had changes to their behavior; as such it is
not necessary to bump their dependencies to require the new versions.
|
| | |
|
| |
|
|
|
| |
It's cute, but I don't think it will help performance, and I'm
undecided about whether the semantic implications are true.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This logic is a bit tricky, so I've tried to document it and add
fairly good tests. The silver lining is that the external API for
all of this logic will make it invisible and hidden.
There are some cases where I added functions that I think might
eventually get lowered into MdConsensus: But I don't want to lower
too much right now, since the convention for our netdoc accessors is
that they are fairly unsophisticated, and they show you the document
as it is.
Closes #686
|
| |\
| |
| |
| |
| | |
Upgrade toml to version 0.6.
See merge request tpo/core/arti!989
|
| | |
| |
| |
| |
| |
| |
| | |
This required rewriting some of our error handling code in
command-line processing, since the toml crate now displays and
reports errors differently. (Admittedly, this code still is kind of
ugly, but at least it is nicely hidden.)
|
| | | |
|
| | |
| |
| |
| |
| | |
This implementation was made based on the specification, and then
validated against itself, and against C Tor.
|
| | |
| |
| |
| |
| | |
This required some API tweaks, which is probably to be expected;
these time periods are a wonky kind of thing.
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
(We don't yet use the code that uses it, but we might as well have
our unused code be up-to-date.)
|