| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| | |
Added ipv6 and hostname support for reply for socks5
See merge request tpo/core/arti!4063
|
| | | |
|
| | | |
|
| |/
|
|
|
|
|
|
|
|
|
|
| |
This commit executes maint/add_warning with the just added change to
deny string slices except in tests.
I recommend auditing this by checking out the previous commit followed
by running the script yourself and then verifying that the diff is
identical to this commit.
This commit makes cargo clippy fail. We will add exceptions in the next
commit.
|
| |
|
|
| |
Run maint/add_warning
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
Our new API implementation will need this.
|
| | |
|
| |
|
|
|
| |
Remove redundant {} from construction of NextStepImpl::Finished.
(We kept these in the previous commit to reduce the size of the diff there.)
|
| |
|
|
|
|
|
|
| |
We never say both "finished" and "reply". Make this explicit.
Our new caller API is going to depend on this.
Also, notice if the implementation's behaviour implies an infinite
loop, and call that an internal error instead.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This separates the public API from the internal API, which will allow
us to do more work centrally, and defend against various bugs on both
sides.
The name mirrors a new `NestStep` type we'll introduce as part of a
new caller API.
For now, we make only one centralisation change: Action.drain is now
computed centrally rather than ad-hoc in each protocol implementation
branch.
|
| |
|
|
|
|
|
|
|
|
|
| |
This deduplicates some docs and eliminates the two wrapper functiosn
for `run_handshake`, which is now just `handshake`.
We're going to make other API breaks too, and this isn't going to be
the primary API, so we might as well do this.
Proper description of the semver breakage will come at the end when
it's all done.
|
| |
|
|
|
|
| |
Speak of "peer" rather than being specific. Also, fix a copypaste
mistake: `SocksClientHandshake::handshake`'s doc says it's about
`SocksProxyHandshake`. Instead just speak of the "handshake".
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Code flow changes:
* We always construct the Reader, even on paths where we didn't
previously. That's fine because it's infallible and has no side
effects.
* In proxy.rs, the quirk with `input[0]` has gone away.
We can use the supplied `Reader` and peek the first byte.
No overall functional change.
|
| |
|
|
|
|
|
|
|
|
|
| |
This centralises the handling of return values, and paves the way for
further deduplication. (The two return paragraphs were identical.)
There's quite a lot of initial API surface to framework.rs. Some of
that is going to be hidden, but we're also going to extend this to do
more work.
No functional change.
|
| |
|
|
|
|
|
|
|
| |
deprecated
Incomplete is a better name.
This lets us use Truncated for the old, deprecated, conflation of
"Incomplete" with what is now "MissingData".
|
| |
|
|
|
|
|
| |
Here we add the constructor, and document it, and change the call
sites.
No functional change yet.
|
| |
|
|
| |
This will allow us to fix #1592, but it doesn't do so yet.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
| |
Actually, to avoid making a breaking change, I'm deprecating
BadMessage and creating a new InvalidMessage variant that takes a
Cow. This way I don't need to track every crate that re-exposes
tor_bytes::Error and call this a breaking change in those.
Making this change will allow tor_bytes errors to be much more
helpful.
|
| |
|
|
|
| |
This panics on error, and we're fine with a panic on misbehavior in
tests.
|
| |
|
|
|
| |
This is precisely the result of running the rune in
maint/adhoc-add-lint-blocks.
|
| |
|
|
|
| |
Per a suggestion from Diziet, clarify that the socks handshake code
only wants you to drain your buffers when it tells you to.
|
| |
|
|
|
| |
Previously we would report it as authenticating using the empty
string.
|
| | |
|
|
|
Retain "SocksHandshake" as a deprecated synonym.
Also, make an (on-by-default) feature for SocksProxyHandshake.
(There is about to be a SocksClientHandshake as well.)
|