Commit Graph

242 Commits

Author SHA1 Message Date
Jeffrey Walton
46c9cc725c
Use C++03 Singleton on select Microsoft platforms (Issues 372, 373, 389, 391)
We are back to the "... one object may end up being memory leaked" if faced with concurrent initialization
2017-03-15 06:20:45 -04:00
Jeffrey Walton
a0bb490056
Define _XOPEN_SOURCE for Cygwin/Newlib (Issue 315) 2017-03-10 01:53:51 -05:00
Jeffrey Walton
5efb019d8b
Add C++ nullptr support (Issue 383) 2017-03-01 06:10:06 -05:00
Jeffrey Walton
62f92dd592
Change next version from 5.7 to 6.0
Crypto++ 5.7 was the increment after the 5.6.5 release. Crypto++ 6.0 accurately reflects compatibility
2017-02-21 12:59:20 -05:00
anonimal
8558bc519c
config.h: add DragonFly BSD support 2017-02-19 07:04:38 +00:00
Jeffrey Walton
81b1a18063
Change file preamble to include "originally written by Wei Dai"
We have made a fair number of changes, and we don't want WD to receive credit for issues he was not part of
2017-01-27 07:05:45 -05:00
Jeffrey Walton
79f3ab89f1
Removed remaining CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY (Issue 369) 2017-01-27 06:02:58 -05:00
Jeffrey Walton
b129818c35
Add GCC inline ASM for PMULL and PMULL2
The macros that invoke GCC inline ASM have better code generation and speedup GCM ops by about 70 MiB/s on an Opteron 1100. The intrinsics are still available for Windows platforms and Visual Studio 2017 and above
2017-01-19 02:38:00 -05:00
Jeffrey Walton
8eb1b6cb6b
Update CRYPTOPP_BOOL_ARM_PMULL_INTRINSICS_AVAILABLE availability (Issue 362)
PMULL and PMULL2 are available on Aarch64 only, and not Aarch32 or A-32
2017-01-16 05:35:53 -05:00
Jeffrey Walton
c80502102a
Breakout __ARM_FEATURE_CRYPTO into PMULL, AES and SHA for Apple Clang (Issue 362)
It appears Apple Clang disgorges carryless multiply (PMULL) from Crypto (AES and SHA). The breakout added CRYPTOPP_BOOL_ARM_PMULL_INTRINSICS_AVAILABLE for PMULL, and retained CRYPTOPP_BOOL_ARM_CRYPTO_INTRINSICS_AVAILABLE for AES and SHA only
2017-01-15 00:22:14 -05:00
Jeffrey Walton
732601e8b6
Microsoft still does not suport ARMv8 and the ARM intrinscs
Remove the define for now. Maybe Microsoft will support it in 2019 or 2020
2017-01-13 23:57:11 -05:00
klemens
5a5c633073 spelling fixes 2016-12-27 18:34:57 +01:00
Jeffrey Walton
1a17ade299
Fixed version numbers
Version numbers are rolled back to update the docs. The rolled back versions got committed with the updated docs
2016-12-11 07:06:38 -05:00
Jeffrey Walton
99ae937d8b
Updated documentation (Issue 121) 2016-12-11 06:56:52 -05:00
Jeffrey Walton
d01467b754
Use 'static const int' for constants in Doxygen documentation (Issue 343) 2016-12-04 16:07:10 -05:00
Jeffrey Walton
d45763a7ae
Removed CRYPTOPP_DISABLE_X86ASM macro (Issue 70) 2016-12-03 05:16:23 -05:00
Jeffrey Walton
ba75834ae9
Removed VC++ 5.0 and 6.0 workarounds (Issue 342) 2016-12-03 05:05:56 -05:00
Jeffrey Walton
40230dd3bf
Removed MAINTAIN_BACKWARDS_COMPATIBILITY_562 (Issue 70) 2016-12-03 00:32:07 -05:00
Jeffrey Walton
c8b910aff5
Backed-off automatically setting CRYPTOPP_BOOL_SSE_SHA_INTRINSICS_AVAILABLE due to bad interaction with '-march=x86-64'. Disgorge SSE2 implementation from CXX implementation 2016-12-01 23:35:13 -05:00
Jeffrey Walton
82009ecf41
Increment version to 5.7 due to ABI break *Issue 337)
We still need to supply a patch for those maintaining 5.6.x
2016-12-01 18:10:56 -05:00
Jeffrey Walton
70d7297559 Merge pull request #339 from ralphtandetzky/master
Fix: GCC warning "type qualifiers ignored on function return type".
2016-12-01 09:56:39 -05:00
Ralph Tandetzky
35a2ef10a2 Fix: GCC warning "type qualifiers ignored on function return type".
This pedantic message appeared all over the code. Also removed one warning about an unused variable in release build.
2016-12-01 15:37:04 +01:00
Jeffrey Walton
7ab9b00f90
Add Intel SHA1 extension support 2016-12-01 00:49:59 -05:00
Jeffrey Walton
2b736bc6f1
Fix "deprecated conversion from string constant to ‘char*’" 2016-11-14 19:45:08 -05:00
Jeffrey Walton
76b11b010c
Add CRYPTOPP_STATIC_CONSTEXPR macro 2016-11-13 11:50:34 -05:00
Jeffrey Walton
61aa62bd8f
Add CRYPTOPP_STATIC_CONSTEXPR 2016-11-12 09:34:34 -05:00
Jeffrey Walton
aa8260df2c
Use enum for Doxygen processing 2016-11-10 02:04:46 -05:00
Jeffrey Walton
84b602cc7d
Fix compile under Debian Hurd (i386)
Debian Hurd defines __MACH__, and it was picking up "#define CRYPTOPP_SECTION_INIT __attribute__((section (__DATA,__data)))" intended for Apple linkers
2016-10-28 00:33:43 -04:00
Jeffrey Walton
69de0d591b
Fix "operator '>=' has no left operand" (Issue 329) 2016-10-27 14:20:51 -04:00
Jeffrey Walton
5596f73371
Fix Cygwin Newlib signal handler (Issue 315) 2016-10-14 15:00:49 -04:00
Jeffrey Walton
4d562aaac7
Post-release version increment 2016-10-11 14:37:03 -04:00
Jeffrey Walton
e09d8a2491
Fix Cygwin compile due to missing <signal.h> 2016-10-01 22:12:08 -04:00
Jeffrey Walton
2efedfb5ab
Reset config.h that cross-pollinated from AES dev-branch 2016-09-30 01:19:44 -04:00
Jeffrey Walton
4c1b5472cc Cutover to SecByteBlock member for AES (Issue 302, CVE-2016-7544) 2016-09-30 01:09:21 -04:00
Jeffrey Walton
e0651b458f Fix Visual Studio 2005 compile (Part of Issue 300) 2016-09-22 23:54:10 -04:00
Jeffrey Walton
06e29357cb config.compat
Fix MSC compile under ARM
2016-09-21 02:02:55 -04:00
Jeffrey Walton
32ae3e52f1 Partially revert 714daaf570.
We were mostly OK under i686/x86_64, but Clang died completely under ARM-32 and Aarch64.
2016-09-21 00:35:59 -04:00
Jeffrey Walton
31a7b99f9e Remove CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 from block defining word64 based on data models
We use the samllest word size that meets requirements, not th e largest size. That helps us get to a word128 on more platforms
2016-09-20 02:26:04 -04:00
Jeffrey Walton
49d7187255 Cleanup feature defines in <config.h>. Cleanup intrinsic includes in <cpu.h> 2016-09-20 00:35:27 -04:00
Jeffrey Walton
0e9da81311 Fix compile under CentOS 5 with GCC 4.1 2016-09-19 23:00:33 -04:00
Jeffrey Walton
923efa865b Fix Solaris GCC and "constructor priorities are not supported" 2016-09-19 21:18:58 -04:00
Jeffrey Walton
6422ecfbeb Fix CRYPTOPP_UNUSED macro and CVE number 2016-09-19 17:55:36 -04:00
Jeffrey Walton
151521d68f Cleanup use of CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562 2016-09-19 00:56:01 -04:00
Jeffrey Walton
714daaf570 Fix broken Clang compile with -march=x86-64 (Issue 283)
It would be great if Clang stopped pretending to be other compilers. In the absence of honesty, it would be nice if it consumed the same programs GCC does
2016-09-19 00:51:35 -04:00
Jeffrey Walton
fb6a11ff08 Remove library supplied aesenc, aesdec and friends (Issue 206) 2016-09-18 21:06:41 -04:00
Jeffrey Walton
f57c4dced5 Moved config.h → config.compat; moved config.recommend → config.h
Also see http://groups.google.com/forum/#\!topic/cryptopp-users/bWcRw1XgJ_Q
2016-09-18 12:36:50 -04:00
Jeffrey Walton
399a1546de Add CRYPTOPP_ASSERT (Issue 277, CVE-2016-7420)
trap.h and CRYPTOPP_ASSERT has existed for over a year in Master. We deferred on the cut-over waiting for a minor version bump (5.7). We have to use it now due to CVE-2016-7420
2016-09-16 11:27:15 -04:00
Jeffrey Walton
aa5767cccf Post-release version increment 2016-09-11 14:35:21 -04:00
Jeffrey Walton
3074541e92 Bump Crypto++ version number from 5.6.3 to 5.6.4 2016-09-10 02:51:54 -04:00
Jeffrey Walton
677c09584c Removed workspace and project files from FileList.txt. Cleared 'make convert' error for makefile recipe 2016-09-09 03:33:06 -04:00
Jeffrey Walton
7f958575ea Squashed commit of the following:
commit 47c75c6e9397e240919207e50e5a611d3e2a2428
Merge: d7685c2 42085ee
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 20:20:39 2016 -0400

    Attempting to fix binary file merge conflict

