From 1cc31cd4708846d48b4a627a3d9dd5d666166925 Mon Sep 17 00:00:00 2001 From: Sebastian Rittau Date: Mon, 14 Mar 2022 16:55:37 +0100 Subject: [PATCH] passlib: Annotate pbkdf2_sha* (#7486) --- stubs/passlib/@tests/stubtest_allowlist.txt | 3 +++ stubs/passlib/passlib/handlers/pbkdf2.pyi | 25 +++++++++++++++++---- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/stubs/passlib/@tests/stubtest_allowlist.txt b/stubs/passlib/@tests/stubtest_allowlist.txt index 2e841b2a4..78815c0c7 100644 --- a/stubs/passlib/@tests/stubtest_allowlist.txt +++ b/stubs/passlib/@tests/stubtest_allowlist.txt @@ -26,3 +26,6 @@ passlib.totp.TOTP.normalize_token # import problem passlib.utils.compat._ordered_dict + +# initialized to None, but set by concrete sub-classes +passlib.handlers.pbkdf2.Pbkdf2DigestHandler.default_rounds diff --git a/stubs/passlib/passlib/handlers/pbkdf2.pyi b/stubs/passlib/passlib/handlers/pbkdf2.pyi index 30520d86a..a42dc0ff6 100644 --- a/stubs/passlib/passlib/handlers/pbkdf2.pyi +++ b/stubs/passlib/passlib/handlers/pbkdf2.pyi @@ -8,7 +8,7 @@ class Pbkdf2DigestHandler(uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum, uh.Gen checksum_chars: Any default_salt_size: ClassVar[int] max_salt_size: int - default_rounds: Any + default_rounds: int min_rounds: int max_rounds: int rounds_cost: str @@ -16,9 +16,26 @@ class Pbkdf2DigestHandler(uh.HasRounds, uh.HasRawSalt, uh.HasRawChecksum, uh.Gen def from_string(cls, hash): ... def to_string(self): ... -pbkdf2_sha1: Any -pbkdf2_sha256: Any -pbkdf2_sha512: Any +# dynamically created by create_pbkdf2_hash() +class pbkdf2_sha1(Pbkdf2DigestHandler): + name: str + ident: str + checksum_size: int + encoded_checksum_size: int + +# dynamically created by create_pbkdf2_hash() +class pbkdf2_sha256(Pbkdf2DigestHandler): + name: str + ident: str + checksum_size: int + encoded_checksum_size: int + +# dynamically created by create_pbkdf2_hash() +class pbkdf2_sha512(Pbkdf2DigestHandler): + name: str + ident: str + checksum_size: int + encoded_checksum_size: int ldap_pbkdf2_sha1: PrefixWrapper ldap_pbkdf2_sha256: PrefixWrapper