ring 0.3.0

Safe, fast, small crypto using Rust.
Documentation
[package]
authors = ["Brian Smith <brian@briansmith.org>"]
build = "build.rs"
description = "Safe, fast, small crypto using Rust."
documentation = "https://briansmith.org/rustdoc/ring/"
license-file = "LICENSE"
name = "ring"
readme = "README.md"
repository = "https://github.com/briansmith/ring"
version = "0.3.0"
keywords = [ "crypto", "rand", "signature", "AEAD", "RSA" ]

exclude = [
    # The presence of .gitignore is used to differentiate non-packaged builds
    # from packaged builds in build.rs.
    ".gitignore"
]
include = [
    "LICENSE",
    "Cargo.toml",

    "Makefile",
    "mk/ring.mk",
    "mk/bottom_of_makefile.mk",
    "mk/top_of_makefile.mk",

    "pregenerated/msvc-ring-asm-i686.lib",
    "pregenerated/msvc-ring-asm-x86_64.lib",

    "ring.sln",
    "crypto/libring-asm.Windows.vcxproj",
    "crypto/libring-test.Windows.vcxproj",
    "crypto/libring.Windows.vcxproj",
    "mk/Common.props",
    "mk/Windows.props",
    "mk/WindowsTest.props",
    "mk/perlasm-msbuild.targets",
    "mk/perlasm-msbuild.xml",

    "build.rs",

    "src/aead/aead.rs",
    "src/aead/aes_gcm.rs",
    "src/aead/chacha20_poly1305.rs",
    "src/agreement.rs",
    "src/bssl.rs",
    "src/c.rs",
    "src/constant_time.rs",
    "src/der.rs",
    "src/digest/digest.rs",
    "src/digest/digest_tests.txt",
    "src/digest/sha1.rs",
    "src/ec/ec.rs",
    "src/ec/ecdh_tests.txt",
    "src/ec/ed25519_tests.txt",
    "src/ec/eddsa.rs",
    "src/ec/suite_b/ecdh.rs",
    "src/ec/suite_b/ecdsa.rs",
    "src/ec/suite_b/ecdsa_digest_scalar_tests.txt",
    "src/ec/suite_b/ecdsa_verify_tests.txt",
    "src/ec/suite_b/ops/ops.rs",
    "src/ec/suite_b/ops/p256.rs",
    "src/ec/suite_b/ops/p256_neg_tests.txt",
    "src/ec/suite_b/ops/p256_point_mul_base_tests.txt",
    "src/ec/suite_b/ops/p256_point_mul_tests.txt",
    "src/ec/suite_b/ops/p256_point_sum_tests.txt",
    "src/ec/suite_b/ops/p256_sum_tests.txt",
    "src/ec/suite_b/ops/p384.rs",
    "src/ec/suite_b/ops/p384_div_by_2_tests.txt",
    "src/ec/suite_b/ops/p384_neg_tests.txt",
    "src/ec/suite_b/ops/p384_point_mul_base_tests.txt",
    "src/ec/suite_b/ops/p384_point_mul_tests.txt",
    "src/ec/suite_b/ops/p384_point_sum_tests.txt",
    "src/ec/suite_b/ops/p384_sum_tests.txt",
    "src/ec/suite_b/private_key.rs",
    "src/ec/suite_b/public_key.rs",
    "src/ec/suite_b/suite_b.rs",
    "src/ec/suite_b/suite_b_public_key_tests.txt",
    "src/ec/x25519.rs",
    "src/error.rs",
    "src/limb.rs",
    "src/hkdf.rs",
    "src/hkdf_tests.txt",
    "src/hmac.rs",
    "src/hmac_tests.txt",
    "src/init.rs",
    "src/lib.rs",
    "src/pbkdf2.rs",
    "src/pbkdf2_tests.txt",
    "src/polyfill.rs",
    "src/rand.rs",
    "src/rsa/rsa.rs",
    "src/rsa/rsa_pkcs1_sign_tests.txt",
    "src/rsa/rsa_pkcs1_verify_tests.txt",
    "src/rsa/signature_rsa_example_private_key.der",
    "src/rsa/signature_rsa_example_public_key.der",
    "src/signature.rs",
    "src/test.rs",
    "src/test_1_syntax_error_tests.txt",
    "src/test_1_tests.txt",
    "src/test_3_tests.txt",
    "crypto/aes/aes.c",
    "crypto/aes/aes_test.cc",
    "crypto/aes/asm/aes-586.pl",
    "crypto/aes/asm/aes-armv4.pl",
    "crypto/aes/asm/aes-x86_64.pl",
    "crypto/aes/asm/aesni-x86.pl",
    "crypto/aes/asm/aesni-x86_64.pl",
    "crypto/aes/asm/aesv8-armx.pl",
    "crypto/aes/asm/bsaes-armv7.pl",
    "crypto/aes/asm/bsaes-x86_64.pl",
    "crypto/aes/asm/vpaes-x86.pl",
    "crypto/aes/asm/vpaes-x86_64.pl",
    "crypto/bn/add.c",
    "crypto/bn/asm/armv4-mont.pl",
    "crypto/bn/asm/armv8-mont.pl",
    "crypto/bn/asm/rsaz-avx2.pl",
    "crypto/bn/asm/x86-mont.pl",
    "crypto/bn/asm/x86_64-mont.pl",
    "crypto/bn/asm/x86_64-mont5.pl",
    "crypto/bn/bn.c",
    "crypto/bn/bn_test.cc",
    "crypto/bn/bn_tests.txt",
    "crypto/bn/cmp.c",
    "crypto/bn/convert.c",
    "crypto/bn/ctx.c",
    "crypto/bn/div.c",
    "crypto/bn/exponentiation.c",
    "crypto/bn/gcd.c",
    "crypto/bn/generic.c",
    "crypto/bn/internal.h",
    "crypto/bn/montgomery.c",
    "crypto/bn/montgomery_inv.c",
    "crypto/bn/mul.c",
    "crypto/bn/random.c",
    "crypto/bn/rsaz_exp.c",
    "crypto/bn/rsaz_exp.h",
    "crypto/bn/shift.c",
    "crypto/chacha/asm/chacha-armv4.pl",
    "crypto/chacha/asm/chacha-armv8.pl",
    "crypto/chacha/asm/chacha-x86.pl",
    "crypto/chacha/asm/chacha-x86_64.pl",
    "crypto/chacha/chacha_test.cc",
    "crypto/cipher/e_aes.c",
    "crypto/cipher/internal.h",
    "crypto/cipher/test/aes_128_gcm_tests.txt",
    "crypto/cipher/test/aes_128_key_wrap_tests.txt",
    "crypto/cipher/test/aes_256_gcm_tests.txt",
    "crypto/cipher/test/aes_256_key_wrap_tests.txt",
    "crypto/cipher/test/chacha20_poly1305_old_tests.txt",
    "crypto/cipher/test/chacha20_poly1305_tests.txt",
    "crypto/cipher/test/cipher_test.txt",
    "crypto/constant_time_test.c",
    "crypto/cpu-aarch64-linux.c",
    "crypto/cpu-arm-linux.c",
    "crypto/cpu-arm.c",
    "crypto/cpu-intel.c",
    "crypto/crypto.c",
    "crypto/curve25519/asm/x25519-asm-arm.S",
    "crypto/curve25519/asm/x25519-asm-x86_64.S",
    "crypto/curve25519/curve25519.c",
    "crypto/curve25519/internal.h",
    "crypto/curve25519/x25519-x86_64.c",
    "crypto/ec/asm/ecp_nistz256-armv4.pl",
    "crypto/ec/asm/ecp_nistz256-armv8.pl",
    "crypto/ec/asm/ecp_nistz256-x86.pl",
    "crypto/ec/asm/ecp_nistz256-x86_64.pl",
    "crypto/ec/asm/p256-x86_64-asm.pl",
    "crypto/ec/ecp_nistz.c",
    "crypto/ec/ecp_nistz.h",
    "crypto/ec/ecp_nistz256.c",
    "crypto/ec/ecp_nistz256.h",
    "crypto/ec/ecp_nistz256_table.inl",
    "crypto/ec/ecp_nistz384.h",
    "crypto/ec/ecp_nistz384.inl",
    "crypto/ec/ecp_nistz384_mul.inl",
    "crypto/ec/gfp_constant_time.c",
    "crypto/ec/gfp_internal.h",
    "crypto/ec/gfp_limbs.inl",
    "crypto/ec/gfp_p256.c",
    "crypto/ec/gfp_p384.c",
    "crypto/ec/wnaf.c",
    "crypto/internal.h",
    "crypto/mem.c",
    "crypto/modes/asm/aesni-gcm-x86_64.pl",
    "crypto/modes/asm/ghash-armv4.pl",
    "crypto/modes/asm/ghash-x86.pl",
    "crypto/modes/asm/ghash-x86_64.pl",
    "crypto/modes/asm/ghashv8-armx.pl",
    "crypto/modes/gcm.c",
    "crypto/modes/internal.h",
    "crypto/perlasm/arm-xlate.pl",
    "crypto/perlasm/readme",
    "crypto/perlasm/x86asm.pl",
    "crypto/perlasm/x86gas.pl",
    "crypto/perlasm/x86masm.pl",
    "crypto/perlasm/x86nasm.pl",
    "crypto/perlasm/x86_64-xlate.pl",
    "crypto/poly1305/asm/poly1305-armv4.pl",
    "crypto/poly1305/asm/poly1305-armv8.pl",
    "crypto/poly1305/asm/poly1305-x86.pl",
    "crypto/poly1305/asm/poly1305-x86_64.pl",
    "crypto/poly1305/internal.h",
    "crypto/poly1305/poly1305.c",
    "crypto/poly1305/poly1305_test.cc",
    "crypto/poly1305/poly1305_test.txt",
    "crypto/rand/sysrand.c",
    "crypto/rsa/blinding.c",
    "crypto/rsa/internal.h",
    "crypto/rsa/rsa.c",
    "crypto/rsa/rsa_impl.c",
    "crypto/sha/asm/sha-armv8.pl",
    "crypto/sha/asm/sha-x86_64.pl",
    "crypto/sha/asm/sha256-586.pl",
    "crypto/sha/asm/sha256-armv4.pl",
    "crypto/sha/asm/sha256-armv8.pl",
    "crypto/sha/asm/sha256-x86_64.pl",
    "crypto/sha/asm/sha512-586.pl",
    "crypto/sha/asm/sha512-armv4.pl",
    "crypto/sha/asm/sha512-armv8.pl",
    "crypto/sha/asm/sha512-x86_64.pl",
    "crypto/test/bn_test_convert.c",
    "crypto/test/bn_test_lib.c",
    "crypto/test/bn_test_lib.h",
    "crypto/test/bn_test_util.h",
    "crypto/test/file_test.cc",
    "crypto/test/file_test.h",
    "crypto/test/rand.h",
    "crypto/test/scoped_types.h",
    "include/openssl/aes.h",
    "include/openssl/arm_arch.h",
    "include/openssl/base.h",
    "include/openssl/bn.h",
    "include/openssl/cpu.h",
    "include/openssl/err.h",
    "include/openssl/mem.h",
    "include/openssl/opensslconf.h",
    "include/openssl/rsa.h",
    "include/openssl/type_check.h",
    "examples/checkdigest.rs",
    "third-party/NIST/README.md",
    "third-party/NIST/sha256sums.txt",
    "third-party/NIST/SHAVS/SHA1LongMsg.rsp",
    "third-party/NIST/SHAVS/SHA1Monte.rsp",
    "third-party/NIST/SHAVS/SHA1ShortMsg.rsp",
    "third-party/NIST/SHAVS/SHA224LongMsg.rsp",
    "third-party/NIST/SHAVS/SHA224Monte.rsp",
    "third-party/NIST/SHAVS/SHA224ShortMsg.rsp",
    "third-party/NIST/SHAVS/SHA256LongMsg.rsp",
    "third-party/NIST/SHAVS/SHA256Monte.rsp",
    "third-party/NIST/SHAVS/SHA256ShortMsg.rsp",
    "third-party/NIST/SHAVS/SHA384LongMsg.rsp",
    "third-party/NIST/SHAVS/SHA384Monte.rsp",
    "third-party/NIST/SHAVS/SHA384ShortMsg.rsp",
    "third-party/NIST/SHAVS/SHA512LongMsg.rsp",
    "third-party/NIST/SHAVS/SHA512Monte.rsp",
    "third-party/NIST/SHAVS/SHA512ShortMsg.rsp",
]

[lib]
name = "ring"

[dependencies]
untrusted = "0.3"

[target.'cfg(unix)'.dependencies]
lazy_static = "0.2.1"

[features]
# These features are documented in the top-level module's documentation.
default = ["use_heap", "dev_urandom_fallback"]
dev_urandom_fallback = []
internal_benches = []
rsa_signing = []
slow_tests = []
test_logging = []
use_heap = []

# XXX: debug = false because of https://github.com/rust-lang/rust/issues/34122

[profile.bench]
opt-level = 3
debug = false
rpath = false
lto = true
debug-assertions = false
codegen-units = 1

[profile.release]
opt-level = 3
debug = false
rpath = false
lto = true
debug-assertions = false
codegen-units = 1