commit d7685c2d946beecc419ddb6901c24e972c7cf3ee
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 16:39:23 2016 -0400

    Add vsClean.cmd to vs2010.zip

commit 4b96fdf1c551260da60eb021f324bcc3fcfec626
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 16:15:38 2016 -0400

    Add Keccak to vs2010.zip

commit 3962db73b7113ee805b46a5bb4da64e204fe6bb0
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 15:40:35 2016 -0400

    Fold hmqv.cpp and fhmqv.cpp into mqv.cpp. There's no need for three empty source files

commit 44401448cbb6c8125b0f1ab4419c5b174408ffd7
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 15:39:23 2016 -0400

    Fold hmqv.cpp and fhmqv.cpp into mqv.cpp. There's no need for three empty source files

commit 847bfccb8d5c388e67745dc8c69768fa503c5135
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 14:48:02 2016 -0400

    Whitespace cleanup

commit 46a37be6fef361704dcf852bc9a099ce0a1da4c8
Merge: aefb8f8 3697867
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 14:43:01 2016 -0400

    Merge 'master' into 'keccak'

commit aefb8f8ff2b81b967089c53b457a92fc6f7544d6
Merge: 51a828b 3c91d93
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 12:39:51 2016 -0400

    Merge 'master' into 'keccak'

