summaryrefslogtreecommitdiff
path: root/crates/tor-hsrproxy
Commit message (Collapse)AuthorAgeFilesLines
* Bump minor versions in preparation for releaseNick Mathewson2023-12-041-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This crate is new, and gets a bump to 0.1.0. tor-log-ratelim This crate had a breaking change: tor-persist tor-llcrypto had a breaking change. These crates _are_ tor-llcrypto, or (transitively) depend on it. I am assuming that they all re-expose something from it in a way that matters: tor-llcrypto tor-bytes tor-hscrypto tor-socksproto tor-checkable tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-consdiff tor-netdir tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr tor-keymgr tor-hsclient tor-hsservice tor-hsrproxy arti-client arti-rpcserver arti-hyper
* Bump patchlevel versions in preparation for releaseNick Mathewson2023-12-041-3/+3
| | | | | | | | | | | | | | | These crates had backward-compatible changes, and get a patchlevel bump only: fs-mistrust tor-error tor-config tor-rtcompat tor-rtmock This crate exposes no non-CLI APIs, and gets a patchlevel bump only: arti
* Merge branch 'msrv-bump-1.70' into 'main'Ian Jackson2023-11-301-1/+1
|\ | | | | | | | | Increase our MSRV to 1.70 See merge request tpo/core/arti!1773
| * In every crate, change rust-version to 1.70.Nick Mathewson2023-11-281-1/+1
| |
* | hsrproxy: Allow ports to be specified as integersNick Mathewson2023-11-291-5/+23
| | | | | | | | | | | | Previously, we required the user to specify a pattern matching a single port as `"80"`, with quotes. Now we allow the user to omit the quotes.
* | Revert "hsrproxy: Temporarily change the format of ProxyRule."Nick Mathewson2023-11-292-76/+8
|/ | | | | | | | | | | This reverts commit 21605d2c9e601c3a5099bfd8d8c887cbb3b36c0a. We're doing this because we wanted the configuration of proxy rules to be a 2-tuple, as in `[ "22", "127.0.0.1:22" ]`. But `config` couldn't handle that before, so we temporarily changed it to a string, as in "22 => 127.0.0.1:22". Closes #1058.
* Merge remote-tracking branch 'public/hs_begin'Nick Mathewson2023-11-161-4/+5
|\
| * hsrproxy: Document what we check about begin messagesNick Mathewson2023-10-231-1/+2
| | | | | | | | | | | | | | Specifically, we check nothing except the port. This matches the behavior of C-tor and the documentation in torspec!179.
| * hsrproxy: Send back DONE reasons.Nick Mathewson2023-10-231-3/+3
| | | | | | | | | | This is in keeping with the behavior of C tor, and of torspec!179.
* | Remove semver.md files from arti 1.1.10Nick Mathewson2023-10-311-1/+0
| |
* | Remove "publish=false" from tor-hsrproxy.arti-v1.1.10Nick Mathewson2023-10-311-2/+0
| |
* | Patch version bumps in crates without breaking changesNick Mathewson2023-10-311-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` These crates have new APIs: tor-async-utils ADDED tor-config ADDED tor-hscrypto ADDED tor-netdoc ADDED, plus BREAKING-experimental. These crates have patch-level changes only: tor-netdir (bugfix only). (re-exposes netdoc) arti-rpcserver (tweaks only, uses nothing that broke.) arti 1.1.10, no stable public APIs. ```
* | Minor version bumps in crates with breaking changes.Nick Mathewson2023-10-311-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ``` tor-basic-utils BREAKING tor-rtmock BREAKING. tor-cert BREAKING tor-cell BREAKING tor-proto BREAKING: re-exposes cell. (Also BREAKING-experimental) tor-chanmgr BREAKING: Re-exposes proto. tor-ptmgr BREAKING: re-exposes tor-chanmgr tor-guardmgr BREAKING: re-exposes proto. (Only for ClockSkew I think?) tor-circmgr BREAKING: re-exposes proto tor-dirclient BREAKING tor-hsclient BREAKING, re-exposes proto. tor-hsservice BREAKING, re-exposes proto. tor-hsrproxy BREAKING arti-client BREAKING: re-exposes proto. arti-hyper: BREAKING, re-exposes arti-client. tor-dirmgr Let's assume BREAKING, very high-level. tor-keymgr BREAKING, but experimental. ```
* | Run "fixup-features" in preparation for release this week.Nick Mathewson2023-10-291-1/+1
|/
* oneshot: Apply deferred rustfmt churnIan Jackson2023-10-111-3/+3
| | | | cargo fmt, precisely.
* oneshot: Use veneer in tor-hsrproxyIan Jackson2023-10-112-1/+3
|
* Merge branch 'configure_onion_service_part2' into 'main'Nick Mathewson2023-10-112-3/+102
|\ | | | | | | | | Non-working attempt to test onion service configuration. See merge request tpo/core/arti!1640
| * hsrproxy: Temporarily change the format of ProxyRule.Nick Mathewson2023-10-101-6/+76
| | | | | | | | | | | | | | | | | | Since config-rs has a bug breaking its support for nested arrays (see discussion at !1640), we're temporarily changing the format to a single string with a "=>" in the middle. I've opened #1058 to put things back as they were once config-rs is fixed.
| * Non-working attempt to test onion service configuration.Nick Mathewson2023-10-032-1/+30
| | | | | | | | | | | | | | The problem here is that, for some reason, the proxy_rule configuration doesn't actually work. I suspect a bug in Flatten, since the same configuration works fine if you pass it to the hsrproxy config directly.
* | Note reconfigure limitations.Nick Mathewson2023-10-051-0/+4
| |
* | hsrproxy: Add "how" to reconfigure.Nick Mathewson2023-10-052-1/+10
| | | | | | | | Our reconfigure methods take these by convention.
* | hsrproxy: add a note about a future warning.Nick Mathewson2023-10-041-0/+2
|/
* hsrproxy: fix a rustdoc link.Nick Mathewson2023-10-031-1/+1
|
* hsproxy: fix a documentation link.Nick Mathewson2023-10-031-1/+1
|
* hsrproxy: Make configs and builders implement more traits.Nick Mathewson2023-10-032-2/+7
|
* hsrproxy: remove allow(dead_code).Nick Mathewson2023-10-031-2/+0
|
* 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
|