Commit Graph

5817 Commits

Author SHA1 Message Date
Nick Mathewson dbecdb53aa tor_cell: Use nested readers and writers for EstablishIntro 2023-03-01 11:32:56 -05:00
Nick Mathewson c8cc4a80c3 tor-cell: tweak comments on EstablishIntro members. 2023-03-01 11:27:45 -05:00
Nick Mathewson 5131703c22 Introduce a constant for the length of the output of hs_mac() 2023-03-01 11:26:35 -05:00
Nick Mathewson b36082255b tor-bytes: Clarify that Cursor is not a good thing, and could be neater. 2023-03-01 11:21:52 -05:00
Nick Mathewson 03df452f7b tor-cell: Rename EstablishIntro{Body => Details} 2023-03-01 11:18:50 -05:00
Ian Jackson bab32c6038 clarify results of misusing cursors 2023-03-01 15:57:14 +00:00
Nick Mathewson 53e44b58f5 tor-cell: Fix compilation for fuzzers
(I also ran them a couple billion iterations, and didn't hit
any bugs.)
2023-03-01 07:39:17 -05:00
Nick Mathewson 8c9a1a6fad tor-cell: Make EstablishIntro do signatures
The old code parsed and encoded a signature and a mac... but there
was no way to actually set them properly.  Now EstablishIntro is
built around an EstablishIntroBody, and has the ability to check
signatures and macs.

Because there is no way to handle one of these messages if we can't
check the signature, we no longer accept unrecognized `auth_key` types
in this message.

I've added a test to make sure that we can validate a message from the
C tor implementation, and a test to make sure we can validate our
own cells.  I also had to modify the previous tests so that their
keys were well-formed.
2023-03-01 07:38:56 -05:00
Nick Mathewson 0f88c5131f tor-bytes: impl Readable and Writeable for CtByteArray. 2023-02-28 11:23:44 -05:00
Nick Mathewson d658fcfc52 Expose a little new functionality from tor-llcrypto.
Expose ED25519 signature length; make ValidatableEd25519Signature
implement Debug and Clone.
2023-02-28 11:23:44 -05:00
Nick Mathewson 0bf1ae70ba tor-bytes: Add cursor functionality to Reader
We'll use this to implement signature and MAC checking for
EstablishIntro cells.
2023-02-28 11:23:44 -05:00
Nick Mathewson 09d601d050 Change several cfgs to refer to new feature names. 2023-02-28 11:15:39 -05:00
Nick Mathewson 0c000a1713 Mark new tests as onion-service-only 2023-02-28 11:15:39 -05:00
Nick Mathewson ca055d4cb5 tor-cell: Support extensions in INTRODUCE{1,2} 2023-02-28 11:15:39 -05:00
Nick Mathewson 7af2efdb82 tor-cell: Implement IntroduceAck and IntroEstablished
These are fairly simple, since the bulk of them is just an extension
list with no supported extensions.
2023-02-28 11:15:39 -05:00
Nick Mathewson c302246e57 tor-cell: Implement rendezvous1 and rendezvous2. 2023-02-28 11:15:39 -05:00
Nick Mathewson 841905948f caret: work correctly when there are no defined variants. 2023-02-28 11:08:34 -05:00
Nick Mathewson d69ed3bc62 hscrypto: Make several types Readable+Writeable
Specifically, RendCookie, Subcredential, HsId, and HsBlindId.
2023-02-28 11:08:31 -05:00
Nick Mathewson 886faa96b3 Remove semver.md files now that 1.1.2 is out. 2023-02-28 10:06:41 -05:00
Nick Mathewson 2f0dedd8bb Merge branch 'bump_versions' into 'main'
Bump various versions in preparation for Arti 1.1.2 release.

See merge request tpo/core/arti!1041
2023-02-28 13:25:25 +00:00
Nick Mathewson e79f2f7803 Merge branch 'changelog' into 'main'
CHANGELOG: Fix typo

See merge request tpo/core/arti!1040
2023-02-28 12:25:15 +00:00
Nick Mathewson 2c9f8e3547 Follow-on patchlevel bumps for crates with changed dependencies
These crates didn't have any changes until now, when I bumped
the versions of some other crates they depend on:

tor-consdiff
arti-hyper
arti-bench
arti-testing
2023-02-28 07:18:37 -05:00
Nick Mathewson f41449d0bd Patchlevel bumps for remaining changed crates.
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
2023-02-28 07:13:27 -05:00
Nick Mathewson 3e1ae65212 Bump tor-units version for breaking change.
(The breaking change was removing `as_days()` from IntegerMinutes.)

