summaryrefslogtreecommitdiff
path: root/crates/tor-hsrproxy
Commit message (Collapse)AuthorAgeFilesLines
* Minor-version bumps, for crates with breaking changes.Nick Mathewson2023-10-021-1/+1
|
* Patchlevel bumps, with dependents affected.Nick Mathewson2023-10-021-4/+4
|
* Run "fixup-features" on arti crates.Nick Mathewson2023-10-021-1/+1
|
* tor-hsrproxy: Fix relative documentation warningEmil Engler2023-09-301-2/+2
| | | | | This commit fixes a warning in the documentation, caused by an unresolved name.
* hsrproxy: detect shutdown correctly.Nick Mathewson2023-09-271-6/+23
|
* hsrproxy: improve error handling somewhatNick Mathewson2023-09-272-34/+113
| | | | | With this patch we now propagate errors upwards rather than handling them at the lowest possible level.
* rproxy: Implement the actual "proxy" part of the code.Nick Mathewson2023-09-271-10/+78
| | | | | Now we finally have the code to copy the data back and forth on the two AsyncRead+AsyncWrite objects that we create.
* hsrproxy: Implement more of the proxy functionalityNick Mathewson2023-09-272-4/+138
|
* hsrproxy: Start to sketch out an rproxy implementation.Nick Mathewson2023-09-274-0/+79
|
* hsrproxy: rename Direct => Simple.Nick Mathewson2023-09-191-21/+24
|
* hss: Rename ProxyTarget to ProxyAction.Nick Mathewson2023-09-191-16/+16
|
* hsproxy: Revise configuration based on discussionNick Mathewson2023-09-191-41/+95
| | | | | | | We now have a single ProxyTarget action for the case where we accept a request and forward it: `Forward`. It takes an encapsulation method (currently only "direct") and a target address which can be inet or unix.
* hsrproxy: test actual outputs of builder.Nick Mathewson2023-09-191-1/+10
|
* hsproxy: reject configurations with unreachable patterns.Nick Mathewson2023-09-192-3/+53
| | | | | | | This implementation uses rangemap to detect _all_ unreachable patterns, which might be a little overkill, but it's actually simpler to write it this way than to use an O(N^2) search to make sure that no pattern is covered by a _single_ previous pattern.
* hsrproxy: Say "one", not "single" to avoid confusion.Nick Mathewson2023-09-191-1/+1
|
* hsrproxy: repair emptyportrange behaviorNick Mathewson2023-09-071-0/+2
|
* hsproxy: add TODO link to thread.Nick Mathewson2023-09-071-0/+3
|
* hsprproxy: add note about possible validation stepNick Mathewson2023-09-071-0/+2
|
* hsrproxy: tests for (not accepting) legacy ipv4 formatsNick Mathewson2023-09-071-0/+17
|
* hsrproxy: Add todos about udp and haproxyNick Mathewson2023-09-071-1/+9
|
* hsrproxy: Refactor ProxyPattern to use RangeInclusive.Nick Mathewson2023-09-071-50/+33
| | | | | Also, allow nonempty ranges starting with 0- and implement Eq and PartialEq.
* hsrproxy: Make config member pub(crate).Nick Mathewson2023-09-071-1/+1
|
* hsrproxy: implement builders and serde.Nick Mathewson2023-09-072-5/+75
|
* hsrproxy: implement parse/encode for patterns and targets.Nick Mathewson2023-09-072-5/+257
|
* Create a tor-hsrproxy crate to handle "proxy to local port".Nick Mathewson2023-09-074-0/+134
I'm calling this a "reverse proxy" since I think a lot of folks like that terminology, though I'm not personally a huge fan. Calling it "`tor-hsproxy`" would IMO confuse people more about what kind of proxy it was. This is a separate crate from `tor-hsservice` because it's logically at a different level: if you're writing a little embedded onion service, you don't need this code. Right now there is only configuration logic here.