1 |
Hi, |
2 |
|
3 |
Here's a huge batch of patches for portage.checksum and relevant stuff. |
4 |
It's not a complete rewrite as I have originally planned, and it's still |
5 |
not the code I'd like to see but functionally it has been improved a lot. |
6 |
|
7 |
Notable changes: |
8 |
|
9 |
1. Other modules no longer use hashfunc_map, now they use the public |
10 |
functions instead. |
11 |
|
12 |
2. A method to checksum byte strings (i.e. stuff in-memory) has been |
13 |
added. For better compatibility, practically unused python-fchksum |
14 |
support has been removed. [TODO: possibly port other uses of hashlib |
15 |
in Portage?] |
16 |
|
17 |
3. Tests for all hash functions have been added. This makes it possible |
18 |
to verify that different implementations are working correctly. It is |
19 |
especially important because some of the Keccak (SHA-3) implementations |
20 |
are using pre-FIPS Keccak version. [TODO: make it possible to test |
21 |
all available fallbacks, not only the used function] |
22 |
|
23 |
4. Fallbacks have been reworked so that the relevant modules are loaded |
24 |
only if a better implementation is not available already. Fallbacks for |
25 |
functions that are guaranteed to be available in hashlib have been |
26 |
removed. |
27 |
|
28 |
5. Support using pygcrypt as provider of optimized hash function |
29 |
fallbacks (for ripemd160, Whirlpool and SHA3). |
30 |
|
31 |
6. Support for Streebog (GOST R 34.11-2012) hash algorithm, provided |
32 |
either by pygcrypt or pure Python pygost module. [TODO: find a better |
33 |
pure Python provider] |
34 |
|
35 |
-- |
36 |
Best regards, |
37 |
Michał Górny |