Brian Smith
d732cbc5a9
Merge BoringSSL c5e9ac1: Move AES-GCM-SIV out from SMALL and handle unaligned keys.
2018-04-28 16:44:03 -10:00
Brian Smith
73fc52a8f1
Merge BoringSSL 2e2a226: Move cipher/ into crypto/fipsmodule/.
...
This also includes a refactoring to replace two implementations of
`hwaes_capable()` with one implementation.
2018-04-28 15:48:38 -10:00
Brian Smith
f194794df8
Merge BoringSSL b0521e3: Add AES-GCM-SIV assembly.
...
NPOTB.
2018-04-28 15:13:21 -10:00
Brian Smith
6e24235d6b
Merge BoringSSL aacb72c: Move ec/ and ecdsa/ into fipsmodule/.
2018-04-27 16:30:52 -10:00
Brian Smith
6978033929
Merge BoringSSL 5c38c05: Move bn/ into crypto/fipsmodule/.
2018-04-27 15:12:08 -10:00
Ryan Leckey
1caad72349
Remove -fdata-sections and -ffunction-sections (let cc set these if needed)
2018-04-05 09:43:19 -10:00
Josh Stone
f857df6d27
Update to rayon 1.0
...
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2018-04-04 16:47:39 -10:00
Pietro Monteiro
72397dfa71
Define Android API level needed for AArch64.
2018-01-26 13:14:25 -10:00
Brian Smith
affdca5d1c
Merge BoringSSL 0648129: Move modes/ into the FIPS module.
2018-01-09 16:56:49 -10:00
Brian Smith
61a3cd17e9
Merge BoringSSL 8c62d9d: Move AES code into the FIPS module.
2018-01-09 14:14:04 -10:00
Brian Smith
d497af3778
Merge BoringSSL fd49993: First part of the FIPS module.
...
Most of this infrastructure for FIPS is not relevant to *ring* in its
current state (though that may change in the future) so most of it is
ignored.
BoringSSL changed the way that the assembly language code accesses the
CPU feature flags to add a new level of indirection to support their
needs for FIPS. That would be a regression (a miniscule one) with no
upside for *ring*, so don't merge that change. That means the asm code
will be slightly different between *ring* and BoringSSL, but that was
already the case due to the symbol renaming we did.
We assume no tests were added in the BoringSSL commit.
2017-12-29 13:22:56 -10:00
Brian Smith
72f5e2ebf0
Avoid trying to disable removed fat_ptr_transmutes
antifeature.
...
The antifeature was removed from rustc in 2014, according to a new warning,
so this was doing nothing.
2017-12-24 09:50:10 -10:00
Ryan Leckey
8411c0098a
Add support for i386-apple-ios in ASM_TARGETS.
2017-11-03 14:32:48 -10:00
Ryan Leckey
1d3ac2ed95
Add x86-64, ios, macosx to the ASM_TARGETS array.
...
This fixes the build on x86_64-apple-ios.
2017-11-03 14:32:48 -10:00
Brian Smith
300f0d6ff5
Use cc 1.0, which replaces the old gcc crate.
2017-09-19 18:31:26 -10:00
Brian Smith
4e912c1d36
Fix unused_results lint failure in build.rs on Nightly.
...
The failure is new in Nightly because the `unused_results` lint was
changed.
2017-08-27 14:56:23 -10:00
Brian Smith
05ded0198e
Move #[allow(box_pointers)]
to the narrowest scope it is needed.
...
`#[allow(box_pointers)]` is only needed in uninteresting code, so
move it to exactly where it is needed.
2017-08-27 11:53:26 -10:00
Brian Smith
9ad82eb228
Rationalize #![allow]
, #![deny]
, #![forbid]
in build.rs.
...
Don't explicitly enumerate things covered by `#[forbid(warnings)]`.
Allow `box_pointers` since the build breaks if we don't allow it.
2017-08-27 11:45:05 -10:00
Brian Smith
abc0c47957
Update dependencies to newest versions.
2017-08-18 14:22:40 -10:00
Brian Smith
4674aabd1d
Revert "Define Android API level needed for AArch64."
...
This reverts commit 759f1cc51fe5f5112066b0bb482514eea988bca0.
2017-06-12 11:03:33 -10:00
Pietro Monteiro
759f1cc51f
Define Android API level needed for AArch64.
2017-06-08 10:12:58 -10:00
Brian Smith
9a3878a192
Enforce the unused_qualifications
lint.
2017-05-17 21:47:52 -10:00
Brian Smith
60867f2642
Remove GFp/err.h and clean up leftover unused bits.
2017-04-27 16:06:22 -10:00
Brian Smith
c86906bc68
Remove GFp_BN_bin2bn()
.
2017-04-27 14:44:34 -10:00
Brian Smith
ede257442b
Use the new field init shorthand syntax where applicable.
2017-04-27 11:58:20 -10:00
Brian Smith
d7d2199620
Replace GFp_BN_is_odd()
.
2017-04-26 17:24:44 -10:00
Brian Smith
aa6dcd5b55
Replace GFp_BN_usub()
.
2017-04-26 17:24:40 -10:00
Brian Smith
8c1d54b353
Replace GFp_BN_mod_sub_quick()
.
2017-04-26 17:17:52 -10:00
Brian Smith
76a44de074
Don't build with warnings-as-errors when building from crates.io.
2017-04-25 10:44:53 -10:00
Brian Smith
f9528db33e
Replace crypto/bn/random.c with Rust code.
2017-04-25 00:10:02 -10:00
Brian Smith
efdffc91db
Remove now-unused BIGNUM functions, and bn_test.cc (the last C++ use).
...
These functions can be removed thanks to the new modular inversion
implementation.
2017-04-24 16:29:37 -10:00
Brian Smith
ff71d521ff
Use "GFp/" instead of "openssl/" for #includes.
...
Avoid any potential conflicts with OpenSSL header files by using a
different namespace.
2017-04-19 14:56:44 -10:00
Peter Reid
63069777b5
Convert random chunk generation from C to Rust
...
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2017-04-16 18:27:26 -10:00
Brian Smith
0aea3d20c2
Remove now-unused/unneeded headers.
2017-04-16 12:58:28 -10:00
Brian Smith
cdc1301b3c
Always use ".obj" as the file extension for pre-assembled object files.
...
This addresses one issue with windows-gnu builds.
2017-04-11 18:16:23 -10:00
Brian Smith
905aca9301
Revert "Use .obj as the object file name for all Windows targets, not just MSVC."
...
This reverts commit 1e7225bfaa52b4d3f1a30fcc8036c72ff3736c55. That
wasn't quite right.
2017-04-11 18:12:18 -10:00
Brian Smith
1e7225bfaa
Use .obj as the object file name for all Windows targets, not just MSVC.
...
The pregenerated object files are named ".obj", regardless of whether
the target is -msvc or -gnu.
2017-04-11 18:05:10 -10:00
Brian Smith
1e1021d05b
Don't assume $PWD is the Cargo manifest directory.
...
It seems that it isn't the case, at least when cross-compiling from
Linux to Windows.
2017-04-11 17:55:39 -10:00
Brian Smith
2c31f8d545
Print out command line when a command execution fails in build.rs.
2017-04-11 15:18:26 -10:00
Josh Stone
9f0e0286b3
Update to rayon 0.7
...
I agree to license my contributions to each file under the terms given
at the top of each file I changed.
2017-04-07 15:43:23 -10:00
Brian Smith
d51e389673
Remove now-unused GFp_RAND_bytes
.
2017-04-07 15:41:06 -10:00
Brian Smith
3c95a29cc3
Remove non-ASCII characters from C/C++ files; drop /utf-8
on MSVC.
...
Only the newest versions of MSVC 2015's and MSVC 2017's cl.exe support
the `/utf-8` flag. MSVC 2013 and even the initial versions of MSVC 2015
didn't support it. Make it a non-issue by removing the single non-ASCII
character in C/C++ files.
2017-04-05 14:11:49 -10:00
Stephen Oliver
f674a7e945
Don't require a C++ compiler for -musl targets.
...
Also, don't build/run `bn_tests` unless RSA signing is enabled, since
the functionality that `bn_tests` tests is RSA-signing-specific.
2017-04-01 16:26:21 -10:00
CrLF0710
a004549b97
Fix windows gnu build.
2017-04-01 15:52:52 -10:00
Brian Smith
8b026c93f2
Replace C code for serializing Elems
with Rust code.
2017-03-19 11:48:57 -10:00
Brian Smith
819ad75b4e
Disable bn_test.cc on macOS/iOS to avoid worrying about libc++ vs libstdc++.
2017-03-18 22:56:36 -10:00
Brian Smith
16ad542987
Restore some MSVC flags that were used in the MSBuild-based builds.
...
"/Ox" implies a lot of the other flags that were passed explicitly.
2017-03-18 17:37:53 -10:00
Brian Smith
ad39dd1623
Enable debug assertions based on $DEBUG, not $PROFILE.
2017-03-18 17:37:51 -10:00
Brian Smith
f7f1fb7773
Remove unused crypto/perlasm/x86masm.pl.
2017-03-18 15:31:16 -10:00
Brian Smith
dd659d2994
Improve Perlasm machinery for SHA-2 on X86-64 and ARMv8.
...
Rename sha-{x86_64, armv8}.pl back to sha512-{x86_64, armv8}.pl. This
will simplify copmarisons between BoringSSL and *ring*.
Replace the *ring*-specific hacky logic done in Perl with hacky logic
done in Rust. The purpose of this hack is to deal with the fact that
sha512-{x86_64, armv8}.pl need to be run twice, once with "512" in the
output file path to generate
`GFp_sha512_block_data_order`, and again with "256" in the output file
path to generate `GFp_sha256_block_data_order`.
2017-03-18 15:31:15 -10:00