commit 51a828b88e37a4d18abb00300cd5522bd0e110c5
Merge: 4152870 e7c7722
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 10:41:36 2016 -0400

    Merge 'master' into 'keccak'

commit 415287041e69ddadf5ca1f6fc794b87e145fc2db
Merge: 357a0c5 83ac849
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 10:34:45 2016 -0400

    Merge 'master' into 'keccak'

commit 357a0c510f75e4e58078b500dd469462e90f7650
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 10:13:32 2016 -0400

    Removed deprecated warning from SHA3 classes

commit 5cf9ec10d53b895b5a583e265e4e1298ed402195
Merge: 10ce0ed c2d60cc
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 09:43:15 2016 -0400

    Merge 'master' into 'keccak'

commit 10ce0ed4c5b8a1ea230062fd2dfdec0d87ec5b42
Author: Jeffrey Walton <noloader@gmail.com>
Date:   Thu Sep 8 09:37:40 2016 -0400

    Add Keccak implementation based on early SHA3. Change SHA3 to NIST FIPS 202 conforming implementation
2016-09-08 20:24:25 -04:00
Jeffrey Walton
e609559f06 Use "unsigned long" rather than "unsigned long long" for word64 when '_LP64 || __LP64__'
Guard use of the change on CRYPTOPP_MAINTAIN_BACKWARDS_COMPATIBILITY_562
2016-09-08 03:33:05 -04:00
Jeffrey Walton
f0e7b45bcb Remove comma operator from return values for StaticGetDefaultRounds and StaticGetValidKeyLength in non-constexpr builds (Issue 255) 2016-09-07 09:32:06 -04:00
Jeffrey Walton
9205efda02 Add constexpr to CRYPTOPP_CONSTANT when CRYPTOPP_CXX11_CONSTEXPR is in effect 2016-09-06 08:53:55 -04:00
Jeffrey Walton
a62aee441f Backed out use of "static const" to declare constant; switch to "enum" (Issue 255) 2016-09-06 04:04:03 -04:00
Jeffrey Walton
f23314f731 Add configuration support for C++11 constexpr 2016-09-01 22:45:44 -04:00
Jeffrey Walton
3f6d499c19 Fix missing arm_acle.h under GCC 4.8. Rearrange some defines to better account for ARM and MIPS 2016-08-01 13:41:42 -04:00
Jeffrey Walton
e2bf6824ff Fix cannot convert between 'word64*' and 'uint64_t*' and -fpermissive 2016-07-24 13:40:58 -04:00
Jeffrey Walton
df47660605 Remove unneeded 'defined(__INTEL_COMPILER)' 2016-07-19 00:09:29 -04:00
Jeffrey Walton
686aef6028 Remove second definition of CRYPTOPP_ALIGN_DATA using alignas 2016-07-18 21:53:18 -04:00
Jeffrey Walton
5ad7bbd0c7 Guard CRYPTOPP_CXX11 for STLport
On Android, the compiler will define __cplusplus=201103L when using -std=c++11 even with STLport. STLport appears to be abandoned sometime around 2008.
2016-07-17 20:20:36 -04:00
Jeffrey Walton
b0b7b71562 Aloow GCC to particpate in MACH-O initialization 2016-07-12 23:38:30 -04:00
Jeffrey Walton
5080a065ce Clear Valgrind findings under -Ofast 2016-07-12 23:05:00 -04:00
Jeffrey Walton
ebef1f418b Disable automatic detection of CRYPTOPP_BOOL_SSE4_INTRINSICS_AVAILABLE for SunCC. Remove #error for C++17 (Issue 222) 2016-07-12 11:05:05 -04:00
Jeffrey Walton
268b261739 Update comment for Sun Studio 12.4 2016-07-11 00:39:13 -04:00
Jeffrey Walton
53e2147d8d Fix compile under Sun Studio 12.3 and below with -xarch=aes defines 2016-07-10 20:40:45 -04:00
Jeffrey Walton
6c0b120072 Go back to Commit 66ada4cc61 2016-07-06 14:39:18 -04:00
Mouse
87be783cd1 Revert "Merge remote-tracking branch 'upstream/master'" - not intended to be merged by me
This reverts commit 762c315566, reversing
changes made to b48866631a.
2016-07-06 12:01:28 -04:00
Jeffrey Walton
fb72dbc8cb Add MacPorts GCC compiler and Clang integrated assembler support. This is a merge of the development branch 'clang-ia' 2016-07-05 02:48:27 -04:00
Jeffrey Walton
2d0dd95dda Fix "CRYPTOPP_USE_FIPS_202_SHA3 redfined" when using config.recommned with CRYPTOPP_USE_FIPS_202_SHA3 defined on command line 2016-07-04 17:51:09 -04:00
Jeffrey Walton
ff8105404e Break build when we encounter Clang pretending to be VC++ (Issue 147) 2016-06-22 09:50:23 -04:00
Jeffrey Walton
b1df5736a7 Merge 'solaris' dev branch into 'master' 2016-06-15 05:02:28 -04:00
Jeffrey Walton
c1f025343a Add C++11 alignas support. Deleting 'alignas' branch 2016-06-14 19:14:09 -04:00
Jeffrey Walton
0414faff8e Revert "Add hack to pickup C++11 alignas"
This reverts commit 16df6e64a8. Detailed testing is revealing some fractures. The pain point seems to be C++11 is more strict about the location of the 'alignas(N)' in the statement-expression. Some compilers accept a looser grammar; while others do not.

