summaryrefslogtreecommitdiffstats
path: root/Modules/_blake2
Commit message (Collapse)AuthorAgeFilesLines
* bpo-31933: fix blake2 multi-byte params on big endian platforms (#4250)Jack O'Connor2017-11-032-4/+8
| | | | | | | | | | | | All Blake2 params have to be encoded in little-endian byte order. For the two multi-byte integer params, leaf_length and node_offset, that means that assigning a native-endian integer to them appears to work on little-endian platforms, but gives the wrong result on big-endian. The current libb2 API doesn't make that very clear, and @sneves is working on new API functions in the GH issue above. In the meantime, we can work around the problem by explicitly assigning little-endian values to the parameter block. See https://github.com/BLAKE2/libb2/issues/12.
* Remove nested comments in blake2 (#4173)Lars Viklund2017-11-011-2/+4
| | | | | | | | | | | Replace occurence of nested comments in blake2 reference implementation with preprocessor directive for disabling unused code. `blake2s-load-xop.h` is conditionally pulled in only on chips with XOP support, among others the AMD Bulldozer. The malformed comments in the source file breaks the build of `hashlib`'s `_blake2` on GCC 6.3.0. Official reference code on github uses `#if` so this change should be uncontroversial.
* fixes bpo-31834: Use optimized code for BLAKE2 only with SSSE3+ (#4066)Michał Górny2017-10-242-2/+6
| | | | | | | | | | | | | | | | Rework the code choosing BLAKE2 code paths from using the optimized variant on all x86_64 machines to using it when SSSE3 or better supported instructions sets are available. Firstly, this solves the problem of using pure SSE2 code path on x86_64 machines. As reported in the bug, this code is slower than the reference code on all tested x86_64 machines. Furthermore, on Athlon64 that lacks SSSE3, it is even 2.5 times slower than the reference code! Checking for SSSE3 therefore ensures that the optimized implementation will only be used when it has a chance of performing better. Secondly, this makes it possible to use SSSE3+ optimizations on 32-bit x86 systems. This allows for even 2 times speed gain on modern 32-bit x86 systems (tested in a 32-bit chroot).
* bpo-31370: Remove support for threads-less builds (#3385)Antoine Pitrou2017-09-072-24/+0
| | | | | | * Remove Setup.config * Always define WITH_THREAD for compatibility.
* Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE whereverSerhiy Storchaka2017-01-232-4/+2
| | | | possible. Patch is writen with Coccinelle.
* more PY_LONG_LONG to long longBenjamin Peterson2016-09-082-4/+4
|
* Issue #26798: Coverity complains about potential memcpy() of overlapped ↵Christian Heimes2016-09-084-4/+4
| | | | regions. It doesn't hurt to use memmove() here. CID 1372514 / CID 1372515. Upstream https://github.com/BLAKE2/BLAKE2/issues/32
* blake2: silence two more warnings on platforms with size_t < uint64_t. Don't ↵Christian Heimes2016-09-072-4/+4
| | | | use SSE2 when cross-compiling
* Silence two warnings in blake2. key_length is between 0 and 64 (block size).Christian Heimes2016-09-072-2/+2
|
* Issue #26798: for loop initial declarations, take 3Christian Heimes2016-09-061-0/+1
|
* Issue #26798: for loop initial declarations, take 2Christian Heimes2016-09-064-17/+23
|
* Issue #26798: for loop initial declarations are only allowed in C99 or C11 modeChristian Heimes2016-09-064-9/+18
|
* Issue #26798: Add BLAKE2 (blake2b and blake2s) to hashlib.Christian Heimes2016-09-0621-0/+4639