| Commit message (Collapse) | Author | Age | Files | Lines |
| |\
| |
| |
| |
| |
| |
| | |
Set socket buffer sizes (`SO_SNDBUF` and `SO_RCVBUF`) for proxy sockets
Closes #2500
See merge request tpo/core/arti!3957
|
| | | |
|
| | | |
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds the trait type `ListenOptions` to `NetStreamProvider` and adds
this `ListenOptions` as an argument to `NetStreamProvider::listen()`.
You probably want to look at the changes in tor-rtcompat first, then the
rest of this commit is updating the various places we use
`NetStreamProvider`.
|
| |\ \
| | |
| | |
| | |
| | |
| | |
| | | |
Make all TorClient constructors wrap the TorClient in an Arc.
Closes #2469
See merge request tpo/core/arti!3990
|
| | |/
| |
| |
| |
| |
| | |
This is part of rationalizing the structure of TorClient so we can
refactor startup logic, and so that RPC code can reason about object
identity. See #2469.
|
| |/
|
|
| |
Fixes `cargo clippy --locked --all-features -p arti`
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
| |
This option affects all socks listeners, because:
- We don't have a convenient way to associate an option with each
port.
- The main purpose of having this option is as a switch in case we
discover a major problem with this code.
|
| | |
|
| |
|
|
|
| |
Instead of doing this when we construct the listeners, we can do it
in a separate method, to simplify the return type.
|
| |
|
|
| |
Part of #2301.
|
| | |
|
| | |
|
| |
|
|
|
|
|
| |
This isn't the long-term solution to error reporting and proxies,
but it is a start that we can work from.
Closes #2304.
|
| | |
|
| |
|
|
|
|
| |
Fixes bug introduced in 0cc367b9fef37c0f7d7f04d54c4687b27ef251d0.
Without this fix, RPC's get_proxy_info command wouldn't work.
|
| |
|
|
|
| |
This allows applications to find out where arti is listening when
arti has been configured to listen with the port "auto".
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Previously, the proxy and dns modules only had "be a proxy"
functions that ran forever. Now they have functions that bind to
listeners and return a separate "be a proxy" future that runs
forever.
This lets us simplify some kludges in subcommands::proxy. More
importantly, it will let us return the bound-to ports so that
subcommands::proxy can write them to disk.
This is a break in experimental-apis, which does not require a
semver change.
|
| | |
|
| | |
|
| |
|
|
| |
Assumes that 0.37.0 will be the next version number.
|
| | |
|
| |
|
|
| |
Part of prop368.
|
| | |
|
| |
|
|
|
|
|
|
| |
This change lets us avoid spawning extra tasks (due to one-direction
nature of copy_interactive), and avoid some lock contention (due to
use of AsyncReadExt::split).
Addresses part of #786.
|
| |\
| |
| |
| |
| |
| |
| | |
arti: Revise strings that implied that we were a SOCKS-only proxy.
Closes #2225
See merge request tpo/core/arti!3398
|
| | | |
|
| | |
| |
| |
| | |
Closes #2225
|
| | | |
|
| |/
|
|
|
|
|
| |
Apparently the http_connect refactoring made these no longer
trigger.
Closes #2226
|
| |
|
|
|
|
| |
We can't remove them all, since X-Tor-Stream-Isolation is recognized
by C-Tor. I've added a non-deprecated Tor-Stream-Isolation
that works indepenently.
|
| | |
|
| | |
|
| |
|
|
|
|
|
|
|
|
|
| |
With his commit, our SOCKS ports now accept both SOCKS
and HTTP CONNECT requests, per proposal 365.
There are still some infelicities, marked with
"XXXX" or "TODO".
I've tested this with curl, though, and it works. :)
Typo-fixes-by: Gabriela Moldovan <[email protected]>
|
| |
|
|
|
| |
This will let us speak HTTP CONNECT as well; there is a stub
for initiating an http proxy.
|
| |
|
|
| |
This will let us implement bilingual HTTP proxies.
|
| |
|
|
| |
This is _all_ renaming and comment adjustments.
|
| |
|
|
|
|
|
|
|
| |
We want to abstract every part of this code that knows that it's
speaking SOCKS, so that we can in turn add a new proxy type.
Note that several methods and types here have names that are no
longer appropriate for their functionality. I'll revise those in a
later commit.
|
| |
|
|
|
| |
(I'm not sure why this wasn't already done, but let's do it as a
separate MR.)
|
| |
|
|
| |
I'm about to add another proxy type.
|
| | |
|
| |
|
|
|
| |
This does not constitute any kind of stable API promise.
But it might allow people to use our arti client code in novel ways.
|
| | |
|
| | |
|
| | |
|
| |
|
|
|
| |
I'm not in love with this solution; the others just seem a bit ugly
too.
|
| |
|
|
|
|
|
|
|
|
|
| |
At least by default, we should have Error be private, and not expose
it as part of our APIs.
To keep functionality in `arti`, I had to add an `ExitTimeout` error
kind.
For interface consistency, I also re-exported ErrorKind and HasError
from `arti_client`.
|