aboutsummaryrefslogtreecommitdiff
path: root/crates/arti
Commit message (Collapse)AuthorAgeFilesLines
...
* RPC: Move the "listen" part of the RPC listener code to `arti`.Nick Mathewson2023-05-044-23/+132
| | | | | | | | | Now there's a module in `arti` that runs the loop for an RPC listener. The part of the old `listener` module that made the framed connections is now part of the `Session` object. There is now yet another a temporary location for the pipe; we should pick something better. At least now it's configurable.
* rpc: Make an RpcMgr type to own the DispatchTable.Nick Mathewson2023-05-041-1/+3
| | | | | | | | | In the future, this will probably hold more data as well, like a TorClient and some configuration info. The TorClient will present an issue; I've made comments about that. Closes #820
* Upgrade tracing to 0.1.36.Nick Mathewson2023-05-031-1/+1
| | | | | | This is the first version to impl Value for String. With luck, this will get minimal_versions CI passing.
* Increment crate versions.Nick Mathewson2023-05-031-9/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Because of the errorkind bumps, we're calling this a breaking change in everything lower-level than `arti`. Generated with: ``` cargo set-version -p tor-basic-utils --bump minor cargo set-version -p tor-async-utils --bump minor cargo set-version -p caret --bump minor cargo set-version -p fs-mistrust --bump minor cargo set-version -p safelog --bump minor cargo set-version -p retry-error --bump minor cargo set-version -p tor-error --bump minor cargo set-version -p tor-config --bump minor cargo set-version -p tor-events --bump minor cargo set-version -p tor-units --bump minor cargo set-version -p tor-rtcompat --bump minor cargo set-version -p tor-rtmock --bump minor cargo set-version -p tor-rpcbase --bump minor cargo set-version -p tor-llcrypto --bump minor cargo set-version -p tor-protover --bump minor cargo set-version -p tor-bytes --bump minor cargo set-version -p tor-hscrypto --bump minor cargo set-version -p tor-socksproto --bump minor cargo set-version -p tor-checkable --bump minor cargo set-version -p tor-cert --bump minor cargo set-version -p tor-linkspec --bump minor cargo set-version -p tor-cell --bump minor cargo set-version -p tor-proto --bump minor cargo set-version -p tor-netdoc --bump minor cargo set-version -p tor-consdiff --bump minor cargo set-version -p tor-netdir --bump minor cargo set-version -p tor-congestion --bump minor cargo set-version -p tor-persist --bump minor cargo set-version -p tor-chanmgr --bump minor cargo set-version -p tor-ptmgr --bump minor cargo set-version -p tor-guardmgr --bump minor cargo set-version -p tor-circmgr --bump minor cargo set-version -p tor-dirclient --bump minor cargo set-version -p tor-dirmgr --bump minor cargo set-version -p tor-hsclient --bump minor cargo set-version -p tor-hsservice --bump minor cargo set-version -p arti-client --bump minor cargo set-version -p arti-rpcserver --bump minor cargo set-version -p arti-config --bump minor cargo set-version -p arti-hyper --bump minor cargo set-version -p arti --bump patch cargo set-version -p arti-bench --bump patch cargo set-version -p arti-testing --bump patch ```
* Update our secmem_proc dependency to 0.3.0Nick Mathewson2023-04-132-2/+2
| | | | | | (This wasn't possible before we updated our MSRV to 1.65.) Closes #664.
* rpc: Add a demonstration feature to "arti"Nick Mathewson2023-04-122-1/+31
| | | | | | | | It's experimental, and tokio-only. To enable it, build with the "rpc" feature turned on, and connect to `~/.arti-rpc-TESTING/PIPE`. (`nc -U` worked for me) I'll add some instructions.
* Reformat arti/Cargo.tomlNick Mathewson2023-04-121-9/+1
| | | | (This is what my editor wants to do to it.)
* Increment MSRV to 1.65 in every crate.Nick Mathewson2023-04-111-1/+1
|
* arti: Explain correct location of OSX config.Nick Mathewson2023-04-101-1/+1
|
* Patchlevel bumps for crates whose dependencies just changed.Nick Mathewson2023-03-311-1/+1
| | | | | | | | | | | | | | | | These crates had no changes until just a moment ago. But since we updated the versions on some of their dependents, they have now changed themselves. Thus they get patchlevel bumps. ``` tor-rtmock tor-protover tor-socksproto tor-consdiff tor-chanmgr tor-dirclient tor-hsservice ```
* Bump crate versions that have breaking changesNick Mathewson2023-03-311-1/+1
| | | | | | | | | | These crates have had breaking changes. They are pre-1.0, so they get a minor bump. ``` tor-basic-utils tor-config ```
* Bump patchlevel on crates with non-breaking changesNick Mathewson2023-03-311-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For these crates, the changes are nontrivial, so we _do_ bump the versions on which their dependent crates depend. Fortunately, since they are all pre-1.0, we don't need to distinguish semver-additions from other changes. (Except for arti, which _is_ post-1.0, but gets a patchlevel bump anyway.) These are unstable crates with breaking changes: ``` tor-hscrypto tor-hsclient ``` These have new or extended APIs: ``` safelog tor-bytes tor-cell tor-linkspec tor-llcrypto tor-proto tor-cert arti-client ``` These have new unstable APIs or features: ``` tor-netdoc tor-circmgr (also broke some unstable APIs) arti (is post-1.0) ``` These have bugfixes only: ``` caret tor-dirmgr ```
* arti: Provide onion-service-client featureIan Jackson2023-03-232-1/+4
| | | | Here I use the name I propose in !1039.
* Patchlevel bumps for remaining changed crates.Nick Mathewson2023-02-281-5/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | These crates have had small code changes, but no API additions: tor-config tor-socksproto tor-cert tor-chanmgr tor-ptmgr tor-guardmgr tor-circmgr tor-dirclient tor-dirmgr arti tor-hsservice tor-congestion These crates have had API extensions: fs-mistrust tor-llcrypto tor-bytes tor-checkable tor-linkspec tor-netdoc tor-persist arti-client
* Upgrade to latest toml crate.Nick Mathewson2023-02-141-1/+1
| | | | (None of the breaking changes affect us this time.)
* Merge branch 'shadykaty-error-hint-v2' into 'main'eta2023-02-071-4/+11
|\ | | | | | | | | | | | | Create and use an ErrorHint type to report how to fix a problem. Closes #579 and #578 See merge request tpo/core/arti!994
| * ErrorHint: Report hints for arti_client errors.Nick Mathewson2023-01-271-4/+11
| |
* | Merge branch 'logs' into 'main'Nick Mathewson2023-02-015-15/+29
|\ \ | | | | | | | | | | | | | | | | | | Report causes of errors Closes #680 See merge request tpo/core/arti!997
| * | Use ErrorReport - run rustfmtIan Jackson2023-01-301-1/+5
| | | | | | | | | | | | Split off for ease of review and possible rebase.
| * | Use tor_error::Report for remaining errors in error! in artiIan Jackson2023-01-301-1/+1
| | |
| * | Apply safelog to DNS response serialisation errors, but report themIan Jackson2023-01-301-5/+11
| | | | | | | | | | | | | | | | | | With safe logging disabled, print the error too. With safe logging enabled, do not print the message or the error.
| * | Use ErrorReport/Report for errors in warn! in artiIan Jackson2023-01-305-9/+13
| |/
* | Bump the patch version of every crate that had API additionsNick Mathewson2023-02-011-4/+4
| | | | | | | | | | | | 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-3/+3
|/ | | | | | | 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-271-0/+1
| | | | | This panics on error, and we're fine with a panic on misbehavior in tests.
* Disable clippy::unlinlined-format-argsNick Mathewson2023-01-272-0/+2
| | | | | | | | 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-251-1/+1
| | | | | | | 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.)
* Upgrade to latest rlimit crate.Nick Mathewson2023-01-191-1/+1
|
* resolve ip through socks by parsing themtrinity-1686a2023-01-031-15/+25
|
* Merge branch 'optional-deps-static' into 'main'eta2022-12-051-1/+2
|\ | | | | | | | | | | | | make use of 1.60 weak dependancy features Closes #434 See merge request tpo/core/arti!920
| * make use of 1.60 opt dependancy featurestrinity-1686a2022-11-301-1/+2
| |
* | Bump the minor version of every crate.Nick Mathewson2022-11-301-8/+8
|/ | | | | We made this job easy this time around: by incrementing our MSRV, we have forced ourselves to do at least a minor bump everywhere.
* arti: transports parsing: Record this as a ticketIan Jackson2022-11-301-4/+3
|
* arti, arti-client: Conditionalise various things on pt-clientIan Jackson2022-11-291-0/+1
|
* arti cfg tests: Add some more debug outputIan Jackson2022-11-291-0/+1
|
* bridge non-support: Test that we reject configsIan Jackson2022-11-211-4/+19
|
* bridge non-support: De-cfg the primary bridge config fieldsIan Jackson2022-11-211-3/+0
| | | | | | | | | | | | | | | | | | | | We now parse the `bridges.enabled` BoolOrAuto, and the `bridges.bridges` list. The `bridges.bridges` list is Vec<()> in the builder, and Vec<Void> in the built config. Ie, it is simply a count, and vanishes in the built config. But this count triggers us to try to call build(), to try to parse bridges, and to try to set and honour the enablement boolean. The result is that the type system now ensures that if bridges are disabled, but specified (either by listing them in the config, or writing `enabled=true`), we inevitably try to insist that we have a non-empty Vec<Void>, which is of course impossible. There will be a test case too for those who think this too abstract a way to guarantee this property :-).
* arti cfg test: Break out expect_err_contains functionIan Jackson2022-11-211-9/+15
| | | | | Maybe this will want to be in tor-error or something but put it here for now.
* bridge non-support: Disable the test for nowIan Jackson2022-11-211-0/+1
| | | | | | | | This test will start to fail if you compile without bridge support, because we'll start rejecting the test configurations with bridges specified. We'll add a proper test for this later.
* cfg compilation: Add two allowsIan Jackson2022-11-181-0/+1
|
* Merge branch 'fix_nightly_20221118' into 'main'Ian Jackson2022-11-181-3/+3
|\ | | | | | | | | Fix warnings and breakage in nightly (2022-11-18 edition) See merge request tpo/core/arti!872
| * Fix a bunch of "needless borrow" warnings on nightlyNick Mathewson2022-11-181-3/+3
| | | | | | | | | | It looks like, despite a few false starts, they've got this warning right; there weren't any false positives.
* | arti: Mark bridge and pt support non-experimental, and on-by-defaultNick Mathewson2022-11-182-4/+14
| |
* | arti: Split long lines in Cargo.tomlNick Mathewson2022-11-181-1/+10
|/ | | | This will make the next commit easier to review.
* pt config, arti cfg test: Expect bridges.transports to be missingIan Jackson2022-11-161-2/+9
| | | | | As per https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/823#note_2854365
* arti cfg test: Coalesce expect_missingIan Jackson2022-11-161-0/+22
| | | | | | If there are subkeys which are covered by also expected_missing superkeys, delete them, since we expect the superkey to be missing, so the subkey won't show up.
* tor-ptmgr: make configuration use builders, plumb into arti-clienteta2022-11-161-0/+16
| | | | | | | This brings the draft configuration mechanisms in tor-ptmgr in line with the config in other crates, using builders. It also plumbs the config type through into the main `arti-client` config, and adds some example lines to `arti-example-config.toml`.
* arti cfg test: Document exhaustive_1 and comment exhaustiveIan Jackson2022-11-151-0/+39
|
* arti cfg test: Break out CONFIG_KEYS_EXPECT_NO_EXAMPLEIan Jackson2022-11-151-2/+9
| | | | Giving this a name will allow us to refer to it docs in a moment.
* arti cfg test: Drop a redundant allowIan Jackson2022-11-151-1/+0
| | | | | This allow is also present in the standard lint block at the start of the test inline module.