aboutsummaryrefslogtreecommitdiff
path: root/src/rust
AgeCommit message (Collapse)Author
2020-08-03Merge remote-tracking branch 'tor-gitlab/mr/94'Nick Mathewson
2020-05-18rust/protover: Fix protocol version support error handlingteor
Make Rust protocol version support checks consistent with the undocumented error behaviour of the corresponding C code. Fixes bug 34251; bugfix on 0.3.3.5-rc.
2020-05-18rust: declare HSIntro=5teor
Declare support for the onion service introduction point denial of service extensions, when building tor with Rust. Fixes bug 34248; bugfix on 0.4.2.1-alpha.
2020-05-11protover: Declare support for Relay=3teor
Declare support for the new Relay=3 IPv6 extend protocol, in C and Rust. Part of 33226.
2020-02-12protover: Sort tor's supported protocol versionsteor
As recommended by the tor directory specification. Fixes bug 33285; bugfix on 0.4.0.1-alpha.
2020-02-10Merge branch 'maint-0.4.0' into maint-0.4.1Nick Mathewson
2020-02-10Merge branch 'maint-0.3.5' into maint-0.4.0maint-0.4.0Nick Mathewson
2020-02-10Fix a Rust compilation warning; resolve bug 33212.Nick Mathewson
2020-02-09rust/protover: parse empty string into empty *ProtoEntrycypherpunks
Contrary to what 15e59a1fedf47e7e689e06e5649849552d8b8c0d said, the C implementation has always accepted an empty string without complaint. Meanwhile the rust implementation has always given an error. Make the rust implementation match C. Also eliminate some more redundant tests. Fix on 0.3.3.1-alpha.
2020-02-09rust/protover: remove redundant testcypherpunks
commit 15e59a1fedf47e7e689e06e5649849552d8b8c0d added a test for parsing an empty string twice.
2020-02-09rust/protover: make test match test namecypherpunks
It was just a copypaste of the test above it. Fix on commit 15e59a1fedf47e7e689e06e5649849552d8b8c0d
2019-08-12Bug 31356: Bump protover for new padding machinesMike Perry
By binding the protover numbering to specific padding machines, we can make our padding negotiation simpler. We probably should have done this in the first place. This has the side effect that earlier 0.4.1.x-alpha clients won't negotiate with 0.4.1.x-stable relays, and 0.4.1.x-stable clients won't negotiate with earlier 0.4.1.x-alpha relays (or 0.4.0.x relays). Since we don't support alphas after the stable is released, this is fine, so long as it gets in before the first stable of 0.4.1.x.
2019-07-19Adjust tor_log.rs for 64-bit log domains.Nick Mathewson
2019-05-03sendme: Add FlowCtrl protover valueDavid Goulet
See proposal 289 section 4.3 for more details. It describes the flow control protocol at the circuit and stream level. If there is no FlowCtrl protocol version, tor supports the unauthenticated flow control features from its supported Relay protocols. At this commit, relay will start advertising FlowCtrl=1 meaning they support authenticated SENDMEs v1. Closes #30363 Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-04-15Merge branch 'rust-panic1-035' into rust-panic1-040teor
2019-04-15Merge branch 'rust-panic1-034' into rust-panic1-035teor
Trivial merge: a blank line was removed between 0.3.4 and 0.3.5.
2019-04-15Merge branch 'rust-panic1' into rust-panic1-034teor
2019-03-05protover: Add missing Padding to translate_to_rustDavid Goulet
This commit also explicitly set the value of the PRT enum so we can match/pin the C enum values to the Rust one in protover/ffi.rs. Fixes #29631 Signed-off-by: David Goulet <dgoulet@torproject.org>
2019-02-05Merge branch 'maint-0.3.5'Roger Dingledine
2019-02-05Merge branch 'maint-0.3.4' into maint-0.3.5Roger Dingledine
2019-02-05Merge branch 'maint-0.3.3' into maint-0.3.4Roger Dingledine
2019-02-01Update Cargo.lock with new comment; suppress 29244.Nick Mathewson
2019-01-16Bump copyright date to 2019Nick Mathewson
2019-01-16Bump copyright date to 2019.Nick Mathewson
2019-01-02Circuit padding ProtoVer plumbing.Mike Perry
This helps us to determine if a middle node can pad to us or not. Co-authored-by: George Kadianakis <desnacked@riseup.net>
2018-12-05Merge remote-tracking branch 'tor-github/pr/508'Nick Mathewson
2018-11-15Merge branch 'maint-0.3.5'Nick Mathewson
2018-11-15Merge branch 'bug27740_035_fix' into maint-0.3.5Nick Mathewson
2018-11-14Add libtor-buf-testing to build.rsNick Mathewson
2018-11-09Merge branch 'subsystems'Nick Mathewson
2018-11-06Merge remote-tracking branch 'tor-github/pr/466'Nick Mathewson
2018-11-05Move the code that knows our tor version into a lowest-level libNick Mathewson
2018-10-30Merge remote-tracking branch 'tor-github/pr/431' into maint-0.3.5Nick Mathewson
2018-10-30Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
2018-10-30Merge remote-tracking branch 'tor-github/pr/431' into bug27740_035_fixNick Mathewson
2018-10-30Merge remote-tracking branch 'tor-github/pr/346' into maint-0.3.3Nick Mathewson
2018-10-30remove now-unused "use" statement.Nick Mathewson
2018-10-30Merge remote-tracking branch 'tor-github/pr/381' into maint-0.3.5Nick Mathewson
2018-10-30Try to restore a proper fix for bug27740 in 0.3.5.Nick Mathewson
(I messed up the merge in 289a7dbac32a981897e12a3c250f0b6c67eec809.)
2018-10-24rust/tor_log: fix C_RUST_COUPLED documentationcypherpunks
This file was moved in 97b15a1d7c51764888d2172711e3f3a71fb01916 and moved again in e7f5f48d68553206b95cbb4f610702c887500124.
2018-10-23Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
2018-10-23Remove a now-unused rust "use".Nick Mathewson
2018-10-23Merge branch 'maint-0.3.4' into maint-0.3.5Nick Mathewson
2018-10-23Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
2018-10-19Merge remote-tracking branch 'onionk/rust-protocommas1' into maint-0.3.5Nick Mathewson
2018-10-17rust/tor_util: drop unsafe block in cstr!cypherpunks
This is unnecessary just to get an empty string, there's Default::default(). Fix on 8fff331bb095dc6f5e2fe2ecfc9ab08ea9e2fe97.
2018-10-01Remove rlib+staticlib configuration for Rust cratesAlex Crichton
Only the final crate needs to be a `staticlib`, no need for all the intermediate steps to produce staticlibs!
2018-10-01Remove `[features]` from workspace Cargo.tomlAlex Crichton
Unfortunately Cargo doesn't actually parse these! Cargo should probably print a warning saying they're not used...
2018-10-01Fix segfaults related to sanitizers+jemallocAlex Crichton
It looks to be the case that Rust's standard allocator, jemalloc, is incompatible with sanitizers. The incompatibility, for whatever reason, seems to cause segfaults at runtime when jemalloc is linked with sanitizers. Without actually trying to figure out what's going on here this commit instead takes the hammer of "let's remove jemalloc when testing". The `tor_allocate` crate now by default switches to the system allocator (eventually this will want to be the tor allocator). Most crates then link to `tor_allocate` ot pick this up, but the `smartlist` crate had to manually switch to the system allocator in testing and the `external` crate had to be sure to link to `tor_allocate`. The final gotcha here is that this patch also switches to unconditionally passing `--target` to Cargo. For weird and arcane reasons passing `--target` with the host target of the compiler (which Cargo otherwise uses as the default) is different than not passing `--target` at all. This ensure that our custom `RUSTFLAGS` with sanitizer options doesn't make its way into build scripts, just the final testing artifacts.
2018-09-24rust: run rustfmtcypherpunks