| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| |
|
|
|
| |
Callers could `use` it as `tor_guardmgr::config::BridgeParseError` but
it seems unecessary to force them to.
|
| | |
|
| |
|
|
|
| |
We're going to use this for the config item `bridges.enabled`,
but it seems general enough that it ought to go here.
|
| |
|
|
|
|
|
|
| |
We're going to want something that has the standard list builder
methods at the Rust API, but which has different serialisation.
Sadly the implementation is annoying, because macro_rules makes it
hard to parse a nice input syntax.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
This is precisely the text from the original version of !744.
There is no implementation yet, so we must add a entry to the
exception list in the tests.
|
| |
|
|
|
|
|
|
| |
Section headings appear uncommented in the file, so if we have a
whole section which is completely unrecognized (ie, an entry with no
`.`, it will be spotted when we parse the not-uncommented file too.
Right now there aren't any but there will be in a moment.
|
| | |
|
| |
|
|
| |
It turns out that we will need these even for uncommented parsing.
|
| |
|
|
| |
I had a failure that was confusing to me, and I wrote it...
|
| |
|
|
|
|
|
| |
This lint exists for perf reasons, and this is rarely relevant in
tests.
Using double quoted str is generally cognitively less burdensome.
|
| |\
| |
| |
| |
| | |
tor-config: CfgPath: Fix two typos "expaneded"
See merge request tpo/core/arti!764
|
| | | |
|
| |\ \
| | |
| | |
| | |
| | | |
Disable rtt_test_vectors test on non-Linux platforms
See merge request tpo/core/arti!766
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This test depends on `Duration` having a granularity of 1
nanosecond, which is not the case on OSX, and is probably not the
case on other places too.
We can re-enable this once we have a set of test vectors that use
more realistic RTTs, and a set of testing code that tolerates some
divergence.
Temporary solution for #574.
|
| |/ /
| |
| |
| |
| | |
It looks like this got fixed, but my branch for !759 reintroduced it
by refactoring.
|
| | |
| |
| |
| |
| |
| |
| | |
Now each `ChanTarget` has at most one `ChannelMethod`, and only
`Direct` `ChannelMethods` can have multiple addresses.
Closes #600.
|
| | |
| |
| |
| |
| |
| |
| | |
I think this is quite an inconvenient way to be carrying on.
Maybe we should disable all dead code warnings unless all features are
also enabled, and just let the compiler get rid of unused stuff later.
|
| | | |
|
| |/ |
|
| |\
| |
| |
| |
| |
| |
| | |
CfgPath: Add support for ${PROGRAM_DIR}.
Closes #586
See merge request tpo/core/arti!760
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
`${PROGRAM_DIR}` expands to the equivalent of
`std::env::current_exe().parent()`, with appropriate unwrapping and
conversions.
It is expected to be useful for finding the locations of pluggable
transports in some kinds of bundles.
Closes #586.
|
| | | |
|
| |/ |
|
| | |
|
| | |
|
| |
|
|
| |
All the other users of HasAddrs are correct.
|
| |
|
|
| |
These are now builders.
|
| | |
|
| | |
|
| |
|
|
|
| |
This will become the preferred way to make one of these objects, and
insulate us against future API changes.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
HasAddr used to mean "Here are addresses that I have, at which I can
be contacted." But "Where (and how) can I be contacted?" is now a
question for HasChannelMethod to answer.
(We still need to have "HasAddr", though, so we can answer things
like "what country is this relay in" and "are these relays in the
same /8?")
So this commit introduces:
* A new trait for adding an implementation of HasChannelMethod in
terms of HasAddr.
* A requirement on ChanTarget that it needs to implement
HasChannelMethod.
There is some temporary breakage here, marked with "TODO pt-client",
that I'll fix later in this branch.
|
| |\
| |
| |
| |
| | |
Start implementing more data structures to hold Bridge descriptors.
See merge request tpo/core/arti!755
|
| | | |
|
| | |
| |
| |
| | |
See comment for an explanation of the next issue here.
|
| | |
| |
| |
| |
| |
| | |
Also add a BridgeRelayWithDesc type (name tbd) to guarantee that
a bridge relay really does have a known descriptor before you
try to build a circuit with it.
|
| | |
| |
| |
| |
| | |
These are needed to actually be able to build circuits through
a bridge.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
This is the one we'll actually use to connect to bridges. It
has a `Bridge` line, and an optional `BridgeDesc`.
Maybe this will turn into a `BridgeRelay<'a>` by analogy to `Relay`
some time; I'm not sure.
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
BridgeDesc is a separate type to make sure that we do not confuse
bridges' descriptors with the descriptors from other routers down
the road. (Bridges' descriptors need to be used differently, and
treated as more private.)
With this code, BridgerDescList is now just an alias for
`ByRelayIds<BridgeDesc>`, which is pretty keen.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
To implement a reasonable RsaIdentity accessor, we have to
store the RsaIdentity in the RouterDesc, or else we'd have to
recalculate it using SHA1 and DER every time.
The Ed25519 identity is hidden inside the identity cert, but it's
safe to get a reference to it.
|
| |\ \
| | |
| | |
| | |
| | | |
Temporarily suppress a false positive from nightly.
See merge request tpo/core/arti!754
|
| | | |
| | |
| | |
| | |
| | |
| | | |
Nightly rust gives a warning about this "pub use", but the warning
is a false positive. Since it doesn't seem to be going away in a
hurry, let's suppress it for now.
|
| | | |
| | |
| | |
| | | |
it's already disabled by secmem_proc
|
| | |/
|/| |
|
| | |
| |
| |
| |
| | |
For whatever reason, rustdoc didn't like these multiline strings
in `doc` attributes.
|
| | |
| |
| |
| |
| | |
This is based on the type generated with n_key_set, with a
couple of extra methods to take advantage of RelayId and RelayIdRef.
|
| | |
| |
| |
| | |
Otherwise, there is a parsing ambiguity. :(
|
| | |
| |
| |
| |
| | |
Previously we used `<T>` in a bunch of places. But that fails
if you try to declare `T` as a parameter on the structure itself.
|