Clang 3.3 is rejecting some of the statements with CRYPTOPP_ALIGN_DATA(N). Others may do the same, and we need to look at ICC in particular.
2016-06-07 15:22:11 -04:00
Jeffrey Walton
16df6e64a8 Add hack to pickup C++11 alignas 2016-06-06 23:57:46 -04:00
Jeffrey Walton
e961c2da5b Merge Atomics branch into Master 2016-06-06 22:08:04 -04:00
Jeffrey Walton
ec8c794a26 Removed duplicate C++11 atomics block. Fixed comment on CRYPTOPP_CXX11_ALIGNAS availability under MS toolchain 2016-05-30 17:46:00 -04:00
Jeffrey Walton
3a26c34721 Simplified tests ARM features. Tied ARM intrinsics to CRYPTOPP_DISABLE_ASM to allow easier user control and testing 2016-05-22 13:02:53 -04:00
Jeffrey Walton
733c78ba23 Relocate ARM defines to contribute to CRYPTOPP_BOOL_ALIGN16 2016-05-21 15:50:04 -04:00
Jeffrey Walton
d7c832b813 Remove ILP32 from CRYPTOPP_L1_CACHE_LINE_SIZE. Clang defines it for all 32-bit data models, and not just X32 2016-05-20 16:38:42 -04:00
Jeffrey Walton
9534ce5bc5 Add ARM-64 defines for CRYPTOPP_L1_CACHE_LINE_SIZE 2016-05-20 16:28:55 -04:00
Jeffrey Walton
5e719b95bb Merge branch 'master' into windows-store 2016-05-16 20:38:02 -04:00
Jeffrey Walton
f21c15d7af Fix iOS ARM CRC32 and Crypto detection 2016-05-16 20:37:22 -04:00
Jeffrey Walton
b42cc4676f Merge branch 'master' into windows-store 2016-05-16 18:48:49 -04:00
Jeffrey Walton
e846beac35 Add defines for ARMv8 CRC32 and Crypto extensions 2016-05-16 18:47:31 -04:00
Jeffrey Walton
1f70c6aecc Merge branch 'master' into windows-store 2016-05-15 08:25:45 -04:00
Jeffrey Walton
480532931b Improve Apple iOS support for ARM and NEON. Add ARM Crypto detection 2016-05-15 08:24:51 -04:00
Jeffrey Walton
8313d082ad Merge branch 'master' into windows-store 2016-05-15 05:59:30 -04:00
Jeffrey Walton
950cf4cdb9 Improve ARM feature detection for ARM64 2016-05-15 05:37:39 -04:00
Jeffrey Walton
ba6e56e4a2 Merge branch 'master' into windows-store 2016-05-15 02:40:34 -04:00
Jeffrey Walton
01f77765d4 Add basic ARM and Windows Store support 2016-05-15 02:30:08 -04:00
Jeffrey Walton
d294b4290b Add changes for Windows Sotre that went missing with my clumsy Git skills 2016-05-09 03:07:57 -04:00
Jeffrey Walton
b499b8ba65 Fix Windows Phone compile (Issue 162) 2016-04-25 16:36:54 -04:00
Jeffrey Walton
dfac7ec28b Fix Debian 8/GCC 4.9 compile on Core2 Duo 2016-04-25 01:43:45 -04:00
Jeffrey Walton
d83e4a0704 Add comment on test vectors used for CRYPTOPP_USE_FIPS_202_SHA3 2016-04-24 00:03:21 -04:00
Jeffrey Walton
01d137155c Add SHA3/FIPS 202 test vectors. Add note to config.h on uncommenting sha3_fips_202.txt when defining CRYPTOPP_USE_FIPS_202_SHA3 2016-04-23 21:55:47 -04:00
Jeffrey Walton
df1c94a38a Initial cut-in of CRYPTOPP_USE_FIPS_202_SHA3 macro 2016-04-23 18:47:23 -04:00
Jeffrey Walton
2b311f2194 Add CRYPTOPP_DEPRECATED macro 2016-04-23 16:45:35 -04:00
Jeffrey Walton
a11c9e7574 Add SSE4.1 and SSE4.2 feature detection 2016-04-15 16:23:04 -04:00
Jeffrey Walton
d8b02cfaaf Fixed m68k detection (Issue 153) 2016-04-06 01:47:45 -04:00