commit:     84914d663ff104b31829f4754c366fa0b7eb88fe
Author:     orbea <orbea <AT> riseup <DOT> net>
AuthorDate: Sun Jul  3 04:45:01 2022 +0000
Commit:     Quentin Retornaz <gentoo <AT> retornaz <DOT> com>
CommitDate: Sun Jul  3 17:47:02 2022 +0000
URL:        https://gitweb.gentoo.org/repo/proj/libressl.git/commit/?id=84914d66

dev-python/cryptography: Remove package

Works with libressl-3.5.x and cryptography-37.0.2-r1::gentoo.

Signed-off-by: orbea <orbea <AT> riseup.net>
Closes: https://github.com/gentoo/libressl/pull/430
Signed-off-by: Quentin Retornaz <gentoo <AT> retornaz.com>

 dev-python/cryptography/Manifest                   |   2 -
 .../cryptography/cryptography-3.4.7-r3.ebuild      |  82 ------
 .../files/cryptography-3.4.7-libressl.patch        | 185 -------------
 .../files/cryptography-3.4.7-py310.patch           | 301 ---------------------
 4 files changed, 570 deletions(-)

diff --git a/dev-python/cryptography/Manifest b/dev-python/cryptography/Manifest
deleted file mode 100644
index af5ed6c..0000000
--- a/dev-python/cryptography/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST cryptography-3.4.7.tar.gz 546893 BLAKE2B 
49bc1e098ed1ba0181059b645f6668cda6332d196eaca55270ebce6e07e5bb6ab6724c5050fde20e89b7025773960d74ec782bb875badbbd5dc9a04db0a536f1
 SHA512 
3c4cf64bc0b067ccdbb71efe04c32ac9d673faea6cc4ccd13d6b1b61920be4785806d19359b7657d032a2ff1c011a8b4f16ec4924d9df8a59d1a875a7f844473
-DIST cryptography_vectors-3.4.7.tar.gz 35168102 BLAKE2B 
fbefd3ff96548dde012fd290aba1c99d57db376023d486910e486cc9c143461ef1ae9b77824cc03307723d35142f0360bc961b548a4edc02357d3f1a0e7e4e9f
 SHA512 
269b50fa4c5300da6758006d12be42f998630d23053ef9af0eb588fc9e6994b044d8822cff105e338f4d0d746ed0e204a4a9c42f54667e355e1ce86e6754bbe9

