aboutsummaryrefslogtreecommitdiff
path: root/crates/tor-proto
Commit message (Collapse)AuthorAgeFilesLines
...
| * Remove the (fairly bogus) HsNtorServiceInput type.Nick Mathewson2023-10-122-80/+38
| | | | | | | | This will let avoid some copying inside our HSS code.
| * proto: Remove a TODO about merging two functions.Nick Mathewson2023-10-121-2/+0
| | | | | | | | | | There is some similarity, but there's not really a logical way to combine the two that actually results in less, clearer code.
| * Lower and downgrade a TODO about StreamID and NonZeroU16.Nick Mathewson2023-10-121-1/+0
| |
* | tor-proto: Add a FIXME about an allowIan Jackson2023-10-121-0/+2
|/
* oneshot: Apply deferred rustfmt churnIan Jackson2023-10-113-3/+3
| | | | cargo fmt, precisely.
* oneshot: Use veneer in tor-protoIan Jackson2023-10-116-9/+15
|
* Merge branch 'refactor-kdf' into 'main'Nick Mathewson2023-10-032-15/+42
|\ | | | | | | | | tor-proto: Refactor the key derivation See merge request tpo/core/arti!1629
| * tor-proto: Refactor the key derivationEmil Engler2023-09-292-15/+42
| | | | | | | | | | | | | | | | | | | | | | | | This commit refactors the key derivation, by applying the following: - The spaghetti slice creation with the hard-to-read boundaries got replaced by a closure, which accepts a length, advances the seed slice by n bytes as a side-effect, and returns the just advanced bytes - The use of `.except` got replaced by an `.or`, with the use of the already existing `InvalidKDFOutputLength` error, thereby removing a potential panic (probably not reachable in runtime though) - The conversion from a slice to a `CircuitBinding` got moved into a `TryFrom` trait of the appropriate data structure
* | tor-proto: Fix clippy warning.Gabriela Moldovan2023-10-031-1/+1
| |
* | Patchlevel bumps to crates whose dependencies just changed.Nick Mathewson2023-10-021-2/+2
| | | | | | | | (The only change in these crates is that their dependencies changed.)
* | Minor-version bumps, for crates with breaking changes.Nick Mathewson2023-10-021-1/+1
| |
* | Patchlevel bumps, with dependents affected.Nick Mathewson2023-10-021-8/+8
|/
* Merge branch 'misc-upgrades' into 'main'Nick Mathewson2023-09-284-7/+4
|\ | | | | | | | | Upgrade several dependencies See merge request tpo/core/arti!1626
| * Remove direct dependency on generic-arrayNick Mathewson2023-09-284-7/+4
| | | | | | | | | | | | | | | | | | | | Instead of tying ourselves to a particular version of the generic-array crate, we now always use the version re-exported by our RustCrypto crates. This lets us avoid the possibility of version mismatch. (Originally I had planned to upgrade to generic-array 1.0, but then I found that we were not actually using it.)
* | tor-proto: Replace repeating pattern with fillEmil Engler2023-09-281-6/+2
|/ | | | | | | | | This commit replaces a repeating code pattern in the `set_digest` function for setting the 'Recognized' and Digest field to zero with a slice fillment. Besides this, it also adds comments explaining which fields are currently getting zeroized.
* tor-proto: Make allow_stream_requests() not return a ResultNick Mathewson2023-09-271-4/+4
| | | | | | | The function never yields anything but an `Ok`, so we can simplify its type. (Not a stable feature, so no semver entry needed)
* Merge branch 'pad_intro2' into 'main'Nick Mathewson2023-09-251-7/+41
|\ | | | | | | | | | | | | Accept and transmit padding in introduce2 plaintexts Closes #1031 See merge request tpo/core/arti!1602
| * Generate padding in Introduce1 messages.Nick Mathewson2023-09-181-7/+41
| | | | | | | | | | | | Closes #1031. This padding ensures that the introduction point doesn't learn the length of the plaintext being sent to the onion service.
* | hs_ntor: replace "32" with a const.Nick Mathewson2023-09-211-1/+1
| |
* | hs_ntor: rename get_{introduce,rendezvous}1_key_material.Nick Mathewson2023-09-211-6/+6
| |
* | hs_ntor: improve several comments.Nick Mathewson2023-09-211-3/+10
| |
* | hs_ntor: rename enc_key to dec_key in service code.Nick Mathewson2023-09-211-5/+5
| |
* | hs_ntor: allow attempting handshake with a set of subcredentials.Nick Mathewson2023-09-201-27/+45
| | | | | | | | | | | | | | Since we are using the same introduction point circuits for multiple time periods, we need the ability to provide a set of subcredentials and see which of them acually works. Fortunately, we "only" have to do digest operations here, which are much faster than public key.
* | hs_ntor: Take our k_hss_ntor keypair explicitly.Nick Mathewson2023-09-201-18/+18
|/
* tor-proto: Add a missing cfgIan Jackson2023-09-131-0/+1
| | | | | Fixes cargo clippy -p tor-hsclient --all-features --all-targets
* Remove semver.md now that 1.1.8 is out.Nick Mathewson2023-09-051-20/+0
|
* Update patchlevel for crates with nontrivial changes.Nick Mathewson2023-09-051-11/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These are: ``` hashx equix tor-async-utils tor-error tor-config tor-rtmock tor-llcrypto tor-bytes tor-hscrypto tor-hspow tor-cert tor-linkspec tor-cell tor-proto tor-netdoc tor-netdir tor-chanmgr tor-guardmgr tor-dirmgr tor-keymgr tor-hsclient tor-hsservice arti-client arti ```
* Merge branch 'upgrades' into 'main'Nick Mathewson2023-09-051-1/+1
|\ | | | | | | | | Upgrade a couple of dependencies for today's release. See merge request tpo/core/arti!1566
| * Upgrade to visibility 0.1.0Nick Mathewson2023-09-051-1/+1
| |
* | tor-proto: Use HopNum::display() instead of Debug representation.Gabriela Moldovan2023-08-251-3/+3
| |
* | tor-proto: Remove the Display impl of HopNum (fmt).Gabriela Moldovan2023-08-251-6/+6
| |
* | tor-proto: Remove the Display impl of HopNum.Gabriela Moldovan2023-08-252-15/+9
| | | | | | | | | | This removes the `Display` impl of `HopNum` and replaces its usage with `HopNum::display`.
* | tor-proto: Add a HopNum::display function.Gabriela Moldovan2023-08-253-5/+41
| | | | | | | | | | | | | | | | | | This function can be used to display a more user-friendly representation of a `HopNum`. This will print hop numbers as 1-indexed values: #1, #2, etc.. We will soon remove HopNum's Display implementation in favour of `.display()`.
* | tor-proto: Make HopNum indices appear 1-based in the Display impl.Gabriela Moldovan2023-08-251-1/+4
|/ | | | | | | | | | This makes `HopNum`s display as 1-indexed values. This will make error messages more intuitive, because when talking about an N-hop circuit, we generally speak in terms of hops 1..N (rather than 0..N-1). Internally, our `HopNum` indices are still 0-based. Closes #996
* tor-proto: Make some imports more preciseIan Jackson2023-08-231-1/+3
| | | | | | | | A warning is getting in my way when I run cargo clippy -p tor-hsservice --all-features See also https://gitlab.torproject.org/tpo/core/arti/-/issues/1006#note_2932088
* Run maint/add_warning to add lint block everywhereIan Jackson2023-08-2316-0/+16
|
* Use "typos-cli" to fix a bunch of typos.Nick Mathewson2023-08-221-1/+1
|
* proto: fix a comment to refer to circuits, not channels.Nick Mathewson2023-08-221-1/+1
|
* Merge branch 'send_raw_msg' into 'main'Nick Mathewson2023-08-223-1/+50
|\ | | | | | | | | | | | | proto: new ClientCirc::send_raw_msg function. Closes #1010 See merge request tpo/core/arti!1525
| * proto: Add crossrefs between start_conversation and send_raw_msgNick Mathewson2023-08-221-0/+6
| |
| * proto: new ClientCirc::send_raw_msg function.Nick Mathewson2023-08-213-1/+44
| | | | | | | | Closes #1010.
* | Resolve warnings about ambiguous/redundant doc linksNick Mathewson2023-08-221-1/+1
|/ | | | | Nightly rustdoc now warns if you have a link that isn't necessary, and if you have a link that might refer to two different things.
* tor-proto: Add test where an incoming stream comes from an unexpect hop.Gabriela Moldovan2023-08-181-0/+44
| | | | | | | This adds a test that checks if the reactor is shut down if it receives an incoming stream request from an unexpected hop. Part of #1009
* tor-proto: Make ClientCirc::allow_stream_requests take a HopNum.Gabriela Moldovan2023-08-183-7/+34
| | | | | | | | | | For consistency with the other `ClientCirc` APIs, `ClientCirc::allow_stream_requests` now takes a `HopNum` argument. Upon receiving an incoming stream request, the reactor now checks if the request came from the hop specified in `allow_stream_requests` (and if it came from a different hop, the circuit is closed). Part of #1009
* Merge branch 'handshake-tests' into 'main'gabi-2502023-08-171-0/+15
|\ | | | | | | | | test: add a test for missing NETINFO cells See merge request tpo/core/arti!1501
| * test: add a test for missing NETINFO cellsEmil Engler2023-08-121-0/+15
| | | | | | | | | | | | This commit adds a unit test to the `tor_proto::handshake` module, which tests the behavior when no NETINFO cell is present within a channel.
* | Merge branch 'all_crates_warnings' into 'main'Nick Mathewson2023-08-162-0/+2
|\ \ | | | | | | | | | | | | Resolve all warnings that appear from `maint/every-crate` See merge request tpo/core/arti!1507
| * | tor-proto: Fix dead_code when building without experimental-apiNick Mathewson2023-08-162-0/+2
| | |
* | | Apply some churn from rustfmt (beta)Ian Jackson2023-08-161-1/+1
|/ /
* | Merge branch 'remove-unused-import' into 'main'Ian Jackson2023-08-161-1/+3
|\ \ | | | | | | | | | | | | tor-proto: remove unused import See merge request tpo/core/arti!1493