Commit Graph

4194 Commits

Author SHA1 Message Date
Ian Jackson 33e0d67018 Update shellexpand, and switch to non-fork
Now we have bus>1 ownership of the crate name `shellexpand`.  I have
made a release, and retired `shellexpand-fork`.

The new shellexpand release switches to a (quite similarly) unforked
version of `dirs`.
2022-08-05 15:36:47 +01:00
Ian Jackson bf2b444c06 Merge branch 'establish-rendezvous' into 'main'
Implement establish rendezvous cell

See merge request tpo/core/arti!651
2022-08-05 10:46:06 +00:00
Yuan Lyu 25bb25ddcb
Implement establish rendezvous cell 2022-08-05 00:04:42 -04:00
Nick Mathewson e3cc533853 Merge branch 'zeroize' into 'main'
Revise our handling of the zeroize trait

Closes #254

See merge request tpo/core/arti!655
2022-08-04 14:54:21 +00:00
Nick Mathewson 6892cccb6b Merge branch 'delete-unused-import' into 'main'
Delete unused Enum and fileinput in maint file

See merge request tpo/core/arti!660
2022-08-04 14:41:02 +00:00
Nick Mathewson 96d1b500a7 ZeroizeStrategy.md: Clarify which list we're referring to. 2022-08-04 10:26:15 -04:00
Nick Mathewson 39cd6a2dc3 Merge branch 'provide_params_too' into 'main'
Add params() method to NetDirProvider

Closes #528

See merge request tpo/core/arti!658
2022-08-04 14:17:18 +00:00
FAMASoon 817b811560 Delete unused Enum and fileinput in maint file 2022-08-04 22:58:58 +09:00
Nick Mathewson 6ee9535126 guardmgr: Avoid a case of using HasRelayIds key methods. 2022-08-02 14:33:32 -04:00
Nick Mathewson 0bfc92ce8e netdir: Add and use a new ids_listed() function. 2022-08-02 14:32:57 -04:00
Nick Mathewson c291d86311 Avoid a simple usage of ed_identity() in circmgr tests 2022-08-02 14:27:47 -04:00
Nick Mathewson fdfc5f29e3 Introduce HasRelayIds::same_relay_ids.
This method tells if two HasRelayIds contain exactly the same set of
Relay identities, and is generally useful for debugging.
2022-08-02 14:19:00 -04:00
Ian Jackson d523ad495a Merge branch 'inc-rename' into 'main'
Rename `.inc` and other included files to end in `.rs`

Closes #381

See merge request tpo/core/arti!645
2022-08-02 16:48:49 +00:00
Ian Jackson c40130d047 Merge branch 's-micros-millis' into 'main'
tor-rtcompat: s/micros/millis inside a flaky test

Closes #515

See merge request tpo/core/arti!644
2022-08-02 16:47:39 +00:00
Nick Mathewson 0e41913a4c guardmgr: Change APIs that used to take IDs.
These are the other inspiration for #428.
2022-08-02 12:40:57 -04:00
Nick Mathewson 2d32a4602b guardmgr: Replace IdPair with RelayIds
I believe that this was the original motivation behind #428.
2022-08-02 12:40:57 -04:00
Nick Mathewson be7cf7a24b Implement serde traits on RelayIds.
This will allow RelayIds to replace IdPair in tor-guardmgr.  (The
fields are named accordingly with `serde(rename)`.)
2022-08-02 12:40:55 -04:00
Nick Mathewson 9763d8227b netdir: add an accessor that takes a HasRelayIds. 2022-08-02 12:40:25 -04:00
Nick Mathewson b68a3ed5e5 tor-linkspec: Refactor out traits to represent a relay's ID set.
We want the set of identities supported by a relay to be extensible
in the future with minimal fuss; we'd also like to make working
with these ID sets more convenient.  To handle that, this commit
adds a new trait for "Something that has the same IDs as a relay"
and a new object for "an owned representation of a relay's IDs."

This commit introduces a similar trait for "Something with a list of
SocketAddr, like a relay has."  There's no owned equivelent for
that, since Vec<SocketAddr> is already a thing.

Closes #428.
2022-08-02 12:40:23 -04:00
Nick Mathewson 1eb8b02f47 Remove some testing-only reimplementations of OwnedChanTarget.
These predate OwnedChanTarget, and are no longer needed.
2022-08-02 12:39:30 -04:00
Ian Jackson 3f2f79f34f Merge branch 'typos' into 'main'
Fix typos

See merge request tpo/core/arti!656
2022-08-02 14:30:06 +00:00
Nick Mathewson 760e2f7e95 Finish implementation of params() for DirMgr.
Now it maintains an up-to-date set of default parameters to be
handed out if there is no directory.

Closes #528.
2022-08-02 10:20:13 -04:00
Nick Mathewson 9d2fb92c37 Add params() method to NetDirProvider, and partial implementation
This method will let users get the latest `NetParameters`, with
user-configured overrides, even if there is no current directory at
all.

Part of #528
2022-08-02 09:50:39 -04:00
Dimitris Apostolou 5eb45de6f8
Fix typos 2022-08-01 23:55:33 +03:00
Nick Mathewson 37e6c95fdc tor-proto: Use correct SecretBuf in handshakes.
Everything that is a secret encryption key, or an input that is used
to produce a secret encryption key, has to get zeroized.  And that's
all!

Closes #254.
2022-08-01 15:41:22 -04:00
Nick Mathewson eedd63d5e9 tor-proto: Replace SecretBytes with SecretBuf.
This does not yet make sure that `SecretBuf` is used where it
_should_ be, but at least it ensures that most uses of `SecretBytes`
will indeed act as intended, and make sure that whatever they
contain is zeroized.

