aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Use rol/ror x86 instructions on GCC/ClangJack Lloyd2017-10-111-2/+24
| | | | | | | Neither is very good at recognizing rotate sequences. For cases where the rotation value is a constant they do fine, but for variable rotations they do horribly. Using inline asm here improved performance of both CAST-128 and CAST-256 by ~20% on my system with both GCC and Clang.
* Merge GH #1248 Unroll SM3 compression loopJack Lloyd2017-10-111-56/+94
|\
| * Unroll SM3 compression functionJack Lloyd2017-10-101-56/+94
| |
* | Helpful commentJack Lloyd2017-10-111-1/+2
| |
* | Remove SSE2 bswap_4Jack Lloyd2017-10-111-24/+0
| | | | | | | | | | It was disabled anyway (bad macro check) and with recent GCC turned out to be slower than just using bswap.
* | Optimize CFB modeJack Lloyd2017-10-112-39/+97
| | | | | | | | Still slower but notably faster at least with AES-NI
* | Add missing headerJack Lloyd2017-10-111-0/+1
| | | | | | | | Error under filesystem-free builds
* | Simplify ffi call overheadJack Lloyd2017-10-115-45/+22
| | | | | | | | Notable reductions in code size, stack size and function call overhead.
* | getenv is in standard C++Jack Lloyd2017-10-091-1/+1
| |
* | Include cstdlib to make os_utils compile with clang.Alexander Bluhm2017-10-091-0/+2
| |
* | Add comments explaining why its ok to rely on deprecated features here.Jack Lloyd2017-10-092-0/+8
| | | | | | | | [ci skip]
* | Add a special Compat_Callbacks constructor to silence deprecation warnings.Jack Lloyd2017-10-093-7/+24
| | | | | | | | | | | | That way we avoid the warning internally even in amalgamation mode. GH #1243
* | Forward declare BigInt in mp_core.hJack Lloyd2017-10-062-1/+3
| | | | | | | | Only needed in one source file here.
* | Remove needless variableJack Lloyd2017-10-061-2/+0
| |
* | Address some bool/int conversion warnings from SonarJack Lloyd2017-10-064-5/+12
| | | | | | | | Nothing major but probably good to clean these up.
* | Address various GCC warningsJack Lloyd2017-10-068-24/+26
| | | | | | | | | | Things like -Wconversion and -Wuseless-cast that are noisy and not on by default.
* | Correct the SHA-3 PKCSv1.5 IDsJack Lloyd2017-10-052-5/+13
| | | | | | | | | | | | | | Thanks to @noloader for pointing me at draft-jivsov-openpgp-sha3-01 which has the correct values. Adds a test so this can't happen again.
* | Mark some functions of MDx_HashFunction finalJack Lloyd2017-10-051-3/+3
| | | | | | | | | | The class itself can't be final but we can final the overrides from HashFunction, which helps the compiler devirtualize.
* | Add missing `override`Jack Lloyd2017-10-051-1/+1
| | | | | | | | | | Redundant with `final` but GCC -Wsuggest-override complains. (This is already a bug filed for this in GCC upstream.)
* | Add missing includeJack Lloyd2017-10-051-0/+1
|/ | | | | In filesystem free build, we weren't including any definition of std::istream. GH #1238
* Add limits.h header for INT_MAXJack Lloyd2017-10-041-0/+1
| | | | Gentoo bug https://bugs.gentoo.org/633468
* Simplify header includes in socket.cppJack Lloyd2017-10-031-9/+3
| | | | | | This got a little contorted in os_utils.cpp because of need to support Boost asio along with system dependent interfaces. Here it's simple: Boost or Unix or Winsock.
* Merge GH #1232 Only require socket code if http_util is loadedJack Lloyd2017-10-037-305/+368
|\
| * Add missing windows.h include in os_utils.cppSimon Warta2017-10-031-0/+3
| |
| * Add missing include mem_ops.h in socket.cppSimon Warta2017-10-031-0/+2
| | | | | | | | cast_uint8_ptr_to_char is required by Winsock_Socket
| * Move socket implementation into module http_utilSimon Warta2017-10-037-308/+366
| | | | | | | | | | This removes the requirement of linking socket libraries for applications that do not use http_util
* | Avoid empty methods, use =default or add a commentJack Lloyd2017-10-0320-40/+29
| | | | | | | | Sonar
* | Add missing cstdlib include to openssl_rsa.cppilovezfs2017-10-031-0/+1
|/ | | | Fixes the build with Xcode 8 and earlier.
* Remove redundant private: specifierJack Lloyd2017-10-031-1/+1
| | | | [ci skip]
* Add static_cast to avoid conversion warningJack Lloyd2017-10-031-1/+2
| | | | | I guess we're in trouble if we add any block ciphers with size >= 2^31 Probably fine.
* Force expand_mask to be on T instead of intJack Lloyd2017-10-031-1/+1
| | | | Which is what the expression evaluates to. Caught by MSVC warning.
* MSVC wants __declspec(restrict) on both declaration and definitionJack Lloyd2017-10-031-1/+1
| | | | Thankfully GCC doesn't mind it being on the definition.
* Add wrappers for reinterpret_cast between char* and uint8_t*Jack Lloyd2017-10-0329-66/+85
| | | | | | | Generally speaking reinterpret_cast is sketchy stuff. But the special case of char*/uint8_t* is both common and safe. By isolating those, the remaining (likely sketchy) cases are easier to grep for.
* Remove redundant parensJack Lloyd2017-10-037-8/+8
| | | | Sonar
* Remove redundant return statementJack Lloyd2017-10-021-1/+1
|
* Remove various unused variablesJack Lloyd2017-10-023-4/+0
| | | | Sonar finds
* Remove unnecessary virtuals from final classesJack Lloyd2017-10-026-10/+6
| | | | Found with Sonar
* Uppercase constantsJack Lloyd2017-10-021-12/+15
|
* Use class for exception typesJack Lloyd2017-10-022-5/+9
|
* Remove protected functions from final classesJack Lloyd2017-10-028-38/+8
| | | | | | Mostly residue from the old system of splitting impls among subclasses Found with Sonar
* Make TLS::Blocking_Client non-finalJack Lloyd2017-10-021-1/+1
| | | | It is intended for derivation! Just not tested...
* sigemptyset is a macro on OS XJack Lloyd2017-10-021-1/+1
|
* Remove protected m_handle data from PKCS11::ObjectJack Lloyd2017-10-023-6/+18
|
* Make m_emsa in PK_{Signature,Verification}_with_EMSA privateJack Lloyd2017-10-022-4/+7
|
* Make EMSA1 data privateJack Lloyd2017-10-021-6/+4
| | | | It was already final so leaving data as protected makes no sense...
* Make kv in TLS_Text_Policy private, add protected setterJack Lloyd2017-10-022-0/+14
|
* Remove protected data members from X509_ObjectJack Lloyd2017-10-025-41/+27
| | | | Just need const accessors, no reason for any subclass to modify values.
* Remove needless blockJack Lloyd2017-10-021-11/+7
|
* Avoid using namespace in FFI headersJack Lloyd2017-10-025-7/+3
| | | | Internal only headers but Sonar doesn't know that
* Prefix names in global namespace with ::Jack Lloyd2017-10-023-7/+7
|