summaryrefslogtreecommitdiff
path: root/crates/tor-proto
Commit message (Collapse)AuthorAgeFilesLines
* 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
| * | tor-proto: remove unused importEmil Engler2023-08-101-1/+3
| |/ | | | | | | | | This commit removes an unused import within the test module of the `tor_proto::circuit` module.
* | proto: Fix a type-complexity warning.Nick Mathewson2023-08-142-9/+21
| |
* | proto: API to expose the `CircuitBinding` type.Nick Mathewson2023-08-144-5/+40
| | | | | | | | Closes #993
* | proto: Take CircuitBinding one step forward into Reactor::add_hop.Nick Mathewson2023-08-144-10/+26
| |
* | proto: Add (not-yet-exposed) code to remember and use KH valuesNick Mathewson2023-08-145-16/+82
|/ | | | | | | | These values are computed as part of the circuit extension handshake, and are used as MAC keys to bind `ESTABLISH_INTRO` messages to a particular circuit so that they can't be replayed. Part of #993.
* tor-proto: Make update_state() and discard() return Result<(), Bug>.Gabriela Moldovan2023-08-092-6/+6
| | | | These functions only ever return `Bug` errors.
* tor-proto: Implement IncomingStream::discard().Gabriela Moldovan2023-08-082-2/+4
|
* tor-proto: Replace boolean flags with an IncomingStreamState enum.Gabriela Moldovan2023-08-081-18/+56
| | | | | | | | | | This commit introduces an `IncomingStreamState` enum, which indicates whether the stream was accepted, discarded, or rejected, or if it is still pending. The `is_rejected`/`is_accepted` boolean flags are no longer needed. Without this change, we'd need to introduce yet another boolean flag when we implement `discard()` (for the "discarded" state).
* Merge branch 'tor-proto-incoming-todo' into 'main'gabi-2502023-08-081-18/+15
|\ | | | | | | | | tor-proto: Replace IncomingStreamMsg with IncomingStreamRequest. See merge request tpo/core/arti!1477