| Commit message (Collapse) | Author | Age | Files | Lines |
| ... | |
| | |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Include the offending word in all the applicable errors.
Always print it with {word:?}.
As a consequence, there are no From impls any more and error
generation/conversion is by hand in all cases.
Clarify InvalidPtOrAddr vs InvalidIAddrorPt, and don't make the
attempted parse be a source error for those.
Where we still have source errors, don't print them in Display.
|
| | | |
|
| | |
| |
| |
| |
| | |
This is not perfect but it at least ensures that our own parsing and
printing code works correctly with all the values we accept.
|
| | |
| |
| |
| |
| |
| | |
It has its own error type PtTargetInvalidSetting.
In check_doc_features, adjust suppression to new code.
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
This is going to appear in config files etc. We don't want the user
to have to type "<none>" in a bridge line.
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| | |
guardmgr needs to know how to parse Bridge lines into Bridge structs
so it needs to know about PTs specifically
|
| | |
| |
| |
| | |
I wanted this for testing. I think it's reasonable to promise this.
|
| | |
| |
| |
| |
| |
| |
| |
| | |
Make PtTargetSettings be Default.
No longer wrap it in Arc. We want to be able to update it here during
construction. If we want to save memory with copies of the same
bridge line, we should do this for the whole Bridge I think.
|
| | |
| |
| |
| | |
Spotted this in passing.
|
| |\ \
| | |
| | |
| | |
| | | |
Upgrade all fuzzers to newer libfuzzer-sys version.
See merge request tpo/core/arti!752
|
| | | | |
|
| |\ \ \
| |/ /
|/| |
| | |
| | | |
Use hostname-validator crate for hostname validation
See merge request tpo/core/arti!739
|
| | | | |
|
| | | | |
|
| |\ \ \
| | | |
| | | |
| | | |
| | | | |
Include a HashSet variant that can be keyed on multiple keys.
See merge request tpo/core/arti!747
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
Doing this lets us work with defaults and const generics.
|
| | | | |
| | | |
| | | |
| | | | |
This prevents an explosion if somebody has a key called "values".
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
It doesn't work for const generics yet, since they can't be repeated
in quite the same way.
|
| | | | |
| | | |
| | | |
| | | | |
Most of these were suggested by Ian
|
| | | | |
| | | |
| | | |
| | | | |
The `try_remove()` method, which we need, was introduced there.
|
| | | | |
| | | |
| | | |
| | | |
| | | | |
The previous indentation was making it think that we had rust code
where none existed.
|
| | | | |
| | | |
| | | |
| | | | |
Also, document another invariant.
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | | |
This can't be used in a consistency-preserving way.
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Using Option<T> as an alias for T was too clever indeed, and it
meant that our HashMaps were declared with the wrong types.
Putting flags here instead gives us an extension point that we can
use in the future.
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | | |
|
| | | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Every element in the set has up to N keys, each of which may have differnt
types. No value for any key may correspond to more than one element in
the set.
These properties can be provided, via a macro, for values of N between 1
and $BIG_ENOUGH.
We'll use this to implement a type that holds HasRelayIds.
|
| |\ \ \ \
| | | | |
| | | | |
| | | | |
| | | | | |
Implement a SOCKS client handshake
See merge request tpo/core/arti!746
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Per a suggestion from Diziet, clarify that the socks handshake code
only wants you to drain your buffers when it tells you to.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
I don't expect us to need this information much, but we may as well
hang on to it.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Try to do it in constant time, to avoid even the smell of
side-channel attacks.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
These tests include a few reference cases, as well as a little
framework to make sure that the client and the proxy implementation
will handshake with one another successfully.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
Previously we would report it as authenticating using the empty
string.
|
| | | | | | |
|
| | | | | | |
|
| | | | | |
| | | | |
| | | | |
| | | | | |
Also, have it enforce more correctness properties.
|
| | | | | |
| | | | |
| | | | |
| | | | |
| | | | | |
This type is by analogy to `RemoteProtocolFailed`; we'll use it for
cases when the Socks proxy refuses to talk to us.
|