Merge branch 'maint-0.3.4'

This commit is contained in:
Nick Mathewson 2018-06-16 10:20:27 -04:00
commit 97cc61e947
4 changed files with 15 additions and 7 deletions

3
changes/bug26245 Normal file
View File

@ -0,0 +1,3 @@
o Minor features (compilation):
o The --enable-fatal-warnings flag now affects Rust code as well.
Closes ticket 26245.

View File

@ -462,6 +462,11 @@ if test "x$enable_rust" = "xyes"; then
fi fi
AC_DEFINE([HAVE_RUST], 1, [have Rust]) AC_DEFINE([HAVE_RUST], 1, [have Rust])
if test "x$enable_fatal_warnings" = "xyes"; then
RUST_WARN=
else
RUST_WARN=#
fi
if test "x$enable_cargo_online_mode" = "xyes"; then if test "x$enable_cargo_online_mode" = "xyes"; then
CARGO_ONLINE= CARGO_ONLINE=
RUST_DL=# RUST_DL=#
@ -515,6 +520,7 @@ if test "x$enable_rust" = "xyes"; then
AC_SUBST(TOR_RUST_STATIC_NAME) AC_SUBST(TOR_RUST_STATIC_NAME)
AC_SUBST(CARGO_ONLINE) AC_SUBST(CARGO_ONLINE)
AC_SUBST(RUST_WARN)
AC_SUBST(RUST_DL) AC_SUBST(RUST_DL)
dnl Let's check the rustc version, too dnl Let's check the rustc version, too

View File

@ -6,3 +6,6 @@
@RUST_DL@ [source.vendored-sources] @RUST_DL@ [source.vendored-sources]
@RUST_DL@ directory = '@TOR_RUST_DEPENDENCIES@' @RUST_DL@ directory = '@TOR_RUST_DEPENDENCIES@'
@RUST_WARN@ [build]
@RUST_WARN@ rustflags = [ "-D", "warnings" ]

View File

@ -66,13 +66,6 @@ const DIGEST_SHA512: digest_algorithm_t = 2;
const DIGEST_SHA3_256: digest_algorithm_t = 3; const DIGEST_SHA3_256: digest_algorithm_t = 3;
const DIGEST_SHA3_512: digest_algorithm_t = 4; const DIGEST_SHA3_512: digest_algorithm_t = 4;
/// The total number of digest algorithms we currently support.
///
/// We can't access these from Rust, because their definitions in C require
/// introspecting the `digest_algorithm_t` typedef, which is an enum, so we have
/// to redefine them here.
const N_DIGEST_ALGORITHMS: usize = DIGEST_SHA3_512 as usize + 1;
/// The number of hash digests we produce for a `common_digests_t`. /// The number of hash digests we produce for a `common_digests_t`.
/// ///
/// We can't access these from Rust, because their definitions in C require /// We can't access these from Rust, because their definitions in C require
@ -117,6 +110,9 @@ struct common_digests_t {
/// A `smartlist_t` is just an alias for the `#[repr(C)]` type `Stringlist`, to /// A `smartlist_t` is just an alias for the `#[repr(C)]` type `Stringlist`, to
/// make it more clear that we're working with a smartlist which is owned by C. /// make it more clear that we're working with a smartlist which is owned by C.
#[allow(non_camel_case_types)] #[allow(non_camel_case_types)]
// BINDGEN_GENERATED: This type isn't actually bindgen generated, but the code
// below it which uses it is. As such, this comes up as "dead code" as well.
#[allow(dead_code)]
type smartlist_t = Stringlist; type smartlist_t = Stringlist;
/// All of the external functions from `src/common/crypto_digest.h`. /// All of the external functions from `src/common/crypto_digest.h`.