summaryrefslogtreecommitdiff
path: root/src/rust
AgeCommit message (Collapse)Author
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-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 2019.Nick Mathewson
2018-11-15Merge branch 'bug27740_035_fix' into maint-0.3.5Nick 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-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
2018-09-24rust/protover: remove redundant ExceedsMax checkscypherpunks
This is already checked elsewhere.
2018-09-21rust/protover: return C-allocated string in protover_all_supported()cypherpunks
The result of CString::into_raw() is not safe to free with free() except under finicky and fragile circumstances that we definitely don't meet right now. This was missed in be583a34a3815c2c10e86094ab0610e4b7f9c869.
2018-09-21rust/protover: fix null deref in protover_all_supported()cypherpunks
Fortunately with the current callers it couldn't happen in practice. Fix on d1820c1516a31a149fc51a9e5126bf899e4c4e08.
2018-09-18Merge remote-tracking branch 'nickm/bug27741_033' into bug27741_035teor
Resolve conflicts due to rustfmt, and run rustfmt on the merged code.
2018-09-18Merge branch 'maint-0.3.4'Nick Mathewson
2018-09-18Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
2018-09-17Remove extraneous argument from Rust protover_compute_vote()Nick Mathewson
This argument was added to match an older idea for the C api, but we decided not to do it that way in C. Fixes bug 27741; bugfix on 0.3.3.6 / TROVE-2018-005 fix.
2018-09-16Don't try to link C from rust doctests for nss detectionNick Mathewson
This is really annoying, since we can't use cfg(test) for doctests.
2018-09-16When Tor is compiled with NSS, don't claim support for LinkAuth=1Nick Mathewson
Closes ticket 27288
2018-09-15rust/protover: reject extra commascypherpunks
The C implementation had gotten this wrong too, in a slightly different way. Introduced in 5af03c1ef3c4718b79abb1638f5a8c275129530a. Fixes #27197; bugfix on 0.3.3.3-alpha.
2018-09-14rust/protover: delete ProtoSet::retaincypherpunks
As the comment noted, it was horribly inefficient.
2018-09-14rust/protover: use .and_not_in() instead of .retain() in all_supported()cypherpunks
.retain() would allocating a Vec of billions of integers and check them one at a time to separate the supported versions from the unsupported. This leads to a memory DoS. Closes ticket 27206. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
2018-09-14rust/protover: add ProtoSet::and_not_in()cypherpunks
This is a way more efficient version of retain().
2018-09-14Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
2018-09-14Merge branch 'rust-protokeyword1-034' into rust-protokeyword1-035cypherpunks
2018-09-14Merge branch 'rust-protokeyword1' into rust-protokeyword1-034cypherpunks
2018-09-13rust/protover: validate unknown protocol names use only allowed characterscypherpunks
2018-09-12Merge branch 'maint-0.3.4'Nick Mathewson
2018-09-12Merge branch 'maint-0.3.3' into maint-0.3.4Nick Mathewson
2018-09-12rust/protover: fix check for overlapping rangescypherpunks
Closes ticket 27649. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
2018-09-12rust/protover: remove version zero from testscypherpunks
This isn't legal according to dir-spec.txt. We can write separate tests for it if the spec is changed to make it legal.
2018-09-04Merge branch 'nss_squashed' into nss_mergeNick Mathewson
2018-08-21Merge remote-tracking branch 'teor/travis-osx-master'Nick Mathewson
2018-08-21Merge remote-tracking branch 'teor/travis-osx-034' into maint-0.3.4Nick Mathewson
2018-08-21Merge remote-tracking branch 'teor/travis-osx-033' into maint-0.3.3Nick Mathewson
2018-08-18rust: abort on panic in all profilescypherpunks
Until https://github.com/rust-lang/rust/issues/52652 is fixed, unwinding on panic is potentially unsound in a mixed C/Rust codebase. The codebase is supposed to be panic-free already, but just to be safe. This started mattering at commit d1820c1516a31a149fc51a9e5126bf899e4c4e08. Fixes #27199; bugfix on tor-0.3.3.1-alpha.