Commit Graph

3970 Commits

Author SHA1 Message Date
Ian Jackson bb3dbb0764 Merge branch 'onion-service-fixup' into 'main'
Fix compilation of EstablishInto encoding.

See merge request tpo/core/arti!640
2022-07-22 14:51:01 +00:00
Nick Mathewson bc75e6402b Fix compilation of EstablishInto encoding.
It was based on the old `Writeable` API.
2022-07-22 10:30:01 -04:00
eta 274bfb94c7 Merge branch 'hs-cells' into 'main'
Implement ESTABLISH_INTRO relay cell

See merge request tpo/core/arti!626
2022-07-22 13:42:50 +00:00
Nick Mathewson 4f7c63adea Merge branch 'arti_client_error_cleanup' into 'main'
Clean-ups to error variants in arti-client

See merge request tpo/core/arti!637
2022-07-21 13:48:37 +00:00
Nick Mathewson 6039461a8a arti-client: Split "Persist" into setup and access variants. 2022-07-21 09:08:33 -04:00
Nick Mathewson fb558fdfb5 arti_client: turn "Proto" error into StreamFailed. 2022-07-21 09:08:33 -04:00
Nick Mathewson 4a97ad4632 arti_client: Split DirMgr error into useful types. 2022-07-21 09:08:33 -04:00
Nick Mathewson fd56ec9698 arti-client: minor edits in error messages and comments 2022-07-21 09:08:33 -04:00
eta 75b1801156 Merge branch 'phf_min_vers' into 'main'
Downgrade phf back to 0.10

See merge request tpo/core/arti!636
2022-07-20 19:07:49 +00:00
Nick Mathewson cf02d9990c Also downgrade serde_with: Version 2.0 requires Rust 1.60 2022-07-20 11:45:19 -04:00
Nick Mathewson 3ad312320e Downgrade phf back to 0.10
It turns out that phf 0.11 depends on Rust 1.60, which is above our
MSRV.
2022-07-20 10:48:28 -04:00
eta 87f4f6a152 Merge branch 'unicode-license' into 'main'
Teach check_licenses to accept license on `unicode-ident`.

See merge request tpo/core/arti!635
2022-07-20 14:32:54 +00:00
Nick Mathewson 275c98940a Teach check_licenses to accept license on `unicode-ident`.
The license there is `(MIT OR Apache-2.0) AND Unicode-DFS-2016`,
which fine, but the existing shell script doesn't actually handle
"AND" correctly.  This commit adds a workaround for licenses that
are "AND", and some comments about weaknesses in our (lack of)
boolean expression parsing.

This should fix CI.
2022-07-20 09:40:12 -04:00
eta a2cb2664bb Merge branch 'permission-var' into 'main'
disable-fs-permission-checks: remove variable from help message

See merge request tpo/core/arti!633
2022-07-20 13:25:30 +00:00
Nick Mathewson 393147e55e Run "cargo update" in preparation for next week's releases. 2022-07-20 08:37:13 -04:00
Jim Newsome 0c82c3f885 disable-fs-permission-checks: remove variable from help message
This option doesn't take an argument. This change drops the argument
from the `--help` message.
2022-07-19 16:04:01 -05:00
Nick Mathewson 131d880c7f Upgrade to latest phf, serde_with, serial_test. 2022-07-19 16:49:44 -04:00
Nick Mathewson 052f3089ca Bump to rusqlite 0.28. 2022-07-19 16:49:44 -04:00
Nick Mathewson 414939bf8c Merge branch 'mistrust-envvar' into 'main'
Move environment-variable checking into fs-mistrust

Closes #483

See merge request tpo/core/arti!630
2022-07-19 20:46:47 +00:00
Nick Mathewson 6f1de00369 Merge branch 'fallible_writers_v2' into 'main'
Revise tor_bytes::Writer::write to return a Result.

Closes #513

See merge request tpo/core/arti!623
2022-07-19 20:29:15 +00:00
eta b96fcd91f2 Merge branch 'eq' into 'main'
tor-cell: Derive Eq for NtorV3Extension

See merge request tpo/core/arti!631
2022-07-19 19:50:51 +00:00
eta d6b0116b71 Apply 1 suggestion(s) to 1 file(s) 2022-07-19 19:33:15 +00:00
Nick Mathewson d2b64642e1 fs-mistrust: accept "n" as "no". 2022-07-19 15:29:24 -04:00
Ian Jackson d89758ace2 Semver tweaks from review.
These aren't user facing comments, but getting them
right will help us write better changelogs.
2022-07-19 15:29:24 -04:00
Nick Mathewson 222d1fea5e arti-client: Remove code related to overriding fs-mistrust.
This logic can now be adjusted via the config object so that it does
its own overriding by looking at the environment as appropriate.
Removing these methods helps simplify the code a bit.

Enabled by #483.
2022-07-19 15:29:24 -04:00
Nick Mathewson f1d99317bd Arti: Use synthetic argument to implement --disable-fs-permission-checks
Now that configuring the environment variables related to fs
permissions works properly, we don't need to use the "override"
feature any more: we can just add the option to the configuration
when appropriate.

With this design, `--disable-fs-permission-checks` is now mostly an
alias for
`--option storage.permissions.dangerously_trust_everyone=true`