diff --git a/dev-python/cryptography/cryptography-3.4.7-r3.ebuild 
b/dev-python/cryptography/cryptography-3.4.7-r3.ebuild
deleted file mode 100644
index 87fcff4..0000000
--- a/dev-python/cryptography/cryptography-3.4.7-r3.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2022 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..10} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing
-
-VEC_P=cryptography_vectors-${PV}
-DESCRIPTION="Library providing cryptographic recipes and primitives"
-HOMEPAGE="
-       https://github.com/pyca/cryptography/
-       https://pypi.org/project/cryptography/
-"
-SRC_URI="
-       mirror://pypi/${PN:0:1}/${PN}/${P}.tar.gz
-       test? ( mirror://pypi/c/cryptography_vectors/${VEC_P}.tar.gz )
-"
-
-LICENSE="|| ( Apache-2.0 BSD )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 
sparc x86 ~ppc-macos ~x64-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris 
~x86-solaris"
-
-RDEPEND="
-       $(python_gen_cond_dep '
-               >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}]
-       ' 'python*')
-"
-BDEPEND="
-       test? (
-               >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}]
-               dev-python/iso8601[${PYTHON_USEDEP}]
-               dev-python/pretend[${PYTHON_USEDEP}]
-               dev-python/pyasn1-modules[${PYTHON_USEDEP}]
-               dev-python/pytz[${PYTHON_USEDEP}]
-               dev-python/pytest-subtests[${PYTHON_USEDEP}]
-               dev-python/pytest-xdist[${PYTHON_USEDEP}]
-       )
-"
-
-distutils_enable_tests pytest
-
-DEPEND="
-       >=dev-libs/openssl-1.0.2o-r6:0=
-"
-RDEPEND+=${DEPEND}
-
-PATCHES=(
-       "${FILESDIR}/${P}-py310.patch"
-       "${FILESDIR}/${P}-libressl.patch"
-)
-
-src_prepare() {
-       default
-
-       # avoid automagic dependency on dev-libs/openssl[sslv3]
-       # https://bugs.gentoo.org/789450
-       export CPPFLAGS="${CPPFLAGS} -DOPENSSL_NO_SSL3_METHOD=1"
-
-       # work around availability macros not supported in GCC (yet)
-       if [[ ${CHOST} == *-darwin* ]] ; then
-               local darwinok=0
-               [[ ${CHOST##*-darwin} -ge 16 ]] && darwinok=1
-               sed -e 's/__builtin_available(macOS 10\.12, 
\*)/'"${darwinok}"'/' \
-                       -i src/_cffi_src/openssl/src/osrandom_engine.c || die
-       fi
-
-       # this version does not really use Rust, it just creates a dummy
-       # extension to break stuff
-       export CRYPTOGRAPHY_DONT_BUILD_RUST=1
-       sed -e 's:from setuptools_rust import RustExtension:pass:' \
-               -e '/setup_requires/d' \
-               -i setup.py || die
-}
-
-python_test() {
-       local -x PYTHONPATH=${PYTHONPATH}:${WORKDIR}/${VEC_P}
-       epytest -n "$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")"
-}

diff --git a/dev-python/cryptography/files/cryptography-3.4.7-libressl.patch 
b/dev-python/cryptography/files/cryptography-3.4.7-libressl.patch
deleted file mode 100644
index 4bd961f..0000000
--- a/dev-python/cryptography/files/cryptography-3.4.7-libressl.patch
+++ /dev/null
@@ -1,185 +0,0 @@
-From 52e3455eaa515a9f4ce4077ff169c6c2c40e9904 Mon Sep 17 00:00:00 2001
-From: Charlie Li <[email protected]>
-Date: Mon, 19 Apr 2021 17:25:22 -0400
-Subject: [PATCH 1/5] LibreSSL 3.3.2 supports SSL_OP_NO_DTLS*
-
-While here, bump CI
----
- src/_cffi_src/openssl/cryptography.py | 9 +++++++++
- 1 file changed, 9 insertions(+)
-
-diff --git a/src/_cffi_src/openssl/cryptography.py 
b/src/_cffi_src/openssl/cryptography.py
-index e2b5a13..ab29634 100644
---- a/src/_cffi_src/openssl/cryptography.py
-+++ b/src/_cffi_src/openssl/cryptography.py
-@@ -32,6 +32,13 @@ INCLUDES = """
- #include <Winsock2.h>
- #endif
- 
-+#if CRYPTOGRAPHY_IS_LIBRESSL
-+    #define CRYPTOGRAPHY_LIBRESSL_332_OR_GREATER \
-+        (LIBRESSL_VERSION_NUMBER >= 0x3030200f)
-+#else
-+#define CRYPTOGRAPHY_LIBRESSL_332_OR_GREATER (0)
-+#endif
-+
- #define CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER \
-     (OPENSSL_VERSION_NUMBER >= 0x1010006f && !CRYPTOGRAPHY_IS_LIBRESSL)
- 
-@@ -59,6 +66,8 @@ static const int CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B;
- static const int CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE;
- 
- static const int CRYPTOGRAPHY_IS_LIBRESSL;
-+
-+static const int CRYPTOGRAPHY_LIBRESSL_332_OR_GREATER;
- """
- 
- FUNCTIONS = """
--- 
-2.32.0
-
-From ca19df93826de2eb115756fe4989cc324fa69b6e Mon Sep 17 00:00:00 2001
-From: Charlie Li <[email protected]>
-Date: Mon, 19 Apr 2021 18:16:14 -0400
-Subject: [PATCH 2/5] Switch to LESS_THAN context for LibreSSL 3.3.2
-
-While here, fix indents
----
- src/_cffi_src/openssl/cryptography.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/src/_cffi_src/openssl/cryptography.py 
b/src/_cffi_src/openssl/cryptography.py
-index ab29634..0b468c8 100644
---- a/src/_cffi_src/openssl/cryptography.py
-+++ b/src/_cffi_src/openssl/cryptography.py
-@@ -33,10 +33,10 @@ INCLUDES = """
- #endif
- 
- #if CRYPTOGRAPHY_IS_LIBRESSL
--    #define CRYPTOGRAPHY_LIBRESSL_332_OR_GREATER \
--        (LIBRESSL_VERSION_NUMBER >= 0x3030200f)
-+#define CRYPTOGRAPHY_LIBRESSL_LESS_THAN_332 \
-+    (LIBRESSL_VERSION_NUMBER < 0x3030200f)
- #else
--#define CRYPTOGRAPHY_LIBRESSL_332_OR_GREATER (0)
-+#define CRYPTOGRAPHY_LIBRESSL_LESS_THAN_332 (0)
- #endif
- 
- #define CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER \
-@@ -67,7 +67,7 @@ static const int CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE;
- 
- static const int CRYPTOGRAPHY_IS_LIBRESSL;
- 
--static const int CRYPTOGRAPHY_LIBRESSL_332_OR_GREATER;
-+static const int CRYPTOGRAPHY_LIBRESSL_LESS_THAN_332;
- """
- 
- FUNCTIONS = """
--- 
-2.32.0
-
-From 0fd8db239ba8a8218229a53da248261bc36b1207 Mon Sep 17 00:00:00 2001
-From: Charlie Li <[email protected]>
-Date: Mon, 19 Apr 2021 18:22:20 -0400
-Subject: [PATCH 3/5] Remove extra C variable declaration
-
-The variable is not actually used from Python
----
- src/_cffi_src/openssl/cryptography.py | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/src/_cffi_src/openssl/cryptography.py 
b/src/_cffi_src/openssl/cryptography.py
-index 0b468c8..b9c7a79 100644
---- a/src/_cffi_src/openssl/cryptography.py
-+++ b/src/_cffi_src/openssl/cryptography.py
-@@ -66,8 +66,6 @@ static const int CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B;
- static const int CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE;
- 
- static const int CRYPTOGRAPHY_IS_LIBRESSL;
--
--static const int CRYPTOGRAPHY_LIBRESSL_LESS_THAN_332;
- """
- 
- FUNCTIONS = """
--- 
-2.32.0
-
-From 71bb8c1b32cb7da6221b09dc416616031a4de5fb Mon Sep 17 00:00:00 2001
-From: orbea <[email protected]>
-Date: Fri, 1 Oct 2021 23:17:30 -0700
-Subject: [PATCH 4/5] security/py-cryptography: fix build after
- EVP_Digest{Sign,Verify} addition
-
-Patch from OpenBSD.
-
-https://cvsweb.openbsd.org/cgi-bin/cvsweb/ports/security/py-cryptography/patches/patch-src__cffi_src_openssl_evp_py
-
-Signed-off-by: orbea <[email protected]>
----
- src/_cffi_src/openssl/evp.py | 6 +-----
- 1 file changed, 1 insertion(+), 5 deletions(-)
-
-diff --git a/src/_cffi_src/openssl/evp.py b/src/_cffi_src/openssl/evp.py
-index 2b2f995..dcece6f 100644
---- a/src/_cffi_src/openssl/evp.py
-+++ b/src/_cffi_src/openssl/evp.py
-@@ -204,14 +204,10 @@ int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, const 
unsigned char *,
- #endif
- 
- #if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
--static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0;
-+static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1;
- static const long Cryptography_HAS_RAW_KEY = 0;
- static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 0;
- int (*EVP_DigestFinalXOF)(EVP_MD_CTX *, unsigned char *, size_t) = NULL;
--int (*EVP_DigestSign)(EVP_MD_CTX *, unsigned char *, size_t *,
--                      const unsigned char *tbs, size_t) = NULL;
--int (*EVP_DigestVerify)(EVP_MD_CTX *, const unsigned char *, size_t,
--                        const unsigned char *, size_t) = NULL;
- EVP_PKEY *(*EVP_PKEY_new_raw_private_key)(int, ENGINE *, const unsigned char 
*,
-                                        size_t) = NULL;
- EVP_PKEY *(*EVP_PKEY_new_raw_public_key)(int, ENGINE *, const unsigned char *,
--- 
-2.32.0
-
-From bb02823e94f79f6ff3eda254558aeacc0daa97a0 Mon Sep 17 00:00:00 2001
-From: orbea <[email protected]>
-Date: Fri, 1 Oct 2021 23:26:38 -0700
-Subject: [PATCH 5/5] security/py-cryptography: SSL_OP_NO_DTLSv1{,_2} were
- added to libcrypto
-
-From OpenBSD
-
-https://cvsweb.openbsd.org/cgi-bin/cvsweb/~checkout~/ports/security/py-cryptography/patches/patch-src__cffi_src_openssl_ssl_py?rev=1.8&content-type=text/plain
-
-Signed-off-by: orbea <[email protected]>
----
- src/_cffi_src/openssl/ssl.py | 5 ++---
- 1 file changed, 2 insertions(+), 3 deletions(-)
-
-diff --git a/src/_cffi_src/openssl/ssl.py b/src/_cffi_src/openssl/ssl.py
-index 11a7d63..1d326f1 100644
---- a/src/_cffi_src/openssl/ssl.py
-+++ b/src/_cffi_src/openssl/ssl.py
-@@ -586,8 +586,6 @@ static const long TLS_ST_OK = 0;
- #endif
- 
- #if CRYPTOGRAPHY_IS_LIBRESSL
--static const long SSL_OP_NO_DTLSv1 = 0;
--static const long SSL_OP_NO_DTLSv1_2 = 0;
- long (*DTLS_set_link_mtu)(SSL *, long) = NULL;
- long (*DTLS_get_link_min_mtu)(SSL *) = NULL;
- #endif
-@@ -681,7 +679,8 @@ int (*SSL_set_tlsext_use_srtp)(SSL *, const char *) = NULL;
- SRTP_PROTECTION_PROFILE * (*SSL_get_selected_srtp_profile)(SSL *) = NULL;
- #endif
- 
--#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111
-+#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 && \
-+    !(CRYPTOGRAPHY_IS_LIBRESSL && defined(TLS1_3_VERSION))
- static const long Cryptography_HAS_TLSv1_3 = 0;
- static const long TLS1_3_VERSION = 0;
- static const long SSL_OP_NO_TLSv1_3 = 0;
--- 
-2.32.0
-

diff --git a/dev-python/cryptography/files/cryptography-3.4.7-py310.patch 
b/dev-python/cryptography/files/cryptography-3.4.7-py310.patch
deleted file mode 100644
index d961af8..0000000
--- a/dev-python/cryptography/files/cryptography-3.4.7-py310.patch
+++ /dev/null
@@ -1,301 +0,0 @@
-diff --git a/src/cryptography/exceptions.py b/src/cryptography/exceptions.py
-index f5860590..3bd98d82 100644
---- a/src/cryptography/exceptions.py
-+++ b/src/cryptography/exceptions.py
-@@ -3,10 +3,10 @@
- # for complete details.
- 
- 
--from enum import Enum
-+from cryptography import utils
- 
- 
--class _Reasons(Enum):
-+class _Reasons(utils.Enum):
-     BACKEND_MISSING_INTERFACE = 0
-     UNSUPPORTED_HASH = 1
-     UNSUPPORTED_CIPHER = 2
-diff --git a/src/cryptography/hazmat/primitives/_serialization.py 
b/src/cryptography/hazmat/primitives/_serialization.py
-index 96a5ed9b..160a6b89 100644
---- a/src/cryptography/hazmat/primitives/_serialization.py
-+++ b/src/cryptography/hazmat/primitives/_serialization.py
-@@ -3,13 +3,14 @@
- # for complete details.
- 
- import abc
--from enum import Enum
-+
-+from cryptography import utils
- 
- # This exists to break an import cycle. These classes are normally accessible
- # from the serialization module.
- 
- 
--class Encoding(Enum):
-+class Encoding(utils.Enum):
-     PEM = "PEM"
-     DER = "DER"
-     OpenSSH = "OpenSSH"
-@@ -18,14 +19,14 @@ class Encoding(Enum):
-     SMIME = "S/MIME"
- 
- 
--class PrivateFormat(Enum):
-+class PrivateFormat(utils.Enum):
-     PKCS8 = "PKCS8"
-     TraditionalOpenSSL = "TraditionalOpenSSL"
-     Raw = "Raw"
-     OpenSSH = "OpenSSH"
- 
- 
--class PublicFormat(Enum):
-+class PublicFormat(utils.Enum):
-     SubjectPublicKeyInfo = "X.509 subjectPublicKeyInfo with PKCS#1"
-     PKCS1 = "Raw PKCS#1"
-     OpenSSH = "OpenSSH"
-@@ -34,7 +35,7 @@ class PublicFormat(Enum):
-     UncompressedPoint = "X9.62 Uncompressed Point"
- 
- 
--class ParameterFormat(Enum):
-+class ParameterFormat(utils.Enum):
-     PKCS3 = "PKCS3"
- 
- 
-diff --git a/src/cryptography/hazmat/primitives/kdf/kbkdf.py 
b/src/cryptography/hazmat/primitives/kdf/kbkdf.py
-index ac36474f..75fe7d51 100644
---- a/src/cryptography/hazmat/primitives/kdf/kbkdf.py
-+++ b/src/cryptography/hazmat/primitives/kdf/kbkdf.py
-@@ -4,7 +4,6 @@
- 
- 
- import typing
--from enum import Enum
- 
- from cryptography import utils
- from cryptography.exceptions import (
-@@ -19,11 +18,11 @@ from cryptography.hazmat.primitives import constant_time, 
hashes, hmac
- from cryptography.hazmat.primitives.kdf import KeyDerivationFunction
- 
- 
--class Mode(Enum):
-+class Mode(utils.Enum):
-     CounterMode = "ctr"
- 
- 
--class CounterLocation(Enum):
-+class CounterLocation(utils.Enum):
-     BeforeFixed = "before_fixed"
-     AfterFixed = "after_fixed"
- 
-diff --git a/src/cryptography/hazmat/primitives/serialization/pkcs7.py 
b/src/cryptography/hazmat/primitives/serialization/pkcs7.py
-index bcd9e330..57aac7e3 100644
---- a/src/cryptography/hazmat/primitives/serialization/pkcs7.py
-+++ b/src/cryptography/hazmat/primitives/serialization/pkcs7.py
-@@ -3,8 +3,8 @@
- # for complete details.
- 
- import typing
--from enum import Enum
- 
-+from cryptography import utils
- from cryptography import x509
- from cryptography.hazmat.backends import _get_backend
- from cryptography.hazmat.primitives import hashes, serialization
-@@ -35,7 +35,7 @@ _ALLOWED_PRIVATE_KEY_TYPES = typing.Union[
- ]
- 
- 
--class PKCS7Options(Enum):
-+class PKCS7Options(utils.Enum):
-     Text = "Add text/plain MIME type"
-     Binary = "Don't translate input data into canonical MIME format"
-     DetachedSignature = "Don't embed data in the PKCS7 structure"
-diff --git a/src/cryptography/utils.py b/src/cryptography/utils.py
-index ef0fc443..9e571cfd 100644
---- a/src/cryptography/utils.py
-+++ b/src/cryptography/utils.py
-@@ -4,6 +4,7 @@
- 
- 
- import abc
-+import enum
- import inspect
- import sys
- import typing
-@@ -162,3 +163,13 @@ int_from_bytes = deprecated(
-     "int_from_bytes is deprecated, use int.from_bytes instead",
-     DeprecatedIn34,
- )
-+
-+
-+# Python 3.10 changed representation of enums. We use well-defined object
-+# representation and string representation from Python 3.9.
-+class Enum(enum.Enum):
-+    def __repr__(self):
-+        return f"<{self.__class__.__name__}.{self._name_}: {self._value_!r}>"
-+
-+    def __str__(self):
-+        return f"{self.__class__.__name__}.{self._name_}"
-diff --git a/src/cryptography/x509/base.py b/src/cryptography/x509/base.py
-index 5505fa3b..e3846c33 100644
---- a/src/cryptography/x509/base.py
-+++ b/src/cryptography/x509/base.py
-@@ -7,9 +7,9 @@ import abc
- import datetime
- import os
- import typing
--from enum import Enum
- 
- from cryptography.hazmat._types import _PRIVATE_KEY_TYPES, _PUBLIC_KEY_TYPES
-+from cryptography import utils
- from cryptography.hazmat.backends import _get_backend
- from cryptography.hazmat.primitives import hashes, serialization
- from cryptography.hazmat.primitives.asymmetric import (
-@@ -66,7 +66,7 @@ def _convert_to_naive_utc_time(time: datetime.datetime) -> 
datetime.datetime:
-         return time
- 
- 
--class Version(Enum):
-+class Version(utils.Enum):
-     v1 = 0
-     v3 = 2
- 
-diff --git a/src/cryptography/x509/certificate_transparency.py 
b/src/cryptography/x509/certificate_transparency.py
-index d51bee92..d80f051a 100644
---- a/src/cryptography/x509/certificate_transparency.py
-+++ b/src/cryptography/x509/certificate_transparency.py
-@@ -5,15 +5,16 @@
- 
- import abc
- import datetime
--from enum import Enum
- 
-+from cryptography import utils
- 
--class LogEntryType(Enum):
-+
-+class LogEntryType(utils.Enum):
-     X509_CERTIFICATE = 0
-     PRE_CERTIFICATE = 1
- 
- 
--class Version(Enum):
-+class Version(utils.Enum):
-     v1 = 0
- 
- 
-diff --git a/src/cryptography/x509/extensions.py 
b/src/cryptography/x509/extensions.py
-index 6cae016a..742f1fa2 100644
---- a/src/cryptography/x509/extensions.py
-+++ b/src/cryptography/x509/extensions.py
-@@ -8,7 +8,6 @@ import datetime
- import hashlib
- import ipaddress
- import typing
--from enum import Enum
- 
- from cryptography import utils
- from cryptography.hazmat._der import (
-@@ -634,7 +633,7 @@ class DistributionPoint(object):
-     crl_issuer = utils.read_only_property("_crl_issuer")
- 
- 
--class ReasonFlags(Enum):
-+class ReasonFlags(utils.Enum):
-     unspecified = "unspecified"
-     key_compromise = "keyCompromise"
-     ca_compromise = "cACompromise"
-@@ -978,7 +977,7 @@ class TLSFeature(ExtensionType):
-         return hash(tuple(self._features))
- 
- 
--class TLSFeatureType(Enum):
-+class TLSFeatureType(utils.Enum):
-     # status_request is defined in RFC 6066 and is used for what is commonly
-     # called OCSP Must-Staple when present in the TLS Feature extension in an
-     # X.509 certificate.
-diff --git a/src/cryptography/x509/name.py b/src/cryptography/x509/name.py
-index a579aa21..9069a9f4 100644
---- a/src/cryptography/x509/name.py
-+++ b/src/cryptography/x509/name.py
-@@ -3,14 +3,13 @@
- # for complete details.
- 
- import typing
--from enum import Enum
- 
- from cryptography import utils
- from cryptography.hazmat.backends import _get_backend
- from cryptography.x509.oid import NameOID, ObjectIdentifier
- 
- 
--class _ASN1Type(Enum):
-+class _ASN1Type(utils.Enum):
-     UTF8String = 12
-     NumericString = 18
-     PrintableString = 19
-diff --git a/src/cryptography/x509/ocsp.py b/src/cryptography/x509/ocsp.py
-index 1c5de73e..bcf210c1 100644
---- a/src/cryptography/x509/ocsp.py
-+++ b/src/cryptography/x509/ocsp.py
-@@ -6,8 +6,8 @@
- import abc
- import datetime
- import typing
--from enum import Enum
- 
-+from cryptography import utils
- from cryptography import x509
- from cryptography.hazmat.primitives import hashes, serialization
- from cryptography.x509.base import (
-@@ -27,12 +27,12 @@ _OIDS_TO_HASH = {
- }
- 
- 
--class OCSPResponderEncoding(Enum):
-+class OCSPResponderEncoding(utils.Enum):
-     HASH = "By Hash"
-     NAME = "By Name"
- 
- 
--class OCSPResponseStatus(Enum):
-+class OCSPResponseStatus(utils.Enum):
-     SUCCESSFUL = 0
-     MALFORMED_REQUEST = 1
-     INTERNAL_ERROR = 2
-@@ -58,7 +58,7 @@ def _verify_algorithm(algorithm):
-         )
- 
- 
--class OCSPCertStatus(Enum):
-+class OCSPCertStatus(utils.Enum):
-     GOOD = 0
-     REVOKED = 1
-     UNKNOWN = 2
-diff --git a/tests/test_cryptography_utils.py 
b/tests/test_cryptography_utils.py
-index 6b795e0c..803997ac 100644
---- a/tests/test_cryptography_utils.py
-+++ b/tests/test_cryptography_utils.py
-@@ -2,6 +2,7 @@
- # 2.0, and the BSD License. See the LICENSE file in the root of this 
repository
- # for complete details.
- 
-+import enum
- import typing
- 
- import pytest
-@@ -51,3 +52,13 @@ class TestCachedProperty(object):
-         assert len(accesses) == 1
-         assert t.t == 14
-         assert len(accesses) == 1
-+
-+
-+def test_enum():
-+    class TestEnum(utils.Enum):
-+        value = "something"
-+
-+    assert issubclass(TestEnum, enum.Enum)
-+    assert isinstance(TestEnum.value, enum.Enum)
-+    assert repr(TestEnum.value) == "<TestEnum.value: 'something'>"
-+    assert str(TestEnum.value) == "TestEnum.value"

Reply via email to