We are _not_ calling this a downstream-api breaking change, per
discussion at
https://gitlab.torproject.org/tpo/core/arti/-/merge_requests/1012?commit_id=bb2ab7c2a3e0994bb438188511688b5b039cae29#note_2876819
2023-02-28 07:10:00 -05:00
Nick Mathewson 4479d52a88 Bump patch-versions for breaking changes in tor-hs{crypto,client}
These are API breaks, but the crates themselves are currently
100% experimental, so there's no need to bump the minor versions
according to our semver rules.
2023-02-28 07:06:15 -05:00
Nick Mathewson 3e257a7cb5 Bump minor versions for significant breaking changes.
This includes tor-cell, tor-proto, and tor-netdir.
2023-02-28 07:05:15 -05:00
Nick Mathewson 5dbec119cb Update CHANGELOG to reflect merging !1033. 2023-02-28 06:56:20 -05:00
Nick Mathewson fd23b2a56d Merge branch 'hs-naming' into 'main'
Rename onion-* cargo features to hs-* in tor-* crates etc.

Closes #756

See merge request tpo/core/arti!1033
2023-02-28 11:50:51 +00:00
Ian Jackson 533e68373a CHANGELOG: Fix typo 2023-02-28 11:41:45 +00:00
Nick Mathewson 5d0afff1ce Mostly wrap up the CHANGELOG for 1.1.2 2023-02-28 06:32:45 -05:00
Ian Jackson ddd323c6ff tor-hsservice: Fix an erroneous reference to an hs-client feature 2023-02-28 11:10:17 +00:00
Ian Jackson f63c7c48af Rename onion-* cargo features to hs-* in tor-* crates
Fixes #756
2023-02-28 11:10:17 +00:00
Nick Mathewson fcbeceeb61 Merge branch 'cmd_checker' into 'main'
tor-proto: Introduce CmdChecker, and use it to enforce correctness for our streams.

Closes #774 and #769

See merge request tpo/core/arti!1026
2023-02-27 16:43:34 +00:00
Nick Mathewson 0fb7e5cd2d changelog: document another internal API break. 2023-02-27 11:33:31 -05:00
Nick Mathewson f165a32f26 Begin a changelog for 1.1.2 2023-02-27 10:53:53 -05:00
Ian Jackson ce2fee9166 Merge branch 'zlib' into 'main'
Approve zlib licence

See merge request tpo/core/arti!1035
2023-02-27 13:34:05 +00:00
Nick Mathewson 5629d13f6f Merge branch 'update_20220227' into 'main'
Run cargo update in preparation for Wednesday release

See merge request tpo/core/arti!1036
2023-02-27 13:28:05 +00:00
Nick Mathewson 07473ed1fc proto: Tweak documentation and names around CmdChecker. 2023-02-27 08:14:15 -05:00
Nick Mathewson 5769cdd9be Run cargo update in preparation for Wednesday Release 2023-02-27 07:47:11 -05:00
Ian Jackson df79d407d9 maint/check_licensse: Placate shellcheck
There's nothing wrong with the previous idiom since it's a trusted
variable, but whatever.
2023-02-24 17:27:43 +00:00
Ian Jackson 4756ad6e57 maint/check_licensse: Approve Zlib licence
This is a very permissive BSD/MIT-like licence.  I have reviewed the
licence text and it is inoffensive.

I want this for slotmap, in !1034
2023-02-24 17:14:27 +00:00
Ian Jackson 7068f237f7 maint/check_licensse: Honour CARGO variable
Even if it contains spaces.
2023-02-24 17:14:27 +00:00
Ian Jackson 745336fac5 maint/check_licensse: Do not discard actual error
This confused me while I was debugging the interaction with nailing-cargo.
2023-02-24 17:14:27 +00:00
Ian Jackson bd920fc844 Merge branch 'fix-adhoc' into 'main'
maint: fix `adhoc-add-lint-blocks` script

See merge request tpo/core/arti!1031
2023-02-24 17:01:35 +00:00
Ian Jackson c060fbb4a3 Merge branch 'gitignore' into 'main'
git: add maint/.gitignore for __pycache__

See merge request tpo/core/arti!1032
2023-02-24 14:07:06 +00:00
Emil Engler d6a7ace662
git: add maint/.gitignore for __pycache__
The maint/ directory contains several python scripts, which will create
a __pycache__ directory.
2023-02-22 18:31:40 +01:00
Emil Engler 346ade6200
maint: fix `adhoc-add-lint-blocks` script
This commit fixes a bug in maint/adhoc-add-lint-blocks, which made it
impossible to execute, because `/usr/bin/env` looked at Perl's command
line arguments to be a part of the binary name.
2023-02-22 18:30:33 +01:00
Ian Jackson ed5857fab1 Merge branch 'coverage-dep-check' into 'main'
maint: add a dependency check to coverage

Closes #776

See merge request tpo/core/arti!1025
2023-02-22 12:00:28 +00:00
Emil Engler b4b8d040a0
maint: add a dependency check to coverage
This commit implements a dependency check to the `maint/coverage`
script, that checks for the rustup, python3, and grcov binaries in
$PATH; the bs4 and lxml python packages; and the llvm-tools Rust
component.

Fixes #776
2023-02-21 20:09:17 +01:00
Ian Jackson a866866491 Merge branch 'cdf_pub_use' into 'main'
Fix a bug in check_doc_features, and fix a warning too.

See merge request tpo/core/arti!1023
2023-02-21 16:19:53 +00:00