summaryrefslogtreecommitdiff
path: root/crates/tor-config
Commit message (Collapse)AuthorAgeFilesLines
* Bump the patch version of every crate that had API additionsNick Mathewson2023-02-011-1/+1
| | | | | | These crates had API or behavior changes that may affect downstream crates. Fortunately, they're all version 0.x, and don't need minor bumps for this.
* Bump the patch-level version of crates with _minor_ changes.Nick Mathewson2023-02-011-1/+1
| | | | | | | These changes influence behavior, but not effect compatibility. (If I messed up, and any crate except for `arti` has non-breaking API changes, that's still fine, since they are all version 0.x.)
* Allow clippy::unchecked_duration_subtraction in testsNick Mathewson2023-01-279-0/+9
| | | | | This panics on error, and we're fine with a panic on misbehavior in tests.
* Disable clippy::unlinlined-format-argsNick Mathewson2023-01-271-0/+1
| | | | | | | | This warning kind of snuck up on us! (See #748) For now, let's disable it. (I've cleaned it up in a couple of examples, since those are meant to be more idiomatic and user-facing.) Closes #748.
* Upgrade toml to version 0.6.Nick Mathewson2023-01-252-28/+42
| | | | | | | This required rewriting some of our error handling code in command-line processing, since the toml crate now displays and reports errors differently. (Admittedly, this code still is kind of ugly, but at least it is nicely hidden.)
* Fix typosDimitris Apostolou2023-01-071-1/+1
|
* Merge branch 'test-lints' into 'main'eta2023-01-065-2/+43
|\ | | | | | | | | Add test lint blocks to all "mod test" See merge request tpo/core/arti!937
| * test lint blocks: Add many many automaticallyIan Jackson2022-12-123-0/+25
| | | | | | | | | | This is precisely the result of running the rune in maint/adhoc-add-lint-blocks.
| * test lint blocks: Do some semi-manuallyIan Jackson2022-12-122-2/+18
| | | | | | | | | | | | | | This is the hunks from running the rune in maint/adhoc-add-lint-blocks but which require some subsequent manual fixup: usually, deleting now-superfluous outer allows, but in some cases manually putting back lints that the adhoc script deleted.
* | doc: consistent summary line for the READMEsEmil Engler2022-12-201-1/+1
|/ | | | | This commit introduces a consistency to the summary line of all README.md files in each and every crate.
* Merge branch 'doc-config-must' into 'main'Nick Mathewson2022-12-071-0/+60
|\ | | | | | | | | | | | | tor-config: Document how to reject compiled-out features Closes #654 See merge request tpo/core/arti!929
| * tor-config: Document how to reject compiled-out featuresIan Jackson2022-12-061-0/+49
| | | | | | | | Fixes #654
| * tor-config: Add "particular situations" sections and mention list_builderIan Jackson2022-12-061-0/+11
| |
* | tor-config: Update to shellexpand 3.xIan Jackson2022-12-062-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is the new upstream version (published by me, recently). It has the same MSRV and one breaking change: The caller who specifies a home dir function for substituting into strings, must now supply a string, not Path. Previously shellexpand would allow the caller to supply non-unicode data, and then simply not substitute it. That was an infelicity in the shellexpand API. Now this infelicity is pushed into our code. The overall behaviour of Arti hasn't changed as a result. And it seems reasonable to me. shellexpand 3.x also has a module for expanding Paths instead, in response to requests for this filed as upstream tickets. We *could* use that but I am not sanguine about that approach: the Pathness would spread throughout much of our config and file handling code. I think we should at the very least postpone trying to work with invalid-unicode-paths as long as we can.
* | tor-config: home dir handling: fmt pre-patchIan Jackson2022-12-061-1/+3
|/
* Remove semver.md files now that 1.1.0 is released.Nick Mathewson2022-11-301-2/+0
|
* Bump the minor version of every crate.Nick Mathewson2022-11-301-4/+4
| | | | | We made this job easy this time around: by incrementing our MSRV, we have forced ourselves to do at least a minor bump everywhere.
* tor-basic-utils: list_builder: Use standard test lint blockIan Jackson2022-11-291-0/+8
| | | | This gets rid of a spurious warning on nightly about the use of dbg!
* tor-config MultilineListBuilder: Test deserialisationIan Jackson2022-11-291-0/+45
|
* tor-config MultilineListBuilder: Print line number starting at 1, not 0Ian Jackson2022-11-291-1/+1
|
* tor-config list_builder tests: Move Outer up a levelIan Jackson2022-11-291-19/+19
| | | | We're going to reuse this.
* MultilineListBuilder: Use a manual implementation of DeserializeIan Jackson2022-11-291-2/+52
| | | | | | The error message from `#[serde(untagged)]` would otherwise start to appear when we try to deserialise unsupported PT configurations, when compiled with bridge but not PT support.
* Merge branch 'reconfig-bridges-bad' into 'main'Nick Mathewson2022-11-272-2/+15
|\ | | | | | | | | | | | | Require state ownership when using bridges Closes #612 See merge request tpo/core/arti!889
| * tor-config: Rename to ReconfigureError::UnsupportedSituationIan Jackson2022-11-242-1/+2
| | | | | | | | | | | | | | | | From Unsupported. Prompted by https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/889#note_2856873 This was added in this MR. Also add the missing semver note.
| * tor-config: Rename to ConfigBuildError::NoCompileTimeSupportIan Jackson2022-11-242-2/+3
| | | | | | | | | | | | | | | | | | From Unsupported. Following one of the suggestions here https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/889#note_2856873 This was added in 2c3711614908d0c9cf1663b20b67a3fc233301f4 which was not yet in a release so this isn't a semver break. I have added the semver note that was omitted in that MR.
| * tor-guardmgr: Refuse to configure bridges if we don't have the lockIan Jackson2022-11-231-0/+11
| | | | | | | | Fixes #612
* | Merge branch 'stability' into 'main'Nick Mathewson2022-11-231-8/+0
|\ \ | |/ |/| | | | | arti-client, tor-config: Remove stability warning from top-level docs See merge request tpo/core/arti!878
| * arti-client, tor-config: Remove stability warning from top-level docsIan Jackson2022-11-211-8/+0
| | | | | | | | | | | | | | Ticket #285 is closed and most of this is stable now we think. (There are still a couple of stability warnings for specific types in tor-config, which aren't exposed at the arti-client level.)
* | tor-config: introduce ConfigBuildError::UnsupportedIan Jackson2022-11-211-0/+14
| | | | | | | | And use it in bridge configuration parsing.
* | tor-config: ConfigBuildError::within: Introduce add_prefixIan Jackson2022-11-211-3/+4
| |
* | Make the bridge list in the builder be a list of BridgeConfigBuilderIan Jackson2022-11-211-26/+24
| | | | | | | | By changing MultilineListBuilder.
* | tor-basic-utils: list_builder: Introduce DirectDefaultEmptyListBuilderAccessorsIan Jackson2022-11-211-0/+63
|/ | | | | This trait can have this ludicrously long name because no-one needs to import it.
* Fix a bunch of "needless borrow" warnings on nightlyNick Mathewson2022-11-181-1/+1
| | | | | It looks like, despite a few false starts, they've got this warning right; there weren't any false positives.
* bump rust-version to 1.60 in every crate.Nick Mathewson2022-11-101-1/+1
|
* Run add_warnings.Nick Mathewson2022-11-031-0/+1
|
* Fix various typos (using typos tool and hand-inspection)Nick Mathewson2022-10-181-1/+1
|
* cargo fmt to remove blank linesIan Jackson2022-10-121-1/+0
| | | | | | | Apparently cargo fmt doesn't like these, which my perl rune didn't delete. This commit is precisely the result of `cargo fmt`.
* Replace all README copies in src/lib.rs with includesIan Jackson2022-10-121-57/+1
| | | | | | | | The feature we want is `#[doc = include_str!("README.md")]`, which is stable since 1.54 and our MSRV is now 1.56. This commit is precisely the result of the following Perl rune: perl -i~ -0777 -pe 's{(^//!(?!.*\@\@).*\n)+}{#![doc = include_str!("../README.md")]\n}m' crates/*/src/lib.rs
* Fix error messageNick Mathewson2022-10-121-1/+1
|
* tor-config: Provide MultilineListBuilderIan Jackson2022-10-122-0/+208
| | | | This is what we'll use to parse the `bridges.bridges` config key.
* tor-config: Remove unneeded braces in an exampleIan Jackson2022-10-121-1/+1
|
* tor-config: Provide BoolOrAutoIan Jackson2022-10-121-0/+107
| | | | | We're going to use this for the config item `bridges.enabled`, but it seems general enough that it ought to go here.
* tor_config: define_list_builder_helper: Support custom serdeIan Jackson2022-10-121-2/+42
| | | | | | | | We're going to want something that has the standard list builder methods at the Rust API, but which has different serialisation. Sadly the implementation is annoying, because macro_rules makes it hard to parse a nice input syntax.
* Allow "clippy::single_char_pattern" in tests.Ian Jackson2022-10-123-0/+3
| | | | | | | This lint exists for perf reasons, and this is rarely relevant in tests. Using double quoted str is generally cognitively less burdensome.
* tor-config: CfgPath: Fix two typos "expaneded"Ian Jackson2022-10-111-2/+2
|
* CfgPath: Add support for ${PROGRAM_DIR}.Nick Mathewson2022-10-071-2/+42
| | | | | | | | | | | `${PROGRAM_DIR}` expands to the equivalent of `std::env::current_exe().parent()`, with appropriate unwrapping and conversions. It is expected to be useful for finding the locations of pluggable transports in some kinds of bundles. Closes #586.
* Bump crates that have had no API changes.Nick Mathewson2022-10-031-1/+1
|
* fix clippy::needless_borrowtrinity-1686a2022-09-101-1/+1
|
* Remove semver.md from arti-1.0.0Nick Mathewson2022-09-071-12/+0
|
* Bump crate versions in preparation for Arti 1.0.0 release.Nick Mathewson2022-09-011-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because we want to work more on ensuring that our semver stability story is solid, we are _not_ bumping arti-client to 1.0.0 right now. Here are the bumps we _are_ doing. Crates with "minor" bumps have had API breaks; crates with "patch" bumps have had new APIs added. Note that `tor-congestion` is not bumped here: it's a new crate, and hasn't been published before. ``` tor-basic-utils minor fs-mistrust minor tor-config minor tor-rtcompat minor tor-rtmock minor tor-llcrypto patch tor-bytes patch tor-linkspec minor tor-cell minor tor-proto minor tor-netdoc patch tor-netdir minor tor-persist patch tor-chanmgr minor tor-guardmgr minor tor-circmgr minor tor-dirmgr minor arti-client minor arti-hyper minor arti major arti-bench minor arti-testing minor ```