Age | Commit message (Collapse) | Author |
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
Fortunately with the current callers it couldn't happen in practice.
Fix on d1820c1516a31a149fc51a9e5126bf899e4c4e08.
|
|
|
|
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.
|
|
As the comment noted, it was horribly inefficient.
|
|
.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.
|
|
This is a way more efficient version of retain().
|
|
|
|
|
|
|
|
Closes ticket 27649. Bugfix on e6625113c98c281b0a649598d7daa347c28915e9.
|
|
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.
|
|
|
|
|
|
|
|
|
|
It's impossible for spaces to get here, since spaces are used as
separators between individual protocol entries higher up.
And it shouldn't ignore whitespace that isn't a literal space
character, because that would differ from the C implementation.
These were added in 9925d2e68709aa7346f4c5bc98ea1349df6741f3.
Fixes #27177. Bugfix on 0.3.3.5-rc.
|
|
|
|
It was parsing "1-2-3" as if it were 1-2, ignoring the 2nd hyphen
and everything after.
Introduced in d1820c1516a31a149fc51a9e5126bf899e4c4e08.
Fixes #27164; bugfix on 0.3.3.1-alpha.
|
|
Replace 034 .travis.yml with 033 .travis.yml.
Subsequent commits will restore 034 functionality.
Replace 034 src/test/test_rust.sh with 033
src/test/test_rust.sh, which was backported from
master.
|
|
cargo will use the user's $CARGO_HOME, or $HOME/.cargo by default.
Fixes bug 26497; bugfix on 0.3.1.5-alpha.
|
|
|
|
|
|
If you're owning a C pointer, you need to implement Drop.
|
|
These all need C linking to work, and so far, rustdoc does not seem
to respect cargo setting about build scripts or RUSTOPTIONS.
|
|
|
|
|
|
It was synonymous with the builtin "test" feature.
* FIXES #26399: https://bugs.torproject.org/26399
|
|
The doctests for src/rust/crypto don't compile for multiple reasons,
including some missing exports and incorrect identifier paths. Fixes
bug 26415; bugfix on 0.3.4.1-alpha.
|
|
We need this trick because some of our Rust tests depend on our C
code, which in turn depend on other native libraries, which thereby
pulls a whole mess of our build system into "cargo test".
To solve this, we add a build script (build.rs) to set most of the
options that we want based on the contents of config.rust. Some
options can't be set, and need to go to the linker directly: we use
a linker replacement (link_rust.sh) for these. Both config.rust and
link_rust.sh are generated by autoconf for us.
This patch on its own should enough to make the crypto test build,
but not necessarily enough to make it pass.
|
|
This reverts commit 70d91bd059869a0ecf24ceb66942ada4f66f03c9.
|
|
This was already added to LIBTOR_A_SOURCES; it doesn't need to get
added again.
Fixes bug 26402. Bugfix on 0.3.4.1-alpha.
|
|
The digest tests don't link yet, though.
|
|
|
|
|
|
In the C code, this constant is only ever used in src/test/bench.c.
* FIXES part of #26245: https://bugs.torproject.org/26245
|
|
* FIXES part of #26245: https://bugs.torproject.org/26245
|
|
Set rustc flags to treat warnings as fatal if configured with
--enable-warnings.
|
|
|
|
Apparently rand and rand_core need to be built with the "std" feature
set consistently, or there will be a compile error in rngs/jitter.rs.
|
|
|
|
|
|
* REFACTORS `UnvalidatedProtoEntry::from_str` to place the bulk of the
splitting/parsing logic in to a new
`UnvalidatedProtoEntry::parse_protocol_and_version_str()` method (so that
both `from_str()` and `from_str_any_len()` can call it.)
* ADD a new `UnvalidatedProtoEntry::from_str_any_len()` method in order to
maintain compatibility with consensus methods older than 29.
* ADD a limit on the number of characters in a protocol name.
* FIXES part of #25517: https://bugs.torproject.org/25517
|
|
* REFACTORS `UnvalidatedProtoEntry::from_str` to place the bulk of the
splitting/parsing logic in to a new
`UnvalidatedProtoEntry::parse_protocol_and_version_str()` method (so that
both `from_str()` and `from_str_any_len()` can call it.)
* ADD a new `UnvalidatedProtoEntry::from_str_any_len()` method in order to
maintain compatibility with consensus methods older than 29.
* ADD a limit on the number of characters in a protocol name.
* FIXES part of #25517: https://bugs.torproject.org/25517
|
|
|