Gentoo Archives: gentoo-portage-dev

From: "Michał Górny" <mgorny@g.o>
To: gentoo-portage-dev@l.g.o
Subject: [gentoo-portage-dev] [PATCHES] portage.checksum hacking, pt. 4
Date: Sun, 12 Mar 2017 19:01:38
Message-Id: 20170312190011.3234-1-mgorny@gentoo.org
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

Replies

Subject Author
[gentoo-portage-dev] [PATCH 02/14] portage.checksum: Remove python-fchksum support "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 04/14] portage.checksum: Support getting byte string checksums "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 01/14] Use public API: hashfunc_map -> get_valid_checksum_keys() "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 06/14] portage.checksum: Fix BLAKE2* fallbacks from pycryptodome "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 03/14] portage.checksum: create explicit checksum_file() method "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 07/14] portage.checksum: Remove fallbacks for algorithms guaranteed since py2.7 "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 08/14] portage.checksum: Remove exception handling for missing hashlib "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 05/14] tests: Add minimal safety checks for checksums "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 09/14] portage.checksum: Stop exposing global hash variables "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 11/14] portage.checksum: Support pygcrypt as optimized fallback "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 12/14] Support STREEBOG{256,512} hash function (from pygcrypt), #597736 "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 14/14] travis: Install additional (pure Python) crypto providers if necessary "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 10/14] portage.checksum: Reorder to avoid loading redundant impls "Michał Górny" <mgorny@g.o>
[gentoo-portage-dev] [PATCH 13/14] portage.checksum: Support pygost as fallback Streebog provider "Michał Górny" <mgorny@g.o>
Re: [gentoo-portage-dev] [PATCHES] portage.checksum hacking, pt. 4 Zac Medico <zmedico@g.o>