aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib
Commit message (Collapse)AuthorAgeFilesLines
* Add a new version function returning just the version without extrasJack Lloyd2017-12-062-16/+40
|
* Merge GH #1339 Add ability to query supported named groupsJack Lloyd2017-12-062-0/+41
|\
| * Add known_named_groups to EC_Group to list known curves. Fixes GX #1338.J08nY2017-12-052-0/+41
| |
* | Fix signed vs unsigned comparison warningJack Lloyd2017-12-051-1/+1
| |
* | Cryptobox doesn't require filters anymoreJack Lloyd2017-12-051-6/+3
| |
* | Merge GH #1267 Multithreaded signing in XMSSJack Lloyd2017-12-0529-170/+649
|\ \
| * | Fixes lambda capture error in MSVCMatthias Gierlings2017-11-231-1/+3
| | | | | | | | | | | | | | | MSVC seems to not allow defining aliases inside lambda capture expressions. Defining the aliases beforehand, outside the lambda fixes the issue.
| * | Adds runtime benchmark to guess phys. core count.Matthias Gierlings2017-11-233-3/+122
| | | | | | | | | | | | | | | | | | | | | Adds a small runtime benchmark to prevent performance degradation by overprovisioning SMT CPUs with too many threads. This is a temporary workaround until a hardware and OS independent detection of the physical core count through Botan::CPUID is in place.
| * | Updates documentation, news and copyright notices.Matthias Gierlings2017-11-2128-34/+45
| | | | | | | | | | | | | | | | | | - Adds XMSS to the index of supported signature schemes. - Adds XMSS multithreading support to news.rst - Updates copyright notices of edited files.
| * | Adds guards for environments without threadsMatthias Gierlings2017-11-211-1/+7
| | |
| * | Implements multithreading support for XMSSMatthias Gierlings2017-11-2126-136/+477
| | |
* | | Merge GH #1335 Support uninitialized X509 objectsJack Lloyd2017-12-0510-136/+130
|\ \ \
| * | | Need binary IO for WindowsJack Lloyd2017-12-044-14/+4
| | | |
| * | | Support uninitialized certificate objectsJack Lloyd2017-12-0410-136/+140
| | |/ | |/| | | | | | | | | | | | | | | | Issued raised by @securitykernel on Slack, there was no non-hacky way to decode a list of certificate objects because creating an uninitialized one wasn't allowed. However after #884 that got much closer to being viable, this is the last pieces.
* | | Remove use of "using namespace std"Jack Lloyd2017-12-042-15/+17
| | |
* | | Simplify date conversion by avoiding OS utilitiesJack Lloyd2017-12-044-117/+61
|/ / | | | | | | | | | | | | We have to rely on non-portable OS calls to convert UTC times, and they are not available on many systems (including Solaris and MinGW). But instead there is a simple algorithm due to Howard Hinnant that does the same job. Woo.
* | Add copyright statements to files modified in the preceding 2 commitsHarry Reimann2017-12-0413-0/+13
| |
* | Move TLS signature and key exchange code into callbacksHarry Reimann2017-12-047-96/+237
| | | | | | | | | | | | | | Give applications using an external crypto device for signature generation and/or verification and/or (ec)dh key exchange while establishing a TLS session hooks to implement the corresponding functionality.
* | Make support for certificate status messages optional via policyHarry Reimann2017-12-046-10/+40
| | | | | | | | | | | | | | | | Don't postpone the verification of a server certificate if certificate status messages are not expected in client handshake. When using an external crypto device it may be necessary to verify the certificate before using the public key for verification of the signature in the server key exchange message.
* | Code formatting tweak in Poly1305 codeJack Lloyd2017-12-031-5/+5
| |
* | Avoid calling lookup("DES") twice when clone will do the job.Jack Lloyd2017-12-031-1/+1
| |
* | Create two macros for CAST-128 vs CAST-256Jack Lloyd2017-12-032-2/+9
| | | | | | | | Since eventually CAST-256 is going away.
* | Merge GH #1329 Remove unaligned mem optionsJack Lloyd2017-12-021-29/+22
|\ \
| * | Remove unaligned mem checkJack Lloyd2017-12-021-29/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This previously enabled doing something unsafe (misaligned reads), but it turns out even on hardware that supports this, it is not safe to do because the compiler may do something unfortunate. Now memcpy is used, which is safe on any platform. Should provide a noticable speedup for ARM and PPC64, which previously used the byte-at-a-time fallback code.
* | | Merge GH #1330 Fix typoJack Lloyd2017-12-021-1/+1
|\ \ \
| * | | Fix a typo in sha1_sse2.cppFelix Yan2017-12-031-1/+1
| |/ /
* / / Drop support for Cilk+Jack Lloyd2017-12-021-32/+2
|/ / | | | | | | | | It's been dropped from GCC, appears OpenACC is the new hotness for this kind of thing.
* | Fix missing headerJack Lloyd2017-11-291-0/+1
| | | | | | | | This caused a build failure when compiling with amalgamation + minimized.
* | CRL_Data is a struct not a classJack Lloyd2017-11-291-1/+2
| |
* | Merge GH #1316 Various TLS fixesJack Lloyd2017-11-287-25/+47
|\ \
| * | Add an explicit catch for a server trying to negotiate SSLv3Jack Lloyd2017-11-281-1/+7
| | | | | | | | | | | | | | | | | | | | | This was already caught with the policy check later but it's better to be explicit. (And in theory an application might implement their policy version check to be "return true", which would lead to us actually attempting to negotiate SSLv3).
| * | Correct version selection logic in TLS serverJack Lloyd2017-11-281-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Due to an oversight in the logic, previously a client attempt to negotiate SSLv3 would result in the server trying to negotiate TLS v1.2. Now instead they get a protocol_error alert. Similarly, detect the the (invalid) case of a major number <= 2, which does not coorespond to any real TLS version. The server would again reply as a TLS v1.2 server in that case, and now just closes the connection with an alert.
| * | Tighten up checks on signature key exchange messageJack Lloyd2017-11-281-1/+1
| | | | | | | | | | | | An empty extension is not allowed, but was previously accepted.
| * | Return correct alert type on malformed DH/ECDH messages.Jack Lloyd2017-11-281-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | In the client key exchange if the message was malformed (eg an completely empty ECDH share) a Decoding_Error would be thrown, then caught and a fake pre master secret generated. Move the parsing of the message out of the try/catch block, so the correct error is reported.
| * | Increase HMAC key size limit to 4096 bytes.Jack Lloyd2017-11-282-5/+7
| | | | | | | | | | | | | | | The previous limit of 512 bytes meant that TLS was unable to negotiate using FFDHE-6144 or FFDHE-8192 groups.
| * | Correct definition of FFDHE 4096 groupJack Lloyd2017-11-281-11/+16
| | | | | | | | | | | | Was a copy+paste of FFDHE 3072
* | | Run TLS hello random fields through SHA-256Jack Lloyd2017-11-281-1/+7
|/ / | | | | | | Avoids exposing RNG output on the wire. Cheap precaution.
* | Fix DoxygenJack Lloyd2017-11-261-1/+1
| |
* | Merge GH #1302 Add PSK database interfaceJack Lloyd2017-11-268-1/+378
|\ \
| * | PSK DatabaseJack Lloyd2017-11-268-1/+378
| | |
* | | Throw a Decoding_Error if TLS AEAD packet is shorter than the tag.Jack Lloyd2017-11-261-0/+3
| | | | | | | | | | | | | | | Otherwise this ended up as an assertion failure which translated to internal_error alert.
* | | Fix errors caught with tlsfuzzerJack Lloyd2017-11-263-10/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Don't send EC point format extension in server hello unless an EC suite was negotiated *and* the client sent the extension. Fix server FFDHE logic, this effectively disabled DHE ciphersuites for clients without FFDHE extension. Use unexpected_message alert in case of an unexpected message. (Previously an internal_error alert was sent.)
* | | Merge #1313 Fix Doxygen comment on HashFunction::create_or_throwJack Lloyd2017-11-251-1/+1
|\ \ \
| * | | Minor documentation fix in HashFunction::create_or_throw.Marcus Brinkmann2017-11-261-1/+1
| | | |
* | | | Merge #1312 Fix documentation of compression/decompression update function.Jack Lloyd2017-11-251-2/+2
|\ \ \ \
| * | | | Fix documentation of compression/decompression update function.Marcus Brinkmann2017-11-261-2/+2
| |/ / /
* | | | Merge #1311 Add create and create_or_throw factories for ↵Jack Lloyd2017-11-252-0/+69
|\ \ \ \ | |_|/ / |/| | | | | | | Compression_Algorithm and Decompression_Algorithm.
| * | | Documentation fix in compression create/create_or_throw functions.Marcus Brinkmann2017-11-261-6/+4
| | | |
| * | | Add create and create_or_throw factories for Compression_Algorithm and ↵Marcus Brinkmann2017-11-252-0/+71
| |/ / | | | | | | | | | Decompression_Algorithm.
* / / Fix bzip2 compression issue.Jack Lloyd2017-11-251-2/+8
|/ / | | | | | | | | | | When finishing, bzip2 returns BZ_STREAM_END when it has produced all output. If we end up calling the compression routine again (even with avail_in == 0), bzip2 returns an error.