Enabled by #483.
2022-07-19 15:21:09 -04:00
Nick Mathewson 8563635a29 Move responsibility for disable-fs-mistrust envvar.
The variable is now handled when building the configuration, and no
longer needs to be special-cased.

Closes #483.
2022-07-19 15:21:09 -04:00
Nick Mathewson 03b5efbd6e fs-mistrust: API to disable based on environment
By default we look at `$FS_MISTRUST_DISABLE_PERMISSIONS_CHECKS`.

Optionally, the user can provide another variable as well, or
disable looking at the environment entirely.
2022-07-19 15:21:09 -04:00
Ian Jackson 76285d8a2e Merge branch 'dormant' into 'main'
Make dormant be a postage::watch

See merge request tpo/core/arti!632
2022-07-19 18:24:05 +00:00
Ian Jackson 44402f722e tor-basic-utils: Add a test for DropNotifyWatchSender 2022-07-19 19:04:34 +01:00
Ian Jackson c7933de0ab tor-basic-utils: Add ref to upstream issue re drop 2022-07-19 19:00:23 +01:00
Ian Jackson bd41e29f33 tor-basic-utils: Add comment about lack of race
In answer to
  https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/632#note_2822107

I think this is subtle enough that it deserves a comment.
2022-07-19 17:21:22 +01:00
Yuan Lyu 248e6136bd
Implement ESTABLISH_INTRO relay cell 2022-07-18 21:22:43 -04:00
Ian Jackson cb982183f9 arti-client: Do periodic task dormancy in a management task
This means that it is no longer possible to write code which updates
the dormant mode but forgets to notify the periodic tasks.
2022-07-18 18:13:13 +01:00
Ian Jackson 2d3f4493a4 arti-client: Make dormant_mode be an Option, None on drop
This will allow receivers (which we are about to introduce) to
terminate when the last client is dropped.
2022-07-18 18:13:13 +01:00
Ian Jackson bc498bc7a0 arti-client: Provide DropNotifyWatchSender
There are going to be some tasks (well, right away, one task) which
will want to go away when the sender is dropped.

The docs in postage are silent, but postage::Sender does not
have a Drop impl so I don't think we can rely on the Receivers getting
None from their Stream impl.

So we're going to have the watch send Options, which are None only
when the sender is dropped.
2022-07-18 18:13:13 +01:00
Ian Jackson 9146a03533 arti-client: Convert dormant_mode into a postage::watch
We are going to want to be able to wake up other tasks elsewhere in
Arti, that need to know about dormancy.  We will give them a postage
watch Receiver.

Right now there are no such things yet.
2022-07-18 18:13:13 +01:00
Ian Jackson 9287e009cc arti-client: Make DormantMode have a Default 2022-07-18 18:13:13 +01:00
Ian Jackson f8170a9c48 arti-client: Add Bug variant to error
We're going to want this in a moment.
2022-07-18 18:13:13 +01:00
Ian Jackson 7acdd21750 Provide maybe_send on postage::Sender, via extension trait
We need to replace the AtomicBool for dormant mode with something that
can wake up tasks.  postage::watch is the right shape.

But we want to be able to update it but suppress no-op updates.
(There is going to be a call site where no-op updates can occur.)

In the absence of a suitable upstream method as requested here
  https://github.com/austinjones/postage-rs/issues/56
we introduce this facility via an extension trait.
2022-07-18 18:13:13 +01:00
Ian Jackson bcf94f33e0 tor-cell: Derive Eq for NtorV3Extension
Apropos clippy complaint.
2022-07-18 17:49:59 +01:00
Nick Mathewson 8d66f8ecd0 Merge branch 'dirmgr_error_cleanup' into 'main'
Clean up some errors in tor-dirmgr

Closes #521

See merge request tpo/core/arti!628
2022-07-18 14:40:11 +00:00
Nick Mathewson 3c424c82d7 dirmgr: Add a helper to create LockFile errors. 2022-07-18 10:10:28 -04:00
Nick Mathewson 26bfc5d061 Merge branch 'unused' into 'main'
tor-persist: Resource::Temporary: Mark with cfg

See merge request tpo/core/arti!629
2022-07-18 13:52:13 +00:00
Ian Jackson b7de46958d tor-persist: Resource::Temporary: Mark with cfg
Without this, some builds get a "variant is never constructed" warning.
2022-07-18 13:07:30 +01:00
Ian Jackson 44f37b2d07 Merge branch 'cirmgr_error_cleanup' into 'main'
Clean-ups in circmgr errors

See merge request tpo/core/arti!625
2022-07-15 15:58:44 +00:00
Nick Mathewson 9d3beb34a3 Bump tor-dirmgr to version 0.5.1.
This does not require a change in any other crate, since
the change here does not affect tor-dirmgr's APIs.
2022-07-14 12:00:42 -04:00
Nick Mathewson eaf0733a6c Changelog for tor-dirmgr 0.5.1 2022-07-14 12:00:08 -04:00
Nick Mathewson c983987782 dirmgr: Make UnrecognizedSchema more helpful 2022-07-14 09:53:17 -04:00
Nick Mathewson 8cbc740d90 dirmgr: Add an instance of BadUtf8InCache 2022-07-14 09:32:01 -04:00