| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| | |
Move the algorithm factory functions to T::create and move object registration to the source file for its base class. These resolve the issues which prevented successful use of a static library that was built with individual object files. Removes the restriction in configure.py which prevented building non-amalgamation static libs.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Only user-visible change is the removal of get_byte.h
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously we were hanging on the type destructors to pull in
the relevant objects. However that fails in many simple cases
where the object is never deleted.
For every type involved in the algo registry add static create
and providers functions to access the algo registry. Modify
lookup.h to be inline and call those functions, and move
a few to sub-headers (eg, get_pbkdf going to pbkdf.h). So
accessing the registry involves going through the same file
that handles the initialization, so there is no way to end up
with missing objs.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
With this change the tests pass when linked against a static library
built in the normal (non-amalgamation) fashion.
Remove the restriction in configure.py, and have circleci build the
clang static build as a non-amalg.
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The support problems from having static libraries not work in the
obvious way will be endless trouble. Instead have each set of
registrations tag along in a source file for the basic type, at the
cost of some extra ifdefs. On shared libs this is harmless -
everything is going into the shared object anyway. With static libs,
this means pulling in a single block cipher pulls in the text of all
the them. But that's still strictly better than the amalgamation
(which is really pulling in everything), and it works (unlike status quo).
|
| |
| |
| |
| | |
Value checked against `openssl x509 -fingerprint` of same cert
|
| |
| |
| |
| | |
[ci skip]
|
|\ \
| | |
| | | |
Update fuzzer test
|
| |/
| |
| |
| |
| |
| |
| | |
* Handle No_Filesystem_Access case properly
* Use steady_clock for benchmarking
Fixes #276
|
| |
| |
| |
| | |
[ci skip]
|
|/
|
|
|
| |
In error cases the output value was not intialized, so callers which
ignored the error return might blindly use an uninitialized pointer.
|
|\
| |
| | |
Prevent users from building static non-amalgamations on MinGW and Cygwin
|
|/
|
|
|
|
|
|
| |
* Rename variable to avoid confusion of build_shared and
options.build_shared_lib
* Don't automatically change shared -> static. Force user to do that
Fixes #211
|
|
|
|
| |
Found by JOM on MinGW.
|
|
|
|
| |
[ci skip]
|
|
|
|
| |
[ci skip]
|
| |
|
|
|
|
| |
[ci skip]
|
|
|
|
| |
[ci skip]
|
|\
| |
| | |
Update travis configuration for iOS build
|
|/
|
|
| |
Closes #188
|
|\
| |
| | |
Add missing compression overrides
|
|/ |
|
|\
| |
| | |
Build with libc++ C++ standard library on clang for iOS
|
| |
| |
| |
| |
| | |
When building for iOS with clang, the C++ standard library
must be set to libc++ instead of libstdc++.
|
| | |
|
|/ |
|
|
|
|
|
|
| |
In raw mode pad out plaintext inputs with zeros as needed as otherwise
OpenSSL rejects the input as too small. And when decrypting, strip
leading zeros to match the behavior of the base implementation.
|
|
|
|
|
|
| |
Previously 0 was the highest priority and 255 was the lowest. But this
is really quite confusing, instead treat 0 as lowest and 255 as highest
so normal integer intuitions apply.
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
No need to include the pk_utils.h header until we know ECDSA
is enabled in the build.
Move OpenSSL_Error to an internal header, was previously defined
twice when all sources were combined.
|
|\
| |
| |
| |
| | |
Make secure_allocator conforming with C++11 allocator concept.
Add a template constructor and make the equality operators standard-compliant. Missing this broke iterator debugging with MSVC 2015.
|
| |
| |
| | |
The equality operators need to support different specializations as well; this is also part of the standard allocator requirements.
|
| |
| |
| | |
This is required by the Standard for an allocator. As far as I can tell, not having it breaks compilation in MSVC 2015, at least when iterator debugging is enabled. More details here: http://stackoverflow.com/q/31802806/4326278.
|
| |
| |
| |
| | |
protocol handler was specified to the Server constructor. GH #252
|
| | |
|
| |
| |
| |
| |
| | |
Unfortunately the signer cannot be tested in current framework because
OpenSSL does not use RFC 6979 deterministic signatures.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Was attempting to test that the all-zero signature is invalid, then
tested some mutated signatures. Unfortunately it zeroed out the
signature before doing the mutation tests, so the mutated signatures
were all very-low Hamming weight strings instead of being close to
the original valid signature.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Increment the input message so each value is different rather than
repeatedly hashing the same message until we regen a new random one.
In ECDSA speed test be explicit about what group is being used.
Remove 160 bit groups from ECC benchmarking; 80 bits is not enough anymore
so doesn't much matter.
|
| |
| |
| |
| | |
Some tweaks for point multiplication using fixed windows.
|
| | |
|
| | |
|