It requires some corresponding changes to method calls for
correctness and type conformance.
2022-08-01 15:41:22 -04:00
Nick Mathewson f1c6447403 New SecretBuf type in tor-bytes
This Writer is a simple wrapper around `Vec<u8>` that makes sure
that its contents are cleared whenever they are dropped _or
reallocated_.

The reallocation is the important part here: without that, we risk
not zeroizing the first allocation of the buffer.
2022-08-01 15:41:22 -04:00
Nick Mathewson 50b42b50df Add TODO comments about unwanted copies. 2022-08-01 12:40:13 -04:00
Nick Mathewson cba0f40aa4 tor-llcrypto: make AES key objects ZeroizeOnDrop when using openssl
Part of #254.
2022-08-01 12:38:34 -04:00
Nick Mathewson dd0a83925c Stop deriving Zeroize for RsaIdentity.
These are not secret.
2022-08-01 12:27:53 -04:00
Nick Mathewson 514c3a8e62 Use the `zeroize` feature in several crates
Using `zeroize` here tells these crates that they should make
various structures zeroize-on-drop.

(This is not yet implemented in `aes` 0.8.1, but support has been
merged in the repository for `aes`, so it should go out in the next
release.)

No corresponding feature flag is needed to enable zeroize-on-drop
for `rsa` and `*25519-dalek` private keys.
2022-08-01 12:13:05 -04:00
Nick Mathewson c83ec273d0 Initial document describing our plans for zeroize 2022-08-01 11:52:23 -04:00
Nick Mathewson 826e1c4766 CHANGELOG: Add links to latest changelog. 2022-08-01 10:31:47 -04:00
Nick Mathewson 6d5af26f95 Update Cargo.lock based on version bumps. 2022-08-01 10:17:04 -04:00
Nick Mathewson b16c042004 Now that versions have bumped, remove semver.md files. 2022-08-01 10:07:12 -04:00
Nick Mathewson dc67c9864b Manually bump the patch version on safelog.
The changes on safelog do not affect its APIs or behavior, so
there is no need to adjust any dependencies.
2022-08-01 10:01:03 -04:00
Nick Mathewson 859ae4acd0 Bump patch versions on crates that have new APIs.
Do _not_ bump the dependency versions on crates that have had no
changes since arti 0.0.5, since those crates do not depend on the
new APIs.

```
cargo set-version -p tor-basic-utils   --bump patch
cargo set-version -p tor-llcrypto      --bump patch
git restore crates/tor-checkable
git restore crates/tor-consdiff
git restore crates/tor-rtmock
```
2022-08-01 09:56:29 -04:00
Nick Mathewson 511cb46997 Bump minor version on crates with deps with breaking changes.
This performs the transitive closure of the last operation:
everything that depends on a crate with a breaking change gets the
version which it depends on bumped.

```
cargo set-version -p tor-proto         --bump minor
cargo set-version -p tor-netdoc        --bump minor
cargo set-version -p arti-hyper        --bump minor
cargo set-version -p arti-bench        --bump minor
cargo set-version -p arti-testing      --bump minor
cargo set-version -p tor-config        --bump minor
```
2022-08-01 09:49:13 -04:00
Nick Mathewson f5dcb98f06 Bump minor versions on all crates that have had breaking changes.
Done with these commands:

```
cargo set-version -p fs-mistrust       --bump minor
cargo set-version -p tor-bytes         --bump minor
cargo set-version -p tor-socksproto    --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-netdir        --bump minor
cargo set-version -p tor-persist       --bump minor
cargo set-version -p tor-chanmgr       --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 arti-client       --bump minor
cargo set-version -p arti              --bump minor
```
2022-08-01 09:43:09 -04:00
Nick Mathewson 65d39dd5a9 Update CHANGELOG for !652. 2022-08-01 09:32:17 -04:00
Nick Mathewson 137a42c5c2 Merge branch 'fs-mistrust-ios' into 'main'
fix compilation and execution on iOS

Closes #519

See merge request tpo/core/arti!652
2022-08-01 13:29:04 +00:00
trinity-1686a 4f6c23a1da update semver status file 2022-07-30 15:52:45 +02:00
trinity-1686a 19a71534ec fix runtime issues on ios 2022-07-30 15:42:37 +02:00
trinity-1686a 68ad22a985 remove dependancy 'users' on iOS 2022-07-30 11:28:03 +02:00
Nick Mathewson bab36d451d Merge branch 's101_metrics' into 'main'
Checkpoint metrics and discussions on Sponsor 101 metrics

See merge request tpo/core/arti!639
2022-07-27 17:20:45 +00:00
Nick Mathewson f237836c20 Merge branch 'typos_20220727' into 'main'
Several typo fixes from `typos`.

See merge request tpo/core/arti!650
2022-07-27 15:29:36 +00:00
Nick Mathewson 5a5612b824 Draft changelog for 0.6.0 (so far) 2022-07-27 10:48:19 -04:00
Nick Mathewson dfdcc97858 Several typo fixes from `typos`. 2022-07-27 10:12:32 -04:00
Nick Mathewson e571bc6c09 Merge branch 'update_20220727' into 'main'
Run "cargo update" in preparation for next week's release.

See merge request tpo/core/arti!649
2022-07-27 13:57:59 +00:00
Nick Mathewson a0b2795e5e Run "cargo update" in preparation for next week's release. 2022-07-27 09:27:30 -04:00