summaryrefslogtreecommitdiff
path: root/crates
Commit message (Collapse)AuthorAgeFilesLines
...
| * | Introduce a constant for the length of the output of hs_mac()Nick Mathewson2023-03-012-5/+8
| | |
| * | tor-bytes: Clarify that Cursor is not a good thing, and could be neater.Nick Mathewson2023-03-011-2/+11
| | |
| * | tor-cell: Rename EstablishIntro{Body => Details}Nick Mathewson2023-03-012-12/+12
| | |
| * | clarify results of misusing cursorsIan Jackson2023-03-011-2/+2
| | |
| * | tor-cell: Fix compilation for fuzzersNick Mathewson2023-03-013-4/+5
| | | | | | | | | | | | | | | (I also ran them a couple billion iterations, and didn't hit any bugs.)
| * | tor-cell: Make EstablishIntro do signaturesNick Mathewson2023-03-013-60/+302
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | tor-bytes: impl Readable and Writeable for CtByteArray.Nick Mathewson2023-02-282-0/+19
| | |
| * | Expose a little new functionality from tor-llcrypto.Nick Mathewson2023-02-282-0/+11
| | | | | | | | | | | | | | | Expose ED25519 signature length; make ValidatableEd25519Signature implement Debug and Clone.
| * | tor-bytes: Add cursor functionality to ReaderNick Mathewson2023-02-282-0/+62
| | | | | | | | | | | | | | | We'll use this to implement signature and MAC checking for EstablishIntro cells.
* | | Merge branch 'more_hs_msgs' into 'main'Nick Mathewson2023-03-017-64/+226
|\| | | |/ |/| | | | | Implement most remaining HS cell types See merge request tpo/core/arti!1038
| * Change several cfgs to refer to new feature names.Nick Mathewson2023-02-283-17/+17
| |
| * Mark new tests as onion-service-onlyNick Mathewson2023-02-281-0/+3
| |
| * tor-cell: Support extensions in INTRODUCE{1,2}Nick Mathewson2023-02-282-22/+26
| |
| * tor-cell: Implement IntroduceAck and IntroEstablishedNick Mathewson2023-02-282-19/+104
| | | | | | | | | | These are fairly simple, since the bulk of them is just an extension list with no supported extensions.
| * tor-cell: Implement rendezvous1 and rendezvous2.Nick Mathewson2023-02-282-4/+60
| |
| * caret: work correctly when there are no defined variants.Nick Mathewson2023-02-281-2/+4
| |
| * hscrypto: Make several types Readable+WriteableNick Mathewson2023-02-282-0/+12
| | | | | | | | Specifically, RendCookie, Subcredential, HsId, and HsBlindId.
* | Merge branch 'main' into 'main'Ian Jackson2023-02-282-8/+11
|\ \ | | | | | | | | | | | | | | | | | | Use humantime in tor-checkable and tor-guardmgr Closes #663 See merge request tpo/core/arti!1037
| * | Use humantime in tor-guardmgrSaksham Mittal2023-02-271-3/+3
| | |
| * | Use humantime in tor-checkableSaksham Mittal2023-02-271-5/+8
| | | | | | | | | | | | | | | | | | The four values of times taken in a particular test were changed to both be human readable and have comments explaining their significance (they are all important moments after the Unix Epoch for freedom)
* | | Remove unnecessary warning from arti-hyper/READMESaksham Mittal2023-02-281-5/+0
| |/ |/| | | | | | | https://gitlab.torproject.org/tpo/core/arti/-/issues/715 has been fixed, so there is no need to display such a warning
* | Remove semver.md files now that 1.1.2 is out.Nick Mathewson2023-02-288-21/+0
| |
* | Follow-on patchlevel bumps for crates with changed dependenciesNick Mathewson2023-02-285-5/+5
| | | | | | | | | | | | | | | | | | | | 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
* | Patchlevel bumps for remaining changed crates.Nick Mathewson2023-02-2829-122/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | Bump tor-units version for breaking change.Nick Mathewson2023-02-289-9/+9
| | | | | | | | | | | | | | | | (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
* | Bump patch-versions for breaking changes in tor-hs{crypto,client}Nick Mathewson2023-02-288-9/+9
| | | | | | | | | | | | 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.
* | Bump minor versions for significant breaking changes.Nick Mathewson2023-02-2812-27/+27
| | | | | | | | This includes tor-cell, tor-proto, and tor-netdir.
* | tor-hsservice: Fix an erroneous reference to an hs-client featureIan Jackson2023-02-281-1/+1
| |
* | Rename onion-* cargo features to hs-* in tor-* cratesIan Jackson2023-02-2825-92/+93
| | | | | | | | Fixes #756
* | Merge branch 'cmd_checker' into 'main'Nick Mathewson2023-02-278-102/+273
|\ \ | |/ |/| | | | | | | | | tor-proto: Introduce CmdChecker, and use it to enforce correctness for our streams. Closes #774 and #769 See merge request tpo/core/arti!1026
| * proto: Tweak documentation and names around CmdChecker.Nick Mathewson2023-02-275-9/+33
| |
| * tor-proto: Rename end_received.Nick Mathewson2023-02-172-8/+9
| | | | | | | | It can now indicate _any_ cell that means we can forget about a stream.
| * Use CmdChecker in our stream handling code.Nick Mathewson2023-02-174-96/+92
| | | | | | | | | | | | | | | | | | | | This change makes sure that open streams and half-closed streams have the same stream-type-dependent state machines with respect to which cells are acceptable. Fixes #774. Fixes #769.
| * tor-proto: Introduce CmdChecker, and define it for our streams.Nick Mathewson2023-02-174-0/+150
| | | | | | | | | | | | | | | | The role of CmdChecker is to verify that messages are arriving at the appropriate sequence on a stream, with respect to the other messages that have been received. Once the stream becomes half-closed, the CmdChecker is also in charge of consuming incoming messages on the stream and making sure that they are well-formed.
* | Apply a missing cfg_attr(docsrs...) in netdocNick Mathewson2023-02-211-0/+1
| |
* | Rearrange cfg_attr in relaycell::msgNick Mathewson2023-02-211-2/+2
| | | | | | | | | | docsrs wants to find its `cfg_attr(docsrs...)` line after the `cfg()` line.
* | Merge branch 'unparsed_linkspec' into 'main'Ian Jackson2023-02-214-10/+84
|\ \ | | | | | | | | | | | | HsDesc: Use a new UnparsedLinkSpecifier to avoid leaking which linkspec types we know See merge request tpo/core/arti!1029
| * | tor-netdoc: Use UnparsedLinkSpec in IntroPointDesc.Nick Mathewson2023-02-171-9/+2
| | |
| * | tor-linkspec: New UnparsedLinkspec type.Nick Mathewson2023-02-173-1/+82
| |/ | | | | | | | | | | | | | | | | | | Unlike linkspec, this doesn't validate the actual contents of the specifiers. We'll use this so we can handle the linkspec list for an introduction point in an HsDesc, and just pass it on when constructing our circuits. I haven't added any accessor or constructor functions, because I don't expect to need them.
* | Merge branch 'hsdir_remove_comment' into 'main'Ian Jackson2023-02-211-1/+0
|\ \ | | | | | | | | | | | | netdoc: Remove a TODO hs comment. See merge request tpo/core/arti!1028
| * | netdoc: Remove a TODO hs comment.Nick Mathewson2023-02-171-1/+0
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It said to check whether C enforces an absence of extraneous bytes at the end of the link specifiers. It does, in `hs_desc.c:decode_link_specifiers()`, where it says: ``` if (link_specifier_list_parse(&specs, decoded, (size_t) decoded_len) < decoded_len) { goto err; } ``` The comparison with "decoded_len" checks whether all the bytes were decoded.
* / tor-dirmgr: Work around an apparent regression in `time`.Nick Mathewson2023-02-171-3/+3
|/ | | | | | | Some code in our tests that worked fine with time 0.3.17 no longer works with 0.3.19, despite the semver. See https://github.com/time-rs/time/issues/552 for the upstream bug.
* Merge branch 'doc-iter' into 'main'Nick Mathewson2023-02-1712-233/+116
|\ | | | | | | | | | | | | tor-netdoc: Abolish PauseAt in favour of using itertools Closes #760 See merge request tpo/core/arti!1021
| * tor-netdoc: Fix doc comment following removal of PauseAtIan Jackson2023-02-161-3/+6
| |
| * tor-netdoc: Run rustfmt (separately from the refactoring)Ian Jackson2023-02-152-5/+3
| |
| * tor-netdoc: Abolish NetDocReader::iter and into_iterIan Jackson2023-02-151-13/+0
| | | | | | | | Nothing uses these now; the NetDocReader is simply an iterator, itself.
| * tor-netdoc: Remove many needless calls to .iter() and .into_iter()Ian Jackson2023-02-159-35/+32
| |
| * tor-netdoc: Use impl Iterator for NetdocReader in .pause_atIan Jackson2023-02-151-2/+2
| | | | | | | | This simplifies the return type!
| * tor-netdoc: impl Iterator etc. for NetdocReaderIan Jackson2023-02-151-0/+29
| | | | | | | | This will simplify things at many call sites.
| * tor-netdoc: move PeekableIterator to util.rsIan Jackson2023-02-152-24/+36
| | | | | | | | We're going to want this a bit more widely.