diff options
author | torkve <torkve@yandex-team.ru> | 2022-02-10 16:48:23 +0300 |
---|---|---|
committer | Daniil Cherednik <dcherednik@yandex-team.ru> | 2022-02-10 16:48:23 +0300 |
commit | d2e3ef74aed5c066cc49df962b30ceb4318778ac (patch) | |
tree | 5d5cb817648f650d76cf1076100726fd9b8448e8 | |
parent | f9cfbeee51d5849127bb58793a2edcdfd7bb91bb (diff) | |
download | ydb-d2e3ef74aed5c066cc49df962b30ceb4318778ac.tar.gz |
Restoring authorship annotation for <torkve@yandex-team.ru>. Commit 2 of 2.
133 files changed, 28203 insertions, 28203 deletions
diff --git a/build/rules/contrib_python.policy b/build/rules/contrib_python.policy index 3860062478..60fd149753 100644 --- a/build/rules/contrib_python.policy +++ b/build/rules/contrib_python.policy @@ -169,7 +169,7 @@ ALLOW weather/workers/common/clean_satellite/utils -> contrib/deprecated/python/ ALLOW yql/udfs/common/python/python_arc -> contrib/deprecated/python/mipp DENY .* -> contrib/deprecated/python/mipp DENY .* -> contrib/deprecated/python/mpop - + DENY .* -> contrib/python/pdbpp ALLOW contrib/python/pdbpp -> contrib/python/fancycompleter @@ -177,7 +177,7 @@ DENY .* -> contrib/python/fancycompleter ALLOW infra/procman -> contrib/python/skynet_pyro4 ALLOW skynet -> contrib/python/skynet_pyro4 -DENY .* -> contrib/python/skynet_pyro4 +DENY .* -> contrib/python/skynet_pyro4 ALLOW contrib/deprecated/python/cyordereddict -> contrib/deprecated/python/cyordereddict ALLOW contrib/deprecated/python/cyordereddict/cyordereddict/tests -> contrib/deprecated/python/cyordereddict @@ -195,7 +195,7 @@ ALLOW contrib/deprecated/python/xmpppy -> contrib/deprecated/python/xmpppy ALLOW ads/libs/py_notifier -> contrib/deprecated/python/xmpppy ALLOW yql/udfs/common/python/python_arc -> contrib/deprecated/python/xmpppy DENY .* -> contrib/deprecated/python/xmpppy - + ALLOW contrib/python/fancycompleter -> contrib/python/pyrepl DENY .* -> contrib/python/pyrepl diff --git a/build/rules/go/vendor.policy b/build/rules/go/vendor.policy index 6f0b4b9add..3e9c0acada 100644 --- a/build/rules/go/vendor.policy +++ b/build/rules/go/vendor.policy @@ -1024,11 +1024,11 @@ ALLOW trust/psp/core/handler -> vendor/github.com/gorilla/mux # CONTRIB-2337 Cloud GPU migration: validator for structs and fields ALLOW cloud/compute/go-common/pkg/validation -> vendor/github.com/go-playground/validator/v10 -# CONTRIB-2412 -ALLOW infra/infractl/.* -> vendor/github.com/google/gnostic/openapiv3 -ALLOW infra/infractl/.* -> vendor/github.com/google/gnostic/compiler -ALLOW infra/infractl/.* -> vendor/gopkg.in/yaml.v3 - +# CONTRIB-2412 +ALLOW infra/infractl/.* -> vendor/github.com/google/gnostic/openapiv3 +ALLOW infra/infractl/.* -> vendor/github.com/google/gnostic/compiler +ALLOW infra/infractl/.* -> vendor/gopkg.in/yaml.v3 + # CONTRIB-2445 ALLOW psp -> vendor/github.com/zimmski/go-mutesting diff --git a/build/ya.conf.json b/build/ya.conf.json index 891c8651dd..5f7cc875d6 100644 --- a/build/ya.conf.json +++ b/build/ya.conf.json @@ -6853,7 +6853,7 @@ "yd-migrate": { "formula": { "sandbox_id": [ - 990283171 + 990283171 ], "match": "yd_migrate" }, diff --git a/contrib/python/Pygments/py2/ya.make b/contrib/python/Pygments/py2/ya.make index d6bf731329..978caf3d68 100644 --- a/contrib/python/Pygments/py2/ya.make +++ b/contrib/python/Pygments/py2/ya.make @@ -5,7 +5,7 @@ PY2_LIBRARY() OWNER(blinkov g:python-contrib) VERSION(2.5.2) - + LICENSE(BSD-3-Clause) NO_LINT() diff --git a/contrib/python/Pygments/py3/ya.make b/contrib/python/Pygments/py3/ya.make index 632a9056f8..3fab931499 100644 --- a/contrib/python/Pygments/py3/ya.make +++ b/contrib/python/Pygments/py3/ya.make @@ -7,7 +7,7 @@ OWNER(blinkov g:python-contrib) VERSION(2.11.2) LICENSE(BSD-3-Clause) - + NO_LINT() NO_CHECK_IMPORTS( diff --git a/contrib/python/Pygments/ya.make b/contrib/python/Pygments/ya.make index 371bdffad8..9aec5a65a8 100644 --- a/contrib/python/Pygments/ya.make +++ b/contrib/python/Pygments/ya.make @@ -9,7 +9,7 @@ IF (PYTHON2) ELSE() PEERDIR(contrib/python/Pygments/py3) ENDIF() - + NO_LINT() END() diff --git a/contrib/python/cryptography/.dist-info/METADATA b/contrib/python/cryptography/.dist-info/METADATA index 34f8476cfe..7abd5f9465 100644 --- a/contrib/python/cryptography/.dist-info/METADATA +++ b/contrib/python/cryptography/.dist-info/METADATA @@ -1,6 +1,6 @@ Metadata-Version: 2.1 Name: cryptography -Version: 3.3.2 +Version: 3.3.2 Summary: cryptography is a package which provides cryptographic recipes and primitives to Python developers. Home-page: https://github.com/pyca/cryptography Author: The cryptography developers @@ -23,38 +23,38 @@ Classifier: Programming Language :: Python :: 2.7 Classifier: Programming Language :: Python :: 3 Classifier: Programming Language :: Python :: 3.6 Classifier: Programming Language :: Python :: 3.7 -Classifier: Programming Language :: Python :: 3.8 -Classifier: Programming Language :: Python :: 3.9 +Classifier: Programming Language :: Python :: 3.8 +Classifier: Programming Language :: Python :: 3.9 Classifier: Programming Language :: Python :: Implementation :: CPython Classifier: Programming Language :: Python :: Implementation :: PyPy Classifier: Topic :: Security :: Cryptography -Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.* -Description-Content-Type: text/x-rst +Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.* +Description-Content-Type: text/x-rst Requires-Dist: six (>=1.4.1) -Requires-Dist: cffi (>=1.12) -Requires-Dist: enum34 ; python_version < '3' -Requires-Dist: ipaddress ; python_version < '3' +Requires-Dist: cffi (>=1.12) +Requires-Dist: enum34 ; python_version < '3' +Requires-Dist: ipaddress ; python_version < '3' Provides-Extra: docs -Requires-Dist: sphinx (!=1.8.0,!=3.1.0,!=3.1.1,>=1.6.5) ; extra == 'docs' -Requires-Dist: sphinx-rtd-theme ; extra == 'docs' +Requires-Dist: sphinx (!=1.8.0,!=3.1.0,!=3.1.1,>=1.6.5) ; extra == 'docs' +Requires-Dist: sphinx-rtd-theme ; extra == 'docs' Provides-Extra: docstest -Requires-Dist: doc8 ; extra == 'docstest' -Requires-Dist: pyenchant (>=1.6.11) ; extra == 'docstest' -Requires-Dist: twine (>=1.12.0) ; extra == 'docstest' -Requires-Dist: sphinxcontrib-spelling (>=4.0.1) ; extra == 'docstest' +Requires-Dist: doc8 ; extra == 'docstest' +Requires-Dist: pyenchant (>=1.6.11) ; extra == 'docstest' +Requires-Dist: twine (>=1.12.0) ; extra == 'docstest' +Requires-Dist: sphinxcontrib-spelling (>=4.0.1) ; extra == 'docstest' Provides-Extra: pep8test -Requires-Dist: black ; extra == 'pep8test' -Requires-Dist: flake8 ; extra == 'pep8test' -Requires-Dist: flake8-import-order ; extra == 'pep8test' -Requires-Dist: pep8-naming ; extra == 'pep8test' -Provides-Extra: ssh -Requires-Dist: bcrypt (>=3.1.5) ; extra == 'ssh' +Requires-Dist: black ; extra == 'pep8test' +Requires-Dist: flake8 ; extra == 'pep8test' +Requires-Dist: flake8-import-order ; extra == 'pep8test' +Requires-Dist: pep8-naming ; extra == 'pep8test' +Provides-Extra: ssh +Requires-Dist: bcrypt (>=3.1.5) ; extra == 'ssh' Provides-Extra: test -Requires-Dist: pytest (!=3.9.0,!=3.9.1,!=3.9.2,>=3.6.0) ; extra == 'test' -Requires-Dist: pretend ; extra == 'test' -Requires-Dist: iso8601 ; extra == 'test' -Requires-Dist: pytz ; extra == 'test' -Requires-Dist: hypothesis (!=3.79.2,>=1.11.4) ; extra == 'test' +Requires-Dist: pytest (!=3.9.0,!=3.9.1,!=3.9.2,>=3.6.0) ; extra == 'test' +Requires-Dist: pretend ; extra == 'test' +Requires-Dist: iso8601 ; extra == 'test' +Requires-Dist: pytz ; extra == 'test' +Requires-Dist: hypothesis (!=3.79.2,>=1.11.4) ; extra == 'test' pyca/cryptography ================= @@ -67,8 +67,8 @@ pyca/cryptography :target: https://cryptography.io :alt: Latest Docs -.. image:: https://github.com/pyca/cryptography/workflows/CI/badge.svg?branch=master - :target: https://github.com/pyca/cryptography/actions?query=workflow%3ACI+branch%3Amaster +.. image:: https://github.com/pyca/cryptography/workflows/CI/badge.svg?branch=master + :target: https://github.com/pyca/cryptography/actions?query=workflow%3ACI+branch%3Amaster .. image:: https://codecov.io/github/pyca/cryptography/coverage.svg?branch=master :target: https://codecov.io/github/pyca/cryptography?branch=master @@ -76,7 +76,7 @@ pyca/cryptography ``cryptography`` is a package which provides cryptographic recipes and primitives to Python developers. Our goal is for it to be your "cryptographic -standard library". It supports Python 2.7, Python 3.6+, and PyPy 5.4+. +standard library". It supports Python 2.7, Python 3.6+, and PyPy 5.4+. ``cryptography`` includes both high level recipes and low level interfaces to common cryptographic algorithms such as symmetric ciphers, message digests, and @@ -123,9 +123,9 @@ documentation. .. _`documentation`: https://cryptography.io/ -.. _`the installation documentation`: https://cryptography.io/en/latest/installation.html +.. _`the installation documentation`: https://cryptography.io/en/latest/installation.html .. _`issue tracker`: https://github.com/pyca/cryptography/issues .. _`cryptography-dev`: https://mail.python.org/mailman/listinfo/cryptography-dev -.. _`security reporting`: https://cryptography.io/en/latest/security.html +.. _`security reporting`: https://cryptography.io/en/latest/security.html diff --git a/contrib/python/cryptography/.dist-info/top_level.txt b/contrib/python/cryptography/.dist-info/top_level.txt index 51c81a286c..52ccfc6e37 100644 --- a/contrib/python/cryptography/.dist-info/top_level.txt +++ b/contrib/python/cryptography/.dist-info/top_level.txt @@ -1,3 +1,3 @@ -_openssl -_padding +_openssl +_padding cryptography diff --git a/contrib/python/cryptography/_cffi_src/build_openssl.py b/contrib/python/cryptography/_cffi_src/build_openssl.py index ea26b01ce8..4380c33969 100644 --- a/contrib/python/cryptography/_cffi_src/build_openssl.py +++ b/contrib/python/cryptography/_cffi_src/build_openssl.py @@ -6,71 +6,71 @@ from __future__ import absolute_import, division, print_function import os import sys -from distutils import dist -from distutils.ccompiler import get_default_compiler -from distutils.command.config import config +from distutils import dist +from distutils.ccompiler import get_default_compiler +from distutils.command.config import config from _cffi_src.utils import ( - build_ffi_for_binding, - compiler_type, - extra_link_args, + build_ffi_for_binding, + compiler_type, + extra_link_args, ) def _get_openssl_libraries(platform): - if os.environ.get("CRYPTOGRAPHY_SUPPRESS_LINK_FLAGS", None): - return [] + if os.environ.get("CRYPTOGRAPHY_SUPPRESS_LINK_FLAGS", None): + return [] # OpenSSL goes by a different library name on different operating systems. - if platform == "win32" and compiler_type() == "msvc": - return [ - "libssl", - "libcrypto", - "advapi32", - "crypt32", - "gdi32", - "user32", - "ws2_32", - ] + if platform == "win32" and compiler_type() == "msvc": + return [ + "libssl", + "libcrypto", + "advapi32", + "crypt32", + "gdi32", + "user32", + "ws2_32", + ] else: - # darwin, linux, mingw all use this path + # darwin, linux, mingw all use this path # In some circumstances, the order in which these libs are # specified on the linker command-line is significant; # libssl must come before libcrypto - # (https://marc.info/?l=openssl-users&m=135361825921871) - # -lpthread required due to usage of pthread an potential - # existance of a static part containing e.g. pthread_atfork - # (https://github.com/pyca/cryptography/issues/5084) - if sys.platform == "zos": - return ["ssl", "crypto"] - else: - return ["ssl", "crypto", "pthread"] + # (https://marc.info/?l=openssl-users&m=135361825921871) + # -lpthread required due to usage of pthread an potential + # existance of a static part containing e.g. pthread_atfork + # (https://github.com/pyca/cryptography/issues/5084) + if sys.platform == "zos": + return ["ssl", "crypto"] + else: + return ["ssl", "crypto", "pthread"] -def _extra_compile_args(platform): - """ - We set -Wconversion args here so that we only do Wconversion checks on the - code we're compiling and not on cffi itself (as passing -Wconversion in - CFLAGS would do). We set no error on sign conversion because some - function signatures in LibreSSL differ from OpenSSL have changed on long - vs. unsigned long in the past. Since that isn't a precision issue we don't - care. - """ - # make sure the compiler used supports the flags to be added - is_gcc = False - if get_default_compiler() == "unix": - d = dist.Distribution() - cmd = config(d) - cmd._check_compiler() - is_gcc = ( - "gcc" in cmd.compiler.compiler[0] - or "clang" in cmd.compiler.compiler[0] - ) - if is_gcc or not ( - platform in ["win32", "hp-ux11", "sunos5"] - or platform.startswith("aix") - ): - return ["-Wconversion", "-Wno-error=sign-conversion"] - else: +def _extra_compile_args(platform): + """ + We set -Wconversion args here so that we only do Wconversion checks on the + code we're compiling and not on cffi itself (as passing -Wconversion in + CFLAGS would do). We set no error on sign conversion because some + function signatures in LibreSSL differ from OpenSSL have changed on long + vs. unsigned long in the past. Since that isn't a precision issue we don't + care. + """ + # make sure the compiler used supports the flags to be added + is_gcc = False + if get_default_compiler() == "unix": + d = dist.Distribution() + cmd = config(d) + cmd._check_compiler() + is_gcc = ( + "gcc" in cmd.compiler.compiler[0] + or "clang" in cmd.compiler.compiler[0] + ) + if is_gcc or not ( + platform in ["win32", "hp-ux11", "sunos5"] + or platform.startswith("aix") + ): + return ["-Wconversion", "-Wno-error=sign-conversion"] + else: return [] @@ -87,7 +87,7 @@ ffi = build_ffi_for_binding( "cmac", "conf", "crypto", - "ct", + "ct", "dh", "dsa", "ec", @@ -96,13 +96,13 @@ ffi = build_ffi_for_binding( "engine", "err", "evp", - "fips", + "fips", "hmac", "nid", "objects", "ocsp", "opensslv", - "osrandom_engine", + "osrandom_engine", "pem", "pkcs12", "rand", @@ -116,6 +116,6 @@ ffi = build_ffi_for_binding( "callbacks", ], libraries=_get_openssl_libraries(sys.platform), - extra_compile_args=_extra_compile_args(sys.platform), + extra_compile_args=_extra_compile_args(sys.platform), extra_link_args=extra_link_args(compiler_type()), ) diff --git a/contrib/python/cryptography/_cffi_src/build_padding.py b/contrib/python/cryptography/_cffi_src/build_padding.py index 730239cbc7..207f4a658e 100644 --- a/contrib/python/cryptography/_cffi_src/build_padding.py +++ b/contrib/python/cryptography/_cffi_src/build_padding.py @@ -9,14 +9,14 @@ import os from _cffi_src.utils import build_ffi, compiler_type, extra_link_args -with open( - os.path.join(os.path.dirname(__file__), "hazmat_src/padding.h") -) as f: +with open( + os.path.join(os.path.dirname(__file__), "hazmat_src/padding.h") +) as f: types = f.read() -with open( - os.path.join(os.path.dirname(__file__), "hazmat_src/padding.c") -) as f: +with open( + os.path.join(os.path.dirname(__file__), "hazmat_src/padding.c") +) as f: functions = f.read() ffi = build_ffi( diff --git a/contrib/python/cryptography/_cffi_src/hazmat_src/padding.c b/contrib/python/cryptography/_cffi_src/hazmat_src/padding.c index c2572e3ba4..a6e05dee1e 100644 --- a/contrib/python/cryptography/_cffi_src/hazmat_src/padding.c +++ b/contrib/python/cryptography/_cffi_src/hazmat_src/padding.c @@ -1,7 +1,7 @@ // This file is dual licensed under the terms of the Apache License, Version // 2.0, and the BSD License. See the LICENSE file in the root of this // repository for complete details. - + /* Returns the value of the input with the most-significant-bit copied to all of the bits. */ static uint16_t Cryptography_DUPLICATE_MSB_TO_ALL(uint16_t a) { diff --git a/contrib/python/cryptography/_cffi_src/openssl/aes.py b/contrib/python/cryptography/_cffi_src/openssl/aes.py index adcdb10dae..25ef3ec0e3 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/aes.py +++ b/contrib/python/cryptography/_cffi_src/openssl/aes.py @@ -9,7 +9,7 @@ INCLUDES = """ """ TYPES = """ -typedef ... AES_KEY; +typedef ... AES_KEY; """ FUNCTIONS = """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/asn1.py b/contrib/python/cryptography/_cffi_src/openssl/asn1.py index 11ff55628e..da55b670e0 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/asn1.py +++ b/contrib/python/cryptography/_cffi_src/openssl/asn1.py @@ -27,13 +27,13 @@ typedef struct asn1_string_st ASN1_TIME; typedef ... ASN1_OBJECT; typedef struct asn1_string_st ASN1_STRING; typedef struct asn1_string_st ASN1_UTF8STRING; -typedef struct { - int type; - ...; -} ASN1_TYPE; +typedef struct { + int type; + ...; +} ASN1_TYPE; typedef ... ASN1_GENERALIZEDTIME; typedef ... ASN1_ENUMERATED; -typedef ... ASN1_NULL; +typedef ... ASN1_NULL; static const int V_ASN1_GENERALIZEDTIME; @@ -62,7 +62,7 @@ int ASN1_INTEGER_set(ASN1_INTEGER *, long); /* ASN1 TIME */ ASN1_TIME *ASN1_TIME_new(void); void ASN1_TIME_free(ASN1_TIME *); -int ASN1_TIME_set_string(ASN1_TIME *, const char *); +int ASN1_TIME_set_string(ASN1_TIME *, const char *); /* ASN1 GENERALIZEDTIME */ ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *, time_t); @@ -80,10 +80,10 @@ int ASN1_STRING_to_UTF8(unsigned char **, ASN1_STRING *); long ASN1_ENUMERATED_get(ASN1_ENUMERATED *); int i2a_ASN1_INTEGER(BIO *, ASN1_INTEGER *); -/* This became const ASN1_TIME in 1.1.0f */ -ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *, - ASN1_GENERALIZEDTIME **); - +/* This became const ASN1_TIME in 1.1.0f */ +ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *, + ASN1_GENERALIZEDTIME **); + ASN1_UTF8STRING *ASN1_UTF8STRING_new(void); void ASN1_UTF8STRING_free(ASN1_UTF8STRING *); @@ -93,15 +93,15 @@ void ASN1_BIT_STRING_free(ASN1_BIT_STRING *); int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *, int); int ASN1_STRING_length(ASN1_STRING *); -int ASN1_STRING_set_default_mask_asc(char *); +int ASN1_STRING_set_default_mask_asc(char *); BIGNUM *ASN1_INTEGER_to_BN(ASN1_INTEGER *, BIGNUM *); ASN1_INTEGER *BN_to_ASN1_INTEGER(BIGNUM *, ASN1_INTEGER *); int i2d_ASN1_TYPE(ASN1_TYPE *, unsigned char **); ASN1_TYPE *d2i_ASN1_TYPE(ASN1_TYPE **, const unsigned char **, long); - -ASN1_NULL *ASN1_NULL_new(void); + +ASN1_NULL *ASN1_NULL_new(void); """ CUSTOMIZATIONS = """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/bignum.py b/contrib/python/cryptography/_cffi_src/openssl/bignum.py index 0399ddfb52..751018391d 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/bignum.py +++ b/contrib/python/cryptography/_cffi_src/openssl/bignum.py @@ -10,22 +10,22 @@ INCLUDES = """ TYPES = """ typedef ... BN_CTX; -typedef ... BN_MONT_CTX; +typedef ... BN_MONT_CTX; typedef ... BIGNUM; typedef int... BN_ULONG; """ FUNCTIONS = """ -#define BN_FLG_CONSTTIME ... - -void BN_set_flags(BIGNUM *, int); - +#define BN_FLG_CONSTTIME ... + +void BN_set_flags(BIGNUM *, int); + BIGNUM *BN_new(void); void BN_free(BIGNUM *); -void BN_clear_free(BIGNUM *); +void BN_clear_free(BIGNUM *); + +int BN_rand_range(BIGNUM *, const BIGNUM *); -int BN_rand_range(BIGNUM *, const BIGNUM *); - BN_CTX *BN_CTX_new(void); void BN_CTX_free(BN_CTX *); @@ -33,10 +33,10 @@ void BN_CTX_start(BN_CTX *); BIGNUM *BN_CTX_get(BN_CTX *); void BN_CTX_end(BN_CTX *); -BN_MONT_CTX *BN_MONT_CTX_new(void); -int BN_MONT_CTX_set(BN_MONT_CTX *, const BIGNUM *, BN_CTX *); -void BN_MONT_CTX_free(BN_MONT_CTX *); - +BN_MONT_CTX *BN_MONT_CTX_new(void); +int BN_MONT_CTX_set(BN_MONT_CTX *, const BIGNUM *, BN_CTX *); +void BN_MONT_CTX_free(BN_MONT_CTX *); + BIGNUM *BN_dup(const BIGNUM *); int BN_set_word(BIGNUM *, BN_ULONG); @@ -52,7 +52,7 @@ BIGNUM *BN_bin2bn(const unsigned char *, int, BIGNUM *); int BN_num_bits(const BIGNUM *); int BN_cmp(const BIGNUM *, const BIGNUM *); -int BN_is_negative(const BIGNUM *); +int BN_is_negative(const BIGNUM *); int BN_add(BIGNUM *, const BIGNUM *, const BIGNUM *); int BN_sub(BIGNUM *, const BIGNUM *, const BIGNUM *); int BN_nnmod(BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); @@ -64,21 +64,21 @@ int BN_mod_mul(BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); int BN_mod_exp(BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); -int BN_mod_exp_mont(BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, - BN_CTX *, BN_MONT_CTX *); -int BN_mod_exp_mont_consttime(BIGNUM *, const BIGNUM *, const BIGNUM *, - const BIGNUM *, BN_CTX *, BN_MONT_CTX *); +int BN_mod_exp_mont(BIGNUM *, const BIGNUM *, const BIGNUM *, const BIGNUM *, + BN_CTX *, BN_MONT_CTX *); +int BN_mod_exp_mont_consttime(BIGNUM *, const BIGNUM *, const BIGNUM *, + const BIGNUM *, BN_CTX *, BN_MONT_CTX *); BIGNUM *BN_mod_inverse(BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); int BN_num_bytes(const BIGNUM *); int BN_mod(BIGNUM *, const BIGNUM *, const BIGNUM *, BN_CTX *); -/* The following 3 prime methods are exposed for Tribler. */ -int BN_generate_prime_ex(BIGNUM *, int, int, const BIGNUM *, - const BIGNUM *, BN_GENCB *); -int BN_is_prime_ex(const BIGNUM *, int, BN_CTX *, BN_GENCB *); -const int BN_prime_checks_for_size(int); +/* The following 3 prime methods are exposed for Tribler. */ +int BN_generate_prime_ex(BIGNUM *, int, int, const BIGNUM *, + const BIGNUM *, BN_GENCB *); +int BN_is_prime_ex(const BIGNUM *, int, BN_CTX *, BN_GENCB *); +const int BN_prime_checks_for_size(int); """ CUSTOMIZATIONS = """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/bio.py b/contrib/python/cryptography/_cffi_src/openssl/bio.py index e2a589eec9..52d57c6228 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/bio.py +++ b/contrib/python/cryptography/_cffi_src/openssl/bio.py @@ -9,15 +9,15 @@ INCLUDES = """ """ TYPES = """ -typedef ... BIO; +typedef ... BIO; typedef ... BIO_METHOD; """ FUNCTIONS = """ int BIO_free(BIO *); -void BIO_free_all(BIO *); +void BIO_free_all(BIO *); BIO *BIO_new_file(const char *, const char *); -BIO *BIO_new_dgram(int, int); +BIO *BIO_new_dgram(int, int); size_t BIO_ctrl_pending(BIO *); int BIO_read(BIO *, void *, int); int BIO_gets(BIO *, char *, int); @@ -27,8 +27,8 @@ int BIO_up_ref(BIO *); BIO *BIO_new(BIO_METHOD *); BIO_METHOD *BIO_s_mem(void); -BIO_METHOD *BIO_s_datagram(void); -BIO *BIO_new_mem_buf(const void *, int); +BIO_METHOD *BIO_s_datagram(void); +BIO *BIO_new_mem_buf(const void *, int); long BIO_set_mem_eof_return(BIO *, int); long BIO_get_mem_data(BIO *, char **); int BIO_should_read(BIO *); diff --git a/contrib/python/cryptography/_cffi_src/openssl/callbacks.py b/contrib/python/cryptography/_cffi_src/openssl/callbacks.py index f50a9b4e8e..19301b973a 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/callbacks.py +++ b/contrib/python/cryptography/_cffi_src/openssl/callbacks.py @@ -5,48 +5,48 @@ from __future__ import absolute_import, division, print_function INCLUDES = """ -#include <string.h> +#include <string.h> """ TYPES = """ -typedef struct { - char *password; - int length; - int called; - int error; - int maxsize; -} CRYPTOGRAPHY_PASSWORD_DATA; +typedef struct { + char *password; + int length; + int called; + int error; + int maxsize; +} CRYPTOGRAPHY_PASSWORD_DATA; """ FUNCTIONS = """ -int Cryptography_pem_password_cb(char *, int, int, void *); +int Cryptography_pem_password_cb(char *, int, int, void *); """ CUSTOMIZATIONS = """ -typedef struct { - char *password; - int length; - int called; - int error; - int maxsize; -} CRYPTOGRAPHY_PASSWORD_DATA; - -int Cryptography_pem_password_cb(char *buf, int size, - int rwflag, void *userdata) { - /* The password cb is only invoked if OpenSSL decides the private - key is encrypted. So this path only occurs if it needs a password */ - CRYPTOGRAPHY_PASSWORD_DATA *st = (CRYPTOGRAPHY_PASSWORD_DATA *)userdata; - st->called += 1; - st->maxsize = size; - if (st->length == 0) { - st->error = -1; - return 0; - } else if (st->length < size) { - memcpy(buf, st->password, st->length); - return st->length; - } else { - st->error = -2; - return 0; - } -} +typedef struct { + char *password; + int length; + int called; + int error; + int maxsize; +} CRYPTOGRAPHY_PASSWORD_DATA; + +int Cryptography_pem_password_cb(char *buf, int size, + int rwflag, void *userdata) { + /* The password cb is only invoked if OpenSSL decides the private + key is encrypted. So this path only occurs if it needs a password */ + CRYPTOGRAPHY_PASSWORD_DATA *st = (CRYPTOGRAPHY_PASSWORD_DATA *)userdata; + st->called += 1; + st->maxsize = size; + if (st->length == 0) { + st->error = -1; + return 0; + } else if (st->length < size) { + memcpy(buf, st->password, st->length); + return st->length; + } else { + st->error = -2; + return 0; + } +} """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/cmac.py b/contrib/python/cryptography/_cffi_src/openssl/cmac.py index 68e0a989aa..557abd1ca8 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/cmac.py +++ b/contrib/python/cryptography/_cffi_src/openssl/cmac.py @@ -5,7 +5,7 @@ from __future__ import absolute_import, division, print_function INCLUDES = """ -#if !defined(OPENSSL_NO_CMAC) +#if !defined(OPENSSL_NO_CMAC) #include <openssl/cmac.h> #endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/crypto.py b/contrib/python/cryptography/_cffi_src/openssl/crypto.py index f8936cb679..6064a4eeea 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/crypto.py +++ b/contrib/python/cryptography/_cffi_src/openssl/crypto.py @@ -9,8 +9,8 @@ INCLUDES = """ """ TYPES = """ -static const long Cryptography_HAS_MEM_FUNCTIONS; -static const long Cryptography_HAS_OPENSSL_CLEANUP; +static const long Cryptography_HAS_MEM_FUNCTIONS; +static const long Cryptography_HAS_OPENSSL_CLEANUP; static const int SSLEAY_VERSION; static const int SSLEAY_CFLAGS; @@ -25,7 +25,7 @@ static const int OPENSSL_DIR; """ FUNCTIONS = """ -void OPENSSL_cleanup(void); +void OPENSSL_cleanup(void); /* SSLeay was removed in 1.1.0 */ unsigned long SSLeay(void); @@ -35,19 +35,19 @@ unsigned long OpenSSL_version_num(void); const char *OpenSSL_version(int); /* this is a macro in 1.1.0 */ -void *OPENSSL_malloc(size_t); +void *OPENSSL_malloc(size_t); void OPENSSL_free(void *); - -/* Signature changed significantly in 1.1.0, only expose there for sanity */ -int Cryptography_CRYPTO_set_mem_functions( - void *(*)(size_t, const char *, int), - void *(*)(void *, size_t, const char *, int), - void (*)(void *, const char *, int)); - -void *Cryptography_malloc_wrapper(size_t, const char *, int); -void *Cryptography_realloc_wrapper(void *, size_t, const char *, int); -void Cryptography_free_wrapper(void *, const char *, int); + +/* Signature changed significantly in 1.1.0, only expose there for sanity */ +int Cryptography_CRYPTO_set_mem_functions( + void *(*)(size_t, const char *, int), + void *(*)(void *, size_t, const char *, int), + void (*)(void *, const char *, int)); + +void *Cryptography_malloc_wrapper(size_t, const char *, int); +void *Cryptography_realloc_wrapper(void *, size_t, const char *, int); +void Cryptography_free_wrapper(void *, const char *, int); """ CUSTOMIZATIONS = """ @@ -74,44 +74,44 @@ CUSTOMIZATIONS = """ # define OPENSSL_PLATFORM SSLEAY_PLATFORM # define OPENSSL_DIR SSLEAY_DIR #endif - -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_OPENSSL_CLEANUP = 0; - -void (*OPENSSL_cleanup)(void) = NULL; - -/* This function has a significantly different signature pre-1.1.0. since it is - * for testing only, we don't bother to expose it on older OpenSSLs. - */ -static const long Cryptography_HAS_MEM_FUNCTIONS = 0; -int (*Cryptography_CRYPTO_set_mem_functions)( - void *(*)(size_t, const char *, int), - void *(*)(void *, size_t, const char *, int), - void (*)(void *, const char *, int)) = NULL; - -#else -static const long Cryptography_HAS_OPENSSL_CLEANUP = 1; -static const long Cryptography_HAS_MEM_FUNCTIONS = 1; - -int Cryptography_CRYPTO_set_mem_functions( - void *(*m)(size_t, const char *, int), - void *(*r)(void *, size_t, const char *, int), - void (*f)(void *, const char *, int) -) { - return CRYPTO_set_mem_functions(m, r, f); -} + +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_OPENSSL_CLEANUP = 0; + +void (*OPENSSL_cleanup)(void) = NULL; + +/* This function has a significantly different signature pre-1.1.0. since it is + * for testing only, we don't bother to expose it on older OpenSSLs. + */ +static const long Cryptography_HAS_MEM_FUNCTIONS = 0; +int (*Cryptography_CRYPTO_set_mem_functions)( + void *(*)(size_t, const char *, int), + void *(*)(void *, size_t, const char *, int), + void (*)(void *, const char *, int)) = NULL; + +#else +static const long Cryptography_HAS_OPENSSL_CLEANUP = 1; +static const long Cryptography_HAS_MEM_FUNCTIONS = 1; + +int Cryptography_CRYPTO_set_mem_functions( + void *(*m)(size_t, const char *, int), + void *(*r)(void *, size_t, const char *, int), + void (*f)(void *, const char *, int) +) { + return CRYPTO_set_mem_functions(m, r, f); +} #endif - -void *Cryptography_malloc_wrapper(size_t size, const char *path, int line) { - return malloc(size); -} - -void *Cryptography_realloc_wrapper(void *ptr, size_t size, const char *path, - int line) { - return realloc(ptr, size); -} - -void Cryptography_free_wrapper(void *ptr, const char *path, int line) { - free(ptr); -} + +void *Cryptography_malloc_wrapper(size_t size, const char *path, int line) { + return malloc(size); +} + +void *Cryptography_realloc_wrapper(void *ptr, size_t size, const char *path, + int line) { + return realloc(ptr, size); +} + +void Cryptography_free_wrapper(void *ptr, const char *path, int line) { + free(ptr); +} """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/cryptography.py b/contrib/python/cryptography/_cffi_src/openssl/cryptography.py index ca8ee5e09b..f24bee5a4f 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/cryptography.py +++ b/contrib/python/cryptography/_cffi_src/openssl/cryptography.py @@ -5,59 +5,59 @@ from __future__ import absolute_import, division, print_function INCLUDES = """ -/* define our OpenSSL API compatibility level to 1.0.1. Any symbols older than - that will raise an error during compilation. We can raise this number again - after we drop 1.0.2 support in the distant future. */ -#define OPENSSL_API_COMPAT 0x10001000L - +/* define our OpenSSL API compatibility level to 1.0.1. Any symbols older than + that will raise an error during compilation. We can raise this number again + after we drop 1.0.2 support in the distant future. */ +#define OPENSSL_API_COMPAT 0x10001000L + #include <openssl/opensslv.h> - - -#if defined(LIBRESSL_VERSION_NUMBER) -#define CRYPTOGRAPHY_IS_LIBRESSL 1 -#else -#define CRYPTOGRAPHY_IS_LIBRESSL 0 -#endif - + + +#if defined(LIBRESSL_VERSION_NUMBER) +#define CRYPTOGRAPHY_IS_LIBRESSL 1 +#else +#define CRYPTOGRAPHY_IS_LIBRESSL 0 +#endif + /* LibreSSL removed e_os2.h from the public headers so we'll only include it if we're using vanilla OpenSSL. */ -#if !CRYPTOGRAPHY_IS_LIBRESSL +#if !CRYPTOGRAPHY_IS_LIBRESSL #include <openssl/e_os2.h> #endif #if defined(_WIN32) -#define WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN #include <windows.h> -#include <Wincrypt.h> -#include <Winsock2.h> +#include <Wincrypt.h> +#include <Winsock2.h> #endif -#define CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER \ - (OPENSSL_VERSION_NUMBER >= 0x1010006f && !CRYPTOGRAPHY_IS_LIBRESSL) +#define CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER \ + (OPENSSL_VERSION_NUMBER >= 0x1010006f && !CRYPTOGRAPHY_IS_LIBRESSL) -#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J \ - (OPENSSL_VERSION_NUMBER < 0x101000af || CRYPTOGRAPHY_IS_LIBRESSL) -#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 \ - (OPENSSL_VERSION_NUMBER < 0x10101000 || CRYPTOGRAPHY_IS_LIBRESSL) -#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B \ - (OPENSSL_VERSION_NUMBER < 0x10101020 || CRYPTOGRAPHY_IS_LIBRESSL) -#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D \ - (OPENSSL_VERSION_NUMBER < 0x10101040 || CRYPTOGRAPHY_IS_LIBRESSL) -#if (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D && !CRYPTOGRAPHY_IS_LIBRESSL && \ - !defined(OPENSSL_NO_ENGINE)) || defined(USE_OSRANDOM_RNG_FOR_TESTING) -#define CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE 1 -#else -#define CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE 0 -#endif +#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J \ + (OPENSSL_VERSION_NUMBER < 0x101000af || CRYPTOGRAPHY_IS_LIBRESSL) +#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 \ + (OPENSSL_VERSION_NUMBER < 0x10101000 || CRYPTOGRAPHY_IS_LIBRESSL) +#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B \ + (OPENSSL_VERSION_NUMBER < 0x10101020 || CRYPTOGRAPHY_IS_LIBRESSL) +#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D \ + (OPENSSL_VERSION_NUMBER < 0x10101040 || CRYPTOGRAPHY_IS_LIBRESSL) +#if (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D && !CRYPTOGRAPHY_IS_LIBRESSL && \ + !defined(OPENSSL_NO_ENGINE)) || defined(USE_OSRANDOM_RNG_FOR_TESTING) +#define CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE 1 +#else +#define CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE 0 +#endif """ TYPES = """ -static const int CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER; +static const int CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER; -static const int CRYPTOGRAPHY_OPENSSL_LESS_THAN_111; -static const int CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B; -static const int CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE; +static const int CRYPTOGRAPHY_OPENSSL_LESS_THAN_111; +static const int CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B; +static const int CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE; static const int CRYPTOGRAPHY_IS_LIBRESSL; """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/ct.py b/contrib/python/cryptography/_cffi_src/openssl/ct.py index 6dc2513285..5f0670635f 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/ct.py +++ b/contrib/python/cryptography/_cffi_src/openssl/ct.py @@ -1,118 +1,118 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -INCLUDES = """ -#if CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER && !defined(OPENSSL_NO_CT) -#include <openssl/ct.h> - -typedef STACK_OF(SCT) Cryptography_STACK_OF_SCT; -#endif -""" - -TYPES = """ -static const long Cryptography_HAS_SCT; - -typedef enum { - SCT_VERSION_NOT_SET, - SCT_VERSION_V1 -} sct_version_t; - -typedef enum { - CT_LOG_ENTRY_TYPE_NOT_SET, - CT_LOG_ENTRY_TYPE_X509, - CT_LOG_ENTRY_TYPE_PRECERT -} ct_log_entry_type_t; - -typedef enum { - SCT_SOURCE_UNKNOWN, - SCT_SOURCE_TLS_EXTENSION, - SCT_SOURCE_X509V3_EXTENSION, - SCT_SOURCE_OCSP_STAPLED_RESPONSE -} sct_source_t; - -typedef ... SCT; -typedef ... Cryptography_STACK_OF_SCT; -""" - -FUNCTIONS = """ -sct_version_t SCT_get_version(const SCT *); - -ct_log_entry_type_t SCT_get_log_entry_type(const SCT *); - -size_t SCT_get0_log_id(const SCT *, unsigned char **); - -size_t SCT_get0_signature(const SCT *, unsigned char **); - -uint64_t SCT_get_timestamp(const SCT *); - -int SCT_set_source(SCT *, sct_source_t); - -Cryptography_STACK_OF_SCT *sk_SCT_new_null(void); -void sk_SCT_free(Cryptography_STACK_OF_SCT *); -int sk_SCT_num(const Cryptography_STACK_OF_SCT *); -SCT *sk_SCT_value(const Cryptography_STACK_OF_SCT *, int); -int sk_SCT_push(Cryptography_STACK_OF_SCT *, SCT *); - -void SCT_LIST_free(Cryptography_STACK_OF_SCT *); - -SCT *SCT_new(void); -int SCT_set1_log_id(SCT *, unsigned char *, size_t); -void SCT_set_timestamp(SCT *, uint64_t); -int SCT_set_version(SCT *, sct_version_t); -int SCT_set_log_entry_type(SCT *, ct_log_entry_type_t); -""" - -CUSTOMIZATIONS = """ -#if CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER && !defined(OPENSSL_NO_CT) -static const long Cryptography_HAS_SCT = 1; -#else -static const long Cryptography_HAS_SCT = 0; - -typedef enum { - SCT_VERSION_NOT_SET, - SCT_VERSION_V1 -} sct_version_t; -typedef enum { - CT_LOG_ENTRY_TYPE_NOT_SET, - CT_LOG_ENTRY_TYPE_X509, - CT_LOG_ENTRY_TYPE_PRECERT -} ct_log_entry_type_t; -typedef enum { - SCT_SOURCE_UNKNOWN, - SCT_SOURCE_TLS_EXTENSION, - SCT_SOURCE_X509V3_EXTENSION, - SCT_SOURCE_OCSP_STAPLED_RESPONSE -} sct_source_t; - -/* OpenSSL compiled with `no-ct` still defines the `SCT` struct. */ -#if !defined(OPENSSL_NO_CT) -typedef void SCT; -#endif - -typedef void Cryptography_STACK_OF_SCT; - -sct_version_t (*SCT_get_version)(const SCT *) = NULL; -ct_log_entry_type_t (*SCT_get_log_entry_type)(const SCT *) = NULL; -size_t (*SCT_get0_log_id)(const SCT *, unsigned char **) = NULL; -size_t (*SCT_get0_signature)(const SCT *, unsigned char **) = NULL; -uint64_t (*SCT_get_timestamp)(const SCT *) = NULL; - -int (*SCT_set_source)(SCT *, sct_source_t) = NULL; - -Cryptography_STACK_OF_SCT *(*sk_SCT_new_null)(void) = NULL; -void (*sk_SCT_free)(Cryptography_STACK_OF_SCT *) = NULL; -int (*sk_SCT_num)(const Cryptography_STACK_OF_SCT *) = NULL; -SCT *(*sk_SCT_value)(const Cryptography_STACK_OF_SCT *, int) = NULL; -int (*sk_SCT_push)(Cryptography_STACK_OF_SCT *, SCT *) = NULL; - -void (*SCT_LIST_free)(Cryptography_STACK_OF_SCT *) = NULL; -SCT *(*SCT_new)(void) = NULL; -int (*SCT_set1_log_id)(SCT *, unsigned char *, size_t) = NULL; -void (*SCT_set_timestamp)(SCT *, uint64_t) = NULL; -int (*SCT_set_version)(SCT *, sct_version_t) = NULL; -int (*SCT_set_log_entry_type)(SCT *, ct_log_entry_type_t) = NULL; -#endif -""" +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +INCLUDES = """ +#if CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER && !defined(OPENSSL_NO_CT) +#include <openssl/ct.h> + +typedef STACK_OF(SCT) Cryptography_STACK_OF_SCT; +#endif +""" + +TYPES = """ +static const long Cryptography_HAS_SCT; + +typedef enum { + SCT_VERSION_NOT_SET, + SCT_VERSION_V1 +} sct_version_t; + +typedef enum { + CT_LOG_ENTRY_TYPE_NOT_SET, + CT_LOG_ENTRY_TYPE_X509, + CT_LOG_ENTRY_TYPE_PRECERT +} ct_log_entry_type_t; + +typedef enum { + SCT_SOURCE_UNKNOWN, + SCT_SOURCE_TLS_EXTENSION, + SCT_SOURCE_X509V3_EXTENSION, + SCT_SOURCE_OCSP_STAPLED_RESPONSE +} sct_source_t; + +typedef ... SCT; +typedef ... Cryptography_STACK_OF_SCT; +""" + +FUNCTIONS = """ +sct_version_t SCT_get_version(const SCT *); + +ct_log_entry_type_t SCT_get_log_entry_type(const SCT *); + +size_t SCT_get0_log_id(const SCT *, unsigned char **); + +size_t SCT_get0_signature(const SCT *, unsigned char **); + +uint64_t SCT_get_timestamp(const SCT *); + +int SCT_set_source(SCT *, sct_source_t); + +Cryptography_STACK_OF_SCT *sk_SCT_new_null(void); +void sk_SCT_free(Cryptography_STACK_OF_SCT *); +int sk_SCT_num(const Cryptography_STACK_OF_SCT *); +SCT *sk_SCT_value(const Cryptography_STACK_OF_SCT *, int); +int sk_SCT_push(Cryptography_STACK_OF_SCT *, SCT *); + +void SCT_LIST_free(Cryptography_STACK_OF_SCT *); + +SCT *SCT_new(void); +int SCT_set1_log_id(SCT *, unsigned char *, size_t); +void SCT_set_timestamp(SCT *, uint64_t); +int SCT_set_version(SCT *, sct_version_t); +int SCT_set_log_entry_type(SCT *, ct_log_entry_type_t); +""" + +CUSTOMIZATIONS = """ +#if CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER && !defined(OPENSSL_NO_CT) +static const long Cryptography_HAS_SCT = 1; +#else +static const long Cryptography_HAS_SCT = 0; + +typedef enum { + SCT_VERSION_NOT_SET, + SCT_VERSION_V1 +} sct_version_t; +typedef enum { + CT_LOG_ENTRY_TYPE_NOT_SET, + CT_LOG_ENTRY_TYPE_X509, + CT_LOG_ENTRY_TYPE_PRECERT +} ct_log_entry_type_t; +typedef enum { + SCT_SOURCE_UNKNOWN, + SCT_SOURCE_TLS_EXTENSION, + SCT_SOURCE_X509V3_EXTENSION, + SCT_SOURCE_OCSP_STAPLED_RESPONSE +} sct_source_t; + +/* OpenSSL compiled with `no-ct` still defines the `SCT` struct. */ +#if !defined(OPENSSL_NO_CT) +typedef void SCT; +#endif + +typedef void Cryptography_STACK_OF_SCT; + +sct_version_t (*SCT_get_version)(const SCT *) = NULL; +ct_log_entry_type_t (*SCT_get_log_entry_type)(const SCT *) = NULL; +size_t (*SCT_get0_log_id)(const SCT *, unsigned char **) = NULL; +size_t (*SCT_get0_signature)(const SCT *, unsigned char **) = NULL; +uint64_t (*SCT_get_timestamp)(const SCT *) = NULL; + +int (*SCT_set_source)(SCT *, sct_source_t) = NULL; + +Cryptography_STACK_OF_SCT *(*sk_SCT_new_null)(void) = NULL; +void (*sk_SCT_free)(Cryptography_STACK_OF_SCT *) = NULL; +int (*sk_SCT_num)(const Cryptography_STACK_OF_SCT *) = NULL; +SCT *(*sk_SCT_value)(const Cryptography_STACK_OF_SCT *, int) = NULL; +int (*sk_SCT_push)(Cryptography_STACK_OF_SCT *, SCT *) = NULL; + +void (*SCT_LIST_free)(Cryptography_STACK_OF_SCT *) = NULL; +SCT *(*SCT_new)(void) = NULL; +int (*SCT_set1_log_id)(SCT *, unsigned char *, size_t) = NULL; +void (*SCT_set_timestamp)(SCT *, uint64_t) = NULL; +int (*SCT_set_version)(SCT *, sct_version_t) = NULL; +int (*SCT_set_log_entry_type)(SCT *, ct_log_entry_type_t) = NULL; +#endif +""" diff --git a/contrib/python/cryptography/_cffi_src/openssl/dh.py b/contrib/python/cryptography/_cffi_src/openssl/dh.py index 5afb06e36b..947a5a8ee0 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/dh.py +++ b/contrib/python/cryptography/_cffi_src/openssl/dh.py @@ -10,8 +10,8 @@ INCLUDES = """ TYPES = """ typedef ... DH; - -const long DH_NOT_SUITABLE_GENERATOR; + +const long DH_NOT_SUITABLE_GENERATOR; """ FUNCTIONS = """ @@ -29,138 +29,138 @@ int DH_set0_pqg(DH *, BIGNUM *, BIGNUM *, BIGNUM *); void DH_get0_key(const DH *, const BIGNUM **, const BIGNUM **); int DH_set0_key(DH *, BIGNUM *, BIGNUM *); -int Cryptography_DH_check(const DH *, int *); +int Cryptography_DH_check(const DH *, int *); int DH_generate_parameters_ex(DH *, int, int, BN_GENCB *); -DH *d2i_DHparams_bio(BIO *, DH **); -int i2d_DHparams_bio(BIO *, DH *); -DH *Cryptography_d2i_DHxparams_bio(BIO *bp, DH **x); -int Cryptography_i2d_DHxparams_bio(BIO *bp, DH *x); +DH *d2i_DHparams_bio(BIO *, DH **); +int i2d_DHparams_bio(BIO *, DH *); +DH *Cryptography_d2i_DHxparams_bio(BIO *bp, DH **x); +int Cryptography_i2d_DHxparams_bio(BIO *bp, DH *x); """ CUSTOMIZATIONS = """ -#if CRYPTOGRAPHY_IS_LIBRESSL -#ifndef DH_CHECK_Q_NOT_PRIME -#define DH_CHECK_Q_NOT_PRIME 0x10 -#endif - -#ifndef DH_CHECK_INVALID_Q_VALUE -#define DH_CHECK_INVALID_Q_VALUE 0x20 -#endif - -#ifndef DH_CHECK_INVALID_J_VALUE -#define DH_CHECK_INVALID_J_VALUE 0x40 -#endif - -/* DH_check implementation taken from OpenSSL 1.1.0pre6 */ - -/*- - * Check that p is a safe prime and - * if g is 2, 3 or 5, check that it is a suitable generator - * where - * for 2, p mod 24 == 11 - * for 3, p mod 12 == 5 - * for 5, p mod 10 == 3 or 7 - * should hold. - */ - -int Cryptography_DH_check(const DH *dh, int *ret) -{ - int ok = 0, r; - BN_CTX *ctx = NULL; - BN_ULONG l; - BIGNUM *t1 = NULL, *t2 = NULL; - - *ret = 0; - ctx = BN_CTX_new(); - if (ctx == NULL) - goto err; - BN_CTX_start(ctx); - t1 = BN_CTX_get(ctx); - if (t1 == NULL) - goto err; - t2 = BN_CTX_get(ctx); - if (t2 == NULL) - goto err; - - if (dh->q) { - if (BN_cmp(dh->g, BN_value_one()) <= 0) - *ret |= DH_NOT_SUITABLE_GENERATOR; - else if (BN_cmp(dh->g, dh->p) >= 0) - *ret |= DH_NOT_SUITABLE_GENERATOR; - else { - /* Check g^q == 1 mod p */ - if (!BN_mod_exp(t1, dh->g, dh->q, dh->p, ctx)) - goto err; - if (!BN_is_one(t1)) - *ret |= DH_NOT_SUITABLE_GENERATOR; - } - r = BN_is_prime_ex(dh->q, BN_prime_checks, ctx, NULL); - if (r < 0) - goto err; - if (!r) - *ret |= DH_CHECK_Q_NOT_PRIME; - /* Check p == 1 mod q i.e. q divides p - 1 */ - if (!BN_div(t1, t2, dh->p, dh->q, ctx)) - goto err; - if (!BN_is_one(t2)) - *ret |= DH_CHECK_INVALID_Q_VALUE; - if (dh->j && BN_cmp(dh->j, t1)) - *ret |= DH_CHECK_INVALID_J_VALUE; - - } else if (BN_is_word(dh->g, DH_GENERATOR_2)) { - l = BN_mod_word(dh->p, 24); - if (l == (BN_ULONG)-1) - goto err; - if (l != 11) - *ret |= DH_NOT_SUITABLE_GENERATOR; - } else if (BN_is_word(dh->g, DH_GENERATOR_5)) { - l = BN_mod_word(dh->p, 10); - if (l == (BN_ULONG)-1) - goto err; - if ((l != 3) && (l != 7)) - *ret |= DH_NOT_SUITABLE_GENERATOR; - } else - *ret |= DH_UNABLE_TO_CHECK_GENERATOR; - - r = BN_is_prime_ex(dh->p, BN_prime_checks, ctx, NULL); - if (r < 0) - goto err; - if (!r) - *ret |= DH_CHECK_P_NOT_PRIME; - else if (!dh->q) { - if (!BN_rshift1(t1, dh->p)) - goto err; - r = BN_is_prime_ex(t1, BN_prime_checks, ctx, NULL); - if (r < 0) - goto err; - if (!r) - *ret |= DH_CHECK_P_NOT_SAFE_PRIME; - } - ok = 1; - err: - if (ctx != NULL) { - BN_CTX_end(ctx); - BN_CTX_free(ctx); - } - return (ok); -} -#else -int Cryptography_DH_check(const DH *dh, int *ret) { - return DH_check(dh, ret); -} -#endif - -/* These functions were added in OpenSSL 1.1.0f commit d0c50e80a8 */ -/* Define our own to simplify support across all versions. */ -#if defined(EVP_PKEY_DHX) && EVP_PKEY_DHX != -1 -DH *Cryptography_d2i_DHxparams_bio(BIO *bp, DH **x) { - return ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x); -} -int Cryptography_i2d_DHxparams_bio(BIO *bp, DH *x) { - return ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x); -} -#else -DH *(*Cryptography_d2i_DHxparams_bio)(BIO *bp, DH **x) = NULL; -int (*Cryptography_i2d_DHxparams_bio)(BIO *bp, DH *x) = NULL; -#endif +#if CRYPTOGRAPHY_IS_LIBRESSL +#ifndef DH_CHECK_Q_NOT_PRIME +#define DH_CHECK_Q_NOT_PRIME 0x10 +#endif + +#ifndef DH_CHECK_INVALID_Q_VALUE +#define DH_CHECK_INVALID_Q_VALUE 0x20 +#endif + +#ifndef DH_CHECK_INVALID_J_VALUE +#define DH_CHECK_INVALID_J_VALUE 0x40 +#endif + +/* DH_check implementation taken from OpenSSL 1.1.0pre6 */ + +/*- + * Check that p is a safe prime and + * if g is 2, 3 or 5, check that it is a suitable generator + * where + * for 2, p mod 24 == 11 + * for 3, p mod 12 == 5 + * for 5, p mod 10 == 3 or 7 + * should hold. + */ + +int Cryptography_DH_check(const DH *dh, int *ret) +{ + int ok = 0, r; + BN_CTX *ctx = NULL; + BN_ULONG l; + BIGNUM *t1 = NULL, *t2 = NULL; + + *ret = 0; + ctx = BN_CTX_new(); + if (ctx == NULL) + goto err; + BN_CTX_start(ctx); + t1 = BN_CTX_get(ctx); + if (t1 == NULL) + goto err; + t2 = BN_CTX_get(ctx); + if (t2 == NULL) + goto err; + + if (dh->q) { + if (BN_cmp(dh->g, BN_value_one()) <= 0) + *ret |= DH_NOT_SUITABLE_GENERATOR; + else if (BN_cmp(dh->g, dh->p) >= 0) + *ret |= DH_NOT_SUITABLE_GENERATOR; + else { + /* Check g^q == 1 mod p */ + if (!BN_mod_exp(t1, dh->g, dh->q, dh->p, ctx)) + goto err; + if (!BN_is_one(t1)) + *ret |= DH_NOT_SUITABLE_GENERATOR; + } + r = BN_is_prime_ex(dh->q, BN_prime_checks, ctx, NULL); + if (r < 0) + goto err; + if (!r) + *ret |= DH_CHECK_Q_NOT_PRIME; + /* Check p == 1 mod q i.e. q divides p - 1 */ + if (!BN_div(t1, t2, dh->p, dh->q, ctx)) + goto err; + if (!BN_is_one(t2)) + *ret |= DH_CHECK_INVALID_Q_VALUE; + if (dh->j && BN_cmp(dh->j, t1)) + *ret |= DH_CHECK_INVALID_J_VALUE; + + } else if (BN_is_word(dh->g, DH_GENERATOR_2)) { + l = BN_mod_word(dh->p, 24); + if (l == (BN_ULONG)-1) + goto err; + if (l != 11) + *ret |= DH_NOT_SUITABLE_GENERATOR; + } else if (BN_is_word(dh->g, DH_GENERATOR_5)) { + l = BN_mod_word(dh->p, 10); + if (l == (BN_ULONG)-1) + goto err; + if ((l != 3) && (l != 7)) + *ret |= DH_NOT_SUITABLE_GENERATOR; + } else + *ret |= DH_UNABLE_TO_CHECK_GENERATOR; + + r = BN_is_prime_ex(dh->p, BN_prime_checks, ctx, NULL); + if (r < 0) + goto err; + if (!r) + *ret |= DH_CHECK_P_NOT_PRIME; + else if (!dh->q) { + if (!BN_rshift1(t1, dh->p)) + goto err; + r = BN_is_prime_ex(t1, BN_prime_checks, ctx, NULL); + if (r < 0) + goto err; + if (!r) + *ret |= DH_CHECK_P_NOT_SAFE_PRIME; + } + ok = 1; + err: + if (ctx != NULL) { + BN_CTX_end(ctx); + BN_CTX_free(ctx); + } + return (ok); +} +#else +int Cryptography_DH_check(const DH *dh, int *ret) { + return DH_check(dh, ret); +} +#endif + +/* These functions were added in OpenSSL 1.1.0f commit d0c50e80a8 */ +/* Define our own to simplify support across all versions. */ +#if defined(EVP_PKEY_DHX) && EVP_PKEY_DHX != -1 +DH *Cryptography_d2i_DHxparams_bio(BIO *bp, DH **x) { + return ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x); +} +int Cryptography_i2d_DHxparams_bio(BIO *bp, DH *x) { + return ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x); +} +#else +DH *(*Cryptography_d2i_DHxparams_bio)(BIO *bp, DH **x) = NULL; +int (*Cryptography_i2d_DHxparams_bio)(BIO *bp, DH *x) = NULL; +#endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/ec.py b/contrib/python/cryptography/_cffi_src/openssl/ec.py index 5361430c00..6432fc22e9 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/ec.py +++ b/contrib/python/cryptography/_cffi_src/openssl/ec.py @@ -104,12 +104,12 @@ int EC_POINT_mul(const EC_GROUP *, EC_POINT *, const BIGNUM *, int EC_METHOD_get_field_type(const EC_METHOD *); const char *EC_curve_nid2nist(int); - -int EC_GROUP_get_asn1_flag(const EC_GROUP *); + +int EC_GROUP_get_asn1_flag(const EC_GROUP *); """ CUSTOMIZATIONS = """ -#if defined(OPENSSL_NO_EC2M) +#if defined(OPENSSL_NO_EC2M) static const long Cryptography_HAS_EC2M = 0; int (*EC_POINT_set_affine_coordinates_GF2m)(const EC_GROUP *, EC_POINT *, diff --git a/contrib/python/cryptography/_cffi_src/openssl/ecdh.py b/contrib/python/cryptography/_cffi_src/openssl/ecdh.py index f2bf7eaaf5..c73cc9f36f 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/ecdh.py +++ b/contrib/python/cryptography/_cffi_src/openssl/ecdh.py @@ -14,7 +14,7 @@ TYPES = """ FUNCTIONS = """ int ECDH_compute_key(void *, size_t, const EC_POINT *, EC_KEY *, void *(*)(const void *, size_t, void *, size_t *)); -long SSL_CTX_set_ecdh_auto(SSL_CTX *, int); +long SSL_CTX_set_ecdh_auto(SSL_CTX *, int); """ CUSTOMIZATIONS = """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/engine.py b/contrib/python/cryptography/_cffi_src/openssl/engine.py index a390d99e33..24cdd42a83 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/engine.py +++ b/contrib/python/cryptography/_cffi_src/openssl/engine.py @@ -10,9 +10,9 @@ INCLUDES = """ TYPES = """ typedef ... ENGINE; -typedef ... UI_METHOD; +typedef ... UI_METHOD; -static const long Cryptography_HAS_ENGINE; +static const long Cryptography_HAS_ENGINE; """ FUNCTIONS = """ @@ -26,40 +26,40 @@ int ENGINE_ctrl_cmd(ENGINE *, const char *, long, void *, void (*)(void), int); int ENGINE_free(ENGINE *); const char *ENGINE_get_name(const ENGINE *); -// These bindings are unused by cryptography or pyOpenSSL but are present -// for advanced users who need them. -int ENGINE_ctrl_cmd_string(ENGINE *, const char *, const char *, int); -void ENGINE_load_builtin_engines(void); -EVP_PKEY *ENGINE_load_private_key(ENGINE *, const char *, UI_METHOD *, void *); -EVP_PKEY *ENGINE_load_public_key(ENGINE *, const char *, UI_METHOD *, void *); +// These bindings are unused by cryptography or pyOpenSSL but are present +// for advanced users who need them. +int ENGINE_ctrl_cmd_string(ENGINE *, const char *, const char *, int); +void ENGINE_load_builtin_engines(void); +EVP_PKEY *ENGINE_load_private_key(ENGINE *, const char *, UI_METHOD *, void *); +EVP_PKEY *ENGINE_load_public_key(ENGINE *, const char *, UI_METHOD *, void *); """ -CUSTOMIZATIONS = """ -#ifdef OPENSSL_NO_ENGINE -static const long Cryptography_HAS_ENGINE = 0; +CUSTOMIZATIONS = """ +#ifdef OPENSSL_NO_ENGINE +static const long Cryptography_HAS_ENGINE = 0; -ENGINE *(*ENGINE_by_id)(const char *) = NULL; -int (*ENGINE_init)(ENGINE *) = NULL; -int (*ENGINE_finish)(ENGINE *) = NULL; -ENGINE *(*ENGINE_get_default_RAND)(void) = NULL; -int (*ENGINE_set_default_RAND)(ENGINE *) = NULL; -void (*ENGINE_unregister_RAND)(ENGINE *) = NULL; -int (*ENGINE_ctrl_cmd)(ENGINE *, const char *, long, void *, - void (*)(void), int) = NULL; +ENGINE *(*ENGINE_by_id)(const char *) = NULL; +int (*ENGINE_init)(ENGINE *) = NULL; +int (*ENGINE_finish)(ENGINE *) = NULL; +ENGINE *(*ENGINE_get_default_RAND)(void) = NULL; +int (*ENGINE_set_default_RAND)(ENGINE *) = NULL; +void (*ENGINE_unregister_RAND)(ENGINE *) = NULL; +int (*ENGINE_ctrl_cmd)(ENGINE *, const char *, long, void *, + void (*)(void), int) = NULL; + +int (*ENGINE_free)(ENGINE *) = NULL; +const char *(*ENGINE_get_id)(const ENGINE *) = NULL; +const char *(*ENGINE_get_name)(const ENGINE *) = NULL; + +int (*ENGINE_ctrl_cmd_string)(ENGINE *, const char *, const char *, + int) = NULL; +void (*ENGINE_load_builtin_engines)(void) = NULL; +EVP_PKEY *(*ENGINE_load_private_key)(ENGINE *, const char *, UI_METHOD *, + void *) = NULL; +EVP_PKEY *(*ENGINE_load_public_key)(ENGINE *, const char *, + UI_METHOD *, void *) = NULL; -int (*ENGINE_free)(ENGINE *) = NULL; -const char *(*ENGINE_get_id)(const ENGINE *) = NULL; -const char *(*ENGINE_get_name)(const ENGINE *) = NULL; - -int (*ENGINE_ctrl_cmd_string)(ENGINE *, const char *, const char *, - int) = NULL; -void (*ENGINE_load_builtin_engines)(void) = NULL; -EVP_PKEY *(*ENGINE_load_private_key)(ENGINE *, const char *, UI_METHOD *, - void *) = NULL; -EVP_PKEY *(*ENGINE_load_public_key)(ENGINE *, const char *, - UI_METHOD *, void *) = NULL; - #else -static const long Cryptography_HAS_ENGINE = 1; +static const long Cryptography_HAS_ENGINE = 1; #endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/err.py b/contrib/python/cryptography/_cffi_src/openssl/err.py index b0c1a0f618..0dd7414674 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/err.py +++ b/contrib/python/cryptography/_cffi_src/openssl/err.py @@ -9,13 +9,13 @@ INCLUDES = """ """ TYPES = """ -static const int EVP_F_EVP_ENCRYPTFINAL_EX; -static const int EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH; -static const int EVP_R_BAD_DECRYPT; -static const int EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM; -static const int PKCS12_R_PKCS12_CIPHERFINAL_ERROR; -static const int PEM_R_UNSUPPORTED_ENCRYPTION; -static const int EVP_R_UNKNOWN_PBE_ALGORITHM; +static const int EVP_F_EVP_ENCRYPTFINAL_EX; +static const int EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH; +static const int EVP_R_BAD_DECRYPT; +static const int EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM; +static const int PKCS12_R_PKCS12_CIPHERFINAL_ERROR; +static const int PEM_R_UNSUPPORTED_ENCRYPTION; +static const int EVP_R_UNKNOWN_PBE_ALGORITHM; static const int ERR_LIB_EVP; static const int ERR_LIB_PEM; diff --git a/contrib/python/cryptography/_cffi_src/openssl/evp.py b/contrib/python/cryptography/_cffi_src/openssl/evp.py index 8dfb05cb8b..ab7cfeb395 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/evp.py +++ b/contrib/python/cryptography/_cffi_src/openssl/evp.py @@ -19,24 +19,24 @@ typedef ... EVP_PKEY_CTX; static const int EVP_PKEY_RSA; static const int EVP_PKEY_DSA; static const int EVP_PKEY_DH; -static const int EVP_PKEY_DHX; +static const int EVP_PKEY_DHX; static const int EVP_PKEY_EC; -static const int EVP_PKEY_X25519; -static const int EVP_PKEY_ED25519; -static const int EVP_PKEY_X448; -static const int EVP_PKEY_ED448; -static const int EVP_PKEY_POLY1305; +static const int EVP_PKEY_X25519; +static const int EVP_PKEY_ED25519; +static const int EVP_PKEY_X448; +static const int EVP_PKEY_ED448; +static const int EVP_PKEY_POLY1305; static const int EVP_MAX_MD_SIZE; -static const int EVP_CTRL_AEAD_SET_IVLEN; -static const int EVP_CTRL_AEAD_GET_TAG; -static const int EVP_CTRL_AEAD_SET_TAG; +static const int EVP_CTRL_AEAD_SET_IVLEN; +static const int EVP_CTRL_AEAD_GET_TAG; +static const int EVP_CTRL_AEAD_SET_TAG; static const int Cryptography_HAS_SCRYPT; -static const int Cryptography_HAS_EVP_PKEY_DHX; -static const int Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint; -static const int Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY; -static const long Cryptography_HAS_RAW_KEY; -static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF; +static const int Cryptography_HAS_EVP_PKEY_DHX; +static const int Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint; +static const int Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY; +static const long Cryptography_HAS_RAW_KEY; +static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF; """ FUNCTIONS = """ @@ -57,7 +57,7 @@ int EVP_MD_CTX_copy_ex(EVP_MD_CTX *, const EVP_MD_CTX *); int EVP_DigestInit_ex(EVP_MD_CTX *, const EVP_MD *, ENGINE *); int EVP_DigestUpdate(EVP_MD_CTX *, const void *, size_t); int EVP_DigestFinal_ex(EVP_MD_CTX *, unsigned char *, unsigned int *); -int EVP_DigestFinalXOF(EVP_MD_CTX *, unsigned char *, size_t); +int EVP_DigestFinalXOF(EVP_MD_CTX *, unsigned char *, size_t); const EVP_MD *EVP_get_digestbyname(const char *); EVP_PKEY *EVP_PKEY_new(void); @@ -82,14 +82,14 @@ int EVP_VerifyUpdate(EVP_MD_CTX *, const void *, size_t); int EVP_VerifyFinal(EVP_MD_CTX *, const unsigned char *, unsigned int, EVP_PKEY *); -int EVP_DigestSignInit(EVP_MD_CTX *, EVP_PKEY_CTX **, const EVP_MD *, - ENGINE *, EVP_PKEY *); -int EVP_DigestSignUpdate(EVP_MD_CTX *, const void *, size_t); -int EVP_DigestSignFinal(EVP_MD_CTX *, unsigned char *, size_t *); -int EVP_DigestVerifyInit(EVP_MD_CTX *, EVP_PKEY_CTX **, const EVP_MD *, - ENGINE *, EVP_PKEY *); +int EVP_DigestSignInit(EVP_MD_CTX *, EVP_PKEY_CTX **, const EVP_MD *, + ENGINE *, EVP_PKEY *); +int EVP_DigestSignUpdate(EVP_MD_CTX *, const void *, size_t); +int EVP_DigestSignFinal(EVP_MD_CTX *, unsigned char *, size_t *); +int EVP_DigestVerifyInit(EVP_MD_CTX *, EVP_PKEY_CTX **, const EVP_MD *, + ENGINE *, EVP_PKEY *); + - EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *, ENGINE *); EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int, ENGINE *); @@ -101,9 +101,9 @@ int EVP_PKEY_sign(EVP_PKEY_CTX *, unsigned char *, size_t *, int EVP_PKEY_verify_init(EVP_PKEY_CTX *); int EVP_PKEY_verify(EVP_PKEY_CTX *, const unsigned char *, size_t, const unsigned char *, size_t); -int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *); -int EVP_PKEY_verify_recover(EVP_PKEY_CTX *, unsigned char *, - size_t *, const unsigned char *, size_t); +int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *); +int EVP_PKEY_verify_recover(EVP_PKEY_CTX *, unsigned char *, + size_t *, const unsigned char *, size_t); int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *); int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *); @@ -113,31 +113,31 @@ int EVP_PKEY_set1_DH(EVP_PKEY *, DH *); int EVP_PKEY_cmp(const EVP_PKEY *, const EVP_PKEY *); -int EVP_PKEY_keygen_init(EVP_PKEY_CTX *); -int EVP_PKEY_keygen(EVP_PKEY_CTX *, EVP_PKEY **); -int EVP_PKEY_derive_init(EVP_PKEY_CTX *); -int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *, EVP_PKEY *); -int EVP_PKEY_derive(EVP_PKEY_CTX *, unsigned char *, size_t *); -int EVP_PKEY_set_type(EVP_PKEY *, int); - +int EVP_PKEY_keygen_init(EVP_PKEY_CTX *); +int EVP_PKEY_keygen(EVP_PKEY_CTX *, EVP_PKEY **); +int EVP_PKEY_derive_init(EVP_PKEY_CTX *); +int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *, EVP_PKEY *); +int EVP_PKEY_derive(EVP_PKEY_CTX *, unsigned char *, size_t *); +int EVP_PKEY_set_type(EVP_PKEY *, int); + int EVP_PKEY_id(const EVP_PKEY *); int Cryptography_EVP_PKEY_id(const EVP_PKEY *); -EVP_MD_CTX *EVP_MD_CTX_new(void); -void EVP_MD_CTX_free(EVP_MD_CTX *); -/* Backwards compat aliases for pyOpenSSL */ +EVP_MD_CTX *EVP_MD_CTX_new(void); +void EVP_MD_CTX_free(EVP_MD_CTX *); +/* Backwards compat aliases for pyOpenSSL */ EVP_MD_CTX *Cryptography_EVP_MD_CTX_new(void); void Cryptography_EVP_MD_CTX_free(EVP_MD_CTX *); - -/* Added in 1.1.1 */ -int EVP_DigestSign(EVP_MD_CTX *, unsigned char *, size_t *, - const unsigned char *, size_t); -int EVP_DigestVerify(EVP_MD_CTX *, const unsigned char *, size_t, - const unsigned char *, size_t); -/* Added in 1.1.0 */ -size_t EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY *, unsigned char **); -int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *, const unsigned char *, - size_t); + +/* Added in 1.1.1 */ +int EVP_DigestSign(EVP_MD_CTX *, unsigned char *, size_t *, + const unsigned char *, size_t); +int EVP_DigestVerify(EVP_MD_CTX *, const unsigned char *, size_t, + const unsigned char *, size_t); +/* Added in 1.1.0 */ +size_t EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY *, unsigned char **); +int EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY *, const unsigned char *, + size_t); /* EVP_PKEY * became const in 1.1.0 */ int EVP_PKEY_bits(EVP_PKEY *); @@ -158,21 +158,21 @@ int EVP_PKEY_CTX_set_signature_md(EVP_PKEY_CTX *, const EVP_MD *); int EVP_PBE_scrypt(const char *, size_t, const unsigned char *, size_t, uint64_t, uint64_t, uint64_t, uint64_t, unsigned char *, size_t); - -EVP_PKEY *EVP_PKEY_new_raw_private_key(int, ENGINE *, const unsigned char *, - size_t); -EVP_PKEY *EVP_PKEY_new_raw_public_key(int, ENGINE *, const unsigned char *, - size_t); -int EVP_PKEY_get_raw_private_key(const EVP_PKEY *, unsigned char *, size_t *); -int EVP_PKEY_get_raw_public_key(const EVP_PKEY *, unsigned char *, size_t *); + +EVP_PKEY *EVP_PKEY_new_raw_private_key(int, ENGINE *, const unsigned char *, + size_t); +EVP_PKEY *EVP_PKEY_new_raw_public_key(int, ENGINE *, const unsigned char *, + size_t); +int EVP_PKEY_get_raw_private_key(const EVP_PKEY *, unsigned char *, size_t *); +int EVP_PKEY_get_raw_public_key(const EVP_PKEY *, unsigned char *, size_t *); """ CUSTOMIZATIONS = """ -#ifdef EVP_PKEY_DHX -const long Cryptography_HAS_EVP_PKEY_DHX = 1; +#ifdef EVP_PKEY_DHX +const long Cryptography_HAS_EVP_PKEY_DHX = 1; #else -const long Cryptography_HAS_EVP_PKEY_DHX = 0; -const long EVP_PKEY_DHX = -1; +const long Cryptography_HAS_EVP_PKEY_DHX = 0; +const long EVP_PKEY_DHX = -1; #endif int Cryptography_EVP_PKEY_id(const EVP_PKEY *key) { @@ -181,11 +181,11 @@ int Cryptography_EVP_PKEY_id(const EVP_PKEY *key) { EVP_MD_CTX *Cryptography_EVP_MD_CTX_new(void) { return EVP_MD_CTX_new(); } -void Cryptography_EVP_MD_CTX_free(EVP_MD_CTX *md) { - EVP_MD_CTX_free(md); +void Cryptography_EVP_MD_CTX_free(EVP_MD_CTX *md) { + EVP_MD_CTX_free(md); } - -#if CRYPTOGRAPHY_IS_LIBRESSL || defined(OPENSSL_NO_SCRYPT) + +#if CRYPTOGRAPHY_IS_LIBRESSL || defined(OPENSSL_NO_SCRYPT) static const long Cryptography_HAS_SCRYPT = 0; int (*EVP_PBE_scrypt)(const char *, size_t, const unsigned char *, size_t, uint64_t, uint64_t, uint64_t, uint64_t, unsigned char *, @@ -193,80 +193,80 @@ int (*EVP_PBE_scrypt)(const char *, size_t, const unsigned char *, size_t, #else static const long Cryptography_HAS_SCRYPT = 1; #endif - -#if !CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint = 1; -#else -static const long Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint = 0; -size_t (*EVP_PKEY_get1_tls_encodedpoint)(EVP_PKEY *, unsigned char **) = NULL; -int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, const unsigned char *, - size_t) = NULL; -#endif - -#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 -static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0; -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 *, - size_t) = NULL; -int (*EVP_PKEY_get_raw_private_key)(const EVP_PKEY *, unsigned char *, - size_t *) = NULL; -int (*EVP_PKEY_get_raw_public_key)(const EVP_PKEY *, unsigned char *, - size_t *) = NULL; -#else -static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1; -static const long Cryptography_HAS_RAW_KEY = 1; -static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 1; -#endif - -/* OpenSSL 1.1.0+ does this define for us, but if not present we'll do it */ -#if !defined(EVP_CTRL_AEAD_SET_IVLEN) -# define EVP_CTRL_AEAD_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN -#endif -#if !defined(EVP_CTRL_AEAD_GET_TAG) -# define EVP_CTRL_AEAD_GET_TAG EVP_CTRL_GCM_GET_TAG -#endif -#if !defined(EVP_CTRL_AEAD_SET_TAG) -# define EVP_CTRL_AEAD_SET_TAG EVP_CTRL_GCM_SET_TAG -#endif - -/* This is tied to X25519 support so we reuse the Cryptography_HAS_X25519 - conditional to remove it. OpenSSL 1.1.0 didn't have this define, but - 1.1.1 will when it is released. We can remove this in the distant - future when we drop 1.1.0 support. */ -#ifndef EVP_PKEY_X25519 -#define EVP_PKEY_X25519 NID_X25519 -#endif - -/* This is tied to X448 support so we reuse the Cryptography_HAS_X448 - conditional to remove it. OpenSSL 1.1.1 adds this define. We can remove - this in the distant future when we drop 1.1.0 support. */ -#ifndef EVP_PKEY_X448 -#define EVP_PKEY_X448 NID_X448 -#endif - -/* This is tied to ED25519 support so we reuse the Cryptography_HAS_ED25519 - conditional to remove it. */ -#ifndef EVP_PKEY_ED25519 -#define EVP_PKEY_ED25519 NID_ED25519 -#endif - -/* This is tied to ED448 support so we reuse the Cryptography_HAS_ED448 - conditional to remove it. */ -#ifndef EVP_PKEY_ED448 -#define EVP_PKEY_ED448 NID_ED448 -#endif - -/* This is tied to poly1305 support so we reuse the Cryptography_HAS_POLY1305 - conditional to remove it. */ -#ifndef EVP_PKEY_POLY1305 -#define EVP_PKEY_POLY1305 NID_poly1305 -#endif + +#if !CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint = 1; +#else +static const long Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint = 0; +size_t (*EVP_PKEY_get1_tls_encodedpoint)(EVP_PKEY *, unsigned char **) = NULL; +int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, const unsigned char *, + size_t) = NULL; +#endif + +#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 +static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0; +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 *, + size_t) = NULL; +int (*EVP_PKEY_get_raw_private_key)(const EVP_PKEY *, unsigned char *, + size_t *) = NULL; +int (*EVP_PKEY_get_raw_public_key)(const EVP_PKEY *, unsigned char *, + size_t *) = NULL; +#else +static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1; +static const long Cryptography_HAS_RAW_KEY = 1; +static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 1; +#endif + +/* OpenSSL 1.1.0+ does this define for us, but if not present we'll do it */ +#if !defined(EVP_CTRL_AEAD_SET_IVLEN) +# define EVP_CTRL_AEAD_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN +#endif +#if !defined(EVP_CTRL_AEAD_GET_TAG) +# define EVP_CTRL_AEAD_GET_TAG EVP_CTRL_GCM_GET_TAG +#endif +#if !defined(EVP_CTRL_AEAD_SET_TAG) +# define EVP_CTRL_AEAD_SET_TAG EVP_CTRL_GCM_SET_TAG +#endif + +/* This is tied to X25519 support so we reuse the Cryptography_HAS_X25519 + conditional to remove it. OpenSSL 1.1.0 didn't have this define, but + 1.1.1 will when it is released. We can remove this in the distant + future when we drop 1.1.0 support. */ +#ifndef EVP_PKEY_X25519 +#define EVP_PKEY_X25519 NID_X25519 +#endif + +/* This is tied to X448 support so we reuse the Cryptography_HAS_X448 + conditional to remove it. OpenSSL 1.1.1 adds this define. We can remove + this in the distant future when we drop 1.1.0 support. */ +#ifndef EVP_PKEY_X448 +#define EVP_PKEY_X448 NID_X448 +#endif + +/* This is tied to ED25519 support so we reuse the Cryptography_HAS_ED25519 + conditional to remove it. */ +#ifndef EVP_PKEY_ED25519 +#define EVP_PKEY_ED25519 NID_ED25519 +#endif + +/* This is tied to ED448 support so we reuse the Cryptography_HAS_ED448 + conditional to remove it. */ +#ifndef EVP_PKEY_ED448 +#define EVP_PKEY_ED448 NID_ED448 +#endif + +/* This is tied to poly1305 support so we reuse the Cryptography_HAS_POLY1305 + conditional to remove it. */ +#ifndef EVP_PKEY_POLY1305 +#define EVP_PKEY_POLY1305 NID_poly1305 +#endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/fips.py b/contrib/python/cryptography/_cffi_src/openssl/fips.py index f15281416b..c92bca494b 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/fips.py +++ b/contrib/python/cryptography/_cffi_src/openssl/fips.py @@ -1,28 +1,28 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -INCLUDES = """ -#include <openssl/crypto.h> -""" - -TYPES = """ -static const long Cryptography_HAS_FIPS; -""" - -FUNCTIONS = """ -int FIPS_mode_set(int); -int FIPS_mode(void); -""" - -CUSTOMIZATIONS = """ -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_FIPS = 0; -int (*FIPS_mode_set)(int) = NULL; -int (*FIPS_mode)(void) = NULL; -#else -static const long Cryptography_HAS_FIPS = 1; -#endif -""" +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +INCLUDES = """ +#include <openssl/crypto.h> +""" + +TYPES = """ +static const long Cryptography_HAS_FIPS; +""" + +FUNCTIONS = """ +int FIPS_mode_set(int); +int FIPS_mode(void); +""" + +CUSTOMIZATIONS = """ +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_FIPS = 0; +int (*FIPS_mode_set)(int) = NULL; +int (*FIPS_mode)(void) = NULL; +#else +static const long Cryptography_HAS_FIPS = 1; +#endif +""" diff --git a/contrib/python/cryptography/_cffi_src/openssl/hmac.py b/contrib/python/cryptography/_cffi_src/openssl/hmac.py index 1619f5a3d6..2e0e33ffe3 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/hmac.py +++ b/contrib/python/cryptography/_cffi_src/openssl/hmac.py @@ -18,8 +18,8 @@ int HMAC_Update(HMAC_CTX *, const unsigned char *, size_t); int HMAC_Final(HMAC_CTX *, unsigned char *, unsigned int *); int HMAC_CTX_copy(HMAC_CTX *, HMAC_CTX *); -HMAC_CTX *HMAC_CTX_new(void); -void HMAC_CTX_free(HMAC_CTX *ctx); +HMAC_CTX *HMAC_CTX_new(void); +void HMAC_CTX_free(HMAC_CTX *ctx); """ CUSTOMIZATIONS = """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/nid.py b/contrib/python/cryptography/_cffi_src/openssl/nid.py index f52110be32..9ef88cdbbd 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/nid.py +++ b/contrib/python/cryptography/_cffi_src/openssl/nid.py @@ -9,44 +9,44 @@ INCLUDES = """ """ TYPES = """ -static const int Cryptography_HAS_ED448; -static const int Cryptography_HAS_ED25519; -static const int Cryptography_HAS_POLY1305; - +static const int Cryptography_HAS_ED448; +static const int Cryptography_HAS_ED25519; +static const int Cryptography_HAS_POLY1305; + static const int NID_undef; static const int NID_pbe_WithSHA1And3_Key_TripleDES_CBC; -static const int NID_X25519; -static const int NID_X448; -static const int NID_ED25519; -static const int NID_ED448; -static const int NID_poly1305; +static const int NID_X25519; +static const int NID_X448; +static const int NID_ED25519; +static const int NID_ED448; +static const int NID_poly1305; static const int NID_subject_alt_name; static const int NID_crl_reason; - -static const int NID_pkcs7_signed; + +static const int NID_pkcs7_signed; """ FUNCTIONS = """ """ CUSTOMIZATIONS = """ -#ifndef NID_ED25519 -static const long Cryptography_HAS_ED25519 = 0; -static const int NID_ED25519 = 0; -#else -static const long Cryptography_HAS_ED25519 = 1; -#endif -#ifndef NID_ED448 -static const long Cryptography_HAS_ED448 = 0; -static const int NID_ED448 = 0; -#else -static const long Cryptography_HAS_ED448 = 1; -#endif -#ifndef NID_poly1305 -static const long Cryptography_HAS_POLY1305 = 0; -static const int NID_poly1305 = 0; -#else -static const long Cryptography_HAS_POLY1305 = 1; -#endif +#ifndef NID_ED25519 +static const long Cryptography_HAS_ED25519 = 0; +static const int NID_ED25519 = 0; +#else +static const long Cryptography_HAS_ED25519 = 1; +#endif +#ifndef NID_ED448 +static const long Cryptography_HAS_ED448 = 0; +static const int NID_ED448 = 0; +#else +static const long Cryptography_HAS_ED448 = 1; +#endif +#ifndef NID_poly1305 +static const long Cryptography_HAS_POLY1305 = 0; +static const int NID_poly1305 = 0; +#else +static const long Cryptography_HAS_POLY1305 = 1; +#endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/objects.py b/contrib/python/cryptography/_cffi_src/openssl/objects.py index 87710f07f2..236903d986 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/objects.py +++ b/contrib/python/cryptography/_cffi_src/openssl/objects.py @@ -9,14 +9,14 @@ INCLUDES = """ """ TYPES = """ -typedef struct { - int type; - int alias; - const char *name; - const char *data; -} OBJ_NAME; - -static const long OBJ_NAME_TYPE_MD_METH; +typedef struct { + int type; + int alias; + const char *name; + const char *data; +} OBJ_NAME; + +static const long OBJ_NAME_TYPE_MD_METH; """ FUNCTIONS = """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/ocsp.py b/contrib/python/cryptography/_cffi_src/openssl/ocsp.py index 85fa7e9317..c3d034c2c4 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/ocsp.py +++ b/contrib/python/cryptography/_cffi_src/openssl/ocsp.py @@ -15,24 +15,24 @@ typedef ... OCSP_RESPONSE; typedef ... OCSP_BASICRESP; typedef ... OCSP_SINGLERESP; typedef ... OCSP_CERTID; -typedef ... OCSP_RESPDATA; -static const long OCSP_NOCERTS; -static const long OCSP_RESPID_KEY; +typedef ... OCSP_RESPDATA; +static const long OCSP_NOCERTS; +static const long OCSP_RESPID_KEY; """ FUNCTIONS = """ int OCSP_response_status(OCSP_RESPONSE *); OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *); int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *); -const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *); -Cryptography_STACK_OF_X509 *OCSP_resp_get0_certs(const OCSP_BASICRESP *); -const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at( - const OCSP_BASICRESP *); -const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *); -int OCSP_resp_get0_id(const OCSP_BASICRESP *, const ASN1_OCTET_STRING **, - const X509_NAME **); -const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *); -const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *); +const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *); +Cryptography_STACK_OF_X509 *OCSP_resp_get0_certs(const OCSP_BASICRESP *); +const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at( + const OCSP_BASICRESP *); +const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *); +int OCSP_resp_get0_id(const OCSP_BASICRESP *, const ASN1_OCTET_STRING **, + const X509_NAME **); +const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *); +const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *); X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *, int); int OCSP_resp_count(OCSP_BASICRESP *); OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *, int); @@ -42,14 +42,14 @@ X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *, int); int OCSP_single_get0_status(OCSP_SINGLERESP *, int *, ASN1_GENERALIZEDTIME **, ASN1_GENERALIZEDTIME **, ASN1_GENERALIZEDTIME **); -int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *); -X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *, int); +int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *); +X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *, int); int OCSP_request_onereq_count(OCSP_REQUEST *); OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *, int); OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *); -OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *, OCSP_CERTID *); -OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *, const X509 *, const X509 *); -void OCSP_CERTID_free(OCSP_CERTID *); +OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *, OCSP_CERTID *); +OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *, const X509 *, const X509 *); +void OCSP_CERTID_free(OCSP_CERTID *); OCSP_BASICRESP *OCSP_BASICRESP_new(void); @@ -58,109 +58,109 @@ OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *, OCSP_CERTID *, int, int, ASN1_TIME *, ASN1_TIME *, ASN1_TIME *); int OCSP_basic_add1_cert(OCSP_BASICRESP *, X509 *); -int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *, X509_EXTENSION *, int); +int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *, X509_EXTENSION *, int); int OCSP_basic_sign(OCSP_BASICRESP *, X509 *, EVP_PKEY *, const EVP_MD *, Cryptography_STACK_OF_X509 *, unsigned long); OCSP_RESPONSE *OCSP_response_create(int, OCSP_BASICRESP *); -void OCSP_RESPONSE_free(OCSP_RESPONSE *); +void OCSP_RESPONSE_free(OCSP_RESPONSE *); OCSP_REQUEST *OCSP_REQUEST_new(void); void OCSP_REQUEST_free(OCSP_REQUEST *); -int OCSP_REQUEST_add_ext(OCSP_REQUEST *, X509_EXTENSION *, int); -int OCSP_id_get0_info(ASN1_OCTET_STRING **, ASN1_OBJECT **, - ASN1_OCTET_STRING **, ASN1_INTEGER **, OCSP_CERTID *); +int OCSP_REQUEST_add_ext(OCSP_REQUEST *, X509_EXTENSION *, int); +int OCSP_id_get0_info(ASN1_OCTET_STRING **, ASN1_OBJECT **, + ASN1_OCTET_STRING **, ASN1_INTEGER **, OCSP_CERTID *); OCSP_REQUEST *d2i_OCSP_REQUEST_bio(BIO *, OCSP_REQUEST **); OCSP_RESPONSE *d2i_OCSP_RESPONSE_bio(BIO *, OCSP_RESPONSE **); int i2d_OCSP_REQUEST_bio(BIO *, OCSP_REQUEST *); int i2d_OCSP_RESPONSE_bio(BIO *, OCSP_RESPONSE *); -int i2d_OCSP_RESPDATA(OCSP_RESPDATA *, unsigned char **); +int i2d_OCSP_RESPDATA(OCSP_RESPDATA *, unsigned char **); """ CUSTOMIZATIONS = """ -#if ( \ - !CRYPTOGRAPHY_IS_LIBRESSL && \ - CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J \ - ) -/* These structs come from ocsp_lcl.h and are needed to de-opaque the struct - for the getters in OpenSSL 1.1.0 through 1.1.0i */ -struct ocsp_responder_id_st { - int type; - union { - X509_NAME *byName; - ASN1_OCTET_STRING *byKey; - } value; -}; -struct ocsp_response_data_st { - ASN1_INTEGER *version; - OCSP_RESPID responderId; - ASN1_GENERALIZEDTIME *producedAt; - STACK_OF(OCSP_SINGLERESP) *responses; - STACK_OF(X509_EXTENSION) *responseExtensions; -}; -struct ocsp_basic_response_st { - OCSP_RESPDATA tbsResponseData; - X509_ALGOR signatureAlgorithm; - ASN1_BIT_STRING *signature; - STACK_OF(X509) *certs; -}; -#endif - -#if CRYPTOGRAPHY_IS_LIBRESSL -/* These functions are all taken from ocsp_cl.c in OpenSSL 1.1.0 */ -const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single) -{ - return single->certId; -} -const Cryptography_STACK_OF_X509 *OCSP_resp_get0_certs( - const OCSP_BASICRESP *bs) -{ - return bs->certs; -} -int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, - const ASN1_OCTET_STRING **pid, - const X509_NAME **pname) -{ - const OCSP_RESPID *rid = bs->tbsResponseData->responderId; - - if (rid->type == V_OCSP_RESPID_NAME) { - *pname = rid->value.byName; - *pid = NULL; - } else if (rid->type == V_OCSP_RESPID_KEY) { - *pid = rid->value.byKey; - *pname = NULL; - } else { - return 0; - } - return 1; -} -const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at( - const OCSP_BASICRESP* bs) -{ - return bs->tbsResponseData->producedAt; -} -const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs) -{ - return bs->signature; -} -#endif - -#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J -const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs) -{ -#if CRYPTOGRAPHY_IS_LIBRESSL - return bs->signatureAlgorithm; -#else - return &bs->signatureAlgorithm; -#endif -} - -const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs) -{ -#if CRYPTOGRAPHY_IS_LIBRESSL - return bs->tbsResponseData; -#else - return &bs->tbsResponseData; -#endif -} -#endif +#if ( \ + !CRYPTOGRAPHY_IS_LIBRESSL && \ + CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J \ + ) +/* These structs come from ocsp_lcl.h and are needed to de-opaque the struct + for the getters in OpenSSL 1.1.0 through 1.1.0i */ +struct ocsp_responder_id_st { + int type; + union { + X509_NAME *byName; + ASN1_OCTET_STRING *byKey; + } value; +}; +struct ocsp_response_data_st { + ASN1_INTEGER *version; + OCSP_RESPID responderId; + ASN1_GENERALIZEDTIME *producedAt; + STACK_OF(OCSP_SINGLERESP) *responses; + STACK_OF(X509_EXTENSION) *responseExtensions; +}; +struct ocsp_basic_response_st { + OCSP_RESPDATA tbsResponseData; + X509_ALGOR signatureAlgorithm; + ASN1_BIT_STRING *signature; + STACK_OF(X509) *certs; +}; +#endif + +#if CRYPTOGRAPHY_IS_LIBRESSL +/* These functions are all taken from ocsp_cl.c in OpenSSL 1.1.0 */ +const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single) +{ + return single->certId; +} +const Cryptography_STACK_OF_X509 *OCSP_resp_get0_certs( + const OCSP_BASICRESP *bs) +{ + return bs->certs; +} +int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, + const ASN1_OCTET_STRING **pid, + const X509_NAME **pname) +{ + const OCSP_RESPID *rid = bs->tbsResponseData->responderId; + + if (rid->type == V_OCSP_RESPID_NAME) { + *pname = rid->value.byName; + *pid = NULL; + } else if (rid->type == V_OCSP_RESPID_KEY) { + *pid = rid->value.byKey; + *pname = NULL; + } else { + return 0; + } + return 1; +} +const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at( + const OCSP_BASICRESP* bs) +{ + return bs->tbsResponseData->producedAt; +} +const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs) +{ + return bs->signature; +} +#endif + +#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J +const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs) +{ +#if CRYPTOGRAPHY_IS_LIBRESSL + return bs->signatureAlgorithm; +#else + return &bs->signatureAlgorithm; +#endif +} + +const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs) +{ +#if CRYPTOGRAPHY_IS_LIBRESSL + return bs->tbsResponseData; +#else + return &bs->tbsResponseData; +#endif +} +#endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/osrandom_engine.py b/contrib/python/cryptography/_cffi_src/openssl/osrandom_engine.py index 01541d8106..ed1068ef8a 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/osrandom_engine.py +++ b/contrib/python/cryptography/_cffi_src/openssl/osrandom_engine.py @@ -1,24 +1,24 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import os - -HERE = os.path.dirname(os.path.abspath(__file__)) - -with open(os.path.join(HERE, "src/osrandom_engine.h")) as f: - INCLUDES = f.read() - -TYPES = """ -static const char *const Cryptography_osrandom_engine_name; -static const char *const Cryptography_osrandom_engine_id; -""" - -FUNCTIONS = """ -int Cryptography_add_osrandom_engine(void); -""" - -with open(os.path.join(HERE, "src/osrandom_engine.c")) as f: - CUSTOMIZATIONS = f.read() +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import os + +HERE = os.path.dirname(os.path.abspath(__file__)) + +with open(os.path.join(HERE, "src/osrandom_engine.h")) as f: + INCLUDES = f.read() + +TYPES = """ +static const char *const Cryptography_osrandom_engine_name; +static const char *const Cryptography_osrandom_engine_id; +""" + +FUNCTIONS = """ +int Cryptography_add_osrandom_engine(void); +""" + +with open(os.path.join(HERE, "src/osrandom_engine.c")) as f: + CUSTOMIZATIONS = f.read() diff --git a/contrib/python/cryptography/_cffi_src/openssl/pem.py b/contrib/python/cryptography/_cffi_src/openssl/pem.py index 3346d39bf3..3f279c4fff 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/pem.py +++ b/contrib/python/cryptography/_cffi_src/openssl/pem.py @@ -65,11 +65,11 @@ int PEM_write_bio_ECPrivateKey(BIO *, EC_KEY *, const EVP_CIPHER *, unsigned char *, int, pem_password_cb *, void *); int PEM_write_bio_DHparams(BIO *, DH *); -int PEM_write_bio_DHxparams(BIO *, DH *); +int PEM_write_bio_DHxparams(BIO *, DH *); """ CUSTOMIZATIONS = """ -#if !defined(EVP_PKEY_DHX) || EVP_PKEY_DHX == -1 -int (*PEM_write_bio_DHxparams)(BIO *, DH *) = NULL; +#if !defined(EVP_PKEY_DHX) || EVP_PKEY_DHX == -1 +int (*PEM_write_bio_DHxparams)(BIO *, DH *) = NULL; #endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/pkcs7.py b/contrib/python/cryptography/_cffi_src/openssl/pkcs7.py index 8f754377e4..c22263dfe6 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/pkcs7.py +++ b/contrib/python/cryptography/_cffi_src/openssl/pkcs7.py @@ -24,7 +24,7 @@ typedef struct { typedef ... PKCS7_DIGEST; typedef ... PKCS7_ENCRYPT; typedef ... PKCS7_ENVELOPE; -typedef ... PKCS7_SIGNER_INFO; +typedef ... PKCS7_SIGNER_INFO; typedef struct { ASN1_OBJECT *type; @@ -52,23 +52,23 @@ static const int PKCS7_NOSMIMECAP; static const int PKCS7_NOVERIFY; static const int PKCS7_STREAM; static const int PKCS7_TEXT; -static const int PKCS7_PARTIAL; +static const int PKCS7_PARTIAL; """ FUNCTIONS = """ void PKCS7_free(PKCS7 *); PKCS7 *PKCS7_sign(X509 *, EVP_PKEY *, Cryptography_STACK_OF_X509 *, - BIO *, int); -int SMIME_write_PKCS7(BIO *, PKCS7 *, BIO *, int); -int PEM_write_bio_PKCS7_stream(BIO *, PKCS7 *, BIO *, int); -PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *, X509 *, EVP_PKEY *, - const EVP_MD *, int); -int PKCS7_final(PKCS7 *, BIO *, int); -/* Included verify due to external consumer, see - https://github.com/pyca/cryptography/issues/5433 */ + BIO *, int); +int SMIME_write_PKCS7(BIO *, PKCS7 *, BIO *, int); +int PEM_write_bio_PKCS7_stream(BIO *, PKCS7 *, BIO *, int); +PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *, X509 *, EVP_PKEY *, + const EVP_MD *, int); +int PKCS7_final(PKCS7 *, BIO *, int); +/* Included verify due to external consumer, see + https://github.com/pyca/cryptography/issues/5433 */ int PKCS7_verify(PKCS7 *, Cryptography_STACK_OF_X509 *, X509_STORE *, BIO *, BIO *, int); -PKCS7 *SMIME_read_PKCS7(BIO *, BIO **); +PKCS7 *SMIME_read_PKCS7(BIO *, BIO **); int PKCS7_type_is_signed(PKCS7 *); int PKCS7_type_is_enveloped(PKCS7 *); diff --git a/contrib/python/cryptography/_cffi_src/openssl/rand.py b/contrib/python/cryptography/_cffi_src/openssl/rand.py index 40e1477fb0..1bc2ec0bc3 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/rand.py +++ b/contrib/python/cryptography/_cffi_src/openssl/rand.py @@ -9,11 +9,11 @@ INCLUDES = """ """ TYPES = """ -typedef ... RAND_METHOD; +typedef ... RAND_METHOD; """ FUNCTIONS = """ -int RAND_set_rand_method(const RAND_METHOD *); +int RAND_set_rand_method(const RAND_METHOD *); void RAND_add(const void *, int, double); int RAND_status(void); int RAND_bytes(unsigned char *, int); diff --git a/contrib/python/cryptography/_cffi_src/openssl/rsa.py b/contrib/python/cryptography/_cffi_src/openssl/rsa.py index 5e6a65dc0b..92b8fa4600 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/rsa.py +++ b/contrib/python/cryptography/_cffi_src/openssl/rsa.py @@ -18,7 +18,7 @@ static const int RSA_PKCS1_PSS_PADDING; static const int RSA_F4; static const int Cryptography_HAS_RSA_OAEP_MD; -static const int Cryptography_HAS_RSA_OAEP_LABEL; +static const int Cryptography_HAS_RSA_OAEP_LABEL; """ FUNCTIONS = """ @@ -42,20 +42,20 @@ void RSA_get0_crt_params(const RSA *, const BIGNUM **, const BIGNUM **, int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *, int); int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *, int); int EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *, EVP_MD *); -int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *, unsigned char *, int); +int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *, unsigned char *, int); int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *, EVP_MD *); """ CUSTOMIZATIONS = """ -#if !CRYPTOGRAPHY_IS_LIBRESSL +#if !CRYPTOGRAPHY_IS_LIBRESSL static const long Cryptography_HAS_RSA_OAEP_MD = 1; -static const long Cryptography_HAS_RSA_OAEP_LABEL = 1; +static const long Cryptography_HAS_RSA_OAEP_LABEL = 1; #else static const long Cryptography_HAS_RSA_OAEP_MD = 0; -static const long Cryptography_HAS_RSA_OAEP_LABEL = 0; +static const long Cryptography_HAS_RSA_OAEP_LABEL = 0; int (*EVP_PKEY_CTX_set_rsa_oaep_md)(EVP_PKEY_CTX *, EVP_MD *) = NULL; -int (*EVP_PKEY_CTX_set0_rsa_oaep_label)(EVP_PKEY_CTX *, unsigned char *, - int) = NULL; -#endif +int (*EVP_PKEY_CTX_set0_rsa_oaep_label)(EVP_PKEY_CTX *, unsigned char *, + int) = NULL; +#endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/src/osrandom_engine.c b/contrib/python/cryptography/_cffi_src/openssl/src/osrandom_engine.c index fb765b1c02..a84857b86d 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/src/osrandom_engine.c +++ b/contrib/python/cryptography/_cffi_src/openssl/src/osrandom_engine.c @@ -1,660 +1,660 @@ -/* osurandom engine - * - * Windows CryptGenRandom() - * macOS >= 10.12 getentropy() - * OpenBSD 5.6+ getentropy() - * other BSD getentropy() if SYS_getentropy is defined - * Linux 3.17+ getrandom() with fallback to /dev/urandom - * other /dev/urandom with cached fd - * - * The /dev/urandom, getrandom and getentropy code is derived from Python's - * Python/random.c, written by Antoine Pitrou and Victor Stinner. - * - * Copyright 2001-2016 Python Software Foundation; All Rights Reserved. - */ - -#ifdef __linux__ -#include <poll.h> -#endif - -#if CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE -/* OpenSSL has ENGINE support and is older than 1.1.1d (the first version that - * properly implements fork safety in its RNG) so build the engine. */ -static const char *Cryptography_osrandom_engine_id = "osrandom"; - -/**************************************************************************** - * Windows - */ -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM -static const char *Cryptography_osrandom_engine_name = "osrandom_engine CryptGenRandom()"; -static HCRYPTPROV hCryptProv = 0; - -static int osrandom_init(ENGINE *e) { - if (hCryptProv != 0) { - return 1; - } - if (CryptAcquireContext(&hCryptProv, NULL, NULL, - PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { - return 1; - } else { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_INIT, - CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT, - __FILE__, __LINE__ - ); - return 0; - } -} - -static int osrandom_rand_bytes(unsigned char *buffer, int size) { - if (hCryptProv == 0) { - return 0; - } - - if (!CryptGenRandom(hCryptProv, (DWORD)size, buffer)) { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM, - __FILE__, __LINE__ - ); - return 0; - } - return 1; -} - -static int osrandom_finish(ENGINE *e) { - if (CryptReleaseContext(hCryptProv, 0)) { - hCryptProv = 0; - return 1; - } else { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_FINISH, - CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT, - __FILE__, __LINE__ - ); - return 0; - } -} - -static int osrandom_rand_status(void) { - return hCryptProv != 0; -} - -static const char *osurandom_get_implementation(void) { - return "CryptGenRandom"; -} - -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM */ - -/**************************************************************************** - * /dev/urandom helpers for all non-BSD Unix platforms - */ -#ifdef CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM - -static struct { - int fd; - dev_t st_dev; - ino_t st_ino; -} urandom_cache = { -1 }; - -static int open_cloexec(const char *path) { - int open_flags = O_RDONLY; -#ifdef O_CLOEXEC - open_flags |= O_CLOEXEC; -#endif - - int fd = open(path, open_flags); - if (fd == -1) { - return -1; - } - -#ifndef O_CLOEXEC - int flags = fcntl(fd, F_GETFD); - if (flags == -1) { - return -1; - } - if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1) { - return -1; - } -#endif - return fd; -} - -#ifdef __linux__ -/* On Linux, we open("/dev/random") and use poll() to wait until it's readable - * before we read from /dev/urandom, this ensures that we don't read from - * /dev/urandom before the kernel CSPRNG is initialized. This isn't necessary on - * other platforms because they don't have the same _bug_ as Linux does with - * /dev/urandom and early boot. */ -static int wait_on_devrandom(void) { - struct pollfd pfd = {}; - int ret = 0; - int random_fd = open_cloexec("/dev/random"); - if (random_fd < 0) { - return -1; - } - pfd.fd = random_fd; - pfd.events = POLLIN; - pfd.revents = 0; - do { - ret = poll(&pfd, 1, -1); - } while (ret < 0 && (errno == EINTR || errno == EAGAIN)); - close(random_fd); - return ret; -} -#endif - -/* return -1 on error */ -static int dev_urandom_fd(void) { - int fd = -1; - struct stat st; - - /* Check that fd still points to the correct device */ - if (urandom_cache.fd >= 0) { - if (fstat(urandom_cache.fd, &st) - || st.st_dev != urandom_cache.st_dev - || st.st_ino != urandom_cache.st_ino) { - /* Somebody replaced our FD. Invalidate our cache but don't - * close the fd. */ - urandom_cache.fd = -1; - } - } - if (urandom_cache.fd < 0) { -#ifdef __linux__ - if (wait_on_devrandom() < 0) { - goto error; - } -#endif - - fd = open_cloexec("/dev/urandom"); - if (fd < 0) { - goto error; - } - if (fstat(fd, &st)) { - goto error; - } - /* Another thread initialized the fd */ - if (urandom_cache.fd >= 0) { - close(fd); - return urandom_cache.fd; - } - urandom_cache.st_dev = st.st_dev; - urandom_cache.st_ino = st.st_ino; - urandom_cache.fd = fd; - } - return urandom_cache.fd; - - error: - if (fd != -1) { - close(fd); - } - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD, - CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED, - __FILE__, __LINE__ - ); - return -1; -} - -static int dev_urandom_read(unsigned char *buffer, int size) { - int fd; - int n; - - fd = dev_urandom_fd(); - if (fd < 0) { - return 0; - } - - while (size > 0) { - do { - n = (int)read(fd, buffer, (size_t)size); - } while (n < 0 && errno == EINTR); - - if (n <= 0) { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ, - CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED, - __FILE__, __LINE__ - ); - return 0; - } - buffer += n; - size -= n; - } - return 1; -} - -static void dev_urandom_close(void) { - if (urandom_cache.fd >= 0) { - int fd; - struct stat st; - - if (fstat(urandom_cache.fd, &st) - && st.st_dev == urandom_cache.st_dev - && st.st_ino == urandom_cache.st_ino) { - fd = urandom_cache.fd; - urandom_cache.fd = -1; - close(fd); - } - } -} -#endif /* CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM */ - -/**************************************************************************** - * BSD getentropy - */ -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY -static const char *Cryptography_osrandom_engine_name = "osrandom_engine getentropy()"; - -static int getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_NOT_INIT; - -static int osrandom_init(ENGINE *e) { -#if !defined(__APPLE__) - getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS; -#else - if (__builtin_available(macOS 10.12, *)) { - getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS; - } else { - getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK; - int fd = dev_urandom_fd(); - if (fd < 0) { - return 0; - } - } -#endif - return 1; -} - -static int osrandom_rand_bytes(unsigned char *buffer, int size) { - int len; - int res; - - switch(getentropy_works) { -#if defined(__APPLE__) - case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK: - return dev_urandom_read(buffer, size); -#endif - case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS: - while (size > 0) { - /* OpenBSD and macOS restrict maximum buffer size to 256. */ - len = size > 256 ? 256 : size; -/* on mac, availability is already checked using `__builtin_available` above */ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunguarded-availability" - res = getentropy(buffer, (size_t)len); -#pragma clang diagnostic pop - if (res < 0) { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED, - __FILE__, __LINE__ - ); - return 0; - } - buffer += len; - size -= len; - } - return 1; - } - __builtin_unreachable(); -} - -static int osrandom_finish(ENGINE *e) { - return 1; -} - -static int osrandom_rand_status(void) { - return 1; -} - -static const char *osurandom_get_implementation(void) { - switch(getentropy_works) { - case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK: - return "/dev/urandom"; - case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS: - return "getentropy"; - } - __builtin_unreachable(); -} -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY */ - -/**************************************************************************** - * Linux getrandom engine with fallback to dev_urandom - */ - -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM -static const char *Cryptography_osrandom_engine_name = "osrandom_engine getrandom()"; - -static int getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT; - -static int osrandom_init(ENGINE *e) { - /* We try to detect working getrandom until we succeed. */ - if (getrandom_works != CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS) { - long n; - char dest[1]; - /* if the kernel CSPRNG is not initialized this will block */ - n = syscall(SYS_getrandom, dest, sizeof(dest), 0); - if (n == sizeof(dest)) { - getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS; - } else { - int e = errno; - switch(e) { - case ENOSYS: - /* Fallback: Kernel does not support the syscall. */ - getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK; - break; - case EPERM: - /* Fallback: seccomp prevents syscall */ - getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK; - break; - default: - /* EINTR cannot occur for buflen < 256. */ - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_INIT, - CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED, - "errno", e - ); - getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED; - break; - } - } - } - - /* fallback to dev urandom */ - if (getrandom_works == CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK) { - int fd = dev_urandom_fd(); - if (fd < 0) { - return 0; - } - } - return 1; -} - -static int osrandom_rand_bytes(unsigned char *buffer, int size) { - long n; - - switch(getrandom_works) { - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED, - __FILE__, __LINE__ - ); - return 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT, - __FILE__, __LINE__ - ); - return 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: - return dev_urandom_read(buffer, size); - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: - while (size > 0) { - do { - n = syscall(SYS_getrandom, buffer, size, 0); - } while (n < 0 && errno == EINTR); - - if (n <= 0) { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED, - __FILE__, __LINE__ - ); - return 0; - } - buffer += n; - size -= (int)n; - } - return 1; - } - __builtin_unreachable(); -} - -static int osrandom_finish(ENGINE *e) { - dev_urandom_close(); - return 1; -} - -static int osrandom_rand_status(void) { - switch(getrandom_works) { - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: - return 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: - return 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: - return urandom_cache.fd >= 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: - return 1; - } - __builtin_unreachable(); -} - -static const char *osurandom_get_implementation(void) { - switch(getrandom_works) { - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: - return "<failed>"; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: - return "<not initialized>"; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: - return "/dev/urandom"; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: - return "getrandom"; - } - __builtin_unreachable(); -} -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM */ - -/**************************************************************************** - * dev_urandom engine for all remaining platforms - */ - -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM -static const char *Cryptography_osrandom_engine_name = "osrandom_engine /dev/urandom"; - -static int osrandom_init(ENGINE *e) { - int fd = dev_urandom_fd(); - if (fd < 0) { - return 0; - } - return 1; -} - -static int osrandom_rand_bytes(unsigned char *buffer, int size) { - return dev_urandom_read(buffer, size); -} - -static int osrandom_finish(ENGINE *e) { - dev_urandom_close(); - return 1; -} - -static int osrandom_rand_status(void) { - return urandom_cache.fd >= 0; -} - -static const char *osurandom_get_implementation(void) { - return "/dev/urandom"; -} -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM */ - -/**************************************************************************** - * ENGINE boiler plate - */ - -/* This replicates the behavior of the OpenSSL FIPS RNG, which returns a - -1 in the event that there is an error when calling RAND_pseudo_bytes. */ -static int osrandom_pseudo_rand_bytes(unsigned char *buffer, int size) { - int res = osrandom_rand_bytes(buffer, size); - if (res == 0) { - return -1; - } else { - return res; - } -} - -static RAND_METHOD osrandom_rand = { - NULL, - osrandom_rand_bytes, - NULL, - NULL, - osrandom_pseudo_rand_bytes, - osrandom_rand_status, -}; - -static const ENGINE_CMD_DEFN osrandom_cmd_defns[] = { - {CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION, - "get_implementation", - "Get CPRNG implementation.", - ENGINE_CMD_FLAG_NO_INPUT}, - {0, NULL, NULL, 0} -}; - -static int osrandom_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)) { - const char *name; - size_t len; - - switch (cmd) { - case CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION: - /* i: buffer size, p: char* buffer */ - name = osurandom_get_implementation(); - len = strlen(name); - if ((p == NULL) && (i == 0)) { - /* return required buffer len */ - return (int)len; - } - if ((p == NULL) || i < 0 || ((size_t)i <= len)) { - /* no buffer or buffer too small */ - ENGINEerr(ENGINE_F_ENGINE_CTRL, ENGINE_R_INVALID_ARGUMENT); - return 0; - } - strcpy((char *)p, name); - return (int)len; - default: - ENGINEerr(ENGINE_F_ENGINE_CTRL, ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED); - return 0; - } -} - -/* error reporting */ -#define ERR_FUNC(func) ERR_PACK(0, func, 0) -#define ERR_REASON(reason) ERR_PACK(0, 0, reason) - -static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_lib_name[] = { - {0, "osrandom_engine"}, - {0, NULL} -}; - -static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_str_funcs[] = { - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_INIT), - "osrandom_init"}, - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES), - "osrandom_rand_bytes"}, - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_FINISH), - "osrandom_finish"}, - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD), - "dev_urandom_fd"}, - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ), - "dev_urandom_read"}, - {0, NULL} -}; - -static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_str_reasons[] = { - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT), - "CryptAcquireContext() failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM), - "CryptGenRandom() failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT), - "CryptReleaseContext() failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED), - "getentropy() failed"}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED), - "open('/dev/urandom') failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED), - "Reading from /dev/urandom fd failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED), - "getrandom() initialization failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED), - "getrandom() initialization failed with unexpected errno."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED), - "getrandom() syscall failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT), - "getrandom() engine was not properly initialized."}, - {0, NULL} -}; - -static int Cryptography_OSRandom_lib_error_code = 0; - -static void ERR_load_Cryptography_OSRandom_strings(void) -{ - if (Cryptography_OSRandom_lib_error_code == 0) { - Cryptography_OSRandom_lib_error_code = ERR_get_next_error_library(); - ERR_load_strings(Cryptography_OSRandom_lib_error_code, - CRYPTOGRAPHY_OSRANDOM_lib_name); - ERR_load_strings(Cryptography_OSRandom_lib_error_code, - CRYPTOGRAPHY_OSRANDOM_str_funcs); - ERR_load_strings(Cryptography_OSRandom_lib_error_code, - CRYPTOGRAPHY_OSRANDOM_str_reasons); - } -} - -static void ERR_Cryptography_OSRandom_error(int function, int reason, - char *file, int line) -{ - ERR_PUT_error(Cryptography_OSRandom_lib_error_code, function, reason, - file, line); -} - -/* Returns 1 if successfully added, 2 if engine has previously been added, - and 0 for error. */ -int Cryptography_add_osrandom_engine(void) { - ENGINE *e; - - ERR_load_Cryptography_OSRandom_strings(); - - e = ENGINE_by_id(Cryptography_osrandom_engine_id); - if (e != NULL) { - ENGINE_free(e); - return 2; - } else { - ERR_clear_error(); - } - - e = ENGINE_new(); - if (e == NULL) { - return 0; - } - if (!ENGINE_set_id(e, Cryptography_osrandom_engine_id) || - !ENGINE_set_name(e, Cryptography_osrandom_engine_name) || - !ENGINE_set_RAND(e, &osrandom_rand) || - !ENGINE_set_init_function(e, osrandom_init) || - !ENGINE_set_finish_function(e, osrandom_finish) || - !ENGINE_set_cmd_defns(e, osrandom_cmd_defns) || - !ENGINE_set_ctrl_function(e, osrandom_ctrl)) { - ENGINE_free(e); - return 0; - } - if (!ENGINE_add(e)) { - ENGINE_free(e); - return 0; - } - if (!ENGINE_free(e)) { - return 0; - } - - return 1; -} - -#else -/* If OpenSSL has no ENGINE support then we don't want - * to compile the osrandom engine, but we do need some - * placeholders */ -static const char *Cryptography_osrandom_engine_id = "no-engine-support"; -static const char *Cryptography_osrandom_engine_name = "osrandom_engine disabled"; - -int Cryptography_add_osrandom_engine(void) { - return 0; -} - -#endif +/* osurandom engine + * + * Windows CryptGenRandom() + * macOS >= 10.12 getentropy() + * OpenBSD 5.6+ getentropy() + * other BSD getentropy() if SYS_getentropy is defined + * Linux 3.17+ getrandom() with fallback to /dev/urandom + * other /dev/urandom with cached fd + * + * The /dev/urandom, getrandom and getentropy code is derived from Python's + * Python/random.c, written by Antoine Pitrou and Victor Stinner. + * + * Copyright 2001-2016 Python Software Foundation; All Rights Reserved. + */ + +#ifdef __linux__ +#include <poll.h> +#endif + +#if CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE +/* OpenSSL has ENGINE support and is older than 1.1.1d (the first version that + * properly implements fork safety in its RNG) so build the engine. */ +static const char *Cryptography_osrandom_engine_id = "osrandom"; + +/**************************************************************************** + * Windows + */ +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM +static const char *Cryptography_osrandom_engine_name = "osrandom_engine CryptGenRandom()"; +static HCRYPTPROV hCryptProv = 0; + +static int osrandom_init(ENGINE *e) { + if (hCryptProv != 0) { + return 1; + } + if (CryptAcquireContext(&hCryptProv, NULL, NULL, + PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { + return 1; + } else { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_INIT, + CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT, + __FILE__, __LINE__ + ); + return 0; + } +} + +static int osrandom_rand_bytes(unsigned char *buffer, int size) { + if (hCryptProv == 0) { + return 0; + } + + if (!CryptGenRandom(hCryptProv, (DWORD)size, buffer)) { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM, + __FILE__, __LINE__ + ); + return 0; + } + return 1; +} + +static int osrandom_finish(ENGINE *e) { + if (CryptReleaseContext(hCryptProv, 0)) { + hCryptProv = 0; + return 1; + } else { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_FINISH, + CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT, + __FILE__, __LINE__ + ); + return 0; + } +} + +static int osrandom_rand_status(void) { + return hCryptProv != 0; +} + +static const char *osurandom_get_implementation(void) { + return "CryptGenRandom"; +} + +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM */ + +/**************************************************************************** + * /dev/urandom helpers for all non-BSD Unix platforms + */ +#ifdef CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM + +static struct { + int fd; + dev_t st_dev; + ino_t st_ino; +} urandom_cache = { -1 }; + +static int open_cloexec(const char *path) { + int open_flags = O_RDONLY; +#ifdef O_CLOEXEC + open_flags |= O_CLOEXEC; +#endif + + int fd = open(path, open_flags); + if (fd == -1) { + return -1; + } + +#ifndef O_CLOEXEC + int flags = fcntl(fd, F_GETFD); + if (flags == -1) { + return -1; + } + if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1) { + return -1; + } +#endif + return fd; +} + +#ifdef __linux__ +/* On Linux, we open("/dev/random") and use poll() to wait until it's readable + * before we read from /dev/urandom, this ensures that we don't read from + * /dev/urandom before the kernel CSPRNG is initialized. This isn't necessary on + * other platforms because they don't have the same _bug_ as Linux does with + * /dev/urandom and early boot. */ +static int wait_on_devrandom(void) { + struct pollfd pfd = {}; + int ret = 0; + int random_fd = open_cloexec("/dev/random"); + if (random_fd < 0) { + return -1; + } + pfd.fd = random_fd; + pfd.events = POLLIN; + pfd.revents = 0; + do { + ret = poll(&pfd, 1, -1); + } while (ret < 0 && (errno == EINTR || errno == EAGAIN)); + close(random_fd); + return ret; +} +#endif + +/* return -1 on error */ +static int dev_urandom_fd(void) { + int fd = -1; + struct stat st; + + /* Check that fd still points to the correct device */ + if (urandom_cache.fd >= 0) { + if (fstat(urandom_cache.fd, &st) + || st.st_dev != urandom_cache.st_dev + || st.st_ino != urandom_cache.st_ino) { + /* Somebody replaced our FD. Invalidate our cache but don't + * close the fd. */ + urandom_cache.fd = -1; + } + } + if (urandom_cache.fd < 0) { +#ifdef __linux__ + if (wait_on_devrandom() < 0) { + goto error; + } +#endif + + fd = open_cloexec("/dev/urandom"); + if (fd < 0) { + goto error; + } + if (fstat(fd, &st)) { + goto error; + } + /* Another thread initialized the fd */ + if (urandom_cache.fd >= 0) { + close(fd); + return urandom_cache.fd; + } + urandom_cache.st_dev = st.st_dev; + urandom_cache.st_ino = st.st_ino; + urandom_cache.fd = fd; + } + return urandom_cache.fd; + + error: + if (fd != -1) { + close(fd); + } + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD, + CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED, + __FILE__, __LINE__ + ); + return -1; +} + +static int dev_urandom_read(unsigned char *buffer, int size) { + int fd; + int n; + + fd = dev_urandom_fd(); + if (fd < 0) { + return 0; + } + + while (size > 0) { + do { + n = (int)read(fd, buffer, (size_t)size); + } while (n < 0 && errno == EINTR); + + if (n <= 0) { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ, + CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED, + __FILE__, __LINE__ + ); + return 0; + } + buffer += n; + size -= n; + } + return 1; +} + +static void dev_urandom_close(void) { + if (urandom_cache.fd >= 0) { + int fd; + struct stat st; + + if (fstat(urandom_cache.fd, &st) + && st.st_dev == urandom_cache.st_dev + && st.st_ino == urandom_cache.st_ino) { + fd = urandom_cache.fd; + urandom_cache.fd = -1; + close(fd); + } + } +} +#endif /* CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM */ + +/**************************************************************************** + * BSD getentropy + */ +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY +static const char *Cryptography_osrandom_engine_name = "osrandom_engine getentropy()"; + +static int getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_NOT_INIT; + +static int osrandom_init(ENGINE *e) { +#if !defined(__APPLE__) + getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS; +#else + if (__builtin_available(macOS 10.12, *)) { + getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS; + } else { + getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK; + int fd = dev_urandom_fd(); + if (fd < 0) { + return 0; + } + } +#endif + return 1; +} + +static int osrandom_rand_bytes(unsigned char *buffer, int size) { + int len; + int res; + + switch(getentropy_works) { +#if defined(__APPLE__) + case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK: + return dev_urandom_read(buffer, size); +#endif + case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS: + while (size > 0) { + /* OpenBSD and macOS restrict maximum buffer size to 256. */ + len = size > 256 ? 256 : size; +/* on mac, availability is already checked using `__builtin_available` above */ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunguarded-availability" + res = getentropy(buffer, (size_t)len); +#pragma clang diagnostic pop + if (res < 0) { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED, + __FILE__, __LINE__ + ); + return 0; + } + buffer += len; + size -= len; + } + return 1; + } + __builtin_unreachable(); +} + +static int osrandom_finish(ENGINE *e) { + return 1; +} + +static int osrandom_rand_status(void) { + return 1; +} + +static const char *osurandom_get_implementation(void) { + switch(getentropy_works) { + case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK: + return "/dev/urandom"; + case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS: + return "getentropy"; + } + __builtin_unreachable(); +} +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY */ + +/**************************************************************************** + * Linux getrandom engine with fallback to dev_urandom + */ + +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM +static const char *Cryptography_osrandom_engine_name = "osrandom_engine getrandom()"; + +static int getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT; + +static int osrandom_init(ENGINE *e) { + /* We try to detect working getrandom until we succeed. */ + if (getrandom_works != CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS) { + long n; + char dest[1]; + /* if the kernel CSPRNG is not initialized this will block */ + n = syscall(SYS_getrandom, dest, sizeof(dest), 0); + if (n == sizeof(dest)) { + getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS; + } else { + int e = errno; + switch(e) { + case ENOSYS: + /* Fallback: Kernel does not support the syscall. */ + getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK; + break; + case EPERM: + /* Fallback: seccomp prevents syscall */ + getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK; + break; + default: + /* EINTR cannot occur for buflen < 256. */ + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_INIT, + CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED, + "errno", e + ); + getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED; + break; + } + } + } + + /* fallback to dev urandom */ + if (getrandom_works == CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK) { + int fd = dev_urandom_fd(); + if (fd < 0) { + return 0; + } + } + return 1; +} + +static int osrandom_rand_bytes(unsigned char *buffer, int size) { + long n; + + switch(getrandom_works) { + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED, + __FILE__, __LINE__ + ); + return 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT, + __FILE__, __LINE__ + ); + return 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: + return dev_urandom_read(buffer, size); + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: + while (size > 0) { + do { + n = syscall(SYS_getrandom, buffer, size, 0); + } while (n < 0 && errno == EINTR); + + if (n <= 0) { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED, + __FILE__, __LINE__ + ); + return 0; + } + buffer += n; + size -= (int)n; + } + return 1; + } + __builtin_unreachable(); +} + +static int osrandom_finish(ENGINE *e) { + dev_urandom_close(); + return 1; +} + +static int osrandom_rand_status(void) { + switch(getrandom_works) { + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: + return 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: + return 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: + return urandom_cache.fd >= 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: + return 1; + } + __builtin_unreachable(); +} + +static const char *osurandom_get_implementation(void) { + switch(getrandom_works) { + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: + return "<failed>"; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: + return "<not initialized>"; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: + return "/dev/urandom"; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: + return "getrandom"; + } + __builtin_unreachable(); +} +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM */ + +/**************************************************************************** + * dev_urandom engine for all remaining platforms + */ + +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM +static const char *Cryptography_osrandom_engine_name = "osrandom_engine /dev/urandom"; + +static int osrandom_init(ENGINE *e) { + int fd = dev_urandom_fd(); + if (fd < 0) { + return 0; + } + return 1; +} + +static int osrandom_rand_bytes(unsigned char *buffer, int size) { + return dev_urandom_read(buffer, size); +} + +static int osrandom_finish(ENGINE *e) { + dev_urandom_close(); + return 1; +} + +static int osrandom_rand_status(void) { + return urandom_cache.fd >= 0; +} + +static const char *osurandom_get_implementation(void) { + return "/dev/urandom"; +} +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM */ + +/**************************************************************************** + * ENGINE boiler plate + */ + +/* This replicates the behavior of the OpenSSL FIPS RNG, which returns a + -1 in the event that there is an error when calling RAND_pseudo_bytes. */ +static int osrandom_pseudo_rand_bytes(unsigned char *buffer, int size) { + int res = osrandom_rand_bytes(buffer, size); + if (res == 0) { + return -1; + } else { + return res; + } +} + +static RAND_METHOD osrandom_rand = { + NULL, + osrandom_rand_bytes, + NULL, + NULL, + osrandom_pseudo_rand_bytes, + osrandom_rand_status, +}; + +static const ENGINE_CMD_DEFN osrandom_cmd_defns[] = { + {CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION, + "get_implementation", + "Get CPRNG implementation.", + ENGINE_CMD_FLAG_NO_INPUT}, + {0, NULL, NULL, 0} +}; + +static int osrandom_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)) { + const char *name; + size_t len; + + switch (cmd) { + case CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION: + /* i: buffer size, p: char* buffer */ + name = osurandom_get_implementation(); + len = strlen(name); + if ((p == NULL) && (i == 0)) { + /* return required buffer len */ + return (int)len; + } + if ((p == NULL) || i < 0 || ((size_t)i <= len)) { + /* no buffer or buffer too small */ + ENGINEerr(ENGINE_F_ENGINE_CTRL, ENGINE_R_INVALID_ARGUMENT); + return 0; + } + strcpy((char *)p, name); + return (int)len; + default: + ENGINEerr(ENGINE_F_ENGINE_CTRL, ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED); + return 0; + } +} + +/* error reporting */ +#define ERR_FUNC(func) ERR_PACK(0, func, 0) +#define ERR_REASON(reason) ERR_PACK(0, 0, reason) + +static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_lib_name[] = { + {0, "osrandom_engine"}, + {0, NULL} +}; + +static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_str_funcs[] = { + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_INIT), + "osrandom_init"}, + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES), + "osrandom_rand_bytes"}, + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_FINISH), + "osrandom_finish"}, + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD), + "dev_urandom_fd"}, + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ), + "dev_urandom_read"}, + {0, NULL} +}; + +static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_str_reasons[] = { + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT), + "CryptAcquireContext() failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM), + "CryptGenRandom() failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT), + "CryptReleaseContext() failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED), + "getentropy() failed"}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED), + "open('/dev/urandom') failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED), + "Reading from /dev/urandom fd failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED), + "getrandom() initialization failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED), + "getrandom() initialization failed with unexpected errno."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED), + "getrandom() syscall failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT), + "getrandom() engine was not properly initialized."}, + {0, NULL} +}; + +static int Cryptography_OSRandom_lib_error_code = 0; + +static void ERR_load_Cryptography_OSRandom_strings(void) +{ + if (Cryptography_OSRandom_lib_error_code == 0) { + Cryptography_OSRandom_lib_error_code = ERR_get_next_error_library(); + ERR_load_strings(Cryptography_OSRandom_lib_error_code, + CRYPTOGRAPHY_OSRANDOM_lib_name); + ERR_load_strings(Cryptography_OSRandom_lib_error_code, + CRYPTOGRAPHY_OSRANDOM_str_funcs); + ERR_load_strings(Cryptography_OSRandom_lib_error_code, + CRYPTOGRAPHY_OSRANDOM_str_reasons); + } +} + +static void ERR_Cryptography_OSRandom_error(int function, int reason, + char *file, int line) +{ + ERR_PUT_error(Cryptography_OSRandom_lib_error_code, function, reason, + file, line); +} + +/* Returns 1 if successfully added, 2 if engine has previously been added, + and 0 for error. */ +int Cryptography_add_osrandom_engine(void) { + ENGINE *e; + + ERR_load_Cryptography_OSRandom_strings(); + + e = ENGINE_by_id(Cryptography_osrandom_engine_id); + if (e != NULL) { + ENGINE_free(e); + return 2; + } else { + ERR_clear_error(); + } + + e = ENGINE_new(); + if (e == NULL) { + return 0; + } + if (!ENGINE_set_id(e, Cryptography_osrandom_engine_id) || + !ENGINE_set_name(e, Cryptography_osrandom_engine_name) || + !ENGINE_set_RAND(e, &osrandom_rand) || + !ENGINE_set_init_function(e, osrandom_init) || + !ENGINE_set_finish_function(e, osrandom_finish) || + !ENGINE_set_cmd_defns(e, osrandom_cmd_defns) || + !ENGINE_set_ctrl_function(e, osrandom_ctrl)) { + ENGINE_free(e); + return 0; + } + if (!ENGINE_add(e)) { + ENGINE_free(e); + return 0; + } + if (!ENGINE_free(e)) { + return 0; + } + + return 1; +} + +#else +/* If OpenSSL has no ENGINE support then we don't want + * to compile the osrandom engine, but we do need some + * placeholders */ +static const char *Cryptography_osrandom_engine_id = "no-engine-support"; +static const char *Cryptography_osrandom_engine_name = "osrandom_engine disabled"; + +int Cryptography_add_osrandom_engine(void) { + return 0; +} + +#endif diff --git a/contrib/python/cryptography/_cffi_src/openssl/src/osrandom_engine.h b/contrib/python/cryptography/_cffi_src/openssl/src/osrandom_engine.h index 29fb9f6f9f..93d918b88b 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/src/osrandom_engine.h +++ b/contrib/python/cryptography/_cffi_src/openssl/src/osrandom_engine.h @@ -1,118 +1,118 @@ -#ifndef OPENSSL_NO_ENGINE -/* OpenSSL has ENGINE support so include all of this. */ -#ifdef _WIN32 - #include <Wincrypt.h> -#else - #include <fcntl.h> - #include <unistd.h> - /* for defined(BSD) */ - #ifndef __MVS__ - #include <sys/param.h> - #endif - - #ifdef BSD - /* for SYS_getentropy */ - #include <sys/syscall.h> - #endif - - #ifdef __APPLE__ - #include <sys/random.h> - /* To support weak linking we need to declare this as a weak import even if - * it's not present in sys/random (e.g. macOS < 10.12). */ - extern int getentropy(void *buffer, size_t size) __attribute((weak_import)); - #endif - - #ifdef __linux__ - /* for SYS_getrandom */ - #include <sys/syscall.h> - #ifndef GRND_NONBLOCK - #define GRND_NONBLOCK 0x0001 - #endif /* GRND_NONBLOCK */ - - #ifndef SYS_getrandom - /* We only bother to define the constants for platforms where we ship - * wheels, since that's the predominant way you get a situation where - * you don't have SYS_getrandom at compile time but do have the syscall - * at runtime */ - #if defined(__x86_64__) - #define SYS_getrandom 318 - #elif defined(__i386__) - #define SYS_getrandom 355 - #elif defined(__aarch64__) - #define SYS_getrandom 278 - #endif - #endif - #endif /* __linux__ */ -#endif /* _WIN32 */ - -#define CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM 1 -#define CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY 2 -#define CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM 3 -#define CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM 4 - -#ifndef CRYPTOGRAPHY_OSRANDOM_ENGINE - #if defined(_WIN32) - /* Windows */ - #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM - #elif defined(BSD) && defined(SYS_getentropy) - /* OpenBSD 5.6+ & macOS with SYS_getentropy defined, although < 10.12 will fallback - * to urandom */ - #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY - #elif defined(__linux__) && defined(SYS_getrandom) - /* Linux 3.17+ */ - #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM - #else - /* Keep this as last entry, fall back to /dev/urandom */ - #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM - #endif -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE */ - -/* Fallbacks need /dev/urandom helper functions. */ -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM || \ - CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM || \ - (CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY && \ - defined(__APPLE__)) - #define CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM 1 -#endif - -enum { - CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED = -2, - CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT, - CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK, - CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS -}; - -enum { - CRYPTOGRAPHY_OSRANDOM_GETENTROPY_NOT_INIT, - CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK, - CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS -}; - -/* engine ctrl */ -#define CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION ENGINE_CMD_BASE - -/* error reporting */ -static void ERR_load_Cryptography_OSRandom_strings(void); -static void ERR_Cryptography_OSRandom_error(int function, int reason, - char *file, int line); - -#define CRYPTOGRAPHY_OSRANDOM_F_INIT 100 -#define CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES 101 -#define CRYPTOGRAPHY_OSRANDOM_F_FINISH 102 -#define CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD 300 -#define CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ 301 - -#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT 100 -#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM 101 -#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT 102 - -#define CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED 200 - -#define CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED 300 -#define CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED 301 - -#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED 400 -#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED 402 -#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED 403 -#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT 404 -#endif +#ifndef OPENSSL_NO_ENGINE +/* OpenSSL has ENGINE support so include all of this. */ +#ifdef _WIN32 + #include <Wincrypt.h> +#else + #include <fcntl.h> + #include <unistd.h> + /* for defined(BSD) */ + #ifndef __MVS__ + #include <sys/param.h> + #endif + + #ifdef BSD + /* for SYS_getentropy */ + #include <sys/syscall.h> + #endif + + #ifdef __APPLE__ + #include <sys/random.h> + /* To support weak linking we need to declare this as a weak import even if + * it's not present in sys/random (e.g. macOS < 10.12). */ + extern int getentropy(void *buffer, size_t size) __attribute((weak_import)); + #endif + + #ifdef __linux__ + /* for SYS_getrandom */ + #include <sys/syscall.h> + #ifndef GRND_NONBLOCK + #define GRND_NONBLOCK 0x0001 + #endif /* GRND_NONBLOCK */ + + #ifndef SYS_getrandom + /* We only bother to define the constants for platforms where we ship + * wheels, since that's the predominant way you get a situation where + * you don't have SYS_getrandom at compile time but do have the syscall + * at runtime */ + #if defined(__x86_64__) + #define SYS_getrandom 318 + #elif defined(__i386__) + #define SYS_getrandom 355 + #elif defined(__aarch64__) + #define SYS_getrandom 278 + #endif + #endif + #endif /* __linux__ */ +#endif /* _WIN32 */ + +#define CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM 1 +#define CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY 2 +#define CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM 3 +#define CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM 4 + +#ifndef CRYPTOGRAPHY_OSRANDOM_ENGINE + #if defined(_WIN32) + /* Windows */ + #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM + #elif defined(BSD) && defined(SYS_getentropy) + /* OpenBSD 5.6+ & macOS with SYS_getentropy defined, although < 10.12 will fallback + * to urandom */ + #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY + #elif defined(__linux__) && defined(SYS_getrandom) + /* Linux 3.17+ */ + #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM + #else + /* Keep this as last entry, fall back to /dev/urandom */ + #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM + #endif +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE */ + +/* Fallbacks need /dev/urandom helper functions. */ +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM || \ + CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM || \ + (CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY && \ + defined(__APPLE__)) + #define CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM 1 +#endif + +enum { + CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED = -2, + CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT, + CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK, + CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS +}; + +enum { + CRYPTOGRAPHY_OSRANDOM_GETENTROPY_NOT_INIT, + CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK, + CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS +}; + +/* engine ctrl */ +#define CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION ENGINE_CMD_BASE + +/* error reporting */ +static void ERR_load_Cryptography_OSRandom_strings(void); +static void ERR_Cryptography_OSRandom_error(int function, int reason, + char *file, int line); + +#define CRYPTOGRAPHY_OSRANDOM_F_INIT 100 +#define CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES 101 +#define CRYPTOGRAPHY_OSRANDOM_F_FINISH 102 +#define CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD 300 +#define CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ 301 + +#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT 100 +#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM 101 +#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT 102 + +#define CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED 200 + +#define CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED 300 +#define CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED 301 + +#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED 400 +#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED 402 +#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED 403 +#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT 404 +#endif diff --git a/contrib/python/cryptography/_cffi_src/openssl/ssl.py b/contrib/python/cryptography/_cffi_src/openssl/ssl.py index 112c0c4ffc..9400f115fb 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/ssl.py +++ b/contrib/python/cryptography/_cffi_src/openssl/ssl.py @@ -16,15 +16,15 @@ static const long Cryptography_HAS_TLS_ST; static const long Cryptography_HAS_SSL3_METHOD; static const long Cryptography_HAS_TLSv1_1; static const long Cryptography_HAS_TLSv1_2; -static const long Cryptography_HAS_TLSv1_3; +static const long Cryptography_HAS_TLSv1_3; static const long Cryptography_HAS_SECURE_RENEGOTIATION; static const long Cryptography_HAS_SSL_CTX_CLEAR_OPTIONS; -static const long Cryptography_HAS_DTLS; -static const long Cryptography_HAS_SIGALGS; -static const long Cryptography_HAS_PSK; -static const long Cryptography_HAS_VERIFIED_CHAIN; -static const long Cryptography_HAS_KEYLOG; -static const long Cryptography_HAS_GET_PROTO_VERSION; +static const long Cryptography_HAS_DTLS; +static const long Cryptography_HAS_SIGALGS; +static const long Cryptography_HAS_PSK; +static const long Cryptography_HAS_VERIFIED_CHAIN; +static const long Cryptography_HAS_KEYLOG; +static const long Cryptography_HAS_GET_PROTO_VERSION; static const long Cryptography_HAS_TLSEXT_HOSTNAME; /* Internally invented symbol to tell us if SSL_MODE_RELEASE_BUFFERS is @@ -39,11 +39,11 @@ static const long Cryptography_HAS_OP_NO_COMPRESSION; static const long Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING; static const long Cryptography_HAS_SSL_SET_SSL_CTX; static const long Cryptography_HAS_SSL_OP_NO_TICKET; -static const long Cryptography_HAS_ALPN; +static const long Cryptography_HAS_ALPN; static const long Cryptography_HAS_NEXTPROTONEG; static const long Cryptography_HAS_SET_CERT_CB; -static const long Cryptography_HAS_CUSTOM_EXT; -static const long Cryptography_HAS_SRTP; +static const long Cryptography_HAS_CUSTOM_EXT; +static const long Cryptography_HAS_SRTP; static const long SSL_FILETYPE_PEM; static const long SSL_FILETYPE_ASN1; @@ -62,9 +62,9 @@ static const long SSL_OP_NO_SSLv3; static const long SSL_OP_NO_TLSv1; static const long SSL_OP_NO_TLSv1_1; static const long SSL_OP_NO_TLSv1_2; -static const long SSL_OP_NO_TLSv1_3; -static const long SSL_OP_NO_DTLSv1; -static const long SSL_OP_NO_DTLSv1_2; +static const long SSL_OP_NO_TLSv1_3; +static const long SSL_OP_NO_DTLSv1; +static const long SSL_OP_NO_DTLSv1_2; static const long SSL_OP_NO_COMPRESSION; static const long SSL_OP_SINGLE_DH_USE; static const long SSL_OP_EPHEMERAL_RSA; @@ -95,7 +95,7 @@ static const long SSL_VERIFY_PEER; static const long SSL_VERIFY_FAIL_IF_NO_PEER_CERT; static const long SSL_VERIFY_CLIENT_ONCE; static const long SSL_VERIFY_NONE; -static const long SSL_VERIFY_POST_HANDSHAKE; +static const long SSL_VERIFY_POST_HANDSHAKE; static const long SSL_SESS_CACHE_OFF; static const long SSL_SESS_CACHE_CLIENT; static const long SSL_SESS_CACHE_SERVER; @@ -140,15 +140,15 @@ typedef ... SSL_SESSION; typedef ... SSL; static const long TLSEXT_NAMETYPE_host_name; -static const long TLSEXT_STATUSTYPE_ocsp; +static const long TLSEXT_STATUSTYPE_ocsp; typedef ... SSL_CIPHER; typedef ... Cryptography_STACK_OF_SSL_CIPHER; - -typedef struct { - const char *name; - unsigned long id; -} SRTP_PROTECTION_PROFILE; + +typedef struct { + const char *name; + unsigned long id; +} SRTP_PROTECTION_PROFILE; """ FUNCTIONS = """ @@ -169,23 +169,23 @@ int SSL_pending(const SSL *); int SSL_write(SSL *, const void *, int); int SSL_read(SSL *, void *, int); int SSL_peek(SSL *, void *, int); -X509 *SSL_get_certificate(const SSL *); +X509 *SSL_get_certificate(const SSL *); X509 *SSL_get_peer_certificate(const SSL *); int SSL_get_ex_data_X509_STORE_CTX_idx(void); -/* Added in 1.0.2 */ -X509_VERIFY_PARAM *SSL_get0_param(SSL *); -X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *); - -int SSL_get_sigalgs(SSL *, int, int *, int *, int *, unsigned char *, - unsigned char *); - +/* Added in 1.0.2 */ +X509_VERIFY_PARAM *SSL_get0_param(SSL *); +X509_VERIFY_PARAM *SSL_CTX_get0_param(SSL_CTX *); + +int SSL_get_sigalgs(SSL *, int, int *, int *, int *, unsigned char *, + unsigned char *); + Cryptography_STACK_OF_X509 *SSL_get_peer_cert_chain(const SSL *); -Cryptography_STACK_OF_X509 *SSL_get0_verified_chain(const SSL *); +Cryptography_STACK_OF_X509 *SSL_get0_verified_chain(const SSL *); Cryptography_STACK_OF_X509_NAME *SSL_get_client_CA_list(const SSL *); int SSL_get_error(const SSL *, int); -long SSL_get_verify_result(const SSL *ssl); +long SSL_get_verify_result(const SSL *ssl); int SSL_do_handshake(SSL *); int SSL_shutdown(SSL *); int SSL_renegotiate(SSL *); @@ -211,36 +211,36 @@ int SSL_CTX_use_PrivateKey(SSL_CTX *, EVP_PKEY *); int SSL_CTX_use_PrivateKey_file(SSL_CTX *, const char *, int); int SSL_CTX_check_private_key(const SSL_CTX *); void SSL_CTX_set_cert_verify_callback(SSL_CTX *, - int (*)(X509_STORE_CTX *, void *), + int (*)(X509_STORE_CTX *, void *), void *); - -void SSL_CTX_set_cookie_generate_cb(SSL_CTX *, - int (*)( - SSL *, - unsigned char *, - unsigned int * - )); -long SSL_CTX_get_read_ahead(SSL_CTX *); -long SSL_CTX_set_read_ahead(SSL_CTX *, long); - -int SSL_CTX_use_psk_identity_hint(SSL_CTX *, const char *); -void SSL_CTX_set_psk_server_callback(SSL_CTX *, - unsigned int (*)( - SSL *, - const char *, - unsigned char *, - unsigned int - )); -void SSL_CTX_set_psk_client_callback(SSL_CTX *, - unsigned int (*)( - SSL *, - const char *, - char *, - unsigned int, - unsigned char *, - unsigned int - )); - + +void SSL_CTX_set_cookie_generate_cb(SSL_CTX *, + int (*)( + SSL *, + unsigned char *, + unsigned int * + )); +long SSL_CTX_get_read_ahead(SSL_CTX *); +long SSL_CTX_set_read_ahead(SSL_CTX *, long); + +int SSL_CTX_use_psk_identity_hint(SSL_CTX *, const char *); +void SSL_CTX_set_psk_server_callback(SSL_CTX *, + unsigned int (*)( + SSL *, + const char *, + unsigned char *, + unsigned int + )); +void SSL_CTX_set_psk_client_callback(SSL_CTX *, + unsigned int (*)( + SSL *, + const char *, + char *, + unsigned int, + unsigned char *, + unsigned int + )); + int SSL_CTX_set_session_id_context(SSL_CTX *, const unsigned char *, unsigned int); @@ -253,27 +253,27 @@ void SSL_CTX_set_client_CA_list(SSL_CTX *, Cryptography_STACK_OF_X509_NAME *); void SSL_CTX_set_info_callback(SSL_CTX *, void (*)(const SSL *, int, int)); void (*SSL_CTX_get_info_callback(SSL_CTX *))(const SSL *, int, int); -void SSL_CTX_set_keylog_callback(SSL_CTX *, - void (*)(const SSL *, const char *)); -void (*SSL_CTX_get_keylog_callback(SSL_CTX *))(const SSL *, const char *); - -long SSL_CTX_set1_sigalgs_list(SSL_CTX *, const char *); - +void SSL_CTX_set_keylog_callback(SSL_CTX *, + void (*)(const SSL *, const char *)); +void (*SSL_CTX_get_keylog_callback(SSL_CTX *))(const SSL *, const char *); + +long SSL_CTX_set1_sigalgs_list(SSL_CTX *, const char *); + /* SSL_SESSION */ void SSL_SESSION_free(SSL_SESSION *); /* Information about actually used cipher */ const char *SSL_CIPHER_get_name(const SSL_CIPHER *); int SSL_CIPHER_get_bits(const SSL_CIPHER *, int *); -/* the modern signature of this is uint32_t, but older openssl declared it - as unsigned long. To make our compiler flags happy we'll declare it as a - 64-bit wide value, which should always be safe */ -uint64_t SSL_CIPHER_get_id(const SSL_CIPHER *); -int SSL_CIPHER_is_aead(const SSL_CIPHER *); -int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *); -int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *); -int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *); -int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *); +/* the modern signature of this is uint32_t, but older openssl declared it + as unsigned long. To make our compiler flags happy we'll declare it as a + 64-bit wide value, which should always be safe */ +uint64_t SSL_CIPHER_get_id(const SSL_CIPHER *); +int SSL_CIPHER_is_aead(const SSL_CIPHER *); +int SSL_CIPHER_get_cipher_nid(const SSL_CIPHER *); +int SSL_CIPHER_get_digest_nid(const SSL_CIPHER *); +int SSL_CIPHER_get_kx_nid(const SSL_CIPHER *); +int SSL_CIPHER_get_auth_nid(const SSL_CIPHER *); size_t SSL_get_finished(const SSL *, void *, size_t); size_t SSL_get_peer_finished(const SSL *, void *, size_t); @@ -296,13 +296,13 @@ int SSL_CTX_set_ex_data(SSL_CTX *, int, void *); SSL_SESSION *SSL_get_session(const SSL *); const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *, unsigned int *); -long SSL_SESSION_get_time(const SSL_SESSION *); -long SSL_SESSION_get_timeout(const SSL_SESSION *); -int SSL_SESSION_has_ticket(const SSL_SESSION *); -long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *); +long SSL_SESSION_get_time(const SSL_SESSION *); +long SSL_SESSION_get_timeout(const SSL_SESSION *); +int SSL_SESSION_has_ticket(const SSL_SESSION *); +long SSL_SESSION_get_ticket_lifetime_hint(const SSL_SESSION *); unsigned long SSL_set_mode(SSL *, unsigned long); -unsigned long SSL_clear_mode(SSL *, unsigned long); +unsigned long SSL_clear_mode(SSL *, unsigned long); unsigned long SSL_get_mode(SSL *); unsigned long SSL_set_options(SSL *, unsigned long); @@ -314,23 +314,23 @@ int SSL_want_write(const SSL *); long SSL_total_renegotiations(SSL *); long SSL_get_secure_renegotiation_support(SSL *); -long SSL_CTX_set_min_proto_version(SSL_CTX *, int); -long SSL_CTX_set_max_proto_version(SSL_CTX *, int); -long SSL_set_min_proto_version(SSL *, int); -long SSL_set_max_proto_version(SSL *, int); - -long SSL_CTX_get_min_proto_version(SSL_CTX *); -long SSL_CTX_get_max_proto_version(SSL_CTX *); -long SSL_get_min_proto_version(SSL *); -long SSL_get_max_proto_version(SSL *); - +long SSL_CTX_set_min_proto_version(SSL_CTX *, int); +long SSL_CTX_set_max_proto_version(SSL_CTX *, int); +long SSL_set_min_proto_version(SSL *, int); +long SSL_set_max_proto_version(SSL *, int); + +long SSL_CTX_get_min_proto_version(SSL_CTX *); +long SSL_CTX_get_max_proto_version(SSL_CTX *); +long SSL_get_min_proto_version(SSL *); +long SSL_get_max_proto_version(SSL *); + /* Defined as unsigned long because SSL_OP_ALL is greater than signed 32-bit and Windows defines long as 32-bit. */ unsigned long SSL_CTX_set_options(SSL_CTX *, unsigned long); unsigned long SSL_CTX_clear_options(SSL_CTX *, unsigned long); unsigned long SSL_CTX_get_options(SSL_CTX *); unsigned long SSL_CTX_set_mode(SSL_CTX *, unsigned long); -unsigned long SSL_CTX_clear_mode(SSL_CTX *, unsigned long); +unsigned long SSL_CTX_clear_mode(SSL_CTX *, unsigned long); unsigned long SSL_CTX_get_mode(SSL_CTX *); unsigned long SSL_CTX_set_session_cache_mode(SSL_CTX *, unsigned long); unsigned long SSL_CTX_get_session_cache_mode(SSL_CTX *); @@ -362,19 +362,19 @@ const SSL_METHOD *DTLSv1_method(void); const SSL_METHOD *DTLSv1_server_method(void); const SSL_METHOD *DTLSv1_client_method(void); -/* Added in 1.0.2 */ -const SSL_METHOD *DTLS_method(void); -const SSL_METHOD *DTLS_server_method(void); -const SSL_METHOD *DTLS_client_method(void); - +/* Added in 1.0.2 */ +const SSL_METHOD *DTLS_method(void); +const SSL_METHOD *DTLS_server_method(void); +const SSL_METHOD *DTLS_client_method(void); + const SSL_METHOD *SSLv23_method(void); const SSL_METHOD *SSLv23_server_method(void); const SSL_METHOD *SSLv23_client_method(void); -const SSL_METHOD *TLS_method(void); -const SSL_METHOD *TLS_server_method(void); -const SSL_METHOD *TLS_client_method(void); - +const SSL_METHOD *TLS_method(void); +const SSL_METHOD *TLS_server_method(void); +const SSL_METHOD *TLS_client_method(void); + /*- These aren't macros these arguments are all const X on openssl > 1.0.x -*/ SSL_CTX *SSL_CTX_new(SSL_METHOD *); long SSL_CTX_get_timeout(const SSL_CTX *); @@ -389,7 +389,7 @@ void *SSL_get_ex_data(const SSL *, int); void SSL_set_tlsext_host_name(SSL *, char *); void SSL_CTX_set_tlsext_servername_callback( SSL_CTX *, - int (*)(SSL *, int *, void *)); + int (*)(SSL *, int *, void *)); void SSL_CTX_set_tlsext_servername_arg( SSL_CTX *, void *); @@ -399,10 +399,10 @@ long SSL_set_tlsext_status_type(SSL *, long); long SSL_CTX_set_tlsext_status_cb(SSL_CTX *, int(*)(SSL *, void *)); long SSL_CTX_set_tlsext_status_arg(SSL_CTX *, void *); -int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *, const char *); -int SSL_set_tlsext_use_srtp(SSL *, const char *); -SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *); - +int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *, const char *); +int SSL_set_tlsext_use_srtp(SSL *, const char *); +SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *); + long SSL_session_reused(SSL *); int SSL_select_next_proto(unsigned char **, unsigned char *, @@ -442,8 +442,8 @@ size_t SSL_SESSION_get_master_key(const SSL_SESSION *, unsigned char *, size_t); size_t SSL_get_client_random(const SSL *, unsigned char *, size_t); size_t SSL_get_server_random(const SSL *, unsigned char *, size_t); -int SSL_export_keying_material(SSL *, unsigned char *, size_t, const char *, - size_t, const unsigned char *, size_t, int); +int SSL_export_keying_material(SSL *, unsigned char *, size_t, const char *, + size_t, const unsigned char *, size_t, int); long SSL_CTX_sess_number(SSL_CTX *); long SSL_CTX_sess_connect(SSL_CTX *); @@ -457,77 +457,77 @@ long SSL_CTX_sess_cb_hits(SSL_CTX *); long SSL_CTX_sess_misses(SSL_CTX *); long SSL_CTX_sess_timeouts(SSL_CTX *); long SSL_CTX_sess_cache_full(SSL_CTX *); - -/* DTLS support */ -long Cryptography_DTLSv1_get_timeout(SSL *, time_t *, long *); -long DTLSv1_handle_timeout(SSL *); -long DTLS_set_link_mtu(SSL *, long); -long DTLS_get_link_min_mtu(SSL *); - -/* Custom extensions. */ -typedef int (*custom_ext_add_cb)(SSL *, unsigned int, - const unsigned char **, - size_t *, int *, - void *); - -typedef void (*custom_ext_free_cb)(SSL *, unsigned int, - const unsigned char *, - void *); - -typedef int (*custom_ext_parse_cb)(SSL *, unsigned int, - const unsigned char *, - size_t, int *, - void *); - -int SSL_CTX_add_client_custom_ext(SSL_CTX *, unsigned int, - custom_ext_add_cb, - custom_ext_free_cb, void *, - custom_ext_parse_cb, - void *); - -int SSL_CTX_add_server_custom_ext(SSL_CTX *, unsigned int, - custom_ext_add_cb, - custom_ext_free_cb, void *, - custom_ext_parse_cb, - void *); - -int SSL_extension_supported(unsigned int); - -int SSL_CTX_set_ciphersuites(SSL_CTX *, const char *); -int SSL_verify_client_post_handshake(SSL *); -void SSL_CTX_set_post_handshake_auth(SSL_CTX *, int); -void SSL_set_post_handshake_auth(SSL *, int); - -uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *); -int SSL_write_early_data(SSL *, const void *, size_t, size_t *); -int SSL_read_early_data(SSL *, void *, size_t, size_t *); -int SSL_CTX_set_max_early_data(SSL_CTX *, uint32_t); + +/* DTLS support */ +long Cryptography_DTLSv1_get_timeout(SSL *, time_t *, long *); +long DTLSv1_handle_timeout(SSL *); +long DTLS_set_link_mtu(SSL *, long); +long DTLS_get_link_min_mtu(SSL *); + +/* Custom extensions. */ +typedef int (*custom_ext_add_cb)(SSL *, unsigned int, + const unsigned char **, + size_t *, int *, + void *); + +typedef void (*custom_ext_free_cb)(SSL *, unsigned int, + const unsigned char *, + void *); + +typedef int (*custom_ext_parse_cb)(SSL *, unsigned int, + const unsigned char *, + size_t, int *, + void *); + +int SSL_CTX_add_client_custom_ext(SSL_CTX *, unsigned int, + custom_ext_add_cb, + custom_ext_free_cb, void *, + custom_ext_parse_cb, + void *); + +int SSL_CTX_add_server_custom_ext(SSL_CTX *, unsigned int, + custom_ext_add_cb, + custom_ext_free_cb, void *, + custom_ext_parse_cb, + void *); + +int SSL_extension_supported(unsigned int); + +int SSL_CTX_set_ciphersuites(SSL_CTX *, const char *); +int SSL_verify_client_post_handshake(SSL *); +void SSL_CTX_set_post_handshake_auth(SSL_CTX *, int); +void SSL_set_post_handshake_auth(SSL *, int); + +uint32_t SSL_SESSION_get_max_early_data(const SSL_SESSION *); +int SSL_write_early_data(SSL *, const void *, size_t, size_t *); +int SSL_read_early_data(SSL *, void *, size_t, size_t *); +int SSL_CTX_set_max_early_data(SSL_CTX *, uint32_t); """ CUSTOMIZATIONS = """ -// This symbol is being preserved because removing it will break users with -// pyOpenSSL < 19.1 and pip < 20.x. We need to leave this in place until those -// users have upgraded. PersistentlyDeprecated2020 -static const long Cryptography_HAS_TLSEXT_HOSTNAME = 1; - -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_VERIFIED_CHAIN = 0; -Cryptography_STACK_OF_X509 *(*SSL_get0_verified_chain)(const SSL *) = NULL; -#else -static const long Cryptography_HAS_VERIFIED_CHAIN = 1; +// This symbol is being preserved because removing it will break users with +// pyOpenSSL < 19.1 and pip < 20.x. We need to leave this in place until those +// users have upgraded. PersistentlyDeprecated2020 +static const long Cryptography_HAS_TLSEXT_HOSTNAME = 1; + +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_VERIFIED_CHAIN = 0; +Cryptography_STACK_OF_X509 *(*SSL_get0_verified_chain)(const SSL *) = NULL; +#else +static const long Cryptography_HAS_VERIFIED_CHAIN = 1; #endif -#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 -static const long Cryptography_HAS_KEYLOG = 0; -void (*SSL_CTX_set_keylog_callback)(SSL_CTX *, - void (*) (const SSL *, const char *) - ) = NULL; -void (*(*SSL_CTX_get_keylog_callback)(SSL_CTX *))( - const SSL *, - const char * - ) = NULL; -#else -static const long Cryptography_HAS_KEYLOG = 1; +#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 +static const long Cryptography_HAS_KEYLOG = 0; +void (*SSL_CTX_set_keylog_callback)(SSL_CTX *, + void (*) (const SSL *, const char *) + ) = NULL; +void (*(*SSL_CTX_get_keylog_callback)(SSL_CTX *))( + const SSL *, + const char * + ) = NULL; +#else +static const long Cryptography_HAS_KEYLOG = 1; #endif static const long Cryptography_HAS_SECURE_RENEGOTIATION = 1; @@ -548,10 +548,10 @@ static const long Cryptography_HAS_TLSv1_2 = 1; static const long Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING = 1; static const long Cryptography_HAS_SSL_OP_NO_TICKET = 1; static const long Cryptography_HAS_SSL_SET_SSL_CTX = 1; -static const long Cryptography_HAS_NEXTPROTONEG = 0; +static const long Cryptography_HAS_NEXTPROTONEG = 0; static const long Cryptography_HAS_ALPN = 1; -#if CRYPTOGRAPHY_IS_LIBRESSL +#if CRYPTOGRAPHY_IS_LIBRESSL void (*SSL_CTX_set_cert_cb)(SSL_CTX *, int (*)(SSL *, void *), void *) = NULL; void (*SSL_set_cert_cb)(SSL *, int (*)(SSL *, void *), void *) = NULL; static const long Cryptography_HAS_SET_CERT_CB = 0; @@ -563,7 +563,7 @@ static const long Cryptography_HAS_SSL_CTX_CLEAR_OPTIONS = 1; /* in OpenSSL 1.1.0 the SSL_ST values were renamed to TLS_ST and several were removed */ -#if CRYPTOGRAPHY_IS_LIBRESSL +#if CRYPTOGRAPHY_IS_LIBRESSL static const long Cryptography_HAS_SSL_ST = 1; #else static const long Cryptography_HAS_SSL_ST = 0; @@ -572,7 +572,7 @@ static const long SSL_ST_OK = 0; static const long SSL_ST_INIT = 0; static const long SSL_ST_RENEGOTIATE = 0; #endif -#if !CRYPTOGRAPHY_IS_LIBRESSL +#if !CRYPTOGRAPHY_IS_LIBRESSL static const long Cryptography_HAS_TLS_ST = 1; #else static const long Cryptography_HAS_TLS_ST = 0; @@ -580,126 +580,126 @@ static const long TLS_ST_BEFORE = 0; 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; +#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 + +static const long Cryptography_HAS_DTLS = 1; +/* Wrap DTLSv1_get_timeout to avoid cffi to handle a 'struct timeval'. */ +long Cryptography_DTLSv1_get_timeout(SSL *ssl, time_t *ptv_sec, + long *ptv_usec) { + struct timeval tv = { 0 }; + long r = DTLSv1_get_timeout(ssl, &tv); + + if (r == 1) { + if (ptv_sec) { + *ptv_sec = tv.tv_sec; + } + + if (ptv_usec) { + *ptv_usec = tv.tv_usec; + } + } + + return r; +} + +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_SIGALGS = 0; +const int (*SSL_get_sigalgs)(SSL *, int, int *, int *, int *, unsigned char *, + unsigned char *) = NULL; +const long (*SSL_CTX_set1_sigalgs_list)(SSL_CTX *, const char *) = NULL; +#else +static const long Cryptography_HAS_SIGALGS = 1; +#endif + +#if CRYPTOGRAPHY_IS_LIBRESSL || defined(OPENSSL_NO_PSK) +static const long Cryptography_HAS_PSK = 0; +int (*SSL_CTX_use_psk_identity_hint)(SSL_CTX *, const char *) = NULL; +void (*SSL_CTX_set_psk_server_callback)(SSL_CTX *, + unsigned int (*)( + SSL *, + const char *, + unsigned char *, + unsigned int + )) = NULL; +void (*SSL_CTX_set_psk_client_callback)(SSL_CTX *, + unsigned int (*)( + SSL *, + const char *, + char *, + unsigned int, + unsigned char *, + unsigned int + )) = NULL; +#else +static const long Cryptography_HAS_PSK = 1; +#endif + +#if !CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_CUSTOM_EXT = 1; +#else +static const long Cryptography_HAS_CUSTOM_EXT = 0; +typedef int (*custom_ext_add_cb)(SSL *, unsigned int, + const unsigned char **, + size_t *, int *, + void *); +typedef void (*custom_ext_free_cb)(SSL *, unsigned int, + const unsigned char *, + void *); +typedef int (*custom_ext_parse_cb)(SSL *, unsigned int, + const unsigned char *, + size_t, int *, + void *); +int (*SSL_CTX_add_client_custom_ext)(SSL_CTX *, unsigned int, + custom_ext_add_cb, + custom_ext_free_cb, void *, + custom_ext_parse_cb, + void *) = NULL; +int (*SSL_CTX_add_server_custom_ext)(SSL_CTX *, unsigned int, + custom_ext_add_cb, + custom_ext_free_cb, void *, + custom_ext_parse_cb, + void *) = NULL; +int (*SSL_extension_supported)(unsigned int) = NULL; +#endif + +#ifndef OPENSSL_NO_SRTP +static const long Cryptography_HAS_SRTP = 1; +#else +static const long Cryptography_HAS_SRTP = 0; +int (*SSL_CTX_set_tlsext_use_srtp)(SSL_CTX *, const char *) = NULL; +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 +static const long Cryptography_HAS_TLSv1_3 = 0; +static const long SSL_OP_NO_TLSv1_3 = 0; +static const long SSL_VERIFY_POST_HANDSHAKE = 0; +int (*SSL_CTX_set_ciphersuites)(SSL_CTX *, const char *) = NULL; +int (*SSL_verify_client_post_handshake)(SSL *) = NULL; +void (*SSL_CTX_set_post_handshake_auth)(SSL_CTX *, int) = NULL; +void (*SSL_set_post_handshake_auth)(SSL *, int) = NULL; +uint32_t (*SSL_SESSION_get_max_early_data)(const SSL_SESSION *) = NULL; +int (*SSL_write_early_data)(SSL *, const void *, size_t, size_t *) = NULL; +int (*SSL_read_early_data)(SSL *, void *, size_t, size_t *) = NULL; +int (*SSL_CTX_set_max_early_data)(SSL_CTX *, uint32_t) = NULL; +#else +static const long Cryptography_HAS_TLSv1_3 = 1; +#endif + +#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 && !CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_GET_PROTO_VERSION = 0; + +long (*SSL_CTX_get_min_proto_version)(SSL_CTX *) = NULL; +long (*SSL_CTX_get_max_proto_version)(SSL_CTX *) = NULL; +long (*SSL_get_min_proto_version)(SSL *) = NULL; +long (*SSL_get_max_proto_version)(SSL *) = NULL; +#else +static const long Cryptography_HAS_GET_PROTO_VERSION = 1; #endif - -static const long Cryptography_HAS_DTLS = 1; -/* Wrap DTLSv1_get_timeout to avoid cffi to handle a 'struct timeval'. */ -long Cryptography_DTLSv1_get_timeout(SSL *ssl, time_t *ptv_sec, - long *ptv_usec) { - struct timeval tv = { 0 }; - long r = DTLSv1_get_timeout(ssl, &tv); - - if (r == 1) { - if (ptv_sec) { - *ptv_sec = tv.tv_sec; - } - - if (ptv_usec) { - *ptv_usec = tv.tv_usec; - } - } - - return r; -} - -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_SIGALGS = 0; -const int (*SSL_get_sigalgs)(SSL *, int, int *, int *, int *, unsigned char *, - unsigned char *) = NULL; -const long (*SSL_CTX_set1_sigalgs_list)(SSL_CTX *, const char *) = NULL; -#else -static const long Cryptography_HAS_SIGALGS = 1; -#endif - -#if CRYPTOGRAPHY_IS_LIBRESSL || defined(OPENSSL_NO_PSK) -static const long Cryptography_HAS_PSK = 0; -int (*SSL_CTX_use_psk_identity_hint)(SSL_CTX *, const char *) = NULL; -void (*SSL_CTX_set_psk_server_callback)(SSL_CTX *, - unsigned int (*)( - SSL *, - const char *, - unsigned char *, - unsigned int - )) = NULL; -void (*SSL_CTX_set_psk_client_callback)(SSL_CTX *, - unsigned int (*)( - SSL *, - const char *, - char *, - unsigned int, - unsigned char *, - unsigned int - )) = NULL; -#else -static const long Cryptography_HAS_PSK = 1; -#endif - -#if !CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_CUSTOM_EXT = 1; -#else -static const long Cryptography_HAS_CUSTOM_EXT = 0; -typedef int (*custom_ext_add_cb)(SSL *, unsigned int, - const unsigned char **, - size_t *, int *, - void *); -typedef void (*custom_ext_free_cb)(SSL *, unsigned int, - const unsigned char *, - void *); -typedef int (*custom_ext_parse_cb)(SSL *, unsigned int, - const unsigned char *, - size_t, int *, - void *); -int (*SSL_CTX_add_client_custom_ext)(SSL_CTX *, unsigned int, - custom_ext_add_cb, - custom_ext_free_cb, void *, - custom_ext_parse_cb, - void *) = NULL; -int (*SSL_CTX_add_server_custom_ext)(SSL_CTX *, unsigned int, - custom_ext_add_cb, - custom_ext_free_cb, void *, - custom_ext_parse_cb, - void *) = NULL; -int (*SSL_extension_supported)(unsigned int) = NULL; -#endif - -#ifndef OPENSSL_NO_SRTP -static const long Cryptography_HAS_SRTP = 1; -#else -static const long Cryptography_HAS_SRTP = 0; -int (*SSL_CTX_set_tlsext_use_srtp)(SSL_CTX *, const char *) = NULL; -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 -static const long Cryptography_HAS_TLSv1_3 = 0; -static const long SSL_OP_NO_TLSv1_3 = 0; -static const long SSL_VERIFY_POST_HANDSHAKE = 0; -int (*SSL_CTX_set_ciphersuites)(SSL_CTX *, const char *) = NULL; -int (*SSL_verify_client_post_handshake)(SSL *) = NULL; -void (*SSL_CTX_set_post_handshake_auth)(SSL_CTX *, int) = NULL; -void (*SSL_set_post_handshake_auth)(SSL *, int) = NULL; -uint32_t (*SSL_SESSION_get_max_early_data)(const SSL_SESSION *) = NULL; -int (*SSL_write_early_data)(SSL *, const void *, size_t, size_t *) = NULL; -int (*SSL_read_early_data)(SSL *, void *, size_t, size_t *) = NULL; -int (*SSL_CTX_set_max_early_data)(SSL_CTX *, uint32_t) = NULL; -#else -static const long Cryptography_HAS_TLSv1_3 = 1; -#endif - -#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 && !CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_GET_PROTO_VERSION = 0; - -long (*SSL_CTX_get_min_proto_version)(SSL_CTX *) = NULL; -long (*SSL_CTX_get_max_proto_version)(SSL_CTX *) = NULL; -long (*SSL_get_min_proto_version)(SSL *) = NULL; -long (*SSL_get_max_proto_version)(SSL *) = NULL; -#else -static const long Cryptography_HAS_GET_PROTO_VERSION = 1; -#endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/x509.py b/contrib/python/cryptography/_cffi_src/openssl/x509.py index 2d835ab27b..24946ea48d 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/x509.py +++ b/contrib/python/cryptography/_cffi_src/openssl/x509.py @@ -29,7 +29,7 @@ typedef struct { ...; } X509_ALGOR; -typedef ... X509_ATTRIBUTE; +typedef ... X509_ATTRIBUTE; typedef ... X509_EXTENSION; typedef ... X509_EXTENSIONS; typedef ... X509_REQ; @@ -41,7 +41,7 @@ typedef ... NETSCAPE_SPKI; typedef ... PKCS8_PRIV_KEY_INFO; -typedef void (*sk_X509_EXTENSION_freefunc)(X509_EXTENSION *); +typedef void (*sk_X509_EXTENSION_freefunc)(X509_EXTENSION *); """ FUNCTIONS = """ @@ -49,7 +49,7 @@ X509 *X509_new(void); void X509_free(X509 *); X509 *X509_dup(X509 *); int X509_cmp(const X509 *, const X509 *); -int X509_up_ref(X509 *); +int X509_up_ref(X509 *); int X509_print_ex(BIO *, X509 *, unsigned long, unsigned long); @@ -88,13 +88,13 @@ EVP_PKEY *X509_REQ_get_pubkey(X509_REQ *); int X509_REQ_print_ex(BIO *, X509_REQ *, unsigned long, unsigned long); int X509_REQ_add_extensions(X509_REQ *, X509_EXTENSIONS *); X509_EXTENSIONS *X509_REQ_get_extensions(X509_REQ *); -X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *, int); -int X509_REQ_get_attr_by_OBJ(const X509_REQ *, const ASN1_OBJECT *, int); -void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *, int, int, void *); -ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *, int); -int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *); -int X509_REQ_add1_attr_by_OBJ(X509_REQ *, const ASN1_OBJECT *, - int, const unsigned char *, int); +X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *, int); +int X509_REQ_get_attr_by_OBJ(const X509_REQ *, const ASN1_OBJECT *, int); +void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *, int, int, void *); +ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *, int); +int X509_ATTRIBUTE_count(const X509_ATTRIBUTE *); +int X509_REQ_add1_attr_by_OBJ(X509_REQ *, const ASN1_OBJECT *, + int, const unsigned char *, int); int X509V3_EXT_print(BIO *, X509_EXTENSION *, unsigned long, int); ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *); @@ -111,7 +111,7 @@ X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *, int); int X509_REVOKED_set_revocationDate(X509_REVOKED *, ASN1_TIME *); X509_CRL *X509_CRL_new(void); -X509_CRL *X509_CRL_dup(X509_CRL *); +X509_CRL *X509_CRL_dup(X509_CRL *); X509_CRL *d2i_X509_CRL_bio(BIO *, X509_CRL **); int X509_CRL_add0_revoked(X509_CRL *, X509_REVOKED *); int X509_CRL_add_ext(X509_CRL *, X509_EXTENSION *, int); @@ -184,9 +184,9 @@ X509_EXTENSION *X509_REVOKED_get_ext(X509_REVOKED *, int); X509_EXTENSION *X509_CRL_get_ext(X509_CRL *, int); int X509_CRL_get_ext_count(X509_CRL *); -int X509_CRL_get0_by_serial(X509_CRL *, X509_REVOKED **, ASN1_INTEGER *); +int X509_CRL_get0_by_serial(X509_CRL *, X509_REVOKED **, ASN1_INTEGER *); -X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *); +X509_REVOKED *X509_REVOKED_dup(X509_REVOKED *); X509_REVOKED *Cryptography_X509_REVOKED_dup(X509_REVOKED *); /* new in 1.0.2 */ @@ -195,15 +195,15 @@ int X509_get_signature_nid(const X509 *); const X509_ALGOR *X509_get0_tbs_sigalg(const X509 *); -void X509_get0_signature(const ASN1_BIT_STRING **, - const X509_ALGOR **, const X509 *); +void X509_get0_signature(const ASN1_BIT_STRING **, + const X509_ALGOR **, const X509 *); long X509_get_version(X509 *); ASN1_TIME *X509_get_notBefore(X509 *); ASN1_TIME *X509_get_notAfter(X509 *); -ASN1_TIME *X509_getm_notBefore(X509 *); -ASN1_TIME *X509_getm_notAfter(X509 *); +ASN1_TIME *X509_getm_notBefore(X509 *); +ASN1_TIME *X509_getm_notAfter(X509 *); long X509_REQ_get_version(X509_REQ *); X509_NAME *X509_REQ_get_subject_name(X509_REQ *); @@ -221,7 +221,7 @@ int sk_X509_EXTENSION_push(X509_EXTENSIONS *, X509_EXTENSION *); int sk_X509_EXTENSION_insert(X509_EXTENSIONS *, X509_EXTENSION *, int); X509_EXTENSION *sk_X509_EXTENSION_delete(X509_EXTENSIONS *, int); void sk_X509_EXTENSION_free(X509_EXTENSIONS *); -void sk_X509_EXTENSION_pop_free(X509_EXTENSIONS *, sk_X509_EXTENSION_freefunc); +void sk_X509_EXTENSION_pop_free(X509_EXTENSIONS *, sk_X509_EXTENSION_freefunc); int sk_X509_REVOKED_num(Cryptography_STACK_OF_X509_REVOKED *); X509_REVOKED *sk_X509_REVOKED_value(Cryptography_STACK_OF_X509_REVOKED *, int); @@ -232,7 +232,7 @@ int sk_X509_CRL_num(Cryptography_STACK_OF_X509_CRL *); int sk_X509_CRL_push(Cryptography_STACK_OF_X509_CRL *, X509_CRL *); X509_CRL *sk_X509_CRL_value(Cryptography_STACK_OF_X509_CRL *, int); -long X509_CRL_get_version(X509_CRL *); +long X509_CRL_get_version(X509_CRL *); ASN1_TIME *X509_CRL_get_lastUpdate(X509_CRL *); ASN1_TIME *X509_CRL_get_nextUpdate(X509_CRL *); X509_NAME *X509_CRL_get_issuer(X509_CRL *); @@ -243,8 +243,8 @@ int X509_CRL_set_lastUpdate(X509_CRL *, ASN1_TIME *); int X509_CRL_set_nextUpdate(X509_CRL *, ASN1_TIME *); int X509_set_notBefore(X509 *, ASN1_TIME *); int X509_set_notAfter(X509 *, ASN1_TIME *); -int X509_set1_notBefore(X509 *, ASN1_TIME *); -int X509_set1_notAfter(X509 *, ASN1_TIME *); +int X509_set1_notBefore(X509 *, ASN1_TIME *); +int X509_set1_notAfter(X509 *, ASN1_TIME *); EC_KEY *d2i_EC_PUBKEY_bio(BIO *, EC_KEY **); int i2d_EC_PUBKEY_bio(BIO *, EC_KEY *); @@ -270,7 +270,7 @@ void X509_REQ_get0_signature(const X509_REQ *, const ASN1_BIT_STRING **, """ CUSTOMIZATIONS = """ -#if CRYPTOGRAPHY_IS_LIBRESSL +#if CRYPTOGRAPHY_IS_LIBRESSL int i2d_re_X509_tbs(X509 *x, unsigned char **pp) { /* in 1.0.2+ this function also sets x->cert_info->enc.modified = 1 @@ -282,21 +282,21 @@ int i2d_re_X509_tbs(X509 *x, unsigned char **pp) } #endif -/* Being kept around for pyOpenSSL */ +/* Being kept around for pyOpenSSL */ X509_REVOKED *Cryptography_X509_REVOKED_dup(X509_REVOKED *rev) { - return X509_REVOKED_dup(rev); + return X509_REVOKED_dup(rev); } /* Added in 1.1.0 but we need it in all versions now due to the great opaquing. */ -#if CRYPTOGRAPHY_IS_LIBRESSL -int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp) -{ - req->req_info->enc.modified = 1; - return i2d_X509_REQ_INFO(req->req_info, pp); -} -int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp) { - crl->crl->enc.modified = 1; - return i2d_X509_CRL_INFO(crl->crl, pp); -} +#if CRYPTOGRAPHY_IS_LIBRESSL +int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp) +{ + req->req_info->enc.modified = 1; + return i2d_X509_REQ_INFO(req->req_info, pp); +} +int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp) { + crl->crl->enc.modified = 1; + return i2d_X509_CRL_INFO(crl->crl, pp); +} #endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/x509_vfy.py b/contrib/python/cryptography/_cffi_src/openssl/x509_vfy.py index b93f41f9db..ba3d3dbb14 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/x509_vfy.py +++ b/contrib/python/cryptography/_cffi_src/openssl/x509_vfy.py @@ -19,9 +19,9 @@ typedef STACK_OF(X509_OBJECT) Cryptography_STACK_OF_X509_OBJECT; """ TYPES = """ -static const long Cryptography_HAS_102_VERIFICATION; -static const long Cryptography_HAS_110_VERIFICATION_PARAMS; -static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER; +static const long Cryptography_HAS_102_VERIFICATION; +static const long Cryptography_HAS_110_VERIFICATION_PARAMS; +static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER; typedef ... Cryptography_STACK_OF_ASN1_OBJECT; typedef ... Cryptography_STACK_OF_X509_OBJECT; @@ -31,8 +31,8 @@ typedef ... X509_STORE; typedef ... X509_VERIFY_PARAM; typedef ... X509_STORE_CTX; -typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **, X509_STORE_CTX *, X509 *); - +typedef int (*X509_STORE_CTX_get_issuer_fn)(X509 **, X509_STORE_CTX *, X509 *); + /* While these are defined in the source as ints, they're tagged here as longs, just in case they ever grow to large, such as what we saw with OP_ALL. */ @@ -126,13 +126,13 @@ static const long X509_V_FLAG_PARTIAL_CHAIN; static const long X509_LU_X509; static const long X509_LU_CRL; - -static const long X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT; -static const long X509_CHECK_FLAG_NO_WILDCARDS; -static const long X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS; -static const long X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS; -static const long X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS; -static const long X509_CHECK_FLAG_NEVER_CHECK_SUBJECT; + +static const long X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT; +static const long X509_CHECK_FLAG_NO_WILDCARDS; +static const long X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS; +static const long X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS; +static const long X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS; +static const long X509_CHECK_FLAG_NEVER_CHECK_SUBJECT; """ FUNCTIONS = """ @@ -171,7 +171,7 @@ int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *); X509 *X509_STORE_CTX_get_current_cert(X509_STORE_CTX *); int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *, int, void *); void *X509_STORE_CTX_get_ex_data(X509_STORE_CTX *, int); -int X509_STORE_CTX_get1_issuer(X509 **, X509_STORE_CTX *, X509 *); +int X509_STORE_CTX_get1_issuer(X509 **, X509_STORE_CTX *, X509 *); /* X509_VERIFY_PARAM */ X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); @@ -211,18 +211,18 @@ X509_VERIFY_PARAM *X509_STORE_get0_param(X509_STORE *); Cryptography_STACK_OF_X509_OBJECT *X509_STORE_get0_objects(X509_STORE *); X509 *X509_OBJECT_get0_X509(X509_OBJECT *); int X509_OBJECT_get_type(const X509_OBJECT *); - -/* added in 1.1.0 */ -X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *); -X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(X509_STORE *); -void X509_STORE_set_get_issuer(X509_STORE *, X509_STORE_CTX_get_issuer_fn); + +/* added in 1.1.0 */ +X509 *X509_STORE_CTX_get0_cert(X509_STORE_CTX *); +X509_STORE_CTX_get_issuer_fn X509_STORE_get_get_issuer(X509_STORE *); +void X509_STORE_set_get_issuer(X509_STORE *, X509_STORE_CTX_get_issuer_fn); """ CUSTOMIZATIONS = """ -#if !CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_102_VERIFICATION = 1; +#if !CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_102_VERIFICATION = 1; #else -static const long Cryptography_HAS_102_VERIFICATION = 0; +static const long Cryptography_HAS_102_VERIFICATION = 0; static const long X509_V_ERR_SUITE_B_INVALID_VERSION = 0; static const long X509_V_ERR_SUITE_B_INVALID_ALGORITHM = 0; static const long X509_V_ERR_SUITE_B_INVALID_CURVE = 0; @@ -234,22 +234,22 @@ static const long X509_V_FLAG_SUITEB_192_LOS = 0; static const long X509_V_FLAG_SUITEB_128_LOS = 0; #endif -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_110_VERIFICATION_PARAMS = 0; -#ifndef X509_CHECK_FLAG_NEVER_CHECK_SUBJECT -static const long X509_CHECK_FLAG_NEVER_CHECK_SUBJECT = 0; -#endif -#else -static const long Cryptography_HAS_110_VERIFICATION_PARAMS = 1; -#endif - -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 0; -typedef void *X509_STORE_CTX_get_issuer_fn; -X509_STORE_CTX_get_issuer_fn (*X509_STORE_get_get_issuer)(X509_STORE *) = NULL; -void (*X509_STORE_set_get_issuer)(X509_STORE *, - X509_STORE_CTX_get_issuer_fn) = NULL; -#else -static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 1; -#endif +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_110_VERIFICATION_PARAMS = 0; +#ifndef X509_CHECK_FLAG_NEVER_CHECK_SUBJECT +static const long X509_CHECK_FLAG_NEVER_CHECK_SUBJECT = 0; +#endif +#else +static const long Cryptography_HAS_110_VERIFICATION_PARAMS = 1; +#endif + +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 0; +typedef void *X509_STORE_CTX_get_issuer_fn; +X509_STORE_CTX_get_issuer_fn (*X509_STORE_get_get_issuer)(X509_STORE *) = NULL; +void (*X509_STORE_set_get_issuer)(X509_STORE *, + X509_STORE_CTX_get_issuer_fn) = NULL; +#else +static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 1; +#endif """ diff --git a/contrib/python/cryptography/_cffi_src/openssl/x509name.py b/contrib/python/cryptography/_cffi_src/openssl/x509name.py index 25150762f8..1fbe26aa74 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/x509name.py +++ b/contrib/python/cryptography/_cffi_src/openssl/x509name.py @@ -35,12 +35,12 @@ void X509_NAME_ENTRY_free(X509_NAME_ENTRY *); int X509_NAME_get_index_by_NID(X509_NAME *, int, int); int X509_NAME_cmp(const X509_NAME *, const X509_NAME *); X509_NAME *X509_NAME_dup(X509_NAME *); -int X509_NAME_ENTRY_set(X509_NAME_ENTRY *); +int X509_NAME_ENTRY_set(X509_NAME_ENTRY *); /* These became const X509_NAME * in 1.1.0 */ int X509_NAME_entry_count(X509_NAME *); X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *, int); char *X509_NAME_oneline(X509_NAME *, char *, int); -int X509_NAME_print_ex(BIO *, X509_NAME *, int, unsigned long); +int X509_NAME_print_ex(BIO *, X509_NAME *, int, unsigned long); /* These became const X509_NAME_ENTRY * in 1.1.0 */ ASN1_OBJECT *X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *); diff --git a/contrib/python/cryptography/_cffi_src/openssl/x509v3.py b/contrib/python/cryptography/_cffi_src/openssl/x509v3.py index 9cf56b64ff..5968120652 100644 --- a/contrib/python/cryptography/_cffi_src/openssl/x509v3.py +++ b/contrib/python/cryptography/_cffi_src/openssl/x509v3.py @@ -142,15 +142,15 @@ typedef struct { } DIST_POINT; typedef struct { - DIST_POINT_NAME *distpoint; - int onlyuser; - int onlyCA; - ASN1_BIT_STRING *onlysomereasons; - int indirectCRL; - int onlyattr; -} ISSUING_DIST_POINT; - -typedef struct { + DIST_POINT_NAME *distpoint; + int onlyuser; + int onlyCA; + ASN1_BIT_STRING *onlysomereasons; + int indirectCRL; + int onlyattr; +} ISSUING_DIST_POINT; + +typedef struct { ASN1_STRING *organization; Cryptography_STACK_OF_ASN1_INTEGER *noticenos; } NOTICEREF; @@ -175,9 +175,9 @@ typedef struct { } POLICYINFO; typedef void (*sk_GENERAL_NAME_freefunc)(GENERAL_NAME *); -typedef void (*sk_DIST_POINT_freefunc)(DIST_POINT *); -typedef void (*sk_POLICYINFO_freefunc)(POLICYINFO *); -typedef void (*sk_ACCESS_DESCRIPTION_freefunc)(ACCESS_DESCRIPTION *); +typedef void (*sk_DIST_POINT_freefunc)(DIST_POINT *); +typedef void (*sk_POLICYINFO_freefunc)(POLICYINFO *); +typedef void (*sk_ACCESS_DESCRIPTION_freefunc)(ACCESS_DESCRIPTION *); """ @@ -229,8 +229,8 @@ ACCESS_DESCRIPTION *sk_ACCESS_DESCRIPTION_value( Cryptography_STACK_OF_ACCESS_DESCRIPTION *, int ); void sk_ACCESS_DESCRIPTION_free(Cryptography_STACK_OF_ACCESS_DESCRIPTION *); -void sk_ACCESS_DESCRIPTION_pop_free(Cryptography_STACK_OF_ACCESS_DESCRIPTION *, - sk_ACCESS_DESCRIPTION_freefunc); +void sk_ACCESS_DESCRIPTION_pop_free(Cryptography_STACK_OF_ACCESS_DESCRIPTION *, + sk_ACCESS_DESCRIPTION_freefunc); int sk_ACCESS_DESCRIPTION_push(Cryptography_STACK_OF_ACCESS_DESCRIPTION *, ACCESS_DESCRIPTION *); @@ -245,18 +245,18 @@ void sk_DIST_POINT_free(Cryptography_STACK_OF_DIST_POINT *); int sk_DIST_POINT_num(Cryptography_STACK_OF_DIST_POINT *); DIST_POINT *sk_DIST_POINT_value(Cryptography_STACK_OF_DIST_POINT *, int); int sk_DIST_POINT_push(Cryptography_STACK_OF_DIST_POINT *, DIST_POINT *); -void sk_DIST_POINT_pop_free(Cryptography_STACK_OF_DIST_POINT *, - sk_DIST_POINT_freefunc); -void CRL_DIST_POINTS_free(Cryptography_STACK_OF_DIST_POINT *); +void sk_DIST_POINT_pop_free(Cryptography_STACK_OF_DIST_POINT *, + sk_DIST_POINT_freefunc); +void CRL_DIST_POINTS_free(Cryptography_STACK_OF_DIST_POINT *); void sk_POLICYINFO_free(Cryptography_STACK_OF_POLICYINFO *); int sk_POLICYINFO_num(Cryptography_STACK_OF_POLICYINFO *); POLICYINFO *sk_POLICYINFO_value(Cryptography_STACK_OF_POLICYINFO *, int); int sk_POLICYINFO_push(Cryptography_STACK_OF_POLICYINFO *, POLICYINFO *); Cryptography_STACK_OF_POLICYINFO *sk_POLICYINFO_new_null(void); -void sk_POLICYINFO_pop_free(Cryptography_STACK_OF_POLICYINFO *, - sk_POLICYINFO_freefunc); -void CERTIFICATEPOLICIES_free(Cryptography_STACK_OF_POLICYINFO *); +void sk_POLICYINFO_pop_free(Cryptography_STACK_OF_POLICYINFO *, + sk_POLICYINFO_freefunc); +void CERTIFICATEPOLICIES_free(Cryptography_STACK_OF_POLICYINFO *); POLICYINFO *POLICYINFO_new(void); void POLICYINFO_free(POLICYINFO *); @@ -305,9 +305,9 @@ void DIST_POINT_NAME_free(DIST_POINT_NAME *); GENERAL_NAME *GENERAL_NAME_new(void); void GENERAL_NAME_free(GENERAL_NAME *); - -ISSUING_DIST_POINT *ISSUING_DIST_POINT_new(void); -void ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *); + +ISSUING_DIST_POINT *ISSUING_DIST_POINT_new(void); +void ISSUING_DIST_POINT_free(ISSUING_DIST_POINT *); """ CUSTOMIZATIONS = """ diff --git a/contrib/python/cryptography/_cffi_src/utils.py b/contrib/python/cryptography/_cffi_src/utils.py index 3682879e6b..56745a3e5b 100644 --- a/contrib/python/cryptography/_cffi_src/utils.py +++ b/contrib/python/cryptography/_cffi_src/utils.py @@ -4,7 +4,7 @@ from __future__ import absolute_import, division, print_function -import os +import os import sys from distutils.ccompiler import new_compiler from distutils.dist import Distribution @@ -12,27 +12,27 @@ from distutils.dist import Distribution from cffi import FFI -# Load the cryptography __about__ to get the current package version -base_src = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) -about = {} -with open(os.path.join(base_src, "cryptography", "__about__.py")) as f: - exec (f.read(), about) - - -def build_ffi_for_binding( - module_name, - module_prefix, - modules, - libraries=[], - extra_compile_args=[], - extra_link_args=[], -): +# Load the cryptography __about__ to get the current package version +base_src = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) +about = {} +with open(os.path.join(base_src, "cryptography", "__about__.py")) as f: + exec (f.read(), about) + + +def build_ffi_for_binding( + module_name, + module_prefix, + modules, + libraries=[], + extra_compile_args=[], + extra_link_args=[], +): """ Modules listed in ``modules`` should have the following attributes: * ``INCLUDES``: A string containing C includes. * ``TYPES``: A string containing C declarations for types. - * ``FUNCTIONS``: A string containing C declarations for functions & macros. + * ``FUNCTIONS``: A string containing C declarations for functions & macros. * ``CUSTOMIZATIONS``: A string containing arbitrary top-level C code, this can be used to do things like test for a define and provide an alternate implementation based on that. @@ -50,10 +50,10 @@ def build_ffi_for_binding( includes.append(module.INCLUDES) customizations.append(module.CUSTOMIZATIONS) - verify_source = "\n".join(includes + customizations) + verify_source = "\n".join(includes + customizations) ffi = build_ffi( module_name, - cdef_source="\n".join(types + functions), + cdef_source="\n".join(types + functions), verify_source=verify_source, libraries=libraries, extra_compile_args=extra_compile_args, @@ -63,20 +63,20 @@ def build_ffi_for_binding( return ffi -def build_ffi( - module_name, - cdef_source, - verify_source, - libraries=[], - extra_compile_args=[], - extra_link_args=[], -): +def build_ffi( + module_name, + cdef_source, + verify_source, + libraries=[], + extra_compile_args=[], + extra_link_args=[], +): ffi = FFI() - # Always add the CRYPTOGRAPHY_PACKAGE_VERSION to the shared object - cdef_source += "\nstatic const char *const CRYPTOGRAPHY_PACKAGE_VERSION;" - verify_source += '\n#define CRYPTOGRAPHY_PACKAGE_VERSION "{}"'.format( - about["__version__"] - ) + # Always add the CRYPTOGRAPHY_PACKAGE_VERSION to the shared object + cdef_source += "\nstatic const char *const CRYPTOGRAPHY_PACKAGE_VERSION;" + verify_source += '\n#define CRYPTOGRAPHY_PACKAGE_VERSION "{}"'.format( + about["__version__"] + ) ffi.cdef(cdef_source) ffi.set_source( module_name, @@ -89,10 +89,10 @@ def build_ffi( def extra_link_args(compiler_type): - if compiler_type == "msvc": + if compiler_type == "msvc": # Enable NX and ASLR for Windows builds on MSVC. These are enabled by # default on Python 3.3+ but not on 2.x. - return ["/NXCOMPAT", "/DYNAMICBASE"] + return ["/NXCOMPAT", "/DYNAMICBASE"] else: return [] @@ -100,11 +100,11 @@ def extra_link_args(compiler_type): def compiler_type(): """ Gets the compiler type from distutils. On Windows with MSVC it will be - "msvc". On macOS and linux it is "unix". + "msvc". On macOS and linux it is "unix". """ dist = Distribution() dist.parse_config_files() - cmd = dist.get_command_obj("build") + cmd = dist.get_command_obj("build") cmd.ensure_finalized() compiler = new_compiler(compiler=cmd.compiler) return compiler.compiler_type diff --git a/contrib/python/cryptography/build/temp.linux-x86_64-2.7/_openssl.c b/contrib/python/cryptography/build/temp.linux-x86_64-2.7/_openssl.c index 8e4eb3aa4f..5a6e835914 100644 --- a/contrib/python/cryptography/build/temp.linux-x86_64-2.7/_openssl.c +++ b/contrib/python/cryptography/build/temp.linux-x86_64-2.7/_openssl.c @@ -431,47 +431,47 @@ static void (*_cffi_call_python_org)(struct _cffi_externpy_s *, char *); /************************************************************/ -/* define our OpenSSL API compatibility level to 1.0.1. Any symbols older than - that will raise an error during compilation. We can raise this number again - after we drop 1.0.2 support in the distant future. */ -#define OPENSSL_API_COMPAT 0x10001000L - +/* define our OpenSSL API compatibility level to 1.0.1. Any symbols older than + that will raise an error during compilation. We can raise this number again + after we drop 1.0.2 support in the distant future. */ +#define OPENSSL_API_COMPAT 0x10001000L + #include <openssl/opensslv.h> - - -#if defined(LIBRESSL_VERSION_NUMBER) -#define CRYPTOGRAPHY_IS_LIBRESSL 1 -#else -#define CRYPTOGRAPHY_IS_LIBRESSL 0 -#endif - + + +#if defined(LIBRESSL_VERSION_NUMBER) +#define CRYPTOGRAPHY_IS_LIBRESSL 1 +#else +#define CRYPTOGRAPHY_IS_LIBRESSL 0 +#endif + /* LibreSSL removed e_os2.h from the public headers so we'll only include it if we're using vanilla OpenSSL. */ -#if !CRYPTOGRAPHY_IS_LIBRESSL +#if !CRYPTOGRAPHY_IS_LIBRESSL #include <openssl/e_os2.h> #endif #if defined(_WIN32) -#define WIN32_LEAN_AND_MEAN +#define WIN32_LEAN_AND_MEAN #include <windows.h> -#include <Wincrypt.h> -#include <Winsock2.h> -#endif - -#define CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER (OPENSSL_VERSION_NUMBER >= 0x1010006f && !CRYPTOGRAPHY_IS_LIBRESSL) - -#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J (OPENSSL_VERSION_NUMBER < 0x101000af || CRYPTOGRAPHY_IS_LIBRESSL) -#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 (OPENSSL_VERSION_NUMBER < 0x10101000 || CRYPTOGRAPHY_IS_LIBRESSL) -#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B (OPENSSL_VERSION_NUMBER < 0x10101020 || CRYPTOGRAPHY_IS_LIBRESSL) -#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D (OPENSSL_VERSION_NUMBER < 0x10101040 || CRYPTOGRAPHY_IS_LIBRESSL) -#if (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D && !CRYPTOGRAPHY_IS_LIBRESSL && !defined(OPENSSL_NO_ENGINE)) || defined(USE_OSRANDOM_RNG_FOR_TESTING) -#define CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE 1 -#else -#define CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE 0 -#endif - - +#include <Wincrypt.h> +#include <Winsock2.h> +#endif + +#define CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER (OPENSSL_VERSION_NUMBER >= 0x1010006f && !CRYPTOGRAPHY_IS_LIBRESSL) + +#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J (OPENSSL_VERSION_NUMBER < 0x101000af || CRYPTOGRAPHY_IS_LIBRESSL) +#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 (OPENSSL_VERSION_NUMBER < 0x10101000 || CRYPTOGRAPHY_IS_LIBRESSL) +#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B (OPENSSL_VERSION_NUMBER < 0x10101020 || CRYPTOGRAPHY_IS_LIBRESSL) +#define CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D (OPENSSL_VERSION_NUMBER < 0x10101040 || CRYPTOGRAPHY_IS_LIBRESSL) +#if (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111D && !CRYPTOGRAPHY_IS_LIBRESSL && !defined(OPENSSL_NO_ENGINE)) || defined(USE_OSRANDOM_RNG_FOR_TESTING) +#define CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE 1 +#else +#define CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE 0 +#endif + + #include <openssl/aes.h> @@ -484,7 +484,7 @@ static void (*_cffi_call_python_org)(struct _cffi_externpy_s *, char *); #include <openssl/bio.h> -#if !defined(OPENSSL_NO_CMAC) +#if !defined(OPENSSL_NO_CMAC) #include <openssl/cmac.h> #endif @@ -495,13 +495,13 @@ static void (*_cffi_call_python_org)(struct _cffi_externpy_s *, char *); #include <openssl/crypto.h> -#if CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER && !defined(OPENSSL_NO_CT) -#include <openssl/ct.h> - -typedef STACK_OF(SCT) Cryptography_STACK_OF_SCT; -#endif - - +#if CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER && !defined(OPENSSL_NO_CT) +#include <openssl/ct.h> + +typedef STACK_OF(SCT) Cryptography_STACK_OF_SCT; +#endif + + #include <openssl/dh.h> @@ -527,9 +527,9 @@ typedef STACK_OF(SCT) Cryptography_STACK_OF_SCT; #include <openssl/evp.h> -#include <openssl/crypto.h> - - +#include <openssl/crypto.h> + + #include <openssl/hmac.h> @@ -544,126 +544,126 @@ typedef STACK_OF(SCT) Cryptography_STACK_OF_SCT; #include <openssl/opensslv.h> -#ifndef OPENSSL_NO_ENGINE -/* OpenSSL has ENGINE support so include all of this. */ -#ifdef _WIN32 - #include <Wincrypt.h> -#else - #include <fcntl.h> - #include <unistd.h> - /* for defined(BSD) */ - #ifndef __MVS__ - #include <sys/param.h> - #endif - - #ifdef BSD - /* for SYS_getentropy */ - #include <sys/syscall.h> - #endif - - #ifdef __APPLE__ - #include <sys/random.h> - /* To support weak linking we need to declare this as a weak import even if - * it's not present in sys/random (e.g. macOS < 10.12). */ - extern int getentropy(void *buffer, size_t size) __attribute((weak_import)); - #endif - - #ifdef __linux__ - /* for SYS_getrandom */ - #include <sys/syscall.h> - #ifndef GRND_NONBLOCK - #define GRND_NONBLOCK 0x0001 - #endif /* GRND_NONBLOCK */ - - #ifndef SYS_getrandom - /* We only bother to define the constants for platforms where we ship - * wheels, since that's the predominant way you get a situation where - * you don't have SYS_getrandom at compile time but do have the syscall - * at runtime */ - #if defined(__x86_64__) - #define SYS_getrandom 318 - #elif defined(__i386__) - #define SYS_getrandom 355 - #elif defined(__aarch64__) - #define SYS_getrandom 278 - #endif - #endif - #endif /* __linux__ */ -#endif /* _WIN32 */ - -#define CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM 1 -#define CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY 2 -#define CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM 3 -#define CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM 4 - -#ifndef CRYPTOGRAPHY_OSRANDOM_ENGINE - #if defined(_WIN32) - /* Windows */ - #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM - #elif defined(BSD) && defined(SYS_getentropy) - /* OpenBSD 5.6+ & macOS with SYS_getentropy defined, although < 10.12 will fallback - * to urandom */ - #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY - #elif defined(__linux__) && defined(SYS_getrandom) - /* Linux 3.17+ */ - #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM - #else - /* Keep this as last entry, fall back to /dev/urandom */ - #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM - #endif -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE */ - -/* Fallbacks need /dev/urandom helper functions. */ -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM || \ - CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM || \ - (CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY && \ - defined(__APPLE__)) - #define CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM 1 -#endif - -enum { - CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED = -2, - CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT, - CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK, - CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS -}; - -enum { - CRYPTOGRAPHY_OSRANDOM_GETENTROPY_NOT_INIT, - CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK, - CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS -}; - -/* engine ctrl */ -#define CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION ENGINE_CMD_BASE - -/* error reporting */ -static void ERR_load_Cryptography_OSRandom_strings(void); -static void ERR_Cryptography_OSRandom_error(int function, int reason, - char *file, int line); - -#define CRYPTOGRAPHY_OSRANDOM_F_INIT 100 -#define CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES 101 -#define CRYPTOGRAPHY_OSRANDOM_F_FINISH 102 -#define CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD 300 -#define CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ 301 - -#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT 100 -#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM 101 -#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT 102 - -#define CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED 200 - -#define CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED 300 -#define CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED 301 - -#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED 400 -#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED 402 -#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED 403 -#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT 404 -#endif - - +#ifndef OPENSSL_NO_ENGINE +/* OpenSSL has ENGINE support so include all of this. */ +#ifdef _WIN32 + #include <Wincrypt.h> +#else + #include <fcntl.h> + #include <unistd.h> + /* for defined(BSD) */ + #ifndef __MVS__ + #include <sys/param.h> + #endif + + #ifdef BSD + /* for SYS_getentropy */ + #include <sys/syscall.h> + #endif + + #ifdef __APPLE__ + #include <sys/random.h> + /* To support weak linking we need to declare this as a weak import even if + * it's not present in sys/random (e.g. macOS < 10.12). */ + extern int getentropy(void *buffer, size_t size) __attribute((weak_import)); + #endif + + #ifdef __linux__ + /* for SYS_getrandom */ + #include <sys/syscall.h> + #ifndef GRND_NONBLOCK + #define GRND_NONBLOCK 0x0001 + #endif /* GRND_NONBLOCK */ + + #ifndef SYS_getrandom + /* We only bother to define the constants for platforms where we ship + * wheels, since that's the predominant way you get a situation where + * you don't have SYS_getrandom at compile time but do have the syscall + * at runtime */ + #if defined(__x86_64__) + #define SYS_getrandom 318 + #elif defined(__i386__) + #define SYS_getrandom 355 + #elif defined(__aarch64__) + #define SYS_getrandom 278 + #endif + #endif + #endif /* __linux__ */ +#endif /* _WIN32 */ + +#define CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM 1 +#define CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY 2 +#define CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM 3 +#define CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM 4 + +#ifndef CRYPTOGRAPHY_OSRANDOM_ENGINE + #if defined(_WIN32) + /* Windows */ + #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM + #elif defined(BSD) && defined(SYS_getentropy) + /* OpenBSD 5.6+ & macOS with SYS_getentropy defined, although < 10.12 will fallback + * to urandom */ + #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY + #elif defined(__linux__) && defined(SYS_getrandom) + /* Linux 3.17+ */ + #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM + #else + /* Keep this as last entry, fall back to /dev/urandom */ + #define CRYPTOGRAPHY_OSRANDOM_ENGINE CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM + #endif +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE */ + +/* Fallbacks need /dev/urandom helper functions. */ +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM || \ + CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM || \ + (CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY && \ + defined(__APPLE__)) + #define CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM 1 +#endif + +enum { + CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED = -2, + CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT, + CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK, + CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS +}; + +enum { + CRYPTOGRAPHY_OSRANDOM_GETENTROPY_NOT_INIT, + CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK, + CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS +}; + +/* engine ctrl */ +#define CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION ENGINE_CMD_BASE + +/* error reporting */ +static void ERR_load_Cryptography_OSRandom_strings(void); +static void ERR_Cryptography_OSRandom_error(int function, int reason, + char *file, int line); + +#define CRYPTOGRAPHY_OSRANDOM_F_INIT 100 +#define CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES 101 +#define CRYPTOGRAPHY_OSRANDOM_F_FINISH 102 +#define CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD 300 +#define CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ 301 + +#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT 100 +#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM 101 +#define CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT 102 + +#define CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED 200 + +#define CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED 300 +#define CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED 301 + +#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED 400 +#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED 402 +#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED 403 +#define CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT 404 +#endif + + #include <openssl/pem.h> @@ -739,7 +739,7 @@ typedef STACK_OF(X509_OBJECT) Cryptography_STACK_OF_X509_OBJECT; #include <openssl/pkcs7.h> -#include <string.h> +#include <string.h> @@ -779,229 +779,229 @@ typedef STACK_OF(X509_OBJECT) Cryptography_STACK_OF_X509_OBJECT; # define OPENSSL_PLATFORM SSLEAY_PLATFORM # define OPENSSL_DIR SSLEAY_DIR #endif - -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_OPENSSL_CLEANUP = 0; - -void (*OPENSSL_cleanup)(void) = NULL; - -/* This function has a significantly different signature pre-1.1.0. since it is - * for testing only, we don't bother to expose it on older OpenSSLs. - */ -static const long Cryptography_HAS_MEM_FUNCTIONS = 0; -int (*Cryptography_CRYPTO_set_mem_functions)( - void *(*)(size_t, const char *, int), - void *(*)(void *, size_t, const char *, int), - void (*)(void *, const char *, int)) = NULL; - -#else -static const long Cryptography_HAS_OPENSSL_CLEANUP = 1; -static const long Cryptography_HAS_MEM_FUNCTIONS = 1; - -int Cryptography_CRYPTO_set_mem_functions( - void *(*m)(size_t, const char *, int), - void *(*r)(void *, size_t, const char *, int), - void (*f)(void *, const char *, int) -) { - return CRYPTO_set_mem_functions(m, r, f); -} -#endif - -void *Cryptography_malloc_wrapper(size_t size, const char *path, int line) { - return malloc(size); -} - -void *Cryptography_realloc_wrapper(void *ptr, size_t size, const char *path, - int line) { - return realloc(ptr, size); -} - -void Cryptography_free_wrapper(void *ptr, const char *path, int line) { - free(ptr); -} - - -#if CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER && !defined(OPENSSL_NO_CT) -static const long Cryptography_HAS_SCT = 1; -#else -static const long Cryptography_HAS_SCT = 0; - -typedef enum { - SCT_VERSION_NOT_SET, - SCT_VERSION_V1 -} sct_version_t; -typedef enum { - CT_LOG_ENTRY_TYPE_NOT_SET, - CT_LOG_ENTRY_TYPE_X509, - CT_LOG_ENTRY_TYPE_PRECERT -} ct_log_entry_type_t; -typedef enum { - SCT_SOURCE_UNKNOWN, - SCT_SOURCE_TLS_EXTENSION, - SCT_SOURCE_X509V3_EXTENSION, - SCT_SOURCE_OCSP_STAPLED_RESPONSE -} sct_source_t; - -/* OpenSSL compiled with `no-ct` still defines the `SCT` struct. */ -#if !defined(OPENSSL_NO_CT) -typedef void SCT; -#endif - -typedef void Cryptography_STACK_OF_SCT; - -sct_version_t (*SCT_get_version)(const SCT *) = NULL; -ct_log_entry_type_t (*SCT_get_log_entry_type)(const SCT *) = NULL; -size_t (*SCT_get0_log_id)(const SCT *, unsigned char **) = NULL; -size_t (*SCT_get0_signature)(const SCT *, unsigned char **) = NULL; -uint64_t (*SCT_get_timestamp)(const SCT *) = NULL; - -int (*SCT_set_source)(SCT *, sct_source_t) = NULL; - -Cryptography_STACK_OF_SCT *(*sk_SCT_new_null)(void) = NULL; -void (*sk_SCT_free)(Cryptography_STACK_OF_SCT *) = NULL; -int (*sk_SCT_num)(const Cryptography_STACK_OF_SCT *) = NULL; -SCT *(*sk_SCT_value)(const Cryptography_STACK_OF_SCT *, int) = NULL; -int (*sk_SCT_push)(Cryptography_STACK_OF_SCT *, SCT *) = NULL; - -void (*SCT_LIST_free)(Cryptography_STACK_OF_SCT *) = NULL; -SCT *(*SCT_new)(void) = NULL; -int (*SCT_set1_log_id)(SCT *, unsigned char *, size_t) = NULL; -void (*SCT_set_timestamp)(SCT *, uint64_t) = NULL; -int (*SCT_set_version)(SCT *, sct_version_t) = NULL; -int (*SCT_set_log_entry_type)(SCT *, ct_log_entry_type_t) = NULL; -#endif - - -#if CRYPTOGRAPHY_IS_LIBRESSL -#ifndef DH_CHECK_Q_NOT_PRIME -#define DH_CHECK_Q_NOT_PRIME 0x10 -#endif - -#ifndef DH_CHECK_INVALID_Q_VALUE -#define DH_CHECK_INVALID_Q_VALUE 0x20 -#endif - -#ifndef DH_CHECK_INVALID_J_VALUE -#define DH_CHECK_INVALID_J_VALUE 0x40 -#endif - -/* DH_check implementation taken from OpenSSL 1.1.0pre6 */ - -/*- - * Check that p is a safe prime and - * if g is 2, 3 or 5, check that it is a suitable generator - * where - * for 2, p mod 24 == 11 - * for 3, p mod 12 == 5 - * for 5, p mod 10 == 3 or 7 - * should hold. - */ - -int Cryptography_DH_check(const DH *dh, int *ret) -{ - int ok = 0, r; - BN_CTX *ctx = NULL; - BN_ULONG l; - BIGNUM *t1 = NULL, *t2 = NULL; - - *ret = 0; - ctx = BN_CTX_new(); - if (ctx == NULL) - goto err; - BN_CTX_start(ctx); - t1 = BN_CTX_get(ctx); - if (t1 == NULL) - goto err; - t2 = BN_CTX_get(ctx); - if (t2 == NULL) - goto err; - - if (dh->q) { - if (BN_cmp(dh->g, BN_value_one()) <= 0) - *ret |= DH_NOT_SUITABLE_GENERATOR; - else if (BN_cmp(dh->g, dh->p) >= 0) - *ret |= DH_NOT_SUITABLE_GENERATOR; - else { - /* Check g^q == 1 mod p */ - if (!BN_mod_exp(t1, dh->g, dh->q, dh->p, ctx)) - goto err; - if (!BN_is_one(t1)) - *ret |= DH_NOT_SUITABLE_GENERATOR; - } - r = BN_is_prime_ex(dh->q, BN_prime_checks, ctx, NULL); - if (r < 0) - goto err; - if (!r) - *ret |= DH_CHECK_Q_NOT_PRIME; - /* Check p == 1 mod q i.e. q divides p - 1 */ - if (!BN_div(t1, t2, dh->p, dh->q, ctx)) - goto err; - if (!BN_is_one(t2)) - *ret |= DH_CHECK_INVALID_Q_VALUE; - if (dh->j && BN_cmp(dh->j, t1)) - *ret |= DH_CHECK_INVALID_J_VALUE; - - } else if (BN_is_word(dh->g, DH_GENERATOR_2)) { - l = BN_mod_word(dh->p, 24); - if (l == (BN_ULONG)-1) - goto err; - if (l != 11) - *ret |= DH_NOT_SUITABLE_GENERATOR; - } else if (BN_is_word(dh->g, DH_GENERATOR_5)) { - l = BN_mod_word(dh->p, 10); - if (l == (BN_ULONG)-1) - goto err; - if ((l != 3) && (l != 7)) - *ret |= DH_NOT_SUITABLE_GENERATOR; - } else - *ret |= DH_UNABLE_TO_CHECK_GENERATOR; - - r = BN_is_prime_ex(dh->p, BN_prime_checks, ctx, NULL); - if (r < 0) - goto err; - if (!r) - *ret |= DH_CHECK_P_NOT_PRIME; - else if (!dh->q) { - if (!BN_rshift1(t1, dh->p)) - goto err; - r = BN_is_prime_ex(t1, BN_prime_checks, ctx, NULL); - if (r < 0) - goto err; - if (!r) - *ret |= DH_CHECK_P_NOT_SAFE_PRIME; - } - ok = 1; - err: - if (ctx != NULL) { - BN_CTX_end(ctx); - BN_CTX_free(ctx); - } - return (ok); -} -#else -int Cryptography_DH_check(const DH *dh, int *ret) { - return DH_check(dh, ret); -} -#endif - -/* These functions were added in OpenSSL 1.1.0f commit d0c50e80a8 */ -/* Define our own to simplify support across all versions. */ -#if defined(EVP_PKEY_DHX) && EVP_PKEY_DHX != -1 -DH *Cryptography_d2i_DHxparams_bio(BIO *bp, DH **x) { - return ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x); -} -int Cryptography_i2d_DHxparams_bio(BIO *bp, DH *x) { - return ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x); -} -#else -DH *(*Cryptography_d2i_DHxparams_bio)(BIO *bp, DH **x) = NULL; -int (*Cryptography_i2d_DHxparams_bio)(BIO *bp, DH *x) = NULL; -#endif - - - - -#if defined(OPENSSL_NO_EC2M) + +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_OPENSSL_CLEANUP = 0; + +void (*OPENSSL_cleanup)(void) = NULL; + +/* This function has a significantly different signature pre-1.1.0. since it is + * for testing only, we don't bother to expose it on older OpenSSLs. + */ +static const long Cryptography_HAS_MEM_FUNCTIONS = 0; +int (*Cryptography_CRYPTO_set_mem_functions)( + void *(*)(size_t, const char *, int), + void *(*)(void *, size_t, const char *, int), + void (*)(void *, const char *, int)) = NULL; + +#else +static const long Cryptography_HAS_OPENSSL_CLEANUP = 1; +static const long Cryptography_HAS_MEM_FUNCTIONS = 1; + +int Cryptography_CRYPTO_set_mem_functions( + void *(*m)(size_t, const char *, int), + void *(*r)(void *, size_t, const char *, int), + void (*f)(void *, const char *, int) +) { + return CRYPTO_set_mem_functions(m, r, f); +} +#endif + +void *Cryptography_malloc_wrapper(size_t size, const char *path, int line) { + return malloc(size); +} + +void *Cryptography_realloc_wrapper(void *ptr, size_t size, const char *path, + int line) { + return realloc(ptr, size); +} + +void Cryptography_free_wrapper(void *ptr, const char *path, int line) { + free(ptr); +} + + +#if CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER && !defined(OPENSSL_NO_CT) +static const long Cryptography_HAS_SCT = 1; +#else +static const long Cryptography_HAS_SCT = 0; + +typedef enum { + SCT_VERSION_NOT_SET, + SCT_VERSION_V1 +} sct_version_t; +typedef enum { + CT_LOG_ENTRY_TYPE_NOT_SET, + CT_LOG_ENTRY_TYPE_X509, + CT_LOG_ENTRY_TYPE_PRECERT +} ct_log_entry_type_t; +typedef enum { + SCT_SOURCE_UNKNOWN, + SCT_SOURCE_TLS_EXTENSION, + SCT_SOURCE_X509V3_EXTENSION, + SCT_SOURCE_OCSP_STAPLED_RESPONSE +} sct_source_t; + +/* OpenSSL compiled with `no-ct` still defines the `SCT` struct. */ +#if !defined(OPENSSL_NO_CT) +typedef void SCT; +#endif + +typedef void Cryptography_STACK_OF_SCT; + +sct_version_t (*SCT_get_version)(const SCT *) = NULL; +ct_log_entry_type_t (*SCT_get_log_entry_type)(const SCT *) = NULL; +size_t (*SCT_get0_log_id)(const SCT *, unsigned char **) = NULL; +size_t (*SCT_get0_signature)(const SCT *, unsigned char **) = NULL; +uint64_t (*SCT_get_timestamp)(const SCT *) = NULL; + +int (*SCT_set_source)(SCT *, sct_source_t) = NULL; + +Cryptography_STACK_OF_SCT *(*sk_SCT_new_null)(void) = NULL; +void (*sk_SCT_free)(Cryptography_STACK_OF_SCT *) = NULL; +int (*sk_SCT_num)(const Cryptography_STACK_OF_SCT *) = NULL; +SCT *(*sk_SCT_value)(const Cryptography_STACK_OF_SCT *, int) = NULL; +int (*sk_SCT_push)(Cryptography_STACK_OF_SCT *, SCT *) = NULL; + +void (*SCT_LIST_free)(Cryptography_STACK_OF_SCT *) = NULL; +SCT *(*SCT_new)(void) = NULL; +int (*SCT_set1_log_id)(SCT *, unsigned char *, size_t) = NULL; +void (*SCT_set_timestamp)(SCT *, uint64_t) = NULL; +int (*SCT_set_version)(SCT *, sct_version_t) = NULL; +int (*SCT_set_log_entry_type)(SCT *, ct_log_entry_type_t) = NULL; +#endif + + +#if CRYPTOGRAPHY_IS_LIBRESSL +#ifndef DH_CHECK_Q_NOT_PRIME +#define DH_CHECK_Q_NOT_PRIME 0x10 +#endif + +#ifndef DH_CHECK_INVALID_Q_VALUE +#define DH_CHECK_INVALID_Q_VALUE 0x20 +#endif + +#ifndef DH_CHECK_INVALID_J_VALUE +#define DH_CHECK_INVALID_J_VALUE 0x40 +#endif + +/* DH_check implementation taken from OpenSSL 1.1.0pre6 */ + +/*- + * Check that p is a safe prime and + * if g is 2, 3 or 5, check that it is a suitable generator + * where + * for 2, p mod 24 == 11 + * for 3, p mod 12 == 5 + * for 5, p mod 10 == 3 or 7 + * should hold. + */ + +int Cryptography_DH_check(const DH *dh, int *ret) +{ + int ok = 0, r; + BN_CTX *ctx = NULL; + BN_ULONG l; + BIGNUM *t1 = NULL, *t2 = NULL; + + *ret = 0; + ctx = BN_CTX_new(); + if (ctx == NULL) + goto err; + BN_CTX_start(ctx); + t1 = BN_CTX_get(ctx); + if (t1 == NULL) + goto err; + t2 = BN_CTX_get(ctx); + if (t2 == NULL) + goto err; + + if (dh->q) { + if (BN_cmp(dh->g, BN_value_one()) <= 0) + *ret |= DH_NOT_SUITABLE_GENERATOR; + else if (BN_cmp(dh->g, dh->p) >= 0) + *ret |= DH_NOT_SUITABLE_GENERATOR; + else { + /* Check g^q == 1 mod p */ + if (!BN_mod_exp(t1, dh->g, dh->q, dh->p, ctx)) + goto err; + if (!BN_is_one(t1)) + *ret |= DH_NOT_SUITABLE_GENERATOR; + } + r = BN_is_prime_ex(dh->q, BN_prime_checks, ctx, NULL); + if (r < 0) + goto err; + if (!r) + *ret |= DH_CHECK_Q_NOT_PRIME; + /* Check p == 1 mod q i.e. q divides p - 1 */ + if (!BN_div(t1, t2, dh->p, dh->q, ctx)) + goto err; + if (!BN_is_one(t2)) + *ret |= DH_CHECK_INVALID_Q_VALUE; + if (dh->j && BN_cmp(dh->j, t1)) + *ret |= DH_CHECK_INVALID_J_VALUE; + + } else if (BN_is_word(dh->g, DH_GENERATOR_2)) { + l = BN_mod_word(dh->p, 24); + if (l == (BN_ULONG)-1) + goto err; + if (l != 11) + *ret |= DH_NOT_SUITABLE_GENERATOR; + } else if (BN_is_word(dh->g, DH_GENERATOR_5)) { + l = BN_mod_word(dh->p, 10); + if (l == (BN_ULONG)-1) + goto err; + if ((l != 3) && (l != 7)) + *ret |= DH_NOT_SUITABLE_GENERATOR; + } else + *ret |= DH_UNABLE_TO_CHECK_GENERATOR; + + r = BN_is_prime_ex(dh->p, BN_prime_checks, ctx, NULL); + if (r < 0) + goto err; + if (!r) + *ret |= DH_CHECK_P_NOT_PRIME; + else if (!dh->q) { + if (!BN_rshift1(t1, dh->p)) + goto err; + r = BN_is_prime_ex(t1, BN_prime_checks, ctx, NULL); + if (r < 0) + goto err; + if (!r) + *ret |= DH_CHECK_P_NOT_SAFE_PRIME; + } + ok = 1; + err: + if (ctx != NULL) { + BN_CTX_end(ctx); + BN_CTX_free(ctx); + } + return (ok); +} +#else +int Cryptography_DH_check(const DH *dh, int *ret) { + return DH_check(dh, ret); +} +#endif + +/* These functions were added in OpenSSL 1.1.0f commit d0c50e80a8 */ +/* Define our own to simplify support across all versions. */ +#if defined(EVP_PKEY_DHX) && EVP_PKEY_DHX != -1 +DH *Cryptography_d2i_DHxparams_bio(BIO *bp, DH **x) { + return ASN1_d2i_bio_of(DH, DH_new, d2i_DHxparams, bp, x); +} +int Cryptography_i2d_DHxparams_bio(BIO *bp, DH *x) { + return ASN1_i2d_bio_of_const(DH, i2d_DHxparams, bp, x); +} +#else +DH *(*Cryptography_d2i_DHxparams_bio)(BIO *bp, DH **x) = NULL; +int (*Cryptography_i2d_DHxparams_bio)(BIO *bp, DH *x) = NULL; +#endif + + + + +#if defined(OPENSSL_NO_EC2M) static const long Cryptography_HAS_EC2M = 0; int (*EC_POINT_set_affine_coordinates_GF2m)(const EC_GROUP *, EC_POINT *, @@ -1021,42 +1021,42 @@ static const long Cryptography_HAS_EC2M = 1; -#ifdef OPENSSL_NO_ENGINE -static const long Cryptography_HAS_ENGINE = 0; +#ifdef OPENSSL_NO_ENGINE +static const long Cryptography_HAS_ENGINE = 0; + +ENGINE *(*ENGINE_by_id)(const char *) = NULL; +int (*ENGINE_init)(ENGINE *) = NULL; +int (*ENGINE_finish)(ENGINE *) = NULL; +ENGINE *(*ENGINE_get_default_RAND)(void) = NULL; +int (*ENGINE_set_default_RAND)(ENGINE *) = NULL; +void (*ENGINE_unregister_RAND)(ENGINE *) = NULL; +int (*ENGINE_ctrl_cmd)(ENGINE *, const char *, long, void *, + void (*)(void), int) = NULL; -ENGINE *(*ENGINE_by_id)(const char *) = NULL; -int (*ENGINE_init)(ENGINE *) = NULL; -int (*ENGINE_finish)(ENGINE *) = NULL; -ENGINE *(*ENGINE_get_default_RAND)(void) = NULL; -int (*ENGINE_set_default_RAND)(ENGINE *) = NULL; -void (*ENGINE_unregister_RAND)(ENGINE *) = NULL; -int (*ENGINE_ctrl_cmd)(ENGINE *, const char *, long, void *, - void (*)(void), int) = NULL; +int (*ENGINE_free)(ENGINE *) = NULL; +const char *(*ENGINE_get_id)(const ENGINE *) = NULL; +const char *(*ENGINE_get_name)(const ENGINE *) = NULL; -int (*ENGINE_free)(ENGINE *) = NULL; -const char *(*ENGINE_get_id)(const ENGINE *) = NULL; -const char *(*ENGINE_get_name)(const ENGINE *) = NULL; +int (*ENGINE_ctrl_cmd_string)(ENGINE *, const char *, const char *, + int) = NULL; +void (*ENGINE_load_builtin_engines)(void) = NULL; +EVP_PKEY *(*ENGINE_load_private_key)(ENGINE *, const char *, UI_METHOD *, + void *) = NULL; +EVP_PKEY *(*ENGINE_load_public_key)(ENGINE *, const char *, + UI_METHOD *, void *) = NULL; -int (*ENGINE_ctrl_cmd_string)(ENGINE *, const char *, const char *, - int) = NULL; -void (*ENGINE_load_builtin_engines)(void) = NULL; -EVP_PKEY *(*ENGINE_load_private_key)(ENGINE *, const char *, UI_METHOD *, - void *) = NULL; -EVP_PKEY *(*ENGINE_load_public_key)(ENGINE *, const char *, - UI_METHOD *, void *) = NULL; - #else -static const long Cryptography_HAS_ENGINE = 1; +static const long Cryptography_HAS_ENGINE = 1; #endif -#ifdef EVP_PKEY_DHX -const long Cryptography_HAS_EVP_PKEY_DHX = 1; -#else -const long Cryptography_HAS_EVP_PKEY_DHX = 0; -const long EVP_PKEY_DHX = -1; +#ifdef EVP_PKEY_DHX +const long Cryptography_HAS_EVP_PKEY_DHX = 1; +#else +const long Cryptography_HAS_EVP_PKEY_DHX = 0; +const long EVP_PKEY_DHX = -1; #endif int Cryptography_EVP_PKEY_id(const EVP_PKEY *key) { @@ -1065,11 +1065,11 @@ int Cryptography_EVP_PKEY_id(const EVP_PKEY *key) { EVP_MD_CTX *Cryptography_EVP_MD_CTX_new(void) { return EVP_MD_CTX_new(); } -void Cryptography_EVP_MD_CTX_free(EVP_MD_CTX *md) { - EVP_MD_CTX_free(md); +void Cryptography_EVP_MD_CTX_free(EVP_MD_CTX *md) { + EVP_MD_CTX_free(md); } - -#if CRYPTOGRAPHY_IS_LIBRESSL || defined(OPENSSL_NO_SCRYPT) + +#if CRYPTOGRAPHY_IS_LIBRESSL || defined(OPENSSL_NO_SCRYPT) static const long Cryptography_HAS_SCRYPT = 0; int (*EVP_PBE_scrypt)(const char *, size_t, const unsigned char *, size_t, uint64_t, uint64_t, uint64_t, uint64_t, unsigned char *, @@ -1078,908 +1078,908 @@ int (*EVP_PBE_scrypt)(const char *, size_t, const unsigned char *, size_t, static const long Cryptography_HAS_SCRYPT = 1; #endif -#if !CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint = 1; -#else -static const long Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint = 0; -size_t (*EVP_PKEY_get1_tls_encodedpoint)(EVP_PKEY *, unsigned char **) = NULL; -int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, const unsigned char *, - size_t) = NULL; -#endif - -#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 -static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0; -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 *, - size_t) = NULL; -int (*EVP_PKEY_get_raw_private_key)(const EVP_PKEY *, unsigned char *, - size_t *) = NULL; -int (*EVP_PKEY_get_raw_public_key)(const EVP_PKEY *, unsigned char *, - size_t *) = NULL; -#else -static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1; -static const long Cryptography_HAS_RAW_KEY = 1; -static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 1; -#endif - -/* OpenSSL 1.1.0+ does this define for us, but if not present we'll do it */ -#if !defined(EVP_CTRL_AEAD_SET_IVLEN) -# define EVP_CTRL_AEAD_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN -#endif -#if !defined(EVP_CTRL_AEAD_GET_TAG) -# define EVP_CTRL_AEAD_GET_TAG EVP_CTRL_GCM_GET_TAG -#endif -#if !defined(EVP_CTRL_AEAD_SET_TAG) -# define EVP_CTRL_AEAD_SET_TAG EVP_CTRL_GCM_SET_TAG -#endif - -/* This is tied to X25519 support so we reuse the Cryptography_HAS_X25519 - conditional to remove it. OpenSSL 1.1.0 didn't have this define, but - 1.1.1 will when it is released. We can remove this in the distant - future when we drop 1.1.0 support. */ -#ifndef EVP_PKEY_X25519 -#define EVP_PKEY_X25519 NID_X25519 -#endif - -/* This is tied to X448 support so we reuse the Cryptography_HAS_X448 - conditional to remove it. OpenSSL 1.1.1 adds this define. We can remove - this in the distant future when we drop 1.1.0 support. */ -#ifndef EVP_PKEY_X448 -#define EVP_PKEY_X448 NID_X448 -#endif - -/* This is tied to ED25519 support so we reuse the Cryptography_HAS_ED25519 - conditional to remove it. */ -#ifndef EVP_PKEY_ED25519 -#define EVP_PKEY_ED25519 NID_ED25519 -#endif - -/* This is tied to ED448 support so we reuse the Cryptography_HAS_ED448 - conditional to remove it. */ -#ifndef EVP_PKEY_ED448 -#define EVP_PKEY_ED448 NID_ED448 -#endif - -/* This is tied to poly1305 support so we reuse the Cryptography_HAS_POLY1305 - conditional to remove it. */ -#ifndef EVP_PKEY_POLY1305 -#define EVP_PKEY_POLY1305 NID_poly1305 -#endif - - -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_FIPS = 0; -int (*FIPS_mode_set)(int) = NULL; -int (*FIPS_mode)(void) = NULL; -#else -static const long Cryptography_HAS_FIPS = 1; -#endif - - - - -#ifndef NID_ED25519 -static const long Cryptography_HAS_ED25519 = 0; -static const int NID_ED25519 = 0; -#else -static const long Cryptography_HAS_ED25519 = 1; -#endif -#ifndef NID_ED448 -static const long Cryptography_HAS_ED448 = 0; -static const int NID_ED448 = 0; -#else -static const long Cryptography_HAS_ED448 = 1; -#endif -#ifndef NID_poly1305 -static const long Cryptography_HAS_POLY1305 = 0; -static const int NID_poly1305 = 0; -#else -static const long Cryptography_HAS_POLY1305 = 1; -#endif - - - - -#if ( !CRYPTOGRAPHY_IS_LIBRESSL && CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J ) -/* These structs come from ocsp_lcl.h and are needed to de-opaque the struct - for the getters in OpenSSL 1.1.0 through 1.1.0i */ -struct ocsp_responder_id_st { - int type; - union { - X509_NAME *byName; - ASN1_OCTET_STRING *byKey; - } value; -}; -struct ocsp_response_data_st { - ASN1_INTEGER *version; - OCSP_RESPID responderId; - ASN1_GENERALIZEDTIME *producedAt; - STACK_OF(OCSP_SINGLERESP) *responses; - STACK_OF(X509_EXTENSION) *responseExtensions; -}; -struct ocsp_basic_response_st { - OCSP_RESPDATA tbsResponseData; - X509_ALGOR signatureAlgorithm; - ASN1_BIT_STRING *signature; - STACK_OF(X509) *certs; -}; -#endif - -#if CRYPTOGRAPHY_IS_LIBRESSL -/* These functions are all taken from ocsp_cl.c in OpenSSL 1.1.0 */ -const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single) -{ - return single->certId; -} -const Cryptography_STACK_OF_X509 *OCSP_resp_get0_certs( - const OCSP_BASICRESP *bs) -{ - return bs->certs; -} -int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, - const ASN1_OCTET_STRING **pid, - const X509_NAME **pname) -{ - const OCSP_RESPID *rid = bs->tbsResponseData->responderId; - - if (rid->type == V_OCSP_RESPID_NAME) { - *pname = rid->value.byName; - *pid = NULL; - } else if (rid->type == V_OCSP_RESPID_KEY) { - *pid = rid->value.byKey; - *pname = NULL; - } else { - return 0; - } - return 1; -} -const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at( - const OCSP_BASICRESP* bs) -{ - return bs->tbsResponseData->producedAt; -} -const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs) -{ - return bs->signature; -} -#endif - -#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J -const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs) -{ -#if CRYPTOGRAPHY_IS_LIBRESSL - return bs->signatureAlgorithm; -#else - return &bs->signatureAlgorithm; -#endif -} - -const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs) -{ -#if CRYPTOGRAPHY_IS_LIBRESSL - return bs->tbsResponseData; -#else - return &bs->tbsResponseData; -#endif -} -#endif - - - -/* osurandom engine - * - * Windows CryptGenRandom() - * macOS >= 10.12 getentropy() - * OpenBSD 5.6+ getentropy() - * other BSD getentropy() if SYS_getentropy is defined - * Linux 3.17+ getrandom() with fallback to /dev/urandom - * other /dev/urandom with cached fd - * - * The /dev/urandom, getrandom and getentropy code is derived from Python's - * Python/random.c, written by Antoine Pitrou and Victor Stinner. - * - * Copyright 2001-2016 Python Software Foundation; All Rights Reserved. - */ - -#ifdef __linux__ -#include <poll.h> -#endif - -#if CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE -/* OpenSSL has ENGINE support and is older than 1.1.1d (the first version that - * properly implements fork safety in its RNG) so build the engine. */ -static const char *Cryptography_osrandom_engine_id = "osrandom"; - -/**************************************************************************** - * Windows - */ -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM -static const char *Cryptography_osrandom_engine_name = "osrandom_engine CryptGenRandom()"; -static HCRYPTPROV hCryptProv = 0; - -static int osrandom_init(ENGINE *e) { - if (hCryptProv != 0) { - return 1; - } - if (CryptAcquireContext(&hCryptProv, NULL, NULL, - PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { - return 1; - } else { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_INIT, - CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT, - __FILE__, __LINE__ - ); - return 0; - } -} - -static int osrandom_rand_bytes(unsigned char *buffer, int size) { - if (hCryptProv == 0) { - return 0; - } - - if (!CryptGenRandom(hCryptProv, (DWORD)size, buffer)) { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM, - __FILE__, __LINE__ - ); - return 0; - } - return 1; -} - -static int osrandom_finish(ENGINE *e) { - if (CryptReleaseContext(hCryptProv, 0)) { - hCryptProv = 0; - return 1; - } else { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_FINISH, - CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT, - __FILE__, __LINE__ - ); - return 0; - } -} - -static int osrandom_rand_status(void) { - return hCryptProv != 0; -} - -static const char *osurandom_get_implementation(void) { - return "CryptGenRandom"; -} - -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM */ - -/**************************************************************************** - * /dev/urandom helpers for all non-BSD Unix platforms - */ -#ifdef CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM - -static struct { - int fd; - dev_t st_dev; - ino_t st_ino; -} urandom_cache = { -1 }; - -static int open_cloexec(const char *path) { - int open_flags = O_RDONLY; -#ifdef O_CLOEXEC - open_flags |= O_CLOEXEC; -#endif - - int fd = open(path, open_flags); - if (fd == -1) { - return -1; - } - -#ifndef O_CLOEXEC - int flags = fcntl(fd, F_GETFD); - if (flags == -1) { - return -1; - } - if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1) { - return -1; - } -#endif - return fd; -} - -#ifdef __linux__ -/* On Linux, we open("/dev/random") and use poll() to wait until it's readable - * before we read from /dev/urandom, this ensures that we don't read from - * /dev/urandom before the kernel CSPRNG is initialized. This isn't necessary on - * other platforms because they don't have the same _bug_ as Linux does with - * /dev/urandom and early boot. */ -static int wait_on_devrandom(void) { - struct pollfd pfd = {}; - int ret = 0; - int random_fd = open_cloexec("/dev/random"); - if (random_fd < 0) { - return -1; - } - pfd.fd = random_fd; - pfd.events = POLLIN; - pfd.revents = 0; - do { - ret = poll(&pfd, 1, -1); - } while (ret < 0 && (errno == EINTR || errno == EAGAIN)); - close(random_fd); - return ret; -} -#endif - -/* return -1 on error */ -static int dev_urandom_fd(void) { - int fd = -1; - struct stat st; - - /* Check that fd still points to the correct device */ - if (urandom_cache.fd >= 0) { - if (fstat(urandom_cache.fd, &st) - || st.st_dev != urandom_cache.st_dev - || st.st_ino != urandom_cache.st_ino) { - /* Somebody replaced our FD. Invalidate our cache but don't - * close the fd. */ - urandom_cache.fd = -1; - } - } - if (urandom_cache.fd < 0) { -#ifdef __linux__ - if (wait_on_devrandom() < 0) { - goto error; - } -#endif - - fd = open_cloexec("/dev/urandom"); - if (fd < 0) { - goto error; - } - if (fstat(fd, &st)) { - goto error; - } - /* Another thread initialized the fd */ - if (urandom_cache.fd >= 0) { - close(fd); - return urandom_cache.fd; - } - urandom_cache.st_dev = st.st_dev; - urandom_cache.st_ino = st.st_ino; - urandom_cache.fd = fd; - } - return urandom_cache.fd; - - error: - if (fd != -1) { - close(fd); - } - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD, - CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED, - __FILE__, __LINE__ - ); - return -1; -} - -static int dev_urandom_read(unsigned char *buffer, int size) { - int fd; - int n; - - fd = dev_urandom_fd(); - if (fd < 0) { - return 0; - } - - while (size > 0) { - do { - n = (int)read(fd, buffer, (size_t)size); - } while (n < 0 && errno == EINTR); - - if (n <= 0) { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ, - CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED, - __FILE__, __LINE__ - ); - return 0; - } - buffer += n; - size -= n; - } - return 1; -} - -static void dev_urandom_close(void) { - if (urandom_cache.fd >= 0) { - int fd; - struct stat st; - - if (fstat(urandom_cache.fd, &st) - && st.st_dev == urandom_cache.st_dev - && st.st_ino == urandom_cache.st_ino) { - fd = urandom_cache.fd; - urandom_cache.fd = -1; - close(fd); - } - } -} -#endif /* CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM */ - -/**************************************************************************** - * BSD getentropy - */ -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY -static const char *Cryptography_osrandom_engine_name = "osrandom_engine getentropy()"; - -static int getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_NOT_INIT; - -static int osrandom_init(ENGINE *e) { -#if !defined(__APPLE__) - getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS; -#else - if (__builtin_available(macOS 10.12, *)) { - getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS; - } else { - getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK; - int fd = dev_urandom_fd(); - if (fd < 0) { - return 0; - } - } -#endif - return 1; -} - -static int osrandom_rand_bytes(unsigned char *buffer, int size) { - int len; - int res; - - switch(getentropy_works) { -#if defined(__APPLE__) - case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK: - return dev_urandom_read(buffer, size); -#endif - case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS: - while (size > 0) { - /* OpenBSD and macOS restrict maximum buffer size to 256. */ - len = size > 256 ? 256 : size; -/* on mac, availability is already checked using `__builtin_available` above */ -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wunguarded-availability" - res = getentropy(buffer, (size_t)len); -#pragma clang diagnostic pop - if (res < 0) { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED, - __FILE__, __LINE__ - ); - return 0; - } - buffer += len; - size -= len; - } - return 1; - } - __builtin_unreachable(); -} - -static int osrandom_finish(ENGINE *e) { - return 1; -} - -static int osrandom_rand_status(void) { - return 1; -} - -static const char *osurandom_get_implementation(void) { - switch(getentropy_works) { - case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK: - return "/dev/urandom"; - case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS: - return "getentropy"; - } - __builtin_unreachable(); -} -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY */ - -/**************************************************************************** - * Linux getrandom engine with fallback to dev_urandom - */ - -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM -static const char *Cryptography_osrandom_engine_name = "osrandom_engine getrandom()"; - -static int getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT; - -static int osrandom_init(ENGINE *e) { - /* We try to detect working getrandom until we succeed. */ - if (getrandom_works != CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS) { - long n; - char dest[1]; - /* if the kernel CSPRNG is not initialized this will block */ - n = syscall(SYS_getrandom, dest, sizeof(dest), 0); - if (n == sizeof(dest)) { - getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS; - } else { - int e = errno; - switch(e) { - case ENOSYS: - /* Fallback: Kernel does not support the syscall. */ - getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK; - break; - case EPERM: - /* Fallback: seccomp prevents syscall */ - getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK; - break; - default: - /* EINTR cannot occur for buflen < 256. */ - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_INIT, - CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED, - "errno", e - ); - getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED; - break; - } - } - } - - /* fallback to dev urandom */ - if (getrandom_works == CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK) { - int fd = dev_urandom_fd(); - if (fd < 0) { - return 0; - } - } - return 1; -} - -static int osrandom_rand_bytes(unsigned char *buffer, int size) { - long n; - - switch(getrandom_works) { - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED, - __FILE__, __LINE__ - ); - return 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT, - __FILE__, __LINE__ - ); - return 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: - return dev_urandom_read(buffer, size); - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: - while (size > 0) { - do { - n = syscall(SYS_getrandom, buffer, size, 0); - } while (n < 0 && errno == EINTR); - - if (n <= 0) { - ERR_Cryptography_OSRandom_error( - CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, - CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED, - __FILE__, __LINE__ - ); - return 0; - } - buffer += n; - size -= (int)n; - } - return 1; - } - __builtin_unreachable(); -} - -static int osrandom_finish(ENGINE *e) { - dev_urandom_close(); - return 1; -} - -static int osrandom_rand_status(void) { - switch(getrandom_works) { - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: - return 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: - return 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: - return urandom_cache.fd >= 0; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: - return 1; - } - __builtin_unreachable(); -} - -static const char *osurandom_get_implementation(void) { - switch(getrandom_works) { - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: - return "<failed>"; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: - return "<not initialized>"; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: - return "/dev/urandom"; - case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: - return "getrandom"; - } - __builtin_unreachable(); -} -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM */ - -/**************************************************************************** - * dev_urandom engine for all remaining platforms - */ - -#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM -static const char *Cryptography_osrandom_engine_name = "osrandom_engine /dev/urandom"; - -static int osrandom_init(ENGINE *e) { - int fd = dev_urandom_fd(); - if (fd < 0) { - return 0; - } - return 1; -} - -static int osrandom_rand_bytes(unsigned char *buffer, int size) { - return dev_urandom_read(buffer, size); -} - -static int osrandom_finish(ENGINE *e) { - dev_urandom_close(); - return 1; -} - -static int osrandom_rand_status(void) { - return urandom_cache.fd >= 0; -} - -static const char *osurandom_get_implementation(void) { - return "/dev/urandom"; -} -#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM */ - -/**************************************************************************** - * ENGINE boiler plate - */ - -/* This replicates the behavior of the OpenSSL FIPS RNG, which returns a - -1 in the event that there is an error when calling RAND_pseudo_bytes. */ -static int osrandom_pseudo_rand_bytes(unsigned char *buffer, int size) { - int res = osrandom_rand_bytes(buffer, size); - if (res == 0) { - return -1; - } else { - return res; - } -} - -static RAND_METHOD osrandom_rand = { - NULL, - osrandom_rand_bytes, - NULL, - NULL, - osrandom_pseudo_rand_bytes, - osrandom_rand_status, -}; - -static const ENGINE_CMD_DEFN osrandom_cmd_defns[] = { - {CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION, - "get_implementation", - "Get CPRNG implementation.", - ENGINE_CMD_FLAG_NO_INPUT}, - {0, NULL, NULL, 0} -}; - -static int osrandom_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)) { - const char *name; - size_t len; - - switch (cmd) { - case CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION: - /* i: buffer size, p: char* buffer */ - name = osurandom_get_implementation(); - len = strlen(name); - if ((p == NULL) && (i == 0)) { - /* return required buffer len */ - return (int)len; - } - if ((p == NULL) || i < 0 || ((size_t)i <= len)) { - /* no buffer or buffer too small */ - ENGINEerr(ENGINE_F_ENGINE_CTRL, ENGINE_R_INVALID_ARGUMENT); - return 0; - } - strcpy((char *)p, name); - return (int)len; - default: - ENGINEerr(ENGINE_F_ENGINE_CTRL, ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED); - return 0; - } -} - -/* error reporting */ -#define ERR_FUNC(func) ERR_PACK(0, func, 0) -#define ERR_REASON(reason) ERR_PACK(0, 0, reason) - -static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_lib_name[] = { - {0, "osrandom_engine"}, - {0, NULL} -}; - -static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_str_funcs[] = { - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_INIT), - "osrandom_init"}, - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES), - "osrandom_rand_bytes"}, - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_FINISH), - "osrandom_finish"}, - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD), - "dev_urandom_fd"}, - {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ), - "dev_urandom_read"}, - {0, NULL} -}; - -static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_str_reasons[] = { - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT), - "CryptAcquireContext() failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM), - "CryptGenRandom() failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT), - "CryptReleaseContext() failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED), - "getentropy() failed"}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED), - "open('/dev/urandom') failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED), - "Reading from /dev/urandom fd failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED), - "getrandom() initialization failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED), - "getrandom() initialization failed with unexpected errno."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED), - "getrandom() syscall failed."}, - {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT), - "getrandom() engine was not properly initialized."}, - {0, NULL} -}; - -static int Cryptography_OSRandom_lib_error_code = 0; - -static void ERR_load_Cryptography_OSRandom_strings(void) -{ - if (Cryptography_OSRandom_lib_error_code == 0) { - Cryptography_OSRandom_lib_error_code = ERR_get_next_error_library(); - ERR_load_strings(Cryptography_OSRandom_lib_error_code, - CRYPTOGRAPHY_OSRANDOM_lib_name); - ERR_load_strings(Cryptography_OSRandom_lib_error_code, - CRYPTOGRAPHY_OSRANDOM_str_funcs); - ERR_load_strings(Cryptography_OSRandom_lib_error_code, - CRYPTOGRAPHY_OSRANDOM_str_reasons); - } -} - -static void ERR_Cryptography_OSRandom_error(int function, int reason, - char *file, int line) -{ - ERR_PUT_error(Cryptography_OSRandom_lib_error_code, function, reason, - file, line); -} - -/* Returns 1 if successfully added, 2 if engine has previously been added, - and 0 for error. */ -int Cryptography_add_osrandom_engine(void) { - ENGINE *e; - - ERR_load_Cryptography_OSRandom_strings(); - - e = ENGINE_by_id(Cryptography_osrandom_engine_id); - if (e != NULL) { - ENGINE_free(e); - return 2; - } else { - ERR_clear_error(); - } - - e = ENGINE_new(); - if (e == NULL) { - return 0; - } - if (!ENGINE_set_id(e, Cryptography_osrandom_engine_id) || - !ENGINE_set_name(e, Cryptography_osrandom_engine_name) || - !ENGINE_set_RAND(e, &osrandom_rand) || - !ENGINE_set_init_function(e, osrandom_init) || - !ENGINE_set_finish_function(e, osrandom_finish) || - !ENGINE_set_cmd_defns(e, osrandom_cmd_defns) || - !ENGINE_set_ctrl_function(e, osrandom_ctrl)) { - ENGINE_free(e); - return 0; - } - if (!ENGINE_add(e)) { - ENGINE_free(e); - return 0; - } - if (!ENGINE_free(e)) { - return 0; - } - - return 1; -} - -#else -/* If OpenSSL has no ENGINE support then we don't want - * to compile the osrandom engine, but we do need some - * placeholders */ -static const char *Cryptography_osrandom_engine_id = "no-engine-support"; -static const char *Cryptography_osrandom_engine_name = "osrandom_engine disabled"; - -int Cryptography_add_osrandom_engine(void) { - return 0; -} - -#endif - - -#if !defined(EVP_PKEY_DHX) || EVP_PKEY_DHX == -1 -int (*PEM_write_bio_DHxparams)(BIO *, DH *) = NULL; -#endif - - - - - - -#if !CRYPTOGRAPHY_IS_LIBRESSL +#if !CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint = 1; +#else +static const long Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint = 0; +size_t (*EVP_PKEY_get1_tls_encodedpoint)(EVP_PKEY *, unsigned char **) = NULL; +int (*EVP_PKEY_set1_tls_encodedpoint)(EVP_PKEY *, const unsigned char *, + size_t) = NULL; +#endif + +#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 +static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 0; +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 *, + size_t) = NULL; +int (*EVP_PKEY_get_raw_private_key)(const EVP_PKEY *, unsigned char *, + size_t *) = NULL; +int (*EVP_PKEY_get_raw_public_key)(const EVP_PKEY *, unsigned char *, + size_t *) = NULL; +#else +static const long Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY = 1; +static const long Cryptography_HAS_RAW_KEY = 1; +static const long Cryptography_HAS_EVP_DIGESTFINAL_XOF = 1; +#endif + +/* OpenSSL 1.1.0+ does this define for us, but if not present we'll do it */ +#if !defined(EVP_CTRL_AEAD_SET_IVLEN) +# define EVP_CTRL_AEAD_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN +#endif +#if !defined(EVP_CTRL_AEAD_GET_TAG) +# define EVP_CTRL_AEAD_GET_TAG EVP_CTRL_GCM_GET_TAG +#endif +#if !defined(EVP_CTRL_AEAD_SET_TAG) +# define EVP_CTRL_AEAD_SET_TAG EVP_CTRL_GCM_SET_TAG +#endif + +/* This is tied to X25519 support so we reuse the Cryptography_HAS_X25519 + conditional to remove it. OpenSSL 1.1.0 didn't have this define, but + 1.1.1 will when it is released. We can remove this in the distant + future when we drop 1.1.0 support. */ +#ifndef EVP_PKEY_X25519 +#define EVP_PKEY_X25519 NID_X25519 +#endif + +/* This is tied to X448 support so we reuse the Cryptography_HAS_X448 + conditional to remove it. OpenSSL 1.1.1 adds this define. We can remove + this in the distant future when we drop 1.1.0 support. */ +#ifndef EVP_PKEY_X448 +#define EVP_PKEY_X448 NID_X448 +#endif + +/* This is tied to ED25519 support so we reuse the Cryptography_HAS_ED25519 + conditional to remove it. */ +#ifndef EVP_PKEY_ED25519 +#define EVP_PKEY_ED25519 NID_ED25519 +#endif + +/* This is tied to ED448 support so we reuse the Cryptography_HAS_ED448 + conditional to remove it. */ +#ifndef EVP_PKEY_ED448 +#define EVP_PKEY_ED448 NID_ED448 +#endif + +/* This is tied to poly1305 support so we reuse the Cryptography_HAS_POLY1305 + conditional to remove it. */ +#ifndef EVP_PKEY_POLY1305 +#define EVP_PKEY_POLY1305 NID_poly1305 +#endif + + +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_FIPS = 0; +int (*FIPS_mode_set)(int) = NULL; +int (*FIPS_mode)(void) = NULL; +#else +static const long Cryptography_HAS_FIPS = 1; +#endif + + + + +#ifndef NID_ED25519 +static const long Cryptography_HAS_ED25519 = 0; +static const int NID_ED25519 = 0; +#else +static const long Cryptography_HAS_ED25519 = 1; +#endif +#ifndef NID_ED448 +static const long Cryptography_HAS_ED448 = 0; +static const int NID_ED448 = 0; +#else +static const long Cryptography_HAS_ED448 = 1; +#endif +#ifndef NID_poly1305 +static const long Cryptography_HAS_POLY1305 = 0; +static const int NID_poly1305 = 0; +#else +static const long Cryptography_HAS_POLY1305 = 1; +#endif + + + + +#if ( !CRYPTOGRAPHY_IS_LIBRESSL && CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J ) +/* These structs come from ocsp_lcl.h and are needed to de-opaque the struct + for the getters in OpenSSL 1.1.0 through 1.1.0i */ +struct ocsp_responder_id_st { + int type; + union { + X509_NAME *byName; + ASN1_OCTET_STRING *byKey; + } value; +}; +struct ocsp_response_data_st { + ASN1_INTEGER *version; + OCSP_RESPID responderId; + ASN1_GENERALIZEDTIME *producedAt; + STACK_OF(OCSP_SINGLERESP) *responses; + STACK_OF(X509_EXTENSION) *responseExtensions; +}; +struct ocsp_basic_response_st { + OCSP_RESPDATA tbsResponseData; + X509_ALGOR signatureAlgorithm; + ASN1_BIT_STRING *signature; + STACK_OF(X509) *certs; +}; +#endif + +#if CRYPTOGRAPHY_IS_LIBRESSL +/* These functions are all taken from ocsp_cl.c in OpenSSL 1.1.0 */ +const OCSP_CERTID *OCSP_SINGLERESP_get0_id(const OCSP_SINGLERESP *single) +{ + return single->certId; +} +const Cryptography_STACK_OF_X509 *OCSP_resp_get0_certs( + const OCSP_BASICRESP *bs) +{ + return bs->certs; +} +int OCSP_resp_get0_id(const OCSP_BASICRESP *bs, + const ASN1_OCTET_STRING **pid, + const X509_NAME **pname) +{ + const OCSP_RESPID *rid = bs->tbsResponseData->responderId; + + if (rid->type == V_OCSP_RESPID_NAME) { + *pname = rid->value.byName; + *pid = NULL; + } else if (rid->type == V_OCSP_RESPID_KEY) { + *pid = rid->value.byKey; + *pname = NULL; + } else { + return 0; + } + return 1; +} +const ASN1_GENERALIZEDTIME *OCSP_resp_get0_produced_at( + const OCSP_BASICRESP* bs) +{ + return bs->tbsResponseData->producedAt; +} +const ASN1_OCTET_STRING *OCSP_resp_get0_signature(const OCSP_BASICRESP *bs) +{ + return bs->signature; +} +#endif + +#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_110J +const X509_ALGOR *OCSP_resp_get0_tbs_sigalg(const OCSP_BASICRESP *bs) +{ +#if CRYPTOGRAPHY_IS_LIBRESSL + return bs->signatureAlgorithm; +#else + return &bs->signatureAlgorithm; +#endif +} + +const OCSP_RESPDATA *OCSP_resp_get0_respdata(const OCSP_BASICRESP *bs) +{ +#if CRYPTOGRAPHY_IS_LIBRESSL + return bs->tbsResponseData; +#else + return &bs->tbsResponseData; +#endif +} +#endif + + + +/* osurandom engine + * + * Windows CryptGenRandom() + * macOS >= 10.12 getentropy() + * OpenBSD 5.6+ getentropy() + * other BSD getentropy() if SYS_getentropy is defined + * Linux 3.17+ getrandom() with fallback to /dev/urandom + * other /dev/urandom with cached fd + * + * The /dev/urandom, getrandom and getentropy code is derived from Python's + * Python/random.c, written by Antoine Pitrou and Victor Stinner. + * + * Copyright 2001-2016 Python Software Foundation; All Rights Reserved. + */ + +#ifdef __linux__ +#include <poll.h> +#endif + +#if CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE +/* OpenSSL has ENGINE support and is older than 1.1.1d (the first version that + * properly implements fork safety in its RNG) so build the engine. */ +static const char *Cryptography_osrandom_engine_id = "osrandom"; + +/**************************************************************************** + * Windows + */ +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM +static const char *Cryptography_osrandom_engine_name = "osrandom_engine CryptGenRandom()"; +static HCRYPTPROV hCryptProv = 0; + +static int osrandom_init(ENGINE *e) { + if (hCryptProv != 0) { + return 1; + } + if (CryptAcquireContext(&hCryptProv, NULL, NULL, + PROV_RSA_FULL, CRYPT_VERIFYCONTEXT)) { + return 1; + } else { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_INIT, + CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT, + __FILE__, __LINE__ + ); + return 0; + } +} + +static int osrandom_rand_bytes(unsigned char *buffer, int size) { + if (hCryptProv == 0) { + return 0; + } + + if (!CryptGenRandom(hCryptProv, (DWORD)size, buffer)) { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM, + __FILE__, __LINE__ + ); + return 0; + } + return 1; +} + +static int osrandom_finish(ENGINE *e) { + if (CryptReleaseContext(hCryptProv, 0)) { + hCryptProv = 0; + return 1; + } else { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_FINISH, + CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT, + __FILE__, __LINE__ + ); + return 0; + } +} + +static int osrandom_rand_status(void) { + return hCryptProv != 0; +} + +static const char *osurandom_get_implementation(void) { + return "CryptGenRandom"; +} + +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_CRYPTGENRANDOM */ + +/**************************************************************************** + * /dev/urandom helpers for all non-BSD Unix platforms + */ +#ifdef CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM + +static struct { + int fd; + dev_t st_dev; + ino_t st_ino; +} urandom_cache = { -1 }; + +static int open_cloexec(const char *path) { + int open_flags = O_RDONLY; +#ifdef O_CLOEXEC + open_flags |= O_CLOEXEC; +#endif + + int fd = open(path, open_flags); + if (fd == -1) { + return -1; + } + +#ifndef O_CLOEXEC + int flags = fcntl(fd, F_GETFD); + if (flags == -1) { + return -1; + } + if (fcntl(fd, F_SETFD, flags | FD_CLOEXEC) == -1) { + return -1; + } +#endif + return fd; +} + +#ifdef __linux__ +/* On Linux, we open("/dev/random") and use poll() to wait until it's readable + * before we read from /dev/urandom, this ensures that we don't read from + * /dev/urandom before the kernel CSPRNG is initialized. This isn't necessary on + * other platforms because they don't have the same _bug_ as Linux does with + * /dev/urandom and early boot. */ +static int wait_on_devrandom(void) { + struct pollfd pfd = {}; + int ret = 0; + int random_fd = open_cloexec("/dev/random"); + if (random_fd < 0) { + return -1; + } + pfd.fd = random_fd; + pfd.events = POLLIN; + pfd.revents = 0; + do { + ret = poll(&pfd, 1, -1); + } while (ret < 0 && (errno == EINTR || errno == EAGAIN)); + close(random_fd); + return ret; +} +#endif + +/* return -1 on error */ +static int dev_urandom_fd(void) { + int fd = -1; + struct stat st; + + /* Check that fd still points to the correct device */ + if (urandom_cache.fd >= 0) { + if (fstat(urandom_cache.fd, &st) + || st.st_dev != urandom_cache.st_dev + || st.st_ino != urandom_cache.st_ino) { + /* Somebody replaced our FD. Invalidate our cache but don't + * close the fd. */ + urandom_cache.fd = -1; + } + } + if (urandom_cache.fd < 0) { +#ifdef __linux__ + if (wait_on_devrandom() < 0) { + goto error; + } +#endif + + fd = open_cloexec("/dev/urandom"); + if (fd < 0) { + goto error; + } + if (fstat(fd, &st)) { + goto error; + } + /* Another thread initialized the fd */ + if (urandom_cache.fd >= 0) { + close(fd); + return urandom_cache.fd; + } + urandom_cache.st_dev = st.st_dev; + urandom_cache.st_ino = st.st_ino; + urandom_cache.fd = fd; + } + return urandom_cache.fd; + + error: + if (fd != -1) { + close(fd); + } + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD, + CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED, + __FILE__, __LINE__ + ); + return -1; +} + +static int dev_urandom_read(unsigned char *buffer, int size) { + int fd; + int n; + + fd = dev_urandom_fd(); + if (fd < 0) { + return 0; + } + + while (size > 0) { + do { + n = (int)read(fd, buffer, (size_t)size); + } while (n < 0 && errno == EINTR); + + if (n <= 0) { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ, + CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED, + __FILE__, __LINE__ + ); + return 0; + } + buffer += n; + size -= n; + } + return 1; +} + +static void dev_urandom_close(void) { + if (urandom_cache.fd >= 0) { + int fd; + struct stat st; + + if (fstat(urandom_cache.fd, &st) + && st.st_dev == urandom_cache.st_dev + && st.st_ino == urandom_cache.st_ino) { + fd = urandom_cache.fd; + urandom_cache.fd = -1; + close(fd); + } + } +} +#endif /* CRYPTOGRAPHY_OSRANDOM_NEEDS_DEV_URANDOM */ + +/**************************************************************************** + * BSD getentropy + */ +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY +static const char *Cryptography_osrandom_engine_name = "osrandom_engine getentropy()"; + +static int getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_NOT_INIT; + +static int osrandom_init(ENGINE *e) { +#if !defined(__APPLE__) + getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS; +#else + if (__builtin_available(macOS 10.12, *)) { + getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS; + } else { + getentropy_works = CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK; + int fd = dev_urandom_fd(); + if (fd < 0) { + return 0; + } + } +#endif + return 1; +} + +static int osrandom_rand_bytes(unsigned char *buffer, int size) { + int len; + int res; + + switch(getentropy_works) { +#if defined(__APPLE__) + case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK: + return dev_urandom_read(buffer, size); +#endif + case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS: + while (size > 0) { + /* OpenBSD and macOS restrict maximum buffer size to 256. */ + len = size > 256 ? 256 : size; +/* on mac, availability is already checked using `__builtin_available` above */ +#pragma clang diagnostic push +#pragma clang diagnostic ignored "-Wunguarded-availability" + res = getentropy(buffer, (size_t)len); +#pragma clang diagnostic pop + if (res < 0) { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED, + __FILE__, __LINE__ + ); + return 0; + } + buffer += len; + size -= len; + } + return 1; + } + __builtin_unreachable(); +} + +static int osrandom_finish(ENGINE *e) { + return 1; +} + +static int osrandom_rand_status(void) { + return 1; +} + +static const char *osurandom_get_implementation(void) { + switch(getentropy_works) { + case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_FALLBACK: + return "/dev/urandom"; + case CRYPTOGRAPHY_OSRANDOM_GETENTROPY_WORKS: + return "getentropy"; + } + __builtin_unreachable(); +} +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_GETENTROPY */ + +/**************************************************************************** + * Linux getrandom engine with fallback to dev_urandom + */ + +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM +static const char *Cryptography_osrandom_engine_name = "osrandom_engine getrandom()"; + +static int getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT; + +static int osrandom_init(ENGINE *e) { + /* We try to detect working getrandom until we succeed. */ + if (getrandom_works != CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS) { + long n; + char dest[1]; + /* if the kernel CSPRNG is not initialized this will block */ + n = syscall(SYS_getrandom, dest, sizeof(dest), 0); + if (n == sizeof(dest)) { + getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS; + } else { + int e = errno; + switch(e) { + case ENOSYS: + /* Fallback: Kernel does not support the syscall. */ + getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK; + break; + case EPERM: + /* Fallback: seccomp prevents syscall */ + getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK; + break; + default: + /* EINTR cannot occur for buflen < 256. */ + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_INIT, + CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED, + "errno", e + ); + getrandom_works = CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED; + break; + } + } + } + + /* fallback to dev urandom */ + if (getrandom_works == CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK) { + int fd = dev_urandom_fd(); + if (fd < 0) { + return 0; + } + } + return 1; +} + +static int osrandom_rand_bytes(unsigned char *buffer, int size) { + long n; + + switch(getrandom_works) { + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED, + __FILE__, __LINE__ + ); + return 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT, + __FILE__, __LINE__ + ); + return 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: + return dev_urandom_read(buffer, size); + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: + while (size > 0) { + do { + n = syscall(SYS_getrandom, buffer, size, 0); + } while (n < 0 && errno == EINTR); + + if (n <= 0) { + ERR_Cryptography_OSRandom_error( + CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES, + CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED, + __FILE__, __LINE__ + ); + return 0; + } + buffer += n; + size -= (int)n; + } + return 1; + } + __builtin_unreachable(); +} + +static int osrandom_finish(ENGINE *e) { + dev_urandom_close(); + return 1; +} + +static int osrandom_rand_status(void) { + switch(getrandom_works) { + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: + return 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: + return 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: + return urandom_cache.fd >= 0; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: + return 1; + } + __builtin_unreachable(); +} + +static const char *osurandom_get_implementation(void) { + switch(getrandom_works) { + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_INIT_FAILED: + return "<failed>"; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_NOT_INIT: + return "<not initialized>"; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_FALLBACK: + return "/dev/urandom"; + case CRYPTOGRAPHY_OSRANDOM_GETRANDOM_WORKS: + return "getrandom"; + } + __builtin_unreachable(); +} +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_GETRANDOM */ + +/**************************************************************************** + * dev_urandom engine for all remaining platforms + */ + +#if CRYPTOGRAPHY_OSRANDOM_ENGINE == CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM +static const char *Cryptography_osrandom_engine_name = "osrandom_engine /dev/urandom"; + +static int osrandom_init(ENGINE *e) { + int fd = dev_urandom_fd(); + if (fd < 0) { + return 0; + } + return 1; +} + +static int osrandom_rand_bytes(unsigned char *buffer, int size) { + return dev_urandom_read(buffer, size); +} + +static int osrandom_finish(ENGINE *e) { + dev_urandom_close(); + return 1; +} + +static int osrandom_rand_status(void) { + return urandom_cache.fd >= 0; +} + +static const char *osurandom_get_implementation(void) { + return "/dev/urandom"; +} +#endif /* CRYPTOGRAPHY_OSRANDOM_ENGINE_DEV_URANDOM */ + +/**************************************************************************** + * ENGINE boiler plate + */ + +/* This replicates the behavior of the OpenSSL FIPS RNG, which returns a + -1 in the event that there is an error when calling RAND_pseudo_bytes. */ +static int osrandom_pseudo_rand_bytes(unsigned char *buffer, int size) { + int res = osrandom_rand_bytes(buffer, size); + if (res == 0) { + return -1; + } else { + return res; + } +} + +static RAND_METHOD osrandom_rand = { + NULL, + osrandom_rand_bytes, + NULL, + NULL, + osrandom_pseudo_rand_bytes, + osrandom_rand_status, +}; + +static const ENGINE_CMD_DEFN osrandom_cmd_defns[] = { + {CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION, + "get_implementation", + "Get CPRNG implementation.", + ENGINE_CMD_FLAG_NO_INPUT}, + {0, NULL, NULL, 0} +}; + +static int osrandom_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f) (void)) { + const char *name; + size_t len; + + switch (cmd) { + case CRYPTOGRAPHY_OSRANDOM_GET_IMPLEMENTATION: + /* i: buffer size, p: char* buffer */ + name = osurandom_get_implementation(); + len = strlen(name); + if ((p == NULL) && (i == 0)) { + /* return required buffer len */ + return (int)len; + } + if ((p == NULL) || i < 0 || ((size_t)i <= len)) { + /* no buffer or buffer too small */ + ENGINEerr(ENGINE_F_ENGINE_CTRL, ENGINE_R_INVALID_ARGUMENT); + return 0; + } + strcpy((char *)p, name); + return (int)len; + default: + ENGINEerr(ENGINE_F_ENGINE_CTRL, ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED); + return 0; + } +} + +/* error reporting */ +#define ERR_FUNC(func) ERR_PACK(0, func, 0) +#define ERR_REASON(reason) ERR_PACK(0, 0, reason) + +static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_lib_name[] = { + {0, "osrandom_engine"}, + {0, NULL} +}; + +static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_str_funcs[] = { + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_INIT), + "osrandom_init"}, + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_RAND_BYTES), + "osrandom_rand_bytes"}, + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_FINISH), + "osrandom_finish"}, + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_FD), + "dev_urandom_fd"}, + {ERR_FUNC(CRYPTOGRAPHY_OSRANDOM_F_DEV_URANDOM_READ), + "dev_urandom_read"}, + {0, NULL} +}; + +static ERR_STRING_DATA CRYPTOGRAPHY_OSRANDOM_str_reasons[] = { + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTACQUIRECONTEXT), + "CryptAcquireContext() failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTGENRANDOM), + "CryptGenRandom() failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_CRYPTRELEASECONTEXT), + "CryptReleaseContext() failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETENTROPY_FAILED), + "getentropy() failed"}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_OPEN_FAILED), + "open('/dev/urandom') failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_DEV_URANDOM_READ_FAILED), + "Reading from /dev/urandom fd failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED), + "getrandom() initialization failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_INIT_FAILED_UNEXPECTED), + "getrandom() initialization failed with unexpected errno."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_FAILED), + "getrandom() syscall failed."}, + {ERR_REASON(CRYPTOGRAPHY_OSRANDOM_R_GETRANDOM_NOT_INIT), + "getrandom() engine was not properly initialized."}, + {0, NULL} +}; + +static int Cryptography_OSRandom_lib_error_code = 0; + +static void ERR_load_Cryptography_OSRandom_strings(void) +{ + if (Cryptography_OSRandom_lib_error_code == 0) { + Cryptography_OSRandom_lib_error_code = ERR_get_next_error_library(); + ERR_load_strings(Cryptography_OSRandom_lib_error_code, + CRYPTOGRAPHY_OSRANDOM_lib_name); + ERR_load_strings(Cryptography_OSRandom_lib_error_code, + CRYPTOGRAPHY_OSRANDOM_str_funcs); + ERR_load_strings(Cryptography_OSRandom_lib_error_code, + CRYPTOGRAPHY_OSRANDOM_str_reasons); + } +} + +static void ERR_Cryptography_OSRandom_error(int function, int reason, + char *file, int line) +{ + ERR_PUT_error(Cryptography_OSRandom_lib_error_code, function, reason, + file, line); +} + +/* Returns 1 if successfully added, 2 if engine has previously been added, + and 0 for error. */ +int Cryptography_add_osrandom_engine(void) { + ENGINE *e; + + ERR_load_Cryptography_OSRandom_strings(); + + e = ENGINE_by_id(Cryptography_osrandom_engine_id); + if (e != NULL) { + ENGINE_free(e); + return 2; + } else { + ERR_clear_error(); + } + + e = ENGINE_new(); + if (e == NULL) { + return 0; + } + if (!ENGINE_set_id(e, Cryptography_osrandom_engine_id) || + !ENGINE_set_name(e, Cryptography_osrandom_engine_name) || + !ENGINE_set_RAND(e, &osrandom_rand) || + !ENGINE_set_init_function(e, osrandom_init) || + !ENGINE_set_finish_function(e, osrandom_finish) || + !ENGINE_set_cmd_defns(e, osrandom_cmd_defns) || + !ENGINE_set_ctrl_function(e, osrandom_ctrl)) { + ENGINE_free(e); + return 0; + } + if (!ENGINE_add(e)) { + ENGINE_free(e); + return 0; + } + if (!ENGINE_free(e)) { + return 0; + } + + return 1; +} + +#else +/* If OpenSSL has no ENGINE support then we don't want + * to compile the osrandom engine, but we do need some + * placeholders */ +static const char *Cryptography_osrandom_engine_id = "no-engine-support"; +static const char *Cryptography_osrandom_engine_name = "osrandom_engine disabled"; + +int Cryptography_add_osrandom_engine(void) { + return 0; +} + +#endif + + +#if !defined(EVP_PKEY_DHX) || EVP_PKEY_DHX == -1 +int (*PEM_write_bio_DHxparams)(BIO *, DH *) = NULL; +#endif + + + + + + +#if !CRYPTOGRAPHY_IS_LIBRESSL static const long Cryptography_HAS_RSA_OAEP_MD = 1; -static const long Cryptography_HAS_RSA_OAEP_LABEL = 1; +static const long Cryptography_HAS_RSA_OAEP_LABEL = 1; #else static const long Cryptography_HAS_RSA_OAEP_MD = 0; -static const long Cryptography_HAS_RSA_OAEP_LABEL = 0; +static const long Cryptography_HAS_RSA_OAEP_LABEL = 0; int (*EVP_PKEY_CTX_set_rsa_oaep_md)(EVP_PKEY_CTX *, EVP_MD *) = NULL; -int (*EVP_PKEY_CTX_set0_rsa_oaep_label)(EVP_PKEY_CTX *, unsigned char *, - int) = NULL; -#endif - - -// This symbol is being preserved because removing it will break users with -// pyOpenSSL < 19.1 and pip < 20.x. We need to leave this in place until those -// users have upgraded. PersistentlyDeprecated2020 -static const long Cryptography_HAS_TLSEXT_HOSTNAME = 1; - -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_VERIFIED_CHAIN = 0; -Cryptography_STACK_OF_X509 *(*SSL_get0_verified_chain)(const SSL *) = NULL; -#else -static const long Cryptography_HAS_VERIFIED_CHAIN = 1; -#endif - -#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 -static const long Cryptography_HAS_KEYLOG = 0; -void (*SSL_CTX_set_keylog_callback)(SSL_CTX *, - void (*) (const SSL *, const char *) - ) = NULL; -void (*(*SSL_CTX_get_keylog_callback)(SSL_CTX *))( - const SSL *, - const char * - ) = NULL; -#else -static const long Cryptography_HAS_KEYLOG = 1; +int (*EVP_PKEY_CTX_set0_rsa_oaep_label)(EVP_PKEY_CTX *, unsigned char *, + int) = NULL; +#endif + + +// This symbol is being preserved because removing it will break users with +// pyOpenSSL < 19.1 and pip < 20.x. We need to leave this in place until those +// users have upgraded. PersistentlyDeprecated2020 +static const long Cryptography_HAS_TLSEXT_HOSTNAME = 1; + +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_VERIFIED_CHAIN = 0; +Cryptography_STACK_OF_X509 *(*SSL_get0_verified_chain)(const SSL *) = NULL; +#else +static const long Cryptography_HAS_VERIFIED_CHAIN = 1; +#endif + +#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 +static const long Cryptography_HAS_KEYLOG = 0; +void (*SSL_CTX_set_keylog_callback)(SSL_CTX *, + void (*) (const SSL *, const char *) + ) = NULL; +void (*(*SSL_CTX_get_keylog_callback)(SSL_CTX *))( + const SSL *, + const char * + ) = NULL; +#else +static const long Cryptography_HAS_KEYLOG = 1; #endif static const long Cryptography_HAS_SECURE_RENEGOTIATION = 1; @@ -2000,10 +2000,10 @@ static const long Cryptography_HAS_TLSv1_2 = 1; static const long Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING = 1; static const long Cryptography_HAS_SSL_OP_NO_TICKET = 1; static const long Cryptography_HAS_SSL_SET_SSL_CTX = 1; -static const long Cryptography_HAS_NEXTPROTONEG = 0; +static const long Cryptography_HAS_NEXTPROTONEG = 0; static const long Cryptography_HAS_ALPN = 1; -#if CRYPTOGRAPHY_IS_LIBRESSL +#if CRYPTOGRAPHY_IS_LIBRESSL void (*SSL_CTX_set_cert_cb)(SSL_CTX *, int (*)(SSL *, void *), void *) = NULL; void (*SSL_set_cert_cb)(SSL *, int (*)(SSL *, void *), void *) = NULL; static const long Cryptography_HAS_SET_CERT_CB = 0; @@ -2015,7 +2015,7 @@ static const long Cryptography_HAS_SSL_CTX_CLEAR_OPTIONS = 1; /* in OpenSSL 1.1.0 the SSL_ST values were renamed to TLS_ST and several were removed */ -#if CRYPTOGRAPHY_IS_LIBRESSL +#if CRYPTOGRAPHY_IS_LIBRESSL static const long Cryptography_HAS_SSL_ST = 1; #else static const long Cryptography_HAS_SSL_ST = 0; @@ -2024,7 +2024,7 @@ static const long SSL_ST_OK = 0; static const long SSL_ST_INIT = 0; static const long SSL_ST_RENEGOTIATE = 0; #endif -#if !CRYPTOGRAPHY_IS_LIBRESSL +#if !CRYPTOGRAPHY_IS_LIBRESSL static const long Cryptography_HAS_TLS_ST = 1; #else static const long Cryptography_HAS_TLS_ST = 0; @@ -2032,131 +2032,131 @@ static const long TLS_ST_BEFORE = 0; 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 - -static const long Cryptography_HAS_DTLS = 1; -/* Wrap DTLSv1_get_timeout to avoid cffi to handle a 'struct timeval'. */ -long Cryptography_DTLSv1_get_timeout(SSL *ssl, time_t *ptv_sec, - long *ptv_usec) { - struct timeval tv = { 0 }; - long r = DTLSv1_get_timeout(ssl, &tv); - - if (r == 1) { - if (ptv_sec) { - *ptv_sec = tv.tv_sec; - } - - if (ptv_usec) { - *ptv_usec = tv.tv_usec; - } - } - - return r; -} - -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_SIGALGS = 0; -const int (*SSL_get_sigalgs)(SSL *, int, int *, int *, int *, unsigned char *, - unsigned char *) = NULL; -const long (*SSL_CTX_set1_sigalgs_list)(SSL_CTX *, const char *) = NULL; -#else -static const long Cryptography_HAS_SIGALGS = 1; -#endif - -#if CRYPTOGRAPHY_IS_LIBRESSL || defined(OPENSSL_NO_PSK) -static const long Cryptography_HAS_PSK = 0; -int (*SSL_CTX_use_psk_identity_hint)(SSL_CTX *, const char *) = NULL; -void (*SSL_CTX_set_psk_server_callback)(SSL_CTX *, - unsigned int (*)( - SSL *, - const char *, - unsigned char *, - unsigned int - )) = NULL; -void (*SSL_CTX_set_psk_client_callback)(SSL_CTX *, - unsigned int (*)( - SSL *, - const char *, - char *, - unsigned int, - unsigned char *, - unsigned int - )) = NULL; -#else -static const long Cryptography_HAS_PSK = 1; -#endif - -#if !CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_CUSTOM_EXT = 1; -#else -static const long Cryptography_HAS_CUSTOM_EXT = 0; -typedef int (*custom_ext_add_cb)(SSL *, unsigned int, - const unsigned char **, - size_t *, int *, - void *); -typedef void (*custom_ext_free_cb)(SSL *, unsigned int, - const unsigned char *, - void *); -typedef int (*custom_ext_parse_cb)(SSL *, unsigned int, - const unsigned char *, - size_t, int *, - void *); -int (*SSL_CTX_add_client_custom_ext)(SSL_CTX *, unsigned int, - custom_ext_add_cb, - custom_ext_free_cb, void *, - custom_ext_parse_cb, - void *) = NULL; -int (*SSL_CTX_add_server_custom_ext)(SSL_CTX *, unsigned int, - custom_ext_add_cb, - custom_ext_free_cb, void *, - custom_ext_parse_cb, - void *) = NULL; -int (*SSL_extension_supported)(unsigned int) = NULL; -#endif - -#ifndef OPENSSL_NO_SRTP -static const long Cryptography_HAS_SRTP = 1; -#else -static const long Cryptography_HAS_SRTP = 0; -int (*SSL_CTX_set_tlsext_use_srtp)(SSL_CTX *, const char *) = NULL; -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 -static const long Cryptography_HAS_TLSv1_3 = 0; -static const long SSL_OP_NO_TLSv1_3 = 0; -static const long SSL_VERIFY_POST_HANDSHAKE = 0; -int (*SSL_CTX_set_ciphersuites)(SSL_CTX *, const char *) = NULL; -int (*SSL_verify_client_post_handshake)(SSL *) = NULL; -void (*SSL_CTX_set_post_handshake_auth)(SSL_CTX *, int) = NULL; -void (*SSL_set_post_handshake_auth)(SSL *, int) = NULL; -uint32_t (*SSL_SESSION_get_max_early_data)(const SSL_SESSION *) = NULL; -int (*SSL_write_early_data)(SSL *, const void *, size_t, size_t *) = NULL; -int (*SSL_read_early_data)(SSL *, void *, size_t, size_t *) = NULL; -int (*SSL_CTX_set_max_early_data)(SSL_CTX *, uint32_t) = NULL; -#else -static const long Cryptography_HAS_TLSv1_3 = 1; -#endif - -#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 && !CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_GET_PROTO_VERSION = 0; - -long (*SSL_CTX_get_min_proto_version)(SSL_CTX *) = NULL; -long (*SSL_CTX_get_max_proto_version)(SSL_CTX *) = NULL; -long (*SSL_get_min_proto_version)(SSL *) = NULL; -long (*SSL_get_max_proto_version)(SSL *) = NULL; -#else -static const long Cryptography_HAS_GET_PROTO_VERSION = 1; -#endif - - -#if CRYPTOGRAPHY_IS_LIBRESSL +#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 + +static const long Cryptography_HAS_DTLS = 1; +/* Wrap DTLSv1_get_timeout to avoid cffi to handle a 'struct timeval'. */ +long Cryptography_DTLSv1_get_timeout(SSL *ssl, time_t *ptv_sec, + long *ptv_usec) { + struct timeval tv = { 0 }; + long r = DTLSv1_get_timeout(ssl, &tv); + + if (r == 1) { + if (ptv_sec) { + *ptv_sec = tv.tv_sec; + } + + if (ptv_usec) { + *ptv_usec = tv.tv_usec; + } + } + + return r; +} + +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_SIGALGS = 0; +const int (*SSL_get_sigalgs)(SSL *, int, int *, int *, int *, unsigned char *, + unsigned char *) = NULL; +const long (*SSL_CTX_set1_sigalgs_list)(SSL_CTX *, const char *) = NULL; +#else +static const long Cryptography_HAS_SIGALGS = 1; +#endif + +#if CRYPTOGRAPHY_IS_LIBRESSL || defined(OPENSSL_NO_PSK) +static const long Cryptography_HAS_PSK = 0; +int (*SSL_CTX_use_psk_identity_hint)(SSL_CTX *, const char *) = NULL; +void (*SSL_CTX_set_psk_server_callback)(SSL_CTX *, + unsigned int (*)( + SSL *, + const char *, + unsigned char *, + unsigned int + )) = NULL; +void (*SSL_CTX_set_psk_client_callback)(SSL_CTX *, + unsigned int (*)( + SSL *, + const char *, + char *, + unsigned int, + unsigned char *, + unsigned int + )) = NULL; +#else +static const long Cryptography_HAS_PSK = 1; +#endif + +#if !CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_CUSTOM_EXT = 1; +#else +static const long Cryptography_HAS_CUSTOM_EXT = 0; +typedef int (*custom_ext_add_cb)(SSL *, unsigned int, + const unsigned char **, + size_t *, int *, + void *); +typedef void (*custom_ext_free_cb)(SSL *, unsigned int, + const unsigned char *, + void *); +typedef int (*custom_ext_parse_cb)(SSL *, unsigned int, + const unsigned char *, + size_t, int *, + void *); +int (*SSL_CTX_add_client_custom_ext)(SSL_CTX *, unsigned int, + custom_ext_add_cb, + custom_ext_free_cb, void *, + custom_ext_parse_cb, + void *) = NULL; +int (*SSL_CTX_add_server_custom_ext)(SSL_CTX *, unsigned int, + custom_ext_add_cb, + custom_ext_free_cb, void *, + custom_ext_parse_cb, + void *) = NULL; +int (*SSL_extension_supported)(unsigned int) = NULL; +#endif + +#ifndef OPENSSL_NO_SRTP +static const long Cryptography_HAS_SRTP = 1; +#else +static const long Cryptography_HAS_SRTP = 0; +int (*SSL_CTX_set_tlsext_use_srtp)(SSL_CTX *, const char *) = NULL; +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 +static const long Cryptography_HAS_TLSv1_3 = 0; +static const long SSL_OP_NO_TLSv1_3 = 0; +static const long SSL_VERIFY_POST_HANDSHAKE = 0; +int (*SSL_CTX_set_ciphersuites)(SSL_CTX *, const char *) = NULL; +int (*SSL_verify_client_post_handshake)(SSL *) = NULL; +void (*SSL_CTX_set_post_handshake_auth)(SSL_CTX *, int) = NULL; +void (*SSL_set_post_handshake_auth)(SSL *, int) = NULL; +uint32_t (*SSL_SESSION_get_max_early_data)(const SSL_SESSION *) = NULL; +int (*SSL_write_early_data)(SSL *, const void *, size_t, size_t *) = NULL; +int (*SSL_read_early_data)(SSL *, void *, size_t, size_t *) = NULL; +int (*SSL_CTX_set_max_early_data)(SSL_CTX *, uint32_t) = NULL; +#else +static const long Cryptography_HAS_TLSv1_3 = 1; +#endif + +#if CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 && !CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_GET_PROTO_VERSION = 0; + +long (*SSL_CTX_get_min_proto_version)(SSL_CTX *) = NULL; +long (*SSL_CTX_get_max_proto_version)(SSL_CTX *) = NULL; +long (*SSL_get_min_proto_version)(SSL *) = NULL; +long (*SSL_get_max_proto_version)(SSL *) = NULL; +#else +static const long Cryptography_HAS_GET_PROTO_VERSION = 1; +#endif + + +#if CRYPTOGRAPHY_IS_LIBRESSL int i2d_re_X509_tbs(X509 *x, unsigned char **pp) { /* in 1.0.2+ this function also sets x->cert_info->enc.modified = 1 @@ -2168,22 +2168,22 @@ int i2d_re_X509_tbs(X509 *x, unsigned char **pp) } #endif -/* Being kept around for pyOpenSSL */ +/* Being kept around for pyOpenSSL */ X509_REVOKED *Cryptography_X509_REVOKED_dup(X509_REVOKED *rev) { - return X509_REVOKED_dup(rev); + return X509_REVOKED_dup(rev); } /* Added in 1.1.0 but we need it in all versions now due to the great opaquing. */ -#if CRYPTOGRAPHY_IS_LIBRESSL -int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp) -{ - req->req_info->enc.modified = 1; - return i2d_X509_REQ_INFO(req->req_info, pp); -} -int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp) { - crl->crl->enc.modified = 1; - return i2d_X509_CRL_INFO(crl->crl, pp); -} +#if CRYPTOGRAPHY_IS_LIBRESSL +int i2d_re_X509_REQ_tbs(X509_REQ *req, unsigned char **pp) +{ + req->req_info->enc.modified = 1; + return i2d_X509_REQ_INFO(req->req_info, pp); +} +int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp) { + crl->crl->enc.modified = 1; + return i2d_X509_CRL_INFO(crl->crl, pp); +} #endif @@ -2191,10 +2191,10 @@ int i2d_re_X509_CRL_tbs(X509_CRL *crl, unsigned char **pp) { -#if !CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_102_VERIFICATION = 1; +#if !CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_102_VERIFICATION = 1; #else -static const long Cryptography_HAS_102_VERIFICATION = 0; +static const long Cryptography_HAS_102_VERIFICATION = 0; static const long X509_V_ERR_SUITE_B_INVALID_VERSION = 0; static const long X509_V_ERR_SUITE_B_INVALID_ALGORITHM = 0; static const long X509_V_ERR_SUITE_B_INVALID_CURVE = 0; @@ -2206,3206 +2206,3206 @@ static const long X509_V_FLAG_SUITEB_192_LOS = 0; static const long X509_V_FLAG_SUITEB_128_LOS = 0; #endif -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_110_VERIFICATION_PARAMS = 0; -#ifndef X509_CHECK_FLAG_NEVER_CHECK_SUBJECT -static const long X509_CHECK_FLAG_NEVER_CHECK_SUBJECT = 0; -#endif -#else -static const long Cryptography_HAS_110_VERIFICATION_PARAMS = 1; -#endif - -#if CRYPTOGRAPHY_IS_LIBRESSL -static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 0; -typedef void *X509_STORE_CTX_get_issuer_fn; -X509_STORE_CTX_get_issuer_fn (*X509_STORE_get_get_issuer)(X509_STORE *) = NULL; -void (*X509_STORE_set_get_issuer)(X509_STORE *, - X509_STORE_CTX_get_issuer_fn) = NULL; -#else -static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 1; -#endif - - - -typedef struct { - char *password; - int length; - int called; - int error; - int maxsize; -} CRYPTOGRAPHY_PASSWORD_DATA; - -int Cryptography_pem_password_cb(char *buf, int size, - int rwflag, void *userdata) { - /* The password cb is only invoked if OpenSSL decides the private - key is encrypted. So this path only occurs if it needs a password */ - CRYPTOGRAPHY_PASSWORD_DATA *st = (CRYPTOGRAPHY_PASSWORD_DATA *)userdata; - st->called += 1; - st->maxsize = size; - if (st->length == 0) { - st->error = -1; - return 0; - } else if (st->length < size) { - memcpy(buf, st->password, st->length); - return st->length; - } else { - st->error = -2; - return 0; - } -} - -#define CRYPTOGRAPHY_PACKAGE_VERSION "3.3.2" - +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_110_VERIFICATION_PARAMS = 0; +#ifndef X509_CHECK_FLAG_NEVER_CHECK_SUBJECT +static const long X509_CHECK_FLAG_NEVER_CHECK_SUBJECT = 0; +#endif +#else +static const long Cryptography_HAS_110_VERIFICATION_PARAMS = 1; +#endif + +#if CRYPTOGRAPHY_IS_LIBRESSL +static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 0; +typedef void *X509_STORE_CTX_get_issuer_fn; +X509_STORE_CTX_get_issuer_fn (*X509_STORE_get_get_issuer)(X509_STORE *) = NULL; +void (*X509_STORE_set_get_issuer)(X509_STORE *, + X509_STORE_CTX_get_issuer_fn) = NULL; +#else +static const long Cryptography_HAS_X509_STORE_CTX_GET_ISSUER = 1; +#endif + + + +typedef struct { + char *password; + int length; + int called; + int error; + int maxsize; +} CRYPTOGRAPHY_PASSWORD_DATA; + +int Cryptography_pem_password_cb(char *buf, int size, + int rwflag, void *userdata) { + /* The password cb is only invoked if OpenSSL decides the private + key is encrypted. So this path only occurs if it needs a password */ + CRYPTOGRAPHY_PASSWORD_DATA *st = (CRYPTOGRAPHY_PASSWORD_DATA *)userdata; + st->called += 1; + st->maxsize = size; + if (st->length == 0) { + st->error = -1; + return 0; + } else if (st->length < size) { + memcpy(buf, st->password, st->length); + return st->length; + } else { + st->error = -2; + return 0; + } +} + +#define CRYPTOGRAPHY_PACKAGE_VERSION "3.3.2" + /************************************************************/ static void *_cffi_types[] = { -/* 0 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1056), // ACCESS_DESCRIPTION *()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *, int) -/* 1 */ _CFFI_OP(_CFFI_OP_POINTER, 3034), // Cryptography_STACK_OF_ACCESS_DESCRIPTION * +/* 0 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1056), // ACCESS_DESCRIPTION *()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *, int) +/* 1 */ _CFFI_OP(_CFFI_OP_POINTER, 3034), // Cryptography_STACK_OF_ACCESS_DESCRIPTION * /* 2 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), // int /* 3 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 4 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1056), // ACCESS_DESCRIPTION *()(void) +/* 4 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1056), // ACCESS_DESCRIPTION *()(void) /* 5 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 6 */ _CFFI_OP(_CFFI_OP_FUNCTION, 757), // ASN1_ENUMERATED *()(void) +/* 6 */ _CFFI_OP(_CFFI_OP_FUNCTION, 757), // ASN1_ENUMERATED *()(void) /* 7 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), /* 8 */ _CFFI_OP(_CFFI_OP_FUNCTION, 9), // ASN1_GENERALIZEDTIME *()(ASN1_GENERALIZEDTIME *, time_t) -/* 9 */ _CFFI_OP(_CFFI_OP_POINTER, 3010), // ASN1_GENERALIZEDTIME * +/* 9 */ _CFFI_OP(_CFFI_OP_POINTER, 3010), // ASN1_GENERALIZEDTIME * /* 10 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, _cffi_prim_int(sizeof(time_t), ( ((time_t)-1) | 0 /* check that time_t is an integer type */ ) <= 0)), // time_t /* 11 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), /* 12 */ _CFFI_OP(_CFFI_OP_FUNCTION, 9), // ASN1_GENERALIZEDTIME *()(ASN1_OCTET_STRING *, ASN1_GENERALIZEDTIME * *) -/* 13 */ _CFFI_OP(_CFFI_OP_POINTER, 3017), // ASN1_OCTET_STRING * +/* 13 */ _CFFI_OP(_CFFI_OP_POINTER, 3017), // ASN1_OCTET_STRING * /* 14 */ _CFFI_OP(_CFFI_OP_POINTER, 9), // ASN1_GENERALIZEDTIME * * /* 15 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 16 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3009), // ASN1_GENERALIZEDTIME const *()(OCSP_BASICRESP const *) -/* 17 */ _CFFI_OP(_CFFI_OP_POINTER, 3078), // OCSP_BASICRESP const * +/* 16 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3009), // ASN1_GENERALIZEDTIME const *()(OCSP_BASICRESP const *) +/* 17 */ _CFFI_OP(_CFFI_OP_POINTER, 3078), // OCSP_BASICRESP const * /* 18 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 19 */ _CFFI_OP(_CFFI_OP_FUNCTION, 21), // ASN1_INTEGER *()(BIGNUM *, ASN1_INTEGER *) -/* 20 */ _CFFI_OP(_CFFI_OP_POINTER, 3021), // BIGNUM * -/* 21 */ _CFFI_OP(_CFFI_OP_POINTER, 3012), // ASN1_INTEGER * +/* 19 */ _CFFI_OP(_CFFI_OP_FUNCTION, 21), // ASN1_INTEGER *()(BIGNUM *, ASN1_INTEGER *) +/* 20 */ _CFFI_OP(_CFFI_OP_POINTER, 3021), // BIGNUM * +/* 21 */ _CFFI_OP(_CFFI_OP_POINTER, 3012), // ASN1_INTEGER * /* 22 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 23 */ _CFFI_OP(_CFFI_OP_FUNCTION, 21), // ASN1_INTEGER *()(Cryptography_STACK_OF_ASN1_INTEGER *, int) -/* 24 */ _CFFI_OP(_CFFI_OP_POINTER, 3035), // Cryptography_STACK_OF_ASN1_INTEGER * +/* 23 */ _CFFI_OP(_CFFI_OP_FUNCTION, 21), // ASN1_INTEGER *()(Cryptography_STACK_OF_ASN1_INTEGER *, int) +/* 24 */ _CFFI_OP(_CFFI_OP_POINTER, 3035), // Cryptography_STACK_OF_ASN1_INTEGER * /* 25 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), /* 26 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 27 */ _CFFI_OP(_CFFI_OP_FUNCTION, 21), // ASN1_INTEGER *()(X509 *) -/* 28 */ _CFFI_OP(_CFFI_OP_POINTER, 3119), // X509 * +/* 27 */ _CFFI_OP(_CFFI_OP_FUNCTION, 21), // ASN1_INTEGER *()(X509 *) +/* 28 */ _CFFI_OP(_CFFI_OP_POINTER, 3119), // X509 * /* 29 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 30 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3011), // ASN1_INTEGER const *()(X509_REVOKED const *) -/* 31 */ _CFFI_OP(_CFFI_OP_POINTER, 3131), // X509_REVOKED const * -/* 32 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 33 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3013), // ASN1_NULL *()(void) +/* 30 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3011), // ASN1_INTEGER const *()(X509_REVOKED const *) +/* 31 */ _CFFI_OP(_CFFI_OP_POINTER, 3131), // X509_REVOKED const * +/* 32 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 33 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3013), // ASN1_NULL *()(void) /* 34 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 35 */ _CFFI_OP(_CFFI_OP_FUNCTION, 607), // ASN1_OBJECT *()(Cryptography_STACK_OF_ASN1_OBJECT *, int) -/* 36 */ _CFFI_OP(_CFFI_OP_POINTER, 3036), // Cryptography_STACK_OF_ASN1_OBJECT * -/* 37 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 38 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 39 */ _CFFI_OP(_CFFI_OP_FUNCTION, 607), // ASN1_OBJECT *()(X509_EXTENSION *) -/* 40 */ _CFFI_OP(_CFFI_OP_POINTER, 3125), // X509_EXTENSION * -/* 41 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 42 */ _CFFI_OP(_CFFI_OP_FUNCTION, 607), // ASN1_OBJECT *()(X509_NAME_ENTRY *) -/* 43 */ _CFFI_OP(_CFFI_OP_POINTER, 3128), // X509_NAME_ENTRY * -/* 44 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 45 */ _CFFI_OP(_CFFI_OP_FUNCTION, 607), // ASN1_OBJECT *()(char const *, int) -/* 46 */ _CFFI_OP(_CFFI_OP_POINTER, 3135), // char const * -/* 47 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 48 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 49 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(ASN1_OCTET_STRING *, long) -/* 50 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 51 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), // long -/* 52 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 53 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(X509 *) -/* 54 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 55 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 56 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(X509_CRL *) -/* 57 */ _CFFI_OP(_CFFI_OP_POINTER, 3124), // X509_CRL * -/* 58 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 59 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(X509_EXTENSION *) -/* 60 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 61 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 62 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(X509_NAME_ENTRY *) -/* 63 */ _CFFI_OP(_CFFI_OP_NOOP, 43), -/* 64 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 65 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(void) -/* 66 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 67 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3016), // ASN1_OCTET_STRING const *()(OCSP_BASICRESP const *) -/* 68 */ _CFFI_OP(_CFFI_OP_NOOP, 17), -/* 69 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 70 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3016), // ASN1_OCTET_STRING const *()(X509_REVOKED const *) -/* 71 */ _CFFI_OP(_CFFI_OP_NOOP, 31), -/* 72 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 73 */ _CFFI_OP(_CFFI_OP_FUNCTION, 801), // ASN1_TYPE *()(ASN1_TYPE * *, unsigned char const * *, long) -/* 74 */ _CFFI_OP(_CFFI_OP_POINTER, 801), // ASN1_TYPE * * -/* 75 */ _CFFI_OP(_CFFI_OP_POINTER, 103), // unsigned char const * * -/* 76 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 77 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 78 */ _CFFI_OP(_CFFI_OP_FUNCTION, 801), // ASN1_TYPE *()(X509_ATTRIBUTE *, int) -/* 79 */ _CFFI_OP(_CFFI_OP_POINTER, 3123), // X509_ATTRIBUTE * -/* 80 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 81 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 82 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2557), // AUTHORITY_KEYID *()(void) -/* 83 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 84 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2560), // BASIC_CONSTRAINTS *()(void) -/* 85 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 86 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(ASN1_INTEGER *, BIGNUM *) -/* 87 */ _CFFI_OP(_CFFI_OP_NOOP, 21), -/* 88 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 89 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 90 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(BIGNUM *, BIGNUM const *, BIGNUM const *, BN_CTX *) -/* 91 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 92 */ _CFFI_OP(_CFFI_OP_POINTER, 3021), // BIGNUM const * -/* 93 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 94 */ _CFFI_OP(_CFFI_OP_POINTER, 3024), // BN_CTX * +/* 35 */ _CFFI_OP(_CFFI_OP_FUNCTION, 607), // ASN1_OBJECT *()(Cryptography_STACK_OF_ASN1_OBJECT *, int) +/* 36 */ _CFFI_OP(_CFFI_OP_POINTER, 3036), // Cryptography_STACK_OF_ASN1_OBJECT * +/* 37 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 38 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 39 */ _CFFI_OP(_CFFI_OP_FUNCTION, 607), // ASN1_OBJECT *()(X509_EXTENSION *) +/* 40 */ _CFFI_OP(_CFFI_OP_POINTER, 3125), // X509_EXTENSION * +/* 41 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 42 */ _CFFI_OP(_CFFI_OP_FUNCTION, 607), // ASN1_OBJECT *()(X509_NAME_ENTRY *) +/* 43 */ _CFFI_OP(_CFFI_OP_POINTER, 3128), // X509_NAME_ENTRY * +/* 44 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 45 */ _CFFI_OP(_CFFI_OP_FUNCTION, 607), // ASN1_OBJECT *()(char const *, int) +/* 46 */ _CFFI_OP(_CFFI_OP_POINTER, 3135), // char const * +/* 47 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 48 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 49 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(ASN1_OCTET_STRING *, long) +/* 50 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 51 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), // long +/* 52 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 53 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(X509 *) +/* 54 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 55 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 56 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(X509_CRL *) +/* 57 */ _CFFI_OP(_CFFI_OP_POINTER, 3124), // X509_CRL * +/* 58 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 59 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(X509_EXTENSION *) +/* 60 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 61 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 62 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(X509_NAME_ENTRY *) +/* 63 */ _CFFI_OP(_CFFI_OP_NOOP, 43), +/* 64 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 65 */ _CFFI_OP(_CFFI_OP_FUNCTION, 13), // ASN1_OCTET_STRING *()(void) +/* 66 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 67 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3016), // ASN1_OCTET_STRING const *()(OCSP_BASICRESP const *) +/* 68 */ _CFFI_OP(_CFFI_OP_NOOP, 17), +/* 69 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 70 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3016), // ASN1_OCTET_STRING const *()(X509_REVOKED const *) +/* 71 */ _CFFI_OP(_CFFI_OP_NOOP, 31), +/* 72 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 73 */ _CFFI_OP(_CFFI_OP_FUNCTION, 801), // ASN1_TYPE *()(ASN1_TYPE * *, unsigned char const * *, long) +/* 74 */ _CFFI_OP(_CFFI_OP_POINTER, 801), // ASN1_TYPE * * +/* 75 */ _CFFI_OP(_CFFI_OP_POINTER, 103), // unsigned char const * * +/* 76 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 77 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 78 */ _CFFI_OP(_CFFI_OP_FUNCTION, 801), // ASN1_TYPE *()(X509_ATTRIBUTE *, int) +/* 79 */ _CFFI_OP(_CFFI_OP_POINTER, 3123), // X509_ATTRIBUTE * +/* 80 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 81 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 82 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2557), // AUTHORITY_KEYID *()(void) +/* 83 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 84 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2560), // BASIC_CONSTRAINTS *()(void) +/* 85 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 86 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(ASN1_INTEGER *, BIGNUM *) +/* 87 */ _CFFI_OP(_CFFI_OP_NOOP, 21), +/* 88 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 89 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 90 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(BIGNUM *, BIGNUM const *, BIGNUM const *, BN_CTX *) +/* 91 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 92 */ _CFFI_OP(_CFFI_OP_POINTER, 3021), // BIGNUM const * +/* 93 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 94 */ _CFFI_OP(_CFFI_OP_POINTER, 3024), // BN_CTX * /* 95 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 96 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(BIGNUM const *) -/* 97 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 98 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 99 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(BN_CTX *) -/* 100 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 101 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 102 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(unsigned char const *, int, BIGNUM *) -/* 103 */ _CFFI_OP(_CFFI_OP_POINTER, 3140), // unsigned char const * -/* 104 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 105 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 106 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 107 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(void) -/* 108 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 109 */ _CFFI_OP(_CFFI_OP_FUNCTION, 92), // BIGNUM const *()(EC_KEY const *) -/* 110 */ _CFFI_OP(_CFFI_OP_POINTER, 3055), // EC_KEY const * -/* 111 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 112 */ _CFFI_OP(_CFFI_OP_FUNCTION, 92), // BIGNUM const *()(void) -/* 113 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 114 */ _CFFI_OP(_CFFI_OP_FUNCTION, 186), // BIO *()(BIO_METHOD *) -/* 115 */ _CFFI_OP(_CFFI_OP_POINTER, 3023), // BIO_METHOD * -/* 116 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 117 */ _CFFI_OP(_CFFI_OP_FUNCTION, 186), // BIO *()(char const *, char const *) -/* 118 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 119 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 120 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 121 */ _CFFI_OP(_CFFI_OP_FUNCTION, 186), // BIO *()(int, int) -/* 122 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 123 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 124 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 125 */ _CFFI_OP(_CFFI_OP_FUNCTION, 186), // BIO *()(void const *, int) -/* 126 */ _CFFI_OP(_CFFI_OP_POINTER, 3142), // void const * -/* 127 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 128 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 129 */ _CFFI_OP(_CFFI_OP_FUNCTION, 115), // BIO_METHOD *()(void) -/* 130 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 131 */ _CFFI_OP(_CFFI_OP_FUNCTION, 94), // BN_CTX *()(void) -/* 132 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 133 */ _CFFI_OP(_CFFI_OP_FUNCTION, 830), // BN_MONT_CTX *()(void) -/* 134 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 135 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1031), // CMAC_CTX *()(void) -/* 136 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 137 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1), // Cryptography_STACK_OF_ACCESS_DESCRIPTION *()(void) -/* 138 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 139 */ _CFFI_OP(_CFFI_OP_FUNCTION, 24), // Cryptography_STACK_OF_ASN1_INTEGER *()(void) -/* 140 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 141 */ _CFFI_OP(_CFFI_OP_FUNCTION, 36), // Cryptography_STACK_OF_ASN1_OBJECT *()(void) -/* 142 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 143 */ _CFFI_OP(_CFFI_OP_FUNCTION, 204), // Cryptography_STACK_OF_DIST_POINT *()(void) -/* 144 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 145 */ _CFFI_OP(_CFFI_OP_FUNCTION, 329), // Cryptography_STACK_OF_GENERAL_SUBTREE *()(void) -/* 146 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 147 */ _CFFI_OP(_CFFI_OP_FUNCTION, 449), // Cryptography_STACK_OF_POLICYINFO *()(void) -/* 148 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 149 */ _CFFI_OP(_CFFI_OP_FUNCTION, 455), // Cryptography_STACK_OF_POLICYQUALINFO *()(void) -/* 150 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 151 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1101), // Cryptography_STACK_OF_SCT *()(void) -/* 152 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 153 */ _CFFI_OP(_CFFI_OP_FUNCTION, 413), // Cryptography_STACK_OF_X509 *()(OCSP_BASICRESP const *) -/* 154 */ _CFFI_OP(_CFFI_OP_NOOP, 17), -/* 155 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 156 */ _CFFI_OP(_CFFI_OP_FUNCTION, 413), // Cryptography_STACK_OF_X509 *()(SSL const *) -/* 157 */ _CFFI_OP(_CFFI_OP_POINTER, 3111), // SSL const * +/* 96 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(BIGNUM const *) +/* 97 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 98 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 99 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(BN_CTX *) +/* 100 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 101 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 102 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(unsigned char const *, int, BIGNUM *) +/* 103 */ _CFFI_OP(_CFFI_OP_POINTER, 3140), // unsigned char const * +/* 104 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 105 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 106 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 107 */ _CFFI_OP(_CFFI_OP_FUNCTION, 20), // BIGNUM *()(void) +/* 108 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 109 */ _CFFI_OP(_CFFI_OP_FUNCTION, 92), // BIGNUM const *()(EC_KEY const *) +/* 110 */ _CFFI_OP(_CFFI_OP_POINTER, 3055), // EC_KEY const * +/* 111 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 112 */ _CFFI_OP(_CFFI_OP_FUNCTION, 92), // BIGNUM const *()(void) +/* 113 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 114 */ _CFFI_OP(_CFFI_OP_FUNCTION, 186), // BIO *()(BIO_METHOD *) +/* 115 */ _CFFI_OP(_CFFI_OP_POINTER, 3023), // BIO_METHOD * +/* 116 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 117 */ _CFFI_OP(_CFFI_OP_FUNCTION, 186), // BIO *()(char const *, char const *) +/* 118 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 119 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 120 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 121 */ _CFFI_OP(_CFFI_OP_FUNCTION, 186), // BIO *()(int, int) +/* 122 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 123 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 124 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 125 */ _CFFI_OP(_CFFI_OP_FUNCTION, 186), // BIO *()(void const *, int) +/* 126 */ _CFFI_OP(_CFFI_OP_POINTER, 3142), // void const * +/* 127 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 128 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 129 */ _CFFI_OP(_CFFI_OP_FUNCTION, 115), // BIO_METHOD *()(void) +/* 130 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 131 */ _CFFI_OP(_CFFI_OP_FUNCTION, 94), // BN_CTX *()(void) +/* 132 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 133 */ _CFFI_OP(_CFFI_OP_FUNCTION, 830), // BN_MONT_CTX *()(void) +/* 134 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 135 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1031), // CMAC_CTX *()(void) +/* 136 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 137 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1), // Cryptography_STACK_OF_ACCESS_DESCRIPTION *()(void) +/* 138 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 139 */ _CFFI_OP(_CFFI_OP_FUNCTION, 24), // Cryptography_STACK_OF_ASN1_INTEGER *()(void) +/* 140 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 141 */ _CFFI_OP(_CFFI_OP_FUNCTION, 36), // Cryptography_STACK_OF_ASN1_OBJECT *()(void) +/* 142 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 143 */ _CFFI_OP(_CFFI_OP_FUNCTION, 204), // Cryptography_STACK_OF_DIST_POINT *()(void) +/* 144 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 145 */ _CFFI_OP(_CFFI_OP_FUNCTION, 329), // Cryptography_STACK_OF_GENERAL_SUBTREE *()(void) +/* 146 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 147 */ _CFFI_OP(_CFFI_OP_FUNCTION, 449), // Cryptography_STACK_OF_POLICYINFO *()(void) +/* 148 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 149 */ _CFFI_OP(_CFFI_OP_FUNCTION, 455), // Cryptography_STACK_OF_POLICYQUALINFO *()(void) +/* 150 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 151 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1101), // Cryptography_STACK_OF_SCT *()(void) +/* 152 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 153 */ _CFFI_OP(_CFFI_OP_FUNCTION, 413), // Cryptography_STACK_OF_X509 *()(OCSP_BASICRESP const *) +/* 154 */ _CFFI_OP(_CFFI_OP_NOOP, 17), +/* 155 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 156 */ _CFFI_OP(_CFFI_OP_FUNCTION, 413), // Cryptography_STACK_OF_X509 *()(SSL const *) +/* 157 */ _CFFI_OP(_CFFI_OP_POINTER, 3111), // SSL const * /* 158 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 159 */ _CFFI_OP(_CFFI_OP_FUNCTION, 413), // Cryptography_STACK_OF_X509 *()(X509_STORE_CTX *) -/* 160 */ _CFFI_OP(_CFFI_OP_POINTER, 3133), // X509_STORE_CTX * -/* 161 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 162 */ _CFFI_OP(_CFFI_OP_FUNCTION, 413), // Cryptography_STACK_OF_X509 *()(void) -/* 163 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 164 */ _CFFI_OP(_CFFI_OP_FUNCTION, 565), // Cryptography_STACK_OF_X509_CRL *()(void) -/* 165 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 166 */ _CFFI_OP(_CFFI_OP_FUNCTION, 633), // Cryptography_STACK_OF_X509_NAME *()(SSL const *) -/* 167 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 168 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 169 */ _CFFI_OP(_CFFI_OP_FUNCTION, 633), // Cryptography_STACK_OF_X509_NAME *()(char const *) -/* 170 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 171 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 172 */ _CFFI_OP(_CFFI_OP_FUNCTION, 633), // Cryptography_STACK_OF_X509_NAME *()(void) -/* 173 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 174 */ _CFFI_OP(_CFFI_OP_FUNCTION, 175), // Cryptography_STACK_OF_X509_NAME_ENTRY *()(Cryptography_STACK_OF_X509_NAME_ENTRY *) -/* 175 */ _CFFI_OP(_CFFI_OP_POINTER, 3046), // Cryptography_STACK_OF_X509_NAME_ENTRY * -/* 176 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 177 */ _CFFI_OP(_CFFI_OP_FUNCTION, 175), // Cryptography_STACK_OF_X509_NAME_ENTRY *()(void) -/* 178 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 179 */ _CFFI_OP(_CFFI_OP_FUNCTION, 666), // Cryptography_STACK_OF_X509_OBJECT *()(X509_STORE *) -/* 180 */ _CFFI_OP(_CFFI_OP_POINTER, 3132), // X509_STORE * -/* 181 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 182 */ _CFFI_OP(_CFFI_OP_FUNCTION, 682), // Cryptography_STACK_OF_X509_REVOKED *()(X509_CRL *) -/* 183 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 184 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 185 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(BIO *, DH * *) -/* 186 */ _CFFI_OP(_CFFI_OP_POINTER, 3022), // BIO * -/* 187 */ _CFFI_OP(_CFFI_OP_POINTER, 196), // DH * * -/* 188 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 189 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(BIO *, DH * *, int(*)(char *, int, int, void *), void *) -/* 190 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 191 */ _CFFI_OP(_CFFI_OP_NOOP, 187), -/* 192 */ _CFFI_OP(_CFFI_OP_POINTER, 2160), // int(*)(char *, int, int, void *) -/* 193 */ _CFFI_OP(_CFFI_OP_POINTER, 3142), // void * -/* 194 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 195 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(DH *) -/* 196 */ _CFFI_OP(_CFFI_OP_POINTER, 3049), // DH * -/* 197 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 198 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(EVP_PKEY *) -/* 199 */ _CFFI_OP(_CFFI_OP_POINTER, 3066), // EVP_PKEY * -/* 200 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 201 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(void) -/* 202 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 203 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1077), // DIST_POINT *()(Cryptography_STACK_OF_DIST_POINT *, int) -/* 204 */ _CFFI_OP(_CFFI_OP_POINTER, 3037), // Cryptography_STACK_OF_DIST_POINT * -/* 205 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 206 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 207 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1077), // DIST_POINT *()(void) +/* 159 */ _CFFI_OP(_CFFI_OP_FUNCTION, 413), // Cryptography_STACK_OF_X509 *()(X509_STORE_CTX *) +/* 160 */ _CFFI_OP(_CFFI_OP_POINTER, 3133), // X509_STORE_CTX * +/* 161 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 162 */ _CFFI_OP(_CFFI_OP_FUNCTION, 413), // Cryptography_STACK_OF_X509 *()(void) +/* 163 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 164 */ _CFFI_OP(_CFFI_OP_FUNCTION, 565), // Cryptography_STACK_OF_X509_CRL *()(void) +/* 165 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 166 */ _CFFI_OP(_CFFI_OP_FUNCTION, 633), // Cryptography_STACK_OF_X509_NAME *()(SSL const *) +/* 167 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 168 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 169 */ _CFFI_OP(_CFFI_OP_FUNCTION, 633), // Cryptography_STACK_OF_X509_NAME *()(char const *) +/* 170 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 171 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 172 */ _CFFI_OP(_CFFI_OP_FUNCTION, 633), // Cryptography_STACK_OF_X509_NAME *()(void) +/* 173 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 174 */ _CFFI_OP(_CFFI_OP_FUNCTION, 175), // Cryptography_STACK_OF_X509_NAME_ENTRY *()(Cryptography_STACK_OF_X509_NAME_ENTRY *) +/* 175 */ _CFFI_OP(_CFFI_OP_POINTER, 3046), // Cryptography_STACK_OF_X509_NAME_ENTRY * +/* 176 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 177 */ _CFFI_OP(_CFFI_OP_FUNCTION, 175), // Cryptography_STACK_OF_X509_NAME_ENTRY *()(void) +/* 178 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 179 */ _CFFI_OP(_CFFI_OP_FUNCTION, 666), // Cryptography_STACK_OF_X509_OBJECT *()(X509_STORE *) +/* 180 */ _CFFI_OP(_CFFI_OP_POINTER, 3132), // X509_STORE * +/* 181 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 182 */ _CFFI_OP(_CFFI_OP_FUNCTION, 682), // Cryptography_STACK_OF_X509_REVOKED *()(X509_CRL *) +/* 183 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 184 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 185 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(BIO *, DH * *) +/* 186 */ _CFFI_OP(_CFFI_OP_POINTER, 3022), // BIO * +/* 187 */ _CFFI_OP(_CFFI_OP_POINTER, 196), // DH * * +/* 188 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 189 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(BIO *, DH * *, int(*)(char *, int, int, void *), void *) +/* 190 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 191 */ _CFFI_OP(_CFFI_OP_NOOP, 187), +/* 192 */ _CFFI_OP(_CFFI_OP_POINTER, 2160), // int(*)(char *, int, int, void *) +/* 193 */ _CFFI_OP(_CFFI_OP_POINTER, 3142), // void * +/* 194 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 195 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(DH *) +/* 196 */ _CFFI_OP(_CFFI_OP_POINTER, 3049), // DH * +/* 197 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 198 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(EVP_PKEY *) +/* 199 */ _CFFI_OP(_CFFI_OP_POINTER, 3066), // EVP_PKEY * +/* 200 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 201 */ _CFFI_OP(_CFFI_OP_FUNCTION, 196), // DH *()(void) +/* 202 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 203 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1077), // DIST_POINT *()(Cryptography_STACK_OF_DIST_POINT *, int) +/* 204 */ _CFFI_OP(_CFFI_OP_POINTER, 3037), // Cryptography_STACK_OF_DIST_POINT * +/* 205 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 206 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 207 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1077), // DIST_POINT *()(void) /* 208 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 209 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2644), // DIST_POINT_NAME *()(void) -/* 210 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 211 */ _CFFI_OP(_CFFI_OP_FUNCTION, 212), // DSA *()(DSA *) -/* 212 */ _CFFI_OP(_CFFI_OP_POINTER, 3052), // DSA * -/* 213 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 214 */ _CFFI_OP(_CFFI_OP_FUNCTION, 212), // DSA *()(EVP_PKEY *) -/* 215 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 216 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 217 */ _CFFI_OP(_CFFI_OP_FUNCTION, 212), // DSA *()(void) -/* 218 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 219 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2661), // EC_GROUP *()(int) -/* 220 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 209 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2644), // DIST_POINT_NAME *()(void) +/* 210 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 211 */ _CFFI_OP(_CFFI_OP_FUNCTION, 212), // DSA *()(DSA *) +/* 212 */ _CFFI_OP(_CFFI_OP_POINTER, 3052), // DSA * +/* 213 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 214 */ _CFFI_OP(_CFFI_OP_FUNCTION, 212), // DSA *()(EVP_PKEY *) +/* 215 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 216 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 217 */ _CFFI_OP(_CFFI_OP_FUNCTION, 212), // DSA *()(void) +/* 218 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 219 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2661), // EC_GROUP *()(int) +/* 220 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), /* 221 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 222 */ _CFFI_OP(_CFFI_OP_FUNCTION, 238), // EC_GROUP const *()(EC_KEY const *) -/* 223 */ _CFFI_OP(_CFFI_OP_NOOP, 110), -/* 224 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 225 */ _CFFI_OP(_CFFI_OP_FUNCTION, 893), // EC_KEY *()(BIO *, EC_KEY * *) -/* 226 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 227 */ _CFFI_OP(_CFFI_OP_POINTER, 893), // EC_KEY * * -/* 228 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 229 */ _CFFI_OP(_CFFI_OP_FUNCTION, 893), // EC_KEY *()(EVP_PKEY *) -/* 230 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 231 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 232 */ _CFFI_OP(_CFFI_OP_FUNCTION, 893), // EC_KEY *()(int) -/* 233 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 234 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 235 */ _CFFI_OP(_CFFI_OP_FUNCTION, 893), // EC_KEY *()(void) -/* 236 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 237 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1298), // EC_METHOD const *()(EC_GROUP const *) -/* 238 */ _CFFI_OP(_CFFI_OP_POINTER, 3054), // EC_GROUP const * -/* 239 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 240 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1207), // EC_POINT *()(EC_GROUP const *) -/* 241 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 242 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 243 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1207), // EC_POINT *()(EC_POINT const *, EC_GROUP const *) -/* 244 */ _CFFI_OP(_CFFI_OP_POINTER, 3057), // EC_POINT const * -/* 245 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 246 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 247 */ _CFFI_OP(_CFFI_OP_FUNCTION, 244), // EC_POINT const *()(EC_GROUP const *) -/* 248 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 249 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 250 */ _CFFI_OP(_CFFI_OP_FUNCTION, 244), // EC_POINT const *()(EC_KEY const *) -/* 251 */ _CFFI_OP(_CFFI_OP_NOOP, 110), -/* 252 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 253 */ _CFFI_OP(_CFFI_OP_FUNCTION, 282), // ENGINE *()(char const *) -/* 254 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 255 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 256 */ _CFFI_OP(_CFFI_OP_FUNCTION, 282), // ENGINE *()(void) -/* 257 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 258 */ _CFFI_OP(_CFFI_OP_FUNCTION, 885), // EVP_CIPHER const *()(EVP_CIPHER_CTX const *) -/* 259 */ _CFFI_OP(_CFFI_OP_POINTER, 3063), // EVP_CIPHER_CTX const * -/* 260 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 261 */ _CFFI_OP(_CFFI_OP_FUNCTION, 885), // EVP_CIPHER const *()(char const *) -/* 262 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 263 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 264 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1318), // EVP_CIPHER_CTX *()(void) -/* 265 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 266 */ _CFFI_OP(_CFFI_OP_FUNCTION, 354), // EVP_MD const *()(char const *) -/* 267 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 268 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 269 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1351), // EVP_MD_CTX *()(void) -/* 270 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 271 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(BIO *, EVP_PKEY * *) -/* 272 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 273 */ _CFFI_OP(_CFFI_OP_POINTER, 199), // EVP_PKEY * * -/* 274 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 275 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(BIO *, EVP_PKEY * *, int(*)(char *, int, int, void *), void *) -/* 276 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 277 */ _CFFI_OP(_CFFI_OP_NOOP, 273), -/* 278 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 279 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 280 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 281 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(ENGINE *, char const *, UI_METHOD *, void *) -/* 282 */ _CFFI_OP(_CFFI_OP_POINTER, 3061), // ENGINE * -/* 283 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 284 */ _CFFI_OP(_CFFI_OP_POINTER, 3117), // UI_METHOD * -/* 285 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 286 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 287 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(NETSCAPE_SPKI *) -/* 288 */ _CFFI_OP(_CFFI_OP_POINTER, 3075), // NETSCAPE_SPKI * -/* 289 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 290 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(X509 *) -/* 291 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 292 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 293 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(X509_REQ *) -/* 294 */ _CFFI_OP(_CFFI_OP_POINTER, 3130), // X509_REQ * -/* 295 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 296 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(int, ENGINE *, unsigned char const *, size_t) -/* 297 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 298 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 299 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 300 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), // size_t +/* 222 */ _CFFI_OP(_CFFI_OP_FUNCTION, 238), // EC_GROUP const *()(EC_KEY const *) +/* 223 */ _CFFI_OP(_CFFI_OP_NOOP, 110), +/* 224 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 225 */ _CFFI_OP(_CFFI_OP_FUNCTION, 893), // EC_KEY *()(BIO *, EC_KEY * *) +/* 226 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 227 */ _CFFI_OP(_CFFI_OP_POINTER, 893), // EC_KEY * * +/* 228 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 229 */ _CFFI_OP(_CFFI_OP_FUNCTION, 893), // EC_KEY *()(EVP_PKEY *) +/* 230 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 231 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 232 */ _CFFI_OP(_CFFI_OP_FUNCTION, 893), // EC_KEY *()(int) +/* 233 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 234 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 235 */ _CFFI_OP(_CFFI_OP_FUNCTION, 893), // EC_KEY *()(void) +/* 236 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 237 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1298), // EC_METHOD const *()(EC_GROUP const *) +/* 238 */ _CFFI_OP(_CFFI_OP_POINTER, 3054), // EC_GROUP const * +/* 239 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 240 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1207), // EC_POINT *()(EC_GROUP const *) +/* 241 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 242 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 243 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1207), // EC_POINT *()(EC_POINT const *, EC_GROUP const *) +/* 244 */ _CFFI_OP(_CFFI_OP_POINTER, 3057), // EC_POINT const * +/* 245 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 246 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 247 */ _CFFI_OP(_CFFI_OP_FUNCTION, 244), // EC_POINT const *()(EC_GROUP const *) +/* 248 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 249 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 250 */ _CFFI_OP(_CFFI_OP_FUNCTION, 244), // EC_POINT const *()(EC_KEY const *) +/* 251 */ _CFFI_OP(_CFFI_OP_NOOP, 110), +/* 252 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 253 */ _CFFI_OP(_CFFI_OP_FUNCTION, 282), // ENGINE *()(char const *) +/* 254 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 255 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 256 */ _CFFI_OP(_CFFI_OP_FUNCTION, 282), // ENGINE *()(void) +/* 257 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 258 */ _CFFI_OP(_CFFI_OP_FUNCTION, 885), // EVP_CIPHER const *()(EVP_CIPHER_CTX const *) +/* 259 */ _CFFI_OP(_CFFI_OP_POINTER, 3063), // EVP_CIPHER_CTX const * +/* 260 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 261 */ _CFFI_OP(_CFFI_OP_FUNCTION, 885), // EVP_CIPHER const *()(char const *) +/* 262 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 263 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 264 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1318), // EVP_CIPHER_CTX *()(void) +/* 265 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 266 */ _CFFI_OP(_CFFI_OP_FUNCTION, 354), // EVP_MD const *()(char const *) +/* 267 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 268 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 269 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1351), // EVP_MD_CTX *()(void) +/* 270 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 271 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(BIO *, EVP_PKEY * *) +/* 272 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 273 */ _CFFI_OP(_CFFI_OP_POINTER, 199), // EVP_PKEY * * +/* 274 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 275 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(BIO *, EVP_PKEY * *, int(*)(char *, int, int, void *), void *) +/* 276 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 277 */ _CFFI_OP(_CFFI_OP_NOOP, 273), +/* 278 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 279 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 280 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 281 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(ENGINE *, char const *, UI_METHOD *, void *) +/* 282 */ _CFFI_OP(_CFFI_OP_POINTER, 3061), // ENGINE * +/* 283 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 284 */ _CFFI_OP(_CFFI_OP_POINTER, 3117), // UI_METHOD * +/* 285 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 286 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 287 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(NETSCAPE_SPKI *) +/* 288 */ _CFFI_OP(_CFFI_OP_POINTER, 3075), // NETSCAPE_SPKI * +/* 289 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 290 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(X509 *) +/* 291 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 292 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 293 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(X509_REQ *) +/* 294 */ _CFFI_OP(_CFFI_OP_POINTER, 3130), // X509_REQ * +/* 295 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 296 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(int, ENGINE *, unsigned char const *, size_t) +/* 297 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 298 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 299 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 300 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), // size_t /* 301 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 302 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(void) -/* 303 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 304 */ _CFFI_OP(_CFFI_OP_FUNCTION, 309), // EVP_PKEY_CTX *()(EVP_PKEY *, ENGINE *) -/* 305 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 306 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 307 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 308 */ _CFFI_OP(_CFFI_OP_FUNCTION, 309), // EVP_PKEY_CTX *()(EVP_PKEY_CTX *) -/* 309 */ _CFFI_OP(_CFFI_OP_POINTER, 3067), // EVP_PKEY_CTX * +/* 302 */ _CFFI_OP(_CFFI_OP_FUNCTION, 199), // EVP_PKEY *()(void) +/* 303 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 304 */ _CFFI_OP(_CFFI_OP_FUNCTION, 309), // EVP_PKEY_CTX *()(EVP_PKEY *, ENGINE *) +/* 305 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 306 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 307 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 308 */ _CFFI_OP(_CFFI_OP_FUNCTION, 309), // EVP_PKEY_CTX *()(EVP_PKEY_CTX *) +/* 309 */ _CFFI_OP(_CFFI_OP_POINTER, 3067), // EVP_PKEY_CTX * /* 310 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 311 */ _CFFI_OP(_CFFI_OP_FUNCTION, 309), // EVP_PKEY_CTX *()(int, ENGINE *) -/* 312 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 313 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 314 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 315 */ _CFFI_OP(_CFFI_OP_FUNCTION, 928), // GENERAL_NAME *()(GENERAL_NAMES *, int) -/* 316 */ _CFFI_OP(_CFFI_OP_POINTER, 3070), // GENERAL_NAMES * -/* 317 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 318 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 319 */ _CFFI_OP(_CFFI_OP_FUNCTION, 928), // GENERAL_NAME *()(void) -/* 320 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 321 */ _CFFI_OP(_CFFI_OP_FUNCTION, 316), // GENERAL_NAMES *()(GENERAL_NAMES * *, unsigned char const * *, long) -/* 322 */ _CFFI_OP(_CFFI_OP_POINTER, 316), // GENERAL_NAMES * * -/* 323 */ _CFFI_OP(_CFFI_OP_NOOP, 75), -/* 324 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 325 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 326 */ _CFFI_OP(_CFFI_OP_FUNCTION, 316), // GENERAL_NAMES *()(void) -/* 327 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 328 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1084), // GENERAL_SUBTREE *()(Cryptography_STACK_OF_GENERAL_SUBTREE *, int) -/* 329 */ _CFFI_OP(_CFFI_OP_POINTER, 3038), // Cryptography_STACK_OF_GENERAL_SUBTREE * -/* 330 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 331 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 332 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1084), // GENERAL_SUBTREE *()(void) +/* 311 */ _CFFI_OP(_CFFI_OP_FUNCTION, 309), // EVP_PKEY_CTX *()(int, ENGINE *) +/* 312 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 313 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 314 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 315 */ _CFFI_OP(_CFFI_OP_FUNCTION, 928), // GENERAL_NAME *()(GENERAL_NAMES *, int) +/* 316 */ _CFFI_OP(_CFFI_OP_POINTER, 3070), // GENERAL_NAMES * +/* 317 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 318 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 319 */ _CFFI_OP(_CFFI_OP_FUNCTION, 928), // GENERAL_NAME *()(void) +/* 320 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 321 */ _CFFI_OP(_CFFI_OP_FUNCTION, 316), // GENERAL_NAMES *()(GENERAL_NAMES * *, unsigned char const * *, long) +/* 322 */ _CFFI_OP(_CFFI_OP_POINTER, 316), // GENERAL_NAMES * * +/* 323 */ _CFFI_OP(_CFFI_OP_NOOP, 75), +/* 324 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 325 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 326 */ _CFFI_OP(_CFFI_OP_FUNCTION, 316), // GENERAL_NAMES *()(void) +/* 327 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 328 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1084), // GENERAL_SUBTREE *()(Cryptography_STACK_OF_GENERAL_SUBTREE *, int) +/* 329 */ _CFFI_OP(_CFFI_OP_POINTER, 3038), // Cryptography_STACK_OF_GENERAL_SUBTREE * +/* 330 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 331 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 332 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1084), // GENERAL_SUBTREE *()(void) /* 333 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 334 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1515), // HMAC_CTX *()(void) -/* 335 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 336 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2702), // ISSUING_DIST_POINT *()(void) -/* 337 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 338 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2705), // NAME_CONSTRAINTS *()(void) -/* 339 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 340 */ _CFFI_OP(_CFFI_OP_FUNCTION, 288), // NETSCAPE_SPKI *()(char const *, int) -/* 341 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 342 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 343 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 344 */ _CFFI_OP(_CFFI_OP_FUNCTION, 288), // NETSCAPE_SPKI *()(void) -/* 345 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 346 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2711), // NOTICEREF *()(void) -/* 347 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 348 */ _CFFI_OP(_CFFI_OP_FUNCTION, 387), // OCSP_BASICRESP *()(OCSP_RESPONSE *) -/* 349 */ _CFFI_OP(_CFFI_OP_POINTER, 3085), // OCSP_RESPONSE * +/* 334 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1515), // HMAC_CTX *()(void) +/* 335 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 336 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2702), // ISSUING_DIST_POINT *()(void) +/* 337 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 338 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2705), // NAME_CONSTRAINTS *()(void) +/* 339 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 340 */ _CFFI_OP(_CFFI_OP_FUNCTION, 288), // NETSCAPE_SPKI *()(char const *, int) +/* 341 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 342 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 343 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 344 */ _CFFI_OP(_CFFI_OP_FUNCTION, 288), // NETSCAPE_SPKI *()(void) +/* 345 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 346 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2711), // NOTICEREF *()(void) +/* 347 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 348 */ _CFFI_OP(_CFFI_OP_FUNCTION, 387), // OCSP_BASICRESP *()(OCSP_RESPONSE *) +/* 349 */ _CFFI_OP(_CFFI_OP_POINTER, 3085), // OCSP_RESPONSE * /* 350 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 351 */ _CFFI_OP(_CFFI_OP_FUNCTION, 387), // OCSP_BASICRESP *()(void) -/* 352 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 353 */ _CFFI_OP(_CFFI_OP_FUNCTION, 366), // OCSP_CERTID *()(EVP_MD const *, X509 const *, X509 const *) -/* 354 */ _CFFI_OP(_CFFI_OP_POINTER, 3064), // EVP_MD const * -/* 355 */ _CFFI_OP(_CFFI_OP_POINTER, 3119), // X509 const * -/* 356 */ _CFFI_OP(_CFFI_OP_NOOP, 355), +/* 351 */ _CFFI_OP(_CFFI_OP_FUNCTION, 387), // OCSP_BASICRESP *()(void) +/* 352 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 353 */ _CFFI_OP(_CFFI_OP_FUNCTION, 366), // OCSP_CERTID *()(EVP_MD const *, X509 const *, X509 const *) +/* 354 */ _CFFI_OP(_CFFI_OP_POINTER, 3064), // EVP_MD const * +/* 355 */ _CFFI_OP(_CFFI_OP_POINTER, 3119), // X509 const * +/* 356 */ _CFFI_OP(_CFFI_OP_NOOP, 355), /* 357 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 358 */ _CFFI_OP(_CFFI_OP_FUNCTION, 366), // OCSP_CERTID *()(OCSP_ONEREQ *) -/* 359 */ _CFFI_OP(_CFFI_OP_POINTER, 3081), // OCSP_ONEREQ * -/* 360 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 361 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3079), // OCSP_CERTID const *()(OCSP_SINGLERESP const *) -/* 362 */ _CFFI_OP(_CFFI_OP_POINTER, 3086), // OCSP_SINGLERESP const * +/* 358 */ _CFFI_OP(_CFFI_OP_FUNCTION, 366), // OCSP_CERTID *()(OCSP_ONEREQ *) +/* 359 */ _CFFI_OP(_CFFI_OP_POINTER, 3081), // OCSP_ONEREQ * +/* 360 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 361 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3079), // OCSP_CERTID const *()(OCSP_SINGLERESP const *) +/* 362 */ _CFFI_OP(_CFFI_OP_POINTER, 3086), // OCSP_SINGLERESP const * /* 363 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 364 */ _CFFI_OP(_CFFI_OP_FUNCTION, 359), // OCSP_ONEREQ *()(OCSP_REQUEST *, OCSP_CERTID *) -/* 365 */ _CFFI_OP(_CFFI_OP_POINTER, 3082), // OCSP_REQUEST * -/* 366 */ _CFFI_OP(_CFFI_OP_POINTER, 3080), // OCSP_CERTID * -/* 367 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 368 */ _CFFI_OP(_CFFI_OP_FUNCTION, 359), // OCSP_ONEREQ *()(OCSP_REQUEST *, int) -/* 369 */ _CFFI_OP(_CFFI_OP_NOOP, 365), -/* 370 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 371 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 372 */ _CFFI_OP(_CFFI_OP_FUNCTION, 365), // OCSP_REQUEST *()(BIO *, OCSP_REQUEST * *) -/* 373 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 374 */ _CFFI_OP(_CFFI_OP_POINTER, 365), // OCSP_REQUEST * * -/* 375 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 376 */ _CFFI_OP(_CFFI_OP_FUNCTION, 365), // OCSP_REQUEST *()(void) -/* 377 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 378 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3083), // OCSP_RESPDATA const *()(OCSP_BASICRESP const *) -/* 379 */ _CFFI_OP(_CFFI_OP_NOOP, 17), -/* 380 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 381 */ _CFFI_OP(_CFFI_OP_FUNCTION, 349), // OCSP_RESPONSE *()(BIO *, OCSP_RESPONSE * *) -/* 382 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 383 */ _CFFI_OP(_CFFI_OP_POINTER, 349), // OCSP_RESPONSE * * -/* 384 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 385 */ _CFFI_OP(_CFFI_OP_FUNCTION, 349), // OCSP_RESPONSE *()(int, OCSP_BASICRESP *) -/* 386 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 387 */ _CFFI_OP(_CFFI_OP_POINTER, 3078), // OCSP_BASICRESP * -/* 388 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 389 */ _CFFI_OP(_CFFI_OP_FUNCTION, 594), // OCSP_SINGLERESP *()(OCSP_BASICRESP *, OCSP_CERTID *, int, int, ASN1_OCTET_STRING *, ASN1_OCTET_STRING *, ASN1_OCTET_STRING *) -/* 390 */ _CFFI_OP(_CFFI_OP_NOOP, 387), -/* 391 */ _CFFI_OP(_CFFI_OP_NOOP, 366), -/* 392 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 393 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 394 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 395 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 396 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 397 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 398 */ _CFFI_OP(_CFFI_OP_FUNCTION, 594), // OCSP_SINGLERESP *()(OCSP_BASICRESP *, int) -/* 399 */ _CFFI_OP(_CFFI_OP_NOOP, 387), -/* 400 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 401 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 402 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2726), // OTHERNAME *()(void) -/* 403 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 404 */ _CFFI_OP(_CFFI_OP_FUNCTION, 940), // PKCS12 *()(BIO *, PKCS12 * *) -/* 405 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 406 */ _CFFI_OP(_CFFI_OP_POINTER, 940), // PKCS12 * * +/* 364 */ _CFFI_OP(_CFFI_OP_FUNCTION, 359), // OCSP_ONEREQ *()(OCSP_REQUEST *, OCSP_CERTID *) +/* 365 */ _CFFI_OP(_CFFI_OP_POINTER, 3082), // OCSP_REQUEST * +/* 366 */ _CFFI_OP(_CFFI_OP_POINTER, 3080), // OCSP_CERTID * +/* 367 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 368 */ _CFFI_OP(_CFFI_OP_FUNCTION, 359), // OCSP_ONEREQ *()(OCSP_REQUEST *, int) +/* 369 */ _CFFI_OP(_CFFI_OP_NOOP, 365), +/* 370 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 371 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 372 */ _CFFI_OP(_CFFI_OP_FUNCTION, 365), // OCSP_REQUEST *()(BIO *, OCSP_REQUEST * *) +/* 373 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 374 */ _CFFI_OP(_CFFI_OP_POINTER, 365), // OCSP_REQUEST * * +/* 375 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 376 */ _CFFI_OP(_CFFI_OP_FUNCTION, 365), // OCSP_REQUEST *()(void) +/* 377 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 378 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3083), // OCSP_RESPDATA const *()(OCSP_BASICRESP const *) +/* 379 */ _CFFI_OP(_CFFI_OP_NOOP, 17), +/* 380 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 381 */ _CFFI_OP(_CFFI_OP_FUNCTION, 349), // OCSP_RESPONSE *()(BIO *, OCSP_RESPONSE * *) +/* 382 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 383 */ _CFFI_OP(_CFFI_OP_POINTER, 349), // OCSP_RESPONSE * * +/* 384 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 385 */ _CFFI_OP(_CFFI_OP_FUNCTION, 349), // OCSP_RESPONSE *()(int, OCSP_BASICRESP *) +/* 386 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 387 */ _CFFI_OP(_CFFI_OP_POINTER, 3078), // OCSP_BASICRESP * +/* 388 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 389 */ _CFFI_OP(_CFFI_OP_FUNCTION, 594), // OCSP_SINGLERESP *()(OCSP_BASICRESP *, OCSP_CERTID *, int, int, ASN1_OCTET_STRING *, ASN1_OCTET_STRING *, ASN1_OCTET_STRING *) +/* 390 */ _CFFI_OP(_CFFI_OP_NOOP, 387), +/* 391 */ _CFFI_OP(_CFFI_OP_NOOP, 366), +/* 392 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 393 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 394 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 395 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 396 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 397 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 398 */ _CFFI_OP(_CFFI_OP_FUNCTION, 594), // OCSP_SINGLERESP *()(OCSP_BASICRESP *, int) +/* 399 */ _CFFI_OP(_CFFI_OP_NOOP, 387), +/* 400 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 401 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 402 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2726), // OTHERNAME *()(void) +/* 403 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 404 */ _CFFI_OP(_CFFI_OP_FUNCTION, 940), // PKCS12 *()(BIO *, PKCS12 * *) +/* 405 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 406 */ _CFFI_OP(_CFFI_OP_POINTER, 940), // PKCS12 * * /* 407 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 408 */ _CFFI_OP(_CFFI_OP_FUNCTION, 940), // PKCS12 *()(char *, char *, EVP_PKEY *, X509 *, Cryptography_STACK_OF_X509 *, int, int, int, int, int) -/* 409 */ _CFFI_OP(_CFFI_OP_POINTER, 3135), // char * -/* 410 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 411 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 412 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 413 */ _CFFI_OP(_CFFI_OP_POINTER, 3043), // Cryptography_STACK_OF_X509 * -/* 414 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 415 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 416 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 417 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 418 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 419 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 420 */ _CFFI_OP(_CFFI_OP_FUNCTION, 442), // PKCS7 *()(BIO *, BIO * *) -/* 421 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 422 */ _CFFI_OP(_CFFI_OP_POINTER, 186), // BIO * * -/* 423 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 424 */ _CFFI_OP(_CFFI_OP_FUNCTION, 442), // PKCS7 *()(BIO *, PKCS7 * *) -/* 425 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 426 */ _CFFI_OP(_CFFI_OP_POINTER, 442), // PKCS7 * * -/* 427 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 428 */ _CFFI_OP(_CFFI_OP_FUNCTION, 442), // PKCS7 *()(BIO *, PKCS7 * *, int(*)(char *, int, int, void *), void *) -/* 429 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 430 */ _CFFI_OP(_CFFI_OP_NOOP, 426), -/* 431 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 432 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 433 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 434 */ _CFFI_OP(_CFFI_OP_FUNCTION, 442), // PKCS7 *()(X509 *, EVP_PKEY *, Cryptography_STACK_OF_X509 *, BIO *, int) -/* 435 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 436 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 437 */ _CFFI_OP(_CFFI_OP_NOOP, 413), -/* 438 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 439 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 440 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 441 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3098), // PKCS7_SIGNER_INFO *()(PKCS7 *, X509 *, EVP_PKEY *, EVP_MD const *, int) -/* 442 */ _CFFI_OP(_CFFI_OP_POINTER, 3089), // PKCS7 * -/* 443 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 444 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 445 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 446 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 447 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 448 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1091), // POLICYINFO *()(Cryptography_STACK_OF_POLICYINFO *, int) -/* 449 */ _CFFI_OP(_CFFI_OP_POINTER, 3039), // Cryptography_STACK_OF_POLICYINFO * -/* 450 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 451 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 452 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1091), // POLICYINFO *()(void) -/* 453 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 454 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1098), // POLICYQUALINFO *()(Cryptography_STACK_OF_POLICYQUALINFO *, int) -/* 455 */ _CFFI_OP(_CFFI_OP_POINTER, 3040), // Cryptography_STACK_OF_POLICYQUALINFO * -/* 456 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 408 */ _CFFI_OP(_CFFI_OP_FUNCTION, 940), // PKCS12 *()(char *, char *, EVP_PKEY *, X509 *, Cryptography_STACK_OF_X509 *, int, int, int, int, int) +/* 409 */ _CFFI_OP(_CFFI_OP_POINTER, 3135), // char * +/* 410 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 411 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 412 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 413 */ _CFFI_OP(_CFFI_OP_POINTER, 3043), // Cryptography_STACK_OF_X509 * +/* 414 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 415 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 416 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 417 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 418 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 419 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 420 */ _CFFI_OP(_CFFI_OP_FUNCTION, 442), // PKCS7 *()(BIO *, BIO * *) +/* 421 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 422 */ _CFFI_OP(_CFFI_OP_POINTER, 186), // BIO * * +/* 423 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 424 */ _CFFI_OP(_CFFI_OP_FUNCTION, 442), // PKCS7 *()(BIO *, PKCS7 * *) +/* 425 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 426 */ _CFFI_OP(_CFFI_OP_POINTER, 442), // PKCS7 * * +/* 427 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 428 */ _CFFI_OP(_CFFI_OP_FUNCTION, 442), // PKCS7 *()(BIO *, PKCS7 * *, int(*)(char *, int, int, void *), void *) +/* 429 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 430 */ _CFFI_OP(_CFFI_OP_NOOP, 426), +/* 431 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 432 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 433 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 434 */ _CFFI_OP(_CFFI_OP_FUNCTION, 442), // PKCS7 *()(X509 *, EVP_PKEY *, Cryptography_STACK_OF_X509 *, BIO *, int) +/* 435 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 436 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 437 */ _CFFI_OP(_CFFI_OP_NOOP, 413), +/* 438 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 439 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 440 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 441 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3098), // PKCS7_SIGNER_INFO *()(PKCS7 *, X509 *, EVP_PKEY *, EVP_MD const *, int) +/* 442 */ _CFFI_OP(_CFFI_OP_POINTER, 3089), // PKCS7 * +/* 443 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 444 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 445 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 446 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 447 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 448 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1091), // POLICYINFO *()(Cryptography_STACK_OF_POLICYINFO *, int) +/* 449 */ _CFFI_OP(_CFFI_OP_POINTER, 3039), // Cryptography_STACK_OF_POLICYINFO * +/* 450 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 451 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 452 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1091), // POLICYINFO *()(void) +/* 453 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 454 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1098), // POLICYQUALINFO *()(Cryptography_STACK_OF_POLICYQUALINFO *, int) +/* 455 */ _CFFI_OP(_CFFI_OP_POINTER, 3040), // Cryptography_STACK_OF_POLICYQUALINFO * +/* 456 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), /* 457 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 458 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1098), // POLICYQUALINFO *()(void) -/* 459 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 460 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2741), // POLICY_CONSTRAINTS *()(void) -/* 461 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 462 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(BIO *, RSA * *) -/* 463 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 464 */ _CFFI_OP(_CFFI_OP_POINTER, 476), // RSA * * -/* 465 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 466 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(BIO *, RSA * *, int(*)(char *, int, int, void *), void *) -/* 467 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 468 */ _CFFI_OP(_CFFI_OP_NOOP, 464), -/* 469 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 470 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 471 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 472 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(EVP_PKEY *) -/* 473 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 474 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 475 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(RSA *) -/* 476 */ _CFFI_OP(_CFFI_OP_POINTER, 3107), // RSA * -/* 477 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 478 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(void) -/* 479 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 480 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1102), // SCT *()(Cryptography_STACK_OF_SCT const *, int) -/* 481 */ _CFFI_OP(_CFFI_OP_POINTER, 3041), // Cryptography_STACK_OF_SCT const * -/* 482 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 483 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 484 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1102), // SCT *()(void) -/* 485 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 486 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3109), // SRTP_PROTECTION_PROFILE *()(SSL *) -/* 487 */ _CFFI_OP(_CFFI_OP_POINTER, 3111), // SSL * -/* 488 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 489 */ _CFFI_OP(_CFFI_OP_FUNCTION, 487), // SSL *()(SSL_CTX *) -/* 490 */ _CFFI_OP(_CFFI_OP_POINTER, 3113), // SSL_CTX * -/* 491 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 492 */ _CFFI_OP(_CFFI_OP_FUNCTION, 733), // SSL_CIPHER const *()(Cryptography_STACK_OF_SSL_CIPHER *, int) -/* 493 */ _CFFI_OP(_CFFI_OP_POINTER, 3042), // Cryptography_STACK_OF_SSL_CIPHER * -/* 494 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 495 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 496 */ _CFFI_OP(_CFFI_OP_FUNCTION, 733), // SSL_CIPHER const *()(SSL const *) -/* 497 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 498 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 499 */ _CFFI_OP(_CFFI_OP_FUNCTION, 490), // SSL_CTX *()(SSL *, SSL_CTX *) -/* 500 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 501 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 502 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 503 */ _CFFI_OP(_CFFI_OP_FUNCTION, 490), // SSL_CTX *()(SSL_METHOD *) -/* 504 */ _CFFI_OP(_CFFI_OP_POINTER, 3115), // SSL_METHOD * -/* 505 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 506 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3114), // SSL_METHOD const *()(void) -/* 507 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 508 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1666), // SSL_SESSION *()(SSL *) -/* 509 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 510 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 511 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1666), // SSL_SESSION *()(SSL const *) -/* 512 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 513 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 514 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2873), // USERNOTICE *()(void) -/* 515 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 516 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(BIO *, X509 * *) -/* 517 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 518 */ _CFFI_OP(_CFFI_OP_POINTER, 28), // X509 * * -/* 519 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 520 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(BIO *, X509 * *, int(*)(char *, int, int, void *), void *) -/* 521 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 522 */ _CFFI_OP(_CFFI_OP_NOOP, 518), -/* 523 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 524 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 525 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 526 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(Cryptography_STACK_OF_X509 *, int) -/* 527 */ _CFFI_OP(_CFFI_OP_NOOP, 413), -/* 528 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 529 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 530 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(SSL const *) -/* 531 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 532 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 533 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(X509 *) -/* 534 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 535 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 536 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(X509_OBJECT *) -/* 537 */ _CFFI_OP(_CFFI_OP_POINTER, 3129), // X509_OBJECT * -/* 538 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 539 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(X509_STORE_CTX *) -/* 540 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 541 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 542 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(void) -/* 543 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 544 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3121), // X509_ALGOR const *()(OCSP_BASICRESP const *) -/* 545 */ _CFFI_OP(_CFFI_OP_NOOP, 17), -/* 546 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 547 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3121), // X509_ALGOR const *()(X509 const *) -/* 548 */ _CFFI_OP(_CFFI_OP_NOOP, 355), -/* 549 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 550 */ _CFFI_OP(_CFFI_OP_FUNCTION, 79), // X509_ATTRIBUTE *()(X509_REQ const *, int) -/* 551 */ _CFFI_OP(_CFFI_OP_POINTER, 3130), // X509_REQ const * -/* 552 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 553 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 554 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(BIO *, X509_CRL * *) -/* 555 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 556 */ _CFFI_OP(_CFFI_OP_POINTER, 57), // X509_CRL * * -/* 557 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 558 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(BIO *, X509_CRL * *, int(*)(char *, int, int, void *), void *) -/* 559 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 560 */ _CFFI_OP(_CFFI_OP_NOOP, 556), -/* 561 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 562 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 563 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 564 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(Cryptography_STACK_OF_X509_CRL *, int) -/* 565 */ _CFFI_OP(_CFFI_OP_POINTER, 3044), // Cryptography_STACK_OF_X509_CRL * -/* 566 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 567 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 568 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(X509_CRL *) -/* 569 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 570 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 571 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(void) -/* 572 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 573 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(CONF *, X509V3_CTX *, char *, char *) -/* 574 */ _CFFI_OP(_CFFI_OP_POINTER, 3028), // CONF * -/* 575 */ _CFFI_OP(_CFFI_OP_POINTER, 3120), // X509V3_CTX * -/* 576 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 577 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 458 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1098), // POLICYQUALINFO *()(void) +/* 459 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 460 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2741), // POLICY_CONSTRAINTS *()(void) +/* 461 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 462 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(BIO *, RSA * *) +/* 463 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 464 */ _CFFI_OP(_CFFI_OP_POINTER, 476), // RSA * * +/* 465 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 466 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(BIO *, RSA * *, int(*)(char *, int, int, void *), void *) +/* 467 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 468 */ _CFFI_OP(_CFFI_OP_NOOP, 464), +/* 469 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 470 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 471 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 472 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(EVP_PKEY *) +/* 473 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 474 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 475 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(RSA *) +/* 476 */ _CFFI_OP(_CFFI_OP_POINTER, 3107), // RSA * +/* 477 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 478 */ _CFFI_OP(_CFFI_OP_FUNCTION, 476), // RSA *()(void) +/* 479 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 480 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1102), // SCT *()(Cryptography_STACK_OF_SCT const *, int) +/* 481 */ _CFFI_OP(_CFFI_OP_POINTER, 3041), // Cryptography_STACK_OF_SCT const * +/* 482 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 483 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 484 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1102), // SCT *()(void) +/* 485 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 486 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3109), // SRTP_PROTECTION_PROFILE *()(SSL *) +/* 487 */ _CFFI_OP(_CFFI_OP_POINTER, 3111), // SSL * +/* 488 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 489 */ _CFFI_OP(_CFFI_OP_FUNCTION, 487), // SSL *()(SSL_CTX *) +/* 490 */ _CFFI_OP(_CFFI_OP_POINTER, 3113), // SSL_CTX * +/* 491 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 492 */ _CFFI_OP(_CFFI_OP_FUNCTION, 733), // SSL_CIPHER const *()(Cryptography_STACK_OF_SSL_CIPHER *, int) +/* 493 */ _CFFI_OP(_CFFI_OP_POINTER, 3042), // Cryptography_STACK_OF_SSL_CIPHER * +/* 494 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 495 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 496 */ _CFFI_OP(_CFFI_OP_FUNCTION, 733), // SSL_CIPHER const *()(SSL const *) +/* 497 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 498 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 499 */ _CFFI_OP(_CFFI_OP_FUNCTION, 490), // SSL_CTX *()(SSL *, SSL_CTX *) +/* 500 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 501 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 502 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 503 */ _CFFI_OP(_CFFI_OP_FUNCTION, 490), // SSL_CTX *()(SSL_METHOD *) +/* 504 */ _CFFI_OP(_CFFI_OP_POINTER, 3115), // SSL_METHOD * +/* 505 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 506 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3114), // SSL_METHOD const *()(void) +/* 507 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 508 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1666), // SSL_SESSION *()(SSL *) +/* 509 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 510 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 511 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1666), // SSL_SESSION *()(SSL const *) +/* 512 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 513 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 514 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2873), // USERNOTICE *()(void) +/* 515 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 516 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(BIO *, X509 * *) +/* 517 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 518 */ _CFFI_OP(_CFFI_OP_POINTER, 28), // X509 * * +/* 519 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 520 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(BIO *, X509 * *, int(*)(char *, int, int, void *), void *) +/* 521 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 522 */ _CFFI_OP(_CFFI_OP_NOOP, 518), +/* 523 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 524 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 525 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 526 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(Cryptography_STACK_OF_X509 *, int) +/* 527 */ _CFFI_OP(_CFFI_OP_NOOP, 413), +/* 528 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 529 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 530 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(SSL const *) +/* 531 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 532 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 533 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(X509 *) +/* 534 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 535 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 536 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(X509_OBJECT *) +/* 537 */ _CFFI_OP(_CFFI_OP_POINTER, 3129), // X509_OBJECT * +/* 538 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 539 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(X509_STORE_CTX *) +/* 540 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 541 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 542 */ _CFFI_OP(_CFFI_OP_FUNCTION, 28), // X509 *()(void) +/* 543 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 544 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3121), // X509_ALGOR const *()(OCSP_BASICRESP const *) +/* 545 */ _CFFI_OP(_CFFI_OP_NOOP, 17), +/* 546 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 547 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3121), // X509_ALGOR const *()(X509 const *) +/* 548 */ _CFFI_OP(_CFFI_OP_NOOP, 355), +/* 549 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 550 */ _CFFI_OP(_CFFI_OP_FUNCTION, 79), // X509_ATTRIBUTE *()(X509_REQ const *, int) +/* 551 */ _CFFI_OP(_CFFI_OP_POINTER, 3130), // X509_REQ const * +/* 552 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 553 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 554 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(BIO *, X509_CRL * *) +/* 555 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 556 */ _CFFI_OP(_CFFI_OP_POINTER, 57), // X509_CRL * * +/* 557 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 558 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(BIO *, X509_CRL * *, int(*)(char *, int, int, void *), void *) +/* 559 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 560 */ _CFFI_OP(_CFFI_OP_NOOP, 556), +/* 561 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 562 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 563 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 564 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(Cryptography_STACK_OF_X509_CRL *, int) +/* 565 */ _CFFI_OP(_CFFI_OP_POINTER, 3044), // Cryptography_STACK_OF_X509_CRL * +/* 566 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 567 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 568 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(X509_CRL *) +/* 569 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 570 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 571 */ _CFFI_OP(_CFFI_OP_FUNCTION, 57), // X509_CRL *()(void) +/* 572 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 573 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(CONF *, X509V3_CTX *, char *, char *) +/* 574 */ _CFFI_OP(_CFFI_OP_POINTER, 3028), // CONF * +/* 575 */ _CFFI_OP(_CFFI_OP_POINTER, 3120), // X509V3_CTX * +/* 576 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 577 */ _CFFI_OP(_CFFI_OP_NOOP, 409), /* 578 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 579 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(Cryptography_LHASH_OF_CONF_VALUE *, X509V3_CTX *, int, char *) -/* 580 */ _CFFI_OP(_CFFI_OP_POINTER, 3033), // Cryptography_LHASH_OF_CONF_VALUE * -/* 581 */ _CFFI_OP(_CFFI_OP_NOOP, 575), -/* 582 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 583 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 579 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(Cryptography_LHASH_OF_CONF_VALUE *, X509V3_CTX *, int, char *) +/* 580 */ _CFFI_OP(_CFFI_OP_POINTER, 3033), // Cryptography_LHASH_OF_CONF_VALUE * +/* 581 */ _CFFI_OP(_CFFI_OP_NOOP, 575), +/* 582 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 583 */ _CFFI_OP(_CFFI_OP_NOOP, 409), /* 584 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 585 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(OCSP_BASICRESP *, int) -/* 586 */ _CFFI_OP(_CFFI_OP_NOOP, 387), -/* 587 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 585 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(OCSP_BASICRESP *, int) +/* 586 */ _CFFI_OP(_CFFI_OP_NOOP, 387), +/* 587 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), /* 588 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 589 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(OCSP_REQUEST *, int) -/* 590 */ _CFFI_OP(_CFFI_OP_NOOP, 365), -/* 591 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 592 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 593 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(OCSP_SINGLERESP *, int) -/* 594 */ _CFFI_OP(_CFFI_OP_POINTER, 3086), // OCSP_SINGLERESP * -/* 595 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 596 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 597 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509 *, int) -/* 598 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 599 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 600 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 601 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_CRL *, int) -/* 602 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 603 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 604 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 605 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_EXTENSION * *, ASN1_OBJECT *, int, ASN1_OCTET_STRING *) -/* 606 */ _CFFI_OP(_CFFI_OP_POINTER, 40), // X509_EXTENSION * * -/* 607 */ _CFFI_OP(_CFFI_OP_POINTER, 3015), // ASN1_OBJECT * -/* 608 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 609 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 610 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 611 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_EXTENSION *) -/* 612 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 613 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 614 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_EXTENSIONS *, int) -/* 615 */ _CFFI_OP(_CFFI_OP_POINTER, 3126), // X509_EXTENSIONS * -/* 616 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 617 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 618 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_REVOKED *, int) -/* 619 */ _CFFI_OP(_CFFI_OP_POINTER, 3131), // X509_REVOKED * -/* 620 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 621 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 622 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(int, int, void *) -/* 623 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 624 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 625 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 626 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 627 */ _CFFI_OP(_CFFI_OP_FUNCTION, 615), // X509_EXTENSIONS *()(X509_REQ *) -/* 628 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 629 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 630 */ _CFFI_OP(_CFFI_OP_FUNCTION, 615), // X509_EXTENSIONS *()(void) +/* 589 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(OCSP_REQUEST *, int) +/* 590 */ _CFFI_OP(_CFFI_OP_NOOP, 365), +/* 591 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 592 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 593 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(OCSP_SINGLERESP *, int) +/* 594 */ _CFFI_OP(_CFFI_OP_POINTER, 3086), // OCSP_SINGLERESP * +/* 595 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 596 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 597 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509 *, int) +/* 598 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 599 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 600 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 601 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_CRL *, int) +/* 602 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 603 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 604 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 605 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_EXTENSION * *, ASN1_OBJECT *, int, ASN1_OCTET_STRING *) +/* 606 */ _CFFI_OP(_CFFI_OP_POINTER, 40), // X509_EXTENSION * * +/* 607 */ _CFFI_OP(_CFFI_OP_POINTER, 3015), // ASN1_OBJECT * +/* 608 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 609 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 610 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 611 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_EXTENSION *) +/* 612 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 613 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 614 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_EXTENSIONS *, int) +/* 615 */ _CFFI_OP(_CFFI_OP_POINTER, 3126), // X509_EXTENSIONS * +/* 616 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 617 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 618 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(X509_REVOKED *, int) +/* 619 */ _CFFI_OP(_CFFI_OP_POINTER, 3131), // X509_REVOKED * +/* 620 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 621 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 622 */ _CFFI_OP(_CFFI_OP_FUNCTION, 40), // X509_EXTENSION *()(int, int, void *) +/* 623 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 624 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 625 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 626 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 627 */ _CFFI_OP(_CFFI_OP_FUNCTION, 615), // X509_EXTENSIONS *()(X509_REQ *) +/* 628 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 629 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 630 */ _CFFI_OP(_CFFI_OP_FUNCTION, 615), // X509_EXTENSIONS *()(void) /* 631 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 632 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(Cryptography_STACK_OF_X509_NAME *, int) -/* 633 */ _CFFI_OP(_CFFI_OP_POINTER, 3045), // Cryptography_STACK_OF_X509_NAME * +/* 632 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(Cryptography_STACK_OF_X509_NAME *, int) +/* 633 */ _CFFI_OP(_CFFI_OP_POINTER, 3045), // Cryptography_STACK_OF_X509_NAME * /* 634 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), /* 635 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 636 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(X509 *) -/* 637 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 638 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 639 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(X509_CRL *) -/* 640 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 641 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 642 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(X509_NAME *) -/* 643 */ _CFFI_OP(_CFFI_OP_POINTER, 3127), // X509_NAME * -/* 644 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 645 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(X509_REQ *) -/* 646 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 647 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 648 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(void) -/* 649 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 650 */ _CFFI_OP(_CFFI_OP_FUNCTION, 43), // X509_NAME_ENTRY *()(Cryptography_STACK_OF_X509_NAME_ENTRY *, int) -/* 651 */ _CFFI_OP(_CFFI_OP_NOOP, 175), -/* 652 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 653 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 654 */ _CFFI_OP(_CFFI_OP_FUNCTION, 43), // X509_NAME_ENTRY *()(X509_NAME *, int) -/* 655 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 656 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 657 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 658 */ _CFFI_OP(_CFFI_OP_FUNCTION, 43), // X509_NAME_ENTRY *()(X509_NAME_ENTRY * *, ASN1_OBJECT *, int, unsigned char const *, int) -/* 659 */ _CFFI_OP(_CFFI_OP_POINTER, 43), // X509_NAME_ENTRY * * -/* 660 */ _CFFI_OP(_CFFI_OP_NOOP, 607), -/* 661 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 662 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 663 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 664 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 665 */ _CFFI_OP(_CFFI_OP_FUNCTION, 537), // X509_OBJECT *()(Cryptography_STACK_OF_X509_OBJECT *, int) -/* 666 */ _CFFI_OP(_CFFI_OP_POINTER, 3047), // Cryptography_STACK_OF_X509_OBJECT * -/* 667 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 668 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 669 */ _CFFI_OP(_CFFI_OP_FUNCTION, 294), // X509_REQ *()(BIO *, X509_REQ * *) -/* 670 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 671 */ _CFFI_OP(_CFFI_OP_POINTER, 294), // X509_REQ * * -/* 672 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 673 */ _CFFI_OP(_CFFI_OP_FUNCTION, 294), // X509_REQ *()(BIO *, X509_REQ * *, int(*)(char *, int, int, void *), void *) -/* 674 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 675 */ _CFFI_OP(_CFFI_OP_NOOP, 671), -/* 676 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 677 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 678 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 679 */ _CFFI_OP(_CFFI_OP_FUNCTION, 294), // X509_REQ *()(void) -/* 680 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 681 */ _CFFI_OP(_CFFI_OP_FUNCTION, 619), // X509_REVOKED *()(Cryptography_STACK_OF_X509_REVOKED *, int) -/* 682 */ _CFFI_OP(_CFFI_OP_POINTER, 3048), // Cryptography_STACK_OF_X509_REVOKED * -/* 683 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 636 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(X509 *) +/* 637 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 638 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 639 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(X509_CRL *) +/* 640 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 641 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 642 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(X509_NAME *) +/* 643 */ _CFFI_OP(_CFFI_OP_POINTER, 3127), // X509_NAME * +/* 644 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 645 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(X509_REQ *) +/* 646 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 647 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 648 */ _CFFI_OP(_CFFI_OP_FUNCTION, 643), // X509_NAME *()(void) +/* 649 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 650 */ _CFFI_OP(_CFFI_OP_FUNCTION, 43), // X509_NAME_ENTRY *()(Cryptography_STACK_OF_X509_NAME_ENTRY *, int) +/* 651 */ _CFFI_OP(_CFFI_OP_NOOP, 175), +/* 652 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 653 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 654 */ _CFFI_OP(_CFFI_OP_FUNCTION, 43), // X509_NAME_ENTRY *()(X509_NAME *, int) +/* 655 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 656 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 657 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 658 */ _CFFI_OP(_CFFI_OP_FUNCTION, 43), // X509_NAME_ENTRY *()(X509_NAME_ENTRY * *, ASN1_OBJECT *, int, unsigned char const *, int) +/* 659 */ _CFFI_OP(_CFFI_OP_POINTER, 43), // X509_NAME_ENTRY * * +/* 660 */ _CFFI_OP(_CFFI_OP_NOOP, 607), +/* 661 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 662 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 663 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 664 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 665 */ _CFFI_OP(_CFFI_OP_FUNCTION, 537), // X509_OBJECT *()(Cryptography_STACK_OF_X509_OBJECT *, int) +/* 666 */ _CFFI_OP(_CFFI_OP_POINTER, 3047), // Cryptography_STACK_OF_X509_OBJECT * +/* 667 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 668 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 669 */ _CFFI_OP(_CFFI_OP_FUNCTION, 294), // X509_REQ *()(BIO *, X509_REQ * *) +/* 670 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 671 */ _CFFI_OP(_CFFI_OP_POINTER, 294), // X509_REQ * * +/* 672 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 673 */ _CFFI_OP(_CFFI_OP_FUNCTION, 294), // X509_REQ *()(BIO *, X509_REQ * *, int(*)(char *, int, int, void *), void *) +/* 674 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 675 */ _CFFI_OP(_CFFI_OP_NOOP, 671), +/* 676 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 677 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 678 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 679 */ _CFFI_OP(_CFFI_OP_FUNCTION, 294), // X509_REQ *()(void) +/* 680 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 681 */ _CFFI_OP(_CFFI_OP_FUNCTION, 619), // X509_REVOKED *()(Cryptography_STACK_OF_X509_REVOKED *, int) +/* 682 */ _CFFI_OP(_CFFI_OP_POINTER, 3048), // Cryptography_STACK_OF_X509_REVOKED * +/* 683 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), /* 684 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 685 */ _CFFI_OP(_CFFI_OP_FUNCTION, 619), // X509_REVOKED *()(X509_REVOKED *) -/* 686 */ _CFFI_OP(_CFFI_OP_NOOP, 619), -/* 687 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 688 */ _CFFI_OP(_CFFI_OP_FUNCTION, 619), // X509_REVOKED *()(void) -/* 689 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 690 */ _CFFI_OP(_CFFI_OP_FUNCTION, 180), // X509_STORE *()(SSL_CTX const *) -/* 691 */ _CFFI_OP(_CFFI_OP_POINTER, 3113), // SSL_CTX const * -/* 692 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 693 */ _CFFI_OP(_CFFI_OP_FUNCTION, 180), // X509_STORE *()(void) -/* 694 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 695 */ _CFFI_OP(_CFFI_OP_FUNCTION, 160), // X509_STORE_CTX *()(void) -/* 696 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 697 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(SSL *) -/* 698 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 685 */ _CFFI_OP(_CFFI_OP_FUNCTION, 619), // X509_REVOKED *()(X509_REVOKED *) +/* 686 */ _CFFI_OP(_CFFI_OP_NOOP, 619), +/* 687 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 688 */ _CFFI_OP(_CFFI_OP_FUNCTION, 619), // X509_REVOKED *()(void) +/* 689 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 690 */ _CFFI_OP(_CFFI_OP_FUNCTION, 180), // X509_STORE *()(SSL_CTX const *) +/* 691 */ _CFFI_OP(_CFFI_OP_POINTER, 3113), // SSL_CTX const * +/* 692 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 693 */ _CFFI_OP(_CFFI_OP_FUNCTION, 180), // X509_STORE *()(void) +/* 694 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 695 */ _CFFI_OP(_CFFI_OP_FUNCTION, 160), // X509_STORE_CTX *()(void) +/* 696 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 697 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(SSL *) +/* 698 */ _CFFI_OP(_CFFI_OP_NOOP, 487), /* 699 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 700 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(SSL_CTX *) -/* 701 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 702 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 703 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(X509_STORE *) -/* 704 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 705 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 706 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(X509_STORE_CTX *) -/* 707 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 708 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 709 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(void) -/* 710 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 711 */ _CFFI_OP(_CFFI_OP_FUNCTION, 409), // char *()(BIGNUM const *) -/* 712 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 713 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 714 */ _CFFI_OP(_CFFI_OP_FUNCTION, 409), // char *()(NETSCAPE_SPKI *) -/* 715 */ _CFFI_OP(_CFFI_OP_NOOP, 288), -/* 716 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 717 */ _CFFI_OP(_CFFI_OP_FUNCTION, 409), // char *()(X509_NAME *, char *, int) -/* 718 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 719 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 720 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 721 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 722 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(ENGINE const *) -/* 723 */ _CFFI_OP(_CFFI_OP_POINTER, 3061), // ENGINE const * +/* 700 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(SSL_CTX *) +/* 701 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 702 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 703 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(X509_STORE *) +/* 704 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 705 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 706 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(X509_STORE_CTX *) +/* 707 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 708 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 709 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2085), // X509_VERIFY_PARAM *()(void) +/* 710 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 711 */ _CFFI_OP(_CFFI_OP_FUNCTION, 409), // char *()(BIGNUM const *) +/* 712 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 713 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 714 */ _CFFI_OP(_CFFI_OP_FUNCTION, 409), // char *()(NETSCAPE_SPKI *) +/* 715 */ _CFFI_OP(_CFFI_OP_NOOP, 288), +/* 716 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 717 */ _CFFI_OP(_CFFI_OP_FUNCTION, 409), // char *()(X509_NAME *, char *, int) +/* 718 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 719 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 720 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 721 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 722 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(ENGINE const *) +/* 723 */ _CFFI_OP(_CFFI_OP_POINTER, 3061), // ENGINE const * /* 724 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 725 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(SSL const *) -/* 726 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 725 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(SSL const *) +/* 726 */ _CFFI_OP(_CFFI_OP_NOOP, 157), /* 727 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 728 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(SSL const *, int) -/* 729 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 730 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 731 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 732 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(SSL_CIPHER const *) -/* 733 */ _CFFI_OP(_CFFI_OP_POINTER, 3112), // SSL_CIPHER const * -/* 734 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 735 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(int) -/* 736 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 737 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 738 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(long) -/* 739 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 740 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 741 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(unsigned long) -/* 742 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), // unsigned long -/* 743 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 744 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(void) -/* 745 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 746 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1646), // ct_log_entry_type_t()(SCT const *) -/* 747 */ _CFFI_OP(_CFFI_OP_POINTER, 3108), // SCT const * +/* 728 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(SSL const *, int) +/* 729 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 730 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 731 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 732 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(SSL_CIPHER const *) +/* 733 */ _CFFI_OP(_CFFI_OP_POINTER, 3112), // SSL_CIPHER const * +/* 734 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 735 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(int) +/* 736 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 737 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 738 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(long) +/* 739 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 740 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 741 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(unsigned long) +/* 742 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), // unsigned long +/* 743 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 744 */ _CFFI_OP(_CFFI_OP_FUNCTION, 46), // char const *()(void) +/* 745 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 746 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1646), // ct_log_entry_type_t()(SCT const *) +/* 747 */ _CFFI_OP(_CFFI_OP_POINTER, 3108), // SCT const * /* 748 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 749 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(AES_KEY *, unsigned char const *, unsigned char *, unsigned char const *, unsigned int) -/* 750 */ _CFFI_OP(_CFFI_OP_POINTER, 3007), // AES_KEY * -/* 751 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 752 */ _CFFI_OP(_CFFI_OP_POINTER, 3140), // unsigned char * -/* 753 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 754 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), // unsigned int -/* 755 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 756 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_ENUMERATED *, long) -/* 757 */ _CFFI_OP(_CFFI_OP_POINTER, 3008), // ASN1_ENUMERATED * -/* 758 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 759 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 760 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_INTEGER *, long) -/* 761 */ _CFFI_OP(_CFFI_OP_NOOP, 21), -/* 762 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 763 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 764 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OBJECT const *) -/* 765 */ _CFFI_OP(_CFFI_OP_POINTER, 3015), // ASN1_OBJECT const * -/* 766 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 767 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING * *, ASN1_OBJECT * *, ASN1_OCTET_STRING * *, ASN1_INTEGER * *, OCSP_CERTID *) -/* 768 */ _CFFI_OP(_CFFI_OP_POINTER, 13), // ASN1_OCTET_STRING * * -/* 769 */ _CFFI_OP(_CFFI_OP_POINTER, 607), // ASN1_OBJECT * * -/* 770 */ _CFFI_OP(_CFFI_OP_NOOP, 768), -/* 771 */ _CFFI_OP(_CFFI_OP_POINTER, 21), // ASN1_INTEGER * * -/* 772 */ _CFFI_OP(_CFFI_OP_NOOP, 366), -/* 773 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 774 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *) -/* 775 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 776 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 777 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, char const *) -/* 778 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 779 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 749 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(AES_KEY *, unsigned char const *, unsigned char *, unsigned char const *, unsigned int) +/* 750 */ _CFFI_OP(_CFFI_OP_POINTER, 3007), // AES_KEY * +/* 751 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 752 */ _CFFI_OP(_CFFI_OP_POINTER, 3140), // unsigned char * +/* 753 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 754 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), // unsigned int +/* 755 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 756 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_ENUMERATED *, long) +/* 757 */ _CFFI_OP(_CFFI_OP_POINTER, 3008), // ASN1_ENUMERATED * +/* 758 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 759 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 760 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_INTEGER *, long) +/* 761 */ _CFFI_OP(_CFFI_OP_NOOP, 21), +/* 762 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 763 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 764 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OBJECT const *) +/* 765 */ _CFFI_OP(_CFFI_OP_POINTER, 3015), // ASN1_OBJECT const * +/* 766 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 767 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING * *, ASN1_OBJECT * *, ASN1_OCTET_STRING * *, ASN1_INTEGER * *, OCSP_CERTID *) +/* 768 */ _CFFI_OP(_CFFI_OP_POINTER, 13), // ASN1_OCTET_STRING * * +/* 769 */ _CFFI_OP(_CFFI_OP_POINTER, 607), // ASN1_OBJECT * * +/* 770 */ _CFFI_OP(_CFFI_OP_NOOP, 768), +/* 771 */ _CFFI_OP(_CFFI_OP_POINTER, 21), // ASN1_INTEGER * * +/* 772 */ _CFFI_OP(_CFFI_OP_NOOP, 366), +/* 773 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 774 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *) +/* 775 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 776 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 777 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, char const *) +/* 778 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 779 */ _CFFI_OP(_CFFI_OP_NOOP, 46), /* 780 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 781 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, int) -/* 782 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 783 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 784 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 785 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, int, int) -/* 786 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 787 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 788 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 789 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 790 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, unsigned char const *, int) -/* 791 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 792 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 793 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 794 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 795 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, void const *, int) -/* 796 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 797 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 798 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 799 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 800 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_TYPE *, unsigned char * *) -/* 801 */ _CFFI_OP(_CFFI_OP_POINTER, 3018), // ASN1_TYPE * -/* 802 */ _CFFI_OP(_CFFI_OP_POINTER, 752), // unsigned char * * -/* 803 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 804 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM * *, char const *) -/* 805 */ _CFFI_OP(_CFFI_OP_POINTER, 20), // BIGNUM * * -/* 806 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 807 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 808 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *) -/* 809 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 810 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 811 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 812 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *, BIGNUM const *) -/* 813 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 814 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 815 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 816 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 817 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *, BIGNUM const *, BIGNUM const *, BN_CTX *) -/* 818 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 819 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 820 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 821 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 822 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 823 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 824 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *, BIGNUM const *, BIGNUM const *, BN_CTX *, BN_MONT_CTX *) -/* 825 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 826 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 827 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 828 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 829 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 830 */ _CFFI_OP(_CFFI_OP_POINTER, 3026), // BN_MONT_CTX * +/* 781 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, int) +/* 782 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 783 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 784 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 785 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, int, int) +/* 786 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 787 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 788 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 789 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 790 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, unsigned char const *, int) +/* 791 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 792 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 793 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 794 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 795 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_OCTET_STRING *, void const *, int) +/* 796 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 797 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 798 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 799 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 800 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ASN1_TYPE *, unsigned char * *) +/* 801 */ _CFFI_OP(_CFFI_OP_POINTER, 3018), // ASN1_TYPE * +/* 802 */ _CFFI_OP(_CFFI_OP_POINTER, 752), // unsigned char * * +/* 803 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 804 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM * *, char const *) +/* 805 */ _CFFI_OP(_CFFI_OP_POINTER, 20), // BIGNUM * * +/* 806 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 807 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 808 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *) +/* 809 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 810 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 811 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 812 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *, BIGNUM const *) +/* 813 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 814 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 815 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 816 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 817 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *, BIGNUM const *, BIGNUM const *, BN_CTX *) +/* 818 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 819 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 820 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 821 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 822 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 823 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 824 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *, BIGNUM const *, BIGNUM const *, BN_CTX *, BN_MONT_CTX *) +/* 825 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 826 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 827 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 828 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 829 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 830 */ _CFFI_OP(_CFFI_OP_POINTER, 3026), // BN_MONT_CTX * /* 831 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 832 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *, BIGNUM const *, BN_CTX *) -/* 833 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 834 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 835 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 836 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 837 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 838 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BN_ULONG) -/* 839 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 840 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, _cffi_prim_int(sizeof(BN_ULONG), ( - ((BN_ULONG)-1) | 0 /* check that BN_ULONG is an integer type */ - ) <= 0)), // BN_ULONG -/* 841 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 842 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, int, int, BIGNUM const *, BIGNUM const *, BN_GENCB *) -/* 843 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 844 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 845 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 846 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 847 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 848 */ _CFFI_OP(_CFFI_OP_POINTER, 3025), // BN_GENCB * -/* 849 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 850 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM const *) -/* 851 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 852 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 853 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM const *, BIGNUM const *) -/* 854 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 855 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 856 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 857 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM const *, int, BN_CTX *, BN_GENCB *) -/* 858 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 859 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 860 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 861 */ _CFFI_OP(_CFFI_OP_NOOP, 848), -/* 862 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 863 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM const *, unsigned char *) -/* 864 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 865 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 866 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 867 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *) -/* 868 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 869 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 870 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, ASN1_INTEGER *) -/* 871 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 872 */ _CFFI_OP(_CFFI_OP_NOOP, 21), -/* 873 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 874 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, DH *) -/* 875 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 876 */ _CFFI_OP(_CFFI_OP_NOOP, 196), -/* 877 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 878 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, DSA *) -/* 879 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 880 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 881 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 882 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, DSA *, EVP_CIPHER const *, unsigned char *, int, int(*)(char *, int, int, void *), void *) -/* 883 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 884 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 885 */ _CFFI_OP(_CFFI_OP_POINTER, 3062), // EVP_CIPHER const * -/* 886 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 887 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 888 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 889 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 890 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 891 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EC_KEY *) -/* 892 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 893 */ _CFFI_OP(_CFFI_OP_POINTER, 3055), // EC_KEY * -/* 894 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 895 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EC_KEY *, EVP_CIPHER const *, unsigned char *, int, int(*)(char *, int, int, void *), void *) -/* 896 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 897 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 898 */ _CFFI_OP(_CFFI_OP_NOOP, 885), -/* 899 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 900 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 901 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 902 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 832 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BIGNUM const *, BIGNUM const *, BN_CTX *) +/* 833 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 834 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 835 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 836 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 837 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 838 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, BN_ULONG) +/* 839 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 840 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, _cffi_prim_int(sizeof(BN_ULONG), ( + ((BN_ULONG)-1) | 0 /* check that BN_ULONG is an integer type */ + ) <= 0)), // BN_ULONG +/* 841 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 842 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM *, int, int, BIGNUM const *, BIGNUM const *, BN_GENCB *) +/* 843 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 844 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 845 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 846 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 847 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 848 */ _CFFI_OP(_CFFI_OP_POINTER, 3025), // BN_GENCB * +/* 849 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 850 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM const *) +/* 851 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 852 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 853 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM const *, BIGNUM const *) +/* 854 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 855 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 856 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 857 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM const *, int, BN_CTX *, BN_GENCB *) +/* 858 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 859 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 860 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 861 */ _CFFI_OP(_CFFI_OP_NOOP, 848), +/* 862 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 863 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIGNUM const *, unsigned char *) +/* 864 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 865 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 866 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 867 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *) +/* 868 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 869 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 870 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, ASN1_INTEGER *) +/* 871 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 872 */ _CFFI_OP(_CFFI_OP_NOOP, 21), +/* 873 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 874 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, DH *) +/* 875 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 876 */ _CFFI_OP(_CFFI_OP_NOOP, 196), +/* 877 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 878 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, DSA *) +/* 879 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 880 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 881 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 882 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, DSA *, EVP_CIPHER const *, unsigned char *, int, int(*)(char *, int, int, void *), void *) +/* 883 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 884 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 885 */ _CFFI_OP(_CFFI_OP_POINTER, 3062), // EVP_CIPHER const * +/* 886 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 887 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 888 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 889 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 890 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 891 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EC_KEY *) +/* 892 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 893 */ _CFFI_OP(_CFFI_OP_POINTER, 3055), // EC_KEY * +/* 894 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 895 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EC_KEY *, EVP_CIPHER const *, unsigned char *, int, int(*)(char *, int, int, void *), void *) +/* 896 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 897 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 898 */ _CFFI_OP(_CFFI_OP_NOOP, 885), +/* 899 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 900 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 901 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 902 */ _CFFI_OP(_CFFI_OP_NOOP, 193), /* 903 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 904 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EVP_PKEY *) -/* 905 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 906 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 907 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 908 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EVP_PKEY *, EVP_CIPHER const *, char *, int, int(*)(char *, int, int, void *), void *) -/* 909 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 910 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 911 */ _CFFI_OP(_CFFI_OP_NOOP, 885), -/* 912 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 913 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 914 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 915 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 916 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 917 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EVP_PKEY *, EVP_CIPHER const *, unsigned char *, int, int(*)(char *, int, int, void *), void *) -/* 918 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 919 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 920 */ _CFFI_OP(_CFFI_OP_NOOP, 885), -/* 921 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 922 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 923 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 924 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 925 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 926 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, GENERAL_NAME *) -/* 927 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 928 */ _CFFI_OP(_CFFI_OP_POINTER, 3069), // GENERAL_NAME * -/* 929 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 930 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, OCSP_REQUEST *) -/* 931 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 932 */ _CFFI_OP(_CFFI_OP_NOOP, 365), -/* 933 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 934 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, OCSP_RESPONSE *) -/* 935 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 936 */ _CFFI_OP(_CFFI_OP_NOOP, 349), -/* 937 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 938 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, PKCS12 *) -/* 939 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 940 */ _CFFI_OP(_CFFI_OP_POINTER, 3088), // PKCS12 * -/* 941 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 942 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, PKCS7 *) -/* 943 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 944 */ _CFFI_OP(_CFFI_OP_NOOP, 442), -/* 945 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 946 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, PKCS7 *, BIO *, int) -/* 947 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 948 */ _CFFI_OP(_CFFI_OP_NOOP, 442), -/* 949 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 950 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 951 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 952 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, RSA *) -/* 953 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 954 */ _CFFI_OP(_CFFI_OP_NOOP, 476), -/* 955 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 956 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, RSA *, EVP_CIPHER const *, unsigned char *, int, int(*)(char *, int, int, void *), void *) -/* 957 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 958 */ _CFFI_OP(_CFFI_OP_NOOP, 476), -/* 959 */ _CFFI_OP(_CFFI_OP_NOOP, 885), -/* 960 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 961 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 962 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 963 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 964 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 965 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, RSA const *) -/* 966 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 967 */ _CFFI_OP(_CFFI_OP_POINTER, 3107), // RSA const * -/* 968 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 969 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, RSA const *, int) -/* 970 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 971 */ _CFFI_OP(_CFFI_OP_NOOP, 967), -/* 972 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 973 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 974 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509 *) -/* 975 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 976 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 977 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 978 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509 *, unsigned long, unsigned long) -/* 979 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 980 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 981 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 982 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 983 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 984 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_CRL *) -/* 985 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 986 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 987 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 988 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_EXTENSION *, unsigned long, int) -/* 989 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 990 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 991 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 992 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 993 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 994 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_NAME *, int, unsigned long) -/* 995 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 996 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 997 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 998 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 999 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1000 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_REQ *) -/* 1001 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 1002 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 1003 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1004 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_REQ *, unsigned long, unsigned long) -/* 1005 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 1006 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 1007 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 1008 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 1009 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1010 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, char *, int) -/* 1011 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 1012 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 1013 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1014 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1015 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, void *, int) -/* 1016 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 1017 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1018 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1019 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1020 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, void const *, int) -/* 1021 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 1022 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 1023 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1024 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1025 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BN_MONT_CTX *, BIGNUM const *, BN_CTX *) -/* 1026 */ _CFFI_OP(_CFFI_OP_NOOP, 830), -/* 1027 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 1028 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 904 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EVP_PKEY *) +/* 905 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 906 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 907 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 908 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EVP_PKEY *, EVP_CIPHER const *, char *, int, int(*)(char *, int, int, void *), void *) +/* 909 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 910 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 911 */ _CFFI_OP(_CFFI_OP_NOOP, 885), +/* 912 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 913 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 914 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 915 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 916 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 917 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, EVP_PKEY *, EVP_CIPHER const *, unsigned char *, int, int(*)(char *, int, int, void *), void *) +/* 918 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 919 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 920 */ _CFFI_OP(_CFFI_OP_NOOP, 885), +/* 921 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 922 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 923 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 924 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 925 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 926 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, GENERAL_NAME *) +/* 927 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 928 */ _CFFI_OP(_CFFI_OP_POINTER, 3069), // GENERAL_NAME * +/* 929 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 930 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, OCSP_REQUEST *) +/* 931 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 932 */ _CFFI_OP(_CFFI_OP_NOOP, 365), +/* 933 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 934 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, OCSP_RESPONSE *) +/* 935 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 936 */ _CFFI_OP(_CFFI_OP_NOOP, 349), +/* 937 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 938 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, PKCS12 *) +/* 939 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 940 */ _CFFI_OP(_CFFI_OP_POINTER, 3088), // PKCS12 * +/* 941 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 942 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, PKCS7 *) +/* 943 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 944 */ _CFFI_OP(_CFFI_OP_NOOP, 442), +/* 945 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 946 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, PKCS7 *, BIO *, int) +/* 947 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 948 */ _CFFI_OP(_CFFI_OP_NOOP, 442), +/* 949 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 950 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 951 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 952 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, RSA *) +/* 953 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 954 */ _CFFI_OP(_CFFI_OP_NOOP, 476), +/* 955 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 956 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, RSA *, EVP_CIPHER const *, unsigned char *, int, int(*)(char *, int, int, void *), void *) +/* 957 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 958 */ _CFFI_OP(_CFFI_OP_NOOP, 476), +/* 959 */ _CFFI_OP(_CFFI_OP_NOOP, 885), +/* 960 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 961 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 962 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 963 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 964 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 965 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, RSA const *) +/* 966 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 967 */ _CFFI_OP(_CFFI_OP_POINTER, 3107), // RSA const * +/* 968 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 969 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, RSA const *, int) +/* 970 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 971 */ _CFFI_OP(_CFFI_OP_NOOP, 967), +/* 972 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 973 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 974 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509 *) +/* 975 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 976 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 977 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 978 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509 *, unsigned long, unsigned long) +/* 979 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 980 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 981 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 982 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 983 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 984 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_CRL *) +/* 985 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 986 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 987 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 988 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_EXTENSION *, unsigned long, int) +/* 989 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 990 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 991 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 992 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 993 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 994 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_NAME *, int, unsigned long) +/* 995 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 996 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 997 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 998 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 999 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1000 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_REQ *) +/* 1001 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 1002 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 1003 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1004 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, X509_REQ *, unsigned long, unsigned long) +/* 1005 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 1006 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 1007 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 1008 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 1009 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1010 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, char *, int) +/* 1011 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 1012 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 1013 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1014 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1015 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, void *, int) +/* 1016 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 1017 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1018 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1019 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1020 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BIO *, void const *, int) +/* 1021 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 1022 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 1023 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1024 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1025 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(BN_MONT_CTX *, BIGNUM const *, BN_CTX *) +/* 1026 */ _CFFI_OP(_CFFI_OP_NOOP, 830), +/* 1027 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 1028 */ _CFFI_OP(_CFFI_OP_NOOP, 94), /* 1029 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1030 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(CMAC_CTX *, CMAC_CTX const *) -/* 1031 */ _CFFI_OP(_CFFI_OP_POINTER, 3027), // CMAC_CTX * -/* 1032 */ _CFFI_OP(_CFFI_OP_POINTER, 3027), // CMAC_CTX const * -/* 1033 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1034 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(CMAC_CTX *, unsigned char *, size_t *) -/* 1035 */ _CFFI_OP(_CFFI_OP_NOOP, 1031), -/* 1036 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1037 */ _CFFI_OP(_CFFI_OP_POINTER, 300), // size_t * -/* 1038 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1039 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(CMAC_CTX *, void const *, size_t) -/* 1040 */ _CFFI_OP(_CFFI_OP_NOOP, 1031), -/* 1041 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 1042 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1030 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(CMAC_CTX *, CMAC_CTX const *) +/* 1031 */ _CFFI_OP(_CFFI_OP_POINTER, 3027), // CMAC_CTX * +/* 1032 */ _CFFI_OP(_CFFI_OP_POINTER, 3027), // CMAC_CTX const * +/* 1033 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1034 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(CMAC_CTX *, unsigned char *, size_t *) +/* 1035 */ _CFFI_OP(_CFFI_OP_NOOP, 1031), +/* 1036 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1037 */ _CFFI_OP(_CFFI_OP_POINTER, 300), // size_t * +/* 1038 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1039 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(CMAC_CTX *, void const *, size_t) +/* 1040 */ _CFFI_OP(_CFFI_OP_NOOP, 1031), +/* 1041 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 1042 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), /* 1043 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1044 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(CMAC_CTX *, void const *, size_t, EVP_CIPHER const *, ENGINE *) -/* 1045 */ _CFFI_OP(_CFFI_OP_NOOP, 1031), -/* 1046 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 1047 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1048 */ _CFFI_OP(_CFFI_OP_NOOP, 885), -/* 1049 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 1050 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1051 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *) -/* 1052 */ _CFFI_OP(_CFFI_OP_NOOP, 1), -/* 1053 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1054 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *, ACCESS_DESCRIPTION *) -/* 1055 */ _CFFI_OP(_CFFI_OP_NOOP, 1), -/* 1056 */ _CFFI_OP(_CFFI_OP_POINTER, 3006), // ACCESS_DESCRIPTION * -/* 1057 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1058 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ASN1_INTEGER *) -/* 1059 */ _CFFI_OP(_CFFI_OP_NOOP, 24), -/* 1060 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1061 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ASN1_INTEGER *, ASN1_INTEGER *) -/* 1062 */ _CFFI_OP(_CFFI_OP_NOOP, 24), -/* 1063 */ _CFFI_OP(_CFFI_OP_NOOP, 21), -/* 1064 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1065 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ASN1_OBJECT *) -/* 1066 */ _CFFI_OP(_CFFI_OP_NOOP, 36), -/* 1067 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1068 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ASN1_OBJECT *, ASN1_OBJECT *) -/* 1069 */ _CFFI_OP(_CFFI_OP_NOOP, 36), -/* 1070 */ _CFFI_OP(_CFFI_OP_NOOP, 607), -/* 1071 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1072 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_DIST_POINT *) -/* 1073 */ _CFFI_OP(_CFFI_OP_NOOP, 204), -/* 1074 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1075 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_DIST_POINT *, DIST_POINT *) -/* 1076 */ _CFFI_OP(_CFFI_OP_NOOP, 204), -/* 1077 */ _CFFI_OP(_CFFI_OP_POINTER, 3050), // DIST_POINT * -/* 1078 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1079 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_GENERAL_SUBTREE *) -/* 1080 */ _CFFI_OP(_CFFI_OP_NOOP, 329), -/* 1081 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1082 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_GENERAL_SUBTREE *, GENERAL_SUBTREE *) -/* 1083 */ _CFFI_OP(_CFFI_OP_NOOP, 329), -/* 1084 */ _CFFI_OP(_CFFI_OP_POINTER, 3071), // GENERAL_SUBTREE * -/* 1085 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1086 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_POLICYINFO *) -/* 1087 */ _CFFI_OP(_CFFI_OP_NOOP, 449), -/* 1088 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1089 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_POLICYINFO *, POLICYINFO *) -/* 1090 */ _CFFI_OP(_CFFI_OP_NOOP, 449), -/* 1091 */ _CFFI_OP(_CFFI_OP_POINTER, 3103), // POLICYINFO * -/* 1092 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1093 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_POLICYQUALINFO *) -/* 1094 */ _CFFI_OP(_CFFI_OP_NOOP, 455), -/* 1095 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1096 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_POLICYQUALINFO *, POLICYQUALINFO *) -/* 1097 */ _CFFI_OP(_CFFI_OP_NOOP, 455), -/* 1098 */ _CFFI_OP(_CFFI_OP_POINTER, 3104), // POLICYQUALINFO * -/* 1099 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1100 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_SCT *, SCT *) -/* 1101 */ _CFFI_OP(_CFFI_OP_POINTER, 3041), // Cryptography_STACK_OF_SCT * -/* 1102 */ _CFFI_OP(_CFFI_OP_POINTER, 3108), // SCT * -/* 1103 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1104 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_SCT const *) -/* 1105 */ _CFFI_OP(_CFFI_OP_NOOP, 481), -/* 1106 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1107 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_SSL_CIPHER *) -/* 1108 */ _CFFI_OP(_CFFI_OP_NOOP, 493), -/* 1109 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1110 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509 *) -/* 1111 */ _CFFI_OP(_CFFI_OP_NOOP, 413), -/* 1112 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1113 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509 *, X509 *) -/* 1114 */ _CFFI_OP(_CFFI_OP_NOOP, 413), -/* 1115 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1116 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1117 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_CRL *) -/* 1118 */ _CFFI_OP(_CFFI_OP_NOOP, 565), -/* 1119 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1120 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_CRL *, X509_CRL *) -/* 1121 */ _CFFI_OP(_CFFI_OP_NOOP, 565), -/* 1122 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1123 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1124 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_NAME *) -/* 1125 */ _CFFI_OP(_CFFI_OP_NOOP, 633), -/* 1126 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1127 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_NAME *, X509_NAME *) -/* 1128 */ _CFFI_OP(_CFFI_OP_NOOP, 633), -/* 1129 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 1130 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1131 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_NAME_ENTRY *) -/* 1132 */ _CFFI_OP(_CFFI_OP_NOOP, 175), -/* 1133 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1134 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_NAME_ENTRY *, X509_NAME_ENTRY *) -/* 1135 */ _CFFI_OP(_CFFI_OP_NOOP, 175), -/* 1136 */ _CFFI_OP(_CFFI_OP_NOOP, 43), -/* 1137 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1138 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_OBJECT *) -/* 1139 */ _CFFI_OP(_CFFI_OP_NOOP, 666), -/* 1140 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1141 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_REVOKED *) -/* 1142 */ _CFFI_OP(_CFFI_OP_NOOP, 682), -/* 1143 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1144 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH *) -/* 1145 */ _CFFI_OP(_CFFI_OP_NOOP, 196), -/* 1146 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1147 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH *, BIGNUM *, BIGNUM *) -/* 1148 */ _CFFI_OP(_CFFI_OP_NOOP, 196), -/* 1149 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1150 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1151 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1152 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH *, BIGNUM *, BIGNUM *, BIGNUM *) -/* 1153 */ _CFFI_OP(_CFFI_OP_NOOP, 196), -/* 1154 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1155 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1156 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1157 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1158 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH *, int, int, BN_GENCB *) -/* 1159 */ _CFFI_OP(_CFFI_OP_NOOP, 196), -/* 1160 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1161 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1162 */ _CFFI_OP(_CFFI_OP_NOOP, 848), -/* 1163 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1164 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH const *) -/* 1165 */ _CFFI_OP(_CFFI_OP_POINTER, 3049), // DH const * +/* 1044 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(CMAC_CTX *, void const *, size_t, EVP_CIPHER const *, ENGINE *) +/* 1045 */ _CFFI_OP(_CFFI_OP_NOOP, 1031), +/* 1046 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 1047 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1048 */ _CFFI_OP(_CFFI_OP_NOOP, 885), +/* 1049 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 1050 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1051 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *) +/* 1052 */ _CFFI_OP(_CFFI_OP_NOOP, 1), +/* 1053 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1054 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *, ACCESS_DESCRIPTION *) +/* 1055 */ _CFFI_OP(_CFFI_OP_NOOP, 1), +/* 1056 */ _CFFI_OP(_CFFI_OP_POINTER, 3006), // ACCESS_DESCRIPTION * +/* 1057 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1058 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ASN1_INTEGER *) +/* 1059 */ _CFFI_OP(_CFFI_OP_NOOP, 24), +/* 1060 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1061 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ASN1_INTEGER *, ASN1_INTEGER *) +/* 1062 */ _CFFI_OP(_CFFI_OP_NOOP, 24), +/* 1063 */ _CFFI_OP(_CFFI_OP_NOOP, 21), +/* 1064 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1065 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ASN1_OBJECT *) +/* 1066 */ _CFFI_OP(_CFFI_OP_NOOP, 36), +/* 1067 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1068 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_ASN1_OBJECT *, ASN1_OBJECT *) +/* 1069 */ _CFFI_OP(_CFFI_OP_NOOP, 36), +/* 1070 */ _CFFI_OP(_CFFI_OP_NOOP, 607), +/* 1071 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1072 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_DIST_POINT *) +/* 1073 */ _CFFI_OP(_CFFI_OP_NOOP, 204), +/* 1074 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1075 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_DIST_POINT *, DIST_POINT *) +/* 1076 */ _CFFI_OP(_CFFI_OP_NOOP, 204), +/* 1077 */ _CFFI_OP(_CFFI_OP_POINTER, 3050), // DIST_POINT * +/* 1078 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1079 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_GENERAL_SUBTREE *) +/* 1080 */ _CFFI_OP(_CFFI_OP_NOOP, 329), +/* 1081 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1082 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_GENERAL_SUBTREE *, GENERAL_SUBTREE *) +/* 1083 */ _CFFI_OP(_CFFI_OP_NOOP, 329), +/* 1084 */ _CFFI_OP(_CFFI_OP_POINTER, 3071), // GENERAL_SUBTREE * +/* 1085 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1086 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_POLICYINFO *) +/* 1087 */ _CFFI_OP(_CFFI_OP_NOOP, 449), +/* 1088 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1089 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_POLICYINFO *, POLICYINFO *) +/* 1090 */ _CFFI_OP(_CFFI_OP_NOOP, 449), +/* 1091 */ _CFFI_OP(_CFFI_OP_POINTER, 3103), // POLICYINFO * +/* 1092 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1093 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_POLICYQUALINFO *) +/* 1094 */ _CFFI_OP(_CFFI_OP_NOOP, 455), +/* 1095 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1096 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_POLICYQUALINFO *, POLICYQUALINFO *) +/* 1097 */ _CFFI_OP(_CFFI_OP_NOOP, 455), +/* 1098 */ _CFFI_OP(_CFFI_OP_POINTER, 3104), // POLICYQUALINFO * +/* 1099 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1100 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_SCT *, SCT *) +/* 1101 */ _CFFI_OP(_CFFI_OP_POINTER, 3041), // Cryptography_STACK_OF_SCT * +/* 1102 */ _CFFI_OP(_CFFI_OP_POINTER, 3108), // SCT * +/* 1103 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1104 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_SCT const *) +/* 1105 */ _CFFI_OP(_CFFI_OP_NOOP, 481), +/* 1106 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1107 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_SSL_CIPHER *) +/* 1108 */ _CFFI_OP(_CFFI_OP_NOOP, 493), +/* 1109 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1110 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509 *) +/* 1111 */ _CFFI_OP(_CFFI_OP_NOOP, 413), +/* 1112 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1113 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509 *, X509 *) +/* 1114 */ _CFFI_OP(_CFFI_OP_NOOP, 413), +/* 1115 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1116 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1117 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_CRL *) +/* 1118 */ _CFFI_OP(_CFFI_OP_NOOP, 565), +/* 1119 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1120 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_CRL *, X509_CRL *) +/* 1121 */ _CFFI_OP(_CFFI_OP_NOOP, 565), +/* 1122 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1123 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1124 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_NAME *) +/* 1125 */ _CFFI_OP(_CFFI_OP_NOOP, 633), +/* 1126 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1127 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_NAME *, X509_NAME *) +/* 1128 */ _CFFI_OP(_CFFI_OP_NOOP, 633), +/* 1129 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 1130 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1131 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_NAME_ENTRY *) +/* 1132 */ _CFFI_OP(_CFFI_OP_NOOP, 175), +/* 1133 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1134 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_NAME_ENTRY *, X509_NAME_ENTRY *) +/* 1135 */ _CFFI_OP(_CFFI_OP_NOOP, 175), +/* 1136 */ _CFFI_OP(_CFFI_OP_NOOP, 43), +/* 1137 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1138 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_OBJECT *) +/* 1139 */ _CFFI_OP(_CFFI_OP_NOOP, 666), +/* 1140 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1141 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(Cryptography_STACK_OF_X509_REVOKED *) +/* 1142 */ _CFFI_OP(_CFFI_OP_NOOP, 682), +/* 1143 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1144 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH *) +/* 1145 */ _CFFI_OP(_CFFI_OP_NOOP, 196), +/* 1146 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1147 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH *, BIGNUM *, BIGNUM *) +/* 1148 */ _CFFI_OP(_CFFI_OP_NOOP, 196), +/* 1149 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1150 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1151 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1152 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH *, BIGNUM *, BIGNUM *, BIGNUM *) +/* 1153 */ _CFFI_OP(_CFFI_OP_NOOP, 196), +/* 1154 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1155 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1156 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1157 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1158 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH *, int, int, BN_GENCB *) +/* 1159 */ _CFFI_OP(_CFFI_OP_NOOP, 196), +/* 1160 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1161 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1162 */ _CFFI_OP(_CFFI_OP_NOOP, 848), +/* 1163 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1164 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH const *) +/* 1165 */ _CFFI_OP(_CFFI_OP_POINTER, 3049), // DH const * /* 1166 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1167 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH const *, int *) -/* 1168 */ _CFFI_OP(_CFFI_OP_NOOP, 1165), -/* 1169 */ _CFFI_OP(_CFFI_OP_POINTER, 2), // int * -/* 1170 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1171 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA *) -/* 1172 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 1173 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1174 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA *, BIGNUM *, BIGNUM *) -/* 1175 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 1176 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1177 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1178 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1179 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA *, BIGNUM *, BIGNUM *, BIGNUM *) -/* 1180 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 1181 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1182 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1183 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1184 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1185 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA *, int, unsigned char *, int, int *, unsigned long *, BN_GENCB *) -/* 1186 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 1187 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1188 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1189 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1190 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1191 */ _CFFI_OP(_CFFI_OP_POINTER, 742), // unsigned long * -/* 1192 */ _CFFI_OP(_CFFI_OP_NOOP, 848), -/* 1193 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1194 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA const *) -/* 1195 */ _CFFI_OP(_CFFI_OP_POINTER, 3052), // DSA const * -/* 1196 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1197 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *) -/* 1198 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1199 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1200 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, BIGNUM *, BN_CTX *) -/* 1201 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1202 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1203 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1204 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1205 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, BIGNUM const *, BIGNUM const *, BN_CTX *) -/* 1206 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1207 */ _CFFI_OP(_CFFI_OP_POINTER, 3057), // EC_POINT * -/* 1208 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 1209 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 1210 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1211 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1212 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, BIGNUM const *, EC_POINT const *, BIGNUM const *, BN_CTX *) -/* 1213 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1214 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), -/* 1215 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 1216 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1217 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 1218 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1219 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1220 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, BIGNUM const *, int, BN_CTX *) -/* 1221 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1222 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), -/* 1223 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 1224 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1225 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1167 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DH const *, int *) +/* 1168 */ _CFFI_OP(_CFFI_OP_NOOP, 1165), +/* 1169 */ _CFFI_OP(_CFFI_OP_POINTER, 2), // int * +/* 1170 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1171 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA *) +/* 1172 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 1173 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1174 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA *, BIGNUM *, BIGNUM *) +/* 1175 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 1176 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1177 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1178 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1179 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA *, BIGNUM *, BIGNUM *, BIGNUM *) +/* 1180 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 1181 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1182 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1183 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1184 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1185 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA *, int, unsigned char *, int, int *, unsigned long *, BN_GENCB *) +/* 1186 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 1187 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1188 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1189 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1190 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1191 */ _CFFI_OP(_CFFI_OP_POINTER, 742), // unsigned long * +/* 1192 */ _CFFI_OP(_CFFI_OP_NOOP, 848), +/* 1193 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1194 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(DSA const *) +/* 1195 */ _CFFI_OP(_CFFI_OP_POINTER, 3052), // DSA const * +/* 1196 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1197 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *) +/* 1198 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1199 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1200 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, BIGNUM *, BN_CTX *) +/* 1201 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1202 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1203 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1204 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1205 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, BIGNUM const *, BIGNUM const *, BN_CTX *) +/* 1206 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1207 */ _CFFI_OP(_CFFI_OP_POINTER, 3057), // EC_POINT * +/* 1208 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 1209 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 1210 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1211 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1212 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, BIGNUM const *, EC_POINT const *, BIGNUM const *, BN_CTX *) +/* 1213 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1214 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), +/* 1215 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 1216 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1217 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 1218 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1219 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1220 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, BIGNUM const *, int, BN_CTX *) +/* 1221 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1222 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), +/* 1223 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 1224 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1225 */ _CFFI_OP(_CFFI_OP_NOOP, 94), /* 1226 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1227 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, BN_CTX *) -/* 1228 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1229 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), -/* 1230 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1231 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1232 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, EC_POINT const *, BN_CTX *) -/* 1233 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1234 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), -/* 1235 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1236 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1237 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1238 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, EC_POINT const *, EC_POINT const *, BN_CTX *) -/* 1239 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1240 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), -/* 1241 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1242 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1243 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1244 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1245 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, unsigned char const *, size_t, BN_CTX *) -/* 1246 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1247 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), -/* 1248 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1249 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1250 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1251 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1252 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT const *) -/* 1253 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1254 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1255 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1256 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT const *, BIGNUM *, BIGNUM *, BN_CTX *) -/* 1257 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1258 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1259 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1260 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1261 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1262 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1263 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT const *, BN_CTX *) -/* 1264 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1265 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1266 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1267 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1268 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT const *, EC_POINT const *, BN_CTX *) -/* 1269 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1270 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1271 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1272 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1273 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1274 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *) -/* 1275 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 1276 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1277 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *, BIGNUM *, BIGNUM *) -/* 1278 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 1279 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1280 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1281 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1282 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *, BIGNUM const *) -/* 1283 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 1284 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 1285 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1286 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *, EC_GROUP const *) -/* 1287 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 1288 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 1289 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1290 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *, EC_POINT const *) -/* 1291 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 1292 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 1293 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1294 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY const *) -/* 1295 */ _CFFI_OP(_CFFI_OP_NOOP, 110), -/* 1296 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1297 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_METHOD const *) -/* 1298 */ _CFFI_OP(_CFFI_OP_POINTER, 3056), // EC_METHOD const * -/* 1299 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1300 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ENGINE *) -/* 1301 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 1302 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1303 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ENGINE *, char const *, char const *, int) -/* 1304 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 1305 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1306 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1307 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1308 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1309 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ENGINE *, char const *, long, void *, void(*)(void), int) -/* 1310 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 1311 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1312 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 1313 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1314 */ _CFFI_OP(_CFFI_OP_POINTER, 2998), // void(*)(void) -/* 1315 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1316 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1317 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *) -/* 1318 */ _CFFI_OP(_CFFI_OP_POINTER, 3063), // EVP_CIPHER_CTX * +/* 1227 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, BN_CTX *) +/* 1228 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1229 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), +/* 1230 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1231 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1232 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, EC_POINT const *, BN_CTX *) +/* 1233 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1234 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), +/* 1235 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1236 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1237 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1238 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, EC_POINT const *, EC_POINT const *, BN_CTX *) +/* 1239 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1240 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), +/* 1241 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1242 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1243 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1244 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1245 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT *, unsigned char const *, size_t, BN_CTX *) +/* 1246 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1247 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), +/* 1248 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1249 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1250 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1251 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1252 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT const *) +/* 1253 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1254 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1255 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1256 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT const *, BIGNUM *, BIGNUM *, BN_CTX *) +/* 1257 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1258 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1259 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1260 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1261 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1262 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1263 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT const *, BN_CTX *) +/* 1264 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1265 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1266 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1267 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1268 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_GROUP const *, EC_POINT const *, EC_POINT const *, BN_CTX *) +/* 1269 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1270 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1271 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1272 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1273 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1274 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *) +/* 1275 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 1276 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1277 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *, BIGNUM *, BIGNUM *) +/* 1278 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 1279 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1280 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1281 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1282 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *, BIGNUM const *) +/* 1283 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 1284 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 1285 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1286 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *, EC_GROUP const *) +/* 1287 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 1288 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 1289 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1290 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY *, EC_POINT const *) +/* 1291 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 1292 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 1293 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1294 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_KEY const *) +/* 1295 */ _CFFI_OP(_CFFI_OP_NOOP, 110), +/* 1296 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1297 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EC_METHOD const *) +/* 1298 */ _CFFI_OP(_CFFI_OP_POINTER, 3056), // EC_METHOD const * +/* 1299 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1300 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ENGINE *) +/* 1301 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 1302 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1303 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ENGINE *, char const *, char const *, int) +/* 1304 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 1305 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1306 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1307 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1308 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1309 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(ENGINE *, char const *, long, void *, void(*)(void), int) +/* 1310 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 1311 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1312 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 1313 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1314 */ _CFFI_OP(_CFFI_OP_POINTER, 2998), // void(*)(void) +/* 1315 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1316 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1317 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *) +/* 1318 */ _CFFI_OP(_CFFI_OP_POINTER, 3063), // EVP_CIPHER_CTX * /* 1319 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1320 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, EVP_CIPHER const *, ENGINE *, unsigned char const *, unsigned char const *, int) -/* 1321 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), -/* 1322 */ _CFFI_OP(_CFFI_OP_NOOP, 885), -/* 1323 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 1324 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1325 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1326 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1327 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1328 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, int) -/* 1329 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), -/* 1330 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1331 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1332 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, int, int, void *) -/* 1333 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), -/* 1334 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1335 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1336 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1337 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1338 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, unsigned char *, int *) -/* 1339 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), -/* 1340 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1341 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1342 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1343 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, unsigned char *, int *, unsigned char const *, int) -/* 1344 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), -/* 1345 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1346 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1347 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1348 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1349 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1350 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, EVP_MD const *) -/* 1351 */ _CFFI_OP(_CFFI_OP_POINTER, 3065), // EVP_MD_CTX * -/* 1352 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1353 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1354 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, EVP_MD const *, ENGINE *) -/* 1355 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1356 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1357 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 1358 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1359 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, EVP_MD_CTX const *) -/* 1360 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1361 */ _CFFI_OP(_CFFI_OP_POINTER, 3065), // EVP_MD_CTX const * -/* 1362 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1363 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, EVP_PKEY_CTX * *, EVP_MD const *, ENGINE *, EVP_PKEY *) -/* 1364 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1365 */ _CFFI_OP(_CFFI_OP_POINTER, 309), // EVP_PKEY_CTX * * -/* 1366 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1367 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 1368 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1369 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1370 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, size_t *) -/* 1371 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1372 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1373 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), -/* 1374 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1375 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, size_t *, unsigned char const *, size_t) -/* 1376 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1377 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1378 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), -/* 1379 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1380 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1381 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1382 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, size_t) -/* 1383 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1384 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1385 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1386 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1387 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, unsigned int *) -/* 1388 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1389 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1390 */ _CFFI_OP(_CFFI_OP_POINTER, 754), // unsigned int * -/* 1391 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1392 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, unsigned int *, EVP_PKEY *) -/* 1393 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1394 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1395 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), -/* 1396 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1397 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1398 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char const *, size_t, unsigned char const *, size_t) -/* 1399 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1400 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1401 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1402 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1403 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1404 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1405 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char const *, unsigned int, EVP_PKEY *) -/* 1406 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1407 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1408 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 1409 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1410 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1411 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, void const *, size_t) -/* 1412 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 1413 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 1414 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1415 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1416 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *) -/* 1417 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1418 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1419 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, DH *) -/* 1420 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1421 */ _CFFI_OP(_CFFI_OP_NOOP, 196), -/* 1422 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1423 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, DSA *) -/* 1424 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1425 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 1426 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1427 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, EC_KEY *) -/* 1428 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1429 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 1430 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1431 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, RSA *) -/* 1432 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1433 */ _CFFI_OP(_CFFI_OP_NOOP, 476), -/* 1434 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1435 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, int) -/* 1436 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1437 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1438 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1439 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, unsigned char const *, size_t) -/* 1440 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1441 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1442 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1443 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1444 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY const *) -/* 1445 */ _CFFI_OP(_CFFI_OP_POINTER, 3066), // EVP_PKEY const * -/* 1446 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1447 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY const *, EVP_PKEY const *) -/* 1448 */ _CFFI_OP(_CFFI_OP_NOOP, 1445), -/* 1449 */ _CFFI_OP(_CFFI_OP_NOOP, 1445), -/* 1450 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1451 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY const *, unsigned char *, size_t *) -/* 1452 */ _CFFI_OP(_CFFI_OP_NOOP, 1445), -/* 1453 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1454 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), -/* 1455 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1456 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *) -/* 1457 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1458 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1459 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, EVP_MD *) -/* 1460 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1461 */ _CFFI_OP(_CFFI_OP_POINTER, 3064), // EVP_MD * -/* 1462 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1463 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, EVP_MD const *) -/* 1464 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1465 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1466 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1467 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, EVP_PKEY * *) -/* 1468 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1469 */ _CFFI_OP(_CFFI_OP_NOOP, 273), -/* 1470 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1471 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, EVP_PKEY *) -/* 1472 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1473 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1474 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1475 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, int) -/* 1476 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1477 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1478 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1479 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, unsigned char *, int) -/* 1480 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1481 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1482 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1483 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1484 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, unsigned char *, size_t *) -/* 1485 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1486 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1487 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), -/* 1488 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1489 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, unsigned char *, size_t *, unsigned char const *, size_t) -/* 1490 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1491 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1492 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), -/* 1493 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1494 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1495 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1496 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, unsigned char const *, size_t, unsigned char const *, size_t) -/* 1497 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 1498 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1499 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1500 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1501 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1502 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1503 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(GENERAL_NAMES *) -/* 1504 */ _CFFI_OP(_CFFI_OP_NOOP, 316), -/* 1505 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1506 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(GENERAL_NAMES *, GENERAL_NAME *) -/* 1507 */ _CFFI_OP(_CFFI_OP_NOOP, 316), -/* 1508 */ _CFFI_OP(_CFFI_OP_NOOP, 928), -/* 1509 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1510 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(GENERAL_NAMES *, unsigned char * *) -/* 1511 */ _CFFI_OP(_CFFI_OP_NOOP, 316), -/* 1512 */ _CFFI_OP(_CFFI_OP_NOOP, 802), -/* 1513 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1514 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(HMAC_CTX *, HMAC_CTX *) -/* 1515 */ _CFFI_OP(_CFFI_OP_POINTER, 3072), // HMAC_CTX * -/* 1516 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), -/* 1517 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1518 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(HMAC_CTX *, unsigned char *, unsigned int *) -/* 1519 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), -/* 1520 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1521 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), -/* 1522 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1523 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(HMAC_CTX *, unsigned char const *, size_t) -/* 1524 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), -/* 1525 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1526 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1320 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, EVP_CIPHER const *, ENGINE *, unsigned char const *, unsigned char const *, int) +/* 1321 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), +/* 1322 */ _CFFI_OP(_CFFI_OP_NOOP, 885), +/* 1323 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 1324 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1325 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1326 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1327 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1328 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, int) +/* 1329 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), +/* 1330 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1331 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1332 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, int, int, void *) +/* 1333 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), +/* 1334 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1335 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1336 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1337 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1338 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, unsigned char *, int *) +/* 1339 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), +/* 1340 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1341 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1342 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1343 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_CIPHER_CTX *, unsigned char *, int *, unsigned char const *, int) +/* 1344 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), +/* 1345 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1346 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1347 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1348 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1349 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1350 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, EVP_MD const *) +/* 1351 */ _CFFI_OP(_CFFI_OP_POINTER, 3065), // EVP_MD_CTX * +/* 1352 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1353 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1354 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, EVP_MD const *, ENGINE *) +/* 1355 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1356 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1357 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 1358 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1359 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, EVP_MD_CTX const *) +/* 1360 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1361 */ _CFFI_OP(_CFFI_OP_POINTER, 3065), // EVP_MD_CTX const * +/* 1362 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1363 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, EVP_PKEY_CTX * *, EVP_MD const *, ENGINE *, EVP_PKEY *) +/* 1364 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1365 */ _CFFI_OP(_CFFI_OP_POINTER, 309), // EVP_PKEY_CTX * * +/* 1366 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1367 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 1368 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1369 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1370 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, size_t *) +/* 1371 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1372 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1373 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), +/* 1374 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1375 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, size_t *, unsigned char const *, size_t) +/* 1376 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1377 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1378 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), +/* 1379 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1380 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1381 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1382 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, size_t) +/* 1383 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1384 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1385 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1386 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1387 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, unsigned int *) +/* 1388 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1389 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1390 */ _CFFI_OP(_CFFI_OP_POINTER, 754), // unsigned int * +/* 1391 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1392 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char *, unsigned int *, EVP_PKEY *) +/* 1393 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1394 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1395 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), +/* 1396 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1397 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1398 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char const *, size_t, unsigned char const *, size_t) +/* 1399 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1400 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1401 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1402 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1403 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1404 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1405 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, unsigned char const *, unsigned int, EVP_PKEY *) +/* 1406 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1407 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1408 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 1409 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1410 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1411 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_MD_CTX *, void const *, size_t) +/* 1412 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 1413 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 1414 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1415 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1416 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *) +/* 1417 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1418 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1419 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, DH *) +/* 1420 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1421 */ _CFFI_OP(_CFFI_OP_NOOP, 196), +/* 1422 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1423 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, DSA *) +/* 1424 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1425 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 1426 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1427 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, EC_KEY *) +/* 1428 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1429 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 1430 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1431 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, RSA *) +/* 1432 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1433 */ _CFFI_OP(_CFFI_OP_NOOP, 476), +/* 1434 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1435 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, int) +/* 1436 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1437 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1438 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1439 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY *, unsigned char const *, size_t) +/* 1440 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1441 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1442 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1443 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1444 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY const *) +/* 1445 */ _CFFI_OP(_CFFI_OP_POINTER, 3066), // EVP_PKEY const * +/* 1446 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1447 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY const *, EVP_PKEY const *) +/* 1448 */ _CFFI_OP(_CFFI_OP_NOOP, 1445), +/* 1449 */ _CFFI_OP(_CFFI_OP_NOOP, 1445), +/* 1450 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1451 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY const *, unsigned char *, size_t *) +/* 1452 */ _CFFI_OP(_CFFI_OP_NOOP, 1445), +/* 1453 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1454 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), +/* 1455 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1456 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *) +/* 1457 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1458 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1459 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, EVP_MD *) +/* 1460 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1461 */ _CFFI_OP(_CFFI_OP_POINTER, 3064), // EVP_MD * +/* 1462 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1463 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, EVP_MD const *) +/* 1464 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1465 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1466 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1467 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, EVP_PKEY * *) +/* 1468 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1469 */ _CFFI_OP(_CFFI_OP_NOOP, 273), +/* 1470 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1471 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, EVP_PKEY *) +/* 1472 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1473 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1474 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1475 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, int) +/* 1476 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1477 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1478 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1479 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, unsigned char *, int) +/* 1480 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1481 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1482 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1483 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1484 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, unsigned char *, size_t *) +/* 1485 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1486 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1487 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), +/* 1488 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1489 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, unsigned char *, size_t *, unsigned char const *, size_t) +/* 1490 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1491 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1492 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), +/* 1493 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1494 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1495 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1496 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(EVP_PKEY_CTX *, unsigned char const *, size_t, unsigned char const *, size_t) +/* 1497 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 1498 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1499 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1500 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1501 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1502 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1503 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(GENERAL_NAMES *) +/* 1504 */ _CFFI_OP(_CFFI_OP_NOOP, 316), +/* 1505 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1506 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(GENERAL_NAMES *, GENERAL_NAME *) +/* 1507 */ _CFFI_OP(_CFFI_OP_NOOP, 316), +/* 1508 */ _CFFI_OP(_CFFI_OP_NOOP, 928), +/* 1509 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1510 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(GENERAL_NAMES *, unsigned char * *) +/* 1511 */ _CFFI_OP(_CFFI_OP_NOOP, 316), +/* 1512 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 1513 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1514 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(HMAC_CTX *, HMAC_CTX *) +/* 1515 */ _CFFI_OP(_CFFI_OP_POINTER, 3072), // HMAC_CTX * +/* 1516 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), +/* 1517 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1518 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(HMAC_CTX *, unsigned char *, unsigned int *) +/* 1519 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), +/* 1520 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1521 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), +/* 1522 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1523 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(HMAC_CTX *, unsigned char const *, size_t) +/* 1524 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), +/* 1525 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1526 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), /* 1527 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1528 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(HMAC_CTX *, void const *, int, EVP_MD const *, ENGINE *) -/* 1529 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), -/* 1530 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 1531 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1532 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1533 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 1534 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1535 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(NETSCAPE_SPKI *, EVP_PKEY *) -/* 1536 */ _CFFI_OP(_CFFI_OP_NOOP, 288), -/* 1537 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1538 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1539 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(NETSCAPE_SPKI *, EVP_PKEY *, EVP_MD const *) -/* 1540 */ _CFFI_OP(_CFFI_OP_NOOP, 288), -/* 1541 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1542 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1543 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1544 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP *) -/* 1545 */ _CFFI_OP(_CFFI_OP_NOOP, 387), -/* 1546 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1547 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP *, X509 *) -/* 1548 */ _CFFI_OP(_CFFI_OP_NOOP, 387), -/* 1549 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1550 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1551 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP *, X509 *, EVP_PKEY *, EVP_MD const *, Cryptography_STACK_OF_X509 *, unsigned long) -/* 1552 */ _CFFI_OP(_CFFI_OP_NOOP, 387), -/* 1553 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1554 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1555 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1556 */ _CFFI_OP(_CFFI_OP_NOOP, 413), -/* 1557 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 1558 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1559 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP *, X509_EXTENSION *, int) -/* 1560 */ _CFFI_OP(_CFFI_OP_NOOP, 387), -/* 1561 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 1562 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1563 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1564 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP const *, ASN1_OCTET_STRING const * *, X509_NAME const * *) -/* 1565 */ _CFFI_OP(_CFFI_OP_NOOP, 17), -/* 1566 */ _CFFI_OP(_CFFI_OP_POINTER, 3016), // ASN1_OCTET_STRING const * * -/* 1567 */ _CFFI_OP(_CFFI_OP_POINTER, 2003), // X509_NAME const * * -/* 1568 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1569 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_REQUEST *) -/* 1570 */ _CFFI_OP(_CFFI_OP_NOOP, 365), -/* 1571 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1572 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_REQUEST *, X509_EXTENSION *, int) -/* 1573 */ _CFFI_OP(_CFFI_OP_NOOP, 365), -/* 1574 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 1575 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1576 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1577 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_RESPDATA *, unsigned char * *) -/* 1578 */ _CFFI_OP(_CFFI_OP_POINTER, 3084), // OCSP_RESPDATA * -/* 1579 */ _CFFI_OP(_CFFI_OP_NOOP, 802), -/* 1580 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1581 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_RESPONSE *) -/* 1582 */ _CFFI_OP(_CFFI_OP_NOOP, 349), -/* 1583 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1584 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_SINGLERESP *) -/* 1585 */ _CFFI_OP(_CFFI_OP_NOOP, 594), -/* 1586 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1587 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_SINGLERESP *, int *, ASN1_GENERALIZEDTIME * *, ASN1_GENERALIZEDTIME * *, ASN1_GENERALIZEDTIME * *) -/* 1588 */ _CFFI_OP(_CFFI_OP_NOOP, 594), -/* 1589 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1590 */ _CFFI_OP(_CFFI_OP_NOOP, 14), -/* 1591 */ _CFFI_OP(_CFFI_OP_NOOP, 14), -/* 1592 */ _CFFI_OP(_CFFI_OP_NOOP, 14), -/* 1593 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1594 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(PKCS12 *, char const *, EVP_PKEY * *, X509 * *, Cryptography_STACK_OF_X509 * *) -/* 1595 */ _CFFI_OP(_CFFI_OP_NOOP, 940), -/* 1596 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1597 */ _CFFI_OP(_CFFI_OP_NOOP, 273), -/* 1598 */ _CFFI_OP(_CFFI_OP_NOOP, 518), -/* 1599 */ _CFFI_OP(_CFFI_OP_POINTER, 413), // Cryptography_STACK_OF_X509 * * -/* 1600 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1601 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(PKCS7 *) -/* 1602 */ _CFFI_OP(_CFFI_OP_NOOP, 442), +/* 1528 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(HMAC_CTX *, void const *, int, EVP_MD const *, ENGINE *) +/* 1529 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), +/* 1530 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 1531 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1532 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1533 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 1534 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1535 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(NETSCAPE_SPKI *, EVP_PKEY *) +/* 1536 */ _CFFI_OP(_CFFI_OP_NOOP, 288), +/* 1537 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1538 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1539 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(NETSCAPE_SPKI *, EVP_PKEY *, EVP_MD const *) +/* 1540 */ _CFFI_OP(_CFFI_OP_NOOP, 288), +/* 1541 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1542 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1543 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1544 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP *) +/* 1545 */ _CFFI_OP(_CFFI_OP_NOOP, 387), +/* 1546 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1547 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP *, X509 *) +/* 1548 */ _CFFI_OP(_CFFI_OP_NOOP, 387), +/* 1549 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1550 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1551 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP *, X509 *, EVP_PKEY *, EVP_MD const *, Cryptography_STACK_OF_X509 *, unsigned long) +/* 1552 */ _CFFI_OP(_CFFI_OP_NOOP, 387), +/* 1553 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1554 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1555 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1556 */ _CFFI_OP(_CFFI_OP_NOOP, 413), +/* 1557 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 1558 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1559 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP *, X509_EXTENSION *, int) +/* 1560 */ _CFFI_OP(_CFFI_OP_NOOP, 387), +/* 1561 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 1562 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1563 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1564 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_BASICRESP const *, ASN1_OCTET_STRING const * *, X509_NAME const * *) +/* 1565 */ _CFFI_OP(_CFFI_OP_NOOP, 17), +/* 1566 */ _CFFI_OP(_CFFI_OP_POINTER, 3016), // ASN1_OCTET_STRING const * * +/* 1567 */ _CFFI_OP(_CFFI_OP_POINTER, 2003), // X509_NAME const * * +/* 1568 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1569 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_REQUEST *) +/* 1570 */ _CFFI_OP(_CFFI_OP_NOOP, 365), +/* 1571 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1572 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_REQUEST *, X509_EXTENSION *, int) +/* 1573 */ _CFFI_OP(_CFFI_OP_NOOP, 365), +/* 1574 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 1575 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1576 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1577 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_RESPDATA *, unsigned char * *) +/* 1578 */ _CFFI_OP(_CFFI_OP_POINTER, 3084), // OCSP_RESPDATA * +/* 1579 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 1580 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1581 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_RESPONSE *) +/* 1582 */ _CFFI_OP(_CFFI_OP_NOOP, 349), +/* 1583 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1584 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_SINGLERESP *) +/* 1585 */ _CFFI_OP(_CFFI_OP_NOOP, 594), +/* 1586 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1587 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(OCSP_SINGLERESP *, int *, ASN1_GENERALIZEDTIME * *, ASN1_GENERALIZEDTIME * *, ASN1_GENERALIZEDTIME * *) +/* 1588 */ _CFFI_OP(_CFFI_OP_NOOP, 594), +/* 1589 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1590 */ _CFFI_OP(_CFFI_OP_NOOP, 14), +/* 1591 */ _CFFI_OP(_CFFI_OP_NOOP, 14), +/* 1592 */ _CFFI_OP(_CFFI_OP_NOOP, 14), +/* 1593 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1594 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(PKCS12 *, char const *, EVP_PKEY * *, X509 * *, Cryptography_STACK_OF_X509 * *) +/* 1595 */ _CFFI_OP(_CFFI_OP_NOOP, 940), +/* 1596 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1597 */ _CFFI_OP(_CFFI_OP_NOOP, 273), +/* 1598 */ _CFFI_OP(_CFFI_OP_NOOP, 518), +/* 1599 */ _CFFI_OP(_CFFI_OP_POINTER, 413), // Cryptography_STACK_OF_X509 * * +/* 1600 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1601 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(PKCS7 *) +/* 1602 */ _CFFI_OP(_CFFI_OP_NOOP, 442), /* 1603 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1604 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(PKCS7 *, BIO *, int) -/* 1605 */ _CFFI_OP(_CFFI_OP_NOOP, 442), -/* 1606 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 1607 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1608 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1609 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(PKCS7 *, Cryptography_STACK_OF_X509 *, X509_STORE *, BIO *, BIO *, int) -/* 1610 */ _CFFI_OP(_CFFI_OP_NOOP, 442), -/* 1611 */ _CFFI_OP(_CFFI_OP_NOOP, 413), -/* 1612 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 1613 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 1614 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 1615 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1616 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1617 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RAND_METHOD const *) -/* 1618 */ _CFFI_OP(_CFFI_OP_POINTER, 3106), // RAND_METHOD const * -/* 1619 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1620 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA *, BIGNUM *, BIGNUM *) -/* 1621 */ _CFFI_OP(_CFFI_OP_NOOP, 476), -/* 1622 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1623 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1624 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1625 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA *, BIGNUM *, BIGNUM *, BIGNUM *) -/* 1626 */ _CFFI_OP(_CFFI_OP_NOOP, 476), -/* 1627 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1628 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1629 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1630 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1631 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA *, BN_CTX *) -/* 1632 */ _CFFI_OP(_CFFI_OP_NOOP, 476), -/* 1633 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 1634 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1635 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA *, int, BIGNUM *, BN_GENCB *) -/* 1636 */ _CFFI_OP(_CFFI_OP_NOOP, 476), -/* 1637 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1638 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 1639 */ _CFFI_OP(_CFFI_OP_NOOP, 848), -/* 1640 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1641 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA const *) -/* 1642 */ _CFFI_OP(_CFFI_OP_NOOP, 967), -/* 1643 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1644 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SCT *, ct_log_entry_type_t) -/* 1645 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), -/* 1646 */ _CFFI_OP(_CFFI_OP_ENUM, 0), // ct_log_entry_type_t -/* 1647 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1648 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SCT *, sct_source_t) -/* 1649 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), -/* 1650 */ _CFFI_OP(_CFFI_OP_ENUM, 2), // sct_source_t -/* 1651 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1652 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SCT *, sct_version_t) -/* 1653 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), -/* 1654 */ _CFFI_OP(_CFFI_OP_ENUM, 3), // sct_version_t -/* 1655 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1656 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SCT *, unsigned char *, size_t) -/* 1657 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), -/* 1658 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1659 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1660 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1661 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *) -/* 1662 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1663 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1664 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, SSL_SESSION *) -/* 1665 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1666 */ _CFFI_OP(_CFFI_OP_POINTER, 3116), // SSL_SESSION * -/* 1667 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1668 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, char const *) -/* 1669 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1670 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1671 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1672 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, int *, void *) -/* 1673 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1674 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1675 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1676 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1677 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, int) -/* 1678 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1679 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1680 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1681 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, int, int *, int *, int *, unsigned char *, unsigned char *) -/* 1682 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1683 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1684 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1685 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1686 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1687 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1688 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1689 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1690 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, int, void *) -/* 1691 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1692 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1693 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1694 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1695 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned char *, size_t, char const *, size_t, unsigned char const *, size_t, int) -/* 1696 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1697 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1698 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1699 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1700 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1701 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1702 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1703 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1704 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1705 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned char *, unsigned int *) -/* 1706 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1707 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1708 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), -/* 1709 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1710 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned char const * *, unsigned char *, unsigned char const *, unsigned int, void *) -/* 1711 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1712 */ _CFFI_OP(_CFFI_OP_NOOP, 75), -/* 1713 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1714 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1715 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 1716 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1717 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1718 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned char const *, unsigned int) -/* 1719 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1720 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1721 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 1722 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1723 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *) -/* 1724 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1725 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 1726 */ _CFFI_OP(_CFFI_OP_NOOP, 75), -/* 1727 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), -/* 1728 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1729 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1730 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1731 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned int, unsigned char const *, size_t, int *, void *) -/* 1732 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1733 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 1734 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1735 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1736 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1737 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1738 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1739 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void *) -/* 1740 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1741 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1742 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1743 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void *, int) -/* 1744 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1745 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1746 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1747 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1748 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void *, size_t, size_t *) -/* 1749 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1750 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1751 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1752 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), -/* 1753 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1754 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void const *, int) -/* 1755 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1756 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 1757 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1758 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1759 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void const *, size_t, size_t *) -/* 1760 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 1761 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 1762 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 1763 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), -/* 1764 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1765 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL const *) -/* 1766 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 1767 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1768 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL const *, int) -/* 1769 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 1770 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1771 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1772 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CIPHER const *) -/* 1773 */ _CFFI_OP(_CFFI_OP_NOOP, 733), -/* 1774 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1775 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CIPHER const *, int *) -/* 1776 */ _CFFI_OP(_CFFI_OP_NOOP, 733), -/* 1777 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 1778 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1779 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *) -/* 1780 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1781 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1782 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, EVP_PKEY *) -/* 1783 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1784 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1785 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1786 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, X509 *) -/* 1787 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1788 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1789 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1790 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, char const *) -/* 1791 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1792 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1793 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1794 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, char const *, char const *) -/* 1795 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1796 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1797 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1798 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1799 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, char const *, int) -/* 1800 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1801 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1802 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1803 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1804 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, int, void *) -/* 1805 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1806 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1807 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1808 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1809 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, uint32_t) -/* 1810 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1811 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22), // uint32_t -/* 1812 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1813 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, unsigned char const *, unsigned int) -/* 1814 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1815 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1816 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 1817 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1818 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, unsigned int, int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *), void(*)(SSL *, unsigned int, unsigned char const *, void *), void *, int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *), void *) -/* 1819 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 1820 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 1821 */ _CFFI_OP(_CFFI_OP_POINTER, 1723), // int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *) -/* 1822 */ _CFFI_OP(_CFFI_OP_POINTER, 2782), // void(*)(SSL *, unsigned int, unsigned char const *, void *) -/* 1823 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1824 */ _CFFI_OP(_CFFI_OP_POINTER, 1731), // int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *) -/* 1825 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 1826 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1827 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX const *) -/* 1828 */ _CFFI_OP(_CFFI_OP_NOOP, 691), -/* 1829 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1830 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_SESSION *, unsigned char const *, unsigned int) -/* 1831 */ _CFFI_OP(_CFFI_OP_NOOP, 1666), -/* 1832 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1833 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 1834 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1835 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_SESSION const *) -/* 1836 */ _CFFI_OP(_CFFI_OP_POINTER, 3116), // SSL_SESSION const * -/* 1837 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1838 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 * *, X509_STORE_CTX *, X509 *) -/* 1839 */ _CFFI_OP(_CFFI_OP_NOOP, 518), -/* 1840 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 1841 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1842 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1843 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *) -/* 1844 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1845 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1846 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, ASN1_INTEGER *) -/* 1847 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1848 */ _CFFI_OP(_CFFI_OP_NOOP, 21), -/* 1849 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1850 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, ASN1_OCTET_STRING *) -/* 1851 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1852 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 1853 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1854 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, EVP_PKEY *) -/* 1855 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1856 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1857 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1858 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, EVP_PKEY *, EVP_MD const *) -/* 1859 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1860 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1861 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1862 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1863 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, X509_EXTENSION *, int) -/* 1864 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1865 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 1866 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1867 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1868 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, X509_NAME *) -/* 1869 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1870 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 1604 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(PKCS7 *, BIO *, int) +/* 1605 */ _CFFI_OP(_CFFI_OP_NOOP, 442), +/* 1606 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 1607 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1608 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1609 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(PKCS7 *, Cryptography_STACK_OF_X509 *, X509_STORE *, BIO *, BIO *, int) +/* 1610 */ _CFFI_OP(_CFFI_OP_NOOP, 442), +/* 1611 */ _CFFI_OP(_CFFI_OP_NOOP, 413), +/* 1612 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 1613 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 1614 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 1615 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1616 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1617 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RAND_METHOD const *) +/* 1618 */ _CFFI_OP(_CFFI_OP_POINTER, 3106), // RAND_METHOD const * +/* 1619 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1620 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA *, BIGNUM *, BIGNUM *) +/* 1621 */ _CFFI_OP(_CFFI_OP_NOOP, 476), +/* 1622 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1623 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1624 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1625 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA *, BIGNUM *, BIGNUM *, BIGNUM *) +/* 1626 */ _CFFI_OP(_CFFI_OP_NOOP, 476), +/* 1627 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1628 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1629 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1630 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1631 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA *, BN_CTX *) +/* 1632 */ _CFFI_OP(_CFFI_OP_NOOP, 476), +/* 1633 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 1634 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1635 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA *, int, BIGNUM *, BN_GENCB *) +/* 1636 */ _CFFI_OP(_CFFI_OP_NOOP, 476), +/* 1637 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1638 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 1639 */ _CFFI_OP(_CFFI_OP_NOOP, 848), +/* 1640 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1641 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(RSA const *) +/* 1642 */ _CFFI_OP(_CFFI_OP_NOOP, 967), +/* 1643 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1644 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SCT *, ct_log_entry_type_t) +/* 1645 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), +/* 1646 */ _CFFI_OP(_CFFI_OP_ENUM, 0), // ct_log_entry_type_t +/* 1647 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1648 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SCT *, sct_source_t) +/* 1649 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), +/* 1650 */ _CFFI_OP(_CFFI_OP_ENUM, 2), // sct_source_t +/* 1651 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1652 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SCT *, sct_version_t) +/* 1653 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), +/* 1654 */ _CFFI_OP(_CFFI_OP_ENUM, 3), // sct_version_t +/* 1655 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1656 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SCT *, unsigned char *, size_t) +/* 1657 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), +/* 1658 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1659 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1660 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1661 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *) +/* 1662 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1663 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1664 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, SSL_SESSION *) +/* 1665 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1666 */ _CFFI_OP(_CFFI_OP_POINTER, 3116), // SSL_SESSION * +/* 1667 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1668 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, char const *) +/* 1669 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1670 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1671 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1672 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, int *, void *) +/* 1673 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1674 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1675 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1676 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1677 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, int) +/* 1678 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1679 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1680 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1681 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, int, int *, int *, int *, unsigned char *, unsigned char *) +/* 1682 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1683 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1684 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1685 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1686 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1687 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1688 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1689 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1690 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, int, void *) +/* 1691 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1692 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1693 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1694 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1695 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned char *, size_t, char const *, size_t, unsigned char const *, size_t, int) +/* 1696 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1697 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1698 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1699 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1700 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1701 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1702 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1703 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1704 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1705 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned char *, unsigned int *) +/* 1706 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1707 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1708 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), +/* 1709 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1710 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned char const * *, unsigned char *, unsigned char const *, unsigned int, void *) +/* 1711 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1712 */ _CFFI_OP(_CFFI_OP_NOOP, 75), +/* 1713 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1714 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1715 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 1716 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1717 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1718 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned char const *, unsigned int) +/* 1719 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1720 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1721 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 1722 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1723 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *) +/* 1724 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1725 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 1726 */ _CFFI_OP(_CFFI_OP_NOOP, 75), +/* 1727 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), +/* 1728 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1729 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1730 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1731 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, unsigned int, unsigned char const *, size_t, int *, void *) +/* 1732 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1733 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 1734 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1735 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1736 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1737 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1738 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1739 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void *) +/* 1740 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1741 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1742 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1743 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void *, int) +/* 1744 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1745 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1746 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1747 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1748 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void *, size_t, size_t *) +/* 1749 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1750 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1751 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1752 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), +/* 1753 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1754 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void const *, int) +/* 1755 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1756 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 1757 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1758 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1759 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL *, void const *, size_t, size_t *) +/* 1760 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 1761 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 1762 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 1763 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), +/* 1764 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1765 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL const *) +/* 1766 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 1767 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1768 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL const *, int) +/* 1769 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 1770 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1771 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1772 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CIPHER const *) +/* 1773 */ _CFFI_OP(_CFFI_OP_NOOP, 733), +/* 1774 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1775 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CIPHER const *, int *) +/* 1776 */ _CFFI_OP(_CFFI_OP_NOOP, 733), +/* 1777 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 1778 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1779 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *) +/* 1780 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1781 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1782 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, EVP_PKEY *) +/* 1783 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1784 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1785 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1786 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, X509 *) +/* 1787 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1788 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1789 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1790 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, char const *) +/* 1791 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1792 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1793 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1794 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, char const *, char const *) +/* 1795 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1796 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1797 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1798 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1799 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, char const *, int) +/* 1800 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1801 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1802 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1803 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1804 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, int, void *) +/* 1805 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1806 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1807 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1808 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1809 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, uint32_t) +/* 1810 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1811 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 22), // uint32_t +/* 1812 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1813 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, unsigned char const *, unsigned int) +/* 1814 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1815 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1816 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 1817 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1818 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX *, unsigned int, int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *), void(*)(SSL *, unsigned int, unsigned char const *, void *), void *, int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *), void *) +/* 1819 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 1820 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 1821 */ _CFFI_OP(_CFFI_OP_POINTER, 1723), // int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *) +/* 1822 */ _CFFI_OP(_CFFI_OP_POINTER, 2782), // void(*)(SSL *, unsigned int, unsigned char const *, void *) +/* 1823 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1824 */ _CFFI_OP(_CFFI_OP_POINTER, 1731), // int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *) +/* 1825 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 1826 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1827 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_CTX const *) +/* 1828 */ _CFFI_OP(_CFFI_OP_NOOP, 691), +/* 1829 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1830 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_SESSION *, unsigned char const *, unsigned int) +/* 1831 */ _CFFI_OP(_CFFI_OP_NOOP, 1666), +/* 1832 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1833 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 1834 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1835 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(SSL_SESSION const *) +/* 1836 */ _CFFI_OP(_CFFI_OP_POINTER, 3116), // SSL_SESSION const * +/* 1837 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1838 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 * *, X509_STORE_CTX *, X509 *) +/* 1839 */ _CFFI_OP(_CFFI_OP_NOOP, 518), +/* 1840 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 1841 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1842 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1843 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *) +/* 1844 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1845 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1846 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, ASN1_INTEGER *) +/* 1847 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1848 */ _CFFI_OP(_CFFI_OP_NOOP, 21), +/* 1849 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1850 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, ASN1_OCTET_STRING *) +/* 1851 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1852 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 1853 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1854 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, EVP_PKEY *) +/* 1855 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1856 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1857 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1858 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, EVP_PKEY *, EVP_MD const *) +/* 1859 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1860 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1861 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1862 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1863 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, X509_EXTENSION *, int) +/* 1864 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1865 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 1866 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1867 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1868 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, X509_NAME *) +/* 1869 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1870 */ _CFFI_OP(_CFFI_OP_NOOP, 643), /* 1871 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1872 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, long) -/* 1873 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1874 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 1875 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1876 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, unsigned char * *) -/* 1877 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 1878 */ _CFFI_OP(_CFFI_OP_NOOP, 802), -/* 1879 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1880 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 const *) -/* 1881 */ _CFFI_OP(_CFFI_OP_NOOP, 355), -/* 1882 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1883 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 const *, EVP_MD const *, unsigned char *, unsigned int *) -/* 1884 */ _CFFI_OP(_CFFI_OP_NOOP, 355), -/* 1885 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1886 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1887 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), -/* 1888 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1889 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 const *, X509 const *) -/* 1890 */ _CFFI_OP(_CFFI_OP_NOOP, 355), -/* 1891 */ _CFFI_OP(_CFFI_OP_NOOP, 355), -/* 1892 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1893 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_ATTRIBUTE const *) -/* 1894 */ _CFFI_OP(_CFFI_OP_POINTER, 3123), // X509_ATTRIBUTE const * -/* 1895 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1896 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *) -/* 1897 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1898 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1899 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, ASN1_OCTET_STRING *) -/* 1900 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1901 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 1902 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1903 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, EVP_PKEY *) -/* 1904 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1905 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1906 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1907 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, EVP_PKEY *, EVP_MD const *) -/* 1908 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1909 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 1910 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 1911 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1912 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, X509_EXTENSION *, int) -/* 1913 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1914 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 1915 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1916 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1917 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, X509_NAME *) -/* 1918 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1919 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 1920 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1921 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, X509_REVOKED * *, ASN1_INTEGER *) -/* 1922 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1923 */ _CFFI_OP(_CFFI_OP_POINTER, 619), // X509_REVOKED * * -/* 1924 */ _CFFI_OP(_CFFI_OP_NOOP, 21), -/* 1925 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1926 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, X509_REVOKED *) -/* 1927 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1928 */ _CFFI_OP(_CFFI_OP_NOOP, 619), -/* 1929 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1930 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, long) -/* 1931 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1932 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 1933 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1934 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, unsigned char * *) -/* 1935 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 1936 */ _CFFI_OP(_CFFI_OP_NOOP, 802), -/* 1937 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1938 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL const *, X509_CRL const *) -/* 1939 */ _CFFI_OP(_CFFI_OP_POINTER, 3124), // X509_CRL const * -/* 1940 */ _CFFI_OP(_CFFI_OP_NOOP, 1939), -/* 1941 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1942 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_EXTENSION *) -/* 1943 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 1944 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1945 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_EXTENSIONS *) -/* 1946 */ _CFFI_OP(_CFFI_OP_NOOP, 615), -/* 1947 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1948 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_EXTENSIONS *, X509_EXTENSION *) -/* 1949 */ _CFFI_OP(_CFFI_OP_NOOP, 615), -/* 1950 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 1951 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1952 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_EXTENSIONS *, X509_EXTENSION *, int) -/* 1953 */ _CFFI_OP(_CFFI_OP_NOOP, 615), -/* 1954 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 1955 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1956 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1957 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *) -/* 1958 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 1959 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1960 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, ASN1_OBJECT *, int, unsigned char *, int, int, int) -/* 1961 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 1962 */ _CFFI_OP(_CFFI_OP_NOOP, 607), -/* 1963 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1964 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1965 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1966 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1967 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1968 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1969 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, X509_NAME_ENTRY *, int, int) -/* 1970 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 1971 */ _CFFI_OP(_CFFI_OP_NOOP, 43), -/* 1972 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1973 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1974 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1975 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, char const *, int, unsigned char const *, int, int, int) -/* 1976 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 1977 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 1978 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1979 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 1980 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1981 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1982 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1983 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1984 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, int, int) -/* 1985 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 1986 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1987 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1988 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1989 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, int, int, unsigned char *, int, int, int) -/* 1990 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 1991 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1992 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1993 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 1994 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1995 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1996 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 1997 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 1998 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, unsigned char * *) -/* 1999 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 2000 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 1872 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, long) +/* 1873 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1874 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 1875 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1876 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 *, unsigned char * *) +/* 1877 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 1878 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 1879 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1880 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 const *) +/* 1881 */ _CFFI_OP(_CFFI_OP_NOOP, 355), +/* 1882 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1883 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 const *, EVP_MD const *, unsigned char *, unsigned int *) +/* 1884 */ _CFFI_OP(_CFFI_OP_NOOP, 355), +/* 1885 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1886 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1887 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), +/* 1888 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1889 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509 const *, X509 const *) +/* 1890 */ _CFFI_OP(_CFFI_OP_NOOP, 355), +/* 1891 */ _CFFI_OP(_CFFI_OP_NOOP, 355), +/* 1892 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1893 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_ATTRIBUTE const *) +/* 1894 */ _CFFI_OP(_CFFI_OP_POINTER, 3123), // X509_ATTRIBUTE const * +/* 1895 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1896 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *) +/* 1897 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1898 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1899 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, ASN1_OCTET_STRING *) +/* 1900 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1901 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 1902 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1903 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, EVP_PKEY *) +/* 1904 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1905 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1906 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1907 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, EVP_PKEY *, EVP_MD const *) +/* 1908 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1909 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 1910 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 1911 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1912 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, X509_EXTENSION *, int) +/* 1913 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1914 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 1915 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1916 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1917 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, X509_NAME *) +/* 1918 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1919 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 1920 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1921 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, X509_REVOKED * *, ASN1_INTEGER *) +/* 1922 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1923 */ _CFFI_OP(_CFFI_OP_POINTER, 619), // X509_REVOKED * * +/* 1924 */ _CFFI_OP(_CFFI_OP_NOOP, 21), +/* 1925 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1926 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, X509_REVOKED *) +/* 1927 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1928 */ _CFFI_OP(_CFFI_OP_NOOP, 619), +/* 1929 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1930 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, long) +/* 1931 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1932 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 1933 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1934 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL *, unsigned char * *) +/* 1935 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 1936 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 1937 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1938 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_CRL const *, X509_CRL const *) +/* 1939 */ _CFFI_OP(_CFFI_OP_POINTER, 3124), // X509_CRL const * +/* 1940 */ _CFFI_OP(_CFFI_OP_NOOP, 1939), +/* 1941 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1942 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_EXTENSION *) +/* 1943 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 1944 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1945 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_EXTENSIONS *) +/* 1946 */ _CFFI_OP(_CFFI_OP_NOOP, 615), +/* 1947 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1948 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_EXTENSIONS *, X509_EXTENSION *) +/* 1949 */ _CFFI_OP(_CFFI_OP_NOOP, 615), +/* 1950 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 1951 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1952 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_EXTENSIONS *, X509_EXTENSION *, int) +/* 1953 */ _CFFI_OP(_CFFI_OP_NOOP, 615), +/* 1954 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 1955 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1956 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1957 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *) +/* 1958 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 1959 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1960 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, ASN1_OBJECT *, int, unsigned char *, int, int, int) +/* 1961 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 1962 */ _CFFI_OP(_CFFI_OP_NOOP, 607), +/* 1963 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1964 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1965 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1966 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1967 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1968 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1969 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, X509_NAME_ENTRY *, int, int) +/* 1970 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 1971 */ _CFFI_OP(_CFFI_OP_NOOP, 43), +/* 1972 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1973 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1974 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1975 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, char const *, int, unsigned char const *, int, int, int) +/* 1976 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 1977 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 1978 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1979 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 1980 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1981 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1982 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1983 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1984 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, int, int) +/* 1985 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 1986 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1987 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1988 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1989 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, int, int, unsigned char *, int, int, int) +/* 1990 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 1991 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1992 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1993 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 1994 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1995 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1996 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 1997 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 1998 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME *, unsigned char * *) +/* 1999 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 2000 */ _CFFI_OP(_CFFI_OP_NOOP, 802), /* 2001 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2002 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME const *, X509_NAME const *) -/* 2003 */ _CFFI_OP(_CFFI_OP_POINTER, 3127), // X509_NAME const * -/* 2004 */ _CFFI_OP(_CFFI_OP_NOOP, 2003), -/* 2005 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2006 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME_ENTRY *) -/* 2007 */ _CFFI_OP(_CFFI_OP_NOOP, 43), -/* 2008 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2009 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_OBJECT const *) -/* 2010 */ _CFFI_OP(_CFFI_OP_POINTER, 3129), // X509_OBJECT const * -/* 2011 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2012 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, ASN1_OBJECT const *, int, unsigned char const *, int) -/* 2013 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2014 */ _CFFI_OP(_CFFI_OP_NOOP, 765), -/* 2015 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2016 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2017 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2018 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2019 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, EVP_PKEY *) -/* 2020 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2021 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 2022 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2023 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, EVP_PKEY *, EVP_MD const *) -/* 2024 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2025 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 2026 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 2027 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2028 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, X509_EXTENSIONS *) -/* 2029 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2030 */ _CFFI_OP(_CFFI_OP_NOOP, 615), -/* 2031 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2032 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, X509_NAME *) -/* 2033 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2034 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 2035 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2036 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, long) -/* 2037 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2038 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 2039 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2040 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, unsigned char * *) -/* 2041 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2042 */ _CFFI_OP(_CFFI_OP_NOOP, 802), -/* 2043 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2044 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ const *, ASN1_OBJECT const *, int) -/* 2045 */ _CFFI_OP(_CFFI_OP_NOOP, 551), -/* 2046 */ _CFFI_OP(_CFFI_OP_NOOP, 765), -/* 2047 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2048 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2049 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *) -/* 2050 */ _CFFI_OP(_CFFI_OP_NOOP, 619), -/* 2051 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2052 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *, ASN1_INTEGER *) -/* 2053 */ _CFFI_OP(_CFFI_OP_NOOP, 619), -/* 2054 */ _CFFI_OP(_CFFI_OP_NOOP, 21), -/* 2055 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2056 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *, ASN1_OCTET_STRING *) -/* 2057 */ _CFFI_OP(_CFFI_OP_NOOP, 619), -/* 2058 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 2059 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2060 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *, X509_EXTENSION *, int) -/* 2061 */ _CFFI_OP(_CFFI_OP_NOOP, 619), -/* 2062 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 2063 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2064 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2065 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *, int, void *, int, unsigned long) -/* 2066 */ _CFFI_OP(_CFFI_OP_NOOP, 619), -/* 2067 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2068 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2069 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2070 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 2071 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2072 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *) -/* 2073 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2074 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2075 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, X509 *) -/* 2076 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2077 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2078 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2079 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, X509_CRL *) -/* 2080 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2081 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 2082 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2083 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, X509_VERIFY_PARAM *) -/* 2084 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2085 */ _CFFI_OP(_CFFI_OP_POINTER, 3134), // X509_VERIFY_PARAM * -/* 2086 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2087 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, char const *, char const *) -/* 2088 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2089 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2090 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2091 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2092 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, unsigned long) -/* 2093 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2094 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 2095 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2096 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *) -/* 2097 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2098 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2099 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *, X509_STORE *, X509 *, Cryptography_STACK_OF_X509 *) -/* 2100 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2101 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2102 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2103 */ _CFFI_OP(_CFFI_OP_NOOP, 413), -/* 2104 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2105 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *, char const *) -/* 2106 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2107 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2108 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2109 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *, int, void *) -/* 2110 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2111 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2112 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2113 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2114 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *, void *) -/* 2115 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2116 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2117 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2118 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, ASN1_OBJECT *) -/* 2119 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2120 */ _CFFI_OP(_CFFI_OP_NOOP, 607), -/* 2121 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2122 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, Cryptography_STACK_OF_ASN1_OBJECT *) -/* 2123 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2124 */ _CFFI_OP(_CFFI_OP_NOOP, 36), -/* 2125 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2126 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, char const *) -/* 2127 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2128 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2129 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2130 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, char const *, size_t) -/* 2131 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2132 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2133 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2134 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2135 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, int) -/* 2136 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2137 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2138 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2139 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, unsigned char const *, size_t) -/* 2140 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2141 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2142 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2143 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2144 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, unsigned long) -/* 2145 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2146 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 2147 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2148 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM const *) -/* 2149 */ _CFFI_OP(_CFFI_OP_POINTER, 3134), // X509_VERIFY_PARAM const * -/* 2150 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2151 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char *) -/* 2152 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 2153 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2154 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char *, int, ASN1_OBJECT const *, int) -/* 2155 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 2156 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2157 */ _CFFI_OP(_CFFI_OP_NOOP, 765), -/* 2158 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2159 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2160 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char *, int, int, void *) -/* 2161 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 2162 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2163 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2164 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2165 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2166 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char const *) -/* 2167 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2168 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2169 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char const *, int, unsigned char const *, int, int, EVP_MD const *, int, unsigned char *) -/* 2170 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2171 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2172 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2173 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2174 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2175 */ _CFFI_OP(_CFFI_OP_NOOP, 354), -/* 2176 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2177 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2178 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2179 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char const *, size_t, unsigned char const *, size_t, uint64_t, uint64_t, uint64_t, uint64_t, unsigned char *, size_t) -/* 2180 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2181 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2182 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2183 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2184 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), // uint64_t -/* 2185 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), -/* 2186 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), -/* 2187 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), -/* 2188 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2189 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2190 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2191 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int) -/* 2192 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2193 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2194 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, X509_STORE_CTX *) -/* 2195 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2196 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2197 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2198 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, int) -/* 2199 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2200 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2201 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2202 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, unsigned char const *, int, unsigned char *, unsigned int *, DSA *) -/* 2203 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2204 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2205 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2206 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2207 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), -/* 2208 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 2209 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2210 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, unsigned char const *, int, unsigned char *, unsigned int *, EC_KEY *) -/* 2211 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2212 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2213 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2214 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2215 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), -/* 2216 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 2217 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2218 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, unsigned char const *, int, unsigned char const *, int, DSA *) -/* 2219 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2220 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2221 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2222 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2223 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2224 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 2225 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2226 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, unsigned char const *, int, unsigned char const *, int, EC_KEY *) -/* 2227 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2228 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2229 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2230 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2231 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2232 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 2233 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2234 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(long, void *, CRYPTO_EX_new *, CRYPTO_EX_dup *, CRYPTO_EX_free *) -/* 2235 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 2236 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2237 */ _CFFI_OP(_CFFI_OP_POINTER, 3032), // CRYPTO_EX_new * -/* 2238 */ _CFFI_OP(_CFFI_OP_POINTER, 3030), // CRYPTO_EX_dup * -/* 2239 */ _CFFI_OP(_CFFI_OP_POINTER, 3031), // CRYPTO_EX_free * -/* 2240 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2241 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned char * *, ASN1_OCTET_STRING *) -/* 2242 */ _CFFI_OP(_CFFI_OP_NOOP, 802), -/* 2243 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 2244 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2245 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned char * *, unsigned char *, unsigned char const *, unsigned int, unsigned char const *, unsigned int) -/* 2246 */ _CFFI_OP(_CFFI_OP_NOOP, 802), -/* 2247 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2248 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2249 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 2250 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2251 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 2252 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2253 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned char *, BIGNUM const *, DH *) -/* 2254 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2255 */ _CFFI_OP(_CFFI_OP_NOOP, 92), -/* 2256 */ _CFFI_OP(_CFFI_OP_NOOP, 196), -/* 2257 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2258 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned char *, int) -/* 2259 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2260 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2261 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2262 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned int) -/* 2263 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 2264 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2265 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned long) -/* 2266 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 2267 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2268 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(void *(*)(size_t, char const *, int), void *(*)(void *, size_t, char const *, int), void(*)(void *, char const *, int)) -/* 2269 */ _CFFI_OP(_CFFI_OP_POINTER, 2511), // void *(*)(size_t, char const *, int) -/* 2270 */ _CFFI_OP(_CFFI_OP_POINTER, 2516), // void *(*)(void *, size_t, char const *, int) -/* 2271 */ _CFFI_OP(_CFFI_OP_POINTER, 2988), // void(*)(void *, char const *, int) -/* 2272 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2273 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(void *, size_t, EC_POINT const *, EC_KEY *, void *(*)(void const *, size_t, void *, size_t *)) -/* 2274 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2275 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2276 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 2277 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 2278 */ _CFFI_OP(_CFFI_OP_POINTER, 2527), // void *(*)(void const *, size_t, void *, size_t *) -/* 2279 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2280 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(void) -/* 2281 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2282 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2926), // int(*()(X509_STORE *))(X509 * *, X509_STORE_CTX *, X509 *) -/* 2283 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2284 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2285 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(ASN1_ENUMERATED *) -/* 2286 */ _CFFI_OP(_CFFI_OP_NOOP, 757), -/* 2287 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2288 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(BIO *, char * *) -/* 2289 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 2290 */ _CFFI_OP(_CFFI_OP_POINTER, 409), // char * * -/* 2291 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2292 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(BIO *, int) -/* 2293 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 2294 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2295 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2296 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *) -/* 2297 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2298 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2299 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, EVP_PKEY * *) -/* 2300 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2301 */ _CFFI_OP(_CFFI_OP_NOOP, 273), -/* 2302 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2303 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, int) -/* 2304 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2305 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2306 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2307 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, long) -/* 2308 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2309 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 2310 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2311 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, time_t *, long *) -/* 2312 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2313 */ _CFFI_OP(_CFFI_OP_POINTER, 10), // time_t * -/* 2314 */ _CFFI_OP(_CFFI_OP_POINTER, 51), // long * -/* 2315 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2316 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, unsigned char *, int) -/* 2317 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2318 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2319 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2320 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2321 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, unsigned char const * *) -/* 2322 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2323 */ _CFFI_OP(_CFFI_OP_NOOP, 75), -/* 2324 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2325 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL const *) -/* 2326 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 2327 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2328 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *) -/* 2329 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2330 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2331 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, char const *) -/* 2332 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2333 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2334 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2335 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, int(*)(SSL *, void *)) -/* 2336 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2337 */ _CFFI_OP(_CFFI_OP_POINTER, 1739), // int(*)(SSL *, void *) -/* 2338 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2339 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, int) -/* 2340 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2341 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2342 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2343 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, long) -/* 2344 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2345 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 2346 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2347 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, void *) -/* 2348 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2349 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2350 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2351 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX const *) -/* 2352 */ _CFFI_OP(_CFFI_OP_NOOP, 691), +/* 2002 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME const *, X509_NAME const *) +/* 2003 */ _CFFI_OP(_CFFI_OP_POINTER, 3127), // X509_NAME const * +/* 2004 */ _CFFI_OP(_CFFI_OP_NOOP, 2003), +/* 2005 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2006 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_NAME_ENTRY *) +/* 2007 */ _CFFI_OP(_CFFI_OP_NOOP, 43), +/* 2008 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2009 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_OBJECT const *) +/* 2010 */ _CFFI_OP(_CFFI_OP_POINTER, 3129), // X509_OBJECT const * +/* 2011 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2012 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, ASN1_OBJECT const *, int, unsigned char const *, int) +/* 2013 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2014 */ _CFFI_OP(_CFFI_OP_NOOP, 765), +/* 2015 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2016 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2017 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2018 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2019 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, EVP_PKEY *) +/* 2020 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2021 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 2022 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2023 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, EVP_PKEY *, EVP_MD const *) +/* 2024 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2025 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 2026 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 2027 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2028 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, X509_EXTENSIONS *) +/* 2029 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2030 */ _CFFI_OP(_CFFI_OP_NOOP, 615), +/* 2031 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2032 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, X509_NAME *) +/* 2033 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2034 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 2035 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2036 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, long) +/* 2037 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2038 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 2039 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2040 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ *, unsigned char * *) +/* 2041 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2042 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 2043 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2044 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REQ const *, ASN1_OBJECT const *, int) +/* 2045 */ _CFFI_OP(_CFFI_OP_NOOP, 551), +/* 2046 */ _CFFI_OP(_CFFI_OP_NOOP, 765), +/* 2047 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2048 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2049 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *) +/* 2050 */ _CFFI_OP(_CFFI_OP_NOOP, 619), +/* 2051 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2052 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *, ASN1_INTEGER *) +/* 2053 */ _CFFI_OP(_CFFI_OP_NOOP, 619), +/* 2054 */ _CFFI_OP(_CFFI_OP_NOOP, 21), +/* 2055 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2056 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *, ASN1_OCTET_STRING *) +/* 2057 */ _CFFI_OP(_CFFI_OP_NOOP, 619), +/* 2058 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 2059 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2060 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *, X509_EXTENSION *, int) +/* 2061 */ _CFFI_OP(_CFFI_OP_NOOP, 619), +/* 2062 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 2063 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2064 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2065 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_REVOKED *, int, void *, int, unsigned long) +/* 2066 */ _CFFI_OP(_CFFI_OP_NOOP, 619), +/* 2067 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2068 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2069 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2070 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 2071 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2072 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *) +/* 2073 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2074 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2075 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, X509 *) +/* 2076 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2077 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2078 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2079 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, X509_CRL *) +/* 2080 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2081 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 2082 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2083 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, X509_VERIFY_PARAM *) +/* 2084 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2085 */ _CFFI_OP(_CFFI_OP_POINTER, 3134), // X509_VERIFY_PARAM * +/* 2086 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2087 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, char const *, char const *) +/* 2088 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2089 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2090 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2091 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2092 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE *, unsigned long) +/* 2093 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2094 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 2095 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2096 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *) +/* 2097 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2098 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2099 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *, X509_STORE *, X509 *, Cryptography_STACK_OF_X509 *) +/* 2100 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2101 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2102 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2103 */ _CFFI_OP(_CFFI_OP_NOOP, 413), +/* 2104 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2105 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *, char const *) +/* 2106 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2107 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2108 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2109 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *, int, void *) +/* 2110 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2111 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2112 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2113 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2114 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_STORE_CTX *, void *) +/* 2115 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2116 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2117 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2118 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, ASN1_OBJECT *) +/* 2119 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2120 */ _CFFI_OP(_CFFI_OP_NOOP, 607), +/* 2121 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2122 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, Cryptography_STACK_OF_ASN1_OBJECT *) +/* 2123 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2124 */ _CFFI_OP(_CFFI_OP_NOOP, 36), +/* 2125 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2126 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, char const *) +/* 2127 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2128 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2129 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2130 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, char const *, size_t) +/* 2131 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2132 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2133 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2134 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2135 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, int) +/* 2136 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2137 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2138 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2139 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, unsigned char const *, size_t) +/* 2140 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2141 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2142 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2143 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2144 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM *, unsigned long) +/* 2145 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2146 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 2147 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2148 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(X509_VERIFY_PARAM const *) +/* 2149 */ _CFFI_OP(_CFFI_OP_POINTER, 3134), // X509_VERIFY_PARAM const * +/* 2150 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2151 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char *) +/* 2152 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 2153 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2154 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char *, int, ASN1_OBJECT const *, int) +/* 2155 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 2156 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2157 */ _CFFI_OP(_CFFI_OP_NOOP, 765), +/* 2158 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2159 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2160 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char *, int, int, void *) +/* 2161 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 2162 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2163 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2164 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2165 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2166 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char const *) +/* 2167 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2168 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2169 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char const *, int, unsigned char const *, int, int, EVP_MD const *, int, unsigned char *) +/* 2170 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2171 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2172 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2173 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2174 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2175 */ _CFFI_OP(_CFFI_OP_NOOP, 354), +/* 2176 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2177 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2178 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2179 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(char const *, size_t, unsigned char const *, size_t, uint64_t, uint64_t, uint64_t, uint64_t, unsigned char *, size_t) +/* 2180 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2181 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2182 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2183 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2184 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), // uint64_t +/* 2185 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), +/* 2186 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), +/* 2187 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), +/* 2188 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2189 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2190 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2191 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int) +/* 2192 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2193 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2194 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, X509_STORE_CTX *) +/* 2195 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2196 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2197 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2198 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, int) +/* 2199 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2200 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2201 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2202 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, unsigned char const *, int, unsigned char *, unsigned int *, DSA *) +/* 2203 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2204 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2205 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2206 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2207 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), +/* 2208 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 2209 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2210 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, unsigned char const *, int, unsigned char *, unsigned int *, EC_KEY *) +/* 2211 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2212 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2213 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2214 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2215 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), +/* 2216 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 2217 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2218 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, unsigned char const *, int, unsigned char const *, int, DSA *) +/* 2219 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2220 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2221 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2222 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2223 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2224 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 2225 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2226 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(int, unsigned char const *, int, unsigned char const *, int, EC_KEY *) +/* 2227 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2228 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2229 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2230 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2231 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2232 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 2233 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2234 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(long, void *, CRYPTO_EX_new *, CRYPTO_EX_dup *, CRYPTO_EX_free *) +/* 2235 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 2236 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2237 */ _CFFI_OP(_CFFI_OP_POINTER, 3032), // CRYPTO_EX_new * +/* 2238 */ _CFFI_OP(_CFFI_OP_POINTER, 3030), // CRYPTO_EX_dup * +/* 2239 */ _CFFI_OP(_CFFI_OP_POINTER, 3031), // CRYPTO_EX_free * +/* 2240 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2241 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned char * *, ASN1_OCTET_STRING *) +/* 2242 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 2243 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 2244 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2245 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned char * *, unsigned char *, unsigned char const *, unsigned int, unsigned char const *, unsigned int) +/* 2246 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 2247 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2248 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2249 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 2250 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2251 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 2252 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2253 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned char *, BIGNUM const *, DH *) +/* 2254 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2255 */ _CFFI_OP(_CFFI_OP_NOOP, 92), +/* 2256 */ _CFFI_OP(_CFFI_OP_NOOP, 196), +/* 2257 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2258 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned char *, int) +/* 2259 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2260 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2261 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2262 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned int) +/* 2263 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 2264 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2265 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(unsigned long) +/* 2266 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 2267 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2268 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(void *(*)(size_t, char const *, int), void *(*)(void *, size_t, char const *, int), void(*)(void *, char const *, int)) +/* 2269 */ _CFFI_OP(_CFFI_OP_POINTER, 2511), // void *(*)(size_t, char const *, int) +/* 2270 */ _CFFI_OP(_CFFI_OP_POINTER, 2516), // void *(*)(void *, size_t, char const *, int) +/* 2271 */ _CFFI_OP(_CFFI_OP_POINTER, 2988), // void(*)(void *, char const *, int) +/* 2272 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2273 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(void *, size_t, EC_POINT const *, EC_KEY *, void *(*)(void const *, size_t, void *, size_t *)) +/* 2274 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2275 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2276 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 2277 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 2278 */ _CFFI_OP(_CFFI_OP_POINTER, 2527), // void *(*)(void const *, size_t, void *, size_t *) +/* 2279 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2280 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2), // int()(void) +/* 2281 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2282 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2926), // int(*()(X509_STORE *))(X509 * *, X509_STORE_CTX *, X509 *) +/* 2283 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2284 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2285 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(ASN1_ENUMERATED *) +/* 2286 */ _CFFI_OP(_CFFI_OP_NOOP, 757), +/* 2287 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2288 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(BIO *, char * *) +/* 2289 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 2290 */ _CFFI_OP(_CFFI_OP_POINTER, 409), // char * * +/* 2291 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2292 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(BIO *, int) +/* 2293 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 2294 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2295 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2296 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *) +/* 2297 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2298 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2299 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, EVP_PKEY * *) +/* 2300 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2301 */ _CFFI_OP(_CFFI_OP_NOOP, 273), +/* 2302 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2303 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, int) +/* 2304 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2305 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2306 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2307 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, long) +/* 2308 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2309 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 2310 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2311 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, time_t *, long *) +/* 2312 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2313 */ _CFFI_OP(_CFFI_OP_POINTER, 10), // time_t * +/* 2314 */ _CFFI_OP(_CFFI_OP_POINTER, 51), // long * +/* 2315 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2316 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, unsigned char *, int) +/* 2317 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2318 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2319 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2320 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2321 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL *, unsigned char const * *) +/* 2322 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2323 */ _CFFI_OP(_CFFI_OP_NOOP, 75), +/* 2324 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2325 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL const *) +/* 2326 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 2327 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2328 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *) +/* 2329 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2330 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2331 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, char const *) +/* 2332 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2333 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2334 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2335 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, int(*)(SSL *, void *)) +/* 2336 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2337 */ _CFFI_OP(_CFFI_OP_POINTER, 1739), // int(*)(SSL *, void *) +/* 2338 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2339 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, int) +/* 2340 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2341 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2342 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2343 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, long) +/* 2344 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2345 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 2346 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2347 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX *, void *) +/* 2348 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2349 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2350 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2351 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_CTX const *) +/* 2352 */ _CFFI_OP(_CFFI_OP_NOOP, 691), /* 2353 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2354 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_SESSION const *) -/* 2355 */ _CFFI_OP(_CFFI_OP_NOOP, 1836), -/* 2356 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2357 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(X509 *) -/* 2358 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2359 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2360 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(X509_CRL *) -/* 2361 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 2362 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2363 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(X509_REQ *) -/* 2364 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2365 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2366 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1654), // sct_version_t()(SCT const *) -/* 2367 */ _CFFI_OP(_CFFI_OP_NOOP, 747), -/* 2368 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2369 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(BIO *) -/* 2370 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 2371 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2372 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(EC_GROUP const *, EC_POINT const *, point_conversion_form_t, unsigned char *, size_t, BN_CTX *) -/* 2373 */ _CFFI_OP(_CFFI_OP_NOOP, 238), -/* 2374 */ _CFFI_OP(_CFFI_OP_NOOP, 244), -/* 2375 */ _CFFI_OP(_CFFI_OP_ENUM, 1), // point_conversion_form_t -/* 2376 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2377 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2378 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 2379 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2380 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(EC_builtin_curve *, size_t) -/* 2381 */ _CFFI_OP(_CFFI_OP_POINTER, 3058), // EC_builtin_curve * -/* 2382 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2383 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2384 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(EVP_PKEY *, unsigned char * *) -/* 2385 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 2386 */ _CFFI_OP(_CFFI_OP_NOOP, 802), -/* 2387 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2388 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(SCT const *, unsigned char * *) -/* 2389 */ _CFFI_OP(_CFFI_OP_NOOP, 747), -/* 2390 */ _CFFI_OP(_CFFI_OP_NOOP, 802), -/* 2391 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2392 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(SSL const *, unsigned char *, size_t) -/* 2393 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 2394 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2395 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2396 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2397 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(SSL const *, void *, size_t) -/* 2398 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 2399 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2400 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2401 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2402 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(SSL_SESSION const *, unsigned char *, size_t) -/* 2403 */ _CFFI_OP(_CFFI_OP_NOOP, 1836), -/* 2404 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2405 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2406 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2407 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1811), // uint32_t()(SSL_SESSION const *) -/* 2408 */ _CFFI_OP(_CFFI_OP_NOOP, 1836), -/* 2409 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2410 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2184), // uint64_t()(SCT const *) -/* 2411 */ _CFFI_OP(_CFFI_OP_NOOP, 747), -/* 2412 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2413 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2184), // uint64_t()(SSL_CIPHER const *) -/* 2414 */ _CFFI_OP(_CFFI_OP_NOOP, 733), +/* 2354 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(SSL_SESSION const *) +/* 2355 */ _CFFI_OP(_CFFI_OP_NOOP, 1836), +/* 2356 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2357 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(X509 *) +/* 2358 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2359 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2360 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(X509_CRL *) +/* 2361 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 2362 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2363 */ _CFFI_OP(_CFFI_OP_FUNCTION, 51), // long()(X509_REQ *) +/* 2364 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2365 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2366 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1654), // sct_version_t()(SCT const *) +/* 2367 */ _CFFI_OP(_CFFI_OP_NOOP, 747), +/* 2368 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2369 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(BIO *) +/* 2370 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 2371 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2372 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(EC_GROUP const *, EC_POINT const *, point_conversion_form_t, unsigned char *, size_t, BN_CTX *) +/* 2373 */ _CFFI_OP(_CFFI_OP_NOOP, 238), +/* 2374 */ _CFFI_OP(_CFFI_OP_NOOP, 244), +/* 2375 */ _CFFI_OP(_CFFI_OP_ENUM, 1), // point_conversion_form_t +/* 2376 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2377 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2378 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 2379 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2380 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(EC_builtin_curve *, size_t) +/* 2381 */ _CFFI_OP(_CFFI_OP_POINTER, 3058), // EC_builtin_curve * +/* 2382 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2383 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2384 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(EVP_PKEY *, unsigned char * *) +/* 2385 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 2386 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 2387 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2388 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(SCT const *, unsigned char * *) +/* 2389 */ _CFFI_OP(_CFFI_OP_NOOP, 747), +/* 2390 */ _CFFI_OP(_CFFI_OP_NOOP, 802), +/* 2391 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2392 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(SSL const *, unsigned char *, size_t) +/* 2393 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 2394 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2395 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2396 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2397 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(SSL const *, void *, size_t) +/* 2398 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 2399 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2400 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2401 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2402 */ _CFFI_OP(_CFFI_OP_FUNCTION, 300), // size_t()(SSL_SESSION const *, unsigned char *, size_t) +/* 2403 */ _CFFI_OP(_CFFI_OP_NOOP, 1836), +/* 2404 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2405 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2406 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2407 */ _CFFI_OP(_CFFI_OP_FUNCTION, 1811), // uint32_t()(SSL_SESSION const *) +/* 2408 */ _CFFI_OP(_CFFI_OP_NOOP, 1836), +/* 2409 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2410 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2184), // uint64_t()(SCT const *) +/* 2411 */ _CFFI_OP(_CFFI_OP_NOOP, 747), +/* 2412 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2413 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2184), // uint64_t()(SSL_CIPHER const *) +/* 2414 */ _CFFI_OP(_CFFI_OP_NOOP, 733), /* 2415 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2416 */ _CFFI_OP(_CFFI_OP_FUNCTION, 752), // unsigned char *()(ASN1_OCTET_STRING *) -/* 2417 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 2418 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2419 */ _CFFI_OP(_CFFI_OP_FUNCTION, 752), // unsigned char *()(X509 *, int *) -/* 2420 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2421 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 2422 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2423 */ _CFFI_OP(_CFFI_OP_FUNCTION, 103), // unsigned char const *()(SSL_SESSION const *, unsigned int *) -/* 2424 */ _CFFI_OP(_CFFI_OP_NOOP, 1836), -/* 2425 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), -/* 2426 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2427 */ _CFFI_OP(_CFFI_OP_FUNCTION, 754), // unsigned int()(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int) -/* 2428 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2429 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2430 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 2431 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 2432 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2433 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 2434 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2435 */ _CFFI_OP(_CFFI_OP_FUNCTION, 754), // unsigned int()(SSL *, char const *, unsigned char *, unsigned int) -/* 2436 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2437 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2438 */ _CFFI_OP(_CFFI_OP_NOOP, 752), -/* 2439 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 2440 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2441 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL *) -/* 2442 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2443 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2444 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL *, unsigned long) -/* 2445 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2446 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 2447 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2448 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *) -/* 2449 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2450 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2451 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *, DH *) -/* 2452 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2453 */ _CFFI_OP(_CFFI_OP_NOOP, 196), -/* 2454 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2455 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *, EC_KEY *) -/* 2456 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2457 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 2458 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2459 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *, X509 *) -/* 2460 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2461 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2462 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2463 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *, unsigned long) -/* 2464 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2465 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 2466 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2467 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(X509 *) -/* 2468 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2469 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2470 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(X509_NAME *) -/* 2471 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 2472 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2473 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(X509_VERIFY_PARAM *) -/* 2474 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2475 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2476 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(void) -/* 2477 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2478 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(SSL const *, int) -/* 2479 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 2480 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2481 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2482 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(SSL_CTX const *, int) -/* 2483 */ _CFFI_OP(_CFFI_OP_NOOP, 691), -/* 2484 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2485 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2486 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509 *, int, int *, int *) -/* 2487 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2488 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2489 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 2490 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), -/* 2491 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2492 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509V3_CTX *) -/* 2493 */ _CFFI_OP(_CFFI_OP_NOOP, 575), -/* 2494 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2495 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509_ATTRIBUTE *, int, int, void *) -/* 2496 */ _CFFI_OP(_CFFI_OP_NOOP, 79), -/* 2497 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2498 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2499 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2500 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2501 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509_EXTENSION *) -/* 2502 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 2503 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2504 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509_STORE_CTX *, int) -/* 2505 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2506 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2507 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2508 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(size_t) -/* 2509 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2510 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2511 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(size_t, char const *, int) -/* 2512 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2513 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2514 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2515 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2516 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(void *, size_t, char const *, int) -/* 2517 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2518 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2519 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2520 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2416 */ _CFFI_OP(_CFFI_OP_FUNCTION, 752), // unsigned char *()(ASN1_OCTET_STRING *) +/* 2417 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 2418 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2419 */ _CFFI_OP(_CFFI_OP_FUNCTION, 752), // unsigned char *()(X509 *, int *) +/* 2420 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2421 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 2422 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2423 */ _CFFI_OP(_CFFI_OP_FUNCTION, 103), // unsigned char const *()(SSL_SESSION const *, unsigned int *) +/* 2424 */ _CFFI_OP(_CFFI_OP_NOOP, 1836), +/* 2425 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), +/* 2426 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2427 */ _CFFI_OP(_CFFI_OP_FUNCTION, 754), // unsigned int()(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int) +/* 2428 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2429 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2430 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 2431 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 2432 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2433 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 2434 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2435 */ _CFFI_OP(_CFFI_OP_FUNCTION, 754), // unsigned int()(SSL *, char const *, unsigned char *, unsigned int) +/* 2436 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2437 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2438 */ _CFFI_OP(_CFFI_OP_NOOP, 752), +/* 2439 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 2440 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2441 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL *) +/* 2442 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2443 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2444 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL *, unsigned long) +/* 2445 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2446 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 2447 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2448 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *) +/* 2449 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2450 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2451 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *, DH *) +/* 2452 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2453 */ _CFFI_OP(_CFFI_OP_NOOP, 196), +/* 2454 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2455 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *, EC_KEY *) +/* 2456 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2457 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 2458 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2459 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *, X509 *) +/* 2460 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2461 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2462 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2463 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(SSL_CTX *, unsigned long) +/* 2464 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2465 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 2466 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2467 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(X509 *) +/* 2468 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2469 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2470 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(X509_NAME *) +/* 2471 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 2472 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2473 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(X509_VERIFY_PARAM *) +/* 2474 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2475 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2476 */ _CFFI_OP(_CFFI_OP_FUNCTION, 742), // unsigned long()(void) +/* 2477 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2478 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(SSL const *, int) +/* 2479 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 2480 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2481 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2482 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(SSL_CTX const *, int) +/* 2483 */ _CFFI_OP(_CFFI_OP_NOOP, 691), +/* 2484 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2485 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2486 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509 *, int, int *, int *) +/* 2487 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2488 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2489 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 2490 */ _CFFI_OP(_CFFI_OP_NOOP, 1169), +/* 2491 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2492 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509V3_CTX *) +/* 2493 */ _CFFI_OP(_CFFI_OP_NOOP, 575), +/* 2494 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2495 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509_ATTRIBUTE *, int, int, void *) +/* 2496 */ _CFFI_OP(_CFFI_OP_NOOP, 79), +/* 2497 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2498 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2499 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2500 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2501 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509_EXTENSION *) +/* 2502 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 2503 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2504 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(X509_STORE_CTX *, int) +/* 2505 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2506 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2507 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2508 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(size_t) +/* 2509 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2510 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2511 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(size_t, char const *, int) +/* 2512 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2513 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2514 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2515 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2516 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(void *, size_t, char const *, int) +/* 2517 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2518 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2519 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2520 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), /* 2521 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2522 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(void *, unsigned char const * *, long) -/* 2523 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2524 */ _CFFI_OP(_CFFI_OP_NOOP, 75), -/* 2525 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), -/* 2526 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2527 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(void const *, size_t, void *, size_t *) -/* 2528 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 2529 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2530 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2531 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), -/* 2532 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2533 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ACCESS_DESCRIPTION *) -/* 2534 */ _CFFI_OP(_CFFI_OP_NOOP, 1056), -/* 2535 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2536 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_ENUMERATED *) -/* 2537 */ _CFFI_OP(_CFFI_OP_NOOP, 757), -/* 2538 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2539 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_GENERALIZEDTIME *) -/* 2540 */ _CFFI_OP(_CFFI_OP_NOOP, 9), -/* 2541 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2542 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_INTEGER *) -/* 2543 */ _CFFI_OP(_CFFI_OP_NOOP, 21), -/* 2544 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2545 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_OBJECT *) -/* 2546 */ _CFFI_OP(_CFFI_OP_NOOP, 607), -/* 2547 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2548 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_OCTET_STRING *) -/* 2549 */ _CFFI_OP(_CFFI_OP_NOOP, 13), -/* 2550 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2551 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_OCTET_STRING const * *, X509_ALGOR const * *, X509 const *) -/* 2552 */ _CFFI_OP(_CFFI_OP_NOOP, 1566), -/* 2553 */ _CFFI_OP(_CFFI_OP_POINTER, 3121), // X509_ALGOR const * * -/* 2554 */ _CFFI_OP(_CFFI_OP_NOOP, 355), -/* 2555 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2556 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(AUTHORITY_KEYID *) -/* 2557 */ _CFFI_OP(_CFFI_OP_POINTER, 3019), // AUTHORITY_KEYID * -/* 2558 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2559 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BASIC_CONSTRAINTS *) -/* 2560 */ _CFFI_OP(_CFFI_OP_POINTER, 3020), // BASIC_CONSTRAINTS * -/* 2561 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2562 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BIGNUM *) -/* 2563 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 2522 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(void *, unsigned char const * *, long) +/* 2523 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2524 */ _CFFI_OP(_CFFI_OP_NOOP, 75), +/* 2525 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 9), +/* 2526 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2527 */ _CFFI_OP(_CFFI_OP_FUNCTION, 193), // void *()(void const *, size_t, void *, size_t *) +/* 2528 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 2529 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2530 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2531 */ _CFFI_OP(_CFFI_OP_NOOP, 1037), +/* 2532 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2533 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ACCESS_DESCRIPTION *) +/* 2534 */ _CFFI_OP(_CFFI_OP_NOOP, 1056), +/* 2535 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2536 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_ENUMERATED *) +/* 2537 */ _CFFI_OP(_CFFI_OP_NOOP, 757), +/* 2538 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2539 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_GENERALIZEDTIME *) +/* 2540 */ _CFFI_OP(_CFFI_OP_NOOP, 9), +/* 2541 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2542 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_INTEGER *) +/* 2543 */ _CFFI_OP(_CFFI_OP_NOOP, 21), +/* 2544 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2545 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_OBJECT *) +/* 2546 */ _CFFI_OP(_CFFI_OP_NOOP, 607), +/* 2547 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2548 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_OCTET_STRING *) +/* 2549 */ _CFFI_OP(_CFFI_OP_NOOP, 13), +/* 2550 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2551 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ASN1_OCTET_STRING const * *, X509_ALGOR const * *, X509 const *) +/* 2552 */ _CFFI_OP(_CFFI_OP_NOOP, 1566), +/* 2553 */ _CFFI_OP(_CFFI_OP_POINTER, 3121), // X509_ALGOR const * * +/* 2554 */ _CFFI_OP(_CFFI_OP_NOOP, 355), +/* 2555 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2556 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(AUTHORITY_KEYID *) +/* 2557 */ _CFFI_OP(_CFFI_OP_POINTER, 3019), // AUTHORITY_KEYID * +/* 2558 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2559 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BASIC_CONSTRAINTS *) +/* 2560 */ _CFFI_OP(_CFFI_OP_POINTER, 3020), // BASIC_CONSTRAINTS * +/* 2561 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2562 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BIGNUM *) +/* 2563 */ _CFFI_OP(_CFFI_OP_NOOP, 20), /* 2564 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2565 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BIGNUM *, int) -/* 2566 */ _CFFI_OP(_CFFI_OP_NOOP, 20), -/* 2567 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2568 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2569 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BIO *) -/* 2570 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 2571 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2572 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BN_CTX *) -/* 2573 */ _CFFI_OP(_CFFI_OP_NOOP, 94), -/* 2574 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2575 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BN_MONT_CTX *) -/* 2576 */ _CFFI_OP(_CFFI_OP_NOOP, 830), +/* 2565 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BIGNUM *, int) +/* 2566 */ _CFFI_OP(_CFFI_OP_NOOP, 20), +/* 2567 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2568 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2569 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BIO *) +/* 2570 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 2571 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2572 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BN_CTX *) +/* 2573 */ _CFFI_OP(_CFFI_OP_NOOP, 94), +/* 2574 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2575 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(BN_MONT_CTX *) +/* 2576 */ _CFFI_OP(_CFFI_OP_NOOP, 830), /* 2577 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2578 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(CMAC_CTX *) -/* 2579 */ _CFFI_OP(_CFFI_OP_NOOP, 1031), -/* 2580 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2581 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *) -/* 2582 */ _CFFI_OP(_CFFI_OP_NOOP, 1), -/* 2583 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2584 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *, void(*)(ACCESS_DESCRIPTION *)) -/* 2585 */ _CFFI_OP(_CFFI_OP_NOOP, 1), -/* 2586 */ _CFFI_OP(_CFFI_OP_POINTER, 2533), // void(*)(ACCESS_DESCRIPTION *) -/* 2587 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2588 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_ASN1_INTEGER *) -/* 2589 */ _CFFI_OP(_CFFI_OP_NOOP, 24), -/* 2590 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2591 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_ASN1_OBJECT *) -/* 2592 */ _CFFI_OP(_CFFI_OP_NOOP, 36), -/* 2593 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2594 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_DIST_POINT *) -/* 2595 */ _CFFI_OP(_CFFI_OP_NOOP, 204), -/* 2596 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2597 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_DIST_POINT *, void(*)(DIST_POINT *)) -/* 2598 */ _CFFI_OP(_CFFI_OP_NOOP, 204), -/* 2599 */ _CFFI_OP(_CFFI_OP_POINTER, 2640), // void(*)(DIST_POINT *) -/* 2600 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2601 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_GENERAL_SUBTREE *) -/* 2602 */ _CFFI_OP(_CFFI_OP_NOOP, 329), -/* 2603 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2604 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_POLICYINFO *) -/* 2605 */ _CFFI_OP(_CFFI_OP_NOOP, 449), -/* 2606 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2607 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_POLICYINFO *, void(*)(POLICYINFO *)) -/* 2608 */ _CFFI_OP(_CFFI_OP_NOOP, 449), -/* 2609 */ _CFFI_OP(_CFFI_OP_POINTER, 2734), // void(*)(POLICYINFO *) -/* 2610 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2611 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_POLICYQUALINFO *) -/* 2612 */ _CFFI_OP(_CFFI_OP_NOOP, 455), -/* 2613 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2614 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_SCT *) -/* 2615 */ _CFFI_OP(_CFFI_OP_NOOP, 1101), -/* 2616 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2617 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_X509 *) -/* 2618 */ _CFFI_OP(_CFFI_OP_NOOP, 413), -/* 2619 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2620 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_X509_CRL *) -/* 2621 */ _CFFI_OP(_CFFI_OP_NOOP, 565), -/* 2622 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2623 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_X509_NAME *) -/* 2624 */ _CFFI_OP(_CFFI_OP_NOOP, 633), -/* 2625 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2626 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DH *) -/* 2627 */ _CFFI_OP(_CFFI_OP_NOOP, 196), -/* 2628 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2629 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DH const *, BIGNUM const * *, BIGNUM const * *) -/* 2630 */ _CFFI_OP(_CFFI_OP_NOOP, 1165), -/* 2631 */ _CFFI_OP(_CFFI_OP_POINTER, 92), // BIGNUM const * * -/* 2632 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2633 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2634 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DH const *, BIGNUM const * *, BIGNUM const * *, BIGNUM const * *) -/* 2635 */ _CFFI_OP(_CFFI_OP_NOOP, 1165), -/* 2636 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2637 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2638 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2578 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(CMAC_CTX *) +/* 2579 */ _CFFI_OP(_CFFI_OP_NOOP, 1031), +/* 2580 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2581 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *) +/* 2582 */ _CFFI_OP(_CFFI_OP_NOOP, 1), +/* 2583 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2584 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_ACCESS_DESCRIPTION *, void(*)(ACCESS_DESCRIPTION *)) +/* 2585 */ _CFFI_OP(_CFFI_OP_NOOP, 1), +/* 2586 */ _CFFI_OP(_CFFI_OP_POINTER, 2533), // void(*)(ACCESS_DESCRIPTION *) +/* 2587 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2588 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_ASN1_INTEGER *) +/* 2589 */ _CFFI_OP(_CFFI_OP_NOOP, 24), +/* 2590 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2591 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_ASN1_OBJECT *) +/* 2592 */ _CFFI_OP(_CFFI_OP_NOOP, 36), +/* 2593 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2594 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_DIST_POINT *) +/* 2595 */ _CFFI_OP(_CFFI_OP_NOOP, 204), +/* 2596 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2597 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_DIST_POINT *, void(*)(DIST_POINT *)) +/* 2598 */ _CFFI_OP(_CFFI_OP_NOOP, 204), +/* 2599 */ _CFFI_OP(_CFFI_OP_POINTER, 2640), // void(*)(DIST_POINT *) +/* 2600 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2601 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_GENERAL_SUBTREE *) +/* 2602 */ _CFFI_OP(_CFFI_OP_NOOP, 329), +/* 2603 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2604 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_POLICYINFO *) +/* 2605 */ _CFFI_OP(_CFFI_OP_NOOP, 449), +/* 2606 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2607 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_POLICYINFO *, void(*)(POLICYINFO *)) +/* 2608 */ _CFFI_OP(_CFFI_OP_NOOP, 449), +/* 2609 */ _CFFI_OP(_CFFI_OP_POINTER, 2734), // void(*)(POLICYINFO *) +/* 2610 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2611 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_POLICYQUALINFO *) +/* 2612 */ _CFFI_OP(_CFFI_OP_NOOP, 455), +/* 2613 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2614 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_SCT *) +/* 2615 */ _CFFI_OP(_CFFI_OP_NOOP, 1101), +/* 2616 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2617 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_X509 *) +/* 2618 */ _CFFI_OP(_CFFI_OP_NOOP, 413), +/* 2619 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2620 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_X509_CRL *) +/* 2621 */ _CFFI_OP(_CFFI_OP_NOOP, 565), +/* 2622 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2623 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(Cryptography_STACK_OF_X509_NAME *) +/* 2624 */ _CFFI_OP(_CFFI_OP_NOOP, 633), +/* 2625 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2626 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DH *) +/* 2627 */ _CFFI_OP(_CFFI_OP_NOOP, 196), +/* 2628 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2629 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DH const *, BIGNUM const * *, BIGNUM const * *) +/* 2630 */ _CFFI_OP(_CFFI_OP_NOOP, 1165), +/* 2631 */ _CFFI_OP(_CFFI_OP_POINTER, 92), // BIGNUM const * * +/* 2632 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2633 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2634 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DH const *, BIGNUM const * *, BIGNUM const * *, BIGNUM const * *) +/* 2635 */ _CFFI_OP(_CFFI_OP_NOOP, 1165), +/* 2636 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2637 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2638 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), /* 2639 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2640 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DIST_POINT *) -/* 2641 */ _CFFI_OP(_CFFI_OP_NOOP, 1077), -/* 2642 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2643 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DIST_POINT_NAME *) -/* 2644 */ _CFFI_OP(_CFFI_OP_POINTER, 3051), // DIST_POINT_NAME * -/* 2645 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2646 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DSA *) -/* 2647 */ _CFFI_OP(_CFFI_OP_NOOP, 212), -/* 2648 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2649 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DSA const *, BIGNUM const * *, BIGNUM const * *) -/* 2650 */ _CFFI_OP(_CFFI_OP_NOOP, 1195), -/* 2651 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2652 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2653 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2654 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DSA const *, BIGNUM const * *, BIGNUM const * *, BIGNUM const * *) -/* 2655 */ _CFFI_OP(_CFFI_OP_NOOP, 1195), -/* 2656 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2657 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2658 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2640 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DIST_POINT *) +/* 2641 */ _CFFI_OP(_CFFI_OP_NOOP, 1077), +/* 2642 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2643 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DIST_POINT_NAME *) +/* 2644 */ _CFFI_OP(_CFFI_OP_POINTER, 3051), // DIST_POINT_NAME * +/* 2645 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2646 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DSA *) +/* 2647 */ _CFFI_OP(_CFFI_OP_NOOP, 212), +/* 2648 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2649 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DSA const *, BIGNUM const * *, BIGNUM const * *) +/* 2650 */ _CFFI_OP(_CFFI_OP_NOOP, 1195), +/* 2651 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2652 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2653 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2654 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(DSA const *, BIGNUM const * *, BIGNUM const * *, BIGNUM const * *) +/* 2655 */ _CFFI_OP(_CFFI_OP_NOOP, 1195), +/* 2656 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2657 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2658 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), /* 2659 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2660 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EC_GROUP *) -/* 2661 */ _CFFI_OP(_CFFI_OP_POINTER, 3054), // EC_GROUP * -/* 2662 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2663 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EC_KEY *) -/* 2664 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 2660 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EC_GROUP *) +/* 2661 */ _CFFI_OP(_CFFI_OP_POINTER, 3054), // EC_GROUP * +/* 2662 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2663 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EC_KEY *) +/* 2664 */ _CFFI_OP(_CFFI_OP_NOOP, 893), /* 2665 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2666 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EC_KEY *, int) -/* 2667 */ _CFFI_OP(_CFFI_OP_NOOP, 893), -/* 2668 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2669 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2670 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EC_POINT *) -/* 2671 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), -/* 2672 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2673 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ENGINE *) -/* 2674 */ _CFFI_OP(_CFFI_OP_NOOP, 282), -/* 2675 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2676 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EVP_CIPHER_CTX *) -/* 2677 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), -/* 2678 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2679 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EVP_MD_CTX *) -/* 2680 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), -/* 2681 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2682 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EVP_PKEY *) -/* 2683 */ _CFFI_OP(_CFFI_OP_NOOP, 199), -/* 2684 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2685 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EVP_PKEY_CTX *) -/* 2686 */ _CFFI_OP(_CFFI_OP_NOOP, 309), -/* 2687 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2688 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(GENERAL_NAME *) -/* 2689 */ _CFFI_OP(_CFFI_OP_NOOP, 928), -/* 2690 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2691 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(GENERAL_NAMES *) -/* 2692 */ _CFFI_OP(_CFFI_OP_NOOP, 316), -/* 2693 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2694 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(GENERAL_NAMES *, void(*)(GENERAL_NAME *)) -/* 2695 */ _CFFI_OP(_CFFI_OP_NOOP, 316), -/* 2696 */ _CFFI_OP(_CFFI_OP_POINTER, 2688), // void(*)(GENERAL_NAME *) -/* 2697 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2698 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(HMAC_CTX *) -/* 2699 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), -/* 2700 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2701 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ISSUING_DIST_POINT *) -/* 2702 */ _CFFI_OP(_CFFI_OP_POINTER, 3073), // ISSUING_DIST_POINT * -/* 2703 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2704 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(NAME_CONSTRAINTS *) -/* 2705 */ _CFFI_OP(_CFFI_OP_POINTER, 3074), // NAME_CONSTRAINTS * -/* 2706 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2707 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(NETSCAPE_SPKI *) -/* 2708 */ _CFFI_OP(_CFFI_OP_NOOP, 288), -/* 2709 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2710 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(NOTICEREF *) -/* 2711 */ _CFFI_OP(_CFFI_OP_POINTER, 3076), // NOTICEREF * -/* 2712 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2713 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OCSP_BASICRESP *) -/* 2714 */ _CFFI_OP(_CFFI_OP_NOOP, 387), -/* 2715 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2716 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OCSP_CERTID *) -/* 2717 */ _CFFI_OP(_CFFI_OP_NOOP, 366), -/* 2718 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2719 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OCSP_REQUEST *) -/* 2720 */ _CFFI_OP(_CFFI_OP_NOOP, 365), -/* 2721 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2722 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OCSP_RESPONSE *) -/* 2723 */ _CFFI_OP(_CFFI_OP_NOOP, 349), -/* 2724 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2725 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OTHERNAME *) -/* 2726 */ _CFFI_OP(_CFFI_OP_POINTER, 3087), // OTHERNAME * -/* 2727 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2728 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(PKCS12 *) -/* 2729 */ _CFFI_OP(_CFFI_OP_NOOP, 940), -/* 2730 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2731 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(PKCS7 *) -/* 2732 */ _CFFI_OP(_CFFI_OP_NOOP, 442), -/* 2733 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2734 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(POLICYINFO *) -/* 2735 */ _CFFI_OP(_CFFI_OP_NOOP, 1091), -/* 2736 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2737 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(POLICYQUALINFO *) -/* 2738 */ _CFFI_OP(_CFFI_OP_NOOP, 1098), +/* 2666 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EC_KEY *, int) +/* 2667 */ _CFFI_OP(_CFFI_OP_NOOP, 893), +/* 2668 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2669 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2670 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EC_POINT *) +/* 2671 */ _CFFI_OP(_CFFI_OP_NOOP, 1207), +/* 2672 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2673 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ENGINE *) +/* 2674 */ _CFFI_OP(_CFFI_OP_NOOP, 282), +/* 2675 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2676 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EVP_CIPHER_CTX *) +/* 2677 */ _CFFI_OP(_CFFI_OP_NOOP, 1318), +/* 2678 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2679 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EVP_MD_CTX *) +/* 2680 */ _CFFI_OP(_CFFI_OP_NOOP, 1351), +/* 2681 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2682 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EVP_PKEY *) +/* 2683 */ _CFFI_OP(_CFFI_OP_NOOP, 199), +/* 2684 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2685 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(EVP_PKEY_CTX *) +/* 2686 */ _CFFI_OP(_CFFI_OP_NOOP, 309), +/* 2687 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2688 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(GENERAL_NAME *) +/* 2689 */ _CFFI_OP(_CFFI_OP_NOOP, 928), +/* 2690 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2691 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(GENERAL_NAMES *) +/* 2692 */ _CFFI_OP(_CFFI_OP_NOOP, 316), +/* 2693 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2694 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(GENERAL_NAMES *, void(*)(GENERAL_NAME *)) +/* 2695 */ _CFFI_OP(_CFFI_OP_NOOP, 316), +/* 2696 */ _CFFI_OP(_CFFI_OP_POINTER, 2688), // void(*)(GENERAL_NAME *) +/* 2697 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2698 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(HMAC_CTX *) +/* 2699 */ _CFFI_OP(_CFFI_OP_NOOP, 1515), +/* 2700 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2701 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(ISSUING_DIST_POINT *) +/* 2702 */ _CFFI_OP(_CFFI_OP_POINTER, 3073), // ISSUING_DIST_POINT * +/* 2703 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2704 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(NAME_CONSTRAINTS *) +/* 2705 */ _CFFI_OP(_CFFI_OP_POINTER, 3074), // NAME_CONSTRAINTS * +/* 2706 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2707 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(NETSCAPE_SPKI *) +/* 2708 */ _CFFI_OP(_CFFI_OP_NOOP, 288), +/* 2709 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2710 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(NOTICEREF *) +/* 2711 */ _CFFI_OP(_CFFI_OP_POINTER, 3076), // NOTICEREF * +/* 2712 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2713 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OCSP_BASICRESP *) +/* 2714 */ _CFFI_OP(_CFFI_OP_NOOP, 387), +/* 2715 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2716 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OCSP_CERTID *) +/* 2717 */ _CFFI_OP(_CFFI_OP_NOOP, 366), +/* 2718 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2719 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OCSP_REQUEST *) +/* 2720 */ _CFFI_OP(_CFFI_OP_NOOP, 365), +/* 2721 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2722 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OCSP_RESPONSE *) +/* 2723 */ _CFFI_OP(_CFFI_OP_NOOP, 349), +/* 2724 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2725 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(OTHERNAME *) +/* 2726 */ _CFFI_OP(_CFFI_OP_POINTER, 3087), // OTHERNAME * +/* 2727 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2728 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(PKCS12 *) +/* 2729 */ _CFFI_OP(_CFFI_OP_NOOP, 940), +/* 2730 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2731 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(PKCS7 *) +/* 2732 */ _CFFI_OP(_CFFI_OP_NOOP, 442), +/* 2733 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2734 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(POLICYINFO *) +/* 2735 */ _CFFI_OP(_CFFI_OP_NOOP, 1091), +/* 2736 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2737 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(POLICYQUALINFO *) +/* 2738 */ _CFFI_OP(_CFFI_OP_NOOP, 1098), /* 2739 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2740 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(POLICY_CONSTRAINTS *) -/* 2741 */ _CFFI_OP(_CFFI_OP_POINTER, 3105), // POLICY_CONSTRAINTS * -/* 2742 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2743 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(RSA *) -/* 2744 */ _CFFI_OP(_CFFI_OP_NOOP, 476), -/* 2745 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2746 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(RSA const *, BIGNUM const * *, BIGNUM const * *) -/* 2747 */ _CFFI_OP(_CFFI_OP_NOOP, 967), -/* 2748 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2749 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2750 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2751 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(RSA const *, BIGNUM const * *, BIGNUM const * *, BIGNUM const * *) -/* 2752 */ _CFFI_OP(_CFFI_OP_NOOP, 967), -/* 2753 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2754 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2755 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), -/* 2756 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2757 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SCT *, uint64_t) -/* 2758 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), -/* 2759 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), -/* 2760 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2761 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *) -/* 2762 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2763 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2764 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, BIO *, BIO *) -/* 2765 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2766 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 2767 */ _CFFI_OP(_CFFI_OP_NOOP, 186), -/* 2768 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2769 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, char *) -/* 2770 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2771 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 2772 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2773 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, int(*)(SSL *, void *), void *) -/* 2774 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2775 */ _CFFI_OP(_CFFI_OP_NOOP, 2337), -/* 2776 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2777 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2778 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, int) -/* 2779 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2780 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2781 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2782 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, unsigned int, unsigned char const *, void *) -/* 2783 */ _CFFI_OP(_CFFI_OP_NOOP, 487), -/* 2784 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 2785 */ _CFFI_OP(_CFFI_OP_NOOP, 103), -/* 2786 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2787 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2788 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL const *, char const *) -/* 2789 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 2790 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2791 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2792 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL const *, int, int) -/* 2793 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 2794 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2795 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2796 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2797 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL const *, unsigned char const * *, unsigned int *) -/* 2798 */ _CFFI_OP(_CFFI_OP_NOOP, 157), -/* 2799 */ _CFFI_OP(_CFFI_OP_NOOP, 75), -/* 2800 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), -/* 2801 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2802 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *) -/* 2803 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2804 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2805 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, Cryptography_STACK_OF_X509_NAME *) -/* 2806 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2807 */ _CFFI_OP(_CFFI_OP_NOOP, 633), -/* 2808 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2809 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, X509_STORE *) -/* 2810 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2811 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2812 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2813 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(SSL *, int *, void *)) -/* 2814 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2815 */ _CFFI_OP(_CFFI_OP_POINTER, 1672), // int(*)(SSL *, int *, void *) -/* 2816 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2817 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(SSL *, unsigned char *, unsigned int *)) -/* 2818 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2819 */ _CFFI_OP(_CFFI_OP_POINTER, 1705), // int(*)(SSL *, unsigned char *, unsigned int *) +/* 2740 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(POLICY_CONSTRAINTS *) +/* 2741 */ _CFFI_OP(_CFFI_OP_POINTER, 3105), // POLICY_CONSTRAINTS * +/* 2742 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2743 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(RSA *) +/* 2744 */ _CFFI_OP(_CFFI_OP_NOOP, 476), +/* 2745 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2746 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(RSA const *, BIGNUM const * *, BIGNUM const * *) +/* 2747 */ _CFFI_OP(_CFFI_OP_NOOP, 967), +/* 2748 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2749 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2750 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2751 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(RSA const *, BIGNUM const * *, BIGNUM const * *, BIGNUM const * *) +/* 2752 */ _CFFI_OP(_CFFI_OP_NOOP, 967), +/* 2753 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2754 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2755 */ _CFFI_OP(_CFFI_OP_NOOP, 2631), +/* 2756 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2757 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SCT *, uint64_t) +/* 2758 */ _CFFI_OP(_CFFI_OP_NOOP, 1102), +/* 2759 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 24), +/* 2760 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2761 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *) +/* 2762 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2763 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2764 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, BIO *, BIO *) +/* 2765 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2766 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 2767 */ _CFFI_OP(_CFFI_OP_NOOP, 186), +/* 2768 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2769 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, char *) +/* 2770 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2771 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 2772 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2773 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, int(*)(SSL *, void *), void *) +/* 2774 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2775 */ _CFFI_OP(_CFFI_OP_NOOP, 2337), +/* 2776 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2777 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2778 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, int) +/* 2779 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2780 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2781 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2782 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL *, unsigned int, unsigned char const *, void *) +/* 2783 */ _CFFI_OP(_CFFI_OP_NOOP, 487), +/* 2784 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 2785 */ _CFFI_OP(_CFFI_OP_NOOP, 103), +/* 2786 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2787 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2788 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL const *, char const *) +/* 2789 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 2790 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2791 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2792 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL const *, int, int) +/* 2793 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 2794 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2795 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2796 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2797 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL const *, unsigned char const * *, unsigned int *) +/* 2798 */ _CFFI_OP(_CFFI_OP_NOOP, 157), +/* 2799 */ _CFFI_OP(_CFFI_OP_NOOP, 75), +/* 2800 */ _CFFI_OP(_CFFI_OP_NOOP, 1390), +/* 2801 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2802 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *) +/* 2803 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2804 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2805 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, Cryptography_STACK_OF_X509_NAME *) +/* 2806 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2807 */ _CFFI_OP(_CFFI_OP_NOOP, 633), +/* 2808 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2809 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, X509_STORE *) +/* 2810 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2811 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2812 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2813 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(SSL *, int *, void *)) +/* 2814 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2815 */ _CFFI_OP(_CFFI_OP_POINTER, 1672), // int(*)(SSL *, int *, void *) +/* 2816 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2817 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(SSL *, unsigned char *, unsigned int *)) +/* 2818 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2819 */ _CFFI_OP(_CFFI_OP_POINTER, 1705), // int(*)(SSL *, unsigned char *, unsigned int *) /* 2820 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2821 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(SSL *, unsigned char const * *, unsigned char *, unsigned char const *, unsigned int, void *), void *) -/* 2822 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2823 */ _CFFI_OP(_CFFI_OP_POINTER, 1710), // int(*)(SSL *, unsigned char const * *, unsigned char *, unsigned char const *, unsigned int, void *) -/* 2824 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2825 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2826 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(SSL *, void *), void *) -/* 2827 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2828 */ _CFFI_OP(_CFFI_OP_NOOP, 2337), -/* 2829 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2830 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2831 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(X509_STORE_CTX *, void *), void *) -/* 2832 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2833 */ _CFFI_OP(_CFFI_OP_POINTER, 2114), // int(*)(X509_STORE_CTX *, void *) -/* 2834 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2835 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2836 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(char *, int, int, void *)) -/* 2837 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2838 */ _CFFI_OP(_CFFI_OP_NOOP, 192), -/* 2839 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2840 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int) -/* 2841 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2842 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2843 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2844 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int, int(*)(int, X509_STORE_CTX *)) -/* 2845 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2846 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2847 */ _CFFI_OP(_CFFI_OP_POINTER, 2194), // int(*)(int, X509_STORE_CTX *) -/* 2848 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2849 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, unsigned int(*)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int)) -/* 2850 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2851 */ _CFFI_OP(_CFFI_OP_POINTER, 2427), // unsigned int(*)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int) -/* 2852 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2853 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, unsigned int(*)(SSL *, char const *, unsigned char *, unsigned int)) -/* 2854 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2855 */ _CFFI_OP(_CFFI_OP_POINTER, 2435), // unsigned int(*)(SSL *, char const *, unsigned char *, unsigned int) -/* 2856 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2857 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, void *) -/* 2858 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2859 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2860 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2861 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, void(*)(SSL const *, char const *)) -/* 2862 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2863 */ _CFFI_OP(_CFFI_OP_POINTER, 2788), // void(*)(SSL const *, char const *) -/* 2864 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2865 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, void(*)(SSL const *, int, int)) -/* 2866 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 2867 */ _CFFI_OP(_CFFI_OP_POINTER, 2792), // void(*)(SSL const *, int, int) -/* 2868 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2869 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_SESSION *) -/* 2870 */ _CFFI_OP(_CFFI_OP_NOOP, 1666), -/* 2871 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2872 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(USERNOTICE *) -/* 2873 */ _CFFI_OP(_CFFI_OP_POINTER, 3118), // USERNOTICE * -/* 2874 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2875 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509 *) -/* 2876 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2877 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2878 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509V3_CTX *, X509 *, X509 *, X509_REQ *, X509_CRL *, int) -/* 2879 */ _CFFI_OP(_CFFI_OP_NOOP, 575), -/* 2880 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2881 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2882 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2883 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 2884 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2885 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2886 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_CRL *) -/* 2887 */ _CFFI_OP(_CFFI_OP_NOOP, 57), -/* 2888 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2889 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_CRL const *, ASN1_OCTET_STRING const * *, X509_ALGOR const * *) -/* 2890 */ _CFFI_OP(_CFFI_OP_NOOP, 1939), -/* 2891 */ _CFFI_OP(_CFFI_OP_NOOP, 1566), -/* 2892 */ _CFFI_OP(_CFFI_OP_NOOP, 2553), -/* 2893 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2894 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_EXTENSION *) -/* 2895 */ _CFFI_OP(_CFFI_OP_NOOP, 40), -/* 2896 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2897 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_EXTENSIONS *) -/* 2898 */ _CFFI_OP(_CFFI_OP_NOOP, 615), +/* 2821 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(SSL *, unsigned char const * *, unsigned char *, unsigned char const *, unsigned int, void *), void *) +/* 2822 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2823 */ _CFFI_OP(_CFFI_OP_POINTER, 1710), // int(*)(SSL *, unsigned char const * *, unsigned char *, unsigned char const *, unsigned int, void *) +/* 2824 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2825 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2826 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(SSL *, void *), void *) +/* 2827 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2828 */ _CFFI_OP(_CFFI_OP_NOOP, 2337), +/* 2829 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2830 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2831 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(X509_STORE_CTX *, void *), void *) +/* 2832 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2833 */ _CFFI_OP(_CFFI_OP_POINTER, 2114), // int(*)(X509_STORE_CTX *, void *) +/* 2834 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2835 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2836 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int(*)(char *, int, int, void *)) +/* 2837 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2838 */ _CFFI_OP(_CFFI_OP_NOOP, 192), +/* 2839 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2840 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int) +/* 2841 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2842 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2843 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2844 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, int, int(*)(int, X509_STORE_CTX *)) +/* 2845 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2846 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2847 */ _CFFI_OP(_CFFI_OP_POINTER, 2194), // int(*)(int, X509_STORE_CTX *) +/* 2848 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2849 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, unsigned int(*)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int)) +/* 2850 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2851 */ _CFFI_OP(_CFFI_OP_POINTER, 2427), // unsigned int(*)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int) +/* 2852 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2853 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, unsigned int(*)(SSL *, char const *, unsigned char *, unsigned int)) +/* 2854 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2855 */ _CFFI_OP(_CFFI_OP_POINTER, 2435), // unsigned int(*)(SSL *, char const *, unsigned char *, unsigned int) +/* 2856 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2857 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, void *) +/* 2858 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2859 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2860 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2861 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, void(*)(SSL const *, char const *)) +/* 2862 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2863 */ _CFFI_OP(_CFFI_OP_POINTER, 2788), // void(*)(SSL const *, char const *) +/* 2864 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2865 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_CTX *, void(*)(SSL const *, int, int)) +/* 2866 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 2867 */ _CFFI_OP(_CFFI_OP_POINTER, 2792), // void(*)(SSL const *, int, int) +/* 2868 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2869 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(SSL_SESSION *) +/* 2870 */ _CFFI_OP(_CFFI_OP_NOOP, 1666), +/* 2871 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2872 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(USERNOTICE *) +/* 2873 */ _CFFI_OP(_CFFI_OP_POINTER, 3118), // USERNOTICE * +/* 2874 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2875 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509 *) +/* 2876 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2877 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2878 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509V3_CTX *, X509 *, X509 *, X509_REQ *, X509_CRL *, int) +/* 2879 */ _CFFI_OP(_CFFI_OP_NOOP, 575), +/* 2880 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2881 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2882 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2883 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 2884 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2885 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2886 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_CRL *) +/* 2887 */ _CFFI_OP(_CFFI_OP_NOOP, 57), +/* 2888 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2889 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_CRL const *, ASN1_OCTET_STRING const * *, X509_ALGOR const * *) +/* 2890 */ _CFFI_OP(_CFFI_OP_NOOP, 1939), +/* 2891 */ _CFFI_OP(_CFFI_OP_NOOP, 1566), +/* 2892 */ _CFFI_OP(_CFFI_OP_NOOP, 2553), +/* 2893 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2894 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_EXTENSION *) +/* 2895 */ _CFFI_OP(_CFFI_OP_NOOP, 40), +/* 2896 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2897 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_EXTENSIONS *) +/* 2898 */ _CFFI_OP(_CFFI_OP_NOOP, 615), /* 2899 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2900 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_EXTENSIONS *, void(*)(X509_EXTENSION *)) -/* 2901 */ _CFFI_OP(_CFFI_OP_NOOP, 615), -/* 2902 */ _CFFI_OP(_CFFI_OP_POINTER, 2894), // void(*)(X509_EXTENSION *) -/* 2903 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2904 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_NAME *) -/* 2905 */ _CFFI_OP(_CFFI_OP_NOOP, 643), -/* 2906 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2907 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_NAME_ENTRY *) -/* 2908 */ _CFFI_OP(_CFFI_OP_NOOP, 43), -/* 2909 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2910 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_REQ *) -/* 2911 */ _CFFI_OP(_CFFI_OP_NOOP, 294), -/* 2912 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2913 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_REQ const *, ASN1_OCTET_STRING const * *, X509_ALGOR const * *) -/* 2914 */ _CFFI_OP(_CFFI_OP_NOOP, 551), -/* 2915 */ _CFFI_OP(_CFFI_OP_NOOP, 1566), -/* 2916 */ _CFFI_OP(_CFFI_OP_NOOP, 2553), -/* 2917 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2918 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_REVOKED *) -/* 2919 */ _CFFI_OP(_CFFI_OP_NOOP, 619), -/* 2920 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2921 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE *) -/* 2922 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2923 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2924 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE *, int(*)(X509 * *, X509_STORE_CTX *, X509 *)) -/* 2925 */ _CFFI_OP(_CFFI_OP_NOOP, 180), -/* 2926 */ _CFFI_OP(_CFFI_OP_POINTER, 1838), // int(*)(X509 * *, X509_STORE_CTX *, X509 *) -/* 2927 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2928 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *) -/* 2929 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2930 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2931 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, Cryptography_STACK_OF_X509 *) -/* 2932 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2933 */ _CFFI_OP(_CFFI_OP_NOOP, 413), -/* 2934 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2935 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, Cryptography_STACK_OF_X509_CRL *) -/* 2936 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2937 */ _CFFI_OP(_CFFI_OP_NOOP, 565), -/* 2938 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2939 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, X509 *) -/* 2940 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2941 */ _CFFI_OP(_CFFI_OP_NOOP, 28), -/* 2942 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2943 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, X509_VERIFY_PARAM *) -/* 2944 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2945 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2946 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2947 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, int(*)(int, X509_STORE_CTX *)) -/* 2948 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2949 */ _CFFI_OP(_CFFI_OP_NOOP, 2847), -/* 2950 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2951 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, int) -/* 2952 */ _CFFI_OP(_CFFI_OP_NOOP, 160), -/* 2953 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2954 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2955 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_VERIFY_PARAM *) -/* 2956 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2957 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2958 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_VERIFY_PARAM *, int) -/* 2959 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2960 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2961 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2962 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_VERIFY_PARAM *, time_t) -/* 2963 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2964 */ _CFFI_OP(_CFFI_OP_NOOP, 10), -/* 2965 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2966 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_VERIFY_PARAM *, unsigned int) -/* 2967 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), -/* 2968 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), -/* 2969 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2970 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(char const *) -/* 2971 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2900 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_EXTENSIONS *, void(*)(X509_EXTENSION *)) +/* 2901 */ _CFFI_OP(_CFFI_OP_NOOP, 615), +/* 2902 */ _CFFI_OP(_CFFI_OP_POINTER, 2894), // void(*)(X509_EXTENSION *) +/* 2903 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2904 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_NAME *) +/* 2905 */ _CFFI_OP(_CFFI_OP_NOOP, 643), +/* 2906 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2907 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_NAME_ENTRY *) +/* 2908 */ _CFFI_OP(_CFFI_OP_NOOP, 43), +/* 2909 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2910 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_REQ *) +/* 2911 */ _CFFI_OP(_CFFI_OP_NOOP, 294), +/* 2912 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2913 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_REQ const *, ASN1_OCTET_STRING const * *, X509_ALGOR const * *) +/* 2914 */ _CFFI_OP(_CFFI_OP_NOOP, 551), +/* 2915 */ _CFFI_OP(_CFFI_OP_NOOP, 1566), +/* 2916 */ _CFFI_OP(_CFFI_OP_NOOP, 2553), +/* 2917 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2918 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_REVOKED *) +/* 2919 */ _CFFI_OP(_CFFI_OP_NOOP, 619), +/* 2920 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2921 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE *) +/* 2922 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2923 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2924 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE *, int(*)(X509 * *, X509_STORE_CTX *, X509 *)) +/* 2925 */ _CFFI_OP(_CFFI_OP_NOOP, 180), +/* 2926 */ _CFFI_OP(_CFFI_OP_POINTER, 1838), // int(*)(X509 * *, X509_STORE_CTX *, X509 *) +/* 2927 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2928 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *) +/* 2929 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2930 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2931 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, Cryptography_STACK_OF_X509 *) +/* 2932 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2933 */ _CFFI_OP(_CFFI_OP_NOOP, 413), +/* 2934 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2935 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, Cryptography_STACK_OF_X509_CRL *) +/* 2936 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2937 */ _CFFI_OP(_CFFI_OP_NOOP, 565), +/* 2938 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2939 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, X509 *) +/* 2940 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2941 */ _CFFI_OP(_CFFI_OP_NOOP, 28), +/* 2942 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2943 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, X509_VERIFY_PARAM *) +/* 2944 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2945 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2946 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2947 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, int(*)(int, X509_STORE_CTX *)) +/* 2948 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2949 */ _CFFI_OP(_CFFI_OP_NOOP, 2847), +/* 2950 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2951 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_STORE_CTX *, int) +/* 2952 */ _CFFI_OP(_CFFI_OP_NOOP, 160), +/* 2953 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2954 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2955 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_VERIFY_PARAM *) +/* 2956 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2957 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2958 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_VERIFY_PARAM *, int) +/* 2959 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2960 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2961 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2962 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_VERIFY_PARAM *, time_t) +/* 2963 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2964 */ _CFFI_OP(_CFFI_OP_NOOP, 10), +/* 2965 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2966 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(X509_VERIFY_PARAM *, unsigned int) +/* 2967 */ _CFFI_OP(_CFFI_OP_NOOP, 2085), +/* 2968 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 8), +/* 2969 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2970 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(char const *) +/* 2971 */ _CFFI_OP(_CFFI_OP_NOOP, 46), /* 2972 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2973 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(int, int, int, char const *, int) -/* 2974 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2975 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2976 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2977 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2978 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2979 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2980 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(unsigned long, char *, size_t) -/* 2981 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), -/* 2982 */ _CFFI_OP(_CFFI_OP_NOOP, 409), -/* 2983 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), -/* 2984 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2985 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(void *) -/* 2986 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2987 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2988 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(void *, char const *, int) -/* 2989 */ _CFFI_OP(_CFFI_OP_NOOP, 193), -/* 2990 */ _CFFI_OP(_CFFI_OP_NOOP, 46), -/* 2991 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2992 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2993 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(void const *, int, double) -/* 2994 */ _CFFI_OP(_CFFI_OP_NOOP, 126), -/* 2995 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), -/* 2996 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 14), // double -/* 2997 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 2998 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(void) -/* 2999 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 3000 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2863), // void(*()(SSL_CTX *))(SSL const *, char const *) -/* 3001 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 3002 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 3003 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2867), // void(*()(SSL_CTX *))(SSL const *, int, int) -/* 3004 */ _CFFI_OP(_CFFI_OP_NOOP, 490), -/* 3005 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 3006 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 4), // ACCESS_DESCRIPTION -/* 3007 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 5), // AES_KEY -/* 3008 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 6), // ASN1_ENUMERATED -/* 3009 */ _CFFI_OP(_CFFI_OP_POINTER, 3010), // ASN1_GENERALIZEDTIME const * -/* 3010 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 7), // ASN1_GENERALIZEDTIME -/* 3011 */ _CFFI_OP(_CFFI_OP_POINTER, 3012), // ASN1_INTEGER const * -/* 3012 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 8), // ASN1_INTEGER -/* 3013 */ _CFFI_OP(_CFFI_OP_POINTER, 3014), // ASN1_NULL * -/* 3014 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 9), // ASN1_NULL -/* 3015 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 10), // ASN1_OBJECT -/* 3016 */ _CFFI_OP(_CFFI_OP_POINTER, 3017), // ASN1_OCTET_STRING const * -/* 3017 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 115), // ASN1_OCTET_STRING -/* 3018 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 11), // ASN1_TYPE -/* 3019 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 12), // AUTHORITY_KEYID -/* 3020 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 13), // BASIC_CONSTRAINTS -/* 3021 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 14), // BIGNUM -/* 3022 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 15), // BIO -/* 3023 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 16), // BIO_METHOD -/* 3024 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 17), // BN_CTX -/* 3025 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 18), // BN_GENCB -/* 3026 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 19), // BN_MONT_CTX -/* 3027 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 20), // CMAC_CTX -/* 3028 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 21), // CONF -/* 3029 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 22), // CRYPTOGRAPHY_PASSWORD_DATA -/* 3030 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 23), // CRYPTO_EX_dup -/* 3031 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 24), // CRYPTO_EX_free -/* 3032 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 25), // CRYPTO_EX_new -/* 3033 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 26), // Cryptography_LHASH_OF_CONF_VALUE -/* 3034 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 27), // Cryptography_STACK_OF_ACCESS_DESCRIPTION -/* 3035 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 28), // Cryptography_STACK_OF_ASN1_INTEGER -/* 3036 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 29), // Cryptography_STACK_OF_ASN1_OBJECT -/* 3037 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 30), // Cryptography_STACK_OF_DIST_POINT -/* 3038 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 31), // Cryptography_STACK_OF_GENERAL_SUBTREE -/* 3039 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 32), // Cryptography_STACK_OF_POLICYINFO -/* 3040 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 33), // Cryptography_STACK_OF_POLICYQUALINFO -/* 3041 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 34), // Cryptography_STACK_OF_SCT -/* 3042 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 35), // Cryptography_STACK_OF_SSL_CIPHER -/* 3043 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 36), // Cryptography_STACK_OF_X509 -/* 3044 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 37), // Cryptography_STACK_OF_X509_CRL -/* 3045 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 38), // Cryptography_STACK_OF_X509_NAME -/* 3046 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 39), // Cryptography_STACK_OF_X509_NAME_ENTRY -/* 3047 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 40), // Cryptography_STACK_OF_X509_OBJECT -/* 3048 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 41), // Cryptography_STACK_OF_X509_REVOKED -/* 3049 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 42), // DH -/* 3050 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 43), // DIST_POINT -/* 3051 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 44), // DIST_POINT_NAME -/* 3052 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 45), // DSA -/* 3053 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 46), // ECDSA_SIG -/* 3054 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 47), // EC_GROUP -/* 3055 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 48), // EC_KEY -/* 3056 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 49), // EC_METHOD -/* 3057 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 50), // EC_POINT -/* 3058 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 51), // EC_builtin_curve -/* 3059 */ _CFFI_OP(_CFFI_OP_POINTER, 3060), // EDIPARTYNAME * -/* 3060 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 52), // EDIPARTYNAME -/* 3061 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 53), // ENGINE -/* 3062 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 54), // EVP_CIPHER -/* 3063 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 55), // EVP_CIPHER_CTX -/* 3064 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 56), // EVP_MD -/* 3065 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 57), // EVP_MD_CTX -/* 3066 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 58), // EVP_PKEY -/* 3067 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 59), // EVP_PKEY_CTX -/* 3068 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 60), // EXTENDED_KEY_USAGE -/* 3069 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 61), // GENERAL_NAME -/* 3070 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 116), // GENERAL_NAMES -/* 3071 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 62), // GENERAL_SUBTREE -/* 3072 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 63), // HMAC_CTX -/* 3073 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 64), // ISSUING_DIST_POINT -/* 3074 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 65), // NAME_CONSTRAINTS -/* 3075 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 66), // NETSCAPE_SPKI -/* 3076 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 67), // NOTICEREF -/* 3077 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 68), // OBJ_NAME -/* 3078 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 69), // OCSP_BASICRESP -/* 3079 */ _CFFI_OP(_CFFI_OP_POINTER, 3080), // OCSP_CERTID const * -/* 3080 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 70), // OCSP_CERTID -/* 3081 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 71), // OCSP_ONEREQ -/* 3082 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 72), // OCSP_REQUEST -/* 3083 */ _CFFI_OP(_CFFI_OP_POINTER, 3084), // OCSP_RESPDATA const * -/* 3084 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 73), // OCSP_RESPDATA -/* 3085 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 74), // OCSP_RESPONSE -/* 3086 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 75), // OCSP_SINGLERESP -/* 3087 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 76), // OTHERNAME -/* 3088 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 77), // PKCS12 -/* 3089 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 78), // PKCS7 -/* 3090 */ _CFFI_OP(_CFFI_OP_POINTER, 3091), // PKCS7_DIGEST * -/* 3091 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 79), // PKCS7_DIGEST -/* 3092 */ _CFFI_OP(_CFFI_OP_POINTER, 3093), // PKCS7_ENCRYPT * -/* 3093 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 80), // PKCS7_ENCRYPT -/* 3094 */ _CFFI_OP(_CFFI_OP_POINTER, 3095), // PKCS7_ENVELOPE * -/* 3095 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 81), // PKCS7_ENVELOPE -/* 3096 */ _CFFI_OP(_CFFI_OP_POINTER, 3097), // PKCS7_SIGNED * -/* 3097 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 82), // PKCS7_SIGNED -/* 3098 */ _CFFI_OP(_CFFI_OP_POINTER, 3099), // PKCS7_SIGNER_INFO * -/* 3099 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 83), // PKCS7_SIGNER_INFO -/* 3100 */ _CFFI_OP(_CFFI_OP_POINTER, 3101), // PKCS7_SIGN_ENVELOPE * -/* 3101 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 84), // PKCS7_SIGN_ENVELOPE -/* 3102 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 85), // PKCS8_PRIV_KEY_INFO -/* 3103 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 86), // POLICYINFO -/* 3104 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 87), // POLICYQUALINFO -/* 3105 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 88), // POLICY_CONSTRAINTS -/* 3106 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 89), // RAND_METHOD -/* 3107 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 90), // RSA -/* 3108 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 91), // SCT -/* 3109 */ _CFFI_OP(_CFFI_OP_POINTER, 3110), // SRTP_PROTECTION_PROFILE * -/* 3110 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 92), // SRTP_PROTECTION_PROFILE -/* 3111 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 93), // SSL -/* 3112 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 94), // SSL_CIPHER -/* 3113 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 95), // SSL_CTX -/* 3114 */ _CFFI_OP(_CFFI_OP_POINTER, 3115), // SSL_METHOD const * -/* 3115 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 96), // SSL_METHOD -/* 3116 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 97), // SSL_SESSION -/* 3117 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 98), // UI_METHOD -/* 3118 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 99), // USERNOTICE -/* 3119 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 100), // X509 -/* 3120 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 101), // X509V3_CTX -/* 3121 */ _CFFI_OP(_CFFI_OP_POINTER, 3122), // X509_ALGOR const * -/* 3122 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 102), // X509_ALGOR -/* 3123 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 103), // X509_ATTRIBUTE -/* 3124 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 104), // X509_CRL -/* 3125 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 105), // X509_EXTENSION -/* 3126 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 106), // X509_EXTENSIONS -/* 3127 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 107), // X509_NAME -/* 3128 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 108), // X509_NAME_ENTRY -/* 3129 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 109), // X509_OBJECT -/* 3130 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 110), // X509_REQ -/* 3131 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 111), // X509_REVOKED -/* 3132 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 112), // X509_STORE -/* 3133 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 113), // X509_STORE_CTX -/* 3134 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 114), // X509_VERIFY_PARAM -/* 3135 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 2), // char -/* 3136 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 0), // union $1 -/* 3137 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 1), // union $2 -/* 3138 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 2), // union $3 -/* 3139 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 3), // union $4 -/* 3140 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 4), // unsigned char -/* 3141 */ _CFFI_OP(_CFFI_OP_POINTER, 2522), // void *(*)(void *, unsigned char const * *, long) -/* 3142 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 0), // void +/* 2973 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(int, int, int, char const *, int) +/* 2974 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2975 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2976 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2977 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2978 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2979 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2980 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(unsigned long, char *, size_t) +/* 2981 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 10), +/* 2982 */ _CFFI_OP(_CFFI_OP_NOOP, 409), +/* 2983 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 28), +/* 2984 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2985 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(void *) +/* 2986 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2987 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2988 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(void *, char const *, int) +/* 2989 */ _CFFI_OP(_CFFI_OP_NOOP, 193), +/* 2990 */ _CFFI_OP(_CFFI_OP_NOOP, 46), +/* 2991 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2992 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2993 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(void const *, int, double) +/* 2994 */ _CFFI_OP(_CFFI_OP_NOOP, 126), +/* 2995 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 7), +/* 2996 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 14), // double +/* 2997 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 2998 */ _CFFI_OP(_CFFI_OP_FUNCTION, 3142), // void()(void) +/* 2999 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 3000 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2863), // void(*()(SSL_CTX *))(SSL const *, char const *) +/* 3001 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 3002 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 3003 */ _CFFI_OP(_CFFI_OP_FUNCTION, 2867), // void(*()(SSL_CTX *))(SSL const *, int, int) +/* 3004 */ _CFFI_OP(_CFFI_OP_NOOP, 490), +/* 3005 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), +/* 3006 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 4), // ACCESS_DESCRIPTION +/* 3007 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 5), // AES_KEY +/* 3008 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 6), // ASN1_ENUMERATED +/* 3009 */ _CFFI_OP(_CFFI_OP_POINTER, 3010), // ASN1_GENERALIZEDTIME const * +/* 3010 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 7), // ASN1_GENERALIZEDTIME +/* 3011 */ _CFFI_OP(_CFFI_OP_POINTER, 3012), // ASN1_INTEGER const * +/* 3012 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 8), // ASN1_INTEGER +/* 3013 */ _CFFI_OP(_CFFI_OP_POINTER, 3014), // ASN1_NULL * +/* 3014 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 9), // ASN1_NULL +/* 3015 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 10), // ASN1_OBJECT +/* 3016 */ _CFFI_OP(_CFFI_OP_POINTER, 3017), // ASN1_OCTET_STRING const * +/* 3017 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 115), // ASN1_OCTET_STRING +/* 3018 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 11), // ASN1_TYPE +/* 3019 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 12), // AUTHORITY_KEYID +/* 3020 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 13), // BASIC_CONSTRAINTS +/* 3021 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 14), // BIGNUM +/* 3022 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 15), // BIO +/* 3023 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 16), // BIO_METHOD +/* 3024 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 17), // BN_CTX +/* 3025 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 18), // BN_GENCB +/* 3026 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 19), // BN_MONT_CTX +/* 3027 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 20), // CMAC_CTX +/* 3028 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 21), // CONF +/* 3029 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 22), // CRYPTOGRAPHY_PASSWORD_DATA +/* 3030 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 23), // CRYPTO_EX_dup +/* 3031 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 24), // CRYPTO_EX_free +/* 3032 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 25), // CRYPTO_EX_new +/* 3033 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 26), // Cryptography_LHASH_OF_CONF_VALUE +/* 3034 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 27), // Cryptography_STACK_OF_ACCESS_DESCRIPTION +/* 3035 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 28), // Cryptography_STACK_OF_ASN1_INTEGER +/* 3036 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 29), // Cryptography_STACK_OF_ASN1_OBJECT +/* 3037 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 30), // Cryptography_STACK_OF_DIST_POINT +/* 3038 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 31), // Cryptography_STACK_OF_GENERAL_SUBTREE +/* 3039 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 32), // Cryptography_STACK_OF_POLICYINFO +/* 3040 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 33), // Cryptography_STACK_OF_POLICYQUALINFO +/* 3041 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 34), // Cryptography_STACK_OF_SCT +/* 3042 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 35), // Cryptography_STACK_OF_SSL_CIPHER +/* 3043 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 36), // Cryptography_STACK_OF_X509 +/* 3044 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 37), // Cryptography_STACK_OF_X509_CRL +/* 3045 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 38), // Cryptography_STACK_OF_X509_NAME +/* 3046 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 39), // Cryptography_STACK_OF_X509_NAME_ENTRY +/* 3047 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 40), // Cryptography_STACK_OF_X509_OBJECT +/* 3048 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 41), // Cryptography_STACK_OF_X509_REVOKED +/* 3049 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 42), // DH +/* 3050 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 43), // DIST_POINT +/* 3051 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 44), // DIST_POINT_NAME +/* 3052 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 45), // DSA +/* 3053 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 46), // ECDSA_SIG +/* 3054 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 47), // EC_GROUP +/* 3055 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 48), // EC_KEY +/* 3056 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 49), // EC_METHOD +/* 3057 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 50), // EC_POINT +/* 3058 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 51), // EC_builtin_curve +/* 3059 */ _CFFI_OP(_CFFI_OP_POINTER, 3060), // EDIPARTYNAME * +/* 3060 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 52), // EDIPARTYNAME +/* 3061 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 53), // ENGINE +/* 3062 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 54), // EVP_CIPHER +/* 3063 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 55), // EVP_CIPHER_CTX +/* 3064 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 56), // EVP_MD +/* 3065 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 57), // EVP_MD_CTX +/* 3066 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 58), // EVP_PKEY +/* 3067 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 59), // EVP_PKEY_CTX +/* 3068 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 60), // EXTENDED_KEY_USAGE +/* 3069 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 61), // GENERAL_NAME +/* 3070 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 116), // GENERAL_NAMES +/* 3071 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 62), // GENERAL_SUBTREE +/* 3072 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 63), // HMAC_CTX +/* 3073 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 64), // ISSUING_DIST_POINT +/* 3074 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 65), // NAME_CONSTRAINTS +/* 3075 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 66), // NETSCAPE_SPKI +/* 3076 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 67), // NOTICEREF +/* 3077 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 68), // OBJ_NAME +/* 3078 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 69), // OCSP_BASICRESP +/* 3079 */ _CFFI_OP(_CFFI_OP_POINTER, 3080), // OCSP_CERTID const * +/* 3080 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 70), // OCSP_CERTID +/* 3081 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 71), // OCSP_ONEREQ +/* 3082 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 72), // OCSP_REQUEST +/* 3083 */ _CFFI_OP(_CFFI_OP_POINTER, 3084), // OCSP_RESPDATA const * +/* 3084 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 73), // OCSP_RESPDATA +/* 3085 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 74), // OCSP_RESPONSE +/* 3086 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 75), // OCSP_SINGLERESP +/* 3087 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 76), // OTHERNAME +/* 3088 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 77), // PKCS12 +/* 3089 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 78), // PKCS7 +/* 3090 */ _CFFI_OP(_CFFI_OP_POINTER, 3091), // PKCS7_DIGEST * +/* 3091 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 79), // PKCS7_DIGEST +/* 3092 */ _CFFI_OP(_CFFI_OP_POINTER, 3093), // PKCS7_ENCRYPT * +/* 3093 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 80), // PKCS7_ENCRYPT +/* 3094 */ _CFFI_OP(_CFFI_OP_POINTER, 3095), // PKCS7_ENVELOPE * +/* 3095 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 81), // PKCS7_ENVELOPE +/* 3096 */ _CFFI_OP(_CFFI_OP_POINTER, 3097), // PKCS7_SIGNED * +/* 3097 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 82), // PKCS7_SIGNED +/* 3098 */ _CFFI_OP(_CFFI_OP_POINTER, 3099), // PKCS7_SIGNER_INFO * +/* 3099 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 83), // PKCS7_SIGNER_INFO +/* 3100 */ _CFFI_OP(_CFFI_OP_POINTER, 3101), // PKCS7_SIGN_ENVELOPE * +/* 3101 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 84), // PKCS7_SIGN_ENVELOPE +/* 3102 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 85), // PKCS8_PRIV_KEY_INFO +/* 3103 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 86), // POLICYINFO +/* 3104 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 87), // POLICYQUALINFO +/* 3105 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 88), // POLICY_CONSTRAINTS +/* 3106 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 89), // RAND_METHOD +/* 3107 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 90), // RSA +/* 3108 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 91), // SCT +/* 3109 */ _CFFI_OP(_CFFI_OP_POINTER, 3110), // SRTP_PROTECTION_PROFILE * +/* 3110 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 92), // SRTP_PROTECTION_PROFILE +/* 3111 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 93), // SSL +/* 3112 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 94), // SSL_CIPHER +/* 3113 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 95), // SSL_CTX +/* 3114 */ _CFFI_OP(_CFFI_OP_POINTER, 3115), // SSL_METHOD const * +/* 3115 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 96), // SSL_METHOD +/* 3116 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 97), // SSL_SESSION +/* 3117 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 98), // UI_METHOD +/* 3118 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 99), // USERNOTICE +/* 3119 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 100), // X509 +/* 3120 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 101), // X509V3_CTX +/* 3121 */ _CFFI_OP(_CFFI_OP_POINTER, 3122), // X509_ALGOR const * +/* 3122 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 102), // X509_ALGOR +/* 3123 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 103), // X509_ATTRIBUTE +/* 3124 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 104), // X509_CRL +/* 3125 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 105), // X509_EXTENSION +/* 3126 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 106), // X509_EXTENSIONS +/* 3127 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 107), // X509_NAME +/* 3128 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 108), // X509_NAME_ENTRY +/* 3129 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 109), // X509_OBJECT +/* 3130 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 110), // X509_REQ +/* 3131 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 111), // X509_REVOKED +/* 3132 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 112), // X509_STORE +/* 3133 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 113), // X509_STORE_CTX +/* 3134 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 114), // X509_VERIFY_PARAM +/* 3135 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 2), // char +/* 3136 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 0), // union $1 +/* 3137 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 1), // union $2 +/* 3138 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 2), // union $3 +/* 3139 */ _CFFI_OP(_CFFI_OP_STRUCT_UNION, 3), // union $4 +/* 3140 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 4), // unsigned char +/* 3141 */ _CFFI_OP(_CFFI_OP_POINTER, 2522), // void *(*)(void *, unsigned char const * *, long) +/* 3142 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 0), // void }; _CFFI_UNUSED_FN @@ -5419,15 +5419,15 @@ static void _cffi_checkfld_typedef_ACCESS_DESCRIPTION(ACCESS_DESCRIPTION *p) struct _cffi_align_typedef_ACCESS_DESCRIPTION { char x; ACCESS_DESCRIPTION y; }; _CFFI_UNUSED_FN -static void _cffi_checkfld_typedef_ASN1_TYPE(ASN1_TYPE *p) -{ - /* only to generate compile-time warnings or errors */ - (void)p; - (void)((p->type) | 0); /* check that 'ASN1_TYPE.type' is an integer */ -} -struct _cffi_align_typedef_ASN1_TYPE { char x; ASN1_TYPE y; }; - -_CFFI_UNUSED_FN +static void _cffi_checkfld_typedef_ASN1_TYPE(ASN1_TYPE *p) +{ + /* only to generate compile-time warnings or errors */ + (void)p; + (void)((p->type) | 0); /* check that 'ASN1_TYPE.type' is an integer */ +} +struct _cffi_align_typedef_ASN1_TYPE { char x; ASN1_TYPE y; }; + +_CFFI_UNUSED_FN static void _cffi_checkfld_typedef_AUTHORITY_KEYID(AUTHORITY_KEYID *p) { /* only to generate compile-time warnings or errors */ @@ -5449,19 +5449,19 @@ static void _cffi_checkfld_typedef_BASIC_CONSTRAINTS(BASIC_CONSTRAINTS *p) struct _cffi_align_typedef_BASIC_CONSTRAINTS { char x; BASIC_CONSTRAINTS y; }; _CFFI_UNUSED_FN -static void _cffi_checkfld_typedef_CRYPTOGRAPHY_PASSWORD_DATA(CRYPTOGRAPHY_PASSWORD_DATA *p) -{ - /* only to generate compile-time warnings or errors */ - (void)p; - { char * *tmp = &p->password; (void)tmp; } - (void)((p->length) | 0); /* check that 'CRYPTOGRAPHY_PASSWORD_DATA.length' is an integer */ - (void)((p->called) | 0); /* check that 'CRYPTOGRAPHY_PASSWORD_DATA.called' is an integer */ - (void)((p->error) | 0); /* check that 'CRYPTOGRAPHY_PASSWORD_DATA.error' is an integer */ - (void)((p->maxsize) | 0); /* check that 'CRYPTOGRAPHY_PASSWORD_DATA.maxsize' is an integer */ -} -struct _cffi_align_typedef_CRYPTOGRAPHY_PASSWORD_DATA { char x; CRYPTOGRAPHY_PASSWORD_DATA y; }; - -_CFFI_UNUSED_FN +static void _cffi_checkfld_typedef_CRYPTOGRAPHY_PASSWORD_DATA(CRYPTOGRAPHY_PASSWORD_DATA *p) +{ + /* only to generate compile-time warnings or errors */ + (void)p; + { char * *tmp = &p->password; (void)tmp; } + (void)((p->length) | 0); /* check that 'CRYPTOGRAPHY_PASSWORD_DATA.length' is an integer */ + (void)((p->called) | 0); /* check that 'CRYPTOGRAPHY_PASSWORD_DATA.called' is an integer */ + (void)((p->error) | 0); /* check that 'CRYPTOGRAPHY_PASSWORD_DATA.error' is an integer */ + (void)((p->maxsize) | 0); /* check that 'CRYPTOGRAPHY_PASSWORD_DATA.maxsize' is an integer */ +} +struct _cffi_align_typedef_CRYPTOGRAPHY_PASSWORD_DATA { char x; CRYPTOGRAPHY_PASSWORD_DATA y; }; + +_CFFI_UNUSED_FN static void _cffi_checkfld_typedef_DIST_POINT(DIST_POINT *p) { /* only to generate compile-time warnings or errors */ @@ -5522,20 +5522,20 @@ static void _cffi_checkfld_typedef_GENERAL_SUBTREE(GENERAL_SUBTREE *p) struct _cffi_align_typedef_GENERAL_SUBTREE { char x; GENERAL_SUBTREE y; }; _CFFI_UNUSED_FN -static void _cffi_checkfld_typedef_ISSUING_DIST_POINT(ISSUING_DIST_POINT *p) -{ - /* only to generate compile-time warnings or errors */ - (void)p; - { DIST_POINT_NAME * *tmp = &p->distpoint; (void)tmp; } - (void)((p->onlyuser) | 0); /* check that 'ISSUING_DIST_POINT.onlyuser' is an integer */ - (void)((p->onlyCA) | 0); /* check that 'ISSUING_DIST_POINT.onlyCA' is an integer */ - { ASN1_OCTET_STRING * *tmp = &p->onlysomereasons; (void)tmp; } - (void)((p->indirectCRL) | 0); /* check that 'ISSUING_DIST_POINT.indirectCRL' is an integer */ - (void)((p->onlyattr) | 0); /* check that 'ISSUING_DIST_POINT.onlyattr' is an integer */ -} -struct _cffi_align_typedef_ISSUING_DIST_POINT { char x; ISSUING_DIST_POINT y; }; - -_CFFI_UNUSED_FN +static void _cffi_checkfld_typedef_ISSUING_DIST_POINT(ISSUING_DIST_POINT *p) +{ + /* only to generate compile-time warnings or errors */ + (void)p; + { DIST_POINT_NAME * *tmp = &p->distpoint; (void)tmp; } + (void)((p->onlyuser) | 0); /* check that 'ISSUING_DIST_POINT.onlyuser' is an integer */ + (void)((p->onlyCA) | 0); /* check that 'ISSUING_DIST_POINT.onlyCA' is an integer */ + { ASN1_OCTET_STRING * *tmp = &p->onlysomereasons; (void)tmp; } + (void)((p->indirectCRL) | 0); /* check that 'ISSUING_DIST_POINT.indirectCRL' is an integer */ + (void)((p->onlyattr) | 0); /* check that 'ISSUING_DIST_POINT.onlyattr' is an integer */ +} +struct _cffi_align_typedef_ISSUING_DIST_POINT { char x; ISSUING_DIST_POINT y; }; + +_CFFI_UNUSED_FN static void _cffi_checkfld_typedef_NAME_CONSTRAINTS(NAME_CONSTRAINTS *p) { /* only to generate compile-time warnings or errors */ @@ -5556,18 +5556,18 @@ static void _cffi_checkfld_typedef_NOTICEREF(NOTICEREF *p) struct _cffi_align_typedef_NOTICEREF { char x; NOTICEREF y; }; _CFFI_UNUSED_FN -static void _cffi_checkfld_typedef_OBJ_NAME(OBJ_NAME *p) -{ - /* only to generate compile-time warnings or errors */ - (void)p; - (void)((p->type) | 0); /* check that 'OBJ_NAME.type' is an integer */ - (void)((p->alias) | 0); /* check that 'OBJ_NAME.alias' is an integer */ - { char const * *tmp = &p->name; (void)tmp; } - { char const * *tmp = &p->data; (void)tmp; } -} -struct _cffi_align_typedef_OBJ_NAME { char x; OBJ_NAME y; }; - -_CFFI_UNUSED_FN +static void _cffi_checkfld_typedef_OBJ_NAME(OBJ_NAME *p) +{ + /* only to generate compile-time warnings or errors */ + (void)p; + (void)((p->type) | 0); /* check that 'OBJ_NAME.type' is an integer */ + (void)((p->alias) | 0); /* check that 'OBJ_NAME.alias' is an integer */ + { char const * *tmp = &p->name; (void)tmp; } + { char const * *tmp = &p->data; (void)tmp; } +} +struct _cffi_align_typedef_OBJ_NAME { char x; OBJ_NAME y; }; + +_CFFI_UNUSED_FN static void _cffi_checkfld_typedef_OTHERNAME(OTHERNAME *p) { /* only to generate compile-time warnings or errors */ @@ -5638,14 +5638,14 @@ static void _cffi_checkfld_typedef_POLICY_CONSTRAINTS(POLICY_CONSTRAINTS *p) struct _cffi_align_typedef_POLICY_CONSTRAINTS { char x; POLICY_CONSTRAINTS y; }; _CFFI_UNUSED_FN -static void _cffi_checkfld_typedef_SRTP_PROTECTION_PROFILE(SRTP_PROTECTION_PROFILE *p) +static void _cffi_checkfld_typedef_SRTP_PROTECTION_PROFILE(SRTP_PROTECTION_PROFILE *p) { /* only to generate compile-time warnings or errors */ (void)p; - { char const * *tmp = &p->name; (void)tmp; } - (void)((p->id) | 0); /* check that 'SRTP_PROTECTION_PROFILE.id' is an integer */ + { char const * *tmp = &p->name; (void)tmp; } + (void)((p->id) | 0); /* check that 'SRTP_PROTECTION_PROFILE.id' is an integer */ } -struct _cffi_align_typedef_SRTP_PROTECTION_PROFILE { char x; SRTP_PROTECTION_PROFILE y; }; +struct _cffi_align_typedef_SRTP_PROTECTION_PROFILE { char x; SRTP_PROTECTION_PROFILE y; }; _CFFI_UNUSED_FN static void _cffi_checkfld_typedef_USERNOTICE(USERNOTICE *p) @@ -5676,134 +5676,134 @@ static void _cffi_checkfld_typedef_X509_ALGOR(X509_ALGOR *p) } struct _cffi_align_typedef_X509_ALGOR { char x; X509_ALGOR y; }; -static int _cffi_const_CT_LOG_ENTRY_TYPE_NOT_SET(unsigned long long *o) +static int _cffi_const_CT_LOG_ENTRY_TYPE_NOT_SET(unsigned long long *o) { - int n = (CT_LOG_ENTRY_TYPE_NOT_SET) <= 0; - *o = (unsigned long long)((CT_LOG_ENTRY_TYPE_NOT_SET) | 0); /* check that CT_LOG_ENTRY_TYPE_NOT_SET is an integer */ + int n = (CT_LOG_ENTRY_TYPE_NOT_SET) <= 0; + *o = (unsigned long long)((CT_LOG_ENTRY_TYPE_NOT_SET) | 0); /* check that CT_LOG_ENTRY_TYPE_NOT_SET is an integer */ return n; } -static int _cffi_const_CT_LOG_ENTRY_TYPE_X509(unsigned long long *o) +static int _cffi_const_CT_LOG_ENTRY_TYPE_X509(unsigned long long *o) { - int n = (CT_LOG_ENTRY_TYPE_X509) <= 0; - *o = (unsigned long long)((CT_LOG_ENTRY_TYPE_X509) | 0); /* check that CT_LOG_ENTRY_TYPE_X509 is an integer */ + int n = (CT_LOG_ENTRY_TYPE_X509) <= 0; + *o = (unsigned long long)((CT_LOG_ENTRY_TYPE_X509) | 0); /* check that CT_LOG_ENTRY_TYPE_X509 is an integer */ return n; } -static int _cffi_const_CT_LOG_ENTRY_TYPE_PRECERT(unsigned long long *o) +static int _cffi_const_CT_LOG_ENTRY_TYPE_PRECERT(unsigned long long *o) { - int n = (CT_LOG_ENTRY_TYPE_PRECERT) <= 0; - *o = (unsigned long long)((CT_LOG_ENTRY_TYPE_PRECERT) | 0); /* check that CT_LOG_ENTRY_TYPE_PRECERT is an integer */ + int n = (CT_LOG_ENTRY_TYPE_PRECERT) <= 0; + *o = (unsigned long long)((CT_LOG_ENTRY_TYPE_PRECERT) | 0); /* check that CT_LOG_ENTRY_TYPE_PRECERT is an integer */ return n; } -static int _cffi_const_POINT_CONVERSION_COMPRESSED(unsigned long long *o) +static int _cffi_const_POINT_CONVERSION_COMPRESSED(unsigned long long *o) { - int n = (POINT_CONVERSION_COMPRESSED) <= 0; - *o = (unsigned long long)((POINT_CONVERSION_COMPRESSED) | 0); /* check that POINT_CONVERSION_COMPRESSED is an integer */ + int n = (POINT_CONVERSION_COMPRESSED) <= 0; + *o = (unsigned long long)((POINT_CONVERSION_COMPRESSED) | 0); /* check that POINT_CONVERSION_COMPRESSED is an integer */ return n; } -static int _cffi_const_POINT_CONVERSION_UNCOMPRESSED(unsigned long long *o) +static int _cffi_const_POINT_CONVERSION_UNCOMPRESSED(unsigned long long *o) { - int n = (POINT_CONVERSION_UNCOMPRESSED) <= 0; - *o = (unsigned long long)((POINT_CONVERSION_UNCOMPRESSED) | 0); /* check that POINT_CONVERSION_UNCOMPRESSED is an integer */ + int n = (POINT_CONVERSION_UNCOMPRESSED) <= 0; + *o = (unsigned long long)((POINT_CONVERSION_UNCOMPRESSED) | 0); /* check that POINT_CONVERSION_UNCOMPRESSED is an integer */ return n; } -static int _cffi_const_SCT_SOURCE_UNKNOWN(unsigned long long *o) +static int _cffi_const_SCT_SOURCE_UNKNOWN(unsigned long long *o) { - int n = (SCT_SOURCE_UNKNOWN) <= 0; - *o = (unsigned long long)((SCT_SOURCE_UNKNOWN) | 0); /* check that SCT_SOURCE_UNKNOWN is an integer */ + int n = (SCT_SOURCE_UNKNOWN) <= 0; + *o = (unsigned long long)((SCT_SOURCE_UNKNOWN) | 0); /* check that SCT_SOURCE_UNKNOWN is an integer */ return n; } -static int _cffi_const_SCT_SOURCE_TLS_EXTENSION(unsigned long long *o) +static int _cffi_const_SCT_SOURCE_TLS_EXTENSION(unsigned long long *o) { - int n = (SCT_SOURCE_TLS_EXTENSION) <= 0; - *o = (unsigned long long)((SCT_SOURCE_TLS_EXTENSION) | 0); /* check that SCT_SOURCE_TLS_EXTENSION is an integer */ + int n = (SCT_SOURCE_TLS_EXTENSION) <= 0; + *o = (unsigned long long)((SCT_SOURCE_TLS_EXTENSION) | 0); /* check that SCT_SOURCE_TLS_EXTENSION is an integer */ return n; } -static int _cffi_const_SCT_SOURCE_X509V3_EXTENSION(unsigned long long *o) +static int _cffi_const_SCT_SOURCE_X509V3_EXTENSION(unsigned long long *o) { - int n = (SCT_SOURCE_X509V3_EXTENSION) <= 0; - *o = (unsigned long long)((SCT_SOURCE_X509V3_EXTENSION) | 0); /* check that SCT_SOURCE_X509V3_EXTENSION is an integer */ + int n = (SCT_SOURCE_X509V3_EXTENSION) <= 0; + *o = (unsigned long long)((SCT_SOURCE_X509V3_EXTENSION) | 0); /* check that SCT_SOURCE_X509V3_EXTENSION is an integer */ return n; } -static int _cffi_const_SCT_SOURCE_OCSP_STAPLED_RESPONSE(unsigned long long *o) +static int _cffi_const_SCT_SOURCE_OCSP_STAPLED_RESPONSE(unsigned long long *o) { - int n = (SCT_SOURCE_OCSP_STAPLED_RESPONSE) <= 0; - *o = (unsigned long long)((SCT_SOURCE_OCSP_STAPLED_RESPONSE) | 0); /* check that SCT_SOURCE_OCSP_STAPLED_RESPONSE is an integer */ + int n = (SCT_SOURCE_OCSP_STAPLED_RESPONSE) <= 0; + *o = (unsigned long long)((SCT_SOURCE_OCSP_STAPLED_RESPONSE) | 0); /* check that SCT_SOURCE_OCSP_STAPLED_RESPONSE is an integer */ return n; } -static int _cffi_const_SCT_VERSION_NOT_SET(unsigned long long *o) +static int _cffi_const_SCT_VERSION_NOT_SET(unsigned long long *o) { - int n = (SCT_VERSION_NOT_SET) <= 0; - *o = (unsigned long long)((SCT_VERSION_NOT_SET) | 0); /* check that SCT_VERSION_NOT_SET is an integer */ + int n = (SCT_VERSION_NOT_SET) <= 0; + *o = (unsigned long long)((SCT_VERSION_NOT_SET) | 0); /* check that SCT_VERSION_NOT_SET is an integer */ return n; } -static int _cffi_const_SCT_VERSION_V1(unsigned long long *o) +static int _cffi_const_SCT_VERSION_V1(unsigned long long *o) { - int n = (SCT_VERSION_V1) <= 0; - *o = (unsigned long long)((SCT_VERSION_V1) | 0); /* check that SCT_VERSION_V1 is an integer */ + int n = (SCT_VERSION_V1) <= 0; + *o = (unsigned long long)((SCT_VERSION_V1) | 0); /* check that SCT_VERSION_V1 is an integer */ return n; } -static int _cffi_const_CRYPTOGRAPHY_IS_LIBRESSL(unsigned long long *o) +static int _cffi_const_CRYPTOGRAPHY_IS_LIBRESSL(unsigned long long *o) { - int n = (CRYPTOGRAPHY_IS_LIBRESSL) <= 0; - *o = (unsigned long long)((CRYPTOGRAPHY_IS_LIBRESSL) | 0); /* check that CRYPTOGRAPHY_IS_LIBRESSL is an integer */ + int n = (CRYPTOGRAPHY_IS_LIBRESSL) <= 0; + *o = (unsigned long long)((CRYPTOGRAPHY_IS_LIBRESSL) | 0); /* check that CRYPTOGRAPHY_IS_LIBRESSL is an integer */ return n; } -static int _cffi_const_CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE(unsigned long long *o) +static int _cffi_const_CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE(unsigned long long *o) { - int n = (CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE) <= 0; - *o = (unsigned long long)((CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE) | 0); /* check that CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE is an integer */ + int n = (CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE) <= 0; + *o = (unsigned long long)((CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE) | 0); /* check that CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE is an integer */ return n; } -static int _cffi_const_CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER(unsigned long long *o) +static int _cffi_const_CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER(unsigned long long *o) { - int n = (CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER) <= 0; - *o = (unsigned long long)((CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER) | 0); /* check that CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER is an integer */ + int n = (CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER) <= 0; + *o = (unsigned long long)((CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER) | 0); /* check that CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER is an integer */ return n; } -static int _cffi_const_CRYPTOGRAPHY_OPENSSL_LESS_THAN_111(unsigned long long *o) +static int _cffi_const_CRYPTOGRAPHY_OPENSSL_LESS_THAN_111(unsigned long long *o) { - int n = (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111) <= 0; - *o = (unsigned long long)((CRYPTOGRAPHY_OPENSSL_LESS_THAN_111) | 0); /* check that CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 is an integer */ + int n = (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111) <= 0; + *o = (unsigned long long)((CRYPTOGRAPHY_OPENSSL_LESS_THAN_111) | 0); /* check that CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 is an integer */ return n; } -static int _cffi_const_CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B(unsigned long long *o) +static int _cffi_const_CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B(unsigned long long *o) { - int n = (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B) <= 0; - *o = (unsigned long long)((CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B) | 0); /* check that CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B is an integer */ + int n = (CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B) <= 0; + *o = (unsigned long long)((CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B) | 0); /* check that CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B is an integer */ return n; } -static void _cffi_const_CRYPTOGRAPHY_PACKAGE_VERSION(char *o) -{ - *(char const * *)o = CRYPTOGRAPHY_PACKAGE_VERSION; -} - -static int _cffi_const_Cryptography_HAS_102_VERIFICATION(unsigned long long *o) +static void _cffi_const_CRYPTOGRAPHY_PACKAGE_VERSION(char *o) { - int n = (Cryptography_HAS_102_VERIFICATION) <= 0; - *o = (unsigned long long)((Cryptography_HAS_102_VERIFICATION) | 0); /* check that Cryptography_HAS_102_VERIFICATION is an integer */ + *(char const * *)o = CRYPTOGRAPHY_PACKAGE_VERSION; +} + +static int _cffi_const_Cryptography_HAS_102_VERIFICATION(unsigned long long *o) +{ + int n = (Cryptography_HAS_102_VERIFICATION) <= 0; + *o = (unsigned long long)((Cryptography_HAS_102_VERIFICATION) | 0); /* check that Cryptography_HAS_102_VERIFICATION is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_110_VERIFICATION_PARAMS(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_110_VERIFICATION_PARAMS(unsigned long long *o) { - int n = (Cryptography_HAS_110_VERIFICATION_PARAMS) <= 0; - *o = (unsigned long long)((Cryptography_HAS_110_VERIFICATION_PARAMS) | 0); /* check that Cryptography_HAS_110_VERIFICATION_PARAMS is an integer */ + int n = (Cryptography_HAS_110_VERIFICATION_PARAMS) <= 0; + *o = (unsigned long long)((Cryptography_HAS_110_VERIFICATION_PARAMS) | 0); /* check that Cryptography_HAS_110_VERIFICATION_PARAMS is an integer */ return n; } @@ -5814,17 +5814,17 @@ static int _cffi_const_Cryptography_HAS_ALPN(unsigned long long *o) return n; } -static int _cffi_const_Cryptography_HAS_CUSTOM_EXT(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_CUSTOM_EXT(unsigned long long *o) { - int n = (Cryptography_HAS_CUSTOM_EXT) <= 0; - *o = (unsigned long long)((Cryptography_HAS_CUSTOM_EXT) | 0); /* check that Cryptography_HAS_CUSTOM_EXT is an integer */ + int n = (Cryptography_HAS_CUSTOM_EXT) <= 0; + *o = (unsigned long long)((Cryptography_HAS_CUSTOM_EXT) | 0); /* check that Cryptography_HAS_CUSTOM_EXT is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_DTLS(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_DTLS(unsigned long long *o) { - int n = (Cryptography_HAS_DTLS) <= 0; - *o = (unsigned long long)((Cryptography_HAS_DTLS) | 0); /* check that Cryptography_HAS_DTLS is an integer */ + int n = (Cryptography_HAS_DTLS) <= 0; + *o = (unsigned long long)((Cryptography_HAS_DTLS) | 0); /* check that Cryptography_HAS_DTLS is an integer */ return n; } @@ -5835,94 +5835,94 @@ static int _cffi_const_Cryptography_HAS_EC2M(unsigned long long *o) return n; } -static int _cffi_const_Cryptography_HAS_ED25519(unsigned long long *o) -{ - int n = (Cryptography_HAS_ED25519) <= 0; - *o = (unsigned long long)((Cryptography_HAS_ED25519) | 0); /* check that Cryptography_HAS_ED25519 is an integer */ - return n; -} - -static int _cffi_const_Cryptography_HAS_ED448(unsigned long long *o) -{ - int n = (Cryptography_HAS_ED448) <= 0; - *o = (unsigned long long)((Cryptography_HAS_ED448) | 0); /* check that Cryptography_HAS_ED448 is an integer */ - return n; -} - -static int _cffi_const_Cryptography_HAS_ENGINE(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_ED25519(unsigned long long *o) +{ + int n = (Cryptography_HAS_ED25519) <= 0; + *o = (unsigned long long)((Cryptography_HAS_ED25519) | 0); /* check that Cryptography_HAS_ED25519 is an integer */ + return n; +} + +static int _cffi_const_Cryptography_HAS_ED448(unsigned long long *o) +{ + int n = (Cryptography_HAS_ED448) <= 0; + *o = (unsigned long long)((Cryptography_HAS_ED448) | 0); /* check that Cryptography_HAS_ED448 is an integer */ + return n; +} + +static int _cffi_const_Cryptography_HAS_ENGINE(unsigned long long *o) +{ + int n = (Cryptography_HAS_ENGINE) <= 0; + *o = (unsigned long long)((Cryptography_HAS_ENGINE) | 0); /* check that Cryptography_HAS_ENGINE is an integer */ + return n; +} + +static int _cffi_const_Cryptography_HAS_EVP_DIGESTFINAL_XOF(unsigned long long *o) +{ + int n = (Cryptography_HAS_EVP_DIGESTFINAL_XOF) <= 0; + *o = (unsigned long long)((Cryptography_HAS_EVP_DIGESTFINAL_XOF) | 0); /* check that Cryptography_HAS_EVP_DIGESTFINAL_XOF is an integer */ + return n; +} + +static int _cffi_const_Cryptography_HAS_EVP_PKEY_DHX(unsigned long long *o) +{ + int n = (Cryptography_HAS_EVP_PKEY_DHX) <= 0; + *o = (unsigned long long)((Cryptography_HAS_EVP_PKEY_DHX) | 0); /* check that Cryptography_HAS_EVP_PKEY_DHX is an integer */ + return n; +} + +static int _cffi_const_Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint(unsigned long long *o) +{ + int n = (Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint) <= 0; + *o = (unsigned long long)((Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint) | 0); /* check that Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint is an integer */ + return n; +} + +static int _cffi_const_Cryptography_HAS_FIPS(unsigned long long *o) { - int n = (Cryptography_HAS_ENGINE) <= 0; - *o = (unsigned long long)((Cryptography_HAS_ENGINE) | 0); /* check that Cryptography_HAS_ENGINE is an integer */ + int n = (Cryptography_HAS_FIPS) <= 0; + *o = (unsigned long long)((Cryptography_HAS_FIPS) | 0); /* check that Cryptography_HAS_FIPS is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_EVP_DIGESTFINAL_XOF(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_GET_PROTO_VERSION(unsigned long long *o) { - int n = (Cryptography_HAS_EVP_DIGESTFINAL_XOF) <= 0; - *o = (unsigned long long)((Cryptography_HAS_EVP_DIGESTFINAL_XOF) | 0); /* check that Cryptography_HAS_EVP_DIGESTFINAL_XOF is an integer */ + int n = (Cryptography_HAS_GET_PROTO_VERSION) <= 0; + *o = (unsigned long long)((Cryptography_HAS_GET_PROTO_VERSION) | 0); /* check that Cryptography_HAS_GET_PROTO_VERSION is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_EVP_PKEY_DHX(unsigned long long *o) -{ - int n = (Cryptography_HAS_EVP_PKEY_DHX) <= 0; - *o = (unsigned long long)((Cryptography_HAS_EVP_PKEY_DHX) | 0); /* check that Cryptography_HAS_EVP_PKEY_DHX is an integer */ - return n; -} - -static int _cffi_const_Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint(unsigned long long *o) -{ - int n = (Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint) <= 0; - *o = (unsigned long long)((Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint) | 0); /* check that Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint is an integer */ - return n; -} - -static int _cffi_const_Cryptography_HAS_FIPS(unsigned long long *o) -{ - int n = (Cryptography_HAS_FIPS) <= 0; - *o = (unsigned long long)((Cryptography_HAS_FIPS) | 0); /* check that Cryptography_HAS_FIPS is an integer */ - return n; -} - -static int _cffi_const_Cryptography_HAS_GET_PROTO_VERSION(unsigned long long *o) -{ - int n = (Cryptography_HAS_GET_PROTO_VERSION) <= 0; - *o = (unsigned long long)((Cryptography_HAS_GET_PROTO_VERSION) | 0); /* check that Cryptography_HAS_GET_PROTO_VERSION is an integer */ - return n; -} - -static int _cffi_const_Cryptography_HAS_KEYLOG(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_KEYLOG(unsigned long long *o) { - int n = (Cryptography_HAS_KEYLOG) <= 0; - *o = (unsigned long long)((Cryptography_HAS_KEYLOG) | 0); /* check that Cryptography_HAS_KEYLOG is an integer */ + int n = (Cryptography_HAS_KEYLOG) <= 0; + *o = (unsigned long long)((Cryptography_HAS_KEYLOG) | 0); /* check that Cryptography_HAS_KEYLOG is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_MEM_FUNCTIONS(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_MEM_FUNCTIONS(unsigned long long *o) { - int n = (Cryptography_HAS_MEM_FUNCTIONS) <= 0; - *o = (unsigned long long)((Cryptography_HAS_MEM_FUNCTIONS) | 0); /* check that Cryptography_HAS_MEM_FUNCTIONS is an integer */ + int n = (Cryptography_HAS_MEM_FUNCTIONS) <= 0; + *o = (unsigned long long)((Cryptography_HAS_MEM_FUNCTIONS) | 0); /* check that Cryptography_HAS_MEM_FUNCTIONS is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_NEXTPROTONEG(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_NEXTPROTONEG(unsigned long long *o) { - int n = (Cryptography_HAS_NEXTPROTONEG) <= 0; - *o = (unsigned long long)((Cryptography_HAS_NEXTPROTONEG) | 0); /* check that Cryptography_HAS_NEXTPROTONEG is an integer */ + int n = (Cryptography_HAS_NEXTPROTONEG) <= 0; + *o = (unsigned long long)((Cryptography_HAS_NEXTPROTONEG) | 0); /* check that Cryptography_HAS_NEXTPROTONEG is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY(unsigned long long *o) { - int n = (Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY) <= 0; - *o = (unsigned long long)((Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY) | 0); /* check that Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY is an integer */ + int n = (Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY) <= 0; + *o = (unsigned long long)((Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY) | 0); /* check that Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_OPENSSL_CLEANUP(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_OPENSSL_CLEANUP(unsigned long long *o) { - int n = (Cryptography_HAS_OPENSSL_CLEANUP) <= 0; - *o = (unsigned long long)((Cryptography_HAS_OPENSSL_CLEANUP) | 0); /* check that Cryptography_HAS_OPENSSL_CLEANUP is an integer */ + int n = (Cryptography_HAS_OPENSSL_CLEANUP) <= 0; + *o = (unsigned long long)((Cryptography_HAS_OPENSSL_CLEANUP) | 0); /* check that Cryptography_HAS_OPENSSL_CLEANUP is an integer */ return n; } @@ -5933,24 +5933,24 @@ static int _cffi_const_Cryptography_HAS_OP_NO_COMPRESSION(unsigned long long *o) return n; } -static int _cffi_const_Cryptography_HAS_POLY1305(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_POLY1305(unsigned long long *o) { - int n = (Cryptography_HAS_POLY1305) <= 0; - *o = (unsigned long long)((Cryptography_HAS_POLY1305) | 0); /* check that Cryptography_HAS_POLY1305 is an integer */ + int n = (Cryptography_HAS_POLY1305) <= 0; + *o = (unsigned long long)((Cryptography_HAS_POLY1305) | 0); /* check that Cryptography_HAS_POLY1305 is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_PSK(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_PSK(unsigned long long *o) { - int n = (Cryptography_HAS_PSK) <= 0; - *o = (unsigned long long)((Cryptography_HAS_PSK) | 0); /* check that Cryptography_HAS_PSK is an integer */ + int n = (Cryptography_HAS_PSK) <= 0; + *o = (unsigned long long)((Cryptography_HAS_PSK) | 0); /* check that Cryptography_HAS_PSK is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_RAW_KEY(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_RAW_KEY(unsigned long long *o) { - int n = (Cryptography_HAS_RAW_KEY) <= 0; - *o = (unsigned long long)((Cryptography_HAS_RAW_KEY) | 0); /* check that Cryptography_HAS_RAW_KEY is an integer */ + int n = (Cryptography_HAS_RAW_KEY) <= 0; + *o = (unsigned long long)((Cryptography_HAS_RAW_KEY) | 0); /* check that Cryptography_HAS_RAW_KEY is an integer */ return n; } @@ -5961,13 +5961,13 @@ static int _cffi_const_Cryptography_HAS_RELEASE_BUFFERS(unsigned long long *o) return n; } -static int _cffi_const_Cryptography_HAS_RSA_OAEP_LABEL(unsigned long long *o) -{ - int n = (Cryptography_HAS_RSA_OAEP_LABEL) <= 0; - *o = (unsigned long long)((Cryptography_HAS_RSA_OAEP_LABEL) | 0); /* check that Cryptography_HAS_RSA_OAEP_LABEL is an integer */ - return n; -} - +static int _cffi_const_Cryptography_HAS_RSA_OAEP_LABEL(unsigned long long *o) +{ + int n = (Cryptography_HAS_RSA_OAEP_LABEL) <= 0; + *o = (unsigned long long)((Cryptography_HAS_RSA_OAEP_LABEL) | 0); /* check that Cryptography_HAS_RSA_OAEP_LABEL is an integer */ + return n; +} + static int _cffi_const_Cryptography_HAS_RSA_OAEP_MD(unsigned long long *o) { int n = (Cryptography_HAS_RSA_OAEP_MD) <= 0; @@ -5982,13 +5982,13 @@ static int _cffi_const_Cryptography_HAS_SCRYPT(unsigned long long *o) return n; } -static int _cffi_const_Cryptography_HAS_SCT(unsigned long long *o) -{ - int n = (Cryptography_HAS_SCT) <= 0; - *o = (unsigned long long)((Cryptography_HAS_SCT) | 0); /* check that Cryptography_HAS_SCT is an integer */ - return n; -} - +static int _cffi_const_Cryptography_HAS_SCT(unsigned long long *o) +{ + int n = (Cryptography_HAS_SCT) <= 0; + *o = (unsigned long long)((Cryptography_HAS_SCT) | 0); /* check that Cryptography_HAS_SCT is an integer */ + return n; +} + static int _cffi_const_Cryptography_HAS_SECURE_RENEGOTIATION(unsigned long long *o) { int n = (Cryptography_HAS_SECURE_RENEGOTIATION) <= 0; @@ -6003,17 +6003,17 @@ static int _cffi_const_Cryptography_HAS_SET_CERT_CB(unsigned long long *o) return n; } -static int _cffi_const_Cryptography_HAS_SIGALGS(unsigned long long *o) -{ - int n = (Cryptography_HAS_SIGALGS) <= 0; - *o = (unsigned long long)((Cryptography_HAS_SIGALGS) | 0); /* check that Cryptography_HAS_SIGALGS is an integer */ - return n; -} - -static int _cffi_const_Cryptography_HAS_SRTP(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_SIGALGS(unsigned long long *o) { - int n = (Cryptography_HAS_SRTP) <= 0; - *o = (unsigned long long)((Cryptography_HAS_SRTP) | 0); /* check that Cryptography_HAS_SRTP is an integer */ + int n = (Cryptography_HAS_SIGALGS) <= 0; + *o = (unsigned long long)((Cryptography_HAS_SIGALGS) | 0); /* check that Cryptography_HAS_SIGALGS is an integer */ + return n; +} + +static int _cffi_const_Cryptography_HAS_SRTP(unsigned long long *o) +{ + int n = (Cryptography_HAS_SRTP) <= 0; + *o = (unsigned long long)((Cryptography_HAS_SRTP) | 0); /* check that Cryptography_HAS_SRTP is an integer */ return n; } @@ -6087,41 +6087,41 @@ static int _cffi_const_Cryptography_HAS_TLSv1_2(unsigned long long *o) return n; } -static int _cffi_const_Cryptography_HAS_TLSv1_3(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_TLSv1_3(unsigned long long *o) { - int n = (Cryptography_HAS_TLSv1_3) <= 0; - *o = (unsigned long long)((Cryptography_HAS_TLSv1_3) | 0); /* check that Cryptography_HAS_TLSv1_3 is an integer */ + int n = (Cryptography_HAS_TLSv1_3) <= 0; + *o = (unsigned long long)((Cryptography_HAS_TLSv1_3) | 0); /* check that Cryptography_HAS_TLSv1_3 is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_VERIFIED_CHAIN(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_VERIFIED_CHAIN(unsigned long long *o) { - int n = (Cryptography_HAS_VERIFIED_CHAIN) <= 0; - *o = (unsigned long long)((Cryptography_HAS_VERIFIED_CHAIN) | 0); /* check that Cryptography_HAS_VERIFIED_CHAIN is an integer */ + int n = (Cryptography_HAS_VERIFIED_CHAIN) <= 0; + *o = (unsigned long long)((Cryptography_HAS_VERIFIED_CHAIN) | 0); /* check that Cryptography_HAS_VERIFIED_CHAIN is an integer */ return n; } -static int _cffi_const_Cryptography_HAS_X509_STORE_CTX_GET_ISSUER(unsigned long long *o) +static int _cffi_const_Cryptography_HAS_X509_STORE_CTX_GET_ISSUER(unsigned long long *o) { - int n = (Cryptography_HAS_X509_STORE_CTX_GET_ISSUER) <= 0; - *o = (unsigned long long)((Cryptography_HAS_X509_STORE_CTX_GET_ISSUER) | 0); /* check that Cryptography_HAS_X509_STORE_CTX_GET_ISSUER is an integer */ + int n = (Cryptography_HAS_X509_STORE_CTX_GET_ISSUER) <= 0; + *o = (unsigned long long)((Cryptography_HAS_X509_STORE_CTX_GET_ISSUER) | 0); /* check that Cryptography_HAS_X509_STORE_CTX_GET_ISSUER is an integer */ return n; } -static void _cffi_const_Cryptography_osrandom_engine_id(char *o) +static void _cffi_const_Cryptography_osrandom_engine_id(char *o) { - *(char const * *)o = Cryptography_osrandom_engine_id; + *(char const * *)o = Cryptography_osrandom_engine_id; } -static void _cffi_const_Cryptography_osrandom_engine_name(char *o) +static void _cffi_const_Cryptography_osrandom_engine_name(char *o) { - *(char const * *)o = Cryptography_osrandom_engine_name; + *(char const * *)o = Cryptography_osrandom_engine_name; } -static int _cffi_const_DH_NOT_SUITABLE_GENERATOR(unsigned long long *o) +static int _cffi_const_DH_NOT_SUITABLE_GENERATOR(unsigned long long *o) { - int n = (DH_NOT_SUITABLE_GENERATOR) <= 0; - *o = (unsigned long long)((DH_NOT_SUITABLE_GENERATOR) | 0); /* check that DH_NOT_SUITABLE_GENERATOR is an integer */ + int n = (DH_NOT_SUITABLE_GENERATOR) <= 0; + *o = (unsigned long long)((DH_NOT_SUITABLE_GENERATOR) | 0); /* check that DH_NOT_SUITABLE_GENERATOR is an integer */ return n; } @@ -6153,24 +6153,24 @@ static int _cffi_const_ERR_LIB_PKCS12(unsigned long long *o) return n; } -static int _cffi_const_EVP_CTRL_AEAD_GET_TAG(unsigned long long *o) +static int _cffi_const_EVP_CTRL_AEAD_GET_TAG(unsigned long long *o) { - int n = (EVP_CTRL_AEAD_GET_TAG) <= 0; - *o = (unsigned long long)((EVP_CTRL_AEAD_GET_TAG) | 0); /* check that EVP_CTRL_AEAD_GET_TAG is an integer */ + int n = (EVP_CTRL_AEAD_GET_TAG) <= 0; + *o = (unsigned long long)((EVP_CTRL_AEAD_GET_TAG) | 0); /* check that EVP_CTRL_AEAD_GET_TAG is an integer */ return n; } -static int _cffi_const_EVP_CTRL_AEAD_SET_IVLEN(unsigned long long *o) +static int _cffi_const_EVP_CTRL_AEAD_SET_IVLEN(unsigned long long *o) { - int n = (EVP_CTRL_AEAD_SET_IVLEN) <= 0; - *o = (unsigned long long)((EVP_CTRL_AEAD_SET_IVLEN) | 0); /* check that EVP_CTRL_AEAD_SET_IVLEN is an integer */ + int n = (EVP_CTRL_AEAD_SET_IVLEN) <= 0; + *o = (unsigned long long)((EVP_CTRL_AEAD_SET_IVLEN) | 0); /* check that EVP_CTRL_AEAD_SET_IVLEN is an integer */ return n; } -static int _cffi_const_EVP_CTRL_AEAD_SET_TAG(unsigned long long *o) +static int _cffi_const_EVP_CTRL_AEAD_SET_TAG(unsigned long long *o) { - int n = (EVP_CTRL_AEAD_SET_TAG) <= 0; - *o = (unsigned long long)((EVP_CTRL_AEAD_SET_TAG) | 0); /* check that EVP_CTRL_AEAD_SET_TAG is an integer */ + int n = (EVP_CTRL_AEAD_SET_TAG) <= 0; + *o = (unsigned long long)((EVP_CTRL_AEAD_SET_TAG) | 0); /* check that EVP_CTRL_AEAD_SET_TAG is an integer */ return n; } @@ -6181,80 +6181,80 @@ static int _cffi_const_EVP_F_EVP_ENCRYPTFINAL_EX(unsigned long long *o) return n; } -static int _cffi_const_EVP_MAX_MD_SIZE(unsigned long long *o) +static int _cffi_const_EVP_MAX_MD_SIZE(unsigned long long *o) +{ + int n = (EVP_MAX_MD_SIZE) <= 0; + *o = (unsigned long long)((EVP_MAX_MD_SIZE) | 0); /* check that EVP_MAX_MD_SIZE is an integer */ + return n; +} + +static int _cffi_const_EVP_PKEY_DH(unsigned long long *o) { - int n = (EVP_MAX_MD_SIZE) <= 0; - *o = (unsigned long long)((EVP_MAX_MD_SIZE) | 0); /* check that EVP_MAX_MD_SIZE is an integer */ + int n = (EVP_PKEY_DH) <= 0; + *o = (unsigned long long)((EVP_PKEY_DH) | 0); /* check that EVP_PKEY_DH is an integer */ return n; } -static int _cffi_const_EVP_PKEY_DH(unsigned long long *o) +static int _cffi_const_EVP_PKEY_DHX(unsigned long long *o) { - int n = (EVP_PKEY_DH) <= 0; - *o = (unsigned long long)((EVP_PKEY_DH) | 0); /* check that EVP_PKEY_DH is an integer */ + int n = (EVP_PKEY_DHX) <= 0; + *o = (unsigned long long)((EVP_PKEY_DHX) | 0); /* check that EVP_PKEY_DHX is an integer */ return n; } -static int _cffi_const_EVP_PKEY_DHX(unsigned long long *o) +static int _cffi_const_EVP_PKEY_DSA(unsigned long long *o) { - int n = (EVP_PKEY_DHX) <= 0; - *o = (unsigned long long)((EVP_PKEY_DHX) | 0); /* check that EVP_PKEY_DHX is an integer */ + int n = (EVP_PKEY_DSA) <= 0; + *o = (unsigned long long)((EVP_PKEY_DSA) | 0); /* check that EVP_PKEY_DSA is an integer */ return n; } -static int _cffi_const_EVP_PKEY_DSA(unsigned long long *o) +static int _cffi_const_EVP_PKEY_EC(unsigned long long *o) { - int n = (EVP_PKEY_DSA) <= 0; - *o = (unsigned long long)((EVP_PKEY_DSA) | 0); /* check that EVP_PKEY_DSA is an integer */ + int n = (EVP_PKEY_EC) <= 0; + *o = (unsigned long long)((EVP_PKEY_EC) | 0); /* check that EVP_PKEY_EC is an integer */ return n; } -static int _cffi_const_EVP_PKEY_EC(unsigned long long *o) +static int _cffi_const_EVP_PKEY_ED25519(unsigned long long *o) { - int n = (EVP_PKEY_EC) <= 0; - *o = (unsigned long long)((EVP_PKEY_EC) | 0); /* check that EVP_PKEY_EC is an integer */ + int n = (EVP_PKEY_ED25519) <= 0; + *o = (unsigned long long)((EVP_PKEY_ED25519) | 0); /* check that EVP_PKEY_ED25519 is an integer */ return n; } -static int _cffi_const_EVP_PKEY_ED25519(unsigned long long *o) +static int _cffi_const_EVP_PKEY_ED448(unsigned long long *o) { - int n = (EVP_PKEY_ED25519) <= 0; - *o = (unsigned long long)((EVP_PKEY_ED25519) | 0); /* check that EVP_PKEY_ED25519 is an integer */ + int n = (EVP_PKEY_ED448) <= 0; + *o = (unsigned long long)((EVP_PKEY_ED448) | 0); /* check that EVP_PKEY_ED448 is an integer */ return n; } -static int _cffi_const_EVP_PKEY_ED448(unsigned long long *o) +static int _cffi_const_EVP_PKEY_POLY1305(unsigned long long *o) { - int n = (EVP_PKEY_ED448) <= 0; - *o = (unsigned long long)((EVP_PKEY_ED448) | 0); /* check that EVP_PKEY_ED448 is an integer */ + int n = (EVP_PKEY_POLY1305) <= 0; + *o = (unsigned long long)((EVP_PKEY_POLY1305) | 0); /* check that EVP_PKEY_POLY1305 is an integer */ return n; } -static int _cffi_const_EVP_PKEY_POLY1305(unsigned long long *o) -{ - int n = (EVP_PKEY_POLY1305) <= 0; - *o = (unsigned long long)((EVP_PKEY_POLY1305) | 0); /* check that EVP_PKEY_POLY1305 is an integer */ - return n; -} - -static int _cffi_const_EVP_PKEY_RSA(unsigned long long *o) +static int _cffi_const_EVP_PKEY_RSA(unsigned long long *o) { - int n = (EVP_PKEY_RSA) <= 0; - *o = (unsigned long long)((EVP_PKEY_RSA) | 0); /* check that EVP_PKEY_RSA is an integer */ + int n = (EVP_PKEY_RSA) <= 0; + *o = (unsigned long long)((EVP_PKEY_RSA) | 0); /* check that EVP_PKEY_RSA is an integer */ return n; } -static int _cffi_const_EVP_PKEY_X25519(unsigned long long *o) +static int _cffi_const_EVP_PKEY_X25519(unsigned long long *o) { - int n = (EVP_PKEY_X25519) <= 0; - *o = (unsigned long long)((EVP_PKEY_X25519) | 0); /* check that EVP_PKEY_X25519 is an integer */ + int n = (EVP_PKEY_X25519) <= 0; + *o = (unsigned long long)((EVP_PKEY_X25519) | 0); /* check that EVP_PKEY_X25519 is an integer */ return n; } -static int _cffi_const_EVP_PKEY_X448(unsigned long long *o) +static int _cffi_const_EVP_PKEY_X448(unsigned long long *o) { - int n = (EVP_PKEY_X448) <= 0; - *o = (unsigned long long)((EVP_PKEY_X448) | 0); /* check that EVP_PKEY_X448 is an integer */ + int n = (EVP_PKEY_X448) <= 0; + *o = (unsigned long long)((EVP_PKEY_X448) | 0); /* check that EVP_PKEY_X448 is an integer */ return n; } @@ -6356,31 +6356,31 @@ static int _cffi_const_MBSTRING_UTF8(unsigned long long *o) return n; } -static int _cffi_const_NID_ED25519(unsigned long long *o) +static int _cffi_const_NID_ED25519(unsigned long long *o) { - int n = (NID_ED25519) <= 0; - *o = (unsigned long long)((NID_ED25519) | 0); /* check that NID_ED25519 is an integer */ + int n = (NID_ED25519) <= 0; + *o = (unsigned long long)((NID_ED25519) | 0); /* check that NID_ED25519 is an integer */ return n; } -static int _cffi_const_NID_ED448(unsigned long long *o) +static int _cffi_const_NID_ED448(unsigned long long *o) { - int n = (NID_ED448) <= 0; - *o = (unsigned long long)((NID_ED448) | 0); /* check that NID_ED448 is an integer */ + int n = (NID_ED448) <= 0; + *o = (unsigned long long)((NID_ED448) | 0); /* check that NID_ED448 is an integer */ return n; } -static int _cffi_const_NID_X25519(unsigned long long *o) +static int _cffi_const_NID_X25519(unsigned long long *o) { - int n = (NID_X25519) <= 0; - *o = (unsigned long long)((NID_X25519) | 0); /* check that NID_X25519 is an integer */ + int n = (NID_X25519) <= 0; + *o = (unsigned long long)((NID_X25519) | 0); /* check that NID_X25519 is an integer */ return n; } -static int _cffi_const_NID_X448(unsigned long long *o) +static int _cffi_const_NID_X448(unsigned long long *o) { - int n = (NID_X448) <= 0; - *o = (unsigned long long)((NID_X448) | 0); /* check that NID_X448 is an integer */ + int n = (NID_X448) <= 0; + *o = (unsigned long long)((NID_X448) | 0); /* check that NID_X448 is an integer */ return n; } @@ -6398,20 +6398,20 @@ static int _cffi_const_NID_pbe_WithSHA1And3_Key_TripleDES_CBC(unsigned long long return n; } -static int _cffi_const_NID_pkcs7_signed(unsigned long long *o) -{ - int n = (NID_pkcs7_signed) <= 0; - *o = (unsigned long long)((NID_pkcs7_signed) | 0); /* check that NID_pkcs7_signed is an integer */ - return n; -} - -static int _cffi_const_NID_poly1305(unsigned long long *o) -{ - int n = (NID_poly1305) <= 0; - *o = (unsigned long long)((NID_poly1305) | 0); /* check that NID_poly1305 is an integer */ - return n; -} - +static int _cffi_const_NID_pkcs7_signed(unsigned long long *o) +{ + int n = (NID_pkcs7_signed) <= 0; + *o = (unsigned long long)((NID_pkcs7_signed) | 0); /* check that NID_pkcs7_signed is an integer */ + return n; +} + +static int _cffi_const_NID_poly1305(unsigned long long *o) +{ + int n = (NID_poly1305) <= 0; + *o = (unsigned long long)((NID_poly1305) | 0); /* check that NID_poly1305 is an integer */ + return n; +} + static int _cffi_const_NID_subject_alt_name(unsigned long long *o) { int n = (NID_subject_alt_name) <= 0; @@ -6426,24 +6426,24 @@ static int _cffi_const_NID_undef(unsigned long long *o) return n; } -static int _cffi_const_OBJ_NAME_TYPE_MD_METH(unsigned long long *o) +static int _cffi_const_OBJ_NAME_TYPE_MD_METH(unsigned long long *o) { - int n = (OBJ_NAME_TYPE_MD_METH) <= 0; - *o = (unsigned long long)((OBJ_NAME_TYPE_MD_METH) | 0); /* check that OBJ_NAME_TYPE_MD_METH is an integer */ + int n = (OBJ_NAME_TYPE_MD_METH) <= 0; + *o = (unsigned long long)((OBJ_NAME_TYPE_MD_METH) | 0); /* check that OBJ_NAME_TYPE_MD_METH is an integer */ return n; } -static int _cffi_const_OCSP_NOCERTS(unsigned long long *o) +static int _cffi_const_OCSP_NOCERTS(unsigned long long *o) { - int n = (OCSP_NOCERTS) <= 0; - *o = (unsigned long long)((OCSP_NOCERTS) | 0); /* check that OCSP_NOCERTS is an integer */ + int n = (OCSP_NOCERTS) <= 0; + *o = (unsigned long long)((OCSP_NOCERTS) | 0); /* check that OCSP_NOCERTS is an integer */ return n; } -static int _cffi_const_OCSP_RESPID_KEY(unsigned long long *o) +static int _cffi_const_OCSP_RESPID_KEY(unsigned long long *o) { - int n = (OCSP_RESPID_KEY) <= 0; - *o = (unsigned long long)((OCSP_RESPID_KEY) | 0); /* check that OCSP_RESPID_KEY is an integer */ + int n = (OCSP_RESPID_KEY) <= 0; + *o = (unsigned long long)((OCSP_RESPID_KEY) | 0); /* check that OCSP_RESPID_KEY is an integer */ return n; } @@ -6578,13 +6578,13 @@ static int _cffi_const_PKCS7_NOVERIFY(unsigned long long *o) return n; } -static int _cffi_const_PKCS7_PARTIAL(unsigned long long *o) -{ - int n = (PKCS7_PARTIAL) <= 0; - *o = (unsigned long long)((PKCS7_PARTIAL) | 0); /* check that PKCS7_PARTIAL is an integer */ - return n; -} - +static int _cffi_const_PKCS7_PARTIAL(unsigned long long *o) +{ + int n = (PKCS7_PARTIAL) <= 0; + *o = (unsigned long long)((PKCS7_PARTIAL) | 0); /* check that PKCS7_PARTIAL is an integer */ + return n; +} + static int _cffi_const_PKCS7_STREAM(unsigned long long *o) { int n = (PKCS7_STREAM) <= 0; @@ -6970,20 +6970,20 @@ static int _cffi_const_SSL_OP_NO_COMPRESSION(unsigned long long *o) return n; } -static int _cffi_const_SSL_OP_NO_DTLSv1(unsigned long long *o) -{ - int n = (SSL_OP_NO_DTLSv1) <= 0; - *o = (unsigned long long)((SSL_OP_NO_DTLSv1) | 0); /* check that SSL_OP_NO_DTLSv1 is an integer */ - return n; -} - -static int _cffi_const_SSL_OP_NO_DTLSv1_2(unsigned long long *o) -{ - int n = (SSL_OP_NO_DTLSv1_2) <= 0; - *o = (unsigned long long)((SSL_OP_NO_DTLSv1_2) | 0); /* check that SSL_OP_NO_DTLSv1_2 is an integer */ - return n; -} - +static int _cffi_const_SSL_OP_NO_DTLSv1(unsigned long long *o) +{ + int n = (SSL_OP_NO_DTLSv1) <= 0; + *o = (unsigned long long)((SSL_OP_NO_DTLSv1) | 0); /* check that SSL_OP_NO_DTLSv1 is an integer */ + return n; +} + +static int _cffi_const_SSL_OP_NO_DTLSv1_2(unsigned long long *o) +{ + int n = (SSL_OP_NO_DTLSv1_2) <= 0; + *o = (unsigned long long)((SSL_OP_NO_DTLSv1_2) | 0); /* check that SSL_OP_NO_DTLSv1_2 is an integer */ + return n; +} + static int _cffi_const_SSL_OP_NO_QUERY_MTU(unsigned long long *o) { int n = (SSL_OP_NO_QUERY_MTU) <= 0; @@ -7033,13 +7033,13 @@ static int _cffi_const_SSL_OP_NO_TLSv1_2(unsigned long long *o) return n; } -static int _cffi_const_SSL_OP_NO_TLSv1_3(unsigned long long *o) -{ - int n = (SSL_OP_NO_TLSv1_3) <= 0; - *o = (unsigned long long)((SSL_OP_NO_TLSv1_3) | 0); /* check that SSL_OP_NO_TLSv1_3 is an integer */ - return n; -} - +static int _cffi_const_SSL_OP_NO_TLSv1_3(unsigned long long *o) +{ + int n = (SSL_OP_NO_TLSv1_3) <= 0; + *o = (unsigned long long)((SSL_OP_NO_TLSv1_3) | 0); /* check that SSL_OP_NO_TLSv1_3 is an integer */ + return n; +} + static int _cffi_const_SSL_OP_PKCS1_CHECK_1(unsigned long long *o) { int n = (SSL_OP_PKCS1_CHECK_1) <= 0; @@ -7271,13 +7271,13 @@ static int _cffi_const_SSL_VERIFY_PEER(unsigned long long *o) return n; } -static int _cffi_const_SSL_VERIFY_POST_HANDSHAKE(unsigned long long *o) -{ - int n = (SSL_VERIFY_POST_HANDSHAKE) <= 0; - *o = (unsigned long long)((SSL_VERIFY_POST_HANDSHAKE) | 0); /* check that SSL_VERIFY_POST_HANDSHAKE is an integer */ - return n; -} - +static int _cffi_const_SSL_VERIFY_POST_HANDSHAKE(unsigned long long *o) +{ + int n = (SSL_VERIFY_POST_HANDSHAKE) <= 0; + *o = (unsigned long long)((SSL_VERIFY_POST_HANDSHAKE) | 0); /* check that SSL_VERIFY_POST_HANDSHAKE is an integer */ + return n; +} + static int _cffi_const_TLSEXT_NAMETYPE_host_name(unsigned long long *o) { int n = (TLSEXT_NAMETYPE_host_name) <= 0; @@ -7285,13 +7285,13 @@ static int _cffi_const_TLSEXT_NAMETYPE_host_name(unsigned long long *o) return n; } -static int _cffi_const_TLSEXT_STATUSTYPE_ocsp(unsigned long long *o) -{ - int n = (TLSEXT_STATUSTYPE_ocsp) <= 0; - *o = (unsigned long long)((TLSEXT_STATUSTYPE_ocsp) | 0); /* check that TLSEXT_STATUSTYPE_ocsp is an integer */ - return n; -} - +static int _cffi_const_TLSEXT_STATUSTYPE_ocsp(unsigned long long *o) +{ + int n = (TLSEXT_STATUSTYPE_ocsp) <= 0; + *o = (unsigned long long)((TLSEXT_STATUSTYPE_ocsp) | 0); /* check that TLSEXT_STATUSTYPE_ocsp is an integer */ + return n; +} + static int _cffi_const_TLS_ST_BEFORE(unsigned long long *o) { int n = (TLS_ST_BEFORE) <= 0; @@ -7313,45 +7313,45 @@ static int _cffi_const_V_ASN1_GENERALIZEDTIME(unsigned long long *o) return n; } -static int _cffi_const_X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT(unsigned long long *o) +static int _cffi_const_X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT(unsigned long long *o) { - int n = (X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT) <= 0; - *o = (unsigned long long)((X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT) | 0); /* check that X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT is an integer */ + int n = (X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT) <= 0; + *o = (unsigned long long)((X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT) | 0); /* check that X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT is an integer */ return n; } -static int _cffi_const_X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS(unsigned long long *o) +static int _cffi_const_X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS(unsigned long long *o) { - int n = (X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS) <= 0; - *o = (unsigned long long)((X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS) | 0); /* check that X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS is an integer */ + int n = (X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS) <= 0; + *o = (unsigned long long)((X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS) | 0); /* check that X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS is an integer */ return n; } -static int _cffi_const_X509_CHECK_FLAG_NEVER_CHECK_SUBJECT(unsigned long long *o) +static int _cffi_const_X509_CHECK_FLAG_NEVER_CHECK_SUBJECT(unsigned long long *o) { - int n = (X509_CHECK_FLAG_NEVER_CHECK_SUBJECT) <= 0; - *o = (unsigned long long)((X509_CHECK_FLAG_NEVER_CHECK_SUBJECT) | 0); /* check that X509_CHECK_FLAG_NEVER_CHECK_SUBJECT is an integer */ + int n = (X509_CHECK_FLAG_NEVER_CHECK_SUBJECT) <= 0; + *o = (unsigned long long)((X509_CHECK_FLAG_NEVER_CHECK_SUBJECT) | 0); /* check that X509_CHECK_FLAG_NEVER_CHECK_SUBJECT is an integer */ return n; } -static int _cffi_const_X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS(unsigned long long *o) +static int _cffi_const_X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS(unsigned long long *o) { - int n = (X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS) <= 0; - *o = (unsigned long long)((X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS) | 0); /* check that X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS is an integer */ + int n = (X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS) <= 0; + *o = (unsigned long long)((X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS) | 0); /* check that X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS is an integer */ return n; } -static int _cffi_const_X509_CHECK_FLAG_NO_WILDCARDS(unsigned long long *o) +static int _cffi_const_X509_CHECK_FLAG_NO_WILDCARDS(unsigned long long *o) { - int n = (X509_CHECK_FLAG_NO_WILDCARDS) <= 0; - *o = (unsigned long long)((X509_CHECK_FLAG_NO_WILDCARDS) | 0); /* check that X509_CHECK_FLAG_NO_WILDCARDS is an integer */ + int n = (X509_CHECK_FLAG_NO_WILDCARDS) <= 0; + *o = (unsigned long long)((X509_CHECK_FLAG_NO_WILDCARDS) | 0); /* check that X509_CHECK_FLAG_NO_WILDCARDS is an integer */ return n; } -static int _cffi_const_X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS(unsigned long long *o) +static int _cffi_const_X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS(unsigned long long *o) { - int n = (X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS) <= 0; - *o = (unsigned long long)((X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS) | 0); /* check that X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS is an integer */ + int n = (X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS) <= 0; + *o = (unsigned long long)((X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS) | 0); /* check that X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS is an integer */ return n; } @@ -7969,13 +7969,13 @@ _cffi_f_ACCESS_DESCRIPTION_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1056), arg0, (char **)&x0); + _cffi_type(1056), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ACCESS_DESCRIPTION *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1056), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1056), arg0) < 0) return NULL; } @@ -8011,7 +8011,7 @@ _cffi_f_ACCESS_DESCRIPTION_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1056)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1056)); } #else # define _cffi_f_ACCESS_DESCRIPTION_new _cffi_d_ACCESS_DESCRIPTION_new @@ -8042,46 +8042,46 @@ _cffi_f_AES_unwrap_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(750), arg0, (char **)&x0); + _cffi_type(750), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (AES_KEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(750), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(750), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg2, (char **)&x2); + _cffi_type(752), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned char *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(752), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(752), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -8127,46 +8127,46 @@ _cffi_f_AES_wrap_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(750), arg0, (char **)&x0); + _cffi_type(750), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (AES_KEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(750), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(750), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg2, (char **)&x2); + _cffi_type(752), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned char *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(752), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(752), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -8357,13 +8357,13 @@ _cffi_f_ASN1_ENUMERATED_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(757), arg0, (char **)&x0); + _cffi_type(757), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_ENUMERATED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(757), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(757), arg0) < 0) return NULL; } @@ -8394,13 +8394,13 @@ _cffi_f_ASN1_ENUMERATED_get(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(757), arg0, (char **)&x0); + _cffi_type(757), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_ENUMERATED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(757), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(757), arg0) < 0) return NULL; } @@ -8435,7 +8435,7 @@ _cffi_f_ASN1_ENUMERATED_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(757)); + return _cffi_from_c_pointer((char *)result, _cffi_type(757)); } #else # define _cffi_f_ASN1_ENUMERATED_new _cffi_d_ASN1_ENUMERATED_new @@ -8460,13 +8460,13 @@ _cffi_f_ASN1_ENUMERATED_set(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(757), arg0, (char **)&x0); + _cffi_type(757), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_ENUMERATED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(757), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(757), arg0) < 0) return NULL; } @@ -8605,13 +8605,13 @@ _cffi_f_ASN1_INTEGER_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(21), arg0, (char **)&x0); + _cffi_type(21), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_INTEGER *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(21), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(21), arg0) < 0) return NULL; } @@ -8648,13 +8648,13 @@ _cffi_f_ASN1_INTEGER_set(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(21), arg0, (char **)&x0); + _cffi_type(21), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_INTEGER *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(21), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(21), arg0) < 0) return NULL; } @@ -8694,13 +8694,13 @@ _cffi_f_ASN1_INTEGER_to_BN(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(21), arg0, (char **)&x0); + _cffi_type(21), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_INTEGER *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(21), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(21), arg0) < 0) return NULL; } @@ -8728,28 +8728,28 @@ _cffi_f_ASN1_INTEGER_to_BN(PyObject *self, PyObject *args) # define _cffi_f_ASN1_INTEGER_to_BN _cffi_d_ASN1_INTEGER_to_BN #endif -static ASN1_NULL * _cffi_d_ASN1_NULL_new(void) +static ASN1_NULL * _cffi_d_ASN1_NULL_new(void) { - return ASN1_NULL_new(); + return ASN1_NULL_new(); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_ASN1_NULL_new(PyObject *self, PyObject *noarg) +_cffi_f_ASN1_NULL_new(PyObject *self, PyObject *noarg) { - ASN1_NULL * result; + ASN1_NULL * result; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = ASN1_NULL_new(); } + { result = ASN1_NULL_new(); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3013)); + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3013)); } #else -# define _cffi_f_ASN1_NULL_new _cffi_d_ASN1_NULL_new +# define _cffi_f_ASN1_NULL_new _cffi_d_ASN1_NULL_new #endif static void _cffi_d_ASN1_OBJECT_free(ASN1_OBJECT * x0) @@ -8764,13 +8764,13 @@ _cffi_f_ASN1_OBJECT_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(607), arg0, (char **)&x0); + _cffi_type(607), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(607), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(607), arg0) < 0) return NULL; } @@ -8880,13 +8880,13 @@ _cffi_f_ASN1_OCTET_STRING_set(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -8937,7 +8937,7 @@ _cffi_f_ASN1_STRING_data(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(752)); + return _cffi_from_c_pointer((char *)result, _cffi_type(752)); } #else # define _cffi_f_ASN1_STRING_data _cffi_d_ASN1_STRING_data @@ -9011,13 +9011,13 @@ _cffi_f_ASN1_STRING_set(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); + _cffi_type(126), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) return NULL; } @@ -9051,13 +9051,13 @@ _cffi_f_ASN1_STRING_set_default_mask_asc(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg0, (char **)&x0); + _cffi_type(409), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(409), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(409), arg0) < 0) return NULL; } @@ -9093,13 +9093,13 @@ _cffi_f_ASN1_STRING_to_UTF8(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg0, (char **)&x0); + _cffi_type(802), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (unsigned char * *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(802), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(802), arg0) < 0) return NULL; } @@ -9223,22 +9223,22 @@ _cffi_f_ASN1_TIME_new(PyObject *self, PyObject *noarg) # define _cffi_f_ASN1_TIME_new _cffi_d_ASN1_TIME_new #endif -static int _cffi_d_ASN1_TIME_set_string(ASN1_OCTET_STRING * x0, char const * x1) +static int _cffi_d_ASN1_TIME_set_string(ASN1_OCTET_STRING * x0, char const * x1) { - return ASN1_TIME_set_string(x0, x1); + return ASN1_TIME_set_string(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_ASN1_TIME_set_string(PyObject *self, PyObject *args) +_cffi_f_ASN1_TIME_set_string(PyObject *self, PyObject *args) { ASN1_OCTET_STRING * x0; - char const * x1; + char const * x1; Py_ssize_t datasize; - int result; + int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "ASN1_TIME_set_string", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "ASN1_TIME_set_string", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( @@ -9253,19 +9253,19 @@ _cffi_f_ASN1_TIME_set_string(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (char const *)alloca((size_t)datasize); + x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = ASN1_TIME_set_string(x0, x1); } + { result = ASN1_TIME_set_string(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -9273,60 +9273,60 @@ _cffi_f_ASN1_TIME_set_string(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_ASN1_TIME_set_string _cffi_d_ASN1_TIME_set_string +# define _cffi_f_ASN1_TIME_set_string _cffi_d_ASN1_TIME_set_string #endif -static ASN1_GENERALIZEDTIME * _cffi_d_ASN1_TIME_to_generalizedtime(ASN1_OCTET_STRING * x0, ASN1_GENERALIZEDTIME * * x1) +static ASN1_GENERALIZEDTIME * _cffi_d_ASN1_TIME_to_generalizedtime(ASN1_OCTET_STRING * x0, ASN1_GENERALIZEDTIME * * x1) { - return ASN1_TIME_to_generalizedtime(x0, x1); + return ASN1_TIME_to_generalizedtime(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_ASN1_TIME_to_generalizedtime(PyObject *self, PyObject *args) +_cffi_f_ASN1_TIME_to_generalizedtime(PyObject *self, PyObject *args) { - ASN1_OCTET_STRING * x0; - ASN1_GENERALIZEDTIME * * x1; + ASN1_OCTET_STRING * x0; + ASN1_GENERALIZEDTIME * * x1; Py_ssize_t datasize; - ASN1_GENERALIZEDTIME * result; + ASN1_GENERALIZEDTIME * result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "ASN1_TIME_to_generalizedtime", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "ASN1_TIME_to_generalizedtime", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(13), arg0, (char **)&x0); + _cffi_type(13), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (ASN1_OCTET_STRING *)alloca((size_t)datasize); + x0 = (ASN1_OCTET_STRING *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(13), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(13), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(14), arg1, (char **)&x1); + _cffi_type(14), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (ASN1_GENERALIZEDTIME * *)alloca((size_t)datasize); + x1 = (ASN1_GENERALIZEDTIME * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(14), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(14), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = ASN1_TIME_to_generalizedtime(x0, x1); } + { result = ASN1_TIME_to_generalizedtime(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(9)); + return _cffi_from_c_pointer((char *)result, _cffi_type(9)); } #else -# define _cffi_f_ASN1_TIME_to_generalizedtime _cffi_d_ASN1_TIME_to_generalizedtime +# define _cffi_f_ASN1_TIME_to_generalizedtime _cffi_d_ASN1_TIME_to_generalizedtime #endif static void _cffi_d_ASN1_UTF8STRING_free(ASN1_OCTET_STRING * x0) @@ -9401,13 +9401,13 @@ _cffi_f_AUTHORITY_KEYID_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2557), arg0, (char **)&x0); + _cffi_type(2557), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (AUTHORITY_KEYID *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2557), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2557), arg0) < 0) return NULL; } @@ -9443,7 +9443,7 @@ _cffi_f_AUTHORITY_KEYID_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2557)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2557)); } #else # define _cffi_f_AUTHORITY_KEYID_new _cffi_d_AUTHORITY_KEYID_new @@ -9461,13 +9461,13 @@ _cffi_f_BASIC_CONSTRAINTS_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2560), arg0, (char **)&x0); + _cffi_type(2560), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BASIC_CONSTRAINTS *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2560), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2560), arg0) < 0) return NULL; } @@ -9503,7 +9503,7 @@ _cffi_f_BASIC_CONSTRAINTS_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2560)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2560)); } #else # define _cffi_f_BASIC_CONSTRAINTS_new _cffi_d_BASIC_CONSTRAINTS_new @@ -9521,13 +9521,13 @@ _cffi_f_BIO_clear_retry_flags(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -9558,13 +9558,13 @@ _cffi_f_BIO_ctrl_pending(PyObject *self, PyObject *arg0) size_t result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -9594,13 +9594,13 @@ _cffi_f_BIO_free(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -9617,42 +9617,42 @@ _cffi_f_BIO_free(PyObject *self, PyObject *arg0) # define _cffi_f_BIO_free _cffi_d_BIO_free #endif -static void _cffi_d_BIO_free_all(BIO * x0) -{ - BIO_free_all(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_BIO_free_all(PyObject *self, PyObject *arg0) -{ - BIO * x0; - Py_ssize_t datasize; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (BIO *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { BIO_free_all(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_BIO_free_all _cffi_d_BIO_free_all -#endif - +static void _cffi_d_BIO_free_all(BIO * x0) +{ + BIO_free_all(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_BIO_free_all(PyObject *self, PyObject *arg0) +{ + BIO * x0; + Py_ssize_t datasize; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(186), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (BIO *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { BIO_free_all(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_BIO_free_all _cffi_d_BIO_free_all +#endif + static long _cffi_d_BIO_get_mem_data(BIO * x0, char * * x1) { return BIO_get_mem_data(x0, x1); @@ -9672,24 +9672,24 @@ _cffi_f_BIO_get_mem_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2290), arg1, (char **)&x1); + _cffi_type(2290), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2290), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2290), arg1) < 0) return NULL; } @@ -9727,24 +9727,24 @@ _cffi_f_BIO_gets(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg1, (char **)&x1); + _cffi_type(409), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) return NULL; } @@ -9778,13 +9778,13 @@ _cffi_f_BIO_new(PyObject *self, PyObject *arg0) BIO * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(115), arg0, (char **)&x0); + _cffi_type(115), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO_METHOD *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(115), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(115), arg0) < 0) return NULL; } @@ -9795,19 +9795,19 @@ _cffi_f_BIO_new(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(186)); + return _cffi_from_c_pointer((char *)result, _cffi_type(186)); } #else # define _cffi_f_BIO_new _cffi_d_BIO_new #endif -static BIO * _cffi_d_BIO_new_dgram(int x0, int x1) +static BIO * _cffi_d_BIO_new_dgram(int x0, int x1) { - return BIO_new_dgram(x0, x1); + return BIO_new_dgram(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BIO_new_dgram(PyObject *self, PyObject *args) +_cffi_f_BIO_new_dgram(PyObject *self, PyObject *args) { int x0; int x1; @@ -9815,7 +9815,7 @@ _cffi_f_BIO_new_dgram(PyObject *self, PyObject *args) PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "BIO_new_dgram", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "BIO_new_dgram", 2, 2, &arg0, &arg1)) return NULL; x0 = _cffi_to_c_int(arg0, int); @@ -9828,15 +9828,15 @@ _cffi_f_BIO_new_dgram(PyObject *self, PyObject *args) Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BIO_new_dgram(x0, x1); } + { result = BIO_new_dgram(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(186)); + return _cffi_from_c_pointer((char *)result, _cffi_type(186)); } #else -# define _cffi_f_BIO_new_dgram _cffi_d_BIO_new_dgram +# define _cffi_f_BIO_new_dgram _cffi_d_BIO_new_dgram #endif static BIO * _cffi_d_BIO_new_file(char const * x0, char const * x1) @@ -9858,24 +9858,24 @@ _cffi_f_BIO_new_file(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -9886,13 +9886,13 @@ _cffi_f_BIO_new_file(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(186)); + return _cffi_from_c_pointer((char *)result, _cffi_type(186)); } #else # define _cffi_f_BIO_new_file _cffi_d_BIO_new_file #endif -static BIO * _cffi_d_BIO_new_mem_buf(void const * x0, int x1) +static BIO * _cffi_d_BIO_new_mem_buf(void const * x0, int x1) { return BIO_new_mem_buf(x0, x1); } @@ -9900,7 +9900,7 @@ static BIO * _cffi_d_BIO_new_mem_buf(void const * x0, int x1) static PyObject * _cffi_f_BIO_new_mem_buf(PyObject *self, PyObject *args) { - void const * x0; + void const * x0; int x1; Py_ssize_t datasize; BIO * result; @@ -9911,13 +9911,13 @@ _cffi_f_BIO_new_mem_buf(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg0, (char **)&x0); + _cffi_type(126), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (void const *)alloca((size_t)datasize); + x0 = (void const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(126), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(126), arg0) < 0) return NULL; } @@ -9932,7 +9932,7 @@ _cffi_f_BIO_new_mem_buf(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(186)); + return _cffi_from_c_pointer((char *)result, _cffi_type(186)); } #else # define _cffi_f_BIO_new_mem_buf _cffi_d_BIO_new_mem_buf @@ -9959,24 +9959,24 @@ _cffi_f_BIO_read(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } @@ -10010,13 +10010,13 @@ _cffi_f_BIO_reset(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -10033,28 +10033,28 @@ _cffi_f_BIO_reset(PyObject *self, PyObject *arg0) # define _cffi_f_BIO_reset _cffi_d_BIO_reset #endif -static BIO_METHOD * _cffi_d_BIO_s_datagram(void) +static BIO_METHOD * _cffi_d_BIO_s_datagram(void) { - return BIO_s_datagram(); + return BIO_s_datagram(); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BIO_s_datagram(PyObject *self, PyObject *noarg) +_cffi_f_BIO_s_datagram(PyObject *self, PyObject *noarg) { BIO_METHOD * result; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BIO_s_datagram(); } + { result = BIO_s_datagram(); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(115)); + return _cffi_from_c_pointer((char *)result, _cffi_type(115)); } #else -# define _cffi_f_BIO_s_datagram _cffi_d_BIO_s_datagram +# define _cffi_f_BIO_s_datagram _cffi_d_BIO_s_datagram #endif static BIO_METHOD * _cffi_d_BIO_s_mem(void) @@ -10075,7 +10075,7 @@ _cffi_f_BIO_s_mem(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(115)); + return _cffi_from_c_pointer((char *)result, _cffi_type(115)); } #else # define _cffi_f_BIO_s_mem _cffi_d_BIO_s_mem @@ -10100,13 +10100,13 @@ _cffi_f_BIO_set_mem_eof_return(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -10139,13 +10139,13 @@ _cffi_f_BIO_set_retry_read(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -10176,13 +10176,13 @@ _cffi_f_BIO_should_io_special(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -10212,13 +10212,13 @@ _cffi_f_BIO_should_read(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -10248,13 +10248,13 @@ _cffi_f_BIO_should_retry(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -10284,13 +10284,13 @@ _cffi_f_BIO_should_write(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -10307,32 +10307,32 @@ _cffi_f_BIO_should_write(PyObject *self, PyObject *arg0) # define _cffi_f_BIO_should_write _cffi_d_BIO_should_write #endif -static int _cffi_d_BIO_up_ref(BIO * x0) +static int _cffi_d_BIO_up_ref(BIO * x0) { - return BIO_up_ref(x0); + return BIO_up_ref(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BIO_up_ref(PyObject *self, PyObject *arg0) +_cffi_f_BIO_up_ref(PyObject *self, PyObject *arg0) { BIO * x0; Py_ssize_t datasize; int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BIO_up_ref(x0); } + { result = BIO_up_ref(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -10340,225 +10340,225 @@ _cffi_f_BIO_up_ref(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BIO_up_ref _cffi_d_BIO_up_ref +# define _cffi_f_BIO_up_ref _cffi_d_BIO_up_ref #endif -static int _cffi_d_BIO_write(BIO * x0, void const * x1, int x2) +static int _cffi_d_BIO_write(BIO * x0, void const * x1, int x2) { - return BIO_write(x0, x1, x2); + return BIO_write(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BIO_write(PyObject *self, PyObject *args) +_cffi_f_BIO_write(PyObject *self, PyObject *args) { BIO * x0; - void const * x1; - int x2; + void const * x1; + int x2; Py_ssize_t datasize; int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "BIO_write", 3, 3, &arg0, &arg1, &arg2)) + return NULL; - if (!PyArg_UnpackTuple(args, "BIO_write", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); + _cffi_type(126), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (void const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + x1 = (void const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) return NULL; } - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BIO_write(x0, x1, x2); } + { result = BIO_write(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BIO_write _cffi_d_BIO_write +# define _cffi_f_BIO_write _cffi_d_BIO_write #endif -static void _cffi_d_BN_CTX_end(BN_CTX * x0) +static void _cffi_d_BN_CTX_end(BN_CTX * x0) { - BN_CTX_end(x0); + BN_CTX_end(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_CTX_end(PyObject *self, PyObject *arg0) +_cffi_f_BN_CTX_end(PyObject *self, PyObject *arg0) { - BN_CTX * x0; + BN_CTX * x0; Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg0, (char **)&x0); + _cffi_type(94), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (BN_CTX *)alloca((size_t)datasize); + x0 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(94), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(94), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { BN_CTX_end(x0); } + { BN_CTX_end(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_BN_CTX_end _cffi_d_BN_CTX_end +# define _cffi_f_BN_CTX_end _cffi_d_BN_CTX_end #endif -static void _cffi_d_BN_CTX_free(BN_CTX * x0) +static void _cffi_d_BN_CTX_free(BN_CTX * x0) { - BN_CTX_free(x0); + BN_CTX_free(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_CTX_free(PyObject *self, PyObject *arg0) +_cffi_f_BN_CTX_free(PyObject *self, PyObject *arg0) { - BN_CTX * x0; + BN_CTX * x0; Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg0, (char **)&x0); + _cffi_type(94), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (BN_CTX *)alloca((size_t)datasize); + x0 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(94), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(94), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { BN_CTX_free(x0); } + { BN_CTX_free(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_BN_CTX_free _cffi_d_BN_CTX_free +# define _cffi_f_BN_CTX_free _cffi_d_BN_CTX_free #endif -static BIGNUM * _cffi_d_BN_CTX_get(BN_CTX * x0) +static BIGNUM * _cffi_d_BN_CTX_get(BN_CTX * x0) { - return BN_CTX_get(x0); + return BN_CTX_get(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_CTX_get(PyObject *self, PyObject *arg0) +_cffi_f_BN_CTX_get(PyObject *self, PyObject *arg0) { - BN_CTX * x0; + BN_CTX * x0; Py_ssize_t datasize; - BIGNUM * result; + BIGNUM * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg0, (char **)&x0); + _cffi_type(94), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (BN_CTX *)alloca((size_t)datasize); + x0 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(94), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(94), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_CTX_get(x0); } + { result = BN_CTX_get(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(20)); + return _cffi_from_c_pointer((char *)result, _cffi_type(20)); } #else -# define _cffi_f_BN_CTX_get _cffi_d_BN_CTX_get +# define _cffi_f_BN_CTX_get _cffi_d_BN_CTX_get #endif -static BN_CTX * _cffi_d_BN_CTX_new(void) +static BN_CTX * _cffi_d_BN_CTX_new(void) { - return BN_CTX_new(); + return BN_CTX_new(); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_CTX_new(PyObject *self, PyObject *noarg) +_cffi_f_BN_CTX_new(PyObject *self, PyObject *noarg) { - BN_CTX * result; + BN_CTX * result; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_CTX_new(); } + { result = BN_CTX_new(); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(94)); + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(94)); } #else -# define _cffi_f_BN_CTX_new _cffi_d_BN_CTX_new +# define _cffi_f_BN_CTX_new _cffi_d_BN_CTX_new #endif -static void _cffi_d_BN_CTX_start(BN_CTX * x0) +static void _cffi_d_BN_CTX_start(BN_CTX * x0) { - BN_CTX_start(x0); + BN_CTX_start(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_CTX_start(PyObject *self, PyObject *arg0) +_cffi_f_BN_CTX_start(PyObject *self, PyObject *arg0) { BN_CTX * x0; Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg0, (char **)&x0); + _cffi_type(94), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(94), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(94), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { BN_CTX_start(x0); } + { BN_CTX_start(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -10567,133 +10567,133 @@ _cffi_f_BN_CTX_start(PyObject *self, PyObject *arg0) return Py_None; } #else -# define _cffi_f_BN_CTX_start _cffi_d_BN_CTX_start +# define _cffi_f_BN_CTX_start _cffi_d_BN_CTX_start #endif -static void _cffi_d_BN_MONT_CTX_free(BN_MONT_CTX * x0) +static void _cffi_d_BN_MONT_CTX_free(BN_MONT_CTX * x0) { - BN_MONT_CTX_free(x0); + BN_MONT_CTX_free(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_MONT_CTX_free(PyObject *self, PyObject *arg0) +_cffi_f_BN_MONT_CTX_free(PyObject *self, PyObject *arg0) { - BN_MONT_CTX * x0; + BN_MONT_CTX * x0; Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(830), arg0, (char **)&x0); + _cffi_type(830), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (BN_MONT_CTX *)alloca((size_t)datasize); + x0 = (BN_MONT_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(830), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(830), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { BN_MONT_CTX_free(x0); } + { BN_MONT_CTX_free(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_BN_MONT_CTX_free _cffi_d_BN_MONT_CTX_free +# define _cffi_f_BN_MONT_CTX_free _cffi_d_BN_MONT_CTX_free #endif -static BN_MONT_CTX * _cffi_d_BN_MONT_CTX_new(void) +static BN_MONT_CTX * _cffi_d_BN_MONT_CTX_new(void) { - return BN_MONT_CTX_new(); + return BN_MONT_CTX_new(); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_MONT_CTX_new(PyObject *self, PyObject *noarg) +_cffi_f_BN_MONT_CTX_new(PyObject *self, PyObject *noarg) { - BN_MONT_CTX * result; + BN_MONT_CTX * result; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_MONT_CTX_new(); } + { result = BN_MONT_CTX_new(); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(830)); + return _cffi_from_c_pointer((char *)result, _cffi_type(830)); } #else -# define _cffi_f_BN_MONT_CTX_new _cffi_d_BN_MONT_CTX_new +# define _cffi_f_BN_MONT_CTX_new _cffi_d_BN_MONT_CTX_new #endif -static int _cffi_d_BN_MONT_CTX_set(BN_MONT_CTX * x0, BIGNUM const * x1, BN_CTX * x2) +static int _cffi_d_BN_MONT_CTX_set(BN_MONT_CTX * x0, BIGNUM const * x1, BN_CTX * x2) { - return BN_MONT_CTX_set(x0, x1, x2); + return BN_MONT_CTX_set(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_MONT_CTX_set(PyObject *self, PyObject *args) +_cffi_f_BN_MONT_CTX_set(PyObject *self, PyObject *args) { - BN_MONT_CTX * x0; - BIGNUM const * x1; - BN_CTX * x2; + BN_MONT_CTX * x0; + BIGNUM const * x1; + BN_CTX * x2; Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "BN_MONT_CTX_set", 3, 3, &arg0, &arg1, &arg2)) + return NULL; - if (!PyArg_UnpackTuple(args, "BN_MONT_CTX_set", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(830), arg0, (char **)&x0); + _cffi_type(830), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (BN_MONT_CTX *)alloca((size_t)datasize); + x0 = (BN_MONT_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(830), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(830), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(92), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (BIGNUM const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(94), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (BN_CTX *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (BIGNUM const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (BN_CTX *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_MONT_CTX_set(x0, x1, x2); } + { result = BN_MONT_CTX_set(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BN_MONT_CTX_set _cffi_d_BN_MONT_CTX_set +# define _cffi_f_BN_MONT_CTX_set _cffi_d_BN_MONT_CTX_set #endif static int _cffi_d_BN_add(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2) @@ -10728,24 +10728,24 @@ _cffi_f_BN_add(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } @@ -10783,13 +10783,13 @@ _cffi_f_BN_bin2bn(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg0, (char **)&x0); + _cffi_type(103), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(103), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(103), arg0) < 0) return NULL; } @@ -10840,24 +10840,24 @@ _cffi_f_BN_bn2bin(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg0, (char **)&x0); + _cffi_type(92), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } @@ -10887,13 +10887,13 @@ _cffi_f_BN_bn2hex(PyObject *self, PyObject *arg0) char * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg0, (char **)&x0); + _cffi_type(92), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) return NULL; } @@ -10904,19 +10904,19 @@ _cffi_f_BN_bn2hex(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(409)); + return _cffi_from_c_pointer((char *)result, _cffi_type(409)); } #else # define _cffi_f_BN_bn2hex _cffi_d_BN_bn2hex #endif -static void _cffi_d_BN_clear_free(BIGNUM * x0) +static void _cffi_d_BN_clear_free(BIGNUM * x0) { - BN_clear_free(x0); + BN_clear_free(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_clear_free(PyObject *self, PyObject *arg0) +_cffi_f_BN_clear_free(PyObject *self, PyObject *arg0) { BIGNUM * x0; Py_ssize_t datasize; @@ -10934,16 +10934,16 @@ _cffi_f_BN_clear_free(PyObject *self, PyObject *arg0) Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { BN_clear_free(x0); } + { BN_clear_free(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_BN_clear_free _cffi_d_BN_clear_free +# define _cffi_f_BN_clear_free _cffi_d_BN_clear_free #endif static int _cffi_d_BN_cmp(BIGNUM const * x0, BIGNUM const * x1) @@ -10965,24 +10965,24 @@ _cffi_f_BN_cmp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg0, (char **)&x0); + _cffi_type(92), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } @@ -11012,13 +11012,13 @@ _cffi_f_BN_dup(PyObject *self, PyObject *arg0) BIGNUM * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg0, (char **)&x0); + _cffi_type(92), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) return NULL; } @@ -11071,30 +11071,30 @@ _cffi_f_BN_free(PyObject *self, PyObject *arg0) # define _cffi_f_BN_free _cffi_d_BN_free #endif -static int _cffi_d_BN_generate_prime_ex(BIGNUM * x0, int x1, int x2, BIGNUM const * x3, BIGNUM const * x4, BN_GENCB * x5) +static int _cffi_d_BN_generate_prime_ex(BIGNUM * x0, int x1, int x2, BIGNUM const * x3, BIGNUM const * x4, BN_GENCB * x5) { - return BN_generate_prime_ex(x0, x1, x2, x3, x4, x5); + return BN_generate_prime_ex(x0, x1, x2, x3, x4, x5); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_generate_prime_ex(PyObject *self, PyObject *args) +_cffi_f_BN_generate_prime_ex(PyObject *self, PyObject *args) { BIGNUM * x0; - int x1; - int x2; - BIGNUM const * x3; - BIGNUM const * x4; - BN_GENCB * x5; + int x1; + int x2; + BIGNUM const * x3; + BIGNUM const * x4; + BN_GENCB * x5; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; PyObject *arg3; - PyObject *arg4; - PyObject *arg5; + PyObject *arg4; + PyObject *arg5; - if (!PyArg_UnpackTuple(args, "BN_generate_prime_ex", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5)) + if (!PyArg_UnpackTuple(args, "BN_generate_prime_ex", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5)) return NULL; datasize = _cffi_prepare_pointer_call_argument( @@ -11108,50 +11108,50 @@ _cffi_f_BN_generate_prime_ex(PyObject *self, PyObject *args) return NULL; } - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg3, (char **)&x3); + _cffi_type(92), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; - x3 = (BIGNUM const *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + x3 = (BIGNUM const *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg4, (char **)&x4); + _cffi_type(92), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; - x4 = (BIGNUM const *)alloca((size_t)datasize); - memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(92), arg4) < 0) + x4 = (BIGNUM const *)alloca((size_t)datasize); + memset((void *)x4, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(92), arg4) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(848), arg5, (char **)&x5); + _cffi_type(848), arg5, (char **)&x5); if (datasize != 0) { if (datasize < 0) return NULL; - x5 = (BN_GENCB *)alloca((size_t)datasize); - memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(848), arg5) < 0) + x5 = (BN_GENCB *)alloca((size_t)datasize); + memset((void *)x5, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(848), arg5) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_generate_prime_ex(x0, x1, x2, x3, x4, x5); } + { result = BN_generate_prime_ex(x0, x1, x2, x3, x4, x5); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -11159,7 +11159,7 @@ _cffi_f_BN_generate_prime_ex(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BN_generate_prime_ex _cffi_d_BN_generate_prime_ex +# define _cffi_f_BN_generate_prime_ex _cffi_d_BN_generate_prime_ex #endif static int _cffi_d_BN_hex2bn(BIGNUM * * x0, char const * x1) @@ -11181,24 +11181,24 @@ _cffi_f_BN_hex2bn(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(805), arg0, (char **)&x0); + _cffi_type(805), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIGNUM * *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(805), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(805), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -11215,72 +11215,72 @@ _cffi_f_BN_hex2bn(PyObject *self, PyObject *args) # define _cffi_f_BN_hex2bn _cffi_d_BN_hex2bn #endif -static int _cffi_d_BN_is_negative(BIGNUM const * x0) -{ - return BN_is_negative(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_BN_is_negative(PyObject *self, PyObject *arg0) -{ - BIGNUM const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (BIGNUM const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = BN_is_negative(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_BN_is_negative _cffi_d_BN_is_negative -#endif - -static int _cffi_d_BN_is_prime_ex(BIGNUM const * x0, int x1, BN_CTX * x2, BN_GENCB * x3) -{ - return BN_is_prime_ex(x0, x1, x2, x3); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_BN_is_prime_ex(PyObject *self, PyObject *args) +static int _cffi_d_BN_is_negative(BIGNUM const * x0) +{ + return BN_is_negative(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_BN_is_negative(PyObject *self, PyObject *arg0) +{ + BIGNUM const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(92), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (BIGNUM const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = BN_is_negative(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_BN_is_negative _cffi_d_BN_is_negative +#endif + +static int _cffi_d_BN_is_prime_ex(BIGNUM const * x0, int x1, BN_CTX * x2, BN_GENCB * x3) +{ + return BN_is_prime_ex(x0, x1, x2, x3); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_BN_is_prime_ex(PyObject *self, PyObject *args) { BIGNUM const * x0; int x1; - BN_CTX * x2; - BN_GENCB * x3; + BN_CTX * x2; + BN_GENCB * x3; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - PyObject *arg2; - PyObject *arg3; + PyObject *arg2; + PyObject *arg3; - if (!PyArg_UnpackTuple(args, "BN_is_prime_ex", 4, 4, &arg0, &arg1, &arg2, &arg3)) + if (!PyArg_UnpackTuple(args, "BN_is_prime_ex", 4, 4, &arg0, &arg1, &arg2, &arg3)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg0, (char **)&x0); + _cffi_type(92), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) return NULL; } @@ -11289,30 +11289,30 @@ _cffi_f_BN_is_prime_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg2, (char **)&x2); + _cffi_type(94), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (BN_CTX *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) + x2 = (BN_CTX *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(848), arg3, (char **)&x3); + _cffi_type(848), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; - x3 = (BN_GENCB *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(848), arg3) < 0) + x3 = (BN_GENCB *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(848), arg3) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_is_prime_ex(x0, x1, x2, x3); } + { result = BN_is_prime_ex(x0, x1, x2, x3); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -11320,7 +11320,7 @@ _cffi_f_BN_is_prime_ex(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BN_is_prime_ex _cffi_d_BN_is_prime_ex +# define _cffi_f_BN_is_prime_ex _cffi_d_BN_is_prime_ex #endif static int _cffi_d_BN_mod(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BN_CTX * x3) @@ -11357,35 +11357,35 @@ _cffi_f_BN_mod(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg3, (char **)&x3); + _cffi_type(94), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) return NULL; } @@ -11438,46 +11438,46 @@ _cffi_f_BN_mod_add(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg3, (char **)&x3); + _cffi_type(92), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -11530,46 +11530,46 @@ _cffi_f_BN_mod_exp(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg3, (char **)&x3); + _cffi_type(92), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -11586,30 +11586,30 @@ _cffi_f_BN_mod_exp(PyObject *self, PyObject *args) # define _cffi_f_BN_mod_exp _cffi_d_BN_mod_exp #endif -static int _cffi_d_BN_mod_exp_mont(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BIGNUM const * x3, BN_CTX * x4, BN_MONT_CTX * x5) +static int _cffi_d_BN_mod_exp_mont(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BIGNUM const * x3, BN_CTX * x4, BN_MONT_CTX * x5) { - return BN_mod_exp_mont(x0, x1, x2, x3, x4, x5); + return BN_mod_exp_mont(x0, x1, x2, x3, x4, x5); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_mod_exp_mont(PyObject *self, PyObject *args) +_cffi_f_BN_mod_exp_mont(PyObject *self, PyObject *args) { BIGNUM * x0; BIGNUM const * x1; BIGNUM const * x2; - BIGNUM const * x3; - BN_CTX * x4; - BN_MONT_CTX * x5; + BIGNUM const * x3; + BN_CTX * x4; + BN_MONT_CTX * x5; Py_ssize_t datasize; - int result; + int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; PyObject *arg3; - PyObject *arg4; - PyObject *arg5; + PyObject *arg4; + PyObject *arg5; - if (!PyArg_UnpackTuple(args, "BN_mod_exp_mont", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5)) + if (!PyArg_UnpackTuple(args, "BN_mod_exp_mont", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5)) return NULL; datasize = _cffi_prepare_pointer_call_argument( @@ -11624,87 +11624,87 @@ _cffi_f_BN_mod_exp_mont(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg3, (char **)&x3); + _cffi_type(92), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; - x3 = (BIGNUM const *)alloca((size_t)datasize); + x3 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(94), arg4, (char **)&x4); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x4 = (BN_CTX *)alloca((size_t)datasize); + memset((void *)x4, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(830), arg5, (char **)&x5); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x5 = (BN_MONT_CTX *)alloca((size_t)datasize); + memset((void *)x5, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(830), arg5) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x4 = (BN_CTX *)alloca((size_t)datasize); - memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(830), arg5, (char **)&x5); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x5 = (BN_MONT_CTX *)alloca((size_t)datasize); - memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(830), arg5) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_mod_exp_mont(x0, x1, x2, x3, x4, x5); } + { result = BN_mod_exp_mont(x0, x1, x2, x3, x4, x5); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BN_mod_exp_mont _cffi_d_BN_mod_exp_mont +# define _cffi_f_BN_mod_exp_mont _cffi_d_BN_mod_exp_mont #endif -static int _cffi_d_BN_mod_exp_mont_consttime(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BIGNUM const * x3, BN_CTX * x4, BN_MONT_CTX * x5) +static int _cffi_d_BN_mod_exp_mont_consttime(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BIGNUM const * x3, BN_CTX * x4, BN_MONT_CTX * x5) { - return BN_mod_exp_mont_consttime(x0, x1, x2, x3, x4, x5); + return BN_mod_exp_mont_consttime(x0, x1, x2, x3, x4, x5); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_mod_exp_mont_consttime(PyObject *self, PyObject *args) +_cffi_f_BN_mod_exp_mont_consttime(PyObject *self, PyObject *args) { BIGNUM * x0; BIGNUM const * x1; BIGNUM const * x2; BIGNUM const * x3; BN_CTX * x4; - BN_MONT_CTX * x5; + BN_MONT_CTX * x5; Py_ssize_t datasize; int result; PyObject *arg0; @@ -11712,9 +11712,9 @@ _cffi_f_BN_mod_exp_mont_consttime(PyObject *self, PyObject *args) PyObject *arg2; PyObject *arg3; PyObject *arg4; - PyObject *arg5; + PyObject *arg5; - if (!PyArg_UnpackTuple(args, "BN_mod_exp_mont_consttime", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5)) + if (!PyArg_UnpackTuple(args, "BN_mod_exp_mont_consttime", 6, 6, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5)) return NULL; datasize = _cffi_prepare_pointer_call_argument( @@ -11729,63 +11729,63 @@ _cffi_f_BN_mod_exp_mont_consttime(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg3, (char **)&x3); + _cffi_type(92), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(830), arg5, (char **)&x5); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x5 = (BN_MONT_CTX *)alloca((size_t)datasize); + memset((void *)x5, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(830), arg5) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(830), arg5, (char **)&x5); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x5 = (BN_MONT_CTX *)alloca((size_t)datasize); - memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(830), arg5) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_mod_exp_mont_consttime(x0, x1, x2, x3, x4, x5); } + { result = BN_mod_exp_mont_consttime(x0, x1, x2, x3, x4, x5); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -11793,29 +11793,29 @@ _cffi_f_BN_mod_exp_mont_consttime(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BN_mod_exp_mont_consttime _cffi_d_BN_mod_exp_mont_consttime +# define _cffi_f_BN_mod_exp_mont_consttime _cffi_d_BN_mod_exp_mont_consttime #endif -static BIGNUM * _cffi_d_BN_mod_inverse(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BN_CTX * x3) +static BIGNUM * _cffi_d_BN_mod_inverse(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BN_CTX * x3) { - return BN_mod_inverse(x0, x1, x2, x3); + return BN_mod_inverse(x0, x1, x2, x3); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_mod_inverse(PyObject *self, PyObject *args) +_cffi_f_BN_mod_inverse(PyObject *self, PyObject *args) { BIGNUM * x0; BIGNUM const * x1; BIGNUM const * x2; BN_CTX * x3; Py_ssize_t datasize; - BIGNUM * result; + BIGNUM * result; PyObject *arg0; PyObject *arg1; PyObject *arg2; PyObject *arg3; - if (!PyArg_UnpackTuple(args, "BN_mod_inverse", 4, 4, &arg0, &arg1, &arg2, &arg3)) + if (!PyArg_UnpackTuple(args, "BN_mod_inverse", 4, 4, &arg0, &arg1, &arg2, &arg3)) return NULL; datasize = _cffi_prepare_pointer_call_argument( @@ -11830,58 +11830,58 @@ _cffi_f_BN_mod_inverse(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg3, (char **)&x3); + _cffi_type(94), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_mod_inverse(x0, x1, x2, x3); } + { result = BN_mod_inverse(x0, x1, x2, x3); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(20)); + return _cffi_from_c_pointer((char *)result, _cffi_type(20)); } #else -# define _cffi_f_BN_mod_inverse _cffi_d_BN_mod_inverse +# define _cffi_f_BN_mod_inverse _cffi_d_BN_mod_inverse #endif -static int _cffi_d_BN_mod_mul(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BIGNUM const * x3, BN_CTX * x4) +static int _cffi_d_BN_mod_mul(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BIGNUM const * x3, BN_CTX * x4) { - return BN_mod_mul(x0, x1, x2, x3, x4); + return BN_mod_mul(x0, x1, x2, x3, x4); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_mod_mul(PyObject *self, PyObject *args) +_cffi_f_BN_mod_mul(PyObject *self, PyObject *args) { BIGNUM * x0; BIGNUM const * x1; @@ -11896,7 +11896,7 @@ _cffi_f_BN_mod_mul(PyObject *self, PyObject *args) PyObject *arg3; PyObject *arg4; - if (!PyArg_UnpackTuple(args, "BN_mod_mul", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "BN_mod_mul", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( @@ -11911,52 +11911,52 @@ _cffi_f_BN_mod_mul(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg3, (char **)&x3); + _cffi_type(92), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_mod_mul(x0, x1, x2, x3, x4); } + { result = BN_mod_mul(x0, x1, x2, x3, x4); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -11964,31 +11964,31 @@ _cffi_f_BN_mod_mul(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BN_mod_mul _cffi_d_BN_mod_mul +# define _cffi_f_BN_mod_mul _cffi_d_BN_mod_mul #endif -static int _cffi_d_BN_mod_sub(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BIGNUM const * x3, BN_CTX * x4) +static int _cffi_d_BN_mod_sub(BIGNUM * x0, BIGNUM const * x1, BIGNUM const * x2, BIGNUM const * x3, BN_CTX * x4) { - return BN_mod_sub(x0, x1, x2, x3, x4); + return BN_mod_sub(x0, x1, x2, x3, x4); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_mod_sub(PyObject *self, PyObject *args) +_cffi_f_BN_mod_sub(PyObject *self, PyObject *args) { BIGNUM * x0; BIGNUM const * x1; BIGNUM const * x2; - BIGNUM const * x3; - BN_CTX * x4; + BIGNUM const * x3; + BN_CTX * x4; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; PyObject *arg3; - PyObject *arg4; + PyObject *arg4; - if (!PyArg_UnpackTuple(args, "BN_mod_sub", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "BN_mod_sub", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( @@ -12003,52 +12003,52 @@ _cffi_f_BN_mod_sub(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg3, (char **)&x3); + _cffi_type(92), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; - x3 = (BIGNUM const *)alloca((size_t)datasize); + x3 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(94), arg4, (char **)&x4); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x4 = (BN_CTX *)alloca((size_t)datasize); + memset((void *)x4, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x4 = (BN_CTX *)alloca((size_t)datasize); - memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_mod_sub(x0, x1, x2, x3, x4); } + { result = BN_mod_sub(x0, x1, x2, x3, x4); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -12056,7 +12056,7 @@ _cffi_f_BN_mod_sub(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BN_mod_sub _cffi_d_BN_mod_sub +# define _cffi_f_BN_mod_sub _cffi_d_BN_mod_sub #endif static BIGNUM * _cffi_d_BN_new(void) @@ -12117,35 +12117,35 @@ _cffi_f_BN_nnmod(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg3, (char **)&x3); + _cffi_type(94), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) return NULL; } @@ -12175,13 +12175,13 @@ _cffi_f_BN_num_bits(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg0, (char **)&x0); + _cffi_type(92), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) return NULL; } @@ -12211,13 +12211,13 @@ _cffi_f_BN_num_bytes(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg0, (char **)&x0); + _cffi_type(92), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(92), arg0) < 0) return NULL; } @@ -12234,24 +12234,24 @@ _cffi_f_BN_num_bytes(PyObject *self, PyObject *arg0) # define _cffi_f_BN_num_bytes _cffi_d_BN_num_bytes #endif -static int _cffi_d_BN_prime_checks_for_size(int x0) +static int _cffi_d_BN_prime_checks_for_size(int x0) { - return BN_prime_checks_for_size(x0); + return BN_prime_checks_for_size(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_prime_checks_for_size(PyObject *self, PyObject *arg0) +_cffi_f_BN_prime_checks_for_size(PyObject *self, PyObject *arg0) { - int x0; + int x0; int result; - x0 = _cffi_to_c_int(arg0, int); - if (x0 == (int)-1 && PyErr_Occurred()) + x0 = _cffi_to_c_int(arg0, int); + if (x0 == (int)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_prime_checks_for_size(x0); } + { result = BN_prime_checks_for_size(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -12259,25 +12259,25 @@ _cffi_f_BN_prime_checks_for_size(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BN_prime_checks_for_size _cffi_d_BN_prime_checks_for_size +# define _cffi_f_BN_prime_checks_for_size _cffi_d_BN_prime_checks_for_size #endif -static int _cffi_d_BN_rand_range(BIGNUM * x0, BIGNUM const * x1) +static int _cffi_d_BN_rand_range(BIGNUM * x0, BIGNUM const * x1) { - return BN_rand_range(x0, x1); + return BN_rand_range(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_rand_range(PyObject *self, PyObject *args) +_cffi_f_BN_rand_range(PyObject *self, PyObject *args) { BIGNUM * x0; - BIGNUM const * x1; + BIGNUM const * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "BN_rand_range", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "BN_rand_range", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( @@ -12292,19 +12292,19 @@ _cffi_f_BN_rand_range(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (BIGNUM const *)alloca((size_t)datasize); + x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = BN_rand_range(x0, x1); } + { result = BN_rand_range(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -12312,16 +12312,16 @@ _cffi_f_BN_rand_range(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_BN_rand_range _cffi_d_BN_rand_range +# define _cffi_f_BN_rand_range _cffi_d_BN_rand_range #endif -static void _cffi_d_BN_set_flags(BIGNUM * x0, int x1) +static void _cffi_d_BN_set_flags(BIGNUM * x0, int x1) { - BN_set_flags(x0, x1); + BN_set_flags(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_BN_set_flags(PyObject *self, PyObject *args) +_cffi_f_BN_set_flags(PyObject *self, PyObject *args) { BIGNUM * x0; int x1; @@ -12329,7 +12329,7 @@ _cffi_f_BN_set_flags(PyObject *self, PyObject *args) PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "BN_set_flags", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "BN_set_flags", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( @@ -12349,16 +12349,16 @@ _cffi_f_BN_set_flags(PyObject *self, PyObject *args) Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { BN_set_flags(x0, x1); } + { BN_set_flags(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_BN_set_flags _cffi_d_BN_set_flags +# define _cffi_f_BN_set_flags _cffi_d_BN_set_flags #endif static int _cffi_d_BN_set_word(BIGNUM * x0, BN_ULONG x1) @@ -12439,24 +12439,24 @@ _cffi_f_BN_sub(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } @@ -12503,13 +12503,13 @@ _cffi_f_BN_to_ASN1_INTEGER(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(21), arg1, (char **)&x1); + _cffi_type(21), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_INTEGER *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) return NULL; } @@ -12520,7 +12520,7 @@ _cffi_f_BN_to_ASN1_INTEGER(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(21)); + return _cffi_from_c_pointer((char *)result, _cffi_type(21)); } #else # define _cffi_f_BN_to_ASN1_INTEGER _cffi_d_BN_to_ASN1_INTEGER @@ -12544,46 +12544,46 @@ _cffi_f_BN_value_one(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(92)); + return _cffi_from_c_pointer((char *)result, _cffi_type(92)); } #else # define _cffi_f_BN_value_one _cffi_d_BN_value_one #endif -static void _cffi_d_CERTIFICATEPOLICIES_free(Cryptography_STACK_OF_POLICYINFO * x0) +static void _cffi_d_CERTIFICATEPOLICIES_free(Cryptography_STACK_OF_POLICYINFO * x0) { - CERTIFICATEPOLICIES_free(x0); + CERTIFICATEPOLICIES_free(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_CERTIFICATEPOLICIES_free(PyObject *self, PyObject *arg0) +_cffi_f_CERTIFICATEPOLICIES_free(PyObject *self, PyObject *arg0) { - Cryptography_STACK_OF_POLICYINFO * x0; + Cryptography_STACK_OF_POLICYINFO * x0; Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(449), arg0, (char **)&x0); + _cffi_type(449), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (Cryptography_STACK_OF_POLICYINFO *)alloca((size_t)datasize); + x0 = (Cryptography_STACK_OF_POLICYINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { CERTIFICATEPOLICIES_free(x0); } + { CERTIFICATEPOLICIES_free(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_CERTIFICATEPOLICIES_free _cffi_d_CERTIFICATEPOLICIES_free +# define _cffi_f_CERTIFICATEPOLICIES_free _cffi_d_CERTIFICATEPOLICIES_free #endif static int _cffi_d_CMAC_CTX_copy(CMAC_CTX * x0, CMAC_CTX const * x1) @@ -12605,24 +12605,24 @@ _cffi_f_CMAC_CTX_copy(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1031), arg0, (char **)&x0); + _cffi_type(1031), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (CMAC_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1032), arg1, (char **)&x1); + _cffi_type(1032), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (CMAC_CTX const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1032), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1032), arg1) < 0) return NULL; } @@ -12651,13 +12651,13 @@ _cffi_f_CMAC_CTX_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1031), arg0, (char **)&x0); + _cffi_type(1031), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (CMAC_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) return NULL; } @@ -12693,7 +12693,7 @@ _cffi_f_CMAC_CTX_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1031)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1031)); } #else # define _cffi_f_CMAC_CTX_new _cffi_d_CMAC_CTX_new @@ -12720,35 +12720,35 @@ _cffi_f_CMAC_Final(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1031), arg0, (char **)&x0); + _cffi_type(1031), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (CMAC_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); + _cffi_type(1037), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (size_t *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) return NULL; } @@ -12790,24 +12790,24 @@ _cffi_f_CMAC_Init(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1031), arg0, (char **)&x0); + _cffi_type(1031), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (CMAC_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); + _cffi_type(126), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) return NULL; } @@ -12816,24 +12816,24 @@ _cffi_f_CMAC_Init(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(885), arg3, (char **)&x3); + _cffi_type(885), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (EVP_CIPHER const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(885), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(885), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg4, (char **)&x4); + _cffi_type(282), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (ENGINE *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(282), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(282), arg4) < 0) return NULL; } @@ -12871,24 +12871,24 @@ _cffi_f_CMAC_Update(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1031), arg0, (char **)&x0); + _cffi_type(1031), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (CMAC_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1031), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); + _cffi_type(126), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) return NULL; } @@ -12909,76 +12909,76 @@ _cffi_f_CMAC_Update(PyObject *self, PyObject *args) # define _cffi_f_CMAC_Update _cffi_d_CMAC_Update #endif -static void _cffi_d_CRL_DIST_POINTS_free(Cryptography_STACK_OF_DIST_POINT * x0) +static void _cffi_d_CRL_DIST_POINTS_free(Cryptography_STACK_OF_DIST_POINT * x0) { - CRL_DIST_POINTS_free(x0); + CRL_DIST_POINTS_free(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_CRL_DIST_POINTS_free(PyObject *self, PyObject *arg0) +_cffi_f_CRL_DIST_POINTS_free(PyObject *self, PyObject *arg0) { - Cryptography_STACK_OF_DIST_POINT * x0; + Cryptography_STACK_OF_DIST_POINT * x0; Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(204), arg0, (char **)&x0); + _cffi_type(204), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (Cryptography_STACK_OF_DIST_POINT *)alloca((size_t)datasize); + x0 = (Cryptography_STACK_OF_DIST_POINT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { CRL_DIST_POINTS_free(x0); } + { CRL_DIST_POINTS_free(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_CRL_DIST_POINTS_free _cffi_d_CRL_DIST_POINTS_free +# define _cffi_f_CRL_DIST_POINTS_free _cffi_d_CRL_DIST_POINTS_free #endif -static int _cffi_d_Cryptography_CRYPTO_set_mem_functions(void *(* x0)(size_t, char const *, int), void *(* x1)(void *, size_t, char const *, int), void(* x2)(void *, char const *, int)) +static int _cffi_d_Cryptography_CRYPTO_set_mem_functions(void *(* x0)(size_t, char const *, int), void *(* x1)(void *, size_t, char const *, int), void(* x2)(void *, char const *, int)) { - return Cryptography_CRYPTO_set_mem_functions(x0, x1, x2); + return Cryptography_CRYPTO_set_mem_functions(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_CRYPTO_set_mem_functions(PyObject *self, PyObject *args) +_cffi_f_Cryptography_CRYPTO_set_mem_functions(PyObject *self, PyObject *args) { - void *(* x0)(size_t, char const *, int); - void *(* x1)(void *, size_t, char const *, int); - void(* x2)(void *, char const *, int); + void *(* x0)(size_t, char const *, int); + void *(* x1)(void *, size_t, char const *, int); + void(* x2)(void *, char const *, int); int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - if (!PyArg_UnpackTuple(args, "Cryptography_CRYPTO_set_mem_functions", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "Cryptography_CRYPTO_set_mem_functions", 3, 3, &arg0, &arg1, &arg2)) return NULL; - x0 = (void *(*)(size_t, char const *, int))_cffi_to_c_pointer(arg0, _cffi_type(2269)); - if (x0 == (void *(*)(size_t, char const *, int))NULL && PyErr_Occurred()) - return NULL; + x0 = (void *(*)(size_t, char const *, int))_cffi_to_c_pointer(arg0, _cffi_type(2269)); + if (x0 == (void *(*)(size_t, char const *, int))NULL && PyErr_Occurred()) + return NULL; - x1 = (void *(*)(void *, size_t, char const *, int))_cffi_to_c_pointer(arg1, _cffi_type(2270)); - if (x1 == (void *(*)(void *, size_t, char const *, int))NULL && PyErr_Occurred()) - return NULL; + x1 = (void *(*)(void *, size_t, char const *, int))_cffi_to_c_pointer(arg1, _cffi_type(2270)); + if (x1 == (void *(*)(void *, size_t, char const *, int))NULL && PyErr_Occurred()) + return NULL; - x2 = (void(*)(void *, char const *, int))_cffi_to_c_pointer(arg2, _cffi_type(2271)); - if (x2 == (void(*)(void *, char const *, int))NULL && PyErr_Occurred()) + x2 = (void(*)(void *, char const *, int))_cffi_to_c_pointer(arg2, _cffi_type(2271)); + if (x2 == (void(*)(void *, char const *, int))NULL && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_CRYPTO_set_mem_functions(x0, x1, x2); } + { result = Cryptography_CRYPTO_set_mem_functions(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -12986,153 +12986,153 @@ _cffi_f_Cryptography_CRYPTO_set_mem_functions(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_Cryptography_CRYPTO_set_mem_functions _cffi_d_Cryptography_CRYPTO_set_mem_functions +# define _cffi_f_Cryptography_CRYPTO_set_mem_functions _cffi_d_Cryptography_CRYPTO_set_mem_functions #endif -static int _cffi_d_Cryptography_DH_check(DH const * x0, int * x1) +static int _cffi_d_Cryptography_DH_check(DH const * x0, int * x1) { - return Cryptography_DH_check(x0, x1); + return Cryptography_DH_check(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_DH_check(PyObject *self, PyObject *args) +_cffi_f_Cryptography_DH_check(PyObject *self, PyObject *args) { - DH const * x0; - int * x1; + DH const * x0; + int * x1; Py_ssize_t datasize; - int result; + int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "Cryptography_DH_check", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "Cryptography_DH_check", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1165), arg0, (char **)&x0); + _cffi_type(1165), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (DH const *)alloca((size_t)datasize); + x0 = (DH const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1165), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1165), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg1, (char **)&x1); + _cffi_type(1169), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (int *)alloca((size_t)datasize); + x1 = (int *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1169), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1169), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_DH_check(x0, x1); } + { result = Cryptography_DH_check(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_Cryptography_DH_check _cffi_d_Cryptography_DH_check +# define _cffi_f_Cryptography_DH_check _cffi_d_Cryptography_DH_check #endif -static long _cffi_d_Cryptography_DTLSv1_get_timeout(SSL * x0, time_t * x1, long * x2) +static long _cffi_d_Cryptography_DTLSv1_get_timeout(SSL * x0, time_t * x1, long * x2) { - return Cryptography_DTLSv1_get_timeout(x0, x1, x2); + return Cryptography_DTLSv1_get_timeout(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_DTLSv1_get_timeout(PyObject *self, PyObject *args) +_cffi_f_Cryptography_DTLSv1_get_timeout(PyObject *self, PyObject *args) { - SSL * x0; - time_t * x1; - long * x2; + SSL * x0; + time_t * x1; + long * x2; Py_ssize_t datasize; - long result; + long result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - if (!PyArg_UnpackTuple(args, "Cryptography_DTLSv1_get_timeout", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "Cryptography_DTLSv1_get_timeout", 3, 3, &arg0, &arg1, &arg2)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (SSL *)alloca((size_t)datasize); + x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2313), arg1, (char **)&x1); + _cffi_type(2313), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (time_t *)alloca((size_t)datasize); + x1 = (time_t *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2313), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2313), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2314), arg2, (char **)&x2); + _cffi_type(2314), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (long *)alloca((size_t)datasize); + x2 = (long *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2314), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2314), arg2) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_DTLSv1_get_timeout(x0, x1, x2); } + { result = Cryptography_DTLSv1_get_timeout(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else -# define _cffi_f_Cryptography_DTLSv1_get_timeout _cffi_d_Cryptography_DTLSv1_get_timeout +# define _cffi_f_Cryptography_DTLSv1_get_timeout _cffi_d_Cryptography_DTLSv1_get_timeout #endif -static void _cffi_d_Cryptography_EVP_MD_CTX_free(EVP_MD_CTX * x0) +static void _cffi_d_Cryptography_EVP_MD_CTX_free(EVP_MD_CTX * x0) { - Cryptography_EVP_MD_CTX_free(x0); + Cryptography_EVP_MD_CTX_free(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_EVP_MD_CTX_free(PyObject *self, PyObject *arg0) +_cffi_f_Cryptography_EVP_MD_CTX_free(PyObject *self, PyObject *arg0) { - EVP_MD_CTX * x0; - Py_ssize_t datasize; + EVP_MD_CTX * x0; + Py_ssize_t datasize; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1351), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_MD_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + return NULL; + } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_MD_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { Cryptography_EVP_MD_CTX_free(x0); } + { Cryptography_EVP_MD_CTX_free(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -13141,230 +13141,230 @@ _cffi_f_Cryptography_EVP_MD_CTX_free(PyObject *self, PyObject *arg0) return Py_None; } #else -# define _cffi_f_Cryptography_EVP_MD_CTX_free _cffi_d_Cryptography_EVP_MD_CTX_free +# define _cffi_f_Cryptography_EVP_MD_CTX_free _cffi_d_Cryptography_EVP_MD_CTX_free #endif -static EVP_MD_CTX * _cffi_d_Cryptography_EVP_MD_CTX_new(void) +static EVP_MD_CTX * _cffi_d_Cryptography_EVP_MD_CTX_new(void) { - return Cryptography_EVP_MD_CTX_new(); + return Cryptography_EVP_MD_CTX_new(); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_EVP_MD_CTX_new(PyObject *self, PyObject *noarg) +_cffi_f_Cryptography_EVP_MD_CTX_new(PyObject *self, PyObject *noarg) { - EVP_MD_CTX * result; + EVP_MD_CTX * result; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_EVP_MD_CTX_new(); } + { result = Cryptography_EVP_MD_CTX_new(); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1351)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1351)); } #else -# define _cffi_f_Cryptography_EVP_MD_CTX_new _cffi_d_Cryptography_EVP_MD_CTX_new +# define _cffi_f_Cryptography_EVP_MD_CTX_new _cffi_d_Cryptography_EVP_MD_CTX_new #endif -static int _cffi_d_Cryptography_EVP_PKEY_id(EVP_PKEY const * x0) +static int _cffi_d_Cryptography_EVP_PKEY_id(EVP_PKEY const * x0) { - return Cryptography_EVP_PKEY_id(x0); + return Cryptography_EVP_PKEY_id(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_EVP_PKEY_id(PyObject *self, PyObject *arg0) +_cffi_f_Cryptography_EVP_PKEY_id(PyObject *self, PyObject *arg0) { - EVP_PKEY const * x0; + EVP_PKEY const * x0; Py_ssize_t datasize; - int result; + int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1445), arg0, (char **)&x0); + _cffi_type(1445), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) + x0 = (EVP_PKEY const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_EVP_PKEY_id(x0); } + { result = Cryptography_EVP_PKEY_id(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_Cryptography_EVP_PKEY_id _cffi_d_Cryptography_EVP_PKEY_id +# define _cffi_f_Cryptography_EVP_PKEY_id _cffi_d_Cryptography_EVP_PKEY_id #endif -static X509_REVOKED * _cffi_d_Cryptography_X509_REVOKED_dup(X509_REVOKED * x0) +static X509_REVOKED * _cffi_d_Cryptography_X509_REVOKED_dup(X509_REVOKED * x0) { - return Cryptography_X509_REVOKED_dup(x0); + return Cryptography_X509_REVOKED_dup(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_X509_REVOKED_dup(PyObject *self, PyObject *arg0) +_cffi_f_Cryptography_X509_REVOKED_dup(PyObject *self, PyObject *arg0) { - X509_REVOKED * x0; + X509_REVOKED * x0; Py_ssize_t datasize; - X509_REVOKED * result; + X509_REVOKED * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); + _cffi_type(619), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (X509_REVOKED *)alloca((size_t)datasize); + x0 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_X509_REVOKED_dup(x0); } + { result = Cryptography_X509_REVOKED_dup(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(619)); + return _cffi_from_c_pointer((char *)result, _cffi_type(619)); } #else -# define _cffi_f_Cryptography_X509_REVOKED_dup _cffi_d_Cryptography_X509_REVOKED_dup +# define _cffi_f_Cryptography_X509_REVOKED_dup _cffi_d_Cryptography_X509_REVOKED_dup #endif -static int _cffi_d_Cryptography_add_osrandom_engine(void) +static int _cffi_d_Cryptography_add_osrandom_engine(void) { - return Cryptography_add_osrandom_engine(); + return Cryptography_add_osrandom_engine(); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_add_osrandom_engine(PyObject *self, PyObject *noarg) +_cffi_f_Cryptography_add_osrandom_engine(PyObject *self, PyObject *noarg) { - int result; + int result; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_add_osrandom_engine(); } + { result = Cryptography_add_osrandom_engine(); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_Cryptography_add_osrandom_engine _cffi_d_Cryptography_add_osrandom_engine +# define _cffi_f_Cryptography_add_osrandom_engine _cffi_d_Cryptography_add_osrandom_engine #endif -static DH * _cffi_d_Cryptography_d2i_DHxparams_bio(BIO * x0, DH * * x1) +static DH * _cffi_d_Cryptography_d2i_DHxparams_bio(BIO * x0, DH * * x1) { - return Cryptography_d2i_DHxparams_bio(x0, x1); + return Cryptography_d2i_DHxparams_bio(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_d2i_DHxparams_bio(PyObject *self, PyObject *args) +_cffi_f_Cryptography_d2i_DHxparams_bio(PyObject *self, PyObject *args) { - BIO * x0; - DH * * x1; + BIO * x0; + DH * * x1; Py_ssize_t datasize; - DH * result; - PyObject *arg0; - PyObject *arg1; + DH * result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "Cryptography_d2i_DHxparams_bio", 2, 2, &arg0, &arg1)) + return NULL; - if (!PyArg_UnpackTuple(args, "Cryptography_d2i_DHxparams_bio", 2, 2, &arg0, &arg1)) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (BIO *)alloca((size_t)datasize); + x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(187), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (DH * *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(187), arg1) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(187), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (DH * *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(187), arg1) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_d2i_DHxparams_bio(x0, x1); } + { result = Cryptography_d2i_DHxparams_bio(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(196)); + return _cffi_from_c_pointer((char *)result, _cffi_type(196)); } #else -# define _cffi_f_Cryptography_d2i_DHxparams_bio _cffi_d_Cryptography_d2i_DHxparams_bio +# define _cffi_f_Cryptography_d2i_DHxparams_bio _cffi_d_Cryptography_d2i_DHxparams_bio #endif -static void _cffi_d_Cryptography_free_wrapper(void * x0, char const * x1, int x2) +static void _cffi_d_Cryptography_free_wrapper(void * x0, char const * x1, int x2) { - Cryptography_free_wrapper(x0, x1, x2); + Cryptography_free_wrapper(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_free_wrapper(PyObject *self, PyObject *args) +_cffi_f_Cryptography_free_wrapper(PyObject *self, PyObject *args) { - void * x0; - char const * x1; - int x2; + void * x0; + char const * x1; + int x2; Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "Cryptography_free_wrapper", 3, 3, &arg0, &arg1, &arg2)) + return NULL; - if (!PyArg_UnpackTuple(args, "Cryptography_free_wrapper", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg0, (char **)&x0); + _cffi_type(193), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (void *)alloca((size_t)datasize); + x0 = (void *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(193), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(193), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { Cryptography_free_wrapper(x0, x1, x2); } + { Cryptography_free_wrapper(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -13373,52 +13373,52 @@ _cffi_f_Cryptography_free_wrapper(PyObject *self, PyObject *args) return Py_None; } #else -# define _cffi_f_Cryptography_free_wrapper _cffi_d_Cryptography_free_wrapper +# define _cffi_f_Cryptography_free_wrapper _cffi_d_Cryptography_free_wrapper #endif -static int _cffi_d_Cryptography_i2d_DHxparams_bio(BIO * x0, DH * x1) +static int _cffi_d_Cryptography_i2d_DHxparams_bio(BIO * x0, DH * x1) { - return Cryptography_i2d_DHxparams_bio(x0, x1); + return Cryptography_i2d_DHxparams_bio(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_i2d_DHxparams_bio(PyObject *self, PyObject *args) +_cffi_f_Cryptography_i2d_DHxparams_bio(PyObject *self, PyObject *args) { - BIO * x0; - DH * x1; + BIO * x0; + DH * x1; Py_ssize_t datasize; int result; - PyObject *arg0; - PyObject *arg1; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "Cryptography_i2d_DHxparams_bio", 2, 2, &arg0, &arg1)) + return NULL; - if (!PyArg_UnpackTuple(args, "Cryptography_i2d_DHxparams_bio", 2, 2, &arg0, &arg1)) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (BIO *)alloca((size_t)datasize); + x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(196), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (DH *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (DH *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_i2d_DHxparams_bio(x0, x1); } + { result = Cryptography_i2d_DHxparams_bio(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -13426,116 +13426,116 @@ _cffi_f_Cryptography_i2d_DHxparams_bio(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_Cryptography_i2d_DHxparams_bio _cffi_d_Cryptography_i2d_DHxparams_bio +# define _cffi_f_Cryptography_i2d_DHxparams_bio _cffi_d_Cryptography_i2d_DHxparams_bio #endif -static void * _cffi_d_Cryptography_malloc_wrapper(size_t x0, char const * x1, int x2) +static void * _cffi_d_Cryptography_malloc_wrapper(size_t x0, char const * x1, int x2) { - return Cryptography_malloc_wrapper(x0, x1, x2); + return Cryptography_malloc_wrapper(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_malloc_wrapper(PyObject *self, PyObject *args) +_cffi_f_Cryptography_malloc_wrapper(PyObject *self, PyObject *args) { - size_t x0; - char const * x1; - int x2; + size_t x0; + char const * x1; + int x2; Py_ssize_t datasize; - void * result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; + void * result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "Cryptography_malloc_wrapper", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + x0 = _cffi_to_c_int(arg0, size_t); + if (x0 == (size_t)-1 && PyErr_Occurred()) + return NULL; - if (!PyArg_UnpackTuple(args, "Cryptography_malloc_wrapper", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - x0 = _cffi_to_c_int(arg0, size_t); - if (x0 == (size_t)-1 && PyErr_Occurred()) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_malloc_wrapper(x0, x1, x2); } + { result = Cryptography_malloc_wrapper(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); } #else -# define _cffi_f_Cryptography_malloc_wrapper _cffi_d_Cryptography_malloc_wrapper +# define _cffi_f_Cryptography_malloc_wrapper _cffi_d_Cryptography_malloc_wrapper #endif -static int _cffi_d_Cryptography_pem_password_cb(char * x0, int x1, int x2, void * x3) +static int _cffi_d_Cryptography_pem_password_cb(char * x0, int x1, int x2, void * x3) { - return Cryptography_pem_password_cb(x0, x1, x2, x3); + return Cryptography_pem_password_cb(x0, x1, x2, x3); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_pem_password_cb(PyObject *self, PyObject *args) +_cffi_f_Cryptography_pem_password_cb(PyObject *self, PyObject *args) { - char * x0; - int x1; - int x2; - void * x3; + char * x0; + int x1; + int x2; + void * x3; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - PyObject *arg2; - PyObject *arg3; + PyObject *arg2; + PyObject *arg3; - if (!PyArg_UnpackTuple(args, "Cryptography_pem_password_cb", 4, 4, &arg0, &arg1, &arg2, &arg3)) + if (!PyArg_UnpackTuple(args, "Cryptography_pem_password_cb", 4, 4, &arg0, &arg1, &arg2, &arg3)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg0, (char **)&x0); + _cffi_type(409), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (char *)alloca((size_t)datasize); + x0 = (char *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(409), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(409), arg0) < 0) return NULL; } - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; - x3 = (void *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + x3 = (void *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_pem_password_cb(x0, x1, x2, x3); } + { result = Cryptography_pem_password_cb(x0, x1, x2, x3); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -13543,74 +13543,74 @@ _cffi_f_Cryptography_pem_password_cb(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_Cryptography_pem_password_cb _cffi_d_Cryptography_pem_password_cb +# define _cffi_f_Cryptography_pem_password_cb _cffi_d_Cryptography_pem_password_cb #endif -static void * _cffi_d_Cryptography_realloc_wrapper(void * x0, size_t x1, char const * x2, int x3) +static void * _cffi_d_Cryptography_realloc_wrapper(void * x0, size_t x1, char const * x2, int x3) { - return Cryptography_realloc_wrapper(x0, x1, x2, x3); + return Cryptography_realloc_wrapper(x0, x1, x2, x3); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_Cryptography_realloc_wrapper(PyObject *self, PyObject *args) +_cffi_f_Cryptography_realloc_wrapper(PyObject *self, PyObject *args) { - void * x0; - size_t x1; - char const * x2; - int x3; + void * x0; + size_t x1; + char const * x2; + int x3; Py_ssize_t datasize; - void * result; + void * result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - PyObject *arg3; + PyObject *arg3; - if (!PyArg_UnpackTuple(args, "Cryptography_realloc_wrapper", 4, 4, &arg0, &arg1, &arg2, &arg3)) + if (!PyArg_UnpackTuple(args, "Cryptography_realloc_wrapper", 4, 4, &arg0, &arg1, &arg2, &arg3)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg0, (char **)&x0); + _cffi_type(193), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (void *)alloca((size_t)datasize); + x0 = (void *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(193), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(193), arg0) < 0) return NULL; } - x1 = _cffi_to_c_int(arg1, size_t); - if (x1 == (size_t)-1 && PyErr_Occurred()) - return NULL; + x1 = _cffi_to_c_int(arg1, size_t); + if (x1 == (size_t)-1 && PyErr_Occurred()) + return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg2, (char **)&x2); + _cffi_type(46), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (char const *)alloca((size_t)datasize); + x2 = (char const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(46), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(46), arg2) < 0) return NULL; } - x3 = _cffi_to_c_int(arg3, int); - if (x3 == (int)-1 && PyErr_Occurred()) - return NULL; - + x3 = _cffi_to_c_int(arg3, int); + if (x3 == (int)-1 && PyErr_Occurred()) + return NULL; + Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = Cryptography_realloc_wrapper(x0, x1, x2, x3); } + { result = Cryptography_realloc_wrapper(x0, x1, x2, x3); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); -} -#else -# define _cffi_f_Cryptography_realloc_wrapper _cffi_d_Cryptography_realloc_wrapper -#endif - + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); +} +#else +# define _cffi_f_Cryptography_realloc_wrapper _cffi_d_Cryptography_realloc_wrapper +#endif + static int _cffi_d_DH_compute_key(unsigned char * x0, BIGNUM const * x1, DH * x2) { return DH_compute_key(x0, x1, x2); @@ -13632,35 +13632,35 @@ _cffi_f_DH_compute_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg0, (char **)&x0); + _cffi_type(752), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (unsigned char *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(752), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(752), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg2, (char **)&x2); + _cffi_type(196), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (DH *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(196), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(196), arg2) < 0) return NULL; } @@ -13689,13 +13689,13 @@ _cffi_f_DH_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg0, (char **)&x0); + _cffi_type(196), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DH *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) return NULL; } @@ -13726,13 +13726,13 @@ _cffi_f_DH_generate_key(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg0, (char **)&x0); + _cffi_type(196), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DH *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) return NULL; } @@ -13772,13 +13772,13 @@ _cffi_f_DH_generate_parameters_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg0, (char **)&x0); + _cffi_type(196), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DH *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) return NULL; } @@ -13791,13 +13791,13 @@ _cffi_f_DH_generate_parameters_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(848), arg3, (char **)&x3); + _cffi_type(848), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BN_GENCB *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(848), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(848), arg3) < 0) return NULL; } @@ -13834,35 +13834,35 @@ _cffi_f_DH_get0_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1165), arg0, (char **)&x0); + _cffi_type(1165), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DH const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1165), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1165), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg1, (char **)&x1); + _cffi_type(2631), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg2, (char **)&x2); + _cffi_type(2631), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) return NULL; } @@ -13902,46 +13902,46 @@ _cffi_f_DH_get0_pqg(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1165), arg0, (char **)&x0); + _cffi_type(1165), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DH const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1165), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1165), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg1, (char **)&x1); + _cffi_type(2631), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg2, (char **)&x2); + _cffi_type(2631), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg3, (char **)&x3); + _cffi_type(2631), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2631), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2631), arg3) < 0) return NULL; } @@ -13977,7 +13977,7 @@ _cffi_f_DH_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(196)); + return _cffi_from_c_pointer((char *)result, _cffi_type(196)); } #else # define _cffi_f_DH_new _cffi_d_DH_new @@ -14004,13 +14004,13 @@ _cffi_f_DH_set0_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg0, (char **)&x0); + _cffi_type(196), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DH *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) return NULL; } @@ -14072,13 +14072,13 @@ _cffi_f_DH_set0_pqg(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg0, (char **)&x0); + _cffi_type(196), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DH *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) return NULL; } @@ -14141,13 +14141,13 @@ _cffi_f_DH_size(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1165), arg0, (char **)&x0); + _cffi_type(1165), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DH const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1165), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1165), arg0) < 0) return NULL; } @@ -14177,13 +14177,13 @@ _cffi_f_DHparams_dup(PyObject *self, PyObject *arg0) DH * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg0, (char **)&x0); + _cffi_type(196), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DH *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(196), arg0) < 0) return NULL; } @@ -14194,7 +14194,7 @@ _cffi_f_DHparams_dup(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(196)); + return _cffi_from_c_pointer((char *)result, _cffi_type(196)); } #else # define _cffi_f_DHparams_dup _cffi_d_DHparams_dup @@ -14212,13 +14212,13 @@ _cffi_f_DIST_POINT_NAME_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2644), arg0, (char **)&x0); + _cffi_type(2644), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DIST_POINT_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2644), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2644), arg0) < 0) return NULL; } @@ -14254,7 +14254,7 @@ _cffi_f_DIST_POINT_NAME_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2644)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2644)); } #else # define _cffi_f_DIST_POINT_NAME_new _cffi_d_DIST_POINT_NAME_new @@ -14272,13 +14272,13 @@ _cffi_f_DIST_POINT_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1077), arg0, (char **)&x0); + _cffi_type(1077), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DIST_POINT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1077), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1077), arg0) < 0) return NULL; } @@ -14314,7 +14314,7 @@ _cffi_f_DIST_POINT_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1077)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1077)); } #else # define _cffi_f_DIST_POINT_new _cffi_d_DIST_POINT_new @@ -14332,13 +14332,13 @@ _cffi_f_DSA_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg0, (char **)&x0); + _cffi_type(212), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) return NULL; } @@ -14369,13 +14369,13 @@ _cffi_f_DSA_generate_key(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg0, (char **)&x0); + _cffi_type(212), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) return NULL; } @@ -14421,13 +14421,13 @@ _cffi_f_DSA_generate_parameters_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg0, (char **)&x0); + _cffi_type(212), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) return NULL; } @@ -14436,13 +14436,13 @@ _cffi_f_DSA_generate_parameters_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg2, (char **)&x2); + _cffi_type(752), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned char *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(752), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(752), arg2) < 0) return NULL; } @@ -14451,35 +14451,35 @@ _cffi_f_DSA_generate_parameters_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg4, (char **)&x4); + _cffi_type(1169), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (int *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1169), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1169), arg4) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1191), arg5, (char **)&x5); + _cffi_type(1191), arg5, (char **)&x5); if (datasize != 0) { if (datasize < 0) return NULL; x5 = (unsigned long *)alloca((size_t)datasize); memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(1191), arg5) < 0) + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(1191), arg5) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(848), arg6, (char **)&x6); + _cffi_type(848), arg6, (char **)&x6); if (datasize != 0) { if (datasize < 0) return NULL; x6 = (BN_GENCB *)alloca((size_t)datasize); memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(848), arg6) < 0) + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(848), arg6) < 0) return NULL; } @@ -14516,35 +14516,35 @@ _cffi_f_DSA_get0_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1195), arg0, (char **)&x0); + _cffi_type(1195), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DSA const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1195), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1195), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg1, (char **)&x1); + _cffi_type(2631), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg2, (char **)&x2); + _cffi_type(2631), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) return NULL; } @@ -14584,46 +14584,46 @@ _cffi_f_DSA_get0_pqg(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1195), arg0, (char **)&x0); + _cffi_type(1195), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DSA const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1195), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1195), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg1, (char **)&x1); + _cffi_type(2631), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg2, (char **)&x2); + _cffi_type(2631), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg3, (char **)&x3); + _cffi_type(2631), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2631), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2631), arg3) < 0) return NULL; } @@ -14659,7 +14659,7 @@ _cffi_f_DSA_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(212)); + return _cffi_from_c_pointer((char *)result, _cffi_type(212)); } #else # define _cffi_f_DSA_new _cffi_d_DSA_new @@ -14686,13 +14686,13 @@ _cffi_f_DSA_set0_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg0, (char **)&x0); + _cffi_type(212), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) return NULL; } @@ -14754,13 +14754,13 @@ _cffi_f_DSA_set0_pqg(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg0, (char **)&x0); + _cffi_type(212), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) return NULL; } @@ -14841,13 +14841,13 @@ _cffi_f_DSA_sign(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -14856,35 +14856,35 @@ _cffi_f_DSA_sign(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg3, (char **)&x3); + _cffi_type(752), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1390), arg4, (char **)&x4); + _cffi_type(1390), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (unsigned int *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1390), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1390), arg4) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg5, (char **)&x5); + _cffi_type(212), arg5, (char **)&x5); if (datasize != 0) { if (datasize < 0) return NULL; x5 = (DSA *)alloca((size_t)datasize); memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(212), arg5) < 0) + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(212), arg5) < 0) return NULL; } @@ -14914,13 +14914,13 @@ _cffi_f_DSA_size(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1195), arg0, (char **)&x0); + _cffi_type(1195), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DSA const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1195), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1195), arg0) < 0) return NULL; } @@ -14968,13 +14968,13 @@ _cffi_f_DSA_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -14983,13 +14983,13 @@ _cffi_f_DSA_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -14998,13 +14998,13 @@ _cffi_f_DSA_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg5, (char **)&x5); + _cffi_type(212), arg5, (char **)&x5); if (datasize != 0) { if (datasize < 0) return NULL; x5 = (DSA *)alloca((size_t)datasize); memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(212), arg5) < 0) + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(212), arg5) < 0) return NULL; } @@ -15034,13 +15034,13 @@ _cffi_f_DSAparams_dup(PyObject *self, PyObject *arg0) DSA * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg0, (char **)&x0); + _cffi_type(212), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (DSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(212), arg0) < 0) return NULL; } @@ -15051,166 +15051,166 @@ _cffi_f_DSAparams_dup(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(212)); + return _cffi_from_c_pointer((char *)result, _cffi_type(212)); } #else # define _cffi_f_DSAparams_dup _cffi_d_DSAparams_dup #endif -static SSL_METHOD const * _cffi_d_DTLS_client_method(void) -{ - return DTLS_client_method(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_DTLS_client_method(PyObject *self, PyObject *noarg) -{ - SSL_METHOD const * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = DTLS_client_method(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); -} -#else -# define _cffi_f_DTLS_client_method _cffi_d_DTLS_client_method -#endif - -static long _cffi_d_DTLS_get_link_min_mtu(SSL * x0) -{ - return DTLS_get_link_min_mtu(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_DTLS_get_link_min_mtu(PyObject *self, PyObject *arg0) -{ - SSL * x0; - Py_ssize_t datasize; - long result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = DTLS_get_link_min_mtu(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_DTLS_get_link_min_mtu _cffi_d_DTLS_get_link_min_mtu -#endif - -static SSL_METHOD const * _cffi_d_DTLS_method(void) -{ - return DTLS_method(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_DTLS_method(PyObject *self, PyObject *noarg) -{ - SSL_METHOD const * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = DTLS_method(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); -} -#else -# define _cffi_f_DTLS_method _cffi_d_DTLS_method -#endif - -static SSL_METHOD const * _cffi_d_DTLS_server_method(void) -{ - return DTLS_server_method(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_DTLS_server_method(PyObject *self, PyObject *noarg) -{ - SSL_METHOD const * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = DTLS_server_method(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); -} -#else -# define _cffi_f_DTLS_server_method _cffi_d_DTLS_server_method -#endif - -static long _cffi_d_DTLS_set_link_mtu(SSL * x0, long x1) -{ - return DTLS_set_link_mtu(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_DTLS_set_link_mtu(PyObject *self, PyObject *args) -{ - SSL * x0; - long x1; - Py_ssize_t datasize; - long result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "DTLS_set_link_mtu", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, long); - if (x1 == (long)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = DTLS_set_link_mtu(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_DTLS_set_link_mtu _cffi_d_DTLS_set_link_mtu -#endif - +static SSL_METHOD const * _cffi_d_DTLS_client_method(void) +{ + return DTLS_client_method(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_DTLS_client_method(PyObject *self, PyObject *noarg) +{ + SSL_METHOD const * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = DTLS_client_method(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); +} +#else +# define _cffi_f_DTLS_client_method _cffi_d_DTLS_client_method +#endif + +static long _cffi_d_DTLS_get_link_min_mtu(SSL * x0) +{ + return DTLS_get_link_min_mtu(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_DTLS_get_link_min_mtu(PyObject *self, PyObject *arg0) +{ + SSL * x0; + Py_ssize_t datasize; + long result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = DTLS_get_link_min_mtu(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_DTLS_get_link_min_mtu _cffi_d_DTLS_get_link_min_mtu +#endif + +static SSL_METHOD const * _cffi_d_DTLS_method(void) +{ + return DTLS_method(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_DTLS_method(PyObject *self, PyObject *noarg) +{ + SSL_METHOD const * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = DTLS_method(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); +} +#else +# define _cffi_f_DTLS_method _cffi_d_DTLS_method +#endif + +static SSL_METHOD const * _cffi_d_DTLS_server_method(void) +{ + return DTLS_server_method(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_DTLS_server_method(PyObject *self, PyObject *noarg) +{ + SSL_METHOD const * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = DTLS_server_method(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); +} +#else +# define _cffi_f_DTLS_server_method _cffi_d_DTLS_server_method +#endif + +static long _cffi_d_DTLS_set_link_mtu(SSL * x0, long x1) +{ + return DTLS_set_link_mtu(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_DTLS_set_link_mtu(PyObject *self, PyObject *args) +{ + SSL * x0; + long x1; + Py_ssize_t datasize; + long result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "DTLS_set_link_mtu", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, long); + if (x1 == (long)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = DTLS_set_link_mtu(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_DTLS_set_link_mtu _cffi_d_DTLS_set_link_mtu +#endif + static SSL_METHOD const * _cffi_d_DTLSv1_client_method(void) { return DTLSv1_client_method(); @@ -15229,48 +15229,48 @@ _cffi_f_DTLSv1_client_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_DTLSv1_client_method _cffi_d_DTLSv1_client_method #endif -static long _cffi_d_DTLSv1_handle_timeout(SSL * x0) -{ - return DTLSv1_handle_timeout(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_DTLSv1_handle_timeout(PyObject *self, PyObject *arg0) -{ - SSL * x0; - Py_ssize_t datasize; - long result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = DTLSv1_handle_timeout(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_DTLSv1_handle_timeout _cffi_d_DTLSv1_handle_timeout -#endif - +static long _cffi_d_DTLSv1_handle_timeout(SSL * x0) +{ + return DTLSv1_handle_timeout(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_DTLSv1_handle_timeout(PyObject *self, PyObject *arg0) +{ + SSL * x0; + Py_ssize_t datasize; + long result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = DTLSv1_handle_timeout(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_DTLSv1_handle_timeout _cffi_d_DTLSv1_handle_timeout +#endif + static SSL_METHOD const * _cffi_d_DTLSv1_method(void) { return DTLSv1_method(); @@ -15289,7 +15289,7 @@ _cffi_f_DTLSv1_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_DTLSv1_method _cffi_d_DTLSv1_method @@ -15313,7 +15313,7 @@ _cffi_f_DTLSv1_server_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_DTLSv1_server_method _cffi_d_DTLSv1_server_method @@ -15344,13 +15344,13 @@ _cffi_f_ECDH_compute_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg0, (char **)&x0); + _cffi_type(193), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (void *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(193), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(193), arg0) < 0) return NULL; } @@ -15359,28 +15359,28 @@ _cffi_f_ECDH_compute_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg2, (char **)&x2); + _cffi_type(244), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(244), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(244), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg3, (char **)&x3); + _cffi_type(893), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(893), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(893), arg3) < 0) return NULL; } - x4 = (void *(*)(void const *, size_t, void *, size_t *))_cffi_to_c_pointer(arg4, _cffi_type(2278)); + x4 = (void *(*)(void const *, size_t, void *, size_t *))_cffi_to_c_pointer(arg4, _cffi_type(2278)); if (x4 == (void *(*)(void const *, size_t, void *, size_t *))NULL && PyErr_Occurred()) return NULL; @@ -15428,13 +15428,13 @@ _cffi_f_ECDSA_sign(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -15443,35 +15443,35 @@ _cffi_f_ECDSA_sign(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg3, (char **)&x3); + _cffi_type(752), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1390), arg4, (char **)&x4); + _cffi_type(1390), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (unsigned int *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1390), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1390), arg4) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg5, (char **)&x5); + _cffi_type(893), arg5, (char **)&x5); if (datasize != 0) { if (datasize < 0) return NULL; x5 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(893), arg5) < 0) + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(893), arg5) < 0) return NULL; } @@ -15501,13 +15501,13 @@ _cffi_f_ECDSA_size(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(110), arg0, (char **)&x0); + _cffi_type(110), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(110), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(110), arg0) < 0) return NULL; } @@ -15555,13 +15555,13 @@ _cffi_f_ECDSA_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -15570,13 +15570,13 @@ _cffi_f_ECDSA_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -15585,13 +15585,13 @@ _cffi_f_ECDSA_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg5, (char **)&x5); + _cffi_type(893), arg5, (char **)&x5); if (datasize != 0) { if (datasize < 0) return NULL; x5 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(893), arg5) < 0) + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(893), arg5) < 0) return NULL; } @@ -15620,13 +15620,13 @@ _cffi_f_EC_GROUP_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2661), arg0, (char **)&x0); + _cffi_type(2661), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2661), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2661), arg0) < 0) return NULL; } @@ -15657,13 +15657,13 @@ _cffi_f_EC_GROUP_get0_generator(PyObject *self, PyObject *arg0) EC_POINT const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } @@ -15674,48 +15674,48 @@ _cffi_f_EC_GROUP_get0_generator(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(244)); + return _cffi_from_c_pointer((char *)result, _cffi_type(244)); } #else # define _cffi_f_EC_GROUP_get0_generator _cffi_d_EC_GROUP_get0_generator #endif -static int _cffi_d_EC_GROUP_get_asn1_flag(EC_GROUP const * x0) -{ - return EC_GROUP_get_asn1_flag(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EC_GROUP_get_asn1_flag(PyObject *self, PyObject *arg0) -{ - EC_GROUP const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EC_GROUP const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EC_GROUP_get_asn1_flag(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EC_GROUP_get_asn1_flag _cffi_d_EC_GROUP_get_asn1_flag -#endif - +static int _cffi_d_EC_GROUP_get_asn1_flag(EC_GROUP const * x0) +{ + return EC_GROUP_get_asn1_flag(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EC_GROUP_get_asn1_flag(PyObject *self, PyObject *arg0) +{ + EC_GROUP const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(238), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EC_GROUP const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EC_GROUP_get_asn1_flag(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EC_GROUP_get_asn1_flag _cffi_d_EC_GROUP_get_asn1_flag +#endif + static int _cffi_d_EC_GROUP_get_curve_name(EC_GROUP const * x0) { return EC_GROUP_get_curve_name(x0); @@ -15729,13 +15729,13 @@ _cffi_f_EC_GROUP_get_curve_name(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } @@ -15765,13 +15765,13 @@ _cffi_f_EC_GROUP_get_degree(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } @@ -15809,13 +15809,13 @@ _cffi_f_EC_GROUP_get_order(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } @@ -15831,13 +15831,13 @@ _cffi_f_EC_GROUP_get_order(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg2, (char **)&x2); + _cffi_type(94), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) return NULL; } @@ -15867,13 +15867,13 @@ _cffi_f_EC_GROUP_method_of(PyObject *self, PyObject *arg0) EC_METHOD const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } @@ -15884,7 +15884,7 @@ _cffi_f_EC_GROUP_method_of(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1298)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1298)); } #else # define _cffi_f_EC_GROUP_method_of _cffi_d_EC_GROUP_method_of @@ -15912,7 +15912,7 @@ _cffi_f_EC_GROUP_new_by_curve_name(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2661)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2661)); } #else # define _cffi_f_EC_GROUP_new_by_curve_name _cffi_d_EC_GROUP_new_by_curve_name @@ -15930,13 +15930,13 @@ _cffi_f_EC_KEY_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg0, (char **)&x0); + _cffi_type(893), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) return NULL; } @@ -15967,13 +15967,13 @@ _cffi_f_EC_KEY_generate_key(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg0, (char **)&x0); + _cffi_type(893), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) return NULL; } @@ -16003,13 +16003,13 @@ _cffi_f_EC_KEY_get0_group(PyObject *self, PyObject *arg0) EC_GROUP const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(110), arg0, (char **)&x0); + _cffi_type(110), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(110), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(110), arg0) < 0) return NULL; } @@ -16020,7 +16020,7 @@ _cffi_f_EC_KEY_get0_group(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(238)); + return _cffi_from_c_pointer((char *)result, _cffi_type(238)); } #else # define _cffi_f_EC_KEY_get0_group _cffi_d_EC_KEY_get0_group @@ -16039,13 +16039,13 @@ _cffi_f_EC_KEY_get0_private_key(PyObject *self, PyObject *arg0) BIGNUM const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(110), arg0, (char **)&x0); + _cffi_type(110), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(110), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(110), arg0) < 0) return NULL; } @@ -16056,7 +16056,7 @@ _cffi_f_EC_KEY_get0_private_key(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(92)); + return _cffi_from_c_pointer((char *)result, _cffi_type(92)); } #else # define _cffi_f_EC_KEY_get0_private_key _cffi_d_EC_KEY_get0_private_key @@ -16075,13 +16075,13 @@ _cffi_f_EC_KEY_get0_public_key(PyObject *self, PyObject *arg0) EC_POINT const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(110), arg0, (char **)&x0); + _cffi_type(110), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(110), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(110), arg0) < 0) return NULL; } @@ -16092,7 +16092,7 @@ _cffi_f_EC_KEY_get0_public_key(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(244)); + return _cffi_from_c_pointer((char *)result, _cffi_type(244)); } #else # define _cffi_f_EC_KEY_get0_public_key _cffi_d_EC_KEY_get0_public_key @@ -16116,7 +16116,7 @@ _cffi_f_EC_KEY_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(893)); + return _cffi_from_c_pointer((char *)result, _cffi_type(893)); } #else # define _cffi_f_EC_KEY_new _cffi_d_EC_KEY_new @@ -16144,7 +16144,7 @@ _cffi_f_EC_KEY_new_by_curve_name(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(893)); + return _cffi_from_c_pointer((char *)result, _cffi_type(893)); } #else # define _cffi_f_EC_KEY_new_by_curve_name _cffi_d_EC_KEY_new_by_curve_name @@ -16168,13 +16168,13 @@ _cffi_f_EC_KEY_set_asn1_flag(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg0, (char **)&x0); + _cffi_type(893), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) return NULL; } @@ -16215,24 +16215,24 @@ _cffi_f_EC_KEY_set_group(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg0, (char **)&x0); + _cffi_type(893), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg1, (char **)&x1); + _cffi_type(238), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(238), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(238), arg1) < 0) return NULL; } @@ -16268,24 +16268,24 @@ _cffi_f_EC_KEY_set_private_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg0, (char **)&x0); + _cffi_type(893), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg1, (char **)&x1); + _cffi_type(92), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(92), arg1) < 0) return NULL; } @@ -16321,24 +16321,24 @@ _cffi_f_EC_KEY_set_public_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg0, (char **)&x0); + _cffi_type(893), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg1, (char **)&x1); + _cffi_type(244), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) return NULL; } @@ -16376,13 +16376,13 @@ _cffi_f_EC_KEY_set_public_key_affine_coordinates(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg0, (char **)&x0); + _cffi_type(893), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(893), arg0) < 0) return NULL; } @@ -16434,13 +16434,13 @@ _cffi_f_EC_METHOD_get_field_type(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1298), arg0, (char **)&x0); + _cffi_type(1298), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_METHOD const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1298), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1298), arg0) < 0) return NULL; } @@ -16482,57 +16482,57 @@ _cffi_f_EC_POINT_add(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg1, (char **)&x1); + _cffi_type(1207), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg2, (char **)&x2); + _cffi_type(244), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(244), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(244), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg3, (char **)&x3); + _cffi_type(244), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(244), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(244), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -16561,13 +16561,13 @@ _cffi_f_EC_POINT_clear_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg0, (char **)&x0); + _cffi_type(1207), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1207), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1207), arg0) < 0) return NULL; } @@ -16608,46 +16608,46 @@ _cffi_f_EC_POINT_cmp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg1, (char **)&x1); + _cffi_type(244), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg2, (char **)&x2); + _cffi_type(244), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(244), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(244), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg3, (char **)&x3); + _cffi_type(94), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) return NULL; } @@ -16687,46 +16687,46 @@ _cffi_f_EC_POINT_dbl(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg1, (char **)&x1); + _cffi_type(1207), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg2, (char **)&x2); + _cffi_type(244), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(244), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(244), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg3, (char **)&x3); + _cffi_type(94), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(94), arg3) < 0) return NULL; } @@ -16762,24 +16762,24 @@ _cffi_f_EC_POINT_dup(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg0, (char **)&x0); + _cffi_type(244), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(244), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(244), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg1, (char **)&x1); + _cffi_type(238), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(238), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(238), arg1) < 0) return NULL; } @@ -16790,7 +16790,7 @@ _cffi_f_EC_POINT_dup(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1207)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1207)); } #else # define _cffi_f_EC_POINT_dup _cffi_d_EC_POINT_dup @@ -16808,13 +16808,13 @@ _cffi_f_EC_POINT_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg0, (char **)&x0); + _cffi_type(1207), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1207), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1207), arg0) < 0) return NULL; } @@ -16857,24 +16857,24 @@ _cffi_f_EC_POINT_get_affine_coordinates_GF2m(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg1, (char **)&x1); + _cffi_type(244), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) return NULL; } @@ -16901,13 +16901,13 @@ _cffi_f_EC_POINT_get_affine_coordinates_GF2m(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -16949,24 +16949,24 @@ _cffi_f_EC_POINT_get_affine_coordinates_GFp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg1, (char **)&x1); + _cffi_type(244), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) return NULL; } @@ -16993,13 +16993,13 @@ _cffi_f_EC_POINT_get_affine_coordinates_GFp(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -17037,35 +17037,35 @@ _cffi_f_EC_POINT_invert(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg1, (char **)&x1); + _cffi_type(1207), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg2, (char **)&x2); + _cffi_type(94), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) return NULL; } @@ -17101,24 +17101,24 @@ _cffi_f_EC_POINT_is_at_infinity(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg1, (char **)&x1); + _cffi_type(244), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) return NULL; } @@ -17156,35 +17156,35 @@ _cffi_f_EC_POINT_is_on_curve(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg1, (char **)&x1); + _cffi_type(244), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg2, (char **)&x2); + _cffi_type(94), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(94), arg2) < 0) return NULL; } @@ -17228,68 +17228,68 @@ _cffi_f_EC_POINT_mul(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg1, (char **)&x1); + _cffi_type(1207), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg3, (char **)&x3); + _cffi_type(244), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(244), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(244), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg4, (char **)&x4); + _cffi_type(92), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(92), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(92), arg4) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg5, (char **)&x5); + _cffi_type(94), arg5, (char **)&x5); if (datasize != 0) { if (datasize < 0) return NULL; x5 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(94), arg5) < 0) + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(94), arg5) < 0) return NULL; } @@ -17319,13 +17319,13 @@ _cffi_f_EC_POINT_new(PyObject *self, PyObject *arg0) EC_POINT * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } @@ -17336,7 +17336,7 @@ _cffi_f_EC_POINT_new(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1207)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1207)); } #else # define _cffi_f_EC_POINT_new _cffi_d_EC_POINT_new @@ -17367,35 +17367,35 @@ _cffi_f_EC_POINT_oct2point(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg1, (char **)&x1); + _cffi_type(1207), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg2, (char **)&x2); + _cffi_type(103), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) return NULL; } @@ -17404,13 +17404,13 @@ _cffi_f_EC_POINT_oct2point(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -17454,38 +17454,38 @@ _cffi_f_EC_POINT_point2oct(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(244), arg1, (char **)&x1); + _cffi_type(244), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(244), arg1) < 0) return NULL; } - if (_cffi_to_c((char *)&x2, _cffi_type(2375), arg2) < 0) + if (_cffi_to_c((char *)&x2, _cffi_type(2375), arg2) < 0) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg3, (char **)&x3); + _cffi_type(752), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) return NULL; } @@ -17494,13 +17494,13 @@ _cffi_f_EC_POINT_point2oct(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg5, (char **)&x5); + _cffi_type(94), arg5, (char **)&x5); if (datasize != 0) { if (datasize < 0) return NULL; x5 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(94), arg5) < 0) + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(94), arg5) < 0) return NULL; } @@ -17542,57 +17542,57 @@ _cffi_f_EC_POINT_set_affine_coordinates_GF2m(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg1, (char **)&x1); + _cffi_type(1207), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg3, (char **)&x3); + _cffi_type(92), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -17634,57 +17634,57 @@ _cffi_f_EC_POINT_set_affine_coordinates_GFp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg1, (char **)&x1); + _cffi_type(1207), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg3, (char **)&x3); + _cffi_type(92), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(92), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -17726,35 +17726,35 @@ _cffi_f_EC_POINT_set_compressed_coordinates_GF2m(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg1, (char **)&x1); + _cffi_type(1207), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } @@ -17763,13 +17763,13 @@ _cffi_f_EC_POINT_set_compressed_coordinates_GF2m(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -17811,35 +17811,35 @@ _cffi_f_EC_POINT_set_compressed_coordinates_GFp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(238), arg0, (char **)&x0); + _cffi_type(238), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_GROUP const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(238), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1207), arg1, (char **)&x1); + _cffi_type(1207), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1207), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(92), arg2, (char **)&x2); + _cffi_type(92), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(92), arg2) < 0) return NULL; } @@ -17848,13 +17848,13 @@ _cffi_f_EC_POINT_set_compressed_coordinates_GFp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg4, (char **)&x4); + _cffi_type(94), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(94), arg4) < 0) return NULL; } @@ -17893,7 +17893,7 @@ _cffi_f_EC_curve_nid2nist(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_EC_curve_nid2nist _cffi_d_EC_curve_nid2nist @@ -17918,13 +17918,13 @@ _cffi_f_EC_get_builtin_curves(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2381), arg0, (char **)&x0); + _cffi_type(2381), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EC_builtin_curve *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2381), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2381), arg0) < 0) return NULL; } @@ -17958,13 +17958,13 @@ _cffi_f_ENGINE_by_id(PyObject *self, PyObject *arg0) ENGINE * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -17975,7 +17975,7 @@ _cffi_f_ENGINE_by_id(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(282)); + return _cffi_from_c_pointer((char *)result, _cffi_type(282)); } #else # define _cffi_f_ENGINE_by_id _cffi_d_ENGINE_by_id @@ -18008,24 +18008,24 @@ _cffi_f_ENGINE_ctrl_cmd(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg0, (char **)&x0); + _cffi_type(282), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ENGINE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -18034,17 +18034,17 @@ _cffi_f_ENGINE_ctrl_cmd(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } - x4 = (void(*)(void))_cffi_to_c_pointer(arg4, _cffi_type(1314)); + x4 = (void(*)(void))_cffi_to_c_pointer(arg4, _cffi_type(1314)); if (x4 == (void(*)(void))NULL && PyErr_Occurred()) return NULL; @@ -18065,78 +18065,78 @@ _cffi_f_ENGINE_ctrl_cmd(PyObject *self, PyObject *args) # define _cffi_f_ENGINE_ctrl_cmd _cffi_d_ENGINE_ctrl_cmd #endif -static int _cffi_d_ENGINE_ctrl_cmd_string(ENGINE * x0, char const * x1, char const * x2, int x3) -{ - return ENGINE_ctrl_cmd_string(x0, x1, x2, x3); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_ENGINE_ctrl_cmd_string(PyObject *self, PyObject *args) -{ - ENGINE * x0; - char const * x1; - char const * x2; - int x3; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - - if (!PyArg_UnpackTuple(args, "ENGINE_ctrl_cmd_string", 4, 4, &arg0, &arg1, &arg2, &arg3)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (ENGINE *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (char const *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(46), arg2) < 0) - return NULL; - } - - x3 = _cffi_to_c_int(arg3, int); - if (x3 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = ENGINE_ctrl_cmd_string(x0, x1, x2, x3); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_ENGINE_ctrl_cmd_string _cffi_d_ENGINE_ctrl_cmd_string -#endif - +static int _cffi_d_ENGINE_ctrl_cmd_string(ENGINE * x0, char const * x1, char const * x2, int x3) +{ + return ENGINE_ctrl_cmd_string(x0, x1, x2, x3); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_ENGINE_ctrl_cmd_string(PyObject *self, PyObject *args) +{ + ENGINE * x0; + char const * x1; + char const * x2; + int x3; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + + if (!PyArg_UnpackTuple(args, "ENGINE_ctrl_cmd_string", 4, 4, &arg0, &arg1, &arg2, &arg3)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(282), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (ENGINE *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (char const *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(46), arg2) < 0) + return NULL; + } + + x3 = _cffi_to_c_int(arg3, int); + if (x3 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = ENGINE_ctrl_cmd_string(x0, x1, x2, x3); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_ENGINE_ctrl_cmd_string _cffi_d_ENGINE_ctrl_cmd_string +#endif + static int _cffi_d_ENGINE_finish(ENGINE * x0) { return ENGINE_finish(x0); @@ -18150,13 +18150,13 @@ _cffi_f_ENGINE_finish(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg0, (char **)&x0); + _cffi_type(282), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ENGINE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) return NULL; } @@ -18186,13 +18186,13 @@ _cffi_f_ENGINE_free(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg0, (char **)&x0); + _cffi_type(282), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ENGINE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) return NULL; } @@ -18227,7 +18227,7 @@ _cffi_f_ENGINE_get_default_RAND(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(282)); + return _cffi_from_c_pointer((char *)result, _cffi_type(282)); } #else # define _cffi_f_ENGINE_get_default_RAND _cffi_d_ENGINE_get_default_RAND @@ -18246,13 +18246,13 @@ _cffi_f_ENGINE_get_name(PyObject *self, PyObject *arg0) char const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(723), arg0, (char **)&x0); + _cffi_type(723), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ENGINE const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(723), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(723), arg0) < 0) return NULL; } @@ -18263,7 +18263,7 @@ _cffi_f_ENGINE_get_name(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_ENGINE_get_name _cffi_d_ENGINE_get_name @@ -18282,13 +18282,13 @@ _cffi_f_ENGINE_init(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg0, (char **)&x0); + _cffi_type(282), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ENGINE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) return NULL; } @@ -18305,188 +18305,188 @@ _cffi_f_ENGINE_init(PyObject *self, PyObject *arg0) # define _cffi_f_ENGINE_init _cffi_d_ENGINE_init #endif -static void _cffi_d_ENGINE_load_builtin_engines(void) -{ - ENGINE_load_builtin_engines(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_ENGINE_load_builtin_engines(PyObject *self, PyObject *noarg) -{ - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { ENGINE_load_builtin_engines(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_ENGINE_load_builtin_engines _cffi_d_ENGINE_load_builtin_engines -#endif - -static EVP_PKEY * _cffi_d_ENGINE_load_private_key(ENGINE * x0, char const * x1, UI_METHOD * x2, void * x3) -{ - return ENGINE_load_private_key(x0, x1, x2, x3); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_ENGINE_load_private_key(PyObject *self, PyObject *args) -{ - ENGINE * x0; - char const * x1; - UI_METHOD * x2; - void * x3; - Py_ssize_t datasize; - EVP_PKEY * result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - - if (!PyArg_UnpackTuple(args, "ENGINE_load_private_key", 4, 4, &arg0, &arg1, &arg2, &arg3)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (ENGINE *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(284), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (UI_METHOD *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(284), arg2) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (void *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = ENGINE_load_private_key(x0, x1, x2, x3); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); -} -#else -# define _cffi_f_ENGINE_load_private_key _cffi_d_ENGINE_load_private_key -#endif - -static EVP_PKEY * _cffi_d_ENGINE_load_public_key(ENGINE * x0, char const * x1, UI_METHOD * x2, void * x3) -{ - return ENGINE_load_public_key(x0, x1, x2, x3); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_ENGINE_load_public_key(PyObject *self, PyObject *args) -{ - ENGINE * x0; - char const * x1; - UI_METHOD * x2; - void * x3; - Py_ssize_t datasize; - EVP_PKEY * result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - - if (!PyArg_UnpackTuple(args, "ENGINE_load_public_key", 4, 4, &arg0, &arg1, &arg2, &arg3)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (ENGINE *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(284), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (UI_METHOD *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(284), arg2) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (void *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = ENGINE_load_public_key(x0, x1, x2, x3); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); -} -#else -# define _cffi_f_ENGINE_load_public_key _cffi_d_ENGINE_load_public_key -#endif - +static void _cffi_d_ENGINE_load_builtin_engines(void) +{ + ENGINE_load_builtin_engines(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_ENGINE_load_builtin_engines(PyObject *self, PyObject *noarg) +{ + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { ENGINE_load_builtin_engines(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_ENGINE_load_builtin_engines _cffi_d_ENGINE_load_builtin_engines +#endif + +static EVP_PKEY * _cffi_d_ENGINE_load_private_key(ENGINE * x0, char const * x1, UI_METHOD * x2, void * x3) +{ + return ENGINE_load_private_key(x0, x1, x2, x3); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_ENGINE_load_private_key(PyObject *self, PyObject *args) +{ + ENGINE * x0; + char const * x1; + UI_METHOD * x2; + void * x3; + Py_ssize_t datasize; + EVP_PKEY * result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + + if (!PyArg_UnpackTuple(args, "ENGINE_load_private_key", 4, 4, &arg0, &arg1, &arg2, &arg3)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(282), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (ENGINE *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(284), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (UI_METHOD *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(284), arg2) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(193), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (void *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = ENGINE_load_private_key(x0, x1, x2, x3); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); +} +#else +# define _cffi_f_ENGINE_load_private_key _cffi_d_ENGINE_load_private_key +#endif + +static EVP_PKEY * _cffi_d_ENGINE_load_public_key(ENGINE * x0, char const * x1, UI_METHOD * x2, void * x3) +{ + return ENGINE_load_public_key(x0, x1, x2, x3); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_ENGINE_load_public_key(PyObject *self, PyObject *args) +{ + ENGINE * x0; + char const * x1; + UI_METHOD * x2; + void * x3; + Py_ssize_t datasize; + EVP_PKEY * result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + + if (!PyArg_UnpackTuple(args, "ENGINE_load_public_key", 4, 4, &arg0, &arg1, &arg2, &arg3)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(282), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (ENGINE *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(284), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (UI_METHOD *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(284), arg2) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(193), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (void *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = ENGINE_load_public_key(x0, x1, x2, x3); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); +} +#else +# define _cffi_f_ENGINE_load_public_key _cffi_d_ENGINE_load_public_key +#endif + static int _cffi_d_ENGINE_set_default_RAND(ENGINE * x0) { return ENGINE_set_default_RAND(x0); @@ -18500,13 +18500,13 @@ _cffi_f_ENGINE_set_default_RAND(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg0, (char **)&x0); + _cffi_type(282), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ENGINE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) return NULL; } @@ -18535,13 +18535,13 @@ _cffi_f_ENGINE_unregister_RAND(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg0, (char **)&x0); + _cffi_type(282), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ENGINE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(282), arg0) < 0) return NULL; } @@ -18691,13 +18691,13 @@ _cffi_f_ERR_error_string_n(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg1, (char **)&x1); + _cffi_type(409), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) return NULL; } @@ -18741,7 +18741,7 @@ _cffi_f_ERR_func_error_string(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_ERR_func_error_string _cffi_d_ERR_func_error_string @@ -18793,7 +18793,7 @@ _cffi_f_ERR_lib_error_string(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_ERR_lib_error_string _cffi_d_ERR_lib_error_string @@ -18883,13 +18883,13 @@ _cffi_f_ERR_put_error(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg3, (char **)&x3); + _cffi_type(46), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(46), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(46), arg3) < 0) return NULL; } @@ -18933,7 +18933,7 @@ _cffi_f_ERR_reason_error_string(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_ERR_reason_error_string _cffi_d_ERR_reason_error_string @@ -18952,13 +18952,13 @@ _cffi_f_EVP_CIPHER_CTX_cipher(PyObject *self, PyObject *arg0) EVP_CIPHER const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(259), arg0, (char **)&x0); + _cffi_type(259), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_CIPHER_CTX const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(259), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(259), arg0) < 0) return NULL; } @@ -18969,7 +18969,7 @@ _cffi_f_EVP_CIPHER_CTX_cipher(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(885)); + return _cffi_from_c_pointer((char *)result, _cffi_type(885)); } #else # define _cffi_f_EVP_CIPHER_CTX_cipher _cffi_d_EVP_CIPHER_CTX_cipher @@ -18988,13 +18988,13 @@ _cffi_f_EVP_CIPHER_CTX_cleanup(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1318), arg0, (char **)&x0); + _cffi_type(1318), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_CIPHER_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) return NULL; } @@ -19034,13 +19034,13 @@ _cffi_f_EVP_CIPHER_CTX_ctrl(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1318), arg0, (char **)&x0); + _cffi_type(1318), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_CIPHER_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) return NULL; } @@ -19053,13 +19053,13 @@ _cffi_f_EVP_CIPHER_CTX_ctrl(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -19088,13 +19088,13 @@ _cffi_f_EVP_CIPHER_CTX_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1318), arg0, (char **)&x0); + _cffi_type(1318), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_CIPHER_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) return NULL; } @@ -19130,7 +19130,7 @@ _cffi_f_EVP_CIPHER_CTX_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1318)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1318)); } #else # define _cffi_f_EVP_CIPHER_CTX_new _cffi_d_EVP_CIPHER_CTX_new @@ -19155,13 +19155,13 @@ _cffi_f_EVP_CIPHER_CTX_set_key_length(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1318), arg0, (char **)&x0); + _cffi_type(1318), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_CIPHER_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) return NULL; } @@ -19201,13 +19201,13 @@ _cffi_f_EVP_CIPHER_CTX_set_padding(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1318), arg0, (char **)&x0); + _cffi_type(1318), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_CIPHER_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) return NULL; } @@ -19249,35 +19249,35 @@ _cffi_f_EVP_CipherFinal_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1318), arg0, (char **)&x0); + _cffi_type(1318), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_CIPHER_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg2, (char **)&x2); + _cffi_type(1169), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (int *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1169), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1169), arg2) < 0) return NULL; } @@ -19321,57 +19321,57 @@ _cffi_f_EVP_CipherInit_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1318), arg0, (char **)&x0); + _cffi_type(1318), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_CIPHER_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(885), arg1, (char **)&x1); + _cffi_type(885), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_CIPHER const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(885), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(885), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg2, (char **)&x2); + _cffi_type(282), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (ENGINE *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(282), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(282), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg4, (char **)&x4); + _cffi_type(103), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(103), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(103), arg4) < 0) return NULL; } @@ -19417,46 +19417,46 @@ _cffi_f_EVP_CipherUpdate(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1318), arg0, (char **)&x0); + _cffi_type(1318), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_CIPHER_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1318), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg2, (char **)&x2); + _cffi_type(1169), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (int *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1169), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1169), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -19477,55 +19477,121 @@ _cffi_f_EVP_CipherUpdate(PyObject *self, PyObject *args) # define _cffi_f_EVP_CipherUpdate _cffi_d_EVP_CipherUpdate #endif -static int _cffi_d_EVP_DigestFinalXOF(EVP_MD_CTX * x0, unsigned char * x1, size_t x2) +static int _cffi_d_EVP_DigestFinalXOF(EVP_MD_CTX * x0, unsigned char * x1, size_t x2) +{ + return EVP_DigestFinalXOF(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_DigestFinalXOF(PyObject *self, PyObject *args) +{ + EVP_MD_CTX * x0; + unsigned char * x1; + size_t x2; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "EVP_DigestFinalXOF", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1351), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_MD_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(752), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, size_t); + if (x2 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_DigestFinalXOF(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EVP_DigestFinalXOF _cffi_d_EVP_DigestFinalXOF +#endif + +static int _cffi_d_EVP_DigestFinal_ex(EVP_MD_CTX * x0, unsigned char * x1, unsigned int * x2) { - return EVP_DigestFinalXOF(x0, x1, x2); + return EVP_DigestFinal_ex(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_DigestFinalXOF(PyObject *self, PyObject *args) +_cffi_f_EVP_DigestFinal_ex(PyObject *self, PyObject *args) { - EVP_MD_CTX * x0; + EVP_MD_CTX * x0; unsigned char * x1; - size_t x2; + unsigned int * x2; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - if (!PyArg_UnpackTuple(args, "EVP_DigestFinalXOF", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "EVP_DigestFinal_ex", 3, 3, &arg0, &arg1, &arg2)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_MD_CTX *)alloca((size_t)datasize); + x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } - x2 = _cffi_to_c_int(arg2, size_t); - if (x2 == (size_t)-1 && PyErr_Occurred()) - return NULL; + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1390), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (unsigned int *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1390), arg2) < 0) + return NULL; + } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_DigestFinalXOF(x0, x1, x2); } + { result = EVP_DigestFinal_ex(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -19533,65 +19599,65 @@ _cffi_f_EVP_DigestFinalXOF(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_DigestFinalXOF _cffi_d_EVP_DigestFinalXOF +# define _cffi_f_EVP_DigestFinal_ex _cffi_d_EVP_DigestFinal_ex #endif -static int _cffi_d_EVP_DigestFinal_ex(EVP_MD_CTX * x0, unsigned char * x1, unsigned int * x2) +static int _cffi_d_EVP_DigestInit_ex(EVP_MD_CTX * x0, EVP_MD const * x1, ENGINE * x2) { - return EVP_DigestFinal_ex(x0, x1, x2); + return EVP_DigestInit_ex(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_DigestFinal_ex(PyObject *self, PyObject *args) +_cffi_f_EVP_DigestInit_ex(PyObject *self, PyObject *args) { - EVP_MD_CTX * x0; - unsigned char * x1; - unsigned int * x2; + EVP_MD_CTX * x0; + EVP_MD const * x1; + ENGINE * x2; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - if (!PyArg_UnpackTuple(args, "EVP_DigestFinal_ex", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "EVP_DigestInit_ex", 3, 3, &arg0, &arg1, &arg2)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_MD_CTX *)alloca((size_t)datasize); + x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(354), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); + x1 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1390), arg2, (char **)&x2); + _cffi_type(282), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (unsigned int *)alloca((size_t)datasize); + x2 = (ENGINE *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1390), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(282), arg2) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_DigestFinal_ex(x0, x1, x2); } + { result = EVP_DigestInit_ex(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -19599,65 +19665,84 @@ _cffi_f_EVP_DigestFinal_ex(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_DigestFinal_ex _cffi_d_EVP_DigestFinal_ex +# define _cffi_f_EVP_DigestInit_ex _cffi_d_EVP_DigestInit_ex #endif -static int _cffi_d_EVP_DigestInit_ex(EVP_MD_CTX * x0, EVP_MD const * x1, ENGINE * x2) +static int _cffi_d_EVP_DigestSign(EVP_MD_CTX * x0, unsigned char * x1, size_t * x2, unsigned char const * x3, size_t x4) { - return EVP_DigestInit_ex(x0, x1, x2); + return EVP_DigestSign(x0, x1, x2, x3, x4); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_DigestInit_ex(PyObject *self, PyObject *args) +_cffi_f_EVP_DigestSign(PyObject *self, PyObject *args) { - EVP_MD_CTX * x0; - EVP_MD const * x1; - ENGINE * x2; + EVP_MD_CTX * x0; + unsigned char * x1; + size_t * x2; + unsigned char const * x3; + size_t x4; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; + PyObject *arg3; + PyObject *arg4; - if (!PyArg_UnpackTuple(args, "EVP_DigestInit_ex", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "EVP_DigestSign", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_MD_CTX *)alloca((size_t)datasize); + x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (EVP_MD const *)alloca((size_t)datasize); + x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg2, (char **)&x2); + _cffi_type(1037), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (ENGINE *)alloca((size_t)datasize); + x2 = (size_t *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(282), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) return NULL; } + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(103), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (unsigned char const *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + return NULL; + } + + x4 = _cffi_to_c_int(arg4, size_t); + if (x4 == (size_t)-1 && PyErr_Occurred()) + return NULL; + Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_DigestInit_ex(x0, x1, x2); } + { result = EVP_DigestSign(x0, x1, x2, x3, x4); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -19665,311 +19750,226 @@ _cffi_f_EVP_DigestInit_ex(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_DigestInit_ex _cffi_d_EVP_DigestInit_ex +# define _cffi_f_EVP_DigestSign _cffi_d_EVP_DigestSign #endif -static int _cffi_d_EVP_DigestSign(EVP_MD_CTX * x0, unsigned char * x1, size_t * x2, unsigned char const * x3, size_t x4) +static int _cffi_d_EVP_DigestSignFinal(EVP_MD_CTX * x0, unsigned char * x1, size_t * x2) { - return EVP_DigestSign(x0, x1, x2, x3, x4); + return EVP_DigestSignFinal(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_DigestSign(PyObject *self, PyObject *args) +_cffi_f_EVP_DigestSignFinal(PyObject *self, PyObject *args) { EVP_MD_CTX * x0; unsigned char * x1; - size_t * x2; - unsigned char const * x3; - size_t x4; + size_t * x2; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - PyObject *arg3; - PyObject *arg4; - if (!PyArg_UnpackTuple(args, "EVP_DigestSign", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "EVP_DigestSignFinal", 3, 3, &arg0, &arg1, &arg2)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); + _cffi_type(1037), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (size_t *)alloca((size_t)datasize); + x2 = (size_t *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (unsigned char const *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) - return NULL; - } - - x4 = _cffi_to_c_int(arg4, size_t); - if (x4 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_DigestSign(x0, x1, x2, x3, x4); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EVP_DigestSign _cffi_d_EVP_DigestSign -#endif - -static int _cffi_d_EVP_DigestSignFinal(EVP_MD_CTX * x0, unsigned char * x1, size_t * x2) -{ - return EVP_DigestSignFinal(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_DigestSignFinal(PyObject *self, PyObject *args) -{ - EVP_MD_CTX * x0; - unsigned char * x1; - size_t * x2; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - - if (!PyArg_UnpackTuple(args, "EVP_DigestSignFinal", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_MD_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (size_t *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_DigestSignFinal(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EVP_DigestSignFinal _cffi_d_EVP_DigestSignFinal -#endif - -static int _cffi_d_EVP_DigestSignInit(EVP_MD_CTX * x0, EVP_PKEY_CTX * * x1, EVP_MD const * x2, ENGINE * x3, EVP_PKEY * x4) -{ - return EVP_DigestSignInit(x0, x1, x2, x3, x4); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_DigestSignInit(PyObject *self, PyObject *args) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_DigestSignFinal(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EVP_DigestSignFinal _cffi_d_EVP_DigestSignFinal +#endif + +static int _cffi_d_EVP_DigestSignInit(EVP_MD_CTX * x0, EVP_PKEY_CTX * * x1, EVP_MD const * x2, ENGINE * x3, EVP_PKEY * x4) +{ + return EVP_DigestSignInit(x0, x1, x2, x3, x4); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_DigestSignInit(PyObject *self, PyObject *args) { EVP_MD_CTX * x0; - EVP_PKEY_CTX * * x1; - EVP_MD const * x2; - ENGINE * x3; - EVP_PKEY * x4; + EVP_PKEY_CTX * * x1; + EVP_MD const * x2; + ENGINE * x3; + EVP_PKEY * x4; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - PyObject *arg3; - PyObject *arg4; + PyObject *arg3; + PyObject *arg4; - if (!PyArg_UnpackTuple(args, "EVP_DigestSignInit", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "EVP_DigestSignInit", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1365), arg1, (char **)&x1); + _cffi_type(1365), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (EVP_PKEY_CTX * *)alloca((size_t)datasize); + x1 = (EVP_PKEY_CTX * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1365), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1365), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg2, (char **)&x2); + _cffi_type(354), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (EVP_MD const *)alloca((size_t)datasize); + x2 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (ENGINE *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(282), arg3) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg4, (char **)&x4); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x4 = (EVP_PKEY *)alloca((size_t)datasize); - memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(199), arg4) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_DigestSignInit(x0, x1, x2, x3, x4); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EVP_DigestSignInit _cffi_d_EVP_DigestSignInit -#endif - -static int _cffi_d_EVP_DigestSignUpdate(EVP_MD_CTX * x0, void const * x1, size_t x2) -{ - return EVP_DigestSignUpdate(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_DigestSignUpdate(PyObject *self, PyObject *args) -{ - EVP_MD_CTX * x0; - void const * x1; - size_t x2; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - - if (!PyArg_UnpackTuple(args, "EVP_DigestSignUpdate", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_MD_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (void const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, size_t); - if (x2 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_DigestSignUpdate(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EVP_DigestSignUpdate _cffi_d_EVP_DigestSignUpdate -#endif - + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(282), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (ENGINE *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(282), arg3) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(199), arg4, (char **)&x4); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x4 = (EVP_PKEY *)alloca((size_t)datasize); + memset((void *)x4, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(199), arg4) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_DigestSignInit(x0, x1, x2, x3, x4); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EVP_DigestSignInit _cffi_d_EVP_DigestSignInit +#endif + +static int _cffi_d_EVP_DigestSignUpdate(EVP_MD_CTX * x0, void const * x1, size_t x2) +{ + return EVP_DigestSignUpdate(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_DigestSignUpdate(PyObject *self, PyObject *args) +{ + EVP_MD_CTX * x0; + void const * x1; + size_t x2; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "EVP_DigestSignUpdate", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1351), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_MD_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(126), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (void const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, size_t); + if (x2 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_DigestSignUpdate(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EVP_DigestSignUpdate _cffi_d_EVP_DigestSignUpdate +#endif + static int _cffi_d_EVP_DigestUpdate(EVP_MD_CTX * x0, void const * x1, size_t x2) { return EVP_DigestUpdate(x0, x1, x2); @@ -19991,24 +19991,24 @@ _cffi_f_EVP_DigestUpdate(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); + _cffi_type(126), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) return NULL; } @@ -20029,74 +20029,74 @@ _cffi_f_EVP_DigestUpdate(PyObject *self, PyObject *args) # define _cffi_f_EVP_DigestUpdate _cffi_d_EVP_DigestUpdate #endif -static int _cffi_d_EVP_DigestVerify(EVP_MD_CTX * x0, unsigned char const * x1, size_t x2, unsigned char const * x3, size_t x4) +static int _cffi_d_EVP_DigestVerify(EVP_MD_CTX * x0, unsigned char const * x1, size_t x2, unsigned char const * x3, size_t x4) { - return EVP_DigestVerify(x0, x1, x2, x3, x4); + return EVP_DigestVerify(x0, x1, x2, x3, x4); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_DigestVerify(PyObject *self, PyObject *args) +_cffi_f_EVP_DigestVerify(PyObject *self, PyObject *args) { - EVP_MD_CTX * x0; - unsigned char const * x1; - size_t x2; - unsigned char const * x3; - size_t x4; + EVP_MD_CTX * x0; + unsigned char const * x1; + size_t x2; + unsigned char const * x3; + size_t x4; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - PyObject *arg3; - PyObject *arg4; + PyObject *arg3; + PyObject *arg4; - if (!PyArg_UnpackTuple(args, "EVP_DigestVerify", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "EVP_DigestVerify", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_MD_CTX *)alloca((size_t)datasize); + x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (unsigned char const *)alloca((size_t)datasize); + x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } - x2 = _cffi_to_c_int(arg2, size_t); - if (x2 == (size_t)-1 && PyErr_Occurred()) - return NULL; - + x2 = _cffi_to_c_int(arg2, size_t); + if (x2 == (size_t)-1 && PyErr_Occurred()) + return NULL; + datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; - x3 = (unsigned char const *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + x3 = (unsigned char const *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } - x4 = _cffi_to_c_int(arg4, size_t); - if (x4 == (size_t)-1 && PyErr_Occurred()) - return NULL; - + x4 = _cffi_to_c_int(arg4, size_t); + if (x4 == (size_t)-1 && PyErr_Occurred()) + return NULL; + Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_DigestVerify(x0, x1, x2, x3, x4); } + { result = EVP_DigestVerify(x0, x1, x2, x3, x4); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -20104,22 +20104,22 @@ _cffi_f_EVP_DigestVerify(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_DigestVerify _cffi_d_EVP_DigestVerify +# define _cffi_f_EVP_DigestVerify _cffi_d_EVP_DigestVerify #endif -static int _cffi_d_EVP_DigestVerifyInit(EVP_MD_CTX * x0, EVP_PKEY_CTX * * x1, EVP_MD const * x2, ENGINE * x3, EVP_PKEY * x4) +static int _cffi_d_EVP_DigestVerifyInit(EVP_MD_CTX * x0, EVP_PKEY_CTX * * x1, EVP_MD const * x2, ENGINE * x3, EVP_PKEY * x4) { - return EVP_DigestVerifyInit(x0, x1, x2, x3, x4); + return EVP_DigestVerifyInit(x0, x1, x2, x3, x4); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_DigestVerifyInit(PyObject *self, PyObject *args) +_cffi_f_EVP_DigestVerifyInit(PyObject *self, PyObject *args) { - EVP_MD_CTX * x0; - EVP_PKEY_CTX * * x1; - EVP_MD const * x2; - ENGINE * x3; - EVP_PKEY * x4; + EVP_MD_CTX * x0; + EVP_PKEY_CTX * * x1; + EVP_MD const * x2; + ENGINE * x3; + EVP_PKEY * x4; Py_ssize_t datasize; int result; PyObject *arg0; @@ -20128,67 +20128,67 @@ _cffi_f_EVP_DigestVerifyInit(PyObject *self, PyObject *args) PyObject *arg3; PyObject *arg4; - if (!PyArg_UnpackTuple(args, "EVP_DigestVerifyInit", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "EVP_DigestVerifyInit", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_MD_CTX *)alloca((size_t)datasize); + x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1365), arg1, (char **)&x1); + _cffi_type(1365), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (EVP_PKEY_CTX * *)alloca((size_t)datasize); + x1 = (EVP_PKEY_CTX * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1365), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1365), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg2, (char **)&x2); + _cffi_type(354), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (EVP_MD const *)alloca((size_t)datasize); + x2 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg3, (char **)&x3); + _cffi_type(282), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; - x3 = (ENGINE *)alloca((size_t)datasize); + x3 = (ENGINE *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(282), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(282), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg4, (char **)&x4); + _cffi_type(199), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; - x4 = (EVP_PKEY *)alloca((size_t)datasize); + x4 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(199), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(199), arg4) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_DigestVerifyInit(x0, x1, x2, x3, x4); } + { result = EVP_DigestVerifyInit(x0, x1, x2, x3, x4); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -20196,7 +20196,7 @@ _cffi_f_EVP_DigestVerifyInit(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_DigestVerifyInit _cffi_d_EVP_DigestVerifyInit +# define _cffi_f_EVP_DigestVerifyInit _cffi_d_EVP_DigestVerifyInit #endif static int _cffi_d_EVP_MD_CTX_copy_ex(EVP_MD_CTX * x0, EVP_MD_CTX const * x1) @@ -20218,24 +20218,24 @@ _cffi_f_EVP_MD_CTX_copy_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1361), arg1, (char **)&x1); + _cffi_type(1361), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_MD_CTX const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1361), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1361), arg1) < 0) return NULL; } @@ -20252,66 +20252,66 @@ _cffi_f_EVP_MD_CTX_copy_ex(PyObject *self, PyObject *args) # define _cffi_f_EVP_MD_CTX_copy_ex _cffi_d_EVP_MD_CTX_copy_ex #endif -static void _cffi_d_EVP_MD_CTX_free(EVP_MD_CTX * x0) -{ - EVP_MD_CTX_free(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_MD_CTX_free(PyObject *self, PyObject *arg0) -{ - EVP_MD_CTX * x0; - Py_ssize_t datasize; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_MD_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { EVP_MD_CTX_free(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_EVP_MD_CTX_free _cffi_d_EVP_MD_CTX_free -#endif - -static EVP_MD_CTX * _cffi_d_EVP_MD_CTX_new(void) -{ - return EVP_MD_CTX_new(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_MD_CTX_new(PyObject *self, PyObject *noarg) -{ - EVP_MD_CTX * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_MD_CTX_new(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1351)); -} -#else -# define _cffi_f_EVP_MD_CTX_new _cffi_d_EVP_MD_CTX_new -#endif - +static void _cffi_d_EVP_MD_CTX_free(EVP_MD_CTX * x0) +{ + EVP_MD_CTX_free(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_MD_CTX_free(PyObject *self, PyObject *arg0) +{ + EVP_MD_CTX * x0; + Py_ssize_t datasize; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1351), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_MD_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { EVP_MD_CTX_free(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_EVP_MD_CTX_free _cffi_d_EVP_MD_CTX_free +#endif + +static EVP_MD_CTX * _cffi_d_EVP_MD_CTX_new(void) +{ + return EVP_MD_CTX_new(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_MD_CTX_new(PyObject *self, PyObject *noarg) +{ + EVP_MD_CTX * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_MD_CTX_new(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(1351)); +} +#else +# define _cffi_f_EVP_MD_CTX_new _cffi_d_EVP_MD_CTX_new +#endif + static int _cffi_d_EVP_PBE_scrypt(char const * x0, size_t x1, unsigned char const * x2, size_t x3, uint64_t x4, uint64_t x5, uint64_t x6, uint64_t x7, unsigned char * x8, size_t x9) { return EVP_PBE_scrypt(x0, x1, x2, x3, x4, x5, x6, x7, x8, x9); @@ -20347,13 +20347,13 @@ _cffi_f_EVP_PBE_scrypt(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -20362,13 +20362,13 @@ _cffi_f_EVP_PBE_scrypt(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg2, (char **)&x2); + _cffi_type(103), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) return NULL; } @@ -20393,13 +20393,13 @@ _cffi_f_EVP_PBE_scrypt(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg8, (char **)&x8); + _cffi_type(752), arg8, (char **)&x8); if (datasize != 0) { if (datasize < 0) return NULL; x8 = (unsigned char *)alloca((size_t)datasize); memset((void *)x8, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x8, _cffi_type(752), arg8) < 0) + if (_cffi_convert_array_from_object((char *)x8, _cffi_type(752), arg8) < 0) return NULL; } @@ -20433,13 +20433,13 @@ _cffi_f_EVP_PKEY_CTX_dup(PyObject *self, PyObject *arg0) EVP_PKEY_CTX * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } @@ -20450,7 +20450,7 @@ _cffi_f_EVP_PKEY_CTX_dup(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(309)); + return _cffi_from_c_pointer((char *)result, _cffi_type(309)); } #else # define _cffi_f_EVP_PKEY_CTX_dup _cffi_d_EVP_PKEY_CTX_dup @@ -20468,13 +20468,13 @@ _cffi_f_EVP_PKEY_CTX_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } @@ -20511,24 +20511,24 @@ _cffi_f_EVP_PKEY_CTX_new(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg1, (char **)&x1); + _cffi_type(282), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ENGINE *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(282), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(282), arg1) < 0) return NULL; } @@ -20539,7 +20539,7 @@ _cffi_f_EVP_PKEY_CTX_new(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(309)); + return _cffi_from_c_pointer((char *)result, _cffi_type(309)); } #else # define _cffi_f_EVP_PKEY_CTX_new _cffi_d_EVP_PKEY_CTX_new @@ -20568,13 +20568,13 @@ _cffi_f_EVP_PKEY_CTX_new_id(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg1, (char **)&x1); + _cffi_type(282), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ENGINE *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(282), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(282), arg1) < 0) return NULL; } @@ -20585,71 +20585,71 @@ _cffi_f_EVP_PKEY_CTX_new_id(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(309)); + return _cffi_from_c_pointer((char *)result, _cffi_type(309)); } #else # define _cffi_f_EVP_PKEY_CTX_new_id _cffi_d_EVP_PKEY_CTX_new_id #endif -static int _cffi_d_EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX * x0, unsigned char * x1, int x2) -{ - return EVP_PKEY_CTX_set0_rsa_oaep_label(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_PKEY_CTX_set0_rsa_oaep_label(PyObject *self, PyObject *args) -{ - EVP_PKEY_CTX * x0; - unsigned char * x1; - int x2; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - - if (!PyArg_UnpackTuple(args, "EVP_PKEY_CTX_set0_rsa_oaep_label", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_PKEY_CTX_set0_rsa_oaep_label(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EVP_PKEY_CTX_set0_rsa_oaep_label _cffi_d_EVP_PKEY_CTX_set0_rsa_oaep_label -#endif - +static int _cffi_d_EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX * x0, unsigned char * x1, int x2) +{ + return EVP_PKEY_CTX_set0_rsa_oaep_label(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_PKEY_CTX_set0_rsa_oaep_label(PyObject *self, PyObject *args) +{ + EVP_PKEY_CTX * x0; + unsigned char * x1; + int x2; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "EVP_PKEY_CTX_set0_rsa_oaep_label", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(309), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(752), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_PKEY_CTX_set0_rsa_oaep_label(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EVP_PKEY_CTX_set0_rsa_oaep_label _cffi_d_EVP_PKEY_CTX_set0_rsa_oaep_label +#endif + static int _cffi_d_EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX * x0, EVP_MD * x1) { return EVP_PKEY_CTX_set_rsa_mgf1_md(x0, x1); @@ -20669,24 +20669,24 @@ _cffi_f_EVP_PKEY_CTX_set_rsa_mgf1_md(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1461), arg1, (char **)&x1); + _cffi_type(1461), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_MD *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1461), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1461), arg1) < 0) return NULL; } @@ -20722,24 +20722,24 @@ _cffi_f_EVP_PKEY_CTX_set_rsa_oaep_md(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1461), arg1, (char **)&x1); + _cffi_type(1461), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_MD *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1461), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1461), arg1) < 0) return NULL; } @@ -20775,13 +20775,13 @@ _cffi_f_EVP_PKEY_CTX_set_rsa_padding(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } @@ -20821,13 +20821,13 @@ _cffi_f_EVP_PKEY_CTX_set_rsa_pss_saltlen(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } @@ -20867,24 +20867,24 @@ _cffi_f_EVP_PKEY_CTX_set_signature_md(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg1, (char **)&x1); + _cffi_type(354), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) return NULL; } @@ -20901,49 +20901,49 @@ _cffi_f_EVP_PKEY_CTX_set_signature_md(PyObject *self, PyObject *args) # define _cffi_f_EVP_PKEY_CTX_set_signature_md _cffi_d_EVP_PKEY_CTX_set_signature_md #endif -static int _cffi_d_EVP_PKEY_assign_RSA(EVP_PKEY * x0, RSA * x1) +static int _cffi_d_EVP_PKEY_assign_RSA(EVP_PKEY * x0, RSA * x1) { - return EVP_PKEY_assign_RSA(x0, x1); + return EVP_PKEY_assign_RSA(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_assign_RSA(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_assign_RSA(PyObject *self, PyObject *args) { EVP_PKEY * x0; - RSA * x1; + RSA * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_assign_RSA", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "EVP_PKEY_assign_RSA", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg1, (char **)&x1); + _cffi_type(476), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (RSA *)alloca((size_t)datasize); + x1 = (RSA *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_assign_RSA(x0, x1); } + { result = EVP_PKEY_assign_RSA(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -20951,35 +20951,35 @@ _cffi_f_EVP_PKEY_assign_RSA(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_assign_RSA _cffi_d_EVP_PKEY_assign_RSA +# define _cffi_f_EVP_PKEY_assign_RSA _cffi_d_EVP_PKEY_assign_RSA #endif -static int _cffi_d_EVP_PKEY_bits(EVP_PKEY * x0) +static int _cffi_d_EVP_PKEY_bits(EVP_PKEY * x0) { - return EVP_PKEY_bits(x0); + return EVP_PKEY_bits(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_bits(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_bits(PyObject *self, PyObject *arg0) { EVP_PKEY * x0; Py_ssize_t datasize; int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_bits(x0); } + { result = EVP_PKEY_bits(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -20987,52 +20987,52 @@ _cffi_f_EVP_PKEY_bits(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_bits _cffi_d_EVP_PKEY_bits +# define _cffi_f_EVP_PKEY_bits _cffi_d_EVP_PKEY_bits #endif -static int _cffi_d_EVP_PKEY_cmp(EVP_PKEY const * x0, EVP_PKEY const * x1) +static int _cffi_d_EVP_PKEY_cmp(EVP_PKEY const * x0, EVP_PKEY const * x1) { - return EVP_PKEY_cmp(x0, x1); + return EVP_PKEY_cmp(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_cmp(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_cmp(PyObject *self, PyObject *args) { - EVP_PKEY const * x0; - EVP_PKEY const * x1; + EVP_PKEY const * x0; + EVP_PKEY const * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_cmp", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "EVP_PKEY_cmp", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1445), arg0, (char **)&x0); + _cffi_type(1445), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY const *)alloca((size_t)datasize); + x0 = (EVP_PKEY const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1445), arg1, (char **)&x1); + _cffi_type(1445), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (EVP_PKEY const *)alloca((size_t)datasize); + x1 = (EVP_PKEY const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1445), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1445), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_cmp(x0, x1); } + { result = EVP_PKEY_cmp(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21040,22 +21040,22 @@ _cffi_f_EVP_PKEY_cmp(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_cmp _cffi_d_EVP_PKEY_cmp +# define _cffi_f_EVP_PKEY_cmp _cffi_d_EVP_PKEY_cmp #endif -static int _cffi_d_EVP_PKEY_decrypt(EVP_PKEY_CTX * x0, unsigned char * x1, size_t * x2, unsigned char const * x3, size_t x4) +static int _cffi_d_EVP_PKEY_decrypt(EVP_PKEY_CTX * x0, unsigned char * x1, size_t * x2, unsigned char const * x3, size_t x4) { - return EVP_PKEY_decrypt(x0, x1, x2, x3, x4); + return EVP_PKEY_decrypt(x0, x1, x2, x3, x4); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_decrypt(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_decrypt(PyObject *self, PyObject *args) { - EVP_PKEY_CTX * x0; - unsigned char * x1; - size_t * x2; + EVP_PKEY_CTX * x0; + unsigned char * x1; + size_t * x2; unsigned char const * x3; - size_t x4; + size_t x4; Py_ssize_t datasize; int result; PyObject *arg0; @@ -21064,60 +21064,60 @@ _cffi_f_EVP_PKEY_decrypt(PyObject *self, PyObject *args) PyObject *arg3; PyObject *arg4; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_decrypt", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "EVP_PKEY_decrypt", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); + x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (size_t *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) - return NULL; - } + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1037), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (size_t *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) + return NULL; + } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } - x4 = _cffi_to_c_int(arg4, size_t); - if (x4 == (size_t)-1 && PyErr_Occurred()) + x4 = _cffi_to_c_int(arg4, size_t); + if (x4 == (size_t)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_decrypt(x0, x1, x2, x3, x4); } + { result = EVP_PKEY_decrypt(x0, x1, x2, x3, x4); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21125,35 +21125,35 @@ _cffi_f_EVP_PKEY_decrypt(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_decrypt _cffi_d_EVP_PKEY_decrypt +# define _cffi_f_EVP_PKEY_decrypt _cffi_d_EVP_PKEY_decrypt #endif -static int _cffi_d_EVP_PKEY_decrypt_init(EVP_PKEY_CTX * x0) +static int _cffi_d_EVP_PKEY_decrypt_init(EVP_PKEY_CTX * x0) { - return EVP_PKEY_decrypt_init(x0); + return EVP_PKEY_decrypt_init(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_decrypt_init(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_decrypt_init(PyObject *self, PyObject *arg0) { - EVP_PKEY_CTX * x0; + EVP_PKEY_CTX * x0; Py_ssize_t datasize; int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_decrypt_init(x0); } + { result = EVP_PKEY_decrypt_init(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21161,65 +21161,65 @@ _cffi_f_EVP_PKEY_decrypt_init(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_decrypt_init _cffi_d_EVP_PKEY_decrypt_init +# define _cffi_f_EVP_PKEY_decrypt_init _cffi_d_EVP_PKEY_decrypt_init #endif -static int _cffi_d_EVP_PKEY_derive(EVP_PKEY_CTX * x0, unsigned char * x1, size_t * x2) +static int _cffi_d_EVP_PKEY_derive(EVP_PKEY_CTX * x0, unsigned char * x1, size_t * x2) { - return EVP_PKEY_derive(x0, x1, x2); + return EVP_PKEY_derive(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_derive(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_derive(PyObject *self, PyObject *args) { - EVP_PKEY_CTX * x0; - unsigned char * x1; - size_t * x2; + EVP_PKEY_CTX * x0; + unsigned char * x1; + size_t * x2; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - PyObject *arg2; + PyObject *arg2; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_derive", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "EVP_PKEY_derive", 3, 3, &arg0, &arg1, &arg2)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); + x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); + _cffi_type(1037), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (size_t *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) + x2 = (size_t *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_derive(x0, x1, x2); } + { result = EVP_PKEY_derive(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21227,35 +21227,35 @@ _cffi_f_EVP_PKEY_derive(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_derive _cffi_d_EVP_PKEY_derive +# define _cffi_f_EVP_PKEY_derive _cffi_d_EVP_PKEY_derive #endif -static int _cffi_d_EVP_PKEY_derive_init(EVP_PKEY_CTX * x0) +static int _cffi_d_EVP_PKEY_derive_init(EVP_PKEY_CTX * x0) { - return EVP_PKEY_derive_init(x0); + return EVP_PKEY_derive_init(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_derive_init(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_derive_init(PyObject *self, PyObject *arg0) { - EVP_PKEY_CTX * x0; + EVP_PKEY_CTX * x0; Py_ssize_t datasize; int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_derive_init(x0); } + { result = EVP_PKEY_derive_init(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21263,52 +21263,52 @@ _cffi_f_EVP_PKEY_derive_init(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_derive_init _cffi_d_EVP_PKEY_derive_init +# define _cffi_f_EVP_PKEY_derive_init _cffi_d_EVP_PKEY_derive_init #endif -static int _cffi_d_EVP_PKEY_derive_set_peer(EVP_PKEY_CTX * x0, EVP_PKEY * x1) +static int _cffi_d_EVP_PKEY_derive_set_peer(EVP_PKEY_CTX * x0, EVP_PKEY * x1) { - return EVP_PKEY_derive_set_peer(x0, x1); + return EVP_PKEY_derive_set_peer(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_derive_set_peer(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_derive_set_peer(PyObject *self, PyObject *args) { - EVP_PKEY_CTX * x0; - EVP_PKEY * x1; + EVP_PKEY_CTX * x0; + EVP_PKEY * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_derive_set_peer", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "EVP_PKEY_derive_set_peer", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (EVP_PKEY *)alloca((size_t)datasize); + x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_derive_set_peer(x0, x1); } + { result = EVP_PKEY_derive_set_peer(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21316,16 +21316,16 @@ _cffi_f_EVP_PKEY_derive_set_peer(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_derive_set_peer _cffi_d_EVP_PKEY_derive_set_peer +# define _cffi_f_EVP_PKEY_derive_set_peer _cffi_d_EVP_PKEY_derive_set_peer #endif -static int _cffi_d_EVP_PKEY_encrypt(EVP_PKEY_CTX * x0, unsigned char * x1, size_t * x2, unsigned char const * x3, size_t x4) +static int _cffi_d_EVP_PKEY_encrypt(EVP_PKEY_CTX * x0, unsigned char * x1, size_t * x2, unsigned char const * x3, size_t x4) { - return EVP_PKEY_encrypt(x0, x1, x2, x3, x4); + return EVP_PKEY_encrypt(x0, x1, x2, x3, x4); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_encrypt(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_encrypt(PyObject *self, PyObject *args) { EVP_PKEY_CTX * x0; unsigned char * x1; @@ -21340,50 +21340,50 @@ _cffi_f_EVP_PKEY_encrypt(PyObject *self, PyObject *args) PyObject *arg3; PyObject *arg4; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_encrypt", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "EVP_PKEY_encrypt", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); + _cffi_type(1037), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (size_t *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -21393,7 +21393,7 @@ _cffi_f_EVP_PKEY_encrypt(PyObject *self, PyObject *args) Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_encrypt(x0, x1, x2, x3, x4); } + { result = EVP_PKEY_encrypt(x0, x1, x2, x3, x4); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21401,35 +21401,35 @@ _cffi_f_EVP_PKEY_encrypt(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_encrypt _cffi_d_EVP_PKEY_encrypt +# define _cffi_f_EVP_PKEY_encrypt _cffi_d_EVP_PKEY_encrypt #endif -static int _cffi_d_EVP_PKEY_encrypt_init(EVP_PKEY_CTX * x0) +static int _cffi_d_EVP_PKEY_encrypt_init(EVP_PKEY_CTX * x0) { - return EVP_PKEY_encrypt_init(x0); + return EVP_PKEY_encrypt_init(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_encrypt_init(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_encrypt_init(PyObject *self, PyObject *arg0) { EVP_PKEY_CTX * x0; Py_ssize_t datasize; int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_encrypt_init(x0); } + { result = EVP_PKEY_encrypt_init(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21437,453 +21437,453 @@ _cffi_f_EVP_PKEY_encrypt_init(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_encrypt_init _cffi_d_EVP_PKEY_encrypt_init +# define _cffi_f_EVP_PKEY_encrypt_init _cffi_d_EVP_PKEY_encrypt_init #endif -static void _cffi_d_EVP_PKEY_free(EVP_PKEY * x0) +static void _cffi_d_EVP_PKEY_free(EVP_PKEY * x0) { - EVP_PKEY_free(x0); + EVP_PKEY_free(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_free(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_free(PyObject *self, PyObject *arg0) { EVP_PKEY * x0; Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { EVP_PKEY_free(x0); } + { EVP_PKEY_free(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_EVP_PKEY_free _cffi_d_EVP_PKEY_free +# define _cffi_f_EVP_PKEY_free _cffi_d_EVP_PKEY_free #endif -static DH * _cffi_d_EVP_PKEY_get1_DH(EVP_PKEY * x0) +static DH * _cffi_d_EVP_PKEY_get1_DH(EVP_PKEY * x0) { - return EVP_PKEY_get1_DH(x0); + return EVP_PKEY_get1_DH(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_get1_DH(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_get1_DH(PyObject *self, PyObject *arg0) { - EVP_PKEY * x0; + EVP_PKEY * x0; Py_ssize_t datasize; - DH * result; + DH * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY *)alloca((size_t)datasize); + x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_get1_DH(x0); } + { result = EVP_PKEY_get1_DH(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(196)); + return _cffi_from_c_pointer((char *)result, _cffi_type(196)); } #else -# define _cffi_f_EVP_PKEY_get1_DH _cffi_d_EVP_PKEY_get1_DH +# define _cffi_f_EVP_PKEY_get1_DH _cffi_d_EVP_PKEY_get1_DH #endif -static DSA * _cffi_d_EVP_PKEY_get1_DSA(EVP_PKEY * x0) +static DSA * _cffi_d_EVP_PKEY_get1_DSA(EVP_PKEY * x0) { - return EVP_PKEY_get1_DSA(x0); + return EVP_PKEY_get1_DSA(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_get1_DSA(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_get1_DSA(PyObject *self, PyObject *arg0) { - EVP_PKEY * x0; + EVP_PKEY * x0; Py_ssize_t datasize; - DSA * result; + DSA * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY *)alloca((size_t)datasize); + x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_get1_DSA(x0); } + { result = EVP_PKEY_get1_DSA(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(212)); + return _cffi_from_c_pointer((char *)result, _cffi_type(212)); } #else -# define _cffi_f_EVP_PKEY_get1_DSA _cffi_d_EVP_PKEY_get1_DSA +# define _cffi_f_EVP_PKEY_get1_DSA _cffi_d_EVP_PKEY_get1_DSA #endif -static EC_KEY * _cffi_d_EVP_PKEY_get1_EC_KEY(EVP_PKEY * x0) +static EC_KEY * _cffi_d_EVP_PKEY_get1_EC_KEY(EVP_PKEY * x0) { - return EVP_PKEY_get1_EC_KEY(x0); + return EVP_PKEY_get1_EC_KEY(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_get1_EC_KEY(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_get1_EC_KEY(PyObject *self, PyObject *arg0) { EVP_PKEY * x0; Py_ssize_t datasize; - EC_KEY * result; + EC_KEY * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_get1_EC_KEY(x0); } + { result = EVP_PKEY_get1_EC_KEY(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(893)); + return _cffi_from_c_pointer((char *)result, _cffi_type(893)); } #else -# define _cffi_f_EVP_PKEY_get1_EC_KEY _cffi_d_EVP_PKEY_get1_EC_KEY +# define _cffi_f_EVP_PKEY_get1_EC_KEY _cffi_d_EVP_PKEY_get1_EC_KEY #endif -static RSA * _cffi_d_EVP_PKEY_get1_RSA(EVP_PKEY * x0) +static RSA * _cffi_d_EVP_PKEY_get1_RSA(EVP_PKEY * x0) { - return EVP_PKEY_get1_RSA(x0); + return EVP_PKEY_get1_RSA(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_get1_RSA(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_get1_RSA(PyObject *self, PyObject *arg0) { EVP_PKEY * x0; Py_ssize_t datasize; - RSA * result; + RSA * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_get1_RSA(x0); } + { result = EVP_PKEY_get1_RSA(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(476)); + return _cffi_from_c_pointer((char *)result, _cffi_type(476)); } #else -# define _cffi_f_EVP_PKEY_get1_RSA _cffi_d_EVP_PKEY_get1_RSA +# define _cffi_f_EVP_PKEY_get1_RSA _cffi_d_EVP_PKEY_get1_RSA #endif -static size_t _cffi_d_EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY * x0, unsigned char * * x1) +static size_t _cffi_d_EVP_PKEY_get1_tls_encodedpoint(EVP_PKEY * x0, unsigned char * * x1) { - return EVP_PKEY_get1_tls_encodedpoint(x0, x1); + return EVP_PKEY_get1_tls_encodedpoint(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_get1_tls_encodedpoint(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_get1_tls_encodedpoint(PyObject *self, PyObject *args) { EVP_PKEY * x0; - unsigned char * * x1; + unsigned char * * x1; Py_ssize_t datasize; - size_t result; - PyObject *arg0; - PyObject *arg1; + size_t result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "EVP_PKEY_get1_tls_encodedpoint", 2, 2, &arg0, &arg1)) + return NULL; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_get1_tls_encodedpoint", 2, 2, &arg0, &arg1)) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(802), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char * *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char * *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_get1_tls_encodedpoint(x0, x1); } + { result = EVP_PKEY_get1_tls_encodedpoint(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, size_t); + return _cffi_from_c_int(result, size_t); } #else -# define _cffi_f_EVP_PKEY_get1_tls_encodedpoint _cffi_d_EVP_PKEY_get1_tls_encodedpoint +# define _cffi_f_EVP_PKEY_get1_tls_encodedpoint _cffi_d_EVP_PKEY_get1_tls_encodedpoint #endif -static int _cffi_d_EVP_PKEY_get_raw_private_key(EVP_PKEY const * x0, unsigned char * x1, size_t * x2) +static int _cffi_d_EVP_PKEY_get_raw_private_key(EVP_PKEY const * x0, unsigned char * x1, size_t * x2) { - return EVP_PKEY_get_raw_private_key(x0, x1, x2); + return EVP_PKEY_get_raw_private_key(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_get_raw_private_key(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_get_raw_private_key(PyObject *self, PyObject *args) { - EVP_PKEY const * x0; - unsigned char * x1; - size_t * x2; + EVP_PKEY const * x0; + unsigned char * x1; + size_t * x2; Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "EVP_PKEY_get_raw_private_key", 3, 3, &arg0, &arg1, &arg2)) + return NULL; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_get_raw_private_key", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1445), arg0, (char **)&x0); + _cffi_type(1445), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY const *)alloca((size_t)datasize); + x0 = (EVP_PKEY const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(752), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1037), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (size_t *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (size_t *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_get_raw_private_key(x0, x1, x2); } + { result = EVP_PKEY_get_raw_private_key(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_get_raw_private_key _cffi_d_EVP_PKEY_get_raw_private_key +# define _cffi_f_EVP_PKEY_get_raw_private_key _cffi_d_EVP_PKEY_get_raw_private_key #endif -static int _cffi_d_EVP_PKEY_get_raw_public_key(EVP_PKEY const * x0, unsigned char * x1, size_t * x2) +static int _cffi_d_EVP_PKEY_get_raw_public_key(EVP_PKEY const * x0, unsigned char * x1, size_t * x2) { - return EVP_PKEY_get_raw_public_key(x0, x1, x2); + return EVP_PKEY_get_raw_public_key(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_get_raw_public_key(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_get_raw_public_key(PyObject *self, PyObject *args) { - EVP_PKEY const * x0; - unsigned char * x1; - size_t * x2; + EVP_PKEY const * x0; + unsigned char * x1; + size_t * x2; Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "EVP_PKEY_get_raw_public_key", 3, 3, &arg0, &arg1, &arg2)) + return NULL; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_get_raw_public_key", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1445), arg0, (char **)&x0); + _cffi_type(1445), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY const *)alloca((size_t)datasize); + x0 = (EVP_PKEY const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(752), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1037), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (size_t *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (size_t *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_get_raw_public_key(x0, x1, x2); } + { result = EVP_PKEY_get_raw_public_key(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_get_raw_public_key _cffi_d_EVP_PKEY_get_raw_public_key +# define _cffi_f_EVP_PKEY_get_raw_public_key _cffi_d_EVP_PKEY_get_raw_public_key #endif -static int _cffi_d_EVP_PKEY_id(EVP_PKEY const * x0) +static int _cffi_d_EVP_PKEY_id(EVP_PKEY const * x0) { - return EVP_PKEY_id(x0); + return EVP_PKEY_id(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_id(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_id(PyObject *self, PyObject *arg0) { EVP_PKEY const * x0; Py_ssize_t datasize; - int result; + int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1445), arg0, (char **)&x0); + _cffi_type(1445), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1445), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_id(x0); } + { result = EVP_PKEY_id(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_id _cffi_d_EVP_PKEY_id +# define _cffi_f_EVP_PKEY_id _cffi_d_EVP_PKEY_id #endif -static int _cffi_d_EVP_PKEY_keygen(EVP_PKEY_CTX * x0, EVP_PKEY * * x1) +static int _cffi_d_EVP_PKEY_keygen(EVP_PKEY_CTX * x0, EVP_PKEY * * x1) { - return EVP_PKEY_keygen(x0, x1); + return EVP_PKEY_keygen(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_keygen(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_keygen(PyObject *self, PyObject *args) { - EVP_PKEY_CTX * x0; - EVP_PKEY * * x1; + EVP_PKEY_CTX * x0; + EVP_PKEY * * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_keygen", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "EVP_PKEY_keygen", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(273), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (EVP_PKEY * *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) - return NULL; - } + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(273), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (EVP_PKEY * *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) + return NULL; + } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_keygen(x0, x1); } + { result = EVP_PKEY_keygen(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21891,35 +21891,35 @@ _cffi_f_EVP_PKEY_keygen(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_keygen _cffi_d_EVP_PKEY_keygen +# define _cffi_f_EVP_PKEY_keygen _cffi_d_EVP_PKEY_keygen #endif -static int _cffi_d_EVP_PKEY_keygen_init(EVP_PKEY_CTX * x0) +static int _cffi_d_EVP_PKEY_keygen_init(EVP_PKEY_CTX * x0) { - return EVP_PKEY_keygen_init(x0); + return EVP_PKEY_keygen_init(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_keygen_init(PyObject *self, PyObject *arg0) +_cffi_f_EVP_PKEY_keygen_init(PyObject *self, PyObject *arg0) { - EVP_PKEY_CTX * x0; + EVP_PKEY_CTX * x0; Py_ssize_t datasize; int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_keygen_init(x0); } + { result = EVP_PKEY_keygen_init(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -21927,161 +21927,161 @@ _cffi_f_EVP_PKEY_keygen_init(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_EVP_PKEY_keygen_init _cffi_d_EVP_PKEY_keygen_init +# define _cffi_f_EVP_PKEY_keygen_init _cffi_d_EVP_PKEY_keygen_init #endif -static EVP_PKEY * _cffi_d_EVP_PKEY_new(void) +static EVP_PKEY * _cffi_d_EVP_PKEY_new(void) { - return EVP_PKEY_new(); + return EVP_PKEY_new(); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_new(PyObject *self, PyObject *noarg) +_cffi_f_EVP_PKEY_new(PyObject *self, PyObject *noarg) { - EVP_PKEY * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_PKEY_new(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); -} -#else -# define _cffi_f_EVP_PKEY_new _cffi_d_EVP_PKEY_new -#endif - -static EVP_PKEY * _cffi_d_EVP_PKEY_new_raw_private_key(int x0, ENGINE * x1, unsigned char const * x2, size_t x3) -{ - return EVP_PKEY_new_raw_private_key(x0, x1, x2, x3); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_PKEY_new_raw_private_key(PyObject *self, PyObject *args) -{ - int x0; - ENGINE * x1; - unsigned char const * x2; - size_t x3; + EVP_PKEY * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_PKEY_new(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); +} +#else +# define _cffi_f_EVP_PKEY_new _cffi_d_EVP_PKEY_new +#endif + +static EVP_PKEY * _cffi_d_EVP_PKEY_new_raw_private_key(int x0, ENGINE * x1, unsigned char const * x2, size_t x3) +{ + return EVP_PKEY_new_raw_private_key(x0, x1, x2, x3); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_PKEY_new_raw_private_key(PyObject *self, PyObject *args) +{ + int x0; + ENGINE * x1; + unsigned char const * x2; + size_t x3; Py_ssize_t datasize; - EVP_PKEY * result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; + EVP_PKEY * result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + + if (!PyArg_UnpackTuple(args, "EVP_PKEY_new_raw_private_key", 4, 4, &arg0, &arg1, &arg2, &arg3)) + return NULL; + + x0 = _cffi_to_c_int(arg0, int); + if (x0 == (int)-1 && PyErr_Occurred()) + return NULL; - if (!PyArg_UnpackTuple(args, "EVP_PKEY_new_raw_private_key", 4, 4, &arg0, &arg1, &arg2, &arg3)) - return NULL; - - x0 = _cffi_to_c_int(arg0, int); - if (x0 == (int)-1 && PyErr_Occurred()) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg1, (char **)&x1); + _cffi_type(282), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (ENGINE *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(282), arg1) < 0) + x1 = (ENGINE *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(282), arg1) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (unsigned char const *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) - return NULL; - } - - x3 = _cffi_to_c_int(arg3, size_t); - if (x3 == (size_t)-1 && PyErr_Occurred()) - return NULL; - + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(103), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (unsigned char const *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) + return NULL; + } + + x3 = _cffi_to_c_int(arg3, size_t); + if (x3 == (size_t)-1 && PyErr_Occurred()) + return NULL; + Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = EVP_PKEY_new_raw_private_key(x0, x1, x2, x3); } + { result = EVP_PKEY_new_raw_private_key(x0, x1, x2, x3); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); } #else -# define _cffi_f_EVP_PKEY_new_raw_private_key _cffi_d_EVP_PKEY_new_raw_private_key +# define _cffi_f_EVP_PKEY_new_raw_private_key _cffi_d_EVP_PKEY_new_raw_private_key #endif -static EVP_PKEY * _cffi_d_EVP_PKEY_new_raw_public_key(int x0, ENGINE * x1, unsigned char const * x2, size_t x3) +static EVP_PKEY * _cffi_d_EVP_PKEY_new_raw_public_key(int x0, ENGINE * x1, unsigned char const * x2, size_t x3) { - return EVP_PKEY_new_raw_public_key(x0, x1, x2, x3); + return EVP_PKEY_new_raw_public_key(x0, x1, x2, x3); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_EVP_PKEY_new_raw_public_key(PyObject *self, PyObject *args) +_cffi_f_EVP_PKEY_new_raw_public_key(PyObject *self, PyObject *args) { - int x0; - ENGINE * x1; - unsigned char const * x2; - size_t x3; - Py_ssize_t datasize; + int x0; + ENGINE * x1; + unsigned char const * x2; + size_t x3; + Py_ssize_t datasize; EVP_PKEY * result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - - if (!PyArg_UnpackTuple(args, "EVP_PKEY_new_raw_public_key", 4, 4, &arg0, &arg1, &arg2, &arg3)) - return NULL; - - x0 = _cffi_to_c_int(arg0, int); - if (x0 == (int)-1 && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (ENGINE *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(282), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (unsigned char const *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) - return NULL; - } - - x3 = _cffi_to_c_int(arg3, size_t); - if (x3 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_PKEY_new_raw_public_key(x0, x1, x2, x3); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); -} -#else -# define _cffi_f_EVP_PKEY_new_raw_public_key _cffi_d_EVP_PKEY_new_raw_public_key + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + + if (!PyArg_UnpackTuple(args, "EVP_PKEY_new_raw_public_key", 4, 4, &arg0, &arg1, &arg2, &arg3)) + return NULL; + + x0 = _cffi_to_c_int(arg0, int); + if (x0 == (int)-1 && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(282), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (ENGINE *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(282), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(103), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (unsigned char const *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) + return NULL; + } + + x3 = _cffi_to_c_int(arg3, size_t); + if (x3 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_PKEY_new_raw_public_key(x0, x1, x2, x3); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); +} +#else +# define _cffi_f_EVP_PKEY_new_raw_public_key _cffi_d_EVP_PKEY_new_raw_public_key #endif static int _cffi_d_EVP_PKEY_set1_DH(EVP_PKEY * x0, DH * x1) @@ -22103,24 +22103,24 @@ _cffi_f_EVP_PKEY_set1_DH(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg1, (char **)&x1); + _cffi_type(196), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (DH *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) return NULL; } @@ -22156,24 +22156,24 @@ _cffi_f_EVP_PKEY_set1_DSA(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg1, (char **)&x1); + _cffi_type(212), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (DSA *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(212), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(212), arg1) < 0) return NULL; } @@ -22209,24 +22209,24 @@ _cffi_f_EVP_PKEY_set1_EC_KEY(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg1, (char **)&x1); + _cffi_type(893), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) return NULL; } @@ -22262,24 +22262,24 @@ _cffi_f_EVP_PKEY_set1_RSA(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg1, (char **)&x1); + _cffi_type(476), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (RSA *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) return NULL; } @@ -22296,111 +22296,111 @@ _cffi_f_EVP_PKEY_set1_RSA(PyObject *self, PyObject *args) # define _cffi_f_EVP_PKEY_set1_RSA _cffi_d_EVP_PKEY_set1_RSA #endif -static int _cffi_d_EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY * x0, unsigned char const * x1, size_t x2) -{ - return EVP_PKEY_set1_tls_encodedpoint(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_PKEY_set1_tls_encodedpoint(PyObject *self, PyObject *args) -{ - EVP_PKEY * x0; - unsigned char const * x1; - size_t x2; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - - if (!PyArg_UnpackTuple(args, "EVP_PKEY_set1_tls_encodedpoint", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_PKEY *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, size_t); - if (x2 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_PKEY_set1_tls_encodedpoint(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EVP_PKEY_set1_tls_encodedpoint _cffi_d_EVP_PKEY_set1_tls_encodedpoint -#endif - -static int _cffi_d_EVP_PKEY_set_type(EVP_PKEY * x0, int x1) -{ - return EVP_PKEY_set_type(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_PKEY_set_type(PyObject *self, PyObject *args) -{ - EVP_PKEY * x0; - int x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "EVP_PKEY_set_type", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_PKEY *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_PKEY_set_type(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EVP_PKEY_set_type _cffi_d_EVP_PKEY_set_type -#endif - +static int _cffi_d_EVP_PKEY_set1_tls_encodedpoint(EVP_PKEY * x0, unsigned char const * x1, size_t x2) +{ + return EVP_PKEY_set1_tls_encodedpoint(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_PKEY_set1_tls_encodedpoint(PyObject *self, PyObject *args) +{ + EVP_PKEY * x0; + unsigned char const * x1; + size_t x2; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "EVP_PKEY_set1_tls_encodedpoint", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(199), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_PKEY *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(103), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, size_t); + if (x2 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_PKEY_set1_tls_encodedpoint(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EVP_PKEY_set1_tls_encodedpoint _cffi_d_EVP_PKEY_set1_tls_encodedpoint +#endif + +static int _cffi_d_EVP_PKEY_set_type(EVP_PKEY * x0, int x1) +{ + return EVP_PKEY_set_type(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_PKEY_set_type(PyObject *self, PyObject *args) +{ + EVP_PKEY * x0; + int x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "EVP_PKEY_set_type", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(199), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_PKEY *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_PKEY_set_type(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EVP_PKEY_set_type _cffi_d_EVP_PKEY_set_type +#endif + static int _cffi_d_EVP_PKEY_sign(EVP_PKEY_CTX * x0, unsigned char * x1, size_t * x2, unsigned char const * x3, size_t x4) { return EVP_PKEY_sign(x0, x1, x2, x3, x4); @@ -22426,46 +22426,46 @@ _cffi_f_EVP_PKEY_sign(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); + _cffi_type(1037), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (size_t *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -22499,13 +22499,13 @@ _cffi_f_EVP_PKEY_sign_init(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } @@ -22535,13 +22535,13 @@ _cffi_f_EVP_PKEY_size(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg0, (char **)&x0); + _cffi_type(199), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(199), arg0) < 0) return NULL; } @@ -22611,24 +22611,24 @@ _cffi_f_EVP_PKEY_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -22637,13 +22637,13 @@ _cffi_f_EVP_PKEY_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -22677,13 +22677,13 @@ _cffi_f_EVP_PKEY_verify_init(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); + _cffi_type(309), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) return NULL; } @@ -22700,127 +22700,127 @@ _cffi_f_EVP_PKEY_verify_init(PyObject *self, PyObject *arg0) # define _cffi_f_EVP_PKEY_verify_init _cffi_d_EVP_PKEY_verify_init #endif -static int _cffi_d_EVP_PKEY_verify_recover(EVP_PKEY_CTX * x0, unsigned char * x1, size_t * x2, unsigned char const * x3, size_t x4) -{ - return EVP_PKEY_verify_recover(x0, x1, x2, x3, x4); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_PKEY_verify_recover(PyObject *self, PyObject *args) -{ - EVP_PKEY_CTX * x0; - unsigned char * x1; - size_t * x2; - unsigned char const * x3; - size_t x4; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - PyObject *arg4; - - if (!PyArg_UnpackTuple(args, "EVP_PKEY_verify_recover", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (size_t *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (unsigned char const *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) - return NULL; - } - - x4 = _cffi_to_c_int(arg4, size_t); - if (x4 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_PKEY_verify_recover(x0, x1, x2, x3, x4); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EVP_PKEY_verify_recover _cffi_d_EVP_PKEY_verify_recover -#endif - -static int _cffi_d_EVP_PKEY_verify_recover_init(EVP_PKEY_CTX * x0) -{ - return EVP_PKEY_verify_recover_init(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_EVP_PKEY_verify_recover_init(PyObject *self, PyObject *arg0) -{ - EVP_PKEY_CTX * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(309), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = EVP_PKEY_verify_recover_init(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_EVP_PKEY_verify_recover_init _cffi_d_EVP_PKEY_verify_recover_init -#endif - +static int _cffi_d_EVP_PKEY_verify_recover(EVP_PKEY_CTX * x0, unsigned char * x1, size_t * x2, unsigned char const * x3, size_t x4) +{ + return EVP_PKEY_verify_recover(x0, x1, x2, x3, x4); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_PKEY_verify_recover(PyObject *self, PyObject *args) +{ + EVP_PKEY_CTX * x0; + unsigned char * x1; + size_t * x2; + unsigned char const * x3; + size_t x4; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + PyObject *arg4; + + if (!PyArg_UnpackTuple(args, "EVP_PKEY_verify_recover", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(309), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(752), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1037), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (size_t *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1037), arg2) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(103), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (unsigned char const *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + return NULL; + } + + x4 = _cffi_to_c_int(arg4, size_t); + if (x4 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_PKEY_verify_recover(x0, x1, x2, x3, x4); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EVP_PKEY_verify_recover _cffi_d_EVP_PKEY_verify_recover +#endif + +static int _cffi_d_EVP_PKEY_verify_recover_init(EVP_PKEY_CTX * x0) +{ + return EVP_PKEY_verify_recover_init(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_EVP_PKEY_verify_recover_init(PyObject *self, PyObject *arg0) +{ + EVP_PKEY_CTX * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(309), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_PKEY_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(309), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = EVP_PKEY_verify_recover_init(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_EVP_PKEY_verify_recover_init _cffi_d_EVP_PKEY_verify_recover_init +#endif + static int _cffi_d_EVP_SignFinal(EVP_MD_CTX * x0, unsigned char * x1, unsigned int * x2, EVP_PKEY * x3) { return EVP_SignFinal(x0, x1, x2, x3); @@ -22844,46 +22844,46 @@ _cffi_f_EVP_SignFinal(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1390), arg2, (char **)&x2); + _cffi_type(1390), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned int *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1390), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1390), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg3, (char **)&x3); + _cffi_type(199), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(199), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(199), arg3) < 0) return NULL; } @@ -22919,24 +22919,24 @@ _cffi_f_EVP_SignInit(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg1, (char **)&x1); + _cffi_type(354), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) return NULL; } @@ -22974,24 +22974,24 @@ _cffi_f_EVP_SignUpdate(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); + _cffi_type(126), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) return NULL; } @@ -23035,24 +23035,24 @@ _cffi_f_EVP_VerifyFinal(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -23061,13 +23061,13 @@ _cffi_f_EVP_VerifyFinal(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg3, (char **)&x3); + _cffi_type(199), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(199), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(199), arg3) < 0) return NULL; } @@ -23103,24 +23103,24 @@ _cffi_f_EVP_VerifyInit(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg1, (char **)&x1); + _cffi_type(354), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) return NULL; } @@ -23158,24 +23158,24 @@ _cffi_f_EVP_VerifyUpdate(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1351), arg0, (char **)&x0); + _cffi_type(1351), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (EVP_MD_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1351), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); + _cffi_type(126), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) return NULL; } @@ -23209,13 +23209,13 @@ _cffi_f_EVP_get_cipherbyname(PyObject *self, PyObject *arg0) EVP_CIPHER const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -23226,7 +23226,7 @@ _cffi_f_EVP_get_cipherbyname(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(885)); + return _cffi_from_c_pointer((char *)result, _cffi_type(885)); } #else # define _cffi_f_EVP_get_cipherbyname _cffi_d_EVP_get_cipherbyname @@ -23245,13 +23245,13 @@ _cffi_f_EVP_get_digestbyname(PyObject *self, PyObject *arg0) EVP_MD const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -23262,62 +23262,62 @@ _cffi_f_EVP_get_digestbyname(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(354)); + return _cffi_from_c_pointer((char *)result, _cffi_type(354)); } #else # define _cffi_f_EVP_get_digestbyname _cffi_d_EVP_get_digestbyname #endif -static int _cffi_d_FIPS_mode(void) +static int _cffi_d_FIPS_mode(void) { - return FIPS_mode(); + return FIPS_mode(); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_FIPS_mode(PyObject *self, PyObject *noarg) +_cffi_f_FIPS_mode(PyObject *self, PyObject *noarg) { - int result; + int result; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = FIPS_mode(); } + { result = FIPS_mode(); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_FIPS_mode _cffi_d_FIPS_mode +# define _cffi_f_FIPS_mode _cffi_d_FIPS_mode #endif -static int _cffi_d_FIPS_mode_set(int x0) +static int _cffi_d_FIPS_mode_set(int x0) { - return FIPS_mode_set(x0); + return FIPS_mode_set(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_FIPS_mode_set(PyObject *self, PyObject *arg0) +_cffi_f_FIPS_mode_set(PyObject *self, PyObject *arg0) { - int x0; - int result; + int x0; + int result; - x0 = _cffi_to_c_int(arg0, int); - if (x0 == (int)-1 && PyErr_Occurred()) - return NULL; + x0 = _cffi_to_c_int(arg0, int); + if (x0 == (int)-1 && PyErr_Occurred()) + return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = FIPS_mode_set(x0); } + { result = FIPS_mode_set(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_FIPS_mode_set _cffi_d_FIPS_mode_set +# define _cffi_f_FIPS_mode_set _cffi_d_FIPS_mode_set #endif static void _cffi_d_GENERAL_NAMES_free(GENERAL_NAMES * x0) @@ -23332,13 +23332,13 @@ _cffi_f_GENERAL_NAMES_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(316), arg0, (char **)&x0); + _cffi_type(316), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (GENERAL_NAMES *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) return NULL; } @@ -23374,7 +23374,7 @@ _cffi_f_GENERAL_NAMES_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(316)); + return _cffi_from_c_pointer((char *)result, _cffi_type(316)); } #else # define _cffi_f_GENERAL_NAMES_new _cffi_d_GENERAL_NAMES_new @@ -23392,13 +23392,13 @@ _cffi_f_GENERAL_NAME_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(928), arg0, (char **)&x0); + _cffi_type(928), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (GENERAL_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(928), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(928), arg0) < 0) return NULL; } @@ -23434,7 +23434,7 @@ _cffi_f_GENERAL_NAME_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(928)); + return _cffi_from_c_pointer((char *)result, _cffi_type(928)); } #else # define _cffi_f_GENERAL_NAME_new _cffi_d_GENERAL_NAME_new @@ -23459,24 +23459,24 @@ _cffi_f_GENERAL_NAME_print(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(928), arg1, (char **)&x1); + _cffi_type(928), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (GENERAL_NAME *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(928), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(928), arg1) < 0) return NULL; } @@ -23511,7 +23511,7 @@ _cffi_f_GENERAL_SUBTREE_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1084)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1084)); } #else # define _cffi_f_GENERAL_SUBTREE_new _cffi_d_GENERAL_SUBTREE_new @@ -23536,24 +23536,24 @@ _cffi_f_HMAC_CTX_copy(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1515), arg0, (char **)&x0); + _cffi_type(1515), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (HMAC_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1515), arg1, (char **)&x1); + _cffi_type(1515), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (HMAC_CTX *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1515), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1515), arg1) < 0) return NULL; } @@ -23570,66 +23570,66 @@ _cffi_f_HMAC_CTX_copy(PyObject *self, PyObject *args) # define _cffi_f_HMAC_CTX_copy _cffi_d_HMAC_CTX_copy #endif -static void _cffi_d_HMAC_CTX_free(HMAC_CTX * x0) -{ - HMAC_CTX_free(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_HMAC_CTX_free(PyObject *self, PyObject *arg0) -{ - HMAC_CTX * x0; - Py_ssize_t datasize; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1515), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (HMAC_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { HMAC_CTX_free(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_HMAC_CTX_free _cffi_d_HMAC_CTX_free -#endif - -static HMAC_CTX * _cffi_d_HMAC_CTX_new(void) -{ - return HMAC_CTX_new(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_HMAC_CTX_new(PyObject *self, PyObject *noarg) -{ - HMAC_CTX * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = HMAC_CTX_new(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1515)); -} -#else -# define _cffi_f_HMAC_CTX_new _cffi_d_HMAC_CTX_new -#endif - +static void _cffi_d_HMAC_CTX_free(HMAC_CTX * x0) +{ + HMAC_CTX_free(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_HMAC_CTX_free(PyObject *self, PyObject *arg0) +{ + HMAC_CTX * x0; + Py_ssize_t datasize; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1515), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (HMAC_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { HMAC_CTX_free(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_HMAC_CTX_free _cffi_d_HMAC_CTX_free +#endif + +static HMAC_CTX * _cffi_d_HMAC_CTX_new(void) +{ + return HMAC_CTX_new(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_HMAC_CTX_new(PyObject *self, PyObject *noarg) +{ + HMAC_CTX * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = HMAC_CTX_new(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(1515)); +} +#else +# define _cffi_f_HMAC_CTX_new _cffi_d_HMAC_CTX_new +#endif + static int _cffi_d_HMAC_Final(HMAC_CTX * x0, unsigned char * x1, unsigned int * x2) { return HMAC_Final(x0, x1, x2); @@ -23651,35 +23651,35 @@ _cffi_f_HMAC_Final(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1515), arg0, (char **)&x0); + _cffi_type(1515), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (HMAC_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1390), arg2, (char **)&x2); + _cffi_type(1390), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned int *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1390), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1390), arg2) < 0) return NULL; } @@ -23721,24 +23721,24 @@ _cffi_f_HMAC_Init_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1515), arg0, (char **)&x0); + _cffi_type(1515), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (HMAC_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); + _cffi_type(126), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) return NULL; } @@ -23747,24 +23747,24 @@ _cffi_f_HMAC_Init_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg3, (char **)&x3); + _cffi_type(354), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(354), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(354), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(282), arg4, (char **)&x4); + _cffi_type(282), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (ENGINE *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(282), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(282), arg4) < 0) return NULL; } @@ -23802,24 +23802,24 @@ _cffi_f_HMAC_Update(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1515), arg0, (char **)&x0); + _cffi_type(1515), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (HMAC_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1515), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -23840,66 +23840,66 @@ _cffi_f_HMAC_Update(PyObject *self, PyObject *args) # define _cffi_f_HMAC_Update _cffi_d_HMAC_Update #endif -static void _cffi_d_ISSUING_DIST_POINT_free(ISSUING_DIST_POINT * x0) +static void _cffi_d_ISSUING_DIST_POINT_free(ISSUING_DIST_POINT * x0) { - ISSUING_DIST_POINT_free(x0); + ISSUING_DIST_POINT_free(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_ISSUING_DIST_POINT_free(PyObject *self, PyObject *arg0) +_cffi_f_ISSUING_DIST_POINT_free(PyObject *self, PyObject *arg0) { - ISSUING_DIST_POINT * x0; + ISSUING_DIST_POINT * x0; Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2702), arg0, (char **)&x0); + _cffi_type(2702), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (ISSUING_DIST_POINT *)alloca((size_t)datasize); + x0 = (ISSUING_DIST_POINT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2702), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2702), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { ISSUING_DIST_POINT_free(x0); } + { ISSUING_DIST_POINT_free(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_ISSUING_DIST_POINT_free _cffi_d_ISSUING_DIST_POINT_free +#endif + +static ISSUING_DIST_POINT * _cffi_d_ISSUING_DIST_POINT_new(void) +{ + return ISSUING_DIST_POINT_new(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_ISSUING_DIST_POINT_new(PyObject *self, PyObject *noarg) +{ + ISSUING_DIST_POINT * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = ISSUING_DIST_POINT_new(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(2702)); } #else -# define _cffi_f_ISSUING_DIST_POINT_free _cffi_d_ISSUING_DIST_POINT_free +# define _cffi_f_ISSUING_DIST_POINT_new _cffi_d_ISSUING_DIST_POINT_new #endif -static ISSUING_DIST_POINT * _cffi_d_ISSUING_DIST_POINT_new(void) -{ - return ISSUING_DIST_POINT_new(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_ISSUING_DIST_POINT_new(PyObject *self, PyObject *noarg) -{ - ISSUING_DIST_POINT * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = ISSUING_DIST_POINT_new(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2702)); -} -#else -# define _cffi_f_ISSUING_DIST_POINT_new _cffi_d_ISSUING_DIST_POINT_new -#endif - static void _cffi_d_NAME_CONSTRAINTS_free(NAME_CONSTRAINTS * x0) { NAME_CONSTRAINTS_free(x0); @@ -23912,13 +23912,13 @@ _cffi_f_NAME_CONSTRAINTS_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2705), arg0, (char **)&x0); + _cffi_type(2705), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (NAME_CONSTRAINTS *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2705), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2705), arg0) < 0) return NULL; } @@ -23954,7 +23954,7 @@ _cffi_f_NAME_CONSTRAINTS_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2705)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2705)); } #else # define _cffi_f_NAME_CONSTRAINTS_new _cffi_d_NAME_CONSTRAINTS_new @@ -23979,13 +23979,13 @@ _cffi_f_NETSCAPE_SPKI_b64_decode(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -24000,7 +24000,7 @@ _cffi_f_NETSCAPE_SPKI_b64_decode(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(288)); + return _cffi_from_c_pointer((char *)result, _cffi_type(288)); } #else # define _cffi_f_NETSCAPE_SPKI_b64_decode _cffi_d_NETSCAPE_SPKI_b64_decode @@ -24019,13 +24019,13 @@ _cffi_f_NETSCAPE_SPKI_b64_encode(PyObject *self, PyObject *arg0) char * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(288), arg0, (char **)&x0); + _cffi_type(288), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (NETSCAPE_SPKI *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) return NULL; } @@ -24036,7 +24036,7 @@ _cffi_f_NETSCAPE_SPKI_b64_encode(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(409)); + return _cffi_from_c_pointer((char *)result, _cffi_type(409)); } #else # define _cffi_f_NETSCAPE_SPKI_b64_encode _cffi_d_NETSCAPE_SPKI_b64_encode @@ -24054,13 +24054,13 @@ _cffi_f_NETSCAPE_SPKI_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(288), arg0, (char **)&x0); + _cffi_type(288), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (NETSCAPE_SPKI *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) return NULL; } @@ -24091,13 +24091,13 @@ _cffi_f_NETSCAPE_SPKI_get_pubkey(PyObject *self, PyObject *arg0) EVP_PKEY * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(288), arg0, (char **)&x0); + _cffi_type(288), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (NETSCAPE_SPKI *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) return NULL; } @@ -24108,7 +24108,7 @@ _cffi_f_NETSCAPE_SPKI_get_pubkey(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); } #else # define _cffi_f_NETSCAPE_SPKI_get_pubkey _cffi_d_NETSCAPE_SPKI_get_pubkey @@ -24132,7 +24132,7 @@ _cffi_f_NETSCAPE_SPKI_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(288)); + return _cffi_from_c_pointer((char *)result, _cffi_type(288)); } #else # define _cffi_f_NETSCAPE_SPKI_new _cffi_d_NETSCAPE_SPKI_new @@ -24157,24 +24157,24 @@ _cffi_f_NETSCAPE_SPKI_set_pubkey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(288), arg0, (char **)&x0); + _cffi_type(288), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (NETSCAPE_SPKI *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -24212,35 +24212,35 @@ _cffi_f_NETSCAPE_SPKI_sign(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(288), arg0, (char **)&x0); + _cffi_type(288), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (NETSCAPE_SPKI *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg2, (char **)&x2); + _cffi_type(354), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) return NULL; } @@ -24276,24 +24276,24 @@ _cffi_f_NETSCAPE_SPKI_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(288), arg0, (char **)&x0); + _cffi_type(288), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (NETSCAPE_SPKI *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(288), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -24322,13 +24322,13 @@ _cffi_f_NOTICEREF_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2711), arg0, (char **)&x0); + _cffi_type(2711), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (NOTICEREF *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2711), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2711), arg0) < 0) return NULL; } @@ -24364,7 +24364,7 @@ _cffi_f_NOTICEREF_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2711)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2711)); } #else # define _cffi_f_NOTICEREF_new _cffi_d_NOTICEREF_new @@ -24392,7 +24392,7 @@ _cffi_f_OBJ_nid2ln(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_OBJ_nid2ln _cffi_d_OBJ_nid2ln @@ -24420,7 +24420,7 @@ _cffi_f_OBJ_nid2sn(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_OBJ_nid2sn _cffi_d_OBJ_nid2sn @@ -24439,13 +24439,13 @@ _cffi_f_OBJ_obj2nid(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(765), arg0, (char **)&x0); + _cffi_type(765), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_OBJECT const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(765), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(765), arg0) < 0) return NULL; } @@ -24485,13 +24485,13 @@ _cffi_f_OBJ_obj2txt(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg0, (char **)&x0); + _cffi_type(409), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(409), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(409), arg0) < 0) return NULL; } @@ -24500,13 +24500,13 @@ _cffi_f_OBJ_obj2txt(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(765), arg2, (char **)&x2); + _cffi_type(765), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (ASN1_OBJECT const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(765), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(765), arg2) < 0) return NULL; } @@ -24540,13 +24540,13 @@ _cffi_f_OBJ_sn2nid(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -24576,13 +24576,13 @@ _cffi_f_OBJ_txt2nid(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -24618,13 +24618,13 @@ _cffi_f_OBJ_txt2obj(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -24639,61 +24639,61 @@ _cffi_f_OBJ_txt2obj(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(607)); + return _cffi_from_c_pointer((char *)result, _cffi_type(607)); } #else # define _cffi_f_OBJ_txt2obj _cffi_d_OBJ_txt2obj #endif -static int _cffi_d_OCSP_BASICRESP_add_ext(OCSP_BASICRESP * x0, X509_EXTENSION * x1, int x2) +static int _cffi_d_OCSP_BASICRESP_add_ext(OCSP_BASICRESP * x0, X509_EXTENSION * x1, int x2) { - return OCSP_BASICRESP_add_ext(x0, x1, x2); + return OCSP_BASICRESP_add_ext(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_OCSP_BASICRESP_add_ext(PyObject *self, PyObject *args) +_cffi_f_OCSP_BASICRESP_add_ext(PyObject *self, PyObject *args) { OCSP_BASICRESP * x0; - X509_EXTENSION * x1; - int x2; + X509_EXTENSION * x1; + int x2; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - if (!PyArg_UnpackTuple(args, "OCSP_BASICRESP_add_ext", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "OCSP_BASICRESP_add_ext", 3, 3, &arg0, &arg1, &arg2)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg0, (char **)&x0); + _cffi_type(387), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg1, (char **)&x1); + _cffi_type(40), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (X509_EXTENSION *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) + x1 = (X509_EXTENSION *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) return NULL; } - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = OCSP_BASICRESP_add_ext(x0, x1, x2); } + { result = OCSP_BASICRESP_add_ext(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -24701,7 +24701,7 @@ _cffi_f_OCSP_BASICRESP_add_ext(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_OCSP_BASICRESP_add_ext _cffi_d_OCSP_BASICRESP_add_ext +# define _cffi_f_OCSP_BASICRESP_add_ext _cffi_d_OCSP_BASICRESP_add_ext #endif static void _cffi_d_OCSP_BASICRESP_free(OCSP_BASICRESP * x0) @@ -24716,13 +24716,13 @@ _cffi_f_OCSP_BASICRESP_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg0, (char **)&x0); + _cffi_type(387), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) return NULL; } @@ -24759,13 +24759,13 @@ _cffi_f_OCSP_BASICRESP_get_ext(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg0, (char **)&x0); + _cffi_type(387), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) return NULL; } @@ -24780,7 +24780,7 @@ _cffi_f_OCSP_BASICRESP_get_ext(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_OCSP_BASICRESP_get_ext _cffi_d_OCSP_BASICRESP_get_ext @@ -24799,13 +24799,13 @@ _cffi_f_OCSP_BASICRESP_get_ext_count(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg0, (char **)&x0); + _cffi_type(387), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) return NULL; } @@ -24840,97 +24840,97 @@ _cffi_f_OCSP_BASICRESP_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(387)); + return _cffi_from_c_pointer((char *)result, _cffi_type(387)); } #else # define _cffi_f_OCSP_BASICRESP_new _cffi_d_OCSP_BASICRESP_new #endif -static void _cffi_d_OCSP_CERTID_free(OCSP_CERTID * x0) -{ - OCSP_CERTID_free(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_CERTID_free(PyObject *self, PyObject *arg0) -{ - OCSP_CERTID * x0; - Py_ssize_t datasize; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(366), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_CERTID *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(366), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { OCSP_CERTID_free(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_OCSP_CERTID_free _cffi_d_OCSP_CERTID_free -#endif - -static int _cffi_d_OCSP_REQUEST_add_ext(OCSP_REQUEST * x0, X509_EXTENSION * x1, int x2) -{ - return OCSP_REQUEST_add_ext(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_REQUEST_add_ext(PyObject *self, PyObject *args) +static void _cffi_d_OCSP_CERTID_free(OCSP_CERTID * x0) +{ + OCSP_CERTID_free(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_CERTID_free(PyObject *self, PyObject *arg0) +{ + OCSP_CERTID * x0; + Py_ssize_t datasize; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(366), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_CERTID *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(366), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { OCSP_CERTID_free(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_OCSP_CERTID_free _cffi_d_OCSP_CERTID_free +#endif + +static int _cffi_d_OCSP_REQUEST_add_ext(OCSP_REQUEST * x0, X509_EXTENSION * x1, int x2) +{ + return OCSP_REQUEST_add_ext(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_REQUEST_add_ext(PyObject *self, PyObject *args) { OCSP_REQUEST * x0; - X509_EXTENSION * x1; - int x2; + X509_EXTENSION * x1; + int x2; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - if (!PyArg_UnpackTuple(args, "OCSP_REQUEST_add_ext", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "OCSP_REQUEST_add_ext", 3, 3, &arg0, &arg1, &arg2)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(365), arg0, (char **)&x0); + _cffi_type(365), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_REQUEST *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg1, (char **)&x1); + _cffi_type(40), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (X509_EXTENSION *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) + x1 = (X509_EXTENSION *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) return NULL; } - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = OCSP_REQUEST_add_ext(x0, x1, x2); } + { result = OCSP_REQUEST_add_ext(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -24938,7 +24938,7 @@ _cffi_f_OCSP_REQUEST_add_ext(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_OCSP_REQUEST_add_ext _cffi_d_OCSP_REQUEST_add_ext +# define _cffi_f_OCSP_REQUEST_add_ext _cffi_d_OCSP_REQUEST_add_ext #endif static void _cffi_d_OCSP_REQUEST_free(OCSP_REQUEST * x0) @@ -24953,13 +24953,13 @@ _cffi_f_OCSP_REQUEST_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(365), arg0, (char **)&x0); + _cffi_type(365), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_REQUEST *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) return NULL; } @@ -24977,88 +24977,88 @@ _cffi_f_OCSP_REQUEST_free(PyObject *self, PyObject *arg0) # define _cffi_f_OCSP_REQUEST_free _cffi_d_OCSP_REQUEST_free #endif -static X509_EXTENSION * _cffi_d_OCSP_REQUEST_get_ext(OCSP_REQUEST * x0, int x1) -{ - return OCSP_REQUEST_get_ext(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_REQUEST_get_ext(PyObject *self, PyObject *args) -{ - OCSP_REQUEST * x0; - int x1; - Py_ssize_t datasize; - X509_EXTENSION * result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "OCSP_REQUEST_get_ext", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(365), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_REQUEST *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_REQUEST_get_ext(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); -} -#else -# define _cffi_f_OCSP_REQUEST_get_ext _cffi_d_OCSP_REQUEST_get_ext -#endif - -static int _cffi_d_OCSP_REQUEST_get_ext_count(OCSP_REQUEST * x0) -{ - return OCSP_REQUEST_get_ext_count(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_REQUEST_get_ext_count(PyObject *self, PyObject *arg0) -{ - OCSP_REQUEST * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(365), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_REQUEST *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_REQUEST_get_ext_count(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_OCSP_REQUEST_get_ext_count _cffi_d_OCSP_REQUEST_get_ext_count -#endif - +static X509_EXTENSION * _cffi_d_OCSP_REQUEST_get_ext(OCSP_REQUEST * x0, int x1) +{ + return OCSP_REQUEST_get_ext(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_REQUEST_get_ext(PyObject *self, PyObject *args) +{ + OCSP_REQUEST * x0; + int x1; + Py_ssize_t datasize; + X509_EXTENSION * result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "OCSP_REQUEST_get_ext", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(365), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_REQUEST *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_REQUEST_get_ext(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); +} +#else +# define _cffi_f_OCSP_REQUEST_get_ext _cffi_d_OCSP_REQUEST_get_ext +#endif + +static int _cffi_d_OCSP_REQUEST_get_ext_count(OCSP_REQUEST * x0) +{ + return OCSP_REQUEST_get_ext_count(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_REQUEST_get_ext_count(PyObject *self, PyObject *arg0) +{ + OCSP_REQUEST * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(365), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_REQUEST *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_REQUEST_get_ext_count(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_OCSP_REQUEST_get_ext_count _cffi_d_OCSP_REQUEST_get_ext_count +#endif + static OCSP_REQUEST * _cffi_d_OCSP_REQUEST_new(void) { return OCSP_REQUEST_new(); @@ -25077,84 +25077,84 @@ _cffi_f_OCSP_REQUEST_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(365)); + return _cffi_from_c_pointer((char *)result, _cffi_type(365)); } #else # define _cffi_f_OCSP_REQUEST_new _cffi_d_OCSP_REQUEST_new #endif -static void _cffi_d_OCSP_RESPONSE_free(OCSP_RESPONSE * x0) -{ - OCSP_RESPONSE_free(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_RESPONSE_free(PyObject *self, PyObject *arg0) -{ - OCSP_RESPONSE * x0; - Py_ssize_t datasize; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(349), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_RESPONSE *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(349), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { OCSP_RESPONSE_free(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_OCSP_RESPONSE_free _cffi_d_OCSP_RESPONSE_free -#endif - -static OCSP_CERTID const * _cffi_d_OCSP_SINGLERESP_get0_id(OCSP_SINGLERESP const * x0) -{ - return OCSP_SINGLERESP_get0_id(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_SINGLERESP_get0_id(PyObject *self, PyObject *arg0) -{ - OCSP_SINGLERESP const * x0; - Py_ssize_t datasize; - OCSP_CERTID const * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(362), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_SINGLERESP const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(362), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_SINGLERESP_get0_id(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3079)); -} -#else -# define _cffi_f_OCSP_SINGLERESP_get0_id _cffi_d_OCSP_SINGLERESP_get0_id -#endif - +static void _cffi_d_OCSP_RESPONSE_free(OCSP_RESPONSE * x0) +{ + OCSP_RESPONSE_free(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_RESPONSE_free(PyObject *self, PyObject *arg0) +{ + OCSP_RESPONSE * x0; + Py_ssize_t datasize; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(349), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_RESPONSE *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(349), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { OCSP_RESPONSE_free(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_OCSP_RESPONSE_free _cffi_d_OCSP_RESPONSE_free +#endif + +static OCSP_CERTID const * _cffi_d_OCSP_SINGLERESP_get0_id(OCSP_SINGLERESP const * x0) +{ + return OCSP_SINGLERESP_get0_id(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_SINGLERESP_get0_id(PyObject *self, PyObject *arg0) +{ + OCSP_SINGLERESP const * x0; + Py_ssize_t datasize; + OCSP_CERTID const * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(362), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_SINGLERESP const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(362), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_SINGLERESP_get0_id(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3079)); +} +#else +# define _cffi_f_OCSP_SINGLERESP_get0_id _cffi_d_OCSP_SINGLERESP_get0_id +#endif + static X509_EXTENSION * _cffi_d_OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP * x0, int x1) { return OCSP_SINGLERESP_get_ext(x0, x1); @@ -25174,13 +25174,13 @@ _cffi_f_OCSP_SINGLERESP_get_ext(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(594), arg0, (char **)&x0); + _cffi_type(594), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_SINGLERESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(594), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(594), arg0) < 0) return NULL; } @@ -25195,7 +25195,7 @@ _cffi_f_OCSP_SINGLERESP_get_ext(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_OCSP_SINGLERESP_get_ext _cffi_d_OCSP_SINGLERESP_get_ext @@ -25214,13 +25214,13 @@ _cffi_f_OCSP_SINGLERESP_get_ext_count(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(594), arg0, (char **)&x0); + _cffi_type(594), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_SINGLERESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(594), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(594), arg0) < 0) return NULL; } @@ -25256,13 +25256,13 @@ _cffi_f_OCSP_basic_add1_cert(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg0, (char **)&x0); + _cffi_type(387), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) return NULL; } @@ -25319,24 +25319,24 @@ _cffi_f_OCSP_basic_add1_status(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg0, (char **)&x0); + _cffi_type(387), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(366), arg1, (char **)&x1); + _cffi_type(366), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (OCSP_CERTID *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(366), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(366), arg1) < 0) return NULL; } @@ -25388,7 +25388,7 @@ _cffi_f_OCSP_basic_add1_status(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(594)); + return _cffi_from_c_pointer((char *)result, _cffi_type(594)); } #else # define _cffi_f_OCSP_basic_add1_status _cffi_d_OCSP_basic_add1_status @@ -25421,13 +25421,13 @@ _cffi_f_OCSP_basic_sign(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg0, (char **)&x0); + _cffi_type(387), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) return NULL; } @@ -25443,35 +25443,35 @@ _cffi_f_OCSP_basic_sign(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg2, (char **)&x2); + _cffi_type(199), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(199), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(199), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg3, (char **)&x3); + _cffi_type(354), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(354), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(354), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg4, (char **)&x4); + _cffi_type(413), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(413), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(413), arg4) < 0) return NULL; } @@ -25492,164 +25492,164 @@ _cffi_f_OCSP_basic_sign(PyObject *self, PyObject *args) # define _cffi_f_OCSP_basic_sign _cffi_d_OCSP_basic_sign #endif -static OCSP_CERTID * _cffi_d_OCSP_cert_to_id(EVP_MD const * x0, X509 const * x1, X509 const * x2) -{ - return OCSP_cert_to_id(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_cert_to_id(PyObject *self, PyObject *args) -{ - EVP_MD const * x0; - X509 const * x1; - X509 const * x2; - Py_ssize_t datasize; - OCSP_CERTID * result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - - if (!PyArg_UnpackTuple(args, "OCSP_cert_to_id", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (EVP_MD const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(354), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(355), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (X509 const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(355), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(355), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (X509 const *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(355), arg2) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_cert_to_id(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(366)); -} -#else -# define _cffi_f_OCSP_cert_to_id _cffi_d_OCSP_cert_to_id -#endif - -static int _cffi_d_OCSP_id_get0_info(ASN1_OCTET_STRING * * x0, ASN1_OBJECT * * x1, ASN1_OCTET_STRING * * x2, ASN1_INTEGER * * x3, OCSP_CERTID * x4) -{ - return OCSP_id_get0_info(x0, x1, x2, x3, x4); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_id_get0_info(PyObject *self, PyObject *args) -{ - ASN1_OCTET_STRING * * x0; - ASN1_OBJECT * * x1; - ASN1_OCTET_STRING * * x2; - ASN1_INTEGER * * x3; - OCSP_CERTID * x4; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - PyObject *arg4; - - if (!PyArg_UnpackTuple(args, "OCSP_id_get0_info", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(768), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (ASN1_OCTET_STRING * *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(768), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(769), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (ASN1_OBJECT * *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(769), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(768), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (ASN1_OCTET_STRING * *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(768), arg2) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(771), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (ASN1_INTEGER * *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(771), arg3) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(366), arg4, (char **)&x4); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x4 = (OCSP_CERTID *)alloca((size_t)datasize); - memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(366), arg4) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_id_get0_info(x0, x1, x2, x3, x4); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_OCSP_id_get0_info _cffi_d_OCSP_id_get0_info -#endif - +static OCSP_CERTID * _cffi_d_OCSP_cert_to_id(EVP_MD const * x0, X509 const * x1, X509 const * x2) +{ + return OCSP_cert_to_id(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_cert_to_id(PyObject *self, PyObject *args) +{ + EVP_MD const * x0; + X509 const * x1; + X509 const * x2; + Py_ssize_t datasize; + OCSP_CERTID * result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "OCSP_cert_to_id", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(354), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (EVP_MD const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(354), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(355), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (X509 const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(355), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(355), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (X509 const *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(355), arg2) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_cert_to_id(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(366)); +} +#else +# define _cffi_f_OCSP_cert_to_id _cffi_d_OCSP_cert_to_id +#endif + +static int _cffi_d_OCSP_id_get0_info(ASN1_OCTET_STRING * * x0, ASN1_OBJECT * * x1, ASN1_OCTET_STRING * * x2, ASN1_INTEGER * * x3, OCSP_CERTID * x4) +{ + return OCSP_id_get0_info(x0, x1, x2, x3, x4); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_id_get0_info(PyObject *self, PyObject *args) +{ + ASN1_OCTET_STRING * * x0; + ASN1_OBJECT * * x1; + ASN1_OCTET_STRING * * x2; + ASN1_INTEGER * * x3; + OCSP_CERTID * x4; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + PyObject *arg4; + + if (!PyArg_UnpackTuple(args, "OCSP_id_get0_info", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(768), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (ASN1_OCTET_STRING * *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(768), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(769), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (ASN1_OBJECT * *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(769), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(768), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (ASN1_OCTET_STRING * *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(768), arg2) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(771), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (ASN1_INTEGER * *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(771), arg3) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(366), arg4, (char **)&x4); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x4 = (OCSP_CERTID *)alloca((size_t)datasize); + memset((void *)x4, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(366), arg4) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_id_get0_info(x0, x1, x2, x3, x4); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_OCSP_id_get0_info _cffi_d_OCSP_id_get0_info +#endif + static OCSP_CERTID * _cffi_d_OCSP_onereq_get0_id(OCSP_ONEREQ * x0) { return OCSP_onereq_get0_id(x0); @@ -25663,13 +25663,13 @@ _cffi_f_OCSP_onereq_get0_id(PyObject *self, PyObject *arg0) OCSP_CERTID * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(359), arg0, (char **)&x0); + _cffi_type(359), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_ONEREQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(359), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(359), arg0) < 0) return NULL; } @@ -25680,65 +25680,65 @@ _cffi_f_OCSP_onereq_get0_id(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(366)); + return _cffi_from_c_pointer((char *)result, _cffi_type(366)); } #else # define _cffi_f_OCSP_onereq_get0_id _cffi_d_OCSP_onereq_get0_id #endif -static OCSP_ONEREQ * _cffi_d_OCSP_request_add0_id(OCSP_REQUEST * x0, OCSP_CERTID * x1) -{ - return OCSP_request_add0_id(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_request_add0_id(PyObject *self, PyObject *args) -{ - OCSP_REQUEST * x0; - OCSP_CERTID * x1; - Py_ssize_t datasize; - OCSP_ONEREQ * result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "OCSP_request_add0_id", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(365), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_REQUEST *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(366), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (OCSP_CERTID *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(366), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_request_add0_id(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(359)); -} -#else -# define _cffi_f_OCSP_request_add0_id _cffi_d_OCSP_request_add0_id -#endif - +static OCSP_ONEREQ * _cffi_d_OCSP_request_add0_id(OCSP_REQUEST * x0, OCSP_CERTID * x1) +{ + return OCSP_request_add0_id(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_request_add0_id(PyObject *self, PyObject *args) +{ + OCSP_REQUEST * x0; + OCSP_CERTID * x1; + Py_ssize_t datasize; + OCSP_ONEREQ * result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "OCSP_request_add0_id", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(365), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_REQUEST *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(366), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (OCSP_CERTID *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(366), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_request_add0_id(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(359)); +} +#else +# define _cffi_f_OCSP_request_add0_id _cffi_d_OCSP_request_add0_id +#endif + static int _cffi_d_OCSP_request_onereq_count(OCSP_REQUEST * x0) { return OCSP_request_onereq_count(x0); @@ -25752,13 +25752,13 @@ _cffi_f_OCSP_request_onereq_count(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(365), arg0, (char **)&x0); + _cffi_type(365), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_REQUEST *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) return NULL; } @@ -25794,13 +25794,13 @@ _cffi_f_OCSP_request_onereq_get0(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(365), arg0, (char **)&x0); + _cffi_type(365), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_REQUEST *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(365), arg0) < 0) return NULL; } @@ -25815,7 +25815,7 @@ _cffi_f_OCSP_request_onereq_get0(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(359)); + return _cffi_from_c_pointer((char *)result, _cffi_type(359)); } #else # define _cffi_f_OCSP_request_onereq_get0 _cffi_d_OCSP_request_onereq_get0 @@ -25834,13 +25834,13 @@ _cffi_f_OCSP_resp_count(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg0, (char **)&x0); + _cffi_type(387), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) return NULL; } @@ -25876,13 +25876,13 @@ _cffi_f_OCSP_resp_get0(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg0, (char **)&x0); + _cffi_type(387), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(387), arg0) < 0) return NULL; } @@ -25897,258 +25897,258 @@ _cffi_f_OCSP_resp_get0(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(594)); + return _cffi_from_c_pointer((char *)result, _cffi_type(594)); } #else # define _cffi_f_OCSP_resp_get0 _cffi_d_OCSP_resp_get0 #endif -static Cryptography_STACK_OF_X509 * _cffi_d_OCSP_resp_get0_certs(OCSP_BASICRESP const * x0) -{ - return OCSP_resp_get0_certs(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_resp_get0_certs(PyObject *self, PyObject *arg0) -{ - OCSP_BASICRESP const * x0; - Py_ssize_t datasize; - Cryptography_STACK_OF_X509 * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(17), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_resp_get0_certs(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(413)); -} -#else -# define _cffi_f_OCSP_resp_get0_certs _cffi_d_OCSP_resp_get0_certs -#endif - -static int _cffi_d_OCSP_resp_get0_id(OCSP_BASICRESP const * x0, ASN1_OCTET_STRING const * * x1, X509_NAME const * * x2) -{ - return OCSP_resp_get0_id(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_resp_get0_id(PyObject *self, PyObject *args) -{ - OCSP_BASICRESP const * x0; - ASN1_OCTET_STRING const * * x1; - X509_NAME const * * x2; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - - if (!PyArg_UnpackTuple(args, "OCSP_resp_get0_id", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(17), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1566), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (ASN1_OCTET_STRING const * *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1566), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1567), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (X509_NAME const * *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1567), arg2) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_resp_get0_id(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_OCSP_resp_get0_id _cffi_d_OCSP_resp_get0_id -#endif - -static ASN1_GENERALIZEDTIME const * _cffi_d_OCSP_resp_get0_produced_at(OCSP_BASICRESP const * x0) -{ - return OCSP_resp_get0_produced_at(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_resp_get0_produced_at(PyObject *self, PyObject *arg0) -{ - OCSP_BASICRESP const * x0; - Py_ssize_t datasize; - ASN1_GENERALIZEDTIME const * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(17), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_resp_get0_produced_at(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3009)); -} -#else -# define _cffi_f_OCSP_resp_get0_produced_at _cffi_d_OCSP_resp_get0_produced_at -#endif - -static OCSP_RESPDATA const * _cffi_d_OCSP_resp_get0_respdata(OCSP_BASICRESP const * x0) -{ - return OCSP_resp_get0_respdata(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_resp_get0_respdata(PyObject *self, PyObject *arg0) -{ - OCSP_BASICRESP const * x0; - Py_ssize_t datasize; - OCSP_RESPDATA const * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(17), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_resp_get0_respdata(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3083)); -} -#else -# define _cffi_f_OCSP_resp_get0_respdata _cffi_d_OCSP_resp_get0_respdata -#endif - -static ASN1_OCTET_STRING const * _cffi_d_OCSP_resp_get0_signature(OCSP_BASICRESP const * x0) -{ - return OCSP_resp_get0_signature(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_resp_get0_signature(PyObject *self, PyObject *arg0) -{ - OCSP_BASICRESP const * x0; - Py_ssize_t datasize; - ASN1_OCTET_STRING const * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(17), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_resp_get0_signature(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3016)); -} -#else -# define _cffi_f_OCSP_resp_get0_signature _cffi_d_OCSP_resp_get0_signature -#endif - -static X509_ALGOR const * _cffi_d_OCSP_resp_get0_tbs_sigalg(OCSP_BASICRESP const * x0) -{ - return OCSP_resp_get0_tbs_sigalg(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OCSP_resp_get0_tbs_sigalg(PyObject *self, PyObject *arg0) -{ - OCSP_BASICRESP const * x0; - Py_ssize_t datasize; - X509_ALGOR const * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(17), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OCSP_resp_get0_tbs_sigalg(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3121)); -} -#else -# define _cffi_f_OCSP_resp_get0_tbs_sigalg _cffi_d_OCSP_resp_get0_tbs_sigalg -#endif - +static Cryptography_STACK_OF_X509 * _cffi_d_OCSP_resp_get0_certs(OCSP_BASICRESP const * x0) +{ + return OCSP_resp_get0_certs(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_resp_get0_certs(PyObject *self, PyObject *arg0) +{ + OCSP_BASICRESP const * x0; + Py_ssize_t datasize; + Cryptography_STACK_OF_X509 * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(17), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_resp_get0_certs(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(413)); +} +#else +# define _cffi_f_OCSP_resp_get0_certs _cffi_d_OCSP_resp_get0_certs +#endif + +static int _cffi_d_OCSP_resp_get0_id(OCSP_BASICRESP const * x0, ASN1_OCTET_STRING const * * x1, X509_NAME const * * x2) +{ + return OCSP_resp_get0_id(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_resp_get0_id(PyObject *self, PyObject *args) +{ + OCSP_BASICRESP const * x0; + ASN1_OCTET_STRING const * * x1; + X509_NAME const * * x2; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "OCSP_resp_get0_id", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(17), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1566), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (ASN1_OCTET_STRING const * *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1566), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1567), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (X509_NAME const * *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1567), arg2) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_resp_get0_id(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_OCSP_resp_get0_id _cffi_d_OCSP_resp_get0_id +#endif + +static ASN1_GENERALIZEDTIME const * _cffi_d_OCSP_resp_get0_produced_at(OCSP_BASICRESP const * x0) +{ + return OCSP_resp_get0_produced_at(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_resp_get0_produced_at(PyObject *self, PyObject *arg0) +{ + OCSP_BASICRESP const * x0; + Py_ssize_t datasize; + ASN1_GENERALIZEDTIME const * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(17), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_resp_get0_produced_at(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3009)); +} +#else +# define _cffi_f_OCSP_resp_get0_produced_at _cffi_d_OCSP_resp_get0_produced_at +#endif + +static OCSP_RESPDATA const * _cffi_d_OCSP_resp_get0_respdata(OCSP_BASICRESP const * x0) +{ + return OCSP_resp_get0_respdata(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_resp_get0_respdata(PyObject *self, PyObject *arg0) +{ + OCSP_BASICRESP const * x0; + Py_ssize_t datasize; + OCSP_RESPDATA const * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(17), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_resp_get0_respdata(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3083)); +} +#else +# define _cffi_f_OCSP_resp_get0_respdata _cffi_d_OCSP_resp_get0_respdata +#endif + +static ASN1_OCTET_STRING const * _cffi_d_OCSP_resp_get0_signature(OCSP_BASICRESP const * x0) +{ + return OCSP_resp_get0_signature(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_resp_get0_signature(PyObject *self, PyObject *arg0) +{ + OCSP_BASICRESP const * x0; + Py_ssize_t datasize; + ASN1_OCTET_STRING const * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(17), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_resp_get0_signature(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3016)); +} +#else +# define _cffi_f_OCSP_resp_get0_signature _cffi_d_OCSP_resp_get0_signature +#endif + +static X509_ALGOR const * _cffi_d_OCSP_resp_get0_tbs_sigalg(OCSP_BASICRESP const * x0) +{ + return OCSP_resp_get0_tbs_sigalg(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OCSP_resp_get0_tbs_sigalg(PyObject *self, PyObject *arg0) +{ + OCSP_BASICRESP const * x0; + Py_ssize_t datasize; + X509_ALGOR const * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(17), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (OCSP_BASICRESP const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(17), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OCSP_resp_get0_tbs_sigalg(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3121)); +} +#else +# define _cffi_f_OCSP_resp_get0_tbs_sigalg _cffi_d_OCSP_resp_get0_tbs_sigalg +#endif + static OCSP_RESPONSE * _cffi_d_OCSP_response_create(int x0, OCSP_BASICRESP * x1) { return OCSP_response_create(x0, x1); @@ -26172,13 +26172,13 @@ _cffi_f_OCSP_response_create(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(387), arg1, (char **)&x1); + _cffi_type(387), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (OCSP_BASICRESP *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(387), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(387), arg1) < 0) return NULL; } @@ -26189,7 +26189,7 @@ _cffi_f_OCSP_response_create(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(349)); + return _cffi_from_c_pointer((char *)result, _cffi_type(349)); } #else # define _cffi_f_OCSP_response_create _cffi_d_OCSP_response_create @@ -26208,13 +26208,13 @@ _cffi_f_OCSP_response_get1_basic(PyObject *self, PyObject *arg0) OCSP_BASICRESP * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(349), arg0, (char **)&x0); + _cffi_type(349), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_RESPONSE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(349), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(349), arg0) < 0) return NULL; } @@ -26225,7 +26225,7 @@ _cffi_f_OCSP_response_get1_basic(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(387)); + return _cffi_from_c_pointer((char *)result, _cffi_type(387)); } #else # define _cffi_f_OCSP_response_get1_basic _cffi_d_OCSP_response_get1_basic @@ -26244,13 +26244,13 @@ _cffi_f_OCSP_response_status(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(349), arg0, (char **)&x0); + _cffi_type(349), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_RESPONSE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(349), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(349), arg0) < 0) return NULL; } @@ -26292,24 +26292,24 @@ _cffi_f_OCSP_single_get0_status(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(594), arg0, (char **)&x0); + _cffi_type(594), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OCSP_SINGLERESP *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(594), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(594), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg1, (char **)&x1); + _cffi_type(1169), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (int *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1169), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1169), arg1) < 0) return NULL; } @@ -26359,30 +26359,30 @@ _cffi_f_OCSP_single_get0_status(PyObject *self, PyObject *args) # define _cffi_f_OCSP_single_get0_status _cffi_d_OCSP_single_get0_status #endif -static void _cffi_d_OPENSSL_cleanup(void) -{ - OPENSSL_cleanup(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OPENSSL_cleanup(PyObject *self, PyObject *noarg) -{ - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { OPENSSL_cleanup(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_OPENSSL_cleanup _cffi_d_OPENSSL_cleanup -#endif - +static void _cffi_d_OPENSSL_cleanup(void) +{ + OPENSSL_cleanup(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OPENSSL_cleanup(PyObject *self, PyObject *noarg) +{ + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { OPENSSL_cleanup(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_OPENSSL_cleanup _cffi_d_OPENSSL_cleanup +#endif + static void _cffi_d_OPENSSL_config(char const * x0) { OPENSSL_config(x0); @@ -26395,13 +26395,13 @@ _cffi_f_OPENSSL_config(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -26431,13 +26431,13 @@ _cffi_f_OPENSSL_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg0, (char **)&x0); + _cffi_type(193), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (void *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(193), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(193), arg0) < 0) return NULL; } @@ -26455,34 +26455,34 @@ _cffi_f_OPENSSL_free(PyObject *self, PyObject *arg0) # define _cffi_f_OPENSSL_free _cffi_d_OPENSSL_free #endif -static void * _cffi_d_OPENSSL_malloc(size_t x0) -{ - return OPENSSL_malloc(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_OPENSSL_malloc(PyObject *self, PyObject *arg0) -{ - size_t x0; - void * result; - - x0 = _cffi_to_c_int(arg0, size_t); - if (x0 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = OPENSSL_malloc(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); -} -#else -# define _cffi_f_OPENSSL_malloc _cffi_d_OPENSSL_malloc -#endif - +static void * _cffi_d_OPENSSL_malloc(size_t x0) +{ + return OPENSSL_malloc(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_OPENSSL_malloc(PyObject *self, PyObject *arg0) +{ + size_t x0; + void * result; + + x0 = _cffi_to_c_int(arg0, size_t); + if (x0 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = OPENSSL_malloc(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); +} +#else +# define _cffi_f_OPENSSL_malloc _cffi_d_OPENSSL_malloc +#endif + static void _cffi_d_OPENSSL_no_config(void) { OPENSSL_no_config(); @@ -26519,13 +26519,13 @@ _cffi_f_OTHERNAME_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2726), arg0, (char **)&x0); + _cffi_type(2726), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (OTHERNAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2726), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2726), arg0) < 0) return NULL; } @@ -26561,7 +26561,7 @@ _cffi_f_OTHERNAME_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2726)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2726)); } #else # define _cffi_f_OTHERNAME_new _cffi_d_OTHERNAME_new @@ -26613,7 +26613,7 @@ _cffi_f_OpenSSL_version(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_OpenSSL_version _cffi_d_OpenSSL_version @@ -26666,39 +26666,39 @@ _cffi_f_PEM_read_bio_DHparams(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(187), arg1, (char **)&x1); + _cffi_type(187), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (DH * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(187), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(187), arg1) < 0) return NULL; } - x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); + x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); if (x2 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -26709,7 +26709,7 @@ _cffi_f_PEM_read_bio_DHparams(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(196)); + return _cffi_from_c_pointer((char *)result, _cffi_type(196)); } #else # define _cffi_f_PEM_read_bio_DHparams _cffi_d_PEM_read_bio_DHparams @@ -26738,39 +26738,39 @@ _cffi_f_PEM_read_bio_PKCS7(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(426), arg1, (char **)&x1); + _cffi_type(426), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (PKCS7 * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(426), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(426), arg1) < 0) return NULL; } - x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); + x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); if (x2 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -26781,7 +26781,7 @@ _cffi_f_PEM_read_bio_PKCS7(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(442)); + return _cffi_from_c_pointer((char *)result, _cffi_type(442)); } #else # define _cffi_f_PEM_read_bio_PKCS7 _cffi_d_PEM_read_bio_PKCS7 @@ -26810,39 +26810,39 @@ _cffi_f_PEM_read_bio_PUBKEY(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(273), arg1, (char **)&x1); + _cffi_type(273), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) return NULL; } - x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); + x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); if (x2 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -26853,7 +26853,7 @@ _cffi_f_PEM_read_bio_PUBKEY(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); } #else # define _cffi_f_PEM_read_bio_PUBKEY _cffi_d_PEM_read_bio_PUBKEY @@ -26882,39 +26882,39 @@ _cffi_f_PEM_read_bio_PrivateKey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(273), arg1, (char **)&x1); + _cffi_type(273), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) return NULL; } - x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); + x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); if (x2 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -26925,7 +26925,7 @@ _cffi_f_PEM_read_bio_PrivateKey(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); } #else # define _cffi_f_PEM_read_bio_PrivateKey _cffi_d_PEM_read_bio_PrivateKey @@ -26954,39 +26954,39 @@ _cffi_f_PEM_read_bio_RSAPublicKey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(464), arg1, (char **)&x1); + _cffi_type(464), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (RSA * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(464), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(464), arg1) < 0) return NULL; } - x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); + x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); if (x2 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -26997,7 +26997,7 @@ _cffi_f_PEM_read_bio_RSAPublicKey(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(476)); + return _cffi_from_c_pointer((char *)result, _cffi_type(476)); } #else # define _cffi_f_PEM_read_bio_RSAPublicKey _cffi_d_PEM_read_bio_RSAPublicKey @@ -27026,39 +27026,39 @@ _cffi_f_PEM_read_bio_X509(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(518), arg1, (char **)&x1); + _cffi_type(518), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509 * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(518), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(518), arg1) < 0) return NULL; } - x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); + x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); if (x2 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -27098,39 +27098,39 @@ _cffi_f_PEM_read_bio_X509_CRL(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(556), arg1, (char **)&x1); + _cffi_type(556), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_CRL * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(556), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(556), arg1) < 0) return NULL; } - x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); + x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); if (x2 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -27141,7 +27141,7 @@ _cffi_f_PEM_read_bio_X509_CRL(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(57)); + return _cffi_from_c_pointer((char *)result, _cffi_type(57)); } #else # define _cffi_f_PEM_read_bio_X509_CRL _cffi_d_PEM_read_bio_X509_CRL @@ -27170,39 +27170,39 @@ _cffi_f_PEM_read_bio_X509_REQ(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(671), arg1, (char **)&x1); + _cffi_type(671), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_REQ * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(671), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(671), arg1) < 0) return NULL; } - x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); + x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); if (x2 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -27213,55 +27213,55 @@ _cffi_f_PEM_read_bio_X509_REQ(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(294)); + return _cffi_from_c_pointer((char *)result, _cffi_type(294)); } #else # define _cffi_f_PEM_read_bio_X509_REQ _cffi_d_PEM_read_bio_X509_REQ #endif -static int _cffi_d_PEM_write_bio_DHparams(BIO * x0, DH * x1) +static int _cffi_d_PEM_write_bio_DHparams(BIO * x0, DH * x1) { - return PEM_write_bio_DHparams(x0, x1); + return PEM_write_bio_DHparams(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_PEM_write_bio_DHparams(PyObject *self, PyObject *args) +_cffi_f_PEM_write_bio_DHparams(PyObject *self, PyObject *args) { BIO * x0; - DH * x1; + DH * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "PEM_write_bio_DHparams", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "PEM_write_bio_DHparams", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg1, (char **)&x1); + _cffi_type(196), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (DH *)alloca((size_t)datasize); + x1 = (DH *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = PEM_write_bio_DHparams(x0, x1); } + { result = PEM_write_bio_DHparams(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -27269,16 +27269,16 @@ _cffi_f_PEM_write_bio_DHparams(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_PEM_write_bio_DHparams _cffi_d_PEM_write_bio_DHparams +# define _cffi_f_PEM_write_bio_DHparams _cffi_d_PEM_write_bio_DHparams #endif -static int _cffi_d_PEM_write_bio_DHxparams(BIO * x0, DH * x1) +static int _cffi_d_PEM_write_bio_DHxparams(BIO * x0, DH * x1) { - return PEM_write_bio_DHxparams(x0, x1); + return PEM_write_bio_DHxparams(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_PEM_write_bio_DHxparams(PyObject *self, PyObject *args) +_cffi_f_PEM_write_bio_DHxparams(PyObject *self, PyObject *args) { BIO * x0; DH * x1; @@ -27287,34 +27287,34 @@ _cffi_f_PEM_write_bio_DHxparams(PyObject *self, PyObject *args) PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "PEM_write_bio_DHxparams", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "PEM_write_bio_DHxparams", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg1, (char **)&x1); + _cffi_type(196), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (DH *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = PEM_write_bio_DHxparams(x0, x1); } + { result = PEM_write_bio_DHxparams(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -27322,7 +27322,7 @@ _cffi_f_PEM_write_bio_DHxparams(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_PEM_write_bio_DHxparams _cffi_d_PEM_write_bio_DHxparams +# define _cffi_f_PEM_write_bio_DHxparams _cffi_d_PEM_write_bio_DHxparams #endif static int _cffi_d_PEM_write_bio_DSAPrivateKey(BIO * x0, DSA * x1, EVP_CIPHER const * x2, unsigned char * x3, int x4, int(* x5)(char *, int, int, void *), void * x6) @@ -27354,46 +27354,46 @@ _cffi_f_PEM_write_bio_DSAPrivateKey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg1, (char **)&x1); + _cffi_type(212), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (DSA *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(212), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(212), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(885), arg2, (char **)&x2); + _cffi_type(885), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_CIPHER const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg3, (char **)&x3); + _cffi_type(752), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) return NULL; } @@ -27401,18 +27401,18 @@ _cffi_f_PEM_write_bio_DSAPrivateKey(PyObject *self, PyObject *args) if (x4 == (int)-1 && PyErr_Occurred()) return NULL; - x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); + x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); if (x5 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg6, (char **)&x6); + _cffi_type(193), arg6, (char **)&x6); if (datasize != 0) { if (datasize < 0) return NULL; x6 = (void *)alloca((size_t)datasize); memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) return NULL; } @@ -27458,46 +27458,46 @@ _cffi_f_PEM_write_bio_ECPrivateKey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg1, (char **)&x1); + _cffi_type(893), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(885), arg2, (char **)&x2); + _cffi_type(885), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_CIPHER const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg3, (char **)&x3); + _cffi_type(752), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) return NULL; } @@ -27505,18 +27505,18 @@ _cffi_f_PEM_write_bio_ECPrivateKey(PyObject *self, PyObject *args) if (x4 == (int)-1 && PyErr_Occurred()) return NULL; - x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); + x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); if (x5 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg6, (char **)&x6); + _cffi_type(193), arg6, (char **)&x6); if (datasize != 0) { if (datasize < 0) return NULL; x6 = (void *)alloca((size_t)datasize); memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) return NULL; } @@ -27552,24 +27552,24 @@ _cffi_f_PEM_write_bio_PKCS7(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg1, (char **)&x1); + _cffi_type(442), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(442), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(442), arg1) < 0) return NULL; } @@ -27586,18 +27586,18 @@ _cffi_f_PEM_write_bio_PKCS7(PyObject *self, PyObject *args) # define _cffi_f_PEM_write_bio_PKCS7 _cffi_d_PEM_write_bio_PKCS7 #endif -static int _cffi_d_PEM_write_bio_PKCS7_stream(BIO * x0, PKCS7 * x1, BIO * x2, int x3) +static int _cffi_d_PEM_write_bio_PKCS7_stream(BIO * x0, PKCS7 * x1, BIO * x2, int x3) { - return PEM_write_bio_PKCS7_stream(x0, x1, x2, x3); + return PEM_write_bio_PKCS7_stream(x0, x1, x2, x3); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_PEM_write_bio_PKCS7_stream(PyObject *self, PyObject *args) +_cffi_f_PEM_write_bio_PKCS7_stream(PyObject *self, PyObject *args) { BIO * x0; - PKCS7 * x1; - BIO * x2; - int x3; + PKCS7 * x1; + BIO * x2; + int x3; Py_ssize_t datasize; int result; PyObject *arg0; @@ -27605,49 +27605,49 @@ _cffi_f_PEM_write_bio_PKCS7_stream(PyObject *self, PyObject *args) PyObject *arg2; PyObject *arg3; - if (!PyArg_UnpackTuple(args, "PEM_write_bio_PKCS7_stream", 4, 4, &arg0, &arg1, &arg2, &arg3)) + if (!PyArg_UnpackTuple(args, "PEM_write_bio_PKCS7_stream", 4, 4, &arg0, &arg1, &arg2, &arg3)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg1, (char **)&x1); + _cffi_type(442), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (PKCS7 *)alloca((size_t)datasize); + x1 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(442), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(442), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg2, (char **)&x2); + _cffi_type(186), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (BIO *)alloca((size_t)datasize); + x2 = (BIO *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(186), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(186), arg2) < 0) return NULL; } - x3 = _cffi_to_c_int(arg3, int); - if (x3 == (int)-1 && PyErr_Occurred()) + x3 = _cffi_to_c_int(arg3, int); + if (x3 == (int)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = PEM_write_bio_PKCS7_stream(x0, x1, x2, x3); } + { result = PEM_write_bio_PKCS7_stream(x0, x1, x2, x3); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -27655,20 +27655,20 @@ _cffi_f_PEM_write_bio_PKCS7_stream(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_PEM_write_bio_PKCS7_stream _cffi_d_PEM_write_bio_PKCS7_stream +# define _cffi_f_PEM_write_bio_PKCS7_stream _cffi_d_PEM_write_bio_PKCS7_stream #endif -static int _cffi_d_PEM_write_bio_PKCS8PrivateKey(BIO * x0, EVP_PKEY * x1, EVP_CIPHER const * x2, char * x3, int x4, int(* x5)(char *, int, int, void *), void * x6) +static int _cffi_d_PEM_write_bio_PKCS8PrivateKey(BIO * x0, EVP_PKEY * x1, EVP_CIPHER const * x2, char * x3, int x4, int(* x5)(char *, int, int, void *), void * x6) { - return PEM_write_bio_PKCS8PrivateKey(x0, x1, x2, x3, x4, x5, x6); + return PEM_write_bio_PKCS8PrivateKey(x0, x1, x2, x3, x4, x5, x6); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_PEM_write_bio_PKCS8PrivateKey(PyObject *self, PyObject *args) +_cffi_f_PEM_write_bio_PKCS8PrivateKey(PyObject *self, PyObject *args) { BIO * x0; EVP_PKEY * x1; - EVP_CIPHER const * x2; + EVP_CIPHER const * x2; char * x3; int x4; int(* x5)(char *, int, int, void *); @@ -27683,50 +27683,50 @@ _cffi_f_PEM_write_bio_PKCS8PrivateKey(PyObject *self, PyObject *args) PyObject *arg5; PyObject *arg6; - if (!PyArg_UnpackTuple(args, "PEM_write_bio_PKCS8PrivateKey", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6)) + if (!PyArg_UnpackTuple(args, "PEM_write_bio_PKCS8PrivateKey", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(885), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (EVP_CIPHER const *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) - return NULL; - } + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(885), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (EVP_CIPHER const *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) + return NULL; + } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg3, (char **)&x3); + _cffi_type(409), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(409), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(409), arg3) < 0) return NULL; } @@ -27734,24 +27734,24 @@ _cffi_f_PEM_write_bio_PKCS8PrivateKey(PyObject *self, PyObject *args) if (x4 == (int)-1 && PyErr_Occurred()) return NULL; - x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); + x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); if (x5 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg6, (char **)&x6); + _cffi_type(193), arg6, (char **)&x6); if (datasize != 0) { if (datasize < 0) return NULL; x6 = (void *)alloca((size_t)datasize); memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = PEM_write_bio_PKCS8PrivateKey(x0, x1, x2, x3, x4, x5, x6); } + { result = PEM_write_bio_PKCS8PrivateKey(x0, x1, x2, x3, x4, x5, x6); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -27759,7 +27759,7 @@ _cffi_f_PEM_write_bio_PKCS8PrivateKey(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_PEM_write_bio_PKCS8PrivateKey _cffi_d_PEM_write_bio_PKCS8PrivateKey +# define _cffi_f_PEM_write_bio_PKCS8PrivateKey _cffi_d_PEM_write_bio_PKCS8PrivateKey #endif static int _cffi_d_PEM_write_bio_PUBKEY(BIO * x0, EVP_PKEY * x1) @@ -27781,24 +27781,24 @@ _cffi_f_PEM_write_bio_PUBKEY(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -27844,46 +27844,46 @@ _cffi_f_PEM_write_bio_PrivateKey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(885), arg2, (char **)&x2); + _cffi_type(885), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_CIPHER const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg3, (char **)&x3); + _cffi_type(752), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) return NULL; } @@ -27891,18 +27891,18 @@ _cffi_f_PEM_write_bio_PrivateKey(PyObject *self, PyObject *args) if (x4 == (int)-1 && PyErr_Occurred()) return NULL; - x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); + x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); if (x5 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg6, (char **)&x6); + _cffi_type(193), arg6, (char **)&x6); if (datasize != 0) { if (datasize < 0) return NULL; x6 = (void *)alloca((size_t)datasize); memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) return NULL; } @@ -27948,46 +27948,46 @@ _cffi_f_PEM_write_bio_RSAPrivateKey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg1, (char **)&x1); + _cffi_type(476), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (RSA *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(885), arg2, (char **)&x2); + _cffi_type(885), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_CIPHER const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg3, (char **)&x3); + _cffi_type(752), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) return NULL; } @@ -27995,18 +27995,18 @@ _cffi_f_PEM_write_bio_RSAPrivateKey(PyObject *self, PyObject *args) if (x4 == (int)-1 && PyErr_Occurred()) return NULL; - x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); + x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); if (x5 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg6, (char **)&x6); + _cffi_type(193), arg6, (char **)&x6); if (datasize != 0) { if (datasize < 0) return NULL; x6 = (void *)alloca((size_t)datasize); memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) return NULL; } @@ -28042,24 +28042,24 @@ _cffi_f_PEM_write_bio_RSAPublicKey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(967), arg1, (char **)&x1); + _cffi_type(967), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (RSA const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(967), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(967), arg1) < 0) return NULL; } @@ -28095,13 +28095,13 @@ _cffi_f_PEM_write_bio_X509(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -28148,24 +28148,24 @@ _cffi_f_PEM_write_bio_X509_CRL(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg1, (char **)&x1); + _cffi_type(57), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) return NULL; } @@ -28201,24 +28201,24 @@ _cffi_f_PEM_write_bio_X509_REQ(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg1, (char **)&x1); + _cffi_type(294), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(294), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(294), arg1) < 0) return NULL; } @@ -28270,35 +28270,35 @@ _cffi_f_PKCS12_create(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg0, (char **)&x0); + _cffi_type(409), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(409), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(409), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg1, (char **)&x1); + _cffi_type(409), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg2, (char **)&x2); + _cffi_type(199), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(199), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(199), arg2) < 0) return NULL; } @@ -28314,13 +28314,13 @@ _cffi_f_PKCS12_create(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg4, (char **)&x4); + _cffi_type(413), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(413), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(413), arg4) < 0) return NULL; } @@ -28351,7 +28351,7 @@ _cffi_f_PKCS12_create(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(940)); + return _cffi_from_c_pointer((char *)result, _cffi_type(940)); } #else # define _cffi_f_PKCS12_create _cffi_d_PKCS12_create @@ -28369,13 +28369,13 @@ _cffi_f_PKCS12_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(940), arg0, (char **)&x0); + _cffi_type(940), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (PKCS12 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(940), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(940), arg0) < 0) return NULL; } @@ -28418,57 +28418,57 @@ _cffi_f_PKCS12_parse(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(940), arg0, (char **)&x0); + _cffi_type(940), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (PKCS12 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(940), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(940), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(273), arg2, (char **)&x2); + _cffi_type(273), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_PKEY * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(273), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(273), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(518), arg3, (char **)&x3); + _cffi_type(518), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (X509 * *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(518), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(518), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1599), arg4, (char **)&x4); + _cffi_type(1599), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (Cryptography_STACK_OF_X509 * *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1599), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1599), arg4) < 0) return NULL; } @@ -28516,13 +28516,13 @@ _cffi_f_PKCS5_PBKDF2_HMAC(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -28531,13 +28531,13 @@ _cffi_f_PKCS5_PBKDF2_HMAC(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg2, (char **)&x2); + _cffi_type(103), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) return NULL; } @@ -28550,13 +28550,13 @@ _cffi_f_PKCS5_PBKDF2_HMAC(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg5, (char **)&x5); + _cffi_type(354), arg5, (char **)&x5); if (datasize != 0) { if (datasize < 0) return NULL; x5 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(354), arg5) < 0) + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(354), arg5) < 0) return NULL; } @@ -28565,13 +28565,13 @@ _cffi_f_PKCS5_PBKDF2_HMAC(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg7, (char **)&x7); + _cffi_type(752), arg7, (char **)&x7); if (datasize != 0) { if (datasize < 0) return NULL; x7 = (unsigned char *)alloca((size_t)datasize); memset((void *)x7, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x7, _cffi_type(752), arg7) < 0) + if (_cffi_convert_array_from_object((char *)x7, _cffi_type(752), arg7) < 0) return NULL; } @@ -28588,55 +28588,55 @@ _cffi_f_PKCS5_PBKDF2_HMAC(PyObject *self, PyObject *args) # define _cffi_f_PKCS5_PBKDF2_HMAC _cffi_d_PKCS5_PBKDF2_HMAC #endif -static int _cffi_d_PKCS7_final(PKCS7 * x0, BIO * x1, int x2) +static int _cffi_d_PKCS7_final(PKCS7 * x0, BIO * x1, int x2) { - return PKCS7_final(x0, x1, x2); + return PKCS7_final(x0, x1, x2); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_PKCS7_final(PyObject *self, PyObject *args) +_cffi_f_PKCS7_final(PyObject *self, PyObject *args) { - PKCS7 * x0; - BIO * x1; - int x2; + PKCS7 * x0; + BIO * x1; + int x2; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - if (!PyArg_UnpackTuple(args, "PKCS7_final", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "PKCS7_final", 3, 3, &arg0, &arg1, &arg2)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg0, (char **)&x0); + _cffi_type(442), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (PKCS7 *)alloca((size_t)datasize); + x0 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg1, (char **)&x1); + _cffi_type(186), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (BIO *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(186), arg1) < 0) + x1 = (BIO *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(186), arg1) < 0) return NULL; } - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = PKCS7_final(x0, x1, x2); } + { result = PKCS7_final(x0, x1, x2); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -28644,110 +28644,110 @@ _cffi_f_PKCS7_final(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_PKCS7_final _cffi_d_PKCS7_final +# define _cffi_f_PKCS7_final _cffi_d_PKCS7_final #endif -static void _cffi_d_PKCS7_free(PKCS7 * x0) +static void _cffi_d_PKCS7_free(PKCS7 * x0) { - PKCS7_free(x0); + PKCS7_free(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_PKCS7_free(PyObject *self, PyObject *arg0) +_cffi_f_PKCS7_free(PyObject *self, PyObject *arg0) { PKCS7 * x0; Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg0, (char **)&x0); + _cffi_type(442), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { PKCS7_free(x0); } + { PKCS7_free(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_PKCS7_free _cffi_d_PKCS7_free +# define _cffi_f_PKCS7_free _cffi_d_PKCS7_free #endif -static PKCS7 * _cffi_d_PKCS7_sign(X509 * x0, EVP_PKEY * x1, Cryptography_STACK_OF_X509 * x2, BIO * x3, int x4) +static PKCS7 * _cffi_d_PKCS7_sign(X509 * x0, EVP_PKEY * x1, Cryptography_STACK_OF_X509 * x2, BIO * x3, int x4) { - return PKCS7_sign(x0, x1, x2, x3, x4); + return PKCS7_sign(x0, x1, x2, x3, x4); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_PKCS7_sign(PyObject *self, PyObject *args) +_cffi_f_PKCS7_sign(PyObject *self, PyObject *args) { - X509 * x0; + X509 * x0; EVP_PKEY * x1; - Cryptography_STACK_OF_X509 * x2; + Cryptography_STACK_OF_X509 * x2; BIO * x3; int x4; Py_ssize_t datasize; - PKCS7 * result; + PKCS7 * result; PyObject *arg0; PyObject *arg1; PyObject *arg2; PyObject *arg3; PyObject *arg4; - if (!PyArg_UnpackTuple(args, "PKCS7_sign", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "PKCS7_sign", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(28), arg0, (char **)&x0); + _cffi_type(28), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (X509 *)alloca((size_t)datasize); + x0 = (X509 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg2, (char **)&x2); + _cffi_type(413), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); + x2 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(413), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(413), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg3, (char **)&x3); + _cffi_type(186), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIO *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(186), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(186), arg3) < 0) return NULL; } @@ -28757,82 +28757,82 @@ _cffi_f_PKCS7_sign(PyObject *self, PyObject *args) Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = PKCS7_sign(x0, x1, x2, x3, x4); } + { result = PKCS7_sign(x0, x1, x2, x3, x4); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(442)); + return _cffi_from_c_pointer((char *)result, _cffi_type(442)); } #else -# define _cffi_f_PKCS7_sign _cffi_d_PKCS7_sign +# define _cffi_f_PKCS7_sign _cffi_d_PKCS7_sign #endif -static PKCS7_SIGNER_INFO * _cffi_d_PKCS7_sign_add_signer(PKCS7 * x0, X509 * x1, EVP_PKEY * x2, EVP_MD const * x3, int x4) +static PKCS7_SIGNER_INFO * _cffi_d_PKCS7_sign_add_signer(PKCS7 * x0, X509 * x1, EVP_PKEY * x2, EVP_MD const * x3, int x4) { - return PKCS7_sign_add_signer(x0, x1, x2, x3, x4); + return PKCS7_sign_add_signer(x0, x1, x2, x3, x4); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_PKCS7_sign_add_signer(PyObject *self, PyObject *args) +_cffi_f_PKCS7_sign_add_signer(PyObject *self, PyObject *args) { PKCS7 * x0; - X509 * x1; - EVP_PKEY * x2; - EVP_MD const * x3; + X509 * x1; + EVP_PKEY * x2; + EVP_MD const * x3; int x4; Py_ssize_t datasize; - PKCS7_SIGNER_INFO * result; + PKCS7_SIGNER_INFO * result; PyObject *arg0; PyObject *arg1; PyObject *arg2; PyObject *arg3; PyObject *arg4; - if (!PyArg_UnpackTuple(args, "PKCS7_sign_add_signer", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + if (!PyArg_UnpackTuple(args, "PKCS7_sign_add_signer", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg0, (char **)&x0); + _cffi_type(442), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (PKCS7 *)alloca((size_t)datasize); + x0 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(28), arg1, (char **)&x1); + _cffi_type(28), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (X509 *)alloca((size_t)datasize); + x1 = (X509 *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(28), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(28), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg2, (char **)&x2); + _cffi_type(199), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (EVP_PKEY *)alloca((size_t)datasize); + x2 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(199), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(199), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg3, (char **)&x3); + _cffi_type(354), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; - x3 = (EVP_MD const *)alloca((size_t)datasize); + x3 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(354), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(354), arg3) < 0) return NULL; } @@ -28842,15 +28842,15 @@ _cffi_f_PKCS7_sign_add_signer(PyObject *self, PyObject *args) Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = PKCS7_sign_add_signer(x0, x1, x2, x3, x4); } + { result = PKCS7_sign_add_signer(x0, x1, x2, x3, x4); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3098)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3098)); } #else -# define _cffi_f_PKCS7_sign_add_signer _cffi_d_PKCS7_sign_add_signer +# define _cffi_f_PKCS7_sign_add_signer _cffi_d_PKCS7_sign_add_signer #endif static int _cffi_d_PKCS7_type_is_data(PKCS7 * x0) @@ -28866,13 +28866,13 @@ _cffi_f_PKCS7_type_is_data(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg0, (char **)&x0); + _cffi_type(442), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) return NULL; } @@ -28902,13 +28902,13 @@ _cffi_f_PKCS7_type_is_enveloped(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg0, (char **)&x0); + _cffi_type(442), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) return NULL; } @@ -28938,13 +28938,13 @@ _cffi_f_PKCS7_type_is_signed(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg0, (char **)&x0); + _cffi_type(442), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) return NULL; } @@ -28974,13 +28974,13 @@ _cffi_f_PKCS7_type_is_signedAndEnveloped(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg0, (char **)&x0); + _cffi_type(442), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) return NULL; } @@ -29024,57 +29024,57 @@ _cffi_f_PKCS7_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg0, (char **)&x0); + _cffi_type(442), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(442), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg1, (char **)&x1); + _cffi_type(413), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(413), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(413), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg2, (char **)&x2); + _cffi_type(180), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(180), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(180), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg3, (char **)&x3); + _cffi_type(186), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIO *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(186), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(186), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg4, (char **)&x4); + _cffi_type(186), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (BIO *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(186), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(186), arg4) < 0) return NULL; } @@ -29107,13 +29107,13 @@ _cffi_f_POLICYINFO_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1091), arg0, (char **)&x0); + _cffi_type(1091), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (POLICYINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1091), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1091), arg0) < 0) return NULL; } @@ -29149,7 +29149,7 @@ _cffi_f_POLICYINFO_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1091)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1091)); } #else # define _cffi_f_POLICYINFO_new _cffi_d_POLICYINFO_new @@ -29167,13 +29167,13 @@ _cffi_f_POLICYQUALINFO_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1098), arg0, (char **)&x0); + _cffi_type(1098), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (POLICYQUALINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1098), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1098), arg0) < 0) return NULL; } @@ -29209,7 +29209,7 @@ _cffi_f_POLICYQUALINFO_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1098)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1098)); } #else # define _cffi_f_POLICYQUALINFO_new _cffi_d_POLICYQUALINFO_new @@ -29227,13 +29227,13 @@ _cffi_f_POLICY_CONSTRAINTS_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2741), arg0, (char **)&x0); + _cffi_type(2741), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (POLICY_CONSTRAINTS *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2741), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2741), arg0) < 0) return NULL; } @@ -29269,7 +29269,7 @@ _cffi_f_POLICY_CONSTRAINTS_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2741)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2741)); } #else # define _cffi_f_POLICY_CONSTRAINTS_new _cffi_d_POLICY_CONSTRAINTS_new @@ -29295,13 +29295,13 @@ _cffi_f_RAND_add(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg0, (char **)&x0); + _cffi_type(126), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (void const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(126), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(126), arg0) < 0) return NULL; } @@ -29346,13 +29346,13 @@ _cffi_f_RAND_bytes(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg0, (char **)&x0); + _cffi_type(752), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (unsigned char *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(752), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(752), arg0) < 0) return NULL; } @@ -29373,40 +29373,40 @@ _cffi_f_RAND_bytes(PyObject *self, PyObject *args) # define _cffi_f_RAND_bytes _cffi_d_RAND_bytes #endif -static int _cffi_d_RAND_set_rand_method(RAND_METHOD const * x0) +static int _cffi_d_RAND_set_rand_method(RAND_METHOD const * x0) { - return RAND_set_rand_method(x0); + return RAND_set_rand_method(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_RAND_set_rand_method(PyObject *self, PyObject *arg0) +_cffi_f_RAND_set_rand_method(PyObject *self, PyObject *arg0) { - RAND_METHOD const * x0; - Py_ssize_t datasize; - int result; + RAND_METHOD const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1618), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (RAND_METHOD const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1618), arg0) < 0) + return NULL; + } - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1618), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (RAND_METHOD const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1618), arg0) < 0) - return NULL; - } - Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = RAND_set_rand_method(x0); } + { result = RAND_set_rand_method(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, int); + return _cffi_from_c_int(result, int); } #else -# define _cffi_f_RAND_set_rand_method _cffi_d_RAND_set_rand_method +# define _cffi_f_RAND_set_rand_method _cffi_d_RAND_set_rand_method #endif static int _cffi_d_RAND_status(void) @@ -29446,13 +29446,13 @@ _cffi_f_RSAPublicKey_dup(PyObject *self, PyObject *arg0) RSA * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg0, (char **)&x0); + _cffi_type(476), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) return NULL; } @@ -29463,7 +29463,7 @@ _cffi_f_RSAPublicKey_dup(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(476)); + return _cffi_from_c_pointer((char *)result, _cffi_type(476)); } #else # define _cffi_f_RSAPublicKey_dup _cffi_d_RSAPublicKey_dup @@ -29488,24 +29488,24 @@ _cffi_f_RSA_blinding_on(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg0, (char **)&x0); + _cffi_type(476), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(94), arg1, (char **)&x1); + _cffi_type(94), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BN_CTX *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(94), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(94), arg1) < 0) return NULL; } @@ -29535,13 +29535,13 @@ _cffi_f_RSA_check_key(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(967), arg0, (char **)&x0); + _cffi_type(967), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(967), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(967), arg0) < 0) return NULL; } @@ -29570,13 +29570,13 @@ _cffi_f_RSA_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg0, (char **)&x0); + _cffi_type(476), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) return NULL; } @@ -29617,13 +29617,13 @@ _cffi_f_RSA_generate_key_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg0, (char **)&x0); + _cffi_type(476), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) return NULL; } @@ -29643,13 +29643,13 @@ _cffi_f_RSA_generate_key_ex(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(848), arg3, (char **)&x3); + _cffi_type(848), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BN_GENCB *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(848), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(848), arg3) < 0) return NULL; } @@ -29688,46 +29688,46 @@ _cffi_f_RSA_get0_crt_params(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(967), arg0, (char **)&x0); + _cffi_type(967), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(967), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(967), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg1, (char **)&x1); + _cffi_type(2631), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg2, (char **)&x2); + _cffi_type(2631), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg3, (char **)&x3); + _cffi_type(2631), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2631), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2631), arg3) < 0) return NULL; } @@ -29765,35 +29765,35 @@ _cffi_f_RSA_get0_factors(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(967), arg0, (char **)&x0); + _cffi_type(967), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(967), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(967), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg1, (char **)&x1); + _cffi_type(2631), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg2, (char **)&x2); + _cffi_type(2631), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) return NULL; } @@ -29833,46 +29833,46 @@ _cffi_f_RSA_get0_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(967), arg0, (char **)&x0); + _cffi_type(967), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(967), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(967), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg1, (char **)&x1); + _cffi_type(2631), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2631), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg2, (char **)&x2); + _cffi_type(2631), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2631), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2631), arg3, (char **)&x3); + _cffi_type(2631), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (BIGNUM const * *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2631), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2631), arg3) < 0) return NULL; } @@ -29908,7 +29908,7 @@ _cffi_f_RSA_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(476)); + return _cffi_from_c_pointer((char *)result, _cffi_type(476)); } #else # define _cffi_f_RSA_new _cffi_d_RSA_new @@ -29935,24 +29935,24 @@ _cffi_f_RSA_print(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(967), arg1, (char **)&x1); + _cffi_type(967), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (RSA const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(967), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(967), arg1) < 0) return NULL; } @@ -29996,13 +29996,13 @@ _cffi_f_RSA_set0_crt_params(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg0, (char **)&x0); + _cffi_type(476), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) return NULL; } @@ -30073,13 +30073,13 @@ _cffi_f_RSA_set0_factors(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg0, (char **)&x0); + _cffi_type(476), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) return NULL; } @@ -30141,13 +30141,13 @@ _cffi_f_RSA_set0_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg0, (char **)&x0); + _cffi_type(476), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (RSA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(476), arg0) < 0) return NULL; } @@ -30197,520 +30197,520 @@ _cffi_f_RSA_set0_key(PyObject *self, PyObject *args) # define _cffi_f_RSA_set0_key _cffi_d_RSA_set0_key #endif -static void _cffi_d_SCT_LIST_free(Cryptography_STACK_OF_SCT * x0) -{ - SCT_LIST_free(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_LIST_free(PyObject *self, PyObject *arg0) -{ - Cryptography_STACK_OF_SCT * x0; - Py_ssize_t datasize; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1101), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (Cryptography_STACK_OF_SCT *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1101), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { SCT_LIST_free(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_SCT_LIST_free _cffi_d_SCT_LIST_free -#endif - -static size_t _cffi_d_SCT_get0_log_id(SCT const * x0, unsigned char * * x1) -{ - return SCT_get0_log_id(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_get0_log_id(PyObject *self, PyObject *args) -{ - SCT const * x0; - unsigned char * * x1; - Py_ssize_t datasize; - size_t result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SCT_get0_log_id", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(747), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SCT const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char * *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_get0_log_id(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, size_t); -} -#else -# define _cffi_f_SCT_get0_log_id _cffi_d_SCT_get0_log_id -#endif - -static size_t _cffi_d_SCT_get0_signature(SCT const * x0, unsigned char * * x1) -{ - return SCT_get0_signature(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_get0_signature(PyObject *self, PyObject *args) -{ - SCT const * x0; - unsigned char * * x1; - Py_ssize_t datasize; - size_t result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SCT_get0_signature", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(747), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SCT const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char * *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_get0_signature(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, size_t); -} -#else -# define _cffi_f_SCT_get0_signature _cffi_d_SCT_get0_signature -#endif - -static ct_log_entry_type_t _cffi_d_SCT_get_log_entry_type(SCT const * x0) -{ - return SCT_get_log_entry_type(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_get_log_entry_type(PyObject *self, PyObject *arg0) -{ - SCT const * x0; - Py_ssize_t datasize; - ct_log_entry_type_t result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(747), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SCT const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_get_log_entry_type(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_deref((char *)&result, _cffi_type(1646)); -} -#else -# define _cffi_f_SCT_get_log_entry_type _cffi_d_SCT_get_log_entry_type -#endif - -static uint64_t _cffi_d_SCT_get_timestamp(SCT const * x0) -{ - return SCT_get_timestamp(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_get_timestamp(PyObject *self, PyObject *arg0) -{ - SCT const * x0; - Py_ssize_t datasize; - uint64_t result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(747), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SCT const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_get_timestamp(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, uint64_t); -} -#else -# define _cffi_f_SCT_get_timestamp _cffi_d_SCT_get_timestamp -#endif - -static sct_version_t _cffi_d_SCT_get_version(SCT const * x0) -{ - return SCT_get_version(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_get_version(PyObject *self, PyObject *arg0) -{ - SCT const * x0; - Py_ssize_t datasize; - sct_version_t result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(747), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SCT const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_get_version(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_deref((char *)&result, _cffi_type(1654)); -} -#else -# define _cffi_f_SCT_get_version _cffi_d_SCT_get_version -#endif - -static SCT * _cffi_d_SCT_new(void) -{ - return SCT_new(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_new(PyObject *self, PyObject *noarg) -{ - SCT * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_new(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1102)); -} -#else -# define _cffi_f_SCT_new _cffi_d_SCT_new -#endif - -static int _cffi_d_SCT_set1_log_id(SCT * x0, unsigned char * x1, size_t x2) -{ - return SCT_set1_log_id(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_set1_log_id(PyObject *self, PyObject *args) -{ - SCT * x0; - unsigned char * x1; - size_t x2; - Py_ssize_t datasize; +static void _cffi_d_SCT_LIST_free(Cryptography_STACK_OF_SCT * x0) +{ + SCT_LIST_free(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_LIST_free(PyObject *self, PyObject *arg0) +{ + Cryptography_STACK_OF_SCT * x0; + Py_ssize_t datasize; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1101), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (Cryptography_STACK_OF_SCT *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1101), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { SCT_LIST_free(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_SCT_LIST_free _cffi_d_SCT_LIST_free +#endif + +static size_t _cffi_d_SCT_get0_log_id(SCT const * x0, unsigned char * * x1) +{ + return SCT_get0_log_id(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_get0_log_id(PyObject *self, PyObject *args) +{ + SCT const * x0; + unsigned char * * x1; + Py_ssize_t datasize; + size_t result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SCT_get0_log_id", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(747), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SCT const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(802), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char * *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_get0_log_id(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, size_t); +} +#else +# define _cffi_f_SCT_get0_log_id _cffi_d_SCT_get0_log_id +#endif + +static size_t _cffi_d_SCT_get0_signature(SCT const * x0, unsigned char * * x1) +{ + return SCT_get0_signature(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_get0_signature(PyObject *self, PyObject *args) +{ + SCT const * x0; + unsigned char * * x1; + Py_ssize_t datasize; + size_t result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SCT_get0_signature", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(747), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SCT const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(802), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char * *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_get0_signature(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, size_t); +} +#else +# define _cffi_f_SCT_get0_signature _cffi_d_SCT_get0_signature +#endif + +static ct_log_entry_type_t _cffi_d_SCT_get_log_entry_type(SCT const * x0) +{ + return SCT_get_log_entry_type(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_get_log_entry_type(PyObject *self, PyObject *arg0) +{ + SCT const * x0; + Py_ssize_t datasize; + ct_log_entry_type_t result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(747), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SCT const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_get_log_entry_type(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_deref((char *)&result, _cffi_type(1646)); +} +#else +# define _cffi_f_SCT_get_log_entry_type _cffi_d_SCT_get_log_entry_type +#endif + +static uint64_t _cffi_d_SCT_get_timestamp(SCT const * x0) +{ + return SCT_get_timestamp(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_get_timestamp(PyObject *self, PyObject *arg0) +{ + SCT const * x0; + Py_ssize_t datasize; + uint64_t result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(747), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SCT const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_get_timestamp(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, uint64_t); +} +#else +# define _cffi_f_SCT_get_timestamp _cffi_d_SCT_get_timestamp +#endif + +static sct_version_t _cffi_d_SCT_get_version(SCT const * x0) +{ + return SCT_get_version(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_get_version(PyObject *self, PyObject *arg0) +{ + SCT const * x0; + Py_ssize_t datasize; + sct_version_t result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(747), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SCT const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(747), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_get_version(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_deref((char *)&result, _cffi_type(1654)); +} +#else +# define _cffi_f_SCT_get_version _cffi_d_SCT_get_version +#endif + +static SCT * _cffi_d_SCT_new(void) +{ + return SCT_new(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_new(PyObject *self, PyObject *noarg) +{ + SCT * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_new(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(1102)); +} +#else +# define _cffi_f_SCT_new _cffi_d_SCT_new +#endif + +static int _cffi_d_SCT_set1_log_id(SCT * x0, unsigned char * x1, size_t x2) +{ + return SCT_set1_log_id(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_set1_log_id(PyObject *self, PyObject *args) +{ + SCT * x0; + unsigned char * x1; + size_t x2; + Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; PyObject *arg2; - if (!PyArg_UnpackTuple(args, "SCT_set1_log_id", 3, 3, &arg0, &arg1, &arg2)) + if (!PyArg_UnpackTuple(args, "SCT_set1_log_id", 3, 3, &arg0, &arg1, &arg2)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1102), arg0, (char **)&x0); + _cffi_type(1102), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (SCT *)alloca((size_t)datasize); + x0 = (SCT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); + x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, size_t); + if (x2 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_set1_log_id(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SCT_set1_log_id _cffi_d_SCT_set1_log_id +#endif + +static int _cffi_d_SCT_set_log_entry_type(SCT * x0, ct_log_entry_type_t x1) +{ + return SCT_set_log_entry_type(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_set_log_entry_type(PyObject *self, PyObject *args) +{ + SCT * x0; + ct_log_entry_type_t x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SCT_set_log_entry_type", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1102), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SCT *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) + return NULL; + } + + if (_cffi_to_c((char *)&x1, _cffi_type(1646), arg1) < 0) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_set_log_entry_type(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SCT_set_log_entry_type _cffi_d_SCT_set_log_entry_type +#endif + +static int _cffi_d_SCT_set_source(SCT * x0, sct_source_t x1) +{ + return SCT_set_source(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_set_source(PyObject *self, PyObject *args) +{ + SCT * x0; + sct_source_t x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SCT_set_source", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1102), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SCT *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) + return NULL; + } + + if (_cffi_to_c((char *)&x1, _cffi_type(1650), arg1) < 0) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_set_source(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SCT_set_source _cffi_d_SCT_set_source +#endif + +static void _cffi_d_SCT_set_timestamp(SCT * x0, uint64_t x1) +{ + SCT_set_timestamp(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_set_timestamp(PyObject *self, PyObject *args) +{ + SCT * x0; + uint64_t x1; + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SCT_set_timestamp", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1102), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SCT *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) return NULL; } - x2 = _cffi_to_c_int(arg2, size_t); - if (x2 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_set1_log_id(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SCT_set1_log_id _cffi_d_SCT_set1_log_id -#endif - -static int _cffi_d_SCT_set_log_entry_type(SCT * x0, ct_log_entry_type_t x1) -{ - return SCT_set_log_entry_type(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_set_log_entry_type(PyObject *self, PyObject *args) -{ - SCT * x0; - ct_log_entry_type_t x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SCT_set_log_entry_type", 2, 2, &arg0, &arg1)) - return NULL; - + x1 = _cffi_to_c_int(arg1, uint64_t); + if (x1 == (uint64_t)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { SCT_set_timestamp(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_SCT_set_timestamp _cffi_d_SCT_set_timestamp +#endif + +static int _cffi_d_SCT_set_version(SCT * x0, sct_version_t x1) +{ + return SCT_set_version(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SCT_set_version(PyObject *self, PyObject *args) +{ + SCT * x0; + sct_version_t x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SCT_set_version", 2, 2, &arg0, &arg1)) + return NULL; + datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1102), arg0, (char **)&x0); + _cffi_type(1102), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (SCT *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) + x0 = (SCT *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) return NULL; } - if (_cffi_to_c((char *)&x1, _cffi_type(1646), arg1) < 0) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_set_log_entry_type(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SCT_set_log_entry_type _cffi_d_SCT_set_log_entry_type -#endif - -static int _cffi_d_SCT_set_source(SCT * x0, sct_source_t x1) -{ - return SCT_set_source(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_set_source(PyObject *self, PyObject *args) -{ - SCT * x0; - sct_source_t x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SCT_set_source", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1102), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SCT *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) - return NULL; - } - - if (_cffi_to_c((char *)&x1, _cffi_type(1650), arg1) < 0) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_set_source(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SCT_set_source _cffi_d_SCT_set_source -#endif - -static void _cffi_d_SCT_set_timestamp(SCT * x0, uint64_t x1) -{ - SCT_set_timestamp(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_set_timestamp(PyObject *self, PyObject *args) -{ - SCT * x0; - uint64_t x1; - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SCT_set_timestamp", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1102), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SCT *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, uint64_t); - if (x1 == (uint64_t)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { SCT_set_timestamp(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_SCT_set_timestamp _cffi_d_SCT_set_timestamp -#endif - -static int _cffi_d_SCT_set_version(SCT * x0, sct_version_t x1) -{ - return SCT_set_version(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SCT_set_version(PyObject *self, PyObject *args) -{ - SCT * x0; - sct_version_t x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SCT_set_version", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1102), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SCT *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1102), arg0) < 0) - return NULL; - } - - if (_cffi_to_c((char *)&x1, _cffi_type(1654), arg1) < 0) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SCT_set_version(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SCT_set_version _cffi_d_SCT_set_version -#endif - + if (_cffi_to_c((char *)&x1, _cffi_type(1654), arg1) < 0) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SCT_set_version(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SCT_set_version _cffi_d_SCT_set_version +#endif + static PKCS7 * _cffi_d_SMIME_read_PKCS7(BIO * x0, BIO * * x1) { return SMIME_read_PKCS7(x0, x1); @@ -30730,24 +30730,24 @@ _cffi_f_SMIME_read_PKCS7(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(422), arg1, (char **)&x1); + _cffi_type(422), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIO * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(422), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(422), arg1) < 0) return NULL; } @@ -30758,7 +30758,7 @@ _cffi_f_SMIME_read_PKCS7(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(442)); + return _cffi_from_c_pointer((char *)result, _cffi_type(442)); } #else # define _cffi_f_SMIME_read_PKCS7 _cffi_d_SMIME_read_PKCS7 @@ -30787,35 +30787,35 @@ _cffi_f_SMIME_write_PKCS7(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg1, (char **)&x1); + _cffi_type(442), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(442), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(442), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg2, (char **)&x2); + _cffi_type(186), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIO *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(186), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(186), arg2) < 0) return NULL; } @@ -30836,42 +30836,42 @@ _cffi_f_SMIME_write_PKCS7(PyObject *self, PyObject *args) # define _cffi_f_SMIME_write_PKCS7 _cffi_d_SMIME_write_PKCS7 #endif -static int _cffi_d_SSL_CIPHER_get_auth_nid(SSL_CIPHER const * x0) -{ - return SSL_CIPHER_get_auth_nid(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CIPHER_get_auth_nid(PyObject *self, PyObject *arg0) -{ - SSL_CIPHER const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(733), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CIPHER const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CIPHER_get_auth_nid(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CIPHER_get_auth_nid _cffi_d_SSL_CIPHER_get_auth_nid -#endif - +static int _cffi_d_SSL_CIPHER_get_auth_nid(SSL_CIPHER const * x0) +{ + return SSL_CIPHER_get_auth_nid(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CIPHER_get_auth_nid(PyObject *self, PyObject *arg0) +{ + SSL_CIPHER const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(733), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CIPHER const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CIPHER_get_auth_nid(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CIPHER_get_auth_nid _cffi_d_SSL_CIPHER_get_auth_nid +#endif + static int _cffi_d_SSL_CIPHER_get_bits(SSL_CIPHER const * x0, int * x1) { return SSL_CIPHER_get_bits(x0, x1); @@ -30891,24 +30891,24 @@ _cffi_f_SSL_CIPHER_get_bits(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(733), arg0, (char **)&x0); + _cffi_type(733), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CIPHER const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg1, (char **)&x1); + _cffi_type(1169), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (int *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1169), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1169), arg1) < 0) return NULL; } @@ -30925,150 +30925,150 @@ _cffi_f_SSL_CIPHER_get_bits(PyObject *self, PyObject *args) # define _cffi_f_SSL_CIPHER_get_bits _cffi_d_SSL_CIPHER_get_bits #endif -static int _cffi_d_SSL_CIPHER_get_cipher_nid(SSL_CIPHER const * x0) -{ - return SSL_CIPHER_get_cipher_nid(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CIPHER_get_cipher_nid(PyObject *self, PyObject *arg0) -{ - SSL_CIPHER const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(733), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CIPHER const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CIPHER_get_cipher_nid(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CIPHER_get_cipher_nid _cffi_d_SSL_CIPHER_get_cipher_nid -#endif - -static int _cffi_d_SSL_CIPHER_get_digest_nid(SSL_CIPHER const * x0) -{ - return SSL_CIPHER_get_digest_nid(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CIPHER_get_digest_nid(PyObject *self, PyObject *arg0) -{ - SSL_CIPHER const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(733), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CIPHER const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CIPHER_get_digest_nid(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CIPHER_get_digest_nid _cffi_d_SSL_CIPHER_get_digest_nid -#endif - -static uint64_t _cffi_d_SSL_CIPHER_get_id(SSL_CIPHER const * x0) -{ - return SSL_CIPHER_get_id(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CIPHER_get_id(PyObject *self, PyObject *arg0) -{ - SSL_CIPHER const * x0; - Py_ssize_t datasize; - uint64_t result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(733), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CIPHER const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CIPHER_get_id(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, uint64_t); -} -#else -# define _cffi_f_SSL_CIPHER_get_id _cffi_d_SSL_CIPHER_get_id -#endif - -static int _cffi_d_SSL_CIPHER_get_kx_nid(SSL_CIPHER const * x0) -{ - return SSL_CIPHER_get_kx_nid(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CIPHER_get_kx_nid(PyObject *self, PyObject *arg0) -{ - SSL_CIPHER const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(733), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CIPHER const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CIPHER_get_kx_nid(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CIPHER_get_kx_nid _cffi_d_SSL_CIPHER_get_kx_nid -#endif - +static int _cffi_d_SSL_CIPHER_get_cipher_nid(SSL_CIPHER const * x0) +{ + return SSL_CIPHER_get_cipher_nid(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CIPHER_get_cipher_nid(PyObject *self, PyObject *arg0) +{ + SSL_CIPHER const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(733), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CIPHER const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CIPHER_get_cipher_nid(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CIPHER_get_cipher_nid _cffi_d_SSL_CIPHER_get_cipher_nid +#endif + +static int _cffi_d_SSL_CIPHER_get_digest_nid(SSL_CIPHER const * x0) +{ + return SSL_CIPHER_get_digest_nid(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CIPHER_get_digest_nid(PyObject *self, PyObject *arg0) +{ + SSL_CIPHER const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(733), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CIPHER const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CIPHER_get_digest_nid(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CIPHER_get_digest_nid _cffi_d_SSL_CIPHER_get_digest_nid +#endif + +static uint64_t _cffi_d_SSL_CIPHER_get_id(SSL_CIPHER const * x0) +{ + return SSL_CIPHER_get_id(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CIPHER_get_id(PyObject *self, PyObject *arg0) +{ + SSL_CIPHER const * x0; + Py_ssize_t datasize; + uint64_t result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(733), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CIPHER const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CIPHER_get_id(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, uint64_t); +} +#else +# define _cffi_f_SSL_CIPHER_get_id _cffi_d_SSL_CIPHER_get_id +#endif + +static int _cffi_d_SSL_CIPHER_get_kx_nid(SSL_CIPHER const * x0) +{ + return SSL_CIPHER_get_kx_nid(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CIPHER_get_kx_nid(PyObject *self, PyObject *arg0) +{ + SSL_CIPHER const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(733), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CIPHER const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CIPHER_get_kx_nid(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CIPHER_get_kx_nid _cffi_d_SSL_CIPHER_get_kx_nid +#endif + static char const * _cffi_d_SSL_CIPHER_get_name(SSL_CIPHER const * x0) { return SSL_CIPHER_get_name(x0); @@ -31082,13 +31082,13 @@ _cffi_f_SSL_CIPHER_get_name(PyObject *self, PyObject *arg0) char const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(733), arg0, (char **)&x0); + _cffi_type(733), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CIPHER const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) return NULL; } @@ -31099,7 +31099,7 @@ _cffi_f_SSL_CIPHER_get_name(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_SSL_CIPHER_get_name _cffi_d_SSL_CIPHER_get_name @@ -31118,13 +31118,13 @@ _cffi_f_SSL_CIPHER_get_version(PyObject *self, PyObject *arg0) char const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(733), arg0, (char **)&x0); + _cffi_type(733), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CIPHER const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) return NULL; } @@ -31135,48 +31135,48 @@ _cffi_f_SSL_CIPHER_get_version(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_SSL_CIPHER_get_version _cffi_d_SSL_CIPHER_get_version #endif -static int _cffi_d_SSL_CIPHER_is_aead(SSL_CIPHER const * x0) -{ - return SSL_CIPHER_is_aead(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CIPHER_is_aead(PyObject *self, PyObject *arg0) -{ - SSL_CIPHER const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(733), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CIPHER const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CIPHER_is_aead(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CIPHER_is_aead _cffi_d_SSL_CIPHER_is_aead -#endif - +static int _cffi_d_SSL_CIPHER_is_aead(SSL_CIPHER const * x0) +{ + return SSL_CIPHER_is_aead(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CIPHER_is_aead(PyObject *self, PyObject *arg0) +{ + SSL_CIPHER const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(733), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CIPHER const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(733), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CIPHER_is_aead(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CIPHER_is_aead _cffi_d_SSL_CIPHER_is_aead +#endif + static int _cffi_d_SSL_CTX_add_client_CA(SSL_CTX * x0, X509 * x1) { return SSL_CTX_add_client_CA(x0, x1); @@ -31196,13 +31196,13 @@ _cffi_f_SSL_CTX_add_client_CA(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -31230,96 +31230,96 @@ _cffi_f_SSL_CTX_add_client_CA(PyObject *self, PyObject *args) # define _cffi_f_SSL_CTX_add_client_CA _cffi_d_SSL_CTX_add_client_CA #endif -static int _cffi_d_SSL_CTX_add_client_custom_ext(SSL_CTX * x0, unsigned int x1, int(* x2)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *), void(* x3)(SSL *, unsigned int, unsigned char const *, void *), void * x4, int(* x5)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *), void * x6) -{ - return SSL_CTX_add_client_custom_ext(x0, x1, x2, x3, x4, x5, x6); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_add_client_custom_ext(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - unsigned int x1; - int(* x2)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *); - void(* x3)(SSL *, unsigned int, unsigned char const *, void *); - void * x4; - int(* x5)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *); - void * x6; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - PyObject *arg4; - PyObject *arg5; - PyObject *arg6; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_add_client_custom_ext", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, unsigned int); - if (x1 == (unsigned int)-1 && PyErr_Occurred()) - return NULL; - - x2 = (int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *))_cffi_to_c_pointer(arg2, _cffi_type(1821)); - if (x2 == (int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *))NULL && PyErr_Occurred()) - return NULL; - - x3 = (void(*)(SSL *, unsigned int, unsigned char const *, void *))_cffi_to_c_pointer(arg3, _cffi_type(1822)); - if (x3 == (void(*)(SSL *, unsigned int, unsigned char const *, void *))NULL && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg4, (char **)&x4); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x4 = (void *)alloca((size_t)datasize); - memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(193), arg4) < 0) - return NULL; - } - - x5 = (int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *))_cffi_to_c_pointer(arg5, _cffi_type(1824)); - if (x5 == (int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *))NULL && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg6, (char **)&x6); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x6 = (void *)alloca((size_t)datasize); - memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_add_client_custom_ext(x0, x1, x2, x3, x4, x5, x6); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CTX_add_client_custom_ext _cffi_d_SSL_CTX_add_client_custom_ext -#endif - +static int _cffi_d_SSL_CTX_add_client_custom_ext(SSL_CTX * x0, unsigned int x1, int(* x2)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *), void(* x3)(SSL *, unsigned int, unsigned char const *, void *), void * x4, int(* x5)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *), void * x6) +{ + return SSL_CTX_add_client_custom_ext(x0, x1, x2, x3, x4, x5, x6); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_add_client_custom_ext(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + unsigned int x1; + int(* x2)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *); + void(* x3)(SSL *, unsigned int, unsigned char const *, void *); + void * x4; + int(* x5)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *); + void * x6; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + PyObject *arg4; + PyObject *arg5; + PyObject *arg6; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_add_client_custom_ext", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, unsigned int); + if (x1 == (unsigned int)-1 && PyErr_Occurred()) + return NULL; + + x2 = (int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *))_cffi_to_c_pointer(arg2, _cffi_type(1821)); + if (x2 == (int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *))NULL && PyErr_Occurred()) + return NULL; + + x3 = (void(*)(SSL *, unsigned int, unsigned char const *, void *))_cffi_to_c_pointer(arg3, _cffi_type(1822)); + if (x3 == (void(*)(SSL *, unsigned int, unsigned char const *, void *))NULL && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(193), arg4, (char **)&x4); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x4 = (void *)alloca((size_t)datasize); + memset((void *)x4, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(193), arg4) < 0) + return NULL; + } + + x5 = (int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *))_cffi_to_c_pointer(arg5, _cffi_type(1824)); + if (x5 == (int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *))NULL && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(193), arg6, (char **)&x6); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x6 = (void *)alloca((size_t)datasize); + memset((void *)x6, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_add_client_custom_ext(x0, x1, x2, x3, x4, x5, x6); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CTX_add_client_custom_ext _cffi_d_SSL_CTX_add_client_custom_ext +#endif + static unsigned long _cffi_d_SSL_CTX_add_extra_chain_cert(SSL_CTX * x0, X509 * x1) { return SSL_CTX_add_extra_chain_cert(x0, x1); @@ -31339,13 +31339,13 @@ _cffi_f_SSL_CTX_add_extra_chain_cert(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -31373,96 +31373,96 @@ _cffi_f_SSL_CTX_add_extra_chain_cert(PyObject *self, PyObject *args) # define _cffi_f_SSL_CTX_add_extra_chain_cert _cffi_d_SSL_CTX_add_extra_chain_cert #endif -static int _cffi_d_SSL_CTX_add_server_custom_ext(SSL_CTX * x0, unsigned int x1, int(* x2)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *), void(* x3)(SSL *, unsigned int, unsigned char const *, void *), void * x4, int(* x5)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *), void * x6) -{ - return SSL_CTX_add_server_custom_ext(x0, x1, x2, x3, x4, x5, x6); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_add_server_custom_ext(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - unsigned int x1; - int(* x2)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *); - void(* x3)(SSL *, unsigned int, unsigned char const *, void *); - void * x4; - int(* x5)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *); - void * x6; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - PyObject *arg4; - PyObject *arg5; - PyObject *arg6; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_add_server_custom_ext", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, unsigned int); - if (x1 == (unsigned int)-1 && PyErr_Occurred()) - return NULL; - - x2 = (int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *))_cffi_to_c_pointer(arg2, _cffi_type(1821)); - if (x2 == (int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *))NULL && PyErr_Occurred()) - return NULL; - - x3 = (void(*)(SSL *, unsigned int, unsigned char const *, void *))_cffi_to_c_pointer(arg3, _cffi_type(1822)); - if (x3 == (void(*)(SSL *, unsigned int, unsigned char const *, void *))NULL && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg4, (char **)&x4); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x4 = (void *)alloca((size_t)datasize); - memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(193), arg4) < 0) - return NULL; - } - - x5 = (int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *))_cffi_to_c_pointer(arg5, _cffi_type(1824)); - if (x5 == (int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *))NULL && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg6, (char **)&x6); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x6 = (void *)alloca((size_t)datasize); - memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_add_server_custom_ext(x0, x1, x2, x3, x4, x5, x6); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CTX_add_server_custom_ext _cffi_d_SSL_CTX_add_server_custom_ext -#endif - +static int _cffi_d_SSL_CTX_add_server_custom_ext(SSL_CTX * x0, unsigned int x1, int(* x2)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *), void(* x3)(SSL *, unsigned int, unsigned char const *, void *), void * x4, int(* x5)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *), void * x6) +{ + return SSL_CTX_add_server_custom_ext(x0, x1, x2, x3, x4, x5, x6); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_add_server_custom_ext(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + unsigned int x1; + int(* x2)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *); + void(* x3)(SSL *, unsigned int, unsigned char const *, void *); + void * x4; + int(* x5)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *); + void * x6; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + PyObject *arg4; + PyObject *arg5; + PyObject *arg6; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_add_server_custom_ext", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, unsigned int); + if (x1 == (unsigned int)-1 && PyErr_Occurred()) + return NULL; + + x2 = (int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *))_cffi_to_c_pointer(arg2, _cffi_type(1821)); + if (x2 == (int(*)(SSL *, unsigned int, unsigned char const * *, size_t *, int *, void *))NULL && PyErr_Occurred()) + return NULL; + + x3 = (void(*)(SSL *, unsigned int, unsigned char const *, void *))_cffi_to_c_pointer(arg3, _cffi_type(1822)); + if (x3 == (void(*)(SSL *, unsigned int, unsigned char const *, void *))NULL && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(193), arg4, (char **)&x4); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x4 = (void *)alloca((size_t)datasize); + memset((void *)x4, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(193), arg4) < 0) + return NULL; + } + + x5 = (int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *))_cffi_to_c_pointer(arg5, _cffi_type(1824)); + if (x5 == (int(*)(SSL *, unsigned int, unsigned char const *, size_t, int *, void *))NULL && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(193), arg6, (char **)&x6); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x6 = (void *)alloca((size_t)datasize); + memset((void *)x6, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_add_server_custom_ext(x0, x1, x2, x3, x4, x5, x6); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CTX_add_server_custom_ext _cffi_d_SSL_CTX_add_server_custom_ext +#endif + static int _cffi_d_SSL_CTX_check_private_key(SSL_CTX const * x0) { return SSL_CTX_check_private_key(x0); @@ -31476,13 +31476,13 @@ _cffi_f_SSL_CTX_check_private_key(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(691), arg0, (char **)&x0); + _cffi_type(691), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) return NULL; } @@ -31499,52 +31499,52 @@ _cffi_f_SSL_CTX_check_private_key(PyObject *self, PyObject *arg0) # define _cffi_f_SSL_CTX_check_private_key _cffi_d_SSL_CTX_check_private_key #endif -static unsigned long _cffi_d_SSL_CTX_clear_mode(SSL_CTX * x0, unsigned long x1) -{ - return SSL_CTX_clear_mode(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_clear_mode(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - unsigned long x1; - Py_ssize_t datasize; - unsigned long result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_clear_mode", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, unsigned long); - if (x1 == (unsigned long)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_clear_mode(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, unsigned long); -} -#else -# define _cffi_f_SSL_CTX_clear_mode _cffi_d_SSL_CTX_clear_mode -#endif - +static unsigned long _cffi_d_SSL_CTX_clear_mode(SSL_CTX * x0, unsigned long x1) +{ + return SSL_CTX_clear_mode(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_clear_mode(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + unsigned long x1; + Py_ssize_t datasize; + unsigned long result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_clear_mode", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, unsigned long); + if (x1 == (unsigned long)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_clear_mode(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, unsigned long); +} +#else +# define _cffi_f_SSL_CTX_clear_mode _cffi_d_SSL_CTX_clear_mode +#endif + static unsigned long _cffi_d_SSL_CTX_clear_options(SSL_CTX * x0, unsigned long x1) { return SSL_CTX_clear_options(x0, x1); @@ -31564,13 +31564,13 @@ _cffi_f_SSL_CTX_clear_options(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -31603,13 +31603,13 @@ _cffi_f_SSL_CTX_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -31627,42 +31627,42 @@ _cffi_f_SSL_CTX_free(PyObject *self, PyObject *arg0) # define _cffi_f_SSL_CTX_free _cffi_d_SSL_CTX_free #endif -static X509_VERIFY_PARAM * _cffi_d_SSL_CTX_get0_param(SSL_CTX * x0) -{ - return SSL_CTX_get0_param(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_get0_param(PyObject *self, PyObject *arg0) -{ - SSL_CTX * x0; - Py_ssize_t datasize; - X509_VERIFY_PARAM * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_get0_param(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); -} -#else -# define _cffi_f_SSL_CTX_get0_param _cffi_d_SSL_CTX_get0_param -#endif - +static X509_VERIFY_PARAM * _cffi_d_SSL_CTX_get0_param(SSL_CTX * x0) +{ + return SSL_CTX_get0_param(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_get0_param(PyObject *self, PyObject *arg0) +{ + SSL_CTX * x0; + Py_ssize_t datasize; + X509_VERIFY_PARAM * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_get0_param(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); +} +#else +# define _cffi_f_SSL_CTX_get0_param _cffi_d_SSL_CTX_get0_param +#endif + static X509_STORE * _cffi_d_SSL_CTX_get_cert_store(SSL_CTX const * x0) { return SSL_CTX_get_cert_store(x0); @@ -31676,13 +31676,13 @@ _cffi_f_SSL_CTX_get_cert_store(PyObject *self, PyObject *arg0) X509_STORE * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(691), arg0, (char **)&x0); + _cffi_type(691), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) return NULL; } @@ -31693,7 +31693,7 @@ _cffi_f_SSL_CTX_get_cert_store(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(180)); + return _cffi_from_c_pointer((char *)result, _cffi_type(180)); } #else # define _cffi_f_SSL_CTX_get_cert_store _cffi_d_SSL_CTX_get_cert_store @@ -31718,13 +31718,13 @@ _cffi_f_SSL_CTX_get_ex_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(691), arg0, (char **)&x0); + _cffi_type(691), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) return NULL; } @@ -31739,7 +31739,7 @@ _cffi_f_SSL_CTX_get_ex_data(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); } #else # define _cffi_f_SSL_CTX_get_ex_data _cffi_d_SSL_CTX_get_ex_data @@ -31774,46 +31774,46 @@ _cffi_f_SSL_CTX_get_ex_new_index(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2237), arg2, (char **)&x2); + _cffi_type(2237), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (CRYPTO_EX_new *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2237), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2237), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2238), arg3, (char **)&x3); + _cffi_type(2238), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (CRYPTO_EX_dup *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2238), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2238), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2239), arg4, (char **)&x4); + _cffi_type(2239), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (CRYPTO_EX_free *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(2239), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(2239), arg4) < 0) return NULL; } @@ -31843,13 +31843,13 @@ _cffi_f_SSL_CTX_get_info_callback(PyObject *self, PyObject *arg0) void(* result)(SSL const *, int, int); datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -31860,146 +31860,146 @@ _cffi_f_SSL_CTX_get_info_callback(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2867)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2867)); } #else # define _cffi_f_SSL_CTX_get_info_callback _cffi_d_SSL_CTX_get_info_callback #endif -static void(* _cffi_d_SSL_CTX_get_keylog_callback(SSL_CTX * x0))(SSL const *, char const *) +static void(* _cffi_d_SSL_CTX_get_keylog_callback(SSL_CTX * x0))(SSL const *, char const *) { - return SSL_CTX_get_keylog_callback(x0); + return SSL_CTX_get_keylog_callback(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_CTX_get_keylog_callback(PyObject *self, PyObject *arg0) +_cffi_f_SSL_CTX_get_keylog_callback(PyObject *self, PyObject *arg0) { SSL_CTX * x0; Py_ssize_t datasize; - void(* result)(SSL const *, char const *); + void(* result)(SSL const *, char const *); datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_CTX_get_keylog_callback(x0); } + { result = SSL_CTX_get_keylog_callback(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2863)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2863)); } #else -# define _cffi_f_SSL_CTX_get_keylog_callback _cffi_d_SSL_CTX_get_keylog_callback +# define _cffi_f_SSL_CTX_get_keylog_callback _cffi_d_SSL_CTX_get_keylog_callback #endif -static long _cffi_d_SSL_CTX_get_max_proto_version(SSL_CTX * x0) +static long _cffi_d_SSL_CTX_get_max_proto_version(SSL_CTX * x0) { - return SSL_CTX_get_max_proto_version(x0); + return SSL_CTX_get_max_proto_version(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_CTX_get_max_proto_version(PyObject *self, PyObject *arg0) +_cffi_f_SSL_CTX_get_max_proto_version(PyObject *self, PyObject *arg0) { SSL_CTX * x0; Py_ssize_t datasize; - long result; + long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_CTX_get_max_proto_version(x0); } + { result = SSL_CTX_get_max_proto_version(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else -# define _cffi_f_SSL_CTX_get_max_proto_version _cffi_d_SSL_CTX_get_max_proto_version +# define _cffi_f_SSL_CTX_get_max_proto_version _cffi_d_SSL_CTX_get_max_proto_version #endif -static long _cffi_d_SSL_CTX_get_min_proto_version(SSL_CTX * x0) -{ - return SSL_CTX_get_min_proto_version(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_get_min_proto_version(PyObject *self, PyObject *arg0) -{ - SSL_CTX * x0; - Py_ssize_t datasize; - long result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_get_min_proto_version(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_SSL_CTX_get_min_proto_version _cffi_d_SSL_CTX_get_min_proto_version -#endif - -static unsigned long _cffi_d_SSL_CTX_get_mode(SSL_CTX * x0) +static long _cffi_d_SSL_CTX_get_min_proto_version(SSL_CTX * x0) { - return SSL_CTX_get_mode(x0); + return SSL_CTX_get_min_proto_version(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_CTX_get_mode(PyObject *self, PyObject *arg0) +_cffi_f_SSL_CTX_get_min_proto_version(PyObject *self, PyObject *arg0) +{ + SSL_CTX * x0; + Py_ssize_t datasize; + long result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_get_min_proto_version(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_SSL_CTX_get_min_proto_version _cffi_d_SSL_CTX_get_min_proto_version +#endif + +static unsigned long _cffi_d_SSL_CTX_get_mode(SSL_CTX * x0) +{ + return SSL_CTX_get_mode(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_get_mode(PyObject *self, PyObject *arg0) { SSL_CTX * x0; Py_ssize_t datasize; unsigned long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_CTX_get_mode(x0); } + { result = SSL_CTX_get_mode(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -32007,71 +32007,71 @@ _cffi_f_SSL_CTX_get_mode(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, unsigned long); } #else -# define _cffi_f_SSL_CTX_get_mode _cffi_d_SSL_CTX_get_mode +# define _cffi_f_SSL_CTX_get_mode _cffi_d_SSL_CTX_get_mode #endif -static unsigned long _cffi_d_SSL_CTX_get_options(SSL_CTX * x0) +static unsigned long _cffi_d_SSL_CTX_get_options(SSL_CTX * x0) { - return SSL_CTX_get_options(x0); + return SSL_CTX_get_options(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_CTX_get_options(PyObject *self, PyObject *arg0) +_cffi_f_SSL_CTX_get_options(PyObject *self, PyObject *arg0) { SSL_CTX * x0; Py_ssize_t datasize; - unsigned long result; + unsigned long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_CTX_get_options(x0); } + { result = SSL_CTX_get_options(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, unsigned long); + return _cffi_from_c_int(result, unsigned long); } #else -# define _cffi_f_SSL_CTX_get_options _cffi_d_SSL_CTX_get_options +# define _cffi_f_SSL_CTX_get_options _cffi_d_SSL_CTX_get_options #endif -static long _cffi_d_SSL_CTX_get_read_ahead(SSL_CTX * x0) +static long _cffi_d_SSL_CTX_get_read_ahead(SSL_CTX * x0) { - return SSL_CTX_get_read_ahead(x0); + return SSL_CTX_get_read_ahead(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_CTX_get_read_ahead(PyObject *self, PyObject *arg0) +_cffi_f_SSL_CTX_get_read_ahead(PyObject *self, PyObject *arg0) { - SSL_CTX * x0; + SSL_CTX * x0; Py_ssize_t datasize; long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); + x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_CTX_get_read_ahead(x0); } + { result = SSL_CTX_get_read_ahead(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -32079,79 +32079,79 @@ _cffi_f_SSL_CTX_get_read_ahead(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, long); } #else -# define _cffi_f_SSL_CTX_get_read_ahead _cffi_d_SSL_CTX_get_read_ahead -#endif - -static unsigned long _cffi_d_SSL_CTX_get_session_cache_mode(SSL_CTX * x0) -{ - return SSL_CTX_get_session_cache_mode(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_get_session_cache_mode(PyObject *self, PyObject *arg0) -{ - SSL_CTX * x0; - Py_ssize_t datasize; - unsigned long result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_get_session_cache_mode(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, unsigned long); -} -#else -# define _cffi_f_SSL_CTX_get_session_cache_mode _cffi_d_SSL_CTX_get_session_cache_mode -#endif - -static long _cffi_d_SSL_CTX_get_timeout(SSL_CTX const * x0) -{ - return SSL_CTX_get_timeout(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_get_timeout(PyObject *self, PyObject *arg0) -{ +# define _cffi_f_SSL_CTX_get_read_ahead _cffi_d_SSL_CTX_get_read_ahead +#endif + +static unsigned long _cffi_d_SSL_CTX_get_session_cache_mode(SSL_CTX * x0) +{ + return SSL_CTX_get_session_cache_mode(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_get_session_cache_mode(PyObject *self, PyObject *arg0) +{ + SSL_CTX * x0; + Py_ssize_t datasize; + unsigned long result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_get_session_cache_mode(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, unsigned long); +} +#else +# define _cffi_f_SSL_CTX_get_session_cache_mode _cffi_d_SSL_CTX_get_session_cache_mode +#endif + +static long _cffi_d_SSL_CTX_get_timeout(SSL_CTX const * x0) +{ + return SSL_CTX_get_timeout(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_get_timeout(PyObject *self, PyObject *arg0) +{ SSL_CTX const * x0; Py_ssize_t datasize; - long result; + long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(691), arg0, (char **)&x0); + _cffi_type(691), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_CTX_get_timeout(x0); } + { result = SSL_CTX_get_timeout(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else -# define _cffi_f_SSL_CTX_get_timeout _cffi_d_SSL_CTX_get_timeout +# define _cffi_f_SSL_CTX_get_timeout _cffi_d_SSL_CTX_get_timeout #endif static int _cffi_d_SSL_CTX_get_verify_depth(SSL_CTX const * x0) @@ -32167,13 +32167,13 @@ _cffi_f_SSL_CTX_get_verify_depth(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(691), arg0, (char **)&x0); + _cffi_type(691), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) return NULL; } @@ -32203,13 +32203,13 @@ _cffi_f_SSL_CTX_get_verify_mode(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(691), arg0, (char **)&x0); + _cffi_type(691), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(691), arg0) < 0) return NULL; } @@ -32247,35 +32247,35 @@ _cffi_f_SSL_CTX_load_verify_locations(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg2, (char **)&x2); + _cffi_type(46), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (char const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(46), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(46), arg2) < 0) return NULL; } @@ -32305,13 +32305,13 @@ _cffi_f_SSL_CTX_new(PyObject *self, PyObject *arg0) SSL_CTX * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(504), arg0, (char **)&x0); + _cffi_type(504), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_METHOD *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(504), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(504), arg0) < 0) return NULL; } @@ -32322,7 +32322,7 @@ _cffi_f_SSL_CTX_new(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(490)); + return _cffi_from_c_pointer((char *)result, _cffi_type(490)); } #else # define _cffi_f_SSL_CTX_new _cffi_d_SSL_CTX_new @@ -32341,13 +32341,13 @@ _cffi_f_SSL_CTX_sess_accept(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32377,13 +32377,13 @@ _cffi_f_SSL_CTX_sess_accept_good(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32413,13 +32413,13 @@ _cffi_f_SSL_CTX_sess_accept_renegotiate(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32449,13 +32449,13 @@ _cffi_f_SSL_CTX_sess_cache_full(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32485,13 +32485,13 @@ _cffi_f_SSL_CTX_sess_cb_hits(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32521,13 +32521,13 @@ _cffi_f_SSL_CTX_sess_connect(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32557,13 +32557,13 @@ _cffi_f_SSL_CTX_sess_connect_good(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32593,13 +32593,13 @@ _cffi_f_SSL_CTX_sess_connect_renegotiate(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32629,13 +32629,13 @@ _cffi_f_SSL_CTX_sess_hits(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32665,13 +32665,13 @@ _cffi_f_SSL_CTX_sess_misses(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32701,13 +32701,13 @@ _cffi_f_SSL_CTX_sess_number(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32737,13 +32737,13 @@ _cffi_f_SSL_CTX_sess_timeouts(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -32760,59 +32760,59 @@ _cffi_f_SSL_CTX_sess_timeouts(PyObject *self, PyObject *arg0) # define _cffi_f_SSL_CTX_sess_timeouts _cffi_d_SSL_CTX_sess_timeouts #endif -static long _cffi_d_SSL_CTX_set1_sigalgs_list(SSL_CTX * x0, char const * x1) -{ - return SSL_CTX_set1_sigalgs_list(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set1_sigalgs_list(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - char const * x1; - Py_ssize_t datasize; - long result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_set1_sigalgs_list", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_set1_sigalgs_list(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_SSL_CTX_set1_sigalgs_list _cffi_d_SSL_CTX_set1_sigalgs_list -#endif - +static long _cffi_d_SSL_CTX_set1_sigalgs_list(SSL_CTX * x0, char const * x1) +{ + return SSL_CTX_set1_sigalgs_list(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set1_sigalgs_list(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + char const * x1; + Py_ssize_t datasize; + long result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_set1_sigalgs_list", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_set1_sigalgs_list(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_SSL_CTX_set1_sigalgs_list _cffi_d_SSL_CTX_set1_sigalgs_list +#endif + static int _cffi_d_SSL_CTX_set_alpn_protos(SSL_CTX * x0, unsigned char const * x1, unsigned int x2) { return SSL_CTX_set_alpn_protos(x0, x1, x2); @@ -32834,24 +32834,24 @@ _cffi_f_SSL_CTX_set_alpn_protos(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -32892,28 +32892,28 @@ _cffi_f_SSL_CTX_set_alpn_select_cb(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = (int(*)(SSL *, unsigned char const * *, unsigned char *, unsigned char const *, unsigned int, void *))_cffi_to_c_pointer(arg1, _cffi_type(2823)); + x1 = (int(*)(SSL *, unsigned char const * *, unsigned char *, unsigned char const *, unsigned int, void *))_cffi_to_c_pointer(arg1, _cffi_type(2823)); if (x1 == (int(*)(SSL *, unsigned char const * *, unsigned char *, unsigned char const *, unsigned int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg2, (char **)&x2); + _cffi_type(193), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (void *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) return NULL; } @@ -32951,28 +32951,28 @@ _cffi_f_SSL_CTX_set_cert_cb(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = (int(*)(SSL *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2337)); + x1 = (int(*)(SSL *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2337)); if (x1 == (int(*)(SSL *, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg2, (char **)&x2); + _cffi_type(193), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (void *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) return NULL; } @@ -33008,24 +33008,24 @@ _cffi_f_SSL_CTX_set_cert_store(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg1, (char **)&x1); + _cffi_type(180), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(180), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(180), arg1) < 0) return NULL; } @@ -33063,28 +33063,28 @@ _cffi_f_SSL_CTX_set_cert_verify_callback(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = (int(*)(X509_STORE_CTX *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2833)); + x1 = (int(*)(X509_STORE_CTX *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2833)); if (x1 == (int(*)(X509_STORE_CTX *, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg2, (char **)&x2); + _cffi_type(193), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (void *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) return NULL; } @@ -33121,24 +33121,24 @@ _cffi_f_SSL_CTX_set_cipher_list(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -33155,59 +33155,59 @@ _cffi_f_SSL_CTX_set_cipher_list(PyObject *self, PyObject *args) # define _cffi_f_SSL_CTX_set_cipher_list _cffi_d_SSL_CTX_set_cipher_list #endif -static int _cffi_d_SSL_CTX_set_ciphersuites(SSL_CTX * x0, char const * x1) -{ - return SSL_CTX_set_ciphersuites(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set_ciphersuites(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - char const * x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_ciphersuites", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_set_ciphersuites(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CTX_set_ciphersuites _cffi_d_SSL_CTX_set_ciphersuites -#endif - +static int _cffi_d_SSL_CTX_set_ciphersuites(SSL_CTX * x0, char const * x1) +{ + return SSL_CTX_set_ciphersuites(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set_ciphersuites(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + char const * x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_ciphersuites", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_set_ciphersuites(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CTX_set_ciphersuites _cffi_d_SSL_CTX_set_ciphersuites +#endif + static void _cffi_d_SSL_CTX_set_client_CA_list(SSL_CTX * x0, Cryptography_STACK_OF_X509_NAME * x1) { SSL_CTX_set_client_CA_list(x0, x1); @@ -33226,24 +33226,24 @@ _cffi_f_SSL_CTX_set_client_CA_list(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(633), arg1, (char **)&x1); + _cffi_type(633), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (Cryptography_STACK_OF_X509_NAME *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(633), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(633), arg1) < 0) return NULL; } @@ -33261,50 +33261,50 @@ _cffi_f_SSL_CTX_set_client_CA_list(PyObject *self, PyObject *args) # define _cffi_f_SSL_CTX_set_client_CA_list _cffi_d_SSL_CTX_set_client_CA_list #endif -static void _cffi_d_SSL_CTX_set_cookie_generate_cb(SSL_CTX * x0, int(* x1)(SSL *, unsigned char *, unsigned int *)) +static void _cffi_d_SSL_CTX_set_cookie_generate_cb(SSL_CTX * x0, int(* x1)(SSL *, unsigned char *, unsigned int *)) { - SSL_CTX_set_cookie_generate_cb(x0, x1); + SSL_CTX_set_cookie_generate_cb(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_CTX_set_cookie_generate_cb(PyObject *self, PyObject *args) +_cffi_f_SSL_CTX_set_cookie_generate_cb(PyObject *self, PyObject *args) { SSL_CTX * x0; - int(* x1)(SSL *, unsigned char *, unsigned int *); + int(* x1)(SSL *, unsigned char *, unsigned int *); Py_ssize_t datasize; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_cookie_generate_cb", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_cookie_generate_cb", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = (int(*)(SSL *, unsigned char *, unsigned int *))_cffi_to_c_pointer(arg1, _cffi_type(2819)); - if (x1 == (int(*)(SSL *, unsigned char *, unsigned int *))NULL && PyErr_Occurred()) - return NULL; + x1 = (int(*)(SSL *, unsigned char *, unsigned int *))_cffi_to_c_pointer(arg1, _cffi_type(2819)); + if (x1 == (int(*)(SSL *, unsigned char *, unsigned int *))NULL && PyErr_Occurred()) + return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { SSL_CTX_set_cookie_generate_cb(x0, x1); } + { SSL_CTX_set_cookie_generate_cb(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; + Py_INCREF(Py_None); + return Py_None; } #else -# define _cffi_f_SSL_CTX_set_cookie_generate_cb _cffi_d_SSL_CTX_set_cookie_generate_cb +# define _cffi_f_SSL_CTX_set_cookie_generate_cb _cffi_d_SSL_CTX_set_cookie_generate_cb #endif static void _cffi_d_SSL_CTX_set_default_passwd_cb(SSL_CTX * x0, int(* x1)(char *, int, int, void *)) @@ -33325,17 +33325,17 @@ _cffi_f_SSL_CTX_set_default_passwd_cb(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg1, _cffi_type(192)); + x1 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg1, _cffi_type(192)); if (x1 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; @@ -33371,24 +33371,24 @@ _cffi_f_SSL_CTX_set_default_passwd_cb_userdata(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } @@ -33419,13 +33419,13 @@ _cffi_f_SSL_CTX_set_default_verify_paths(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -33442,7 +33442,7 @@ _cffi_f_SSL_CTX_set_default_verify_paths(PyObject *self, PyObject *arg0) # define _cffi_f_SSL_CTX_set_default_verify_paths _cffi_d_SSL_CTX_set_default_verify_paths #endif -static long _cffi_d_SSL_CTX_set_ecdh_auto(SSL_CTX * x0, int x1) +static long _cffi_d_SSL_CTX_set_ecdh_auto(SSL_CTX * x0, int x1) { return SSL_CTX_set_ecdh_auto(x0, x1); } @@ -33453,7 +33453,7 @@ _cffi_f_SSL_CTX_set_ecdh_auto(PyObject *self, PyObject *args) SSL_CTX * x0; int x1; Py_ssize_t datasize; - long result; + long result; PyObject *arg0; PyObject *arg1; @@ -33461,13 +33461,13 @@ _cffi_f_SSL_CTX_set_ecdh_auto(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -33482,7 +33482,7 @@ _cffi_f_SSL_CTX_set_ecdh_auto(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else # define _cffi_f_SSL_CTX_set_ecdh_auto _cffi_d_SSL_CTX_set_ecdh_auto @@ -33509,13 +33509,13 @@ _cffi_f_SSL_CTX_set_ex_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -33524,13 +33524,13 @@ _cffi_f_SSL_CTX_set_ex_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg2, (char **)&x2); + _cffi_type(193), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (void *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) return NULL; } @@ -33565,17 +33565,17 @@ _cffi_f_SSL_CTX_set_info_callback(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = (void(*)(SSL const *, int, int))_cffi_to_c_pointer(arg1, _cffi_type(2867)); + x1 = (void(*)(SSL const *, int, int))_cffi_to_c_pointer(arg1, _cffi_type(2867)); if (x1 == (void(*)(SSL const *, int, int))NULL && PyErr_Occurred()) return NULL; @@ -33593,234 +33593,234 @@ _cffi_f_SSL_CTX_set_info_callback(PyObject *self, PyObject *args) # define _cffi_f_SSL_CTX_set_info_callback _cffi_d_SSL_CTX_set_info_callback #endif -static void _cffi_d_SSL_CTX_set_keylog_callback(SSL_CTX * x0, void(* x1)(SSL const *, char const *)) -{ - SSL_CTX_set_keylog_callback(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set_keylog_callback(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - void(* x1)(SSL const *, char const *); - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_keylog_callback", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - x1 = (void(*)(SSL const *, char const *))_cffi_to_c_pointer(arg1, _cffi_type(2863)); - if (x1 == (void(*)(SSL const *, char const *))NULL && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { SSL_CTX_set_keylog_callback(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_SSL_CTX_set_keylog_callback _cffi_d_SSL_CTX_set_keylog_callback -#endif - -static int _cffi_d_SSL_CTX_set_max_early_data(SSL_CTX * x0, uint32_t x1) -{ - return SSL_CTX_set_max_early_data(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set_max_early_data(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - uint32_t x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_max_early_data", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, uint32_t); - if (x1 == (uint32_t)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_set_max_early_data(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CTX_set_max_early_data _cffi_d_SSL_CTX_set_max_early_data -#endif - -static long _cffi_d_SSL_CTX_set_max_proto_version(SSL_CTX * x0, int x1) -{ - return SSL_CTX_set_max_proto_version(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set_max_proto_version(PyObject *self, PyObject *args) +static void _cffi_d_SSL_CTX_set_keylog_callback(SSL_CTX * x0, void(* x1)(SSL const *, char const *)) +{ + SSL_CTX_set_keylog_callback(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set_keylog_callback(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + void(* x1)(SSL const *, char const *); + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_keylog_callback", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + x1 = (void(*)(SSL const *, char const *))_cffi_to_c_pointer(arg1, _cffi_type(2863)); + if (x1 == (void(*)(SSL const *, char const *))NULL && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { SSL_CTX_set_keylog_callback(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_SSL_CTX_set_keylog_callback _cffi_d_SSL_CTX_set_keylog_callback +#endif + +static int _cffi_d_SSL_CTX_set_max_early_data(SSL_CTX * x0, uint32_t x1) +{ + return SSL_CTX_set_max_early_data(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set_max_early_data(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + uint32_t x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_max_early_data", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, uint32_t); + if (x1 == (uint32_t)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_set_max_early_data(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CTX_set_max_early_data _cffi_d_SSL_CTX_set_max_early_data +#endif + +static long _cffi_d_SSL_CTX_set_max_proto_version(SSL_CTX * x0, int x1) +{ + return SSL_CTX_set_max_proto_version(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set_max_proto_version(PyObject *self, PyObject *args) { SSL_CTX * x0; - int x1; + int x1; Py_ssize_t datasize; - long result; + long result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_max_proto_version", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_max_proto_version", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_CTX_set_max_proto_version(x0, x1); } + { result = SSL_CTX_set_max_proto_version(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else -# define _cffi_f_SSL_CTX_set_max_proto_version _cffi_d_SSL_CTX_set_max_proto_version +# define _cffi_f_SSL_CTX_set_max_proto_version _cffi_d_SSL_CTX_set_max_proto_version #endif -static long _cffi_d_SSL_CTX_set_min_proto_version(SSL_CTX * x0, int x1) +static long _cffi_d_SSL_CTX_set_min_proto_version(SSL_CTX * x0, int x1) { - return SSL_CTX_set_min_proto_version(x0, x1); + return SSL_CTX_set_min_proto_version(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_CTX_set_min_proto_version(PyObject *self, PyObject *args) +_cffi_f_SSL_CTX_set_min_proto_version(PyObject *self, PyObject *args) { SSL_CTX * x0; - int x1; + int x1; Py_ssize_t datasize; - long result; + long result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_min_proto_version", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_min_proto_version", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_CTX_set_min_proto_version(x0, x1); } + { result = SSL_CTX_set_min_proto_version(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else -# define _cffi_f_SSL_CTX_set_min_proto_version _cffi_d_SSL_CTX_set_min_proto_version +# define _cffi_f_SSL_CTX_set_min_proto_version _cffi_d_SSL_CTX_set_min_proto_version #endif -static unsigned long _cffi_d_SSL_CTX_set_mode(SSL_CTX * x0, unsigned long x1) +static unsigned long _cffi_d_SSL_CTX_set_mode(SSL_CTX * x0, unsigned long x1) { - return SSL_CTX_set_mode(x0, x1); + return SSL_CTX_set_mode(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_CTX_set_mode(PyObject *self, PyObject *args) +_cffi_f_SSL_CTX_set_mode(PyObject *self, PyObject *args) { SSL_CTX * x0; - unsigned long x1; + unsigned long x1; Py_ssize_t datasize; - unsigned long result; + unsigned long result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_mode", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_mode", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = _cffi_to_c_int(arg1, unsigned long); - if (x1 == (unsigned long)-1 && PyErr_Occurred()) + x1 = _cffi_to_c_int(arg1, unsigned long); + if (x1 == (unsigned long)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_CTX_set_mode(x0, x1); } + { result = SSL_CTX_set_mode(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, unsigned long); + return _cffi_from_c_int(result, unsigned long); } #else -# define _cffi_f_SSL_CTX_set_mode _cffi_d_SSL_CTX_set_mode +# define _cffi_f_SSL_CTX_set_mode _cffi_d_SSL_CTX_set_mode #endif static unsigned long _cffi_d_SSL_CTX_set_options(SSL_CTX * x0, unsigned long x1) @@ -33842,13 +33842,13 @@ _cffi_f_SSL_CTX_set_options(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -33869,190 +33869,190 @@ _cffi_f_SSL_CTX_set_options(PyObject *self, PyObject *args) # define _cffi_f_SSL_CTX_set_options _cffi_d_SSL_CTX_set_options #endif -static void _cffi_d_SSL_CTX_set_post_handshake_auth(SSL_CTX * x0, int x1) -{ - SSL_CTX_set_post_handshake_auth(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set_post_handshake_auth(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - int x1; - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_post_handshake_auth", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { SSL_CTX_set_post_handshake_auth(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_SSL_CTX_set_post_handshake_auth _cffi_d_SSL_CTX_set_post_handshake_auth -#endif - -static void _cffi_d_SSL_CTX_set_psk_client_callback(SSL_CTX * x0, unsigned int(* x1)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int)) -{ - SSL_CTX_set_psk_client_callback(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set_psk_client_callback(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - unsigned int(* x1)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int); - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_psk_client_callback", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - x1 = (unsigned int(*)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int))_cffi_to_c_pointer(arg1, _cffi_type(2851)); - if (x1 == (unsigned int(*)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int))NULL && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { SSL_CTX_set_psk_client_callback(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_SSL_CTX_set_psk_client_callback _cffi_d_SSL_CTX_set_psk_client_callback -#endif - -static void _cffi_d_SSL_CTX_set_psk_server_callback(SSL_CTX * x0, unsigned int(* x1)(SSL *, char const *, unsigned char *, unsigned int)) -{ - SSL_CTX_set_psk_server_callback(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set_psk_server_callback(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - unsigned int(* x1)(SSL *, char const *, unsigned char *, unsigned int); - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_psk_server_callback", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - x1 = (unsigned int(*)(SSL *, char const *, unsigned char *, unsigned int))_cffi_to_c_pointer(arg1, _cffi_type(2855)); - if (x1 == (unsigned int(*)(SSL *, char const *, unsigned char *, unsigned int))NULL && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { SSL_CTX_set_psk_server_callback(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_SSL_CTX_set_psk_server_callback _cffi_d_SSL_CTX_set_psk_server_callback -#endif - -static long _cffi_d_SSL_CTX_set_read_ahead(SSL_CTX * x0, long x1) -{ - return SSL_CTX_set_read_ahead(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set_read_ahead(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - long x1; - Py_ssize_t datasize; - long result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_read_ahead", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, long); - if (x1 == (long)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_set_read_ahead(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_SSL_CTX_set_read_ahead _cffi_d_SSL_CTX_set_read_ahead -#endif - +static void _cffi_d_SSL_CTX_set_post_handshake_auth(SSL_CTX * x0, int x1) +{ + SSL_CTX_set_post_handshake_auth(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set_post_handshake_auth(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + int x1; + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_post_handshake_auth", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { SSL_CTX_set_post_handshake_auth(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_SSL_CTX_set_post_handshake_auth _cffi_d_SSL_CTX_set_post_handshake_auth +#endif + +static void _cffi_d_SSL_CTX_set_psk_client_callback(SSL_CTX * x0, unsigned int(* x1)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int)) +{ + SSL_CTX_set_psk_client_callback(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set_psk_client_callback(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + unsigned int(* x1)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int); + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_psk_client_callback", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + x1 = (unsigned int(*)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int))_cffi_to_c_pointer(arg1, _cffi_type(2851)); + if (x1 == (unsigned int(*)(SSL *, char const *, char *, unsigned int, unsigned char *, unsigned int))NULL && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { SSL_CTX_set_psk_client_callback(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_SSL_CTX_set_psk_client_callback _cffi_d_SSL_CTX_set_psk_client_callback +#endif + +static void _cffi_d_SSL_CTX_set_psk_server_callback(SSL_CTX * x0, unsigned int(* x1)(SSL *, char const *, unsigned char *, unsigned int)) +{ + SSL_CTX_set_psk_server_callback(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set_psk_server_callback(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + unsigned int(* x1)(SSL *, char const *, unsigned char *, unsigned int); + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_psk_server_callback", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + x1 = (unsigned int(*)(SSL *, char const *, unsigned char *, unsigned int))_cffi_to_c_pointer(arg1, _cffi_type(2855)); + if (x1 == (unsigned int(*)(SSL *, char const *, unsigned char *, unsigned int))NULL && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { SSL_CTX_set_psk_server_callback(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_SSL_CTX_set_psk_server_callback _cffi_d_SSL_CTX_set_psk_server_callback +#endif + +static long _cffi_d_SSL_CTX_set_read_ahead(SSL_CTX * x0, long x1) +{ + return SSL_CTX_set_read_ahead(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set_read_ahead(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + long x1; + Py_ssize_t datasize; + long result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_read_ahead", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, long); + if (x1 == (long)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_set_read_ahead(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_SSL_CTX_set_read_ahead _cffi_d_SSL_CTX_set_read_ahead +#endif + static unsigned long _cffi_d_SSL_CTX_set_session_cache_mode(SSL_CTX * x0, unsigned long x1) { return SSL_CTX_set_session_cache_mode(x0, x1); @@ -34072,13 +34072,13 @@ _cffi_f_SSL_CTX_set_session_cache_mode(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -34120,24 +34120,24 @@ _cffi_f_SSL_CTX_set_session_id_context(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -34177,13 +34177,13 @@ _cffi_f_SSL_CTX_set_timeout(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -34222,24 +34222,24 @@ _cffi_f_SSL_CTX_set_tlsext_servername_arg(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } @@ -34257,7 +34257,7 @@ _cffi_f_SSL_CTX_set_tlsext_servername_arg(PyObject *self, PyObject *args) # define _cffi_f_SSL_CTX_set_tlsext_servername_arg _cffi_d_SSL_CTX_set_tlsext_servername_arg #endif -static void _cffi_d_SSL_CTX_set_tlsext_servername_callback(SSL_CTX * x0, int(* x1)(SSL *, int *, void *)) +static void _cffi_d_SSL_CTX_set_tlsext_servername_callback(SSL_CTX * x0, int(* x1)(SSL *, int *, void *)) { SSL_CTX_set_tlsext_servername_callback(x0, x1); } @@ -34266,7 +34266,7 @@ static PyObject * _cffi_f_SSL_CTX_set_tlsext_servername_callback(PyObject *self, PyObject *args) { SSL_CTX * x0; - int(* x1)(SSL *, int *, void *); + int(* x1)(SSL *, int *, void *); Py_ssize_t datasize; PyObject *arg0; PyObject *arg1; @@ -34275,18 +34275,18 @@ _cffi_f_SSL_CTX_set_tlsext_servername_callback(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = (int(*)(SSL *, int *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2815)); - if (x1 == (int(*)(SSL *, int *, void *))NULL && PyErr_Occurred()) + x1 = (int(*)(SSL *, int *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2815)); + if (x1 == (int(*)(SSL *, int *, void *))NULL && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS @@ -34322,24 +34322,24 @@ _cffi_f_SSL_CTX_set_tlsext_status_arg(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } @@ -34375,17 +34375,17 @@ _cffi_f_SSL_CTX_set_tlsext_status_cb(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } - x1 = (int(*)(SSL *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2337)); + x1 = (int(*)(SSL *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2337)); if (x1 == (int(*)(SSL *, void *))NULL && PyErr_Occurred()) return NULL; @@ -34402,59 +34402,59 @@ _cffi_f_SSL_CTX_set_tlsext_status_cb(PyObject *self, PyObject *args) # define _cffi_f_SSL_CTX_set_tlsext_status_cb _cffi_d_SSL_CTX_set_tlsext_status_cb #endif -static int _cffi_d_SSL_CTX_set_tlsext_use_srtp(SSL_CTX * x0, char const * x1) -{ - return SSL_CTX_set_tlsext_use_srtp(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_set_tlsext_use_srtp(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - char const * x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_set_tlsext_use_srtp", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_set_tlsext_use_srtp(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CTX_set_tlsext_use_srtp _cffi_d_SSL_CTX_set_tlsext_use_srtp -#endif - +static int _cffi_d_SSL_CTX_set_tlsext_use_srtp(SSL_CTX * x0, char const * x1) +{ + return SSL_CTX_set_tlsext_use_srtp(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_set_tlsext_use_srtp(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + char const * x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_set_tlsext_use_srtp", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_set_tlsext_use_srtp(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CTX_set_tlsext_use_srtp _cffi_d_SSL_CTX_set_tlsext_use_srtp +#endif + static unsigned long _cffi_d_SSL_CTX_set_tmp_dh(SSL_CTX * x0, DH * x1) { return SSL_CTX_set_tmp_dh(x0, x1); @@ -34474,24 +34474,24 @@ _cffi_f_SSL_CTX_set_tmp_dh(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg1, (char **)&x1); + _cffi_type(196), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (DH *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) return NULL; } @@ -34527,24 +34527,24 @@ _cffi_f_SSL_CTX_set_tmp_ecdh(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg1, (char **)&x1); + _cffi_type(893), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) return NULL; } @@ -34581,13 +34581,13 @@ _cffi_f_SSL_CTX_set_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -34595,7 +34595,7 @@ _cffi_f_SSL_CTX_set_verify(PyObject *self, PyObject *args) if (x1 == (int)-1 && PyErr_Occurred()) return NULL; - x2 = (int(*)(int, X509_STORE_CTX *))_cffi_to_c_pointer(arg2, _cffi_type(2847)); + x2 = (int(*)(int, X509_STORE_CTX *))_cffi_to_c_pointer(arg2, _cffi_type(2847)); if (x2 == (int(*)(int, X509_STORE_CTX *))NULL && PyErr_Occurred()) return NULL; @@ -34631,13 +34631,13 @@ _cffi_f_SSL_CTX_set_verify_depth(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -34678,24 +34678,24 @@ _cffi_f_SSL_CTX_use_PrivateKey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -34733,24 +34733,24 @@ _cffi_f_SSL_CTX_use_PrivateKey_file(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -34790,13 +34790,13 @@ _cffi_f_SSL_CTX_use_certificate(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -34843,24 +34843,24 @@ _cffi_f_SSL_CTX_use_certificate_chain_file(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -34898,24 +34898,24 @@ _cffi_f_SSL_CTX_use_certificate_file(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -34936,59 +34936,59 @@ _cffi_f_SSL_CTX_use_certificate_file(PyObject *self, PyObject *args) # define _cffi_f_SSL_CTX_use_certificate_file _cffi_d_SSL_CTX_use_certificate_file #endif -static int _cffi_d_SSL_CTX_use_psk_identity_hint(SSL_CTX * x0, char const * x1) -{ - return SSL_CTX_use_psk_identity_hint(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_CTX_use_psk_identity_hint(PyObject *self, PyObject *args) -{ - SSL_CTX * x0; - char const * x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_CTX_use_psk_identity_hint", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_CTX_use_psk_identity_hint(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_CTX_use_psk_identity_hint _cffi_d_SSL_CTX_use_psk_identity_hint -#endif - +static int _cffi_d_SSL_CTX_use_psk_identity_hint(SSL_CTX * x0, char const * x1) +{ + return SSL_CTX_use_psk_identity_hint(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_CTX_use_psk_identity_hint(PyObject *self, PyObject *args) +{ + SSL_CTX * x0; + char const * x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_CTX_use_psk_identity_hint", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(490), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_CTX_use_psk_identity_hint(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_CTX_use_psk_identity_hint _cffi_d_SSL_CTX_use_psk_identity_hint +#endif + static void _cffi_d_SSL_SESSION_free(SSL_SESSION * x0) { SSL_SESSION_free(x0); @@ -35001,13 +35001,13 @@ _cffi_f_SSL_SESSION_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1666), arg0, (char **)&x0); + _cffi_type(1666), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_SESSION *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1666), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1666), arg0) < 0) return NULL; } @@ -35044,24 +35044,24 @@ _cffi_f_SSL_SESSION_get_id(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1836), arg0, (char **)&x0); + _cffi_type(1836), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_SESSION const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1390), arg1, (char **)&x1); + _cffi_type(1390), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned int *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1390), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1390), arg1) < 0) return NULL; } @@ -35072,7 +35072,7 @@ _cffi_f_SSL_SESSION_get_id(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(103)); + return _cffi_from_c_pointer((char *)result, _cffi_type(103)); } #else # define _cffi_f_SSL_SESSION_get_id _cffi_d_SSL_SESSION_get_id @@ -35099,24 +35099,24 @@ _cffi_f_SSL_SESSION_get_master_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1836), arg0, (char **)&x0); + _cffi_type(1836), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_SESSION const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } @@ -35137,186 +35137,186 @@ _cffi_f_SSL_SESSION_get_master_key(PyObject *self, PyObject *args) # define _cffi_f_SSL_SESSION_get_master_key _cffi_d_SSL_SESSION_get_master_key #endif -static uint32_t _cffi_d_SSL_SESSION_get_max_early_data(SSL_SESSION const * x0) -{ - return SSL_SESSION_get_max_early_data(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_SESSION_get_max_early_data(PyObject *self, PyObject *arg0) -{ - SSL_SESSION const * x0; - Py_ssize_t datasize; - uint32_t result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1836), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_SESSION const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_SESSION_get_max_early_data(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, uint32_t); -} -#else -# define _cffi_f_SSL_SESSION_get_max_early_data _cffi_d_SSL_SESSION_get_max_early_data -#endif - -static long _cffi_d_SSL_SESSION_get_ticket_lifetime_hint(SSL_SESSION const * x0) -{ - return SSL_SESSION_get_ticket_lifetime_hint(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_SESSION_get_ticket_lifetime_hint(PyObject *self, PyObject *arg0) -{ - SSL_SESSION const * x0; - Py_ssize_t datasize; - long result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1836), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_SESSION const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_SESSION_get_ticket_lifetime_hint(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_SSL_SESSION_get_ticket_lifetime_hint _cffi_d_SSL_SESSION_get_ticket_lifetime_hint -#endif - -static long _cffi_d_SSL_SESSION_get_time(SSL_SESSION const * x0) -{ - return SSL_SESSION_get_time(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_SESSION_get_time(PyObject *self, PyObject *arg0) -{ - SSL_SESSION const * x0; - Py_ssize_t datasize; - long result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1836), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_SESSION const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_SESSION_get_time(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_SSL_SESSION_get_time _cffi_d_SSL_SESSION_get_time -#endif - -static long _cffi_d_SSL_SESSION_get_timeout(SSL_SESSION const * x0) -{ - return SSL_SESSION_get_timeout(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_SESSION_get_timeout(PyObject *self, PyObject *arg0) -{ - SSL_SESSION const * x0; - Py_ssize_t datasize; - long result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1836), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_SESSION const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_SESSION_get_timeout(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_SSL_SESSION_get_timeout _cffi_d_SSL_SESSION_get_timeout -#endif - -static int _cffi_d_SSL_SESSION_has_ticket(SSL_SESSION const * x0) -{ - return SSL_SESSION_has_ticket(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_SESSION_has_ticket(PyObject *self, PyObject *arg0) -{ - SSL_SESSION const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1836), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL_SESSION const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_SESSION_has_ticket(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_SESSION_has_ticket _cffi_d_SSL_SESSION_has_ticket -#endif - +static uint32_t _cffi_d_SSL_SESSION_get_max_early_data(SSL_SESSION const * x0) +{ + return SSL_SESSION_get_max_early_data(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_SESSION_get_max_early_data(PyObject *self, PyObject *arg0) +{ + SSL_SESSION const * x0; + Py_ssize_t datasize; + uint32_t result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1836), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_SESSION const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_SESSION_get_max_early_data(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, uint32_t); +} +#else +# define _cffi_f_SSL_SESSION_get_max_early_data _cffi_d_SSL_SESSION_get_max_early_data +#endif + +static long _cffi_d_SSL_SESSION_get_ticket_lifetime_hint(SSL_SESSION const * x0) +{ + return SSL_SESSION_get_ticket_lifetime_hint(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_SESSION_get_ticket_lifetime_hint(PyObject *self, PyObject *arg0) +{ + SSL_SESSION const * x0; + Py_ssize_t datasize; + long result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1836), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_SESSION const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_SESSION_get_ticket_lifetime_hint(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_SSL_SESSION_get_ticket_lifetime_hint _cffi_d_SSL_SESSION_get_ticket_lifetime_hint +#endif + +static long _cffi_d_SSL_SESSION_get_time(SSL_SESSION const * x0) +{ + return SSL_SESSION_get_time(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_SESSION_get_time(PyObject *self, PyObject *arg0) +{ + SSL_SESSION const * x0; + Py_ssize_t datasize; + long result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1836), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_SESSION const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_SESSION_get_time(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_SSL_SESSION_get_time _cffi_d_SSL_SESSION_get_time +#endif + +static long _cffi_d_SSL_SESSION_get_timeout(SSL_SESSION const * x0) +{ + return SSL_SESSION_get_timeout(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_SESSION_get_timeout(PyObject *self, PyObject *arg0) +{ + SSL_SESSION const * x0; + Py_ssize_t datasize; + long result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1836), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_SESSION const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_SESSION_get_timeout(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_SSL_SESSION_get_timeout _cffi_d_SSL_SESSION_get_timeout +#endif + +static int _cffi_d_SSL_SESSION_has_ticket(SSL_SESSION const * x0) +{ + return SSL_SESSION_has_ticket(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_SESSION_has_ticket(PyObject *self, PyObject *arg0) +{ + SSL_SESSION const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1836), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL_SESSION const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1836), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_SESSION_has_ticket(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_SESSION_has_ticket _cffi_d_SSL_SESSION_has_ticket +#endif + static int _cffi_d_SSL_SESSION_set1_id_context(SSL_SESSION * x0, unsigned char const * x1, unsigned int x2) { return SSL_SESSION_set1_id_context(x0, x1, x2); @@ -35338,24 +35338,24 @@ _cffi_f_SSL_SESSION_set1_id_context(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1666), arg0, (char **)&x0); + _cffi_type(1666), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_SESSION *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1666), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1666), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -35376,50 +35376,50 @@ _cffi_f_SSL_SESSION_set1_id_context(PyObject *self, PyObject *args) # define _cffi_f_SSL_SESSION_set1_id_context _cffi_d_SSL_SESSION_set1_id_context #endif -static unsigned long _cffi_d_SSL_clear_mode(SSL * x0, unsigned long x1) +static unsigned long _cffi_d_SSL_clear_mode(SSL * x0, unsigned long x1) { - return SSL_clear_mode(x0, x1); + return SSL_clear_mode(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_clear_mode(PyObject *self, PyObject *args) +_cffi_f_SSL_clear_mode(PyObject *self, PyObject *args) { - SSL * x0; - unsigned long x1; + SSL * x0; + unsigned long x1; Py_ssize_t datasize; - unsigned long result; - PyObject *arg0; - PyObject *arg1; + unsigned long result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_clear_mode", 2, 2, &arg0, &arg1)) + return NULL; - if (!PyArg_UnpackTuple(args, "SSL_clear_mode", 2, 2, &arg0, &arg1)) - return NULL; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (SSL *)alloca((size_t)datasize); + x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } - x1 = _cffi_to_c_int(arg1, unsigned long); - if (x1 == (unsigned long)-1 && PyErr_Occurred()) - return NULL; - + x1 = _cffi_to_c_int(arg1, unsigned long); + if (x1 == (unsigned long)-1 && PyErr_Occurred()) + return NULL; + Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_clear_mode(x0, x1); } + { result = SSL_clear_mode(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, unsigned long); + return _cffi_from_c_int(result, unsigned long); } #else -# define _cffi_f_SSL_clear_mode _cffi_d_SSL_clear_mode +# define _cffi_f_SSL_clear_mode _cffi_d_SSL_clear_mode #endif static int _cffi_d_SSL_do_handshake(SSL * x0) @@ -35435,13 +35435,13 @@ _cffi_f_SSL_do_handshake(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -35458,137 +35458,137 @@ _cffi_f_SSL_do_handshake(PyObject *self, PyObject *arg0) # define _cffi_f_SSL_do_handshake _cffi_d_SSL_do_handshake #endif -static int _cffi_d_SSL_export_keying_material(SSL * x0, unsigned char * x1, size_t x2, char const * x3, size_t x4, unsigned char const * x5, size_t x6, int x7) -{ - return SSL_export_keying_material(x0, x1, x2, x3, x4, x5, x6, x7); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_export_keying_material(PyObject *self, PyObject *args) -{ - SSL * x0; - unsigned char * x1; - size_t x2; - char const * x3; - size_t x4; - unsigned char const * x5; - size_t x6; - int x7; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - PyObject *arg4; - PyObject *arg5; - PyObject *arg6; - PyObject *arg7; - - if (!PyArg_UnpackTuple(args, "SSL_export_keying_material", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (unsigned char *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, size_t); - if (x2 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (char const *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(46), arg3) < 0) - return NULL; - } - - x4 = _cffi_to_c_int(arg4, size_t); - if (x4 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg5, (char **)&x5); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x5 = (unsigned char const *)alloca((size_t)datasize); - memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(103), arg5) < 0) - return NULL; - } - - x6 = _cffi_to_c_int(arg6, size_t); - if (x6 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - x7 = _cffi_to_c_int(arg7, int); - if (x7 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_export_keying_material(x0, x1, x2, x3, x4, x5, x6, x7); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_export_keying_material _cffi_d_SSL_export_keying_material -#endif - -static int _cffi_d_SSL_extension_supported(unsigned int x0) -{ - return SSL_extension_supported(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_extension_supported(PyObject *self, PyObject *arg0) -{ - unsigned int x0; - int result; - - x0 = _cffi_to_c_int(arg0, unsigned int); - if (x0 == (unsigned int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_extension_supported(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_extension_supported _cffi_d_SSL_extension_supported -#endif - +static int _cffi_d_SSL_export_keying_material(SSL * x0, unsigned char * x1, size_t x2, char const * x3, size_t x4, unsigned char const * x5, size_t x6, int x7) +{ + return SSL_export_keying_material(x0, x1, x2, x3, x4, x5, x6, x7); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_export_keying_material(PyObject *self, PyObject *args) +{ + SSL * x0; + unsigned char * x1; + size_t x2; + char const * x3; + size_t x4; + unsigned char const * x5; + size_t x6; + int x7; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + PyObject *arg4; + PyObject *arg5; + PyObject *arg6; + PyObject *arg7; + + if (!PyArg_UnpackTuple(args, "SSL_export_keying_material", 8, 8, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6, &arg7)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(752), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (unsigned char *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, size_t); + if (x2 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (char const *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(46), arg3) < 0) + return NULL; + } + + x4 = _cffi_to_c_int(arg4, size_t); + if (x4 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(103), arg5, (char **)&x5); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x5 = (unsigned char const *)alloca((size_t)datasize); + memset((void *)x5, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(103), arg5) < 0) + return NULL; + } + + x6 = _cffi_to_c_int(arg6, size_t); + if (x6 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + x7 = _cffi_to_c_int(arg7, int); + if (x7 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_export_keying_material(x0, x1, x2, x3, x4, x5, x6, x7); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_export_keying_material _cffi_d_SSL_export_keying_material +#endif + +static int _cffi_d_SSL_extension_supported(unsigned int x0) +{ + return SSL_extension_supported(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_extension_supported(PyObject *self, PyObject *arg0) +{ + unsigned int x0; + int result; + + x0 = _cffi_to_c_int(arg0, unsigned int); + if (x0 == (unsigned int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_extension_supported(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_extension_supported _cffi_d_SSL_extension_supported +#endif + static void _cffi_d_SSL_free(SSL * x0) { SSL_free(x0); @@ -35601,13 +35601,13 @@ _cffi_f_SSL_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -35645,35 +35645,35 @@ _cffi_f_SSL_get0_alpn_selected(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(75), arg1, (char **)&x1); + _cffi_type(75), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(75), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(75), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1390), arg2, (char **)&x2); + _cffi_type(1390), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned int *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1390), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1390), arg2) < 0) return NULL; } @@ -35691,150 +35691,150 @@ _cffi_f_SSL_get0_alpn_selected(PyObject *self, PyObject *args) # define _cffi_f_SSL_get0_alpn_selected _cffi_d_SSL_get0_alpn_selected #endif -static X509_VERIFY_PARAM * _cffi_d_SSL_get0_param(SSL * x0) -{ - return SSL_get0_param(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_get0_param(PyObject *self, PyObject *arg0) -{ - SSL * x0; - Py_ssize_t datasize; - X509_VERIFY_PARAM * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_get0_param(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); -} -#else -# define _cffi_f_SSL_get0_param _cffi_d_SSL_get0_param -#endif - -static Cryptography_STACK_OF_X509 * _cffi_d_SSL_get0_verified_chain(SSL const * x0) -{ - return SSL_get0_verified_chain(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_get0_verified_chain(PyObject *self, PyObject *arg0) +static X509_VERIFY_PARAM * _cffi_d_SSL_get0_param(SSL * x0) +{ + return SSL_get0_param(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_get0_param(PyObject *self, PyObject *arg0) +{ + SSL * x0; + Py_ssize_t datasize; + X509_VERIFY_PARAM * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_get0_param(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); +} +#else +# define _cffi_f_SSL_get0_param _cffi_d_SSL_get0_param +#endif + +static Cryptography_STACK_OF_X509 * _cffi_d_SSL_get0_verified_chain(SSL const * x0) +{ + return SSL_get0_verified_chain(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_get0_verified_chain(PyObject *self, PyObject *arg0) { SSL const * x0; Py_ssize_t datasize; - Cryptography_STACK_OF_X509 * result; + Cryptography_STACK_OF_X509 * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_get0_verified_chain(x0); } + { result = SSL_get0_verified_chain(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(413)); + return _cffi_from_c_pointer((char *)result, _cffi_type(413)); } #else -# define _cffi_f_SSL_get0_verified_chain _cffi_d_SSL_get0_verified_chain +# define _cffi_f_SSL_get0_verified_chain _cffi_d_SSL_get0_verified_chain #endif -static SSL_SESSION * _cffi_d_SSL_get1_session(SSL * x0) +static SSL_SESSION * _cffi_d_SSL_get1_session(SSL * x0) { - return SSL_get1_session(x0); + return SSL_get1_session(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_get1_session(PyObject *self, PyObject *arg0) +_cffi_f_SSL_get1_session(PyObject *self, PyObject *arg0) { SSL * x0; Py_ssize_t datasize; - SSL_SESSION * result; + SSL_SESSION * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_get1_session(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(1666)); +} +#else +# define _cffi_f_SSL_get1_session _cffi_d_SSL_get1_session +#endif + +static X509 * _cffi_d_SSL_get_certificate(SSL const * x0) +{ + return SSL_get_certificate(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_get_certificate(PyObject *self, PyObject *arg0) +{ + SSL const * x0; + Py_ssize_t datasize; + X509 * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(157), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_get1_session(x0); } + { result = SSL_get_certificate(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1666)); + return _cffi_from_c_pointer((char *)result, _cffi_type(28)); } #else -# define _cffi_f_SSL_get1_session _cffi_d_SSL_get1_session +# define _cffi_f_SSL_get_certificate _cffi_d_SSL_get_certificate #endif -static X509 * _cffi_d_SSL_get_certificate(SSL const * x0) -{ - return SSL_get_certificate(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_get_certificate(PyObject *self, PyObject *arg0) -{ - SSL const * x0; - Py_ssize_t datasize; - X509 * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_get_certificate(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(28)); -} -#else -# define _cffi_f_SSL_get_certificate _cffi_d_SSL_get_certificate -#endif - static char const * _cffi_d_SSL_get_cipher_list(SSL const * x0, int x1) { return SSL_get_cipher_list(x0, x1); @@ -35854,13 +35854,13 @@ _cffi_f_SSL_get_cipher_list(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -35875,7 +35875,7 @@ _cffi_f_SSL_get_cipher_list(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_SSL_get_cipher_list _cffi_d_SSL_get_cipher_list @@ -35894,13 +35894,13 @@ _cffi_f_SSL_get_client_CA_list(PyObject *self, PyObject *arg0) Cryptography_STACK_OF_X509_NAME * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -35911,7 +35911,7 @@ _cffi_f_SSL_get_client_CA_list(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(633)); + return _cffi_from_c_pointer((char *)result, _cffi_type(633)); } #else # define _cffi_f_SSL_get_client_CA_list _cffi_d_SSL_get_client_CA_list @@ -35938,24 +35938,24 @@ _cffi_f_SSL_get_client_random(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } @@ -35989,13 +35989,13 @@ _cffi_f_SSL_get_current_cipher(PyObject *self, PyObject *arg0) SSL_CIPHER const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -36006,7 +36006,7 @@ _cffi_f_SSL_get_current_cipher(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(733)); + return _cffi_from_c_pointer((char *)result, _cffi_type(733)); } #else # define _cffi_f_SSL_get_current_cipher _cffi_d_SSL_get_current_cipher @@ -36031,13 +36031,13 @@ _cffi_f_SSL_get_error(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -36077,13 +36077,13 @@ _cffi_f_SSL_get_ex_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -36098,7 +36098,7 @@ _cffi_f_SSL_get_ex_data(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); } #else # define _cffi_f_SSL_get_ex_data _cffi_d_SSL_get_ex_data @@ -36157,46 +36157,46 @@ _cffi_f_SSL_get_ex_new_index(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2237), arg2, (char **)&x2); + _cffi_type(2237), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (CRYPTO_EX_new *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2237), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2237), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2238), arg3, (char **)&x3); + _cffi_type(2238), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (CRYPTO_EX_dup *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2238), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2238), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2239), arg4, (char **)&x4); + _cffi_type(2239), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (CRYPTO_EX_free *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(2239), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(2239), arg4) < 0) return NULL; } @@ -36234,24 +36234,24 @@ _cffi_f_SSL_get_finished(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } @@ -36272,78 +36272,78 @@ _cffi_f_SSL_get_finished(PyObject *self, PyObject *args) # define _cffi_f_SSL_get_finished _cffi_d_SSL_get_finished #endif -static long _cffi_d_SSL_get_max_proto_version(SSL * x0) +static long _cffi_d_SSL_get_max_proto_version(SSL * x0) +{ + return SSL_get_max_proto_version(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_get_max_proto_version(PyObject *self, PyObject *arg0) +{ + SSL * x0; + Py_ssize_t datasize; + long result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_get_max_proto_version(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, long); +} +#else +# define _cffi_f_SSL_get_max_proto_version _cffi_d_SSL_get_max_proto_version +#endif + +static long _cffi_d_SSL_get_min_proto_version(SSL * x0) { - return SSL_get_max_proto_version(x0); + return SSL_get_min_proto_version(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_get_max_proto_version(PyObject *self, PyObject *arg0) +_cffi_f_SSL_get_min_proto_version(PyObject *self, PyObject *arg0) { - SSL * x0; + SSL * x0; Py_ssize_t datasize; - long result; + long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (SSL *)alloca((size_t)datasize); + x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_get_max_proto_version(x0); } + { result = SSL_get_min_proto_version(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else -# define _cffi_f_SSL_get_max_proto_version _cffi_d_SSL_get_max_proto_version +# define _cffi_f_SSL_get_min_proto_version _cffi_d_SSL_get_min_proto_version #endif -static long _cffi_d_SSL_get_min_proto_version(SSL * x0) -{ - return SSL_get_min_proto_version(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_get_min_proto_version(PyObject *self, PyObject *arg0) -{ - SSL * x0; - Py_ssize_t datasize; - long result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_get_min_proto_version(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, long); -} -#else -# define _cffi_f_SSL_get_min_proto_version _cffi_d_SSL_get_min_proto_version -#endif - static unsigned long _cffi_d_SSL_get_mode(SSL * x0) { return SSL_get_mode(x0); @@ -36357,13 +36357,13 @@ _cffi_f_SSL_get_mode(PyObject *self, PyObject *arg0) unsigned long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -36393,13 +36393,13 @@ _cffi_f_SSL_get_options(PyObject *self, PyObject *arg0) unsigned long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -36429,13 +36429,13 @@ _cffi_f_SSL_get_peer_cert_chain(PyObject *self, PyObject *arg0) Cryptography_STACK_OF_X509 * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -36446,7 +36446,7 @@ _cffi_f_SSL_get_peer_cert_chain(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(413)); + return _cffi_from_c_pointer((char *)result, _cffi_type(413)); } #else # define _cffi_f_SSL_get_peer_cert_chain _cffi_d_SSL_get_peer_cert_chain @@ -36465,13 +36465,13 @@ _cffi_f_SSL_get_peer_certificate(PyObject *self, PyObject *arg0) X509 * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -36509,24 +36509,24 @@ _cffi_f_SSL_get_peer_finished(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } @@ -36560,13 +36560,13 @@ _cffi_f_SSL_get_secure_renegotiation_support(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -36583,42 +36583,42 @@ _cffi_f_SSL_get_secure_renegotiation_support(PyObject *self, PyObject *arg0) # define _cffi_f_SSL_get_secure_renegotiation_support _cffi_d_SSL_get_secure_renegotiation_support #endif -static SRTP_PROTECTION_PROFILE * _cffi_d_SSL_get_selected_srtp_profile(SSL * x0) -{ - return SSL_get_selected_srtp_profile(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_get_selected_srtp_profile(PyObject *self, PyObject *arg0) -{ - SSL * x0; - Py_ssize_t datasize; - SRTP_PROTECTION_PROFILE * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_get_selected_srtp_profile(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3109)); -} -#else -# define _cffi_f_SSL_get_selected_srtp_profile _cffi_d_SSL_get_selected_srtp_profile -#endif - +static SRTP_PROTECTION_PROFILE * _cffi_d_SSL_get_selected_srtp_profile(SSL * x0) +{ + return SSL_get_selected_srtp_profile(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_get_selected_srtp_profile(PyObject *self, PyObject *arg0) +{ + SSL * x0; + Py_ssize_t datasize; + SRTP_PROTECTION_PROFILE * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_get_selected_srtp_profile(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3109)); +} +#else +# define _cffi_f_SSL_get_selected_srtp_profile _cffi_d_SSL_get_selected_srtp_profile +#endif + static size_t _cffi_d_SSL_get_server_random(SSL const * x0, unsigned char * x1, size_t x2) { return SSL_get_server_random(x0, x1, x2); @@ -36640,24 +36640,24 @@ _cffi_f_SSL_get_server_random(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } @@ -36697,24 +36697,24 @@ _cffi_f_SSL_get_server_tmp_key(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(273), arg1, (char **)&x1); + _cffi_type(273), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) return NULL; } @@ -36750,13 +36750,13 @@ _cffi_f_SSL_get_servername(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -36771,7 +36771,7 @@ _cffi_f_SSL_get_servername(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_SSL_get_servername _cffi_d_SSL_get_servername @@ -36790,13 +36790,13 @@ _cffi_f_SSL_get_session(PyObject *self, PyObject *arg0) SSL_SESSION * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -36807,7 +36807,7 @@ _cffi_f_SSL_get_session(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1666)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1666)); } #else # define _cffi_f_SSL_get_session _cffi_d_SSL_get_session @@ -36826,13 +36826,13 @@ _cffi_f_SSL_get_shutdown(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -36849,117 +36849,117 @@ _cffi_f_SSL_get_shutdown(PyObject *self, PyObject *arg0) # define _cffi_f_SSL_get_shutdown _cffi_d_SSL_get_shutdown #endif -static int _cffi_d_SSL_get_sigalgs(SSL * x0, int x1, int * x2, int * x3, int * x4, unsigned char * x5, unsigned char * x6) -{ - return SSL_get_sigalgs(x0, x1, x2, x3, x4, x5, x6); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_get_sigalgs(PyObject *self, PyObject *args) -{ - SSL * x0; - int x1; - int * x2; - int * x3; - int * x4; - unsigned char * x5; - unsigned char * x6; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - PyObject *arg4; - PyObject *arg5; - PyObject *arg6; - - if (!PyArg_UnpackTuple(args, "SSL_get_sigalgs", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (int *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1169), arg2) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (int *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1169), arg3) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg4, (char **)&x4); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x4 = (int *)alloca((size_t)datasize); - memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1169), arg4) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg5, (char **)&x5); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x5 = (unsigned char *)alloca((size_t)datasize); - memset((void *)x5, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x5, _cffi_type(752), arg5) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg6, (char **)&x6); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x6 = (unsigned char *)alloca((size_t)datasize); - memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(752), arg6) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_get_sigalgs(x0, x1, x2, x3, x4, x5, x6); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_get_sigalgs _cffi_d_SSL_get_sigalgs -#endif - +static int _cffi_d_SSL_get_sigalgs(SSL * x0, int x1, int * x2, int * x3, int * x4, unsigned char * x5, unsigned char * x6) +{ + return SSL_get_sigalgs(x0, x1, x2, x3, x4, x5, x6); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_get_sigalgs(PyObject *self, PyObject *args) +{ + SSL * x0; + int x1; + int * x2; + int * x3; + int * x4; + unsigned char * x5; + unsigned char * x6; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + PyObject *arg4; + PyObject *arg5; + PyObject *arg6; + + if (!PyArg_UnpackTuple(args, "SSL_get_sigalgs", 7, 7, &arg0, &arg1, &arg2, &arg3, &arg4, &arg5, &arg6)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1169), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (int *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1169), arg2) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1169), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (int *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1169), arg3) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1169), arg4, (char **)&x4); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x4 = (int *)alloca((size_t)datasize); + memset((void *)x4, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(1169), arg4) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(752), arg5, (char **)&x5); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x5 = (unsigned char *)alloca((size_t)datasize); + memset((void *)x5, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x5, _cffi_type(752), arg5) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(752), arg6, (char **)&x6); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x6 = (unsigned char *)alloca((size_t)datasize); + memset((void *)x6, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(752), arg6) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_get_sigalgs(x0, x1, x2, x3, x4, x5, x6); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_get_sigalgs _cffi_d_SSL_get_sigalgs +#endif + static long _cffi_d_SSL_get_tlsext_status_ocsp_resp(SSL * x0, unsigned char const * * x1) { return SSL_get_tlsext_status_ocsp_resp(x0, x1); @@ -36979,24 +36979,24 @@ _cffi_f_SSL_get_tlsext_status_ocsp_resp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(75), arg1, (char **)&x1); + _cffi_type(75), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(75), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(75), arg1) < 0) return NULL; } @@ -37013,40 +37013,40 @@ _cffi_f_SSL_get_tlsext_status_ocsp_resp(PyObject *self, PyObject *args) # define _cffi_f_SSL_get_tlsext_status_ocsp_resp _cffi_d_SSL_get_tlsext_status_ocsp_resp #endif -static long _cffi_d_SSL_get_verify_result(SSL const * x0) +static long _cffi_d_SSL_get_verify_result(SSL const * x0) { - return SSL_get_verify_result(x0); + return SSL_get_verify_result(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_get_verify_result(PyObject *self, PyObject *arg0) +_cffi_f_SSL_get_verify_result(PyObject *self, PyObject *arg0) { SSL const * x0; Py_ssize_t datasize; - long result; + long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_get_verify_result(x0); } + { result = SSL_get_verify_result(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else -# define _cffi_f_SSL_get_verify_result _cffi_d_SSL_get_verify_result +# define _cffi_f_SSL_get_verify_result _cffi_d_SSL_get_verify_result #endif static char const * _cffi_d_SSL_get_version(SSL const * x0) @@ -37062,13 +37062,13 @@ _cffi_f_SSL_get_version(PyObject *self, PyObject *arg0) char const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -37079,7 +37079,7 @@ _cffi_f_SSL_get_version(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_SSL_get_version _cffi_d_SSL_get_version @@ -37122,13 +37122,13 @@ _cffi_f_SSL_load_client_CA_file(PyObject *self, PyObject *arg0) Cryptography_STACK_OF_X509_NAME * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg0, (char **)&x0); + _cffi_type(46), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (char const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(46), arg0) < 0) return NULL; } @@ -37139,7 +37139,7 @@ _cffi_f_SSL_load_client_CA_file(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(633)); + return _cffi_from_c_pointer((char *)result, _cffi_type(633)); } #else # define _cffi_f_SSL_load_client_CA_file _cffi_d_SSL_load_client_CA_file @@ -37182,13 +37182,13 @@ _cffi_f_SSL_new(PyObject *self, PyObject *arg0) SSL * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg0, (char **)&x0); + _cffi_type(490), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(490), arg0) < 0) return NULL; } @@ -37199,7 +37199,7 @@ _cffi_f_SSL_new(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(487)); + return _cffi_from_c_pointer((char *)result, _cffi_type(487)); } #else # define _cffi_f_SSL_new _cffi_d_SSL_new @@ -37226,24 +37226,24 @@ _cffi_f_SSL_peek(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } @@ -37277,13 +37277,13 @@ _cffi_f_SSL_pending(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -37321,24 +37321,24 @@ _cffi_f_SSL_read(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } @@ -37359,78 +37359,78 @@ _cffi_f_SSL_read(PyObject *self, PyObject *args) # define _cffi_f_SSL_read _cffi_d_SSL_read #endif -static int _cffi_d_SSL_read_early_data(SSL * x0, void * x1, size_t x2, size_t * x3) -{ - return SSL_read_early_data(x0, x1, x2, x3); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_read_early_data(PyObject *self, PyObject *args) -{ - SSL * x0; - void * x1; - size_t x2; - size_t * x3; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - - if (!PyArg_UnpackTuple(args, "SSL_read_early_data", 4, 4, &arg0, &arg1, &arg2, &arg3)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (void *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, size_t); - if (x2 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (size_t *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1037), arg3) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_read_early_data(x0, x1, x2, x3); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_read_early_data _cffi_d_SSL_read_early_data -#endif - +static int _cffi_d_SSL_read_early_data(SSL * x0, void * x1, size_t x2, size_t * x3) +{ + return SSL_read_early_data(x0, x1, x2, x3); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_read_early_data(PyObject *self, PyObject *args) +{ + SSL * x0; + void * x1; + size_t x2; + size_t * x3; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + + if (!PyArg_UnpackTuple(args, "SSL_read_early_data", 4, 4, &arg0, &arg1, &arg2, &arg3)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(193), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (void *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, size_t); + if (x2 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1037), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (size_t *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1037), arg3) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_read_early_data(x0, x1, x2, x3); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_read_early_data _cffi_d_SSL_read_early_data +#endif + static int _cffi_d_SSL_renegotiate(SSL * x0) { return SSL_renegotiate(x0); @@ -37444,13 +37444,13 @@ _cffi_f_SSL_renegotiate(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -37480,13 +37480,13 @@ _cffi_f_SSL_renegotiate_pending(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -37530,35 +37530,35 @@ _cffi_f_SSL_select_next_proto(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg0, (char **)&x0); + _cffi_type(802), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (unsigned char * *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(802), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(802), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg2, (char **)&x2); + _cffi_type(103), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(103), arg2) < 0) return NULL; } @@ -37567,13 +37567,13 @@ _cffi_f_SSL_select_next_proto(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg4, (char **)&x4); + _cffi_type(103), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(103), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(103), arg4) < 0) return NULL; } @@ -37607,13 +37607,13 @@ _cffi_f_SSL_session_reused(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -37649,24 +37649,24 @@ _cffi_f_SSL_set_SSL_CTX(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(490), arg1, (char **)&x1); + _cffi_type(490), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (SSL_CTX *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(490), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(490), arg1) < 0) return NULL; } @@ -37677,7 +37677,7 @@ _cffi_f_SSL_set_SSL_CTX(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(490)); + return _cffi_from_c_pointer((char *)result, _cffi_type(490)); } #else # define _cffi_f_SSL_set_SSL_CTX _cffi_d_SSL_set_SSL_CTX @@ -37695,13 +37695,13 @@ _cffi_f_SSL_set_accept_state(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -37740,24 +37740,24 @@ _cffi_f_SSL_set_alpn_protos(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -37798,35 +37798,35 @@ _cffi_f_SSL_set_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg1, (char **)&x1); + _cffi_type(186), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (BIO *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(186), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(186), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg2, (char **)&x2); + _cffi_type(186), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (BIO *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(186), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(186), arg2) < 0) return NULL; } @@ -37864,28 +37864,28 @@ _cffi_f_SSL_set_cert_cb(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } - x1 = (int(*)(SSL *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2337)); + x1 = (int(*)(SSL *, void *))_cffi_to_c_pointer(arg1, _cffi_type(2337)); if (x1 == (int(*)(SSL *, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg2, (char **)&x2); + _cffi_type(193), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (void *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) return NULL; } @@ -37915,13 +37915,13 @@ _cffi_f_SSL_set_connect_state(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -37960,13 +37960,13 @@ _cffi_f_SSL_set_ex_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -37975,13 +37975,13 @@ _cffi_f_SSL_set_ex_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg2, (char **)&x2); + _cffi_type(193), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (void *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) return NULL; } @@ -38017,13 +38017,13 @@ _cffi_f_SSL_set_fd(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -38044,105 +38044,105 @@ _cffi_f_SSL_set_fd(PyObject *self, PyObject *args) # define _cffi_f_SSL_set_fd _cffi_d_SSL_set_fd #endif -static long _cffi_d_SSL_set_max_proto_version(SSL * x0, int x1) +static long _cffi_d_SSL_set_max_proto_version(SSL * x0, int x1) { - return SSL_set_max_proto_version(x0, x1); + return SSL_set_max_proto_version(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_set_max_proto_version(PyObject *self, PyObject *args) +_cffi_f_SSL_set_max_proto_version(PyObject *self, PyObject *args) { SSL * x0; - int x1; + int x1; Py_ssize_t datasize; - long result; + long result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "SSL_set_max_proto_version", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "SSL_set_max_proto_version", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_set_max_proto_version(x0, x1); } + { result = SSL_set_max_proto_version(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else -# define _cffi_f_SSL_set_max_proto_version _cffi_d_SSL_set_max_proto_version +# define _cffi_f_SSL_set_max_proto_version _cffi_d_SSL_set_max_proto_version #endif -static long _cffi_d_SSL_set_min_proto_version(SSL * x0, int x1) +static long _cffi_d_SSL_set_min_proto_version(SSL * x0, int x1) { - return SSL_set_min_proto_version(x0, x1); + return SSL_set_min_proto_version(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_set_min_proto_version(PyObject *self, PyObject *args) +_cffi_f_SSL_set_min_proto_version(PyObject *self, PyObject *args) { SSL * x0; - int x1; + int x1; Py_ssize_t datasize; - long result; + long result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "SSL_set_min_proto_version", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "SSL_set_min_proto_version", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_set_min_proto_version(x0, x1); } + { result = SSL_set_min_proto_version(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else -# define _cffi_f_SSL_set_min_proto_version _cffi_d_SSL_set_min_proto_version +# define _cffi_f_SSL_set_min_proto_version _cffi_d_SSL_set_min_proto_version #endif -static unsigned long _cffi_d_SSL_set_mode(SSL * x0, unsigned long x1) +static unsigned long _cffi_d_SSL_set_mode(SSL * x0, unsigned long x1) { - return SSL_set_mode(x0, x1); + return SSL_set_mode(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_SSL_set_mode(PyObject *self, PyObject *args) +_cffi_f_SSL_set_mode(PyObject *self, PyObject *args) { SSL * x0; unsigned long x1; @@ -38151,17 +38151,17 @@ _cffi_f_SSL_set_mode(PyObject *self, PyObject *args) PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "SSL_set_mode", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "SSL_set_mode", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -38171,7 +38171,7 @@ _cffi_f_SSL_set_mode(PyObject *self, PyObject *args) Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = SSL_set_mode(x0, x1); } + { result = SSL_set_mode(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -38179,62 +38179,62 @@ _cffi_f_SSL_set_mode(PyObject *self, PyObject *args) return _cffi_from_c_int(result, unsigned long); } #else -# define _cffi_f_SSL_set_mode _cffi_d_SSL_set_mode -#endif - -static unsigned long _cffi_d_SSL_set_options(SSL * x0, unsigned long x1) -{ - return SSL_set_options(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_set_options(PyObject *self, PyObject *args) -{ - SSL * x0; - unsigned long x1; - Py_ssize_t datasize; - unsigned long result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_set_options", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, unsigned long); - if (x1 == (unsigned long)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_set_options(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, unsigned long); -} -#else -# define _cffi_f_SSL_set_options _cffi_d_SSL_set_options -#endif - -static void _cffi_d_SSL_set_post_handshake_auth(SSL * x0, int x1) -{ - SSL_set_post_handshake_auth(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_set_post_handshake_auth(PyObject *self, PyObject *args) +# define _cffi_f_SSL_set_mode _cffi_d_SSL_set_mode +#endif + +static unsigned long _cffi_d_SSL_set_options(SSL * x0, unsigned long x1) +{ + return SSL_set_options(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_set_options(PyObject *self, PyObject *args) +{ + SSL * x0; + unsigned long x1; + Py_ssize_t datasize; + unsigned long result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_set_options", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, unsigned long); + if (x1 == (unsigned long)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_set_options(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, unsigned long); +} +#else +# define _cffi_f_SSL_set_options _cffi_d_SSL_set_options +#endif + +static void _cffi_d_SSL_set_post_handshake_auth(SSL * x0, int x1) +{ + SSL_set_post_handshake_auth(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_set_post_handshake_auth(PyObject *self, PyObject *args) { SSL * x0; int x1; @@ -38242,17 +38242,17 @@ _cffi_f_SSL_set_post_handshake_auth(PyObject *self, PyObject *args) PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "SSL_set_post_handshake_auth", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "SSL_set_post_handshake_auth", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -38262,7 +38262,7 @@ _cffi_f_SSL_set_post_handshake_auth(PyObject *self, PyObject *args) Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { SSL_set_post_handshake_auth(x0, x1); } + { SSL_set_post_handshake_auth(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -38271,7 +38271,7 @@ _cffi_f_SSL_set_post_handshake_auth(PyObject *self, PyObject *args) return Py_None; } #else -# define _cffi_f_SSL_set_post_handshake_auth _cffi_d_SSL_set_post_handshake_auth +# define _cffi_f_SSL_set_post_handshake_auth _cffi_d_SSL_set_post_handshake_auth #endif static int _cffi_d_SSL_set_session(SSL * x0, SSL_SESSION * x1) @@ -38293,24 +38293,24 @@ _cffi_f_SSL_set_session(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1666), arg1, (char **)&x1); + _cffi_type(1666), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (SSL_SESSION *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1666), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1666), arg1) < 0) return NULL; } @@ -38345,13 +38345,13 @@ _cffi_f_SSL_set_shutdown(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -38391,24 +38391,24 @@ _cffi_f_SSL_set_tlsext_host_name(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg1, (char **)&x1); + _cffi_type(409), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) return NULL; } @@ -38447,24 +38447,24 @@ _cffi_f_SSL_set_tlsext_status_ocsp_resp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg1, (char **)&x1); + _cffi_type(752), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(752), arg1) < 0) return NULL; } @@ -38504,13 +38504,13 @@ _cffi_f_SSL_set_tlsext_status_type(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -38531,59 +38531,59 @@ _cffi_f_SSL_set_tlsext_status_type(PyObject *self, PyObject *args) # define _cffi_f_SSL_set_tlsext_status_type _cffi_d_SSL_set_tlsext_status_type #endif -static int _cffi_d_SSL_set_tlsext_use_srtp(SSL * x0, char const * x1) -{ - return SSL_set_tlsext_use_srtp(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_set_tlsext_use_srtp(PyObject *self, PyObject *args) -{ - SSL * x0; - char const * x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "SSL_set_tlsext_use_srtp", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (char const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_set_tlsext_use_srtp(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_set_tlsext_use_srtp _cffi_d_SSL_set_tlsext_use_srtp -#endif - +static int _cffi_d_SSL_set_tlsext_use_srtp(SSL * x0, char const * x1) +{ + return SSL_set_tlsext_use_srtp(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_set_tlsext_use_srtp(PyObject *self, PyObject *args) +{ + SSL * x0; + char const * x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "SSL_set_tlsext_use_srtp", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(46), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (char const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_set_tlsext_use_srtp(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_set_tlsext_use_srtp _cffi_d_SSL_set_tlsext_use_srtp +#endif + static int _cffi_d_SSL_shutdown(SSL * x0) { return SSL_shutdown(x0); @@ -38597,13 +38597,13 @@ _cffi_f_SSL_shutdown(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -38633,13 +38633,13 @@ _cffi_f_SSL_state_string_long(PyObject *self, PyObject *arg0) char const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -38650,7 +38650,7 @@ _cffi_f_SSL_state_string_long(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_SSL_state_string_long _cffi_d_SSL_state_string_long @@ -38669,13 +38669,13 @@ _cffi_f_SSL_total_renegotiations(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } @@ -38692,42 +38692,42 @@ _cffi_f_SSL_total_renegotiations(PyObject *self, PyObject *arg0) # define _cffi_f_SSL_total_renegotiations _cffi_d_SSL_total_renegotiations #endif -static int _cffi_d_SSL_verify_client_post_handshake(SSL * x0) -{ - return SSL_verify_client_post_handshake(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_verify_client_post_handshake(PyObject *self, PyObject *arg0) -{ - SSL * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_verify_client_post_handshake(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_verify_client_post_handshake _cffi_d_SSL_verify_client_post_handshake -#endif - +static int _cffi_d_SSL_verify_client_post_handshake(SSL * x0) +{ + return SSL_verify_client_post_handshake(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_verify_client_post_handshake(PyObject *self, PyObject *arg0) +{ + SSL * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_verify_client_post_handshake(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_verify_client_post_handshake _cffi_d_SSL_verify_client_post_handshake +#endif + static int _cffi_d_SSL_version(SSL const * x0) { return SSL_version(x0); @@ -38741,13 +38741,13 @@ _cffi_f_SSL_version(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -38777,13 +38777,13 @@ _cffi_f_SSL_want_read(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -38813,13 +38813,13 @@ _cffi_f_SSL_want_write(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(157), arg0, (char **)&x0); + _cffi_type(157), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(157), arg0) < 0) return NULL; } @@ -38857,24 +38857,24 @@ _cffi_f_SSL_write(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); + _cffi_type(487), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (SSL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); + _cffi_type(126), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) return NULL; } @@ -38895,78 +38895,78 @@ _cffi_f_SSL_write(PyObject *self, PyObject *args) # define _cffi_f_SSL_write _cffi_d_SSL_write #endif -static int _cffi_d_SSL_write_early_data(SSL * x0, void const * x1, size_t x2, size_t * x3) -{ - return SSL_write_early_data(x0, x1, x2, x3); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_SSL_write_early_data(PyObject *self, PyObject *args) -{ - SSL * x0; - void const * x1; - size_t x2; - size_t * x3; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - - if (!PyArg_UnpackTuple(args, "SSL_write_early_data", 4, 4, &arg0, &arg1, &arg2, &arg3)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(487), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (SSL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(126), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (void const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, size_t); - if (x2 == (size_t)-1 && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1037), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (size_t *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1037), arg3) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = SSL_write_early_data(x0, x1, x2, x3); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_SSL_write_early_data _cffi_d_SSL_write_early_data -#endif - +static int _cffi_d_SSL_write_early_data(SSL * x0, void const * x1, size_t x2, size_t * x3) +{ + return SSL_write_early_data(x0, x1, x2, x3); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_SSL_write_early_data(PyObject *self, PyObject *args) +{ + SSL * x0; + void const * x1; + size_t x2; + size_t * x3; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + + if (!PyArg_UnpackTuple(args, "SSL_write_early_data", 4, 4, &arg0, &arg1, &arg2, &arg3)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(487), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (SSL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(487), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(126), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (void const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(126), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, size_t); + if (x2 == (size_t)-1 && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1037), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (size_t *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1037), arg3) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = SSL_write_early_data(x0, x1, x2, x3); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_SSL_write_early_data _cffi_d_SSL_write_early_data +#endif + static unsigned long _cffi_d_SSLeay(void) { return SSLeay(); @@ -39013,7 +39013,7 @@ _cffi_f_SSLeay_version(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_SSLeay_version _cffi_d_SSLeay_version @@ -39037,7 +39037,7 @@ _cffi_f_SSLv23_client_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_SSLv23_client_method _cffi_d_SSLv23_client_method @@ -39061,7 +39061,7 @@ _cffi_f_SSLv23_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_SSLv23_method _cffi_d_SSLv23_method @@ -39085,7 +39085,7 @@ _cffi_f_SSLv23_server_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_SSLv23_server_method _cffi_d_SSLv23_server_method @@ -39109,7 +39109,7 @@ _cffi_f_SSLv3_client_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_SSLv3_client_method _cffi_d_SSLv3_client_method @@ -39133,7 +39133,7 @@ _cffi_f_SSLv3_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_SSLv3_method _cffi_d_SSLv3_method @@ -39157,84 +39157,84 @@ _cffi_f_SSLv3_server_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_SSLv3_server_method _cffi_d_SSLv3_server_method #endif -static SSL_METHOD const * _cffi_d_TLS_client_method(void) -{ - return TLS_client_method(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_TLS_client_method(PyObject *self, PyObject *noarg) -{ - SSL_METHOD const * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = TLS_client_method(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); -} -#else -# define _cffi_f_TLS_client_method _cffi_d_TLS_client_method -#endif - -static SSL_METHOD const * _cffi_d_TLS_method(void) -{ - return TLS_method(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_TLS_method(PyObject *self, PyObject *noarg) -{ - SSL_METHOD const * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = TLS_method(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); -} -#else -# define _cffi_f_TLS_method _cffi_d_TLS_method -#endif - -static SSL_METHOD const * _cffi_d_TLS_server_method(void) -{ - return TLS_server_method(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_TLS_server_method(PyObject *self, PyObject *noarg) -{ - SSL_METHOD const * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = TLS_server_method(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); -} -#else -# define _cffi_f_TLS_server_method _cffi_d_TLS_server_method -#endif - +static SSL_METHOD const * _cffi_d_TLS_client_method(void) +{ + return TLS_client_method(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_TLS_client_method(PyObject *self, PyObject *noarg) +{ + SSL_METHOD const * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = TLS_client_method(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); +} +#else +# define _cffi_f_TLS_client_method _cffi_d_TLS_client_method +#endif + +static SSL_METHOD const * _cffi_d_TLS_method(void) +{ + return TLS_method(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_TLS_method(PyObject *self, PyObject *noarg) +{ + SSL_METHOD const * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = TLS_method(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); +} +#else +# define _cffi_f_TLS_method _cffi_d_TLS_method +#endif + +static SSL_METHOD const * _cffi_d_TLS_server_method(void) +{ + return TLS_server_method(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_TLS_server_method(PyObject *self, PyObject *noarg) +{ + SSL_METHOD const * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = TLS_server_method(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); +} +#else +# define _cffi_f_TLS_server_method _cffi_d_TLS_server_method +#endif + static SSL_METHOD const * _cffi_d_TLSv1_1_client_method(void) { return TLSv1_1_client_method(); @@ -39253,7 +39253,7 @@ _cffi_f_TLSv1_1_client_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_TLSv1_1_client_method _cffi_d_TLSv1_1_client_method @@ -39277,7 +39277,7 @@ _cffi_f_TLSv1_1_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_TLSv1_1_method _cffi_d_TLSv1_1_method @@ -39301,7 +39301,7 @@ _cffi_f_TLSv1_1_server_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_TLSv1_1_server_method _cffi_d_TLSv1_1_server_method @@ -39325,7 +39325,7 @@ _cffi_f_TLSv1_2_client_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_TLSv1_2_client_method _cffi_d_TLSv1_2_client_method @@ -39349,7 +39349,7 @@ _cffi_f_TLSv1_2_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_TLSv1_2_method _cffi_d_TLSv1_2_method @@ -39373,7 +39373,7 @@ _cffi_f_TLSv1_2_server_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_TLSv1_2_server_method _cffi_d_TLSv1_2_server_method @@ -39397,7 +39397,7 @@ _cffi_f_TLSv1_client_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_TLSv1_client_method _cffi_d_TLSv1_client_method @@ -39421,7 +39421,7 @@ _cffi_f_TLSv1_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_TLSv1_method _cffi_d_TLSv1_method @@ -39445,7 +39445,7 @@ _cffi_f_TLSv1_server_method(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3114)); } #else # define _cffi_f_TLSv1_server_method _cffi_d_TLSv1_server_method @@ -39463,13 +39463,13 @@ _cffi_f_USERNOTICE_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2873), arg0, (char **)&x0); + _cffi_type(2873), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (USERNOTICE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2873), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2873), arg0) < 0) return NULL; } @@ -39505,7 +39505,7 @@ _cffi_f_USERNOTICE_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2873)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2873)); } #else # define _cffi_f_USERNOTICE_new _cffi_d_USERNOTICE_new @@ -39572,24 +39572,24 @@ _cffi_f_X509V3_EXT_conf_nid(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(580), arg0, (char **)&x0); + _cffi_type(580), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_LHASH_OF_CONF_VALUE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(580), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(580), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(575), arg1, (char **)&x1); + _cffi_type(575), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509V3_CTX *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(575), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(575), arg1) < 0) return NULL; } @@ -39598,13 +39598,13 @@ _cffi_f_X509V3_EXT_conf_nid(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg3, (char **)&x3); + _cffi_type(409), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(409), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(409), arg3) < 0) return NULL; } @@ -39615,7 +39615,7 @@ _cffi_f_X509V3_EXT_conf_nid(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_X509V3_EXT_conf_nid _cffi_d_X509V3_EXT_conf_nid @@ -39634,13 +39634,13 @@ _cffi_f_X509V3_EXT_d2i(PyObject *self, PyObject *arg0) void * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg0, (char **)&x0); + _cffi_type(40), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) return NULL; } @@ -39651,7 +39651,7 @@ _cffi_f_X509V3_EXT_d2i(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); } #else # define _cffi_f_X509V3_EXT_d2i _cffi_d_X509V3_EXT_d2i @@ -39686,13 +39686,13 @@ _cffi_f_X509V3_EXT_i2d(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg2, (char **)&x2); + _cffi_type(193), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (void *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) return NULL; } @@ -39703,7 +39703,7 @@ _cffi_f_X509V3_EXT_i2d(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_X509V3_EXT_i2d _cffi_d_X509V3_EXT_i2d @@ -39732,46 +39732,46 @@ _cffi_f_X509V3_EXT_nconf(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(574), arg0, (char **)&x0); + _cffi_type(574), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (CONF *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(574), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(574), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(575), arg1, (char **)&x1); + _cffi_type(575), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509V3_CTX *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(575), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(575), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg2, (char **)&x2); + _cffi_type(409), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (char *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(409), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(409), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg3, (char **)&x3); + _cffi_type(409), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(409), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(409), arg3) < 0) return NULL; } @@ -39782,7 +39782,7 @@ _cffi_f_X509V3_EXT_nconf(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_X509V3_EXT_nconf _cffi_d_X509V3_EXT_nconf @@ -39811,24 +39811,24 @@ _cffi_f_X509V3_EXT_print(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg1, (char **)&x1); + _cffi_type(40), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) return NULL; } @@ -39879,13 +39879,13 @@ _cffi_f_X509V3_set_ctx(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(575), arg0, (char **)&x0); + _cffi_type(575), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509V3_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(575), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(575), arg0) < 0) return NULL; } @@ -39912,24 +39912,24 @@ _cffi_f_X509V3_set_ctx(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg3, (char **)&x3); + _cffi_type(294), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(294), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(294), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg4, (char **)&x4); + _cffi_type(57), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(57), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(57), arg4) < 0) return NULL; } @@ -39964,13 +39964,13 @@ _cffi_f_X509V3_set_ctx_nodb(PyObject *self, PyObject *arg0) void * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(575), arg0, (char **)&x0); + _cffi_type(575), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509V3_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(575), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(575), arg0) < 0) return NULL; } @@ -39981,159 +39981,159 @@ _cffi_f_X509V3_set_ctx_nodb(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); } #else # define _cffi_f_X509V3_set_ctx_nodb _cffi_d_X509V3_set_ctx_nodb #endif -static int _cffi_d_X509_ATTRIBUTE_count(X509_ATTRIBUTE const * x0) -{ - return X509_ATTRIBUTE_count(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_ATTRIBUTE_count(PyObject *self, PyObject *arg0) -{ - X509_ATTRIBUTE const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1894), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_ATTRIBUTE const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1894), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_ATTRIBUTE_count(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_X509_ATTRIBUTE_count _cffi_d_X509_ATTRIBUTE_count -#endif - -static void * _cffi_d_X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE * x0, int x1, int x2, void * x3) -{ - return X509_ATTRIBUTE_get0_data(x0, x1, x2, x3); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_ATTRIBUTE_get0_data(PyObject *self, PyObject *args) -{ - X509_ATTRIBUTE * x0; - int x1; - int x2; - void * x3; - Py_ssize_t datasize; - void * result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - - if (!PyArg_UnpackTuple(args, "X509_ATTRIBUTE_get0_data", 4, 4, &arg0, &arg1, &arg2, &arg3)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(79), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_ATTRIBUTE *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(79), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (void *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_ATTRIBUTE_get0_data(x0, x1, x2, x3); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); -} -#else -# define _cffi_f_X509_ATTRIBUTE_get0_data _cffi_d_X509_ATTRIBUTE_get0_data -#endif - -static ASN1_TYPE * _cffi_d_X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE * x0, int x1) -{ - return X509_ATTRIBUTE_get0_type(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_ATTRIBUTE_get0_type(PyObject *self, PyObject *args) -{ - X509_ATTRIBUTE * x0; - int x1; - Py_ssize_t datasize; - ASN1_TYPE * result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "X509_ATTRIBUTE_get0_type", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(79), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_ATTRIBUTE *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(79), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_ATTRIBUTE_get0_type(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(801)); -} -#else -# define _cffi_f_X509_ATTRIBUTE_get0_type _cffi_d_X509_ATTRIBUTE_get0_type -#endif - +static int _cffi_d_X509_ATTRIBUTE_count(X509_ATTRIBUTE const * x0) +{ + return X509_ATTRIBUTE_count(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_ATTRIBUTE_count(PyObject *self, PyObject *arg0) +{ + X509_ATTRIBUTE const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1894), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_ATTRIBUTE const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1894), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_ATTRIBUTE_count(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_X509_ATTRIBUTE_count _cffi_d_X509_ATTRIBUTE_count +#endif + +static void * _cffi_d_X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE * x0, int x1, int x2, void * x3) +{ + return X509_ATTRIBUTE_get0_data(x0, x1, x2, x3); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_ATTRIBUTE_get0_data(PyObject *self, PyObject *args) +{ + X509_ATTRIBUTE * x0; + int x1; + int x2; + void * x3; + Py_ssize_t datasize; + void * result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + + if (!PyArg_UnpackTuple(args, "X509_ATTRIBUTE_get0_data", 4, 4, &arg0, &arg1, &arg2, &arg3)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(79), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_ATTRIBUTE *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(79), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(193), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (void *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_ATTRIBUTE_get0_data(x0, x1, x2, x3); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); +} +#else +# define _cffi_f_X509_ATTRIBUTE_get0_data _cffi_d_X509_ATTRIBUTE_get0_data +#endif + +static ASN1_TYPE * _cffi_d_X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE * x0, int x1) +{ + return X509_ATTRIBUTE_get0_type(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_ATTRIBUTE_get0_type(PyObject *self, PyObject *args) +{ + X509_ATTRIBUTE * x0; + int x1; + Py_ssize_t datasize; + ASN1_TYPE * result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "X509_ATTRIBUTE_get0_type", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(79), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_ATTRIBUTE *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(79), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_ATTRIBUTE_get0_type(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(801)); +} +#else +# define _cffi_f_X509_ATTRIBUTE_get0_type _cffi_d_X509_ATTRIBUTE_get0_type +#endif + static int _cffi_d_X509_CRL_add0_revoked(X509_CRL * x0, X509_REVOKED * x1) { return X509_CRL_add0_revoked(x0, x1); @@ -40153,24 +40153,24 @@ _cffi_f_X509_CRL_add0_revoked(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg1, (char **)&x1); + _cffi_type(619), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(619), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(619), arg1) < 0) return NULL; } @@ -40208,24 +40208,24 @@ _cffi_f_X509_CRL_add_ext(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg1, (char **)&x1); + _cffi_type(40), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) return NULL; } @@ -40265,24 +40265,24 @@ _cffi_f_X509_CRL_cmp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1939), arg0, (char **)&x0); + _cffi_type(1939), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1939), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1939), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1939), arg1, (char **)&x1); + _cffi_type(1939), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_CRL const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1939), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1939), arg1) < 0) return NULL; } @@ -40299,42 +40299,42 @@ _cffi_f_X509_CRL_cmp(PyObject *self, PyObject *args) # define _cffi_f_X509_CRL_cmp _cffi_d_X509_CRL_cmp #endif -static X509_CRL * _cffi_d_X509_CRL_dup(X509_CRL * x0) -{ - return X509_CRL_dup(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_CRL_dup(PyObject *self, PyObject *arg0) -{ - X509_CRL * x0; - Py_ssize_t datasize; - X509_CRL * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_CRL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_CRL_dup(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(57)); -} -#else -# define _cffi_f_X509_CRL_dup _cffi_d_X509_CRL_dup -#endif - +static X509_CRL * _cffi_d_X509_CRL_dup(X509_CRL * x0) +{ + return X509_CRL_dup(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_CRL_dup(PyObject *self, PyObject *arg0) +{ + X509_CRL * x0; + Py_ssize_t datasize; + X509_CRL * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(57), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_CRL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_CRL_dup(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(57)); +} +#else +# define _cffi_f_X509_CRL_dup _cffi_d_X509_CRL_dup +#endif + static void _cffi_d_X509_CRL_free(X509_CRL * x0) { X509_CRL_free(x0); @@ -40347,13 +40347,13 @@ _cffi_f_X509_CRL_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -40371,72 +40371,72 @@ _cffi_f_X509_CRL_free(PyObject *self, PyObject *arg0) # define _cffi_f_X509_CRL_free _cffi_d_X509_CRL_free #endif -static int _cffi_d_X509_CRL_get0_by_serial(X509_CRL * x0, X509_REVOKED * * x1, ASN1_INTEGER * x2) -{ - return X509_CRL_get0_by_serial(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_CRL_get0_by_serial(PyObject *self, PyObject *args) -{ - X509_CRL * x0; - X509_REVOKED * * x1; - ASN1_INTEGER * x2; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - - if (!PyArg_UnpackTuple(args, "X509_CRL_get0_by_serial", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_CRL *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1923), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (X509_REVOKED * *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1923), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(21), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (ASN1_INTEGER *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(21), arg2) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_CRL_get0_by_serial(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_X509_CRL_get0_by_serial _cffi_d_X509_CRL_get0_by_serial -#endif - +static int _cffi_d_X509_CRL_get0_by_serial(X509_CRL * x0, X509_REVOKED * * x1, ASN1_INTEGER * x2) +{ + return X509_CRL_get0_by_serial(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_CRL_get0_by_serial(PyObject *self, PyObject *args) +{ + X509_CRL * x0; + X509_REVOKED * * x1; + ASN1_INTEGER * x2; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "X509_CRL_get0_by_serial", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(57), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_CRL *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1923), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (X509_REVOKED * *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1923), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(21), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (ASN1_INTEGER *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(21), arg2) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_CRL_get0_by_serial(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_X509_CRL_get0_by_serial _cffi_d_X509_CRL_get0_by_serial +#endif + static void _cffi_d_X509_CRL_get0_signature(X509_CRL const * x0, ASN1_OCTET_STRING const * * x1, X509_ALGOR const * * x2) { X509_CRL_get0_signature(x0, x1, x2); @@ -40457,35 +40457,35 @@ _cffi_f_X509_CRL_get0_signature(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1939), arg0, (char **)&x0); + _cffi_type(1939), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1939), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1939), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1566), arg1, (char **)&x1); + _cffi_type(1566), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_OCTET_STRING const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1566), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1566), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2553), arg2, (char **)&x2); + _cffi_type(2553), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (X509_ALGOR const * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2553), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2553), arg2) < 0) return NULL; } @@ -40516,13 +40516,13 @@ _cffi_f_X509_CRL_get_REVOKED(PyObject *self, PyObject *arg0) Cryptography_STACK_OF_X509_REVOKED * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -40533,7 +40533,7 @@ _cffi_f_X509_CRL_get_REVOKED(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(682)); + return _cffi_from_c_pointer((char *)result, _cffi_type(682)); } #else # define _cffi_f_X509_CRL_get_REVOKED _cffi_d_X509_CRL_get_REVOKED @@ -40558,13 +40558,13 @@ _cffi_f_X509_CRL_get_ext(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -40579,7 +40579,7 @@ _cffi_f_X509_CRL_get_ext(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_X509_CRL_get_ext _cffi_d_X509_CRL_get_ext @@ -40598,13 +40598,13 @@ _cffi_f_X509_CRL_get_ext_count(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -40634,13 +40634,13 @@ _cffi_f_X509_CRL_get_issuer(PyObject *self, PyObject *arg0) X509_NAME * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -40651,7 +40651,7 @@ _cffi_f_X509_CRL_get_issuer(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(643)); + return _cffi_from_c_pointer((char *)result, _cffi_type(643)); } #else # define _cffi_f_X509_CRL_get_issuer _cffi_d_X509_CRL_get_issuer @@ -40670,13 +40670,13 @@ _cffi_f_X509_CRL_get_lastUpdate(PyObject *self, PyObject *arg0) ASN1_OCTET_STRING * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -40706,13 +40706,13 @@ _cffi_f_X509_CRL_get_nextUpdate(PyObject *self, PyObject *arg0) ASN1_OCTET_STRING * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -40729,7 +40729,7 @@ _cffi_f_X509_CRL_get_nextUpdate(PyObject *self, PyObject *arg0) # define _cffi_f_X509_CRL_get_nextUpdate _cffi_d_X509_CRL_get_nextUpdate #endif -static long _cffi_d_X509_CRL_get_version(X509_CRL * x0) +static long _cffi_d_X509_CRL_get_version(X509_CRL * x0) { return X509_CRL_get_version(x0); } @@ -40739,16 +40739,16 @@ _cffi_f_X509_CRL_get_version(PyObject *self, PyObject *arg0) { X509_CRL * x0; Py_ssize_t datasize; - long result; + long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -40759,7 +40759,7 @@ _cffi_f_X509_CRL_get_version(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_int(result, long); + return _cffi_from_c_int(result, long); } #else # define _cffi_f_X509_CRL_get_version _cffi_d_X509_CRL_get_version @@ -40783,7 +40783,7 @@ _cffi_f_X509_CRL_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(57)); + return _cffi_from_c_pointer((char *)result, _cffi_type(57)); } #else # define _cffi_f_X509_CRL_new _cffi_d_X509_CRL_new @@ -40808,24 +40808,24 @@ _cffi_f_X509_CRL_print(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg1, (char **)&x1); + _cffi_type(57), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) return NULL; } @@ -40861,24 +40861,24 @@ _cffi_f_X509_CRL_set_issuer_name(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg1, (char **)&x1); + _cffi_type(643), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) return NULL; } @@ -40914,13 +40914,13 @@ _cffi_f_X509_CRL_set_lastUpdate(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -40967,13 +40967,13 @@ _cffi_f_X509_CRL_set_nextUpdate(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -41020,13 +41020,13 @@ _cffi_f_X509_CRL_set_version(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -41068,35 +41068,35 @@ _cffi_f_X509_CRL_sign(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg2, (char **)&x2); + _cffi_type(354), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) return NULL; } @@ -41126,13 +41126,13 @@ _cffi_f_X509_CRL_sort(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } @@ -41168,24 +41168,24 @@ _cffi_f_X509_CRL_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -41225,24 +41225,24 @@ _cffi_f_X509_EXTENSION_create_by_OBJ(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(606), arg0, (char **)&x0); + _cffi_type(606), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSION * *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(606), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(606), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(607), arg1, (char **)&x1); + _cffi_type(607), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) return NULL; } @@ -41268,7 +41268,7 @@ _cffi_f_X509_EXTENSION_create_by_OBJ(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_X509_EXTENSION_create_by_OBJ _cffi_d_X509_EXTENSION_create_by_OBJ @@ -41287,13 +41287,13 @@ _cffi_f_X509_EXTENSION_dup(PyObject *self, PyObject *arg0) X509_EXTENSION * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg0, (char **)&x0); + _cffi_type(40), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) return NULL; } @@ -41304,7 +41304,7 @@ _cffi_f_X509_EXTENSION_dup(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_X509_EXTENSION_dup _cffi_d_X509_EXTENSION_dup @@ -41322,13 +41322,13 @@ _cffi_f_X509_EXTENSION_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg0, (char **)&x0); + _cffi_type(40), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) return NULL; } @@ -41359,13 +41359,13 @@ _cffi_f_X509_EXTENSION_get_critical(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg0, (char **)&x0); + _cffi_type(40), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) return NULL; } @@ -41395,13 +41395,13 @@ _cffi_f_X509_EXTENSION_get_data(PyObject *self, PyObject *arg0) ASN1_OCTET_STRING * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg0, (char **)&x0); + _cffi_type(40), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) return NULL; } @@ -41431,13 +41431,13 @@ _cffi_f_X509_EXTENSION_get_object(PyObject *self, PyObject *arg0) ASN1_OBJECT * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg0, (char **)&x0); + _cffi_type(40), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(40), arg0) < 0) return NULL; } @@ -41448,7 +41448,7 @@ _cffi_f_X509_EXTENSION_get_object(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(607)); + return _cffi_from_c_pointer((char *)result, _cffi_type(607)); } #else # define _cffi_f_X509_EXTENSION_get_object _cffi_d_X509_EXTENSION_get_object @@ -41479,24 +41479,24 @@ _cffi_f_X509_NAME_ENTRY_create_by_OBJ(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(659), arg0, (char **)&x0); + _cffi_type(659), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME_ENTRY * *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(659), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(659), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(607), arg1, (char **)&x1); + _cffi_type(607), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) return NULL; } @@ -41505,13 +41505,13 @@ _cffi_f_X509_NAME_ENTRY_create_by_OBJ(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -41526,7 +41526,7 @@ _cffi_f_X509_NAME_ENTRY_create_by_OBJ(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(43)); + return _cffi_from_c_pointer((char *)result, _cffi_type(43)); } #else # define _cffi_f_X509_NAME_ENTRY_create_by_OBJ _cffi_d_X509_NAME_ENTRY_create_by_OBJ @@ -41544,13 +41544,13 @@ _cffi_f_X509_NAME_ENTRY_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(43), arg0, (char **)&x0); + _cffi_type(43), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME_ENTRY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(43), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(43), arg0) < 0) return NULL; } @@ -41581,13 +41581,13 @@ _cffi_f_X509_NAME_ENTRY_get_data(PyObject *self, PyObject *arg0) ASN1_OCTET_STRING * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(43), arg0, (char **)&x0); + _cffi_type(43), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME_ENTRY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(43), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(43), arg0) < 0) return NULL; } @@ -41617,13 +41617,13 @@ _cffi_f_X509_NAME_ENTRY_get_object(PyObject *self, PyObject *arg0) ASN1_OBJECT * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(43), arg0, (char **)&x0); + _cffi_type(43), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME_ENTRY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(43), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(43), arg0) < 0) return NULL; } @@ -41634,48 +41634,48 @@ _cffi_f_X509_NAME_ENTRY_get_object(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(607)); + return _cffi_from_c_pointer((char *)result, _cffi_type(607)); } #else # define _cffi_f_X509_NAME_ENTRY_get_object _cffi_d_X509_NAME_ENTRY_get_object #endif -static int _cffi_d_X509_NAME_ENTRY_set(X509_NAME_ENTRY * x0) -{ - return X509_NAME_ENTRY_set(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_NAME_ENTRY_set(PyObject *self, PyObject *arg0) -{ - X509_NAME_ENTRY * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(43), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_NAME_ENTRY *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(43), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_NAME_ENTRY_set(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_X509_NAME_ENTRY_set _cffi_d_X509_NAME_ENTRY_set -#endif - +static int _cffi_d_X509_NAME_ENTRY_set(X509_NAME_ENTRY * x0) +{ + return X509_NAME_ENTRY_set(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_NAME_ENTRY_set(PyObject *self, PyObject *arg0) +{ + X509_NAME_ENTRY * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(43), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_NAME_ENTRY *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(43), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_NAME_ENTRY_set(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_X509_NAME_ENTRY_set _cffi_d_X509_NAME_ENTRY_set +#endif + static int _cffi_d_X509_NAME_add_entry(X509_NAME * x0, X509_NAME_ENTRY * x1, int x2, int x3) { return X509_NAME_add_entry(x0, x1, x2, x3); @@ -41699,24 +41699,24 @@ _cffi_f_X509_NAME_add_entry(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(43), arg1, (char **)&x1); + _cffi_type(43), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_NAME_ENTRY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(43), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(43), arg1) < 0) return NULL; } @@ -41770,13 +41770,13 @@ _cffi_f_X509_NAME_add_entry_by_NID(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } @@ -41789,13 +41789,13 @@ _cffi_f_X509_NAME_add_entry_by_NID(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg3, (char **)&x3); + _cffi_type(752), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) return NULL; } @@ -41853,24 +41853,24 @@ _cffi_f_X509_NAME_add_entry_by_OBJ(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(607), arg1, (char **)&x1); + _cffi_type(607), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) return NULL; } @@ -41879,13 +41879,13 @@ _cffi_f_X509_NAME_add_entry_by_OBJ(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg3, (char **)&x3); + _cffi_type(752), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(752), arg3) < 0) return NULL; } @@ -41943,24 +41943,24 @@ _cffi_f_X509_NAME_add_entry_by_txt(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -41969,13 +41969,13 @@ _cffi_f_X509_NAME_add_entry_by_txt(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); + _cffi_type(103), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) return NULL; } @@ -42023,24 +42023,24 @@ _cffi_f_X509_NAME_cmp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2003), arg0, (char **)&x0); + _cffi_type(2003), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2003), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2003), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2003), arg1, (char **)&x1); + _cffi_type(2003), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_NAME const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2003), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2003), arg1) < 0) return NULL; } @@ -42076,13 +42076,13 @@ _cffi_f_X509_NAME_delete_entry(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } @@ -42097,7 +42097,7 @@ _cffi_f_X509_NAME_delete_entry(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(43)); + return _cffi_from_c_pointer((char *)result, _cffi_type(43)); } #else # define _cffi_f_X509_NAME_delete_entry _cffi_d_X509_NAME_delete_entry @@ -42116,13 +42116,13 @@ _cffi_f_X509_NAME_dup(PyObject *self, PyObject *arg0) X509_NAME * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } @@ -42133,7 +42133,7 @@ _cffi_f_X509_NAME_dup(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(643)); + return _cffi_from_c_pointer((char *)result, _cffi_type(643)); } #else # define _cffi_f_X509_NAME_dup _cffi_d_X509_NAME_dup @@ -42152,13 +42152,13 @@ _cffi_f_X509_NAME_entry_count(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } @@ -42187,13 +42187,13 @@ _cffi_f_X509_NAME_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } @@ -42230,13 +42230,13 @@ _cffi_f_X509_NAME_get_entry(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } @@ -42251,7 +42251,7 @@ _cffi_f_X509_NAME_get_entry(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(43)); + return _cffi_from_c_pointer((char *)result, _cffi_type(43)); } #else # define _cffi_f_X509_NAME_get_entry _cffi_d_X509_NAME_get_entry @@ -42278,13 +42278,13 @@ _cffi_f_X509_NAME_get_index_by_NID(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } @@ -42322,13 +42322,13 @@ _cffi_f_X509_NAME_hash(PyObject *self, PyObject *arg0) unsigned long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } @@ -42363,7 +42363,7 @@ _cffi_f_X509_NAME_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(643)); + return _cffi_from_c_pointer((char *)result, _cffi_type(643)); } #else # define _cffi_f_X509_NAME_new _cffi_d_X509_NAME_new @@ -42390,24 +42390,24 @@ _cffi_f_X509_NAME_oneline(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg1, (char **)&x1); + _cffi_type(409), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(409), arg1) < 0) return NULL; } @@ -42422,77 +42422,77 @@ _cffi_f_X509_NAME_oneline(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(409)); + return _cffi_from_c_pointer((char *)result, _cffi_type(409)); } #else # define _cffi_f_X509_NAME_oneline _cffi_d_X509_NAME_oneline #endif -static int _cffi_d_X509_NAME_print_ex(BIO * x0, X509_NAME * x1, int x2, unsigned long x3) -{ - return X509_NAME_print_ex(x0, x1, x2, x3); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_NAME_print_ex(PyObject *self, PyObject *args) -{ - BIO * x0; - X509_NAME * x1; - int x2; - unsigned long x3; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - - if (!PyArg_UnpackTuple(args, "X509_NAME_print_ex", 4, 4, &arg0, &arg1, &arg2, &arg3)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (BIO *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (X509_NAME *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - - x3 = _cffi_to_c_int(arg3, unsigned long); - if (x3 == (unsigned long)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_NAME_print_ex(x0, x1, x2, x3); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_X509_NAME_print_ex _cffi_d_X509_NAME_print_ex -#endif - +static int _cffi_d_X509_NAME_print_ex(BIO * x0, X509_NAME * x1, int x2, unsigned long x3) +{ + return X509_NAME_print_ex(x0, x1, x2, x3); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_NAME_print_ex(PyObject *self, PyObject *args) +{ + BIO * x0; + X509_NAME * x1; + int x2; + unsigned long x3; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + + if (!PyArg_UnpackTuple(args, "X509_NAME_print_ex", 4, 4, &arg0, &arg1, &arg2, &arg3)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(186), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (BIO *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(643), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (X509_NAME *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + + x3 = _cffi_to_c_int(arg3, unsigned long); + if (x3 == (unsigned long)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_NAME_print_ex(x0, x1, x2, x3); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_X509_NAME_print_ex _cffi_d_X509_NAME_print_ex +#endif + static X509 * _cffi_d_X509_OBJECT_get0_X509(X509_OBJECT * x0) { return X509_OBJECT_get0_X509(x0); @@ -42506,13 +42506,13 @@ _cffi_f_X509_OBJECT_get0_X509(PyObject *self, PyObject *arg0) X509 * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(537), arg0, (char **)&x0); + _cffi_type(537), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_OBJECT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(537), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(537), arg0) < 0) return NULL; } @@ -42542,13 +42542,13 @@ _cffi_f_X509_OBJECT_get_type(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2010), arg0, (char **)&x0); + _cffi_type(2010), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_OBJECT const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2010), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2010), arg0) < 0) return NULL; } @@ -42565,84 +42565,84 @@ _cffi_f_X509_OBJECT_get_type(PyObject *self, PyObject *arg0) # define _cffi_f_X509_OBJECT_get_type _cffi_d_X509_OBJECT_get_type #endif -static int _cffi_d_X509_REQ_add1_attr_by_OBJ(X509_REQ * x0, ASN1_OBJECT const * x1, int x2, unsigned char const * x3, int x4) -{ - return X509_REQ_add1_attr_by_OBJ(x0, x1, x2, x3, x4); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_REQ_add1_attr_by_OBJ(PyObject *self, PyObject *args) -{ - X509_REQ * x0; - ASN1_OBJECT const * x1; - int x2; - unsigned char const * x3; - int x4; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - PyObject *arg3; - PyObject *arg4; - - if (!PyArg_UnpackTuple(args, "X509_REQ_add1_attr_by_OBJ", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_REQ *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(765), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (ASN1_OBJECT const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(765), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg3, (char **)&x3); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x3 = (unsigned char const *)alloca((size_t)datasize); - memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) - return NULL; - } - - x4 = _cffi_to_c_int(arg4, int); - if (x4 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_REQ_add1_attr_by_OBJ(x0, x1, x2, x3, x4); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_X509_REQ_add1_attr_by_OBJ _cffi_d_X509_REQ_add1_attr_by_OBJ -#endif - +static int _cffi_d_X509_REQ_add1_attr_by_OBJ(X509_REQ * x0, ASN1_OBJECT const * x1, int x2, unsigned char const * x3, int x4) +{ + return X509_REQ_add1_attr_by_OBJ(x0, x1, x2, x3, x4); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_REQ_add1_attr_by_OBJ(PyObject *self, PyObject *args) +{ + X509_REQ * x0; + ASN1_OBJECT const * x1; + int x2; + unsigned char const * x3; + int x4; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + PyObject *arg3; + PyObject *arg4; + + if (!PyArg_UnpackTuple(args, "X509_REQ_add1_attr_by_OBJ", 5, 5, &arg0, &arg1, &arg2, &arg3, &arg4)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(294), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_REQ *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(765), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (ASN1_OBJECT const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(765), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(103), arg3, (char **)&x3); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x3 = (unsigned char const *)alloca((size_t)datasize); + memset((void *)x3, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(103), arg3) < 0) + return NULL; + } + + x4 = _cffi_to_c_int(arg4, int); + if (x4 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_REQ_add1_attr_by_OBJ(x0, x1, x2, x3, x4); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_X509_REQ_add1_attr_by_OBJ _cffi_d_X509_REQ_add1_attr_by_OBJ +#endif + static int _cffi_d_X509_REQ_add_extensions(X509_REQ * x0, X509_EXTENSIONS * x1) { return X509_REQ_add_extensions(x0, x1); @@ -42662,24 +42662,24 @@ _cffi_f_X509_REQ_add_extensions(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(615), arg1, (char **)&x1); + _cffi_type(615), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_EXTENSIONS *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(615), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(615), arg1) < 0) return NULL; } @@ -42708,13 +42708,13 @@ _cffi_f_X509_REQ_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } @@ -42752,35 +42752,35 @@ _cffi_f_X509_REQ_get0_signature(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(551), arg0, (char **)&x0); + _cffi_type(551), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(551), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(551), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1566), arg1, (char **)&x1); + _cffi_type(1566), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_OCTET_STRING const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1566), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1566), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2553), arg2, (char **)&x2); + _cffi_type(2553), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (X509_ALGOR const * *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2553), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2553), arg2) < 0) return NULL; } @@ -42798,111 +42798,111 @@ _cffi_f_X509_REQ_get0_signature(PyObject *self, PyObject *args) # define _cffi_f_X509_REQ_get0_signature _cffi_d_X509_REQ_get0_signature #endif -static X509_ATTRIBUTE * _cffi_d_X509_REQ_get_attr(X509_REQ const * x0, int x1) -{ - return X509_REQ_get_attr(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_REQ_get_attr(PyObject *self, PyObject *args) -{ - X509_REQ const * x0; - int x1; - Py_ssize_t datasize; - X509_ATTRIBUTE * result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "X509_REQ_get_attr", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(551), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_REQ const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(551), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_REQ_get_attr(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(79)); -} -#else -# define _cffi_f_X509_REQ_get_attr _cffi_d_X509_REQ_get_attr -#endif - -static int _cffi_d_X509_REQ_get_attr_by_OBJ(X509_REQ const * x0, ASN1_OBJECT const * x1, int x2) -{ - return X509_REQ_get_attr_by_OBJ(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_REQ_get_attr_by_OBJ(PyObject *self, PyObject *args) -{ - X509_REQ const * x0; - ASN1_OBJECT const * x1; - int x2; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - - if (!PyArg_UnpackTuple(args, "X509_REQ_get_attr_by_OBJ", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(551), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_REQ const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(551), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(765), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (ASN1_OBJECT const *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(765), arg1) < 0) - return NULL; - } - - x2 = _cffi_to_c_int(arg2, int); - if (x2 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_REQ_get_attr_by_OBJ(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_X509_REQ_get_attr_by_OBJ _cffi_d_X509_REQ_get_attr_by_OBJ -#endif - +static X509_ATTRIBUTE * _cffi_d_X509_REQ_get_attr(X509_REQ const * x0, int x1) +{ + return X509_REQ_get_attr(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_REQ_get_attr(PyObject *self, PyObject *args) +{ + X509_REQ const * x0; + int x1; + Py_ssize_t datasize; + X509_ATTRIBUTE * result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "X509_REQ_get_attr", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(551), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_REQ const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(551), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_REQ_get_attr(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(79)); +} +#else +# define _cffi_f_X509_REQ_get_attr _cffi_d_X509_REQ_get_attr +#endif + +static int _cffi_d_X509_REQ_get_attr_by_OBJ(X509_REQ const * x0, ASN1_OBJECT const * x1, int x2) +{ + return X509_REQ_get_attr_by_OBJ(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_REQ_get_attr_by_OBJ(PyObject *self, PyObject *args) +{ + X509_REQ const * x0; + ASN1_OBJECT const * x1; + int x2; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "X509_REQ_get_attr_by_OBJ", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(551), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_REQ const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(551), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(765), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (ASN1_OBJECT const *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(765), arg1) < 0) + return NULL; + } + + x2 = _cffi_to_c_int(arg2, int); + if (x2 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_REQ_get_attr_by_OBJ(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_X509_REQ_get_attr_by_OBJ _cffi_d_X509_REQ_get_attr_by_OBJ +#endif + static X509_EXTENSIONS * _cffi_d_X509_REQ_get_extensions(X509_REQ * x0) { return X509_REQ_get_extensions(x0); @@ -42916,13 +42916,13 @@ _cffi_f_X509_REQ_get_extensions(PyObject *self, PyObject *arg0) X509_EXTENSIONS * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } @@ -42933,7 +42933,7 @@ _cffi_f_X509_REQ_get_extensions(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(615)); + return _cffi_from_c_pointer((char *)result, _cffi_type(615)); } #else # define _cffi_f_X509_REQ_get_extensions _cffi_d_X509_REQ_get_extensions @@ -42952,13 +42952,13 @@ _cffi_f_X509_REQ_get_pubkey(PyObject *self, PyObject *arg0) EVP_PKEY * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } @@ -42969,7 +42969,7 @@ _cffi_f_X509_REQ_get_pubkey(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); } #else # define _cffi_f_X509_REQ_get_pubkey _cffi_d_X509_REQ_get_pubkey @@ -42988,13 +42988,13 @@ _cffi_f_X509_REQ_get_subject_name(PyObject *self, PyObject *arg0) X509_NAME * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } @@ -43005,7 +43005,7 @@ _cffi_f_X509_REQ_get_subject_name(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(643)); + return _cffi_from_c_pointer((char *)result, _cffi_type(643)); } #else # define _cffi_f_X509_REQ_get_subject_name _cffi_d_X509_REQ_get_subject_name @@ -43024,13 +43024,13 @@ _cffi_f_X509_REQ_get_version(PyObject *self, PyObject *arg0) long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } @@ -43065,7 +43065,7 @@ _cffi_f_X509_REQ_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(294)); + return _cffi_from_c_pointer((char *)result, _cffi_type(294)); } #else # define _cffi_f_X509_REQ_new _cffi_d_X509_REQ_new @@ -43094,24 +43094,24 @@ _cffi_f_X509_REQ_print_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg1, (char **)&x1); + _cffi_type(294), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(294), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(294), arg1) < 0) return NULL; } @@ -43155,24 +43155,24 @@ _cffi_f_X509_REQ_set_pubkey(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -43208,24 +43208,24 @@ _cffi_f_X509_REQ_set_subject_name(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg1, (char **)&x1); + _cffi_type(643), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) return NULL; } @@ -43261,13 +43261,13 @@ _cffi_f_X509_REQ_set_version(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } @@ -43309,35 +43309,35 @@ _cffi_f_X509_REQ_sign(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg2, (char **)&x2); + _cffi_type(354), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) return NULL; } @@ -43373,24 +43373,24 @@ _cffi_f_X509_REQ_verify(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -43432,13 +43432,13 @@ _cffi_f_X509_REVOKED_add1_ext_i2d(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); + _cffi_type(619), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) return NULL; } @@ -43447,13 +43447,13 @@ _cffi_f_X509_REVOKED_add1_ext_i2d(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg2, (char **)&x2); + _cffi_type(193), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (void *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) return NULL; } @@ -43499,24 +43499,24 @@ _cffi_f_X509_REVOKED_add_ext(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); + _cffi_type(619), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg1, (char **)&x1); + _cffi_type(40), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) return NULL; } @@ -43556,13 +43556,13 @@ _cffi_f_X509_REVOKED_delete_ext(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); + _cffi_type(619), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) return NULL; } @@ -43577,48 +43577,48 @@ _cffi_f_X509_REVOKED_delete_ext(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_X509_REVOKED_delete_ext _cffi_d_X509_REVOKED_delete_ext #endif -static X509_REVOKED * _cffi_d_X509_REVOKED_dup(X509_REVOKED * x0) -{ - return X509_REVOKED_dup(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_REVOKED_dup(PyObject *self, PyObject *arg0) -{ - X509_REVOKED * x0; - Py_ssize_t datasize; - X509_REVOKED * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_REVOKED *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_REVOKED_dup(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(619)); -} -#else -# define _cffi_f_X509_REVOKED_dup _cffi_d_X509_REVOKED_dup -#endif - +static X509_REVOKED * _cffi_d_X509_REVOKED_dup(X509_REVOKED * x0) +{ + return X509_REVOKED_dup(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_REVOKED_dup(PyObject *self, PyObject *arg0) +{ + X509_REVOKED * x0; + Py_ssize_t datasize; + X509_REVOKED * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(619), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_REVOKED *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_REVOKED_dup(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(619)); +} +#else +# define _cffi_f_X509_REVOKED_dup _cffi_d_X509_REVOKED_dup +#endif + static void _cffi_d_X509_REVOKED_free(X509_REVOKED * x0) { X509_REVOKED_free(x0); @@ -43631,13 +43631,13 @@ _cffi_f_X509_REVOKED_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); + _cffi_type(619), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) return NULL; } @@ -43668,13 +43668,13 @@ _cffi_f_X509_REVOKED_get0_revocationDate(PyObject *self, PyObject *arg0) ASN1_OCTET_STRING const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(31), arg0, (char **)&x0); + _cffi_type(31), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(31), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(31), arg0) < 0) return NULL; } @@ -43685,7 +43685,7 @@ _cffi_f_X509_REVOKED_get0_revocationDate(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3016)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3016)); } #else # define _cffi_f_X509_REVOKED_get0_revocationDate _cffi_d_X509_REVOKED_get0_revocationDate @@ -43704,13 +43704,13 @@ _cffi_f_X509_REVOKED_get0_serialNumber(PyObject *self, PyObject *arg0) ASN1_INTEGER const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(31), arg0, (char **)&x0); + _cffi_type(31), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(31), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(31), arg0) < 0) return NULL; } @@ -43721,7 +43721,7 @@ _cffi_f_X509_REVOKED_get0_serialNumber(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3011)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3011)); } #else # define _cffi_f_X509_REVOKED_get0_serialNumber _cffi_d_X509_REVOKED_get0_serialNumber @@ -43746,13 +43746,13 @@ _cffi_f_X509_REVOKED_get_ext(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); + _cffi_type(619), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) return NULL; } @@ -43767,7 +43767,7 @@ _cffi_f_X509_REVOKED_get_ext(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_X509_REVOKED_get_ext _cffi_d_X509_REVOKED_get_ext @@ -43786,13 +43786,13 @@ _cffi_f_X509_REVOKED_get_ext_count(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); + _cffi_type(619), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) return NULL; } @@ -43827,7 +43827,7 @@ _cffi_f_X509_REVOKED_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(619)); + return _cffi_from_c_pointer((char *)result, _cffi_type(619)); } #else # define _cffi_f_X509_REVOKED_new _cffi_d_X509_REVOKED_new @@ -43852,13 +43852,13 @@ _cffi_f_X509_REVOKED_set_revocationDate(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); + _cffi_type(619), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) return NULL; } @@ -43905,24 +43905,24 @@ _cffi_f_X509_REVOKED_set_serialNumber(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(619), arg0, (char **)&x0); + _cffi_type(619), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(619), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(21), arg1, (char **)&x1); + _cffi_type(21), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_INTEGER *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) return NULL; } @@ -43951,13 +43951,13 @@ _cffi_f_X509_STORE_CTX_cleanup(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -43987,13 +43987,13 @@ _cffi_f_X509_STORE_CTX_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44011,42 +44011,42 @@ _cffi_f_X509_STORE_CTX_free(PyObject *self, PyObject *arg0) # define _cffi_f_X509_STORE_CTX_free _cffi_d_X509_STORE_CTX_free #endif -static X509 * _cffi_d_X509_STORE_CTX_get0_cert(X509_STORE_CTX * x0) -{ - return X509_STORE_CTX_get0_cert(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_STORE_CTX_get0_cert(PyObject *self, PyObject *arg0) -{ - X509_STORE_CTX * x0; - Py_ssize_t datasize; - X509 * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_STORE_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_STORE_CTX_get0_cert(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(28)); -} -#else -# define _cffi_f_X509_STORE_CTX_get0_cert _cffi_d_X509_STORE_CTX_get0_cert -#endif - +static X509 * _cffi_d_X509_STORE_CTX_get0_cert(X509_STORE_CTX * x0) +{ + return X509_STORE_CTX_get0_cert(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_STORE_CTX_get0_cert(PyObject *self, PyObject *arg0) +{ + X509_STORE_CTX * x0; + Py_ssize_t datasize; + X509 * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(160), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_STORE_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_STORE_CTX_get0_cert(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(28)); +} +#else +# define _cffi_f_X509_STORE_CTX_get0_cert _cffi_d_X509_STORE_CTX_get0_cert +#endif + static X509_VERIFY_PARAM * _cffi_d_X509_STORE_CTX_get0_param(X509_STORE_CTX * x0) { return X509_STORE_CTX_get0_param(x0); @@ -44060,13 +44060,13 @@ _cffi_f_X509_STORE_CTX_get0_param(PyObject *self, PyObject *arg0) X509_VERIFY_PARAM * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44077,7 +44077,7 @@ _cffi_f_X509_STORE_CTX_get0_param(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); } #else # define _cffi_f_X509_STORE_CTX_get0_param _cffi_d_X509_STORE_CTX_get0_param @@ -44096,13 +44096,13 @@ _cffi_f_X509_STORE_CTX_get1_chain(PyObject *self, PyObject *arg0) Cryptography_STACK_OF_X509 * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44113,78 +44113,78 @@ _cffi_f_X509_STORE_CTX_get1_chain(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(413)); + return _cffi_from_c_pointer((char *)result, _cffi_type(413)); } #else # define _cffi_f_X509_STORE_CTX_get1_chain _cffi_d_X509_STORE_CTX_get1_chain #endif -static int _cffi_d_X509_STORE_CTX_get1_issuer(X509 * * x0, X509_STORE_CTX * x1, X509 * x2) -{ - return X509_STORE_CTX_get1_issuer(x0, x1, x2); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_STORE_CTX_get1_issuer(PyObject *self, PyObject *args) -{ - X509 * * x0; - X509_STORE_CTX * x1; - X509 * x2; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - PyObject *arg2; - - if (!PyArg_UnpackTuple(args, "X509_STORE_CTX_get1_issuer", 3, 3, &arg0, &arg1, &arg2)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(518), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509 * *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(518), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (X509_STORE_CTX *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(160), arg1) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(28), arg2, (char **)&x2); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x2 = (X509 *)alloca((size_t)datasize); - memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(28), arg2) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_STORE_CTX_get1_issuer(x0, x1, x2); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_X509_STORE_CTX_get1_issuer _cffi_d_X509_STORE_CTX_get1_issuer -#endif - +static int _cffi_d_X509_STORE_CTX_get1_issuer(X509 * * x0, X509_STORE_CTX * x1, X509 * x2) +{ + return X509_STORE_CTX_get1_issuer(x0, x1, x2); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_STORE_CTX_get1_issuer(PyObject *self, PyObject *args) +{ + X509 * * x0; + X509_STORE_CTX * x1; + X509 * x2; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + PyObject *arg2; + + if (!PyArg_UnpackTuple(args, "X509_STORE_CTX_get1_issuer", 3, 3, &arg0, &arg1, &arg2)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(518), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509 * *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(518), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(160), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (X509_STORE_CTX *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(160), arg1) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(28), arg2, (char **)&x2); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x2 = (X509 *)alloca((size_t)datasize); + memset((void *)x2, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(28), arg2) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_STORE_CTX_get1_issuer(x0, x1, x2); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_X509_STORE_CTX_get1_issuer _cffi_d_X509_STORE_CTX_get1_issuer +#endif + static Cryptography_STACK_OF_X509 * _cffi_d_X509_STORE_CTX_get_chain(X509_STORE_CTX * x0) { return X509_STORE_CTX_get_chain(x0); @@ -44198,13 +44198,13 @@ _cffi_f_X509_STORE_CTX_get_chain(PyObject *self, PyObject *arg0) Cryptography_STACK_OF_X509 * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44215,7 +44215,7 @@ _cffi_f_X509_STORE_CTX_get_chain(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(413)); + return _cffi_from_c_pointer((char *)result, _cffi_type(413)); } #else # define _cffi_f_X509_STORE_CTX_get_chain _cffi_d_X509_STORE_CTX_get_chain @@ -44234,13 +44234,13 @@ _cffi_f_X509_STORE_CTX_get_current_cert(PyObject *self, PyObject *arg0) X509 * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44270,13 +44270,13 @@ _cffi_f_X509_STORE_CTX_get_error(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44306,13 +44306,13 @@ _cffi_f_X509_STORE_CTX_get_error_depth(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44348,13 +44348,13 @@ _cffi_f_X509_STORE_CTX_get_ex_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44369,7 +44369,7 @@ _cffi_f_X509_STORE_CTX_get_ex_data(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); } #else # define _cffi_f_X509_STORE_CTX_get_ex_data _cffi_d_X509_STORE_CTX_get_ex_data @@ -44404,46 +44404,46 @@ _cffi_f_X509_STORE_CTX_get_ex_new_index(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg1, (char **)&x1); + _cffi_type(193), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (void *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(193), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2237), arg2, (char **)&x2); + _cffi_type(2237), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (CRYPTO_EX_new *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2237), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(2237), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2238), arg3, (char **)&x3); + _cffi_type(2238), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (CRYPTO_EX_dup *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2238), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(2238), arg3) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2239), arg4, (char **)&x4); + _cffi_type(2239), arg4, (char **)&x4); if (datasize != 0) { if (datasize < 0) return NULL; x4 = (CRYPTO_EX_free *)alloca((size_t)datasize); memset((void *)x4, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x4, _cffi_type(2239), arg4) < 0) + if (_cffi_convert_array_from_object((char *)x4, _cffi_type(2239), arg4) < 0) return NULL; } @@ -44483,24 +44483,24 @@ _cffi_f_X509_STORE_CTX_init(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg1, (char **)&x1); + _cffi_type(180), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(180), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(180), arg1) < 0) return NULL; } @@ -44516,13 +44516,13 @@ _cffi_f_X509_STORE_CTX_init(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg3, (char **)&x3); + _cffi_type(413), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(413), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(413), arg3) < 0) return NULL; } @@ -44557,7 +44557,7 @@ _cffi_f_X509_STORE_CTX_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(160)); + return _cffi_from_c_pointer((char *)result, _cffi_type(160)); } #else # define _cffi_f_X509_STORE_CTX_new _cffi_d_X509_STORE_CTX_new @@ -44581,24 +44581,24 @@ _cffi_f_X509_STORE_CTX_set0_crls(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(565), arg1, (char **)&x1); + _cffi_type(565), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (Cryptography_STACK_OF_X509_CRL *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(565), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(565), arg1) < 0) return NULL; } @@ -44634,24 +44634,24 @@ _cffi_f_X509_STORE_CTX_set0_param(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg1, (char **)&x1); + _cffi_type(2085), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2085), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2085), arg1) < 0) return NULL; } @@ -44687,13 +44687,13 @@ _cffi_f_X509_STORE_CTX_set_cert(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44740,24 +44740,24 @@ _cffi_f_X509_STORE_CTX_set_chain(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg1, (char **)&x1); + _cffi_type(413), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(413), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(413), arg1) < 0) return NULL; } @@ -44794,24 +44794,24 @@ _cffi_f_X509_STORE_CTX_set_default(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -44846,13 +44846,13 @@ _cffi_f_X509_STORE_CTX_set_error(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44895,13 +44895,13 @@ _cffi_f_X509_STORE_CTX_set_ex_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } @@ -44910,13 +44910,13 @@ _cffi_f_X509_STORE_CTX_set_ex_data(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg2, (char **)&x2); + _cffi_type(193), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (void *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(193), arg2) < 0) return NULL; } @@ -44951,17 +44951,17 @@ _cffi_f_X509_STORE_CTX_set_verify_cb(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } - x1 = (int(*)(int, X509_STORE_CTX *))_cffi_to_c_pointer(arg1, _cffi_type(2847)); + x1 = (int(*)(int, X509_STORE_CTX *))_cffi_to_c_pointer(arg1, _cffi_type(2847)); if (x1 == (int(*)(int, X509_STORE_CTX *))NULL && PyErr_Occurred()) return NULL; @@ -44997,24 +44997,24 @@ _cffi_f_X509_STORE_CTX_trusted_stack(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); + _cffi_type(160), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE_CTX *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg1, (char **)&x1); + _cffi_type(413), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(413), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(413), arg1) < 0) return NULL; } @@ -45051,13 +45051,13 @@ _cffi_f_X509_STORE_add_cert(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); + _cffi_type(180), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) return NULL; } @@ -45104,24 +45104,24 @@ _cffi_f_X509_STORE_add_crl(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); + _cffi_type(180), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg1, (char **)&x1); + _cffi_type(57), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) return NULL; } @@ -45150,13 +45150,13 @@ _cffi_f_X509_STORE_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); + _cffi_type(180), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) return NULL; } @@ -45187,13 +45187,13 @@ _cffi_f_X509_STORE_get0_objects(PyObject *self, PyObject *arg0) Cryptography_STACK_OF_X509_OBJECT * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); + _cffi_type(180), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) return NULL; } @@ -45204,7 +45204,7 @@ _cffi_f_X509_STORE_get0_objects(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(666)); + return _cffi_from_c_pointer((char *)result, _cffi_type(666)); } #else # define _cffi_f_X509_STORE_get0_objects _cffi_d_X509_STORE_get0_objects @@ -45223,13 +45223,13 @@ _cffi_f_X509_STORE_get0_param(PyObject *self, PyObject *arg0) X509_VERIFY_PARAM * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); + _cffi_type(180), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) return NULL; } @@ -45240,48 +45240,48 @@ _cffi_f_X509_STORE_get0_param(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); } #else # define _cffi_f_X509_STORE_get0_param _cffi_d_X509_STORE_get0_param #endif -static int(* _cffi_d_X509_STORE_get_get_issuer(X509_STORE * x0))(X509 * *, X509_STORE_CTX *, X509 *) -{ - return X509_STORE_get_get_issuer(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_STORE_get_get_issuer(PyObject *self, PyObject *arg0) -{ - X509_STORE * x0; - Py_ssize_t datasize; - int(* result)(X509 * *, X509_STORE_CTX *, X509 *); - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_STORE *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_STORE_get_get_issuer(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2926)); -} -#else -# define _cffi_f_X509_STORE_get_get_issuer _cffi_d_X509_STORE_get_get_issuer -#endif - +static int(* _cffi_d_X509_STORE_get_get_issuer(X509_STORE * x0))(X509 * *, X509_STORE_CTX *, X509 *) +{ + return X509_STORE_get_get_issuer(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_STORE_get_get_issuer(PyObject *self, PyObject *arg0) +{ + X509_STORE * x0; + Py_ssize_t datasize; + int(* result)(X509 * *, X509_STORE_CTX *, X509 *); + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(180), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_STORE *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_STORE_get_get_issuer(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(2926)); +} +#else +# define _cffi_f_X509_STORE_get_get_issuer _cffi_d_X509_STORE_get_get_issuer +#endif + static int _cffi_d_X509_STORE_load_locations(X509_STORE * x0, char const * x1, char const * x2) { return X509_STORE_load_locations(x0, x1, x2); @@ -45303,35 +45303,35 @@ _cffi_f_X509_STORE_load_locations(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); + _cffi_type(180), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg2, (char **)&x2); + _cffi_type(46), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (char const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(46), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(46), arg2) < 0) return NULL; } @@ -45366,7 +45366,7 @@ _cffi_f_X509_STORE_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(180)); + return _cffi_from_c_pointer((char *)result, _cffi_type(180)); } #else # define _cffi_f_X509_STORE_new _cffi_d_X509_STORE_new @@ -45391,24 +45391,24 @@ _cffi_f_X509_STORE_set1_param(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); + _cffi_type(180), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg1, (char **)&x1); + _cffi_type(2085), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2085), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2085), arg1) < 0) return NULL; } @@ -45438,13 +45438,13 @@ _cffi_f_X509_STORE_set_default_paths(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); + _cffi_type(180), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) return NULL; } @@ -45480,13 +45480,13 @@ _cffi_f_X509_STORE_set_flags(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); + _cffi_type(180), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_STORE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) return NULL; } @@ -45507,52 +45507,52 @@ _cffi_f_X509_STORE_set_flags(PyObject *self, PyObject *args) # define _cffi_f_X509_STORE_set_flags _cffi_d_X509_STORE_set_flags #endif -static void _cffi_d_X509_STORE_set_get_issuer(X509_STORE * x0, int(* x1)(X509 * *, X509_STORE_CTX *, X509 *)) -{ - X509_STORE_set_get_issuer(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_STORE_set_get_issuer(PyObject *self, PyObject *args) -{ - X509_STORE * x0; - int(* x1)(X509 * *, X509_STORE_CTX *, X509 *); - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "X509_STORE_set_get_issuer", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(180), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_STORE *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) - return NULL; - } - - x1 = (int(*)(X509 * *, X509_STORE_CTX *, X509 *))_cffi_to_c_pointer(arg1, _cffi_type(2926)); - if (x1 == (int(*)(X509 * *, X509_STORE_CTX *, X509 *))NULL && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { X509_STORE_set_get_issuer(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_X509_STORE_set_get_issuer _cffi_d_X509_STORE_set_get_issuer -#endif - +static void _cffi_d_X509_STORE_set_get_issuer(X509_STORE * x0, int(* x1)(X509 * *, X509_STORE_CTX *, X509 *)) +{ + X509_STORE_set_get_issuer(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_STORE_set_get_issuer(PyObject *self, PyObject *args) +{ + X509_STORE * x0; + int(* x1)(X509 * *, X509_STORE_CTX *, X509 *); + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "X509_STORE_set_get_issuer", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(180), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_STORE *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(180), arg0) < 0) + return NULL; + } + + x1 = (int(*)(X509 * *, X509_STORE_CTX *, X509 *))_cffi_to_c_pointer(arg1, _cffi_type(2926)); + if (x1 == (int(*)(X509 * *, X509_STORE_CTX *, X509 *))NULL && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { X509_STORE_set_get_issuer(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_X509_STORE_set_get_issuer _cffi_d_X509_STORE_set_get_issuer +#endif + static int _cffi_d_X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM * x0, ASN1_OBJECT * x1) { return X509_VERIFY_PARAM_add0_policy(x0, x1); @@ -45572,24 +45572,24 @@ _cffi_f_X509_VERIFY_PARAM_add0_policy(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(607), arg1, (char **)&x1); + _cffi_type(607), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) return NULL; } @@ -45625,13 +45625,13 @@ _cffi_f_X509_VERIFY_PARAM_clear_flags(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } @@ -45664,13 +45664,13 @@ _cffi_f_X509_VERIFY_PARAM_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } @@ -45701,13 +45701,13 @@ _cffi_f_X509_VERIFY_PARAM_get_depth(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2149), arg0, (char **)&x0); + _cffi_type(2149), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2149), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2149), arg0) < 0) return NULL; } @@ -45737,13 +45737,13 @@ _cffi_f_X509_VERIFY_PARAM_get_flags(PyObject *self, PyObject *arg0) unsigned long result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } @@ -45778,7 +45778,7 @@ _cffi_f_X509_VERIFY_PARAM_new(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); + return _cffi_from_c_pointer((char *)result, _cffi_type(2085)); } #else # define _cffi_f_X509_VERIFY_PARAM_new _cffi_d_X509_VERIFY_PARAM_new @@ -45805,24 +45805,24 @@ _cffi_f_X509_VERIFY_PARAM_set1_email(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -45864,24 +45864,24 @@ _cffi_f_X509_VERIFY_PARAM_set1_host(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -45923,24 +45923,24 @@ _cffi_f_X509_VERIFY_PARAM_set1_ip(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(103), arg1, (char **)&x1); + _cffi_type(103), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(103), arg1) < 0) return NULL; } @@ -45980,24 +45980,24 @@ _cffi_f_X509_VERIFY_PARAM_set1_ip_asc(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(46), arg1, (char **)&x1); + _cffi_type(46), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (char const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(46), arg1) < 0) return NULL; } @@ -46033,24 +46033,24 @@ _cffi_f_X509_VERIFY_PARAM_set1_policies(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(36), arg1, (char **)&x1); + _cffi_type(36), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (Cryptography_STACK_OF_ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(36), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(36), arg1) < 0) return NULL; } @@ -46085,13 +46085,13 @@ _cffi_f_X509_VERIFY_PARAM_set_depth(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } @@ -46132,13 +46132,13 @@ _cffi_f_X509_VERIFY_PARAM_set_flags(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } @@ -46177,13 +46177,13 @@ _cffi_f_X509_VERIFY_PARAM_set_hostflags(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } @@ -46224,13 +46224,13 @@ _cffi_f_X509_VERIFY_PARAM_set_purpose(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } @@ -46269,13 +46269,13 @@ _cffi_f_X509_VERIFY_PARAM_set_time(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } @@ -46316,13 +46316,13 @@ _cffi_f_X509_VERIFY_PARAM_set_trust(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2085), arg0, (char **)&x0); + _cffi_type(2085), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_VERIFY_PARAM *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(2085), arg0) < 0) return NULL; } @@ -46375,13 +46375,13 @@ _cffi_f_X509_add_ext(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg1, (char **)&x1); + _cffi_type(40), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) return NULL; } @@ -46432,13 +46432,13 @@ _cffi_f_X509_alias_get0(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg1, (char **)&x1); + _cffi_type(1169), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (int *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1169), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1169), arg1) < 0) return NULL; } @@ -46449,7 +46449,7 @@ _cffi_f_X509_alias_get0(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(752)); + return _cffi_from_c_pointer((char *)result, _cffi_type(752)); } #else # define _cffi_f_X509_alias_get0 _cffi_d_X509_alias_get0 @@ -46510,24 +46510,24 @@ _cffi_f_X509_cmp(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(355), arg0, (char **)&x0); + _cffi_type(355), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509 const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(355), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(355), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(355), arg1, (char **)&x1); + _cffi_type(355), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509 const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(355), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(355), arg1) < 0) return NULL; } @@ -46567,46 +46567,46 @@ _cffi_f_X509_digest(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(355), arg0, (char **)&x0); + _cffi_type(355), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509 const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(355), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(355), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg1, (char **)&x1); + _cffi_type(354), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(354), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(752), arg2, (char **)&x2); + _cffi_type(752), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (unsigned char *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(752), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(752), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1390), arg3, (char **)&x3); + _cffi_type(1390), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (unsigned int *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1390), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1390), arg3) < 0) return NULL; } @@ -46695,7 +46695,7 @@ _cffi_f_X509_free(PyObject *self, PyObject *arg0) # define _cffi_f_X509_free _cffi_d_X509_free #endif -static void _cffi_d_X509_get0_signature(ASN1_OCTET_STRING const * * x0, X509_ALGOR const * * x1, X509 const * x2) +static void _cffi_d_X509_get0_signature(ASN1_OCTET_STRING const * * x0, X509_ALGOR const * * x1, X509 const * x2) { X509_get0_signature(x0, x1, x2); } @@ -46703,9 +46703,9 @@ static void _cffi_d_X509_get0_signature(ASN1_OCTET_STRING const * * x0, X509_ALG static PyObject * _cffi_f_X509_get0_signature(PyObject *self, PyObject *args) { - ASN1_OCTET_STRING const * * x0; - X509_ALGOR const * * x1; - X509 const * x2; + ASN1_OCTET_STRING const * * x0; + X509_ALGOR const * * x1; + X509 const * x2; Py_ssize_t datasize; PyObject *arg0; PyObject *arg1; @@ -46715,35 +46715,35 @@ _cffi_f_X509_get0_signature(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1566), arg0, (char **)&x0); + _cffi_type(1566), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (ASN1_OCTET_STRING const * *)alloca((size_t)datasize); + x0 = (ASN1_OCTET_STRING const * *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1566), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1566), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(2553), arg1, (char **)&x1); + _cffi_type(2553), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (X509_ALGOR const * *)alloca((size_t)datasize); + x1 = (X509_ALGOR const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2553), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(2553), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(355), arg2, (char **)&x2); + _cffi_type(355), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; - x2 = (X509 const *)alloca((size_t)datasize); + x2 = (X509 const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(355), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(355), arg2) < 0) return NULL; } @@ -46774,13 +46774,13 @@ _cffi_f_X509_get0_tbs_sigalg(PyObject *self, PyObject *arg0) X509_ALGOR const * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(355), arg0, (char **)&x0); + _cffi_type(355), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509 const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(355), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(355), arg0) < 0) return NULL; } @@ -46791,7 +46791,7 @@ _cffi_f_X509_get0_tbs_sigalg(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(3121)); + return _cffi_from_c_pointer((char *)result, _cffi_type(3121)); } #else # define _cffi_f_X509_get0_tbs_sigalg _cffi_d_X509_get0_tbs_sigalg @@ -46815,7 +46815,7 @@ _cffi_f_X509_get_default_cert_dir(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_X509_get_default_cert_dir _cffi_d_X509_get_default_cert_dir @@ -46839,7 +46839,7 @@ _cffi_f_X509_get_default_cert_dir_env(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_X509_get_default_cert_dir_env _cffi_d_X509_get_default_cert_dir_env @@ -46863,7 +46863,7 @@ _cffi_f_X509_get_default_cert_file(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_X509_get_default_cert_file _cffi_d_X509_get_default_cert_file @@ -46887,7 +46887,7 @@ _cffi_f_X509_get_default_cert_file_env(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else # define _cffi_f_X509_get_default_cert_file_env _cffi_d_X509_get_default_cert_file_env @@ -46933,7 +46933,7 @@ _cffi_f_X509_get_ext(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_X509_get_ext _cffi_d_X509_get_ext @@ -47013,24 +47013,24 @@ _cffi_f_X509_get_ext_d2i(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg2, (char **)&x2); + _cffi_type(1169), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (int *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1169), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(1169), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1169), arg3, (char **)&x3); + _cffi_type(1169), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (int *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1169), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(1169), arg3) < 0) return NULL; } @@ -47041,7 +47041,7 @@ _cffi_f_X509_get_ext_d2i(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(193)); + return _cffi_from_c_pointer((char *)result, _cffi_type(193)); } #else # define _cffi_f_X509_get_ext_d2i _cffi_d_X509_get_ext_d2i @@ -47077,7 +47077,7 @@ _cffi_f_X509_get_issuer_name(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(643)); + return _cffi_from_c_pointer((char *)result, _cffi_type(643)); } #else # define _cffi_f_X509_get_issuer_name _cffi_d_X509_get_issuer_name @@ -47185,7 +47185,7 @@ _cffi_f_X509_get_pubkey(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); } #else # define _cffi_f_X509_get_pubkey _cffi_d_X509_get_pubkey @@ -47221,7 +47221,7 @@ _cffi_f_X509_get_serialNumber(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(21)); + return _cffi_from_c_pointer((char *)result, _cffi_type(21)); } #else # define _cffi_f_X509_get_serialNumber _cffi_d_X509_get_serialNumber @@ -47240,13 +47240,13 @@ _cffi_f_X509_get_signature_nid(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(355), arg0, (char **)&x0); + _cffi_type(355), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509 const *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(355), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(355), arg0) < 0) return NULL; } @@ -47293,7 +47293,7 @@ _cffi_f_X509_get_subject_name(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(643)); + return _cffi_from_c_pointer((char *)result, _cffi_type(643)); } #else # define _cffi_f_X509_get_subject_name _cffi_d_X509_get_subject_name @@ -47335,78 +47335,78 @@ _cffi_f_X509_get_version(PyObject *self, PyObject *arg0) # define _cffi_f_X509_get_version _cffi_d_X509_get_version #endif -static ASN1_OCTET_STRING * _cffi_d_X509_getm_notAfter(X509 * x0) -{ - return X509_getm_notAfter(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_getm_notAfter(PyObject *self, PyObject *arg0) -{ - X509 * x0; - Py_ssize_t datasize; - ASN1_OCTET_STRING * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(28), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509 *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_getm_notAfter(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(13)); -} -#else -# define _cffi_f_X509_getm_notAfter _cffi_d_X509_getm_notAfter -#endif - -static ASN1_OCTET_STRING * _cffi_d_X509_getm_notBefore(X509 * x0) -{ - return X509_getm_notBefore(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_getm_notBefore(PyObject *self, PyObject *arg0) -{ - X509 * x0; - Py_ssize_t datasize; - ASN1_OCTET_STRING * result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(28), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509 *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_getm_notBefore(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(13)); -} -#else -# define _cffi_f_X509_getm_notBefore _cffi_d_X509_getm_notBefore -#endif - +static ASN1_OCTET_STRING * _cffi_d_X509_getm_notAfter(X509 * x0) +{ + return X509_getm_notAfter(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_getm_notAfter(PyObject *self, PyObject *arg0) +{ + X509 * x0; + Py_ssize_t datasize; + ASN1_OCTET_STRING * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(28), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509 *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_getm_notAfter(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(13)); +} +#else +# define _cffi_f_X509_getm_notAfter _cffi_d_X509_getm_notAfter +#endif + +static ASN1_OCTET_STRING * _cffi_d_X509_getm_notBefore(X509 * x0) +{ + return X509_getm_notBefore(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_getm_notBefore(PyObject *self, PyObject *arg0) +{ + X509 * x0; + Py_ssize_t datasize; + ASN1_OCTET_STRING * result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(28), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509 *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_getm_notBefore(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(13)); +} +#else +# define _cffi_f_X509_getm_notBefore _cffi_d_X509_getm_notBefore +#endif + static ASN1_OCTET_STRING * _cffi_d_X509_gmtime_adj(ASN1_OCTET_STRING * x0, long x1) { return X509_gmtime_adj(x0, x1); @@ -47500,13 +47500,13 @@ _cffi_f_X509_print_ex(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -47542,112 +47542,112 @@ _cffi_f_X509_print_ex(PyObject *self, PyObject *args) # define _cffi_f_X509_print_ex _cffi_d_X509_print_ex #endif -static int _cffi_d_X509_set1_notAfter(X509 * x0, ASN1_OCTET_STRING * x1) -{ - return X509_set1_notAfter(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_set1_notAfter(PyObject *self, PyObject *args) -{ - X509 * x0; - ASN1_OCTET_STRING * x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "X509_set1_notAfter", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(28), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509 *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(13), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (ASN1_OCTET_STRING *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(13), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_set1_notAfter(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_X509_set1_notAfter _cffi_d_X509_set1_notAfter -#endif - -static int _cffi_d_X509_set1_notBefore(X509 * x0, ASN1_OCTET_STRING * x1) -{ - return X509_set1_notBefore(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_X509_set1_notBefore(PyObject *self, PyObject *args) -{ - X509 * x0; - ASN1_OCTET_STRING * x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "X509_set1_notBefore", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(28), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509 *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(13), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (ASN1_OCTET_STRING *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(13), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = X509_set1_notBefore(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_X509_set1_notBefore _cffi_d_X509_set1_notBefore -#endif - +static int _cffi_d_X509_set1_notAfter(X509 * x0, ASN1_OCTET_STRING * x1) +{ + return X509_set1_notAfter(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_set1_notAfter(PyObject *self, PyObject *args) +{ + X509 * x0; + ASN1_OCTET_STRING * x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "X509_set1_notAfter", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(28), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509 *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(13), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (ASN1_OCTET_STRING *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(13), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_set1_notAfter(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_X509_set1_notAfter _cffi_d_X509_set1_notAfter +#endif + +static int _cffi_d_X509_set1_notBefore(X509 * x0, ASN1_OCTET_STRING * x1) +{ + return X509_set1_notBefore(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_X509_set1_notBefore(PyObject *self, PyObject *args) +{ + X509 * x0; + ASN1_OCTET_STRING * x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "X509_set1_notBefore", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(28), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509 *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(13), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (ASN1_OCTET_STRING *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(13), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = X509_set1_notBefore(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_X509_set1_notBefore _cffi_d_X509_set1_notBefore +#endif + static int _cffi_d_X509_set_issuer_name(X509 * x0, X509_NAME * x1) { return X509_set_issuer_name(x0, x1); @@ -47678,13 +47678,13 @@ _cffi_f_X509_set_issuer_name(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg1, (char **)&x1); + _cffi_type(643), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) return NULL; } @@ -47837,13 +47837,13 @@ _cffi_f_X509_set_pubkey(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -47890,13 +47890,13 @@ _cffi_f_X509_set_serialNumber(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(21), arg1, (char **)&x1); + _cffi_type(21), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_INTEGER *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) return NULL; } @@ -47943,13 +47943,13 @@ _cffi_f_X509_set_subject_name(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg1, (char **)&x1); + _cffi_type(643), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) return NULL; } @@ -48044,24 +48044,24 @@ _cffi_f_X509_sign(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(354), arg2, (char **)&x2); + _cffi_type(354), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_MD const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(354), arg2) < 0) return NULL; } @@ -48114,32 +48114,32 @@ _cffi_f_X509_subject_name_hash(PyObject *self, PyObject *arg0) # define _cffi_f_X509_subject_name_hash _cffi_d_X509_subject_name_hash #endif -static int _cffi_d_X509_up_ref(X509 * x0) +static int _cffi_d_X509_up_ref(X509 * x0) { - return X509_up_ref(x0); + return X509_up_ref(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_X509_up_ref(PyObject *self, PyObject *arg0) +_cffi_f_X509_up_ref(PyObject *self, PyObject *arg0) { - X509 * x0; + X509 * x0; Py_ssize_t datasize; int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(28), arg0, (char **)&x0); + _cffi_type(28), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (X509 *)alloca((size_t)datasize); + x0 = (X509 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(28), arg0) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = X509_up_ref(x0); } + { result = X509_up_ref(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -48147,35 +48147,35 @@ _cffi_f_X509_up_ref(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_X509_up_ref _cffi_d_X509_up_ref +# define _cffi_f_X509_up_ref _cffi_d_X509_up_ref #endif -static int _cffi_d_X509_verify_cert(X509_STORE_CTX * x0) +static int _cffi_d_X509_verify_cert(X509_STORE_CTX * x0) { - return X509_verify_cert(x0); + return X509_verify_cert(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_X509_verify_cert(PyObject *self, PyObject *arg0) +_cffi_f_X509_verify_cert(PyObject *self, PyObject *arg0) { - X509_STORE_CTX * x0; - Py_ssize_t datasize; - int result; + X509_STORE_CTX * x0; + Py_ssize_t datasize; + int result; - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(160), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_STORE_CTX *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) - return NULL; - } + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(160), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_STORE_CTX *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(160), arg0) < 0) + return NULL; + } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = X509_verify_cert(x0); } + { result = X509_verify_cert(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -48183,35 +48183,35 @@ _cffi_f_X509_verify_cert(PyObject *self, PyObject *arg0) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_X509_verify_cert _cffi_d_X509_verify_cert +# define _cffi_f_X509_verify_cert _cffi_d_X509_verify_cert #endif -static char const * _cffi_d_X509_verify_cert_error_string(long x0) +static char const * _cffi_d_X509_verify_cert_error_string(long x0) { - return X509_verify_cert_error_string(x0); + return X509_verify_cert_error_string(x0); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_X509_verify_cert_error_string(PyObject *self, PyObject *arg0) +_cffi_f_X509_verify_cert_error_string(PyObject *self, PyObject *arg0) { - long x0; - char const * result; + long x0; + char const * result; - x0 = _cffi_to_c_int(arg0, long); - if (x0 == (long)-1 && PyErr_Occurred()) + x0 = _cffi_to_c_int(arg0, long); + if (x0 == (long)-1 && PyErr_Occurred()) return NULL; Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = X509_verify_cert_error_string(x0); } + { result = X509_verify_cert_error_string(x0); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(46)); + return _cffi_from_c_pointer((char *)result, _cffi_type(46)); } #else -# define _cffi_f_X509_verify_cert_error_string _cffi_d_X509_verify_cert_error_string +# define _cffi_f_X509_verify_cert_error_string _cffi_d_X509_verify_cert_error_string #endif static ASN1_TYPE * _cffi_d_d2i_ASN1_TYPE(ASN1_TYPE * * x0, unsigned char const * * x1, long x2) @@ -48235,24 +48235,24 @@ _cffi_f_d2i_ASN1_TYPE(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(74), arg0, (char **)&x0); + _cffi_type(74), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_TYPE * *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(74), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(74), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(75), arg1, (char **)&x1); + _cffi_type(75), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(75), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(75), arg1) < 0) return NULL; } @@ -48267,63 +48267,63 @@ _cffi_f_d2i_ASN1_TYPE(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(801)); + return _cffi_from_c_pointer((char *)result, _cffi_type(801)); } #else # define _cffi_f_d2i_ASN1_TYPE _cffi_d_d2i_ASN1_TYPE #endif -static DH * _cffi_d_d2i_DHparams_bio(BIO * x0, DH * * x1) +static DH * _cffi_d_d2i_DHparams_bio(BIO * x0, DH * * x1) { - return d2i_DHparams_bio(x0, x1); + return d2i_DHparams_bio(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_d2i_DHparams_bio(PyObject *self, PyObject *args) +_cffi_f_d2i_DHparams_bio(PyObject *self, PyObject *args) { - BIO * x0; - DH * * x1; + BIO * x0; + DH * * x1; Py_ssize_t datasize; DH * result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "d2i_DHparams_bio", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "d2i_DHparams_bio", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(187), arg1, (char **)&x1); + _cffi_type(187), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (DH * *)alloca((size_t)datasize); + x1 = (DH * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(187), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(187), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = d2i_DHparams_bio(x0, x1); } + { result = d2i_DHparams_bio(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(196)); + return _cffi_from_c_pointer((char *)result, _cffi_type(196)); } #else -# define _cffi_f_d2i_DHparams_bio _cffi_d_d2i_DHparams_bio +# define _cffi_f_d2i_DHparams_bio _cffi_d_d2i_DHparams_bio #endif static EC_KEY * _cffi_d_d2i_ECPrivateKey_bio(BIO * x0, EC_KEY * * x1) @@ -48345,24 +48345,24 @@ _cffi_f_d2i_ECPrivateKey_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(227), arg1, (char **)&x1); + _cffi_type(227), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_KEY * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(227), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(227), arg1) < 0) return NULL; } @@ -48373,7 +48373,7 @@ _cffi_f_d2i_ECPrivateKey_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(893)); + return _cffi_from_c_pointer((char *)result, _cffi_type(893)); } #else # define _cffi_f_d2i_ECPrivateKey_bio _cffi_d_d2i_ECPrivateKey_bio @@ -48398,24 +48398,24 @@ _cffi_f_d2i_EC_PUBKEY_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(227), arg1, (char **)&x1); + _cffi_type(227), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_KEY * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(227), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(227), arg1) < 0) return NULL; } @@ -48426,7 +48426,7 @@ _cffi_f_d2i_EC_PUBKEY_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(893)); + return _cffi_from_c_pointer((char *)result, _cffi_type(893)); } #else # define _cffi_f_d2i_EC_PUBKEY_bio _cffi_d_d2i_EC_PUBKEY_bio @@ -48453,24 +48453,24 @@ _cffi_f_d2i_GENERAL_NAMES(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(322), arg0, (char **)&x0); + _cffi_type(322), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (GENERAL_NAMES * *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(322), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(322), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(75), arg1, (char **)&x1); + _cffi_type(75), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char const * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(75), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(75), arg1) < 0) return NULL; } @@ -48485,7 +48485,7 @@ _cffi_f_d2i_GENERAL_NAMES(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(316)); + return _cffi_from_c_pointer((char *)result, _cffi_type(316)); } #else # define _cffi_f_d2i_GENERAL_NAMES _cffi_d_d2i_GENERAL_NAMES @@ -48510,24 +48510,24 @@ _cffi_f_d2i_OCSP_REQUEST_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(374), arg1, (char **)&x1); + _cffi_type(374), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (OCSP_REQUEST * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(374), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(374), arg1) < 0) return NULL; } @@ -48538,7 +48538,7 @@ _cffi_f_d2i_OCSP_REQUEST_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(365)); + return _cffi_from_c_pointer((char *)result, _cffi_type(365)); } #else # define _cffi_f_d2i_OCSP_REQUEST_bio _cffi_d_d2i_OCSP_REQUEST_bio @@ -48563,24 +48563,24 @@ _cffi_f_d2i_OCSP_RESPONSE_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(383), arg1, (char **)&x1); + _cffi_type(383), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (OCSP_RESPONSE * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(383), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(383), arg1) < 0) return NULL; } @@ -48591,7 +48591,7 @@ _cffi_f_d2i_OCSP_RESPONSE_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(349)); + return _cffi_from_c_pointer((char *)result, _cffi_type(349)); } #else # define _cffi_f_d2i_OCSP_RESPONSE_bio _cffi_d_d2i_OCSP_RESPONSE_bio @@ -48616,24 +48616,24 @@ _cffi_f_d2i_PKCS12_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(406), arg1, (char **)&x1); + _cffi_type(406), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (PKCS12 * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(406), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(406), arg1) < 0) return NULL; } @@ -48644,7 +48644,7 @@ _cffi_f_d2i_PKCS12_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(940)); + return _cffi_from_c_pointer((char *)result, _cffi_type(940)); } #else # define _cffi_f_d2i_PKCS12_bio _cffi_d_d2i_PKCS12_bio @@ -48669,24 +48669,24 @@ _cffi_f_d2i_PKCS7_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(426), arg1, (char **)&x1); + _cffi_type(426), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (PKCS7 * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(426), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(426), arg1) < 0) return NULL; } @@ -48697,7 +48697,7 @@ _cffi_f_d2i_PKCS7_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(442)); + return _cffi_from_c_pointer((char *)result, _cffi_type(442)); } #else # define _cffi_f_d2i_PKCS7_bio _cffi_d_d2i_PKCS7_bio @@ -48726,39 +48726,39 @@ _cffi_f_d2i_PKCS8PrivateKey_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(273), arg1, (char **)&x1); + _cffi_type(273), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) return NULL; } - x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); + x2 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg2, _cffi_type(192)); if (x2 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg3, (char **)&x3); + _cffi_type(193), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (void *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(193), arg3) < 0) return NULL; } @@ -48769,7 +48769,7 @@ _cffi_f_d2i_PKCS8PrivateKey_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); } #else # define _cffi_f_d2i_PKCS8PrivateKey_bio _cffi_d_d2i_PKCS8PrivateKey_bio @@ -48794,24 +48794,24 @@ _cffi_f_d2i_PUBKEY_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(273), arg1, (char **)&x1); + _cffi_type(273), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) return NULL; } @@ -48822,7 +48822,7 @@ _cffi_f_d2i_PUBKEY_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); } #else # define _cffi_f_d2i_PUBKEY_bio _cffi_d_d2i_PUBKEY_bio @@ -48847,24 +48847,24 @@ _cffi_f_d2i_PrivateKey_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(273), arg1, (char **)&x1); + _cffi_type(273), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(273), arg1) < 0) return NULL; } @@ -48875,7 +48875,7 @@ _cffi_f_d2i_PrivateKey_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(199)); + return _cffi_from_c_pointer((char *)result, _cffi_type(199)); } #else # define _cffi_f_d2i_PrivateKey_bio _cffi_d_d2i_PrivateKey_bio @@ -48900,24 +48900,24 @@ _cffi_f_d2i_RSAPublicKey_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(464), arg1, (char **)&x1); + _cffi_type(464), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (RSA * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(464), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(464), arg1) < 0) return NULL; } @@ -48928,7 +48928,7 @@ _cffi_f_d2i_RSAPublicKey_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(476)); + return _cffi_from_c_pointer((char *)result, _cffi_type(476)); } #else # define _cffi_f_d2i_RSAPublicKey_bio _cffi_d_d2i_RSAPublicKey_bio @@ -48953,24 +48953,24 @@ _cffi_f_d2i_X509_CRL_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(556), arg1, (char **)&x1); + _cffi_type(556), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_CRL * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(556), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(556), arg1) < 0) return NULL; } @@ -48981,7 +48981,7 @@ _cffi_f_d2i_X509_CRL_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(57)); + return _cffi_from_c_pointer((char *)result, _cffi_type(57)); } #else # define _cffi_f_d2i_X509_CRL_bio _cffi_d_d2i_X509_CRL_bio @@ -49006,24 +49006,24 @@ _cffi_f_d2i_X509_REQ_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(671), arg1, (char **)&x1); + _cffi_type(671), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_REQ * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(671), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(671), arg1) < 0) return NULL; } @@ -49034,7 +49034,7 @@ _cffi_f_d2i_X509_REQ_bio(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(294)); + return _cffi_from_c_pointer((char *)result, _cffi_type(294)); } #else # define _cffi_f_d2i_X509_REQ_bio _cffi_d_d2i_X509_REQ_bio @@ -49059,24 +49059,24 @@ _cffi_f_d2i_X509_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(518), arg1, (char **)&x1); + _cffi_type(518), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509 * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(518), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(518), arg1) < 0) return NULL; } @@ -49112,24 +49112,24 @@ _cffi_f_i2a_ASN1_INTEGER(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(21), arg1, (char **)&x1); + _cffi_type(21), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_INTEGER *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) return NULL; } @@ -49165,24 +49165,24 @@ _cffi_f_i2d_ASN1_TYPE(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(801), arg0, (char **)&x0); + _cffi_type(801), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (ASN1_TYPE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(801), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(801), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); + _cffi_type(802), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) return NULL; } @@ -49199,49 +49199,49 @@ _cffi_f_i2d_ASN1_TYPE(PyObject *self, PyObject *args) # define _cffi_f_i2d_ASN1_TYPE _cffi_d_i2d_ASN1_TYPE #endif -static int _cffi_d_i2d_DHparams_bio(BIO * x0, DH * x1) +static int _cffi_d_i2d_DHparams_bio(BIO * x0, DH * x1) { - return i2d_DHparams_bio(x0, x1); + return i2d_DHparams_bio(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_i2d_DHparams_bio(PyObject *self, PyObject *args) +_cffi_f_i2d_DHparams_bio(PyObject *self, PyObject *args) { BIO * x0; - DH * x1; + DH * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "i2d_DHparams_bio", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "i2d_DHparams_bio", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(196), arg1, (char **)&x1); + _cffi_type(196), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (DH *)alloca((size_t)datasize); + x1 = (DH *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(196), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = i2d_DHparams_bio(x0, x1); } + { result = i2d_DHparams_bio(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -49249,7 +49249,7 @@ _cffi_f_i2d_DHparams_bio(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_i2d_DHparams_bio _cffi_d_i2d_DHparams_bio +# define _cffi_f_i2d_DHparams_bio _cffi_d_i2d_DHparams_bio #endif static int _cffi_d_i2d_DSAPrivateKey_bio(BIO * x0, DSA * x1) @@ -49271,24 +49271,24 @@ _cffi_f_i2d_DSAPrivateKey_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(212), arg1, (char **)&x1); + _cffi_type(212), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (DSA *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(212), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(212), arg1) < 0) return NULL; } @@ -49305,49 +49305,49 @@ _cffi_f_i2d_DSAPrivateKey_bio(PyObject *self, PyObject *args) # define _cffi_f_i2d_DSAPrivateKey_bio _cffi_d_i2d_DSAPrivateKey_bio #endif -static int _cffi_d_i2d_ECPrivateKey_bio(BIO * x0, EC_KEY * x1) +static int _cffi_d_i2d_ECPrivateKey_bio(BIO * x0, EC_KEY * x1) { - return i2d_ECPrivateKey_bio(x0, x1); + return i2d_ECPrivateKey_bio(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_i2d_ECPrivateKey_bio(PyObject *self, PyObject *args) +_cffi_f_i2d_ECPrivateKey_bio(PyObject *self, PyObject *args) { - BIO * x0; - EC_KEY * x1; + BIO * x0; + EC_KEY * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "i2d_ECPrivateKey_bio", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "i2d_ECPrivateKey_bio", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (BIO *)alloca((size_t)datasize); + x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg1, (char **)&x1); + _cffi_type(893), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (EC_KEY *)alloca((size_t)datasize); + x1 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = i2d_ECPrivateKey_bio(x0, x1); } + { result = i2d_ECPrivateKey_bio(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -49355,16 +49355,16 @@ _cffi_f_i2d_ECPrivateKey_bio(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_i2d_ECPrivateKey_bio _cffi_d_i2d_ECPrivateKey_bio +# define _cffi_f_i2d_ECPrivateKey_bio _cffi_d_i2d_ECPrivateKey_bio #endif -static int _cffi_d_i2d_EC_PUBKEY_bio(BIO * x0, EC_KEY * x1) +static int _cffi_d_i2d_EC_PUBKEY_bio(BIO * x0, EC_KEY * x1) { - return i2d_EC_PUBKEY_bio(x0, x1); + return i2d_EC_PUBKEY_bio(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_i2d_EC_PUBKEY_bio(PyObject *self, PyObject *args) +_cffi_f_i2d_EC_PUBKEY_bio(PyObject *self, PyObject *args) { BIO * x0; EC_KEY * x1; @@ -49373,34 +49373,34 @@ _cffi_f_i2d_EC_PUBKEY_bio(PyObject *self, PyObject *args) PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "i2d_EC_PUBKEY_bio", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "i2d_EC_PUBKEY_bio", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(893), arg1, (char **)&x1); + _cffi_type(893), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EC_KEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(893), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = i2d_EC_PUBKEY_bio(x0, x1); } + { result = i2d_EC_PUBKEY_bio(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -49408,52 +49408,52 @@ _cffi_f_i2d_EC_PUBKEY_bio(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_i2d_EC_PUBKEY_bio _cffi_d_i2d_EC_PUBKEY_bio +# define _cffi_f_i2d_EC_PUBKEY_bio _cffi_d_i2d_EC_PUBKEY_bio #endif -static int _cffi_d_i2d_GENERAL_NAMES(GENERAL_NAMES * x0, unsigned char * * x1) +static int _cffi_d_i2d_GENERAL_NAMES(GENERAL_NAMES * x0, unsigned char * * x1) { - return i2d_GENERAL_NAMES(x0, x1); + return i2d_GENERAL_NAMES(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_i2d_GENERAL_NAMES(PyObject *self, PyObject *args) +_cffi_f_i2d_GENERAL_NAMES(PyObject *self, PyObject *args) { - GENERAL_NAMES * x0; + GENERAL_NAMES * x0; unsigned char * * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "i2d_GENERAL_NAMES", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "i2d_GENERAL_NAMES", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(316), arg0, (char **)&x0); + _cffi_type(316), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (GENERAL_NAMES *)alloca((size_t)datasize); + x0 = (GENERAL_NAMES *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); + _cffi_type(802), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = i2d_GENERAL_NAMES(x0, x1); } + { result = i2d_GENERAL_NAMES(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -49461,52 +49461,52 @@ _cffi_f_i2d_GENERAL_NAMES(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_i2d_GENERAL_NAMES _cffi_d_i2d_GENERAL_NAMES +# define _cffi_f_i2d_GENERAL_NAMES _cffi_d_i2d_GENERAL_NAMES #endif -static int _cffi_d_i2d_OCSP_REQUEST_bio(BIO * x0, OCSP_REQUEST * x1) +static int _cffi_d_i2d_OCSP_REQUEST_bio(BIO * x0, OCSP_REQUEST * x1) { - return i2d_OCSP_REQUEST_bio(x0, x1); + return i2d_OCSP_REQUEST_bio(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_i2d_OCSP_REQUEST_bio(PyObject *self, PyObject *args) +_cffi_f_i2d_OCSP_REQUEST_bio(PyObject *self, PyObject *args) { BIO * x0; - OCSP_REQUEST * x1; + OCSP_REQUEST * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "i2d_OCSP_REQUEST_bio", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "i2d_OCSP_REQUEST_bio", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(365), arg1, (char **)&x1); + _cffi_type(365), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; - x1 = (OCSP_REQUEST *)alloca((size_t)datasize); + x1 = (OCSP_REQUEST *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(365), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(365), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = i2d_OCSP_REQUEST_bio(x0, x1); } + { result = i2d_OCSP_REQUEST_bio(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -49514,52 +49514,52 @@ _cffi_f_i2d_OCSP_REQUEST_bio(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_i2d_OCSP_REQUEST_bio _cffi_d_i2d_OCSP_REQUEST_bio +# define _cffi_f_i2d_OCSP_REQUEST_bio _cffi_d_i2d_OCSP_REQUEST_bio #endif -static int _cffi_d_i2d_OCSP_RESPDATA(OCSP_RESPDATA * x0, unsigned char * * x1) +static int _cffi_d_i2d_OCSP_RESPDATA(OCSP_RESPDATA * x0, unsigned char * * x1) { - return i2d_OCSP_RESPDATA(x0, x1); + return i2d_OCSP_RESPDATA(x0, x1); } #ifndef PYPY_VERSION static PyObject * -_cffi_f_i2d_OCSP_RESPDATA(PyObject *self, PyObject *args) +_cffi_f_i2d_OCSP_RESPDATA(PyObject *self, PyObject *args) { - OCSP_RESPDATA * x0; + OCSP_RESPDATA * x0; unsigned char * * x1; Py_ssize_t datasize; int result; PyObject *arg0; PyObject *arg1; - if (!PyArg_UnpackTuple(args, "i2d_OCSP_RESPDATA", 2, 2, &arg0, &arg1)) + if (!PyArg_UnpackTuple(args, "i2d_OCSP_RESPDATA", 2, 2, &arg0, &arg1)) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1578), arg0, (char **)&x0); + _cffi_type(1578), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; - x0 = (OCSP_RESPDATA *)alloca((size_t)datasize); + x0 = (OCSP_RESPDATA *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1578), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1578), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); + _cffi_type(802), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) return NULL; } Py_BEGIN_ALLOW_THREADS _cffi_restore_errno(); - { result = i2d_OCSP_RESPDATA(x0, x1); } + { result = i2d_OCSP_RESPDATA(x0, x1); } _cffi_save_errno(); Py_END_ALLOW_THREADS @@ -49567,7 +49567,7 @@ _cffi_f_i2d_OCSP_RESPDATA(PyObject *self, PyObject *args) return _cffi_from_c_int(result, int); } #else -# define _cffi_f_i2d_OCSP_RESPDATA _cffi_d_i2d_OCSP_RESPDATA +# define _cffi_f_i2d_OCSP_RESPDATA _cffi_d_i2d_OCSP_RESPDATA #endif static int _cffi_d_i2d_OCSP_RESPONSE_bio(BIO * x0, OCSP_RESPONSE * x1) @@ -49589,24 +49589,24 @@ _cffi_f_i2d_OCSP_RESPONSE_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(349), arg1, (char **)&x1); + _cffi_type(349), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (OCSP_RESPONSE *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(349), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(349), arg1) < 0) return NULL; } @@ -49642,24 +49642,24 @@ _cffi_f_i2d_PKCS12_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(940), arg1, (char **)&x1); + _cffi_type(940), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (PKCS12 *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(940), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(940), arg1) < 0) return NULL; } @@ -49695,24 +49695,24 @@ _cffi_f_i2d_PKCS7_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(442), arg1, (char **)&x1); + _cffi_type(442), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (PKCS7 *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(442), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(442), arg1) < 0) return NULL; } @@ -49758,46 +49758,46 @@ _cffi_f_i2d_PKCS8PrivateKey_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(885), arg2, (char **)&x2); + _cffi_type(885), arg2, (char **)&x2); if (datasize != 0) { if (datasize < 0) return NULL; x2 = (EVP_CIPHER const *)alloca((size_t)datasize); memset((void *)x2, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) + if (_cffi_convert_array_from_object((char *)x2, _cffi_type(885), arg2) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(409), arg3, (char **)&x3); + _cffi_type(409), arg3, (char **)&x3); if (datasize != 0) { if (datasize < 0) return NULL; x3 = (char *)alloca((size_t)datasize); memset((void *)x3, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x3, _cffi_type(409), arg3) < 0) + if (_cffi_convert_array_from_object((char *)x3, _cffi_type(409), arg3) < 0) return NULL; } @@ -49805,18 +49805,18 @@ _cffi_f_i2d_PKCS8PrivateKey_bio(PyObject *self, PyObject *args) if (x4 == (int)-1 && PyErr_Occurred()) return NULL; - x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); + x5 = (int(*)(char *, int, int, void *))_cffi_to_c_pointer(arg5, _cffi_type(192)); if (x5 == (int(*)(char *, int, int, void *))NULL && PyErr_Occurred()) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(193), arg6, (char **)&x6); + _cffi_type(193), arg6, (char **)&x6); if (datasize != 0) { if (datasize < 0) return NULL; x6 = (void *)alloca((size_t)datasize); memset((void *)x6, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) + if (_cffi_convert_array_from_object((char *)x6, _cffi_type(193), arg6) < 0) return NULL; } @@ -49852,24 +49852,24 @@ _cffi_f_i2d_PUBKEY_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -49905,24 +49905,24 @@ _cffi_f_i2d_PrivateKey_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(199), arg1, (char **)&x1); + _cffi_type(199), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (EVP_PKEY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(199), arg1) < 0) return NULL; } @@ -49958,24 +49958,24 @@ _cffi_f_i2d_RSAPrivateKey_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg1, (char **)&x1); + _cffi_type(476), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (RSA *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) return NULL; } @@ -50011,24 +50011,24 @@ _cffi_f_i2d_RSAPublicKey_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(476), arg1, (char **)&x1); + _cffi_type(476), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (RSA *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(476), arg1) < 0) return NULL; } @@ -50064,24 +50064,24 @@ _cffi_f_i2d_X509_CRL_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg1, (char **)&x1); + _cffi_type(57), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) return NULL; } @@ -50117,24 +50117,24 @@ _cffi_f_i2d_X509_NAME(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg0, (char **)&x0); + _cffi_type(643), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(643), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); + _cffi_type(802), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) return NULL; } @@ -50170,24 +50170,24 @@ _cffi_f_i2d_X509_REQ_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg1, (char **)&x1); + _cffi_type(294), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(294), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(294), arg1) < 0) return NULL; } @@ -50223,13 +50223,13 @@ _cffi_f_i2d_X509_bio(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(186), arg0, (char **)&x0); + _cffi_type(186), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (BIO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(186), arg0) < 0) return NULL; } @@ -50276,24 +50276,24 @@ _cffi_f_i2d_re_X509_CRL_tbs(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg0, (char **)&x0); + _cffi_type(57), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(57), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); + _cffi_type(802), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) return NULL; } @@ -50329,24 +50329,24 @@ _cffi_f_i2d_re_X509_REQ_tbs(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(294), arg0, (char **)&x0); + _cffi_type(294), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_REQ *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(294), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); + _cffi_type(802), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) return NULL; } @@ -50393,13 +50393,13 @@ _cffi_f_i2d_re_X509_tbs(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(802), arg1, (char **)&x1); + _cffi_type(802), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (unsigned char * *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(802), arg1) < 0) return NULL; } @@ -50512,52 +50512,52 @@ _cffi_f_sk_ACCESS_DESCRIPTION_num(PyObject *self, PyObject *arg0) # define _cffi_f_sk_ACCESS_DESCRIPTION_num _cffi_d_sk_ACCESS_DESCRIPTION_num #endif -static void _cffi_d_sk_ACCESS_DESCRIPTION_pop_free(Cryptography_STACK_OF_ACCESS_DESCRIPTION * x0, void(* x1)(ACCESS_DESCRIPTION *)) -{ - sk_ACCESS_DESCRIPTION_pop_free(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_sk_ACCESS_DESCRIPTION_pop_free(PyObject *self, PyObject *args) -{ - Cryptography_STACK_OF_ACCESS_DESCRIPTION * x0; - void(* x1)(ACCESS_DESCRIPTION *); - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "sk_ACCESS_DESCRIPTION_pop_free", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (Cryptography_STACK_OF_ACCESS_DESCRIPTION *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1), arg0) < 0) - return NULL; - } - - x1 = (void(*)(ACCESS_DESCRIPTION *))_cffi_to_c_pointer(arg1, _cffi_type(2586)); - if (x1 == (void(*)(ACCESS_DESCRIPTION *))NULL && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { sk_ACCESS_DESCRIPTION_pop_free(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_sk_ACCESS_DESCRIPTION_pop_free _cffi_d_sk_ACCESS_DESCRIPTION_pop_free -#endif - +static void _cffi_d_sk_ACCESS_DESCRIPTION_pop_free(Cryptography_STACK_OF_ACCESS_DESCRIPTION * x0, void(* x1)(ACCESS_DESCRIPTION *)) +{ + sk_ACCESS_DESCRIPTION_pop_free(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_sk_ACCESS_DESCRIPTION_pop_free(PyObject *self, PyObject *args) +{ + Cryptography_STACK_OF_ACCESS_DESCRIPTION * x0; + void(* x1)(ACCESS_DESCRIPTION *); + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "sk_ACCESS_DESCRIPTION_pop_free", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (Cryptography_STACK_OF_ACCESS_DESCRIPTION *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1), arg0) < 0) + return NULL; + } + + x1 = (void(*)(ACCESS_DESCRIPTION *))_cffi_to_c_pointer(arg1, _cffi_type(2586)); + if (x1 == (void(*)(ACCESS_DESCRIPTION *))NULL && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { sk_ACCESS_DESCRIPTION_pop_free(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_sk_ACCESS_DESCRIPTION_pop_free _cffi_d_sk_ACCESS_DESCRIPTION_pop_free +#endif + static int _cffi_d_sk_ACCESS_DESCRIPTION_push(Cryptography_STACK_OF_ACCESS_DESCRIPTION * x0, ACCESS_DESCRIPTION * x1) { return sk_ACCESS_DESCRIPTION_push(x0, x1); @@ -50588,13 +50588,13 @@ _cffi_f_sk_ACCESS_DESCRIPTION_push(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1056), arg1, (char **)&x1); + _cffi_type(1056), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ACCESS_DESCRIPTION *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1056), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1056), arg1) < 0) return NULL; } @@ -50651,7 +50651,7 @@ _cffi_f_sk_ACCESS_DESCRIPTION_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1056)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1056)); } #else # define _cffi_f_sk_ACCESS_DESCRIPTION_value _cffi_d_sk_ACCESS_DESCRIPTION_value @@ -50783,13 +50783,13 @@ _cffi_f_sk_ASN1_INTEGER_push(PyObject *self, PyObject *args) } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(21), arg1, (char **)&x1); + _cffi_type(21), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_INTEGER *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(21), arg1) < 0) return NULL; } @@ -50846,7 +50846,7 @@ _cffi_f_sk_ASN1_INTEGER_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(21)); + return _cffi_from_c_pointer((char *)result, _cffi_type(21)); } #else # define _cffi_f_sk_ASN1_INTEGER_value _cffi_d_sk_ASN1_INTEGER_value @@ -50864,13 +50864,13 @@ _cffi_f_sk_ASN1_OBJECT_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(36), arg0, (char **)&x0); + _cffi_type(36), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(36), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(36), arg0) < 0) return NULL; } @@ -50906,7 +50906,7 @@ _cffi_f_sk_ASN1_OBJECT_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(36)); + return _cffi_from_c_pointer((char *)result, _cffi_type(36)); } #else # define _cffi_f_sk_ASN1_OBJECT_new_null _cffi_d_sk_ASN1_OBJECT_new_null @@ -50925,13 +50925,13 @@ _cffi_f_sk_ASN1_OBJECT_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(36), arg0, (char **)&x0); + _cffi_type(36), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(36), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(36), arg0) < 0) return NULL; } @@ -50967,24 +50967,24 @@ _cffi_f_sk_ASN1_OBJECT_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(36), arg0, (char **)&x0); + _cffi_type(36), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(36), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(36), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(607), arg1, (char **)&x1); + _cffi_type(607), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(607), arg1) < 0) return NULL; } @@ -51020,13 +51020,13 @@ _cffi_f_sk_ASN1_OBJECT_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(36), arg0, (char **)&x0); + _cffi_type(36), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_ASN1_OBJECT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(36), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(36), arg0) < 0) return NULL; } @@ -51041,7 +51041,7 @@ _cffi_f_sk_ASN1_OBJECT_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(607)); + return _cffi_from_c_pointer((char *)result, _cffi_type(607)); } #else # define _cffi_f_sk_ASN1_OBJECT_value _cffi_d_sk_ASN1_OBJECT_value @@ -51059,13 +51059,13 @@ _cffi_f_sk_DIST_POINT_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(204), arg0, (char **)&x0); + _cffi_type(204), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_DIST_POINT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) return NULL; } @@ -51101,7 +51101,7 @@ _cffi_f_sk_DIST_POINT_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(204)); + return _cffi_from_c_pointer((char *)result, _cffi_type(204)); } #else # define _cffi_f_sk_DIST_POINT_new_null _cffi_d_sk_DIST_POINT_new_null @@ -51120,13 +51120,13 @@ _cffi_f_sk_DIST_POINT_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(204), arg0, (char **)&x0); + _cffi_type(204), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_DIST_POINT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) return NULL; } @@ -51143,52 +51143,52 @@ _cffi_f_sk_DIST_POINT_num(PyObject *self, PyObject *arg0) # define _cffi_f_sk_DIST_POINT_num _cffi_d_sk_DIST_POINT_num #endif -static void _cffi_d_sk_DIST_POINT_pop_free(Cryptography_STACK_OF_DIST_POINT * x0, void(* x1)(DIST_POINT *)) -{ - sk_DIST_POINT_pop_free(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_sk_DIST_POINT_pop_free(PyObject *self, PyObject *args) -{ - Cryptography_STACK_OF_DIST_POINT * x0; - void(* x1)(DIST_POINT *); - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "sk_DIST_POINT_pop_free", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(204), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (Cryptography_STACK_OF_DIST_POINT *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) - return NULL; - } - - x1 = (void(*)(DIST_POINT *))_cffi_to_c_pointer(arg1, _cffi_type(2599)); - if (x1 == (void(*)(DIST_POINT *))NULL && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { sk_DIST_POINT_pop_free(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_sk_DIST_POINT_pop_free _cffi_d_sk_DIST_POINT_pop_free -#endif - +static void _cffi_d_sk_DIST_POINT_pop_free(Cryptography_STACK_OF_DIST_POINT * x0, void(* x1)(DIST_POINT *)) +{ + sk_DIST_POINT_pop_free(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_sk_DIST_POINT_pop_free(PyObject *self, PyObject *args) +{ + Cryptography_STACK_OF_DIST_POINT * x0; + void(* x1)(DIST_POINT *); + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "sk_DIST_POINT_pop_free", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(204), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (Cryptography_STACK_OF_DIST_POINT *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) + return NULL; + } + + x1 = (void(*)(DIST_POINT *))_cffi_to_c_pointer(arg1, _cffi_type(2599)); + if (x1 == (void(*)(DIST_POINT *))NULL && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { sk_DIST_POINT_pop_free(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_sk_DIST_POINT_pop_free _cffi_d_sk_DIST_POINT_pop_free +#endif + static int _cffi_d_sk_DIST_POINT_push(Cryptography_STACK_OF_DIST_POINT * x0, DIST_POINT * x1) { return sk_DIST_POINT_push(x0, x1); @@ -51208,24 +51208,24 @@ _cffi_f_sk_DIST_POINT_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(204), arg0, (char **)&x0); + _cffi_type(204), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_DIST_POINT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1077), arg1, (char **)&x1); + _cffi_type(1077), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (DIST_POINT *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1077), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1077), arg1) < 0) return NULL; } @@ -51261,13 +51261,13 @@ _cffi_f_sk_DIST_POINT_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(204), arg0, (char **)&x0); + _cffi_type(204), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_DIST_POINT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(204), arg0) < 0) return NULL; } @@ -51282,7 +51282,7 @@ _cffi_f_sk_DIST_POINT_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1077)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1077)); } #else # define _cffi_f_sk_DIST_POINT_value _cffi_d_sk_DIST_POINT_value @@ -51301,13 +51301,13 @@ _cffi_f_sk_GENERAL_NAME_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(316), arg0, (char **)&x0); + _cffi_type(316), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (GENERAL_NAMES *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) return NULL; } @@ -51342,17 +51342,17 @@ _cffi_f_sk_GENERAL_NAME_pop_free(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(316), arg0, (char **)&x0); + _cffi_type(316), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (GENERAL_NAMES *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) return NULL; } - x1 = (void(*)(GENERAL_NAME *))_cffi_to_c_pointer(arg1, _cffi_type(2696)); + x1 = (void(*)(GENERAL_NAME *))_cffi_to_c_pointer(arg1, _cffi_type(2696)); if (x1 == (void(*)(GENERAL_NAME *))NULL && PyErr_Occurred()) return NULL; @@ -51389,24 +51389,24 @@ _cffi_f_sk_GENERAL_NAME_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(316), arg0, (char **)&x0); + _cffi_type(316), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (GENERAL_NAMES *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(928), arg1, (char **)&x1); + _cffi_type(928), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (GENERAL_NAME *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(928), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(928), arg1) < 0) return NULL; } @@ -51442,13 +51442,13 @@ _cffi_f_sk_GENERAL_NAME_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(316), arg0, (char **)&x0); + _cffi_type(316), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (GENERAL_NAMES *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(316), arg0) < 0) return NULL; } @@ -51463,7 +51463,7 @@ _cffi_f_sk_GENERAL_NAME_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(928)); + return _cffi_from_c_pointer((char *)result, _cffi_type(928)); } #else # define _cffi_f_sk_GENERAL_NAME_value _cffi_d_sk_GENERAL_NAME_value @@ -51481,13 +51481,13 @@ _cffi_f_sk_GENERAL_SUBTREE_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(329), arg0, (char **)&x0); + _cffi_type(329), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_GENERAL_SUBTREE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(329), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(329), arg0) < 0) return NULL; } @@ -51523,7 +51523,7 @@ _cffi_f_sk_GENERAL_SUBTREE_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(329)); + return _cffi_from_c_pointer((char *)result, _cffi_type(329)); } #else # define _cffi_f_sk_GENERAL_SUBTREE_new_null _cffi_d_sk_GENERAL_SUBTREE_new_null @@ -51542,13 +51542,13 @@ _cffi_f_sk_GENERAL_SUBTREE_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(329), arg0, (char **)&x0); + _cffi_type(329), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_GENERAL_SUBTREE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(329), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(329), arg0) < 0) return NULL; } @@ -51584,24 +51584,24 @@ _cffi_f_sk_GENERAL_SUBTREE_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(329), arg0, (char **)&x0); + _cffi_type(329), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_GENERAL_SUBTREE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(329), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(329), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1084), arg1, (char **)&x1); + _cffi_type(1084), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (GENERAL_SUBTREE *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1084), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1084), arg1) < 0) return NULL; } @@ -51637,13 +51637,13 @@ _cffi_f_sk_GENERAL_SUBTREE_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(329), arg0, (char **)&x0); + _cffi_type(329), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_GENERAL_SUBTREE *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(329), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(329), arg0) < 0) return NULL; } @@ -51658,7 +51658,7 @@ _cffi_f_sk_GENERAL_SUBTREE_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1084)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1084)); } #else # define _cffi_f_sk_GENERAL_SUBTREE_value _cffi_d_sk_GENERAL_SUBTREE_value @@ -51676,13 +51676,13 @@ _cffi_f_sk_POLICYINFO_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(449), arg0, (char **)&x0); + _cffi_type(449), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_POLICYINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) return NULL; } @@ -51718,7 +51718,7 @@ _cffi_f_sk_POLICYINFO_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(449)); + return _cffi_from_c_pointer((char *)result, _cffi_type(449)); } #else # define _cffi_f_sk_POLICYINFO_new_null _cffi_d_sk_POLICYINFO_new_null @@ -51737,13 +51737,13 @@ _cffi_f_sk_POLICYINFO_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(449), arg0, (char **)&x0); + _cffi_type(449), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_POLICYINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) return NULL; } @@ -51760,52 +51760,52 @@ _cffi_f_sk_POLICYINFO_num(PyObject *self, PyObject *arg0) # define _cffi_f_sk_POLICYINFO_num _cffi_d_sk_POLICYINFO_num #endif -static void _cffi_d_sk_POLICYINFO_pop_free(Cryptography_STACK_OF_POLICYINFO * x0, void(* x1)(POLICYINFO *)) -{ - sk_POLICYINFO_pop_free(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_sk_POLICYINFO_pop_free(PyObject *self, PyObject *args) -{ - Cryptography_STACK_OF_POLICYINFO * x0; - void(* x1)(POLICYINFO *); - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "sk_POLICYINFO_pop_free", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(449), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (Cryptography_STACK_OF_POLICYINFO *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) - return NULL; - } - - x1 = (void(*)(POLICYINFO *))_cffi_to_c_pointer(arg1, _cffi_type(2609)); - if (x1 == (void(*)(POLICYINFO *))NULL && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { sk_POLICYINFO_pop_free(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_sk_POLICYINFO_pop_free _cffi_d_sk_POLICYINFO_pop_free -#endif - +static void _cffi_d_sk_POLICYINFO_pop_free(Cryptography_STACK_OF_POLICYINFO * x0, void(* x1)(POLICYINFO *)) +{ + sk_POLICYINFO_pop_free(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_sk_POLICYINFO_pop_free(PyObject *self, PyObject *args) +{ + Cryptography_STACK_OF_POLICYINFO * x0; + void(* x1)(POLICYINFO *); + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "sk_POLICYINFO_pop_free", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(449), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (Cryptography_STACK_OF_POLICYINFO *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) + return NULL; + } + + x1 = (void(*)(POLICYINFO *))_cffi_to_c_pointer(arg1, _cffi_type(2609)); + if (x1 == (void(*)(POLICYINFO *))NULL && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { sk_POLICYINFO_pop_free(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_sk_POLICYINFO_pop_free _cffi_d_sk_POLICYINFO_pop_free +#endif + static int _cffi_d_sk_POLICYINFO_push(Cryptography_STACK_OF_POLICYINFO * x0, POLICYINFO * x1) { return sk_POLICYINFO_push(x0, x1); @@ -51825,24 +51825,24 @@ _cffi_f_sk_POLICYINFO_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(449), arg0, (char **)&x0); + _cffi_type(449), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_POLICYINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1091), arg1, (char **)&x1); + _cffi_type(1091), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (POLICYINFO *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1091), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1091), arg1) < 0) return NULL; } @@ -51878,13 +51878,13 @@ _cffi_f_sk_POLICYINFO_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(449), arg0, (char **)&x0); + _cffi_type(449), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_POLICYINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(449), arg0) < 0) return NULL; } @@ -51899,7 +51899,7 @@ _cffi_f_sk_POLICYINFO_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1091)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1091)); } #else # define _cffi_f_sk_POLICYINFO_value _cffi_d_sk_POLICYINFO_value @@ -51917,13 +51917,13 @@ _cffi_f_sk_POLICYQUALINFO_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(455), arg0, (char **)&x0); + _cffi_type(455), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_POLICYQUALINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(455), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(455), arg0) < 0) return NULL; } @@ -51959,7 +51959,7 @@ _cffi_f_sk_POLICYQUALINFO_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(455)); + return _cffi_from_c_pointer((char *)result, _cffi_type(455)); } #else # define _cffi_f_sk_POLICYQUALINFO_new_null _cffi_d_sk_POLICYQUALINFO_new_null @@ -51978,13 +51978,13 @@ _cffi_f_sk_POLICYQUALINFO_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(455), arg0, (char **)&x0); + _cffi_type(455), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_POLICYQUALINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(455), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(455), arg0) < 0) return NULL; } @@ -52020,24 +52020,24 @@ _cffi_f_sk_POLICYQUALINFO_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(455), arg0, (char **)&x0); + _cffi_type(455), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_POLICYQUALINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(455), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(455), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1098), arg1, (char **)&x1); + _cffi_type(1098), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (POLICYQUALINFO *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1098), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1098), arg1) < 0) return NULL; } @@ -52073,13 +52073,13 @@ _cffi_f_sk_POLICYQUALINFO_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(455), arg0, (char **)&x0); + _cffi_type(455), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_POLICYQUALINFO *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(455), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(455), arg0) < 0) return NULL; } @@ -52094,207 +52094,207 @@ _cffi_f_sk_POLICYQUALINFO_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1098)); + return _cffi_from_c_pointer((char *)result, _cffi_type(1098)); } #else # define _cffi_f_sk_POLICYQUALINFO_value _cffi_d_sk_POLICYQUALINFO_value #endif -static void _cffi_d_sk_SCT_free(Cryptography_STACK_OF_SCT * x0) -{ - sk_SCT_free(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_sk_SCT_free(PyObject *self, PyObject *arg0) -{ - Cryptography_STACK_OF_SCT * x0; - Py_ssize_t datasize; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1101), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (Cryptography_STACK_OF_SCT *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1101), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { sk_SCT_free(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_sk_SCT_free _cffi_d_sk_SCT_free -#endif - -static Cryptography_STACK_OF_SCT * _cffi_d_sk_SCT_new_null(void) -{ - return sk_SCT_new_null(); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_sk_SCT_new_null(PyObject *self, PyObject *noarg) -{ - Cryptography_STACK_OF_SCT * result; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = sk_SCT_new_null(); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1101)); -} -#else -# define _cffi_f_sk_SCT_new_null _cffi_d_sk_SCT_new_null -#endif - -static int _cffi_d_sk_SCT_num(Cryptography_STACK_OF_SCT const * x0) -{ - return sk_SCT_num(x0); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_sk_SCT_num(PyObject *self, PyObject *arg0) -{ - Cryptography_STACK_OF_SCT const * x0; - Py_ssize_t datasize; - int result; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(481), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (Cryptography_STACK_OF_SCT const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(481), arg0) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = sk_SCT_num(x0); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_sk_SCT_num _cffi_d_sk_SCT_num -#endif - -static int _cffi_d_sk_SCT_push(Cryptography_STACK_OF_SCT * x0, SCT * x1) -{ - return sk_SCT_push(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_sk_SCT_push(PyObject *self, PyObject *args) -{ - Cryptography_STACK_OF_SCT * x0; - SCT * x1; - Py_ssize_t datasize; - int result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "sk_SCT_push", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1101), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (Cryptography_STACK_OF_SCT *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1101), arg0) < 0) - return NULL; - } - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(1102), arg1, (char **)&x1); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x1 = (SCT *)alloca((size_t)datasize); - memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1102), arg1) < 0) - return NULL; - } - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = sk_SCT_push(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_int(result, int); -} -#else -# define _cffi_f_sk_SCT_push _cffi_d_sk_SCT_push -#endif - -static SCT * _cffi_d_sk_SCT_value(Cryptography_STACK_OF_SCT const * x0, int x1) -{ - return sk_SCT_value(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_sk_SCT_value(PyObject *self, PyObject *args) -{ - Cryptography_STACK_OF_SCT const * x0; - int x1; - Py_ssize_t datasize; - SCT * result; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "sk_SCT_value", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(481), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (Cryptography_STACK_OF_SCT const *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(481), arg0) < 0) - return NULL; - } - - x1 = _cffi_to_c_int(arg1, int); - if (x1 == (int)-1 && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { result = sk_SCT_value(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(1102)); -} -#else -# define _cffi_f_sk_SCT_value _cffi_d_sk_SCT_value -#endif - +static void _cffi_d_sk_SCT_free(Cryptography_STACK_OF_SCT * x0) +{ + sk_SCT_free(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_sk_SCT_free(PyObject *self, PyObject *arg0) +{ + Cryptography_STACK_OF_SCT * x0; + Py_ssize_t datasize; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1101), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (Cryptography_STACK_OF_SCT *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1101), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { sk_SCT_free(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_sk_SCT_free _cffi_d_sk_SCT_free +#endif + +static Cryptography_STACK_OF_SCT * _cffi_d_sk_SCT_new_null(void) +{ + return sk_SCT_new_null(); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_sk_SCT_new_null(PyObject *self, PyObject *noarg) +{ + Cryptography_STACK_OF_SCT * result; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = sk_SCT_new_null(); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + (void)noarg; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(1101)); +} +#else +# define _cffi_f_sk_SCT_new_null _cffi_d_sk_SCT_new_null +#endif + +static int _cffi_d_sk_SCT_num(Cryptography_STACK_OF_SCT const * x0) +{ + return sk_SCT_num(x0); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_sk_SCT_num(PyObject *self, PyObject *arg0) +{ + Cryptography_STACK_OF_SCT const * x0; + Py_ssize_t datasize; + int result; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(481), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (Cryptography_STACK_OF_SCT const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(481), arg0) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = sk_SCT_num(x0); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_sk_SCT_num _cffi_d_sk_SCT_num +#endif + +static int _cffi_d_sk_SCT_push(Cryptography_STACK_OF_SCT * x0, SCT * x1) +{ + return sk_SCT_push(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_sk_SCT_push(PyObject *self, PyObject *args) +{ + Cryptography_STACK_OF_SCT * x0; + SCT * x1; + Py_ssize_t datasize; + int result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "sk_SCT_push", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1101), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (Cryptography_STACK_OF_SCT *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(1101), arg0) < 0) + return NULL; + } + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(1102), arg1, (char **)&x1); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x1 = (SCT *)alloca((size_t)datasize); + memset((void *)x1, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(1102), arg1) < 0) + return NULL; + } + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = sk_SCT_push(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_int(result, int); +} +#else +# define _cffi_f_sk_SCT_push _cffi_d_sk_SCT_push +#endif + +static SCT * _cffi_d_sk_SCT_value(Cryptography_STACK_OF_SCT const * x0, int x1) +{ + return sk_SCT_value(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_sk_SCT_value(PyObject *self, PyObject *args) +{ + Cryptography_STACK_OF_SCT const * x0; + int x1; + Py_ssize_t datasize; + SCT * result; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "sk_SCT_value", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(481), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (Cryptography_STACK_OF_SCT const *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(481), arg0) < 0) + return NULL; + } + + x1 = _cffi_to_c_int(arg1, int); + if (x1 == (int)-1 && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { result = sk_SCT_value(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + return _cffi_from_c_pointer((char *)result, _cffi_type(1102)); +} +#else +# define _cffi_f_sk_SCT_value _cffi_d_sk_SCT_value +#endif + static int _cffi_d_sk_SSL_CIPHER_num(Cryptography_STACK_OF_SSL_CIPHER * x0) { return sk_SSL_CIPHER_num(x0); @@ -52308,13 +52308,13 @@ _cffi_f_sk_SSL_CIPHER_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(493), arg0, (char **)&x0); + _cffi_type(493), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_SSL_CIPHER *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(493), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(493), arg0) < 0) return NULL; } @@ -52350,13 +52350,13 @@ _cffi_f_sk_SSL_CIPHER_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(493), arg0, (char **)&x0); + _cffi_type(493), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_SSL_CIPHER *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(493), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(493), arg0) < 0) return NULL; } @@ -52371,7 +52371,7 @@ _cffi_f_sk_SSL_CIPHER_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(733)); + return _cffi_from_c_pointer((char *)result, _cffi_type(733)); } #else # define _cffi_f_sk_SSL_CIPHER_value _cffi_d_sk_SSL_CIPHER_value @@ -52389,13 +52389,13 @@ _cffi_f_sk_X509_CRL_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(565), arg0, (char **)&x0); + _cffi_type(565), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(565), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(565), arg0) < 0) return NULL; } @@ -52431,7 +52431,7 @@ _cffi_f_sk_X509_CRL_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(565)); + return _cffi_from_c_pointer((char *)result, _cffi_type(565)); } #else # define _cffi_f_sk_X509_CRL_new_null _cffi_d_sk_X509_CRL_new_null @@ -52450,13 +52450,13 @@ _cffi_f_sk_X509_CRL_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(565), arg0, (char **)&x0); + _cffi_type(565), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(565), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(565), arg0) < 0) return NULL; } @@ -52492,24 +52492,24 @@ _cffi_f_sk_X509_CRL_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(565), arg0, (char **)&x0); + _cffi_type(565), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(565), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(565), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(57), arg1, (char **)&x1); + _cffi_type(57), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_CRL *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(57), arg1) < 0) return NULL; } @@ -52545,13 +52545,13 @@ _cffi_f_sk_X509_CRL_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(565), arg0, (char **)&x0); + _cffi_type(565), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_CRL *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(565), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(565), arg0) < 0) return NULL; } @@ -52566,7 +52566,7 @@ _cffi_f_sk_X509_CRL_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(57)); + return _cffi_from_c_pointer((char *)result, _cffi_type(57)); } #else # define _cffi_f_sk_X509_CRL_value _cffi_d_sk_X509_CRL_value @@ -52591,13 +52591,13 @@ _cffi_f_sk_X509_EXTENSION_delete(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(615), arg0, (char **)&x0); + _cffi_type(615), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSIONS *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) return NULL; } @@ -52612,7 +52612,7 @@ _cffi_f_sk_X509_EXTENSION_delete(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_sk_X509_EXTENSION_delete _cffi_d_sk_X509_EXTENSION_delete @@ -52630,13 +52630,13 @@ _cffi_f_sk_X509_EXTENSION_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(615), arg0, (char **)&x0); + _cffi_type(615), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSIONS *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) return NULL; } @@ -52675,24 +52675,24 @@ _cffi_f_sk_X509_EXTENSION_insert(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(615), arg0, (char **)&x0); + _cffi_type(615), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSIONS *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg1, (char **)&x1); + _cffi_type(40), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) return NULL; } @@ -52731,7 +52731,7 @@ _cffi_f_sk_X509_EXTENSION_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(615)); + return _cffi_from_c_pointer((char *)result, _cffi_type(615)); } #else # define _cffi_f_sk_X509_EXTENSION_new_null _cffi_d_sk_X509_EXTENSION_new_null @@ -52750,13 +52750,13 @@ _cffi_f_sk_X509_EXTENSION_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(615), arg0, (char **)&x0); + _cffi_type(615), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSIONS *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) return NULL; } @@ -52773,52 +52773,52 @@ _cffi_f_sk_X509_EXTENSION_num(PyObject *self, PyObject *arg0) # define _cffi_f_sk_X509_EXTENSION_num _cffi_d_sk_X509_EXTENSION_num #endif -static void _cffi_d_sk_X509_EXTENSION_pop_free(X509_EXTENSIONS * x0, void(* x1)(X509_EXTENSION *)) -{ - sk_X509_EXTENSION_pop_free(x0, x1); -} -#ifndef PYPY_VERSION -static PyObject * -_cffi_f_sk_X509_EXTENSION_pop_free(PyObject *self, PyObject *args) -{ - X509_EXTENSIONS * x0; - void(* x1)(X509_EXTENSION *); - Py_ssize_t datasize; - PyObject *arg0; - PyObject *arg1; - - if (!PyArg_UnpackTuple(args, "sk_X509_EXTENSION_pop_free", 2, 2, &arg0, &arg1)) - return NULL; - - datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(615), arg0, (char **)&x0); - if (datasize != 0) { - if (datasize < 0) - return NULL; - x0 = (X509_EXTENSIONS *)alloca((size_t)datasize); - memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) - return NULL; - } - - x1 = (void(*)(X509_EXTENSION *))_cffi_to_c_pointer(arg1, _cffi_type(2902)); - if (x1 == (void(*)(X509_EXTENSION *))NULL && PyErr_Occurred()) - return NULL; - - Py_BEGIN_ALLOW_THREADS - _cffi_restore_errno(); - { sk_X509_EXTENSION_pop_free(x0, x1); } - _cffi_save_errno(); - Py_END_ALLOW_THREADS - - (void)self; /* unused */ - Py_INCREF(Py_None); - return Py_None; -} -#else -# define _cffi_f_sk_X509_EXTENSION_pop_free _cffi_d_sk_X509_EXTENSION_pop_free -#endif - +static void _cffi_d_sk_X509_EXTENSION_pop_free(X509_EXTENSIONS * x0, void(* x1)(X509_EXTENSION *)) +{ + sk_X509_EXTENSION_pop_free(x0, x1); +} +#ifndef PYPY_VERSION +static PyObject * +_cffi_f_sk_X509_EXTENSION_pop_free(PyObject *self, PyObject *args) +{ + X509_EXTENSIONS * x0; + void(* x1)(X509_EXTENSION *); + Py_ssize_t datasize; + PyObject *arg0; + PyObject *arg1; + + if (!PyArg_UnpackTuple(args, "sk_X509_EXTENSION_pop_free", 2, 2, &arg0, &arg1)) + return NULL; + + datasize = _cffi_prepare_pointer_call_argument( + _cffi_type(615), arg0, (char **)&x0); + if (datasize != 0) { + if (datasize < 0) + return NULL; + x0 = (X509_EXTENSIONS *)alloca((size_t)datasize); + memset((void *)x0, 0, (size_t)datasize); + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) + return NULL; + } + + x1 = (void(*)(X509_EXTENSION *))_cffi_to_c_pointer(arg1, _cffi_type(2902)); + if (x1 == (void(*)(X509_EXTENSION *))NULL && PyErr_Occurred()) + return NULL; + + Py_BEGIN_ALLOW_THREADS + _cffi_restore_errno(); + { sk_X509_EXTENSION_pop_free(x0, x1); } + _cffi_save_errno(); + Py_END_ALLOW_THREADS + + (void)self; /* unused */ + Py_INCREF(Py_None); + return Py_None; +} +#else +# define _cffi_f_sk_X509_EXTENSION_pop_free _cffi_d_sk_X509_EXTENSION_pop_free +#endif + static int _cffi_d_sk_X509_EXTENSION_push(X509_EXTENSIONS * x0, X509_EXTENSION * x1) { return sk_X509_EXTENSION_push(x0, x1); @@ -52838,24 +52838,24 @@ _cffi_f_sk_X509_EXTENSION_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(615), arg0, (char **)&x0); + _cffi_type(615), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSIONS *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(40), arg1, (char **)&x1); + _cffi_type(40), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_EXTENSION *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(40), arg1) < 0) return NULL; } @@ -52891,13 +52891,13 @@ _cffi_f_sk_X509_EXTENSION_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(615), arg0, (char **)&x0); + _cffi_type(615), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (X509_EXTENSIONS *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(615), arg0) < 0) return NULL; } @@ -52912,7 +52912,7 @@ _cffi_f_sk_X509_EXTENSION_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(40)); + return _cffi_from_c_pointer((char *)result, _cffi_type(40)); } #else # define _cffi_f_sk_X509_EXTENSION_value _cffi_d_sk_X509_EXTENSION_value @@ -52931,13 +52931,13 @@ _cffi_f_sk_X509_NAME_ENTRY_dup(PyObject *self, PyObject *arg0) Cryptography_STACK_OF_X509_NAME_ENTRY * result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(175), arg0, (char **)&x0); + _cffi_type(175), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_NAME_ENTRY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(175), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(175), arg0) < 0) return NULL; } @@ -52948,7 +52948,7 @@ _cffi_f_sk_X509_NAME_ENTRY_dup(PyObject *self, PyObject *arg0) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(175)); + return _cffi_from_c_pointer((char *)result, _cffi_type(175)); } #else # define _cffi_f_sk_X509_NAME_ENTRY_dup _cffi_d_sk_X509_NAME_ENTRY_dup @@ -52972,7 +52972,7 @@ _cffi_f_sk_X509_NAME_ENTRY_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(175)); + return _cffi_from_c_pointer((char *)result, _cffi_type(175)); } #else # define _cffi_f_sk_X509_NAME_ENTRY_new_null _cffi_d_sk_X509_NAME_ENTRY_new_null @@ -52991,13 +52991,13 @@ _cffi_f_sk_X509_NAME_ENTRY_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(175), arg0, (char **)&x0); + _cffi_type(175), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_NAME_ENTRY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(175), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(175), arg0) < 0) return NULL; } @@ -53033,24 +53033,24 @@ _cffi_f_sk_X509_NAME_ENTRY_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(175), arg0, (char **)&x0); + _cffi_type(175), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_NAME_ENTRY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(175), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(175), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(43), arg1, (char **)&x1); + _cffi_type(43), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_NAME_ENTRY *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(43), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(43), arg1) < 0) return NULL; } @@ -53086,13 +53086,13 @@ _cffi_f_sk_X509_NAME_ENTRY_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(175), arg0, (char **)&x0); + _cffi_type(175), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_NAME_ENTRY *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(175), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(175), arg0) < 0) return NULL; } @@ -53107,7 +53107,7 @@ _cffi_f_sk_X509_NAME_ENTRY_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(43)); + return _cffi_from_c_pointer((char *)result, _cffi_type(43)); } #else # define _cffi_f_sk_X509_NAME_ENTRY_value _cffi_d_sk_X509_NAME_ENTRY_value @@ -53125,13 +53125,13 @@ _cffi_f_sk_X509_NAME_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(633), arg0, (char **)&x0); + _cffi_type(633), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(633), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(633), arg0) < 0) return NULL; } @@ -53167,7 +53167,7 @@ _cffi_f_sk_X509_NAME_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(633)); + return _cffi_from_c_pointer((char *)result, _cffi_type(633)); } #else # define _cffi_f_sk_X509_NAME_new_null _cffi_d_sk_X509_NAME_new_null @@ -53186,13 +53186,13 @@ _cffi_f_sk_X509_NAME_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(633), arg0, (char **)&x0); + _cffi_type(633), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(633), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(633), arg0) < 0) return NULL; } @@ -53228,24 +53228,24 @@ _cffi_f_sk_X509_NAME_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(633), arg0, (char **)&x0); + _cffi_type(633), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(633), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(633), arg0) < 0) return NULL; } datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(643), arg1, (char **)&x1); + _cffi_type(643), arg1, (char **)&x1); if (datasize != 0) { if (datasize < 0) return NULL; x1 = (X509_NAME *)alloca((size_t)datasize); memset((void *)x1, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) + if (_cffi_convert_array_from_object((char *)x1, _cffi_type(643), arg1) < 0) return NULL; } @@ -53281,13 +53281,13 @@ _cffi_f_sk_X509_NAME_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(633), arg0, (char **)&x0); + _cffi_type(633), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_NAME *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(633), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(633), arg0) < 0) return NULL; } @@ -53302,7 +53302,7 @@ _cffi_f_sk_X509_NAME_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(643)); + return _cffi_from_c_pointer((char *)result, _cffi_type(643)); } #else # define _cffi_f_sk_X509_NAME_value _cffi_d_sk_X509_NAME_value @@ -53321,13 +53321,13 @@ _cffi_f_sk_X509_OBJECT_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(666), arg0, (char **)&x0); + _cffi_type(666), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_OBJECT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(666), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(666), arg0) < 0) return NULL; } @@ -53363,13 +53363,13 @@ _cffi_f_sk_X509_OBJECT_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(666), arg0, (char **)&x0); + _cffi_type(666), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_OBJECT *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(666), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(666), arg0) < 0) return NULL; } @@ -53384,7 +53384,7 @@ _cffi_f_sk_X509_OBJECT_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(537)); + return _cffi_from_c_pointer((char *)result, _cffi_type(537)); } #else # define _cffi_f_sk_X509_OBJECT_value _cffi_d_sk_X509_OBJECT_value @@ -53403,13 +53403,13 @@ _cffi_f_sk_X509_REVOKED_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(682), arg0, (char **)&x0); + _cffi_type(682), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(682), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(682), arg0) < 0) return NULL; } @@ -53445,13 +53445,13 @@ _cffi_f_sk_X509_REVOKED_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(682), arg0, (char **)&x0); + _cffi_type(682), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509_REVOKED *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(682), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(682), arg0) < 0) return NULL; } @@ -53466,7 +53466,7 @@ _cffi_f_sk_X509_REVOKED_value(PyObject *self, PyObject *args) Py_END_ALLOW_THREADS (void)self; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(619)); + return _cffi_from_c_pointer((char *)result, _cffi_type(619)); } #else # define _cffi_f_sk_X509_REVOKED_value _cffi_d_sk_X509_REVOKED_value @@ -53484,13 +53484,13 @@ _cffi_f_sk_X509_free(PyObject *self, PyObject *arg0) Py_ssize_t datasize; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg0, (char **)&x0); + _cffi_type(413), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(413), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(413), arg0) < 0) return NULL; } @@ -53526,7 +53526,7 @@ _cffi_f_sk_X509_new_null(PyObject *self, PyObject *noarg) (void)self; /* unused */ (void)noarg; /* unused */ - return _cffi_from_c_pointer((char *)result, _cffi_type(413)); + return _cffi_from_c_pointer((char *)result, _cffi_type(413)); } #else # define _cffi_f_sk_X509_new_null _cffi_d_sk_X509_new_null @@ -53545,13 +53545,13 @@ _cffi_f_sk_X509_num(PyObject *self, PyObject *arg0) int result; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg0, (char **)&x0); + _cffi_type(413), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(413), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(413), arg0) < 0) return NULL; } @@ -53587,13 +53587,13 @@ _cffi_f_sk_X509_push(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg0, (char **)&x0); + _cffi_type(413), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(413), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(413), arg0) < 0) return NULL; } @@ -53640,13 +53640,13 @@ _cffi_f_sk_X509_value(PyObject *self, PyObject *args) return NULL; datasize = _cffi_prepare_pointer_call_argument( - _cffi_type(413), arg0, (char **)&x0); + _cffi_type(413), arg0, (char **)&x0); if (datasize != 0) { if (datasize < 0) return NULL; x0 = (Cryptography_STACK_OF_X509 *)alloca((size_t)datasize); memset((void *)x0, 0, (size_t)datasize); - if (_cffi_convert_array_from_object((char *)x0, _cffi_type(413), arg0) < 0) + if (_cffi_convert_array_from_object((char *)x0, _cffi_type(413), arg0) < 0) return NULL; } @@ -53667,11 +53667,11 @@ _cffi_f_sk_X509_value(PyObject *self, PyObject *args) # define _cffi_f_sk_X509_value _cffi_d_sk_X509_value #endif -static int _cffi_const_BN_FLG_CONSTTIME(unsigned long long *o) +static int _cffi_const_BN_FLG_CONSTTIME(unsigned long long *o) { - int n = (BN_FLG_CONSTTIME) <= 0; - *o = (unsigned long long)((BN_FLG_CONSTTIME) | 0); /* check that BN_FLG_CONSTTIME is an integer */ - return n; + int n = (BN_FLG_CONSTTIME) <= 0; + *o = (unsigned long long)((BN_FLG_CONSTTIME) | 0); /* check that BN_FLG_CONSTTIME is an integer */ + return n; } _CFFI_UNUSED_FN @@ -53687,162 +53687,162 @@ static void _cffi_checkfld__ASN1_OCTET_STRING(ASN1_OCTET_STRING *p) struct _cffi_align__ASN1_OCTET_STRING { char x; ASN1_OCTET_STRING y; }; static const struct _cffi_global_s _cffi_globals[] = { - { "ACCESS_DESCRIPTION_free", (void *)_cffi_f_ACCESS_DESCRIPTION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2533), (void *)_cffi_d_ACCESS_DESCRIPTION_free }, + { "ACCESS_DESCRIPTION_free", (void *)_cffi_f_ACCESS_DESCRIPTION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2533), (void *)_cffi_d_ACCESS_DESCRIPTION_free }, { "ACCESS_DESCRIPTION_new", (void *)_cffi_f_ACCESS_DESCRIPTION_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 4), (void *)_cffi_d_ACCESS_DESCRIPTION_new }, - { "AES_unwrap_key", (void *)_cffi_f_AES_unwrap_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 749), (void *)_cffi_d_AES_unwrap_key }, - { "AES_wrap_key", (void *)_cffi_f_AES_wrap_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 749), (void *)_cffi_d_AES_wrap_key }, - { "ASN1_BIT_STRING_free", (void *)_cffi_f_ASN1_BIT_STRING_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2548), (void *)_cffi_d_ASN1_BIT_STRING_free }, - { "ASN1_BIT_STRING_get_bit", (void *)_cffi_f_ASN1_BIT_STRING_get_bit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 781), (void *)_cffi_d_ASN1_BIT_STRING_get_bit }, - { "ASN1_BIT_STRING_new", (void *)_cffi_f_ASN1_BIT_STRING_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_BIT_STRING_new }, - { "ASN1_BIT_STRING_set_bit", (void *)_cffi_f_ASN1_BIT_STRING_set_bit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 785), (void *)_cffi_d_ASN1_BIT_STRING_set_bit }, - { "ASN1_ENUMERATED_free", (void *)_cffi_f_ASN1_ENUMERATED_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2536), (void *)_cffi_d_ASN1_ENUMERATED_free }, - { "ASN1_ENUMERATED_get", (void *)_cffi_f_ASN1_ENUMERATED_get, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2285), (void *)_cffi_d_ASN1_ENUMERATED_get }, + { "AES_unwrap_key", (void *)_cffi_f_AES_unwrap_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 749), (void *)_cffi_d_AES_unwrap_key }, + { "AES_wrap_key", (void *)_cffi_f_AES_wrap_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 749), (void *)_cffi_d_AES_wrap_key }, + { "ASN1_BIT_STRING_free", (void *)_cffi_f_ASN1_BIT_STRING_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2548), (void *)_cffi_d_ASN1_BIT_STRING_free }, + { "ASN1_BIT_STRING_get_bit", (void *)_cffi_f_ASN1_BIT_STRING_get_bit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 781), (void *)_cffi_d_ASN1_BIT_STRING_get_bit }, + { "ASN1_BIT_STRING_new", (void *)_cffi_f_ASN1_BIT_STRING_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_BIT_STRING_new }, + { "ASN1_BIT_STRING_set_bit", (void *)_cffi_f_ASN1_BIT_STRING_set_bit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 785), (void *)_cffi_d_ASN1_BIT_STRING_set_bit }, + { "ASN1_ENUMERATED_free", (void *)_cffi_f_ASN1_ENUMERATED_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2536), (void *)_cffi_d_ASN1_ENUMERATED_free }, + { "ASN1_ENUMERATED_get", (void *)_cffi_f_ASN1_ENUMERATED_get, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2285), (void *)_cffi_d_ASN1_ENUMERATED_get }, { "ASN1_ENUMERATED_new", (void *)_cffi_f_ASN1_ENUMERATED_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 6), (void *)_cffi_d_ASN1_ENUMERATED_new }, - { "ASN1_ENUMERATED_set", (void *)_cffi_f_ASN1_ENUMERATED_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 756), (void *)_cffi_d_ASN1_ENUMERATED_set }, - { "ASN1_GENERALIZEDTIME_free", (void *)_cffi_f_ASN1_GENERALIZEDTIME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2539), (void *)_cffi_d_ASN1_GENERALIZEDTIME_free }, + { "ASN1_ENUMERATED_set", (void *)_cffi_f_ASN1_ENUMERATED_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 756), (void *)_cffi_d_ASN1_ENUMERATED_set }, + { "ASN1_GENERALIZEDTIME_free", (void *)_cffi_f_ASN1_GENERALIZEDTIME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2539), (void *)_cffi_d_ASN1_GENERALIZEDTIME_free }, { "ASN1_GENERALIZEDTIME_set", (void *)_cffi_f_ASN1_GENERALIZEDTIME_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 8), (void *)_cffi_d_ASN1_GENERALIZEDTIME_set }, - { "ASN1_IA5STRING_new", (void *)_cffi_f_ASN1_IA5STRING_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_IA5STRING_new }, - { "ASN1_INTEGER_free", (void *)_cffi_f_ASN1_INTEGER_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2542), (void *)_cffi_d_ASN1_INTEGER_free }, - { "ASN1_INTEGER_set", (void *)_cffi_f_ASN1_INTEGER_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 760), (void *)_cffi_d_ASN1_INTEGER_set }, - { "ASN1_INTEGER_to_BN", (void *)_cffi_f_ASN1_INTEGER_to_BN, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 86), (void *)_cffi_d_ASN1_INTEGER_to_BN }, - { "ASN1_NULL_new", (void *)_cffi_f_ASN1_NULL_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 33), (void *)_cffi_d_ASN1_NULL_new }, - { "ASN1_OBJECT_free", (void *)_cffi_f_ASN1_OBJECT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2545), (void *)_cffi_d_ASN1_OBJECT_free }, - { "ASN1_OCTET_STRING_free", (void *)_cffi_f_ASN1_OCTET_STRING_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2548), (void *)_cffi_d_ASN1_OCTET_STRING_free }, - { "ASN1_OCTET_STRING_new", (void *)_cffi_f_ASN1_OCTET_STRING_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_OCTET_STRING_new }, - { "ASN1_OCTET_STRING_set", (void *)_cffi_f_ASN1_OCTET_STRING_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 790), (void *)_cffi_d_ASN1_OCTET_STRING_set }, - { "ASN1_STRING_data", (void *)_cffi_f_ASN1_STRING_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2416), (void *)_cffi_d_ASN1_STRING_data }, - { "ASN1_STRING_length", (void *)_cffi_f_ASN1_STRING_length, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 774), (void *)_cffi_d_ASN1_STRING_length }, - { "ASN1_STRING_set", (void *)_cffi_f_ASN1_STRING_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 795), (void *)_cffi_d_ASN1_STRING_set }, - { "ASN1_STRING_set_default_mask_asc", (void *)_cffi_f_ASN1_STRING_set_default_mask_asc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2151), (void *)_cffi_d_ASN1_STRING_set_default_mask_asc }, - { "ASN1_STRING_to_UTF8", (void *)_cffi_f_ASN1_STRING_to_UTF8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2241), (void *)_cffi_d_ASN1_STRING_to_UTF8 }, - { "ASN1_STRING_type", (void *)_cffi_f_ASN1_STRING_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 774), (void *)_cffi_d_ASN1_STRING_type }, - { "ASN1_TIME_free", (void *)_cffi_f_ASN1_TIME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2548), (void *)_cffi_d_ASN1_TIME_free }, - { "ASN1_TIME_new", (void *)_cffi_f_ASN1_TIME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_TIME_new }, - { "ASN1_TIME_set_string", (void *)_cffi_f_ASN1_TIME_set_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 777), (void *)_cffi_d_ASN1_TIME_set_string }, + { "ASN1_IA5STRING_new", (void *)_cffi_f_ASN1_IA5STRING_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_IA5STRING_new }, + { "ASN1_INTEGER_free", (void *)_cffi_f_ASN1_INTEGER_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2542), (void *)_cffi_d_ASN1_INTEGER_free }, + { "ASN1_INTEGER_set", (void *)_cffi_f_ASN1_INTEGER_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 760), (void *)_cffi_d_ASN1_INTEGER_set }, + { "ASN1_INTEGER_to_BN", (void *)_cffi_f_ASN1_INTEGER_to_BN, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 86), (void *)_cffi_d_ASN1_INTEGER_to_BN }, + { "ASN1_NULL_new", (void *)_cffi_f_ASN1_NULL_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 33), (void *)_cffi_d_ASN1_NULL_new }, + { "ASN1_OBJECT_free", (void *)_cffi_f_ASN1_OBJECT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2545), (void *)_cffi_d_ASN1_OBJECT_free }, + { "ASN1_OCTET_STRING_free", (void *)_cffi_f_ASN1_OCTET_STRING_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2548), (void *)_cffi_d_ASN1_OCTET_STRING_free }, + { "ASN1_OCTET_STRING_new", (void *)_cffi_f_ASN1_OCTET_STRING_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_OCTET_STRING_new }, + { "ASN1_OCTET_STRING_set", (void *)_cffi_f_ASN1_OCTET_STRING_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 790), (void *)_cffi_d_ASN1_OCTET_STRING_set }, + { "ASN1_STRING_data", (void *)_cffi_f_ASN1_STRING_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2416), (void *)_cffi_d_ASN1_STRING_data }, + { "ASN1_STRING_length", (void *)_cffi_f_ASN1_STRING_length, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 774), (void *)_cffi_d_ASN1_STRING_length }, + { "ASN1_STRING_set", (void *)_cffi_f_ASN1_STRING_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 795), (void *)_cffi_d_ASN1_STRING_set }, + { "ASN1_STRING_set_default_mask_asc", (void *)_cffi_f_ASN1_STRING_set_default_mask_asc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2151), (void *)_cffi_d_ASN1_STRING_set_default_mask_asc }, + { "ASN1_STRING_to_UTF8", (void *)_cffi_f_ASN1_STRING_to_UTF8, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2241), (void *)_cffi_d_ASN1_STRING_to_UTF8 }, + { "ASN1_STRING_type", (void *)_cffi_f_ASN1_STRING_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 774), (void *)_cffi_d_ASN1_STRING_type }, + { "ASN1_TIME_free", (void *)_cffi_f_ASN1_TIME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2548), (void *)_cffi_d_ASN1_TIME_free }, + { "ASN1_TIME_new", (void *)_cffi_f_ASN1_TIME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_TIME_new }, + { "ASN1_TIME_set_string", (void *)_cffi_f_ASN1_TIME_set_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 777), (void *)_cffi_d_ASN1_TIME_set_string }, { "ASN1_TIME_to_generalizedtime", (void *)_cffi_f_ASN1_TIME_to_generalizedtime, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 12), (void *)_cffi_d_ASN1_TIME_to_generalizedtime }, - { "ASN1_UTF8STRING_free", (void *)_cffi_f_ASN1_UTF8STRING_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2548), (void *)_cffi_d_ASN1_UTF8STRING_free }, - { "ASN1_UTF8STRING_new", (void *)_cffi_f_ASN1_UTF8STRING_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_UTF8STRING_new }, - { "AUTHORITY_KEYID_free", (void *)_cffi_f_AUTHORITY_KEYID_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2556), (void *)_cffi_d_AUTHORITY_KEYID_free }, - { "AUTHORITY_KEYID_new", (void *)_cffi_f_AUTHORITY_KEYID_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 82), (void *)_cffi_d_AUTHORITY_KEYID_new }, - { "BASIC_CONSTRAINTS_free", (void *)_cffi_f_BASIC_CONSTRAINTS_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2559), (void *)_cffi_d_BASIC_CONSTRAINTS_free }, - { "BASIC_CONSTRAINTS_new", (void *)_cffi_f_BASIC_CONSTRAINTS_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 84), (void *)_cffi_d_BASIC_CONSTRAINTS_new }, - { "BIO_clear_retry_flags", (void *)_cffi_f_BIO_clear_retry_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2569), (void *)_cffi_d_BIO_clear_retry_flags }, - { "BIO_ctrl_pending", (void *)_cffi_f_BIO_ctrl_pending, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2369), (void *)_cffi_d_BIO_ctrl_pending }, - { "BIO_free", (void *)_cffi_f_BIO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_free }, - { "BIO_free_all", (void *)_cffi_f_BIO_free_all, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2569), (void *)_cffi_d_BIO_free_all }, - { "BIO_get_mem_data", (void *)_cffi_f_BIO_get_mem_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2288), (void *)_cffi_d_BIO_get_mem_data }, - { "BIO_gets", (void *)_cffi_f_BIO_gets, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1010), (void *)_cffi_d_BIO_gets }, - { "BIO_new", (void *)_cffi_f_BIO_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 114), (void *)_cffi_d_BIO_new }, - { "BIO_new_dgram", (void *)_cffi_f_BIO_new_dgram, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 121), (void *)_cffi_d_BIO_new_dgram }, - { "BIO_new_file", (void *)_cffi_f_BIO_new_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 117), (void *)_cffi_d_BIO_new_file }, - { "BIO_new_mem_buf", (void *)_cffi_f_BIO_new_mem_buf, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 125), (void *)_cffi_d_BIO_new_mem_buf }, - { "BIO_read", (void *)_cffi_f_BIO_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1015), (void *)_cffi_d_BIO_read }, - { "BIO_reset", (void *)_cffi_f_BIO_reset, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_reset }, - { "BIO_s_datagram", (void *)_cffi_f_BIO_s_datagram, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 129), (void *)_cffi_d_BIO_s_datagram }, - { "BIO_s_mem", (void *)_cffi_f_BIO_s_mem, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 129), (void *)_cffi_d_BIO_s_mem }, - { "BIO_set_mem_eof_return", (void *)_cffi_f_BIO_set_mem_eof_return, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2292), (void *)_cffi_d_BIO_set_mem_eof_return }, - { "BIO_set_retry_read", (void *)_cffi_f_BIO_set_retry_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2569), (void *)_cffi_d_BIO_set_retry_read }, - { "BIO_should_io_special", (void *)_cffi_f_BIO_should_io_special, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_should_io_special }, - { "BIO_should_read", (void *)_cffi_f_BIO_should_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_should_read }, - { "BIO_should_retry", (void *)_cffi_f_BIO_should_retry, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_should_retry }, - { "BIO_should_write", (void *)_cffi_f_BIO_should_write, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_should_write }, - { "BIO_up_ref", (void *)_cffi_f_BIO_up_ref, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_up_ref }, - { "BIO_write", (void *)_cffi_f_BIO_write, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1020), (void *)_cffi_d_BIO_write }, - { "BN_CTX_end", (void *)_cffi_f_BN_CTX_end, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2572), (void *)_cffi_d_BN_CTX_end }, - { "BN_CTX_free", (void *)_cffi_f_BN_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2572), (void *)_cffi_d_BN_CTX_free }, - { "BN_CTX_get", (void *)_cffi_f_BN_CTX_get, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 99), (void *)_cffi_d_BN_CTX_get }, - { "BN_CTX_new", (void *)_cffi_f_BN_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 131), (void *)_cffi_d_BN_CTX_new }, - { "BN_CTX_start", (void *)_cffi_f_BN_CTX_start, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2572), (void *)_cffi_d_BN_CTX_start }, - { "BN_FLG_CONSTTIME", (void *)_cffi_const_BN_FLG_CONSTTIME, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "BN_MONT_CTX_free", (void *)_cffi_f_BN_MONT_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2575), (void *)_cffi_d_BN_MONT_CTX_free }, - { "BN_MONT_CTX_new", (void *)_cffi_f_BN_MONT_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 133), (void *)_cffi_d_BN_MONT_CTX_new }, - { "BN_MONT_CTX_set", (void *)_cffi_f_BN_MONT_CTX_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1025), (void *)_cffi_d_BN_MONT_CTX_set }, - { "BN_add", (void *)_cffi_f_BN_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 812), (void *)_cffi_d_BN_add }, - { "BN_bin2bn", (void *)_cffi_f_BN_bin2bn, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 102), (void *)_cffi_d_BN_bin2bn }, - { "BN_bn2bin", (void *)_cffi_f_BN_bn2bin, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 863), (void *)_cffi_d_BN_bn2bin }, - { "BN_bn2hex", (void *)_cffi_f_BN_bn2hex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 711), (void *)_cffi_d_BN_bn2hex }, - { "BN_clear_free", (void *)_cffi_f_BN_clear_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2562), (void *)_cffi_d_BN_clear_free }, - { "BN_cmp", (void *)_cffi_f_BN_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 853), (void *)_cffi_d_BN_cmp }, - { "BN_dup", (void *)_cffi_f_BN_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 96), (void *)_cffi_d_BN_dup }, - { "BN_free", (void *)_cffi_f_BN_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2562), (void *)_cffi_d_BN_free }, - { "BN_generate_prime_ex", (void *)_cffi_f_BN_generate_prime_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 842), (void *)_cffi_d_BN_generate_prime_ex }, - { "BN_hex2bn", (void *)_cffi_f_BN_hex2bn, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 804), (void *)_cffi_d_BN_hex2bn }, - { "BN_is_negative", (void *)_cffi_f_BN_is_negative, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 850), (void *)_cffi_d_BN_is_negative }, - { "BN_is_prime_ex", (void *)_cffi_f_BN_is_prime_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 857), (void *)_cffi_d_BN_is_prime_ex }, - { "BN_mod", (void *)_cffi_f_BN_mod, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 832), (void *)_cffi_d_BN_mod }, - { "BN_mod_add", (void *)_cffi_f_BN_mod_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 817), (void *)_cffi_d_BN_mod_add }, - { "BN_mod_exp", (void *)_cffi_f_BN_mod_exp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 817), (void *)_cffi_d_BN_mod_exp }, - { "BN_mod_exp_mont", (void *)_cffi_f_BN_mod_exp_mont, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 824), (void *)_cffi_d_BN_mod_exp_mont }, - { "BN_mod_exp_mont_consttime", (void *)_cffi_f_BN_mod_exp_mont_consttime, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 824), (void *)_cffi_d_BN_mod_exp_mont_consttime }, - { "BN_mod_inverse", (void *)_cffi_f_BN_mod_inverse, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 90), (void *)_cffi_d_BN_mod_inverse }, - { "BN_mod_mul", (void *)_cffi_f_BN_mod_mul, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 817), (void *)_cffi_d_BN_mod_mul }, - { "BN_mod_sub", (void *)_cffi_f_BN_mod_sub, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 817), (void *)_cffi_d_BN_mod_sub }, - { "BN_new", (void *)_cffi_f_BN_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 107), (void *)_cffi_d_BN_new }, - { "BN_nnmod", (void *)_cffi_f_BN_nnmod, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 832), (void *)_cffi_d_BN_nnmod }, - { "BN_num_bits", (void *)_cffi_f_BN_num_bits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 850), (void *)_cffi_d_BN_num_bits }, - { "BN_num_bytes", (void *)_cffi_f_BN_num_bytes, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 850), (void *)_cffi_d_BN_num_bytes }, - { "BN_prime_checks_for_size", (void *)_cffi_f_BN_prime_checks_for_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2191), (void *)_cffi_d_BN_prime_checks_for_size }, - { "BN_rand_range", (void *)_cffi_f_BN_rand_range, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 808), (void *)_cffi_d_BN_rand_range }, - { "BN_set_flags", (void *)_cffi_f_BN_set_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2565), (void *)_cffi_d_BN_set_flags }, - { "BN_set_word", (void *)_cffi_f_BN_set_word, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 838), (void *)_cffi_d_BN_set_word }, - { "BN_sub", (void *)_cffi_f_BN_sub, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 812), (void *)_cffi_d_BN_sub }, + { "ASN1_UTF8STRING_free", (void *)_cffi_f_ASN1_UTF8STRING_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2548), (void *)_cffi_d_ASN1_UTF8STRING_free }, + { "ASN1_UTF8STRING_new", (void *)_cffi_f_ASN1_UTF8STRING_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 65), (void *)_cffi_d_ASN1_UTF8STRING_new }, + { "AUTHORITY_KEYID_free", (void *)_cffi_f_AUTHORITY_KEYID_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2556), (void *)_cffi_d_AUTHORITY_KEYID_free }, + { "AUTHORITY_KEYID_new", (void *)_cffi_f_AUTHORITY_KEYID_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 82), (void *)_cffi_d_AUTHORITY_KEYID_new }, + { "BASIC_CONSTRAINTS_free", (void *)_cffi_f_BASIC_CONSTRAINTS_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2559), (void *)_cffi_d_BASIC_CONSTRAINTS_free }, + { "BASIC_CONSTRAINTS_new", (void *)_cffi_f_BASIC_CONSTRAINTS_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 84), (void *)_cffi_d_BASIC_CONSTRAINTS_new }, + { "BIO_clear_retry_flags", (void *)_cffi_f_BIO_clear_retry_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2569), (void *)_cffi_d_BIO_clear_retry_flags }, + { "BIO_ctrl_pending", (void *)_cffi_f_BIO_ctrl_pending, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2369), (void *)_cffi_d_BIO_ctrl_pending }, + { "BIO_free", (void *)_cffi_f_BIO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_free }, + { "BIO_free_all", (void *)_cffi_f_BIO_free_all, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2569), (void *)_cffi_d_BIO_free_all }, + { "BIO_get_mem_data", (void *)_cffi_f_BIO_get_mem_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2288), (void *)_cffi_d_BIO_get_mem_data }, + { "BIO_gets", (void *)_cffi_f_BIO_gets, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1010), (void *)_cffi_d_BIO_gets }, + { "BIO_new", (void *)_cffi_f_BIO_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 114), (void *)_cffi_d_BIO_new }, + { "BIO_new_dgram", (void *)_cffi_f_BIO_new_dgram, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 121), (void *)_cffi_d_BIO_new_dgram }, + { "BIO_new_file", (void *)_cffi_f_BIO_new_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 117), (void *)_cffi_d_BIO_new_file }, + { "BIO_new_mem_buf", (void *)_cffi_f_BIO_new_mem_buf, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 125), (void *)_cffi_d_BIO_new_mem_buf }, + { "BIO_read", (void *)_cffi_f_BIO_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1015), (void *)_cffi_d_BIO_read }, + { "BIO_reset", (void *)_cffi_f_BIO_reset, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_reset }, + { "BIO_s_datagram", (void *)_cffi_f_BIO_s_datagram, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 129), (void *)_cffi_d_BIO_s_datagram }, + { "BIO_s_mem", (void *)_cffi_f_BIO_s_mem, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 129), (void *)_cffi_d_BIO_s_mem }, + { "BIO_set_mem_eof_return", (void *)_cffi_f_BIO_set_mem_eof_return, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2292), (void *)_cffi_d_BIO_set_mem_eof_return }, + { "BIO_set_retry_read", (void *)_cffi_f_BIO_set_retry_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2569), (void *)_cffi_d_BIO_set_retry_read }, + { "BIO_should_io_special", (void *)_cffi_f_BIO_should_io_special, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_should_io_special }, + { "BIO_should_read", (void *)_cffi_f_BIO_should_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_should_read }, + { "BIO_should_retry", (void *)_cffi_f_BIO_should_retry, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_should_retry }, + { "BIO_should_write", (void *)_cffi_f_BIO_should_write, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_should_write }, + { "BIO_up_ref", (void *)_cffi_f_BIO_up_ref, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 867), (void *)_cffi_d_BIO_up_ref }, + { "BIO_write", (void *)_cffi_f_BIO_write, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1020), (void *)_cffi_d_BIO_write }, + { "BN_CTX_end", (void *)_cffi_f_BN_CTX_end, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2572), (void *)_cffi_d_BN_CTX_end }, + { "BN_CTX_free", (void *)_cffi_f_BN_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2572), (void *)_cffi_d_BN_CTX_free }, + { "BN_CTX_get", (void *)_cffi_f_BN_CTX_get, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 99), (void *)_cffi_d_BN_CTX_get }, + { "BN_CTX_new", (void *)_cffi_f_BN_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 131), (void *)_cffi_d_BN_CTX_new }, + { "BN_CTX_start", (void *)_cffi_f_BN_CTX_start, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2572), (void *)_cffi_d_BN_CTX_start }, + { "BN_FLG_CONSTTIME", (void *)_cffi_const_BN_FLG_CONSTTIME, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "BN_MONT_CTX_free", (void *)_cffi_f_BN_MONT_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2575), (void *)_cffi_d_BN_MONT_CTX_free }, + { "BN_MONT_CTX_new", (void *)_cffi_f_BN_MONT_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 133), (void *)_cffi_d_BN_MONT_CTX_new }, + { "BN_MONT_CTX_set", (void *)_cffi_f_BN_MONT_CTX_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1025), (void *)_cffi_d_BN_MONT_CTX_set }, + { "BN_add", (void *)_cffi_f_BN_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 812), (void *)_cffi_d_BN_add }, + { "BN_bin2bn", (void *)_cffi_f_BN_bin2bn, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 102), (void *)_cffi_d_BN_bin2bn }, + { "BN_bn2bin", (void *)_cffi_f_BN_bn2bin, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 863), (void *)_cffi_d_BN_bn2bin }, + { "BN_bn2hex", (void *)_cffi_f_BN_bn2hex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 711), (void *)_cffi_d_BN_bn2hex }, + { "BN_clear_free", (void *)_cffi_f_BN_clear_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2562), (void *)_cffi_d_BN_clear_free }, + { "BN_cmp", (void *)_cffi_f_BN_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 853), (void *)_cffi_d_BN_cmp }, + { "BN_dup", (void *)_cffi_f_BN_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 96), (void *)_cffi_d_BN_dup }, + { "BN_free", (void *)_cffi_f_BN_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2562), (void *)_cffi_d_BN_free }, + { "BN_generate_prime_ex", (void *)_cffi_f_BN_generate_prime_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 842), (void *)_cffi_d_BN_generate_prime_ex }, + { "BN_hex2bn", (void *)_cffi_f_BN_hex2bn, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 804), (void *)_cffi_d_BN_hex2bn }, + { "BN_is_negative", (void *)_cffi_f_BN_is_negative, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 850), (void *)_cffi_d_BN_is_negative }, + { "BN_is_prime_ex", (void *)_cffi_f_BN_is_prime_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 857), (void *)_cffi_d_BN_is_prime_ex }, + { "BN_mod", (void *)_cffi_f_BN_mod, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 832), (void *)_cffi_d_BN_mod }, + { "BN_mod_add", (void *)_cffi_f_BN_mod_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 817), (void *)_cffi_d_BN_mod_add }, + { "BN_mod_exp", (void *)_cffi_f_BN_mod_exp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 817), (void *)_cffi_d_BN_mod_exp }, + { "BN_mod_exp_mont", (void *)_cffi_f_BN_mod_exp_mont, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 824), (void *)_cffi_d_BN_mod_exp_mont }, + { "BN_mod_exp_mont_consttime", (void *)_cffi_f_BN_mod_exp_mont_consttime, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 824), (void *)_cffi_d_BN_mod_exp_mont_consttime }, + { "BN_mod_inverse", (void *)_cffi_f_BN_mod_inverse, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 90), (void *)_cffi_d_BN_mod_inverse }, + { "BN_mod_mul", (void *)_cffi_f_BN_mod_mul, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 817), (void *)_cffi_d_BN_mod_mul }, + { "BN_mod_sub", (void *)_cffi_f_BN_mod_sub, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 817), (void *)_cffi_d_BN_mod_sub }, + { "BN_new", (void *)_cffi_f_BN_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 107), (void *)_cffi_d_BN_new }, + { "BN_nnmod", (void *)_cffi_f_BN_nnmod, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 832), (void *)_cffi_d_BN_nnmod }, + { "BN_num_bits", (void *)_cffi_f_BN_num_bits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 850), (void *)_cffi_d_BN_num_bits }, + { "BN_num_bytes", (void *)_cffi_f_BN_num_bytes, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 850), (void *)_cffi_d_BN_num_bytes }, + { "BN_prime_checks_for_size", (void *)_cffi_f_BN_prime_checks_for_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2191), (void *)_cffi_d_BN_prime_checks_for_size }, + { "BN_rand_range", (void *)_cffi_f_BN_rand_range, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 808), (void *)_cffi_d_BN_rand_range }, + { "BN_set_flags", (void *)_cffi_f_BN_set_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2565), (void *)_cffi_d_BN_set_flags }, + { "BN_set_word", (void *)_cffi_f_BN_set_word, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 838), (void *)_cffi_d_BN_set_word }, + { "BN_sub", (void *)_cffi_f_BN_sub, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 812), (void *)_cffi_d_BN_sub }, { "BN_to_ASN1_INTEGER", (void *)_cffi_f_BN_to_ASN1_INTEGER, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 19), (void *)_cffi_d_BN_to_ASN1_INTEGER }, - { "BN_value_one", (void *)_cffi_f_BN_value_one, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 112), (void *)_cffi_d_BN_value_one }, - { "CERTIFICATEPOLICIES_free", (void *)_cffi_f_CERTIFICATEPOLICIES_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2604), (void *)_cffi_d_CERTIFICATEPOLICIES_free }, - { "CMAC_CTX_copy", (void *)_cffi_f_CMAC_CTX_copy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1030), (void *)_cffi_d_CMAC_CTX_copy }, - { "CMAC_CTX_free", (void *)_cffi_f_CMAC_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2578), (void *)_cffi_d_CMAC_CTX_free }, - { "CMAC_CTX_new", (void *)_cffi_f_CMAC_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 135), (void *)_cffi_d_CMAC_CTX_new }, - { "CMAC_Final", (void *)_cffi_f_CMAC_Final, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1034), (void *)_cffi_d_CMAC_Final }, - { "CMAC_Init", (void *)_cffi_f_CMAC_Init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1044), (void *)_cffi_d_CMAC_Init }, - { "CMAC_Update", (void *)_cffi_f_CMAC_Update, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1039), (void *)_cffi_d_CMAC_Update }, - { "CRL_DIST_POINTS_free", (void *)_cffi_f_CRL_DIST_POINTS_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2594), (void *)_cffi_d_CRL_DIST_POINTS_free }, + { "BN_value_one", (void *)_cffi_f_BN_value_one, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 112), (void *)_cffi_d_BN_value_one }, + { "CERTIFICATEPOLICIES_free", (void *)_cffi_f_CERTIFICATEPOLICIES_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2604), (void *)_cffi_d_CERTIFICATEPOLICIES_free }, + { "CMAC_CTX_copy", (void *)_cffi_f_CMAC_CTX_copy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1030), (void *)_cffi_d_CMAC_CTX_copy }, + { "CMAC_CTX_free", (void *)_cffi_f_CMAC_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2578), (void *)_cffi_d_CMAC_CTX_free }, + { "CMAC_CTX_new", (void *)_cffi_f_CMAC_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 135), (void *)_cffi_d_CMAC_CTX_new }, + { "CMAC_Final", (void *)_cffi_f_CMAC_Final, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1034), (void *)_cffi_d_CMAC_Final }, + { "CMAC_Init", (void *)_cffi_f_CMAC_Init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1044), (void *)_cffi_d_CMAC_Init }, + { "CMAC_Update", (void *)_cffi_f_CMAC_Update, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1039), (void *)_cffi_d_CMAC_Update }, + { "CRL_DIST_POINTS_free", (void *)_cffi_f_CRL_DIST_POINTS_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2594), (void *)_cffi_d_CRL_DIST_POINTS_free }, { "CRYPTOGRAPHY_IS_LIBRESSL", (void *)_cffi_const_CRYPTOGRAPHY_IS_LIBRESSL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE", (void *)_cffi_const_CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER", (void *)_cffi_const_CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "CRYPTOGRAPHY_OPENSSL_LESS_THAN_111", (void *)_cffi_const_CRYPTOGRAPHY_OPENSSL_LESS_THAN_111, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B", (void *)_cffi_const_CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "CRYPTOGRAPHY_PACKAGE_VERSION", (void *)_cffi_const_CRYPTOGRAPHY_PACKAGE_VERSION, _CFFI_OP(_CFFI_OP_CONSTANT, 46), (void *)0 }, - { "CT_LOG_ENTRY_TYPE_NOT_SET", (void *)_cffi_const_CT_LOG_ENTRY_TYPE_NOT_SET, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "CT_LOG_ENTRY_TYPE_PRECERT", (void *)_cffi_const_CT_LOG_ENTRY_TYPE_PRECERT, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "CT_LOG_ENTRY_TYPE_X509", (void *)_cffi_const_CT_LOG_ENTRY_TYPE_X509, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "Cryptography_CRYPTO_set_mem_functions", (void *)_cffi_f_Cryptography_CRYPTO_set_mem_functions, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2268), (void *)_cffi_d_Cryptography_CRYPTO_set_mem_functions }, - { "Cryptography_DH_check", (void *)_cffi_f_Cryptography_DH_check, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1167), (void *)_cffi_d_Cryptography_DH_check }, - { "Cryptography_DTLSv1_get_timeout", (void *)_cffi_f_Cryptography_DTLSv1_get_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2311), (void *)_cffi_d_Cryptography_DTLSv1_get_timeout }, - { "Cryptography_EVP_MD_CTX_free", (void *)_cffi_f_Cryptography_EVP_MD_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2679), (void *)_cffi_d_Cryptography_EVP_MD_CTX_free }, - { "Cryptography_EVP_MD_CTX_new", (void *)_cffi_f_Cryptography_EVP_MD_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 269), (void *)_cffi_d_Cryptography_EVP_MD_CTX_new }, - { "Cryptography_EVP_PKEY_id", (void *)_cffi_f_Cryptography_EVP_PKEY_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_Cryptography_EVP_PKEY_id }, - { "Cryptography_HAS_102_VERIFICATION", (void *)_cffi_const_Cryptography_HAS_102_VERIFICATION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_110_VERIFICATION_PARAMS", (void *)_cffi_const_Cryptography_HAS_110_VERIFICATION_PARAMS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE", (void *)_cffi_const_CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER", (void *)_cffi_const_CRYPTOGRAPHY_OPENSSL_110F_OR_GREATER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "CRYPTOGRAPHY_OPENSSL_LESS_THAN_111", (void *)_cffi_const_CRYPTOGRAPHY_OPENSSL_LESS_THAN_111, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B", (void *)_cffi_const_CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "CRYPTOGRAPHY_PACKAGE_VERSION", (void *)_cffi_const_CRYPTOGRAPHY_PACKAGE_VERSION, _CFFI_OP(_CFFI_OP_CONSTANT, 46), (void *)0 }, + { "CT_LOG_ENTRY_TYPE_NOT_SET", (void *)_cffi_const_CT_LOG_ENTRY_TYPE_NOT_SET, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, + { "CT_LOG_ENTRY_TYPE_PRECERT", (void *)_cffi_const_CT_LOG_ENTRY_TYPE_PRECERT, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, + { "CT_LOG_ENTRY_TYPE_X509", (void *)_cffi_const_CT_LOG_ENTRY_TYPE_X509, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, + { "Cryptography_CRYPTO_set_mem_functions", (void *)_cffi_f_Cryptography_CRYPTO_set_mem_functions, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2268), (void *)_cffi_d_Cryptography_CRYPTO_set_mem_functions }, + { "Cryptography_DH_check", (void *)_cffi_f_Cryptography_DH_check, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1167), (void *)_cffi_d_Cryptography_DH_check }, + { "Cryptography_DTLSv1_get_timeout", (void *)_cffi_f_Cryptography_DTLSv1_get_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2311), (void *)_cffi_d_Cryptography_DTLSv1_get_timeout }, + { "Cryptography_EVP_MD_CTX_free", (void *)_cffi_f_Cryptography_EVP_MD_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2679), (void *)_cffi_d_Cryptography_EVP_MD_CTX_free }, + { "Cryptography_EVP_MD_CTX_new", (void *)_cffi_f_Cryptography_EVP_MD_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 269), (void *)_cffi_d_Cryptography_EVP_MD_CTX_new }, + { "Cryptography_EVP_PKEY_id", (void *)_cffi_f_Cryptography_EVP_PKEY_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_Cryptography_EVP_PKEY_id }, + { "Cryptography_HAS_102_VERIFICATION", (void *)_cffi_const_Cryptography_HAS_102_VERIFICATION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_110_VERIFICATION_PARAMS", (void *)_cffi_const_Cryptography_HAS_110_VERIFICATION_PARAMS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_ALPN", (void *)_cffi_const_Cryptography_HAS_ALPN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_CUSTOM_EXT", (void *)_cffi_const_Cryptography_HAS_CUSTOM_EXT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_DTLS", (void *)_cffi_const_Cryptography_HAS_DTLS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_CUSTOM_EXT", (void *)_cffi_const_Cryptography_HAS_CUSTOM_EXT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_DTLS", (void *)_cffi_const_Cryptography_HAS_DTLS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_EC2M", (void *)_cffi_const_Cryptography_HAS_EC2M, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_ED25519", (void *)_cffi_const_Cryptography_HAS_ED25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_ED448", (void *)_cffi_const_Cryptography_HAS_ED448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_ENGINE", (void *)_cffi_const_Cryptography_HAS_ENGINE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_EVP_DIGESTFINAL_XOF", (void *)_cffi_const_Cryptography_HAS_EVP_DIGESTFINAL_XOF, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_EVP_PKEY_DHX", (void *)_cffi_const_Cryptography_HAS_EVP_PKEY_DHX, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint", (void *)_cffi_const_Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_FIPS", (void *)_cffi_const_Cryptography_HAS_FIPS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_GET_PROTO_VERSION", (void *)_cffi_const_Cryptography_HAS_GET_PROTO_VERSION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_KEYLOG", (void *)_cffi_const_Cryptography_HAS_KEYLOG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_MEM_FUNCTIONS", (void *)_cffi_const_Cryptography_HAS_MEM_FUNCTIONS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_ED25519", (void *)_cffi_const_Cryptography_HAS_ED25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_ED448", (void *)_cffi_const_Cryptography_HAS_ED448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_ENGINE", (void *)_cffi_const_Cryptography_HAS_ENGINE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_EVP_DIGESTFINAL_XOF", (void *)_cffi_const_Cryptography_HAS_EVP_DIGESTFINAL_XOF, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_EVP_PKEY_DHX", (void *)_cffi_const_Cryptography_HAS_EVP_PKEY_DHX, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint", (void *)_cffi_const_Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_FIPS", (void *)_cffi_const_Cryptography_HAS_FIPS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_GET_PROTO_VERSION", (void *)_cffi_const_Cryptography_HAS_GET_PROTO_VERSION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_KEYLOG", (void *)_cffi_const_Cryptography_HAS_KEYLOG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_MEM_FUNCTIONS", (void *)_cffi_const_Cryptography_HAS_MEM_FUNCTIONS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_NEXTPROTONEG", (void *)_cffi_const_Cryptography_HAS_NEXTPROTONEG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY", (void *)_cffi_const_Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_OPENSSL_CLEANUP", (void *)_cffi_const_Cryptography_HAS_OPENSSL_CLEANUP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY", (void *)_cffi_const_Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_OPENSSL_CLEANUP", (void *)_cffi_const_Cryptography_HAS_OPENSSL_CLEANUP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_OP_NO_COMPRESSION", (void *)_cffi_const_Cryptography_HAS_OP_NO_COMPRESSION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_POLY1305", (void *)_cffi_const_Cryptography_HAS_POLY1305, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_PSK", (void *)_cffi_const_Cryptography_HAS_PSK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_RAW_KEY", (void *)_cffi_const_Cryptography_HAS_RAW_KEY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_POLY1305", (void *)_cffi_const_Cryptography_HAS_POLY1305, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_PSK", (void *)_cffi_const_Cryptography_HAS_PSK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_RAW_KEY", (void *)_cffi_const_Cryptography_HAS_RAW_KEY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_RELEASE_BUFFERS", (void *)_cffi_const_Cryptography_HAS_RELEASE_BUFFERS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_RSA_OAEP_LABEL", (void *)_cffi_const_Cryptography_HAS_RSA_OAEP_LABEL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_RSA_OAEP_LABEL", (void *)_cffi_const_Cryptography_HAS_RSA_OAEP_LABEL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_RSA_OAEP_MD", (void *)_cffi_const_Cryptography_HAS_RSA_OAEP_MD, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_SCRYPT", (void *)_cffi_const_Cryptography_HAS_SCRYPT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_SCT", (void *)_cffi_const_Cryptography_HAS_SCT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_SCT", (void *)_cffi_const_Cryptography_HAS_SCT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_SECURE_RENEGOTIATION", (void *)_cffi_const_Cryptography_HAS_SECURE_RENEGOTIATION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_SET_CERT_CB", (void *)_cffi_const_Cryptography_HAS_SET_CERT_CB, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_SIGALGS", (void *)_cffi_const_Cryptography_HAS_SIGALGS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_SRTP", (void *)_cffi_const_Cryptography_HAS_SRTP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_SIGALGS", (void *)_cffi_const_Cryptography_HAS_SIGALGS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_SRTP", (void *)_cffi_const_Cryptography_HAS_SRTP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_SSL3_METHOD", (void *)_cffi_const_Cryptography_HAS_SSL3_METHOD, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_SSL_CTX_CLEAR_OPTIONS", (void *)_cffi_const_Cryptography_HAS_SSL_CTX_CLEAR_OPTIONS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING", (void *)_cffi_const_Cryptography_HAS_SSL_OP_MSIE_SSLV2_RSA_PADDING, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -53853,238 +53853,238 @@ static const struct _cffi_global_s _cffi_globals[] = { { "Cryptography_HAS_TLS_ST", (void *)_cffi_const_Cryptography_HAS_TLS_ST, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_TLSv1_1", (void *)_cffi_const_Cryptography_HAS_TLSv1_1, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "Cryptography_HAS_TLSv1_2", (void *)_cffi_const_Cryptography_HAS_TLSv1_2, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_TLSv1_3", (void *)_cffi_const_Cryptography_HAS_TLSv1_3, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_VERIFIED_CHAIN", (void *)_cffi_const_Cryptography_HAS_VERIFIED_CHAIN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_HAS_X509_STORE_CTX_GET_ISSUER", (void *)_cffi_const_Cryptography_HAS_X509_STORE_CTX_GET_ISSUER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "Cryptography_X509_REVOKED_dup", (void *)_cffi_f_Cryptography_X509_REVOKED_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 685), (void *)_cffi_d_Cryptography_X509_REVOKED_dup }, - { "Cryptography_add_osrandom_engine", (void *)_cffi_f_Cryptography_add_osrandom_engine, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_Cryptography_add_osrandom_engine }, - { "Cryptography_d2i_DHxparams_bio", (void *)_cffi_f_Cryptography_d2i_DHxparams_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 185), (void *)_cffi_d_Cryptography_d2i_DHxparams_bio }, - { "Cryptography_free_wrapper", (void *)_cffi_f_Cryptography_free_wrapper, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2988), (void *)_cffi_d_Cryptography_free_wrapper }, - { "Cryptography_i2d_DHxparams_bio", (void *)_cffi_f_Cryptography_i2d_DHxparams_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 874), (void *)_cffi_d_Cryptography_i2d_DHxparams_bio }, - { "Cryptography_malloc_wrapper", (void *)_cffi_f_Cryptography_malloc_wrapper, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2511), (void *)_cffi_d_Cryptography_malloc_wrapper }, - { "Cryptography_osrandom_engine_id", (void *)_cffi_const_Cryptography_osrandom_engine_id, _CFFI_OP(_CFFI_OP_CONSTANT, 46), (void *)0 }, - { "Cryptography_osrandom_engine_name", (void *)_cffi_const_Cryptography_osrandom_engine_name, _CFFI_OP(_CFFI_OP_CONSTANT, 46), (void *)0 }, - { "Cryptography_pem_password_cb", (void *)_cffi_f_Cryptography_pem_password_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2160), (void *)_cffi_d_Cryptography_pem_password_cb }, - { "Cryptography_realloc_wrapper", (void *)_cffi_f_Cryptography_realloc_wrapper, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2516), (void *)_cffi_d_Cryptography_realloc_wrapper }, - { "DH_NOT_SUITABLE_GENERATOR", (void *)_cffi_const_DH_NOT_SUITABLE_GENERATOR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "DH_compute_key", (void *)_cffi_f_DH_compute_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2253), (void *)_cffi_d_DH_compute_key }, - { "DH_free", (void *)_cffi_f_DH_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2626), (void *)_cffi_d_DH_free }, - { "DH_generate_key", (void *)_cffi_f_DH_generate_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1144), (void *)_cffi_d_DH_generate_key }, - { "DH_generate_parameters_ex", (void *)_cffi_f_DH_generate_parameters_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1158), (void *)_cffi_d_DH_generate_parameters_ex }, - { "DH_get0_key", (void *)_cffi_f_DH_get0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2629), (void *)_cffi_d_DH_get0_key }, - { "DH_get0_pqg", (void *)_cffi_f_DH_get0_pqg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2634), (void *)_cffi_d_DH_get0_pqg }, - { "DH_new", (void *)_cffi_f_DH_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 201), (void *)_cffi_d_DH_new }, - { "DH_set0_key", (void *)_cffi_f_DH_set0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1147), (void *)_cffi_d_DH_set0_key }, - { "DH_set0_pqg", (void *)_cffi_f_DH_set0_pqg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1152), (void *)_cffi_d_DH_set0_pqg }, - { "DH_size", (void *)_cffi_f_DH_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1164), (void *)_cffi_d_DH_size }, - { "DHparams_dup", (void *)_cffi_f_DHparams_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 195), (void *)_cffi_d_DHparams_dup }, - { "DIST_POINT_NAME_free", (void *)_cffi_f_DIST_POINT_NAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2643), (void *)_cffi_d_DIST_POINT_NAME_free }, - { "DIST_POINT_NAME_new", (void *)_cffi_f_DIST_POINT_NAME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 209), (void *)_cffi_d_DIST_POINT_NAME_new }, - { "DIST_POINT_free", (void *)_cffi_f_DIST_POINT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2640), (void *)_cffi_d_DIST_POINT_free }, - { "DIST_POINT_new", (void *)_cffi_f_DIST_POINT_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 207), (void *)_cffi_d_DIST_POINT_new }, - { "DSA_free", (void *)_cffi_f_DSA_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2646), (void *)_cffi_d_DSA_free }, - { "DSA_generate_key", (void *)_cffi_f_DSA_generate_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1171), (void *)_cffi_d_DSA_generate_key }, - { "DSA_generate_parameters_ex", (void *)_cffi_f_DSA_generate_parameters_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1185), (void *)_cffi_d_DSA_generate_parameters_ex }, - { "DSA_get0_key", (void *)_cffi_f_DSA_get0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2649), (void *)_cffi_d_DSA_get0_key }, - { "DSA_get0_pqg", (void *)_cffi_f_DSA_get0_pqg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2654), (void *)_cffi_d_DSA_get0_pqg }, - { "DSA_new", (void *)_cffi_f_DSA_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 217), (void *)_cffi_d_DSA_new }, - { "DSA_set0_key", (void *)_cffi_f_DSA_set0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1174), (void *)_cffi_d_DSA_set0_key }, - { "DSA_set0_pqg", (void *)_cffi_f_DSA_set0_pqg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1179), (void *)_cffi_d_DSA_set0_pqg }, - { "DSA_sign", (void *)_cffi_f_DSA_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2202), (void *)_cffi_d_DSA_sign }, - { "DSA_size", (void *)_cffi_f_DSA_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1194), (void *)_cffi_d_DSA_size }, - { "DSA_verify", (void *)_cffi_f_DSA_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2218), (void *)_cffi_d_DSA_verify }, - { "DSAparams_dup", (void *)_cffi_f_DSAparams_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 211), (void *)_cffi_d_DSAparams_dup }, - { "DTLS_client_method", (void *)_cffi_f_DTLS_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLS_client_method }, - { "DTLS_get_link_min_mtu", (void *)_cffi_f_DTLS_get_link_min_mtu, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_DTLS_get_link_min_mtu }, - { "DTLS_method", (void *)_cffi_f_DTLS_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLS_method }, - { "DTLS_server_method", (void *)_cffi_f_DTLS_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLS_server_method }, - { "DTLS_set_link_mtu", (void *)_cffi_f_DTLS_set_link_mtu, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2307), (void *)_cffi_d_DTLS_set_link_mtu }, - { "DTLSv1_client_method", (void *)_cffi_f_DTLSv1_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLSv1_client_method }, - { "DTLSv1_handle_timeout", (void *)_cffi_f_DTLSv1_handle_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_DTLSv1_handle_timeout }, - { "DTLSv1_method", (void *)_cffi_f_DTLSv1_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLSv1_method }, - { "DTLSv1_server_method", (void *)_cffi_f_DTLSv1_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLSv1_server_method }, - { "ECDH_compute_key", (void *)_cffi_f_ECDH_compute_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2273), (void *)_cffi_d_ECDH_compute_key }, - { "ECDSA_sign", (void *)_cffi_f_ECDSA_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2210), (void *)_cffi_d_ECDSA_sign }, - { "ECDSA_size", (void *)_cffi_f_ECDSA_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1294), (void *)_cffi_d_ECDSA_size }, - { "ECDSA_verify", (void *)_cffi_f_ECDSA_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2226), (void *)_cffi_d_ECDSA_verify }, - { "EC_GROUP_free", (void *)_cffi_f_EC_GROUP_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2660), (void *)_cffi_d_EC_GROUP_free }, - { "EC_GROUP_get0_generator", (void *)_cffi_f_EC_GROUP_get0_generator, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 247), (void *)_cffi_d_EC_GROUP_get0_generator }, - { "EC_GROUP_get_asn1_flag", (void *)_cffi_f_EC_GROUP_get_asn1_flag, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1197), (void *)_cffi_d_EC_GROUP_get_asn1_flag }, - { "EC_GROUP_get_curve_name", (void *)_cffi_f_EC_GROUP_get_curve_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1197), (void *)_cffi_d_EC_GROUP_get_curve_name }, - { "EC_GROUP_get_degree", (void *)_cffi_f_EC_GROUP_get_degree, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1197), (void *)_cffi_d_EC_GROUP_get_degree }, - { "EC_GROUP_get_order", (void *)_cffi_f_EC_GROUP_get_order, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1200), (void *)_cffi_d_EC_GROUP_get_order }, - { "EC_GROUP_method_of", (void *)_cffi_f_EC_GROUP_method_of, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 237), (void *)_cffi_d_EC_GROUP_method_of }, - { "EC_GROUP_new_by_curve_name", (void *)_cffi_f_EC_GROUP_new_by_curve_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 219), (void *)_cffi_d_EC_GROUP_new_by_curve_name }, - { "EC_KEY_free", (void *)_cffi_f_EC_KEY_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2663), (void *)_cffi_d_EC_KEY_free }, - { "EC_KEY_generate_key", (void *)_cffi_f_EC_KEY_generate_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1274), (void *)_cffi_d_EC_KEY_generate_key }, - { "EC_KEY_get0_group", (void *)_cffi_f_EC_KEY_get0_group, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 222), (void *)_cffi_d_EC_KEY_get0_group }, - { "EC_KEY_get0_private_key", (void *)_cffi_f_EC_KEY_get0_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 109), (void *)_cffi_d_EC_KEY_get0_private_key }, - { "EC_KEY_get0_public_key", (void *)_cffi_f_EC_KEY_get0_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 250), (void *)_cffi_d_EC_KEY_get0_public_key }, - { "EC_KEY_new", (void *)_cffi_f_EC_KEY_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 235), (void *)_cffi_d_EC_KEY_new }, - { "EC_KEY_new_by_curve_name", (void *)_cffi_f_EC_KEY_new_by_curve_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 232), (void *)_cffi_d_EC_KEY_new_by_curve_name }, - { "EC_KEY_set_asn1_flag", (void *)_cffi_f_EC_KEY_set_asn1_flag, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2666), (void *)_cffi_d_EC_KEY_set_asn1_flag }, - { "EC_KEY_set_group", (void *)_cffi_f_EC_KEY_set_group, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1286), (void *)_cffi_d_EC_KEY_set_group }, - { "EC_KEY_set_private_key", (void *)_cffi_f_EC_KEY_set_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1282), (void *)_cffi_d_EC_KEY_set_private_key }, - { "EC_KEY_set_public_key", (void *)_cffi_f_EC_KEY_set_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1290), (void *)_cffi_d_EC_KEY_set_public_key }, - { "EC_KEY_set_public_key_affine_coordinates", (void *)_cffi_f_EC_KEY_set_public_key_affine_coordinates, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1277), (void *)_cffi_d_EC_KEY_set_public_key_affine_coordinates }, - { "EC_METHOD_get_field_type", (void *)_cffi_f_EC_METHOD_get_field_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1297), (void *)_cffi_d_EC_METHOD_get_field_type }, - { "EC_POINT_add", (void *)_cffi_f_EC_POINT_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1238), (void *)_cffi_d_EC_POINT_add }, - { "EC_POINT_clear_free", (void *)_cffi_f_EC_POINT_clear_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2670), (void *)_cffi_d_EC_POINT_clear_free }, - { "EC_POINT_cmp", (void *)_cffi_f_EC_POINT_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1268), (void *)_cffi_d_EC_POINT_cmp }, - { "EC_POINT_dbl", (void *)_cffi_f_EC_POINT_dbl, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1232), (void *)_cffi_d_EC_POINT_dbl }, - { "EC_POINT_dup", (void *)_cffi_f_EC_POINT_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 243), (void *)_cffi_d_EC_POINT_dup }, - { "EC_POINT_free", (void *)_cffi_f_EC_POINT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2670), (void *)_cffi_d_EC_POINT_free }, - { "EC_POINT_get_affine_coordinates_GF2m", (void *)_cffi_f_EC_POINT_get_affine_coordinates_GF2m, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1256), (void *)_cffi_d_EC_POINT_get_affine_coordinates_GF2m }, - { "EC_POINT_get_affine_coordinates_GFp", (void *)_cffi_f_EC_POINT_get_affine_coordinates_GFp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1256), (void *)_cffi_d_EC_POINT_get_affine_coordinates_GFp }, - { "EC_POINT_invert", (void *)_cffi_f_EC_POINT_invert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1227), (void *)_cffi_d_EC_POINT_invert }, - { "EC_POINT_is_at_infinity", (void *)_cffi_f_EC_POINT_is_at_infinity, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1252), (void *)_cffi_d_EC_POINT_is_at_infinity }, - { "EC_POINT_is_on_curve", (void *)_cffi_f_EC_POINT_is_on_curve, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1263), (void *)_cffi_d_EC_POINT_is_on_curve }, - { "EC_POINT_mul", (void *)_cffi_f_EC_POINT_mul, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1212), (void *)_cffi_d_EC_POINT_mul }, - { "EC_POINT_new", (void *)_cffi_f_EC_POINT_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 240), (void *)_cffi_d_EC_POINT_new }, - { "EC_POINT_oct2point", (void *)_cffi_f_EC_POINT_oct2point, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1245), (void *)_cffi_d_EC_POINT_oct2point }, - { "EC_POINT_point2oct", (void *)_cffi_f_EC_POINT_point2oct, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2372), (void *)_cffi_d_EC_POINT_point2oct }, - { "EC_POINT_set_affine_coordinates_GF2m", (void *)_cffi_f_EC_POINT_set_affine_coordinates_GF2m, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1205), (void *)_cffi_d_EC_POINT_set_affine_coordinates_GF2m }, - { "EC_POINT_set_affine_coordinates_GFp", (void *)_cffi_f_EC_POINT_set_affine_coordinates_GFp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1205), (void *)_cffi_d_EC_POINT_set_affine_coordinates_GFp }, - { "EC_POINT_set_compressed_coordinates_GF2m", (void *)_cffi_f_EC_POINT_set_compressed_coordinates_GF2m, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1220), (void *)_cffi_d_EC_POINT_set_compressed_coordinates_GF2m }, - { "EC_POINT_set_compressed_coordinates_GFp", (void *)_cffi_f_EC_POINT_set_compressed_coordinates_GFp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1220), (void *)_cffi_d_EC_POINT_set_compressed_coordinates_GFp }, - { "EC_curve_nid2nist", (void *)_cffi_f_EC_curve_nid2nist, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_EC_curve_nid2nist }, - { "EC_get_builtin_curves", (void *)_cffi_f_EC_get_builtin_curves, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2380), (void *)_cffi_d_EC_get_builtin_curves }, - { "ENGINE_by_id", (void *)_cffi_f_ENGINE_by_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 253), (void *)_cffi_d_ENGINE_by_id }, - { "ENGINE_ctrl_cmd", (void *)_cffi_f_ENGINE_ctrl_cmd, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1309), (void *)_cffi_d_ENGINE_ctrl_cmd }, - { "ENGINE_ctrl_cmd_string", (void *)_cffi_f_ENGINE_ctrl_cmd_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1303), (void *)_cffi_d_ENGINE_ctrl_cmd_string }, - { "ENGINE_finish", (void *)_cffi_f_ENGINE_finish, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1300), (void *)_cffi_d_ENGINE_finish }, - { "ENGINE_free", (void *)_cffi_f_ENGINE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1300), (void *)_cffi_d_ENGINE_free }, - { "ENGINE_get_default_RAND", (void *)_cffi_f_ENGINE_get_default_RAND, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 256), (void *)_cffi_d_ENGINE_get_default_RAND }, - { "ENGINE_get_name", (void *)_cffi_f_ENGINE_get_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 722), (void *)_cffi_d_ENGINE_get_name }, - { "ENGINE_init", (void *)_cffi_f_ENGINE_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1300), (void *)_cffi_d_ENGINE_init }, - { "ENGINE_load_builtin_engines", (void *)_cffi_f_ENGINE_load_builtin_engines, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_ENGINE_load_builtin_engines }, - { "ENGINE_load_private_key", (void *)_cffi_f_ENGINE_load_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 281), (void *)_cffi_d_ENGINE_load_private_key }, - { "ENGINE_load_public_key", (void *)_cffi_f_ENGINE_load_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 281), (void *)_cffi_d_ENGINE_load_public_key }, - { "ENGINE_set_default_RAND", (void *)_cffi_f_ENGINE_set_default_RAND, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1300), (void *)_cffi_d_ENGINE_set_default_RAND }, - { "ENGINE_unregister_RAND", (void *)_cffi_f_ENGINE_unregister_RAND, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2673), (void *)_cffi_d_ENGINE_unregister_RAND }, - { "ERR_GET_FUNC", (void *)_cffi_f_ERR_GET_FUNC, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2265), (void *)_cffi_d_ERR_GET_FUNC }, - { "ERR_GET_LIB", (void *)_cffi_f_ERR_GET_LIB, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2265), (void *)_cffi_d_ERR_GET_LIB }, - { "ERR_GET_REASON", (void *)_cffi_f_ERR_GET_REASON, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2265), (void *)_cffi_d_ERR_GET_REASON }, + { "Cryptography_HAS_TLSv1_3", (void *)_cffi_const_Cryptography_HAS_TLSv1_3, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_VERIFIED_CHAIN", (void *)_cffi_const_Cryptography_HAS_VERIFIED_CHAIN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_HAS_X509_STORE_CTX_GET_ISSUER", (void *)_cffi_const_Cryptography_HAS_X509_STORE_CTX_GET_ISSUER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "Cryptography_X509_REVOKED_dup", (void *)_cffi_f_Cryptography_X509_REVOKED_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 685), (void *)_cffi_d_Cryptography_X509_REVOKED_dup }, + { "Cryptography_add_osrandom_engine", (void *)_cffi_f_Cryptography_add_osrandom_engine, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_Cryptography_add_osrandom_engine }, + { "Cryptography_d2i_DHxparams_bio", (void *)_cffi_f_Cryptography_d2i_DHxparams_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 185), (void *)_cffi_d_Cryptography_d2i_DHxparams_bio }, + { "Cryptography_free_wrapper", (void *)_cffi_f_Cryptography_free_wrapper, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2988), (void *)_cffi_d_Cryptography_free_wrapper }, + { "Cryptography_i2d_DHxparams_bio", (void *)_cffi_f_Cryptography_i2d_DHxparams_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 874), (void *)_cffi_d_Cryptography_i2d_DHxparams_bio }, + { "Cryptography_malloc_wrapper", (void *)_cffi_f_Cryptography_malloc_wrapper, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2511), (void *)_cffi_d_Cryptography_malloc_wrapper }, + { "Cryptography_osrandom_engine_id", (void *)_cffi_const_Cryptography_osrandom_engine_id, _CFFI_OP(_CFFI_OP_CONSTANT, 46), (void *)0 }, + { "Cryptography_osrandom_engine_name", (void *)_cffi_const_Cryptography_osrandom_engine_name, _CFFI_OP(_CFFI_OP_CONSTANT, 46), (void *)0 }, + { "Cryptography_pem_password_cb", (void *)_cffi_f_Cryptography_pem_password_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2160), (void *)_cffi_d_Cryptography_pem_password_cb }, + { "Cryptography_realloc_wrapper", (void *)_cffi_f_Cryptography_realloc_wrapper, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2516), (void *)_cffi_d_Cryptography_realloc_wrapper }, + { "DH_NOT_SUITABLE_GENERATOR", (void *)_cffi_const_DH_NOT_SUITABLE_GENERATOR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "DH_compute_key", (void *)_cffi_f_DH_compute_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2253), (void *)_cffi_d_DH_compute_key }, + { "DH_free", (void *)_cffi_f_DH_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2626), (void *)_cffi_d_DH_free }, + { "DH_generate_key", (void *)_cffi_f_DH_generate_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1144), (void *)_cffi_d_DH_generate_key }, + { "DH_generate_parameters_ex", (void *)_cffi_f_DH_generate_parameters_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1158), (void *)_cffi_d_DH_generate_parameters_ex }, + { "DH_get0_key", (void *)_cffi_f_DH_get0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2629), (void *)_cffi_d_DH_get0_key }, + { "DH_get0_pqg", (void *)_cffi_f_DH_get0_pqg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2634), (void *)_cffi_d_DH_get0_pqg }, + { "DH_new", (void *)_cffi_f_DH_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 201), (void *)_cffi_d_DH_new }, + { "DH_set0_key", (void *)_cffi_f_DH_set0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1147), (void *)_cffi_d_DH_set0_key }, + { "DH_set0_pqg", (void *)_cffi_f_DH_set0_pqg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1152), (void *)_cffi_d_DH_set0_pqg }, + { "DH_size", (void *)_cffi_f_DH_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1164), (void *)_cffi_d_DH_size }, + { "DHparams_dup", (void *)_cffi_f_DHparams_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 195), (void *)_cffi_d_DHparams_dup }, + { "DIST_POINT_NAME_free", (void *)_cffi_f_DIST_POINT_NAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2643), (void *)_cffi_d_DIST_POINT_NAME_free }, + { "DIST_POINT_NAME_new", (void *)_cffi_f_DIST_POINT_NAME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 209), (void *)_cffi_d_DIST_POINT_NAME_new }, + { "DIST_POINT_free", (void *)_cffi_f_DIST_POINT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2640), (void *)_cffi_d_DIST_POINT_free }, + { "DIST_POINT_new", (void *)_cffi_f_DIST_POINT_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 207), (void *)_cffi_d_DIST_POINT_new }, + { "DSA_free", (void *)_cffi_f_DSA_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2646), (void *)_cffi_d_DSA_free }, + { "DSA_generate_key", (void *)_cffi_f_DSA_generate_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1171), (void *)_cffi_d_DSA_generate_key }, + { "DSA_generate_parameters_ex", (void *)_cffi_f_DSA_generate_parameters_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1185), (void *)_cffi_d_DSA_generate_parameters_ex }, + { "DSA_get0_key", (void *)_cffi_f_DSA_get0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2649), (void *)_cffi_d_DSA_get0_key }, + { "DSA_get0_pqg", (void *)_cffi_f_DSA_get0_pqg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2654), (void *)_cffi_d_DSA_get0_pqg }, + { "DSA_new", (void *)_cffi_f_DSA_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 217), (void *)_cffi_d_DSA_new }, + { "DSA_set0_key", (void *)_cffi_f_DSA_set0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1174), (void *)_cffi_d_DSA_set0_key }, + { "DSA_set0_pqg", (void *)_cffi_f_DSA_set0_pqg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1179), (void *)_cffi_d_DSA_set0_pqg }, + { "DSA_sign", (void *)_cffi_f_DSA_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2202), (void *)_cffi_d_DSA_sign }, + { "DSA_size", (void *)_cffi_f_DSA_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1194), (void *)_cffi_d_DSA_size }, + { "DSA_verify", (void *)_cffi_f_DSA_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2218), (void *)_cffi_d_DSA_verify }, + { "DSAparams_dup", (void *)_cffi_f_DSAparams_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 211), (void *)_cffi_d_DSAparams_dup }, + { "DTLS_client_method", (void *)_cffi_f_DTLS_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLS_client_method }, + { "DTLS_get_link_min_mtu", (void *)_cffi_f_DTLS_get_link_min_mtu, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_DTLS_get_link_min_mtu }, + { "DTLS_method", (void *)_cffi_f_DTLS_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLS_method }, + { "DTLS_server_method", (void *)_cffi_f_DTLS_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLS_server_method }, + { "DTLS_set_link_mtu", (void *)_cffi_f_DTLS_set_link_mtu, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2307), (void *)_cffi_d_DTLS_set_link_mtu }, + { "DTLSv1_client_method", (void *)_cffi_f_DTLSv1_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLSv1_client_method }, + { "DTLSv1_handle_timeout", (void *)_cffi_f_DTLSv1_handle_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_DTLSv1_handle_timeout }, + { "DTLSv1_method", (void *)_cffi_f_DTLSv1_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLSv1_method }, + { "DTLSv1_server_method", (void *)_cffi_f_DTLSv1_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_DTLSv1_server_method }, + { "ECDH_compute_key", (void *)_cffi_f_ECDH_compute_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2273), (void *)_cffi_d_ECDH_compute_key }, + { "ECDSA_sign", (void *)_cffi_f_ECDSA_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2210), (void *)_cffi_d_ECDSA_sign }, + { "ECDSA_size", (void *)_cffi_f_ECDSA_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1294), (void *)_cffi_d_ECDSA_size }, + { "ECDSA_verify", (void *)_cffi_f_ECDSA_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2226), (void *)_cffi_d_ECDSA_verify }, + { "EC_GROUP_free", (void *)_cffi_f_EC_GROUP_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2660), (void *)_cffi_d_EC_GROUP_free }, + { "EC_GROUP_get0_generator", (void *)_cffi_f_EC_GROUP_get0_generator, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 247), (void *)_cffi_d_EC_GROUP_get0_generator }, + { "EC_GROUP_get_asn1_flag", (void *)_cffi_f_EC_GROUP_get_asn1_flag, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1197), (void *)_cffi_d_EC_GROUP_get_asn1_flag }, + { "EC_GROUP_get_curve_name", (void *)_cffi_f_EC_GROUP_get_curve_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1197), (void *)_cffi_d_EC_GROUP_get_curve_name }, + { "EC_GROUP_get_degree", (void *)_cffi_f_EC_GROUP_get_degree, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1197), (void *)_cffi_d_EC_GROUP_get_degree }, + { "EC_GROUP_get_order", (void *)_cffi_f_EC_GROUP_get_order, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1200), (void *)_cffi_d_EC_GROUP_get_order }, + { "EC_GROUP_method_of", (void *)_cffi_f_EC_GROUP_method_of, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 237), (void *)_cffi_d_EC_GROUP_method_of }, + { "EC_GROUP_new_by_curve_name", (void *)_cffi_f_EC_GROUP_new_by_curve_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 219), (void *)_cffi_d_EC_GROUP_new_by_curve_name }, + { "EC_KEY_free", (void *)_cffi_f_EC_KEY_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2663), (void *)_cffi_d_EC_KEY_free }, + { "EC_KEY_generate_key", (void *)_cffi_f_EC_KEY_generate_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1274), (void *)_cffi_d_EC_KEY_generate_key }, + { "EC_KEY_get0_group", (void *)_cffi_f_EC_KEY_get0_group, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 222), (void *)_cffi_d_EC_KEY_get0_group }, + { "EC_KEY_get0_private_key", (void *)_cffi_f_EC_KEY_get0_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 109), (void *)_cffi_d_EC_KEY_get0_private_key }, + { "EC_KEY_get0_public_key", (void *)_cffi_f_EC_KEY_get0_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 250), (void *)_cffi_d_EC_KEY_get0_public_key }, + { "EC_KEY_new", (void *)_cffi_f_EC_KEY_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 235), (void *)_cffi_d_EC_KEY_new }, + { "EC_KEY_new_by_curve_name", (void *)_cffi_f_EC_KEY_new_by_curve_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 232), (void *)_cffi_d_EC_KEY_new_by_curve_name }, + { "EC_KEY_set_asn1_flag", (void *)_cffi_f_EC_KEY_set_asn1_flag, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2666), (void *)_cffi_d_EC_KEY_set_asn1_flag }, + { "EC_KEY_set_group", (void *)_cffi_f_EC_KEY_set_group, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1286), (void *)_cffi_d_EC_KEY_set_group }, + { "EC_KEY_set_private_key", (void *)_cffi_f_EC_KEY_set_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1282), (void *)_cffi_d_EC_KEY_set_private_key }, + { "EC_KEY_set_public_key", (void *)_cffi_f_EC_KEY_set_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1290), (void *)_cffi_d_EC_KEY_set_public_key }, + { "EC_KEY_set_public_key_affine_coordinates", (void *)_cffi_f_EC_KEY_set_public_key_affine_coordinates, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1277), (void *)_cffi_d_EC_KEY_set_public_key_affine_coordinates }, + { "EC_METHOD_get_field_type", (void *)_cffi_f_EC_METHOD_get_field_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1297), (void *)_cffi_d_EC_METHOD_get_field_type }, + { "EC_POINT_add", (void *)_cffi_f_EC_POINT_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1238), (void *)_cffi_d_EC_POINT_add }, + { "EC_POINT_clear_free", (void *)_cffi_f_EC_POINT_clear_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2670), (void *)_cffi_d_EC_POINT_clear_free }, + { "EC_POINT_cmp", (void *)_cffi_f_EC_POINT_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1268), (void *)_cffi_d_EC_POINT_cmp }, + { "EC_POINT_dbl", (void *)_cffi_f_EC_POINT_dbl, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1232), (void *)_cffi_d_EC_POINT_dbl }, + { "EC_POINT_dup", (void *)_cffi_f_EC_POINT_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 243), (void *)_cffi_d_EC_POINT_dup }, + { "EC_POINT_free", (void *)_cffi_f_EC_POINT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2670), (void *)_cffi_d_EC_POINT_free }, + { "EC_POINT_get_affine_coordinates_GF2m", (void *)_cffi_f_EC_POINT_get_affine_coordinates_GF2m, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1256), (void *)_cffi_d_EC_POINT_get_affine_coordinates_GF2m }, + { "EC_POINT_get_affine_coordinates_GFp", (void *)_cffi_f_EC_POINT_get_affine_coordinates_GFp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1256), (void *)_cffi_d_EC_POINT_get_affine_coordinates_GFp }, + { "EC_POINT_invert", (void *)_cffi_f_EC_POINT_invert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1227), (void *)_cffi_d_EC_POINT_invert }, + { "EC_POINT_is_at_infinity", (void *)_cffi_f_EC_POINT_is_at_infinity, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1252), (void *)_cffi_d_EC_POINT_is_at_infinity }, + { "EC_POINT_is_on_curve", (void *)_cffi_f_EC_POINT_is_on_curve, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1263), (void *)_cffi_d_EC_POINT_is_on_curve }, + { "EC_POINT_mul", (void *)_cffi_f_EC_POINT_mul, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1212), (void *)_cffi_d_EC_POINT_mul }, + { "EC_POINT_new", (void *)_cffi_f_EC_POINT_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 240), (void *)_cffi_d_EC_POINT_new }, + { "EC_POINT_oct2point", (void *)_cffi_f_EC_POINT_oct2point, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1245), (void *)_cffi_d_EC_POINT_oct2point }, + { "EC_POINT_point2oct", (void *)_cffi_f_EC_POINT_point2oct, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2372), (void *)_cffi_d_EC_POINT_point2oct }, + { "EC_POINT_set_affine_coordinates_GF2m", (void *)_cffi_f_EC_POINT_set_affine_coordinates_GF2m, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1205), (void *)_cffi_d_EC_POINT_set_affine_coordinates_GF2m }, + { "EC_POINT_set_affine_coordinates_GFp", (void *)_cffi_f_EC_POINT_set_affine_coordinates_GFp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1205), (void *)_cffi_d_EC_POINT_set_affine_coordinates_GFp }, + { "EC_POINT_set_compressed_coordinates_GF2m", (void *)_cffi_f_EC_POINT_set_compressed_coordinates_GF2m, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1220), (void *)_cffi_d_EC_POINT_set_compressed_coordinates_GF2m }, + { "EC_POINT_set_compressed_coordinates_GFp", (void *)_cffi_f_EC_POINT_set_compressed_coordinates_GFp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1220), (void *)_cffi_d_EC_POINT_set_compressed_coordinates_GFp }, + { "EC_curve_nid2nist", (void *)_cffi_f_EC_curve_nid2nist, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_EC_curve_nid2nist }, + { "EC_get_builtin_curves", (void *)_cffi_f_EC_get_builtin_curves, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2380), (void *)_cffi_d_EC_get_builtin_curves }, + { "ENGINE_by_id", (void *)_cffi_f_ENGINE_by_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 253), (void *)_cffi_d_ENGINE_by_id }, + { "ENGINE_ctrl_cmd", (void *)_cffi_f_ENGINE_ctrl_cmd, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1309), (void *)_cffi_d_ENGINE_ctrl_cmd }, + { "ENGINE_ctrl_cmd_string", (void *)_cffi_f_ENGINE_ctrl_cmd_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1303), (void *)_cffi_d_ENGINE_ctrl_cmd_string }, + { "ENGINE_finish", (void *)_cffi_f_ENGINE_finish, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1300), (void *)_cffi_d_ENGINE_finish }, + { "ENGINE_free", (void *)_cffi_f_ENGINE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1300), (void *)_cffi_d_ENGINE_free }, + { "ENGINE_get_default_RAND", (void *)_cffi_f_ENGINE_get_default_RAND, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 256), (void *)_cffi_d_ENGINE_get_default_RAND }, + { "ENGINE_get_name", (void *)_cffi_f_ENGINE_get_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 722), (void *)_cffi_d_ENGINE_get_name }, + { "ENGINE_init", (void *)_cffi_f_ENGINE_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1300), (void *)_cffi_d_ENGINE_init }, + { "ENGINE_load_builtin_engines", (void *)_cffi_f_ENGINE_load_builtin_engines, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_ENGINE_load_builtin_engines }, + { "ENGINE_load_private_key", (void *)_cffi_f_ENGINE_load_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 281), (void *)_cffi_d_ENGINE_load_private_key }, + { "ENGINE_load_public_key", (void *)_cffi_f_ENGINE_load_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 281), (void *)_cffi_d_ENGINE_load_public_key }, + { "ENGINE_set_default_RAND", (void *)_cffi_f_ENGINE_set_default_RAND, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1300), (void *)_cffi_d_ENGINE_set_default_RAND }, + { "ENGINE_unregister_RAND", (void *)_cffi_f_ENGINE_unregister_RAND, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2673), (void *)_cffi_d_ENGINE_unregister_RAND }, + { "ERR_GET_FUNC", (void *)_cffi_f_ERR_GET_FUNC, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2265), (void *)_cffi_d_ERR_GET_FUNC }, + { "ERR_GET_LIB", (void *)_cffi_f_ERR_GET_LIB, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2265), (void *)_cffi_d_ERR_GET_LIB }, + { "ERR_GET_REASON", (void *)_cffi_f_ERR_GET_REASON, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2265), (void *)_cffi_d_ERR_GET_REASON }, { "ERR_LIB_ASN1", (void *)_cffi_const_ERR_LIB_ASN1, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "ERR_LIB_EVP", (void *)_cffi_const_ERR_LIB_EVP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "ERR_LIB_PEM", (void *)_cffi_const_ERR_LIB_PEM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "ERR_LIB_PKCS12", (void *)_cffi_const_ERR_LIB_PKCS12, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "ERR_clear_error", (void *)_cffi_f_ERR_clear_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_ERR_clear_error }, - { "ERR_error_string_n", (void *)_cffi_f_ERR_error_string_n, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2980), (void *)_cffi_d_ERR_error_string_n }, - { "ERR_func_error_string", (void *)_cffi_f_ERR_func_error_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 741), (void *)_cffi_d_ERR_func_error_string }, - { "ERR_get_error", (void *)_cffi_f_ERR_get_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2476), (void *)_cffi_d_ERR_get_error }, - { "ERR_lib_error_string", (void *)_cffi_f_ERR_lib_error_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 741), (void *)_cffi_d_ERR_lib_error_string }, - { "ERR_load_RAND_strings", (void *)_cffi_f_ERR_load_RAND_strings, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_ERR_load_RAND_strings }, - { "ERR_peek_error", (void *)_cffi_f_ERR_peek_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2476), (void *)_cffi_d_ERR_peek_error }, - { "ERR_put_error", (void *)_cffi_f_ERR_put_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2973), (void *)_cffi_d_ERR_put_error }, - { "ERR_reason_error_string", (void *)_cffi_f_ERR_reason_error_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 741), (void *)_cffi_d_ERR_reason_error_string }, - { "EVP_CIPHER_CTX_cipher", (void *)_cffi_f_EVP_CIPHER_CTX_cipher, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 258), (void *)_cffi_d_EVP_CIPHER_CTX_cipher }, - { "EVP_CIPHER_CTX_cleanup", (void *)_cffi_f_EVP_CIPHER_CTX_cleanup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1317), (void *)_cffi_d_EVP_CIPHER_CTX_cleanup }, - { "EVP_CIPHER_CTX_ctrl", (void *)_cffi_f_EVP_CIPHER_CTX_ctrl, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1332), (void *)_cffi_d_EVP_CIPHER_CTX_ctrl }, - { "EVP_CIPHER_CTX_free", (void *)_cffi_f_EVP_CIPHER_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2676), (void *)_cffi_d_EVP_CIPHER_CTX_free }, - { "EVP_CIPHER_CTX_new", (void *)_cffi_f_EVP_CIPHER_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 264), (void *)_cffi_d_EVP_CIPHER_CTX_new }, - { "EVP_CIPHER_CTX_set_key_length", (void *)_cffi_f_EVP_CIPHER_CTX_set_key_length, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1328), (void *)_cffi_d_EVP_CIPHER_CTX_set_key_length }, - { "EVP_CIPHER_CTX_set_padding", (void *)_cffi_f_EVP_CIPHER_CTX_set_padding, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1328), (void *)_cffi_d_EVP_CIPHER_CTX_set_padding }, - { "EVP_CTRL_AEAD_GET_TAG", (void *)_cffi_const_EVP_CTRL_AEAD_GET_TAG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_CTRL_AEAD_SET_IVLEN", (void *)_cffi_const_EVP_CTRL_AEAD_SET_IVLEN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_CTRL_AEAD_SET_TAG", (void *)_cffi_const_EVP_CTRL_AEAD_SET_TAG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_CipherFinal_ex", (void *)_cffi_f_EVP_CipherFinal_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1338), (void *)_cffi_d_EVP_CipherFinal_ex }, - { "EVP_CipherInit_ex", (void *)_cffi_f_EVP_CipherInit_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1320), (void *)_cffi_d_EVP_CipherInit_ex }, - { "EVP_CipherUpdate", (void *)_cffi_f_EVP_CipherUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1343), (void *)_cffi_d_EVP_CipherUpdate }, - { "EVP_DigestFinalXOF", (void *)_cffi_f_EVP_DigestFinalXOF, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1382), (void *)_cffi_d_EVP_DigestFinalXOF }, - { "EVP_DigestFinal_ex", (void *)_cffi_f_EVP_DigestFinal_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1387), (void *)_cffi_d_EVP_DigestFinal_ex }, - { "EVP_DigestInit_ex", (void *)_cffi_f_EVP_DigestInit_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1354), (void *)_cffi_d_EVP_DigestInit_ex }, - { "EVP_DigestSign", (void *)_cffi_f_EVP_DigestSign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1375), (void *)_cffi_d_EVP_DigestSign }, - { "EVP_DigestSignFinal", (void *)_cffi_f_EVP_DigestSignFinal, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1370), (void *)_cffi_d_EVP_DigestSignFinal }, - { "EVP_DigestSignInit", (void *)_cffi_f_EVP_DigestSignInit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1363), (void *)_cffi_d_EVP_DigestSignInit }, - { "EVP_DigestSignUpdate", (void *)_cffi_f_EVP_DigestSignUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1411), (void *)_cffi_d_EVP_DigestSignUpdate }, - { "EVP_DigestUpdate", (void *)_cffi_f_EVP_DigestUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1411), (void *)_cffi_d_EVP_DigestUpdate }, - { "EVP_DigestVerify", (void *)_cffi_f_EVP_DigestVerify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1398), (void *)_cffi_d_EVP_DigestVerify }, - { "EVP_DigestVerifyInit", (void *)_cffi_f_EVP_DigestVerifyInit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1363), (void *)_cffi_d_EVP_DigestVerifyInit }, + { "ERR_clear_error", (void *)_cffi_f_ERR_clear_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_ERR_clear_error }, + { "ERR_error_string_n", (void *)_cffi_f_ERR_error_string_n, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2980), (void *)_cffi_d_ERR_error_string_n }, + { "ERR_func_error_string", (void *)_cffi_f_ERR_func_error_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 741), (void *)_cffi_d_ERR_func_error_string }, + { "ERR_get_error", (void *)_cffi_f_ERR_get_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2476), (void *)_cffi_d_ERR_get_error }, + { "ERR_lib_error_string", (void *)_cffi_f_ERR_lib_error_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 741), (void *)_cffi_d_ERR_lib_error_string }, + { "ERR_load_RAND_strings", (void *)_cffi_f_ERR_load_RAND_strings, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_ERR_load_RAND_strings }, + { "ERR_peek_error", (void *)_cffi_f_ERR_peek_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2476), (void *)_cffi_d_ERR_peek_error }, + { "ERR_put_error", (void *)_cffi_f_ERR_put_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2973), (void *)_cffi_d_ERR_put_error }, + { "ERR_reason_error_string", (void *)_cffi_f_ERR_reason_error_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 741), (void *)_cffi_d_ERR_reason_error_string }, + { "EVP_CIPHER_CTX_cipher", (void *)_cffi_f_EVP_CIPHER_CTX_cipher, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 258), (void *)_cffi_d_EVP_CIPHER_CTX_cipher }, + { "EVP_CIPHER_CTX_cleanup", (void *)_cffi_f_EVP_CIPHER_CTX_cleanup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1317), (void *)_cffi_d_EVP_CIPHER_CTX_cleanup }, + { "EVP_CIPHER_CTX_ctrl", (void *)_cffi_f_EVP_CIPHER_CTX_ctrl, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1332), (void *)_cffi_d_EVP_CIPHER_CTX_ctrl }, + { "EVP_CIPHER_CTX_free", (void *)_cffi_f_EVP_CIPHER_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2676), (void *)_cffi_d_EVP_CIPHER_CTX_free }, + { "EVP_CIPHER_CTX_new", (void *)_cffi_f_EVP_CIPHER_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 264), (void *)_cffi_d_EVP_CIPHER_CTX_new }, + { "EVP_CIPHER_CTX_set_key_length", (void *)_cffi_f_EVP_CIPHER_CTX_set_key_length, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1328), (void *)_cffi_d_EVP_CIPHER_CTX_set_key_length }, + { "EVP_CIPHER_CTX_set_padding", (void *)_cffi_f_EVP_CIPHER_CTX_set_padding, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1328), (void *)_cffi_d_EVP_CIPHER_CTX_set_padding }, + { "EVP_CTRL_AEAD_GET_TAG", (void *)_cffi_const_EVP_CTRL_AEAD_GET_TAG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "EVP_CTRL_AEAD_SET_IVLEN", (void *)_cffi_const_EVP_CTRL_AEAD_SET_IVLEN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "EVP_CTRL_AEAD_SET_TAG", (void *)_cffi_const_EVP_CTRL_AEAD_SET_TAG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "EVP_CipherFinal_ex", (void *)_cffi_f_EVP_CipherFinal_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1338), (void *)_cffi_d_EVP_CipherFinal_ex }, + { "EVP_CipherInit_ex", (void *)_cffi_f_EVP_CipherInit_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1320), (void *)_cffi_d_EVP_CipherInit_ex }, + { "EVP_CipherUpdate", (void *)_cffi_f_EVP_CipherUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1343), (void *)_cffi_d_EVP_CipherUpdate }, + { "EVP_DigestFinalXOF", (void *)_cffi_f_EVP_DigestFinalXOF, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1382), (void *)_cffi_d_EVP_DigestFinalXOF }, + { "EVP_DigestFinal_ex", (void *)_cffi_f_EVP_DigestFinal_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1387), (void *)_cffi_d_EVP_DigestFinal_ex }, + { "EVP_DigestInit_ex", (void *)_cffi_f_EVP_DigestInit_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1354), (void *)_cffi_d_EVP_DigestInit_ex }, + { "EVP_DigestSign", (void *)_cffi_f_EVP_DigestSign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1375), (void *)_cffi_d_EVP_DigestSign }, + { "EVP_DigestSignFinal", (void *)_cffi_f_EVP_DigestSignFinal, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1370), (void *)_cffi_d_EVP_DigestSignFinal }, + { "EVP_DigestSignInit", (void *)_cffi_f_EVP_DigestSignInit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1363), (void *)_cffi_d_EVP_DigestSignInit }, + { "EVP_DigestSignUpdate", (void *)_cffi_f_EVP_DigestSignUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1411), (void *)_cffi_d_EVP_DigestSignUpdate }, + { "EVP_DigestUpdate", (void *)_cffi_f_EVP_DigestUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1411), (void *)_cffi_d_EVP_DigestUpdate }, + { "EVP_DigestVerify", (void *)_cffi_f_EVP_DigestVerify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1398), (void *)_cffi_d_EVP_DigestVerify }, + { "EVP_DigestVerifyInit", (void *)_cffi_f_EVP_DigestVerifyInit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1363), (void *)_cffi_d_EVP_DigestVerifyInit }, { "EVP_F_EVP_ENCRYPTFINAL_EX", (void *)_cffi_const_EVP_F_EVP_ENCRYPTFINAL_EX, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "EVP_MAX_MD_SIZE", (void *)_cffi_const_EVP_MAX_MD_SIZE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_MD_CTX_copy_ex", (void *)_cffi_f_EVP_MD_CTX_copy_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1359), (void *)_cffi_d_EVP_MD_CTX_copy_ex }, - { "EVP_MD_CTX_free", (void *)_cffi_f_EVP_MD_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2679), (void *)_cffi_d_EVP_MD_CTX_free }, - { "EVP_MD_CTX_new", (void *)_cffi_f_EVP_MD_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 269), (void *)_cffi_d_EVP_MD_CTX_new }, - { "EVP_PBE_scrypt", (void *)_cffi_f_EVP_PBE_scrypt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2179), (void *)_cffi_d_EVP_PBE_scrypt }, - { "EVP_PKEY_CTX_dup", (void *)_cffi_f_EVP_PKEY_CTX_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 308), (void *)_cffi_d_EVP_PKEY_CTX_dup }, - { "EVP_PKEY_CTX_free", (void *)_cffi_f_EVP_PKEY_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2685), (void *)_cffi_d_EVP_PKEY_CTX_free }, - { "EVP_PKEY_CTX_new", (void *)_cffi_f_EVP_PKEY_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 304), (void *)_cffi_d_EVP_PKEY_CTX_new }, - { "EVP_PKEY_CTX_new_id", (void *)_cffi_f_EVP_PKEY_CTX_new_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 311), (void *)_cffi_d_EVP_PKEY_CTX_new_id }, - { "EVP_PKEY_CTX_set0_rsa_oaep_label", (void *)_cffi_f_EVP_PKEY_CTX_set0_rsa_oaep_label, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1479), (void *)_cffi_d_EVP_PKEY_CTX_set0_rsa_oaep_label }, - { "EVP_PKEY_CTX_set_rsa_mgf1_md", (void *)_cffi_f_EVP_PKEY_CTX_set_rsa_mgf1_md, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1459), (void *)_cffi_d_EVP_PKEY_CTX_set_rsa_mgf1_md }, - { "EVP_PKEY_CTX_set_rsa_oaep_md", (void *)_cffi_f_EVP_PKEY_CTX_set_rsa_oaep_md, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1459), (void *)_cffi_d_EVP_PKEY_CTX_set_rsa_oaep_md }, - { "EVP_PKEY_CTX_set_rsa_padding", (void *)_cffi_f_EVP_PKEY_CTX_set_rsa_padding, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1475), (void *)_cffi_d_EVP_PKEY_CTX_set_rsa_padding }, - { "EVP_PKEY_CTX_set_rsa_pss_saltlen", (void *)_cffi_f_EVP_PKEY_CTX_set_rsa_pss_saltlen, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1475), (void *)_cffi_d_EVP_PKEY_CTX_set_rsa_pss_saltlen }, - { "EVP_PKEY_CTX_set_signature_md", (void *)_cffi_f_EVP_PKEY_CTX_set_signature_md, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1463), (void *)_cffi_d_EVP_PKEY_CTX_set_signature_md }, + { "EVP_MD_CTX_copy_ex", (void *)_cffi_f_EVP_MD_CTX_copy_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1359), (void *)_cffi_d_EVP_MD_CTX_copy_ex }, + { "EVP_MD_CTX_free", (void *)_cffi_f_EVP_MD_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2679), (void *)_cffi_d_EVP_MD_CTX_free }, + { "EVP_MD_CTX_new", (void *)_cffi_f_EVP_MD_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 269), (void *)_cffi_d_EVP_MD_CTX_new }, + { "EVP_PBE_scrypt", (void *)_cffi_f_EVP_PBE_scrypt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2179), (void *)_cffi_d_EVP_PBE_scrypt }, + { "EVP_PKEY_CTX_dup", (void *)_cffi_f_EVP_PKEY_CTX_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 308), (void *)_cffi_d_EVP_PKEY_CTX_dup }, + { "EVP_PKEY_CTX_free", (void *)_cffi_f_EVP_PKEY_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2685), (void *)_cffi_d_EVP_PKEY_CTX_free }, + { "EVP_PKEY_CTX_new", (void *)_cffi_f_EVP_PKEY_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 304), (void *)_cffi_d_EVP_PKEY_CTX_new }, + { "EVP_PKEY_CTX_new_id", (void *)_cffi_f_EVP_PKEY_CTX_new_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 311), (void *)_cffi_d_EVP_PKEY_CTX_new_id }, + { "EVP_PKEY_CTX_set0_rsa_oaep_label", (void *)_cffi_f_EVP_PKEY_CTX_set0_rsa_oaep_label, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1479), (void *)_cffi_d_EVP_PKEY_CTX_set0_rsa_oaep_label }, + { "EVP_PKEY_CTX_set_rsa_mgf1_md", (void *)_cffi_f_EVP_PKEY_CTX_set_rsa_mgf1_md, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1459), (void *)_cffi_d_EVP_PKEY_CTX_set_rsa_mgf1_md }, + { "EVP_PKEY_CTX_set_rsa_oaep_md", (void *)_cffi_f_EVP_PKEY_CTX_set_rsa_oaep_md, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1459), (void *)_cffi_d_EVP_PKEY_CTX_set_rsa_oaep_md }, + { "EVP_PKEY_CTX_set_rsa_padding", (void *)_cffi_f_EVP_PKEY_CTX_set_rsa_padding, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1475), (void *)_cffi_d_EVP_PKEY_CTX_set_rsa_padding }, + { "EVP_PKEY_CTX_set_rsa_pss_saltlen", (void *)_cffi_f_EVP_PKEY_CTX_set_rsa_pss_saltlen, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1475), (void *)_cffi_d_EVP_PKEY_CTX_set_rsa_pss_saltlen }, + { "EVP_PKEY_CTX_set_signature_md", (void *)_cffi_f_EVP_PKEY_CTX_set_signature_md, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1463), (void *)_cffi_d_EVP_PKEY_CTX_set_signature_md }, { "EVP_PKEY_DH", (void *)_cffi_const_EVP_PKEY_DH, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_PKEY_DHX", (void *)_cffi_const_EVP_PKEY_DHX, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "EVP_PKEY_DHX", (void *)_cffi_const_EVP_PKEY_DHX, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "EVP_PKEY_DSA", (void *)_cffi_const_EVP_PKEY_DSA, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "EVP_PKEY_EC", (void *)_cffi_const_EVP_PKEY_EC, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_PKEY_ED25519", (void *)_cffi_const_EVP_PKEY_ED25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_PKEY_ED448", (void *)_cffi_const_EVP_PKEY_ED448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_PKEY_POLY1305", (void *)_cffi_const_EVP_PKEY_POLY1305, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "EVP_PKEY_ED25519", (void *)_cffi_const_EVP_PKEY_ED25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "EVP_PKEY_ED448", (void *)_cffi_const_EVP_PKEY_ED448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "EVP_PKEY_POLY1305", (void *)_cffi_const_EVP_PKEY_POLY1305, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "EVP_PKEY_RSA", (void *)_cffi_const_EVP_PKEY_RSA, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_PKEY_X25519", (void *)_cffi_const_EVP_PKEY_X25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_PKEY_X448", (void *)_cffi_const_EVP_PKEY_X448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_PKEY_assign_RSA", (void *)_cffi_f_EVP_PKEY_assign_RSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1431), (void *)_cffi_d_EVP_PKEY_assign_RSA }, - { "EVP_PKEY_bits", (void *)_cffi_f_EVP_PKEY_bits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1416), (void *)_cffi_d_EVP_PKEY_bits }, - { "EVP_PKEY_cmp", (void *)_cffi_f_EVP_PKEY_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1447), (void *)_cffi_d_EVP_PKEY_cmp }, - { "EVP_PKEY_decrypt", (void *)_cffi_f_EVP_PKEY_decrypt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1489), (void *)_cffi_d_EVP_PKEY_decrypt }, - { "EVP_PKEY_decrypt_init", (void *)_cffi_f_EVP_PKEY_decrypt_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_decrypt_init }, - { "EVP_PKEY_derive", (void *)_cffi_f_EVP_PKEY_derive, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1484), (void *)_cffi_d_EVP_PKEY_derive }, - { "EVP_PKEY_derive_init", (void *)_cffi_f_EVP_PKEY_derive_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_derive_init }, - { "EVP_PKEY_derive_set_peer", (void *)_cffi_f_EVP_PKEY_derive_set_peer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1471), (void *)_cffi_d_EVP_PKEY_derive_set_peer }, - { "EVP_PKEY_encrypt", (void *)_cffi_f_EVP_PKEY_encrypt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1489), (void *)_cffi_d_EVP_PKEY_encrypt }, - { "EVP_PKEY_encrypt_init", (void *)_cffi_f_EVP_PKEY_encrypt_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_encrypt_init }, - { "EVP_PKEY_free", (void *)_cffi_f_EVP_PKEY_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2682), (void *)_cffi_d_EVP_PKEY_free }, - { "EVP_PKEY_get1_DH", (void *)_cffi_f_EVP_PKEY_get1_DH, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 198), (void *)_cffi_d_EVP_PKEY_get1_DH }, - { "EVP_PKEY_get1_DSA", (void *)_cffi_f_EVP_PKEY_get1_DSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 214), (void *)_cffi_d_EVP_PKEY_get1_DSA }, - { "EVP_PKEY_get1_EC_KEY", (void *)_cffi_f_EVP_PKEY_get1_EC_KEY, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 229), (void *)_cffi_d_EVP_PKEY_get1_EC_KEY }, - { "EVP_PKEY_get1_RSA", (void *)_cffi_f_EVP_PKEY_get1_RSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 472), (void *)_cffi_d_EVP_PKEY_get1_RSA }, - { "EVP_PKEY_get1_tls_encodedpoint", (void *)_cffi_f_EVP_PKEY_get1_tls_encodedpoint, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2384), (void *)_cffi_d_EVP_PKEY_get1_tls_encodedpoint }, - { "EVP_PKEY_get_raw_private_key", (void *)_cffi_f_EVP_PKEY_get_raw_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1451), (void *)_cffi_d_EVP_PKEY_get_raw_private_key }, - { "EVP_PKEY_get_raw_public_key", (void *)_cffi_f_EVP_PKEY_get_raw_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1451), (void *)_cffi_d_EVP_PKEY_get_raw_public_key }, - { "EVP_PKEY_id", (void *)_cffi_f_EVP_PKEY_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_EVP_PKEY_id }, - { "EVP_PKEY_keygen", (void *)_cffi_f_EVP_PKEY_keygen, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1467), (void *)_cffi_d_EVP_PKEY_keygen }, - { "EVP_PKEY_keygen_init", (void *)_cffi_f_EVP_PKEY_keygen_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_keygen_init }, - { "EVP_PKEY_new", (void *)_cffi_f_EVP_PKEY_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 302), (void *)_cffi_d_EVP_PKEY_new }, - { "EVP_PKEY_new_raw_private_key", (void *)_cffi_f_EVP_PKEY_new_raw_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 296), (void *)_cffi_d_EVP_PKEY_new_raw_private_key }, - { "EVP_PKEY_new_raw_public_key", (void *)_cffi_f_EVP_PKEY_new_raw_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 296), (void *)_cffi_d_EVP_PKEY_new_raw_public_key }, - { "EVP_PKEY_set1_DH", (void *)_cffi_f_EVP_PKEY_set1_DH, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1419), (void *)_cffi_d_EVP_PKEY_set1_DH }, - { "EVP_PKEY_set1_DSA", (void *)_cffi_f_EVP_PKEY_set1_DSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1423), (void *)_cffi_d_EVP_PKEY_set1_DSA }, - { "EVP_PKEY_set1_EC_KEY", (void *)_cffi_f_EVP_PKEY_set1_EC_KEY, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1427), (void *)_cffi_d_EVP_PKEY_set1_EC_KEY }, - { "EVP_PKEY_set1_RSA", (void *)_cffi_f_EVP_PKEY_set1_RSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1431), (void *)_cffi_d_EVP_PKEY_set1_RSA }, - { "EVP_PKEY_set1_tls_encodedpoint", (void *)_cffi_f_EVP_PKEY_set1_tls_encodedpoint, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1439), (void *)_cffi_d_EVP_PKEY_set1_tls_encodedpoint }, - { "EVP_PKEY_set_type", (void *)_cffi_f_EVP_PKEY_set_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1435), (void *)_cffi_d_EVP_PKEY_set_type }, - { "EVP_PKEY_sign", (void *)_cffi_f_EVP_PKEY_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1489), (void *)_cffi_d_EVP_PKEY_sign }, - { "EVP_PKEY_sign_init", (void *)_cffi_f_EVP_PKEY_sign_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_sign_init }, - { "EVP_PKEY_size", (void *)_cffi_f_EVP_PKEY_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1416), (void *)_cffi_d_EVP_PKEY_size }, - { "EVP_PKEY_type", (void *)_cffi_f_EVP_PKEY_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2191), (void *)_cffi_d_EVP_PKEY_type }, - { "EVP_PKEY_verify", (void *)_cffi_f_EVP_PKEY_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1496), (void *)_cffi_d_EVP_PKEY_verify }, - { "EVP_PKEY_verify_init", (void *)_cffi_f_EVP_PKEY_verify_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_verify_init }, - { "EVP_PKEY_verify_recover", (void *)_cffi_f_EVP_PKEY_verify_recover, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1489), (void *)_cffi_d_EVP_PKEY_verify_recover }, - { "EVP_PKEY_verify_recover_init", (void *)_cffi_f_EVP_PKEY_verify_recover_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_verify_recover_init }, + { "EVP_PKEY_X25519", (void *)_cffi_const_EVP_PKEY_X25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "EVP_PKEY_X448", (void *)_cffi_const_EVP_PKEY_X448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "EVP_PKEY_assign_RSA", (void *)_cffi_f_EVP_PKEY_assign_RSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1431), (void *)_cffi_d_EVP_PKEY_assign_RSA }, + { "EVP_PKEY_bits", (void *)_cffi_f_EVP_PKEY_bits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1416), (void *)_cffi_d_EVP_PKEY_bits }, + { "EVP_PKEY_cmp", (void *)_cffi_f_EVP_PKEY_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1447), (void *)_cffi_d_EVP_PKEY_cmp }, + { "EVP_PKEY_decrypt", (void *)_cffi_f_EVP_PKEY_decrypt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1489), (void *)_cffi_d_EVP_PKEY_decrypt }, + { "EVP_PKEY_decrypt_init", (void *)_cffi_f_EVP_PKEY_decrypt_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_decrypt_init }, + { "EVP_PKEY_derive", (void *)_cffi_f_EVP_PKEY_derive, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1484), (void *)_cffi_d_EVP_PKEY_derive }, + { "EVP_PKEY_derive_init", (void *)_cffi_f_EVP_PKEY_derive_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_derive_init }, + { "EVP_PKEY_derive_set_peer", (void *)_cffi_f_EVP_PKEY_derive_set_peer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1471), (void *)_cffi_d_EVP_PKEY_derive_set_peer }, + { "EVP_PKEY_encrypt", (void *)_cffi_f_EVP_PKEY_encrypt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1489), (void *)_cffi_d_EVP_PKEY_encrypt }, + { "EVP_PKEY_encrypt_init", (void *)_cffi_f_EVP_PKEY_encrypt_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_encrypt_init }, + { "EVP_PKEY_free", (void *)_cffi_f_EVP_PKEY_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2682), (void *)_cffi_d_EVP_PKEY_free }, + { "EVP_PKEY_get1_DH", (void *)_cffi_f_EVP_PKEY_get1_DH, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 198), (void *)_cffi_d_EVP_PKEY_get1_DH }, + { "EVP_PKEY_get1_DSA", (void *)_cffi_f_EVP_PKEY_get1_DSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 214), (void *)_cffi_d_EVP_PKEY_get1_DSA }, + { "EVP_PKEY_get1_EC_KEY", (void *)_cffi_f_EVP_PKEY_get1_EC_KEY, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 229), (void *)_cffi_d_EVP_PKEY_get1_EC_KEY }, + { "EVP_PKEY_get1_RSA", (void *)_cffi_f_EVP_PKEY_get1_RSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 472), (void *)_cffi_d_EVP_PKEY_get1_RSA }, + { "EVP_PKEY_get1_tls_encodedpoint", (void *)_cffi_f_EVP_PKEY_get1_tls_encodedpoint, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2384), (void *)_cffi_d_EVP_PKEY_get1_tls_encodedpoint }, + { "EVP_PKEY_get_raw_private_key", (void *)_cffi_f_EVP_PKEY_get_raw_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1451), (void *)_cffi_d_EVP_PKEY_get_raw_private_key }, + { "EVP_PKEY_get_raw_public_key", (void *)_cffi_f_EVP_PKEY_get_raw_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1451), (void *)_cffi_d_EVP_PKEY_get_raw_public_key }, + { "EVP_PKEY_id", (void *)_cffi_f_EVP_PKEY_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1444), (void *)_cffi_d_EVP_PKEY_id }, + { "EVP_PKEY_keygen", (void *)_cffi_f_EVP_PKEY_keygen, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1467), (void *)_cffi_d_EVP_PKEY_keygen }, + { "EVP_PKEY_keygen_init", (void *)_cffi_f_EVP_PKEY_keygen_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_keygen_init }, + { "EVP_PKEY_new", (void *)_cffi_f_EVP_PKEY_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 302), (void *)_cffi_d_EVP_PKEY_new }, + { "EVP_PKEY_new_raw_private_key", (void *)_cffi_f_EVP_PKEY_new_raw_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 296), (void *)_cffi_d_EVP_PKEY_new_raw_private_key }, + { "EVP_PKEY_new_raw_public_key", (void *)_cffi_f_EVP_PKEY_new_raw_public_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 296), (void *)_cffi_d_EVP_PKEY_new_raw_public_key }, + { "EVP_PKEY_set1_DH", (void *)_cffi_f_EVP_PKEY_set1_DH, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1419), (void *)_cffi_d_EVP_PKEY_set1_DH }, + { "EVP_PKEY_set1_DSA", (void *)_cffi_f_EVP_PKEY_set1_DSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1423), (void *)_cffi_d_EVP_PKEY_set1_DSA }, + { "EVP_PKEY_set1_EC_KEY", (void *)_cffi_f_EVP_PKEY_set1_EC_KEY, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1427), (void *)_cffi_d_EVP_PKEY_set1_EC_KEY }, + { "EVP_PKEY_set1_RSA", (void *)_cffi_f_EVP_PKEY_set1_RSA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1431), (void *)_cffi_d_EVP_PKEY_set1_RSA }, + { "EVP_PKEY_set1_tls_encodedpoint", (void *)_cffi_f_EVP_PKEY_set1_tls_encodedpoint, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1439), (void *)_cffi_d_EVP_PKEY_set1_tls_encodedpoint }, + { "EVP_PKEY_set_type", (void *)_cffi_f_EVP_PKEY_set_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1435), (void *)_cffi_d_EVP_PKEY_set_type }, + { "EVP_PKEY_sign", (void *)_cffi_f_EVP_PKEY_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1489), (void *)_cffi_d_EVP_PKEY_sign }, + { "EVP_PKEY_sign_init", (void *)_cffi_f_EVP_PKEY_sign_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_sign_init }, + { "EVP_PKEY_size", (void *)_cffi_f_EVP_PKEY_size, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1416), (void *)_cffi_d_EVP_PKEY_size }, + { "EVP_PKEY_type", (void *)_cffi_f_EVP_PKEY_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2191), (void *)_cffi_d_EVP_PKEY_type }, + { "EVP_PKEY_verify", (void *)_cffi_f_EVP_PKEY_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1496), (void *)_cffi_d_EVP_PKEY_verify }, + { "EVP_PKEY_verify_init", (void *)_cffi_f_EVP_PKEY_verify_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_verify_init }, + { "EVP_PKEY_verify_recover", (void *)_cffi_f_EVP_PKEY_verify_recover, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1489), (void *)_cffi_d_EVP_PKEY_verify_recover }, + { "EVP_PKEY_verify_recover_init", (void *)_cffi_f_EVP_PKEY_verify_recover_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1456), (void *)_cffi_d_EVP_PKEY_verify_recover_init }, { "EVP_R_BAD_DECRYPT", (void *)_cffi_const_EVP_R_BAD_DECRYPT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH", (void *)_cffi_const_EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "EVP_R_UNKNOWN_PBE_ALGORITHM", (void *)_cffi_const_EVP_R_UNKNOWN_PBE_ALGORITHM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM", (void *)_cffi_const_EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "EVP_SignFinal", (void *)_cffi_f_EVP_SignFinal, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1392), (void *)_cffi_d_EVP_SignFinal }, - { "EVP_SignInit", (void *)_cffi_f_EVP_SignInit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1350), (void *)_cffi_d_EVP_SignInit }, - { "EVP_SignUpdate", (void *)_cffi_f_EVP_SignUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1411), (void *)_cffi_d_EVP_SignUpdate }, - { "EVP_VerifyFinal", (void *)_cffi_f_EVP_VerifyFinal, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1405), (void *)_cffi_d_EVP_VerifyFinal }, - { "EVP_VerifyInit", (void *)_cffi_f_EVP_VerifyInit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1350), (void *)_cffi_d_EVP_VerifyInit }, - { "EVP_VerifyUpdate", (void *)_cffi_f_EVP_VerifyUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1411), (void *)_cffi_d_EVP_VerifyUpdate }, - { "EVP_get_cipherbyname", (void *)_cffi_f_EVP_get_cipherbyname, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 261), (void *)_cffi_d_EVP_get_cipherbyname }, - { "EVP_get_digestbyname", (void *)_cffi_f_EVP_get_digestbyname, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 266), (void *)_cffi_d_EVP_get_digestbyname }, - { "FIPS_mode", (void *)_cffi_f_FIPS_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_FIPS_mode }, - { "FIPS_mode_set", (void *)_cffi_f_FIPS_mode_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2191), (void *)_cffi_d_FIPS_mode_set }, - { "GENERAL_NAMES_free", (void *)_cffi_f_GENERAL_NAMES_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2691), (void *)_cffi_d_GENERAL_NAMES_free }, - { "GENERAL_NAMES_new", (void *)_cffi_f_GENERAL_NAMES_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 326), (void *)_cffi_d_GENERAL_NAMES_new }, - { "GENERAL_NAME_free", (void *)_cffi_f_GENERAL_NAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2688), (void *)_cffi_d_GENERAL_NAME_free }, - { "GENERAL_NAME_new", (void *)_cffi_f_GENERAL_NAME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 319), (void *)_cffi_d_GENERAL_NAME_new }, - { "GENERAL_NAME_print", (void *)_cffi_f_GENERAL_NAME_print, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 926), (void *)_cffi_d_GENERAL_NAME_print }, - { "GENERAL_SUBTREE_new", (void *)_cffi_f_GENERAL_SUBTREE_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 332), (void *)_cffi_d_GENERAL_SUBTREE_new }, + { "EVP_SignFinal", (void *)_cffi_f_EVP_SignFinal, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1392), (void *)_cffi_d_EVP_SignFinal }, + { "EVP_SignInit", (void *)_cffi_f_EVP_SignInit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1350), (void *)_cffi_d_EVP_SignInit }, + { "EVP_SignUpdate", (void *)_cffi_f_EVP_SignUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1411), (void *)_cffi_d_EVP_SignUpdate }, + { "EVP_VerifyFinal", (void *)_cffi_f_EVP_VerifyFinal, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1405), (void *)_cffi_d_EVP_VerifyFinal }, + { "EVP_VerifyInit", (void *)_cffi_f_EVP_VerifyInit, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1350), (void *)_cffi_d_EVP_VerifyInit }, + { "EVP_VerifyUpdate", (void *)_cffi_f_EVP_VerifyUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1411), (void *)_cffi_d_EVP_VerifyUpdate }, + { "EVP_get_cipherbyname", (void *)_cffi_f_EVP_get_cipherbyname, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 261), (void *)_cffi_d_EVP_get_cipherbyname }, + { "EVP_get_digestbyname", (void *)_cffi_f_EVP_get_digestbyname, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 266), (void *)_cffi_d_EVP_get_digestbyname }, + { "FIPS_mode", (void *)_cffi_f_FIPS_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_FIPS_mode }, + { "FIPS_mode_set", (void *)_cffi_f_FIPS_mode_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2191), (void *)_cffi_d_FIPS_mode_set }, + { "GENERAL_NAMES_free", (void *)_cffi_f_GENERAL_NAMES_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2691), (void *)_cffi_d_GENERAL_NAMES_free }, + { "GENERAL_NAMES_new", (void *)_cffi_f_GENERAL_NAMES_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 326), (void *)_cffi_d_GENERAL_NAMES_new }, + { "GENERAL_NAME_free", (void *)_cffi_f_GENERAL_NAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2688), (void *)_cffi_d_GENERAL_NAME_free }, + { "GENERAL_NAME_new", (void *)_cffi_f_GENERAL_NAME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 319), (void *)_cffi_d_GENERAL_NAME_new }, + { "GENERAL_NAME_print", (void *)_cffi_f_GENERAL_NAME_print, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 926), (void *)_cffi_d_GENERAL_NAME_print }, + { "GENERAL_SUBTREE_new", (void *)_cffi_f_GENERAL_SUBTREE_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 332), (void *)_cffi_d_GENERAL_SUBTREE_new }, { "GEN_DIRNAME", (void *)_cffi_const_GEN_DIRNAME, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "GEN_DNS", (void *)_cffi_const_GEN_DNS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "GEN_EDIPARTY", (void *)_cffi_const_GEN_EDIPARTY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -54094,83 +54094,83 @@ static const struct _cffi_global_s _cffi_globals[] = { { "GEN_RID", (void *)_cffi_const_GEN_RID, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "GEN_URI", (void *)_cffi_const_GEN_URI, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "GEN_X400", (void *)_cffi_const_GEN_X400, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "HMAC_CTX_copy", (void *)_cffi_f_HMAC_CTX_copy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1514), (void *)_cffi_d_HMAC_CTX_copy }, - { "HMAC_CTX_free", (void *)_cffi_f_HMAC_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2698), (void *)_cffi_d_HMAC_CTX_free }, - { "HMAC_CTX_new", (void *)_cffi_f_HMAC_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 334), (void *)_cffi_d_HMAC_CTX_new }, - { "HMAC_Final", (void *)_cffi_f_HMAC_Final, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1518), (void *)_cffi_d_HMAC_Final }, - { "HMAC_Init_ex", (void *)_cffi_f_HMAC_Init_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1528), (void *)_cffi_d_HMAC_Init_ex }, - { "HMAC_Update", (void *)_cffi_f_HMAC_Update, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1523), (void *)_cffi_d_HMAC_Update }, - { "ISSUING_DIST_POINT_free", (void *)_cffi_f_ISSUING_DIST_POINT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2701), (void *)_cffi_d_ISSUING_DIST_POINT_free }, - { "ISSUING_DIST_POINT_new", (void *)_cffi_f_ISSUING_DIST_POINT_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 336), (void *)_cffi_d_ISSUING_DIST_POINT_new }, + { "HMAC_CTX_copy", (void *)_cffi_f_HMAC_CTX_copy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1514), (void *)_cffi_d_HMAC_CTX_copy }, + { "HMAC_CTX_free", (void *)_cffi_f_HMAC_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2698), (void *)_cffi_d_HMAC_CTX_free }, + { "HMAC_CTX_new", (void *)_cffi_f_HMAC_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 334), (void *)_cffi_d_HMAC_CTX_new }, + { "HMAC_Final", (void *)_cffi_f_HMAC_Final, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1518), (void *)_cffi_d_HMAC_Final }, + { "HMAC_Init_ex", (void *)_cffi_f_HMAC_Init_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1528), (void *)_cffi_d_HMAC_Init_ex }, + { "HMAC_Update", (void *)_cffi_f_HMAC_Update, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1523), (void *)_cffi_d_HMAC_Update }, + { "ISSUING_DIST_POINT_free", (void *)_cffi_f_ISSUING_DIST_POINT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2701), (void *)_cffi_d_ISSUING_DIST_POINT_free }, + { "ISSUING_DIST_POINT_new", (void *)_cffi_f_ISSUING_DIST_POINT_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 336), (void *)_cffi_d_ISSUING_DIST_POINT_new }, { "MBSTRING_UTF8", (void *)_cffi_const_MBSTRING_UTF8, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "NAME_CONSTRAINTS_free", (void *)_cffi_f_NAME_CONSTRAINTS_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2704), (void *)_cffi_d_NAME_CONSTRAINTS_free }, - { "NAME_CONSTRAINTS_new", (void *)_cffi_f_NAME_CONSTRAINTS_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 338), (void *)_cffi_d_NAME_CONSTRAINTS_new }, - { "NETSCAPE_SPKI_b64_decode", (void *)_cffi_f_NETSCAPE_SPKI_b64_decode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 340), (void *)_cffi_d_NETSCAPE_SPKI_b64_decode }, - { "NETSCAPE_SPKI_b64_encode", (void *)_cffi_f_NETSCAPE_SPKI_b64_encode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 714), (void *)_cffi_d_NETSCAPE_SPKI_b64_encode }, - { "NETSCAPE_SPKI_free", (void *)_cffi_f_NETSCAPE_SPKI_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2707), (void *)_cffi_d_NETSCAPE_SPKI_free }, - { "NETSCAPE_SPKI_get_pubkey", (void *)_cffi_f_NETSCAPE_SPKI_get_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 287), (void *)_cffi_d_NETSCAPE_SPKI_get_pubkey }, - { "NETSCAPE_SPKI_new", (void *)_cffi_f_NETSCAPE_SPKI_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 344), (void *)_cffi_d_NETSCAPE_SPKI_new }, - { "NETSCAPE_SPKI_set_pubkey", (void *)_cffi_f_NETSCAPE_SPKI_set_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1535), (void *)_cffi_d_NETSCAPE_SPKI_set_pubkey }, - { "NETSCAPE_SPKI_sign", (void *)_cffi_f_NETSCAPE_SPKI_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1539), (void *)_cffi_d_NETSCAPE_SPKI_sign }, - { "NETSCAPE_SPKI_verify", (void *)_cffi_f_NETSCAPE_SPKI_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1535), (void *)_cffi_d_NETSCAPE_SPKI_verify }, - { "NID_ED25519", (void *)_cffi_const_NID_ED25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "NID_ED448", (void *)_cffi_const_NID_ED448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "NID_X25519", (void *)_cffi_const_NID_X25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "NID_X448", (void *)_cffi_const_NID_X448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "NAME_CONSTRAINTS_free", (void *)_cffi_f_NAME_CONSTRAINTS_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2704), (void *)_cffi_d_NAME_CONSTRAINTS_free }, + { "NAME_CONSTRAINTS_new", (void *)_cffi_f_NAME_CONSTRAINTS_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 338), (void *)_cffi_d_NAME_CONSTRAINTS_new }, + { "NETSCAPE_SPKI_b64_decode", (void *)_cffi_f_NETSCAPE_SPKI_b64_decode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 340), (void *)_cffi_d_NETSCAPE_SPKI_b64_decode }, + { "NETSCAPE_SPKI_b64_encode", (void *)_cffi_f_NETSCAPE_SPKI_b64_encode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 714), (void *)_cffi_d_NETSCAPE_SPKI_b64_encode }, + { "NETSCAPE_SPKI_free", (void *)_cffi_f_NETSCAPE_SPKI_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2707), (void *)_cffi_d_NETSCAPE_SPKI_free }, + { "NETSCAPE_SPKI_get_pubkey", (void *)_cffi_f_NETSCAPE_SPKI_get_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 287), (void *)_cffi_d_NETSCAPE_SPKI_get_pubkey }, + { "NETSCAPE_SPKI_new", (void *)_cffi_f_NETSCAPE_SPKI_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 344), (void *)_cffi_d_NETSCAPE_SPKI_new }, + { "NETSCAPE_SPKI_set_pubkey", (void *)_cffi_f_NETSCAPE_SPKI_set_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1535), (void *)_cffi_d_NETSCAPE_SPKI_set_pubkey }, + { "NETSCAPE_SPKI_sign", (void *)_cffi_f_NETSCAPE_SPKI_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1539), (void *)_cffi_d_NETSCAPE_SPKI_sign }, + { "NETSCAPE_SPKI_verify", (void *)_cffi_f_NETSCAPE_SPKI_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1535), (void *)_cffi_d_NETSCAPE_SPKI_verify }, + { "NID_ED25519", (void *)_cffi_const_NID_ED25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "NID_ED448", (void *)_cffi_const_NID_ED448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "NID_X25519", (void *)_cffi_const_NID_X25519, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "NID_X448", (void *)_cffi_const_NID_X448, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "NID_crl_reason", (void *)_cffi_const_NID_crl_reason, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "NID_pbe_WithSHA1And3_Key_TripleDES_CBC", (void *)_cffi_const_NID_pbe_WithSHA1And3_Key_TripleDES_CBC, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "NID_pkcs7_signed", (void *)_cffi_const_NID_pkcs7_signed, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "NID_poly1305", (void *)_cffi_const_NID_poly1305, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "NID_pkcs7_signed", (void *)_cffi_const_NID_pkcs7_signed, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "NID_poly1305", (void *)_cffi_const_NID_poly1305, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "NID_subject_alt_name", (void *)_cffi_const_NID_subject_alt_name, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "NID_undef", (void *)_cffi_const_NID_undef, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "NOTICEREF_free", (void *)_cffi_f_NOTICEREF_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2710), (void *)_cffi_d_NOTICEREF_free }, - { "NOTICEREF_new", (void *)_cffi_f_NOTICEREF_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 346), (void *)_cffi_d_NOTICEREF_new }, - { "OBJ_NAME_TYPE_MD_METH", (void *)_cffi_const_OBJ_NAME_TYPE_MD_METH, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "OBJ_nid2ln", (void *)_cffi_f_OBJ_nid2ln, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_OBJ_nid2ln }, - { "OBJ_nid2sn", (void *)_cffi_f_OBJ_nid2sn, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_OBJ_nid2sn }, - { "OBJ_obj2nid", (void *)_cffi_f_OBJ_obj2nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 764), (void *)_cffi_d_OBJ_obj2nid }, - { "OBJ_obj2txt", (void *)_cffi_f_OBJ_obj2txt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2154), (void *)_cffi_d_OBJ_obj2txt }, - { "OBJ_sn2nid", (void *)_cffi_f_OBJ_sn2nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2166), (void *)_cffi_d_OBJ_sn2nid }, - { "OBJ_txt2nid", (void *)_cffi_f_OBJ_txt2nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2166), (void *)_cffi_d_OBJ_txt2nid }, - { "OBJ_txt2obj", (void *)_cffi_f_OBJ_txt2obj, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 45), (void *)_cffi_d_OBJ_txt2obj }, - { "OCSP_BASICRESP_add_ext", (void *)_cffi_f_OCSP_BASICRESP_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1559), (void *)_cffi_d_OCSP_BASICRESP_add_ext }, - { "OCSP_BASICRESP_free", (void *)_cffi_f_OCSP_BASICRESP_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2713), (void *)_cffi_d_OCSP_BASICRESP_free }, - { "OCSP_BASICRESP_get_ext", (void *)_cffi_f_OCSP_BASICRESP_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 585), (void *)_cffi_d_OCSP_BASICRESP_get_ext }, - { "OCSP_BASICRESP_get_ext_count", (void *)_cffi_f_OCSP_BASICRESP_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1544), (void *)_cffi_d_OCSP_BASICRESP_get_ext_count }, - { "OCSP_BASICRESP_new", (void *)_cffi_f_OCSP_BASICRESP_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 351), (void *)_cffi_d_OCSP_BASICRESP_new }, - { "OCSP_CERTID_free", (void *)_cffi_f_OCSP_CERTID_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2716), (void *)_cffi_d_OCSP_CERTID_free }, - { "OCSP_NOCERTS", (void *)_cffi_const_OCSP_NOCERTS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "OCSP_REQUEST_add_ext", (void *)_cffi_f_OCSP_REQUEST_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1572), (void *)_cffi_d_OCSP_REQUEST_add_ext }, - { "OCSP_REQUEST_free", (void *)_cffi_f_OCSP_REQUEST_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2719), (void *)_cffi_d_OCSP_REQUEST_free }, - { "OCSP_REQUEST_get_ext", (void *)_cffi_f_OCSP_REQUEST_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 589), (void *)_cffi_d_OCSP_REQUEST_get_ext }, - { "OCSP_REQUEST_get_ext_count", (void *)_cffi_f_OCSP_REQUEST_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1569), (void *)_cffi_d_OCSP_REQUEST_get_ext_count }, - { "OCSP_REQUEST_new", (void *)_cffi_f_OCSP_REQUEST_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 376), (void *)_cffi_d_OCSP_REQUEST_new }, - { "OCSP_RESPID_KEY", (void *)_cffi_const_OCSP_RESPID_KEY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "OCSP_RESPONSE_free", (void *)_cffi_f_OCSP_RESPONSE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2722), (void *)_cffi_d_OCSP_RESPONSE_free }, - { "OCSP_SINGLERESP_get0_id", (void *)_cffi_f_OCSP_SINGLERESP_get0_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 361), (void *)_cffi_d_OCSP_SINGLERESP_get0_id }, - { "OCSP_SINGLERESP_get_ext", (void *)_cffi_f_OCSP_SINGLERESP_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 593), (void *)_cffi_d_OCSP_SINGLERESP_get_ext }, - { "OCSP_SINGLERESP_get_ext_count", (void *)_cffi_f_OCSP_SINGLERESP_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1584), (void *)_cffi_d_OCSP_SINGLERESP_get_ext_count }, - { "OCSP_basic_add1_cert", (void *)_cffi_f_OCSP_basic_add1_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1547), (void *)_cffi_d_OCSP_basic_add1_cert }, - { "OCSP_basic_add1_status", (void *)_cffi_f_OCSP_basic_add1_status, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 389), (void *)_cffi_d_OCSP_basic_add1_status }, - { "OCSP_basic_sign", (void *)_cffi_f_OCSP_basic_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1551), (void *)_cffi_d_OCSP_basic_sign }, - { "OCSP_cert_to_id", (void *)_cffi_f_OCSP_cert_to_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 353), (void *)_cffi_d_OCSP_cert_to_id }, - { "OCSP_id_get0_info", (void *)_cffi_f_OCSP_id_get0_info, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 767), (void *)_cffi_d_OCSP_id_get0_info }, - { "OCSP_onereq_get0_id", (void *)_cffi_f_OCSP_onereq_get0_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 358), (void *)_cffi_d_OCSP_onereq_get0_id }, - { "OCSP_request_add0_id", (void *)_cffi_f_OCSP_request_add0_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 364), (void *)_cffi_d_OCSP_request_add0_id }, - { "OCSP_request_onereq_count", (void *)_cffi_f_OCSP_request_onereq_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1569), (void *)_cffi_d_OCSP_request_onereq_count }, - { "OCSP_request_onereq_get0", (void *)_cffi_f_OCSP_request_onereq_get0, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 368), (void *)_cffi_d_OCSP_request_onereq_get0 }, - { "OCSP_resp_count", (void *)_cffi_f_OCSP_resp_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1544), (void *)_cffi_d_OCSP_resp_count }, - { "OCSP_resp_get0", (void *)_cffi_f_OCSP_resp_get0, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 398), (void *)_cffi_d_OCSP_resp_get0 }, - { "OCSP_resp_get0_certs", (void *)_cffi_f_OCSP_resp_get0_certs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 153), (void *)_cffi_d_OCSP_resp_get0_certs }, - { "OCSP_resp_get0_id", (void *)_cffi_f_OCSP_resp_get0_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1564), (void *)_cffi_d_OCSP_resp_get0_id }, - { "OCSP_resp_get0_produced_at", (void *)_cffi_f_OCSP_resp_get0_produced_at, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 16), (void *)_cffi_d_OCSP_resp_get0_produced_at }, - { "OCSP_resp_get0_respdata", (void *)_cffi_f_OCSP_resp_get0_respdata, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 378), (void *)_cffi_d_OCSP_resp_get0_respdata }, - { "OCSP_resp_get0_signature", (void *)_cffi_f_OCSP_resp_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 67), (void *)_cffi_d_OCSP_resp_get0_signature }, - { "OCSP_resp_get0_tbs_sigalg", (void *)_cffi_f_OCSP_resp_get0_tbs_sigalg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 544), (void *)_cffi_d_OCSP_resp_get0_tbs_sigalg }, - { "OCSP_response_create", (void *)_cffi_f_OCSP_response_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 385), (void *)_cffi_d_OCSP_response_create }, - { "OCSP_response_get1_basic", (void *)_cffi_f_OCSP_response_get1_basic, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 348), (void *)_cffi_d_OCSP_response_get1_basic }, - { "OCSP_response_status", (void *)_cffi_f_OCSP_response_status, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1581), (void *)_cffi_d_OCSP_response_status }, - { "OCSP_single_get0_status", (void *)_cffi_f_OCSP_single_get0_status, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1587), (void *)_cffi_d_OCSP_single_get0_status }, + { "NOTICEREF_free", (void *)_cffi_f_NOTICEREF_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2710), (void *)_cffi_d_NOTICEREF_free }, + { "NOTICEREF_new", (void *)_cffi_f_NOTICEREF_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 346), (void *)_cffi_d_NOTICEREF_new }, + { "OBJ_NAME_TYPE_MD_METH", (void *)_cffi_const_OBJ_NAME_TYPE_MD_METH, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "OBJ_nid2ln", (void *)_cffi_f_OBJ_nid2ln, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_OBJ_nid2ln }, + { "OBJ_nid2sn", (void *)_cffi_f_OBJ_nid2sn, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_OBJ_nid2sn }, + { "OBJ_obj2nid", (void *)_cffi_f_OBJ_obj2nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 764), (void *)_cffi_d_OBJ_obj2nid }, + { "OBJ_obj2txt", (void *)_cffi_f_OBJ_obj2txt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2154), (void *)_cffi_d_OBJ_obj2txt }, + { "OBJ_sn2nid", (void *)_cffi_f_OBJ_sn2nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2166), (void *)_cffi_d_OBJ_sn2nid }, + { "OBJ_txt2nid", (void *)_cffi_f_OBJ_txt2nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2166), (void *)_cffi_d_OBJ_txt2nid }, + { "OBJ_txt2obj", (void *)_cffi_f_OBJ_txt2obj, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 45), (void *)_cffi_d_OBJ_txt2obj }, + { "OCSP_BASICRESP_add_ext", (void *)_cffi_f_OCSP_BASICRESP_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1559), (void *)_cffi_d_OCSP_BASICRESP_add_ext }, + { "OCSP_BASICRESP_free", (void *)_cffi_f_OCSP_BASICRESP_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2713), (void *)_cffi_d_OCSP_BASICRESP_free }, + { "OCSP_BASICRESP_get_ext", (void *)_cffi_f_OCSP_BASICRESP_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 585), (void *)_cffi_d_OCSP_BASICRESP_get_ext }, + { "OCSP_BASICRESP_get_ext_count", (void *)_cffi_f_OCSP_BASICRESP_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1544), (void *)_cffi_d_OCSP_BASICRESP_get_ext_count }, + { "OCSP_BASICRESP_new", (void *)_cffi_f_OCSP_BASICRESP_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 351), (void *)_cffi_d_OCSP_BASICRESP_new }, + { "OCSP_CERTID_free", (void *)_cffi_f_OCSP_CERTID_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2716), (void *)_cffi_d_OCSP_CERTID_free }, + { "OCSP_NOCERTS", (void *)_cffi_const_OCSP_NOCERTS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "OCSP_REQUEST_add_ext", (void *)_cffi_f_OCSP_REQUEST_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1572), (void *)_cffi_d_OCSP_REQUEST_add_ext }, + { "OCSP_REQUEST_free", (void *)_cffi_f_OCSP_REQUEST_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2719), (void *)_cffi_d_OCSP_REQUEST_free }, + { "OCSP_REQUEST_get_ext", (void *)_cffi_f_OCSP_REQUEST_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 589), (void *)_cffi_d_OCSP_REQUEST_get_ext }, + { "OCSP_REQUEST_get_ext_count", (void *)_cffi_f_OCSP_REQUEST_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1569), (void *)_cffi_d_OCSP_REQUEST_get_ext_count }, + { "OCSP_REQUEST_new", (void *)_cffi_f_OCSP_REQUEST_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 376), (void *)_cffi_d_OCSP_REQUEST_new }, + { "OCSP_RESPID_KEY", (void *)_cffi_const_OCSP_RESPID_KEY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "OCSP_RESPONSE_free", (void *)_cffi_f_OCSP_RESPONSE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2722), (void *)_cffi_d_OCSP_RESPONSE_free }, + { "OCSP_SINGLERESP_get0_id", (void *)_cffi_f_OCSP_SINGLERESP_get0_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 361), (void *)_cffi_d_OCSP_SINGLERESP_get0_id }, + { "OCSP_SINGLERESP_get_ext", (void *)_cffi_f_OCSP_SINGLERESP_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 593), (void *)_cffi_d_OCSP_SINGLERESP_get_ext }, + { "OCSP_SINGLERESP_get_ext_count", (void *)_cffi_f_OCSP_SINGLERESP_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1584), (void *)_cffi_d_OCSP_SINGLERESP_get_ext_count }, + { "OCSP_basic_add1_cert", (void *)_cffi_f_OCSP_basic_add1_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1547), (void *)_cffi_d_OCSP_basic_add1_cert }, + { "OCSP_basic_add1_status", (void *)_cffi_f_OCSP_basic_add1_status, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 389), (void *)_cffi_d_OCSP_basic_add1_status }, + { "OCSP_basic_sign", (void *)_cffi_f_OCSP_basic_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1551), (void *)_cffi_d_OCSP_basic_sign }, + { "OCSP_cert_to_id", (void *)_cffi_f_OCSP_cert_to_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 353), (void *)_cffi_d_OCSP_cert_to_id }, + { "OCSP_id_get0_info", (void *)_cffi_f_OCSP_id_get0_info, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 767), (void *)_cffi_d_OCSP_id_get0_info }, + { "OCSP_onereq_get0_id", (void *)_cffi_f_OCSP_onereq_get0_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 358), (void *)_cffi_d_OCSP_onereq_get0_id }, + { "OCSP_request_add0_id", (void *)_cffi_f_OCSP_request_add0_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 364), (void *)_cffi_d_OCSP_request_add0_id }, + { "OCSP_request_onereq_count", (void *)_cffi_f_OCSP_request_onereq_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1569), (void *)_cffi_d_OCSP_request_onereq_count }, + { "OCSP_request_onereq_get0", (void *)_cffi_f_OCSP_request_onereq_get0, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 368), (void *)_cffi_d_OCSP_request_onereq_get0 }, + { "OCSP_resp_count", (void *)_cffi_f_OCSP_resp_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1544), (void *)_cffi_d_OCSP_resp_count }, + { "OCSP_resp_get0", (void *)_cffi_f_OCSP_resp_get0, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 398), (void *)_cffi_d_OCSP_resp_get0 }, + { "OCSP_resp_get0_certs", (void *)_cffi_f_OCSP_resp_get0_certs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 153), (void *)_cffi_d_OCSP_resp_get0_certs }, + { "OCSP_resp_get0_id", (void *)_cffi_f_OCSP_resp_get0_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1564), (void *)_cffi_d_OCSP_resp_get0_id }, + { "OCSP_resp_get0_produced_at", (void *)_cffi_f_OCSP_resp_get0_produced_at, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 16), (void *)_cffi_d_OCSP_resp_get0_produced_at }, + { "OCSP_resp_get0_respdata", (void *)_cffi_f_OCSP_resp_get0_respdata, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 378), (void *)_cffi_d_OCSP_resp_get0_respdata }, + { "OCSP_resp_get0_signature", (void *)_cffi_f_OCSP_resp_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 67), (void *)_cffi_d_OCSP_resp_get0_signature }, + { "OCSP_resp_get0_tbs_sigalg", (void *)_cffi_f_OCSP_resp_get0_tbs_sigalg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 544), (void *)_cffi_d_OCSP_resp_get0_tbs_sigalg }, + { "OCSP_response_create", (void *)_cffi_f_OCSP_response_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 385), (void *)_cffi_d_OCSP_response_create }, + { "OCSP_response_get1_basic", (void *)_cffi_f_OCSP_response_get1_basic, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 348), (void *)_cffi_d_OCSP_response_get1_basic }, + { "OCSP_response_status", (void *)_cffi_f_OCSP_response_status, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1581), (void *)_cffi_d_OCSP_response_status }, + { "OCSP_single_get0_status", (void *)_cffi_f_OCSP_single_get0_status, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1587), (void *)_cffi_d_OCSP_single_get0_status }, { "OPENSSL_BUILT_ON", (void *)_cffi_const_OPENSSL_BUILT_ON, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "OPENSSL_CFLAGS", (void *)_cffi_const_OPENSSL_CFLAGS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "OPENSSL_DIR", (void *)_cffi_const_OPENSSL_DIR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -54178,45 +54178,45 @@ static const struct _cffi_global_s _cffi_globals[] = { { "OPENSSL_PLATFORM", (void *)_cffi_const_OPENSSL_PLATFORM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "OPENSSL_VERSION", (void *)_cffi_const_OPENSSL_VERSION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "OPENSSL_VERSION_NUMBER", (void *)_cffi_const_OPENSSL_VERSION_NUMBER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "OPENSSL_VERSION_TEXT", (void *)_cffi_const_OPENSSL_VERSION_TEXT, _CFFI_OP(_CFFI_OP_CONSTANT, 46), (void *)0 }, - { "OPENSSL_cleanup", (void *)_cffi_f_OPENSSL_cleanup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_OPENSSL_cleanup }, - { "OPENSSL_config", (void *)_cffi_f_OPENSSL_config, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2970), (void *)_cffi_d_OPENSSL_config }, - { "OPENSSL_free", (void *)_cffi_f_OPENSSL_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2985), (void *)_cffi_d_OPENSSL_free }, - { "OPENSSL_malloc", (void *)_cffi_f_OPENSSL_malloc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2508), (void *)_cffi_d_OPENSSL_malloc }, - { "OPENSSL_no_config", (void *)_cffi_f_OPENSSL_no_config, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_OPENSSL_no_config }, - { "OTHERNAME_free", (void *)_cffi_f_OTHERNAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2725), (void *)_cffi_d_OTHERNAME_free }, - { "OTHERNAME_new", (void *)_cffi_f_OTHERNAME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 402), (void *)_cffi_d_OTHERNAME_new }, - { "OpenSSL_add_all_algorithms", (void *)_cffi_f_OpenSSL_add_all_algorithms, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_OpenSSL_add_all_algorithms }, - { "OpenSSL_version", (void *)_cffi_f_OpenSSL_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_OpenSSL_version }, - { "OpenSSL_version_num", (void *)_cffi_f_OpenSSL_version_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2476), (void *)_cffi_d_OpenSSL_version_num }, + { "OPENSSL_VERSION_TEXT", (void *)_cffi_const_OPENSSL_VERSION_TEXT, _CFFI_OP(_CFFI_OP_CONSTANT, 46), (void *)0 }, + { "OPENSSL_cleanup", (void *)_cffi_f_OPENSSL_cleanup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_OPENSSL_cleanup }, + { "OPENSSL_config", (void *)_cffi_f_OPENSSL_config, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2970), (void *)_cffi_d_OPENSSL_config }, + { "OPENSSL_free", (void *)_cffi_f_OPENSSL_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2985), (void *)_cffi_d_OPENSSL_free }, + { "OPENSSL_malloc", (void *)_cffi_f_OPENSSL_malloc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2508), (void *)_cffi_d_OPENSSL_malloc }, + { "OPENSSL_no_config", (void *)_cffi_f_OPENSSL_no_config, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_OPENSSL_no_config }, + { "OTHERNAME_free", (void *)_cffi_f_OTHERNAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2725), (void *)_cffi_d_OTHERNAME_free }, + { "OTHERNAME_new", (void *)_cffi_f_OTHERNAME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 402), (void *)_cffi_d_OTHERNAME_new }, + { "OpenSSL_add_all_algorithms", (void *)_cffi_f_OpenSSL_add_all_algorithms, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_OpenSSL_add_all_algorithms }, + { "OpenSSL_version", (void *)_cffi_f_OpenSSL_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_OpenSSL_version }, + { "OpenSSL_version_num", (void *)_cffi_f_OpenSSL_version_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2476), (void *)_cffi_d_OpenSSL_version_num }, { "PEM_R_UNSUPPORTED_ENCRYPTION", (void *)_cffi_const_PEM_R_UNSUPPORTED_ENCRYPTION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "PEM_read_bio_DHparams", (void *)_cffi_f_PEM_read_bio_DHparams, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 189), (void *)_cffi_d_PEM_read_bio_DHparams }, - { "PEM_read_bio_PKCS7", (void *)_cffi_f_PEM_read_bio_PKCS7, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 428), (void *)_cffi_d_PEM_read_bio_PKCS7 }, - { "PEM_read_bio_PUBKEY", (void *)_cffi_f_PEM_read_bio_PUBKEY, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 275), (void *)_cffi_d_PEM_read_bio_PUBKEY }, - { "PEM_read_bio_PrivateKey", (void *)_cffi_f_PEM_read_bio_PrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 275), (void *)_cffi_d_PEM_read_bio_PrivateKey }, - { "PEM_read_bio_RSAPublicKey", (void *)_cffi_f_PEM_read_bio_RSAPublicKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 466), (void *)_cffi_d_PEM_read_bio_RSAPublicKey }, - { "PEM_read_bio_X509", (void *)_cffi_f_PEM_read_bio_X509, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 520), (void *)_cffi_d_PEM_read_bio_X509 }, - { "PEM_read_bio_X509_CRL", (void *)_cffi_f_PEM_read_bio_X509_CRL, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 558), (void *)_cffi_d_PEM_read_bio_X509_CRL }, - { "PEM_read_bio_X509_REQ", (void *)_cffi_f_PEM_read_bio_X509_REQ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 673), (void *)_cffi_d_PEM_read_bio_X509_REQ }, - { "PEM_write_bio_DHparams", (void *)_cffi_f_PEM_write_bio_DHparams, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 874), (void *)_cffi_d_PEM_write_bio_DHparams }, - { "PEM_write_bio_DHxparams", (void *)_cffi_f_PEM_write_bio_DHxparams, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 874), (void *)_cffi_d_PEM_write_bio_DHxparams }, - { "PEM_write_bio_DSAPrivateKey", (void *)_cffi_f_PEM_write_bio_DSAPrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 882), (void *)_cffi_d_PEM_write_bio_DSAPrivateKey }, - { "PEM_write_bio_ECPrivateKey", (void *)_cffi_f_PEM_write_bio_ECPrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 895), (void *)_cffi_d_PEM_write_bio_ECPrivateKey }, - { "PEM_write_bio_PKCS7", (void *)_cffi_f_PEM_write_bio_PKCS7, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 942), (void *)_cffi_d_PEM_write_bio_PKCS7 }, - { "PEM_write_bio_PKCS7_stream", (void *)_cffi_f_PEM_write_bio_PKCS7_stream, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 946), (void *)_cffi_d_PEM_write_bio_PKCS7_stream }, - { "PEM_write_bio_PKCS8PrivateKey", (void *)_cffi_f_PEM_write_bio_PKCS8PrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 908), (void *)_cffi_d_PEM_write_bio_PKCS8PrivateKey }, - { "PEM_write_bio_PUBKEY", (void *)_cffi_f_PEM_write_bio_PUBKEY, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 904), (void *)_cffi_d_PEM_write_bio_PUBKEY }, - { "PEM_write_bio_PrivateKey", (void *)_cffi_f_PEM_write_bio_PrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 917), (void *)_cffi_d_PEM_write_bio_PrivateKey }, - { "PEM_write_bio_RSAPrivateKey", (void *)_cffi_f_PEM_write_bio_RSAPrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 956), (void *)_cffi_d_PEM_write_bio_RSAPrivateKey }, - { "PEM_write_bio_RSAPublicKey", (void *)_cffi_f_PEM_write_bio_RSAPublicKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 965), (void *)_cffi_d_PEM_write_bio_RSAPublicKey }, - { "PEM_write_bio_X509", (void *)_cffi_f_PEM_write_bio_X509, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 974), (void *)_cffi_d_PEM_write_bio_X509 }, - { "PEM_write_bio_X509_CRL", (void *)_cffi_f_PEM_write_bio_X509_CRL, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 984), (void *)_cffi_d_PEM_write_bio_X509_CRL }, - { "PEM_write_bio_X509_REQ", (void *)_cffi_f_PEM_write_bio_X509_REQ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1000), (void *)_cffi_d_PEM_write_bio_X509_REQ }, + { "PEM_read_bio_DHparams", (void *)_cffi_f_PEM_read_bio_DHparams, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 189), (void *)_cffi_d_PEM_read_bio_DHparams }, + { "PEM_read_bio_PKCS7", (void *)_cffi_f_PEM_read_bio_PKCS7, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 428), (void *)_cffi_d_PEM_read_bio_PKCS7 }, + { "PEM_read_bio_PUBKEY", (void *)_cffi_f_PEM_read_bio_PUBKEY, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 275), (void *)_cffi_d_PEM_read_bio_PUBKEY }, + { "PEM_read_bio_PrivateKey", (void *)_cffi_f_PEM_read_bio_PrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 275), (void *)_cffi_d_PEM_read_bio_PrivateKey }, + { "PEM_read_bio_RSAPublicKey", (void *)_cffi_f_PEM_read_bio_RSAPublicKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 466), (void *)_cffi_d_PEM_read_bio_RSAPublicKey }, + { "PEM_read_bio_X509", (void *)_cffi_f_PEM_read_bio_X509, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 520), (void *)_cffi_d_PEM_read_bio_X509 }, + { "PEM_read_bio_X509_CRL", (void *)_cffi_f_PEM_read_bio_X509_CRL, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 558), (void *)_cffi_d_PEM_read_bio_X509_CRL }, + { "PEM_read_bio_X509_REQ", (void *)_cffi_f_PEM_read_bio_X509_REQ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 673), (void *)_cffi_d_PEM_read_bio_X509_REQ }, + { "PEM_write_bio_DHparams", (void *)_cffi_f_PEM_write_bio_DHparams, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 874), (void *)_cffi_d_PEM_write_bio_DHparams }, + { "PEM_write_bio_DHxparams", (void *)_cffi_f_PEM_write_bio_DHxparams, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 874), (void *)_cffi_d_PEM_write_bio_DHxparams }, + { "PEM_write_bio_DSAPrivateKey", (void *)_cffi_f_PEM_write_bio_DSAPrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 882), (void *)_cffi_d_PEM_write_bio_DSAPrivateKey }, + { "PEM_write_bio_ECPrivateKey", (void *)_cffi_f_PEM_write_bio_ECPrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 895), (void *)_cffi_d_PEM_write_bio_ECPrivateKey }, + { "PEM_write_bio_PKCS7", (void *)_cffi_f_PEM_write_bio_PKCS7, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 942), (void *)_cffi_d_PEM_write_bio_PKCS7 }, + { "PEM_write_bio_PKCS7_stream", (void *)_cffi_f_PEM_write_bio_PKCS7_stream, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 946), (void *)_cffi_d_PEM_write_bio_PKCS7_stream }, + { "PEM_write_bio_PKCS8PrivateKey", (void *)_cffi_f_PEM_write_bio_PKCS8PrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 908), (void *)_cffi_d_PEM_write_bio_PKCS8PrivateKey }, + { "PEM_write_bio_PUBKEY", (void *)_cffi_f_PEM_write_bio_PUBKEY, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 904), (void *)_cffi_d_PEM_write_bio_PUBKEY }, + { "PEM_write_bio_PrivateKey", (void *)_cffi_f_PEM_write_bio_PrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 917), (void *)_cffi_d_PEM_write_bio_PrivateKey }, + { "PEM_write_bio_RSAPrivateKey", (void *)_cffi_f_PEM_write_bio_RSAPrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 956), (void *)_cffi_d_PEM_write_bio_RSAPrivateKey }, + { "PEM_write_bio_RSAPublicKey", (void *)_cffi_f_PEM_write_bio_RSAPublicKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 965), (void *)_cffi_d_PEM_write_bio_RSAPublicKey }, + { "PEM_write_bio_X509", (void *)_cffi_f_PEM_write_bio_X509, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 974), (void *)_cffi_d_PEM_write_bio_X509 }, + { "PEM_write_bio_X509_CRL", (void *)_cffi_f_PEM_write_bio_X509_CRL, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 984), (void *)_cffi_d_PEM_write_bio_X509_CRL }, + { "PEM_write_bio_X509_REQ", (void *)_cffi_f_PEM_write_bio_X509_REQ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1000), (void *)_cffi_d_PEM_write_bio_X509_REQ }, { "PKCS12_R_PKCS12_CIPHERFINAL_ERROR", (void *)_cffi_const_PKCS12_R_PKCS12_CIPHERFINAL_ERROR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "PKCS12_create", (void *)_cffi_f_PKCS12_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 408), (void *)_cffi_d_PKCS12_create }, - { "PKCS12_free", (void *)_cffi_f_PKCS12_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2728), (void *)_cffi_d_PKCS12_free }, - { "PKCS12_parse", (void *)_cffi_f_PKCS12_parse, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1594), (void *)_cffi_d_PKCS12_parse }, - { "PKCS5_PBKDF2_HMAC", (void *)_cffi_f_PKCS5_PBKDF2_HMAC, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2169), (void *)_cffi_d_PKCS5_PBKDF2_HMAC }, + { "PKCS12_create", (void *)_cffi_f_PKCS12_create, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 408), (void *)_cffi_d_PKCS12_create }, + { "PKCS12_free", (void *)_cffi_f_PKCS12_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2728), (void *)_cffi_d_PKCS12_free }, + { "PKCS12_parse", (void *)_cffi_f_PKCS12_parse, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1594), (void *)_cffi_d_PKCS12_parse }, + { "PKCS5_PBKDF2_HMAC", (void *)_cffi_f_PKCS5_PBKDF2_HMAC, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2169), (void *)_cffi_d_PKCS5_PBKDF2_HMAC }, { "PKCS7_BINARY", (void *)_cffi_const_PKCS7_BINARY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "PKCS7_DETACHED", (void *)_cffi_const_PKCS7_DETACHED, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "PKCS7_NOATTR", (void *)_cffi_const_PKCS7_NOATTR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -54226,68 +54226,68 @@ static const struct _cffi_global_s _cffi_globals[] = { { "PKCS7_NOSIGS", (void *)_cffi_const_PKCS7_NOSIGS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "PKCS7_NOSMIMECAP", (void *)_cffi_const_PKCS7_NOSMIMECAP, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "PKCS7_NOVERIFY", (void *)_cffi_const_PKCS7_NOVERIFY, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "PKCS7_PARTIAL", (void *)_cffi_const_PKCS7_PARTIAL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "PKCS7_PARTIAL", (void *)_cffi_const_PKCS7_PARTIAL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "PKCS7_STREAM", (void *)_cffi_const_PKCS7_STREAM, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "PKCS7_TEXT", (void *)_cffi_const_PKCS7_TEXT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "PKCS7_final", (void *)_cffi_f_PKCS7_final, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1604), (void *)_cffi_d_PKCS7_final }, - { "PKCS7_free", (void *)_cffi_f_PKCS7_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2731), (void *)_cffi_d_PKCS7_free }, - { "PKCS7_sign", (void *)_cffi_f_PKCS7_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 434), (void *)_cffi_d_PKCS7_sign }, - { "PKCS7_sign_add_signer", (void *)_cffi_f_PKCS7_sign_add_signer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 441), (void *)_cffi_d_PKCS7_sign_add_signer }, - { "PKCS7_type_is_data", (void *)_cffi_f_PKCS7_type_is_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1601), (void *)_cffi_d_PKCS7_type_is_data }, - { "PKCS7_type_is_enveloped", (void *)_cffi_f_PKCS7_type_is_enveloped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1601), (void *)_cffi_d_PKCS7_type_is_enveloped }, - { "PKCS7_type_is_signed", (void *)_cffi_f_PKCS7_type_is_signed, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1601), (void *)_cffi_d_PKCS7_type_is_signed }, - { "PKCS7_type_is_signedAndEnveloped", (void *)_cffi_f_PKCS7_type_is_signedAndEnveloped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1601), (void *)_cffi_d_PKCS7_type_is_signedAndEnveloped }, - { "PKCS7_verify", (void *)_cffi_f_PKCS7_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1609), (void *)_cffi_d_PKCS7_verify }, + { "PKCS7_final", (void *)_cffi_f_PKCS7_final, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1604), (void *)_cffi_d_PKCS7_final }, + { "PKCS7_free", (void *)_cffi_f_PKCS7_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2731), (void *)_cffi_d_PKCS7_free }, + { "PKCS7_sign", (void *)_cffi_f_PKCS7_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 434), (void *)_cffi_d_PKCS7_sign }, + { "PKCS7_sign_add_signer", (void *)_cffi_f_PKCS7_sign_add_signer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 441), (void *)_cffi_d_PKCS7_sign_add_signer }, + { "PKCS7_type_is_data", (void *)_cffi_f_PKCS7_type_is_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1601), (void *)_cffi_d_PKCS7_type_is_data }, + { "PKCS7_type_is_enveloped", (void *)_cffi_f_PKCS7_type_is_enveloped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1601), (void *)_cffi_d_PKCS7_type_is_enveloped }, + { "PKCS7_type_is_signed", (void *)_cffi_f_PKCS7_type_is_signed, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1601), (void *)_cffi_d_PKCS7_type_is_signed }, + { "PKCS7_type_is_signedAndEnveloped", (void *)_cffi_f_PKCS7_type_is_signedAndEnveloped, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1601), (void *)_cffi_d_PKCS7_type_is_signedAndEnveloped }, + { "PKCS7_verify", (void *)_cffi_f_PKCS7_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1609), (void *)_cffi_d_PKCS7_verify }, { "POINT_CONVERSION_COMPRESSED", (void *)_cffi_const_POINT_CONVERSION_COMPRESSED, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, { "POINT_CONVERSION_UNCOMPRESSED", (void *)_cffi_const_POINT_CONVERSION_UNCOMPRESSED, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "POLICYINFO_free", (void *)_cffi_f_POLICYINFO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2734), (void *)_cffi_d_POLICYINFO_free }, - { "POLICYINFO_new", (void *)_cffi_f_POLICYINFO_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 452), (void *)_cffi_d_POLICYINFO_new }, - { "POLICYQUALINFO_free", (void *)_cffi_f_POLICYQUALINFO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2737), (void *)_cffi_d_POLICYQUALINFO_free }, - { "POLICYQUALINFO_new", (void *)_cffi_f_POLICYQUALINFO_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 458), (void *)_cffi_d_POLICYQUALINFO_new }, - { "POLICY_CONSTRAINTS_free", (void *)_cffi_f_POLICY_CONSTRAINTS_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2740), (void *)_cffi_d_POLICY_CONSTRAINTS_free }, - { "POLICY_CONSTRAINTS_new", (void *)_cffi_f_POLICY_CONSTRAINTS_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 460), (void *)_cffi_d_POLICY_CONSTRAINTS_new }, - { "RAND_add", (void *)_cffi_f_RAND_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2993), (void *)_cffi_d_RAND_add }, - { "RAND_bytes", (void *)_cffi_f_RAND_bytes, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2258), (void *)_cffi_d_RAND_bytes }, - { "RAND_set_rand_method", (void *)_cffi_f_RAND_set_rand_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1617), (void *)_cffi_d_RAND_set_rand_method }, - { "RAND_status", (void *)_cffi_f_RAND_status, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_RAND_status }, - { "RSAPublicKey_dup", (void *)_cffi_f_RSAPublicKey_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 475), (void *)_cffi_d_RSAPublicKey_dup }, + { "POLICYINFO_free", (void *)_cffi_f_POLICYINFO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2734), (void *)_cffi_d_POLICYINFO_free }, + { "POLICYINFO_new", (void *)_cffi_f_POLICYINFO_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 452), (void *)_cffi_d_POLICYINFO_new }, + { "POLICYQUALINFO_free", (void *)_cffi_f_POLICYQUALINFO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2737), (void *)_cffi_d_POLICYQUALINFO_free }, + { "POLICYQUALINFO_new", (void *)_cffi_f_POLICYQUALINFO_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 458), (void *)_cffi_d_POLICYQUALINFO_new }, + { "POLICY_CONSTRAINTS_free", (void *)_cffi_f_POLICY_CONSTRAINTS_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2740), (void *)_cffi_d_POLICY_CONSTRAINTS_free }, + { "POLICY_CONSTRAINTS_new", (void *)_cffi_f_POLICY_CONSTRAINTS_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 460), (void *)_cffi_d_POLICY_CONSTRAINTS_new }, + { "RAND_add", (void *)_cffi_f_RAND_add, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2993), (void *)_cffi_d_RAND_add }, + { "RAND_bytes", (void *)_cffi_f_RAND_bytes, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2258), (void *)_cffi_d_RAND_bytes }, + { "RAND_set_rand_method", (void *)_cffi_f_RAND_set_rand_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1617), (void *)_cffi_d_RAND_set_rand_method }, + { "RAND_status", (void *)_cffi_f_RAND_status, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_RAND_status }, + { "RSAPublicKey_dup", (void *)_cffi_f_RSAPublicKey_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 475), (void *)_cffi_d_RSAPublicKey_dup }, { "RSA_F4", (void *)_cffi_const_RSA_F4, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "RSA_NO_PADDING", (void *)_cffi_const_RSA_NO_PADDING, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "RSA_PKCS1_OAEP_PADDING", (void *)_cffi_const_RSA_PKCS1_OAEP_PADDING, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "RSA_PKCS1_PADDING", (void *)_cffi_const_RSA_PKCS1_PADDING, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "RSA_PKCS1_PSS_PADDING", (void *)_cffi_const_RSA_PKCS1_PSS_PADDING, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "RSA_blinding_on", (void *)_cffi_f_RSA_blinding_on, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1631), (void *)_cffi_d_RSA_blinding_on }, - { "RSA_check_key", (void *)_cffi_f_RSA_check_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1641), (void *)_cffi_d_RSA_check_key }, - { "RSA_free", (void *)_cffi_f_RSA_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2743), (void *)_cffi_d_RSA_free }, - { "RSA_generate_key_ex", (void *)_cffi_f_RSA_generate_key_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1635), (void *)_cffi_d_RSA_generate_key_ex }, - { "RSA_get0_crt_params", (void *)_cffi_f_RSA_get0_crt_params, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2751), (void *)_cffi_d_RSA_get0_crt_params }, - { "RSA_get0_factors", (void *)_cffi_f_RSA_get0_factors, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2746), (void *)_cffi_d_RSA_get0_factors }, - { "RSA_get0_key", (void *)_cffi_f_RSA_get0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2751), (void *)_cffi_d_RSA_get0_key }, - { "RSA_new", (void *)_cffi_f_RSA_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 478), (void *)_cffi_d_RSA_new }, - { "RSA_print", (void *)_cffi_f_RSA_print, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 969), (void *)_cffi_d_RSA_print }, - { "RSA_set0_crt_params", (void *)_cffi_f_RSA_set0_crt_params, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1625), (void *)_cffi_d_RSA_set0_crt_params }, - { "RSA_set0_factors", (void *)_cffi_f_RSA_set0_factors, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1620), (void *)_cffi_d_RSA_set0_factors }, - { "RSA_set0_key", (void *)_cffi_f_RSA_set0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1625), (void *)_cffi_d_RSA_set0_key }, - { "SCT_LIST_free", (void *)_cffi_f_SCT_LIST_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2614), (void *)_cffi_d_SCT_LIST_free }, - { "SCT_SOURCE_OCSP_STAPLED_RESPONSE", (void *)_cffi_const_SCT_SOURCE_OCSP_STAPLED_RESPONSE, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "SCT_SOURCE_TLS_EXTENSION", (void *)_cffi_const_SCT_SOURCE_TLS_EXTENSION, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "SCT_SOURCE_UNKNOWN", (void *)_cffi_const_SCT_SOURCE_UNKNOWN, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "SCT_SOURCE_X509V3_EXTENSION", (void *)_cffi_const_SCT_SOURCE_X509V3_EXTENSION, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "SCT_VERSION_NOT_SET", (void *)_cffi_const_SCT_VERSION_NOT_SET, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "SCT_VERSION_V1", (void *)_cffi_const_SCT_VERSION_V1, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, - { "SCT_get0_log_id", (void *)_cffi_f_SCT_get0_log_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2388), (void *)_cffi_d_SCT_get0_log_id }, - { "SCT_get0_signature", (void *)_cffi_f_SCT_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2388), (void *)_cffi_d_SCT_get0_signature }, - { "SCT_get_log_entry_type", (void *)_cffi_f_SCT_get_log_entry_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 746), (void *)_cffi_d_SCT_get_log_entry_type }, - { "SCT_get_timestamp", (void *)_cffi_f_SCT_get_timestamp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2410), (void *)_cffi_d_SCT_get_timestamp }, - { "SCT_get_version", (void *)_cffi_f_SCT_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2366), (void *)_cffi_d_SCT_get_version }, - { "SCT_new", (void *)_cffi_f_SCT_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 484), (void *)_cffi_d_SCT_new }, - { "SCT_set1_log_id", (void *)_cffi_f_SCT_set1_log_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1656), (void *)_cffi_d_SCT_set1_log_id }, - { "SCT_set_log_entry_type", (void *)_cffi_f_SCT_set_log_entry_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1644), (void *)_cffi_d_SCT_set_log_entry_type }, - { "SCT_set_source", (void *)_cffi_f_SCT_set_source, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1648), (void *)_cffi_d_SCT_set_source }, - { "SCT_set_timestamp", (void *)_cffi_f_SCT_set_timestamp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2757), (void *)_cffi_d_SCT_set_timestamp }, - { "SCT_set_version", (void *)_cffi_f_SCT_set_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1652), (void *)_cffi_d_SCT_set_version }, - { "SMIME_read_PKCS7", (void *)_cffi_f_SMIME_read_PKCS7, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 420), (void *)_cffi_d_SMIME_read_PKCS7 }, - { "SMIME_write_PKCS7", (void *)_cffi_f_SMIME_write_PKCS7, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 946), (void *)_cffi_d_SMIME_write_PKCS7 }, + { "RSA_blinding_on", (void *)_cffi_f_RSA_blinding_on, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1631), (void *)_cffi_d_RSA_blinding_on }, + { "RSA_check_key", (void *)_cffi_f_RSA_check_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1641), (void *)_cffi_d_RSA_check_key }, + { "RSA_free", (void *)_cffi_f_RSA_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2743), (void *)_cffi_d_RSA_free }, + { "RSA_generate_key_ex", (void *)_cffi_f_RSA_generate_key_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1635), (void *)_cffi_d_RSA_generate_key_ex }, + { "RSA_get0_crt_params", (void *)_cffi_f_RSA_get0_crt_params, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2751), (void *)_cffi_d_RSA_get0_crt_params }, + { "RSA_get0_factors", (void *)_cffi_f_RSA_get0_factors, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2746), (void *)_cffi_d_RSA_get0_factors }, + { "RSA_get0_key", (void *)_cffi_f_RSA_get0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2751), (void *)_cffi_d_RSA_get0_key }, + { "RSA_new", (void *)_cffi_f_RSA_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 478), (void *)_cffi_d_RSA_new }, + { "RSA_print", (void *)_cffi_f_RSA_print, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 969), (void *)_cffi_d_RSA_print }, + { "RSA_set0_crt_params", (void *)_cffi_f_RSA_set0_crt_params, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1625), (void *)_cffi_d_RSA_set0_crt_params }, + { "RSA_set0_factors", (void *)_cffi_f_RSA_set0_factors, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1620), (void *)_cffi_d_RSA_set0_factors }, + { "RSA_set0_key", (void *)_cffi_f_RSA_set0_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1625), (void *)_cffi_d_RSA_set0_key }, + { "SCT_LIST_free", (void *)_cffi_f_SCT_LIST_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2614), (void *)_cffi_d_SCT_LIST_free }, + { "SCT_SOURCE_OCSP_STAPLED_RESPONSE", (void *)_cffi_const_SCT_SOURCE_OCSP_STAPLED_RESPONSE, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, + { "SCT_SOURCE_TLS_EXTENSION", (void *)_cffi_const_SCT_SOURCE_TLS_EXTENSION, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, + { "SCT_SOURCE_UNKNOWN", (void *)_cffi_const_SCT_SOURCE_UNKNOWN, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, + { "SCT_SOURCE_X509V3_EXTENSION", (void *)_cffi_const_SCT_SOURCE_X509V3_EXTENSION, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, + { "SCT_VERSION_NOT_SET", (void *)_cffi_const_SCT_VERSION_NOT_SET, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, + { "SCT_VERSION_V1", (void *)_cffi_const_SCT_VERSION_V1, _CFFI_OP(_CFFI_OP_ENUM, -1), (void *)0 }, + { "SCT_get0_log_id", (void *)_cffi_f_SCT_get0_log_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2388), (void *)_cffi_d_SCT_get0_log_id }, + { "SCT_get0_signature", (void *)_cffi_f_SCT_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2388), (void *)_cffi_d_SCT_get0_signature }, + { "SCT_get_log_entry_type", (void *)_cffi_f_SCT_get_log_entry_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 746), (void *)_cffi_d_SCT_get_log_entry_type }, + { "SCT_get_timestamp", (void *)_cffi_f_SCT_get_timestamp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2410), (void *)_cffi_d_SCT_get_timestamp }, + { "SCT_get_version", (void *)_cffi_f_SCT_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2366), (void *)_cffi_d_SCT_get_version }, + { "SCT_new", (void *)_cffi_f_SCT_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 484), (void *)_cffi_d_SCT_new }, + { "SCT_set1_log_id", (void *)_cffi_f_SCT_set1_log_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1656), (void *)_cffi_d_SCT_set1_log_id }, + { "SCT_set_log_entry_type", (void *)_cffi_f_SCT_set_log_entry_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1644), (void *)_cffi_d_SCT_set_log_entry_type }, + { "SCT_set_source", (void *)_cffi_f_SCT_set_source, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1648), (void *)_cffi_d_SCT_set_source }, + { "SCT_set_timestamp", (void *)_cffi_f_SCT_set_timestamp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2757), (void *)_cffi_d_SCT_set_timestamp }, + { "SCT_set_version", (void *)_cffi_f_SCT_set_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1652), (void *)_cffi_d_SCT_set_version }, + { "SMIME_read_PKCS7", (void *)_cffi_f_SMIME_read_PKCS7, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 420), (void *)_cffi_d_SMIME_read_PKCS7 }, + { "SMIME_write_PKCS7", (void *)_cffi_f_SMIME_write_PKCS7, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 946), (void *)_cffi_d_SMIME_write_PKCS7 }, { "SSL3_RANDOM_SIZE", (void *)_cffi_const_SSL3_RANDOM_SIZE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSLEAY_BUILT_ON", (void *)_cffi_const_SSLEAY_BUILT_ON, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSLEAY_CFLAGS", (void *)_cffi_const_SSLEAY_CFLAGS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -54307,96 +54307,96 @@ static const struct _cffi_global_s _cffi_globals[] = { { "SSL_CB_READ_ALERT", (void *)_cffi_const_SSL_CB_READ_ALERT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_CB_WRITE", (void *)_cffi_const_SSL_CB_WRITE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_CB_WRITE_ALERT", (void *)_cffi_const_SSL_CB_WRITE_ALERT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "SSL_CIPHER_get_auth_nid", (void *)_cffi_f_SSL_CIPHER_get_auth_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_get_auth_nid }, - { "SSL_CIPHER_get_bits", (void *)_cffi_f_SSL_CIPHER_get_bits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1775), (void *)_cffi_d_SSL_CIPHER_get_bits }, - { "SSL_CIPHER_get_cipher_nid", (void *)_cffi_f_SSL_CIPHER_get_cipher_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_get_cipher_nid }, - { "SSL_CIPHER_get_digest_nid", (void *)_cffi_f_SSL_CIPHER_get_digest_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_get_digest_nid }, - { "SSL_CIPHER_get_id", (void *)_cffi_f_SSL_CIPHER_get_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2413), (void *)_cffi_d_SSL_CIPHER_get_id }, - { "SSL_CIPHER_get_kx_nid", (void *)_cffi_f_SSL_CIPHER_get_kx_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_get_kx_nid }, - { "SSL_CIPHER_get_name", (void *)_cffi_f_SSL_CIPHER_get_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 732), (void *)_cffi_d_SSL_CIPHER_get_name }, - { "SSL_CIPHER_get_version", (void *)_cffi_f_SSL_CIPHER_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 732), (void *)_cffi_d_SSL_CIPHER_get_version }, - { "SSL_CIPHER_is_aead", (void *)_cffi_f_SSL_CIPHER_is_aead, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_is_aead }, - { "SSL_CTX_add_client_CA", (void *)_cffi_f_SSL_CTX_add_client_CA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1786), (void *)_cffi_d_SSL_CTX_add_client_CA }, - { "SSL_CTX_add_client_custom_ext", (void *)_cffi_f_SSL_CTX_add_client_custom_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1818), (void *)_cffi_d_SSL_CTX_add_client_custom_ext }, - { "SSL_CTX_add_extra_chain_cert", (void *)_cffi_f_SSL_CTX_add_extra_chain_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2459), (void *)_cffi_d_SSL_CTX_add_extra_chain_cert }, - { "SSL_CTX_add_server_custom_ext", (void *)_cffi_f_SSL_CTX_add_server_custom_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1818), (void *)_cffi_d_SSL_CTX_add_server_custom_ext }, - { "SSL_CTX_check_private_key", (void *)_cffi_f_SSL_CTX_check_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1827), (void *)_cffi_d_SSL_CTX_check_private_key }, - { "SSL_CTX_clear_mode", (void *)_cffi_f_SSL_CTX_clear_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_clear_mode }, - { "SSL_CTX_clear_options", (void *)_cffi_f_SSL_CTX_clear_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_clear_options }, - { "SSL_CTX_free", (void *)_cffi_f_SSL_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2802), (void *)_cffi_d_SSL_CTX_free }, - { "SSL_CTX_get0_param", (void *)_cffi_f_SSL_CTX_get0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 700), (void *)_cffi_d_SSL_CTX_get0_param }, - { "SSL_CTX_get_cert_store", (void *)_cffi_f_SSL_CTX_get_cert_store, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 690), (void *)_cffi_d_SSL_CTX_get_cert_store }, - { "SSL_CTX_get_ex_data", (void *)_cffi_f_SSL_CTX_get_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2482), (void *)_cffi_d_SSL_CTX_get_ex_data }, - { "SSL_CTX_get_ex_new_index", (void *)_cffi_f_SSL_CTX_get_ex_new_index, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2234), (void *)_cffi_d_SSL_CTX_get_ex_new_index }, - { "SSL_CTX_get_info_callback", (void *)_cffi_f_SSL_CTX_get_info_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3003), (void *)_cffi_d_SSL_CTX_get_info_callback }, - { "SSL_CTX_get_keylog_callback", (void *)_cffi_f_SSL_CTX_get_keylog_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3000), (void *)_cffi_d_SSL_CTX_get_keylog_callback }, - { "SSL_CTX_get_max_proto_version", (void *)_cffi_f_SSL_CTX_get_max_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_get_max_proto_version }, - { "SSL_CTX_get_min_proto_version", (void *)_cffi_f_SSL_CTX_get_min_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_get_min_proto_version }, - { "SSL_CTX_get_mode", (void *)_cffi_f_SSL_CTX_get_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2448), (void *)_cffi_d_SSL_CTX_get_mode }, - { "SSL_CTX_get_options", (void *)_cffi_f_SSL_CTX_get_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2448), (void *)_cffi_d_SSL_CTX_get_options }, - { "SSL_CTX_get_read_ahead", (void *)_cffi_f_SSL_CTX_get_read_ahead, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_get_read_ahead }, - { "SSL_CTX_get_session_cache_mode", (void *)_cffi_f_SSL_CTX_get_session_cache_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2448), (void *)_cffi_d_SSL_CTX_get_session_cache_mode }, - { "SSL_CTX_get_timeout", (void *)_cffi_f_SSL_CTX_get_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2351), (void *)_cffi_d_SSL_CTX_get_timeout }, - { "SSL_CTX_get_verify_depth", (void *)_cffi_f_SSL_CTX_get_verify_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1827), (void *)_cffi_d_SSL_CTX_get_verify_depth }, - { "SSL_CTX_get_verify_mode", (void *)_cffi_f_SSL_CTX_get_verify_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1827), (void *)_cffi_d_SSL_CTX_get_verify_mode }, - { "SSL_CTX_load_verify_locations", (void *)_cffi_f_SSL_CTX_load_verify_locations, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1794), (void *)_cffi_d_SSL_CTX_load_verify_locations }, - { "SSL_CTX_new", (void *)_cffi_f_SSL_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 503), (void *)_cffi_d_SSL_CTX_new }, - { "SSL_CTX_sess_accept", (void *)_cffi_f_SSL_CTX_sess_accept, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_accept }, - { "SSL_CTX_sess_accept_good", (void *)_cffi_f_SSL_CTX_sess_accept_good, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_accept_good }, - { "SSL_CTX_sess_accept_renegotiate", (void *)_cffi_f_SSL_CTX_sess_accept_renegotiate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_accept_renegotiate }, - { "SSL_CTX_sess_cache_full", (void *)_cffi_f_SSL_CTX_sess_cache_full, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_cache_full }, - { "SSL_CTX_sess_cb_hits", (void *)_cffi_f_SSL_CTX_sess_cb_hits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_cb_hits }, - { "SSL_CTX_sess_connect", (void *)_cffi_f_SSL_CTX_sess_connect, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_connect }, - { "SSL_CTX_sess_connect_good", (void *)_cffi_f_SSL_CTX_sess_connect_good, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_connect_good }, - { "SSL_CTX_sess_connect_renegotiate", (void *)_cffi_f_SSL_CTX_sess_connect_renegotiate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_connect_renegotiate }, - { "SSL_CTX_sess_hits", (void *)_cffi_f_SSL_CTX_sess_hits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_hits }, - { "SSL_CTX_sess_misses", (void *)_cffi_f_SSL_CTX_sess_misses, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_misses }, - { "SSL_CTX_sess_number", (void *)_cffi_f_SSL_CTX_sess_number, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_number }, - { "SSL_CTX_sess_timeouts", (void *)_cffi_f_SSL_CTX_sess_timeouts, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_timeouts }, - { "SSL_CTX_set1_sigalgs_list", (void *)_cffi_f_SSL_CTX_set1_sigalgs_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2331), (void *)_cffi_d_SSL_CTX_set1_sigalgs_list }, - { "SSL_CTX_set_alpn_protos", (void *)_cffi_f_SSL_CTX_set_alpn_protos, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1813), (void *)_cffi_d_SSL_CTX_set_alpn_protos }, - { "SSL_CTX_set_alpn_select_cb", (void *)_cffi_f_SSL_CTX_set_alpn_select_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2821), (void *)_cffi_d_SSL_CTX_set_alpn_select_cb }, - { "SSL_CTX_set_cert_cb", (void *)_cffi_f_SSL_CTX_set_cert_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2826), (void *)_cffi_d_SSL_CTX_set_cert_cb }, - { "SSL_CTX_set_cert_store", (void *)_cffi_f_SSL_CTX_set_cert_store, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2809), (void *)_cffi_d_SSL_CTX_set_cert_store }, - { "SSL_CTX_set_cert_verify_callback", (void *)_cffi_f_SSL_CTX_set_cert_verify_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2831), (void *)_cffi_d_SSL_CTX_set_cert_verify_callback }, - { "SSL_CTX_set_cipher_list", (void *)_cffi_f_SSL_CTX_set_cipher_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_set_cipher_list }, - { "SSL_CTX_set_ciphersuites", (void *)_cffi_f_SSL_CTX_set_ciphersuites, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_set_ciphersuites }, - { "SSL_CTX_set_client_CA_list", (void *)_cffi_f_SSL_CTX_set_client_CA_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2805), (void *)_cffi_d_SSL_CTX_set_client_CA_list }, - { "SSL_CTX_set_cookie_generate_cb", (void *)_cffi_f_SSL_CTX_set_cookie_generate_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2817), (void *)_cffi_d_SSL_CTX_set_cookie_generate_cb }, - { "SSL_CTX_set_default_passwd_cb", (void *)_cffi_f_SSL_CTX_set_default_passwd_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2836), (void *)_cffi_d_SSL_CTX_set_default_passwd_cb }, - { "SSL_CTX_set_default_passwd_cb_userdata", (void *)_cffi_f_SSL_CTX_set_default_passwd_cb_userdata, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2857), (void *)_cffi_d_SSL_CTX_set_default_passwd_cb_userdata }, - { "SSL_CTX_set_default_verify_paths", (void *)_cffi_f_SSL_CTX_set_default_verify_paths, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1779), (void *)_cffi_d_SSL_CTX_set_default_verify_paths }, - { "SSL_CTX_set_ecdh_auto", (void *)_cffi_f_SSL_CTX_set_ecdh_auto, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2339), (void *)_cffi_d_SSL_CTX_set_ecdh_auto }, - { "SSL_CTX_set_ex_data", (void *)_cffi_f_SSL_CTX_set_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1804), (void *)_cffi_d_SSL_CTX_set_ex_data }, - { "SSL_CTX_set_info_callback", (void *)_cffi_f_SSL_CTX_set_info_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2865), (void *)_cffi_d_SSL_CTX_set_info_callback }, - { "SSL_CTX_set_keylog_callback", (void *)_cffi_f_SSL_CTX_set_keylog_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2861), (void *)_cffi_d_SSL_CTX_set_keylog_callback }, - { "SSL_CTX_set_max_early_data", (void *)_cffi_f_SSL_CTX_set_max_early_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1809), (void *)_cffi_d_SSL_CTX_set_max_early_data }, - { "SSL_CTX_set_max_proto_version", (void *)_cffi_f_SSL_CTX_set_max_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2339), (void *)_cffi_d_SSL_CTX_set_max_proto_version }, - { "SSL_CTX_set_min_proto_version", (void *)_cffi_f_SSL_CTX_set_min_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2339), (void *)_cffi_d_SSL_CTX_set_min_proto_version }, - { "SSL_CTX_set_mode", (void *)_cffi_f_SSL_CTX_set_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_set_mode }, - { "SSL_CTX_set_options", (void *)_cffi_f_SSL_CTX_set_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_set_options }, - { "SSL_CTX_set_post_handshake_auth", (void *)_cffi_f_SSL_CTX_set_post_handshake_auth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2840), (void *)_cffi_d_SSL_CTX_set_post_handshake_auth }, - { "SSL_CTX_set_psk_client_callback", (void *)_cffi_f_SSL_CTX_set_psk_client_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2849), (void *)_cffi_d_SSL_CTX_set_psk_client_callback }, - { "SSL_CTX_set_psk_server_callback", (void *)_cffi_f_SSL_CTX_set_psk_server_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2853), (void *)_cffi_d_SSL_CTX_set_psk_server_callback }, - { "SSL_CTX_set_read_ahead", (void *)_cffi_f_SSL_CTX_set_read_ahead, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2343), (void *)_cffi_d_SSL_CTX_set_read_ahead }, - { "SSL_CTX_set_session_cache_mode", (void *)_cffi_f_SSL_CTX_set_session_cache_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_set_session_cache_mode }, - { "SSL_CTX_set_session_id_context", (void *)_cffi_f_SSL_CTX_set_session_id_context, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1813), (void *)_cffi_d_SSL_CTX_set_session_id_context }, - { "SSL_CTX_set_timeout", (void *)_cffi_f_SSL_CTX_set_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2343), (void *)_cffi_d_SSL_CTX_set_timeout }, - { "SSL_CTX_set_tlsext_servername_arg", (void *)_cffi_f_SSL_CTX_set_tlsext_servername_arg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2857), (void *)_cffi_d_SSL_CTX_set_tlsext_servername_arg }, - { "SSL_CTX_set_tlsext_servername_callback", (void *)_cffi_f_SSL_CTX_set_tlsext_servername_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2813), (void *)_cffi_d_SSL_CTX_set_tlsext_servername_callback }, - { "SSL_CTX_set_tlsext_status_arg", (void *)_cffi_f_SSL_CTX_set_tlsext_status_arg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2347), (void *)_cffi_d_SSL_CTX_set_tlsext_status_arg }, - { "SSL_CTX_set_tlsext_status_cb", (void *)_cffi_f_SSL_CTX_set_tlsext_status_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2335), (void *)_cffi_d_SSL_CTX_set_tlsext_status_cb }, - { "SSL_CTX_set_tlsext_use_srtp", (void *)_cffi_f_SSL_CTX_set_tlsext_use_srtp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_set_tlsext_use_srtp }, - { "SSL_CTX_set_tmp_dh", (void *)_cffi_f_SSL_CTX_set_tmp_dh, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2451), (void *)_cffi_d_SSL_CTX_set_tmp_dh }, - { "SSL_CTX_set_tmp_ecdh", (void *)_cffi_f_SSL_CTX_set_tmp_ecdh, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2455), (void *)_cffi_d_SSL_CTX_set_tmp_ecdh }, - { "SSL_CTX_set_verify", (void *)_cffi_f_SSL_CTX_set_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2844), (void *)_cffi_d_SSL_CTX_set_verify }, - { "SSL_CTX_set_verify_depth", (void *)_cffi_f_SSL_CTX_set_verify_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2840), (void *)_cffi_d_SSL_CTX_set_verify_depth }, - { "SSL_CTX_use_PrivateKey", (void *)_cffi_f_SSL_CTX_use_PrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1782), (void *)_cffi_d_SSL_CTX_use_PrivateKey }, - { "SSL_CTX_use_PrivateKey_file", (void *)_cffi_f_SSL_CTX_use_PrivateKey_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1799), (void *)_cffi_d_SSL_CTX_use_PrivateKey_file }, - { "SSL_CTX_use_certificate", (void *)_cffi_f_SSL_CTX_use_certificate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1786), (void *)_cffi_d_SSL_CTX_use_certificate }, - { "SSL_CTX_use_certificate_chain_file", (void *)_cffi_f_SSL_CTX_use_certificate_chain_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_use_certificate_chain_file }, - { "SSL_CTX_use_certificate_file", (void *)_cffi_f_SSL_CTX_use_certificate_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1799), (void *)_cffi_d_SSL_CTX_use_certificate_file }, - { "SSL_CTX_use_psk_identity_hint", (void *)_cffi_f_SSL_CTX_use_psk_identity_hint, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_use_psk_identity_hint }, + { "SSL_CIPHER_get_auth_nid", (void *)_cffi_f_SSL_CIPHER_get_auth_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_get_auth_nid }, + { "SSL_CIPHER_get_bits", (void *)_cffi_f_SSL_CIPHER_get_bits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1775), (void *)_cffi_d_SSL_CIPHER_get_bits }, + { "SSL_CIPHER_get_cipher_nid", (void *)_cffi_f_SSL_CIPHER_get_cipher_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_get_cipher_nid }, + { "SSL_CIPHER_get_digest_nid", (void *)_cffi_f_SSL_CIPHER_get_digest_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_get_digest_nid }, + { "SSL_CIPHER_get_id", (void *)_cffi_f_SSL_CIPHER_get_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2413), (void *)_cffi_d_SSL_CIPHER_get_id }, + { "SSL_CIPHER_get_kx_nid", (void *)_cffi_f_SSL_CIPHER_get_kx_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_get_kx_nid }, + { "SSL_CIPHER_get_name", (void *)_cffi_f_SSL_CIPHER_get_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 732), (void *)_cffi_d_SSL_CIPHER_get_name }, + { "SSL_CIPHER_get_version", (void *)_cffi_f_SSL_CIPHER_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 732), (void *)_cffi_d_SSL_CIPHER_get_version }, + { "SSL_CIPHER_is_aead", (void *)_cffi_f_SSL_CIPHER_is_aead, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1772), (void *)_cffi_d_SSL_CIPHER_is_aead }, + { "SSL_CTX_add_client_CA", (void *)_cffi_f_SSL_CTX_add_client_CA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1786), (void *)_cffi_d_SSL_CTX_add_client_CA }, + { "SSL_CTX_add_client_custom_ext", (void *)_cffi_f_SSL_CTX_add_client_custom_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1818), (void *)_cffi_d_SSL_CTX_add_client_custom_ext }, + { "SSL_CTX_add_extra_chain_cert", (void *)_cffi_f_SSL_CTX_add_extra_chain_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2459), (void *)_cffi_d_SSL_CTX_add_extra_chain_cert }, + { "SSL_CTX_add_server_custom_ext", (void *)_cffi_f_SSL_CTX_add_server_custom_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1818), (void *)_cffi_d_SSL_CTX_add_server_custom_ext }, + { "SSL_CTX_check_private_key", (void *)_cffi_f_SSL_CTX_check_private_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1827), (void *)_cffi_d_SSL_CTX_check_private_key }, + { "SSL_CTX_clear_mode", (void *)_cffi_f_SSL_CTX_clear_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_clear_mode }, + { "SSL_CTX_clear_options", (void *)_cffi_f_SSL_CTX_clear_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_clear_options }, + { "SSL_CTX_free", (void *)_cffi_f_SSL_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2802), (void *)_cffi_d_SSL_CTX_free }, + { "SSL_CTX_get0_param", (void *)_cffi_f_SSL_CTX_get0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 700), (void *)_cffi_d_SSL_CTX_get0_param }, + { "SSL_CTX_get_cert_store", (void *)_cffi_f_SSL_CTX_get_cert_store, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 690), (void *)_cffi_d_SSL_CTX_get_cert_store }, + { "SSL_CTX_get_ex_data", (void *)_cffi_f_SSL_CTX_get_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2482), (void *)_cffi_d_SSL_CTX_get_ex_data }, + { "SSL_CTX_get_ex_new_index", (void *)_cffi_f_SSL_CTX_get_ex_new_index, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2234), (void *)_cffi_d_SSL_CTX_get_ex_new_index }, + { "SSL_CTX_get_info_callback", (void *)_cffi_f_SSL_CTX_get_info_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3003), (void *)_cffi_d_SSL_CTX_get_info_callback }, + { "SSL_CTX_get_keylog_callback", (void *)_cffi_f_SSL_CTX_get_keylog_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 3000), (void *)_cffi_d_SSL_CTX_get_keylog_callback }, + { "SSL_CTX_get_max_proto_version", (void *)_cffi_f_SSL_CTX_get_max_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_get_max_proto_version }, + { "SSL_CTX_get_min_proto_version", (void *)_cffi_f_SSL_CTX_get_min_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_get_min_proto_version }, + { "SSL_CTX_get_mode", (void *)_cffi_f_SSL_CTX_get_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2448), (void *)_cffi_d_SSL_CTX_get_mode }, + { "SSL_CTX_get_options", (void *)_cffi_f_SSL_CTX_get_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2448), (void *)_cffi_d_SSL_CTX_get_options }, + { "SSL_CTX_get_read_ahead", (void *)_cffi_f_SSL_CTX_get_read_ahead, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_get_read_ahead }, + { "SSL_CTX_get_session_cache_mode", (void *)_cffi_f_SSL_CTX_get_session_cache_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2448), (void *)_cffi_d_SSL_CTX_get_session_cache_mode }, + { "SSL_CTX_get_timeout", (void *)_cffi_f_SSL_CTX_get_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2351), (void *)_cffi_d_SSL_CTX_get_timeout }, + { "SSL_CTX_get_verify_depth", (void *)_cffi_f_SSL_CTX_get_verify_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1827), (void *)_cffi_d_SSL_CTX_get_verify_depth }, + { "SSL_CTX_get_verify_mode", (void *)_cffi_f_SSL_CTX_get_verify_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1827), (void *)_cffi_d_SSL_CTX_get_verify_mode }, + { "SSL_CTX_load_verify_locations", (void *)_cffi_f_SSL_CTX_load_verify_locations, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1794), (void *)_cffi_d_SSL_CTX_load_verify_locations }, + { "SSL_CTX_new", (void *)_cffi_f_SSL_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 503), (void *)_cffi_d_SSL_CTX_new }, + { "SSL_CTX_sess_accept", (void *)_cffi_f_SSL_CTX_sess_accept, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_accept }, + { "SSL_CTX_sess_accept_good", (void *)_cffi_f_SSL_CTX_sess_accept_good, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_accept_good }, + { "SSL_CTX_sess_accept_renegotiate", (void *)_cffi_f_SSL_CTX_sess_accept_renegotiate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_accept_renegotiate }, + { "SSL_CTX_sess_cache_full", (void *)_cffi_f_SSL_CTX_sess_cache_full, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_cache_full }, + { "SSL_CTX_sess_cb_hits", (void *)_cffi_f_SSL_CTX_sess_cb_hits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_cb_hits }, + { "SSL_CTX_sess_connect", (void *)_cffi_f_SSL_CTX_sess_connect, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_connect }, + { "SSL_CTX_sess_connect_good", (void *)_cffi_f_SSL_CTX_sess_connect_good, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_connect_good }, + { "SSL_CTX_sess_connect_renegotiate", (void *)_cffi_f_SSL_CTX_sess_connect_renegotiate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_connect_renegotiate }, + { "SSL_CTX_sess_hits", (void *)_cffi_f_SSL_CTX_sess_hits, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_hits }, + { "SSL_CTX_sess_misses", (void *)_cffi_f_SSL_CTX_sess_misses, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_misses }, + { "SSL_CTX_sess_number", (void *)_cffi_f_SSL_CTX_sess_number, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_number }, + { "SSL_CTX_sess_timeouts", (void *)_cffi_f_SSL_CTX_sess_timeouts, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2328), (void *)_cffi_d_SSL_CTX_sess_timeouts }, + { "SSL_CTX_set1_sigalgs_list", (void *)_cffi_f_SSL_CTX_set1_sigalgs_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2331), (void *)_cffi_d_SSL_CTX_set1_sigalgs_list }, + { "SSL_CTX_set_alpn_protos", (void *)_cffi_f_SSL_CTX_set_alpn_protos, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1813), (void *)_cffi_d_SSL_CTX_set_alpn_protos }, + { "SSL_CTX_set_alpn_select_cb", (void *)_cffi_f_SSL_CTX_set_alpn_select_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2821), (void *)_cffi_d_SSL_CTX_set_alpn_select_cb }, + { "SSL_CTX_set_cert_cb", (void *)_cffi_f_SSL_CTX_set_cert_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2826), (void *)_cffi_d_SSL_CTX_set_cert_cb }, + { "SSL_CTX_set_cert_store", (void *)_cffi_f_SSL_CTX_set_cert_store, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2809), (void *)_cffi_d_SSL_CTX_set_cert_store }, + { "SSL_CTX_set_cert_verify_callback", (void *)_cffi_f_SSL_CTX_set_cert_verify_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2831), (void *)_cffi_d_SSL_CTX_set_cert_verify_callback }, + { "SSL_CTX_set_cipher_list", (void *)_cffi_f_SSL_CTX_set_cipher_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_set_cipher_list }, + { "SSL_CTX_set_ciphersuites", (void *)_cffi_f_SSL_CTX_set_ciphersuites, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_set_ciphersuites }, + { "SSL_CTX_set_client_CA_list", (void *)_cffi_f_SSL_CTX_set_client_CA_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2805), (void *)_cffi_d_SSL_CTX_set_client_CA_list }, + { "SSL_CTX_set_cookie_generate_cb", (void *)_cffi_f_SSL_CTX_set_cookie_generate_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2817), (void *)_cffi_d_SSL_CTX_set_cookie_generate_cb }, + { "SSL_CTX_set_default_passwd_cb", (void *)_cffi_f_SSL_CTX_set_default_passwd_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2836), (void *)_cffi_d_SSL_CTX_set_default_passwd_cb }, + { "SSL_CTX_set_default_passwd_cb_userdata", (void *)_cffi_f_SSL_CTX_set_default_passwd_cb_userdata, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2857), (void *)_cffi_d_SSL_CTX_set_default_passwd_cb_userdata }, + { "SSL_CTX_set_default_verify_paths", (void *)_cffi_f_SSL_CTX_set_default_verify_paths, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1779), (void *)_cffi_d_SSL_CTX_set_default_verify_paths }, + { "SSL_CTX_set_ecdh_auto", (void *)_cffi_f_SSL_CTX_set_ecdh_auto, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2339), (void *)_cffi_d_SSL_CTX_set_ecdh_auto }, + { "SSL_CTX_set_ex_data", (void *)_cffi_f_SSL_CTX_set_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1804), (void *)_cffi_d_SSL_CTX_set_ex_data }, + { "SSL_CTX_set_info_callback", (void *)_cffi_f_SSL_CTX_set_info_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2865), (void *)_cffi_d_SSL_CTX_set_info_callback }, + { "SSL_CTX_set_keylog_callback", (void *)_cffi_f_SSL_CTX_set_keylog_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2861), (void *)_cffi_d_SSL_CTX_set_keylog_callback }, + { "SSL_CTX_set_max_early_data", (void *)_cffi_f_SSL_CTX_set_max_early_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1809), (void *)_cffi_d_SSL_CTX_set_max_early_data }, + { "SSL_CTX_set_max_proto_version", (void *)_cffi_f_SSL_CTX_set_max_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2339), (void *)_cffi_d_SSL_CTX_set_max_proto_version }, + { "SSL_CTX_set_min_proto_version", (void *)_cffi_f_SSL_CTX_set_min_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2339), (void *)_cffi_d_SSL_CTX_set_min_proto_version }, + { "SSL_CTX_set_mode", (void *)_cffi_f_SSL_CTX_set_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_set_mode }, + { "SSL_CTX_set_options", (void *)_cffi_f_SSL_CTX_set_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_set_options }, + { "SSL_CTX_set_post_handshake_auth", (void *)_cffi_f_SSL_CTX_set_post_handshake_auth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2840), (void *)_cffi_d_SSL_CTX_set_post_handshake_auth }, + { "SSL_CTX_set_psk_client_callback", (void *)_cffi_f_SSL_CTX_set_psk_client_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2849), (void *)_cffi_d_SSL_CTX_set_psk_client_callback }, + { "SSL_CTX_set_psk_server_callback", (void *)_cffi_f_SSL_CTX_set_psk_server_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2853), (void *)_cffi_d_SSL_CTX_set_psk_server_callback }, + { "SSL_CTX_set_read_ahead", (void *)_cffi_f_SSL_CTX_set_read_ahead, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2343), (void *)_cffi_d_SSL_CTX_set_read_ahead }, + { "SSL_CTX_set_session_cache_mode", (void *)_cffi_f_SSL_CTX_set_session_cache_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2463), (void *)_cffi_d_SSL_CTX_set_session_cache_mode }, + { "SSL_CTX_set_session_id_context", (void *)_cffi_f_SSL_CTX_set_session_id_context, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1813), (void *)_cffi_d_SSL_CTX_set_session_id_context }, + { "SSL_CTX_set_timeout", (void *)_cffi_f_SSL_CTX_set_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2343), (void *)_cffi_d_SSL_CTX_set_timeout }, + { "SSL_CTX_set_tlsext_servername_arg", (void *)_cffi_f_SSL_CTX_set_tlsext_servername_arg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2857), (void *)_cffi_d_SSL_CTX_set_tlsext_servername_arg }, + { "SSL_CTX_set_tlsext_servername_callback", (void *)_cffi_f_SSL_CTX_set_tlsext_servername_callback, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2813), (void *)_cffi_d_SSL_CTX_set_tlsext_servername_callback }, + { "SSL_CTX_set_tlsext_status_arg", (void *)_cffi_f_SSL_CTX_set_tlsext_status_arg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2347), (void *)_cffi_d_SSL_CTX_set_tlsext_status_arg }, + { "SSL_CTX_set_tlsext_status_cb", (void *)_cffi_f_SSL_CTX_set_tlsext_status_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2335), (void *)_cffi_d_SSL_CTX_set_tlsext_status_cb }, + { "SSL_CTX_set_tlsext_use_srtp", (void *)_cffi_f_SSL_CTX_set_tlsext_use_srtp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_set_tlsext_use_srtp }, + { "SSL_CTX_set_tmp_dh", (void *)_cffi_f_SSL_CTX_set_tmp_dh, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2451), (void *)_cffi_d_SSL_CTX_set_tmp_dh }, + { "SSL_CTX_set_tmp_ecdh", (void *)_cffi_f_SSL_CTX_set_tmp_ecdh, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2455), (void *)_cffi_d_SSL_CTX_set_tmp_ecdh }, + { "SSL_CTX_set_verify", (void *)_cffi_f_SSL_CTX_set_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2844), (void *)_cffi_d_SSL_CTX_set_verify }, + { "SSL_CTX_set_verify_depth", (void *)_cffi_f_SSL_CTX_set_verify_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2840), (void *)_cffi_d_SSL_CTX_set_verify_depth }, + { "SSL_CTX_use_PrivateKey", (void *)_cffi_f_SSL_CTX_use_PrivateKey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1782), (void *)_cffi_d_SSL_CTX_use_PrivateKey }, + { "SSL_CTX_use_PrivateKey_file", (void *)_cffi_f_SSL_CTX_use_PrivateKey_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1799), (void *)_cffi_d_SSL_CTX_use_PrivateKey_file }, + { "SSL_CTX_use_certificate", (void *)_cffi_f_SSL_CTX_use_certificate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1786), (void *)_cffi_d_SSL_CTX_use_certificate }, + { "SSL_CTX_use_certificate_chain_file", (void *)_cffi_f_SSL_CTX_use_certificate_chain_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_use_certificate_chain_file }, + { "SSL_CTX_use_certificate_file", (void *)_cffi_f_SSL_CTX_use_certificate_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1799), (void *)_cffi_d_SSL_CTX_use_certificate_file }, + { "SSL_CTX_use_psk_identity_hint", (void *)_cffi_f_SSL_CTX_use_psk_identity_hint, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1790), (void *)_cffi_d_SSL_CTX_use_psk_identity_hint }, { "SSL_ERROR_NONE", (void *)_cffi_const_SSL_ERROR_NONE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_ERROR_SSL", (void *)_cffi_const_SSL_ERROR_SSL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_ERROR_SYSCALL", (void *)_cffi_const_SSL_ERROR_SYSCALL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -54426,8 +54426,8 @@ static const struct _cffi_global_s _cffi_globals[] = { { "SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG", (void *)_cffi_const_SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG", (void *)_cffi_const_SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_NO_COMPRESSION", (void *)_cffi_const_SSL_OP_NO_COMPRESSION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "SSL_OP_NO_DTLSv1", (void *)_cffi_const_SSL_OP_NO_DTLSv1, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "SSL_OP_NO_DTLSv1_2", (void *)_cffi_const_SSL_OP_NO_DTLSv1_2, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "SSL_OP_NO_DTLSv1", (void *)_cffi_const_SSL_OP_NO_DTLSv1, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "SSL_OP_NO_DTLSv1_2", (void *)_cffi_const_SSL_OP_NO_DTLSv1_2, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_NO_QUERY_MTU", (void *)_cffi_const_SSL_OP_NO_QUERY_MTU, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_NO_SSLv2", (void *)_cffi_const_SSL_OP_NO_SSLv2, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_NO_SSLv3", (void *)_cffi_const_SSL_OP_NO_SSLv3, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -54435,7 +54435,7 @@ static const struct _cffi_global_s _cffi_globals[] = { { "SSL_OP_NO_TLSv1", (void *)_cffi_const_SSL_OP_NO_TLSv1, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_NO_TLSv1_1", (void *)_cffi_const_SSL_OP_NO_TLSv1_1, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_NO_TLSv1_2", (void *)_cffi_const_SSL_OP_NO_TLSv1_2, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "SSL_OP_NO_TLSv1_3", (void *)_cffi_const_SSL_OP_NO_TLSv1_3, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "SSL_OP_NO_TLSv1_3", (void *)_cffi_const_SSL_OP_NO_TLSv1_3, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_PKCS1_CHECK_1", (void *)_cffi_const_SSL_OP_PKCS1_CHECK_1, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_PKCS1_CHECK_2", (void *)_cffi_const_SSL_OP_PKCS1_CHECK_2, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_OP_SINGLE_DH_USE", (void *)_cffi_const_SSL_OP_SINGLE_DH_USE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -54447,15 +54447,15 @@ static const struct _cffi_global_s _cffi_globals[] = { { "SSL_OP_TLS_ROLLBACK_BUG", (void *)_cffi_const_SSL_OP_TLS_ROLLBACK_BUG, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_RECEIVED_SHUTDOWN", (void *)_cffi_const_SSL_RECEIVED_SHUTDOWN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_SENT_SHUTDOWN", (void *)_cffi_const_SSL_SENT_SHUTDOWN, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "SSL_SESSION_free", (void *)_cffi_f_SSL_SESSION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2869), (void *)_cffi_d_SSL_SESSION_free }, - { "SSL_SESSION_get_id", (void *)_cffi_f_SSL_SESSION_get_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2423), (void *)_cffi_d_SSL_SESSION_get_id }, - { "SSL_SESSION_get_master_key", (void *)_cffi_f_SSL_SESSION_get_master_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2402), (void *)_cffi_d_SSL_SESSION_get_master_key }, - { "SSL_SESSION_get_max_early_data", (void *)_cffi_f_SSL_SESSION_get_max_early_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2407), (void *)_cffi_d_SSL_SESSION_get_max_early_data }, - { "SSL_SESSION_get_ticket_lifetime_hint", (void *)_cffi_f_SSL_SESSION_get_ticket_lifetime_hint, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2354), (void *)_cffi_d_SSL_SESSION_get_ticket_lifetime_hint }, - { "SSL_SESSION_get_time", (void *)_cffi_f_SSL_SESSION_get_time, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2354), (void *)_cffi_d_SSL_SESSION_get_time }, - { "SSL_SESSION_get_timeout", (void *)_cffi_f_SSL_SESSION_get_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2354), (void *)_cffi_d_SSL_SESSION_get_timeout }, - { "SSL_SESSION_has_ticket", (void *)_cffi_f_SSL_SESSION_has_ticket, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1835), (void *)_cffi_d_SSL_SESSION_has_ticket }, - { "SSL_SESSION_set1_id_context", (void *)_cffi_f_SSL_SESSION_set1_id_context, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1830), (void *)_cffi_d_SSL_SESSION_set1_id_context }, + { "SSL_SESSION_free", (void *)_cffi_f_SSL_SESSION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2869), (void *)_cffi_d_SSL_SESSION_free }, + { "SSL_SESSION_get_id", (void *)_cffi_f_SSL_SESSION_get_id, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2423), (void *)_cffi_d_SSL_SESSION_get_id }, + { "SSL_SESSION_get_master_key", (void *)_cffi_f_SSL_SESSION_get_master_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2402), (void *)_cffi_d_SSL_SESSION_get_master_key }, + { "SSL_SESSION_get_max_early_data", (void *)_cffi_f_SSL_SESSION_get_max_early_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2407), (void *)_cffi_d_SSL_SESSION_get_max_early_data }, + { "SSL_SESSION_get_ticket_lifetime_hint", (void *)_cffi_f_SSL_SESSION_get_ticket_lifetime_hint, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2354), (void *)_cffi_d_SSL_SESSION_get_ticket_lifetime_hint }, + { "SSL_SESSION_get_time", (void *)_cffi_f_SSL_SESSION_get_time, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2354), (void *)_cffi_d_SSL_SESSION_get_time }, + { "SSL_SESSION_get_timeout", (void *)_cffi_f_SSL_SESSION_get_timeout, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2354), (void *)_cffi_d_SSL_SESSION_get_timeout }, + { "SSL_SESSION_has_ticket", (void *)_cffi_f_SSL_SESSION_has_ticket, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1835), (void *)_cffi_d_SSL_SESSION_has_ticket }, + { "SSL_SESSION_set1_id_context", (void *)_cffi_f_SSL_SESSION_set1_id_context, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1830), (void *)_cffi_d_SSL_SESSION_set1_id_context }, { "SSL_SESS_CACHE_BOTH", (void *)_cffi_const_SSL_SESS_CACHE_BOTH, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_SESS_CACHE_CLIENT", (void *)_cffi_const_SSL_SESS_CACHE_CLIENT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_SESS_CACHE_NO_AUTO_CLEAR", (void *)_cffi_const_SSL_SESS_CACHE_NO_AUTO_CLEAR, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -54478,263 +54478,263 @@ static const struct _cffi_global_s _cffi_globals[] = { { "SSL_VERIFY_FAIL_IF_NO_PEER_CERT", (void *)_cffi_const_SSL_VERIFY_FAIL_IF_NO_PEER_CERT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_VERIFY_NONE", (void *)_cffi_const_SSL_VERIFY_NONE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "SSL_VERIFY_PEER", (void *)_cffi_const_SSL_VERIFY_PEER, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "SSL_VERIFY_POST_HANDSHAKE", (void *)_cffi_const_SSL_VERIFY_POST_HANDSHAKE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "SSL_clear_mode", (void *)_cffi_f_SSL_clear_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2444), (void *)_cffi_d_SSL_clear_mode }, - { "SSL_do_handshake", (void *)_cffi_f_SSL_do_handshake, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_do_handshake }, - { "SSL_export_keying_material", (void *)_cffi_f_SSL_export_keying_material, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1695), (void *)_cffi_d_SSL_export_keying_material }, - { "SSL_extension_supported", (void *)_cffi_f_SSL_extension_supported, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2262), (void *)_cffi_d_SSL_extension_supported }, - { "SSL_free", (void *)_cffi_f_SSL_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2761), (void *)_cffi_d_SSL_free }, - { "SSL_get0_alpn_selected", (void *)_cffi_f_SSL_get0_alpn_selected, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2797), (void *)_cffi_d_SSL_get0_alpn_selected }, - { "SSL_get0_param", (void *)_cffi_f_SSL_get0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 697), (void *)_cffi_d_SSL_get0_param }, - { "SSL_get0_verified_chain", (void *)_cffi_f_SSL_get0_verified_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 156), (void *)_cffi_d_SSL_get0_verified_chain }, - { "SSL_get1_session", (void *)_cffi_f_SSL_get1_session, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 508), (void *)_cffi_d_SSL_get1_session }, - { "SSL_get_certificate", (void *)_cffi_f_SSL_get_certificate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 530), (void *)_cffi_d_SSL_get_certificate }, - { "SSL_get_cipher_list", (void *)_cffi_f_SSL_get_cipher_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 728), (void *)_cffi_d_SSL_get_cipher_list }, - { "SSL_get_client_CA_list", (void *)_cffi_f_SSL_get_client_CA_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 166), (void *)_cffi_d_SSL_get_client_CA_list }, - { "SSL_get_client_random", (void *)_cffi_f_SSL_get_client_random, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2392), (void *)_cffi_d_SSL_get_client_random }, - { "SSL_get_current_cipher", (void *)_cffi_f_SSL_get_current_cipher, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 496), (void *)_cffi_d_SSL_get_current_cipher }, - { "SSL_get_error", (void *)_cffi_f_SSL_get_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1768), (void *)_cffi_d_SSL_get_error }, - { "SSL_get_ex_data", (void *)_cffi_f_SSL_get_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2478), (void *)_cffi_d_SSL_get_ex_data }, - { "SSL_get_ex_data_X509_STORE_CTX_idx", (void *)_cffi_f_SSL_get_ex_data_X509_STORE_CTX_idx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_SSL_get_ex_data_X509_STORE_CTX_idx }, - { "SSL_get_ex_new_index", (void *)_cffi_f_SSL_get_ex_new_index, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2234), (void *)_cffi_d_SSL_get_ex_new_index }, - { "SSL_get_finished", (void *)_cffi_f_SSL_get_finished, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2397), (void *)_cffi_d_SSL_get_finished }, - { "SSL_get_max_proto_version", (void *)_cffi_f_SSL_get_max_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_get_max_proto_version }, - { "SSL_get_min_proto_version", (void *)_cffi_f_SSL_get_min_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_get_min_proto_version }, - { "SSL_get_mode", (void *)_cffi_f_SSL_get_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2441), (void *)_cffi_d_SSL_get_mode }, - { "SSL_get_options", (void *)_cffi_f_SSL_get_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2441), (void *)_cffi_d_SSL_get_options }, - { "SSL_get_peer_cert_chain", (void *)_cffi_f_SSL_get_peer_cert_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 156), (void *)_cffi_d_SSL_get_peer_cert_chain }, - { "SSL_get_peer_certificate", (void *)_cffi_f_SSL_get_peer_certificate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 530), (void *)_cffi_d_SSL_get_peer_certificate }, - { "SSL_get_peer_finished", (void *)_cffi_f_SSL_get_peer_finished, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2397), (void *)_cffi_d_SSL_get_peer_finished }, - { "SSL_get_secure_renegotiation_support", (void *)_cffi_f_SSL_get_secure_renegotiation_support, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_get_secure_renegotiation_support }, - { "SSL_get_selected_srtp_profile", (void *)_cffi_f_SSL_get_selected_srtp_profile, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 486), (void *)_cffi_d_SSL_get_selected_srtp_profile }, - { "SSL_get_server_random", (void *)_cffi_f_SSL_get_server_random, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2392), (void *)_cffi_d_SSL_get_server_random }, - { "SSL_get_server_tmp_key", (void *)_cffi_f_SSL_get_server_tmp_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2299), (void *)_cffi_d_SSL_get_server_tmp_key }, - { "SSL_get_servername", (void *)_cffi_f_SSL_get_servername, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 728), (void *)_cffi_d_SSL_get_servername }, - { "SSL_get_session", (void *)_cffi_f_SSL_get_session, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 511), (void *)_cffi_d_SSL_get_session }, - { "SSL_get_shutdown", (void *)_cffi_f_SSL_get_shutdown, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_get_shutdown }, - { "SSL_get_sigalgs", (void *)_cffi_f_SSL_get_sigalgs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1681), (void *)_cffi_d_SSL_get_sigalgs }, - { "SSL_get_tlsext_status_ocsp_resp", (void *)_cffi_f_SSL_get_tlsext_status_ocsp_resp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2321), (void *)_cffi_d_SSL_get_tlsext_status_ocsp_resp }, - { "SSL_get_verify_result", (void *)_cffi_f_SSL_get_verify_result, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2325), (void *)_cffi_d_SSL_get_verify_result }, - { "SSL_get_version", (void *)_cffi_f_SSL_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 725), (void *)_cffi_d_SSL_get_version }, - { "SSL_library_init", (void *)_cffi_f_SSL_library_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_SSL_library_init }, - { "SSL_load_client_CA_file", (void *)_cffi_f_SSL_load_client_CA_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 169), (void *)_cffi_d_SSL_load_client_CA_file }, - { "SSL_load_error_strings", (void *)_cffi_f_SSL_load_error_strings, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_SSL_load_error_strings }, - { "SSL_new", (void *)_cffi_f_SSL_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 489), (void *)_cffi_d_SSL_new }, - { "SSL_peek", (void *)_cffi_f_SSL_peek, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1743), (void *)_cffi_d_SSL_peek }, - { "SSL_pending", (void *)_cffi_f_SSL_pending, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_pending }, - { "SSL_read", (void *)_cffi_f_SSL_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1743), (void *)_cffi_d_SSL_read }, - { "SSL_read_early_data", (void *)_cffi_f_SSL_read_early_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1748), (void *)_cffi_d_SSL_read_early_data }, - { "SSL_renegotiate", (void *)_cffi_f_SSL_renegotiate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_renegotiate }, - { "SSL_renegotiate_pending", (void *)_cffi_f_SSL_renegotiate_pending, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_renegotiate_pending }, - { "SSL_select_next_proto", (void *)_cffi_f_SSL_select_next_proto, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2245), (void *)_cffi_d_SSL_select_next_proto }, - { "SSL_session_reused", (void *)_cffi_f_SSL_session_reused, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_session_reused }, - { "SSL_set_SSL_CTX", (void *)_cffi_f_SSL_set_SSL_CTX, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 499), (void *)_cffi_d_SSL_set_SSL_CTX }, - { "SSL_set_accept_state", (void *)_cffi_f_SSL_set_accept_state, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2761), (void *)_cffi_d_SSL_set_accept_state }, - { "SSL_set_alpn_protos", (void *)_cffi_f_SSL_set_alpn_protos, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1718), (void *)_cffi_d_SSL_set_alpn_protos }, - { "SSL_set_bio", (void *)_cffi_f_SSL_set_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2764), (void *)_cffi_d_SSL_set_bio }, - { "SSL_set_cert_cb", (void *)_cffi_f_SSL_set_cert_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2773), (void *)_cffi_d_SSL_set_cert_cb }, - { "SSL_set_connect_state", (void *)_cffi_f_SSL_set_connect_state, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2761), (void *)_cffi_d_SSL_set_connect_state }, - { "SSL_set_ex_data", (void *)_cffi_f_SSL_set_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1690), (void *)_cffi_d_SSL_set_ex_data }, - { "SSL_set_fd", (void *)_cffi_f_SSL_set_fd, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1677), (void *)_cffi_d_SSL_set_fd }, - { "SSL_set_max_proto_version", (void *)_cffi_f_SSL_set_max_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2303), (void *)_cffi_d_SSL_set_max_proto_version }, - { "SSL_set_min_proto_version", (void *)_cffi_f_SSL_set_min_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2303), (void *)_cffi_d_SSL_set_min_proto_version }, - { "SSL_set_mode", (void *)_cffi_f_SSL_set_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2444), (void *)_cffi_d_SSL_set_mode }, - { "SSL_set_options", (void *)_cffi_f_SSL_set_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2444), (void *)_cffi_d_SSL_set_options }, - { "SSL_set_post_handshake_auth", (void *)_cffi_f_SSL_set_post_handshake_auth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2778), (void *)_cffi_d_SSL_set_post_handshake_auth }, - { "SSL_set_session", (void *)_cffi_f_SSL_set_session, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1664), (void *)_cffi_d_SSL_set_session }, - { "SSL_set_shutdown", (void *)_cffi_f_SSL_set_shutdown, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2778), (void *)_cffi_d_SSL_set_shutdown }, - { "SSL_set_tlsext_host_name", (void *)_cffi_f_SSL_set_tlsext_host_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2769), (void *)_cffi_d_SSL_set_tlsext_host_name }, - { "SSL_set_tlsext_status_ocsp_resp", (void *)_cffi_f_SSL_set_tlsext_status_ocsp_resp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2316), (void *)_cffi_d_SSL_set_tlsext_status_ocsp_resp }, - { "SSL_set_tlsext_status_type", (void *)_cffi_f_SSL_set_tlsext_status_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2307), (void *)_cffi_d_SSL_set_tlsext_status_type }, - { "SSL_set_tlsext_use_srtp", (void *)_cffi_f_SSL_set_tlsext_use_srtp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1668), (void *)_cffi_d_SSL_set_tlsext_use_srtp }, - { "SSL_shutdown", (void *)_cffi_f_SSL_shutdown, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_shutdown }, - { "SSL_state_string_long", (void *)_cffi_f_SSL_state_string_long, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 725), (void *)_cffi_d_SSL_state_string_long }, - { "SSL_total_renegotiations", (void *)_cffi_f_SSL_total_renegotiations, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_total_renegotiations }, - { "SSL_verify_client_post_handshake", (void *)_cffi_f_SSL_verify_client_post_handshake, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_verify_client_post_handshake }, - { "SSL_version", (void *)_cffi_f_SSL_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_version }, - { "SSL_want_read", (void *)_cffi_f_SSL_want_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_want_read }, - { "SSL_want_write", (void *)_cffi_f_SSL_want_write, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_want_write }, - { "SSL_write", (void *)_cffi_f_SSL_write, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1754), (void *)_cffi_d_SSL_write }, - { "SSL_write_early_data", (void *)_cffi_f_SSL_write_early_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1759), (void *)_cffi_d_SSL_write_early_data }, - { "SSLeay", (void *)_cffi_f_SSLeay, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2476), (void *)_cffi_d_SSLeay }, - { "SSLeay_version", (void *)_cffi_f_SSLeay_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_SSLeay_version }, - { "SSLv23_client_method", (void *)_cffi_f_SSLv23_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv23_client_method }, - { "SSLv23_method", (void *)_cffi_f_SSLv23_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv23_method }, - { "SSLv23_server_method", (void *)_cffi_f_SSLv23_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv23_server_method }, - { "SSLv3_client_method", (void *)_cffi_f_SSLv3_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv3_client_method }, - { "SSLv3_method", (void *)_cffi_f_SSLv3_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv3_method }, - { "SSLv3_server_method", (void *)_cffi_f_SSLv3_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv3_server_method }, + { "SSL_VERIFY_POST_HANDSHAKE", (void *)_cffi_const_SSL_VERIFY_POST_HANDSHAKE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "SSL_clear_mode", (void *)_cffi_f_SSL_clear_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2444), (void *)_cffi_d_SSL_clear_mode }, + { "SSL_do_handshake", (void *)_cffi_f_SSL_do_handshake, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_do_handshake }, + { "SSL_export_keying_material", (void *)_cffi_f_SSL_export_keying_material, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1695), (void *)_cffi_d_SSL_export_keying_material }, + { "SSL_extension_supported", (void *)_cffi_f_SSL_extension_supported, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2262), (void *)_cffi_d_SSL_extension_supported }, + { "SSL_free", (void *)_cffi_f_SSL_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2761), (void *)_cffi_d_SSL_free }, + { "SSL_get0_alpn_selected", (void *)_cffi_f_SSL_get0_alpn_selected, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2797), (void *)_cffi_d_SSL_get0_alpn_selected }, + { "SSL_get0_param", (void *)_cffi_f_SSL_get0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 697), (void *)_cffi_d_SSL_get0_param }, + { "SSL_get0_verified_chain", (void *)_cffi_f_SSL_get0_verified_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 156), (void *)_cffi_d_SSL_get0_verified_chain }, + { "SSL_get1_session", (void *)_cffi_f_SSL_get1_session, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 508), (void *)_cffi_d_SSL_get1_session }, + { "SSL_get_certificate", (void *)_cffi_f_SSL_get_certificate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 530), (void *)_cffi_d_SSL_get_certificate }, + { "SSL_get_cipher_list", (void *)_cffi_f_SSL_get_cipher_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 728), (void *)_cffi_d_SSL_get_cipher_list }, + { "SSL_get_client_CA_list", (void *)_cffi_f_SSL_get_client_CA_list, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 166), (void *)_cffi_d_SSL_get_client_CA_list }, + { "SSL_get_client_random", (void *)_cffi_f_SSL_get_client_random, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2392), (void *)_cffi_d_SSL_get_client_random }, + { "SSL_get_current_cipher", (void *)_cffi_f_SSL_get_current_cipher, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 496), (void *)_cffi_d_SSL_get_current_cipher }, + { "SSL_get_error", (void *)_cffi_f_SSL_get_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1768), (void *)_cffi_d_SSL_get_error }, + { "SSL_get_ex_data", (void *)_cffi_f_SSL_get_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2478), (void *)_cffi_d_SSL_get_ex_data }, + { "SSL_get_ex_data_X509_STORE_CTX_idx", (void *)_cffi_f_SSL_get_ex_data_X509_STORE_CTX_idx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_SSL_get_ex_data_X509_STORE_CTX_idx }, + { "SSL_get_ex_new_index", (void *)_cffi_f_SSL_get_ex_new_index, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2234), (void *)_cffi_d_SSL_get_ex_new_index }, + { "SSL_get_finished", (void *)_cffi_f_SSL_get_finished, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2397), (void *)_cffi_d_SSL_get_finished }, + { "SSL_get_max_proto_version", (void *)_cffi_f_SSL_get_max_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_get_max_proto_version }, + { "SSL_get_min_proto_version", (void *)_cffi_f_SSL_get_min_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_get_min_proto_version }, + { "SSL_get_mode", (void *)_cffi_f_SSL_get_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2441), (void *)_cffi_d_SSL_get_mode }, + { "SSL_get_options", (void *)_cffi_f_SSL_get_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2441), (void *)_cffi_d_SSL_get_options }, + { "SSL_get_peer_cert_chain", (void *)_cffi_f_SSL_get_peer_cert_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 156), (void *)_cffi_d_SSL_get_peer_cert_chain }, + { "SSL_get_peer_certificate", (void *)_cffi_f_SSL_get_peer_certificate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 530), (void *)_cffi_d_SSL_get_peer_certificate }, + { "SSL_get_peer_finished", (void *)_cffi_f_SSL_get_peer_finished, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2397), (void *)_cffi_d_SSL_get_peer_finished }, + { "SSL_get_secure_renegotiation_support", (void *)_cffi_f_SSL_get_secure_renegotiation_support, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_get_secure_renegotiation_support }, + { "SSL_get_selected_srtp_profile", (void *)_cffi_f_SSL_get_selected_srtp_profile, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 486), (void *)_cffi_d_SSL_get_selected_srtp_profile }, + { "SSL_get_server_random", (void *)_cffi_f_SSL_get_server_random, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2392), (void *)_cffi_d_SSL_get_server_random }, + { "SSL_get_server_tmp_key", (void *)_cffi_f_SSL_get_server_tmp_key, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2299), (void *)_cffi_d_SSL_get_server_tmp_key }, + { "SSL_get_servername", (void *)_cffi_f_SSL_get_servername, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 728), (void *)_cffi_d_SSL_get_servername }, + { "SSL_get_session", (void *)_cffi_f_SSL_get_session, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 511), (void *)_cffi_d_SSL_get_session }, + { "SSL_get_shutdown", (void *)_cffi_f_SSL_get_shutdown, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_get_shutdown }, + { "SSL_get_sigalgs", (void *)_cffi_f_SSL_get_sigalgs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1681), (void *)_cffi_d_SSL_get_sigalgs }, + { "SSL_get_tlsext_status_ocsp_resp", (void *)_cffi_f_SSL_get_tlsext_status_ocsp_resp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2321), (void *)_cffi_d_SSL_get_tlsext_status_ocsp_resp }, + { "SSL_get_verify_result", (void *)_cffi_f_SSL_get_verify_result, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2325), (void *)_cffi_d_SSL_get_verify_result }, + { "SSL_get_version", (void *)_cffi_f_SSL_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 725), (void *)_cffi_d_SSL_get_version }, + { "SSL_library_init", (void *)_cffi_f_SSL_library_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2280), (void *)_cffi_d_SSL_library_init }, + { "SSL_load_client_CA_file", (void *)_cffi_f_SSL_load_client_CA_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 169), (void *)_cffi_d_SSL_load_client_CA_file }, + { "SSL_load_error_strings", (void *)_cffi_f_SSL_load_error_strings, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2998), (void *)_cffi_d_SSL_load_error_strings }, + { "SSL_new", (void *)_cffi_f_SSL_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 489), (void *)_cffi_d_SSL_new }, + { "SSL_peek", (void *)_cffi_f_SSL_peek, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1743), (void *)_cffi_d_SSL_peek }, + { "SSL_pending", (void *)_cffi_f_SSL_pending, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_pending }, + { "SSL_read", (void *)_cffi_f_SSL_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1743), (void *)_cffi_d_SSL_read }, + { "SSL_read_early_data", (void *)_cffi_f_SSL_read_early_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1748), (void *)_cffi_d_SSL_read_early_data }, + { "SSL_renegotiate", (void *)_cffi_f_SSL_renegotiate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_renegotiate }, + { "SSL_renegotiate_pending", (void *)_cffi_f_SSL_renegotiate_pending, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_renegotiate_pending }, + { "SSL_select_next_proto", (void *)_cffi_f_SSL_select_next_proto, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2245), (void *)_cffi_d_SSL_select_next_proto }, + { "SSL_session_reused", (void *)_cffi_f_SSL_session_reused, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_session_reused }, + { "SSL_set_SSL_CTX", (void *)_cffi_f_SSL_set_SSL_CTX, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 499), (void *)_cffi_d_SSL_set_SSL_CTX }, + { "SSL_set_accept_state", (void *)_cffi_f_SSL_set_accept_state, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2761), (void *)_cffi_d_SSL_set_accept_state }, + { "SSL_set_alpn_protos", (void *)_cffi_f_SSL_set_alpn_protos, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1718), (void *)_cffi_d_SSL_set_alpn_protos }, + { "SSL_set_bio", (void *)_cffi_f_SSL_set_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2764), (void *)_cffi_d_SSL_set_bio }, + { "SSL_set_cert_cb", (void *)_cffi_f_SSL_set_cert_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2773), (void *)_cffi_d_SSL_set_cert_cb }, + { "SSL_set_connect_state", (void *)_cffi_f_SSL_set_connect_state, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2761), (void *)_cffi_d_SSL_set_connect_state }, + { "SSL_set_ex_data", (void *)_cffi_f_SSL_set_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1690), (void *)_cffi_d_SSL_set_ex_data }, + { "SSL_set_fd", (void *)_cffi_f_SSL_set_fd, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1677), (void *)_cffi_d_SSL_set_fd }, + { "SSL_set_max_proto_version", (void *)_cffi_f_SSL_set_max_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2303), (void *)_cffi_d_SSL_set_max_proto_version }, + { "SSL_set_min_proto_version", (void *)_cffi_f_SSL_set_min_proto_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2303), (void *)_cffi_d_SSL_set_min_proto_version }, + { "SSL_set_mode", (void *)_cffi_f_SSL_set_mode, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2444), (void *)_cffi_d_SSL_set_mode }, + { "SSL_set_options", (void *)_cffi_f_SSL_set_options, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2444), (void *)_cffi_d_SSL_set_options }, + { "SSL_set_post_handshake_auth", (void *)_cffi_f_SSL_set_post_handshake_auth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2778), (void *)_cffi_d_SSL_set_post_handshake_auth }, + { "SSL_set_session", (void *)_cffi_f_SSL_set_session, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1664), (void *)_cffi_d_SSL_set_session }, + { "SSL_set_shutdown", (void *)_cffi_f_SSL_set_shutdown, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2778), (void *)_cffi_d_SSL_set_shutdown }, + { "SSL_set_tlsext_host_name", (void *)_cffi_f_SSL_set_tlsext_host_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2769), (void *)_cffi_d_SSL_set_tlsext_host_name }, + { "SSL_set_tlsext_status_ocsp_resp", (void *)_cffi_f_SSL_set_tlsext_status_ocsp_resp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2316), (void *)_cffi_d_SSL_set_tlsext_status_ocsp_resp }, + { "SSL_set_tlsext_status_type", (void *)_cffi_f_SSL_set_tlsext_status_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2307), (void *)_cffi_d_SSL_set_tlsext_status_type }, + { "SSL_set_tlsext_use_srtp", (void *)_cffi_f_SSL_set_tlsext_use_srtp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1668), (void *)_cffi_d_SSL_set_tlsext_use_srtp }, + { "SSL_shutdown", (void *)_cffi_f_SSL_shutdown, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_shutdown }, + { "SSL_state_string_long", (void *)_cffi_f_SSL_state_string_long, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 725), (void *)_cffi_d_SSL_state_string_long }, + { "SSL_total_renegotiations", (void *)_cffi_f_SSL_total_renegotiations, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2296), (void *)_cffi_d_SSL_total_renegotiations }, + { "SSL_verify_client_post_handshake", (void *)_cffi_f_SSL_verify_client_post_handshake, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1661), (void *)_cffi_d_SSL_verify_client_post_handshake }, + { "SSL_version", (void *)_cffi_f_SSL_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_version }, + { "SSL_want_read", (void *)_cffi_f_SSL_want_read, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_want_read }, + { "SSL_want_write", (void *)_cffi_f_SSL_want_write, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1765), (void *)_cffi_d_SSL_want_write }, + { "SSL_write", (void *)_cffi_f_SSL_write, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1754), (void *)_cffi_d_SSL_write }, + { "SSL_write_early_data", (void *)_cffi_f_SSL_write_early_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1759), (void *)_cffi_d_SSL_write_early_data }, + { "SSLeay", (void *)_cffi_f_SSLeay, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 2476), (void *)_cffi_d_SSLeay }, + { "SSLeay_version", (void *)_cffi_f_SSLeay_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 735), (void *)_cffi_d_SSLeay_version }, + { "SSLv23_client_method", (void *)_cffi_f_SSLv23_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv23_client_method }, + { "SSLv23_method", (void *)_cffi_f_SSLv23_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv23_method }, + { "SSLv23_server_method", (void *)_cffi_f_SSLv23_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv23_server_method }, + { "SSLv3_client_method", (void *)_cffi_f_SSLv3_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv3_client_method }, + { "SSLv3_method", (void *)_cffi_f_SSLv3_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv3_method }, + { "SSLv3_server_method", (void *)_cffi_f_SSLv3_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_SSLv3_server_method }, { "TLSEXT_NAMETYPE_host_name", (void *)_cffi_const_TLSEXT_NAMETYPE_host_name, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "TLSEXT_STATUSTYPE_ocsp", (void *)_cffi_const_TLSEXT_STATUSTYPE_ocsp, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "TLSEXT_STATUSTYPE_ocsp", (void *)_cffi_const_TLSEXT_STATUSTYPE_ocsp, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "TLS_ST_BEFORE", (void *)_cffi_const_TLS_ST_BEFORE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "TLS_ST_OK", (void *)_cffi_const_TLS_ST_OK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "TLS_client_method", (void *)_cffi_f_TLS_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLS_client_method }, - { "TLS_method", (void *)_cffi_f_TLS_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLS_method }, - { "TLS_server_method", (void *)_cffi_f_TLS_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLS_server_method }, - { "TLSv1_1_client_method", (void *)_cffi_f_TLSv1_1_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_1_client_method }, - { "TLSv1_1_method", (void *)_cffi_f_TLSv1_1_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_1_method }, - { "TLSv1_1_server_method", (void *)_cffi_f_TLSv1_1_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_1_server_method }, - { "TLSv1_2_client_method", (void *)_cffi_f_TLSv1_2_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_2_client_method }, - { "TLSv1_2_method", (void *)_cffi_f_TLSv1_2_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_2_method }, - { "TLSv1_2_server_method", (void *)_cffi_f_TLSv1_2_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_2_server_method }, - { "TLSv1_client_method", (void *)_cffi_f_TLSv1_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_client_method }, - { "TLSv1_method", (void *)_cffi_f_TLSv1_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_method }, - { "TLSv1_server_method", (void *)_cffi_f_TLSv1_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_server_method }, - { "USERNOTICE_free", (void *)_cffi_f_USERNOTICE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2872), (void *)_cffi_d_USERNOTICE_free }, - { "USERNOTICE_new", (void *)_cffi_f_USERNOTICE_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 514), (void *)_cffi_d_USERNOTICE_new }, + { "TLS_client_method", (void *)_cffi_f_TLS_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLS_client_method }, + { "TLS_method", (void *)_cffi_f_TLS_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLS_method }, + { "TLS_server_method", (void *)_cffi_f_TLS_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLS_server_method }, + { "TLSv1_1_client_method", (void *)_cffi_f_TLSv1_1_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_1_client_method }, + { "TLSv1_1_method", (void *)_cffi_f_TLSv1_1_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_1_method }, + { "TLSv1_1_server_method", (void *)_cffi_f_TLSv1_1_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_1_server_method }, + { "TLSv1_2_client_method", (void *)_cffi_f_TLSv1_2_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_2_client_method }, + { "TLSv1_2_method", (void *)_cffi_f_TLSv1_2_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_2_method }, + { "TLSv1_2_server_method", (void *)_cffi_f_TLSv1_2_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_2_server_method }, + { "TLSv1_client_method", (void *)_cffi_f_TLSv1_client_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_client_method }, + { "TLSv1_method", (void *)_cffi_f_TLSv1_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_method }, + { "TLSv1_server_method", (void *)_cffi_f_TLSv1_server_method, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 506), (void *)_cffi_d_TLSv1_server_method }, + { "USERNOTICE_free", (void *)_cffi_f_USERNOTICE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2872), (void *)_cffi_d_USERNOTICE_free }, + { "USERNOTICE_new", (void *)_cffi_f_USERNOTICE_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 514), (void *)_cffi_d_USERNOTICE_new }, { "V_ASN1_GENERALIZEDTIME", (void *)_cffi_const_V_ASN1_GENERALIZEDTIME, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509V3_EXT_add_alias", (void *)_cffi_f_X509V3_EXT_add_alias, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2198), (void *)_cffi_d_X509V3_EXT_add_alias }, - { "X509V3_EXT_conf_nid", (void *)_cffi_f_X509V3_EXT_conf_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 579), (void *)_cffi_d_X509V3_EXT_conf_nid }, - { "X509V3_EXT_d2i", (void *)_cffi_f_X509V3_EXT_d2i, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2501), (void *)_cffi_d_X509V3_EXT_d2i }, - { "X509V3_EXT_i2d", (void *)_cffi_f_X509V3_EXT_i2d, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 622), (void *)_cffi_d_X509V3_EXT_i2d }, - { "X509V3_EXT_nconf", (void *)_cffi_f_X509V3_EXT_nconf, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 573), (void *)_cffi_d_X509V3_EXT_nconf }, - { "X509V3_EXT_print", (void *)_cffi_f_X509V3_EXT_print, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 988), (void *)_cffi_d_X509V3_EXT_print }, - { "X509V3_set_ctx", (void *)_cffi_f_X509V3_set_ctx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2878), (void *)_cffi_d_X509V3_set_ctx }, - { "X509V3_set_ctx_nodb", (void *)_cffi_f_X509V3_set_ctx_nodb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2492), (void *)_cffi_d_X509V3_set_ctx_nodb }, - { "X509_ATTRIBUTE_count", (void *)_cffi_f_X509_ATTRIBUTE_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1893), (void *)_cffi_d_X509_ATTRIBUTE_count }, - { "X509_ATTRIBUTE_get0_data", (void *)_cffi_f_X509_ATTRIBUTE_get0_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2495), (void *)_cffi_d_X509_ATTRIBUTE_get0_data }, - { "X509_ATTRIBUTE_get0_type", (void *)_cffi_f_X509_ATTRIBUTE_get0_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 78), (void *)_cffi_d_X509_ATTRIBUTE_get0_type }, - { "X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT", (void *)_cffi_const_X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS", (void *)_cffi_const_X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509_CHECK_FLAG_NEVER_CHECK_SUBJECT", (void *)_cffi_const_X509_CHECK_FLAG_NEVER_CHECK_SUBJECT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS", (void *)_cffi_const_X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509_CHECK_FLAG_NO_WILDCARDS", (void *)_cffi_const_X509_CHECK_FLAG_NO_WILDCARDS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS", (void *)_cffi_const_X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509_CRL_add0_revoked", (void *)_cffi_f_X509_CRL_add0_revoked, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1926), (void *)_cffi_d_X509_CRL_add0_revoked }, - { "X509_CRL_add_ext", (void *)_cffi_f_X509_CRL_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1912), (void *)_cffi_d_X509_CRL_add_ext }, - { "X509_CRL_cmp", (void *)_cffi_f_X509_CRL_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1938), (void *)_cffi_d_X509_CRL_cmp }, - { "X509_CRL_dup", (void *)_cffi_f_X509_CRL_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 568), (void *)_cffi_d_X509_CRL_dup }, - { "X509_CRL_free", (void *)_cffi_f_X509_CRL_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2886), (void *)_cffi_d_X509_CRL_free }, - { "X509_CRL_get0_by_serial", (void *)_cffi_f_X509_CRL_get0_by_serial, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1921), (void *)_cffi_d_X509_CRL_get0_by_serial }, - { "X509_CRL_get0_signature", (void *)_cffi_f_X509_CRL_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2889), (void *)_cffi_d_X509_CRL_get0_signature }, - { "X509_CRL_get_REVOKED", (void *)_cffi_f_X509_CRL_get_REVOKED, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 182), (void *)_cffi_d_X509_CRL_get_REVOKED }, - { "X509_CRL_get_ext", (void *)_cffi_f_X509_CRL_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 601), (void *)_cffi_d_X509_CRL_get_ext }, - { "X509_CRL_get_ext_count", (void *)_cffi_f_X509_CRL_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1896), (void *)_cffi_d_X509_CRL_get_ext_count }, - { "X509_CRL_get_issuer", (void *)_cffi_f_X509_CRL_get_issuer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 639), (void *)_cffi_d_X509_CRL_get_issuer }, - { "X509_CRL_get_lastUpdate", (void *)_cffi_f_X509_CRL_get_lastUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 56), (void *)_cffi_d_X509_CRL_get_lastUpdate }, - { "X509_CRL_get_nextUpdate", (void *)_cffi_f_X509_CRL_get_nextUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 56), (void *)_cffi_d_X509_CRL_get_nextUpdate }, - { "X509_CRL_get_version", (void *)_cffi_f_X509_CRL_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2360), (void *)_cffi_d_X509_CRL_get_version }, - { "X509_CRL_new", (void *)_cffi_f_X509_CRL_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 571), (void *)_cffi_d_X509_CRL_new }, - { "X509_CRL_print", (void *)_cffi_f_X509_CRL_print, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 984), (void *)_cffi_d_X509_CRL_print }, - { "X509_CRL_set_issuer_name", (void *)_cffi_f_X509_CRL_set_issuer_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1917), (void *)_cffi_d_X509_CRL_set_issuer_name }, - { "X509_CRL_set_lastUpdate", (void *)_cffi_f_X509_CRL_set_lastUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1899), (void *)_cffi_d_X509_CRL_set_lastUpdate }, - { "X509_CRL_set_nextUpdate", (void *)_cffi_f_X509_CRL_set_nextUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1899), (void *)_cffi_d_X509_CRL_set_nextUpdate }, - { "X509_CRL_set_version", (void *)_cffi_f_X509_CRL_set_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1930), (void *)_cffi_d_X509_CRL_set_version }, - { "X509_CRL_sign", (void *)_cffi_f_X509_CRL_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1907), (void *)_cffi_d_X509_CRL_sign }, - { "X509_CRL_sort", (void *)_cffi_f_X509_CRL_sort, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1896), (void *)_cffi_d_X509_CRL_sort }, - { "X509_CRL_verify", (void *)_cffi_f_X509_CRL_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1903), (void *)_cffi_d_X509_CRL_verify }, - { "X509_EXTENSION_create_by_OBJ", (void *)_cffi_f_X509_EXTENSION_create_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 605), (void *)_cffi_d_X509_EXTENSION_create_by_OBJ }, - { "X509_EXTENSION_dup", (void *)_cffi_f_X509_EXTENSION_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 611), (void *)_cffi_d_X509_EXTENSION_dup }, - { "X509_EXTENSION_free", (void *)_cffi_f_X509_EXTENSION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2894), (void *)_cffi_d_X509_EXTENSION_free }, - { "X509_EXTENSION_get_critical", (void *)_cffi_f_X509_EXTENSION_get_critical, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1942), (void *)_cffi_d_X509_EXTENSION_get_critical }, - { "X509_EXTENSION_get_data", (void *)_cffi_f_X509_EXTENSION_get_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 59), (void *)_cffi_d_X509_EXTENSION_get_data }, - { "X509_EXTENSION_get_object", (void *)_cffi_f_X509_EXTENSION_get_object, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 39), (void *)_cffi_d_X509_EXTENSION_get_object }, + { "X509V3_EXT_add_alias", (void *)_cffi_f_X509V3_EXT_add_alias, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2198), (void *)_cffi_d_X509V3_EXT_add_alias }, + { "X509V3_EXT_conf_nid", (void *)_cffi_f_X509V3_EXT_conf_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 579), (void *)_cffi_d_X509V3_EXT_conf_nid }, + { "X509V3_EXT_d2i", (void *)_cffi_f_X509V3_EXT_d2i, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2501), (void *)_cffi_d_X509V3_EXT_d2i }, + { "X509V3_EXT_i2d", (void *)_cffi_f_X509V3_EXT_i2d, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 622), (void *)_cffi_d_X509V3_EXT_i2d }, + { "X509V3_EXT_nconf", (void *)_cffi_f_X509V3_EXT_nconf, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 573), (void *)_cffi_d_X509V3_EXT_nconf }, + { "X509V3_EXT_print", (void *)_cffi_f_X509V3_EXT_print, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 988), (void *)_cffi_d_X509V3_EXT_print }, + { "X509V3_set_ctx", (void *)_cffi_f_X509V3_set_ctx, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2878), (void *)_cffi_d_X509V3_set_ctx }, + { "X509V3_set_ctx_nodb", (void *)_cffi_f_X509V3_set_ctx_nodb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2492), (void *)_cffi_d_X509V3_set_ctx_nodb }, + { "X509_ATTRIBUTE_count", (void *)_cffi_f_X509_ATTRIBUTE_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1893), (void *)_cffi_d_X509_ATTRIBUTE_count }, + { "X509_ATTRIBUTE_get0_data", (void *)_cffi_f_X509_ATTRIBUTE_get0_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2495), (void *)_cffi_d_X509_ATTRIBUTE_get0_data }, + { "X509_ATTRIBUTE_get0_type", (void *)_cffi_f_X509_ATTRIBUTE_get0_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 78), (void *)_cffi_d_X509_ATTRIBUTE_get0_type }, + { "X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT", (void *)_cffi_const_X509_CHECK_FLAG_ALWAYS_CHECK_SUBJECT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS", (void *)_cffi_const_X509_CHECK_FLAG_MULTI_LABEL_WILDCARDS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "X509_CHECK_FLAG_NEVER_CHECK_SUBJECT", (void *)_cffi_const_X509_CHECK_FLAG_NEVER_CHECK_SUBJECT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS", (void *)_cffi_const_X509_CHECK_FLAG_NO_PARTIAL_WILDCARDS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "X509_CHECK_FLAG_NO_WILDCARDS", (void *)_cffi_const_X509_CHECK_FLAG_NO_WILDCARDS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS", (void *)_cffi_const_X509_CHECK_FLAG_SINGLE_LABEL_SUBDOMAINS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, + { "X509_CRL_add0_revoked", (void *)_cffi_f_X509_CRL_add0_revoked, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1926), (void *)_cffi_d_X509_CRL_add0_revoked }, + { "X509_CRL_add_ext", (void *)_cffi_f_X509_CRL_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1912), (void *)_cffi_d_X509_CRL_add_ext }, + { "X509_CRL_cmp", (void *)_cffi_f_X509_CRL_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1938), (void *)_cffi_d_X509_CRL_cmp }, + { "X509_CRL_dup", (void *)_cffi_f_X509_CRL_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 568), (void *)_cffi_d_X509_CRL_dup }, + { "X509_CRL_free", (void *)_cffi_f_X509_CRL_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2886), (void *)_cffi_d_X509_CRL_free }, + { "X509_CRL_get0_by_serial", (void *)_cffi_f_X509_CRL_get0_by_serial, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1921), (void *)_cffi_d_X509_CRL_get0_by_serial }, + { "X509_CRL_get0_signature", (void *)_cffi_f_X509_CRL_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2889), (void *)_cffi_d_X509_CRL_get0_signature }, + { "X509_CRL_get_REVOKED", (void *)_cffi_f_X509_CRL_get_REVOKED, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 182), (void *)_cffi_d_X509_CRL_get_REVOKED }, + { "X509_CRL_get_ext", (void *)_cffi_f_X509_CRL_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 601), (void *)_cffi_d_X509_CRL_get_ext }, + { "X509_CRL_get_ext_count", (void *)_cffi_f_X509_CRL_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1896), (void *)_cffi_d_X509_CRL_get_ext_count }, + { "X509_CRL_get_issuer", (void *)_cffi_f_X509_CRL_get_issuer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 639), (void *)_cffi_d_X509_CRL_get_issuer }, + { "X509_CRL_get_lastUpdate", (void *)_cffi_f_X509_CRL_get_lastUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 56), (void *)_cffi_d_X509_CRL_get_lastUpdate }, + { "X509_CRL_get_nextUpdate", (void *)_cffi_f_X509_CRL_get_nextUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 56), (void *)_cffi_d_X509_CRL_get_nextUpdate }, + { "X509_CRL_get_version", (void *)_cffi_f_X509_CRL_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2360), (void *)_cffi_d_X509_CRL_get_version }, + { "X509_CRL_new", (void *)_cffi_f_X509_CRL_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 571), (void *)_cffi_d_X509_CRL_new }, + { "X509_CRL_print", (void *)_cffi_f_X509_CRL_print, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 984), (void *)_cffi_d_X509_CRL_print }, + { "X509_CRL_set_issuer_name", (void *)_cffi_f_X509_CRL_set_issuer_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1917), (void *)_cffi_d_X509_CRL_set_issuer_name }, + { "X509_CRL_set_lastUpdate", (void *)_cffi_f_X509_CRL_set_lastUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1899), (void *)_cffi_d_X509_CRL_set_lastUpdate }, + { "X509_CRL_set_nextUpdate", (void *)_cffi_f_X509_CRL_set_nextUpdate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1899), (void *)_cffi_d_X509_CRL_set_nextUpdate }, + { "X509_CRL_set_version", (void *)_cffi_f_X509_CRL_set_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1930), (void *)_cffi_d_X509_CRL_set_version }, + { "X509_CRL_sign", (void *)_cffi_f_X509_CRL_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1907), (void *)_cffi_d_X509_CRL_sign }, + { "X509_CRL_sort", (void *)_cffi_f_X509_CRL_sort, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1896), (void *)_cffi_d_X509_CRL_sort }, + { "X509_CRL_verify", (void *)_cffi_f_X509_CRL_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1903), (void *)_cffi_d_X509_CRL_verify }, + { "X509_EXTENSION_create_by_OBJ", (void *)_cffi_f_X509_EXTENSION_create_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 605), (void *)_cffi_d_X509_EXTENSION_create_by_OBJ }, + { "X509_EXTENSION_dup", (void *)_cffi_f_X509_EXTENSION_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 611), (void *)_cffi_d_X509_EXTENSION_dup }, + { "X509_EXTENSION_free", (void *)_cffi_f_X509_EXTENSION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2894), (void *)_cffi_d_X509_EXTENSION_free }, + { "X509_EXTENSION_get_critical", (void *)_cffi_f_X509_EXTENSION_get_critical, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1942), (void *)_cffi_d_X509_EXTENSION_get_critical }, + { "X509_EXTENSION_get_data", (void *)_cffi_f_X509_EXTENSION_get_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 59), (void *)_cffi_d_X509_EXTENSION_get_data }, + { "X509_EXTENSION_get_object", (void *)_cffi_f_X509_EXTENSION_get_object, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 39), (void *)_cffi_d_X509_EXTENSION_get_object }, { "X509_LU_CRL", (void *)_cffi_const_X509_LU_CRL, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "X509_LU_X509", (void *)_cffi_const_X509_LU_X509, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509_NAME_ENTRY_create_by_OBJ", (void *)_cffi_f_X509_NAME_ENTRY_create_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 658), (void *)_cffi_d_X509_NAME_ENTRY_create_by_OBJ }, - { "X509_NAME_ENTRY_free", (void *)_cffi_f_X509_NAME_ENTRY_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2907), (void *)_cffi_d_X509_NAME_ENTRY_free }, - { "X509_NAME_ENTRY_get_data", (void *)_cffi_f_X509_NAME_ENTRY_get_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 62), (void *)_cffi_d_X509_NAME_ENTRY_get_data }, - { "X509_NAME_ENTRY_get_object", (void *)_cffi_f_X509_NAME_ENTRY_get_object, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 42), (void *)_cffi_d_X509_NAME_ENTRY_get_object }, - { "X509_NAME_ENTRY_set", (void *)_cffi_f_X509_NAME_ENTRY_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2006), (void *)_cffi_d_X509_NAME_ENTRY_set }, - { "X509_NAME_add_entry", (void *)_cffi_f_X509_NAME_add_entry, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1969), (void *)_cffi_d_X509_NAME_add_entry }, - { "X509_NAME_add_entry_by_NID", (void *)_cffi_f_X509_NAME_add_entry_by_NID, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1989), (void *)_cffi_d_X509_NAME_add_entry_by_NID }, - { "X509_NAME_add_entry_by_OBJ", (void *)_cffi_f_X509_NAME_add_entry_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1960), (void *)_cffi_d_X509_NAME_add_entry_by_OBJ }, - { "X509_NAME_add_entry_by_txt", (void *)_cffi_f_X509_NAME_add_entry_by_txt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1975), (void *)_cffi_d_X509_NAME_add_entry_by_txt }, - { "X509_NAME_cmp", (void *)_cffi_f_X509_NAME_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2002), (void *)_cffi_d_X509_NAME_cmp }, - { "X509_NAME_delete_entry", (void *)_cffi_f_X509_NAME_delete_entry, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 654), (void *)_cffi_d_X509_NAME_delete_entry }, - { "X509_NAME_dup", (void *)_cffi_f_X509_NAME_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 642), (void *)_cffi_d_X509_NAME_dup }, - { "X509_NAME_entry_count", (void *)_cffi_f_X509_NAME_entry_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1957), (void *)_cffi_d_X509_NAME_entry_count }, - { "X509_NAME_free", (void *)_cffi_f_X509_NAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2904), (void *)_cffi_d_X509_NAME_free }, - { "X509_NAME_get_entry", (void *)_cffi_f_X509_NAME_get_entry, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 654), (void *)_cffi_d_X509_NAME_get_entry }, - { "X509_NAME_get_index_by_NID", (void *)_cffi_f_X509_NAME_get_index_by_NID, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1984), (void *)_cffi_d_X509_NAME_get_index_by_NID }, - { "X509_NAME_hash", (void *)_cffi_f_X509_NAME_hash, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2470), (void *)_cffi_d_X509_NAME_hash }, - { "X509_NAME_new", (void *)_cffi_f_X509_NAME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 648), (void *)_cffi_d_X509_NAME_new }, - { "X509_NAME_oneline", (void *)_cffi_f_X509_NAME_oneline, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 717), (void *)_cffi_d_X509_NAME_oneline }, - { "X509_NAME_print_ex", (void *)_cffi_f_X509_NAME_print_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 994), (void *)_cffi_d_X509_NAME_print_ex }, - { "X509_OBJECT_get0_X509", (void *)_cffi_f_X509_OBJECT_get0_X509, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 536), (void *)_cffi_d_X509_OBJECT_get0_X509 }, - { "X509_OBJECT_get_type", (void *)_cffi_f_X509_OBJECT_get_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2009), (void *)_cffi_d_X509_OBJECT_get_type }, - { "X509_REQ_add1_attr_by_OBJ", (void *)_cffi_f_X509_REQ_add1_attr_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2012), (void *)_cffi_d_X509_REQ_add1_attr_by_OBJ }, - { "X509_REQ_add_extensions", (void *)_cffi_f_X509_REQ_add_extensions, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2028), (void *)_cffi_d_X509_REQ_add_extensions }, - { "X509_REQ_free", (void *)_cffi_f_X509_REQ_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2910), (void *)_cffi_d_X509_REQ_free }, - { "X509_REQ_get0_signature", (void *)_cffi_f_X509_REQ_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2913), (void *)_cffi_d_X509_REQ_get0_signature }, - { "X509_REQ_get_attr", (void *)_cffi_f_X509_REQ_get_attr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 550), (void *)_cffi_d_X509_REQ_get_attr }, - { "X509_REQ_get_attr_by_OBJ", (void *)_cffi_f_X509_REQ_get_attr_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2044), (void *)_cffi_d_X509_REQ_get_attr_by_OBJ }, - { "X509_REQ_get_extensions", (void *)_cffi_f_X509_REQ_get_extensions, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 627), (void *)_cffi_d_X509_REQ_get_extensions }, - { "X509_REQ_get_pubkey", (void *)_cffi_f_X509_REQ_get_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 293), (void *)_cffi_d_X509_REQ_get_pubkey }, - { "X509_REQ_get_subject_name", (void *)_cffi_f_X509_REQ_get_subject_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 645), (void *)_cffi_d_X509_REQ_get_subject_name }, - { "X509_REQ_get_version", (void *)_cffi_f_X509_REQ_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2363), (void *)_cffi_d_X509_REQ_get_version }, - { "X509_REQ_new", (void *)_cffi_f_X509_REQ_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 679), (void *)_cffi_d_X509_REQ_new }, - { "X509_REQ_print_ex", (void *)_cffi_f_X509_REQ_print_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1004), (void *)_cffi_d_X509_REQ_print_ex }, - { "X509_REQ_set_pubkey", (void *)_cffi_f_X509_REQ_set_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2019), (void *)_cffi_d_X509_REQ_set_pubkey }, - { "X509_REQ_set_subject_name", (void *)_cffi_f_X509_REQ_set_subject_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2032), (void *)_cffi_d_X509_REQ_set_subject_name }, - { "X509_REQ_set_version", (void *)_cffi_f_X509_REQ_set_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2036), (void *)_cffi_d_X509_REQ_set_version }, - { "X509_REQ_sign", (void *)_cffi_f_X509_REQ_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2023), (void *)_cffi_d_X509_REQ_sign }, - { "X509_REQ_verify", (void *)_cffi_f_X509_REQ_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2019), (void *)_cffi_d_X509_REQ_verify }, - { "X509_REVOKED_add1_ext_i2d", (void *)_cffi_f_X509_REVOKED_add1_ext_i2d, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2065), (void *)_cffi_d_X509_REVOKED_add1_ext_i2d }, - { "X509_REVOKED_add_ext", (void *)_cffi_f_X509_REVOKED_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2060), (void *)_cffi_d_X509_REVOKED_add_ext }, - { "X509_REVOKED_delete_ext", (void *)_cffi_f_X509_REVOKED_delete_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 618), (void *)_cffi_d_X509_REVOKED_delete_ext }, - { "X509_REVOKED_dup", (void *)_cffi_f_X509_REVOKED_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 685), (void *)_cffi_d_X509_REVOKED_dup }, - { "X509_REVOKED_free", (void *)_cffi_f_X509_REVOKED_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2918), (void *)_cffi_d_X509_REVOKED_free }, - { "X509_REVOKED_get0_revocationDate", (void *)_cffi_f_X509_REVOKED_get0_revocationDate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 70), (void *)_cffi_d_X509_REVOKED_get0_revocationDate }, - { "X509_REVOKED_get0_serialNumber", (void *)_cffi_f_X509_REVOKED_get0_serialNumber, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 30), (void *)_cffi_d_X509_REVOKED_get0_serialNumber }, - { "X509_REVOKED_get_ext", (void *)_cffi_f_X509_REVOKED_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 618), (void *)_cffi_d_X509_REVOKED_get_ext }, - { "X509_REVOKED_get_ext_count", (void *)_cffi_f_X509_REVOKED_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2049), (void *)_cffi_d_X509_REVOKED_get_ext_count }, - { "X509_REVOKED_new", (void *)_cffi_f_X509_REVOKED_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 688), (void *)_cffi_d_X509_REVOKED_new }, - { "X509_REVOKED_set_revocationDate", (void *)_cffi_f_X509_REVOKED_set_revocationDate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2056), (void *)_cffi_d_X509_REVOKED_set_revocationDate }, - { "X509_REVOKED_set_serialNumber", (void *)_cffi_f_X509_REVOKED_set_serialNumber, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2052), (void *)_cffi_d_X509_REVOKED_set_serialNumber }, + { "X509_NAME_ENTRY_create_by_OBJ", (void *)_cffi_f_X509_NAME_ENTRY_create_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 658), (void *)_cffi_d_X509_NAME_ENTRY_create_by_OBJ }, + { "X509_NAME_ENTRY_free", (void *)_cffi_f_X509_NAME_ENTRY_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2907), (void *)_cffi_d_X509_NAME_ENTRY_free }, + { "X509_NAME_ENTRY_get_data", (void *)_cffi_f_X509_NAME_ENTRY_get_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 62), (void *)_cffi_d_X509_NAME_ENTRY_get_data }, + { "X509_NAME_ENTRY_get_object", (void *)_cffi_f_X509_NAME_ENTRY_get_object, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 42), (void *)_cffi_d_X509_NAME_ENTRY_get_object }, + { "X509_NAME_ENTRY_set", (void *)_cffi_f_X509_NAME_ENTRY_set, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2006), (void *)_cffi_d_X509_NAME_ENTRY_set }, + { "X509_NAME_add_entry", (void *)_cffi_f_X509_NAME_add_entry, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1969), (void *)_cffi_d_X509_NAME_add_entry }, + { "X509_NAME_add_entry_by_NID", (void *)_cffi_f_X509_NAME_add_entry_by_NID, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1989), (void *)_cffi_d_X509_NAME_add_entry_by_NID }, + { "X509_NAME_add_entry_by_OBJ", (void *)_cffi_f_X509_NAME_add_entry_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1960), (void *)_cffi_d_X509_NAME_add_entry_by_OBJ }, + { "X509_NAME_add_entry_by_txt", (void *)_cffi_f_X509_NAME_add_entry_by_txt, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1975), (void *)_cffi_d_X509_NAME_add_entry_by_txt }, + { "X509_NAME_cmp", (void *)_cffi_f_X509_NAME_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2002), (void *)_cffi_d_X509_NAME_cmp }, + { "X509_NAME_delete_entry", (void *)_cffi_f_X509_NAME_delete_entry, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 654), (void *)_cffi_d_X509_NAME_delete_entry }, + { "X509_NAME_dup", (void *)_cffi_f_X509_NAME_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 642), (void *)_cffi_d_X509_NAME_dup }, + { "X509_NAME_entry_count", (void *)_cffi_f_X509_NAME_entry_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1957), (void *)_cffi_d_X509_NAME_entry_count }, + { "X509_NAME_free", (void *)_cffi_f_X509_NAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2904), (void *)_cffi_d_X509_NAME_free }, + { "X509_NAME_get_entry", (void *)_cffi_f_X509_NAME_get_entry, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 654), (void *)_cffi_d_X509_NAME_get_entry }, + { "X509_NAME_get_index_by_NID", (void *)_cffi_f_X509_NAME_get_index_by_NID, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1984), (void *)_cffi_d_X509_NAME_get_index_by_NID }, + { "X509_NAME_hash", (void *)_cffi_f_X509_NAME_hash, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2470), (void *)_cffi_d_X509_NAME_hash }, + { "X509_NAME_new", (void *)_cffi_f_X509_NAME_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 648), (void *)_cffi_d_X509_NAME_new }, + { "X509_NAME_oneline", (void *)_cffi_f_X509_NAME_oneline, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 717), (void *)_cffi_d_X509_NAME_oneline }, + { "X509_NAME_print_ex", (void *)_cffi_f_X509_NAME_print_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 994), (void *)_cffi_d_X509_NAME_print_ex }, + { "X509_OBJECT_get0_X509", (void *)_cffi_f_X509_OBJECT_get0_X509, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 536), (void *)_cffi_d_X509_OBJECT_get0_X509 }, + { "X509_OBJECT_get_type", (void *)_cffi_f_X509_OBJECT_get_type, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2009), (void *)_cffi_d_X509_OBJECT_get_type }, + { "X509_REQ_add1_attr_by_OBJ", (void *)_cffi_f_X509_REQ_add1_attr_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2012), (void *)_cffi_d_X509_REQ_add1_attr_by_OBJ }, + { "X509_REQ_add_extensions", (void *)_cffi_f_X509_REQ_add_extensions, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2028), (void *)_cffi_d_X509_REQ_add_extensions }, + { "X509_REQ_free", (void *)_cffi_f_X509_REQ_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2910), (void *)_cffi_d_X509_REQ_free }, + { "X509_REQ_get0_signature", (void *)_cffi_f_X509_REQ_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2913), (void *)_cffi_d_X509_REQ_get0_signature }, + { "X509_REQ_get_attr", (void *)_cffi_f_X509_REQ_get_attr, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 550), (void *)_cffi_d_X509_REQ_get_attr }, + { "X509_REQ_get_attr_by_OBJ", (void *)_cffi_f_X509_REQ_get_attr_by_OBJ, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2044), (void *)_cffi_d_X509_REQ_get_attr_by_OBJ }, + { "X509_REQ_get_extensions", (void *)_cffi_f_X509_REQ_get_extensions, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 627), (void *)_cffi_d_X509_REQ_get_extensions }, + { "X509_REQ_get_pubkey", (void *)_cffi_f_X509_REQ_get_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 293), (void *)_cffi_d_X509_REQ_get_pubkey }, + { "X509_REQ_get_subject_name", (void *)_cffi_f_X509_REQ_get_subject_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 645), (void *)_cffi_d_X509_REQ_get_subject_name }, + { "X509_REQ_get_version", (void *)_cffi_f_X509_REQ_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2363), (void *)_cffi_d_X509_REQ_get_version }, + { "X509_REQ_new", (void *)_cffi_f_X509_REQ_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 679), (void *)_cffi_d_X509_REQ_new }, + { "X509_REQ_print_ex", (void *)_cffi_f_X509_REQ_print_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1004), (void *)_cffi_d_X509_REQ_print_ex }, + { "X509_REQ_set_pubkey", (void *)_cffi_f_X509_REQ_set_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2019), (void *)_cffi_d_X509_REQ_set_pubkey }, + { "X509_REQ_set_subject_name", (void *)_cffi_f_X509_REQ_set_subject_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2032), (void *)_cffi_d_X509_REQ_set_subject_name }, + { "X509_REQ_set_version", (void *)_cffi_f_X509_REQ_set_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2036), (void *)_cffi_d_X509_REQ_set_version }, + { "X509_REQ_sign", (void *)_cffi_f_X509_REQ_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2023), (void *)_cffi_d_X509_REQ_sign }, + { "X509_REQ_verify", (void *)_cffi_f_X509_REQ_verify, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2019), (void *)_cffi_d_X509_REQ_verify }, + { "X509_REVOKED_add1_ext_i2d", (void *)_cffi_f_X509_REVOKED_add1_ext_i2d, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2065), (void *)_cffi_d_X509_REVOKED_add1_ext_i2d }, + { "X509_REVOKED_add_ext", (void *)_cffi_f_X509_REVOKED_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2060), (void *)_cffi_d_X509_REVOKED_add_ext }, + { "X509_REVOKED_delete_ext", (void *)_cffi_f_X509_REVOKED_delete_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 618), (void *)_cffi_d_X509_REVOKED_delete_ext }, + { "X509_REVOKED_dup", (void *)_cffi_f_X509_REVOKED_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 685), (void *)_cffi_d_X509_REVOKED_dup }, + { "X509_REVOKED_free", (void *)_cffi_f_X509_REVOKED_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2918), (void *)_cffi_d_X509_REVOKED_free }, + { "X509_REVOKED_get0_revocationDate", (void *)_cffi_f_X509_REVOKED_get0_revocationDate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 70), (void *)_cffi_d_X509_REVOKED_get0_revocationDate }, + { "X509_REVOKED_get0_serialNumber", (void *)_cffi_f_X509_REVOKED_get0_serialNumber, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 30), (void *)_cffi_d_X509_REVOKED_get0_serialNumber }, + { "X509_REVOKED_get_ext", (void *)_cffi_f_X509_REVOKED_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 618), (void *)_cffi_d_X509_REVOKED_get_ext }, + { "X509_REVOKED_get_ext_count", (void *)_cffi_f_X509_REVOKED_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2049), (void *)_cffi_d_X509_REVOKED_get_ext_count }, + { "X509_REVOKED_new", (void *)_cffi_f_X509_REVOKED_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 688), (void *)_cffi_d_X509_REVOKED_new }, + { "X509_REVOKED_set_revocationDate", (void *)_cffi_f_X509_REVOKED_set_revocationDate, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2056), (void *)_cffi_d_X509_REVOKED_set_revocationDate }, + { "X509_REVOKED_set_serialNumber", (void *)_cffi_f_X509_REVOKED_set_serialNumber, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2052), (void *)_cffi_d_X509_REVOKED_set_serialNumber }, { "X509_R_CERT_ALREADY_IN_HASH_TABLE", (void *)_cffi_const_X509_R_CERT_ALREADY_IN_HASH_TABLE, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509_STORE_CTX_cleanup", (void *)_cffi_f_X509_STORE_CTX_cleanup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2928), (void *)_cffi_d_X509_STORE_CTX_cleanup }, - { "X509_STORE_CTX_free", (void *)_cffi_f_X509_STORE_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2928), (void *)_cffi_d_X509_STORE_CTX_free }, - { "X509_STORE_CTX_get0_cert", (void *)_cffi_f_X509_STORE_CTX_get0_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 539), (void *)_cffi_d_X509_STORE_CTX_get0_cert }, - { "X509_STORE_CTX_get0_param", (void *)_cffi_f_X509_STORE_CTX_get0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 706), (void *)_cffi_d_X509_STORE_CTX_get0_param }, - { "X509_STORE_CTX_get1_chain", (void *)_cffi_f_X509_STORE_CTX_get1_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 159), (void *)_cffi_d_X509_STORE_CTX_get1_chain }, - { "X509_STORE_CTX_get1_issuer", (void *)_cffi_f_X509_STORE_CTX_get1_issuer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1838), (void *)_cffi_d_X509_STORE_CTX_get1_issuer }, - { "X509_STORE_CTX_get_chain", (void *)_cffi_f_X509_STORE_CTX_get_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 159), (void *)_cffi_d_X509_STORE_CTX_get_chain }, - { "X509_STORE_CTX_get_current_cert", (void *)_cffi_f_X509_STORE_CTX_get_current_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 539), (void *)_cffi_d_X509_STORE_CTX_get_current_cert }, - { "X509_STORE_CTX_get_error", (void *)_cffi_f_X509_STORE_CTX_get_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2096), (void *)_cffi_d_X509_STORE_CTX_get_error }, - { "X509_STORE_CTX_get_error_depth", (void *)_cffi_f_X509_STORE_CTX_get_error_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2096), (void *)_cffi_d_X509_STORE_CTX_get_error_depth }, - { "X509_STORE_CTX_get_ex_data", (void *)_cffi_f_X509_STORE_CTX_get_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2504), (void *)_cffi_d_X509_STORE_CTX_get_ex_data }, - { "X509_STORE_CTX_get_ex_new_index", (void *)_cffi_f_X509_STORE_CTX_get_ex_new_index, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2234), (void *)_cffi_d_X509_STORE_CTX_get_ex_new_index }, - { "X509_STORE_CTX_init", (void *)_cffi_f_X509_STORE_CTX_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2099), (void *)_cffi_d_X509_STORE_CTX_init }, - { "X509_STORE_CTX_new", (void *)_cffi_f_X509_STORE_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 695), (void *)_cffi_d_X509_STORE_CTX_new }, - { "X509_STORE_CTX_set0_crls", (void *)_cffi_f_X509_STORE_CTX_set0_crls, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2935), (void *)_cffi_d_X509_STORE_CTX_set0_crls }, - { "X509_STORE_CTX_set0_param", (void *)_cffi_f_X509_STORE_CTX_set0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2943), (void *)_cffi_d_X509_STORE_CTX_set0_param }, - { "X509_STORE_CTX_set_cert", (void *)_cffi_f_X509_STORE_CTX_set_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2939), (void *)_cffi_d_X509_STORE_CTX_set_cert }, - { "X509_STORE_CTX_set_chain", (void *)_cffi_f_X509_STORE_CTX_set_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2931), (void *)_cffi_d_X509_STORE_CTX_set_chain }, - { "X509_STORE_CTX_set_default", (void *)_cffi_f_X509_STORE_CTX_set_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2105), (void *)_cffi_d_X509_STORE_CTX_set_default }, - { "X509_STORE_CTX_set_error", (void *)_cffi_f_X509_STORE_CTX_set_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2951), (void *)_cffi_d_X509_STORE_CTX_set_error }, - { "X509_STORE_CTX_set_ex_data", (void *)_cffi_f_X509_STORE_CTX_set_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2109), (void *)_cffi_d_X509_STORE_CTX_set_ex_data }, - { "X509_STORE_CTX_set_verify_cb", (void *)_cffi_f_X509_STORE_CTX_set_verify_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2947), (void *)_cffi_d_X509_STORE_CTX_set_verify_cb }, - { "X509_STORE_CTX_trusted_stack", (void *)_cffi_f_X509_STORE_CTX_trusted_stack, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2931), (void *)_cffi_d_X509_STORE_CTX_trusted_stack }, - { "X509_STORE_add_cert", (void *)_cffi_f_X509_STORE_add_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2075), (void *)_cffi_d_X509_STORE_add_cert }, - { "X509_STORE_add_crl", (void *)_cffi_f_X509_STORE_add_crl, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2079), (void *)_cffi_d_X509_STORE_add_crl }, - { "X509_STORE_free", (void *)_cffi_f_X509_STORE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2921), (void *)_cffi_d_X509_STORE_free }, - { "X509_STORE_get0_objects", (void *)_cffi_f_X509_STORE_get0_objects, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 179), (void *)_cffi_d_X509_STORE_get0_objects }, - { "X509_STORE_get0_param", (void *)_cffi_f_X509_STORE_get0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 703), (void *)_cffi_d_X509_STORE_get0_param }, - { "X509_STORE_get_get_issuer", (void *)_cffi_f_X509_STORE_get_get_issuer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2282), (void *)_cffi_d_X509_STORE_get_get_issuer }, - { "X509_STORE_load_locations", (void *)_cffi_f_X509_STORE_load_locations, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2087), (void *)_cffi_d_X509_STORE_load_locations }, - { "X509_STORE_new", (void *)_cffi_f_X509_STORE_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 693), (void *)_cffi_d_X509_STORE_new }, - { "X509_STORE_set1_param", (void *)_cffi_f_X509_STORE_set1_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2083), (void *)_cffi_d_X509_STORE_set1_param }, - { "X509_STORE_set_default_paths", (void *)_cffi_f_X509_STORE_set_default_paths, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2072), (void *)_cffi_d_X509_STORE_set_default_paths }, - { "X509_STORE_set_flags", (void *)_cffi_f_X509_STORE_set_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2092), (void *)_cffi_d_X509_STORE_set_flags }, - { "X509_STORE_set_get_issuer", (void *)_cffi_f_X509_STORE_set_get_issuer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2924), (void *)_cffi_d_X509_STORE_set_get_issuer }, - { "X509_VERIFY_PARAM_add0_policy", (void *)_cffi_f_X509_VERIFY_PARAM_add0_policy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2118), (void *)_cffi_d_X509_VERIFY_PARAM_add0_policy }, - { "X509_VERIFY_PARAM_clear_flags", (void *)_cffi_f_X509_VERIFY_PARAM_clear_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2144), (void *)_cffi_d_X509_VERIFY_PARAM_clear_flags }, - { "X509_VERIFY_PARAM_free", (void *)_cffi_f_X509_VERIFY_PARAM_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2955), (void *)_cffi_d_X509_VERIFY_PARAM_free }, - { "X509_VERIFY_PARAM_get_depth", (void *)_cffi_f_X509_VERIFY_PARAM_get_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2148), (void *)_cffi_d_X509_VERIFY_PARAM_get_depth }, - { "X509_VERIFY_PARAM_get_flags", (void *)_cffi_f_X509_VERIFY_PARAM_get_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2473), (void *)_cffi_d_X509_VERIFY_PARAM_get_flags }, - { "X509_VERIFY_PARAM_new", (void *)_cffi_f_X509_VERIFY_PARAM_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 709), (void *)_cffi_d_X509_VERIFY_PARAM_new }, - { "X509_VERIFY_PARAM_set1_email", (void *)_cffi_f_X509_VERIFY_PARAM_set1_email, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2130), (void *)_cffi_d_X509_VERIFY_PARAM_set1_email }, - { "X509_VERIFY_PARAM_set1_host", (void *)_cffi_f_X509_VERIFY_PARAM_set1_host, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2130), (void *)_cffi_d_X509_VERIFY_PARAM_set1_host }, - { "X509_VERIFY_PARAM_set1_ip", (void *)_cffi_f_X509_VERIFY_PARAM_set1_ip, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2139), (void *)_cffi_d_X509_VERIFY_PARAM_set1_ip }, - { "X509_VERIFY_PARAM_set1_ip_asc", (void *)_cffi_f_X509_VERIFY_PARAM_set1_ip_asc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2126), (void *)_cffi_d_X509_VERIFY_PARAM_set1_ip_asc }, - { "X509_VERIFY_PARAM_set1_policies", (void *)_cffi_f_X509_VERIFY_PARAM_set1_policies, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2122), (void *)_cffi_d_X509_VERIFY_PARAM_set1_policies }, - { "X509_VERIFY_PARAM_set_depth", (void *)_cffi_f_X509_VERIFY_PARAM_set_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2958), (void *)_cffi_d_X509_VERIFY_PARAM_set_depth }, - { "X509_VERIFY_PARAM_set_flags", (void *)_cffi_f_X509_VERIFY_PARAM_set_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2144), (void *)_cffi_d_X509_VERIFY_PARAM_set_flags }, - { "X509_VERIFY_PARAM_set_hostflags", (void *)_cffi_f_X509_VERIFY_PARAM_set_hostflags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2966), (void *)_cffi_d_X509_VERIFY_PARAM_set_hostflags }, - { "X509_VERIFY_PARAM_set_purpose", (void *)_cffi_f_X509_VERIFY_PARAM_set_purpose, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2135), (void *)_cffi_d_X509_VERIFY_PARAM_set_purpose }, - { "X509_VERIFY_PARAM_set_time", (void *)_cffi_f_X509_VERIFY_PARAM_set_time, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2962), (void *)_cffi_d_X509_VERIFY_PARAM_set_time }, - { "X509_VERIFY_PARAM_set_trust", (void *)_cffi_f_X509_VERIFY_PARAM_set_trust, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2135), (void *)_cffi_d_X509_VERIFY_PARAM_set_trust }, + { "X509_STORE_CTX_cleanup", (void *)_cffi_f_X509_STORE_CTX_cleanup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2928), (void *)_cffi_d_X509_STORE_CTX_cleanup }, + { "X509_STORE_CTX_free", (void *)_cffi_f_X509_STORE_CTX_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2928), (void *)_cffi_d_X509_STORE_CTX_free }, + { "X509_STORE_CTX_get0_cert", (void *)_cffi_f_X509_STORE_CTX_get0_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 539), (void *)_cffi_d_X509_STORE_CTX_get0_cert }, + { "X509_STORE_CTX_get0_param", (void *)_cffi_f_X509_STORE_CTX_get0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 706), (void *)_cffi_d_X509_STORE_CTX_get0_param }, + { "X509_STORE_CTX_get1_chain", (void *)_cffi_f_X509_STORE_CTX_get1_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 159), (void *)_cffi_d_X509_STORE_CTX_get1_chain }, + { "X509_STORE_CTX_get1_issuer", (void *)_cffi_f_X509_STORE_CTX_get1_issuer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1838), (void *)_cffi_d_X509_STORE_CTX_get1_issuer }, + { "X509_STORE_CTX_get_chain", (void *)_cffi_f_X509_STORE_CTX_get_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 159), (void *)_cffi_d_X509_STORE_CTX_get_chain }, + { "X509_STORE_CTX_get_current_cert", (void *)_cffi_f_X509_STORE_CTX_get_current_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 539), (void *)_cffi_d_X509_STORE_CTX_get_current_cert }, + { "X509_STORE_CTX_get_error", (void *)_cffi_f_X509_STORE_CTX_get_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2096), (void *)_cffi_d_X509_STORE_CTX_get_error }, + { "X509_STORE_CTX_get_error_depth", (void *)_cffi_f_X509_STORE_CTX_get_error_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2096), (void *)_cffi_d_X509_STORE_CTX_get_error_depth }, + { "X509_STORE_CTX_get_ex_data", (void *)_cffi_f_X509_STORE_CTX_get_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2504), (void *)_cffi_d_X509_STORE_CTX_get_ex_data }, + { "X509_STORE_CTX_get_ex_new_index", (void *)_cffi_f_X509_STORE_CTX_get_ex_new_index, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2234), (void *)_cffi_d_X509_STORE_CTX_get_ex_new_index }, + { "X509_STORE_CTX_init", (void *)_cffi_f_X509_STORE_CTX_init, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2099), (void *)_cffi_d_X509_STORE_CTX_init }, + { "X509_STORE_CTX_new", (void *)_cffi_f_X509_STORE_CTX_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 695), (void *)_cffi_d_X509_STORE_CTX_new }, + { "X509_STORE_CTX_set0_crls", (void *)_cffi_f_X509_STORE_CTX_set0_crls, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2935), (void *)_cffi_d_X509_STORE_CTX_set0_crls }, + { "X509_STORE_CTX_set0_param", (void *)_cffi_f_X509_STORE_CTX_set0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2943), (void *)_cffi_d_X509_STORE_CTX_set0_param }, + { "X509_STORE_CTX_set_cert", (void *)_cffi_f_X509_STORE_CTX_set_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2939), (void *)_cffi_d_X509_STORE_CTX_set_cert }, + { "X509_STORE_CTX_set_chain", (void *)_cffi_f_X509_STORE_CTX_set_chain, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2931), (void *)_cffi_d_X509_STORE_CTX_set_chain }, + { "X509_STORE_CTX_set_default", (void *)_cffi_f_X509_STORE_CTX_set_default, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2105), (void *)_cffi_d_X509_STORE_CTX_set_default }, + { "X509_STORE_CTX_set_error", (void *)_cffi_f_X509_STORE_CTX_set_error, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2951), (void *)_cffi_d_X509_STORE_CTX_set_error }, + { "X509_STORE_CTX_set_ex_data", (void *)_cffi_f_X509_STORE_CTX_set_ex_data, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2109), (void *)_cffi_d_X509_STORE_CTX_set_ex_data }, + { "X509_STORE_CTX_set_verify_cb", (void *)_cffi_f_X509_STORE_CTX_set_verify_cb, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2947), (void *)_cffi_d_X509_STORE_CTX_set_verify_cb }, + { "X509_STORE_CTX_trusted_stack", (void *)_cffi_f_X509_STORE_CTX_trusted_stack, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2931), (void *)_cffi_d_X509_STORE_CTX_trusted_stack }, + { "X509_STORE_add_cert", (void *)_cffi_f_X509_STORE_add_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2075), (void *)_cffi_d_X509_STORE_add_cert }, + { "X509_STORE_add_crl", (void *)_cffi_f_X509_STORE_add_crl, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2079), (void *)_cffi_d_X509_STORE_add_crl }, + { "X509_STORE_free", (void *)_cffi_f_X509_STORE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2921), (void *)_cffi_d_X509_STORE_free }, + { "X509_STORE_get0_objects", (void *)_cffi_f_X509_STORE_get0_objects, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 179), (void *)_cffi_d_X509_STORE_get0_objects }, + { "X509_STORE_get0_param", (void *)_cffi_f_X509_STORE_get0_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 703), (void *)_cffi_d_X509_STORE_get0_param }, + { "X509_STORE_get_get_issuer", (void *)_cffi_f_X509_STORE_get_get_issuer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2282), (void *)_cffi_d_X509_STORE_get_get_issuer }, + { "X509_STORE_load_locations", (void *)_cffi_f_X509_STORE_load_locations, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2087), (void *)_cffi_d_X509_STORE_load_locations }, + { "X509_STORE_new", (void *)_cffi_f_X509_STORE_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 693), (void *)_cffi_d_X509_STORE_new }, + { "X509_STORE_set1_param", (void *)_cffi_f_X509_STORE_set1_param, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2083), (void *)_cffi_d_X509_STORE_set1_param }, + { "X509_STORE_set_default_paths", (void *)_cffi_f_X509_STORE_set_default_paths, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2072), (void *)_cffi_d_X509_STORE_set_default_paths }, + { "X509_STORE_set_flags", (void *)_cffi_f_X509_STORE_set_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2092), (void *)_cffi_d_X509_STORE_set_flags }, + { "X509_STORE_set_get_issuer", (void *)_cffi_f_X509_STORE_set_get_issuer, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2924), (void *)_cffi_d_X509_STORE_set_get_issuer }, + { "X509_VERIFY_PARAM_add0_policy", (void *)_cffi_f_X509_VERIFY_PARAM_add0_policy, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2118), (void *)_cffi_d_X509_VERIFY_PARAM_add0_policy }, + { "X509_VERIFY_PARAM_clear_flags", (void *)_cffi_f_X509_VERIFY_PARAM_clear_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2144), (void *)_cffi_d_X509_VERIFY_PARAM_clear_flags }, + { "X509_VERIFY_PARAM_free", (void *)_cffi_f_X509_VERIFY_PARAM_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2955), (void *)_cffi_d_X509_VERIFY_PARAM_free }, + { "X509_VERIFY_PARAM_get_depth", (void *)_cffi_f_X509_VERIFY_PARAM_get_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2148), (void *)_cffi_d_X509_VERIFY_PARAM_get_depth }, + { "X509_VERIFY_PARAM_get_flags", (void *)_cffi_f_X509_VERIFY_PARAM_get_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2473), (void *)_cffi_d_X509_VERIFY_PARAM_get_flags }, + { "X509_VERIFY_PARAM_new", (void *)_cffi_f_X509_VERIFY_PARAM_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 709), (void *)_cffi_d_X509_VERIFY_PARAM_new }, + { "X509_VERIFY_PARAM_set1_email", (void *)_cffi_f_X509_VERIFY_PARAM_set1_email, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2130), (void *)_cffi_d_X509_VERIFY_PARAM_set1_email }, + { "X509_VERIFY_PARAM_set1_host", (void *)_cffi_f_X509_VERIFY_PARAM_set1_host, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2130), (void *)_cffi_d_X509_VERIFY_PARAM_set1_host }, + { "X509_VERIFY_PARAM_set1_ip", (void *)_cffi_f_X509_VERIFY_PARAM_set1_ip, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2139), (void *)_cffi_d_X509_VERIFY_PARAM_set1_ip }, + { "X509_VERIFY_PARAM_set1_ip_asc", (void *)_cffi_f_X509_VERIFY_PARAM_set1_ip_asc, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2126), (void *)_cffi_d_X509_VERIFY_PARAM_set1_ip_asc }, + { "X509_VERIFY_PARAM_set1_policies", (void *)_cffi_f_X509_VERIFY_PARAM_set1_policies, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2122), (void *)_cffi_d_X509_VERIFY_PARAM_set1_policies }, + { "X509_VERIFY_PARAM_set_depth", (void *)_cffi_f_X509_VERIFY_PARAM_set_depth, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2958), (void *)_cffi_d_X509_VERIFY_PARAM_set_depth }, + { "X509_VERIFY_PARAM_set_flags", (void *)_cffi_f_X509_VERIFY_PARAM_set_flags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2144), (void *)_cffi_d_X509_VERIFY_PARAM_set_flags }, + { "X509_VERIFY_PARAM_set_hostflags", (void *)_cffi_f_X509_VERIFY_PARAM_set_hostflags, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2966), (void *)_cffi_d_X509_VERIFY_PARAM_set_hostflags }, + { "X509_VERIFY_PARAM_set_purpose", (void *)_cffi_f_X509_VERIFY_PARAM_set_purpose, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2135), (void *)_cffi_d_X509_VERIFY_PARAM_set_purpose }, + { "X509_VERIFY_PARAM_set_time", (void *)_cffi_f_X509_VERIFY_PARAM_set_time, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2962), (void *)_cffi_d_X509_VERIFY_PARAM_set_time }, + { "X509_VERIFY_PARAM_set_trust", (void *)_cffi_f_X509_VERIFY_PARAM_set_trust, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2135), (void *)_cffi_d_X509_VERIFY_PARAM_set_trust }, { "X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH", (void *)_cffi_const_X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "X509_V_ERR_AKID_SKID_MISMATCH", (void *)_cffi_const_X509_V_ERR_AKID_SKID_MISMATCH, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "X509_V_ERR_APPLICATION_VERIFICATION", (void *)_cffi_const_X509_V_ERR_APPLICATION_VERIFICATION, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, @@ -54818,341 +54818,341 @@ static const struct _cffi_global_s _cffi_globals[] = { { "X509_V_FLAG_USE_DELTAS", (void *)_cffi_const_X509_V_FLAG_USE_DELTAS, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "X509_V_FLAG_X509_STRICT", (void *)_cffi_const_X509_V_FLAG_X509_STRICT, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, { "X509_V_OK", (void *)_cffi_const_X509_V_OK, _CFFI_OP(_CFFI_OP_CONSTANT_INT, -1), (void *)0 }, - { "X509_add_ext", (void *)_cffi_f_X509_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1863), (void *)_cffi_d_X509_add_ext }, - { "X509_alias_get0", (void *)_cffi_f_X509_alias_get0, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2419), (void *)_cffi_d_X509_alias_get0 }, - { "X509_check_ca", (void *)_cffi_f_X509_check_ca, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1843), (void *)_cffi_d_X509_check_ca }, - { "X509_cmp", (void *)_cffi_f_X509_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1889), (void *)_cffi_d_X509_cmp }, - { "X509_digest", (void *)_cffi_f_X509_digest, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1883), (void *)_cffi_d_X509_digest }, - { "X509_dup", (void *)_cffi_f_X509_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 533), (void *)_cffi_d_X509_dup }, - { "X509_free", (void *)_cffi_f_X509_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2875), (void *)_cffi_d_X509_free }, - { "X509_get0_signature", (void *)_cffi_f_X509_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2551), (void *)_cffi_d_X509_get0_signature }, - { "X509_get0_tbs_sigalg", (void *)_cffi_f_X509_get0_tbs_sigalg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 547), (void *)_cffi_d_X509_get0_tbs_sigalg }, - { "X509_get_default_cert_dir", (void *)_cffi_f_X509_get_default_cert_dir, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 744), (void *)_cffi_d_X509_get_default_cert_dir }, - { "X509_get_default_cert_dir_env", (void *)_cffi_f_X509_get_default_cert_dir_env, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 744), (void *)_cffi_d_X509_get_default_cert_dir_env }, - { "X509_get_default_cert_file", (void *)_cffi_f_X509_get_default_cert_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 744), (void *)_cffi_d_X509_get_default_cert_file }, - { "X509_get_default_cert_file_env", (void *)_cffi_f_X509_get_default_cert_file_env, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 744), (void *)_cffi_d_X509_get_default_cert_file_env }, - { "X509_get_ext", (void *)_cffi_f_X509_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 597), (void *)_cffi_d_X509_get_ext }, - { "X509_get_ext_count", (void *)_cffi_f_X509_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1843), (void *)_cffi_d_X509_get_ext_count }, - { "X509_get_ext_d2i", (void *)_cffi_f_X509_get_ext_d2i, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2486), (void *)_cffi_d_X509_get_ext_d2i }, - { "X509_get_issuer_name", (void *)_cffi_f_X509_get_issuer_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 636), (void *)_cffi_d_X509_get_issuer_name }, - { "X509_get_notAfter", (void *)_cffi_f_X509_get_notAfter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 53), (void *)_cffi_d_X509_get_notAfter }, - { "X509_get_notBefore", (void *)_cffi_f_X509_get_notBefore, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 53), (void *)_cffi_d_X509_get_notBefore }, - { "X509_get_pubkey", (void *)_cffi_f_X509_get_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 290), (void *)_cffi_d_X509_get_pubkey }, + { "X509_add_ext", (void *)_cffi_f_X509_add_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1863), (void *)_cffi_d_X509_add_ext }, + { "X509_alias_get0", (void *)_cffi_f_X509_alias_get0, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2419), (void *)_cffi_d_X509_alias_get0 }, + { "X509_check_ca", (void *)_cffi_f_X509_check_ca, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1843), (void *)_cffi_d_X509_check_ca }, + { "X509_cmp", (void *)_cffi_f_X509_cmp, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1889), (void *)_cffi_d_X509_cmp }, + { "X509_digest", (void *)_cffi_f_X509_digest, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1883), (void *)_cffi_d_X509_digest }, + { "X509_dup", (void *)_cffi_f_X509_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 533), (void *)_cffi_d_X509_dup }, + { "X509_free", (void *)_cffi_f_X509_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2875), (void *)_cffi_d_X509_free }, + { "X509_get0_signature", (void *)_cffi_f_X509_get0_signature, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2551), (void *)_cffi_d_X509_get0_signature }, + { "X509_get0_tbs_sigalg", (void *)_cffi_f_X509_get0_tbs_sigalg, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 547), (void *)_cffi_d_X509_get0_tbs_sigalg }, + { "X509_get_default_cert_dir", (void *)_cffi_f_X509_get_default_cert_dir, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 744), (void *)_cffi_d_X509_get_default_cert_dir }, + { "X509_get_default_cert_dir_env", (void *)_cffi_f_X509_get_default_cert_dir_env, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 744), (void *)_cffi_d_X509_get_default_cert_dir_env }, + { "X509_get_default_cert_file", (void *)_cffi_f_X509_get_default_cert_file, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 744), (void *)_cffi_d_X509_get_default_cert_file }, + { "X509_get_default_cert_file_env", (void *)_cffi_f_X509_get_default_cert_file_env, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 744), (void *)_cffi_d_X509_get_default_cert_file_env }, + { "X509_get_ext", (void *)_cffi_f_X509_get_ext, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 597), (void *)_cffi_d_X509_get_ext }, + { "X509_get_ext_count", (void *)_cffi_f_X509_get_ext_count, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1843), (void *)_cffi_d_X509_get_ext_count }, + { "X509_get_ext_d2i", (void *)_cffi_f_X509_get_ext_d2i, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2486), (void *)_cffi_d_X509_get_ext_d2i }, + { "X509_get_issuer_name", (void *)_cffi_f_X509_get_issuer_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 636), (void *)_cffi_d_X509_get_issuer_name }, + { "X509_get_notAfter", (void *)_cffi_f_X509_get_notAfter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 53), (void *)_cffi_d_X509_get_notAfter }, + { "X509_get_notBefore", (void *)_cffi_f_X509_get_notBefore, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 53), (void *)_cffi_d_X509_get_notBefore }, + { "X509_get_pubkey", (void *)_cffi_f_X509_get_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 290), (void *)_cffi_d_X509_get_pubkey }, { "X509_get_serialNumber", (void *)_cffi_f_X509_get_serialNumber, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 27), (void *)_cffi_d_X509_get_serialNumber }, - { "X509_get_signature_nid", (void *)_cffi_f_X509_get_signature_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1880), (void *)_cffi_d_X509_get_signature_nid }, - { "X509_get_subject_name", (void *)_cffi_f_X509_get_subject_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 636), (void *)_cffi_d_X509_get_subject_name }, - { "X509_get_version", (void *)_cffi_f_X509_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2357), (void *)_cffi_d_X509_get_version }, - { "X509_getm_notAfter", (void *)_cffi_f_X509_getm_notAfter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 53), (void *)_cffi_d_X509_getm_notAfter }, - { "X509_getm_notBefore", (void *)_cffi_f_X509_getm_notBefore, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 53), (void *)_cffi_d_X509_getm_notBefore }, - { "X509_gmtime_adj", (void *)_cffi_f_X509_gmtime_adj, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 49), (void *)_cffi_d_X509_gmtime_adj }, - { "X509_new", (void *)_cffi_f_X509_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 542), (void *)_cffi_d_X509_new }, - { "X509_print_ex", (void *)_cffi_f_X509_print_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 978), (void *)_cffi_d_X509_print_ex }, - { "X509_set1_notAfter", (void *)_cffi_f_X509_set1_notAfter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1850), (void *)_cffi_d_X509_set1_notAfter }, - { "X509_set1_notBefore", (void *)_cffi_f_X509_set1_notBefore, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1850), (void *)_cffi_d_X509_set1_notBefore }, - { "X509_set_issuer_name", (void *)_cffi_f_X509_set_issuer_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1868), (void *)_cffi_d_X509_set_issuer_name }, - { "X509_set_notAfter", (void *)_cffi_f_X509_set_notAfter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1850), (void *)_cffi_d_X509_set_notAfter }, - { "X509_set_notBefore", (void *)_cffi_f_X509_set_notBefore, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1850), (void *)_cffi_d_X509_set_notBefore }, - { "X509_set_pubkey", (void *)_cffi_f_X509_set_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1854), (void *)_cffi_d_X509_set_pubkey }, - { "X509_set_serialNumber", (void *)_cffi_f_X509_set_serialNumber, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1846), (void *)_cffi_d_X509_set_serialNumber }, - { "X509_set_subject_name", (void *)_cffi_f_X509_set_subject_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1868), (void *)_cffi_d_X509_set_subject_name }, - { "X509_set_version", (void *)_cffi_f_X509_set_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1872), (void *)_cffi_d_X509_set_version }, - { "X509_sign", (void *)_cffi_f_X509_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1858), (void *)_cffi_d_X509_sign }, - { "X509_subject_name_hash", (void *)_cffi_f_X509_subject_name_hash, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2467), (void *)_cffi_d_X509_subject_name_hash }, - { "X509_up_ref", (void *)_cffi_f_X509_up_ref, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1843), (void *)_cffi_d_X509_up_ref }, - { "X509_verify_cert", (void *)_cffi_f_X509_verify_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2096), (void *)_cffi_d_X509_verify_cert }, - { "X509_verify_cert_error_string", (void *)_cffi_f_X509_verify_cert_error_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 738), (void *)_cffi_d_X509_verify_cert_error_string }, - { "d2i_ASN1_TYPE", (void *)_cffi_f_d2i_ASN1_TYPE, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 73), (void *)_cffi_d_d2i_ASN1_TYPE }, - { "d2i_DHparams_bio", (void *)_cffi_f_d2i_DHparams_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 185), (void *)_cffi_d_d2i_DHparams_bio }, - { "d2i_ECPrivateKey_bio", (void *)_cffi_f_d2i_ECPrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 225), (void *)_cffi_d_d2i_ECPrivateKey_bio }, - { "d2i_EC_PUBKEY_bio", (void *)_cffi_f_d2i_EC_PUBKEY_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 225), (void *)_cffi_d_d2i_EC_PUBKEY_bio }, - { "d2i_GENERAL_NAMES", (void *)_cffi_f_d2i_GENERAL_NAMES, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 321), (void *)_cffi_d_d2i_GENERAL_NAMES }, - { "d2i_OCSP_REQUEST_bio", (void *)_cffi_f_d2i_OCSP_REQUEST_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 372), (void *)_cffi_d_d2i_OCSP_REQUEST_bio }, - { "d2i_OCSP_RESPONSE_bio", (void *)_cffi_f_d2i_OCSP_RESPONSE_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 381), (void *)_cffi_d_d2i_OCSP_RESPONSE_bio }, - { "d2i_PKCS12_bio", (void *)_cffi_f_d2i_PKCS12_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 404), (void *)_cffi_d_d2i_PKCS12_bio }, - { "d2i_PKCS7_bio", (void *)_cffi_f_d2i_PKCS7_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 424), (void *)_cffi_d_d2i_PKCS7_bio }, - { "d2i_PKCS8PrivateKey_bio", (void *)_cffi_f_d2i_PKCS8PrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 275), (void *)_cffi_d_d2i_PKCS8PrivateKey_bio }, - { "d2i_PUBKEY_bio", (void *)_cffi_f_d2i_PUBKEY_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 271), (void *)_cffi_d_d2i_PUBKEY_bio }, - { "d2i_PrivateKey_bio", (void *)_cffi_f_d2i_PrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 271), (void *)_cffi_d_d2i_PrivateKey_bio }, - { "d2i_RSAPublicKey_bio", (void *)_cffi_f_d2i_RSAPublicKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 462), (void *)_cffi_d_d2i_RSAPublicKey_bio }, - { "d2i_X509_CRL_bio", (void *)_cffi_f_d2i_X509_CRL_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 554), (void *)_cffi_d_d2i_X509_CRL_bio }, - { "d2i_X509_REQ_bio", (void *)_cffi_f_d2i_X509_REQ_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 669), (void *)_cffi_d_d2i_X509_REQ_bio }, - { "d2i_X509_bio", (void *)_cffi_f_d2i_X509_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 516), (void *)_cffi_d_d2i_X509_bio }, - { "i2a_ASN1_INTEGER", (void *)_cffi_f_i2a_ASN1_INTEGER, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 870), (void *)_cffi_d_i2a_ASN1_INTEGER }, - { "i2d_ASN1_TYPE", (void *)_cffi_f_i2d_ASN1_TYPE, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 800), (void *)_cffi_d_i2d_ASN1_TYPE }, - { "i2d_DHparams_bio", (void *)_cffi_f_i2d_DHparams_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 874), (void *)_cffi_d_i2d_DHparams_bio }, - { "i2d_DSAPrivateKey_bio", (void *)_cffi_f_i2d_DSAPrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 878), (void *)_cffi_d_i2d_DSAPrivateKey_bio }, - { "i2d_ECPrivateKey_bio", (void *)_cffi_f_i2d_ECPrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 891), (void *)_cffi_d_i2d_ECPrivateKey_bio }, - { "i2d_EC_PUBKEY_bio", (void *)_cffi_f_i2d_EC_PUBKEY_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 891), (void *)_cffi_d_i2d_EC_PUBKEY_bio }, - { "i2d_GENERAL_NAMES", (void *)_cffi_f_i2d_GENERAL_NAMES, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1510), (void *)_cffi_d_i2d_GENERAL_NAMES }, - { "i2d_OCSP_REQUEST_bio", (void *)_cffi_f_i2d_OCSP_REQUEST_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 930), (void *)_cffi_d_i2d_OCSP_REQUEST_bio }, - { "i2d_OCSP_RESPDATA", (void *)_cffi_f_i2d_OCSP_RESPDATA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1577), (void *)_cffi_d_i2d_OCSP_RESPDATA }, - { "i2d_OCSP_RESPONSE_bio", (void *)_cffi_f_i2d_OCSP_RESPONSE_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 934), (void *)_cffi_d_i2d_OCSP_RESPONSE_bio }, - { "i2d_PKCS12_bio", (void *)_cffi_f_i2d_PKCS12_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 938), (void *)_cffi_d_i2d_PKCS12_bio }, - { "i2d_PKCS7_bio", (void *)_cffi_f_i2d_PKCS7_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 942), (void *)_cffi_d_i2d_PKCS7_bio }, - { "i2d_PKCS8PrivateKey_bio", (void *)_cffi_f_i2d_PKCS8PrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 908), (void *)_cffi_d_i2d_PKCS8PrivateKey_bio }, - { "i2d_PUBKEY_bio", (void *)_cffi_f_i2d_PUBKEY_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 904), (void *)_cffi_d_i2d_PUBKEY_bio }, - { "i2d_PrivateKey_bio", (void *)_cffi_f_i2d_PrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 904), (void *)_cffi_d_i2d_PrivateKey_bio }, - { "i2d_RSAPrivateKey_bio", (void *)_cffi_f_i2d_RSAPrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 952), (void *)_cffi_d_i2d_RSAPrivateKey_bio }, - { "i2d_RSAPublicKey_bio", (void *)_cffi_f_i2d_RSAPublicKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 952), (void *)_cffi_d_i2d_RSAPublicKey_bio }, - { "i2d_X509_CRL_bio", (void *)_cffi_f_i2d_X509_CRL_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 984), (void *)_cffi_d_i2d_X509_CRL_bio }, - { "i2d_X509_NAME", (void *)_cffi_f_i2d_X509_NAME, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1998), (void *)_cffi_d_i2d_X509_NAME }, - { "i2d_X509_REQ_bio", (void *)_cffi_f_i2d_X509_REQ_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1000), (void *)_cffi_d_i2d_X509_REQ_bio }, - { "i2d_X509_bio", (void *)_cffi_f_i2d_X509_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 974), (void *)_cffi_d_i2d_X509_bio }, - { "i2d_re_X509_CRL_tbs", (void *)_cffi_f_i2d_re_X509_CRL_tbs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1934), (void *)_cffi_d_i2d_re_X509_CRL_tbs }, - { "i2d_re_X509_REQ_tbs", (void *)_cffi_f_i2d_re_X509_REQ_tbs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2040), (void *)_cffi_d_i2d_re_X509_REQ_tbs }, - { "i2d_re_X509_tbs", (void *)_cffi_f_i2d_re_X509_tbs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1876), (void *)_cffi_d_i2d_re_X509_tbs }, - { "sk_ACCESS_DESCRIPTION_free", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2581), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_free }, - { "sk_ACCESS_DESCRIPTION_new_null", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 137), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_new_null }, - { "sk_ACCESS_DESCRIPTION_num", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1051), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_num }, - { "sk_ACCESS_DESCRIPTION_pop_free", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2584), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_pop_free }, - { "sk_ACCESS_DESCRIPTION_push", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1054), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_push }, + { "X509_get_signature_nid", (void *)_cffi_f_X509_get_signature_nid, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1880), (void *)_cffi_d_X509_get_signature_nid }, + { "X509_get_subject_name", (void *)_cffi_f_X509_get_subject_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 636), (void *)_cffi_d_X509_get_subject_name }, + { "X509_get_version", (void *)_cffi_f_X509_get_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2357), (void *)_cffi_d_X509_get_version }, + { "X509_getm_notAfter", (void *)_cffi_f_X509_getm_notAfter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 53), (void *)_cffi_d_X509_getm_notAfter }, + { "X509_getm_notBefore", (void *)_cffi_f_X509_getm_notBefore, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 53), (void *)_cffi_d_X509_getm_notBefore }, + { "X509_gmtime_adj", (void *)_cffi_f_X509_gmtime_adj, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 49), (void *)_cffi_d_X509_gmtime_adj }, + { "X509_new", (void *)_cffi_f_X509_new, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 542), (void *)_cffi_d_X509_new }, + { "X509_print_ex", (void *)_cffi_f_X509_print_ex, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 978), (void *)_cffi_d_X509_print_ex }, + { "X509_set1_notAfter", (void *)_cffi_f_X509_set1_notAfter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1850), (void *)_cffi_d_X509_set1_notAfter }, + { "X509_set1_notBefore", (void *)_cffi_f_X509_set1_notBefore, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1850), (void *)_cffi_d_X509_set1_notBefore }, + { "X509_set_issuer_name", (void *)_cffi_f_X509_set_issuer_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1868), (void *)_cffi_d_X509_set_issuer_name }, + { "X509_set_notAfter", (void *)_cffi_f_X509_set_notAfter, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1850), (void *)_cffi_d_X509_set_notAfter }, + { "X509_set_notBefore", (void *)_cffi_f_X509_set_notBefore, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1850), (void *)_cffi_d_X509_set_notBefore }, + { "X509_set_pubkey", (void *)_cffi_f_X509_set_pubkey, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1854), (void *)_cffi_d_X509_set_pubkey }, + { "X509_set_serialNumber", (void *)_cffi_f_X509_set_serialNumber, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1846), (void *)_cffi_d_X509_set_serialNumber }, + { "X509_set_subject_name", (void *)_cffi_f_X509_set_subject_name, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1868), (void *)_cffi_d_X509_set_subject_name }, + { "X509_set_version", (void *)_cffi_f_X509_set_version, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1872), (void *)_cffi_d_X509_set_version }, + { "X509_sign", (void *)_cffi_f_X509_sign, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1858), (void *)_cffi_d_X509_sign }, + { "X509_subject_name_hash", (void *)_cffi_f_X509_subject_name_hash, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2467), (void *)_cffi_d_X509_subject_name_hash }, + { "X509_up_ref", (void *)_cffi_f_X509_up_ref, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1843), (void *)_cffi_d_X509_up_ref }, + { "X509_verify_cert", (void *)_cffi_f_X509_verify_cert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2096), (void *)_cffi_d_X509_verify_cert }, + { "X509_verify_cert_error_string", (void *)_cffi_f_X509_verify_cert_error_string, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 738), (void *)_cffi_d_X509_verify_cert_error_string }, + { "d2i_ASN1_TYPE", (void *)_cffi_f_d2i_ASN1_TYPE, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 73), (void *)_cffi_d_d2i_ASN1_TYPE }, + { "d2i_DHparams_bio", (void *)_cffi_f_d2i_DHparams_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 185), (void *)_cffi_d_d2i_DHparams_bio }, + { "d2i_ECPrivateKey_bio", (void *)_cffi_f_d2i_ECPrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 225), (void *)_cffi_d_d2i_ECPrivateKey_bio }, + { "d2i_EC_PUBKEY_bio", (void *)_cffi_f_d2i_EC_PUBKEY_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 225), (void *)_cffi_d_d2i_EC_PUBKEY_bio }, + { "d2i_GENERAL_NAMES", (void *)_cffi_f_d2i_GENERAL_NAMES, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 321), (void *)_cffi_d_d2i_GENERAL_NAMES }, + { "d2i_OCSP_REQUEST_bio", (void *)_cffi_f_d2i_OCSP_REQUEST_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 372), (void *)_cffi_d_d2i_OCSP_REQUEST_bio }, + { "d2i_OCSP_RESPONSE_bio", (void *)_cffi_f_d2i_OCSP_RESPONSE_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 381), (void *)_cffi_d_d2i_OCSP_RESPONSE_bio }, + { "d2i_PKCS12_bio", (void *)_cffi_f_d2i_PKCS12_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 404), (void *)_cffi_d_d2i_PKCS12_bio }, + { "d2i_PKCS7_bio", (void *)_cffi_f_d2i_PKCS7_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 424), (void *)_cffi_d_d2i_PKCS7_bio }, + { "d2i_PKCS8PrivateKey_bio", (void *)_cffi_f_d2i_PKCS8PrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 275), (void *)_cffi_d_d2i_PKCS8PrivateKey_bio }, + { "d2i_PUBKEY_bio", (void *)_cffi_f_d2i_PUBKEY_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 271), (void *)_cffi_d_d2i_PUBKEY_bio }, + { "d2i_PrivateKey_bio", (void *)_cffi_f_d2i_PrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 271), (void *)_cffi_d_d2i_PrivateKey_bio }, + { "d2i_RSAPublicKey_bio", (void *)_cffi_f_d2i_RSAPublicKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 462), (void *)_cffi_d_d2i_RSAPublicKey_bio }, + { "d2i_X509_CRL_bio", (void *)_cffi_f_d2i_X509_CRL_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 554), (void *)_cffi_d_d2i_X509_CRL_bio }, + { "d2i_X509_REQ_bio", (void *)_cffi_f_d2i_X509_REQ_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 669), (void *)_cffi_d_d2i_X509_REQ_bio }, + { "d2i_X509_bio", (void *)_cffi_f_d2i_X509_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 516), (void *)_cffi_d_d2i_X509_bio }, + { "i2a_ASN1_INTEGER", (void *)_cffi_f_i2a_ASN1_INTEGER, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 870), (void *)_cffi_d_i2a_ASN1_INTEGER }, + { "i2d_ASN1_TYPE", (void *)_cffi_f_i2d_ASN1_TYPE, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 800), (void *)_cffi_d_i2d_ASN1_TYPE }, + { "i2d_DHparams_bio", (void *)_cffi_f_i2d_DHparams_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 874), (void *)_cffi_d_i2d_DHparams_bio }, + { "i2d_DSAPrivateKey_bio", (void *)_cffi_f_i2d_DSAPrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 878), (void *)_cffi_d_i2d_DSAPrivateKey_bio }, + { "i2d_ECPrivateKey_bio", (void *)_cffi_f_i2d_ECPrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 891), (void *)_cffi_d_i2d_ECPrivateKey_bio }, + { "i2d_EC_PUBKEY_bio", (void *)_cffi_f_i2d_EC_PUBKEY_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 891), (void *)_cffi_d_i2d_EC_PUBKEY_bio }, + { "i2d_GENERAL_NAMES", (void *)_cffi_f_i2d_GENERAL_NAMES, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1510), (void *)_cffi_d_i2d_GENERAL_NAMES }, + { "i2d_OCSP_REQUEST_bio", (void *)_cffi_f_i2d_OCSP_REQUEST_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 930), (void *)_cffi_d_i2d_OCSP_REQUEST_bio }, + { "i2d_OCSP_RESPDATA", (void *)_cffi_f_i2d_OCSP_RESPDATA, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1577), (void *)_cffi_d_i2d_OCSP_RESPDATA }, + { "i2d_OCSP_RESPONSE_bio", (void *)_cffi_f_i2d_OCSP_RESPONSE_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 934), (void *)_cffi_d_i2d_OCSP_RESPONSE_bio }, + { "i2d_PKCS12_bio", (void *)_cffi_f_i2d_PKCS12_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 938), (void *)_cffi_d_i2d_PKCS12_bio }, + { "i2d_PKCS7_bio", (void *)_cffi_f_i2d_PKCS7_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 942), (void *)_cffi_d_i2d_PKCS7_bio }, + { "i2d_PKCS8PrivateKey_bio", (void *)_cffi_f_i2d_PKCS8PrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 908), (void *)_cffi_d_i2d_PKCS8PrivateKey_bio }, + { "i2d_PUBKEY_bio", (void *)_cffi_f_i2d_PUBKEY_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 904), (void *)_cffi_d_i2d_PUBKEY_bio }, + { "i2d_PrivateKey_bio", (void *)_cffi_f_i2d_PrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 904), (void *)_cffi_d_i2d_PrivateKey_bio }, + { "i2d_RSAPrivateKey_bio", (void *)_cffi_f_i2d_RSAPrivateKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 952), (void *)_cffi_d_i2d_RSAPrivateKey_bio }, + { "i2d_RSAPublicKey_bio", (void *)_cffi_f_i2d_RSAPublicKey_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 952), (void *)_cffi_d_i2d_RSAPublicKey_bio }, + { "i2d_X509_CRL_bio", (void *)_cffi_f_i2d_X509_CRL_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 984), (void *)_cffi_d_i2d_X509_CRL_bio }, + { "i2d_X509_NAME", (void *)_cffi_f_i2d_X509_NAME, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1998), (void *)_cffi_d_i2d_X509_NAME }, + { "i2d_X509_REQ_bio", (void *)_cffi_f_i2d_X509_REQ_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1000), (void *)_cffi_d_i2d_X509_REQ_bio }, + { "i2d_X509_bio", (void *)_cffi_f_i2d_X509_bio, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 974), (void *)_cffi_d_i2d_X509_bio }, + { "i2d_re_X509_CRL_tbs", (void *)_cffi_f_i2d_re_X509_CRL_tbs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1934), (void *)_cffi_d_i2d_re_X509_CRL_tbs }, + { "i2d_re_X509_REQ_tbs", (void *)_cffi_f_i2d_re_X509_REQ_tbs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2040), (void *)_cffi_d_i2d_re_X509_REQ_tbs }, + { "i2d_re_X509_tbs", (void *)_cffi_f_i2d_re_X509_tbs, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1876), (void *)_cffi_d_i2d_re_X509_tbs }, + { "sk_ACCESS_DESCRIPTION_free", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2581), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_free }, + { "sk_ACCESS_DESCRIPTION_new_null", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 137), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_new_null }, + { "sk_ACCESS_DESCRIPTION_num", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1051), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_num }, + { "sk_ACCESS_DESCRIPTION_pop_free", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2584), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_pop_free }, + { "sk_ACCESS_DESCRIPTION_push", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1054), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_push }, { "sk_ACCESS_DESCRIPTION_value", (void *)_cffi_f_sk_ACCESS_DESCRIPTION_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 0), (void *)_cffi_d_sk_ACCESS_DESCRIPTION_value }, - { "sk_ASN1_INTEGER_free", (void *)_cffi_f_sk_ASN1_INTEGER_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2588), (void *)_cffi_d_sk_ASN1_INTEGER_free }, - { "sk_ASN1_INTEGER_new_null", (void *)_cffi_f_sk_ASN1_INTEGER_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 139), (void *)_cffi_d_sk_ASN1_INTEGER_new_null }, - { "sk_ASN1_INTEGER_num", (void *)_cffi_f_sk_ASN1_INTEGER_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1058), (void *)_cffi_d_sk_ASN1_INTEGER_num }, - { "sk_ASN1_INTEGER_push", (void *)_cffi_f_sk_ASN1_INTEGER_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1061), (void *)_cffi_d_sk_ASN1_INTEGER_push }, + { "sk_ASN1_INTEGER_free", (void *)_cffi_f_sk_ASN1_INTEGER_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2588), (void *)_cffi_d_sk_ASN1_INTEGER_free }, + { "sk_ASN1_INTEGER_new_null", (void *)_cffi_f_sk_ASN1_INTEGER_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 139), (void *)_cffi_d_sk_ASN1_INTEGER_new_null }, + { "sk_ASN1_INTEGER_num", (void *)_cffi_f_sk_ASN1_INTEGER_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1058), (void *)_cffi_d_sk_ASN1_INTEGER_num }, + { "sk_ASN1_INTEGER_push", (void *)_cffi_f_sk_ASN1_INTEGER_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1061), (void *)_cffi_d_sk_ASN1_INTEGER_push }, { "sk_ASN1_INTEGER_value", (void *)_cffi_f_sk_ASN1_INTEGER_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 23), (void *)_cffi_d_sk_ASN1_INTEGER_value }, - { "sk_ASN1_OBJECT_free", (void *)_cffi_f_sk_ASN1_OBJECT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2591), (void *)_cffi_d_sk_ASN1_OBJECT_free }, - { "sk_ASN1_OBJECT_new_null", (void *)_cffi_f_sk_ASN1_OBJECT_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 141), (void *)_cffi_d_sk_ASN1_OBJECT_new_null }, - { "sk_ASN1_OBJECT_num", (void *)_cffi_f_sk_ASN1_OBJECT_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1065), (void *)_cffi_d_sk_ASN1_OBJECT_num }, - { "sk_ASN1_OBJECT_push", (void *)_cffi_f_sk_ASN1_OBJECT_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1068), (void *)_cffi_d_sk_ASN1_OBJECT_push }, - { "sk_ASN1_OBJECT_value", (void *)_cffi_f_sk_ASN1_OBJECT_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 35), (void *)_cffi_d_sk_ASN1_OBJECT_value }, - { "sk_DIST_POINT_free", (void *)_cffi_f_sk_DIST_POINT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2594), (void *)_cffi_d_sk_DIST_POINT_free }, - { "sk_DIST_POINT_new_null", (void *)_cffi_f_sk_DIST_POINT_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 143), (void *)_cffi_d_sk_DIST_POINT_new_null }, - { "sk_DIST_POINT_num", (void *)_cffi_f_sk_DIST_POINT_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1072), (void *)_cffi_d_sk_DIST_POINT_num }, - { "sk_DIST_POINT_pop_free", (void *)_cffi_f_sk_DIST_POINT_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2597), (void *)_cffi_d_sk_DIST_POINT_pop_free }, - { "sk_DIST_POINT_push", (void *)_cffi_f_sk_DIST_POINT_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1075), (void *)_cffi_d_sk_DIST_POINT_push }, - { "sk_DIST_POINT_value", (void *)_cffi_f_sk_DIST_POINT_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 203), (void *)_cffi_d_sk_DIST_POINT_value }, - { "sk_GENERAL_NAME_num", (void *)_cffi_f_sk_GENERAL_NAME_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1503), (void *)_cffi_d_sk_GENERAL_NAME_num }, - { "sk_GENERAL_NAME_pop_free", (void *)_cffi_f_sk_GENERAL_NAME_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2694), (void *)_cffi_d_sk_GENERAL_NAME_pop_free }, - { "sk_GENERAL_NAME_push", (void *)_cffi_f_sk_GENERAL_NAME_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1506), (void *)_cffi_d_sk_GENERAL_NAME_push }, - { "sk_GENERAL_NAME_value", (void *)_cffi_f_sk_GENERAL_NAME_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 315), (void *)_cffi_d_sk_GENERAL_NAME_value }, - { "sk_GENERAL_SUBTREE_free", (void *)_cffi_f_sk_GENERAL_SUBTREE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2601), (void *)_cffi_d_sk_GENERAL_SUBTREE_free }, - { "sk_GENERAL_SUBTREE_new_null", (void *)_cffi_f_sk_GENERAL_SUBTREE_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 145), (void *)_cffi_d_sk_GENERAL_SUBTREE_new_null }, - { "sk_GENERAL_SUBTREE_num", (void *)_cffi_f_sk_GENERAL_SUBTREE_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1079), (void *)_cffi_d_sk_GENERAL_SUBTREE_num }, - { "sk_GENERAL_SUBTREE_push", (void *)_cffi_f_sk_GENERAL_SUBTREE_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1082), (void *)_cffi_d_sk_GENERAL_SUBTREE_push }, - { "sk_GENERAL_SUBTREE_value", (void *)_cffi_f_sk_GENERAL_SUBTREE_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 328), (void *)_cffi_d_sk_GENERAL_SUBTREE_value }, - { "sk_POLICYINFO_free", (void *)_cffi_f_sk_POLICYINFO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2604), (void *)_cffi_d_sk_POLICYINFO_free }, - { "sk_POLICYINFO_new_null", (void *)_cffi_f_sk_POLICYINFO_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 147), (void *)_cffi_d_sk_POLICYINFO_new_null }, - { "sk_POLICYINFO_num", (void *)_cffi_f_sk_POLICYINFO_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1086), (void *)_cffi_d_sk_POLICYINFO_num }, - { "sk_POLICYINFO_pop_free", (void *)_cffi_f_sk_POLICYINFO_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2607), (void *)_cffi_d_sk_POLICYINFO_pop_free }, - { "sk_POLICYINFO_push", (void *)_cffi_f_sk_POLICYINFO_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1089), (void *)_cffi_d_sk_POLICYINFO_push }, - { "sk_POLICYINFO_value", (void *)_cffi_f_sk_POLICYINFO_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 448), (void *)_cffi_d_sk_POLICYINFO_value }, - { "sk_POLICYQUALINFO_free", (void *)_cffi_f_sk_POLICYQUALINFO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2611), (void *)_cffi_d_sk_POLICYQUALINFO_free }, - { "sk_POLICYQUALINFO_new_null", (void *)_cffi_f_sk_POLICYQUALINFO_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 149), (void *)_cffi_d_sk_POLICYQUALINFO_new_null }, - { "sk_POLICYQUALINFO_num", (void *)_cffi_f_sk_POLICYQUALINFO_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1093), (void *)_cffi_d_sk_POLICYQUALINFO_num }, - { "sk_POLICYQUALINFO_push", (void *)_cffi_f_sk_POLICYQUALINFO_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1096), (void *)_cffi_d_sk_POLICYQUALINFO_push }, - { "sk_POLICYQUALINFO_value", (void *)_cffi_f_sk_POLICYQUALINFO_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 454), (void *)_cffi_d_sk_POLICYQUALINFO_value }, - { "sk_SCT_free", (void *)_cffi_f_sk_SCT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2614), (void *)_cffi_d_sk_SCT_free }, - { "sk_SCT_new_null", (void *)_cffi_f_sk_SCT_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 151), (void *)_cffi_d_sk_SCT_new_null }, - { "sk_SCT_num", (void *)_cffi_f_sk_SCT_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1104), (void *)_cffi_d_sk_SCT_num }, - { "sk_SCT_push", (void *)_cffi_f_sk_SCT_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1100), (void *)_cffi_d_sk_SCT_push }, - { "sk_SCT_value", (void *)_cffi_f_sk_SCT_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 480), (void *)_cffi_d_sk_SCT_value }, - { "sk_SSL_CIPHER_num", (void *)_cffi_f_sk_SSL_CIPHER_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1107), (void *)_cffi_d_sk_SSL_CIPHER_num }, - { "sk_SSL_CIPHER_value", (void *)_cffi_f_sk_SSL_CIPHER_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 492), (void *)_cffi_d_sk_SSL_CIPHER_value }, - { "sk_X509_CRL_free", (void *)_cffi_f_sk_X509_CRL_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2620), (void *)_cffi_d_sk_X509_CRL_free }, - { "sk_X509_CRL_new_null", (void *)_cffi_f_sk_X509_CRL_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 164), (void *)_cffi_d_sk_X509_CRL_new_null }, - { "sk_X509_CRL_num", (void *)_cffi_f_sk_X509_CRL_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1117), (void *)_cffi_d_sk_X509_CRL_num }, - { "sk_X509_CRL_push", (void *)_cffi_f_sk_X509_CRL_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1120), (void *)_cffi_d_sk_X509_CRL_push }, - { "sk_X509_CRL_value", (void *)_cffi_f_sk_X509_CRL_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 564), (void *)_cffi_d_sk_X509_CRL_value }, - { "sk_X509_EXTENSION_delete", (void *)_cffi_f_sk_X509_EXTENSION_delete, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 614), (void *)_cffi_d_sk_X509_EXTENSION_delete }, - { "sk_X509_EXTENSION_free", (void *)_cffi_f_sk_X509_EXTENSION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2897), (void *)_cffi_d_sk_X509_EXTENSION_free }, - { "sk_X509_EXTENSION_insert", (void *)_cffi_f_sk_X509_EXTENSION_insert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1952), (void *)_cffi_d_sk_X509_EXTENSION_insert }, - { "sk_X509_EXTENSION_new_null", (void *)_cffi_f_sk_X509_EXTENSION_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 630), (void *)_cffi_d_sk_X509_EXTENSION_new_null }, - { "sk_X509_EXTENSION_num", (void *)_cffi_f_sk_X509_EXTENSION_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1945), (void *)_cffi_d_sk_X509_EXTENSION_num }, - { "sk_X509_EXTENSION_pop_free", (void *)_cffi_f_sk_X509_EXTENSION_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2900), (void *)_cffi_d_sk_X509_EXTENSION_pop_free }, - { "sk_X509_EXTENSION_push", (void *)_cffi_f_sk_X509_EXTENSION_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1948), (void *)_cffi_d_sk_X509_EXTENSION_push }, - { "sk_X509_EXTENSION_value", (void *)_cffi_f_sk_X509_EXTENSION_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 614), (void *)_cffi_d_sk_X509_EXTENSION_value }, - { "sk_X509_NAME_ENTRY_dup", (void *)_cffi_f_sk_X509_NAME_ENTRY_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 174), (void *)_cffi_d_sk_X509_NAME_ENTRY_dup }, - { "sk_X509_NAME_ENTRY_new_null", (void *)_cffi_f_sk_X509_NAME_ENTRY_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 177), (void *)_cffi_d_sk_X509_NAME_ENTRY_new_null }, - { "sk_X509_NAME_ENTRY_num", (void *)_cffi_f_sk_X509_NAME_ENTRY_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1131), (void *)_cffi_d_sk_X509_NAME_ENTRY_num }, - { "sk_X509_NAME_ENTRY_push", (void *)_cffi_f_sk_X509_NAME_ENTRY_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1134), (void *)_cffi_d_sk_X509_NAME_ENTRY_push }, - { "sk_X509_NAME_ENTRY_value", (void *)_cffi_f_sk_X509_NAME_ENTRY_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 650), (void *)_cffi_d_sk_X509_NAME_ENTRY_value }, - { "sk_X509_NAME_free", (void *)_cffi_f_sk_X509_NAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2623), (void *)_cffi_d_sk_X509_NAME_free }, - { "sk_X509_NAME_new_null", (void *)_cffi_f_sk_X509_NAME_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 172), (void *)_cffi_d_sk_X509_NAME_new_null }, - { "sk_X509_NAME_num", (void *)_cffi_f_sk_X509_NAME_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1124), (void *)_cffi_d_sk_X509_NAME_num }, - { "sk_X509_NAME_push", (void *)_cffi_f_sk_X509_NAME_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1127), (void *)_cffi_d_sk_X509_NAME_push }, - { "sk_X509_NAME_value", (void *)_cffi_f_sk_X509_NAME_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 632), (void *)_cffi_d_sk_X509_NAME_value }, - { "sk_X509_OBJECT_num", (void *)_cffi_f_sk_X509_OBJECT_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1138), (void *)_cffi_d_sk_X509_OBJECT_num }, - { "sk_X509_OBJECT_value", (void *)_cffi_f_sk_X509_OBJECT_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 665), (void *)_cffi_d_sk_X509_OBJECT_value }, - { "sk_X509_REVOKED_num", (void *)_cffi_f_sk_X509_REVOKED_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1141), (void *)_cffi_d_sk_X509_REVOKED_num }, - { "sk_X509_REVOKED_value", (void *)_cffi_f_sk_X509_REVOKED_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 681), (void *)_cffi_d_sk_X509_REVOKED_value }, - { "sk_X509_free", (void *)_cffi_f_sk_X509_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2617), (void *)_cffi_d_sk_X509_free }, - { "sk_X509_new_null", (void *)_cffi_f_sk_X509_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 162), (void *)_cffi_d_sk_X509_new_null }, - { "sk_X509_num", (void *)_cffi_f_sk_X509_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1110), (void *)_cffi_d_sk_X509_num }, - { "sk_X509_push", (void *)_cffi_f_sk_X509_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1113), (void *)_cffi_d_sk_X509_push }, - { "sk_X509_value", (void *)_cffi_f_sk_X509_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 526), (void *)_cffi_d_sk_X509_value }, + { "sk_ASN1_OBJECT_free", (void *)_cffi_f_sk_ASN1_OBJECT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2591), (void *)_cffi_d_sk_ASN1_OBJECT_free }, + { "sk_ASN1_OBJECT_new_null", (void *)_cffi_f_sk_ASN1_OBJECT_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 141), (void *)_cffi_d_sk_ASN1_OBJECT_new_null }, + { "sk_ASN1_OBJECT_num", (void *)_cffi_f_sk_ASN1_OBJECT_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1065), (void *)_cffi_d_sk_ASN1_OBJECT_num }, + { "sk_ASN1_OBJECT_push", (void *)_cffi_f_sk_ASN1_OBJECT_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1068), (void *)_cffi_d_sk_ASN1_OBJECT_push }, + { "sk_ASN1_OBJECT_value", (void *)_cffi_f_sk_ASN1_OBJECT_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 35), (void *)_cffi_d_sk_ASN1_OBJECT_value }, + { "sk_DIST_POINT_free", (void *)_cffi_f_sk_DIST_POINT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2594), (void *)_cffi_d_sk_DIST_POINT_free }, + { "sk_DIST_POINT_new_null", (void *)_cffi_f_sk_DIST_POINT_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 143), (void *)_cffi_d_sk_DIST_POINT_new_null }, + { "sk_DIST_POINT_num", (void *)_cffi_f_sk_DIST_POINT_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1072), (void *)_cffi_d_sk_DIST_POINT_num }, + { "sk_DIST_POINT_pop_free", (void *)_cffi_f_sk_DIST_POINT_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2597), (void *)_cffi_d_sk_DIST_POINT_pop_free }, + { "sk_DIST_POINT_push", (void *)_cffi_f_sk_DIST_POINT_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1075), (void *)_cffi_d_sk_DIST_POINT_push }, + { "sk_DIST_POINT_value", (void *)_cffi_f_sk_DIST_POINT_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 203), (void *)_cffi_d_sk_DIST_POINT_value }, + { "sk_GENERAL_NAME_num", (void *)_cffi_f_sk_GENERAL_NAME_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1503), (void *)_cffi_d_sk_GENERAL_NAME_num }, + { "sk_GENERAL_NAME_pop_free", (void *)_cffi_f_sk_GENERAL_NAME_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2694), (void *)_cffi_d_sk_GENERAL_NAME_pop_free }, + { "sk_GENERAL_NAME_push", (void *)_cffi_f_sk_GENERAL_NAME_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1506), (void *)_cffi_d_sk_GENERAL_NAME_push }, + { "sk_GENERAL_NAME_value", (void *)_cffi_f_sk_GENERAL_NAME_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 315), (void *)_cffi_d_sk_GENERAL_NAME_value }, + { "sk_GENERAL_SUBTREE_free", (void *)_cffi_f_sk_GENERAL_SUBTREE_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2601), (void *)_cffi_d_sk_GENERAL_SUBTREE_free }, + { "sk_GENERAL_SUBTREE_new_null", (void *)_cffi_f_sk_GENERAL_SUBTREE_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 145), (void *)_cffi_d_sk_GENERAL_SUBTREE_new_null }, + { "sk_GENERAL_SUBTREE_num", (void *)_cffi_f_sk_GENERAL_SUBTREE_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1079), (void *)_cffi_d_sk_GENERAL_SUBTREE_num }, + { "sk_GENERAL_SUBTREE_push", (void *)_cffi_f_sk_GENERAL_SUBTREE_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1082), (void *)_cffi_d_sk_GENERAL_SUBTREE_push }, + { "sk_GENERAL_SUBTREE_value", (void *)_cffi_f_sk_GENERAL_SUBTREE_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 328), (void *)_cffi_d_sk_GENERAL_SUBTREE_value }, + { "sk_POLICYINFO_free", (void *)_cffi_f_sk_POLICYINFO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2604), (void *)_cffi_d_sk_POLICYINFO_free }, + { "sk_POLICYINFO_new_null", (void *)_cffi_f_sk_POLICYINFO_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 147), (void *)_cffi_d_sk_POLICYINFO_new_null }, + { "sk_POLICYINFO_num", (void *)_cffi_f_sk_POLICYINFO_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1086), (void *)_cffi_d_sk_POLICYINFO_num }, + { "sk_POLICYINFO_pop_free", (void *)_cffi_f_sk_POLICYINFO_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2607), (void *)_cffi_d_sk_POLICYINFO_pop_free }, + { "sk_POLICYINFO_push", (void *)_cffi_f_sk_POLICYINFO_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1089), (void *)_cffi_d_sk_POLICYINFO_push }, + { "sk_POLICYINFO_value", (void *)_cffi_f_sk_POLICYINFO_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 448), (void *)_cffi_d_sk_POLICYINFO_value }, + { "sk_POLICYQUALINFO_free", (void *)_cffi_f_sk_POLICYQUALINFO_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2611), (void *)_cffi_d_sk_POLICYQUALINFO_free }, + { "sk_POLICYQUALINFO_new_null", (void *)_cffi_f_sk_POLICYQUALINFO_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 149), (void *)_cffi_d_sk_POLICYQUALINFO_new_null }, + { "sk_POLICYQUALINFO_num", (void *)_cffi_f_sk_POLICYQUALINFO_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1093), (void *)_cffi_d_sk_POLICYQUALINFO_num }, + { "sk_POLICYQUALINFO_push", (void *)_cffi_f_sk_POLICYQUALINFO_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1096), (void *)_cffi_d_sk_POLICYQUALINFO_push }, + { "sk_POLICYQUALINFO_value", (void *)_cffi_f_sk_POLICYQUALINFO_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 454), (void *)_cffi_d_sk_POLICYQUALINFO_value }, + { "sk_SCT_free", (void *)_cffi_f_sk_SCT_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2614), (void *)_cffi_d_sk_SCT_free }, + { "sk_SCT_new_null", (void *)_cffi_f_sk_SCT_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 151), (void *)_cffi_d_sk_SCT_new_null }, + { "sk_SCT_num", (void *)_cffi_f_sk_SCT_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1104), (void *)_cffi_d_sk_SCT_num }, + { "sk_SCT_push", (void *)_cffi_f_sk_SCT_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1100), (void *)_cffi_d_sk_SCT_push }, + { "sk_SCT_value", (void *)_cffi_f_sk_SCT_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 480), (void *)_cffi_d_sk_SCT_value }, + { "sk_SSL_CIPHER_num", (void *)_cffi_f_sk_SSL_CIPHER_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1107), (void *)_cffi_d_sk_SSL_CIPHER_num }, + { "sk_SSL_CIPHER_value", (void *)_cffi_f_sk_SSL_CIPHER_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 492), (void *)_cffi_d_sk_SSL_CIPHER_value }, + { "sk_X509_CRL_free", (void *)_cffi_f_sk_X509_CRL_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2620), (void *)_cffi_d_sk_X509_CRL_free }, + { "sk_X509_CRL_new_null", (void *)_cffi_f_sk_X509_CRL_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 164), (void *)_cffi_d_sk_X509_CRL_new_null }, + { "sk_X509_CRL_num", (void *)_cffi_f_sk_X509_CRL_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1117), (void *)_cffi_d_sk_X509_CRL_num }, + { "sk_X509_CRL_push", (void *)_cffi_f_sk_X509_CRL_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1120), (void *)_cffi_d_sk_X509_CRL_push }, + { "sk_X509_CRL_value", (void *)_cffi_f_sk_X509_CRL_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 564), (void *)_cffi_d_sk_X509_CRL_value }, + { "sk_X509_EXTENSION_delete", (void *)_cffi_f_sk_X509_EXTENSION_delete, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 614), (void *)_cffi_d_sk_X509_EXTENSION_delete }, + { "sk_X509_EXTENSION_free", (void *)_cffi_f_sk_X509_EXTENSION_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2897), (void *)_cffi_d_sk_X509_EXTENSION_free }, + { "sk_X509_EXTENSION_insert", (void *)_cffi_f_sk_X509_EXTENSION_insert, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1952), (void *)_cffi_d_sk_X509_EXTENSION_insert }, + { "sk_X509_EXTENSION_new_null", (void *)_cffi_f_sk_X509_EXTENSION_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 630), (void *)_cffi_d_sk_X509_EXTENSION_new_null }, + { "sk_X509_EXTENSION_num", (void *)_cffi_f_sk_X509_EXTENSION_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1945), (void *)_cffi_d_sk_X509_EXTENSION_num }, + { "sk_X509_EXTENSION_pop_free", (void *)_cffi_f_sk_X509_EXTENSION_pop_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 2900), (void *)_cffi_d_sk_X509_EXTENSION_pop_free }, + { "sk_X509_EXTENSION_push", (void *)_cffi_f_sk_X509_EXTENSION_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1948), (void *)_cffi_d_sk_X509_EXTENSION_push }, + { "sk_X509_EXTENSION_value", (void *)_cffi_f_sk_X509_EXTENSION_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 614), (void *)_cffi_d_sk_X509_EXTENSION_value }, + { "sk_X509_NAME_ENTRY_dup", (void *)_cffi_f_sk_X509_NAME_ENTRY_dup, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 174), (void *)_cffi_d_sk_X509_NAME_ENTRY_dup }, + { "sk_X509_NAME_ENTRY_new_null", (void *)_cffi_f_sk_X509_NAME_ENTRY_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 177), (void *)_cffi_d_sk_X509_NAME_ENTRY_new_null }, + { "sk_X509_NAME_ENTRY_num", (void *)_cffi_f_sk_X509_NAME_ENTRY_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1131), (void *)_cffi_d_sk_X509_NAME_ENTRY_num }, + { "sk_X509_NAME_ENTRY_push", (void *)_cffi_f_sk_X509_NAME_ENTRY_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1134), (void *)_cffi_d_sk_X509_NAME_ENTRY_push }, + { "sk_X509_NAME_ENTRY_value", (void *)_cffi_f_sk_X509_NAME_ENTRY_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 650), (void *)_cffi_d_sk_X509_NAME_ENTRY_value }, + { "sk_X509_NAME_free", (void *)_cffi_f_sk_X509_NAME_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2623), (void *)_cffi_d_sk_X509_NAME_free }, + { "sk_X509_NAME_new_null", (void *)_cffi_f_sk_X509_NAME_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 172), (void *)_cffi_d_sk_X509_NAME_new_null }, + { "sk_X509_NAME_num", (void *)_cffi_f_sk_X509_NAME_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1124), (void *)_cffi_d_sk_X509_NAME_num }, + { "sk_X509_NAME_push", (void *)_cffi_f_sk_X509_NAME_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1127), (void *)_cffi_d_sk_X509_NAME_push }, + { "sk_X509_NAME_value", (void *)_cffi_f_sk_X509_NAME_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 632), (void *)_cffi_d_sk_X509_NAME_value }, + { "sk_X509_OBJECT_num", (void *)_cffi_f_sk_X509_OBJECT_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1138), (void *)_cffi_d_sk_X509_OBJECT_num }, + { "sk_X509_OBJECT_value", (void *)_cffi_f_sk_X509_OBJECT_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 665), (void *)_cffi_d_sk_X509_OBJECT_value }, + { "sk_X509_REVOKED_num", (void *)_cffi_f_sk_X509_REVOKED_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1141), (void *)_cffi_d_sk_X509_REVOKED_num }, + { "sk_X509_REVOKED_value", (void *)_cffi_f_sk_X509_REVOKED_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 681), (void *)_cffi_d_sk_X509_REVOKED_value }, + { "sk_X509_free", (void *)_cffi_f_sk_X509_free, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 2617), (void *)_cffi_d_sk_X509_free }, + { "sk_X509_new_null", (void *)_cffi_f_sk_X509_new_null, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_N, 162), (void *)_cffi_d_sk_X509_new_null }, + { "sk_X509_num", (void *)_cffi_f_sk_X509_num, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_O, 1110), (void *)_cffi_d_sk_X509_num }, + { "sk_X509_push", (void *)_cffi_f_sk_X509_push, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 1113), (void *)_cffi_d_sk_X509_push }, + { "sk_X509_value", (void *)_cffi_f_sk_X509_value, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 526), (void *)_cffi_d_sk_X509_value }, }; static const struct _cffi_field_s _cffi_fields[] = { { "method", offsetof(ACCESS_DESCRIPTION, method), sizeof(((ACCESS_DESCRIPTION *)0)->method), - _CFFI_OP(_CFFI_OP_NOOP, 607) }, + _CFFI_OP(_CFFI_OP_NOOP, 607) }, { "location", offsetof(ACCESS_DESCRIPTION, location), sizeof(((ACCESS_DESCRIPTION *)0)->location), - _CFFI_OP(_CFFI_OP_NOOP, 928) }, - { "type", offsetof(ASN1_TYPE, type), - sizeof(((ASN1_TYPE *)0)->type), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, + _CFFI_OP(_CFFI_OP_NOOP, 928) }, + { "type", offsetof(ASN1_TYPE, type), + sizeof(((ASN1_TYPE *)0)->type), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, { "keyid", offsetof(AUTHORITY_KEYID, keyid), sizeof(((AUTHORITY_KEYID *)0)->keyid), _CFFI_OP(_CFFI_OP_NOOP, 13) }, { "issuer", offsetof(AUTHORITY_KEYID, issuer), sizeof(((AUTHORITY_KEYID *)0)->issuer), - _CFFI_OP(_CFFI_OP_NOOP, 316) }, + _CFFI_OP(_CFFI_OP_NOOP, 316) }, { "serial", offsetof(AUTHORITY_KEYID, serial), sizeof(((AUTHORITY_KEYID *)0)->serial), - _CFFI_OP(_CFFI_OP_NOOP, 21) }, + _CFFI_OP(_CFFI_OP_NOOP, 21) }, { "ca", offsetof(BASIC_CONSTRAINTS, ca), sizeof(((BASIC_CONSTRAINTS *)0)->ca), _CFFI_OP(_CFFI_OP_NOOP, 2) }, { "pathlen", offsetof(BASIC_CONSTRAINTS, pathlen), sizeof(((BASIC_CONSTRAINTS *)0)->pathlen), - _CFFI_OP(_CFFI_OP_NOOP, 21) }, - { "password", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, password), - sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->password), - _CFFI_OP(_CFFI_OP_NOOP, 409) }, - { "length", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, length), - sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->length), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, - { "called", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, called), - sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->called), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, - { "error", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, error), - sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->error), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, - { "maxsize", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, maxsize), - sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->maxsize), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, + _CFFI_OP(_CFFI_OP_NOOP, 21) }, + { "password", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, password), + sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->password), + _CFFI_OP(_CFFI_OP_NOOP, 409) }, + { "length", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, length), + sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->length), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, + { "called", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, called), + sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->called), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, + { "error", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, error), + sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->error), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, + { "maxsize", offsetof(CRYPTOGRAPHY_PASSWORD_DATA, maxsize), + sizeof(((CRYPTOGRAPHY_PASSWORD_DATA *)0)->maxsize), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, { "distpoint", offsetof(DIST_POINT, distpoint), sizeof(((DIST_POINT *)0)->distpoint), - _CFFI_OP(_CFFI_OP_NOOP, 2644) }, + _CFFI_OP(_CFFI_OP_NOOP, 2644) }, { "reasons", offsetof(DIST_POINT, reasons), sizeof(((DIST_POINT *)0)->reasons), _CFFI_OP(_CFFI_OP_NOOP, 13) }, { "CRLissuer", offsetof(DIST_POINT, CRLissuer), sizeof(((DIST_POINT *)0)->CRLissuer), - _CFFI_OP(_CFFI_OP_NOOP, 316) }, + _CFFI_OP(_CFFI_OP_NOOP, 316) }, { "type", offsetof(DIST_POINT_NAME, type), sizeof(((DIST_POINT_NAME *)0)->type), _CFFI_OP(_CFFI_OP_NOOP, 2) }, { "name", offsetof(DIST_POINT_NAME, name), sizeof(((DIST_POINT_NAME *)0)->name), - _CFFI_OP(_CFFI_OP_NOOP, 3137) }, + _CFFI_OP(_CFFI_OP_NOOP, 3137) }, { "nid", offsetof(EC_builtin_curve, nid), sizeof(((EC_builtin_curve *)0)->nid), _CFFI_OP(_CFFI_OP_NOOP, 2) }, { "comment", offsetof(EC_builtin_curve, comment), sizeof(((EC_builtin_curve *)0)->comment), - _CFFI_OP(_CFFI_OP_NOOP, 46) }, + _CFFI_OP(_CFFI_OP_NOOP, 46) }, { "type", offsetof(GENERAL_NAME, type), sizeof(((GENERAL_NAME *)0)->type), _CFFI_OP(_CFFI_OP_NOOP, 2) }, { "d", offsetof(GENERAL_NAME, d), sizeof(((GENERAL_NAME *)0)->d), - _CFFI_OP(_CFFI_OP_NOOP, 3136) }, + _CFFI_OP(_CFFI_OP_NOOP, 3136) }, { "base", offsetof(GENERAL_SUBTREE, base), sizeof(((GENERAL_SUBTREE *)0)->base), - _CFFI_OP(_CFFI_OP_NOOP, 928) }, + _CFFI_OP(_CFFI_OP_NOOP, 928) }, { "minimum", offsetof(GENERAL_SUBTREE, minimum), sizeof(((GENERAL_SUBTREE *)0)->minimum), - _CFFI_OP(_CFFI_OP_NOOP, 21) }, + _CFFI_OP(_CFFI_OP_NOOP, 21) }, { "maximum", offsetof(GENERAL_SUBTREE, maximum), sizeof(((GENERAL_SUBTREE *)0)->maximum), - _CFFI_OP(_CFFI_OP_NOOP, 21) }, - { "distpoint", offsetof(ISSUING_DIST_POINT, distpoint), - sizeof(((ISSUING_DIST_POINT *)0)->distpoint), - _CFFI_OP(_CFFI_OP_NOOP, 2644) }, - { "onlyuser", offsetof(ISSUING_DIST_POINT, onlyuser), - sizeof(((ISSUING_DIST_POINT *)0)->onlyuser), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, - { "onlyCA", offsetof(ISSUING_DIST_POINT, onlyCA), - sizeof(((ISSUING_DIST_POINT *)0)->onlyCA), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, - { "onlysomereasons", offsetof(ISSUING_DIST_POINT, onlysomereasons), - sizeof(((ISSUING_DIST_POINT *)0)->onlysomereasons), - _CFFI_OP(_CFFI_OP_NOOP, 13) }, - { "indirectCRL", offsetof(ISSUING_DIST_POINT, indirectCRL), - sizeof(((ISSUING_DIST_POINT *)0)->indirectCRL), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, - { "onlyattr", offsetof(ISSUING_DIST_POINT, onlyattr), - sizeof(((ISSUING_DIST_POINT *)0)->onlyattr), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, + _CFFI_OP(_CFFI_OP_NOOP, 21) }, + { "distpoint", offsetof(ISSUING_DIST_POINT, distpoint), + sizeof(((ISSUING_DIST_POINT *)0)->distpoint), + _CFFI_OP(_CFFI_OP_NOOP, 2644) }, + { "onlyuser", offsetof(ISSUING_DIST_POINT, onlyuser), + sizeof(((ISSUING_DIST_POINT *)0)->onlyuser), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, + { "onlyCA", offsetof(ISSUING_DIST_POINT, onlyCA), + sizeof(((ISSUING_DIST_POINT *)0)->onlyCA), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, + { "onlysomereasons", offsetof(ISSUING_DIST_POINT, onlysomereasons), + sizeof(((ISSUING_DIST_POINT *)0)->onlysomereasons), + _CFFI_OP(_CFFI_OP_NOOP, 13) }, + { "indirectCRL", offsetof(ISSUING_DIST_POINT, indirectCRL), + sizeof(((ISSUING_DIST_POINT *)0)->indirectCRL), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, + { "onlyattr", offsetof(ISSUING_DIST_POINT, onlyattr), + sizeof(((ISSUING_DIST_POINT *)0)->onlyattr), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, { "permittedSubtrees", offsetof(NAME_CONSTRAINTS, permittedSubtrees), sizeof(((NAME_CONSTRAINTS *)0)->permittedSubtrees), - _CFFI_OP(_CFFI_OP_NOOP, 329) }, + _CFFI_OP(_CFFI_OP_NOOP, 329) }, { "excludedSubtrees", offsetof(NAME_CONSTRAINTS, excludedSubtrees), sizeof(((NAME_CONSTRAINTS *)0)->excludedSubtrees), - _CFFI_OP(_CFFI_OP_NOOP, 329) }, + _CFFI_OP(_CFFI_OP_NOOP, 329) }, { "organization", offsetof(NOTICEREF, organization), sizeof(((NOTICEREF *)0)->organization), _CFFI_OP(_CFFI_OP_NOOP, 13) }, { "noticenos", offsetof(NOTICEREF, noticenos), sizeof(((NOTICEREF *)0)->noticenos), _CFFI_OP(_CFFI_OP_NOOP, 24) }, - { "type", offsetof(OBJ_NAME, type), - sizeof(((OBJ_NAME *)0)->type), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, - { "alias", offsetof(OBJ_NAME, alias), - sizeof(((OBJ_NAME *)0)->alias), - _CFFI_OP(_CFFI_OP_NOOP, 2) }, - { "name", offsetof(OBJ_NAME, name), - sizeof(((OBJ_NAME *)0)->name), - _CFFI_OP(_CFFI_OP_NOOP, 46) }, - { "data", offsetof(OBJ_NAME, data), - sizeof(((OBJ_NAME *)0)->data), - _CFFI_OP(_CFFI_OP_NOOP, 46) }, + { "type", offsetof(OBJ_NAME, type), + sizeof(((OBJ_NAME *)0)->type), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, + { "alias", offsetof(OBJ_NAME, alias), + sizeof(((OBJ_NAME *)0)->alias), + _CFFI_OP(_CFFI_OP_NOOP, 2) }, + { "name", offsetof(OBJ_NAME, name), + sizeof(((OBJ_NAME *)0)->name), + _CFFI_OP(_CFFI_OP_NOOP, 46) }, + { "data", offsetof(OBJ_NAME, data), + sizeof(((OBJ_NAME *)0)->data), + _CFFI_OP(_CFFI_OP_NOOP, 46) }, { "type_id", offsetof(OTHERNAME, type_id), sizeof(((OTHERNAME *)0)->type_id), - _CFFI_OP(_CFFI_OP_NOOP, 607) }, + _CFFI_OP(_CFFI_OP_NOOP, 607) }, { "value", offsetof(OTHERNAME, value), sizeof(((OTHERNAME *)0)->value), - _CFFI_OP(_CFFI_OP_NOOP, 801) }, + _CFFI_OP(_CFFI_OP_NOOP, 801) }, { "type", offsetof(PKCS7, type), sizeof(((PKCS7 *)0)->type), - _CFFI_OP(_CFFI_OP_NOOP, 607) }, + _CFFI_OP(_CFFI_OP_NOOP, 607) }, { "d", offsetof(PKCS7, d), sizeof(((PKCS7 *)0)->d), - _CFFI_OP(_CFFI_OP_NOOP, 3139) }, + _CFFI_OP(_CFFI_OP_NOOP, 3139) }, { "cert", offsetof(PKCS7_SIGNED, cert), sizeof(((PKCS7_SIGNED *)0)->cert), - _CFFI_OP(_CFFI_OP_NOOP, 413) }, + _CFFI_OP(_CFFI_OP_NOOP, 413) }, { "crl", offsetof(PKCS7_SIGNED, crl), sizeof(((PKCS7_SIGNED *)0)->crl), - _CFFI_OP(_CFFI_OP_NOOP, 565) }, + _CFFI_OP(_CFFI_OP_NOOP, 565) }, { "cert", offsetof(PKCS7_SIGN_ENVELOPE, cert), sizeof(((PKCS7_SIGN_ENVELOPE *)0)->cert), - _CFFI_OP(_CFFI_OP_NOOP, 413) }, + _CFFI_OP(_CFFI_OP_NOOP, 413) }, { "crl", offsetof(PKCS7_SIGN_ENVELOPE, crl), sizeof(((PKCS7_SIGN_ENVELOPE *)0)->crl), - _CFFI_OP(_CFFI_OP_NOOP, 565) }, + _CFFI_OP(_CFFI_OP_NOOP, 565) }, { "policyid", offsetof(POLICYINFO, policyid), sizeof(((POLICYINFO *)0)->policyid), - _CFFI_OP(_CFFI_OP_NOOP, 607) }, + _CFFI_OP(_CFFI_OP_NOOP, 607) }, { "qualifiers", offsetof(POLICYINFO, qualifiers), sizeof(((POLICYINFO *)0)->qualifiers), - _CFFI_OP(_CFFI_OP_NOOP, 455) }, + _CFFI_OP(_CFFI_OP_NOOP, 455) }, { "pqualid", offsetof(POLICYQUALINFO, pqualid), sizeof(((POLICYQUALINFO *)0)->pqualid), - _CFFI_OP(_CFFI_OP_NOOP, 607) }, + _CFFI_OP(_CFFI_OP_NOOP, 607) }, { "d", offsetof(POLICYQUALINFO, d), sizeof(((POLICYQUALINFO *)0)->d), - _CFFI_OP(_CFFI_OP_NOOP, 3138) }, + _CFFI_OP(_CFFI_OP_NOOP, 3138) }, { "requireExplicitPolicy", offsetof(POLICY_CONSTRAINTS, requireExplicitPolicy), sizeof(((POLICY_CONSTRAINTS *)0)->requireExplicitPolicy), - _CFFI_OP(_CFFI_OP_NOOP, 21) }, + _CFFI_OP(_CFFI_OP_NOOP, 21) }, { "inhibitPolicyMapping", offsetof(POLICY_CONSTRAINTS, inhibitPolicyMapping), sizeof(((POLICY_CONSTRAINTS *)0)->inhibitPolicyMapping), - _CFFI_OP(_CFFI_OP_NOOP, 21) }, - { "name", offsetof(SRTP_PROTECTION_PROFILE, name), - sizeof(((SRTP_PROTECTION_PROFILE *)0)->name), - _CFFI_OP(_CFFI_OP_NOOP, 46) }, - { "id", offsetof(SRTP_PROTECTION_PROFILE, id), - sizeof(((SRTP_PROTECTION_PROFILE *)0)->id), - _CFFI_OP(_CFFI_OP_NOOP, 742) }, + _CFFI_OP(_CFFI_OP_NOOP, 21) }, + { "name", offsetof(SRTP_PROTECTION_PROFILE, name), + sizeof(((SRTP_PROTECTION_PROFILE *)0)->name), + _CFFI_OP(_CFFI_OP_NOOP, 46) }, + { "id", offsetof(SRTP_PROTECTION_PROFILE, id), + sizeof(((SRTP_PROTECTION_PROFILE *)0)->id), + _CFFI_OP(_CFFI_OP_NOOP, 742) }, { "noticeref", offsetof(USERNOTICE, noticeref), sizeof(((USERNOTICE *)0)->noticeref), - _CFFI_OP(_CFFI_OP_NOOP, 2711) }, + _CFFI_OP(_CFFI_OP_NOOP, 2711) }, { "exptext", offsetof(USERNOTICE, exptext), sizeof(((USERNOTICE *)0)->exptext), _CFFI_OP(_CFFI_OP_NOOP, 13) }, @@ -55164,7 +55164,7 @@ static const struct _cffi_field_s _cffi_fields[] = { _CFFI_OP(_CFFI_OP_NOOP, 28) }, { "algorithm", offsetof(X509_ALGOR, algorithm), sizeof(((X509_ALGOR *)0)->algorithm), - _CFFI_OP(_CFFI_OP_NOOP, 607) }, + _CFFI_OP(_CFFI_OP_NOOP, 607) }, { "length", offsetof(ASN1_OCTET_STRING, length), sizeof(((ASN1_OCTET_STRING *)0)->length), _CFFI_OP(_CFFI_OP_NOOP, 2) }, @@ -55173,16 +55173,16 @@ static const struct _cffi_field_s _cffi_fields[] = { _CFFI_OP(_CFFI_OP_NOOP, 2) }, { "data", offsetof(ASN1_OCTET_STRING, data), sizeof(((ASN1_OCTET_STRING *)0)->data), - _CFFI_OP(_CFFI_OP_NOOP, 752) }, + _CFFI_OP(_CFFI_OP_NOOP, 752) }, { "flags", offsetof(ASN1_OCTET_STRING, flags), sizeof(((ASN1_OCTET_STRING *)0)->flags), - _CFFI_OP(_CFFI_OP_NOOP, 51) }, + _CFFI_OP(_CFFI_OP_NOOP, 51) }, { "ptr", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 409) }, + _CFFI_OP(_CFFI_OP_NOOP, 409) }, { "otherName", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 2726) }, + _CFFI_OP(_CFFI_OP_NOOP, 2726) }, { "rfc822Name", (size_t)-1, (size_t)-1, _CFFI_OP(_CFFI_OP_NOOP, 13) }, @@ -55191,13 +55191,13 @@ static const struct _cffi_field_s _cffi_fields[] = { _CFFI_OP(_CFFI_OP_NOOP, 13) }, { "x400Address", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 801) }, + _CFFI_OP(_CFFI_OP_NOOP, 801) }, { "directoryName", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 643) }, + _CFFI_OP(_CFFI_OP_NOOP, 643) }, { "ediPartyName", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 3059) }, + _CFFI_OP(_CFFI_OP_NOOP, 3059) }, { "uniformResourceIdentifier", (size_t)-1, (size_t)-1, _CFFI_OP(_CFFI_OP_NOOP, 13) }, @@ -55206,446 +55206,446 @@ static const struct _cffi_field_s _cffi_fields[] = { _CFFI_OP(_CFFI_OP_NOOP, 13) }, { "registeredID", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 607) }, + _CFFI_OP(_CFFI_OP_NOOP, 607) }, { "ip", (size_t)-1, (size_t)-1, _CFFI_OP(_CFFI_OP_NOOP, 13) }, { "dirn", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 643) }, + _CFFI_OP(_CFFI_OP_NOOP, 643) }, { "ia5", (size_t)-1, (size_t)-1, _CFFI_OP(_CFFI_OP_NOOP, 13) }, { "rid", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 607) }, + _CFFI_OP(_CFFI_OP_NOOP, 607) }, { "other", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 801) }, + _CFFI_OP(_CFFI_OP_NOOP, 801) }, { "fullname", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 316) }, + _CFFI_OP(_CFFI_OP_NOOP, 316) }, { "relativename", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 175) }, + _CFFI_OP(_CFFI_OP_NOOP, 175) }, { "cpsuri", (size_t)-1, (size_t)-1, _CFFI_OP(_CFFI_OP_NOOP, 13) }, { "usernotice", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 2873) }, + _CFFI_OP(_CFFI_OP_NOOP, 2873) }, { "other", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 801) }, + _CFFI_OP(_CFFI_OP_NOOP, 801) }, { "ptr", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 409) }, + _CFFI_OP(_CFFI_OP_NOOP, 409) }, { "data", (size_t)-1, (size_t)-1, _CFFI_OP(_CFFI_OP_NOOP, 13) }, { "sign", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 3096) }, + _CFFI_OP(_CFFI_OP_NOOP, 3096) }, { "enveloped", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 3094) }, + _CFFI_OP(_CFFI_OP_NOOP, 3094) }, { "signed_and_enveloped", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 3100) }, + _CFFI_OP(_CFFI_OP_NOOP, 3100) }, { "digest", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 3090) }, + _CFFI_OP(_CFFI_OP_NOOP, 3090) }, { "encrypted", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 3092) }, + _CFFI_OP(_CFFI_OP_NOOP, 3092) }, { "other", (size_t)-1, (size_t)-1, - _CFFI_OP(_CFFI_OP_NOOP, 801) }, + _CFFI_OP(_CFFI_OP_NOOP, 801) }, }; static const struct _cffi_struct_union_s _cffi_struct_unions[] = { - { "$1", 3136, _CFFI_F_UNION|_CFFI_F_CHECK_FIELDS, - (size_t)-2, -2, 64, 15 /* unnamed */ }, - { "$2", 3137, _CFFI_F_UNION|_CFFI_F_CHECK_FIELDS, - (size_t)-2, -2, 79, 2 /* unnamed */ }, - { "$3", 3138, _CFFI_F_UNION|_CFFI_F_CHECK_FIELDS, - (size_t)-2, -2, 81, 3 /* unnamed */ }, - { "$4", 3139, _CFFI_F_UNION|_CFFI_F_CHECK_FIELDS, - (size_t)-2, -2, 84, 8 /* unnamed */ }, - { "$ACCESS_DESCRIPTION", 3006, _CFFI_F_CHECK_FIELDS, + { "$1", 3136, _CFFI_F_UNION|_CFFI_F_CHECK_FIELDS, + (size_t)-2, -2, 64, 15 /* unnamed */ }, + { "$2", 3137, _CFFI_F_UNION|_CFFI_F_CHECK_FIELDS, + (size_t)-2, -2, 79, 2 /* unnamed */ }, + { "$3", 3138, _CFFI_F_UNION|_CFFI_F_CHECK_FIELDS, + (size_t)-2, -2, 81, 3 /* unnamed */ }, + { "$4", 3139, _CFFI_F_UNION|_CFFI_F_CHECK_FIELDS, + (size_t)-2, -2, 84, 8 /* unnamed */ }, + { "$ACCESS_DESCRIPTION", 3006, _CFFI_F_CHECK_FIELDS, sizeof(ACCESS_DESCRIPTION), offsetof(struct _cffi_align_typedef_ACCESS_DESCRIPTION, y), 0, 2 }, - { "$AES_KEY", 3007, _CFFI_F_OPAQUE, + { "$AES_KEY", 3007, _CFFI_F_OPAQUE, + (size_t)-1, -1, -1, 0 /* opaque */ }, + { "$ASN1_ENUMERATED", 3008, _CFFI_F_OPAQUE, + (size_t)-1, -1, -1, 0 /* opaque */ }, + { "$ASN1_GENERALIZEDTIME", 3010, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$ASN1_ENUMERATED", 3008, _CFFI_F_OPAQUE, + { "$ASN1_INTEGER", 3012, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$ASN1_GENERALIZEDTIME", 3010, _CFFI_F_OPAQUE, + { "$ASN1_NULL", 3014, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$ASN1_INTEGER", 3012, _CFFI_F_OPAQUE, + { "$ASN1_OBJECT", 3015, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$ASN1_NULL", 3014, _CFFI_F_OPAQUE, + { "$ASN1_TYPE", 3018, 0, + sizeof(ASN1_TYPE), offsetof(struct _cffi_align_typedef_ASN1_TYPE, y), 2, 1 }, + { "$AUTHORITY_KEYID", 3019, _CFFI_F_CHECK_FIELDS, + sizeof(AUTHORITY_KEYID), offsetof(struct _cffi_align_typedef_AUTHORITY_KEYID, y), 3, 3 }, + { "$BASIC_CONSTRAINTS", 3020, _CFFI_F_CHECK_FIELDS, + sizeof(BASIC_CONSTRAINTS), offsetof(struct _cffi_align_typedef_BASIC_CONSTRAINTS, y), 6, 2 }, + { "$BIGNUM", 3021, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$ASN1_OBJECT", 3015, _CFFI_F_OPAQUE, + { "$BIO", 3022, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$ASN1_TYPE", 3018, 0, - sizeof(ASN1_TYPE), offsetof(struct _cffi_align_typedef_ASN1_TYPE, y), 2, 1 }, - { "$AUTHORITY_KEYID", 3019, _CFFI_F_CHECK_FIELDS, - sizeof(AUTHORITY_KEYID), offsetof(struct _cffi_align_typedef_AUTHORITY_KEYID, y), 3, 3 }, - { "$BASIC_CONSTRAINTS", 3020, _CFFI_F_CHECK_FIELDS, - sizeof(BASIC_CONSTRAINTS), offsetof(struct _cffi_align_typedef_BASIC_CONSTRAINTS, y), 6, 2 }, - { "$BIGNUM", 3021, _CFFI_F_OPAQUE, + { "$BIO_METHOD", 3023, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$BIO", 3022, _CFFI_F_OPAQUE, + { "$BN_CTX", 3024, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$BIO_METHOD", 3023, _CFFI_F_OPAQUE, + { "$BN_GENCB", 3025, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$BN_CTX", 3024, _CFFI_F_OPAQUE, + { "$BN_MONT_CTX", 3026, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$BN_GENCB", 3025, _CFFI_F_OPAQUE, + { "$CMAC_CTX", 3027, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$BN_MONT_CTX", 3026, _CFFI_F_OPAQUE, + { "$CONF", 3028, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$CMAC_CTX", 3027, _CFFI_F_OPAQUE, + { "$CRYPTOGRAPHY_PASSWORD_DATA", 3029, _CFFI_F_CHECK_FIELDS, + sizeof(CRYPTOGRAPHY_PASSWORD_DATA), offsetof(struct _cffi_align_typedef_CRYPTOGRAPHY_PASSWORD_DATA, y), 8, 5 }, + { "$CRYPTO_EX_dup", 3030, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$CONF", 3028, _CFFI_F_OPAQUE, + { "$CRYPTO_EX_free", 3031, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$CRYPTOGRAPHY_PASSWORD_DATA", 3029, _CFFI_F_CHECK_FIELDS, - sizeof(CRYPTOGRAPHY_PASSWORD_DATA), offsetof(struct _cffi_align_typedef_CRYPTOGRAPHY_PASSWORD_DATA, y), 8, 5 }, - { "$CRYPTO_EX_dup", 3030, _CFFI_F_OPAQUE, + { "$CRYPTO_EX_new", 3032, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$CRYPTO_EX_free", 3031, _CFFI_F_OPAQUE, + { "$Cryptography_LHASH_OF_CONF_VALUE", 3033, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$CRYPTO_EX_new", 3032, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_ACCESS_DESCRIPTION", 3034, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_LHASH_OF_CONF_VALUE", 3033, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_ASN1_INTEGER", 3035, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_ACCESS_DESCRIPTION", 3034, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_ASN1_OBJECT", 3036, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_ASN1_INTEGER", 3035, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_DIST_POINT", 3037, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_ASN1_OBJECT", 3036, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_GENERAL_SUBTREE", 3038, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_DIST_POINT", 3037, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_POLICYINFO", 3039, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_GENERAL_SUBTREE", 3038, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_POLICYQUALINFO", 3040, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_POLICYINFO", 3039, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_SCT", 3041, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_POLICYQUALINFO", 3040, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_SSL_CIPHER", 3042, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_SCT", 3041, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_X509", 3043, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_SSL_CIPHER", 3042, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_X509_CRL", 3044, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_X509", 3043, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_X509_NAME", 3045, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_X509_CRL", 3044, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_X509_NAME_ENTRY", 3046, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_X509_NAME", 3045, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_X509_OBJECT", 3047, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_X509_NAME_ENTRY", 3046, _CFFI_F_OPAQUE, + { "$Cryptography_STACK_OF_X509_REVOKED", 3048, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_X509_OBJECT", 3047, _CFFI_F_OPAQUE, + { "$DH", 3049, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$Cryptography_STACK_OF_X509_REVOKED", 3048, _CFFI_F_OPAQUE, + { "$DIST_POINT", 3050, 0, + sizeof(DIST_POINT), offsetof(struct _cffi_align_typedef_DIST_POINT, y), 13, 3 }, + { "$DIST_POINT_NAME", 3051, 0, + sizeof(DIST_POINT_NAME), offsetof(struct _cffi_align_typedef_DIST_POINT_NAME, y), 16, 2 }, + { "$DSA", 3052, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$DH", 3049, _CFFI_F_OPAQUE, + { "$ECDSA_SIG", 3053, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$DIST_POINT", 3050, 0, - sizeof(DIST_POINT), offsetof(struct _cffi_align_typedef_DIST_POINT, y), 13, 3 }, - { "$DIST_POINT_NAME", 3051, 0, - sizeof(DIST_POINT_NAME), offsetof(struct _cffi_align_typedef_DIST_POINT_NAME, y), 16, 2 }, - { "$DSA", 3052, _CFFI_F_OPAQUE, + { "$EC_GROUP", 3054, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$ECDSA_SIG", 3053, _CFFI_F_OPAQUE, + { "$EC_KEY", 3055, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EC_GROUP", 3054, _CFFI_F_OPAQUE, + { "$EC_METHOD", 3056, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EC_KEY", 3055, _CFFI_F_OPAQUE, + { "$EC_POINT", 3057, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EC_METHOD", 3056, _CFFI_F_OPAQUE, + { "$EC_builtin_curve", 3058, _CFFI_F_CHECK_FIELDS, + sizeof(EC_builtin_curve), offsetof(struct _cffi_align_typedef_EC_builtin_curve, y), 18, 2 }, + { "$EDIPARTYNAME", 3060, 0, + sizeof(EDIPARTYNAME), offsetof(struct _cffi_align_typedef_EDIPARTYNAME, y), 20, 0 }, + { "$ENGINE", 3061, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EC_POINT", 3057, _CFFI_F_OPAQUE, + { "$EVP_CIPHER", 3062, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EC_builtin_curve", 3058, _CFFI_F_CHECK_FIELDS, - sizeof(EC_builtin_curve), offsetof(struct _cffi_align_typedef_EC_builtin_curve, y), 18, 2 }, - { "$EDIPARTYNAME", 3060, 0, - sizeof(EDIPARTYNAME), offsetof(struct _cffi_align_typedef_EDIPARTYNAME, y), 20, 0 }, - { "$ENGINE", 3061, _CFFI_F_OPAQUE, + { "$EVP_CIPHER_CTX", 3063, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EVP_CIPHER", 3062, _CFFI_F_OPAQUE, + { "$EVP_MD", 3064, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EVP_CIPHER_CTX", 3063, _CFFI_F_OPAQUE, + { "$EVP_MD_CTX", 3065, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EVP_MD", 3064, _CFFI_F_OPAQUE, + { "$EVP_PKEY", 3066, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EVP_MD_CTX", 3065, _CFFI_F_OPAQUE, + { "$EVP_PKEY_CTX", 3067, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EVP_PKEY", 3066, _CFFI_F_OPAQUE, + { "$EXTENDED_KEY_USAGE", 3068, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EVP_PKEY_CTX", 3067, _CFFI_F_OPAQUE, + { "$GENERAL_NAME", 3069, 0, + sizeof(GENERAL_NAME), offsetof(struct _cffi_align_typedef_GENERAL_NAME, y), 20, 2 }, + { "$GENERAL_SUBTREE", 3071, _CFFI_F_CHECK_FIELDS, + sizeof(GENERAL_SUBTREE), offsetof(struct _cffi_align_typedef_GENERAL_SUBTREE, y), 22, 3 }, + { "$HMAC_CTX", 3072, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$EXTENDED_KEY_USAGE", 3068, _CFFI_F_OPAQUE, + { "$ISSUING_DIST_POINT", 3073, _CFFI_F_CHECK_FIELDS, + sizeof(ISSUING_DIST_POINT), offsetof(struct _cffi_align_typedef_ISSUING_DIST_POINT, y), 25, 6 }, + { "$NAME_CONSTRAINTS", 3074, _CFFI_F_CHECK_FIELDS, + sizeof(NAME_CONSTRAINTS), offsetof(struct _cffi_align_typedef_NAME_CONSTRAINTS, y), 31, 2 }, + { "$NETSCAPE_SPKI", 3075, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$GENERAL_NAME", 3069, 0, - sizeof(GENERAL_NAME), offsetof(struct _cffi_align_typedef_GENERAL_NAME, y), 20, 2 }, - { "$GENERAL_SUBTREE", 3071, _CFFI_F_CHECK_FIELDS, - sizeof(GENERAL_SUBTREE), offsetof(struct _cffi_align_typedef_GENERAL_SUBTREE, y), 22, 3 }, - { "$HMAC_CTX", 3072, _CFFI_F_OPAQUE, + { "$NOTICEREF", 3076, _CFFI_F_CHECK_FIELDS, + sizeof(NOTICEREF), offsetof(struct _cffi_align_typedef_NOTICEREF, y), 33, 2 }, + { "$OBJ_NAME", 3077, _CFFI_F_CHECK_FIELDS, + sizeof(OBJ_NAME), offsetof(struct _cffi_align_typedef_OBJ_NAME, y), 35, 4 }, + { "$OCSP_BASICRESP", 3078, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$ISSUING_DIST_POINT", 3073, _CFFI_F_CHECK_FIELDS, - sizeof(ISSUING_DIST_POINT), offsetof(struct _cffi_align_typedef_ISSUING_DIST_POINT, y), 25, 6 }, - { "$NAME_CONSTRAINTS", 3074, _CFFI_F_CHECK_FIELDS, - sizeof(NAME_CONSTRAINTS), offsetof(struct _cffi_align_typedef_NAME_CONSTRAINTS, y), 31, 2 }, - { "$NETSCAPE_SPKI", 3075, _CFFI_F_OPAQUE, + { "$OCSP_CERTID", 3080, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$NOTICEREF", 3076, _CFFI_F_CHECK_FIELDS, - sizeof(NOTICEREF), offsetof(struct _cffi_align_typedef_NOTICEREF, y), 33, 2 }, - { "$OBJ_NAME", 3077, _CFFI_F_CHECK_FIELDS, - sizeof(OBJ_NAME), offsetof(struct _cffi_align_typedef_OBJ_NAME, y), 35, 4 }, - { "$OCSP_BASICRESP", 3078, _CFFI_F_OPAQUE, + { "$OCSP_ONEREQ", 3081, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$OCSP_CERTID", 3080, _CFFI_F_OPAQUE, + { "$OCSP_REQUEST", 3082, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$OCSP_ONEREQ", 3081, _CFFI_F_OPAQUE, + { "$OCSP_RESPDATA", 3084, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$OCSP_REQUEST", 3082, _CFFI_F_OPAQUE, + { "$OCSP_RESPONSE", 3085, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$OCSP_RESPDATA", 3084, _CFFI_F_OPAQUE, + { "$OCSP_SINGLERESP", 3086, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$OCSP_RESPONSE", 3085, _CFFI_F_OPAQUE, + { "$OTHERNAME", 3087, _CFFI_F_CHECK_FIELDS, + sizeof(OTHERNAME), offsetof(struct _cffi_align_typedef_OTHERNAME, y), 39, 2 }, + { "$PKCS12", 3088, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$OCSP_SINGLERESP", 3086, _CFFI_F_OPAQUE, + { "$PKCS7", 3089, 0, + sizeof(PKCS7), offsetof(struct _cffi_align_typedef_PKCS7, y), 41, 2 }, + { "$PKCS7_DIGEST", 3091, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$OTHERNAME", 3087, _CFFI_F_CHECK_FIELDS, - sizeof(OTHERNAME), offsetof(struct _cffi_align_typedef_OTHERNAME, y), 39, 2 }, - { "$PKCS12", 3088, _CFFI_F_OPAQUE, + { "$PKCS7_ENCRYPT", 3093, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$PKCS7", 3089, 0, - sizeof(PKCS7), offsetof(struct _cffi_align_typedef_PKCS7, y), 41, 2 }, - { "$PKCS7_DIGEST", 3091, _CFFI_F_OPAQUE, + { "$PKCS7_ENVELOPE", 3095, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$PKCS7_ENCRYPT", 3093, _CFFI_F_OPAQUE, + { "$PKCS7_SIGNED", 3097, 0, + sizeof(PKCS7_SIGNED), offsetof(struct _cffi_align_typedef_PKCS7_SIGNED, y), 43, 2 }, + { "$PKCS7_SIGNER_INFO", 3099, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$PKCS7_ENVELOPE", 3095, _CFFI_F_OPAQUE, + { "$PKCS7_SIGN_ENVELOPE", 3101, 0, + sizeof(PKCS7_SIGN_ENVELOPE), offsetof(struct _cffi_align_typedef_PKCS7_SIGN_ENVELOPE, y), 45, 2 }, + { "$PKCS8_PRIV_KEY_INFO", 3102, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$PKCS7_SIGNED", 3097, 0, - sizeof(PKCS7_SIGNED), offsetof(struct _cffi_align_typedef_PKCS7_SIGNED, y), 43, 2 }, - { "$PKCS7_SIGNER_INFO", 3099, _CFFI_F_OPAQUE, + { "$POLICYINFO", 3103, _CFFI_F_CHECK_FIELDS, + sizeof(POLICYINFO), offsetof(struct _cffi_align_typedef_POLICYINFO, y), 47, 2 }, + { "$POLICYQUALINFO", 3104, _CFFI_F_CHECK_FIELDS, + sizeof(POLICYQUALINFO), offsetof(struct _cffi_align_typedef_POLICYQUALINFO, y), 49, 2 }, + { "$POLICY_CONSTRAINTS", 3105, _CFFI_F_CHECK_FIELDS, + sizeof(POLICY_CONSTRAINTS), offsetof(struct _cffi_align_typedef_POLICY_CONSTRAINTS, y), 51, 2 }, + { "$RAND_METHOD", 3106, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$PKCS7_SIGN_ENVELOPE", 3101, 0, - sizeof(PKCS7_SIGN_ENVELOPE), offsetof(struct _cffi_align_typedef_PKCS7_SIGN_ENVELOPE, y), 45, 2 }, - { "$PKCS8_PRIV_KEY_INFO", 3102, _CFFI_F_OPAQUE, + { "$RSA", 3107, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$POLICYINFO", 3103, _CFFI_F_CHECK_FIELDS, - sizeof(POLICYINFO), offsetof(struct _cffi_align_typedef_POLICYINFO, y), 47, 2 }, - { "$POLICYQUALINFO", 3104, _CFFI_F_CHECK_FIELDS, - sizeof(POLICYQUALINFO), offsetof(struct _cffi_align_typedef_POLICYQUALINFO, y), 49, 2 }, - { "$POLICY_CONSTRAINTS", 3105, _CFFI_F_CHECK_FIELDS, - sizeof(POLICY_CONSTRAINTS), offsetof(struct _cffi_align_typedef_POLICY_CONSTRAINTS, y), 51, 2 }, - { "$RAND_METHOD", 3106, _CFFI_F_OPAQUE, + { "$SCT", 3108, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$RSA", 3107, _CFFI_F_OPAQUE, + { "$SRTP_PROTECTION_PROFILE", 3110, _CFFI_F_CHECK_FIELDS, + sizeof(SRTP_PROTECTION_PROFILE), offsetof(struct _cffi_align_typedef_SRTP_PROTECTION_PROFILE, y), 53, 2 }, + { "$SSL", 3111, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$SCT", 3108, _CFFI_F_OPAQUE, + { "$SSL_CIPHER", 3112, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$SRTP_PROTECTION_PROFILE", 3110, _CFFI_F_CHECK_FIELDS, - sizeof(SRTP_PROTECTION_PROFILE), offsetof(struct _cffi_align_typedef_SRTP_PROTECTION_PROFILE, y), 53, 2 }, - { "$SSL", 3111, _CFFI_F_OPAQUE, + { "$SSL_CTX", 3113, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$SSL_CIPHER", 3112, _CFFI_F_OPAQUE, + { "$SSL_METHOD", 3115, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$SSL_CTX", 3113, _CFFI_F_OPAQUE, + { "$SSL_SESSION", 3116, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$SSL_METHOD", 3115, _CFFI_F_OPAQUE, + { "$UI_METHOD", 3117, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$SSL_SESSION", 3116, _CFFI_F_OPAQUE, + { "$USERNOTICE", 3118, _CFFI_F_CHECK_FIELDS, + sizeof(USERNOTICE), offsetof(struct _cffi_align_typedef_USERNOTICE, y), 55, 2 }, + { "$X509", 3119, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$UI_METHOD", 3117, _CFFI_F_OPAQUE, + { "$X509V3_CTX", 3120, 0, + sizeof(X509V3_CTX), offsetof(struct _cffi_align_typedef_X509V3_CTX, y), 57, 2 }, + { "$X509_ALGOR", 3122, 0, + sizeof(X509_ALGOR), offsetof(struct _cffi_align_typedef_X509_ALGOR, y), 59, 1 }, + { "$X509_ATTRIBUTE", 3123, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$USERNOTICE", 3118, _CFFI_F_CHECK_FIELDS, - sizeof(USERNOTICE), offsetof(struct _cffi_align_typedef_USERNOTICE, y), 55, 2 }, - { "$X509", 3119, _CFFI_F_OPAQUE, + { "$X509_CRL", 3124, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509V3_CTX", 3120, 0, - sizeof(X509V3_CTX), offsetof(struct _cffi_align_typedef_X509V3_CTX, y), 57, 2 }, - { "$X509_ALGOR", 3122, 0, - sizeof(X509_ALGOR), offsetof(struct _cffi_align_typedef_X509_ALGOR, y), 59, 1 }, - { "$X509_ATTRIBUTE", 3123, _CFFI_F_OPAQUE, + { "$X509_EXTENSION", 3125, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_CRL", 3124, _CFFI_F_OPAQUE, + { "$X509_EXTENSIONS", 3126, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_EXTENSION", 3125, _CFFI_F_OPAQUE, + { "$X509_NAME", 3127, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_EXTENSIONS", 3126, _CFFI_F_OPAQUE, + { "$X509_NAME_ENTRY", 3128, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_NAME", 3127, _CFFI_F_OPAQUE, + { "$X509_OBJECT", 3129, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_NAME_ENTRY", 3128, _CFFI_F_OPAQUE, + { "$X509_REQ", 3130, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_OBJECT", 3129, _CFFI_F_OPAQUE, + { "$X509_REVOKED", 3131, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_REQ", 3130, _CFFI_F_OPAQUE, + { "$X509_STORE", 3132, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_REVOKED", 3131, _CFFI_F_OPAQUE, + { "$X509_STORE_CTX", 3133, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_STORE", 3132, _CFFI_F_OPAQUE, + { "$X509_VERIFY_PARAM", 3134, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_STORE_CTX", 3133, _CFFI_F_OPAQUE, + { "asn1_string_st", 3017, _CFFI_F_CHECK_FIELDS, + sizeof(ASN1_OCTET_STRING), offsetof(struct _cffi_align__ASN1_OCTET_STRING, y), 60, 4 }, + { "stack_st_GENERAL_NAME", 3070, _CFFI_F_OPAQUE, (size_t)-1, -1, -1, 0 /* opaque */ }, - { "$X509_VERIFY_PARAM", 3134, _CFFI_F_OPAQUE, - (size_t)-1, -1, -1, 0 /* opaque */ }, - { "asn1_string_st", 3017, _CFFI_F_CHECK_FIELDS, - sizeof(ASN1_OCTET_STRING), offsetof(struct _cffi_align__ASN1_OCTET_STRING, y), 60, 4 }, - { "stack_st_GENERAL_NAME", 3070, _CFFI_F_OPAQUE, - (size_t)-1, -1, -1, 0 /* opaque */ }, }; static const struct _cffi_enum_s _cffi_enums[] = { - { "$ct_log_entry_type_t", 1646, _cffi_prim_int(sizeof(ct_log_entry_type_t), ((ct_log_entry_type_t)-1) <= 0), - "CT_LOG_ENTRY_TYPE_NOT_SET,CT_LOG_ENTRY_TYPE_X509,CT_LOG_ENTRY_TYPE_PRECERT" }, - { "$point_conversion_form_t", 2375, _cffi_prim_int(sizeof(point_conversion_form_t), ((point_conversion_form_t)-1) <= 0), - "POINT_CONVERSION_COMPRESSED,POINT_CONVERSION_UNCOMPRESSED" }, - { "$sct_source_t", 1650, _cffi_prim_int(sizeof(sct_source_t), ((sct_source_t)-1) <= 0), - "SCT_SOURCE_UNKNOWN,SCT_SOURCE_TLS_EXTENSION,SCT_SOURCE_X509V3_EXTENSION,SCT_SOURCE_OCSP_STAPLED_RESPONSE" }, - { "$sct_version_t", 1654, _cffi_prim_int(sizeof(sct_version_t), ((sct_version_t)-1) <= 0), - "SCT_VERSION_NOT_SET,SCT_VERSION_V1" }, + { "$ct_log_entry_type_t", 1646, _cffi_prim_int(sizeof(ct_log_entry_type_t), ((ct_log_entry_type_t)-1) <= 0), + "CT_LOG_ENTRY_TYPE_NOT_SET,CT_LOG_ENTRY_TYPE_X509,CT_LOG_ENTRY_TYPE_PRECERT" }, + { "$point_conversion_form_t", 2375, _cffi_prim_int(sizeof(point_conversion_form_t), ((point_conversion_form_t)-1) <= 0), + "POINT_CONVERSION_COMPRESSED,POINT_CONVERSION_UNCOMPRESSED" }, + { "$sct_source_t", 1650, _cffi_prim_int(sizeof(sct_source_t), ((sct_source_t)-1) <= 0), + "SCT_SOURCE_UNKNOWN,SCT_SOURCE_TLS_EXTENSION,SCT_SOURCE_X509V3_EXTENSION,SCT_SOURCE_OCSP_STAPLED_RESPONSE" }, + { "$sct_version_t", 1654, _cffi_prim_int(sizeof(sct_version_t), ((sct_version_t)-1) <= 0), + "SCT_VERSION_NOT_SET,SCT_VERSION_V1" }, }; static const struct _cffi_typename_s _cffi_typenames[] = { - { "ACCESS_DESCRIPTION", 3006 }, - { "AES_KEY", 3007 }, - { "ASN1_BIT_STRING", 3017 }, - { "ASN1_ENUMERATED", 3008 }, - { "ASN1_GENERALIZEDTIME", 3010 }, - { "ASN1_IA5STRING", 3017 }, - { "ASN1_INTEGER", 3012 }, - { "ASN1_NULL", 3014 }, - { "ASN1_OBJECT", 3015 }, - { "ASN1_OCTET_STRING", 3017 }, - { "ASN1_STRING", 3017 }, - { "ASN1_TIME", 3017 }, - { "ASN1_TYPE", 3018 }, - { "ASN1_UTF8STRING", 3017 }, - { "AUTHORITY_KEYID", 3019 }, - { "BASIC_CONSTRAINTS", 3020 }, - { "BIGNUM", 3021 }, - { "BIO", 3022 }, - { "BIO_METHOD", 3023 }, - { "BN_CTX", 3024 }, - { "BN_GENCB", 3025 }, - { "BN_MONT_CTX", 3026 }, - { "BN_ULONG", 840 }, - { "CMAC_CTX", 3027 }, - { "CONF", 3028 }, - { "CRYPTOGRAPHY_PASSWORD_DATA", 3029 }, - { "CRYPTO_EX_dup", 3030 }, - { "CRYPTO_EX_free", 3031 }, - { "CRYPTO_EX_new", 3032 }, - { "Cryptography_LHASH_OF_CONF_VALUE", 3033 }, - { "Cryptography_STACK_OF_ACCESS_DESCRIPTION", 3034 }, - { "Cryptography_STACK_OF_ASN1_INTEGER", 3035 }, - { "Cryptography_STACK_OF_ASN1_OBJECT", 3036 }, - { "Cryptography_STACK_OF_DIST_POINT", 3037 }, - { "Cryptography_STACK_OF_GENERAL_SUBTREE", 3038 }, - { "Cryptography_STACK_OF_POLICYINFO", 3039 }, - { "Cryptography_STACK_OF_POLICYQUALINFO", 3040 }, - { "Cryptography_STACK_OF_SCT", 3041 }, - { "Cryptography_STACK_OF_SSL_CIPHER", 3042 }, - { "Cryptography_STACK_OF_X509", 3043 }, - { "Cryptography_STACK_OF_X509_CRL", 3044 }, - { "Cryptography_STACK_OF_X509_NAME", 3045 }, - { "Cryptography_STACK_OF_X509_NAME_ENTRY", 3046 }, - { "Cryptography_STACK_OF_X509_OBJECT", 3047 }, - { "Cryptography_STACK_OF_X509_REVOKED", 3048 }, - { "DH", 3049 }, - { "DIST_POINT", 3050 }, - { "DIST_POINT_NAME", 3051 }, - { "DSA", 3052 }, - { "ECDSA_SIG", 3053 }, - { "EC_GROUP", 3054 }, - { "EC_KEY", 3055 }, - { "EC_METHOD", 3056 }, - { "EC_POINT", 3057 }, - { "EC_builtin_curve", 3058 }, - { "EDIPARTYNAME", 3060 }, - { "ENGINE", 3061 }, - { "EVP_CIPHER", 3062 }, - { "EVP_CIPHER_CTX", 3063 }, - { "EVP_MD", 3064 }, - { "EVP_MD_CTX", 3065 }, - { "EVP_PKEY", 3066 }, - { "EVP_PKEY_CTX", 3067 }, - { "EXTENDED_KEY_USAGE", 3068 }, - { "GENERAL_NAME", 3069 }, - { "GENERAL_NAMES", 3070 }, - { "GENERAL_SUBTREE", 3071 }, - { "HMAC_CTX", 3072 }, - { "ISSUING_DIST_POINT", 3073 }, - { "NAME_CONSTRAINTS", 3074 }, - { "NETSCAPE_SPKI", 3075 }, - { "NOTICEREF", 3076 }, - { "OBJ_NAME", 3077 }, - { "OCSP_BASICRESP", 3078 }, - { "OCSP_CERTID", 3080 }, - { "OCSP_ONEREQ", 3081 }, - { "OCSP_REQUEST", 3082 }, - { "OCSP_RESPDATA", 3084 }, - { "OCSP_RESPONSE", 3085 }, - { "OCSP_SINGLERESP", 3086 }, - { "OTHERNAME", 3087 }, - { "PKCS12", 3088 }, - { "PKCS7", 3089 }, - { "PKCS7_DIGEST", 3091 }, - { "PKCS7_ENCRYPT", 3093 }, - { "PKCS7_ENVELOPE", 3095 }, - { "PKCS7_SIGNED", 3097 }, - { "PKCS7_SIGNER_INFO", 3099 }, - { "PKCS7_SIGN_ENVELOPE", 3101 }, - { "PKCS8_PRIV_KEY_INFO", 3102 }, - { "POLICYINFO", 3103 }, - { "POLICYQUALINFO", 3104 }, - { "POLICY_CONSTRAINTS", 3105 }, - { "RAND_METHOD", 3106 }, - { "RSA", 3107 }, - { "SCT", 3108 }, - { "SRTP_PROTECTION_PROFILE", 3110 }, - { "SSL", 3111 }, - { "SSL_CIPHER", 3112 }, - { "SSL_CTX", 3113 }, - { "SSL_METHOD", 3115 }, - { "SSL_SESSION", 3116 }, - { "UI_METHOD", 3117 }, - { "USERNOTICE", 3118 }, - { "X509", 3119 }, - { "X509V3_CTX", 3120 }, - { "X509V3_EXT_D2I", 3141 }, - { "X509_ALGOR", 3122 }, - { "X509_ATTRIBUTE", 3123 }, - { "X509_CRL", 3124 }, - { "X509_EXTENSION", 3125 }, - { "X509_EXTENSIONS", 3126 }, - { "X509_NAME", 3127 }, - { "X509_NAME_ENTRY", 3128 }, - { "X509_OBJECT", 3129 }, - { "X509_REQ", 3130 }, - { "X509_REVOKED", 3131 }, - { "X509_STORE", 3132 }, - { "X509_STORE_CTX", 3133 }, - { "X509_STORE_CTX_get_issuer_fn", 2926 }, - { "X509_VERIFY_PARAM", 3134 }, - { "ct_log_entry_type_t", 1646 }, - { "custom_ext_add_cb", 1821 }, - { "custom_ext_free_cb", 1822 }, - { "custom_ext_parse_cb", 1824 }, - { "pem_password_cb", 2160 }, - { "point_conversion_form_t", 2375 }, - { "sct_source_t", 1650 }, - { "sct_version_t", 1654 }, - { "sk_ACCESS_DESCRIPTION_freefunc", 2586 }, - { "sk_DIST_POINT_freefunc", 2599 }, - { "sk_GENERAL_NAME_freefunc", 2696 }, - { "sk_POLICYINFO_freefunc", 2609 }, - { "sk_X509_EXTENSION_freefunc", 2902 }, + { "ACCESS_DESCRIPTION", 3006 }, + { "AES_KEY", 3007 }, + { "ASN1_BIT_STRING", 3017 }, + { "ASN1_ENUMERATED", 3008 }, + { "ASN1_GENERALIZEDTIME", 3010 }, + { "ASN1_IA5STRING", 3017 }, + { "ASN1_INTEGER", 3012 }, + { "ASN1_NULL", 3014 }, + { "ASN1_OBJECT", 3015 }, + { "ASN1_OCTET_STRING", 3017 }, + { "ASN1_STRING", 3017 }, + { "ASN1_TIME", 3017 }, + { "ASN1_TYPE", 3018 }, + { "ASN1_UTF8STRING", 3017 }, + { "AUTHORITY_KEYID", 3019 }, + { "BASIC_CONSTRAINTS", 3020 }, + { "BIGNUM", 3021 }, + { "BIO", 3022 }, + { "BIO_METHOD", 3023 }, + { "BN_CTX", 3024 }, + { "BN_GENCB", 3025 }, + { "BN_MONT_CTX", 3026 }, + { "BN_ULONG", 840 }, + { "CMAC_CTX", 3027 }, + { "CONF", 3028 }, + { "CRYPTOGRAPHY_PASSWORD_DATA", 3029 }, + { "CRYPTO_EX_dup", 3030 }, + { "CRYPTO_EX_free", 3031 }, + { "CRYPTO_EX_new", 3032 }, + { "Cryptography_LHASH_OF_CONF_VALUE", 3033 }, + { "Cryptography_STACK_OF_ACCESS_DESCRIPTION", 3034 }, + { "Cryptography_STACK_OF_ASN1_INTEGER", 3035 }, + { "Cryptography_STACK_OF_ASN1_OBJECT", 3036 }, + { "Cryptography_STACK_OF_DIST_POINT", 3037 }, + { "Cryptography_STACK_OF_GENERAL_SUBTREE", 3038 }, + { "Cryptography_STACK_OF_POLICYINFO", 3039 }, + { "Cryptography_STACK_OF_POLICYQUALINFO", 3040 }, + { "Cryptography_STACK_OF_SCT", 3041 }, + { "Cryptography_STACK_OF_SSL_CIPHER", 3042 }, + { "Cryptography_STACK_OF_X509", 3043 }, + { "Cryptography_STACK_OF_X509_CRL", 3044 }, + { "Cryptography_STACK_OF_X509_NAME", 3045 }, + { "Cryptography_STACK_OF_X509_NAME_ENTRY", 3046 }, + { "Cryptography_STACK_OF_X509_OBJECT", 3047 }, + { "Cryptography_STACK_OF_X509_REVOKED", 3048 }, + { "DH", 3049 }, + { "DIST_POINT", 3050 }, + { "DIST_POINT_NAME", 3051 }, + { "DSA", 3052 }, + { "ECDSA_SIG", 3053 }, + { "EC_GROUP", 3054 }, + { "EC_KEY", 3055 }, + { "EC_METHOD", 3056 }, + { "EC_POINT", 3057 }, + { "EC_builtin_curve", 3058 }, + { "EDIPARTYNAME", 3060 }, + { "ENGINE", 3061 }, + { "EVP_CIPHER", 3062 }, + { "EVP_CIPHER_CTX", 3063 }, + { "EVP_MD", 3064 }, + { "EVP_MD_CTX", 3065 }, + { "EVP_PKEY", 3066 }, + { "EVP_PKEY_CTX", 3067 }, + { "EXTENDED_KEY_USAGE", 3068 }, + { "GENERAL_NAME", 3069 }, + { "GENERAL_NAMES", 3070 }, + { "GENERAL_SUBTREE", 3071 }, + { "HMAC_CTX", 3072 }, + { "ISSUING_DIST_POINT", 3073 }, + { "NAME_CONSTRAINTS", 3074 }, + { "NETSCAPE_SPKI", 3075 }, + { "NOTICEREF", 3076 }, + { "OBJ_NAME", 3077 }, + { "OCSP_BASICRESP", 3078 }, + { "OCSP_CERTID", 3080 }, + { "OCSP_ONEREQ", 3081 }, + { "OCSP_REQUEST", 3082 }, + { "OCSP_RESPDATA", 3084 }, + { "OCSP_RESPONSE", 3085 }, + { "OCSP_SINGLERESP", 3086 }, + { "OTHERNAME", 3087 }, + { "PKCS12", 3088 }, + { "PKCS7", 3089 }, + { "PKCS7_DIGEST", 3091 }, + { "PKCS7_ENCRYPT", 3093 }, + { "PKCS7_ENVELOPE", 3095 }, + { "PKCS7_SIGNED", 3097 }, + { "PKCS7_SIGNER_INFO", 3099 }, + { "PKCS7_SIGN_ENVELOPE", 3101 }, + { "PKCS8_PRIV_KEY_INFO", 3102 }, + { "POLICYINFO", 3103 }, + { "POLICYQUALINFO", 3104 }, + { "POLICY_CONSTRAINTS", 3105 }, + { "RAND_METHOD", 3106 }, + { "RSA", 3107 }, + { "SCT", 3108 }, + { "SRTP_PROTECTION_PROFILE", 3110 }, + { "SSL", 3111 }, + { "SSL_CIPHER", 3112 }, + { "SSL_CTX", 3113 }, + { "SSL_METHOD", 3115 }, + { "SSL_SESSION", 3116 }, + { "UI_METHOD", 3117 }, + { "USERNOTICE", 3118 }, + { "X509", 3119 }, + { "X509V3_CTX", 3120 }, + { "X509V3_EXT_D2I", 3141 }, + { "X509_ALGOR", 3122 }, + { "X509_ATTRIBUTE", 3123 }, + { "X509_CRL", 3124 }, + { "X509_EXTENSION", 3125 }, + { "X509_EXTENSIONS", 3126 }, + { "X509_NAME", 3127 }, + { "X509_NAME_ENTRY", 3128 }, + { "X509_OBJECT", 3129 }, + { "X509_REQ", 3130 }, + { "X509_REVOKED", 3131 }, + { "X509_STORE", 3132 }, + { "X509_STORE_CTX", 3133 }, + { "X509_STORE_CTX_get_issuer_fn", 2926 }, + { "X509_VERIFY_PARAM", 3134 }, + { "ct_log_entry_type_t", 1646 }, + { "custom_ext_add_cb", 1821 }, + { "custom_ext_free_cb", 1822 }, + { "custom_ext_parse_cb", 1824 }, + { "pem_password_cb", 2160 }, + { "point_conversion_form_t", 2375 }, + { "sct_source_t", 1650 }, + { "sct_version_t", 1654 }, + { "sk_ACCESS_DESCRIPTION_freefunc", 2586 }, + { "sk_DIST_POINT_freefunc", 2599 }, + { "sk_GENERAL_NAME_freefunc", 2696 }, + { "sk_POLICYINFO_freefunc", 2609 }, + { "sk_X509_EXTENSION_freefunc", 2902 }, { "time_t", 10 }, }; @@ -55656,13 +55656,13 @@ static const struct _cffi_type_context_s _cffi_type_context = { _cffi_struct_unions, _cffi_enums, _cffi_typenames, - 1295, /* num_globals */ - 117, /* num_struct_unions */ - 4, /* num_enums */ - 135, /* num_typenames */ + 1295, /* num_globals */ + 117, /* num_struct_unions */ + 4, /* num_enums */ + 135, /* num_typenames */ NULL, /* no includes */ - 3143, /* num_types */ - 0, /* flags */ + 3143, /* num_types */ + 0, /* flags */ }; #ifdef PYPY_VERSION @@ -55690,6 +55690,6 @@ PyInit__openssl(void) PyMODINIT_FUNC init_openssl(void) { - _cffi_init("_openssl", 0x2601, &_cffi_type_context); + _cffi_init("_openssl", 0x2601, &_cffi_type_context); } #endif diff --git a/contrib/python/cryptography/build/temp.linux-x86_64-2.7/_padding.c b/contrib/python/cryptography/build/temp.linux-x86_64-2.7/_padding.c index 672378751b..aa3f1b819d 100644 --- a/contrib/python/cryptography/build/temp.linux-x86_64-2.7/_padding.c +++ b/contrib/python/cryptography/build/temp.linux-x86_64-2.7/_padding.c @@ -496,7 +496,7 @@ uint8_t Cryptography_check_ansix923_padding(const uint8_t *data, return (mismatch & 1) == 0; } -#define CRYPTOGRAPHY_PACKAGE_VERSION "3.3.2" +#define CRYPTOGRAPHY_PACKAGE_VERSION "3.3.2" /************************************************************/ @@ -505,15 +505,15 @@ static void *_cffi_types[] = { /* 1 */ _CFFI_OP(_CFFI_OP_POINTER, 2), // uint8_t const * /* 2 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 18), // uint8_t /* 3 */ _CFFI_OP(_CFFI_OP_FUNCTION_END, 0), -/* 4 */ _CFFI_OP(_CFFI_OP_POINTER, 5), // char const * -/* 5 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 2), // char +/* 4 */ _CFFI_OP(_CFFI_OP_POINTER, 5), // char const * +/* 5 */ _CFFI_OP(_CFFI_OP_PRIMITIVE, 2), // char }; -static void _cffi_const_CRYPTOGRAPHY_PACKAGE_VERSION(char *o) -{ - *(char const * *)o = CRYPTOGRAPHY_PACKAGE_VERSION; -} - +static void _cffi_const_CRYPTOGRAPHY_PACKAGE_VERSION(char *o) +{ + *(char const * *)o = CRYPTOGRAPHY_PACKAGE_VERSION; +} + static uint8_t _cffi_d_Cryptography_check_ansix923_padding(uint8_t const * x0, uint8_t x1) { return Cryptography_check_ansix923_padding(x0, x1); @@ -607,7 +607,7 @@ _cffi_f_Cryptography_check_pkcs7_padding(PyObject *self, PyObject *args) #endif static const struct _cffi_global_s _cffi_globals[] = { - { "CRYPTOGRAPHY_PACKAGE_VERSION", (void *)_cffi_const_CRYPTOGRAPHY_PACKAGE_VERSION, _CFFI_OP(_CFFI_OP_CONSTANT, 4), (void *)0 }, + { "CRYPTOGRAPHY_PACKAGE_VERSION", (void *)_cffi_const_CRYPTOGRAPHY_PACKAGE_VERSION, _CFFI_OP(_CFFI_OP_CONSTANT, 4), (void *)0 }, { "Cryptography_check_ansix923_padding", (void *)_cffi_f_Cryptography_check_ansix923_padding, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 0), (void *)_cffi_d_Cryptography_check_ansix923_padding }, { "Cryptography_check_pkcs7_padding", (void *)_cffi_f_Cryptography_check_pkcs7_padding, _CFFI_OP(_CFFI_OP_CPYTHON_BLTN_V, 0), (void *)_cffi_d_Cryptography_check_pkcs7_padding }, }; @@ -619,12 +619,12 @@ static const struct _cffi_type_context_s _cffi_type_context = { NULL, /* no struct_unions */ NULL, /* no enums */ NULL, /* no typenames */ - 3, /* num_globals */ + 3, /* num_globals */ 0, /* num_struct_unions */ 0, /* num_enums */ 0, /* num_typenames */ NULL, /* no includes */ - 6, /* num_types */ + 6, /* num_types */ 0, /* flags */ }; @@ -653,6 +653,6 @@ PyInit__padding(void) PyMODINIT_FUNC init_padding(void) { - _cffi_init("_padding", 0x2601, &_cffi_type_context); + _cffi_init("_padding", 0x2601, &_cffi_type_context); } #endif diff --git a/contrib/python/cryptography/cryptography/__about__.py b/contrib/python/cryptography/cryptography/__about__.py index ae9d4b85de..f816509257 100644 --- a/contrib/python/cryptography/cryptography/__about__.py +++ b/contrib/python/cryptography/cryptography/__about__.py @@ -5,27 +5,27 @@ from __future__ import absolute_import, division, print_function __all__ = [ - "__title__", - "__summary__", - "__uri__", - "__version__", - "__author__", - "__email__", - "__license__", - "__copyright__", + "__title__", + "__summary__", + "__uri__", + "__version__", + "__author__", + "__email__", + "__license__", + "__copyright__", ] __title__ = "cryptography" -__summary__ = ( - "cryptography is a package which provides cryptographic recipes" - " and primitives to Python developers." -) +__summary__ = ( + "cryptography is a package which provides cryptographic recipes" + " and primitives to Python developers." +) __uri__ = "https://github.com/pyca/cryptography" -__version__ = "3.3.2" +__version__ = "3.3.2" __author__ = "The cryptography developers" __email__ = "cryptography-dev@python.org" __license__ = "BSD or Apache License, Version 2.0" -__copyright__ = "Copyright 2013-2021 {}".format(__author__) +__copyright__ = "Copyright 2013-2021 {}".format(__author__) diff --git a/contrib/python/cryptography/cryptography/__init__.py b/contrib/python/cryptography/cryptography/__init__.py index 072944cf07..0fcaef8370 100644 --- a/contrib/python/cryptography/cryptography/__init__.py +++ b/contrib/python/cryptography/cryptography/__init__.py @@ -4,29 +4,29 @@ from __future__ import absolute_import, division, print_function -import sys -import warnings - +import sys +import warnings + from cryptography.__about__ import ( - __author__, - __copyright__, - __email__, - __license__, - __summary__, - __title__, - __uri__, - __version__, + __author__, + __copyright__, + __email__, + __license__, + __summary__, + __title__, + __uri__, + __version__, ) -from cryptography.utils import CryptographyDeprecationWarning +from cryptography.utils import CryptographyDeprecationWarning __all__ = [ - "__title__", - "__summary__", - "__uri__", - "__version__", - "__author__", - "__email__", - "__license__", - "__copyright__", + "__title__", + "__summary__", + "__uri__", + "__version__", + "__author__", + "__email__", + "__license__", + "__copyright__", ] diff --git a/contrib/python/cryptography/cryptography/exceptions.py b/contrib/python/cryptography/cryptography/exceptions.py index e51dcb119f..1d52d7dcfc 100644 --- a/contrib/python/cryptography/cryptography/exceptions.py +++ b/contrib/python/cryptography/cryptography/exceptions.py @@ -18,8 +18,8 @@ class _Reasons(Enum): UNSUPPORTED_SERIALIZATION = 7 UNSUPPORTED_X509 = 8 UNSUPPORTED_EXCHANGE_ALGORITHM = 9 - UNSUPPORTED_DIFFIE_HELLMAN = 10 - UNSUPPORTED_MAC = 11 + UNSUPPORTED_DIFFIE_HELLMAN = 10 + UNSUPPORTED_MAC = 11 class UnsupportedAlgorithm(Exception): diff --git a/contrib/python/cryptography/cryptography/fernet.py b/contrib/python/cryptography/cryptography/fernet.py index d969be8b76..00c2528671 100644 --- a/contrib/python/cryptography/cryptography/fernet.py +++ b/contrib/python/cryptography/cryptography/fernet.py @@ -12,9 +12,9 @@ import time import six -from cryptography import utils +from cryptography import utils from cryptography.exceptions import InvalidSignature -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.primitives import hashes, padding from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes from cryptography.hazmat.primitives.hmac import HMAC @@ -29,7 +29,7 @@ _MAX_CLOCK_SKEW = 60 class Fernet(object): def __init__(self, key, backend=None): - backend = _get_backend(backend) + backend = _get_backend(backend) key = base64.urlsafe_b64decode(key) if len(key) != 32: @@ -46,14 +46,14 @@ class Fernet(object): return base64.urlsafe_b64encode(os.urandom(32)) def encrypt(self, data): - return self.encrypt_at_time(data, int(time.time())) - - def encrypt_at_time(self, data, current_time): + return self.encrypt_at_time(data, int(time.time())) + + def encrypt_at_time(self, data, current_time): iv = os.urandom(16) return self._encrypt_from_parts(data, current_time, iv) def _encrypt_from_parts(self, data, current_time, iv): - utils._check_bytes("data", data) + utils._check_bytes("data", data) padder = padding.PKCS7(algorithms.AES.block_size).padder() padded_data = padder.update(data) + padder.finalize() @@ -72,26 +72,26 @@ class Fernet(object): return base64.urlsafe_b64encode(basic_parts + hmac) def decrypt(self, token, ttl=None): - timestamp, data = Fernet._get_unverified_token_data(token) - return self._decrypt_data(data, timestamp, ttl, int(time.time())) - - def decrypt_at_time(self, token, ttl, current_time): - if ttl is None: - raise ValueError( - "decrypt_at_time() can only be used with a non-None ttl" - ) - timestamp, data = Fernet._get_unverified_token_data(token) - return self._decrypt_data(data, timestamp, ttl, current_time) - - def extract_timestamp(self, token): - timestamp, data = Fernet._get_unverified_token_data(token) - # Verify the token was not tampered with. - self._verify_signature(data) - return timestamp - - @staticmethod - def _get_unverified_token_data(token): - utils._check_bytes("token", token) + timestamp, data = Fernet._get_unverified_token_data(token) + return self._decrypt_data(data, timestamp, ttl, int(time.time())) + + def decrypt_at_time(self, token, ttl, current_time): + if ttl is None: + raise ValueError( + "decrypt_at_time() can only be used with a non-None ttl" + ) + timestamp, data = Fernet._get_unverified_token_data(token) + return self._decrypt_data(data, timestamp, ttl, current_time) + + def extract_timestamp(self, token): + timestamp, data = Fernet._get_unverified_token_data(token) + # Verify the token was not tampered with. + self._verify_signature(data) + return timestamp + + @staticmethod + def _get_unverified_token_data(token): + utils._check_bytes("token", token) try: data = base64.urlsafe_b64decode(token) except (TypeError, binascii.Error): @@ -101,12 +101,12 @@ class Fernet(object): raise InvalidToken try: - (timestamp,) = struct.unpack(">Q", data[1:9]) + (timestamp,) = struct.unpack(">Q", data[1:9]) except struct.error: raise InvalidToken - return timestamp, data + return timestamp, data - def _verify_signature(self, data): + def _verify_signature(self, data): h = HMAC(self._signing_key, hashes.SHA256(), backend=self._backend) h.update(data[:-32]) try: @@ -114,16 +114,16 @@ class Fernet(object): except InvalidSignature: raise InvalidToken - def _decrypt_data(self, data, timestamp, ttl, current_time): - if ttl is not None: - if timestamp + ttl < current_time: - raise InvalidToken - - if current_time + _MAX_CLOCK_SKEW < timestamp: - raise InvalidToken - - self._verify_signature(data) - + def _decrypt_data(self, data, timestamp, ttl, current_time): + if ttl is not None: + if timestamp + ttl < current_time: + raise InvalidToken + + if current_time + _MAX_CLOCK_SKEW < timestamp: + raise InvalidToken + + self._verify_signature(data) + iv = data[9:25] ciphertext = data[25:-32] decryptor = Cipher( @@ -154,25 +154,25 @@ class MultiFernet(object): self._fernets = fernets def encrypt(self, msg): - return self.encrypt_at_time(msg, int(time.time())) - - def encrypt_at_time(self, msg, current_time): - return self._fernets[0].encrypt_at_time(msg, current_time) - - def rotate(self, msg): - timestamp, data = Fernet._get_unverified_token_data(msg) - for f in self._fernets: - try: - p = f._decrypt_data(data, timestamp, None, None) - break - except InvalidToken: - pass - else: - raise InvalidToken - - iv = os.urandom(16) - return self._fernets[0]._encrypt_from_parts(p, timestamp, iv) - + return self.encrypt_at_time(msg, int(time.time())) + + def encrypt_at_time(self, msg, current_time): + return self._fernets[0].encrypt_at_time(msg, current_time) + + def rotate(self, msg): + timestamp, data = Fernet._get_unverified_token_data(msg) + for f in self._fernets: + try: + p = f._decrypt_data(data, timestamp, None, None) + break + except InvalidToken: + pass + else: + raise InvalidToken + + iv = os.urandom(16) + return self._fernets[0]._encrypt_from_parts(p, timestamp, iv) + def decrypt(self, msg, ttl=None): for f in self._fernets: try: @@ -180,11 +180,11 @@ class MultiFernet(object): except InvalidToken: pass raise InvalidToken - - def decrypt_at_time(self, msg, ttl, current_time): - for f in self._fernets: - try: - return f.decrypt_at_time(msg, ttl, current_time) - except InvalidToken: - pass - raise InvalidToken + + def decrypt_at_time(self, msg, ttl, current_time): + for f in self._fernets: + try: + return f.decrypt_at_time(msg, ttl, current_time) + except InvalidToken: + pass + raise InvalidToken diff --git a/contrib/python/cryptography/cryptography/hazmat/_der.py b/contrib/python/cryptography/cryptography/hazmat/_der.py index 652d26127c..462b911b45 100644 --- a/contrib/python/cryptography/cryptography/hazmat/_der.py +++ b/contrib/python/cryptography/cryptography/hazmat/_der.py @@ -1,156 +1,156 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import six - -from cryptography.utils import int_from_bytes, int_to_bytes - - -# This module contains a lightweight DER encoder and decoder. See X.690 for the -# specification. This module intentionally does not implement the more complex -# BER encoding, only DER. -# -# Note this implementation treats an element's constructed bit as part of the -# tag. This is fine for DER, where the bit is always computable from the type. - - -CONSTRUCTED = 0x20 -CONTEXT_SPECIFIC = 0x80 - -INTEGER = 0x02 -BIT_STRING = 0x03 -OCTET_STRING = 0x04 -NULL = 0x05 -OBJECT_IDENTIFIER = 0x06 -SEQUENCE = 0x10 | CONSTRUCTED -SET = 0x11 | CONSTRUCTED -PRINTABLE_STRING = 0x13 -UTC_TIME = 0x17 -GENERALIZED_TIME = 0x18 - - -class DERReader(object): - def __init__(self, data): - self.data = memoryview(data) - - def __enter__(self): - return self - - def __exit__(self, exc_type, exc_value, tb): - if exc_value is None: - self.check_empty() - - def is_empty(self): - return len(self.data) == 0 - - def check_empty(self): - if not self.is_empty(): - raise ValueError("Invalid DER input: trailing data") - - def read_byte(self): - if len(self.data) < 1: - raise ValueError("Invalid DER input: insufficient data") - ret = six.indexbytes(self.data, 0) - self.data = self.data[1:] - return ret - - def read_bytes(self, n): - if len(self.data) < n: - raise ValueError("Invalid DER input: insufficient data") - ret = self.data[:n] - self.data = self.data[n:] - return ret - - def read_any_element(self): - tag = self.read_byte() - # Tag numbers 31 or higher are stored in multiple bytes. No supported - # ASN.1 types use such tags, so reject these. - if tag & 0x1F == 0x1F: - raise ValueError("Invalid DER input: unexpected high tag number") - length_byte = self.read_byte() - if length_byte & 0x80 == 0: - # If the high bit is clear, the first length byte is the length. - length = length_byte - else: - # If the high bit is set, the first length byte encodes the length - # of the length. - length_byte &= 0x7F - if length_byte == 0: - raise ValueError( - "Invalid DER input: indefinite length form is not allowed " - "in DER" - ) - length = 0 - for i in range(length_byte): - length <<= 8 - length |= self.read_byte() - if length == 0: - raise ValueError( - "Invalid DER input: length was not minimally-encoded" - ) - if length < 0x80: - # If the length could have been encoded in short form, it must - # not use long form. - raise ValueError( - "Invalid DER input: length was not minimally-encoded" - ) - body = self.read_bytes(length) - return tag, DERReader(body) - - def read_element(self, expected_tag): - tag, body = self.read_any_element() - if tag != expected_tag: - raise ValueError("Invalid DER input: unexpected tag") - return body - - def read_single_element(self, expected_tag): - with self: - return self.read_element(expected_tag) - - def read_optional_element(self, expected_tag): - if len(self.data) > 0 and six.indexbytes(self.data, 0) == expected_tag: - return self.read_element(expected_tag) - return None - - def as_integer(self): - if len(self.data) == 0: - raise ValueError("Invalid DER input: empty integer contents") - first = six.indexbytes(self.data, 0) - if first & 0x80 == 0x80: - raise ValueError("Negative DER integers are not supported") - # The first 9 bits must not all be zero or all be ones. Otherwise, the - # encoding should have been one byte shorter. - if len(self.data) > 1: - second = six.indexbytes(self.data, 1) - if first == 0 and second & 0x80 == 0: - raise ValueError( - "Invalid DER input: integer not minimally-encoded" - ) - return int_from_bytes(self.data, "big") - - -def encode_der_integer(x): - if not isinstance(x, six.integer_types): - raise ValueError("Value must be an integer") - if x < 0: - raise ValueError("Negative integers are not supported") - n = x.bit_length() // 8 + 1 - return int_to_bytes(x, n) - - -def encode_der(tag, *children): - length = 0 - for child in children: - length += len(child) - chunks = [six.int2byte(tag)] - if length < 0x80: - chunks.append(six.int2byte(length)) - else: - length_bytes = int_to_bytes(length) - chunks.append(six.int2byte(0x80 | len(length_bytes))) - chunks.append(length_bytes) - chunks.extend(children) - return b"".join(chunks) +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import six + +from cryptography.utils import int_from_bytes, int_to_bytes + + +# This module contains a lightweight DER encoder and decoder. See X.690 for the +# specification. This module intentionally does not implement the more complex +# BER encoding, only DER. +# +# Note this implementation treats an element's constructed bit as part of the +# tag. This is fine for DER, where the bit is always computable from the type. + + +CONSTRUCTED = 0x20 +CONTEXT_SPECIFIC = 0x80 + +INTEGER = 0x02 +BIT_STRING = 0x03 +OCTET_STRING = 0x04 +NULL = 0x05 +OBJECT_IDENTIFIER = 0x06 +SEQUENCE = 0x10 | CONSTRUCTED +SET = 0x11 | CONSTRUCTED +PRINTABLE_STRING = 0x13 +UTC_TIME = 0x17 +GENERALIZED_TIME = 0x18 + + +class DERReader(object): + def __init__(self, data): + self.data = memoryview(data) + + def __enter__(self): + return self + + def __exit__(self, exc_type, exc_value, tb): + if exc_value is None: + self.check_empty() + + def is_empty(self): + return len(self.data) == 0 + + def check_empty(self): + if not self.is_empty(): + raise ValueError("Invalid DER input: trailing data") + + def read_byte(self): + if len(self.data) < 1: + raise ValueError("Invalid DER input: insufficient data") + ret = six.indexbytes(self.data, 0) + self.data = self.data[1:] + return ret + + def read_bytes(self, n): + if len(self.data) < n: + raise ValueError("Invalid DER input: insufficient data") + ret = self.data[:n] + self.data = self.data[n:] + return ret + + def read_any_element(self): + tag = self.read_byte() + # Tag numbers 31 or higher are stored in multiple bytes. No supported + # ASN.1 types use such tags, so reject these. + if tag & 0x1F == 0x1F: + raise ValueError("Invalid DER input: unexpected high tag number") + length_byte = self.read_byte() + if length_byte & 0x80 == 0: + # If the high bit is clear, the first length byte is the length. + length = length_byte + else: + # If the high bit is set, the first length byte encodes the length + # of the length. + length_byte &= 0x7F + if length_byte == 0: + raise ValueError( + "Invalid DER input: indefinite length form is not allowed " + "in DER" + ) + length = 0 + for i in range(length_byte): + length <<= 8 + length |= self.read_byte() + if length == 0: + raise ValueError( + "Invalid DER input: length was not minimally-encoded" + ) + if length < 0x80: + # If the length could have been encoded in short form, it must + # not use long form. + raise ValueError( + "Invalid DER input: length was not minimally-encoded" + ) + body = self.read_bytes(length) + return tag, DERReader(body) + + def read_element(self, expected_tag): + tag, body = self.read_any_element() + if tag != expected_tag: + raise ValueError("Invalid DER input: unexpected tag") + return body + + def read_single_element(self, expected_tag): + with self: + return self.read_element(expected_tag) + + def read_optional_element(self, expected_tag): + if len(self.data) > 0 and six.indexbytes(self.data, 0) == expected_tag: + return self.read_element(expected_tag) + return None + + def as_integer(self): + if len(self.data) == 0: + raise ValueError("Invalid DER input: empty integer contents") + first = six.indexbytes(self.data, 0) + if first & 0x80 == 0x80: + raise ValueError("Negative DER integers are not supported") + # The first 9 bits must not all be zero or all be ones. Otherwise, the + # encoding should have been one byte shorter. + if len(self.data) > 1: + second = six.indexbytes(self.data, 1) + if first == 0 and second & 0x80 == 0: + raise ValueError( + "Invalid DER input: integer not minimally-encoded" + ) + return int_from_bytes(self.data, "big") + + +def encode_der_integer(x): + if not isinstance(x, six.integer_types): + raise ValueError("Value must be an integer") + if x < 0: + raise ValueError("Negative integers are not supported") + n = x.bit_length() // 8 + 1 + return int_to_bytes(x, n) + + +def encode_der(tag, *children): + length = 0 + for child in children: + length += len(child) + chunks = [six.int2byte(tag)] + if length < 0x80: + chunks.append(six.int2byte(length)) + else: + length_bytes = int_to_bytes(length) + chunks.append(six.int2byte(0x80 | len(length_bytes))) + chunks.append(length_bytes) + chunks.extend(children) + return b"".join(chunks) diff --git a/contrib/python/cryptography/cryptography/hazmat/_oid.py b/contrib/python/cryptography/cryptography/hazmat/_oid.py index 3991a1a9f5..de2771a737 100644 --- a/contrib/python/cryptography/cryptography/hazmat/_oid.py +++ b/contrib/python/cryptography/cryptography/hazmat/_oid.py @@ -1,77 +1,77 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from cryptography import utils - - -class ObjectIdentifier(object): - def __init__(self, dotted_string): - self._dotted_string = dotted_string - - nodes = self._dotted_string.split(".") - intnodes = [] - - # There must be at least 2 nodes, the first node must be 0..2, and - # if less than 2, the second node cannot have a value outside the - # range 0..39. All nodes must be integers. - for node in nodes: - try: - node_value = int(node, 10) - except ValueError: - raise ValueError( - "Malformed OID: %s (non-integer nodes)" - % (self._dotted_string) - ) - if node_value < 0: - raise ValueError( - "Malformed OID: %s (negative-integer nodes)" - % (self._dotted_string) - ) - intnodes.append(node_value) - - if len(nodes) < 2: - raise ValueError( - "Malformed OID: %s (insufficient number of nodes)" - % (self._dotted_string) - ) - - if intnodes[0] > 2: - raise ValueError( - "Malformed OID: %s (first node outside valid range)" - % (self._dotted_string) - ) - - if intnodes[0] < 2 and intnodes[1] >= 40: - raise ValueError( - "Malformed OID: %s (second node outside valid range)" - % (self._dotted_string) - ) - - def __eq__(self, other): - if not isinstance(other, ObjectIdentifier): - return NotImplemented - - return self.dotted_string == other.dotted_string - - def __ne__(self, other): - return not self == other - - def __repr__(self): - return "<ObjectIdentifier(oid={}, name={})>".format( - self.dotted_string, self._name - ) - - def __hash__(self): - return hash(self.dotted_string) - - @property - def _name(self): - # Lazy import to avoid an import cycle - from cryptography.x509.oid import _OID_NAMES - - return _OID_NAMES.get(self, "Unknown OID") - - dotted_string = utils.read_only_property("_dotted_string") +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from cryptography import utils + + +class ObjectIdentifier(object): + def __init__(self, dotted_string): + self._dotted_string = dotted_string + + nodes = self._dotted_string.split(".") + intnodes = [] + + # There must be at least 2 nodes, the first node must be 0..2, and + # if less than 2, the second node cannot have a value outside the + # range 0..39. All nodes must be integers. + for node in nodes: + try: + node_value = int(node, 10) + except ValueError: + raise ValueError( + "Malformed OID: %s (non-integer nodes)" + % (self._dotted_string) + ) + if node_value < 0: + raise ValueError( + "Malformed OID: %s (negative-integer nodes)" + % (self._dotted_string) + ) + intnodes.append(node_value) + + if len(nodes) < 2: + raise ValueError( + "Malformed OID: %s (insufficient number of nodes)" + % (self._dotted_string) + ) + + if intnodes[0] > 2: + raise ValueError( + "Malformed OID: %s (first node outside valid range)" + % (self._dotted_string) + ) + + if intnodes[0] < 2 and intnodes[1] >= 40: + raise ValueError( + "Malformed OID: %s (second node outside valid range)" + % (self._dotted_string) + ) + + def __eq__(self, other): + if not isinstance(other, ObjectIdentifier): + return NotImplemented + + return self.dotted_string == other.dotted_string + + def __ne__(self, other): + return not self == other + + def __repr__(self): + return "<ObjectIdentifier(oid={}, name={})>".format( + self.dotted_string, self._name + ) + + def __hash__(self): + return hash(self.dotted_string) + + @property + def _name(self): + # Lazy import to avoid an import cycle + from cryptography.x509.oid import _OID_NAMES + + return _OID_NAMES.get(self, "Unknown OID") + + dotted_string = utils.read_only_property("_dotted_string") diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/__init__.py b/contrib/python/cryptography/cryptography/hazmat/backends/__init__.py index e90907b238..1563936dde 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/__init__.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/__init__.py @@ -12,15 +12,15 @@ def default_backend(): global _default_backend if _default_backend is None: - from cryptography.hazmat.backends.openssl.backend import backend - - _default_backend = backend + from cryptography.hazmat.backends.openssl.backend import backend + + _default_backend = backend return _default_backend - - -def _get_backend(backend): - if backend is None: - return default_backend() - else: - return backend + + +def _get_backend(backend): + if backend is None: + return default_backend() + else: + return backend diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/interfaces.py b/contrib/python/cryptography/cryptography/hazmat/backends/interfaces.py index 2b534b8b2e..418980a34e 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/interfaces.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/interfaces.py @@ -57,7 +57,7 @@ class HMACBackend(object): @abc.abstractmethod def create_hmac_ctx(self, key, algorithm): """ - Create a context for calculating a message authentication code. + Create a context for calculating a message authentication code. """ @@ -72,7 +72,7 @@ class CMACBackend(object): @abc.abstractmethod def create_cmac_ctx(self, algorithm): """ - Create a context for calculating a message authentication code. + Create a context for calculating a message authentication code. """ @@ -86,9 +86,9 @@ class PBKDF2HMACBackend(object): """ @abc.abstractmethod - def derive_pbkdf2_hmac( - self, algorithm, length, salt, iterations, key_material - ): + def derive_pbkdf2_hmac( + self, algorithm, length, salt, iterations, key_material + ): """ Return length bytes derived from provided PBKDF2 parameters. """ @@ -244,13 +244,13 @@ class PEMSerializationBackend(object): Loads a public key from PEM encoded data. """ - @abc.abstractmethod - def load_pem_parameters(self, data): - """ - Load encryption parameters from PEM encoded data. - """ + @abc.abstractmethod + def load_pem_parameters(self, data): + """ + Load encryption parameters from PEM encoded data. + """ + - @six.add_metaclass(abc.ABCMeta) class DERSerializationBackend(object): @abc.abstractmethod @@ -266,13 +266,13 @@ class DERSerializationBackend(object): Loads a public key from DER encoded data. """ - @abc.abstractmethod - def load_der_parameters(self, data): - """ - Load encryption parameters from DER encoded data. - """ + @abc.abstractmethod + def load_der_parameters(self, data): + """ + Load encryption parameters from DER encoded data. + """ + - @six.add_metaclass(abc.ABCMeta) class X509Backend(object): @abc.abstractmethod @@ -335,10 +335,10 @@ class X509Backend(object): @six.add_metaclass(abc.ABCMeta) class DHBackend(object): @abc.abstractmethod - def generate_dh_parameters(self, generator, key_size): + def generate_dh_parameters(self, generator, key_size): """ Generate a DHParameters instance with a modulus of key_size bits. - Using the given generator. Often 2 or 5. + Using the given generator. Often 2 or 5. """ @abc.abstractmethod @@ -349,41 +349,41 @@ class DHBackend(object): """ @abc.abstractmethod - def generate_dh_private_key_and_parameters(self, generator, key_size): + def generate_dh_private_key_and_parameters(self, generator, key_size): """ Generate a DHPrivateKey instance using key size only. - Using the given generator. Often 2 or 5. + Using the given generator. Often 2 or 5. """ @abc.abstractmethod def load_dh_private_numbers(self, numbers): """ - Load a DHPrivateKey from DHPrivateNumbers + Load a DHPrivateKey from DHPrivateNumbers """ @abc.abstractmethod def load_dh_public_numbers(self, numbers): """ - Load a DHPublicKey from DHPublicNumbers. + Load a DHPublicKey from DHPublicNumbers. """ @abc.abstractmethod def load_dh_parameter_numbers(self, numbers): """ - Load DHParameters from DHParameterNumbers. + Load DHParameters from DHParameterNumbers. """ @abc.abstractmethod - def dh_parameters_supported(self, p, g, q=None): + def dh_parameters_supported(self, p, g, q=None): """ - Returns whether the backend supports DH with these parameter values. + Returns whether the backend supports DH with these parameter values. """ @abc.abstractmethod - def dh_x942_serialization_supported(self): + def dh_x942_serialization_supported(self): """ - Returns True if the backend supports the serialization of DH objects - with subgroup order (q). + Returns True if the backend supports the serialization of DH objects + with subgroup order (q). """ diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/aead.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/aead.py index 74f8948ac4..4494916852 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/aead.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/aead.py @@ -1,166 +1,166 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from cryptography.exceptions import InvalidTag - - -_ENCRYPT = 1 -_DECRYPT = 0 - - -def _aead_cipher_name(cipher): - from cryptography.hazmat.primitives.ciphers.aead import ( - AESCCM, - AESGCM, - ChaCha20Poly1305, - ) - - if isinstance(cipher, ChaCha20Poly1305): - return b"chacha20-poly1305" - elif isinstance(cipher, AESCCM): - return "aes-{}-ccm".format(len(cipher._key) * 8).encode("ascii") - else: - assert isinstance(cipher, AESGCM) - return "aes-{}-gcm".format(len(cipher._key) * 8).encode("ascii") - - -def _aead_setup(backend, cipher_name, key, nonce, tag, tag_len, operation): - evp_cipher = backend._lib.EVP_get_cipherbyname(cipher_name) - backend.openssl_assert(evp_cipher != backend._ffi.NULL) - ctx = backend._lib.EVP_CIPHER_CTX_new() - ctx = backend._ffi.gc(ctx, backend._lib.EVP_CIPHER_CTX_free) - res = backend._lib.EVP_CipherInit_ex( - ctx, - evp_cipher, - backend._ffi.NULL, - backend._ffi.NULL, - backend._ffi.NULL, - int(operation == _ENCRYPT), - ) - backend.openssl_assert(res != 0) - res = backend._lib.EVP_CIPHER_CTX_set_key_length(ctx, len(key)) - backend.openssl_assert(res != 0) - res = backend._lib.EVP_CIPHER_CTX_ctrl( - ctx, - backend._lib.EVP_CTRL_AEAD_SET_IVLEN, - len(nonce), - backend._ffi.NULL, - ) - backend.openssl_assert(res != 0) - if operation == _DECRYPT: - res = backend._lib.EVP_CIPHER_CTX_ctrl( - ctx, backend._lib.EVP_CTRL_AEAD_SET_TAG, len(tag), tag - ) - backend.openssl_assert(res != 0) - elif cipher_name.endswith(b"-ccm"): - res = backend._lib.EVP_CIPHER_CTX_ctrl( - ctx, backend._lib.EVP_CTRL_AEAD_SET_TAG, tag_len, backend._ffi.NULL - ) - backend.openssl_assert(res != 0) - - nonce_ptr = backend._ffi.from_buffer(nonce) - key_ptr = backend._ffi.from_buffer(key) - res = backend._lib.EVP_CipherInit_ex( - ctx, - backend._ffi.NULL, - backend._ffi.NULL, - key_ptr, - nonce_ptr, - int(operation == _ENCRYPT), - ) - backend.openssl_assert(res != 0) - return ctx - - -def _set_length(backend, ctx, data_len): - intptr = backend._ffi.new("int *") - res = backend._lib.EVP_CipherUpdate( - ctx, backend._ffi.NULL, intptr, backend._ffi.NULL, data_len - ) - backend.openssl_assert(res != 0) - - -def _process_aad(backend, ctx, associated_data): - outlen = backend._ffi.new("int *") - res = backend._lib.EVP_CipherUpdate( - ctx, backend._ffi.NULL, outlen, associated_data, len(associated_data) - ) - backend.openssl_assert(res != 0) - - -def _process_data(backend, ctx, data): - outlen = backend._ffi.new("int *") - buf = backend._ffi.new("unsigned char[]", len(data)) - res = backend._lib.EVP_CipherUpdate(ctx, buf, outlen, data, len(data)) - backend.openssl_assert(res != 0) - return backend._ffi.buffer(buf, outlen[0])[:] - - -def _encrypt(backend, cipher, nonce, data, associated_data, tag_length): - from cryptography.hazmat.primitives.ciphers.aead import AESCCM - - cipher_name = _aead_cipher_name(cipher) - ctx = _aead_setup( - backend, cipher_name, cipher._key, nonce, None, tag_length, _ENCRYPT - ) - # CCM requires us to pass the length of the data before processing anything - # However calling this with any other AEAD results in an error - if isinstance(cipher, AESCCM): - _set_length(backend, ctx, len(data)) - - _process_aad(backend, ctx, associated_data) - processed_data = _process_data(backend, ctx, data) - outlen = backend._ffi.new("int *") - res = backend._lib.EVP_CipherFinal_ex(ctx, backend._ffi.NULL, outlen) - backend.openssl_assert(res != 0) - backend.openssl_assert(outlen[0] == 0) - tag_buf = backend._ffi.new("unsigned char[]", tag_length) - res = backend._lib.EVP_CIPHER_CTX_ctrl( - ctx, backend._lib.EVP_CTRL_AEAD_GET_TAG, tag_length, tag_buf - ) - backend.openssl_assert(res != 0) - tag = backend._ffi.buffer(tag_buf)[:] - - return processed_data + tag - - -def _decrypt(backend, cipher, nonce, data, associated_data, tag_length): - from cryptography.hazmat.primitives.ciphers.aead import AESCCM - - if len(data) < tag_length: - raise InvalidTag - tag = data[-tag_length:] - data = data[:-tag_length] - cipher_name = _aead_cipher_name(cipher) - ctx = _aead_setup( - backend, cipher_name, cipher._key, nonce, tag, tag_length, _DECRYPT - ) - # CCM requires us to pass the length of the data before processing anything - # However calling this with any other AEAD results in an error - if isinstance(cipher, AESCCM): - _set_length(backend, ctx, len(data)) - - _process_aad(backend, ctx, associated_data) - # CCM has a different error path if the tag doesn't match. Errors are - # raised in Update and Final is irrelevant. - if isinstance(cipher, AESCCM): - outlen = backend._ffi.new("int *") - buf = backend._ffi.new("unsigned char[]", len(data)) - res = backend._lib.EVP_CipherUpdate(ctx, buf, outlen, data, len(data)) - if res != 1: - backend._consume_errors() - raise InvalidTag - - processed_data = backend._ffi.buffer(buf, outlen[0])[:] - else: - processed_data = _process_data(backend, ctx, data) - outlen = backend._ffi.new("int *") - res = backend._lib.EVP_CipherFinal_ex(ctx, backend._ffi.NULL, outlen) - if res == 0: - backend._consume_errors() - raise InvalidTag - - return processed_data +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from cryptography.exceptions import InvalidTag + + +_ENCRYPT = 1 +_DECRYPT = 0 + + +def _aead_cipher_name(cipher): + from cryptography.hazmat.primitives.ciphers.aead import ( + AESCCM, + AESGCM, + ChaCha20Poly1305, + ) + + if isinstance(cipher, ChaCha20Poly1305): + return b"chacha20-poly1305" + elif isinstance(cipher, AESCCM): + return "aes-{}-ccm".format(len(cipher._key) * 8).encode("ascii") + else: + assert isinstance(cipher, AESGCM) + return "aes-{}-gcm".format(len(cipher._key) * 8).encode("ascii") + + +def _aead_setup(backend, cipher_name, key, nonce, tag, tag_len, operation): + evp_cipher = backend._lib.EVP_get_cipherbyname(cipher_name) + backend.openssl_assert(evp_cipher != backend._ffi.NULL) + ctx = backend._lib.EVP_CIPHER_CTX_new() + ctx = backend._ffi.gc(ctx, backend._lib.EVP_CIPHER_CTX_free) + res = backend._lib.EVP_CipherInit_ex( + ctx, + evp_cipher, + backend._ffi.NULL, + backend._ffi.NULL, + backend._ffi.NULL, + int(operation == _ENCRYPT), + ) + backend.openssl_assert(res != 0) + res = backend._lib.EVP_CIPHER_CTX_set_key_length(ctx, len(key)) + backend.openssl_assert(res != 0) + res = backend._lib.EVP_CIPHER_CTX_ctrl( + ctx, + backend._lib.EVP_CTRL_AEAD_SET_IVLEN, + len(nonce), + backend._ffi.NULL, + ) + backend.openssl_assert(res != 0) + if operation == _DECRYPT: + res = backend._lib.EVP_CIPHER_CTX_ctrl( + ctx, backend._lib.EVP_CTRL_AEAD_SET_TAG, len(tag), tag + ) + backend.openssl_assert(res != 0) + elif cipher_name.endswith(b"-ccm"): + res = backend._lib.EVP_CIPHER_CTX_ctrl( + ctx, backend._lib.EVP_CTRL_AEAD_SET_TAG, tag_len, backend._ffi.NULL + ) + backend.openssl_assert(res != 0) + + nonce_ptr = backend._ffi.from_buffer(nonce) + key_ptr = backend._ffi.from_buffer(key) + res = backend._lib.EVP_CipherInit_ex( + ctx, + backend._ffi.NULL, + backend._ffi.NULL, + key_ptr, + nonce_ptr, + int(operation == _ENCRYPT), + ) + backend.openssl_assert(res != 0) + return ctx + + +def _set_length(backend, ctx, data_len): + intptr = backend._ffi.new("int *") + res = backend._lib.EVP_CipherUpdate( + ctx, backend._ffi.NULL, intptr, backend._ffi.NULL, data_len + ) + backend.openssl_assert(res != 0) + + +def _process_aad(backend, ctx, associated_data): + outlen = backend._ffi.new("int *") + res = backend._lib.EVP_CipherUpdate( + ctx, backend._ffi.NULL, outlen, associated_data, len(associated_data) + ) + backend.openssl_assert(res != 0) + + +def _process_data(backend, ctx, data): + outlen = backend._ffi.new("int *") + buf = backend._ffi.new("unsigned char[]", len(data)) + res = backend._lib.EVP_CipherUpdate(ctx, buf, outlen, data, len(data)) + backend.openssl_assert(res != 0) + return backend._ffi.buffer(buf, outlen[0])[:] + + +def _encrypt(backend, cipher, nonce, data, associated_data, tag_length): + from cryptography.hazmat.primitives.ciphers.aead import AESCCM + + cipher_name = _aead_cipher_name(cipher) + ctx = _aead_setup( + backend, cipher_name, cipher._key, nonce, None, tag_length, _ENCRYPT + ) + # CCM requires us to pass the length of the data before processing anything + # However calling this with any other AEAD results in an error + if isinstance(cipher, AESCCM): + _set_length(backend, ctx, len(data)) + + _process_aad(backend, ctx, associated_data) + processed_data = _process_data(backend, ctx, data) + outlen = backend._ffi.new("int *") + res = backend._lib.EVP_CipherFinal_ex(ctx, backend._ffi.NULL, outlen) + backend.openssl_assert(res != 0) + backend.openssl_assert(outlen[0] == 0) + tag_buf = backend._ffi.new("unsigned char[]", tag_length) + res = backend._lib.EVP_CIPHER_CTX_ctrl( + ctx, backend._lib.EVP_CTRL_AEAD_GET_TAG, tag_length, tag_buf + ) + backend.openssl_assert(res != 0) + tag = backend._ffi.buffer(tag_buf)[:] + + return processed_data + tag + + +def _decrypt(backend, cipher, nonce, data, associated_data, tag_length): + from cryptography.hazmat.primitives.ciphers.aead import AESCCM + + if len(data) < tag_length: + raise InvalidTag + tag = data[-tag_length:] + data = data[:-tag_length] + cipher_name = _aead_cipher_name(cipher) + ctx = _aead_setup( + backend, cipher_name, cipher._key, nonce, tag, tag_length, _DECRYPT + ) + # CCM requires us to pass the length of the data before processing anything + # However calling this with any other AEAD results in an error + if isinstance(cipher, AESCCM): + _set_length(backend, ctx, len(data)) + + _process_aad(backend, ctx, associated_data) + # CCM has a different error path if the tag doesn't match. Errors are + # raised in Update and Final is irrelevant. + if isinstance(cipher, AESCCM): + outlen = backend._ffi.new("int *") + buf = backend._ffi.new("unsigned char[]", len(data)) + res = backend._lib.EVP_CipherUpdate(ctx, buf, outlen, data, len(data)) + if res != 1: + backend._consume_errors() + raise InvalidTag + + processed_data = backend._ffi.buffer(buf, outlen[0])[:] + else: + processed_data = _process_data(backend, ctx, data) + outlen = backend._ffi.new("int *") + res = backend._lib.EVP_CipherFinal_ex(ctx, backend._ffi.NULL, outlen) + if res == 0: + backend._consume_errors() + raise InvalidTag + + return processed_data diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/backend.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/backend.py index a9cbcdb329..45d4a1a1ee 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/backend.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/backend.py @@ -5,169 +5,169 @@ from __future__ import absolute_import, division, print_function import collections -import contextlib +import contextlib import itertools -import warnings +import warnings from contextlib import contextmanager import six -from six.moves import range +from six.moves import range from cryptography import utils, x509 from cryptography.exceptions import UnsupportedAlgorithm, _Reasons -from cryptography.hazmat._der import ( - INTEGER, - NULL, - SEQUENCE, - encode_der, - encode_der_integer, -) +from cryptography.hazmat._der import ( + INTEGER, + NULL, + SEQUENCE, + encode_der, + encode_der_integer, +) from cryptography.hazmat.backends.interfaces import ( - CMACBackend, - CipherBackend, - DERSerializationBackend, - DHBackend, - DSABackend, - EllipticCurveBackend, - HMACBackend, - HashBackend, - PBKDF2HMACBackend, - PEMSerializationBackend, - RSABackend, - ScryptBackend, - X509Backend, + CMACBackend, + CipherBackend, + DERSerializationBackend, + DHBackend, + DSABackend, + EllipticCurveBackend, + HMACBackend, + HashBackend, + PBKDF2HMACBackend, + PEMSerializationBackend, + RSABackend, + ScryptBackend, + X509Backend, +) +from cryptography.hazmat.backends.openssl import aead +from cryptography.hazmat.backends.openssl.ciphers import _CipherContext +from cryptography.hazmat.backends.openssl.cmac import _CMACContext +from cryptography.hazmat.backends.openssl.decode_asn1 import ( + _CRL_ENTRY_REASON_ENUM_TO_CODE, + _CRL_EXTENSION_HANDLERS, + _EXTENSION_HANDLERS_BASE, + _EXTENSION_HANDLERS_SCT, + _OCSP_BASICRESP_EXTENSION_HANDLERS, + _OCSP_REQ_EXTENSION_HANDLERS, + _OCSP_SINGLERESP_EXTENSION_HANDLERS_SCT, + _REVOKED_EXTENSION_HANDLERS, + _X509ExtensionParser, ) -from cryptography.hazmat.backends.openssl import aead -from cryptography.hazmat.backends.openssl.ciphers import _CipherContext -from cryptography.hazmat.backends.openssl.cmac import _CMACContext -from cryptography.hazmat.backends.openssl.decode_asn1 import ( - _CRL_ENTRY_REASON_ENUM_TO_CODE, - _CRL_EXTENSION_HANDLERS, - _EXTENSION_HANDLERS_BASE, - _EXTENSION_HANDLERS_SCT, - _OCSP_BASICRESP_EXTENSION_HANDLERS, - _OCSP_REQ_EXTENSION_HANDLERS, - _OCSP_SINGLERESP_EXTENSION_HANDLERS_SCT, - _REVOKED_EXTENSION_HANDLERS, - _X509ExtensionParser, +from cryptography.hazmat.backends.openssl.dh import ( + _DHParameters, + _DHPrivateKey, + _DHPublicKey, + _dh_params_dup, ) -from cryptography.hazmat.backends.openssl.dh import ( - _DHParameters, - _DHPrivateKey, - _DHPublicKey, - _dh_params_dup, -) from cryptography.hazmat.backends.openssl.dsa import ( - _DSAParameters, - _DSAPrivateKey, - _DSAPublicKey, + _DSAParameters, + _DSAPrivateKey, + _DSAPublicKey, ) from cryptography.hazmat.backends.openssl.ec import ( - _EllipticCurvePrivateKey, - _EllipticCurvePublicKey, + _EllipticCurvePrivateKey, + _EllipticCurvePublicKey, +) +from cryptography.hazmat.backends.openssl.ed25519 import ( + _Ed25519PrivateKey, + _Ed25519PublicKey, +) +from cryptography.hazmat.backends.openssl.ed448 import ( + _ED448_KEY_SIZE, + _Ed448PrivateKey, + _Ed448PublicKey, ) -from cryptography.hazmat.backends.openssl.ed25519 import ( - _Ed25519PrivateKey, - _Ed25519PublicKey, -) -from cryptography.hazmat.backends.openssl.ed448 import ( - _ED448_KEY_SIZE, - _Ed448PrivateKey, - _Ed448PublicKey, -) from cryptography.hazmat.backends.openssl.encode_asn1 import ( _CRL_ENTRY_EXTENSION_ENCODE_HANDLERS, - _CRL_EXTENSION_ENCODE_HANDLERS, - _EXTENSION_ENCODE_HANDLERS, - _OCSP_BASICRESP_EXTENSION_ENCODE_HANDLERS, - _OCSP_REQUEST_EXTENSION_ENCODE_HANDLERS, - _encode_asn1_int_gc, - _encode_asn1_str_gc, - _encode_name_gc, - _txt2obj_gc, + _CRL_EXTENSION_ENCODE_HANDLERS, + _EXTENSION_ENCODE_HANDLERS, + _OCSP_BASICRESP_EXTENSION_ENCODE_HANDLERS, + _OCSP_REQUEST_EXTENSION_ENCODE_HANDLERS, + _encode_asn1_int_gc, + _encode_asn1_str_gc, + _encode_name_gc, + _txt2obj_gc, ) from cryptography.hazmat.backends.openssl.hashes import _HashContext from cryptography.hazmat.backends.openssl.hmac import _HMACContext -from cryptography.hazmat.backends.openssl.ocsp import ( - _OCSPRequest, - _OCSPResponse, -) -from cryptography.hazmat.backends.openssl.poly1305 import ( - _POLY1305_KEY_SIZE, - _Poly1305Context, -) +from cryptography.hazmat.backends.openssl.ocsp import ( + _OCSPRequest, + _OCSPResponse, +) +from cryptography.hazmat.backends.openssl.poly1305 import ( + _POLY1305_KEY_SIZE, + _Poly1305Context, +) from cryptography.hazmat.backends.openssl.rsa import ( - _RSAPrivateKey, - _RSAPublicKey, + _RSAPrivateKey, + _RSAPublicKey, +) +from cryptography.hazmat.backends.openssl.x25519 import ( + _X25519PrivateKey, + _X25519PublicKey, +) +from cryptography.hazmat.backends.openssl.x448 import ( + _X448PrivateKey, + _X448PublicKey, ) -from cryptography.hazmat.backends.openssl.x25519 import ( - _X25519PrivateKey, - _X25519PublicKey, -) -from cryptography.hazmat.backends.openssl.x448 import ( - _X448PrivateKey, - _X448PublicKey, -) from cryptography.hazmat.backends.openssl.x509 import ( - _Certificate, - _CertificateRevocationList, - _CertificateSigningRequest, - _RevokedCertificate, + _Certificate, + _CertificateRevocationList, + _CertificateSigningRequest, + _RevokedCertificate, ) from cryptography.hazmat.bindings.openssl import binding from cryptography.hazmat.primitives import hashes, serialization -from cryptography.hazmat.primitives.asymmetric import ( - dh, - dsa, - ec, - ed25519, - ed448, - rsa, -) +from cryptography.hazmat.primitives.asymmetric import ( + dh, + dsa, + ec, + ed25519, + ed448, + rsa, +) from cryptography.hazmat.primitives.asymmetric.padding import ( - MGF1, - OAEP, - PKCS1v15, - PSS, + MGF1, + OAEP, + PKCS1v15, + PSS, ) from cryptography.hazmat.primitives.ciphers.algorithms import ( - AES, - ARC4, - Blowfish, - CAST5, - Camellia, - ChaCha20, - IDEA, - SEED, - TripleDES, + AES, + ARC4, + Blowfish, + CAST5, + Camellia, + ChaCha20, + IDEA, + SEED, + TripleDES, ) from cryptography.hazmat.primitives.ciphers.modes import ( - CBC, - CFB, - CFB8, - CTR, - ECB, - GCM, - OFB, - XTS, + CBC, + CFB, + CFB8, + CTR, + ECB, + GCM, + OFB, + XTS, ) -from cryptography.hazmat.primitives.kdf import scrypt -from cryptography.hazmat.primitives.serialization import pkcs7, ssh -from cryptography.x509 import ocsp +from cryptography.hazmat.primitives.kdf import scrypt +from cryptography.hazmat.primitives.serialization import pkcs7, ssh +from cryptography.x509 import ocsp _MemoryBIO = collections.namedtuple("_MemoryBIO", ["bio", "char_ptr"]) -# Not actually supported, just used as a marker for some serialization tests. -class _RC2(object): - pass - - +# Not actually supported, just used as a marker for some serialization tests. +class _RC2(object): + pass + + @utils.register_interface(CipherBackend) @utils.register_interface(CMACBackend) @utils.register_interface(DERSerializationBackend) -@utils.register_interface(DHBackend) +@utils.register_interface(DHBackend) @utils.register_interface(DSABackend) @utils.register_interface(EllipticCurveBackend) @utils.register_interface(HashBackend) @@ -183,168 +183,168 @@ class Backend(object): """ OpenSSL API binding interfaces. """ - + name = "openssl" - # FIPS has opinions about acceptable algorithms and key sizes, but the - # disallowed algorithms are still present in OpenSSL. They just error if - # you try to use them. To avoid that we allowlist the algorithms in - # FIPS 140-3. This isn't ideal, but FIPS 140-3 is trash so here we are. - _fips_aead = { - b"aes-128-ccm", - b"aes-192-ccm", - b"aes-256-ccm", - b"aes-128-gcm", - b"aes-192-gcm", - b"aes-256-gcm", - } - _fips_ciphers = (AES, TripleDES) - _fips_hashes = ( - hashes.SHA1, - hashes.SHA224, - hashes.SHA256, - hashes.SHA384, - hashes.SHA512, - hashes.SHA512_224, - hashes.SHA512_256, - hashes.SHA3_224, - hashes.SHA3_256, - hashes.SHA3_384, - hashes.SHA3_512, - hashes.SHAKE128, - hashes.SHAKE256, - ) - _fips_rsa_min_key_size = 2048 - _fips_rsa_min_public_exponent = 65537 - _fips_dsa_min_modulus = 1 << 2048 - _fips_dh_min_key_size = 2048 - _fips_dh_min_modulus = 1 << _fips_dh_min_key_size - + # FIPS has opinions about acceptable algorithms and key sizes, but the + # disallowed algorithms are still present in OpenSSL. They just error if + # you try to use them. To avoid that we allowlist the algorithms in + # FIPS 140-3. This isn't ideal, but FIPS 140-3 is trash so here we are. + _fips_aead = { + b"aes-128-ccm", + b"aes-192-ccm", + b"aes-256-ccm", + b"aes-128-gcm", + b"aes-192-gcm", + b"aes-256-gcm", + } + _fips_ciphers = (AES, TripleDES) + _fips_hashes = ( + hashes.SHA1, + hashes.SHA224, + hashes.SHA256, + hashes.SHA384, + hashes.SHA512, + hashes.SHA512_224, + hashes.SHA512_256, + hashes.SHA3_224, + hashes.SHA3_256, + hashes.SHA3_384, + hashes.SHA3_512, + hashes.SHAKE128, + hashes.SHAKE256, + ) + _fips_rsa_min_key_size = 2048 + _fips_rsa_min_public_exponent = 65537 + _fips_dsa_min_modulus = 1 << 2048 + _fips_dh_min_key_size = 2048 + _fips_dh_min_modulus = 1 << _fips_dh_min_key_size + def __init__(self): self._binding = binding.Binding() self._ffi = self._binding.ffi self._lib = self._binding.lib - self._fips_enabled = self._is_fips_enabled() + self._fips_enabled = self._is_fips_enabled() self._cipher_registry = {} self._register_default_ciphers() - self._register_x509_ext_parsers() - self._register_x509_encoders() - if self._fips_enabled and self._lib.CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE: - warnings.warn( - "OpenSSL FIPS mode is enabled. Can't enable DRBG fork safety.", - UserWarning, - ) - else: - self.activate_osrandom_engine() - self._dh_types = [self._lib.EVP_PKEY_DH] - if self._lib.Cryptography_HAS_EVP_PKEY_DHX: - self._dh_types.append(self._lib.EVP_PKEY_DHX) - - def openssl_assert(self, ok, errors=None): - return binding._openssl_assert(self._lib, ok, errors=errors) - - def _is_fips_enabled(self): - fips_mode = getattr(self._lib, "FIPS_mode", lambda: 0) - mode = fips_mode() - if mode == 0: - # OpenSSL without FIPS pushes an error on the error stack - self._lib.ERR_clear_error() - return bool(mode) - + self._register_x509_ext_parsers() + self._register_x509_encoders() + if self._fips_enabled and self._lib.CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE: + warnings.warn( + "OpenSSL FIPS mode is enabled. Can't enable DRBG fork safety.", + UserWarning, + ) + else: + self.activate_osrandom_engine() + self._dh_types = [self._lib.EVP_PKEY_DH] + if self._lib.Cryptography_HAS_EVP_PKEY_DHX: + self._dh_types.append(self._lib.EVP_PKEY_DHX) + + def openssl_assert(self, ok, errors=None): + return binding._openssl_assert(self._lib, ok, errors=errors) + + def _is_fips_enabled(self): + fips_mode = getattr(self._lib, "FIPS_mode", lambda: 0) + mode = fips_mode() + if mode == 0: + # OpenSSL without FIPS pushes an error on the error stack + self._lib.ERR_clear_error() + return bool(mode) + def activate_builtin_random(self): - if self._lib.CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE: - # Obtain a new structural reference. - e = self._lib.ENGINE_get_default_RAND() - if e != self._ffi.NULL: - self._lib.ENGINE_unregister_RAND(e) - # Reset the RNG to use the built-in. - res = self._lib.RAND_set_rand_method(self._ffi.NULL) - self.openssl_assert(res == 1) - # decrement the structural reference from get_default_RAND - res = self._lib.ENGINE_finish(e) - self.openssl_assert(res == 1) - - @contextlib.contextmanager - def _get_osurandom_engine(self): + if self._lib.CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE: + # Obtain a new structural reference. + e = self._lib.ENGINE_get_default_RAND() + if e != self._ffi.NULL: + self._lib.ENGINE_unregister_RAND(e) + # Reset the RNG to use the built-in. + res = self._lib.RAND_set_rand_method(self._ffi.NULL) + self.openssl_assert(res == 1) + # decrement the structural reference from get_default_RAND + res = self._lib.ENGINE_finish(e) + self.openssl_assert(res == 1) + + @contextlib.contextmanager + def _get_osurandom_engine(self): # Fetches an engine by id and returns it. This creates a structural # reference. - e = self._lib.ENGINE_by_id(self._lib.Cryptography_osrandom_engine_id) + e = self._lib.ENGINE_by_id(self._lib.Cryptography_osrandom_engine_id) self.openssl_assert(e != self._ffi.NULL) # Initialize the engine for use. This adds a functional reference. res = self._lib.ENGINE_init(e) self.openssl_assert(res == 1) - try: - yield e - finally: - # Decrement the structural ref incremented by ENGINE_by_id. - res = self._lib.ENGINE_free(e) - self.openssl_assert(res == 1) - # Decrement the functional ref incremented by ENGINE_init. - res = self._lib.ENGINE_finish(e) - self.openssl_assert(res == 1) - - def activate_osrandom_engine(self): - if self._lib.CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE: - # Unregister and free the current engine. - self.activate_builtin_random() - with self._get_osurandom_engine() as e: - # Set the engine as the default RAND provider. - res = self._lib.ENGINE_set_default_RAND(e) - self.openssl_assert(res == 1) - # Reset the RNG to use the engine - res = self._lib.RAND_set_rand_method(self._ffi.NULL) - self.openssl_assert(res == 1) - - def osrandom_engine_implementation(self): - buf = self._ffi.new("char[]", 64) - with self._get_osurandom_engine() as e: - res = self._lib.ENGINE_ctrl_cmd( - e, b"get_implementation", len(buf), buf, self._ffi.NULL, 0 - ) - self.openssl_assert(res > 0) - return self._ffi.string(buf).decode("ascii") - + try: + yield e + finally: + # Decrement the structural ref incremented by ENGINE_by_id. + res = self._lib.ENGINE_free(e) + self.openssl_assert(res == 1) + # Decrement the functional ref incremented by ENGINE_init. + res = self._lib.ENGINE_finish(e) + self.openssl_assert(res == 1) + + def activate_osrandom_engine(self): + if self._lib.CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE: + # Unregister and free the current engine. + self.activate_builtin_random() + with self._get_osurandom_engine() as e: + # Set the engine as the default RAND provider. + res = self._lib.ENGINE_set_default_RAND(e) + self.openssl_assert(res == 1) + # Reset the RNG to use the engine + res = self._lib.RAND_set_rand_method(self._ffi.NULL) + self.openssl_assert(res == 1) + + def osrandom_engine_implementation(self): + buf = self._ffi.new("char[]", 64) + with self._get_osurandom_engine() as e: + res = self._lib.ENGINE_ctrl_cmd( + e, b"get_implementation", len(buf), buf, self._ffi.NULL, 0 + ) + self.openssl_assert(res > 0) + return self._ffi.string(buf).decode("ascii") + def openssl_version_text(self): """ Friendly string name of the loaded OpenSSL library. This is not necessarily the same version as it was compiled against. - Example: OpenSSL 1.1.1d 10 Sep 2019 + Example: OpenSSL 1.1.1d 10 Sep 2019 """ return self._ffi.string( self._lib.OpenSSL_version(self._lib.OPENSSL_VERSION) ).decode("ascii") - def openssl_version_number(self): - return self._lib.OpenSSL_version_num() - + def openssl_version_number(self): + return self._lib.OpenSSL_version_num() + def create_hmac_ctx(self, key, algorithm): return _HMACContext(self, key, algorithm) - def _evp_md_from_algorithm(self, algorithm): + def _evp_md_from_algorithm(self, algorithm): if algorithm.name == "blake2b" or algorithm.name == "blake2s": - alg = "{}{}".format( + alg = "{}{}".format( algorithm.name, algorithm.digest_size * 8 ).encode("ascii") else: alg = algorithm.name.encode("ascii") - evp_md = self._lib.EVP_get_digestbyname(alg) - return evp_md + evp_md = self._lib.EVP_get_digestbyname(alg) + return evp_md + + def _evp_md_non_null_from_algorithm(self, algorithm): + evp_md = self._evp_md_from_algorithm(algorithm) + self.openssl_assert(evp_md != self._ffi.NULL) + return evp_md - def _evp_md_non_null_from_algorithm(self, algorithm): - evp_md = self._evp_md_from_algorithm(algorithm) - self.openssl_assert(evp_md != self._ffi.NULL) - return evp_md - def hash_supported(self, algorithm): - if self._fips_enabled and not isinstance(algorithm, self._fips_hashes): - return False - - evp_md = self._evp_md_from_algorithm(algorithm) - return evp_md != self._ffi.NULL + if self._fips_enabled and not isinstance(algorithm, self._fips_hashes): + return False + + evp_md = self._evp_md_from_algorithm(algorithm) + return evp_md != self._ffi.NULL def hmac_supported(self, algorithm): return self.hash_supported(algorithm) @@ -353,8 +353,8 @@ class Backend(object): return _HashContext(self, algorithm) def cipher_supported(self, cipher, mode): - if self._fips_enabled and not isinstance(cipher, self._fips_ciphers): - return False + if self._fips_enabled and not isinstance(cipher, self._fips_ciphers): + return False try: adapter = self._cipher_registry[type(cipher), type(mode)] except KeyError: @@ -364,10 +364,10 @@ class Backend(object): def register_cipher_adapter(self, cipher_cls, mode_cls, adapter): if (cipher_cls, mode_cls) in self._cipher_registry: - raise ValueError( - "Duplicate registration for: {} {}.".format( - cipher_cls, mode_cls - ) + raise ValueError( + "Duplicate registration for: {} {}.".format( + cipher_cls, mode_cls + ) ) self._cipher_registry[cipher_cls, mode_cls] = adapter @@ -376,28 +376,28 @@ class Backend(object): self.register_cipher_adapter( AES, mode_cls, - GetCipherByName("{cipher.name}-{cipher.key_size}-{mode.name}"), + GetCipherByName("{cipher.name}-{cipher.key_size}-{mode.name}"), ) for mode_cls in [CBC, CTR, ECB, OFB, CFB]: self.register_cipher_adapter( Camellia, mode_cls, - GetCipherByName("{cipher.name}-{cipher.key_size}-{mode.name}"), + GetCipherByName("{cipher.name}-{cipher.key_size}-{mode.name}"), ) for mode_cls in [CBC, CFB, CFB8, OFB]: self.register_cipher_adapter( - TripleDES, mode_cls, GetCipherByName("des-ede3-{mode.name}") + TripleDES, mode_cls, GetCipherByName("des-ede3-{mode.name}") ) self.register_cipher_adapter( - TripleDES, ECB, GetCipherByName("des-ede3") + TripleDES, ECB, GetCipherByName("des-ede3") ) for mode_cls in [CBC, CFB, OFB, ECB]: self.register_cipher_adapter( - Blowfish, mode_cls, GetCipherByName("bf-{mode.name}") + Blowfish, mode_cls, GetCipherByName("bf-{mode.name}") ) for mode_cls in [CBC, CFB, OFB, ECB]: self.register_cipher_adapter( - SEED, mode_cls, GetCipherByName("seed-{mode.name}") + SEED, mode_cls, GetCipherByName("seed-{mode.name}") ) for cipher_cls, mode_cls in itertools.product( [CAST5, IDEA], @@ -406,108 +406,108 @@ class Backend(object): self.register_cipher_adapter( cipher_cls, mode_cls, - GetCipherByName("{cipher.name}-{mode.name}"), + GetCipherByName("{cipher.name}-{mode.name}"), ) - self.register_cipher_adapter(ARC4, type(None), GetCipherByName("rc4")) - # We don't actually support RC2, this is just used by some tests. - self.register_cipher_adapter(_RC2, type(None), GetCipherByName("rc2")) + self.register_cipher_adapter(ARC4, type(None), GetCipherByName("rc4")) + # We don't actually support RC2, this is just used by some tests. + self.register_cipher_adapter(_RC2, type(None), GetCipherByName("rc2")) self.register_cipher_adapter( - ChaCha20, type(None), GetCipherByName("chacha20") - ) - self.register_cipher_adapter(AES, XTS, _get_xts_cipher) - - def _register_x509_ext_parsers(self): - ext_handlers = _EXTENSION_HANDLERS_BASE.copy() - # All revoked extensions are valid single response extensions, see: - # https://tools.ietf.org/html/rfc6960#section-4.4.5 - singleresp_handlers = _REVOKED_EXTENSION_HANDLERS.copy() - - if self._lib.Cryptography_HAS_SCT: - ext_handlers.update(_EXTENSION_HANDLERS_SCT) - singleresp_handlers.update(_OCSP_SINGLERESP_EXTENSION_HANDLERS_SCT) - - self._certificate_extension_parser = _X509ExtensionParser( - self, - ext_count=self._lib.X509_get_ext_count, - get_ext=self._lib.X509_get_ext, - handlers=ext_handlers, - ) - self._csr_extension_parser = _X509ExtensionParser( - self, - ext_count=self._lib.sk_X509_EXTENSION_num, - get_ext=self._lib.sk_X509_EXTENSION_value, - handlers=ext_handlers, - ) - self._revoked_cert_extension_parser = _X509ExtensionParser( - self, - ext_count=self._lib.X509_REVOKED_get_ext_count, - get_ext=self._lib.X509_REVOKED_get_ext, - handlers=_REVOKED_EXTENSION_HANDLERS, - ) - self._crl_extension_parser = _X509ExtensionParser( - self, - ext_count=self._lib.X509_CRL_get_ext_count, - get_ext=self._lib.X509_CRL_get_ext, - handlers=_CRL_EXTENSION_HANDLERS, - ) - self._ocsp_req_ext_parser = _X509ExtensionParser( - self, - ext_count=self._lib.OCSP_REQUEST_get_ext_count, - get_ext=self._lib.OCSP_REQUEST_get_ext, - handlers=_OCSP_REQ_EXTENSION_HANDLERS, - ) - self._ocsp_basicresp_ext_parser = _X509ExtensionParser( - self, - ext_count=self._lib.OCSP_BASICRESP_get_ext_count, - get_ext=self._lib.OCSP_BASICRESP_get_ext, - handlers=_OCSP_BASICRESP_EXTENSION_HANDLERS, - ) - self._ocsp_singleresp_ext_parser = _X509ExtensionParser( - self, - ext_count=self._lib.OCSP_SINGLERESP_get_ext_count, - get_ext=self._lib.OCSP_SINGLERESP_get_ext, - handlers=singleresp_handlers, - ) - - def _register_x509_encoders(self): - self._extension_encode_handlers = _EXTENSION_ENCODE_HANDLERS.copy() - self._crl_extension_encode_handlers = ( - _CRL_EXTENSION_ENCODE_HANDLERS.copy() - ) - self._crl_entry_extension_encode_handlers = ( - _CRL_ENTRY_EXTENSION_ENCODE_HANDLERS.copy() - ) - self._ocsp_request_extension_encode_handlers = ( - _OCSP_REQUEST_EXTENSION_ENCODE_HANDLERS.copy() - ) - self._ocsp_basicresp_extension_encode_handlers = ( - _OCSP_BASICRESP_EXTENSION_ENCODE_HANDLERS.copy() - ) - + ChaCha20, type(None), GetCipherByName("chacha20") + ) + self.register_cipher_adapter(AES, XTS, _get_xts_cipher) + + def _register_x509_ext_parsers(self): + ext_handlers = _EXTENSION_HANDLERS_BASE.copy() + # All revoked extensions are valid single response extensions, see: + # https://tools.ietf.org/html/rfc6960#section-4.4.5 + singleresp_handlers = _REVOKED_EXTENSION_HANDLERS.copy() + + if self._lib.Cryptography_HAS_SCT: + ext_handlers.update(_EXTENSION_HANDLERS_SCT) + singleresp_handlers.update(_OCSP_SINGLERESP_EXTENSION_HANDLERS_SCT) + + self._certificate_extension_parser = _X509ExtensionParser( + self, + ext_count=self._lib.X509_get_ext_count, + get_ext=self._lib.X509_get_ext, + handlers=ext_handlers, + ) + self._csr_extension_parser = _X509ExtensionParser( + self, + ext_count=self._lib.sk_X509_EXTENSION_num, + get_ext=self._lib.sk_X509_EXTENSION_value, + handlers=ext_handlers, + ) + self._revoked_cert_extension_parser = _X509ExtensionParser( + self, + ext_count=self._lib.X509_REVOKED_get_ext_count, + get_ext=self._lib.X509_REVOKED_get_ext, + handlers=_REVOKED_EXTENSION_HANDLERS, + ) + self._crl_extension_parser = _X509ExtensionParser( + self, + ext_count=self._lib.X509_CRL_get_ext_count, + get_ext=self._lib.X509_CRL_get_ext, + handlers=_CRL_EXTENSION_HANDLERS, + ) + self._ocsp_req_ext_parser = _X509ExtensionParser( + self, + ext_count=self._lib.OCSP_REQUEST_get_ext_count, + get_ext=self._lib.OCSP_REQUEST_get_ext, + handlers=_OCSP_REQ_EXTENSION_HANDLERS, + ) + self._ocsp_basicresp_ext_parser = _X509ExtensionParser( + self, + ext_count=self._lib.OCSP_BASICRESP_get_ext_count, + get_ext=self._lib.OCSP_BASICRESP_get_ext, + handlers=_OCSP_BASICRESP_EXTENSION_HANDLERS, + ) + self._ocsp_singleresp_ext_parser = _X509ExtensionParser( + self, + ext_count=self._lib.OCSP_SINGLERESP_get_ext_count, + get_ext=self._lib.OCSP_SINGLERESP_get_ext, + handlers=singleresp_handlers, + ) + + def _register_x509_encoders(self): + self._extension_encode_handlers = _EXTENSION_ENCODE_HANDLERS.copy() + self._crl_extension_encode_handlers = ( + _CRL_EXTENSION_ENCODE_HANDLERS.copy() + ) + self._crl_entry_extension_encode_handlers = ( + _CRL_ENTRY_EXTENSION_ENCODE_HANDLERS.copy() + ) + self._ocsp_request_extension_encode_handlers = ( + _OCSP_REQUEST_EXTENSION_ENCODE_HANDLERS.copy() + ) + self._ocsp_basicresp_extension_encode_handlers = ( + _OCSP_BASICRESP_EXTENSION_ENCODE_HANDLERS.copy() + ) + def create_symmetric_encryption_ctx(self, cipher, mode): - return _CipherContext(self, cipher, mode, _CipherContext._ENCRYPT) + return _CipherContext(self, cipher, mode, _CipherContext._ENCRYPT) def create_symmetric_decryption_ctx(self, cipher, mode): - return _CipherContext(self, cipher, mode, _CipherContext._DECRYPT) + return _CipherContext(self, cipher, mode, _CipherContext._DECRYPT) def pbkdf2_hmac_supported(self, algorithm): return self.hmac_supported(algorithm) - def derive_pbkdf2_hmac( - self, algorithm, length, salt, iterations, key_material - ): + def derive_pbkdf2_hmac( + self, algorithm, length, salt, iterations, key_material + ): buf = self._ffi.new("unsigned char[]", length) - evp_md = self._evp_md_non_null_from_algorithm(algorithm) - key_material_ptr = self._ffi.from_buffer(key_material) + evp_md = self._evp_md_non_null_from_algorithm(algorithm) + key_material_ptr = self._ffi.from_buffer(key_material) res = self._lib.PKCS5_PBKDF2_HMAC( - key_material_ptr, + key_material_ptr, len(key_material), salt, len(salt), iterations, evp_md, length, - buf, + buf, ) self.openssl_assert(res == 1) return self._ffi.buffer(buf)[:] @@ -515,23 +515,23 @@ class Backend(object): def _consume_errors(self): return binding._consume_errors(self._lib) - def _consume_errors_with_text(self): - return binding._consume_errors_with_text(self._lib) - + def _consume_errors_with_text(self): + return binding._consume_errors_with_text(self._lib) + def _bn_to_int(self, bn): assert bn != self._ffi.NULL - - if not six.PY2: + + if not six.PY2: # Python 3 has constant time from_bytes, so use that. bn_num_bytes = self._lib.BN_num_bytes(bn) bin_ptr = self._ffi.new("unsigned char[]", bn_num_bytes) bin_len = self._lib.BN_bn2bin(bn, bin_ptr) # A zero length means the BN has value 0 self.openssl_assert(bin_len >= 0) - val = int.from_bytes(self._ffi.buffer(bin_ptr)[:bin_len], "big") - if self._lib.BN_is_negative(bn): - val = -val - return val + val = int.from_bytes(self._ffi.buffer(bin_ptr)[:bin_len], "big") + if self._lib.BN_is_negative(bn): + val = -val + return val else: # Under Python 2 the best we can do is hex() hex_cdata = self._lib.BN_bn2hex(bn) @@ -552,7 +552,7 @@ class Backend(object): if bn is None: bn = self._ffi.NULL - if not six.PY2: + if not six.PY2: # Python 3 has constant time to_bytes, so use that. binary = num.to_bytes(int(num.bit_length() / 8.0 + 1), "big") @@ -561,9 +561,9 @@ class Backend(object): return bn_ptr else: - # Under Python 2 the best we can do is hex(), [2:] removes the 0x - # prefix. - hex_num = hex(num).rstrip("L")[2:].encode("ascii") + # Under Python 2 the best we can do is hex(), [2:] removes the 0x + # prefix. + hex_num = hex(num).rstrip("L")[2:].encode("ascii") bn_ptr = self._ffi.new("BIGNUM **") bn_ptr[0] = bn res = self._lib.BN_hex2bn(bn_ptr, hex_num) @@ -590,11 +590,11 @@ class Backend(object): return _RSAPrivateKey(self, rsa_cdata, evp_pkey) def generate_rsa_parameters_supported(self, public_exponent, key_size): - return ( - public_exponent >= 3 - and public_exponent & 1 != 0 - and key_size >= 512 - ) + return ( + public_exponent >= 3 + and public_exponent & 1 != 0 + and key_size >= 512 + ) def load_rsa_private_numbers(self, numbers): rsa._check_private_key_components( @@ -605,7 +605,7 @@ class Backend(object): numbers.dmq1, numbers.iqmp, numbers.public_numbers.e, - numbers.public_numbers.n, + numbers.public_numbers.n, ) rsa_cdata = self._lib.RSA_new() self.openssl_assert(rsa_cdata != self._ffi.NULL) @@ -660,11 +660,11 @@ class Backend(object): The char* is the storage for the BIO and it must stay alive until the BIO is finished with. """ - data_ptr = self._ffi.from_buffer(data) - bio = self._lib.BIO_new_mem_buf(data_ptr, len(data)) + data_ptr = self._ffi.from_buffer(data) + bio = self._lib.BIO_new_mem_buf(data_ptr, len(data)) self.openssl_assert(bio != self._ffi.NULL) - return _MemoryBIO(self._ffi.gc(bio, self._lib.BIO_free), data_ptr) + return _MemoryBIO(self._ffi.gc(bio, self._lib.BIO_free), data_ptr) def _create_mem_bio_gc(self): """ @@ -706,28 +706,28 @@ class Backend(object): self.openssl_assert(dsa_cdata != self._ffi.NULL) dsa_cdata = self._ffi.gc(dsa_cdata, self._lib.DSA_free) return _DSAPrivateKey(self, dsa_cdata, evp_pkey) - elif key_type == self._lib.EVP_PKEY_EC: + elif key_type == self._lib.EVP_PKEY_EC: ec_cdata = self._lib.EVP_PKEY_get1_EC_KEY(evp_pkey) self.openssl_assert(ec_cdata != self._ffi.NULL) ec_cdata = self._ffi.gc(ec_cdata, self._lib.EC_KEY_free) return _EllipticCurvePrivateKey(self, ec_cdata, evp_pkey) - elif key_type in self._dh_types: - dh_cdata = self._lib.EVP_PKEY_get1_DH(evp_pkey) - self.openssl_assert(dh_cdata != self._ffi.NULL) - dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) - return _DHPrivateKey(self, dh_cdata, evp_pkey) - elif key_type == getattr(self._lib, "EVP_PKEY_ED25519", None): - # EVP_PKEY_ED25519 is not present in OpenSSL < 1.1.1 - return _Ed25519PrivateKey(self, evp_pkey) - elif key_type == getattr(self._lib, "EVP_PKEY_X448", None): - # EVP_PKEY_X448 is not present in OpenSSL < 1.1.1 - return _X448PrivateKey(self, evp_pkey) - elif key_type == getattr(self._lib, "EVP_PKEY_X25519", None): - # EVP_PKEY_X25519 is not present in OpenSSL < 1.1.0 - return _X25519PrivateKey(self, evp_pkey) - elif key_type == getattr(self._lib, "EVP_PKEY_ED448", None): - # EVP_PKEY_ED448 is not present in OpenSSL < 1.1.1 - return _Ed448PrivateKey(self, evp_pkey) + elif key_type in self._dh_types: + dh_cdata = self._lib.EVP_PKEY_get1_DH(evp_pkey) + self.openssl_assert(dh_cdata != self._ffi.NULL) + dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) + return _DHPrivateKey(self, dh_cdata, evp_pkey) + elif key_type == getattr(self._lib, "EVP_PKEY_ED25519", None): + # EVP_PKEY_ED25519 is not present in OpenSSL < 1.1.1 + return _Ed25519PrivateKey(self, evp_pkey) + elif key_type == getattr(self._lib, "EVP_PKEY_X448", None): + # EVP_PKEY_X448 is not present in OpenSSL < 1.1.1 + return _X448PrivateKey(self, evp_pkey) + elif key_type == getattr(self._lib, "EVP_PKEY_X25519", None): + # EVP_PKEY_X25519 is not present in OpenSSL < 1.1.0 + return _X25519PrivateKey(self, evp_pkey) + elif key_type == getattr(self._lib, "EVP_PKEY_ED448", None): + # EVP_PKEY_ED448 is not present in OpenSSL < 1.1.1 + return _Ed448PrivateKey(self, evp_pkey) else: raise UnsupportedAlgorithm("Unsupported key type.") @@ -749,42 +749,42 @@ class Backend(object): self.openssl_assert(dsa_cdata != self._ffi.NULL) dsa_cdata = self._ffi.gc(dsa_cdata, self._lib.DSA_free) return _DSAPublicKey(self, dsa_cdata, evp_pkey) - elif key_type == self._lib.EVP_PKEY_EC: + elif key_type == self._lib.EVP_PKEY_EC: ec_cdata = self._lib.EVP_PKEY_get1_EC_KEY(evp_pkey) self.openssl_assert(ec_cdata != self._ffi.NULL) ec_cdata = self._ffi.gc(ec_cdata, self._lib.EC_KEY_free) return _EllipticCurvePublicKey(self, ec_cdata, evp_pkey) - elif key_type in self._dh_types: - dh_cdata = self._lib.EVP_PKEY_get1_DH(evp_pkey) - self.openssl_assert(dh_cdata != self._ffi.NULL) - dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) - return _DHPublicKey(self, dh_cdata, evp_pkey) - elif key_type == getattr(self._lib, "EVP_PKEY_ED25519", None): - # EVP_PKEY_ED25519 is not present in OpenSSL < 1.1.1 - return _Ed25519PublicKey(self, evp_pkey) - elif key_type == getattr(self._lib, "EVP_PKEY_X448", None): - # EVP_PKEY_X448 is not present in OpenSSL < 1.1.1 - return _X448PublicKey(self, evp_pkey) - elif key_type == getattr(self._lib, "EVP_PKEY_X25519", None): - # EVP_PKEY_X25519 is not present in OpenSSL < 1.1.0 - return _X25519PublicKey(self, evp_pkey) - elif key_type == getattr(self._lib, "EVP_PKEY_ED448", None): - # EVP_PKEY_X25519 is not present in OpenSSL < 1.1.1 - return _Ed448PublicKey(self, evp_pkey) + elif key_type in self._dh_types: + dh_cdata = self._lib.EVP_PKEY_get1_DH(evp_pkey) + self.openssl_assert(dh_cdata != self._ffi.NULL) + dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) + return _DHPublicKey(self, dh_cdata, evp_pkey) + elif key_type == getattr(self._lib, "EVP_PKEY_ED25519", None): + # EVP_PKEY_ED25519 is not present in OpenSSL < 1.1.1 + return _Ed25519PublicKey(self, evp_pkey) + elif key_type == getattr(self._lib, "EVP_PKEY_X448", None): + # EVP_PKEY_X448 is not present in OpenSSL < 1.1.1 + return _X448PublicKey(self, evp_pkey) + elif key_type == getattr(self._lib, "EVP_PKEY_X25519", None): + # EVP_PKEY_X25519 is not present in OpenSSL < 1.1.0 + return _X25519PublicKey(self, evp_pkey) + elif key_type == getattr(self._lib, "EVP_PKEY_ED448", None): + # EVP_PKEY_X25519 is not present in OpenSSL < 1.1.1 + return _Ed448PublicKey(self, evp_pkey) else: raise UnsupportedAlgorithm("Unsupported key type.") def _oaep_hash_supported(self, algorithm): if self._lib.Cryptography_HAS_RSA_OAEP_MD: return isinstance( - algorithm, - ( + algorithm, + ( hashes.SHA1, hashes.SHA224, hashes.SHA256, hashes.SHA384, hashes.SHA512, - ), + ), ) else: return isinstance(algorithm, hashes.SHA1) @@ -793,37 +793,37 @@ class Backend(object): if isinstance(padding, PKCS1v15): return True elif isinstance(padding, PSS) and isinstance(padding._mgf, MGF1): - return self.hash_supported(padding._mgf._algorithm) + return self.hash_supported(padding._mgf._algorithm) elif isinstance(padding, OAEP) and isinstance(padding._mgf, MGF1): return ( - self._oaep_hash_supported(padding._mgf._algorithm) - and self._oaep_hash_supported(padding._algorithm) - and ( - (padding._label is None or len(padding._label) == 0) - or self._lib.Cryptography_HAS_RSA_OAEP_LABEL == 1 - ) + self._oaep_hash_supported(padding._mgf._algorithm) + and self._oaep_hash_supported(padding._algorithm) + and ( + (padding._label is None or len(padding._label) == 0) + or self._lib.Cryptography_HAS_RSA_OAEP_LABEL == 1 + ) ) else: return False def generate_dsa_parameters(self, key_size): - if key_size not in (1024, 2048, 3072, 4096): - raise ValueError( - "Key size must be 1024, 2048, 3072, or 4096 bits." - ) + if key_size not in (1024, 2048, 3072, 4096): + raise ValueError( + "Key size must be 1024, 2048, 3072, or 4096 bits." + ) ctx = self._lib.DSA_new() self.openssl_assert(ctx != self._ffi.NULL) ctx = self._ffi.gc(ctx, self._lib.DSA_free) res = self._lib.DSA_generate_parameters_ex( - ctx, - key_size, - self._ffi.NULL, - 0, - self._ffi.NULL, - self._ffi.NULL, - self._ffi.NULL, + ctx, + key_size, + self._ffi.NULL, + 0, + self._ffi.NULL, + self._ffi.NULL, + self._ffi.NULL, ) self.openssl_assert(res == 1) @@ -912,44 +912,44 @@ class Backend(object): return True def cmac_algorithm_supported(self, algorithm): - return self.cipher_supported( - algorithm, CBC(b"\x00" * algorithm.block_size) + return self.cipher_supported( + algorithm, CBC(b"\x00" * algorithm.block_size) ) def create_cmac_ctx(self, algorithm): return _CMACContext(self, algorithm) - def _x509_check_signature_params(self, private_key, algorithm): - if isinstance( - private_key, (ed25519.Ed25519PrivateKey, ed448.Ed448PrivateKey) - ): - if algorithm is not None: - raise ValueError( - "algorithm must be None when signing via ed25519 or ed448" - ) - elif not isinstance( - private_key, - (rsa.RSAPrivateKey, dsa.DSAPrivateKey, ec.EllipticCurvePrivateKey), - ): - raise TypeError( - "Key must be an rsa, dsa, ec, ed25519, or ed448 private key." - ) - elif not isinstance(algorithm, hashes.HashAlgorithm): - raise TypeError("Algorithm must be a registered hash algorithm.") - elif isinstance(algorithm, hashes.MD5) and not isinstance( - private_key, rsa.RSAPrivateKey - ): - raise ValueError( - "MD5 hash algorithm is only supported with RSA keys" - ) - - def create_x509_csr(self, builder, private_key, algorithm): - if not isinstance(builder, x509.CertificateSigningRequestBuilder): - raise TypeError("Builder type mismatch.") - self._x509_check_signature_params(private_key, algorithm) - + def _x509_check_signature_params(self, private_key, algorithm): + if isinstance( + private_key, (ed25519.Ed25519PrivateKey, ed448.Ed448PrivateKey) + ): + if algorithm is not None: + raise ValueError( + "algorithm must be None when signing via ed25519 or ed448" + ) + elif not isinstance( + private_key, + (rsa.RSAPrivateKey, dsa.DSAPrivateKey, ec.EllipticCurvePrivateKey), + ): + raise TypeError( + "Key must be an rsa, dsa, ec, ed25519, or ed448 private key." + ) + elif not isinstance(algorithm, hashes.HashAlgorithm): + raise TypeError("Algorithm must be a registered hash algorithm.") + elif isinstance(algorithm, hashes.MD5) and not isinstance( + private_key, rsa.RSAPrivateKey + ): + raise ValueError( + "MD5 hash algorithm is only supported with RSA keys" + ) + + def create_x509_csr(self, builder, private_key, algorithm): + if not isinstance(builder, x509.CertificateSigningRequestBuilder): + raise TypeError("Builder type mismatch.") + self._x509_check_signature_params(private_key, algorithm) + # Resolve the signature algorithm. - evp_md = self._evp_md_x509_null_if_eddsa(private_key, algorithm) + evp_md = self._evp_md_x509_null_if_eddsa(private_key, algorithm) # Create an empty request. x509_req = self._lib.X509_REQ_new() @@ -968,64 +968,64 @@ class Backend(object): # Set subject public key. public_key = private_key.public_key() - res = self._lib.X509_REQ_set_pubkey(x509_req, public_key._evp_pkey) + res = self._lib.X509_REQ_set_pubkey(x509_req, public_key._evp_pkey) self.openssl_assert(res == 1) # Add extensions. sk_extension = self._lib.sk_X509_EXTENSION_new_null() self.openssl_assert(sk_extension != self._ffi.NULL) sk_extension = self._ffi.gc( - sk_extension, - lambda x: self._lib.sk_X509_EXTENSION_pop_free( - x, - self._ffi.addressof( - self._lib._original_lib, "X509_EXTENSION_free" - ), - ), - ) - # Don't GC individual extensions because the memory is owned by - # sk_extensions and will be freed along with it. + sk_extension, + lambda x: self._lib.sk_X509_EXTENSION_pop_free( + x, + self._ffi.addressof( + self._lib._original_lib, "X509_EXTENSION_free" + ), + ), + ) + # Don't GC individual extensions because the memory is owned by + # sk_extensions and will be freed along with it. self._create_x509_extensions( extensions=builder._extensions, - handlers=self._extension_encode_handlers, + handlers=self._extension_encode_handlers, x509_obj=sk_extension, add_func=self._lib.sk_X509_EXTENSION_insert, - gc=False, + gc=False, ) res = self._lib.X509_REQ_add_extensions(x509_req, sk_extension) self.openssl_assert(res == 1) - # Add attributes (all bytes encoded as ASN1 UTF8_STRING) - for attr_oid, attr_val in builder._attributes: - obj = _txt2obj_gc(self, attr_oid.dotted_string) - res = self._lib.X509_REQ_add1_attr_by_OBJ( - x509_req, - obj, - x509.name._ASN1Type.UTF8String.value, - attr_val, - len(attr_val), - ) - self.openssl_assert(res == 1) - + # Add attributes (all bytes encoded as ASN1 UTF8_STRING) + for attr_oid, attr_val in builder._attributes: + obj = _txt2obj_gc(self, attr_oid.dotted_string) + res = self._lib.X509_REQ_add1_attr_by_OBJ( + x509_req, + obj, + x509.name._ASN1Type.UTF8String.value, + attr_val, + len(attr_val), + ) + self.openssl_assert(res == 1) + # Sign the request using the requester's private key. - res = self._lib.X509_REQ_sign(x509_req, private_key._evp_pkey, evp_md) + res = self._lib.X509_REQ_sign(x509_req, private_key._evp_pkey, evp_md) if res == 0: - errors = self._consume_errors_with_text() - raise ValueError("Signing failed", errors) - + errors = self._consume_errors_with_text() + raise ValueError("Signing failed", errors) + return _CertificateSigningRequest(self, x509_req) def create_x509_certificate(self, builder, private_key, algorithm): if not isinstance(builder, x509.CertificateBuilder): - raise TypeError("Builder type mismatch.") - self._x509_check_signature_params(private_key, algorithm) + raise TypeError("Builder type mismatch.") + self._x509_check_signature_params(private_key, algorithm) # Resolve the signature algorithm. - evp_md = self._evp_md_x509_null_if_eddsa(private_key, algorithm) + evp_md = self._evp_md_x509_null_if_eddsa(private_key, algorithm) # Create an empty certificate. x509_cert = self._lib.X509_new() - x509_cert = self._ffi.gc(x509_cert, self._lib.X509_free) + x509_cert = self._ffi.gc(x509_cert, self._lib.X509_free) # Set the x509 version. res = self._lib.X509_set_version(x509_cert, builder._version.value) @@ -1049,22 +1049,22 @@ class Backend(object): self.openssl_assert(res == 1) # Set the "not before" time. - self._set_asn1_time( - self._lib.X509_getm_notBefore(x509_cert), builder._not_valid_before + self._set_asn1_time( + self._lib.X509_getm_notBefore(x509_cert), builder._not_valid_before ) # Set the "not after" time. - self._set_asn1_time( - self._lib.X509_getm_notAfter(x509_cert), builder._not_valid_after + self._set_asn1_time( + self._lib.X509_getm_notAfter(x509_cert), builder._not_valid_after ) # Add extensions. self._create_x509_extensions( extensions=builder._extensions, - handlers=self._extension_encode_handlers, + handlers=self._extension_encode_handlers, x509_obj=x509_cert, add_func=self._lib.X509_add_ext, - gc=True, + gc=True, ) # Set the issuer name. @@ -1074,47 +1074,47 @@ class Backend(object): self.openssl_assert(res == 1) # Sign the certificate with the issuer's private key. - res = self._lib.X509_sign(x509_cert, private_key._evp_pkey, evp_md) + res = self._lib.X509_sign(x509_cert, private_key._evp_pkey, evp_md) if res == 0: - errors = self._consume_errors_with_text() - raise ValueError("Signing failed", errors) + errors = self._consume_errors_with_text() + raise ValueError("Signing failed", errors) return _Certificate(self, x509_cert) - def _evp_md_x509_null_if_eddsa(self, private_key, algorithm): - if isinstance( - private_key, (ed25519.Ed25519PrivateKey, ed448.Ed448PrivateKey) - ): - # OpenSSL requires us to pass NULL for EVP_MD for ed25519/ed448 - return self._ffi.NULL - else: - return self._evp_md_non_null_from_algorithm(algorithm) - - def _set_asn1_time(self, asn1_time, time): - if time.year >= 2050: - asn1_str = time.strftime("%Y%m%d%H%M%SZ").encode("ascii") - else: - asn1_str = time.strftime("%y%m%d%H%M%SZ").encode("ascii") - res = self._lib.ASN1_TIME_set_string(asn1_time, asn1_str) - self.openssl_assert(res == 1) - - def _create_asn1_time(self, time): - asn1_time = self._lib.ASN1_TIME_new() - self.openssl_assert(asn1_time != self._ffi.NULL) - asn1_time = self._ffi.gc(asn1_time, self._lib.ASN1_TIME_free) - self._set_asn1_time(asn1_time, time) - return asn1_time - + def _evp_md_x509_null_if_eddsa(self, private_key, algorithm): + if isinstance( + private_key, (ed25519.Ed25519PrivateKey, ed448.Ed448PrivateKey) + ): + # OpenSSL requires us to pass NULL for EVP_MD for ed25519/ed448 + return self._ffi.NULL + else: + return self._evp_md_non_null_from_algorithm(algorithm) + + def _set_asn1_time(self, asn1_time, time): + if time.year >= 2050: + asn1_str = time.strftime("%Y%m%d%H%M%SZ").encode("ascii") + else: + asn1_str = time.strftime("%y%m%d%H%M%SZ").encode("ascii") + res = self._lib.ASN1_TIME_set_string(asn1_time, asn1_str) + self.openssl_assert(res == 1) + + def _create_asn1_time(self, time): + asn1_time = self._lib.ASN1_TIME_new() + self.openssl_assert(asn1_time != self._ffi.NULL) + asn1_time = self._ffi.gc(asn1_time, self._lib.ASN1_TIME_free) + self._set_asn1_time(asn1_time, time) + return asn1_time + def create_x509_crl(self, builder, private_key, algorithm): if not isinstance(builder, x509.CertificateRevocationListBuilder): - raise TypeError("Builder type mismatch.") - self._x509_check_signature_params(private_key, algorithm) + raise TypeError("Builder type mismatch.") + self._x509_check_signature_params(private_key, algorithm) - evp_md = self._evp_md_x509_null_if_eddsa(private_key, algorithm) + evp_md = self._evp_md_x509_null_if_eddsa(private_key, algorithm) # Create an empty CRL. x509_crl = self._lib.X509_CRL_new() - x509_crl = self._ffi.gc(x509_crl, self._lib.X509_CRL_free) + x509_crl = self._ffi.gc(x509_crl, self._lib.X509_CRL_free) # Set the x509 CRL version. We only support v2 (integer value 1). res = self._lib.X509_CRL_set_version(x509_crl, 1) @@ -1127,45 +1127,45 @@ class Backend(object): self.openssl_assert(res == 1) # Set the last update time. - last_update = self._create_asn1_time(builder._last_update) + last_update = self._create_asn1_time(builder._last_update) res = self._lib.X509_CRL_set_lastUpdate(x509_crl, last_update) self.openssl_assert(res == 1) # Set the next update time. - next_update = self._create_asn1_time(builder._next_update) + next_update = self._create_asn1_time(builder._next_update) res = self._lib.X509_CRL_set_nextUpdate(x509_crl, next_update) self.openssl_assert(res == 1) # Add extensions. self._create_x509_extensions( extensions=builder._extensions, - handlers=self._crl_extension_encode_handlers, + handlers=self._crl_extension_encode_handlers, x509_obj=x509_crl, add_func=self._lib.X509_CRL_add_ext, - gc=True, + gc=True, ) # add revoked certificates for revoked_cert in builder._revoked_certificates: # Duplicating because the X509_CRL takes ownership and will free # this memory when X509_CRL_free is called. - revoked = self._lib.X509_REVOKED_dup(revoked_cert._x509_revoked) + revoked = self._lib.X509_REVOKED_dup(revoked_cert._x509_revoked) self.openssl_assert(revoked != self._ffi.NULL) res = self._lib.X509_CRL_add0_revoked(x509_crl, revoked) self.openssl_assert(res == 1) - res = self._lib.X509_CRL_sign(x509_crl, private_key._evp_pkey, evp_md) + res = self._lib.X509_CRL_sign(x509_crl, private_key._evp_pkey, evp_md) if res == 0: - errors = self._consume_errors_with_text() - raise ValueError("Signing failed", errors) + errors = self._consume_errors_with_text() + raise ValueError("Signing failed", errors) return _CertificateRevocationList(self, x509_crl) - def _create_x509_extensions( - self, extensions, handlers, x509_obj, add_func, gc - ): + def _create_x509_extensions( + self, extensions, handlers, x509_obj, add_func, gc + ): for i, extension in enumerate(extensions): - x509_extension = self._create_x509_extension(handlers, extension) + x509_extension = self._create_x509_extension(handlers, extension) self.openssl_assert(x509_extension != self._ffi.NULL) if gc: @@ -1175,49 +1175,49 @@ class Backend(object): res = add_func(x509_obj, x509_extension, i) self.openssl_assert(res >= 1) - def _create_raw_x509_extension(self, extension, value): - obj = _txt2obj_gc(self, extension.oid.dotted_string) - return self._lib.X509_EXTENSION_create_by_OBJ( - self._ffi.NULL, obj, 1 if extension.critical else 0, value - ) - + def _create_raw_x509_extension(self, extension, value): + obj = _txt2obj_gc(self, extension.oid.dotted_string) + return self._lib.X509_EXTENSION_create_by_OBJ( + self._ffi.NULL, obj, 1 if extension.critical else 0, value + ) + def _create_x509_extension(self, handlers, extension): if isinstance(extension.value, x509.UnrecognizedExtension): - value = _encode_asn1_str_gc(self, extension.value.value) - return self._create_raw_x509_extension(extension, value) - elif isinstance(extension.value, x509.TLSFeature): - asn1 = encode_der( - SEQUENCE, - *[ - encode_der(INTEGER, encode_der_integer(x.value)) - for x in extension.value - ] - ) - value = _encode_asn1_str_gc(self, asn1) - return self._create_raw_x509_extension(extension, value) - elif isinstance(extension.value, x509.PrecertPoison): - value = _encode_asn1_str_gc(self, encode_der(NULL)) - return self._create_raw_x509_extension(extension, value) + value = _encode_asn1_str_gc(self, extension.value.value) + return self._create_raw_x509_extension(extension, value) + elif isinstance(extension.value, x509.TLSFeature): + asn1 = encode_der( + SEQUENCE, + *[ + encode_der(INTEGER, encode_der_integer(x.value)) + for x in extension.value + ] + ) + value = _encode_asn1_str_gc(self, asn1) + return self._create_raw_x509_extension(extension, value) + elif isinstance(extension.value, x509.PrecertPoison): + value = _encode_asn1_str_gc(self, encode_der(NULL)) + return self._create_raw_x509_extension(extension, value) else: try: encode = handlers[extension.oid] except KeyError: raise NotImplementedError( - "Extension not supported: {}".format(extension.oid) + "Extension not supported: {}".format(extension.oid) ) ext_struct = encode(self, extension.value) nid = self._lib.OBJ_txt2nid( extension.oid.dotted_string.encode("ascii") ) - self.openssl_assert(nid != self._lib.NID_undef) + self.openssl_assert(nid != self._lib.NID_undef) return self._lib.X509V3_EXT_i2d( nid, 1 if extension.critical else 0, ext_struct ) def create_x509_revoked_certificate(self, builder): if not isinstance(builder, x509.RevokedCertificateBuilder): - raise TypeError("Builder type mismatch.") + raise TypeError("Builder type mismatch.") x509_revoked = self._lib.X509_REVOKED_new() self.openssl_assert(x509_revoked != self._ffi.NULL) @@ -1227,16 +1227,16 @@ class Backend(object): x509_revoked, serial_number ) self.openssl_assert(res == 1) - rev_date = self._create_asn1_time(builder._revocation_date) + rev_date = self._create_asn1_time(builder._revocation_date) res = self._lib.X509_REVOKED_set_revocationDate(x509_revoked, rev_date) self.openssl_assert(res == 1) # add CRL entry extensions self._create_x509_extensions( extensions=builder._extensions, - handlers=self._crl_entry_extension_encode_handlers, + handlers=self._crl_entry_extension_encode_handlers, x509_obj=x509_revoked, add_func=self._lib.X509_REVOKED_add_ext, - gc=True, + gc=True, ) return _RevokedCertificate(self, None, x509_revoked) @@ -1273,18 +1273,18 @@ class Backend(object): else: self._handle_key_loading_error() - def load_pem_parameters(self, data): - mem_bio = self._bytes_to_bio(data) - # only DH is supported currently - dh_cdata = self._lib.PEM_read_bio_DHparams( - mem_bio.bio, self._ffi.NULL, self._ffi.NULL, self._ffi.NULL - ) - if dh_cdata != self._ffi.NULL: - dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) - return _DHParameters(self, dh_cdata) - else: - self._handle_key_loading_error() - + def load_pem_parameters(self, data): + mem_bio = self._bytes_to_bio(data) + # only DH is supported currently + dh_cdata = self._lib.PEM_read_bio_DHparams( + mem_bio.bio, self._ffi.NULL, self._ffi.NULL, self._ffi.NULL + ) + if dh_cdata != self._ffi.NULL: + dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) + return _DHParameters(self, dh_cdata) + else: + self._handle_key_loading_error() + def load_der_private_key(self, data, password): # OpenSSL has a function called d2i_AutoPrivateKey that in theory # handles this automatically, however it doesn't handle encrypted @@ -1341,26 +1341,26 @@ class Backend(object): else: self._handle_key_loading_error() - def load_der_parameters(self, data): - mem_bio = self._bytes_to_bio(data) - dh_cdata = self._lib.d2i_DHparams_bio(mem_bio.bio, self._ffi.NULL) - if dh_cdata != self._ffi.NULL: - dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) - return _DHParameters(self, dh_cdata) - elif self._lib.Cryptography_HAS_EVP_PKEY_DHX: - # We check to see if the is dhx. - self._consume_errors() - res = self._lib.BIO_reset(mem_bio.bio) - self.openssl_assert(res == 1) - dh_cdata = self._lib.Cryptography_d2i_DHxparams_bio( - mem_bio.bio, self._ffi.NULL - ) - if dh_cdata != self._ffi.NULL: - dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) - return _DHParameters(self, dh_cdata) - - self._handle_key_loading_error() - + def load_der_parameters(self, data): + mem_bio = self._bytes_to_bio(data) + dh_cdata = self._lib.d2i_DHparams_bio(mem_bio.bio, self._ffi.NULL) + if dh_cdata != self._ffi.NULL: + dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) + return _DHParameters(self, dh_cdata) + elif self._lib.Cryptography_HAS_EVP_PKEY_DHX: + # We check to see if the is dhx. + self._consume_errors() + res = self._lib.BIO_reset(mem_bio.bio) + self.openssl_assert(res == 1) + dh_cdata = self._lib.Cryptography_d2i_DHxparams_bio( + mem_bio.bio, self._ffi.NULL + ) + if dh_cdata != self._ffi.NULL: + dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) + return _DHParameters(self, dh_cdata) + + self._handle_key_loading_error() + def load_pem_x509_certificate(self, data): mem_bio = self._bytes_to_bio(data) x509 = self._lib.PEM_read_bio_X509( @@ -1368,11 +1368,11 @@ class Backend(object): ) if x509 == self._ffi.NULL: self._consume_errors() - raise ValueError( - "Unable to load certificate. See https://cryptography.io/en/" - "latest/faq.html#why-can-t-i-import-my-pem-file for more" - " details." - ) + raise ValueError( + "Unable to load certificate. See https://cryptography.io/en/" + "latest/faq.html#why-can-t-i-import-my-pem-file for more" + " details." + ) x509 = self._ffi.gc(x509, self._lib.X509_free) return _Certificate(self, x509) @@ -1394,11 +1394,11 @@ class Backend(object): ) if x509_crl == self._ffi.NULL: self._consume_errors() - raise ValueError( - "Unable to load CRL. See https://cryptography.io/en/la" - "test/faq.html#why-can-t-i-import-my-pem-file for more" - " details." - ) + raise ValueError( + "Unable to load CRL. See https://cryptography.io/en/la" + "test/faq.html#why-can-t-i-import-my-pem-file for more" + " details." + ) x509_crl = self._ffi.gc(x509_crl, self._lib.X509_CRL_free) return _CertificateRevocationList(self, x509_crl) @@ -1420,11 +1420,11 @@ class Backend(object): ) if x509_req == self._ffi.NULL: self._consume_errors() - raise ValueError( - "Unable to load request. See https://cryptography.io/en/" - "latest/faq.html#why-can-t-i-import-my-pem-file for more" - " details." - ) + raise ValueError( + "Unable to load request. See https://cryptography.io/en/" + "latest/faq.html#why-can-t-i-import-my-pem-file for more" + " details." + ) x509_req = self._ffi.gc(x509_req, self._lib.X509_REQ_free) return _CertificateSigningRequest(self, x509_req) @@ -1442,35 +1442,35 @@ class Backend(object): def _load_key(self, openssl_read_func, convert_func, data, password): mem_bio = self._bytes_to_bio(data) - userdata = self._ffi.new("CRYPTOGRAPHY_PASSWORD_DATA *") - if password is not None: - utils._check_byteslike("password", password) - password_ptr = self._ffi.from_buffer(password) - userdata.password = password_ptr - userdata.length = len(password) + userdata = self._ffi.new("CRYPTOGRAPHY_PASSWORD_DATA *") + if password is not None: + utils._check_byteslike("password", password) + password_ptr = self._ffi.from_buffer(password) + userdata.password = password_ptr + userdata.length = len(password) evp_pkey = openssl_read_func( mem_bio.bio, self._ffi.NULL, - self._ffi.addressof( - self._lib._original_lib, "Cryptography_pem_password_cb" - ), - userdata, + self._ffi.addressof( + self._lib._original_lib, "Cryptography_pem_password_cb" + ), + userdata, ) if evp_pkey == self._ffi.NULL: - if userdata.error != 0: - self._consume_errors() - if userdata.error == -1: - raise TypeError( - "Password was not given but private key is encrypted" - ) - else: - assert userdata.error == -2 - raise ValueError( - "Passwords longer than {} bytes are not supported " - "by this backend.".format(userdata.maxsize - 1) - ) + if userdata.error != 0: + self._consume_errors() + if userdata.error == -1: + raise TypeError( + "Password was not given but private key is encrypted" + ) + else: + assert userdata.error == -2 + raise ValueError( + "Passwords longer than {} bytes are not supported " + "by this backend.".format(userdata.maxsize - 1) + ) else: self._handle_key_loading_error() @@ -1478,12 +1478,12 @@ class Backend(object): if password is not None and userdata.called == 0: raise TypeError( - "Password was given but private key is not encrypted." - ) + "Password was given but private key is not encrypted." + ) assert ( - password is not None and userdata.called == 1 - ) or password is None + password is not None and userdata.called == 1 + ) or password is None return convert_func(evp_pkey) @@ -1491,33 +1491,33 @@ class Backend(object): errors = self._consume_errors() if not errors: - raise ValueError( - "Could not deserialize key data. The data may be in an " - "incorrect format or it may be encrypted with an unsupported " - "algorithm." + raise ValueError( + "Could not deserialize key data. The data may be in an " + "incorrect format or it may be encrypted with an unsupported " + "algorithm." ) - elif errors[0]._lib_reason_match( - self._lib.ERR_LIB_EVP, self._lib.EVP_R_BAD_DECRYPT - ) or errors[0]._lib_reason_match( - self._lib.ERR_LIB_PKCS12, - self._lib.PKCS12_R_PKCS12_CIPHERFINAL_ERROR, + elif errors[0]._lib_reason_match( + self._lib.ERR_LIB_EVP, self._lib.EVP_R_BAD_DECRYPT + ) or errors[0]._lib_reason_match( + self._lib.ERR_LIB_PKCS12, + self._lib.PKCS12_R_PKCS12_CIPHERFINAL_ERROR, ): raise ValueError("Bad decrypt. Incorrect password?") elif any( - error._lib_reason_match( + error._lib_reason_match( self._lib.ERR_LIB_EVP, - self._lib.EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM, + self._lib.EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM, ) for error in errors ): - raise ValueError("Unsupported public key algorithm.") + raise ValueError("Unsupported public key algorithm.") else: - raise ValueError( - "Could not deserialize key data. The data may be in an " - "incorrect format or it may be encrypted with an unsupported " - "algorithm." + raise ValueError( + "Could not deserialize key data. The data may be in an " + "incorrect format or it may be encrypted with an unsupported " + "algorithm." ) def elliptic_curve_supported(self, curve): @@ -1526,14 +1526,14 @@ class Backend(object): except UnsupportedAlgorithm: curve_nid = self._lib.NID_undef - group = self._lib.EC_GROUP_new_by_curve_name(curve_nid) + group = self._lib.EC_GROUP_new_by_curve_name(curve_nid) - if group == self._ffi.NULL: - self._consume_errors() + if group == self._ffi.NULL: + self._consume_errors() return False else: self.openssl_assert(curve_nid != self._lib.NID_undef) - self._lib.EC_GROUP_free(group) + self._lib.EC_GROUP_free(group) return True def elliptic_curve_signature_algorithm_supported( @@ -1551,7 +1551,7 @@ class Backend(object): """ if self.elliptic_curve_supported(curve): - ec_cdata = self._ec_key_new_by_curve(curve) + ec_cdata = self._ec_key_new_by_curve(curve) res = self._lib.EC_KEY_generate_key(ec_cdata) self.openssl_assert(res == 1) @@ -1561,74 +1561,74 @@ class Backend(object): return _EllipticCurvePrivateKey(self, ec_cdata, evp_pkey) else: raise UnsupportedAlgorithm( - "Backend object does not support {}.".format(curve.name), - _Reasons.UNSUPPORTED_ELLIPTIC_CURVE, + "Backend object does not support {}.".format(curve.name), + _Reasons.UNSUPPORTED_ELLIPTIC_CURVE, ) def load_elliptic_curve_private_numbers(self, numbers): public = numbers.public_numbers - ec_cdata = self._ec_key_new_by_curve(public.curve) + ec_cdata = self._ec_key_new_by_curve(public.curve) - private_value = self._ffi.gc( - self._int_to_bn(numbers.private_value), self._lib.BN_clear_free - ) - res = self._lib.EC_KEY_set_private_key(ec_cdata, private_value) - self.openssl_assert(res == 1) + private_value = self._ffi.gc( + self._int_to_bn(numbers.private_value), self._lib.BN_clear_free + ) + res = self._lib.EC_KEY_set_private_key(ec_cdata, private_value) + self.openssl_assert(res == 1) ec_cdata = self._ec_key_set_public_key_affine_coordinates( - ec_cdata, public.x, public.y - ) + ec_cdata, public.x, public.y + ) evp_pkey = self._ec_cdata_to_evp_pkey(ec_cdata) return _EllipticCurvePrivateKey(self, ec_cdata, evp_pkey) def load_elliptic_curve_public_numbers(self, numbers): - ec_cdata = self._ec_key_new_by_curve(numbers.curve) + ec_cdata = self._ec_key_new_by_curve(numbers.curve) ec_cdata = self._ec_key_set_public_key_affine_coordinates( - ec_cdata, numbers.x, numbers.y - ) + ec_cdata, numbers.x, numbers.y + ) evp_pkey = self._ec_cdata_to_evp_pkey(ec_cdata) return _EllipticCurvePublicKey(self, ec_cdata, evp_pkey) - def load_elliptic_curve_public_bytes(self, curve, point_bytes): - ec_cdata = self._ec_key_new_by_curve(curve) - group = self._lib.EC_KEY_get0_group(ec_cdata) - self.openssl_assert(group != self._ffi.NULL) - point = self._lib.EC_POINT_new(group) - self.openssl_assert(point != self._ffi.NULL) - point = self._ffi.gc(point, self._lib.EC_POINT_free) - with self._tmp_bn_ctx() as bn_ctx: - res = self._lib.EC_POINT_oct2point( - group, point, point_bytes, len(point_bytes), bn_ctx - ) - if res != 1: - self._consume_errors() - raise ValueError("Invalid public bytes for the given curve") - - res = self._lib.EC_KEY_set_public_key(ec_cdata, point) - self.openssl_assert(res == 1) - evp_pkey = self._ec_cdata_to_evp_pkey(ec_cdata) - return _EllipticCurvePublicKey(self, ec_cdata, evp_pkey) - + def load_elliptic_curve_public_bytes(self, curve, point_bytes): + ec_cdata = self._ec_key_new_by_curve(curve) + group = self._lib.EC_KEY_get0_group(ec_cdata) + self.openssl_assert(group != self._ffi.NULL) + point = self._lib.EC_POINT_new(group) + self.openssl_assert(point != self._ffi.NULL) + point = self._ffi.gc(point, self._lib.EC_POINT_free) + with self._tmp_bn_ctx() as bn_ctx: + res = self._lib.EC_POINT_oct2point( + group, point, point_bytes, len(point_bytes), bn_ctx + ) + if res != 1: + self._consume_errors() + raise ValueError("Invalid public bytes for the given curve") + + res = self._lib.EC_KEY_set_public_key(ec_cdata, point) + self.openssl_assert(res == 1) + evp_pkey = self._ec_cdata_to_evp_pkey(ec_cdata) + return _EllipticCurvePublicKey(self, ec_cdata, evp_pkey) + def derive_elliptic_curve_private_key(self, private_value, curve): - ec_cdata = self._ec_key_new_by_curve(curve) + ec_cdata = self._ec_key_new_by_curve(curve) - get_func, group = self._ec_key_determine_group_get_func(ec_cdata) + get_func, group = self._ec_key_determine_group_get_func(ec_cdata) point = self._lib.EC_POINT_new(group) self.openssl_assert(point != self._ffi.NULL) point = self._ffi.gc(point, self._lib.EC_POINT_free) value = self._int_to_bn(private_value) - value = self._ffi.gc(value, self._lib.BN_clear_free) + value = self._ffi.gc(value, self._lib.BN_clear_free) with self._tmp_bn_ctx() as bn_ctx: - res = self._lib.EC_POINT_mul( - group, point, value, self._ffi.NULL, self._ffi.NULL, bn_ctx - ) + res = self._lib.EC_POINT_mul( + group, point, value, self._ffi.NULL, self._ffi.NULL, bn_ctx + ) self.openssl_assert(res == 1) bn_x = self._lib.BN_CTX_get(bn_ctx) @@ -1639,168 +1639,168 @@ class Backend(object): res = self._lib.EC_KEY_set_public_key(ec_cdata, point) self.openssl_assert(res == 1) - private = self._int_to_bn(private_value) - private = self._ffi.gc(private, self._lib.BN_clear_free) - res = self._lib.EC_KEY_set_private_key(ec_cdata, private) + private = self._int_to_bn(private_value) + private = self._ffi.gc(private, self._lib.BN_clear_free) + res = self._lib.EC_KEY_set_private_key(ec_cdata, private) self.openssl_assert(res == 1) evp_pkey = self._ec_cdata_to_evp_pkey(ec_cdata) return _EllipticCurvePrivateKey(self, ec_cdata, evp_pkey) - def _ec_key_new_by_curve(self, curve): - curve_nid = self._elliptic_curve_to_nid(curve) - return self._ec_key_new_by_curve_nid(curve_nid) - - def _ec_key_new_by_curve_nid(self, curve_nid): - ec_cdata = self._lib.EC_KEY_new_by_curve_name(curve_nid) - self.openssl_assert(ec_cdata != self._ffi.NULL) - return self._ffi.gc(ec_cdata, self._lib.EC_KEY_free) - - def load_der_ocsp_request(self, data): - mem_bio = self._bytes_to_bio(data) - request = self._lib.d2i_OCSP_REQUEST_bio(mem_bio.bio, self._ffi.NULL) - if request == self._ffi.NULL: - self._consume_errors() - raise ValueError("Unable to load OCSP request") - - request = self._ffi.gc(request, self._lib.OCSP_REQUEST_free) - return _OCSPRequest(self, request) - - def load_der_ocsp_response(self, data): - mem_bio = self._bytes_to_bio(data) - response = self._lib.d2i_OCSP_RESPONSE_bio(mem_bio.bio, self._ffi.NULL) - if response == self._ffi.NULL: - self._consume_errors() - raise ValueError("Unable to load OCSP response") - - response = self._ffi.gc(response, self._lib.OCSP_RESPONSE_free) - return _OCSPResponse(self, response) - - def create_ocsp_request(self, builder): - ocsp_req = self._lib.OCSP_REQUEST_new() - self.openssl_assert(ocsp_req != self._ffi.NULL) - ocsp_req = self._ffi.gc(ocsp_req, self._lib.OCSP_REQUEST_free) - cert, issuer, algorithm = builder._request - evp_md = self._evp_md_non_null_from_algorithm(algorithm) - certid = self._lib.OCSP_cert_to_id(evp_md, cert._x509, issuer._x509) - self.openssl_assert(certid != self._ffi.NULL) - onereq = self._lib.OCSP_request_add0_id(ocsp_req, certid) - self.openssl_assert(onereq != self._ffi.NULL) - self._create_x509_extensions( - extensions=builder._extensions, - handlers=self._ocsp_request_extension_encode_handlers, - x509_obj=ocsp_req, - add_func=self._lib.OCSP_REQUEST_add_ext, - gc=True, - ) - return _OCSPRequest(self, ocsp_req) - - def _create_ocsp_basic_response(self, builder, private_key, algorithm): - self._x509_check_signature_params(private_key, algorithm) - - basic = self._lib.OCSP_BASICRESP_new() - self.openssl_assert(basic != self._ffi.NULL) - basic = self._ffi.gc(basic, self._lib.OCSP_BASICRESP_free) - evp_md = self._evp_md_non_null_from_algorithm( - builder._response._algorithm - ) - certid = self._lib.OCSP_cert_to_id( - evp_md, - builder._response._cert._x509, - builder._response._issuer._x509, - ) - self.openssl_assert(certid != self._ffi.NULL) - certid = self._ffi.gc(certid, self._lib.OCSP_CERTID_free) - if builder._response._revocation_reason is None: - reason = -1 - else: - reason = _CRL_ENTRY_REASON_ENUM_TO_CODE[ - builder._response._revocation_reason - ] - if builder._response._revocation_time is None: - rev_time = self._ffi.NULL - else: - rev_time = self._create_asn1_time( - builder._response._revocation_time - ) - - next_update = self._ffi.NULL - if builder._response._next_update is not None: - next_update = self._create_asn1_time( - builder._response._next_update - ) - - this_update = self._create_asn1_time(builder._response._this_update) - - res = self._lib.OCSP_basic_add1_status( - basic, - certid, - builder._response._cert_status.value, - reason, - rev_time, - this_update, - next_update, - ) - self.openssl_assert(res != self._ffi.NULL) - # okay, now sign the basic structure - evp_md = self._evp_md_x509_null_if_eddsa(private_key, algorithm) - responder_cert, responder_encoding = builder._responder_id - flags = self._lib.OCSP_NOCERTS - if responder_encoding is ocsp.OCSPResponderEncoding.HASH: - flags |= self._lib.OCSP_RESPID_KEY - - if builder._certs is not None: - for cert in builder._certs: - res = self._lib.OCSP_basic_add1_cert(basic, cert._x509) - self.openssl_assert(res == 1) - - self._create_x509_extensions( - extensions=builder._extensions, - handlers=self._ocsp_basicresp_extension_encode_handlers, - x509_obj=basic, - add_func=self._lib.OCSP_BASICRESP_add_ext, - gc=True, - ) - - res = self._lib.OCSP_basic_sign( - basic, - responder_cert._x509, - private_key._evp_pkey, - evp_md, - self._ffi.NULL, - flags, - ) - if res != 1: - errors = self._consume_errors_with_text() - raise ValueError( - "Error while signing. responder_cert must be signed " - "by private_key", - errors, - ) - - return basic - - def create_ocsp_response( - self, response_status, builder, private_key, algorithm - ): - if response_status is ocsp.OCSPResponseStatus.SUCCESSFUL: - basic = self._create_ocsp_basic_response( - builder, private_key, algorithm - ) - else: - basic = self._ffi.NULL - - ocsp_resp = self._lib.OCSP_response_create( - response_status.value, basic - ) - self.openssl_assert(ocsp_resp != self._ffi.NULL) - ocsp_resp = self._ffi.gc(ocsp_resp, self._lib.OCSP_RESPONSE_free) - return _OCSPResponse(self, ocsp_resp) - + def _ec_key_new_by_curve(self, curve): + curve_nid = self._elliptic_curve_to_nid(curve) + return self._ec_key_new_by_curve_nid(curve_nid) + + def _ec_key_new_by_curve_nid(self, curve_nid): + ec_cdata = self._lib.EC_KEY_new_by_curve_name(curve_nid) + self.openssl_assert(ec_cdata != self._ffi.NULL) + return self._ffi.gc(ec_cdata, self._lib.EC_KEY_free) + + def load_der_ocsp_request(self, data): + mem_bio = self._bytes_to_bio(data) + request = self._lib.d2i_OCSP_REQUEST_bio(mem_bio.bio, self._ffi.NULL) + if request == self._ffi.NULL: + self._consume_errors() + raise ValueError("Unable to load OCSP request") + + request = self._ffi.gc(request, self._lib.OCSP_REQUEST_free) + return _OCSPRequest(self, request) + + def load_der_ocsp_response(self, data): + mem_bio = self._bytes_to_bio(data) + response = self._lib.d2i_OCSP_RESPONSE_bio(mem_bio.bio, self._ffi.NULL) + if response == self._ffi.NULL: + self._consume_errors() + raise ValueError("Unable to load OCSP response") + + response = self._ffi.gc(response, self._lib.OCSP_RESPONSE_free) + return _OCSPResponse(self, response) + + def create_ocsp_request(self, builder): + ocsp_req = self._lib.OCSP_REQUEST_new() + self.openssl_assert(ocsp_req != self._ffi.NULL) + ocsp_req = self._ffi.gc(ocsp_req, self._lib.OCSP_REQUEST_free) + cert, issuer, algorithm = builder._request + evp_md = self._evp_md_non_null_from_algorithm(algorithm) + certid = self._lib.OCSP_cert_to_id(evp_md, cert._x509, issuer._x509) + self.openssl_assert(certid != self._ffi.NULL) + onereq = self._lib.OCSP_request_add0_id(ocsp_req, certid) + self.openssl_assert(onereq != self._ffi.NULL) + self._create_x509_extensions( + extensions=builder._extensions, + handlers=self._ocsp_request_extension_encode_handlers, + x509_obj=ocsp_req, + add_func=self._lib.OCSP_REQUEST_add_ext, + gc=True, + ) + return _OCSPRequest(self, ocsp_req) + + def _create_ocsp_basic_response(self, builder, private_key, algorithm): + self._x509_check_signature_params(private_key, algorithm) + + basic = self._lib.OCSP_BASICRESP_new() + self.openssl_assert(basic != self._ffi.NULL) + basic = self._ffi.gc(basic, self._lib.OCSP_BASICRESP_free) + evp_md = self._evp_md_non_null_from_algorithm( + builder._response._algorithm + ) + certid = self._lib.OCSP_cert_to_id( + evp_md, + builder._response._cert._x509, + builder._response._issuer._x509, + ) + self.openssl_assert(certid != self._ffi.NULL) + certid = self._ffi.gc(certid, self._lib.OCSP_CERTID_free) + if builder._response._revocation_reason is None: + reason = -1 + else: + reason = _CRL_ENTRY_REASON_ENUM_TO_CODE[ + builder._response._revocation_reason + ] + if builder._response._revocation_time is None: + rev_time = self._ffi.NULL + else: + rev_time = self._create_asn1_time( + builder._response._revocation_time + ) + + next_update = self._ffi.NULL + if builder._response._next_update is not None: + next_update = self._create_asn1_time( + builder._response._next_update + ) + + this_update = self._create_asn1_time(builder._response._this_update) + + res = self._lib.OCSP_basic_add1_status( + basic, + certid, + builder._response._cert_status.value, + reason, + rev_time, + this_update, + next_update, + ) + self.openssl_assert(res != self._ffi.NULL) + # okay, now sign the basic structure + evp_md = self._evp_md_x509_null_if_eddsa(private_key, algorithm) + responder_cert, responder_encoding = builder._responder_id + flags = self._lib.OCSP_NOCERTS + if responder_encoding is ocsp.OCSPResponderEncoding.HASH: + flags |= self._lib.OCSP_RESPID_KEY + + if builder._certs is not None: + for cert in builder._certs: + res = self._lib.OCSP_basic_add1_cert(basic, cert._x509) + self.openssl_assert(res == 1) + + self._create_x509_extensions( + extensions=builder._extensions, + handlers=self._ocsp_basicresp_extension_encode_handlers, + x509_obj=basic, + add_func=self._lib.OCSP_BASICRESP_add_ext, + gc=True, + ) + + res = self._lib.OCSP_basic_sign( + basic, + responder_cert._x509, + private_key._evp_pkey, + evp_md, + self._ffi.NULL, + flags, + ) + if res != 1: + errors = self._consume_errors_with_text() + raise ValueError( + "Error while signing. responder_cert must be signed " + "by private_key", + errors, + ) + + return basic + + def create_ocsp_response( + self, response_status, builder, private_key, algorithm + ): + if response_status is ocsp.OCSPResponseStatus.SUCCESSFUL: + basic = self._create_ocsp_basic_response( + builder, private_key, algorithm + ) + else: + basic = self._ffi.NULL + + ocsp_resp = self._lib.OCSP_response_create( + response_status.value, basic + ) + self.openssl_assert(ocsp_resp != self._ffi.NULL) + ocsp_resp = self._ffi.gc(ocsp_resp, self._lib.OCSP_RESPONSE_free) + return _OCSPResponse(self, ocsp_resp) + def elliptic_curve_exchange_algorithm_supported(self, algorithm, curve): - return self.elliptic_curve_supported(curve) and isinstance( - algorithm, ec.ECDH + return self.elliptic_curve_supported(curve) and isinstance( + algorithm, ec.ECDH ) def _ec_cdata_to_evp_pkey(self, ec_cdata): @@ -1814,15 +1814,15 @@ class Backend(object): Get the NID for a curve name. """ - curve_aliases = {"secp192r1": "prime192v1", "secp256r1": "prime256v1"} + curve_aliases = {"secp192r1": "prime192v1", "secp256r1": "prime256v1"} curve_name = curve_aliases.get(curve.name, curve.name) curve_nid = self._lib.OBJ_sn2nid(curve_name.encode()) if curve_nid == self._lib.NID_undef: raise UnsupportedAlgorithm( - "{} is not a supported elliptic curve".format(curve.name), - _Reasons.UNSUPPORTED_ELLIPTIC_CURVE, + "{} is not a supported elliptic curve".format(curve.name), + _Reasons.UNSUPPORTED_ELLIPTIC_CURVE, ) return curve_nid @@ -1837,10 +1837,10 @@ class Backend(object): finally: self._lib.BN_CTX_end(bn_ctx) - def _ec_key_determine_group_get_func(self, ctx): + def _ec_key_determine_group_get_func(self, ctx): """ - Given an EC_KEY determine the group and what function is required to - get point coordinates. + Given an EC_KEY determine the group and what function is required to + get point coordinates. """ self.openssl_assert(ctx != self._ffi.NULL) @@ -1861,9 +1861,9 @@ class Backend(object): else: get_func = self._lib.EC_POINT_get_affine_coordinates_GFp - assert get_func + assert get_func - return get_func, group + return get_func, group def _ec_key_set_public_key_affine_coordinates(self, ctx, x, y): """ @@ -1876,41 +1876,41 @@ class Backend(object): "Invalid EC key. Both x and y must be non-negative." ) - x = self._ffi.gc(self._int_to_bn(x), self._lib.BN_free) - y = self._ffi.gc(self._int_to_bn(y), self._lib.BN_free) - res = self._lib.EC_KEY_set_public_key_affine_coordinates(ctx, x, y) + x = self._ffi.gc(self._int_to_bn(x), self._lib.BN_free) + y = self._ffi.gc(self._int_to_bn(y), self._lib.BN_free) + res = self._lib.EC_KEY_set_public_key_affine_coordinates(ctx, x, y) if res != 1: self._consume_errors() raise ValueError("Invalid EC key.") return ctx - def _private_key_bytes( - self, encoding, format, encryption_algorithm, key, evp_pkey, cdata - ): - # validate argument types - if not isinstance(encoding, serialization.Encoding): - raise TypeError("encoding must be an item from the Encoding enum") + def _private_key_bytes( + self, encoding, format, encryption_algorithm, key, evp_pkey, cdata + ): + # validate argument types + if not isinstance(encoding, serialization.Encoding): + raise TypeError("encoding must be an item from the Encoding enum") if not isinstance(format, serialization.PrivateFormat): raise TypeError( "format must be an item from the PrivateFormat enum" ) - if not isinstance( - encryption_algorithm, serialization.KeySerializationEncryption - ): + if not isinstance( + encryption_algorithm, serialization.KeySerializationEncryption + ): raise TypeError( "Encryption algorithm must be a KeySerializationEncryption " "instance" ) - # validate password + # validate password if isinstance(encryption_algorithm, serialization.NoEncryption): password = b"" - elif isinstance( - encryption_algorithm, serialization.BestAvailableEncryption - ): + elif isinstance( + encryption_algorithm, serialization.BestAvailableEncryption + ): password = encryption_algorithm.password - if len(password) > 1023: + if len(password) > 1023: raise ValueError( "Passwords longer than 1023 bytes are not supported by " "this backend" @@ -1918,333 +1918,333 @@ class Backend(object): else: raise ValueError("Unsupported encryption type") - # PKCS8 + PEM/DER - if format is serialization.PrivateFormat.PKCS8: - if encoding is serialization.Encoding.PEM: + # PKCS8 + PEM/DER + if format is serialization.PrivateFormat.PKCS8: + if encoding is serialization.Encoding.PEM: write_bio = self._lib.PEM_write_bio_PKCS8PrivateKey - elif encoding is serialization.Encoding.DER: - write_bio = self._lib.i2d_PKCS8PrivateKey_bio + elif encoding is serialization.Encoding.DER: + write_bio = self._lib.i2d_PKCS8PrivateKey_bio else: - raise ValueError("Unsupported encoding for PKCS8") - return self._private_key_bytes_via_bio( - write_bio, evp_pkey, password - ) - - # TraditionalOpenSSL + PEM/DER - if format is serialization.PrivateFormat.TraditionalOpenSSL: - if self._fips_enabled and not isinstance( - encryption_algorithm, serialization.NoEncryption - ): - raise ValueError( - "Encrypted traditional OpenSSL format is not " - "supported in FIPS mode." - ) - key_type = self._lib.EVP_PKEY_id(evp_pkey) - - if encoding is serialization.Encoding.PEM: + raise ValueError("Unsupported encoding for PKCS8") + return self._private_key_bytes_via_bio( + write_bio, evp_pkey, password + ) + + # TraditionalOpenSSL + PEM/DER + if format is serialization.PrivateFormat.TraditionalOpenSSL: + if self._fips_enabled and not isinstance( + encryption_algorithm, serialization.NoEncryption + ): + raise ValueError( + "Encrypted traditional OpenSSL format is not " + "supported in FIPS mode." + ) + key_type = self._lib.EVP_PKEY_id(evp_pkey) + + if encoding is serialization.Encoding.PEM: if key_type == self._lib.EVP_PKEY_RSA: write_bio = self._lib.PEM_write_bio_RSAPrivateKey elif key_type == self._lib.EVP_PKEY_DSA: write_bio = self._lib.PEM_write_bio_DSAPrivateKey - elif key_type == self._lib.EVP_PKEY_EC: - write_bio = self._lib.PEM_write_bio_ECPrivateKey + elif key_type == self._lib.EVP_PKEY_EC: + write_bio = self._lib.PEM_write_bio_ECPrivateKey else: - raise ValueError( - "Unsupported key type for TraditionalOpenSSL" - ) - return self._private_key_bytes_via_bio( - write_bio, cdata, password - ) - - if encoding is serialization.Encoding.DER: - if password: + raise ValueError( + "Unsupported key type for TraditionalOpenSSL" + ) + return self._private_key_bytes_via_bio( + write_bio, cdata, password + ) + + if encoding is serialization.Encoding.DER: + if password: raise ValueError( "Encryption is not supported for DER encoded " "traditional OpenSSL keys" ) - if key_type == self._lib.EVP_PKEY_RSA: - write_bio = self._lib.i2d_RSAPrivateKey_bio - elif key_type == self._lib.EVP_PKEY_EC: - write_bio = self._lib.i2d_ECPrivateKey_bio - elif key_type == self._lib.EVP_PKEY_DSA: - write_bio = self._lib.i2d_DSAPrivateKey_bio - else: - raise ValueError( - "Unsupported key type for TraditionalOpenSSL" - ) - return self._bio_func_output(write_bio, cdata) - - raise ValueError("Unsupported encoding for TraditionalOpenSSL") - - # OpenSSH + PEM - if format is serialization.PrivateFormat.OpenSSH: - if encoding is serialization.Encoding.PEM: - return ssh.serialize_ssh_private_key(key, password) - - raise ValueError( - "OpenSSH private key format can only be used" - " with PEM encoding" - ) - - # Anything that key-specific code was supposed to handle earlier, - # like Raw. - raise ValueError("format is invalid with this key") - - def _private_key_bytes_via_bio(self, write_bio, evp_pkey, password): - if not password: - evp_cipher = self._ffi.NULL + if key_type == self._lib.EVP_PKEY_RSA: + write_bio = self._lib.i2d_RSAPrivateKey_bio + elif key_type == self._lib.EVP_PKEY_EC: + write_bio = self._lib.i2d_ECPrivateKey_bio + elif key_type == self._lib.EVP_PKEY_DSA: + write_bio = self._lib.i2d_DSAPrivateKey_bio + else: + raise ValueError( + "Unsupported key type for TraditionalOpenSSL" + ) + return self._bio_func_output(write_bio, cdata) + + raise ValueError("Unsupported encoding for TraditionalOpenSSL") + + # OpenSSH + PEM + if format is serialization.PrivateFormat.OpenSSH: + if encoding is serialization.Encoding.PEM: + return ssh.serialize_ssh_private_key(key, password) + + raise ValueError( + "OpenSSH private key format can only be used" + " with PEM encoding" + ) + + # Anything that key-specific code was supposed to handle earlier, + # like Raw. + raise ValueError("format is invalid with this key") + + def _private_key_bytes_via_bio(self, write_bio, evp_pkey, password): + if not password: + evp_cipher = self._ffi.NULL else: - # This is a curated value that we will update over time. - evp_cipher = self._lib.EVP_get_cipherbyname(b"aes-256-cbc") + # This is a curated value that we will update over time. + evp_cipher = self._lib.EVP_get_cipherbyname(b"aes-256-cbc") - return self._bio_func_output( - write_bio, - evp_pkey, + return self._bio_func_output( + write_bio, + evp_pkey, evp_cipher, password, - len(password), + len(password), + self._ffi.NULL, self._ffi.NULL, - self._ffi.NULL, ) - def _bio_func_output(self, write_bio, *args): + def _bio_func_output(self, write_bio, *args): bio = self._create_mem_bio_gc() - res = write_bio(bio, *args) + res = write_bio(bio, *args) self.openssl_assert(res == 1) return self._read_mem_bio(bio) def _public_key_bytes(self, encoding, format, key, evp_pkey, cdata): if not isinstance(encoding, serialization.Encoding): raise TypeError("encoding must be an item from the Encoding enum") - if not isinstance(format, serialization.PublicFormat): - raise TypeError( - "format must be an item from the PublicFormat enum" - ) + if not isinstance(format, serialization.PublicFormat): + raise TypeError( + "format must be an item from the PublicFormat enum" + ) - # SubjectPublicKeyInfo + PEM/DER - if format is serialization.PublicFormat.SubjectPublicKeyInfo: + # SubjectPublicKeyInfo + PEM/DER + if format is serialization.PublicFormat.SubjectPublicKeyInfo: if encoding is serialization.Encoding.PEM: write_bio = self._lib.PEM_write_bio_PUBKEY - elif encoding is serialization.Encoding.DER: - write_bio = self._lib.i2d_PUBKEY_bio + elif encoding is serialization.Encoding.DER: + write_bio = self._lib.i2d_PUBKEY_bio else: - raise ValueError( - "SubjectPublicKeyInfo works only with PEM or DER encoding" - ) - return self._bio_func_output(write_bio, evp_pkey) + raise ValueError( + "SubjectPublicKeyInfo works only with PEM or DER encoding" + ) + return self._bio_func_output(write_bio, evp_pkey) - # PKCS1 + PEM/DER - if format is serialization.PublicFormat.PKCS1: + # PKCS1 + PEM/DER + if format is serialization.PublicFormat.PKCS1: # Only RSA is supported here. - key_type = self._lib.EVP_PKEY_id(evp_pkey) - if key_type != self._lib.EVP_PKEY_RSA: - raise ValueError("PKCS1 format is supported only for RSA keys") - + key_type = self._lib.EVP_PKEY_id(evp_pkey) + if key_type != self._lib.EVP_PKEY_RSA: + raise ValueError("PKCS1 format is supported only for RSA keys") + if encoding is serialization.Encoding.PEM: write_bio = self._lib.PEM_write_bio_RSAPublicKey - elif encoding is serialization.Encoding.DER: - write_bio = self._lib.i2d_RSAPublicKey_bio + elif encoding is serialization.Encoding.DER: + write_bio = self._lib.i2d_RSAPublicKey_bio else: - raise ValueError("PKCS1 works only with PEM or DER encoding") - return self._bio_func_output(write_bio, cdata) + raise ValueError("PKCS1 works only with PEM or DER encoding") + return self._bio_func_output(write_bio, cdata) - # OpenSSH + OpenSSH - if format is serialization.PublicFormat.OpenSSH: - if encoding is serialization.Encoding.OpenSSH: - return ssh.serialize_ssh_public_key(key) + # OpenSSH + OpenSSH + if format is serialization.PublicFormat.OpenSSH: + if encoding is serialization.Encoding.OpenSSH: + return ssh.serialize_ssh_public_key(key) - raise ValueError( - "OpenSSH format must be used with OpenSSH encoding" + raise ValueError( + "OpenSSH format must be used with OpenSSH encoding" ) - - # Anything that key-specific code was supposed to handle earlier, - # like Raw, CompressedPoint, UncompressedPoint - raise ValueError("format is invalid with this key") - - def _parameter_bytes(self, encoding, format, cdata): - if encoding is serialization.Encoding.OpenSSH: - raise TypeError("OpenSSH encoding is not supported") - - # Only DH is supported here currently. - q = self._ffi.new("BIGNUM **") - self._lib.DH_get0_pqg(cdata, self._ffi.NULL, q, self._ffi.NULL) - if encoding is serialization.Encoding.PEM: - if q[0] != self._ffi.NULL: - write_bio = self._lib.PEM_write_bio_DHxparams - else: - write_bio = self._lib.PEM_write_bio_DHparams - elif encoding is serialization.Encoding.DER: - if q[0] != self._ffi.NULL: - write_bio = self._lib.Cryptography_i2d_DHxparams_bio - else: - write_bio = self._lib.i2d_DHparams_bio - else: - raise TypeError("encoding must be an item from the Encoding enum") - - bio = self._create_mem_bio_gc() - res = write_bio(bio, cdata) - self.openssl_assert(res == 1) - return self._read_mem_bio(bio) - - def generate_dh_parameters(self, generator, key_size): - if key_size < dh._MIN_MODULUS_SIZE: - raise ValueError( - "DH key_size must be at least {} bits".format( - dh._MIN_MODULUS_SIZE - ) - ) - - if generator not in (2, 5): - raise ValueError("DH generator must be 2 or 5") - - dh_param_cdata = self._lib.DH_new() - self.openssl_assert(dh_param_cdata != self._ffi.NULL) - dh_param_cdata = self._ffi.gc(dh_param_cdata, self._lib.DH_free) - - res = self._lib.DH_generate_parameters_ex( - dh_param_cdata, key_size, generator, self._ffi.NULL - ) - self.openssl_assert(res == 1) - - return _DHParameters(self, dh_param_cdata) - - def _dh_cdata_to_evp_pkey(self, dh_cdata): - evp_pkey = self._create_evp_pkey_gc() - res = self._lib.EVP_PKEY_set1_DH(evp_pkey, dh_cdata) - self.openssl_assert(res == 1) - return evp_pkey - - def generate_dh_private_key(self, parameters): - dh_key_cdata = _dh_params_dup(parameters._dh_cdata, self) - - res = self._lib.DH_generate_key(dh_key_cdata) - self.openssl_assert(res == 1) - - evp_pkey = self._dh_cdata_to_evp_pkey(dh_key_cdata) - - return _DHPrivateKey(self, dh_key_cdata, evp_pkey) - - def generate_dh_private_key_and_parameters(self, generator, key_size): - return self.generate_dh_private_key( - self.generate_dh_parameters(generator, key_size) - ) - - def load_dh_private_numbers(self, numbers): - parameter_numbers = numbers.public_numbers.parameter_numbers - - dh_cdata = self._lib.DH_new() - self.openssl_assert(dh_cdata != self._ffi.NULL) - dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) - - p = self._int_to_bn(parameter_numbers.p) - g = self._int_to_bn(parameter_numbers.g) - - if parameter_numbers.q is not None: - q = self._int_to_bn(parameter_numbers.q) - else: - q = self._ffi.NULL - - pub_key = self._int_to_bn(numbers.public_numbers.y) - priv_key = self._int_to_bn(numbers.x) - - res = self._lib.DH_set0_pqg(dh_cdata, p, q, g) - self.openssl_assert(res == 1) - - res = self._lib.DH_set0_key(dh_cdata, pub_key, priv_key) - self.openssl_assert(res == 1) - - codes = self._ffi.new("int[]", 1) - res = self._lib.Cryptography_DH_check(dh_cdata, codes) - self.openssl_assert(res == 1) - - # DH_check will return DH_NOT_SUITABLE_GENERATOR if p % 24 does not - # equal 11 when the generator is 2 (a quadratic nonresidue). - # We want to ignore that error because p % 24 == 23 is also fine. - # Specifically, g is then a quadratic residue. Within the context of - # Diffie-Hellman this means it can only generate half the possible - # values. That sounds bad, but quadratic nonresidues leak a bit of - # the key to the attacker in exchange for having the full key space - # available. See: https://crypto.stackexchange.com/questions/12961 - if codes[0] != 0 and not ( - parameter_numbers.g == 2 - and codes[0] ^ self._lib.DH_NOT_SUITABLE_GENERATOR == 0 - ): - raise ValueError("DH private numbers did not pass safety checks.") - - evp_pkey = self._dh_cdata_to_evp_pkey(dh_cdata) - - return _DHPrivateKey(self, dh_cdata, evp_pkey) - - def load_dh_public_numbers(self, numbers): - dh_cdata = self._lib.DH_new() - self.openssl_assert(dh_cdata != self._ffi.NULL) - dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) - - parameter_numbers = numbers.parameter_numbers - - p = self._int_to_bn(parameter_numbers.p) - g = self._int_to_bn(parameter_numbers.g) - - if parameter_numbers.q is not None: - q = self._int_to_bn(parameter_numbers.q) - else: - q = self._ffi.NULL - - pub_key = self._int_to_bn(numbers.y) - - res = self._lib.DH_set0_pqg(dh_cdata, p, q, g) - self.openssl_assert(res == 1) - - res = self._lib.DH_set0_key(dh_cdata, pub_key, self._ffi.NULL) - self.openssl_assert(res == 1) - - evp_pkey = self._dh_cdata_to_evp_pkey(dh_cdata) - - return _DHPublicKey(self, dh_cdata, evp_pkey) - - def load_dh_parameter_numbers(self, numbers): - dh_cdata = self._lib.DH_new() - self.openssl_assert(dh_cdata != self._ffi.NULL) - dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) - - p = self._int_to_bn(numbers.p) - g = self._int_to_bn(numbers.g) - - if numbers.q is not None: - q = self._int_to_bn(numbers.q) - else: - q = self._ffi.NULL - - res = self._lib.DH_set0_pqg(dh_cdata, p, q, g) - self.openssl_assert(res == 1) - - return _DHParameters(self, dh_cdata) - - def dh_parameters_supported(self, p, g, q=None): - dh_cdata = self._lib.DH_new() - self.openssl_assert(dh_cdata != self._ffi.NULL) - dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) - - p = self._int_to_bn(p) - g = self._int_to_bn(g) - - if q is not None: - q = self._int_to_bn(q) - else: - q = self._ffi.NULL - - res = self._lib.DH_set0_pqg(dh_cdata, p, q, g) - self.openssl_assert(res == 1) - - codes = self._ffi.new("int[]", 1) - res = self._lib.Cryptography_DH_check(dh_cdata, codes) - self.openssl_assert(res == 1) - - return codes[0] == 0 - - def dh_x942_serialization_supported(self): - return self._lib.Cryptography_HAS_EVP_PKEY_DHX == 1 - + + # Anything that key-specific code was supposed to handle earlier, + # like Raw, CompressedPoint, UncompressedPoint + raise ValueError("format is invalid with this key") + + def _parameter_bytes(self, encoding, format, cdata): + if encoding is serialization.Encoding.OpenSSH: + raise TypeError("OpenSSH encoding is not supported") + + # Only DH is supported here currently. + q = self._ffi.new("BIGNUM **") + self._lib.DH_get0_pqg(cdata, self._ffi.NULL, q, self._ffi.NULL) + if encoding is serialization.Encoding.PEM: + if q[0] != self._ffi.NULL: + write_bio = self._lib.PEM_write_bio_DHxparams + else: + write_bio = self._lib.PEM_write_bio_DHparams + elif encoding is serialization.Encoding.DER: + if q[0] != self._ffi.NULL: + write_bio = self._lib.Cryptography_i2d_DHxparams_bio + else: + write_bio = self._lib.i2d_DHparams_bio + else: + raise TypeError("encoding must be an item from the Encoding enum") + + bio = self._create_mem_bio_gc() + res = write_bio(bio, cdata) + self.openssl_assert(res == 1) + return self._read_mem_bio(bio) + + def generate_dh_parameters(self, generator, key_size): + if key_size < dh._MIN_MODULUS_SIZE: + raise ValueError( + "DH key_size must be at least {} bits".format( + dh._MIN_MODULUS_SIZE + ) + ) + + if generator not in (2, 5): + raise ValueError("DH generator must be 2 or 5") + + dh_param_cdata = self._lib.DH_new() + self.openssl_assert(dh_param_cdata != self._ffi.NULL) + dh_param_cdata = self._ffi.gc(dh_param_cdata, self._lib.DH_free) + + res = self._lib.DH_generate_parameters_ex( + dh_param_cdata, key_size, generator, self._ffi.NULL + ) + self.openssl_assert(res == 1) + + return _DHParameters(self, dh_param_cdata) + + def _dh_cdata_to_evp_pkey(self, dh_cdata): + evp_pkey = self._create_evp_pkey_gc() + res = self._lib.EVP_PKEY_set1_DH(evp_pkey, dh_cdata) + self.openssl_assert(res == 1) + return evp_pkey + + def generate_dh_private_key(self, parameters): + dh_key_cdata = _dh_params_dup(parameters._dh_cdata, self) + + res = self._lib.DH_generate_key(dh_key_cdata) + self.openssl_assert(res == 1) + + evp_pkey = self._dh_cdata_to_evp_pkey(dh_key_cdata) + + return _DHPrivateKey(self, dh_key_cdata, evp_pkey) + + def generate_dh_private_key_and_parameters(self, generator, key_size): + return self.generate_dh_private_key( + self.generate_dh_parameters(generator, key_size) + ) + + def load_dh_private_numbers(self, numbers): + parameter_numbers = numbers.public_numbers.parameter_numbers + + dh_cdata = self._lib.DH_new() + self.openssl_assert(dh_cdata != self._ffi.NULL) + dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) + + p = self._int_to_bn(parameter_numbers.p) + g = self._int_to_bn(parameter_numbers.g) + + if parameter_numbers.q is not None: + q = self._int_to_bn(parameter_numbers.q) + else: + q = self._ffi.NULL + + pub_key = self._int_to_bn(numbers.public_numbers.y) + priv_key = self._int_to_bn(numbers.x) + + res = self._lib.DH_set0_pqg(dh_cdata, p, q, g) + self.openssl_assert(res == 1) + + res = self._lib.DH_set0_key(dh_cdata, pub_key, priv_key) + self.openssl_assert(res == 1) + + codes = self._ffi.new("int[]", 1) + res = self._lib.Cryptography_DH_check(dh_cdata, codes) + self.openssl_assert(res == 1) + + # DH_check will return DH_NOT_SUITABLE_GENERATOR if p % 24 does not + # equal 11 when the generator is 2 (a quadratic nonresidue). + # We want to ignore that error because p % 24 == 23 is also fine. + # Specifically, g is then a quadratic residue. Within the context of + # Diffie-Hellman this means it can only generate half the possible + # values. That sounds bad, but quadratic nonresidues leak a bit of + # the key to the attacker in exchange for having the full key space + # available. See: https://crypto.stackexchange.com/questions/12961 + if codes[0] != 0 and not ( + parameter_numbers.g == 2 + and codes[0] ^ self._lib.DH_NOT_SUITABLE_GENERATOR == 0 + ): + raise ValueError("DH private numbers did not pass safety checks.") + + evp_pkey = self._dh_cdata_to_evp_pkey(dh_cdata) + + return _DHPrivateKey(self, dh_cdata, evp_pkey) + + def load_dh_public_numbers(self, numbers): + dh_cdata = self._lib.DH_new() + self.openssl_assert(dh_cdata != self._ffi.NULL) + dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) + + parameter_numbers = numbers.parameter_numbers + + p = self._int_to_bn(parameter_numbers.p) + g = self._int_to_bn(parameter_numbers.g) + + if parameter_numbers.q is not None: + q = self._int_to_bn(parameter_numbers.q) + else: + q = self._ffi.NULL + + pub_key = self._int_to_bn(numbers.y) + + res = self._lib.DH_set0_pqg(dh_cdata, p, q, g) + self.openssl_assert(res == 1) + + res = self._lib.DH_set0_key(dh_cdata, pub_key, self._ffi.NULL) + self.openssl_assert(res == 1) + + evp_pkey = self._dh_cdata_to_evp_pkey(dh_cdata) + + return _DHPublicKey(self, dh_cdata, evp_pkey) + + def load_dh_parameter_numbers(self, numbers): + dh_cdata = self._lib.DH_new() + self.openssl_assert(dh_cdata != self._ffi.NULL) + dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) + + p = self._int_to_bn(numbers.p) + g = self._int_to_bn(numbers.g) + + if numbers.q is not None: + q = self._int_to_bn(numbers.q) + else: + q = self._ffi.NULL + + res = self._lib.DH_set0_pqg(dh_cdata, p, q, g) + self.openssl_assert(res == 1) + + return _DHParameters(self, dh_cdata) + + def dh_parameters_supported(self, p, g, q=None): + dh_cdata = self._lib.DH_new() + self.openssl_assert(dh_cdata != self._ffi.NULL) + dh_cdata = self._ffi.gc(dh_cdata, self._lib.DH_free) + + p = self._int_to_bn(p) + g = self._int_to_bn(g) + + if q is not None: + q = self._int_to_bn(q) + else: + q = self._ffi.NULL + + res = self._lib.DH_set0_pqg(dh_cdata, p, q, g) + self.openssl_assert(res == 1) + + codes = self._ffi.new("int[]", 1) + res = self._lib.Cryptography_DH_check(dh_cdata, codes) + self.openssl_assert(res == 1) + + return codes[0] == 0 + + def dh_x942_serialization_supported(self): + return self._lib.Cryptography_HAS_EVP_PKEY_DHX == 1 + def x509_name_bytes(self, name): x509_name = _encode_name_gc(self, name) pp = self._ffi.new("unsigned char **") @@ -2256,509 +2256,509 @@ class Backend(object): self.openssl_assert(res > 0) return self._ffi.buffer(pp[0], res)[:] - def x25519_load_public_bytes(self, data): - # When we drop support for CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 we can - # switch this to EVP_PKEY_new_raw_public_key - if len(data) != 32: - raise ValueError("An X25519 public key is 32 bytes long") - - evp_pkey = self._create_evp_pkey_gc() - res = self._lib.EVP_PKEY_set_type(evp_pkey, self._lib.NID_X25519) - self.openssl_assert(res == 1) - res = self._lib.EVP_PKEY_set1_tls_encodedpoint( - evp_pkey, data, len(data) - ) - self.openssl_assert(res == 1) - return _X25519PublicKey(self, evp_pkey) - - def x25519_load_private_bytes(self, data): - # When we drop support for CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 we can - # switch this to EVP_PKEY_new_raw_private_key and drop the - # zeroed_bytearray garbage. - # OpenSSL only has facilities for loading PKCS8 formatted private - # keys using the algorithm identifiers specified in - # https://tools.ietf.org/html/draft-ietf-curdle-pkix-09. - # This is the standard PKCS8 prefix for a 32 byte X25519 key. - # The form is: - # 0:d=0 hl=2 l= 46 cons: SEQUENCE - # 2:d=1 hl=2 l= 1 prim: INTEGER :00 - # 5:d=1 hl=2 l= 5 cons: SEQUENCE - # 7:d=2 hl=2 l= 3 prim: OBJECT :1.3.101.110 - # 12:d=1 hl=2 l= 34 prim: OCTET STRING (the key) - # Of course there's a bit more complexity. In reality OCTET STRING - # contains an OCTET STRING of length 32! So the last two bytes here - # are \x04\x20, which is an OCTET STRING of length 32. - if len(data) != 32: - raise ValueError("An X25519 private key is 32 bytes long") - - pkcs8_prefix = b'0.\x02\x01\x000\x05\x06\x03+en\x04"\x04 ' - with self._zeroed_bytearray(48) as ba: - ba[0:16] = pkcs8_prefix - ba[16:] = data - bio = self._bytes_to_bio(ba) - evp_pkey = self._lib.d2i_PrivateKey_bio(bio.bio, self._ffi.NULL) - - self.openssl_assert(evp_pkey != self._ffi.NULL) - evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) - self.openssl_assert( - self._lib.EVP_PKEY_id(evp_pkey) == self._lib.EVP_PKEY_X25519 - ) - return _X25519PrivateKey(self, evp_pkey) - - def _evp_pkey_keygen_gc(self, nid): - evp_pkey_ctx = self._lib.EVP_PKEY_CTX_new_id(nid, self._ffi.NULL) - self.openssl_assert(evp_pkey_ctx != self._ffi.NULL) - evp_pkey_ctx = self._ffi.gc(evp_pkey_ctx, self._lib.EVP_PKEY_CTX_free) - res = self._lib.EVP_PKEY_keygen_init(evp_pkey_ctx) - self.openssl_assert(res == 1) - evp_ppkey = self._ffi.new("EVP_PKEY **") - res = self._lib.EVP_PKEY_keygen(evp_pkey_ctx, evp_ppkey) - self.openssl_assert(res == 1) - self.openssl_assert(evp_ppkey[0] != self._ffi.NULL) - evp_pkey = self._ffi.gc(evp_ppkey[0], self._lib.EVP_PKEY_free) - return evp_pkey - - def x25519_generate_key(self): - evp_pkey = self._evp_pkey_keygen_gc(self._lib.NID_X25519) - return _X25519PrivateKey(self, evp_pkey) - - def x25519_supported(self): - if self._fips_enabled: - return False - return not self._lib.CRYPTOGRAPHY_IS_LIBRESSL - - def x448_load_public_bytes(self, data): - if len(data) != 56: - raise ValueError("An X448 public key is 56 bytes long") - - evp_pkey = self._lib.EVP_PKEY_new_raw_public_key( - self._lib.NID_X448, self._ffi.NULL, data, len(data) - ) - self.openssl_assert(evp_pkey != self._ffi.NULL) - evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) - return _X448PublicKey(self, evp_pkey) - - def x448_load_private_bytes(self, data): - if len(data) != 56: - raise ValueError("An X448 private key is 56 bytes long") - - data_ptr = self._ffi.from_buffer(data) - evp_pkey = self._lib.EVP_PKEY_new_raw_private_key( - self._lib.NID_X448, self._ffi.NULL, data_ptr, len(data) - ) - self.openssl_assert(evp_pkey != self._ffi.NULL) - evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) - return _X448PrivateKey(self, evp_pkey) - - def x448_generate_key(self): - evp_pkey = self._evp_pkey_keygen_gc(self._lib.NID_X448) - return _X448PrivateKey(self, evp_pkey) - - def x448_supported(self): - if self._fips_enabled: - return False - return not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 - - def ed25519_supported(self): - if self._fips_enabled: - return False - return not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B - - def ed25519_load_public_bytes(self, data): - utils._check_bytes("data", data) - - if len(data) != ed25519._ED25519_KEY_SIZE: - raise ValueError("An Ed25519 public key is 32 bytes long") - - evp_pkey = self._lib.EVP_PKEY_new_raw_public_key( - self._lib.NID_ED25519, self._ffi.NULL, data, len(data) - ) - self.openssl_assert(evp_pkey != self._ffi.NULL) - evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) - - return _Ed25519PublicKey(self, evp_pkey) - - def ed25519_load_private_bytes(self, data): - if len(data) != ed25519._ED25519_KEY_SIZE: - raise ValueError("An Ed25519 private key is 32 bytes long") - - utils._check_byteslike("data", data) - data_ptr = self._ffi.from_buffer(data) - evp_pkey = self._lib.EVP_PKEY_new_raw_private_key( - self._lib.NID_ED25519, self._ffi.NULL, data_ptr, len(data) - ) - self.openssl_assert(evp_pkey != self._ffi.NULL) - evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) - - return _Ed25519PrivateKey(self, evp_pkey) - - def ed25519_generate_key(self): - evp_pkey = self._evp_pkey_keygen_gc(self._lib.NID_ED25519) - return _Ed25519PrivateKey(self, evp_pkey) - - def ed448_supported(self): - if self._fips_enabled: - return False - return not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B - - def ed448_load_public_bytes(self, data): - utils._check_bytes("data", data) - if len(data) != _ED448_KEY_SIZE: - raise ValueError("An Ed448 public key is 57 bytes long") - - evp_pkey = self._lib.EVP_PKEY_new_raw_public_key( - self._lib.NID_ED448, self._ffi.NULL, data, len(data) - ) - self.openssl_assert(evp_pkey != self._ffi.NULL) - evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) - - return _Ed448PublicKey(self, evp_pkey) - - def ed448_load_private_bytes(self, data): - utils._check_byteslike("data", data) - if len(data) != _ED448_KEY_SIZE: - raise ValueError("An Ed448 private key is 57 bytes long") - - data_ptr = self._ffi.from_buffer(data) - evp_pkey = self._lib.EVP_PKEY_new_raw_private_key( - self._lib.NID_ED448, self._ffi.NULL, data_ptr, len(data) - ) - self.openssl_assert(evp_pkey != self._ffi.NULL) - evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) - - return _Ed448PrivateKey(self, evp_pkey) - - def ed448_generate_key(self): - evp_pkey = self._evp_pkey_keygen_gc(self._lib.NID_ED448) - return _Ed448PrivateKey(self, evp_pkey) - + def x25519_load_public_bytes(self, data): + # When we drop support for CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 we can + # switch this to EVP_PKEY_new_raw_public_key + if len(data) != 32: + raise ValueError("An X25519 public key is 32 bytes long") + + evp_pkey = self._create_evp_pkey_gc() + res = self._lib.EVP_PKEY_set_type(evp_pkey, self._lib.NID_X25519) + self.openssl_assert(res == 1) + res = self._lib.EVP_PKEY_set1_tls_encodedpoint( + evp_pkey, data, len(data) + ) + self.openssl_assert(res == 1) + return _X25519PublicKey(self, evp_pkey) + + def x25519_load_private_bytes(self, data): + # When we drop support for CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 we can + # switch this to EVP_PKEY_new_raw_private_key and drop the + # zeroed_bytearray garbage. + # OpenSSL only has facilities for loading PKCS8 formatted private + # keys using the algorithm identifiers specified in + # https://tools.ietf.org/html/draft-ietf-curdle-pkix-09. + # This is the standard PKCS8 prefix for a 32 byte X25519 key. + # The form is: + # 0:d=0 hl=2 l= 46 cons: SEQUENCE + # 2:d=1 hl=2 l= 1 prim: INTEGER :00 + # 5:d=1 hl=2 l= 5 cons: SEQUENCE + # 7:d=2 hl=2 l= 3 prim: OBJECT :1.3.101.110 + # 12:d=1 hl=2 l= 34 prim: OCTET STRING (the key) + # Of course there's a bit more complexity. In reality OCTET STRING + # contains an OCTET STRING of length 32! So the last two bytes here + # are \x04\x20, which is an OCTET STRING of length 32. + if len(data) != 32: + raise ValueError("An X25519 private key is 32 bytes long") + + pkcs8_prefix = b'0.\x02\x01\x000\x05\x06\x03+en\x04"\x04 ' + with self._zeroed_bytearray(48) as ba: + ba[0:16] = pkcs8_prefix + ba[16:] = data + bio = self._bytes_to_bio(ba) + evp_pkey = self._lib.d2i_PrivateKey_bio(bio.bio, self._ffi.NULL) + + self.openssl_assert(evp_pkey != self._ffi.NULL) + evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) + self.openssl_assert( + self._lib.EVP_PKEY_id(evp_pkey) == self._lib.EVP_PKEY_X25519 + ) + return _X25519PrivateKey(self, evp_pkey) + + def _evp_pkey_keygen_gc(self, nid): + evp_pkey_ctx = self._lib.EVP_PKEY_CTX_new_id(nid, self._ffi.NULL) + self.openssl_assert(evp_pkey_ctx != self._ffi.NULL) + evp_pkey_ctx = self._ffi.gc(evp_pkey_ctx, self._lib.EVP_PKEY_CTX_free) + res = self._lib.EVP_PKEY_keygen_init(evp_pkey_ctx) + self.openssl_assert(res == 1) + evp_ppkey = self._ffi.new("EVP_PKEY **") + res = self._lib.EVP_PKEY_keygen(evp_pkey_ctx, evp_ppkey) + self.openssl_assert(res == 1) + self.openssl_assert(evp_ppkey[0] != self._ffi.NULL) + evp_pkey = self._ffi.gc(evp_ppkey[0], self._lib.EVP_PKEY_free) + return evp_pkey + + def x25519_generate_key(self): + evp_pkey = self._evp_pkey_keygen_gc(self._lib.NID_X25519) + return _X25519PrivateKey(self, evp_pkey) + + def x25519_supported(self): + if self._fips_enabled: + return False + return not self._lib.CRYPTOGRAPHY_IS_LIBRESSL + + def x448_load_public_bytes(self, data): + if len(data) != 56: + raise ValueError("An X448 public key is 56 bytes long") + + evp_pkey = self._lib.EVP_PKEY_new_raw_public_key( + self._lib.NID_X448, self._ffi.NULL, data, len(data) + ) + self.openssl_assert(evp_pkey != self._ffi.NULL) + evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) + return _X448PublicKey(self, evp_pkey) + + def x448_load_private_bytes(self, data): + if len(data) != 56: + raise ValueError("An X448 private key is 56 bytes long") + + data_ptr = self._ffi.from_buffer(data) + evp_pkey = self._lib.EVP_PKEY_new_raw_private_key( + self._lib.NID_X448, self._ffi.NULL, data_ptr, len(data) + ) + self.openssl_assert(evp_pkey != self._ffi.NULL) + evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) + return _X448PrivateKey(self, evp_pkey) + + def x448_generate_key(self): + evp_pkey = self._evp_pkey_keygen_gc(self._lib.NID_X448) + return _X448PrivateKey(self, evp_pkey) + + def x448_supported(self): + if self._fips_enabled: + return False + return not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 + + def ed25519_supported(self): + if self._fips_enabled: + return False + return not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B + + def ed25519_load_public_bytes(self, data): + utils._check_bytes("data", data) + + if len(data) != ed25519._ED25519_KEY_SIZE: + raise ValueError("An Ed25519 public key is 32 bytes long") + + evp_pkey = self._lib.EVP_PKEY_new_raw_public_key( + self._lib.NID_ED25519, self._ffi.NULL, data, len(data) + ) + self.openssl_assert(evp_pkey != self._ffi.NULL) + evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) + + return _Ed25519PublicKey(self, evp_pkey) + + def ed25519_load_private_bytes(self, data): + if len(data) != ed25519._ED25519_KEY_SIZE: + raise ValueError("An Ed25519 private key is 32 bytes long") + + utils._check_byteslike("data", data) + data_ptr = self._ffi.from_buffer(data) + evp_pkey = self._lib.EVP_PKEY_new_raw_private_key( + self._lib.NID_ED25519, self._ffi.NULL, data_ptr, len(data) + ) + self.openssl_assert(evp_pkey != self._ffi.NULL) + evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) + + return _Ed25519PrivateKey(self, evp_pkey) + + def ed25519_generate_key(self): + evp_pkey = self._evp_pkey_keygen_gc(self._lib.NID_ED25519) + return _Ed25519PrivateKey(self, evp_pkey) + + def ed448_supported(self): + if self._fips_enabled: + return False + return not self._lib.CRYPTOGRAPHY_OPENSSL_LESS_THAN_111B + + def ed448_load_public_bytes(self, data): + utils._check_bytes("data", data) + if len(data) != _ED448_KEY_SIZE: + raise ValueError("An Ed448 public key is 57 bytes long") + + evp_pkey = self._lib.EVP_PKEY_new_raw_public_key( + self._lib.NID_ED448, self._ffi.NULL, data, len(data) + ) + self.openssl_assert(evp_pkey != self._ffi.NULL) + evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) + + return _Ed448PublicKey(self, evp_pkey) + + def ed448_load_private_bytes(self, data): + utils._check_byteslike("data", data) + if len(data) != _ED448_KEY_SIZE: + raise ValueError("An Ed448 private key is 57 bytes long") + + data_ptr = self._ffi.from_buffer(data) + evp_pkey = self._lib.EVP_PKEY_new_raw_private_key( + self._lib.NID_ED448, self._ffi.NULL, data_ptr, len(data) + ) + self.openssl_assert(evp_pkey != self._ffi.NULL) + evp_pkey = self._ffi.gc(evp_pkey, self._lib.EVP_PKEY_free) + + return _Ed448PrivateKey(self, evp_pkey) + + def ed448_generate_key(self): + evp_pkey = self._evp_pkey_keygen_gc(self._lib.NID_ED448) + return _Ed448PrivateKey(self, evp_pkey) + def derive_scrypt(self, key_material, salt, length, n, r, p): buf = self._ffi.new("unsigned char[]", length) - key_material_ptr = self._ffi.from_buffer(key_material) - res = self._lib.EVP_PBE_scrypt( - key_material_ptr, - len(key_material), - salt, - len(salt), - n, - r, - p, - scrypt._MEM_LIMIT, - buf, - length, - ) - if res != 1: - errors = self._consume_errors_with_text() - # memory required formula explained here: - # https://blog.filippo.io/the-scrypt-parameters/ - min_memory = 128 * n * r // (1024 ** 2) - raise MemoryError( - "Not enough memory to derive key. These parameters require" - " {} MB of memory.".format(min_memory), - errors, - ) + key_material_ptr = self._ffi.from_buffer(key_material) + res = self._lib.EVP_PBE_scrypt( + key_material_ptr, + len(key_material), + salt, + len(salt), + n, + r, + p, + scrypt._MEM_LIMIT, + buf, + length, + ) + if res != 1: + errors = self._consume_errors_with_text() + # memory required formula explained here: + # https://blog.filippo.io/the-scrypt-parameters/ + min_memory = 128 * n * r // (1024 ** 2) + raise MemoryError( + "Not enough memory to derive key. These parameters require" + " {} MB of memory.".format(min_memory), + errors, + ) return self._ffi.buffer(buf)[:] - def aead_cipher_supported(self, cipher): - cipher_name = aead._aead_cipher_name(cipher) - if self._fips_enabled and cipher_name not in self._fips_aead: - return False - return self._lib.EVP_get_cipherbyname(cipher_name) != self._ffi.NULL - - @contextlib.contextmanager - def _zeroed_bytearray(self, length): - """ - This method creates a bytearray, which we copy data into (hopefully - also from a mutable buffer that can be dynamically erased!), and then - zero when we're done. - """ - ba = bytearray(length) - try: - yield ba - finally: - self._zero_data(ba, length) - - def _zero_data(self, data, length): - # We clear things this way because at the moment we're not - # sure of a better way that can guarantee it overwrites the - # memory of a bytearray and doesn't just replace the underlying char *. - for i in range(length): - data[i] = 0 - - @contextlib.contextmanager - def _zeroed_null_terminated_buf(self, data): - """ - This method takes bytes, which can be a bytestring or a mutable - buffer like a bytearray, and yields a null-terminated version of that - data. This is required because PKCS12_parse doesn't take a length with - its password char * and ffi.from_buffer doesn't provide null - termination. So, to support zeroing the data via bytearray we - need to build this ridiculous construct that copies the memory, but - zeroes it after use. - """ - if data is None: - yield self._ffi.NULL - else: - data_len = len(data) - buf = self._ffi.new("char[]", data_len + 1) - self._ffi.memmove(buf, data, data_len) - try: - yield buf - finally: - # Cast to a uint8_t * so we can assign by integer - self._zero_data(self._ffi.cast("uint8_t *", buf), data_len) - - def load_key_and_certificates_from_pkcs12(self, data, password): - if password is not None: - utils._check_byteslike("password", password) - - bio = self._bytes_to_bio(data) - p12 = self._lib.d2i_PKCS12_bio(bio.bio, self._ffi.NULL) - if p12 == self._ffi.NULL: - self._consume_errors() - raise ValueError("Could not deserialize PKCS12 data") - - p12 = self._ffi.gc(p12, self._lib.PKCS12_free) - evp_pkey_ptr = self._ffi.new("EVP_PKEY **") - x509_ptr = self._ffi.new("X509 **") - sk_x509_ptr = self._ffi.new("Cryptography_STACK_OF_X509 **") - with self._zeroed_null_terminated_buf(password) as password_buf: - res = self._lib.PKCS12_parse( - p12, password_buf, evp_pkey_ptr, x509_ptr, sk_x509_ptr - ) - - if res == 0: - self._consume_errors() - raise ValueError("Invalid password or PKCS12 data") - - cert = None - key = None - additional_certificates = [] - - if evp_pkey_ptr[0] != self._ffi.NULL: - evp_pkey = self._ffi.gc(evp_pkey_ptr[0], self._lib.EVP_PKEY_free) - key = self._evp_pkey_to_private_key(evp_pkey) - - if x509_ptr[0] != self._ffi.NULL: - x509 = self._ffi.gc(x509_ptr[0], self._lib.X509_free) - cert = _Certificate(self, x509) - - if sk_x509_ptr[0] != self._ffi.NULL: - sk_x509 = self._ffi.gc(sk_x509_ptr[0], self._lib.sk_X509_free) - num = self._lib.sk_X509_num(sk_x509_ptr[0]) - for i in range(num): - x509 = self._lib.sk_X509_value(sk_x509, i) - self.openssl_assert(x509 != self._ffi.NULL) - x509 = self._ffi.gc(x509, self._lib.X509_free) - additional_certificates.append(_Certificate(self, x509)) - - return (key, cert, additional_certificates) - - def serialize_key_and_certificates_to_pkcs12( - self, name, key, cert, cas, encryption_algorithm - ): - password = None - if name is not None: - utils._check_bytes("name", name) - - if isinstance(encryption_algorithm, serialization.NoEncryption): - nid_cert = -1 - nid_key = -1 - pkcs12_iter = 0 - mac_iter = 0 - elif isinstance( - encryption_algorithm, serialization.BestAvailableEncryption - ): - # PKCS12 encryption is hopeless trash and can never be fixed. - # This is the least terrible option. - nid_cert = self._lib.NID_pbe_WithSHA1And3_Key_TripleDES_CBC - nid_key = self._lib.NID_pbe_WithSHA1And3_Key_TripleDES_CBC - # At least we can set this higher than OpenSSL's default - pkcs12_iter = 20000 - # mac_iter chosen for compatibility reasons, see: - # https://www.openssl.org/docs/man1.1.1/man3/PKCS12_create.html - # Did we mention how lousy PKCS12 encryption is? - mac_iter = 1 - password = encryption_algorithm.password - else: - raise ValueError("Unsupported key encryption type") - - if cas is None or len(cas) == 0: - sk_x509 = self._ffi.NULL - else: - sk_x509 = self._lib.sk_X509_new_null() - sk_x509 = self._ffi.gc(sk_x509, self._lib.sk_X509_free) - - # reverse the list when building the stack so that they're encoded - # in the order they were originally provided. it is a mystery - for ca in reversed(cas): - res = self._lib.sk_X509_push(sk_x509, ca._x509) - backend.openssl_assert(res >= 1) - - with self._zeroed_null_terminated_buf(password) as password_buf: - with self._zeroed_null_terminated_buf(name) as name_buf: - p12 = self._lib.PKCS12_create( - password_buf, - name_buf, - key._evp_pkey if key else self._ffi.NULL, - cert._x509 if cert else self._ffi.NULL, - sk_x509, - nid_key, - nid_cert, - pkcs12_iter, - mac_iter, - 0, - ) - - self.openssl_assert(p12 != self._ffi.NULL) - p12 = self._ffi.gc(p12, self._lib.PKCS12_free) - - bio = self._create_mem_bio_gc() - res = self._lib.i2d_PKCS12_bio(bio, p12) - self.openssl_assert(res > 0) - return self._read_mem_bio(bio) - - def poly1305_supported(self): - if self._fips_enabled: - return False - return self._lib.Cryptography_HAS_POLY1305 == 1 - - def create_poly1305_ctx(self, key): - utils._check_byteslike("key", key) - if len(key) != _POLY1305_KEY_SIZE: - raise ValueError("A poly1305 key is 32 bytes long") - - return _Poly1305Context(self, key) - - def load_pem_pkcs7_certificates(self, data): - utils._check_bytes("data", data) - bio = self._bytes_to_bio(data) - p7 = self._lib.PEM_read_bio_PKCS7( - bio.bio, self._ffi.NULL, self._ffi.NULL, self._ffi.NULL - ) - if p7 == self._ffi.NULL: - self._consume_errors() - raise ValueError("Unable to parse PKCS7 data") - - p7 = self._ffi.gc(p7, self._lib.PKCS7_free) - return self._load_pkcs7_certificates(p7) - - def load_der_pkcs7_certificates(self, data): - utils._check_bytes("data", data) - bio = self._bytes_to_bio(data) - p7 = self._lib.d2i_PKCS7_bio(bio.bio, self._ffi.NULL) - if p7 == self._ffi.NULL: - self._consume_errors() - raise ValueError("Unable to parse PKCS7 data") - - p7 = self._ffi.gc(p7, self._lib.PKCS7_free) - return self._load_pkcs7_certificates(p7) - - def _load_pkcs7_certificates(self, p7): - nid = self._lib.OBJ_obj2nid(p7.type) - self.openssl_assert(nid != self._lib.NID_undef) - if nid != self._lib.NID_pkcs7_signed: - raise UnsupportedAlgorithm( - "Only basic signed structures are currently supported. NID" - " for this data was {}".format(nid), - _Reasons.UNSUPPORTED_SERIALIZATION, - ) - - sk_x509 = p7.d.sign.cert - num = self._lib.sk_X509_num(sk_x509) - certs = [] - for i in range(num): - x509 = self._lib.sk_X509_value(sk_x509, i) - self.openssl_assert(x509 != self._ffi.NULL) - res = self._lib.X509_up_ref(x509) - # When OpenSSL is less than 1.1.0 up_ref returns the current - # refcount. On 1.1.0+ it returns 1 for success. - self.openssl_assert(res >= 1) - x509 = self._ffi.gc(x509, self._lib.X509_free) - certs.append(_Certificate(self, x509)) - - return certs - - def pkcs7_sign(self, builder, encoding, options): - bio = self._bytes_to_bio(builder._data) - init_flags = self._lib.PKCS7_PARTIAL - final_flags = 0 - - if len(builder._additional_certs) == 0: - certs = self._ffi.NULL - else: - certs = self._lib.sk_X509_new_null() - certs = self._ffi.gc(certs, self._lib.sk_X509_free) - for cert in builder._additional_certs: - res = self._lib.sk_X509_push(certs, cert._x509) - self.openssl_assert(res >= 1) - - if pkcs7.PKCS7Options.DetachedSignature in options: - # Don't embed the data in the PKCS7 structure - init_flags |= self._lib.PKCS7_DETACHED - final_flags |= self._lib.PKCS7_DETACHED - - # This just inits a structure for us. However, there - # are flags we need to set, joy. - p7 = self._lib.PKCS7_sign( - self._ffi.NULL, - self._ffi.NULL, - certs, - self._ffi.NULL, - init_flags, - ) - self.openssl_assert(p7 != self._ffi.NULL) - p7 = self._ffi.gc(p7, self._lib.PKCS7_free) - signer_flags = 0 - # These flags are configurable on a per-signature basis - # but we've deliberately chosen to make the API only allow - # setting it across all signatures for now. - if pkcs7.PKCS7Options.NoCapabilities in options: - signer_flags |= self._lib.PKCS7_NOSMIMECAP - elif pkcs7.PKCS7Options.NoAttributes in options: - signer_flags |= self._lib.PKCS7_NOATTR - - if pkcs7.PKCS7Options.NoCerts in options: - signer_flags |= self._lib.PKCS7_NOCERTS - - for certificate, private_key, hash_algorithm in builder._signers: - md = self._evp_md_non_null_from_algorithm(hash_algorithm) - p7signerinfo = self._lib.PKCS7_sign_add_signer( - p7, certificate._x509, private_key._evp_pkey, md, signer_flags - ) - self.openssl_assert(p7signerinfo != self._ffi.NULL) - - for option in options: - # DetachedSignature, NoCapabilities, and NoAttributes are already - # handled so we just need to check these last two options. - if option is pkcs7.PKCS7Options.Text: - final_flags |= self._lib.PKCS7_TEXT - elif option is pkcs7.PKCS7Options.Binary: - final_flags |= self._lib.PKCS7_BINARY - - bio_out = self._create_mem_bio_gc() - if encoding is serialization.Encoding.SMIME: - # This finalizes the structure - res = self._lib.SMIME_write_PKCS7( - bio_out, p7, bio.bio, final_flags - ) - elif encoding is serialization.Encoding.PEM: - res = self._lib.PKCS7_final(p7, bio.bio, final_flags) - self.openssl_assert(res == 1) - res = self._lib.PEM_write_bio_PKCS7_stream( - bio_out, p7, bio.bio, final_flags - ) - else: - assert encoding is serialization.Encoding.DER - # We need to call finalize here becauase i2d_PKCS7_bio does not - # finalize. - res = self._lib.PKCS7_final(p7, bio.bio, final_flags) - self.openssl_assert(res == 1) - res = self._lib.i2d_PKCS7_bio(bio_out, p7) - self.openssl_assert(res == 1) - return self._read_mem_bio(bio_out) - - + def aead_cipher_supported(self, cipher): + cipher_name = aead._aead_cipher_name(cipher) + if self._fips_enabled and cipher_name not in self._fips_aead: + return False + return self._lib.EVP_get_cipherbyname(cipher_name) != self._ffi.NULL + + @contextlib.contextmanager + def _zeroed_bytearray(self, length): + """ + This method creates a bytearray, which we copy data into (hopefully + also from a mutable buffer that can be dynamically erased!), and then + zero when we're done. + """ + ba = bytearray(length) + try: + yield ba + finally: + self._zero_data(ba, length) + + def _zero_data(self, data, length): + # We clear things this way because at the moment we're not + # sure of a better way that can guarantee it overwrites the + # memory of a bytearray and doesn't just replace the underlying char *. + for i in range(length): + data[i] = 0 + + @contextlib.contextmanager + def _zeroed_null_terminated_buf(self, data): + """ + This method takes bytes, which can be a bytestring or a mutable + buffer like a bytearray, and yields a null-terminated version of that + data. This is required because PKCS12_parse doesn't take a length with + its password char * and ffi.from_buffer doesn't provide null + termination. So, to support zeroing the data via bytearray we + need to build this ridiculous construct that copies the memory, but + zeroes it after use. + """ + if data is None: + yield self._ffi.NULL + else: + data_len = len(data) + buf = self._ffi.new("char[]", data_len + 1) + self._ffi.memmove(buf, data, data_len) + try: + yield buf + finally: + # Cast to a uint8_t * so we can assign by integer + self._zero_data(self._ffi.cast("uint8_t *", buf), data_len) + + def load_key_and_certificates_from_pkcs12(self, data, password): + if password is not None: + utils._check_byteslike("password", password) + + bio = self._bytes_to_bio(data) + p12 = self._lib.d2i_PKCS12_bio(bio.bio, self._ffi.NULL) + if p12 == self._ffi.NULL: + self._consume_errors() + raise ValueError("Could not deserialize PKCS12 data") + + p12 = self._ffi.gc(p12, self._lib.PKCS12_free) + evp_pkey_ptr = self._ffi.new("EVP_PKEY **") + x509_ptr = self._ffi.new("X509 **") + sk_x509_ptr = self._ffi.new("Cryptography_STACK_OF_X509 **") + with self._zeroed_null_terminated_buf(password) as password_buf: + res = self._lib.PKCS12_parse( + p12, password_buf, evp_pkey_ptr, x509_ptr, sk_x509_ptr + ) + + if res == 0: + self._consume_errors() + raise ValueError("Invalid password or PKCS12 data") + + cert = None + key = None + additional_certificates = [] + + if evp_pkey_ptr[0] != self._ffi.NULL: + evp_pkey = self._ffi.gc(evp_pkey_ptr[0], self._lib.EVP_PKEY_free) + key = self._evp_pkey_to_private_key(evp_pkey) + + if x509_ptr[0] != self._ffi.NULL: + x509 = self._ffi.gc(x509_ptr[0], self._lib.X509_free) + cert = _Certificate(self, x509) + + if sk_x509_ptr[0] != self._ffi.NULL: + sk_x509 = self._ffi.gc(sk_x509_ptr[0], self._lib.sk_X509_free) + num = self._lib.sk_X509_num(sk_x509_ptr[0]) + for i in range(num): + x509 = self._lib.sk_X509_value(sk_x509, i) + self.openssl_assert(x509 != self._ffi.NULL) + x509 = self._ffi.gc(x509, self._lib.X509_free) + additional_certificates.append(_Certificate(self, x509)) + + return (key, cert, additional_certificates) + + def serialize_key_and_certificates_to_pkcs12( + self, name, key, cert, cas, encryption_algorithm + ): + password = None + if name is not None: + utils._check_bytes("name", name) + + if isinstance(encryption_algorithm, serialization.NoEncryption): + nid_cert = -1 + nid_key = -1 + pkcs12_iter = 0 + mac_iter = 0 + elif isinstance( + encryption_algorithm, serialization.BestAvailableEncryption + ): + # PKCS12 encryption is hopeless trash and can never be fixed. + # This is the least terrible option. + nid_cert = self._lib.NID_pbe_WithSHA1And3_Key_TripleDES_CBC + nid_key = self._lib.NID_pbe_WithSHA1And3_Key_TripleDES_CBC + # At least we can set this higher than OpenSSL's default + pkcs12_iter = 20000 + # mac_iter chosen for compatibility reasons, see: + # https://www.openssl.org/docs/man1.1.1/man3/PKCS12_create.html + # Did we mention how lousy PKCS12 encryption is? + mac_iter = 1 + password = encryption_algorithm.password + else: + raise ValueError("Unsupported key encryption type") + + if cas is None or len(cas) == 0: + sk_x509 = self._ffi.NULL + else: + sk_x509 = self._lib.sk_X509_new_null() + sk_x509 = self._ffi.gc(sk_x509, self._lib.sk_X509_free) + + # reverse the list when building the stack so that they're encoded + # in the order they were originally provided. it is a mystery + for ca in reversed(cas): + res = self._lib.sk_X509_push(sk_x509, ca._x509) + backend.openssl_assert(res >= 1) + + with self._zeroed_null_terminated_buf(password) as password_buf: + with self._zeroed_null_terminated_buf(name) as name_buf: + p12 = self._lib.PKCS12_create( + password_buf, + name_buf, + key._evp_pkey if key else self._ffi.NULL, + cert._x509 if cert else self._ffi.NULL, + sk_x509, + nid_key, + nid_cert, + pkcs12_iter, + mac_iter, + 0, + ) + + self.openssl_assert(p12 != self._ffi.NULL) + p12 = self._ffi.gc(p12, self._lib.PKCS12_free) + + bio = self._create_mem_bio_gc() + res = self._lib.i2d_PKCS12_bio(bio, p12) + self.openssl_assert(res > 0) + return self._read_mem_bio(bio) + + def poly1305_supported(self): + if self._fips_enabled: + return False + return self._lib.Cryptography_HAS_POLY1305 == 1 + + def create_poly1305_ctx(self, key): + utils._check_byteslike("key", key) + if len(key) != _POLY1305_KEY_SIZE: + raise ValueError("A poly1305 key is 32 bytes long") + + return _Poly1305Context(self, key) + + def load_pem_pkcs7_certificates(self, data): + utils._check_bytes("data", data) + bio = self._bytes_to_bio(data) + p7 = self._lib.PEM_read_bio_PKCS7( + bio.bio, self._ffi.NULL, self._ffi.NULL, self._ffi.NULL + ) + if p7 == self._ffi.NULL: + self._consume_errors() + raise ValueError("Unable to parse PKCS7 data") + + p7 = self._ffi.gc(p7, self._lib.PKCS7_free) + return self._load_pkcs7_certificates(p7) + + def load_der_pkcs7_certificates(self, data): + utils._check_bytes("data", data) + bio = self._bytes_to_bio(data) + p7 = self._lib.d2i_PKCS7_bio(bio.bio, self._ffi.NULL) + if p7 == self._ffi.NULL: + self._consume_errors() + raise ValueError("Unable to parse PKCS7 data") + + p7 = self._ffi.gc(p7, self._lib.PKCS7_free) + return self._load_pkcs7_certificates(p7) + + def _load_pkcs7_certificates(self, p7): + nid = self._lib.OBJ_obj2nid(p7.type) + self.openssl_assert(nid != self._lib.NID_undef) + if nid != self._lib.NID_pkcs7_signed: + raise UnsupportedAlgorithm( + "Only basic signed structures are currently supported. NID" + " for this data was {}".format(nid), + _Reasons.UNSUPPORTED_SERIALIZATION, + ) + + sk_x509 = p7.d.sign.cert + num = self._lib.sk_X509_num(sk_x509) + certs = [] + for i in range(num): + x509 = self._lib.sk_X509_value(sk_x509, i) + self.openssl_assert(x509 != self._ffi.NULL) + res = self._lib.X509_up_ref(x509) + # When OpenSSL is less than 1.1.0 up_ref returns the current + # refcount. On 1.1.0+ it returns 1 for success. + self.openssl_assert(res >= 1) + x509 = self._ffi.gc(x509, self._lib.X509_free) + certs.append(_Certificate(self, x509)) + + return certs + + def pkcs7_sign(self, builder, encoding, options): + bio = self._bytes_to_bio(builder._data) + init_flags = self._lib.PKCS7_PARTIAL + final_flags = 0 + + if len(builder._additional_certs) == 0: + certs = self._ffi.NULL + else: + certs = self._lib.sk_X509_new_null() + certs = self._ffi.gc(certs, self._lib.sk_X509_free) + for cert in builder._additional_certs: + res = self._lib.sk_X509_push(certs, cert._x509) + self.openssl_assert(res >= 1) + + if pkcs7.PKCS7Options.DetachedSignature in options: + # Don't embed the data in the PKCS7 structure + init_flags |= self._lib.PKCS7_DETACHED + final_flags |= self._lib.PKCS7_DETACHED + + # This just inits a structure for us. However, there + # are flags we need to set, joy. + p7 = self._lib.PKCS7_sign( + self._ffi.NULL, + self._ffi.NULL, + certs, + self._ffi.NULL, + init_flags, + ) + self.openssl_assert(p7 != self._ffi.NULL) + p7 = self._ffi.gc(p7, self._lib.PKCS7_free) + signer_flags = 0 + # These flags are configurable on a per-signature basis + # but we've deliberately chosen to make the API only allow + # setting it across all signatures for now. + if pkcs7.PKCS7Options.NoCapabilities in options: + signer_flags |= self._lib.PKCS7_NOSMIMECAP + elif pkcs7.PKCS7Options.NoAttributes in options: + signer_flags |= self._lib.PKCS7_NOATTR + + if pkcs7.PKCS7Options.NoCerts in options: + signer_flags |= self._lib.PKCS7_NOCERTS + + for certificate, private_key, hash_algorithm in builder._signers: + md = self._evp_md_non_null_from_algorithm(hash_algorithm) + p7signerinfo = self._lib.PKCS7_sign_add_signer( + p7, certificate._x509, private_key._evp_pkey, md, signer_flags + ) + self.openssl_assert(p7signerinfo != self._ffi.NULL) + + for option in options: + # DetachedSignature, NoCapabilities, and NoAttributes are already + # handled so we just need to check these last two options. + if option is pkcs7.PKCS7Options.Text: + final_flags |= self._lib.PKCS7_TEXT + elif option is pkcs7.PKCS7Options.Binary: + final_flags |= self._lib.PKCS7_BINARY + + bio_out = self._create_mem_bio_gc() + if encoding is serialization.Encoding.SMIME: + # This finalizes the structure + res = self._lib.SMIME_write_PKCS7( + bio_out, p7, bio.bio, final_flags + ) + elif encoding is serialization.Encoding.PEM: + res = self._lib.PKCS7_final(p7, bio.bio, final_flags) + self.openssl_assert(res == 1) + res = self._lib.PEM_write_bio_PKCS7_stream( + bio_out, p7, bio.bio, final_flags + ) + else: + assert encoding is serialization.Encoding.DER + # We need to call finalize here becauase i2d_PKCS7_bio does not + # finalize. + res = self._lib.PKCS7_final(p7, bio.bio, final_flags) + self.openssl_assert(res == 1) + res = self._lib.i2d_PKCS7_bio(bio_out, p7) + self.openssl_assert(res == 1) + return self._read_mem_bio(bio_out) + + class GetCipherByName(object): def __init__(self, fmt): self._fmt = fmt @@ -2768,9 +2768,9 @@ class GetCipherByName(object): return backend._lib.EVP_get_cipherbyname(cipher_name.encode("ascii")) -def _get_xts_cipher(backend, cipher, mode): - cipher_name = "aes-{}-xts".format(cipher.key_size // 2) - return backend._lib.EVP_get_cipherbyname(cipher_name.encode("ascii")) - - +def _get_xts_cipher(backend, cipher, mode): + cipher_name = "aes-{}-xts".format(cipher.key_size // 2) + return backend._lib.EVP_get_cipherbyname(cipher_name.encode("ascii")) + + backend = Backend() diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ciphers.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ciphers.py index 423ea09e1e..ad5dad3f7e 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ciphers.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ciphers.py @@ -13,11 +13,11 @@ from cryptography.hazmat.primitives.ciphers import modes @utils.register_interface(ciphers.CipherContext) @utils.register_interface(ciphers.AEADCipherContext) @utils.register_interface(ciphers.AEADEncryptionContext) -@utils.register_interface(ciphers.AEADDecryptionContext) +@utils.register_interface(ciphers.AEADDecryptionContext) class _CipherContext(object): _ENCRYPT = 1 _DECRYPT = 0 - _MAX_CHUNK_SIZE = 2 ** 30 - 1 + _MAX_CHUNK_SIZE = 2 ** 30 - 1 def __init__(self, backend, cipher, mode, operation): self._backend = backend @@ -41,45 +41,45 @@ class _CipherContext(object): adapter = registry[type(cipher), type(mode)] except KeyError: raise UnsupportedAlgorithm( - "cipher {} in {} mode is not supported " + "cipher {} in {} mode is not supported " "by this backend.".format( - cipher.name, mode.name if mode else mode - ), - _Reasons.UNSUPPORTED_CIPHER, + cipher.name, mode.name if mode else mode + ), + _Reasons.UNSUPPORTED_CIPHER, ) evp_cipher = adapter(self._backend, cipher, mode) if evp_cipher == self._backend._ffi.NULL: - msg = "cipher {0.name} ".format(cipher) - if mode is not None: - msg += "in {0.name} mode ".format(mode) - msg += ( - "is not supported by this backend (Your version of OpenSSL " - "may be too old. Current version: {}.)" - ).format(self._backend.openssl_version_text()) - raise UnsupportedAlgorithm(msg, _Reasons.UNSUPPORTED_CIPHER) + msg = "cipher {0.name} ".format(cipher) + if mode is not None: + msg += "in {0.name} mode ".format(mode) + msg += ( + "is not supported by this backend (Your version of OpenSSL " + "may be too old. Current version: {}.)" + ).format(self._backend.openssl_version_text()) + raise UnsupportedAlgorithm(msg, _Reasons.UNSUPPORTED_CIPHER) if isinstance(mode, modes.ModeWithInitializationVector): - iv_nonce = self._backend._ffi.from_buffer( - mode.initialization_vector - ) - elif isinstance(mode, modes.ModeWithTweak): - iv_nonce = self._backend._ffi.from_buffer(mode.tweak) + iv_nonce = self._backend._ffi.from_buffer( + mode.initialization_vector + ) + elif isinstance(mode, modes.ModeWithTweak): + iv_nonce = self._backend._ffi.from_buffer(mode.tweak) elif isinstance(mode, modes.ModeWithNonce): - iv_nonce = self._backend._ffi.from_buffer(mode.nonce) - elif isinstance(cipher, modes.ModeWithNonce): - iv_nonce = self._backend._ffi.from_buffer(cipher.nonce) + iv_nonce = self._backend._ffi.from_buffer(mode.nonce) + elif isinstance(cipher, modes.ModeWithNonce): + iv_nonce = self._backend._ffi.from_buffer(cipher.nonce) else: iv_nonce = self._backend._ffi.NULL # begin init with cipher and operation type - res = self._backend._lib.EVP_CipherInit_ex( - ctx, - evp_cipher, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - operation, - ) + res = self._backend._lib.EVP_CipherInit_ex( + ctx, + evp_cipher, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + operation, + ) self._backend.openssl_assert(res != 0) # set the key length to handle variable key ciphers res = self._backend._lib.EVP_CIPHER_CTX_set_key_length( @@ -88,30 +88,30 @@ class _CipherContext(object): self._backend.openssl_assert(res != 0) if isinstance(mode, modes.GCM): res = self._backend._lib.EVP_CIPHER_CTX_ctrl( - ctx, - self._backend._lib.EVP_CTRL_AEAD_SET_IVLEN, - len(iv_nonce), - self._backend._ffi.NULL, + ctx, + self._backend._lib.EVP_CTRL_AEAD_SET_IVLEN, + len(iv_nonce), + self._backend._ffi.NULL, ) self._backend.openssl_assert(res != 0) - if mode.tag is not None: + if mode.tag is not None: res = self._backend._lib.EVP_CIPHER_CTX_ctrl( - ctx, - self._backend._lib.EVP_CTRL_AEAD_SET_TAG, - len(mode.tag), - mode.tag, + ctx, + self._backend._lib.EVP_CTRL_AEAD_SET_TAG, + len(mode.tag), + mode.tag, ) self._backend.openssl_assert(res != 0) - self._tag = mode.tag + self._tag = mode.tag # pass key/iv res = self._backend._lib.EVP_CipherInit_ex( ctx, self._backend._ffi.NULL, self._backend._ffi.NULL, - self._backend._ffi.from_buffer(cipher.key), - iv_nonce, - operation, + self._backend._ffi.from_buffer(cipher.key), + iv_nonce, + operation, ) self._backend.openssl_assert(res != 0) # We purposely disable padding here as it's handled higher up in the @@ -120,48 +120,48 @@ class _CipherContext(object): self._ctx = ctx def update(self, data): - buf = bytearray(len(data) + self._block_size_bytes - 1) - n = self.update_into(data, buf) - return bytes(buf[:n]) - - def update_into(self, data, buf): - total_data_len = len(data) - if len(buf) < (total_data_len + self._block_size_bytes - 1): - raise ValueError( - "buffer must be at least {} bytes for this " - "payload".format(len(data) + self._block_size_bytes - 1) - ) - - data_processed = 0 - total_out = 0 + buf = bytearray(len(data) + self._block_size_bytes - 1) + n = self.update_into(data, buf) + return bytes(buf[:n]) + + def update_into(self, data, buf): + total_data_len = len(data) + if len(buf) < (total_data_len + self._block_size_bytes - 1): + raise ValueError( + "buffer must be at least {} bytes for this " + "payload".format(len(data) + self._block_size_bytes - 1) + ) + + data_processed = 0 + total_out = 0 outlen = self._backend._ffi.new("int *") - baseoutbuf = self._backend._ffi.from_buffer(buf) - baseinbuf = self._backend._ffi.from_buffer(data) - - while data_processed != total_data_len: - outbuf = baseoutbuf + total_out - inbuf = baseinbuf + data_processed - inlen = min(self._MAX_CHUNK_SIZE, total_data_len - data_processed) - - res = self._backend._lib.EVP_CipherUpdate( - self._ctx, outbuf, outlen, inbuf, inlen - ) - self._backend.openssl_assert(res != 0) - data_processed += inlen - total_out += outlen[0] - - return total_out - + baseoutbuf = self._backend._ffi.from_buffer(buf) + baseinbuf = self._backend._ffi.from_buffer(data) + + while data_processed != total_data_len: + outbuf = baseoutbuf + total_out + inbuf = baseinbuf + data_processed + inlen = min(self._MAX_CHUNK_SIZE, total_data_len - data_processed) + + res = self._backend._lib.EVP_CipherUpdate( + self._ctx, outbuf, outlen, inbuf, inlen + ) + self._backend.openssl_assert(res != 0) + data_processed += inlen + total_out += outlen[0] + + return total_out + def finalize(self): - if ( - self._operation == self._DECRYPT - and isinstance(self._mode, modes.ModeWithAuthenticationTag) - and self.tag is None - ): - raise ValueError( - "Authentication tag must be provided when decrypting." - ) - + if ( + self._operation == self._DECRYPT + and isinstance(self._mode, modes.ModeWithAuthenticationTag) + and self.tag is None + ): + raise ValueError( + "Authentication tag must be provided when decrypting." + ) + buf = self._backend._ffi.new("unsigned char[]", self._block_size_bytes) outlen = self._backend._ffi.new("int *") res = self._backend._lib.EVP_CipherFinal_ex(self._ctx, buf, outlen) @@ -172,59 +172,59 @@ class _CipherContext(object): raise InvalidTag self._backend.openssl_assert( - errors[0]._lib_reason_match( + errors[0]._lib_reason_match( self._backend._lib.ERR_LIB_EVP, - self._backend._lib.EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH, - ), - errors=errors, + self._backend._lib.EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH, + ), + errors=errors, ) raise ValueError( "The length of the provided data is not a multiple of " "the block length." ) - if ( - isinstance(self._mode, modes.GCM) - and self._operation == self._ENCRYPT - ): + if ( + isinstance(self._mode, modes.GCM) + and self._operation == self._ENCRYPT + ): tag_buf = self._backend._ffi.new( "unsigned char[]", self._block_size_bytes ) res = self._backend._lib.EVP_CIPHER_CTX_ctrl( - self._ctx, - self._backend._lib.EVP_CTRL_AEAD_GET_TAG, - self._block_size_bytes, - tag_buf, + self._ctx, + self._backend._lib.EVP_CTRL_AEAD_GET_TAG, + self._block_size_bytes, + tag_buf, ) self._backend.openssl_assert(res != 0) self._tag = self._backend._ffi.buffer(tag_buf)[:] res = self._backend._lib.EVP_CIPHER_CTX_cleanup(self._ctx) self._backend.openssl_assert(res == 1) - return self._backend._ffi.buffer(buf)[: outlen[0]] - - def finalize_with_tag(self, tag): - if len(tag) < self._mode._min_tag_length: - raise ValueError( - "Authentication tag must be {} bytes or longer.".format( - self._mode._min_tag_length - ) - ) - res = self._backend._lib.EVP_CIPHER_CTX_ctrl( - self._ctx, self._backend._lib.EVP_CTRL_AEAD_SET_TAG, len(tag), tag - ) - self._backend.openssl_assert(res != 0) - self._tag = tag - return self.finalize() - + return self._backend._ffi.buffer(buf)[: outlen[0]] + + def finalize_with_tag(self, tag): + if len(tag) < self._mode._min_tag_length: + raise ValueError( + "Authentication tag must be {} bytes or longer.".format( + self._mode._min_tag_length + ) + ) + res = self._backend._lib.EVP_CIPHER_CTX_ctrl( + self._ctx, self._backend._lib.EVP_CTRL_AEAD_SET_TAG, len(tag), tag + ) + self._backend.openssl_assert(res != 0) + self._tag = tag + return self.finalize() + def authenticate_additional_data(self, data): outlen = self._backend._ffi.new("int *") res = self._backend._lib.EVP_CipherUpdate( - self._ctx, - self._backend._ffi.NULL, - outlen, - self._backend._ffi.from_buffer(data), - len(data), + self._ctx, + self._backend._ffi.NULL, + outlen, + self._backend._ffi.from_buffer(data), + len(data), ) self._backend.openssl_assert(res != 0) diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/cmac.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/cmac.py index 52443aad3c..195fc230f2 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/cmac.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/cmac.py @@ -7,21 +7,21 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.exceptions import ( - InvalidSignature, - UnsupportedAlgorithm, - _Reasons, + InvalidSignature, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.primitives import constant_time +from cryptography.hazmat.primitives import constant_time from cryptography.hazmat.primitives.ciphers.modes import CBC class _CMACContext(object): def __init__(self, backend, algorithm, ctx=None): if not backend.cmac_algorithm_supported(algorithm): - raise UnsupportedAlgorithm( - "This backend does not support CMAC.", - _Reasons.UNSUPPORTED_CIPHER, - ) + raise UnsupportedAlgorithm( + "This backend does not support CMAC.", + _Reasons.UNSUPPORTED_CIPHER, + ) self._backend = backend self._key = algorithm.key @@ -39,15 +39,15 @@ class _CMACContext(object): self._backend.openssl_assert(ctx != self._backend._ffi.NULL) ctx = self._backend._ffi.gc(ctx, self._backend._lib.CMAC_CTX_free) - key_ptr = self._backend._ffi.from_buffer(self._key) - res = self._backend._lib.CMAC_Init( - ctx, - key_ptr, - len(self._key), - evp_cipher, - self._backend._ffi.NULL, + key_ptr = self._backend._ffi.from_buffer(self._key) + res = self._backend._lib.CMAC_Init( + ctx, + key_ptr, + len(self._key), + evp_cipher, + self._backend._ffi.NULL, ) - self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(res == 1) self._ctx = ctx @@ -60,7 +60,7 @@ class _CMACContext(object): def finalize(self): buf = self._backend._ffi.new("unsigned char[]", self._output_length) length = self._backend._ffi.new("size_t *", self._output_length) - res = self._backend._lib.CMAC_Final(self._ctx, buf, length) + res = self._backend._lib.CMAC_Final(self._ctx, buf, length) self._backend.openssl_assert(res == 1) self._ctx = None @@ -72,9 +72,9 @@ class _CMACContext(object): copied_ctx = self._backend._ffi.gc( copied_ctx, self._backend._lib.CMAC_CTX_free ) - res = self._backend._lib.CMAC_CTX_copy(copied_ctx, self._ctx) + res = self._backend._lib.CMAC_CTX_copy(copied_ctx, self._ctx) self._backend.openssl_assert(res == 1) - return _CMACContext(self._backend, self._algorithm, ctx=copied_ctx) + return _CMACContext(self._backend, self._algorithm, ctx=copied_ctx) def verify(self, signature): digest = self.finalize() diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/decode_asn1.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/decode_asn1.py index 98812aae7d..cc9b8c0e34 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/decode_asn1.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/decode_asn1.py @@ -10,37 +10,37 @@ import ipaddress import six from cryptography import x509 -from cryptography.hazmat._der import DERReader, INTEGER, NULL, SEQUENCE -from cryptography.x509.extensions import _TLS_FEATURE_TYPE_TO_ENUM -from cryptography.x509.name import _ASN1_TYPE_TO_ENUM +from cryptography.hazmat._der import DERReader, INTEGER, NULL, SEQUENCE +from cryptography.x509.extensions import _TLS_FEATURE_TYPE_TO_ENUM +from cryptography.x509.name import _ASN1_TYPE_TO_ENUM from cryptography.x509.oid import ( - CRLEntryExtensionOID, - CertificatePoliciesOID, - ExtensionOID, - OCSPExtensionOID, + CRLEntryExtensionOID, + CertificatePoliciesOID, + ExtensionOID, + OCSPExtensionOID, ) def _obj2txt(backend, obj): # Set to 80 on the recommendation of # https://www.openssl.org/docs/crypto/OBJ_nid2ln.html#return_values - # - # But OIDs longer than this occur in real life (e.g. Active - # Directory makes some very long OIDs). So we need to detect - # and properly handle the case where the default buffer is not - # big enough. - # + # + # But OIDs longer than this occur in real life (e.g. Active + # Directory makes some very long OIDs). So we need to detect + # and properly handle the case where the default buffer is not + # big enough. + # buf_len = 80 buf = backend._ffi.new("char[]", buf_len) - - # 'res' is the number of bytes that *would* be written if the - # buffer is large enough. If 'res' > buf_len - 1, we need to - # alloc a big-enough buffer and go again. + + # 'res' is the number of bytes that *would* be written if the + # buffer is large enough. If 'res' > buf_len - 1, we need to + # alloc a big-enough buffer and go again. res = backend._lib.OBJ_obj2txt(buf, buf_len, obj, 1) - if res > buf_len - 1: # account for terminating null byte - buf_len = res + 1 - buf = backend._ffi.new("char[]", buf_len) - res = backend._lib.OBJ_obj2txt(buf, buf_len, obj, 1) + if res > buf_len - 1: # account for terminating null byte + buf_len = res + 1 + buf = backend._ffi.new("char[]", buf_len) + res = backend._lib.OBJ_obj2txt(buf, buf_len, obj, 1) backend.openssl_assert(res > 0) return backend._ffi.buffer(buf, res)[:].decode() @@ -52,9 +52,9 @@ def _decode_x509_name_entry(backend, x509_name_entry): backend.openssl_assert(data != backend._ffi.NULL) value = _asn1_string_to_utf8(backend, data) oid = _obj2txt(backend, obj) - type = _ASN1_TYPE_TO_ENUM[data.type] + type = _ASN1_TYPE_TO_ENUM[data.type] - return x509.NameAttribute(x509.ObjectIdentifier(oid), value, type) + return x509.NameAttribute(x509.ObjectIdentifier(oid), value, type) def _decode_x509_name(backend, x509_name): @@ -64,9 +64,9 @@ def _decode_x509_name(backend, x509_name): for x in range(count): entry = backend._lib.X509_NAME_get_entry(x509_name, x) attribute = _decode_x509_name_entry(backend, entry) - set_id = backend._lib.X509_NAME_ENTRY_set(entry) + set_id = backend._lib.X509_NAME_ENTRY_set(entry) if set_id != prev_set_id: - attributes.append({attribute}) + attributes.append({attribute}) else: # is in the same RDN a previous entry attributes[-1].add(attribute) @@ -88,25 +88,25 @@ def _decode_general_names(backend, gns): def _decode_general_name(backend, gn): if gn.type == backend._lib.GEN_DNS: - # Convert to bytes and then decode to utf8. We don't use - # asn1_string_to_utf8 here because it doesn't properly convert - # utf8 from ia5strings. - data = _asn1_string_to_bytes(backend, gn.d.dNSName).decode("utf8") - # We don't use the constructor for DNSName so we can bypass validation - # This allows us to create DNSName objects that have unicode chars - # when a certificate (against the RFC) contains them. - return x509.DNSName._init_without_validation(data) + # Convert to bytes and then decode to utf8. We don't use + # asn1_string_to_utf8 here because it doesn't properly convert + # utf8 from ia5strings. + data = _asn1_string_to_bytes(backend, gn.d.dNSName).decode("utf8") + # We don't use the constructor for DNSName so we can bypass validation + # This allows us to create DNSName objects that have unicode chars + # when a certificate (against the RFC) contains them. + return x509.DNSName._init_without_validation(data) elif gn.type == backend._lib.GEN_URI: - # Convert to bytes and then decode to utf8. We don't use - # asn1_string_to_utf8 here because it doesn't properly convert - # utf8 from ia5strings. - data = _asn1_string_to_bytes( - backend, gn.d.uniformResourceIdentifier - ).decode("utf8") - # We don't use the constructor for URI so we can bypass validation - # This allows us to create URI objects that have unicode chars - # when a certificate (against the RFC) contains them. - return x509.UniformResourceIdentifier._init_without_validation(data) + # Convert to bytes and then decode to utf8. We don't use + # asn1_string_to_utf8 here because it doesn't properly convert + # utf8 from ia5strings. + data = _asn1_string_to_bytes( + backend, gn.d.uniformResourceIdentifier + ).decode("utf8") + # We don't use the constructor for URI so we can bypass validation + # This allows us to create URI objects that have unicode chars + # when a certificate (against the RFC) contains them. + return x509.UniformResourceIdentifier._init_without_validation(data) elif gn.type == backend._lib.GEN_RID: oid = _obj2txt(backend, gn.d.registeredID) return x509.RegisteredID(x509.ObjectIdentifier(oid)) @@ -121,10 +121,10 @@ def _decode_general_name(backend, gn): # netmask. To handle this we convert the netmask to integer, then # find the first 0 bit, which will be the prefix. If another 1 # bit is present after that the netmask is invalid. - base = ipaddress.ip_address(data[: data_len // 2]) - netmask = ipaddress.ip_address(data[data_len // 2 :]) + base = ipaddress.ip_address(data[: data_len // 2]) + netmask = ipaddress.ip_address(data[data_len // 2 :]) bits = bin(int(netmask))[2:] - prefix = bits.find("0") + prefix = bits.find("0") # If no 0 bits are found it is a /32 or /128 if prefix == -1: prefix = len(bits) @@ -132,7 +132,7 @@ def _decode_general_name(backend, gn): if "1" in bits[prefix:]: raise ValueError("Invalid netmask") - ip = ipaddress.ip_network(base.exploded + u"/{}".format(prefix)) + ip = ipaddress.ip_network(base.exploded + u"/{}".format(prefix)) else: ip = ipaddress.ip_address(data) @@ -142,14 +142,14 @@ def _decode_general_name(backend, gn): _decode_x509_name(backend, gn.d.directoryName) ) elif gn.type == backend._lib.GEN_EMAIL: - # Convert to bytes and then decode to utf8. We don't use - # asn1_string_to_utf8 here because it doesn't properly convert - # utf8 from ia5strings. - data = _asn1_string_to_bytes(backend, gn.d.rfc822Name).decode("utf8") - # We don't use the constructor for RFC822Name so we can bypass - # validation. This allows us to create RFC822Name objects that have - # unicode chars when a certificate (against the RFC) contains them. - return x509.RFC822Name._init_without_validation(data) + # Convert to bytes and then decode to utf8. We don't use + # asn1_string_to_utf8 here because it doesn't properly convert + # utf8 from ia5strings. + data = _asn1_string_to_bytes(backend, gn.d.rfc822Name).decode("utf8") + # We don't use the constructor for RFC822Name so we can bypass + # validation. This allows us to create RFC822Name objects that have + # unicode chars when a certificate (against the RFC) contains them. + return x509.RFC822Name._init_without_validation(data) elif gn.type == backend._lib.GEN_OTHERNAME: type_id = _obj2txt(backend, gn.d.otherName.type_id) value = _asn1_to_der(backend, gn.d.otherName.value) @@ -157,10 +157,10 @@ def _decode_general_name(backend, gn): else: # x400Address or ediPartyName raise x509.UnsupportedGeneralNameType( - "{} is not a supported type".format( + "{} is not a supported type".format( x509._GENERAL_NAMES.get(gn.type, gn.type) ), - gn.type, + gn.type, ) @@ -174,86 +174,86 @@ def _decode_crl_number(backend, ext): return x509.CRLNumber(_asn1_integer_to_int(backend, asn1_int)) -def _decode_delta_crl_indicator(backend, ext): - asn1_int = backend._ffi.cast("ASN1_INTEGER *", ext) - asn1_int = backend._ffi.gc(asn1_int, backend._lib.ASN1_INTEGER_free) - return x509.DeltaCRLIndicator(_asn1_integer_to_int(backend, asn1_int)) - - +def _decode_delta_crl_indicator(backend, ext): + asn1_int = backend._ffi.cast("ASN1_INTEGER *", ext) + asn1_int = backend._ffi.gc(asn1_int, backend._lib.ASN1_INTEGER_free) + return x509.DeltaCRLIndicator(_asn1_integer_to_int(backend, asn1_int)) + + class _X509ExtensionParser(object): - def __init__(self, backend, ext_count, get_ext, handlers): + def __init__(self, backend, ext_count, get_ext, handlers): self.ext_count = ext_count self.get_ext = get_ext self.handlers = handlers - self._backend = backend + self._backend = backend - def parse(self, x509_obj): + def parse(self, x509_obj): extensions = [] seen_oids = set() - for i in range(self.ext_count(x509_obj)): - ext = self.get_ext(x509_obj, i) - self._backend.openssl_assert(ext != self._backend._ffi.NULL) - crit = self._backend._lib.X509_EXTENSION_get_critical(ext) + for i in range(self.ext_count(x509_obj)): + ext = self.get_ext(x509_obj, i) + self._backend.openssl_assert(ext != self._backend._ffi.NULL) + crit = self._backend._lib.X509_EXTENSION_get_critical(ext) critical = crit == 1 oid = x509.ObjectIdentifier( - _obj2txt( - self._backend, - self._backend._lib.X509_EXTENSION_get_object(ext), - ) + _obj2txt( + self._backend, + self._backend._lib.X509_EXTENSION_get_object(ext), + ) ) if oid in seen_oids: raise x509.DuplicateExtension( - "Duplicate {} extension found".format(oid), oid + "Duplicate {} extension found".format(oid), oid + ) + + # These OIDs are only supported in OpenSSL 1.1.0+ but we want + # to support them in all versions of OpenSSL so we decode them + # ourselves. + if oid == ExtensionOID.TLS_FEATURE: + # The extension contents are a SEQUENCE OF INTEGERs. + data = self._backend._lib.X509_EXTENSION_get_data(ext) + data_bytes = _asn1_string_to_bytes(self._backend, data) + features = DERReader(data_bytes).read_single_element(SEQUENCE) + parsed = [] + while not features.is_empty(): + parsed.append(features.read_element(INTEGER).as_integer()) + # Map the features to their enum value. + value = x509.TLSFeature( + [_TLS_FEATURE_TYPE_TO_ENUM[x] for x in parsed] + ) + extensions.append(x509.Extension(oid, critical, value)) + seen_oids.add(oid) + continue + elif oid == ExtensionOID.PRECERT_POISON: + data = self._backend._lib.X509_EXTENSION_get_data(ext) + # The contents of the extension must be an ASN.1 NULL. + reader = DERReader(_asn1_string_to_bytes(self._backend, data)) + reader.read_single_element(NULL).check_empty() + extensions.append( + x509.Extension(oid, critical, x509.PrecertPoison()) ) - - # These OIDs are only supported in OpenSSL 1.1.0+ but we want - # to support them in all versions of OpenSSL so we decode them - # ourselves. - if oid == ExtensionOID.TLS_FEATURE: - # The extension contents are a SEQUENCE OF INTEGERs. - data = self._backend._lib.X509_EXTENSION_get_data(ext) - data_bytes = _asn1_string_to_bytes(self._backend, data) - features = DERReader(data_bytes).read_single_element(SEQUENCE) - parsed = [] - while not features.is_empty(): - parsed.append(features.read_element(INTEGER).as_integer()) - # Map the features to their enum value. - value = x509.TLSFeature( - [_TLS_FEATURE_TYPE_TO_ENUM[x] for x in parsed] - ) - extensions.append(x509.Extension(oid, critical, value)) - seen_oids.add(oid) - continue - elif oid == ExtensionOID.PRECERT_POISON: - data = self._backend._lib.X509_EXTENSION_get_data(ext) - # The contents of the extension must be an ASN.1 NULL. - reader = DERReader(_asn1_string_to_bytes(self._backend, data)) - reader.read_single_element(NULL).check_empty() - extensions.append( - x509.Extension(oid, critical, x509.PrecertPoison()) - ) - seen_oids.add(oid) - continue - + seen_oids.add(oid) + continue + try: handler = self.handlers[oid] except KeyError: - # Dump the DER payload into an UnrecognizedExtension object - data = self._backend._lib.X509_EXTENSION_get_data(ext) - self._backend.openssl_assert(data != self._backend._ffi.NULL) - der = self._backend._ffi.buffer(data.data, data.length)[:] - unrecognized = x509.UnrecognizedExtension(oid, der) - extensions.append(x509.Extension(oid, critical, unrecognized)) + # Dump the DER payload into an UnrecognizedExtension object + data = self._backend._lib.X509_EXTENSION_get_data(ext) + self._backend.openssl_assert(data != self._backend._ffi.NULL) + der = self._backend._ffi.buffer(data.data, data.length)[:] + unrecognized = x509.UnrecognizedExtension(oid, der) + extensions.append(x509.Extension(oid, critical, unrecognized)) else: - ext_data = self._backend._lib.X509V3_EXT_d2i(ext) - if ext_data == self._backend._ffi.NULL: - self._backend._consume_errors() + ext_data = self._backend._lib.X509V3_EXT_d2i(ext) + if ext_data == self._backend._ffi.NULL: + self._backend._consume_errors() raise ValueError( - "The {} extension is invalid and can't be " + "The {} extension is invalid and can't be " "parsed".format(oid) ) - value = handler(self._backend, ext_data) + value = handler(self._backend, ext_data) extensions.append(x509.Extension(oid, critical, value)) seen_oids.add(oid) @@ -263,8 +263,8 @@ class _X509ExtensionParser(object): def _decode_certificate_policies(backend, cp): cp = backend._ffi.cast("Cryptography_STACK_OF_POLICYINFO *", cp) - cp = backend._ffi.gc(cp, backend._lib.CERTIFICATEPOLICIES_free) - + cp = backend._ffi.gc(cp, backend._lib.CERTIFICATEPOLICIES_free) + num = backend._lib.sk_POLICYINFO_num(cp) certificate_policies = [] for i in range(num): @@ -275,12 +275,12 @@ def _decode_certificate_policies(backend, cp): qnum = backend._lib.sk_POLICYQUALINFO_num(pi.qualifiers) qualifiers = [] for j in range(qnum): - pqi = backend._lib.sk_POLICYQUALINFO_value(pi.qualifiers, j) - pqualid = x509.ObjectIdentifier(_obj2txt(backend, pqi.pqualid)) + pqi = backend._lib.sk_POLICYQUALINFO_value(pi.qualifiers, j) + pqualid = x509.ObjectIdentifier(_obj2txt(backend, pqi.pqualid)) if pqualid == CertificatePoliciesOID.CPS_QUALIFIER: cpsuri = backend._ffi.buffer( pqi.d.cpsuri.data, pqi.d.cpsuri.length - )[:].decode("ascii") + )[:].decode("ascii") qualifiers.append(cpsuri) else: assert pqualid == CertificatePoliciesOID.CPS_USER_NOTICE @@ -289,7 +289,7 @@ def _decode_certificate_policies(backend, cp): ) qualifiers.append(user_notice) - certificate_policies.append(x509.PolicyInformation(oid, qualifiers)) + certificate_policies.append(x509.PolicyInformation(oid, qualifiers)) return x509.CertificatePolicies(certificate_policies) @@ -302,9 +302,9 @@ def _decode_user_notice(backend, un): explicit_text = _asn1_string_to_utf8(backend, un.exptext) if un.noticeref != backend._ffi.NULL: - organization = _asn1_string_to_utf8(backend, un.noticeref.organization) + organization = _asn1_string_to_utf8(backend, un.noticeref.organization) - num = backend._lib.sk_ASN1_INTEGER_num(un.noticeref.noticenos) + num = backend._lib.sk_ASN1_INTEGER_num(un.noticeref.noticenos) notice_numbers = [] for i in range(num): asn1_int = backend._lib.sk_ASN1_INTEGER_value( @@ -313,7 +313,7 @@ def _decode_user_notice(backend, un): notice_num = _asn1_integer_to_int(backend, asn1_int) notice_numbers.append(notice_num) - notice_reference = x509.NoticeReference(organization, notice_numbers) + notice_reference = x509.NoticeReference(organization, notice_numbers) return x509.UserNotice(notice_reference, explicit_text) @@ -356,7 +356,7 @@ def _decode_authority_key_identifier(backend, akid): )[:] if akid.issuer != backend._ffi.NULL: - authority_cert_issuer = _decode_general_names(backend, akid.issuer) + authority_cert_issuer = _decode_general_names(backend, akid.issuer) authority_cert_serial_number = _asn1_integer_to_int_or_none( backend, akid.serial @@ -367,40 +367,40 @@ def _decode_authority_key_identifier(backend, akid): ) -def _decode_information_access(backend, ia): - ia = backend._ffi.cast("Cryptography_STACK_OF_ACCESS_DESCRIPTION *", ia) - ia = backend._ffi.gc( - ia, - lambda x: backend._lib.sk_ACCESS_DESCRIPTION_pop_free( - x, - backend._ffi.addressof( - backend._lib._original_lib, "ACCESS_DESCRIPTION_free" - ), - ), - ) - num = backend._lib.sk_ACCESS_DESCRIPTION_num(ia) +def _decode_information_access(backend, ia): + ia = backend._ffi.cast("Cryptography_STACK_OF_ACCESS_DESCRIPTION *", ia) + ia = backend._ffi.gc( + ia, + lambda x: backend._lib.sk_ACCESS_DESCRIPTION_pop_free( + x, + backend._ffi.addressof( + backend._lib._original_lib, "ACCESS_DESCRIPTION_free" + ), + ), + ) + num = backend._lib.sk_ACCESS_DESCRIPTION_num(ia) access_descriptions = [] for i in range(num): - ad = backend._lib.sk_ACCESS_DESCRIPTION_value(ia, i) + ad = backend._lib.sk_ACCESS_DESCRIPTION_value(ia, i) backend.openssl_assert(ad.method != backend._ffi.NULL) oid = x509.ObjectIdentifier(_obj2txt(backend, ad.method)) backend.openssl_assert(ad.location != backend._ffi.NULL) gn = _decode_general_name(backend, ad.location) access_descriptions.append(x509.AccessDescription(oid, gn)) - return access_descriptions - - -def _decode_authority_information_access(backend, aia): - access_descriptions = _decode_information_access(backend, aia) + return access_descriptions + + +def _decode_authority_information_access(backend, aia): + access_descriptions = _decode_information_access(backend, aia) return x509.AuthorityInformationAccess(access_descriptions) -def _decode_subject_information_access(backend, aia): - access_descriptions = _decode_information_access(backend, aia) - return x509.SubjectInformationAccess(access_descriptions) - - +def _decode_subject_information_access(backend, aia): + access_descriptions = _decode_information_access(backend, aia) + return x509.SubjectInformationAccess(access_descriptions) + + def _decode_key_usage(backend, bit_string): bit_string = backend._ffi.cast("ASN1_BIT_STRING *", bit_string) bit_string = backend._ffi.gc(bit_string, backend._lib.ASN1_BIT_STRING_free) @@ -423,7 +423,7 @@ def _decode_key_usage(backend, bit_string): key_cert_sign, crl_sign, encipher_only, - decipher_only, + decipher_only, ) @@ -472,35 +472,35 @@ def _decode_general_subtrees(backend, stack_subtrees): return subtrees -def _decode_issuing_dist_point(backend, idp): - idp = backend._ffi.cast("ISSUING_DIST_POINT *", idp) - idp = backend._ffi.gc(idp, backend._lib.ISSUING_DIST_POINT_free) - if idp.distpoint != backend._ffi.NULL: - full_name, relative_name = _decode_distpoint(backend, idp.distpoint) - else: - full_name = None - relative_name = None - - only_user = idp.onlyuser == 255 - only_ca = idp.onlyCA == 255 - indirect_crl = idp.indirectCRL == 255 - only_attr = idp.onlyattr == 255 - if idp.onlysomereasons != backend._ffi.NULL: - only_some_reasons = _decode_reasons(backend, idp.onlysomereasons) - else: - only_some_reasons = None - - return x509.IssuingDistributionPoint( - full_name, - relative_name, - only_user, - only_ca, - only_some_reasons, - indirect_crl, - only_attr, - ) - - +def _decode_issuing_dist_point(backend, idp): + idp = backend._ffi.cast("ISSUING_DIST_POINT *", idp) + idp = backend._ffi.gc(idp, backend._lib.ISSUING_DIST_POINT_free) + if idp.distpoint != backend._ffi.NULL: + full_name, relative_name = _decode_distpoint(backend, idp.distpoint) + else: + full_name = None + relative_name = None + + only_user = idp.onlyuser == 255 + only_ca = idp.onlyCA == 255 + indirect_crl = idp.indirectCRL == 255 + only_attr = idp.onlyattr == 255 + if idp.onlysomereasons != backend._ffi.NULL: + only_some_reasons = _decode_reasons(backend, idp.onlysomereasons) + else: + only_some_reasons = None + + return x509.IssuingDistributionPoint( + full_name, + relative_name, + only_user, + only_ca, + only_some_reasons, + indirect_crl, + only_attr, + ) + + def _decode_policy_constraints(backend, pc): pc = backend._ffi.cast("POLICY_CONSTRAINTS *", pc) pc = backend._ffi.gc(pc, backend._lib.POLICY_CONSTRAINTS_free) @@ -536,10 +536,10 @@ _DISTPOINT_TYPE_FULLNAME = 0 _DISTPOINT_TYPE_RELATIVENAME = 1 -def _decode_dist_points(backend, cdps): +def _decode_dist_points(backend, cdps): cdps = backend._ffi.cast("Cryptography_STACK_OF_DIST_POINT *", cdps) - cdps = backend._ffi.gc(cdps, backend._lib.CRL_DIST_POINTS_free) - + cdps = backend._ffi.gc(cdps, backend._lib.CRL_DIST_POINTS_free) + num = backend._lib.sk_DIST_POINT_num(cdps) dist_points = [] for i in range(num): @@ -549,7 +549,7 @@ def _decode_dist_points(backend, cdps): reasons = None cdp = backend._lib.sk_DIST_POINT_value(cdps, i) if cdp.reasons != backend._ffi.NULL: - reasons = _decode_reasons(backend, cdp.reasons) + reasons = _decode_reasons(backend, cdp.reasons) if cdp.CRLissuer != backend._ffi.NULL: crl_issuer = _decode_general_names(backend, cdp.CRLissuer) @@ -557,9 +557,9 @@ def _decode_dist_points(backend, cdps): # Certificates may have a crl_issuer/reasons and no distribution # point so make sure it's not null. if cdp.distpoint != backend._ffi.NULL: - full_name, relative_name = _decode_distpoint( - backend, cdp.distpoint - ) + full_name, relative_name = _decode_distpoint( + backend, cdp.distpoint + ) dist_points.append( x509.DistributionPoint( @@ -567,76 +567,76 @@ def _decode_dist_points(backend, cdps): ) ) - return dist_points - - -# ReasonFlags ::= BIT STRING { -# unused (0), -# keyCompromise (1), -# cACompromise (2), -# affiliationChanged (3), -# superseded (4), -# cessationOfOperation (5), -# certificateHold (6), -# privilegeWithdrawn (7), -# aACompromise (8) } -_REASON_BIT_MAPPING = { - 1: x509.ReasonFlags.key_compromise, - 2: x509.ReasonFlags.ca_compromise, - 3: x509.ReasonFlags.affiliation_changed, - 4: x509.ReasonFlags.superseded, - 5: x509.ReasonFlags.cessation_of_operation, - 6: x509.ReasonFlags.certificate_hold, - 7: x509.ReasonFlags.privilege_withdrawn, - 8: x509.ReasonFlags.aa_compromise, -} - - -def _decode_reasons(backend, reasons): - # We will check each bit from RFC 5280 - enum_reasons = [] - for bit_position, reason in six.iteritems(_REASON_BIT_MAPPING): - if backend._lib.ASN1_BIT_STRING_get_bit(reasons, bit_position): - enum_reasons.append(reason) - - return frozenset(enum_reasons) - - -def _decode_distpoint(backend, distpoint): - if distpoint.type == _DISTPOINT_TYPE_FULLNAME: - full_name = _decode_general_names(backend, distpoint.name.fullname) - return full_name, None - - # OpenSSL code doesn't test for a specific type for - # relativename, everything that isn't fullname is considered - # relativename. Per RFC 5280: - # - # DistributionPointName ::= CHOICE { - # fullName [0] GeneralNames, - # nameRelativeToCRLIssuer [1] RelativeDistinguishedName } - rns = distpoint.name.relativename - rnum = backend._lib.sk_X509_NAME_ENTRY_num(rns) - attributes = set() - for i in range(rnum): - rn = backend._lib.sk_X509_NAME_ENTRY_value(rns, i) - backend.openssl_assert(rn != backend._ffi.NULL) - attributes.add(_decode_x509_name_entry(backend, rn)) - - relative_name = x509.RelativeDistinguishedName(attributes) - - return None, relative_name - - -def _decode_crl_distribution_points(backend, cdps): - dist_points = _decode_dist_points(backend, cdps) + return dist_points + + +# ReasonFlags ::= BIT STRING { +# unused (0), +# keyCompromise (1), +# cACompromise (2), +# affiliationChanged (3), +# superseded (4), +# cessationOfOperation (5), +# certificateHold (6), +# privilegeWithdrawn (7), +# aACompromise (8) } +_REASON_BIT_MAPPING = { + 1: x509.ReasonFlags.key_compromise, + 2: x509.ReasonFlags.ca_compromise, + 3: x509.ReasonFlags.affiliation_changed, + 4: x509.ReasonFlags.superseded, + 5: x509.ReasonFlags.cessation_of_operation, + 6: x509.ReasonFlags.certificate_hold, + 7: x509.ReasonFlags.privilege_withdrawn, + 8: x509.ReasonFlags.aa_compromise, +} + + +def _decode_reasons(backend, reasons): + # We will check each bit from RFC 5280 + enum_reasons = [] + for bit_position, reason in six.iteritems(_REASON_BIT_MAPPING): + if backend._lib.ASN1_BIT_STRING_get_bit(reasons, bit_position): + enum_reasons.append(reason) + + return frozenset(enum_reasons) + + +def _decode_distpoint(backend, distpoint): + if distpoint.type == _DISTPOINT_TYPE_FULLNAME: + full_name = _decode_general_names(backend, distpoint.name.fullname) + return full_name, None + + # OpenSSL code doesn't test for a specific type for + # relativename, everything that isn't fullname is considered + # relativename. Per RFC 5280: + # + # DistributionPointName ::= CHOICE { + # fullName [0] GeneralNames, + # nameRelativeToCRLIssuer [1] RelativeDistinguishedName } + rns = distpoint.name.relativename + rnum = backend._lib.sk_X509_NAME_ENTRY_num(rns) + attributes = set() + for i in range(rnum): + rn = backend._lib.sk_X509_NAME_ENTRY_value(rns, i) + backend.openssl_assert(rn != backend._ffi.NULL) + attributes.add(_decode_x509_name_entry(backend, rn)) + + relative_name = x509.RelativeDistinguishedName(attributes) + + return None, relative_name + + +def _decode_crl_distribution_points(backend, cdps): + dist_points = _decode_dist_points(backend, cdps) return x509.CRLDistributionPoints(dist_points) -def _decode_freshest_crl(backend, cdps): - dist_points = _decode_dist_points(backend, cdps) - return x509.FreshestCRL(dist_points) - - +def _decode_freshest_crl(backend, cdps): + dist_points = _decode_dist_points(backend, cdps) + return x509.FreshestCRL(dist_points) + + def _decode_inhibit_any_policy(backend, asn1_int): asn1_int = backend._ffi.cast("ASN1_INTEGER *", asn1_int) asn1_int = backend._ffi.gc(asn1_int, backend._lib.ASN1_INTEGER_free) @@ -644,32 +644,32 @@ def _decode_inhibit_any_policy(backend, asn1_int): return x509.InhibitAnyPolicy(skip_certs) -def _decode_scts(backend, asn1_scts): - from cryptography.hazmat.backends.openssl.x509 import ( - _SignedCertificateTimestamp, - ) - - asn1_scts = backend._ffi.cast("Cryptography_STACK_OF_SCT *", asn1_scts) - asn1_scts = backend._ffi.gc(asn1_scts, backend._lib.SCT_LIST_free) - - scts = [] - for i in range(backend._lib.sk_SCT_num(asn1_scts)): - sct = backend._lib.sk_SCT_value(asn1_scts, i) - - scts.append(_SignedCertificateTimestamp(backend, asn1_scts, sct)) - return scts - - -def _decode_precert_signed_certificate_timestamps(backend, asn1_scts): - return x509.PrecertificateSignedCertificateTimestamps( - _decode_scts(backend, asn1_scts) - ) - - -def _decode_signed_certificate_timestamps(backend, asn1_scts): - return x509.SignedCertificateTimestamps(_decode_scts(backend, asn1_scts)) - - +def _decode_scts(backend, asn1_scts): + from cryptography.hazmat.backends.openssl.x509 import ( + _SignedCertificateTimestamp, + ) + + asn1_scts = backend._ffi.cast("Cryptography_STACK_OF_SCT *", asn1_scts) + asn1_scts = backend._ffi.gc(asn1_scts, backend._lib.SCT_LIST_free) + + scts = [] + for i in range(backend._lib.sk_SCT_num(asn1_scts)): + sct = backend._lib.sk_SCT_value(asn1_scts, i) + + scts.append(_SignedCertificateTimestamp(backend, asn1_scts, sct)) + return scts + + +def _decode_precert_signed_certificate_timestamps(backend, asn1_scts): + return x509.PrecertificateSignedCertificateTimestamps( + _decode_scts(backend, asn1_scts) + ) + + +def _decode_signed_certificate_timestamps(backend, asn1_scts): + return x509.SignedCertificateTimestamps(_decode_scts(backend, asn1_scts)) + + # CRLReason ::= ENUMERATED { # unspecified (0), # keyCompromise (1), @@ -706,7 +706,7 @@ _CRL_ENTRY_REASON_ENUM_TO_CODE = { x509.ReasonFlags.certificate_hold: 6, x509.ReasonFlags.remove_from_crl: 8, x509.ReasonFlags.privilege_withdrawn: 9, - x509.ReasonFlags.aa_compromise: 10, + x509.ReasonFlags.aa_compromise: 10, } @@ -718,11 +718,11 @@ def _decode_crl_reason(backend, enum): try: return x509.CRLReason(_CRL_ENTRY_REASON_CODE_TO_ENUM[code]) except KeyError: - raise ValueError("Unsupported reason code: {}".format(code)) + raise ValueError("Unsupported reason code: {}".format(code)) def _decode_invalidity_date(backend, inv_date): - generalized_time = backend._ffi.cast("ASN1_GENERALIZEDTIME *", inv_date) + generalized_time = backend._ffi.cast("ASN1_GENERALIZEDTIME *", inv_date) generalized_time = backend._ffi.gc( generalized_time, backend._lib.ASN1_GENERALIZEDTIME_free ) @@ -776,14 +776,14 @@ def _asn1_string_to_utf8(backend, asn1_string): res = backend._lib.ASN1_STRING_to_UTF8(buf, asn1_string) if res == -1: raise ValueError( - "Unsupported ASN1 string type. Type: {}".format(asn1_string.type) + "Unsupported ASN1 string type. Type: {}".format(asn1_string.type) ) backend.openssl_assert(buf[0] != backend._ffi.NULL) buf = backend._ffi.gc( buf, lambda buffer: backend._lib.OPENSSL_free(buffer[0]) ) - return backend._ffi.buffer(buf[0], res)[:].decode("utf8") + return backend._ffi.buffer(buf[0], res)[:].decode("utf8") def _parse_asn1_time(backend, asn1_time): @@ -791,13 +791,13 @@ def _parse_asn1_time(backend, asn1_time): generalized_time = backend._lib.ASN1_TIME_to_generalizedtime( asn1_time, backend._ffi.NULL ) - if generalized_time == backend._ffi.NULL: - raise ValueError( - "Couldn't parse ASN.1 time as generalizedtime {!r}".format( - _asn1_string_to_bytes(backend, asn1_time) - ) - ) - + if generalized_time == backend._ffi.NULL: + raise ValueError( + "Couldn't parse ASN.1 time as generalizedtime {!r}".format( + _asn1_string_to_bytes(backend, asn1_time) + ) + ) + generalized_time = backend._ffi.gc( generalized_time, backend._lib.ASN1_GENERALIZEDTIME_free ) @@ -811,13 +811,13 @@ def _parse_asn1_generalized_time(backend, generalized_time): return datetime.datetime.strptime(time, "%Y%m%d%H%M%SZ") -def _decode_nonce(backend, nonce): - nonce = backend._ffi.cast("ASN1_OCTET_STRING *", nonce) - nonce = backend._ffi.gc(nonce, backend._lib.ASN1_OCTET_STRING_free) - return x509.OCSPNonce(_asn1_string_to_bytes(backend, nonce)) - - -_EXTENSION_HANDLERS_BASE = { +def _decode_nonce(backend, nonce): + nonce = backend._ffi.cast("ASN1_OCTET_STRING *", nonce) + nonce = backend._ffi.gc(nonce, backend._lib.ASN1_OCTET_STRING_free) + return x509.OCSPNonce(_asn1_string_to_bytes(backend, nonce)) + + +_EXTENSION_HANDLERS_BASE = { ExtensionOID.BASIC_CONSTRAINTS: _decode_basic_constraints, ExtensionOID.SUBJECT_KEY_IDENTIFIER: _decode_subject_key_identifier, ExtensionOID.KEY_USAGE: _decode_key_usage, @@ -827,23 +827,23 @@ _EXTENSION_HANDLERS_BASE = { ExtensionOID.AUTHORITY_INFORMATION_ACCESS: ( _decode_authority_information_access ), - ExtensionOID.SUBJECT_INFORMATION_ACCESS: ( - _decode_subject_information_access - ), + ExtensionOID.SUBJECT_INFORMATION_ACCESS: ( + _decode_subject_information_access + ), ExtensionOID.CERTIFICATE_POLICIES: _decode_certificate_policies, ExtensionOID.CRL_DISTRIBUTION_POINTS: _decode_crl_distribution_points, - ExtensionOID.FRESHEST_CRL: _decode_freshest_crl, + ExtensionOID.FRESHEST_CRL: _decode_freshest_crl, ExtensionOID.OCSP_NO_CHECK: _decode_ocsp_no_check, ExtensionOID.INHIBIT_ANY_POLICY: _decode_inhibit_any_policy, ExtensionOID.ISSUER_ALTERNATIVE_NAME: _decode_issuer_alt_name, ExtensionOID.NAME_CONSTRAINTS: _decode_name_constraints, ExtensionOID.POLICY_CONSTRAINTS: _decode_policy_constraints, } -_EXTENSION_HANDLERS_SCT = { - ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: ( - _decode_precert_signed_certificate_timestamps - ) -} +_EXTENSION_HANDLERS_SCT = { + ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: ( + _decode_precert_signed_certificate_timestamps + ) +} _REVOKED_EXTENSION_HANDLERS = { CRLEntryExtensionOID.CRL_REASON: _decode_crl_reason, @@ -853,26 +853,26 @@ _REVOKED_EXTENSION_HANDLERS = { _CRL_EXTENSION_HANDLERS = { ExtensionOID.CRL_NUMBER: _decode_crl_number, - ExtensionOID.DELTA_CRL_INDICATOR: _decode_delta_crl_indicator, + ExtensionOID.DELTA_CRL_INDICATOR: _decode_delta_crl_indicator, ExtensionOID.AUTHORITY_KEY_IDENTIFIER: _decode_authority_key_identifier, ExtensionOID.ISSUER_ALTERNATIVE_NAME: _decode_issuer_alt_name, ExtensionOID.AUTHORITY_INFORMATION_ACCESS: ( _decode_authority_information_access ), - ExtensionOID.ISSUING_DISTRIBUTION_POINT: _decode_issuing_dist_point, - ExtensionOID.FRESHEST_CRL: _decode_freshest_crl, + ExtensionOID.ISSUING_DISTRIBUTION_POINT: _decode_issuing_dist_point, + ExtensionOID.FRESHEST_CRL: _decode_freshest_crl, +} + +_OCSP_REQ_EXTENSION_HANDLERS = { + OCSPExtensionOID.NONCE: _decode_nonce, } -_OCSP_REQ_EXTENSION_HANDLERS = { - OCSPExtensionOID.NONCE: _decode_nonce, -} - -_OCSP_BASICRESP_EXTENSION_HANDLERS = { - OCSPExtensionOID.NONCE: _decode_nonce, -} - -_OCSP_SINGLERESP_EXTENSION_HANDLERS_SCT = { - ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS: ( - _decode_signed_certificate_timestamps - ) -} +_OCSP_BASICRESP_EXTENSION_HANDLERS = { + OCSPExtensionOID.NONCE: _decode_nonce, +} + +_OCSP_SINGLERESP_EXTENSION_HANDLERS_SCT = { + ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS: ( + _decode_signed_certificate_timestamps + ) +} diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/dh.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/dh.py index 7a19e0df7f..2862676c65 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/dh.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/dh.py @@ -1,271 +1,271 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from cryptography import utils -from cryptography.exceptions import UnsupportedAlgorithm, _Reasons -from cryptography.hazmat.primitives import serialization -from cryptography.hazmat.primitives.asymmetric import dh - - -def _dh_params_dup(dh_cdata, backend): - lib = backend._lib - ffi = backend._ffi - - param_cdata = lib.DHparams_dup(dh_cdata) - backend.openssl_assert(param_cdata != ffi.NULL) - param_cdata = ffi.gc(param_cdata, lib.DH_free) - if lib.CRYPTOGRAPHY_IS_LIBRESSL: - # In libressl DHparams_dup don't copy q - q = ffi.new("BIGNUM **") - lib.DH_get0_pqg(dh_cdata, ffi.NULL, q, ffi.NULL) - q_dup = lib.BN_dup(q[0]) - res = lib.DH_set0_pqg(param_cdata, ffi.NULL, q_dup, ffi.NULL) - backend.openssl_assert(res == 1) - - return param_cdata - - -def _dh_cdata_to_parameters(dh_cdata, backend): - param_cdata = _dh_params_dup(dh_cdata, backend) - return _DHParameters(backend, param_cdata) - - -@utils.register_interface(dh.DHParametersWithSerialization) -class _DHParameters(object): - def __init__(self, backend, dh_cdata): - self._backend = backend - self._dh_cdata = dh_cdata - - def parameter_numbers(self): - p = self._backend._ffi.new("BIGNUM **") - g = self._backend._ffi.new("BIGNUM **") - q = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_pqg(self._dh_cdata, p, q, g) - self._backend.openssl_assert(p[0] != self._backend._ffi.NULL) - self._backend.openssl_assert(g[0] != self._backend._ffi.NULL) - if q[0] == self._backend._ffi.NULL: - q_val = None - else: - q_val = self._backend._bn_to_int(q[0]) - return dh.DHParameterNumbers( - p=self._backend._bn_to_int(p[0]), - g=self._backend._bn_to_int(g[0]), - q=q_val, - ) - - def generate_private_key(self): - return self._backend.generate_dh_private_key(self) - - def parameter_bytes(self, encoding, format): - if format is not serialization.ParameterFormat.PKCS3: - raise ValueError("Only PKCS3 serialization is supported") - if not self._backend._lib.Cryptography_HAS_EVP_PKEY_DHX: - q = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_pqg( - self._dh_cdata, - self._backend._ffi.NULL, - q, - self._backend._ffi.NULL, - ) - if q[0] != self._backend._ffi.NULL: - raise UnsupportedAlgorithm( - "DH X9.42 serialization is not supported", - _Reasons.UNSUPPORTED_SERIALIZATION, - ) - - return self._backend._parameter_bytes(encoding, format, self._dh_cdata) - - -def _get_dh_num_bits(backend, dh_cdata): - p = backend._ffi.new("BIGNUM **") - backend._lib.DH_get0_pqg(dh_cdata, p, backend._ffi.NULL, backend._ffi.NULL) - backend.openssl_assert(p[0] != backend._ffi.NULL) - return backend._lib.BN_num_bits(p[0]) - - -@utils.register_interface(dh.DHPrivateKeyWithSerialization) -class _DHPrivateKey(object): - def __init__(self, backend, dh_cdata, evp_pkey): - self._backend = backend - self._dh_cdata = dh_cdata - self._evp_pkey = evp_pkey - self._key_size_bytes = self._backend._lib.DH_size(dh_cdata) - - @property - def key_size(self): - return _get_dh_num_bits(self._backend, self._dh_cdata) - - def private_numbers(self): - p = self._backend._ffi.new("BIGNUM **") - g = self._backend._ffi.new("BIGNUM **") - q = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_pqg(self._dh_cdata, p, q, g) - self._backend.openssl_assert(p[0] != self._backend._ffi.NULL) - self._backend.openssl_assert(g[0] != self._backend._ffi.NULL) - if q[0] == self._backend._ffi.NULL: - q_val = None - else: - q_val = self._backend._bn_to_int(q[0]) - pub_key = self._backend._ffi.new("BIGNUM **") - priv_key = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_key(self._dh_cdata, pub_key, priv_key) - self._backend.openssl_assert(pub_key[0] != self._backend._ffi.NULL) - self._backend.openssl_assert(priv_key[0] != self._backend._ffi.NULL) - return dh.DHPrivateNumbers( - public_numbers=dh.DHPublicNumbers( - parameter_numbers=dh.DHParameterNumbers( - p=self._backend._bn_to_int(p[0]), - g=self._backend._bn_to_int(g[0]), - q=q_val, - ), - y=self._backend._bn_to_int(pub_key[0]), - ), - x=self._backend._bn_to_int(priv_key[0]), - ) - - def exchange(self, peer_public_key): - - buf = self._backend._ffi.new("unsigned char[]", self._key_size_bytes) - pub_key = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_key( - peer_public_key._dh_cdata, pub_key, self._backend._ffi.NULL - ) - self._backend.openssl_assert(pub_key[0] != self._backend._ffi.NULL) - res = self._backend._lib.DH_compute_key( - buf, pub_key[0], self._dh_cdata - ) - - if res == -1: - errors_with_text = self._backend._consume_errors_with_text() - raise ValueError( - "Error computing shared key. Public key is likely invalid " - "for this exchange.", - errors_with_text, - ) - else: - self._backend.openssl_assert(res >= 1) - - key = self._backend._ffi.buffer(buf)[:res] - pad = self._key_size_bytes - len(key) - - if pad > 0: - key = (b"\x00" * pad) + key - - return key - - def public_key(self): - dh_cdata = _dh_params_dup(self._dh_cdata, self._backend) - pub_key = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_key( - self._dh_cdata, pub_key, self._backend._ffi.NULL - ) - self._backend.openssl_assert(pub_key[0] != self._backend._ffi.NULL) - pub_key_dup = self._backend._lib.BN_dup(pub_key[0]) - self._backend.openssl_assert(pub_key_dup != self._backend._ffi.NULL) - - res = self._backend._lib.DH_set0_key( - dh_cdata, pub_key_dup, self._backend._ffi.NULL - ) - self._backend.openssl_assert(res == 1) - evp_pkey = self._backend._dh_cdata_to_evp_pkey(dh_cdata) - return _DHPublicKey(self._backend, dh_cdata, evp_pkey) - - def parameters(self): - return _dh_cdata_to_parameters(self._dh_cdata, self._backend) - - def private_bytes(self, encoding, format, encryption_algorithm): - if format is not serialization.PrivateFormat.PKCS8: - raise ValueError( - "DH private keys support only PKCS8 serialization" - ) - if not self._backend._lib.Cryptography_HAS_EVP_PKEY_DHX: - q = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_pqg( - self._dh_cdata, - self._backend._ffi.NULL, - q, - self._backend._ffi.NULL, - ) - if q[0] != self._backend._ffi.NULL: - raise UnsupportedAlgorithm( - "DH X9.42 serialization is not supported", - _Reasons.UNSUPPORTED_SERIALIZATION, - ) - - return self._backend._private_key_bytes( - encoding, - format, - encryption_algorithm, - self, - self._evp_pkey, - self._dh_cdata, - ) - - -@utils.register_interface(dh.DHPublicKeyWithSerialization) -class _DHPublicKey(object): - def __init__(self, backend, dh_cdata, evp_pkey): - self._backend = backend - self._dh_cdata = dh_cdata - self._evp_pkey = evp_pkey - self._key_size_bits = _get_dh_num_bits(self._backend, self._dh_cdata) - - @property - def key_size(self): - return self._key_size_bits - - def public_numbers(self): - p = self._backend._ffi.new("BIGNUM **") - g = self._backend._ffi.new("BIGNUM **") - q = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_pqg(self._dh_cdata, p, q, g) - self._backend.openssl_assert(p[0] != self._backend._ffi.NULL) - self._backend.openssl_assert(g[0] != self._backend._ffi.NULL) - if q[0] == self._backend._ffi.NULL: - q_val = None - else: - q_val = self._backend._bn_to_int(q[0]) - pub_key = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_key( - self._dh_cdata, pub_key, self._backend._ffi.NULL - ) - self._backend.openssl_assert(pub_key[0] != self._backend._ffi.NULL) - return dh.DHPublicNumbers( - parameter_numbers=dh.DHParameterNumbers( - p=self._backend._bn_to_int(p[0]), - g=self._backend._bn_to_int(g[0]), - q=q_val, - ), - y=self._backend._bn_to_int(pub_key[0]), - ) - - def parameters(self): - return _dh_cdata_to_parameters(self._dh_cdata, self._backend) - - def public_bytes(self, encoding, format): - if format is not serialization.PublicFormat.SubjectPublicKeyInfo: - raise ValueError( - "DH public keys support only " - "SubjectPublicKeyInfo serialization" - ) - - if not self._backend._lib.Cryptography_HAS_EVP_PKEY_DHX: - q = self._backend._ffi.new("BIGNUM **") - self._backend._lib.DH_get0_pqg( - self._dh_cdata, - self._backend._ffi.NULL, - q, - self._backend._ffi.NULL, - ) - if q[0] != self._backend._ffi.NULL: - raise UnsupportedAlgorithm( - "DH X9.42 serialization is not supported", - _Reasons.UNSUPPORTED_SERIALIZATION, - ) - - return self._backend._public_key_bytes( - encoding, format, self, self._evp_pkey, None - ) +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from cryptography import utils +from cryptography.exceptions import UnsupportedAlgorithm, _Reasons +from cryptography.hazmat.primitives import serialization +from cryptography.hazmat.primitives.asymmetric import dh + + +def _dh_params_dup(dh_cdata, backend): + lib = backend._lib + ffi = backend._ffi + + param_cdata = lib.DHparams_dup(dh_cdata) + backend.openssl_assert(param_cdata != ffi.NULL) + param_cdata = ffi.gc(param_cdata, lib.DH_free) + if lib.CRYPTOGRAPHY_IS_LIBRESSL: + # In libressl DHparams_dup don't copy q + q = ffi.new("BIGNUM **") + lib.DH_get0_pqg(dh_cdata, ffi.NULL, q, ffi.NULL) + q_dup = lib.BN_dup(q[0]) + res = lib.DH_set0_pqg(param_cdata, ffi.NULL, q_dup, ffi.NULL) + backend.openssl_assert(res == 1) + + return param_cdata + + +def _dh_cdata_to_parameters(dh_cdata, backend): + param_cdata = _dh_params_dup(dh_cdata, backend) + return _DHParameters(backend, param_cdata) + + +@utils.register_interface(dh.DHParametersWithSerialization) +class _DHParameters(object): + def __init__(self, backend, dh_cdata): + self._backend = backend + self._dh_cdata = dh_cdata + + def parameter_numbers(self): + p = self._backend._ffi.new("BIGNUM **") + g = self._backend._ffi.new("BIGNUM **") + q = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_pqg(self._dh_cdata, p, q, g) + self._backend.openssl_assert(p[0] != self._backend._ffi.NULL) + self._backend.openssl_assert(g[0] != self._backend._ffi.NULL) + if q[0] == self._backend._ffi.NULL: + q_val = None + else: + q_val = self._backend._bn_to_int(q[0]) + return dh.DHParameterNumbers( + p=self._backend._bn_to_int(p[0]), + g=self._backend._bn_to_int(g[0]), + q=q_val, + ) + + def generate_private_key(self): + return self._backend.generate_dh_private_key(self) + + def parameter_bytes(self, encoding, format): + if format is not serialization.ParameterFormat.PKCS3: + raise ValueError("Only PKCS3 serialization is supported") + if not self._backend._lib.Cryptography_HAS_EVP_PKEY_DHX: + q = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_pqg( + self._dh_cdata, + self._backend._ffi.NULL, + q, + self._backend._ffi.NULL, + ) + if q[0] != self._backend._ffi.NULL: + raise UnsupportedAlgorithm( + "DH X9.42 serialization is not supported", + _Reasons.UNSUPPORTED_SERIALIZATION, + ) + + return self._backend._parameter_bytes(encoding, format, self._dh_cdata) + + +def _get_dh_num_bits(backend, dh_cdata): + p = backend._ffi.new("BIGNUM **") + backend._lib.DH_get0_pqg(dh_cdata, p, backend._ffi.NULL, backend._ffi.NULL) + backend.openssl_assert(p[0] != backend._ffi.NULL) + return backend._lib.BN_num_bits(p[0]) + + +@utils.register_interface(dh.DHPrivateKeyWithSerialization) +class _DHPrivateKey(object): + def __init__(self, backend, dh_cdata, evp_pkey): + self._backend = backend + self._dh_cdata = dh_cdata + self._evp_pkey = evp_pkey + self._key_size_bytes = self._backend._lib.DH_size(dh_cdata) + + @property + def key_size(self): + return _get_dh_num_bits(self._backend, self._dh_cdata) + + def private_numbers(self): + p = self._backend._ffi.new("BIGNUM **") + g = self._backend._ffi.new("BIGNUM **") + q = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_pqg(self._dh_cdata, p, q, g) + self._backend.openssl_assert(p[0] != self._backend._ffi.NULL) + self._backend.openssl_assert(g[0] != self._backend._ffi.NULL) + if q[0] == self._backend._ffi.NULL: + q_val = None + else: + q_val = self._backend._bn_to_int(q[0]) + pub_key = self._backend._ffi.new("BIGNUM **") + priv_key = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_key(self._dh_cdata, pub_key, priv_key) + self._backend.openssl_assert(pub_key[0] != self._backend._ffi.NULL) + self._backend.openssl_assert(priv_key[0] != self._backend._ffi.NULL) + return dh.DHPrivateNumbers( + public_numbers=dh.DHPublicNumbers( + parameter_numbers=dh.DHParameterNumbers( + p=self._backend._bn_to_int(p[0]), + g=self._backend._bn_to_int(g[0]), + q=q_val, + ), + y=self._backend._bn_to_int(pub_key[0]), + ), + x=self._backend._bn_to_int(priv_key[0]), + ) + + def exchange(self, peer_public_key): + + buf = self._backend._ffi.new("unsigned char[]", self._key_size_bytes) + pub_key = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_key( + peer_public_key._dh_cdata, pub_key, self._backend._ffi.NULL + ) + self._backend.openssl_assert(pub_key[0] != self._backend._ffi.NULL) + res = self._backend._lib.DH_compute_key( + buf, pub_key[0], self._dh_cdata + ) + + if res == -1: + errors_with_text = self._backend._consume_errors_with_text() + raise ValueError( + "Error computing shared key. Public key is likely invalid " + "for this exchange.", + errors_with_text, + ) + else: + self._backend.openssl_assert(res >= 1) + + key = self._backend._ffi.buffer(buf)[:res] + pad = self._key_size_bytes - len(key) + + if pad > 0: + key = (b"\x00" * pad) + key + + return key + + def public_key(self): + dh_cdata = _dh_params_dup(self._dh_cdata, self._backend) + pub_key = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_key( + self._dh_cdata, pub_key, self._backend._ffi.NULL + ) + self._backend.openssl_assert(pub_key[0] != self._backend._ffi.NULL) + pub_key_dup = self._backend._lib.BN_dup(pub_key[0]) + self._backend.openssl_assert(pub_key_dup != self._backend._ffi.NULL) + + res = self._backend._lib.DH_set0_key( + dh_cdata, pub_key_dup, self._backend._ffi.NULL + ) + self._backend.openssl_assert(res == 1) + evp_pkey = self._backend._dh_cdata_to_evp_pkey(dh_cdata) + return _DHPublicKey(self._backend, dh_cdata, evp_pkey) + + def parameters(self): + return _dh_cdata_to_parameters(self._dh_cdata, self._backend) + + def private_bytes(self, encoding, format, encryption_algorithm): + if format is not serialization.PrivateFormat.PKCS8: + raise ValueError( + "DH private keys support only PKCS8 serialization" + ) + if not self._backend._lib.Cryptography_HAS_EVP_PKEY_DHX: + q = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_pqg( + self._dh_cdata, + self._backend._ffi.NULL, + q, + self._backend._ffi.NULL, + ) + if q[0] != self._backend._ffi.NULL: + raise UnsupportedAlgorithm( + "DH X9.42 serialization is not supported", + _Reasons.UNSUPPORTED_SERIALIZATION, + ) + + return self._backend._private_key_bytes( + encoding, + format, + encryption_algorithm, + self, + self._evp_pkey, + self._dh_cdata, + ) + + +@utils.register_interface(dh.DHPublicKeyWithSerialization) +class _DHPublicKey(object): + def __init__(self, backend, dh_cdata, evp_pkey): + self._backend = backend + self._dh_cdata = dh_cdata + self._evp_pkey = evp_pkey + self._key_size_bits = _get_dh_num_bits(self._backend, self._dh_cdata) + + @property + def key_size(self): + return self._key_size_bits + + def public_numbers(self): + p = self._backend._ffi.new("BIGNUM **") + g = self._backend._ffi.new("BIGNUM **") + q = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_pqg(self._dh_cdata, p, q, g) + self._backend.openssl_assert(p[0] != self._backend._ffi.NULL) + self._backend.openssl_assert(g[0] != self._backend._ffi.NULL) + if q[0] == self._backend._ffi.NULL: + q_val = None + else: + q_val = self._backend._bn_to_int(q[0]) + pub_key = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_key( + self._dh_cdata, pub_key, self._backend._ffi.NULL + ) + self._backend.openssl_assert(pub_key[0] != self._backend._ffi.NULL) + return dh.DHPublicNumbers( + parameter_numbers=dh.DHParameterNumbers( + p=self._backend._bn_to_int(p[0]), + g=self._backend._bn_to_int(g[0]), + q=q_val, + ), + y=self._backend._bn_to_int(pub_key[0]), + ) + + def parameters(self): + return _dh_cdata_to_parameters(self._dh_cdata, self._backend) + + def public_bytes(self, encoding, format): + if format is not serialization.PublicFormat.SubjectPublicKeyInfo: + raise ValueError( + "DH public keys support only " + "SubjectPublicKeyInfo serialization" + ) + + if not self._backend._lib.Cryptography_HAS_EVP_PKEY_DHX: + q = self._backend._ffi.new("BIGNUM **") + self._backend._lib.DH_get0_pqg( + self._dh_cdata, + self._backend._ffi.NULL, + q, + self._backend._ffi.NULL, + ) + if q[0] != self._backend._ffi.NULL: + raise UnsupportedAlgorithm( + "DH X9.42 serialization is not supported", + _Reasons.UNSUPPORTED_SERIALIZATION, + ) + + return self._backend._public_key_bytes( + encoding, format, self, self._evp_pkey, None + ) diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/dsa.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/dsa.py index 1312607c0a..0c5faba18a 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/dsa.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/dsa.py @@ -7,15 +7,15 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.exceptions import InvalidSignature from cryptography.hazmat.backends.openssl.utils import ( - _calculate_digest_and_algorithm, - _check_not_prehashed, - _warn_sign_verify_deprecated, + _calculate_digest_and_algorithm, + _check_not_prehashed, + _warn_sign_verify_deprecated, ) -from cryptography.hazmat.primitives import hashes +from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.asymmetric import ( - AsymmetricSignatureContext, - AsymmetricVerificationContext, - dsa, + AsymmetricSignatureContext, + AsymmetricVerificationContext, + dsa, ) @@ -32,7 +32,7 @@ def _dsa_sig_sign(backend, private_key, data): backend.openssl_assert(res == 1) backend.openssl_assert(buflen[0]) - return backend._ffi.buffer(sig_buf)[: buflen[0]] + return backend._ffi.buffer(sig_buf)[: buflen[0]] def _dsa_sig_verify(backend, public_key, signature, data): @@ -101,7 +101,7 @@ class _DSAParameters(object): return dsa.DSAParameterNumbers( p=self._backend._bn_to_int(p[0]), q=self._backend._bn_to_int(q[0]), - g=self._backend._bn_to_int(g[0]), + g=self._backend._bn_to_int(g[0]), ) def generate_private_key(self): @@ -125,8 +125,8 @@ class _DSAPrivateKey(object): key_size = utils.read_only_property("_key_size") def signer(self, signature_algorithm): - _warn_sign_verify_deprecated() - _check_not_prehashed(signature_algorithm) + _warn_sign_verify_deprecated() + _check_not_prehashed(signature_algorithm) return _DSASignatureContext(self._backend, self, signature_algorithm) def private_numbers(self): @@ -147,11 +147,11 @@ class _DSAPrivateKey(object): parameter_numbers=dsa.DSAParameterNumbers( p=self._backend._bn_to_int(p[0]), q=self._backend._bn_to_int(q[0]), - g=self._backend._bn_to_int(g[0]), + g=self._backend._bn_to_int(g[0]), ), - y=self._backend._bn_to_int(pub_key[0]), + y=self._backend._bn_to_int(pub_key[0]), ), - x=self._backend._bn_to_int(priv_key[0]), + x=self._backend._bn_to_int(priv_key[0]), ) def public_key(self): @@ -186,9 +186,9 @@ class _DSAPrivateKey(object): encoding, format, encryption_algorithm, - self, + self, self._evp_pkey, - self._dsa_cdata, + self._dsa_cdata, ) def sign(self, data, algorithm): @@ -214,10 +214,10 @@ class _DSAPublicKey(object): key_size = utils.read_only_property("_key_size") def verifier(self, signature, signature_algorithm): - _warn_sign_verify_deprecated() - utils._check_bytes("signature", signature) + _warn_sign_verify_deprecated() + utils._check_bytes("signature", signature) - _check_not_prehashed(signature_algorithm) + _check_not_prehashed(signature_algorithm) return _DSAVerificationContext( self._backend, self, signature, signature_algorithm ) @@ -239,9 +239,9 @@ class _DSAPublicKey(object): parameter_numbers=dsa.DSAParameterNumbers( p=self._backend._bn_to_int(p[0]), q=self._backend._bn_to_int(q[0]), - g=self._backend._bn_to_int(g[0]), + g=self._backend._bn_to_int(g[0]), ), - y=self._backend._bn_to_int(pub_key[0]), + y=self._backend._bn_to_int(pub_key[0]), ) def parameters(self): @@ -253,7 +253,7 @@ class _DSAPublicKey(object): def public_bytes(self, encoding, format): return self._backend._public_key_bytes( - encoding, format, self, self._evp_pkey, None + encoding, format, self, self._evp_pkey, None ) def verify(self, signature, data, algorithm): diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ec.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ec.py index 3fa8ee6fdc..05d32baba6 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ec.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ec.py @@ -6,20 +6,20 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.exceptions import ( - InvalidSignature, - UnsupportedAlgorithm, - _Reasons, + InvalidSignature, + UnsupportedAlgorithm, + _Reasons, ) from cryptography.hazmat.backends.openssl.utils import ( - _calculate_digest_and_algorithm, - _check_not_prehashed, - _warn_sign_verify_deprecated, + _calculate_digest_and_algorithm, + _check_not_prehashed, + _warn_sign_verify_deprecated, ) from cryptography.hazmat.primitives import hashes, serialization from cryptography.hazmat.primitives.asymmetric import ( - AsymmetricSignatureContext, - AsymmetricVerificationContext, - ec, + AsymmetricSignatureContext, + AsymmetricVerificationContext, + ec, ) @@ -27,8 +27,8 @@ def _check_signature_algorithm(signature_algorithm): if not isinstance(signature_algorithm, ec.ECDSA): raise UnsupportedAlgorithm( "Unsupported elliptic curve signature algorithm.", - _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, - ) + _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, + ) def _ec_key_curve_sn(backend, ec_key): @@ -40,24 +40,24 @@ def _ec_key_curve_sn(backend, ec_key): # an error for now. if nid == backend._lib.NID_undef: raise NotImplementedError( - "ECDSA keys with unnamed curves are unsupported at this time" + "ECDSA keys with unnamed curves are unsupported at this time" + ) + + # This is like the above check, but it also catches the case where you + # explicitly encoded a curve with the same parameters as a named curve. + # Don't do that. + if ( + not backend._lib.CRYPTOGRAPHY_IS_LIBRESSL + and backend._lib.EC_GROUP_get_asn1_flag(group) == 0 + ): + raise NotImplementedError( + "ECDSA keys with unnamed curves are unsupported at this time" ) - # This is like the above check, but it also catches the case where you - # explicitly encoded a curve with the same parameters as a named curve. - # Don't do that. - if ( - not backend._lib.CRYPTOGRAPHY_IS_LIBRESSL - and backend._lib.EC_GROUP_get_asn1_flag(group) == 0 - ): - raise NotImplementedError( - "ECDSA keys with unnamed curves are unsupported at this time" - ) - curve_name = backend._lib.OBJ_nid2sn(nid) backend.openssl_assert(curve_name != backend._ffi.NULL) - sn = backend._ffi.string(curve_name).decode("ascii") + sn = backend._ffi.string(curve_name).decode("ascii") return sn @@ -78,8 +78,8 @@ def _sn_to_elliptic_curve(backend, sn): return ec._CURVE_TYPES[sn]() except KeyError: raise UnsupportedAlgorithm( - "{} is not a supported elliptic curve".format(sn), - _Reasons.UNSUPPORTED_ELLIPTIC_CURVE, + "{} is not a supported elliptic curve".format(sn), + _Reasons.UNSUPPORTED_ELLIPTIC_CURVE, ) @@ -93,7 +93,7 @@ def _ecdsa_sig_sign(backend, private_key, data): 0, data, len(data), sigbuf, siglen_ptr, private_key._ec_key ) backend.openssl_assert(res == 1) - return backend._ffi.buffer(sigbuf)[: siglen_ptr[0]] + return backend._ffi.buffer(sigbuf)[: siglen_ptr[0]] def _ecdsa_sig_verify(backend, public_key, signature, data): @@ -134,7 +134,7 @@ class _ECDSAVerificationContext(object): def verify(self): digest = self._digest.finalize() - _ecdsa_sig_verify( + _ecdsa_sig_verify( self._backend, self._public_key, self._signature, digest ) @@ -148,18 +148,18 @@ class _EllipticCurvePrivateKey(object): sn = _ec_key_curve_sn(backend, ec_key_cdata) self._curve = _sn_to_elliptic_curve(backend, sn) - _mark_asn1_named_ec_curve(backend, ec_key_cdata) + _mark_asn1_named_ec_curve(backend, ec_key_cdata) curve = utils.read_only_property("_curve") - @property - def key_size(self): - return self.curve.key_size - + @property + def key_size(self): + return self.curve.key_size + def signer(self, signature_algorithm): - _warn_sign_verify_deprecated() + _warn_sign_verify_deprecated() _check_signature_algorithm(signature_algorithm) - _check_not_prehashed(signature_algorithm.algorithm) + _check_not_prehashed(signature_algorithm.algorithm) return _ECDSASignatureContext( self._backend, self, signature_algorithm.algorithm ) @@ -172,7 +172,7 @@ class _EllipticCurvePrivateKey(object): ): raise UnsupportedAlgorithm( "This backend does not support the ECDH algorithm.", - _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, + _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, ) if peer_public_key.curve.name != self.curve.name: @@ -199,7 +199,7 @@ class _EllipticCurvePrivateKey(object): self._backend.openssl_assert(group != self._backend._ffi.NULL) curve_nid = self._backend._lib.EC_GROUP_get_curve_name(group) - public_ec_key = self._backend._ec_key_new_by_curve_nid(curve_nid) + public_ec_key = self._backend._ec_key_new_by_curve_nid(curve_nid) point = self._backend._lib.EC_KEY_get0_public_key(self._ec_key) self._backend.openssl_assert(point != self._backend._ffi.NULL) @@ -216,7 +216,7 @@ class _EllipticCurvePrivateKey(object): private_value = self._backend._bn_to_int(bn) return ec.EllipticCurvePrivateNumbers( private_value=private_value, - public_numbers=self.public_key().public_numbers(), + public_numbers=self.public_key().public_numbers(), ) def private_bytes(self, encoding, format, encryption_algorithm): @@ -224,9 +224,9 @@ class _EllipticCurvePrivateKey(object): encoding, format, encryption_algorithm, - self, + self, self._evp_pkey, - self._ec_key, + self._ec_key, ) def sign(self, data, signature_algorithm): @@ -246,27 +246,27 @@ class _EllipticCurvePublicKey(object): sn = _ec_key_curve_sn(backend, ec_key_cdata) self._curve = _sn_to_elliptic_curve(backend, sn) - _mark_asn1_named_ec_curve(backend, ec_key_cdata) + _mark_asn1_named_ec_curve(backend, ec_key_cdata) curve = utils.read_only_property("_curve") - @property - def key_size(self): - return self.curve.key_size - + @property + def key_size(self): + return self.curve.key_size + def verifier(self, signature, signature_algorithm): - _warn_sign_verify_deprecated() - utils._check_bytes("signature", signature) + _warn_sign_verify_deprecated() + utils._check_bytes("signature", signature) _check_signature_algorithm(signature_algorithm) - _check_not_prehashed(signature_algorithm.algorithm) + _check_not_prehashed(signature_algorithm.algorithm) return _ECDSAVerificationContext( self._backend, self, signature, signature_algorithm.algorithm ) def public_numbers(self): - get_func, group = self._backend._ec_key_determine_group_get_func( - self._ec_key + get_func, group = self._backend._ec_key_determine_group_get_func( + self._ec_key ) point = self._backend._lib.EC_KEY_get0_public_key(self._ec_key) self._backend.openssl_assert(point != self._backend._ffi.NULL) @@ -281,57 +281,57 @@ class _EllipticCurvePublicKey(object): x = self._backend._bn_to_int(bn_x) y = self._backend._bn_to_int(bn_y) - return ec.EllipticCurvePublicNumbers(x=x, y=y, curve=self._curve) - - def _encode_point(self, format): - if format is serialization.PublicFormat.CompressedPoint: - conversion = self._backend._lib.POINT_CONVERSION_COMPRESSED - else: - assert format is serialization.PublicFormat.UncompressedPoint - conversion = self._backend._lib.POINT_CONVERSION_UNCOMPRESSED - - group = self._backend._lib.EC_KEY_get0_group(self._ec_key) - self._backend.openssl_assert(group != self._backend._ffi.NULL) - point = self._backend._lib.EC_KEY_get0_public_key(self._ec_key) - self._backend.openssl_assert(point != self._backend._ffi.NULL) - with self._backend._tmp_bn_ctx() as bn_ctx: - buflen = self._backend._lib.EC_POINT_point2oct( - group, point, conversion, self._backend._ffi.NULL, 0, bn_ctx - ) - self._backend.openssl_assert(buflen > 0) - buf = self._backend._ffi.new("char[]", buflen) - res = self._backend._lib.EC_POINT_point2oct( - group, point, conversion, buf, buflen, bn_ctx - ) - self._backend.openssl_assert(buflen == res) - - return self._backend._ffi.buffer(buf)[:] - + return ec.EllipticCurvePublicNumbers(x=x, y=y, curve=self._curve) + + def _encode_point(self, format): + if format is serialization.PublicFormat.CompressedPoint: + conversion = self._backend._lib.POINT_CONVERSION_COMPRESSED + else: + assert format is serialization.PublicFormat.UncompressedPoint + conversion = self._backend._lib.POINT_CONVERSION_UNCOMPRESSED + + group = self._backend._lib.EC_KEY_get0_group(self._ec_key) + self._backend.openssl_assert(group != self._backend._ffi.NULL) + point = self._backend._lib.EC_KEY_get0_public_key(self._ec_key) + self._backend.openssl_assert(point != self._backend._ffi.NULL) + with self._backend._tmp_bn_ctx() as bn_ctx: + buflen = self._backend._lib.EC_POINT_point2oct( + group, point, conversion, self._backend._ffi.NULL, 0, bn_ctx + ) + self._backend.openssl_assert(buflen > 0) + buf = self._backend._ffi.new("char[]", buflen) + res = self._backend._lib.EC_POINT_point2oct( + group, point, conversion, buf, buflen, bn_ctx + ) + self._backend.openssl_assert(buflen == res) + + return self._backend._ffi.buffer(buf)[:] + def public_bytes(self, encoding, format): - if ( - encoding is serialization.Encoding.X962 - or format is serialization.PublicFormat.CompressedPoint - or format is serialization.PublicFormat.UncompressedPoint - ): - if encoding is not serialization.Encoding.X962 or format not in ( - serialization.PublicFormat.CompressedPoint, - serialization.PublicFormat.UncompressedPoint, - ): - raise ValueError( - "X962 encoding must be used with CompressedPoint or " - "UncompressedPoint format" - ) - - return self._encode_point(format) - else: - return self._backend._public_key_bytes( - encoding, format, self, self._evp_pkey, None - ) - + if ( + encoding is serialization.Encoding.X962 + or format is serialization.PublicFormat.CompressedPoint + or format is serialization.PublicFormat.UncompressedPoint + ): + if encoding is not serialization.Encoding.X962 or format not in ( + serialization.PublicFormat.CompressedPoint, + serialization.PublicFormat.UncompressedPoint, + ): + raise ValueError( + "X962 encoding must be used with CompressedPoint or " + "UncompressedPoint format" + ) + + return self._encode_point(format) + else: + return self._backend._public_key_bytes( + encoding, format, self, self._evp_pkey, None + ) + def verify(self, signature, data, signature_algorithm): _check_signature_algorithm(signature_algorithm) data, algorithm = _calculate_digest_and_algorithm( self._backend, data, signature_algorithm._algorithm ) - _ecdsa_sig_verify(self._backend, self, signature, data) + _ecdsa_sig_verify(self._backend, self, signature, data) diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ed25519.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ed25519.py index 6b63fa4926..13bec3af10 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ed25519.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ed25519.py @@ -1,145 +1,145 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from cryptography import exceptions, utils -from cryptography.hazmat.primitives import serialization -from cryptography.hazmat.primitives.asymmetric.ed25519 import ( - Ed25519PrivateKey, - Ed25519PublicKey, - _ED25519_KEY_SIZE, - _ED25519_SIG_SIZE, -) - - -@utils.register_interface(Ed25519PublicKey) -class _Ed25519PublicKey(object): - def __init__(self, backend, evp_pkey): - self._backend = backend - self._evp_pkey = evp_pkey - - def public_bytes(self, encoding, format): - if ( - encoding is serialization.Encoding.Raw - or format is serialization.PublicFormat.Raw - ): - if ( - encoding is not serialization.Encoding.Raw - or format is not serialization.PublicFormat.Raw - ): - raise ValueError( - "When using Raw both encoding and format must be Raw" - ) - - return self._raw_public_bytes() - - return self._backend._public_key_bytes( - encoding, format, self, self._evp_pkey, None - ) - - def _raw_public_bytes(self): - buf = self._backend._ffi.new("unsigned char []", _ED25519_KEY_SIZE) - buflen = self._backend._ffi.new("size_t *", _ED25519_KEY_SIZE) - res = self._backend._lib.EVP_PKEY_get_raw_public_key( - self._evp_pkey, buf, buflen - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _ED25519_KEY_SIZE) - return self._backend._ffi.buffer(buf, _ED25519_KEY_SIZE)[:] - - def verify(self, signature, data): - evp_md_ctx = self._backend._lib.EVP_MD_CTX_new() - self._backend.openssl_assert(evp_md_ctx != self._backend._ffi.NULL) - evp_md_ctx = self._backend._ffi.gc( - evp_md_ctx, self._backend._lib.EVP_MD_CTX_free - ) - res = self._backend._lib.EVP_DigestVerifyInit( - evp_md_ctx, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._evp_pkey, - ) - self._backend.openssl_assert(res == 1) - res = self._backend._lib.EVP_DigestVerify( - evp_md_ctx, signature, len(signature), data, len(data) - ) - if res != 1: - self._backend._consume_errors() - raise exceptions.InvalidSignature - - -@utils.register_interface(Ed25519PrivateKey) -class _Ed25519PrivateKey(object): - def __init__(self, backend, evp_pkey): - self._backend = backend - self._evp_pkey = evp_pkey - - def public_key(self): - buf = self._backend._ffi.new("unsigned char []", _ED25519_KEY_SIZE) - buflen = self._backend._ffi.new("size_t *", _ED25519_KEY_SIZE) - res = self._backend._lib.EVP_PKEY_get_raw_public_key( - self._evp_pkey, buf, buflen - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _ED25519_KEY_SIZE) - public_bytes = self._backend._ffi.buffer(buf)[:] - return self._backend.ed25519_load_public_bytes(public_bytes) - - def sign(self, data): - evp_md_ctx = self._backend._lib.EVP_MD_CTX_new() - self._backend.openssl_assert(evp_md_ctx != self._backend._ffi.NULL) - evp_md_ctx = self._backend._ffi.gc( - evp_md_ctx, self._backend._lib.EVP_MD_CTX_free - ) - res = self._backend._lib.EVP_DigestSignInit( - evp_md_ctx, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._evp_pkey, - ) - self._backend.openssl_assert(res == 1) - buf = self._backend._ffi.new("unsigned char[]", _ED25519_SIG_SIZE) - buflen = self._backend._ffi.new("size_t *", len(buf)) - res = self._backend._lib.EVP_DigestSign( - evp_md_ctx, buf, buflen, data, len(data) - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _ED25519_SIG_SIZE) - return self._backend._ffi.buffer(buf, buflen[0])[:] - - def private_bytes(self, encoding, format, encryption_algorithm): - if ( - encoding is serialization.Encoding.Raw - or format is serialization.PublicFormat.Raw - ): - if ( - format is not serialization.PrivateFormat.Raw - or encoding is not serialization.Encoding.Raw - or not isinstance( - encryption_algorithm, serialization.NoEncryption - ) - ): - raise ValueError( - "When using Raw both encoding and format must be Raw " - "and encryption_algorithm must be NoEncryption()" - ) - - return self._raw_private_bytes() - - return self._backend._private_key_bytes( - encoding, format, encryption_algorithm, self, self._evp_pkey, None - ) - - def _raw_private_bytes(self): - buf = self._backend._ffi.new("unsigned char []", _ED25519_KEY_SIZE) - buflen = self._backend._ffi.new("size_t *", _ED25519_KEY_SIZE) - res = self._backend._lib.EVP_PKEY_get_raw_private_key( - self._evp_pkey, buf, buflen - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _ED25519_KEY_SIZE) - return self._backend._ffi.buffer(buf, _ED25519_KEY_SIZE)[:] +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from cryptography import exceptions, utils +from cryptography.hazmat.primitives import serialization +from cryptography.hazmat.primitives.asymmetric.ed25519 import ( + Ed25519PrivateKey, + Ed25519PublicKey, + _ED25519_KEY_SIZE, + _ED25519_SIG_SIZE, +) + + +@utils.register_interface(Ed25519PublicKey) +class _Ed25519PublicKey(object): + def __init__(self, backend, evp_pkey): + self._backend = backend + self._evp_pkey = evp_pkey + + def public_bytes(self, encoding, format): + if ( + encoding is serialization.Encoding.Raw + or format is serialization.PublicFormat.Raw + ): + if ( + encoding is not serialization.Encoding.Raw + or format is not serialization.PublicFormat.Raw + ): + raise ValueError( + "When using Raw both encoding and format must be Raw" + ) + + return self._raw_public_bytes() + + return self._backend._public_key_bytes( + encoding, format, self, self._evp_pkey, None + ) + + def _raw_public_bytes(self): + buf = self._backend._ffi.new("unsigned char []", _ED25519_KEY_SIZE) + buflen = self._backend._ffi.new("size_t *", _ED25519_KEY_SIZE) + res = self._backend._lib.EVP_PKEY_get_raw_public_key( + self._evp_pkey, buf, buflen + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _ED25519_KEY_SIZE) + return self._backend._ffi.buffer(buf, _ED25519_KEY_SIZE)[:] + + def verify(self, signature, data): + evp_md_ctx = self._backend._lib.EVP_MD_CTX_new() + self._backend.openssl_assert(evp_md_ctx != self._backend._ffi.NULL) + evp_md_ctx = self._backend._ffi.gc( + evp_md_ctx, self._backend._lib.EVP_MD_CTX_free + ) + res = self._backend._lib.EVP_DigestVerifyInit( + evp_md_ctx, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._evp_pkey, + ) + self._backend.openssl_assert(res == 1) + res = self._backend._lib.EVP_DigestVerify( + evp_md_ctx, signature, len(signature), data, len(data) + ) + if res != 1: + self._backend._consume_errors() + raise exceptions.InvalidSignature + + +@utils.register_interface(Ed25519PrivateKey) +class _Ed25519PrivateKey(object): + def __init__(self, backend, evp_pkey): + self._backend = backend + self._evp_pkey = evp_pkey + + def public_key(self): + buf = self._backend._ffi.new("unsigned char []", _ED25519_KEY_SIZE) + buflen = self._backend._ffi.new("size_t *", _ED25519_KEY_SIZE) + res = self._backend._lib.EVP_PKEY_get_raw_public_key( + self._evp_pkey, buf, buflen + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _ED25519_KEY_SIZE) + public_bytes = self._backend._ffi.buffer(buf)[:] + return self._backend.ed25519_load_public_bytes(public_bytes) + + def sign(self, data): + evp_md_ctx = self._backend._lib.EVP_MD_CTX_new() + self._backend.openssl_assert(evp_md_ctx != self._backend._ffi.NULL) + evp_md_ctx = self._backend._ffi.gc( + evp_md_ctx, self._backend._lib.EVP_MD_CTX_free + ) + res = self._backend._lib.EVP_DigestSignInit( + evp_md_ctx, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._evp_pkey, + ) + self._backend.openssl_assert(res == 1) + buf = self._backend._ffi.new("unsigned char[]", _ED25519_SIG_SIZE) + buflen = self._backend._ffi.new("size_t *", len(buf)) + res = self._backend._lib.EVP_DigestSign( + evp_md_ctx, buf, buflen, data, len(data) + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _ED25519_SIG_SIZE) + return self._backend._ffi.buffer(buf, buflen[0])[:] + + def private_bytes(self, encoding, format, encryption_algorithm): + if ( + encoding is serialization.Encoding.Raw + or format is serialization.PublicFormat.Raw + ): + if ( + format is not serialization.PrivateFormat.Raw + or encoding is not serialization.Encoding.Raw + or not isinstance( + encryption_algorithm, serialization.NoEncryption + ) + ): + raise ValueError( + "When using Raw both encoding and format must be Raw " + "and encryption_algorithm must be NoEncryption()" + ) + + return self._raw_private_bytes() + + return self._backend._private_key_bytes( + encoding, format, encryption_algorithm, self, self._evp_pkey, None + ) + + def _raw_private_bytes(self): + buf = self._backend._ffi.new("unsigned char []", _ED25519_KEY_SIZE) + buflen = self._backend._ffi.new("size_t *", _ED25519_KEY_SIZE) + res = self._backend._lib.EVP_PKEY_get_raw_private_key( + self._evp_pkey, buf, buflen + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _ED25519_KEY_SIZE) + return self._backend._ffi.buffer(buf, _ED25519_KEY_SIZE)[:] diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ed448.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ed448.py index cbb1c0ed17..6512770e5b 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ed448.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ed448.py @@ -1,146 +1,146 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from cryptography import exceptions, utils -from cryptography.hazmat.primitives import serialization -from cryptography.hazmat.primitives.asymmetric.ed448 import ( - Ed448PrivateKey, - Ed448PublicKey, -) - -_ED448_KEY_SIZE = 57 -_ED448_SIG_SIZE = 114 - - -@utils.register_interface(Ed448PublicKey) -class _Ed448PublicKey(object): - def __init__(self, backend, evp_pkey): - self._backend = backend - self._evp_pkey = evp_pkey - - def public_bytes(self, encoding, format): - if ( - encoding is serialization.Encoding.Raw - or format is serialization.PublicFormat.Raw - ): - if ( - encoding is not serialization.Encoding.Raw - or format is not serialization.PublicFormat.Raw - ): - raise ValueError( - "When using Raw both encoding and format must be Raw" - ) - - return self._raw_public_bytes() - - return self._backend._public_key_bytes( - encoding, format, self, self._evp_pkey, None - ) - - def _raw_public_bytes(self): - buf = self._backend._ffi.new("unsigned char []", _ED448_KEY_SIZE) - buflen = self._backend._ffi.new("size_t *", _ED448_KEY_SIZE) - res = self._backend._lib.EVP_PKEY_get_raw_public_key( - self._evp_pkey, buf, buflen - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _ED448_KEY_SIZE) - return self._backend._ffi.buffer(buf, _ED448_KEY_SIZE)[:] - - def verify(self, signature, data): - evp_md_ctx = self._backend._lib.EVP_MD_CTX_new() - self._backend.openssl_assert(evp_md_ctx != self._backend._ffi.NULL) - evp_md_ctx = self._backend._ffi.gc( - evp_md_ctx, self._backend._lib.EVP_MD_CTX_free - ) - res = self._backend._lib.EVP_DigestVerifyInit( - evp_md_ctx, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._evp_pkey, - ) - self._backend.openssl_assert(res == 1) - res = self._backend._lib.EVP_DigestVerify( - evp_md_ctx, signature, len(signature), data, len(data) - ) - if res != 1: - self._backend._consume_errors() - raise exceptions.InvalidSignature - - -@utils.register_interface(Ed448PrivateKey) -class _Ed448PrivateKey(object): - def __init__(self, backend, evp_pkey): - self._backend = backend - self._evp_pkey = evp_pkey - - def public_key(self): - buf = self._backend._ffi.new("unsigned char []", _ED448_KEY_SIZE) - buflen = self._backend._ffi.new("size_t *", _ED448_KEY_SIZE) - res = self._backend._lib.EVP_PKEY_get_raw_public_key( - self._evp_pkey, buf, buflen - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _ED448_KEY_SIZE) - public_bytes = self._backend._ffi.buffer(buf)[:] - return self._backend.ed448_load_public_bytes(public_bytes) - - def sign(self, data): - evp_md_ctx = self._backend._lib.EVP_MD_CTX_new() - self._backend.openssl_assert(evp_md_ctx != self._backend._ffi.NULL) - evp_md_ctx = self._backend._ffi.gc( - evp_md_ctx, self._backend._lib.EVP_MD_CTX_free - ) - res = self._backend._lib.EVP_DigestSignInit( - evp_md_ctx, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._evp_pkey, - ) - self._backend.openssl_assert(res == 1) - buf = self._backend._ffi.new("unsigned char[]", _ED448_SIG_SIZE) - buflen = self._backend._ffi.new("size_t *", len(buf)) - res = self._backend._lib.EVP_DigestSign( - evp_md_ctx, buf, buflen, data, len(data) - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _ED448_SIG_SIZE) - return self._backend._ffi.buffer(buf, buflen[0])[:] - - def private_bytes(self, encoding, format, encryption_algorithm): - if ( - encoding is serialization.Encoding.Raw - or format is serialization.PublicFormat.Raw - ): - if ( - format is not serialization.PrivateFormat.Raw - or encoding is not serialization.Encoding.Raw - or not isinstance( - encryption_algorithm, serialization.NoEncryption - ) - ): - raise ValueError( - "When using Raw both encoding and format must be Raw " - "and encryption_algorithm must be NoEncryption()" - ) - - return self._raw_private_bytes() - - return self._backend._private_key_bytes( - encoding, format, encryption_algorithm, self, self._evp_pkey, None - ) - - def _raw_private_bytes(self): - buf = self._backend._ffi.new("unsigned char []", _ED448_KEY_SIZE) - buflen = self._backend._ffi.new("size_t *", _ED448_KEY_SIZE) - res = self._backend._lib.EVP_PKEY_get_raw_private_key( - self._evp_pkey, buf, buflen - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _ED448_KEY_SIZE) - return self._backend._ffi.buffer(buf, _ED448_KEY_SIZE)[:] +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from cryptography import exceptions, utils +from cryptography.hazmat.primitives import serialization +from cryptography.hazmat.primitives.asymmetric.ed448 import ( + Ed448PrivateKey, + Ed448PublicKey, +) + +_ED448_KEY_SIZE = 57 +_ED448_SIG_SIZE = 114 + + +@utils.register_interface(Ed448PublicKey) +class _Ed448PublicKey(object): + def __init__(self, backend, evp_pkey): + self._backend = backend + self._evp_pkey = evp_pkey + + def public_bytes(self, encoding, format): + if ( + encoding is serialization.Encoding.Raw + or format is serialization.PublicFormat.Raw + ): + if ( + encoding is not serialization.Encoding.Raw + or format is not serialization.PublicFormat.Raw + ): + raise ValueError( + "When using Raw both encoding and format must be Raw" + ) + + return self._raw_public_bytes() + + return self._backend._public_key_bytes( + encoding, format, self, self._evp_pkey, None + ) + + def _raw_public_bytes(self): + buf = self._backend._ffi.new("unsigned char []", _ED448_KEY_SIZE) + buflen = self._backend._ffi.new("size_t *", _ED448_KEY_SIZE) + res = self._backend._lib.EVP_PKEY_get_raw_public_key( + self._evp_pkey, buf, buflen + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _ED448_KEY_SIZE) + return self._backend._ffi.buffer(buf, _ED448_KEY_SIZE)[:] + + def verify(self, signature, data): + evp_md_ctx = self._backend._lib.EVP_MD_CTX_new() + self._backend.openssl_assert(evp_md_ctx != self._backend._ffi.NULL) + evp_md_ctx = self._backend._ffi.gc( + evp_md_ctx, self._backend._lib.EVP_MD_CTX_free + ) + res = self._backend._lib.EVP_DigestVerifyInit( + evp_md_ctx, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._evp_pkey, + ) + self._backend.openssl_assert(res == 1) + res = self._backend._lib.EVP_DigestVerify( + evp_md_ctx, signature, len(signature), data, len(data) + ) + if res != 1: + self._backend._consume_errors() + raise exceptions.InvalidSignature + + +@utils.register_interface(Ed448PrivateKey) +class _Ed448PrivateKey(object): + def __init__(self, backend, evp_pkey): + self._backend = backend + self._evp_pkey = evp_pkey + + def public_key(self): + buf = self._backend._ffi.new("unsigned char []", _ED448_KEY_SIZE) + buflen = self._backend._ffi.new("size_t *", _ED448_KEY_SIZE) + res = self._backend._lib.EVP_PKEY_get_raw_public_key( + self._evp_pkey, buf, buflen + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _ED448_KEY_SIZE) + public_bytes = self._backend._ffi.buffer(buf)[:] + return self._backend.ed448_load_public_bytes(public_bytes) + + def sign(self, data): + evp_md_ctx = self._backend._lib.EVP_MD_CTX_new() + self._backend.openssl_assert(evp_md_ctx != self._backend._ffi.NULL) + evp_md_ctx = self._backend._ffi.gc( + evp_md_ctx, self._backend._lib.EVP_MD_CTX_free + ) + res = self._backend._lib.EVP_DigestSignInit( + evp_md_ctx, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._evp_pkey, + ) + self._backend.openssl_assert(res == 1) + buf = self._backend._ffi.new("unsigned char[]", _ED448_SIG_SIZE) + buflen = self._backend._ffi.new("size_t *", len(buf)) + res = self._backend._lib.EVP_DigestSign( + evp_md_ctx, buf, buflen, data, len(data) + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _ED448_SIG_SIZE) + return self._backend._ffi.buffer(buf, buflen[0])[:] + + def private_bytes(self, encoding, format, encryption_algorithm): + if ( + encoding is serialization.Encoding.Raw + or format is serialization.PublicFormat.Raw + ): + if ( + format is not serialization.PrivateFormat.Raw + or encoding is not serialization.Encoding.Raw + or not isinstance( + encryption_algorithm, serialization.NoEncryption + ) + ): + raise ValueError( + "When using Raw both encoding and format must be Raw " + "and encryption_algorithm must be NoEncryption()" + ) + + return self._raw_private_bytes() + + return self._backend._private_key_bytes( + encoding, format, encryption_algorithm, self, self._evp_pkey, None + ) + + def _raw_private_bytes(self): + buf = self._backend._ffi.new("unsigned char []", _ED448_KEY_SIZE) + buflen = self._backend._ffi.new("size_t *", _ED448_KEY_SIZE) + res = self._backend._lib.EVP_PKEY_get_raw_private_key( + self._evp_pkey, buf, buflen + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _ED448_KEY_SIZE) + return self._backend._ffi.buffer(buf, _ED448_KEY_SIZE)[:] diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/encode_asn1.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/encode_asn1.py index b8861f36e5..0a33200bbc 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/encode_asn1.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/encode_asn1.py @@ -11,16 +11,16 @@ import six from cryptography import utils, x509 from cryptography.hazmat.backends.openssl.decode_asn1 import ( - _CRL_ENTRY_REASON_ENUM_TO_CODE, - _DISTPOINT_TYPE_FULLNAME, - _DISTPOINT_TYPE_RELATIVENAME, + _CRL_ENTRY_REASON_ENUM_TO_CODE, + _DISTPOINT_TYPE_FULLNAME, + _DISTPOINT_TYPE_RELATIVENAME, +) +from cryptography.x509.name import _ASN1Type +from cryptography.x509.oid import ( + CRLEntryExtensionOID, + ExtensionOID, + OCSPExtensionOID, ) -from cryptography.x509.name import _ASN1Type -from cryptography.x509.oid import ( - CRLEntryExtensionOID, - ExtensionOID, - OCSPExtensionOID, -) def _encode_asn1_int(backend, x): @@ -49,12 +49,12 @@ def _encode_asn1_int_gc(backend, x): return i -def _encode_asn1_str(backend, data): +def _encode_asn1_str(backend, data): """ Create an ASN1_OCTET_STRING from a Python byte string. """ s = backend._lib.ASN1_OCTET_STRING_new() - res = backend._lib.ASN1_OCTET_STRING_set(s, data, len(data)) + res = backend._lib.ASN1_OCTET_STRING_set(s, data, len(data)) backend.openssl_assert(res == 1) return s @@ -73,8 +73,8 @@ def _encode_asn1_utf8_str(backend, string): return s -def _encode_asn1_str_gc(backend, data): - s = _encode_asn1_str(backend, data) +def _encode_asn1_str_gc(backend, data): + s = _encode_asn1_str(backend, data) s = backend._ffi.gc(s, backend._lib.ASN1_OCTET_STRING_free) return s @@ -97,8 +97,8 @@ def _encode_name(backend, name): name_entry, backend._lib.X509_NAME_ENTRY_free ) res = backend._lib.X509_NAME_add_entry( - subject, name_entry, -1, set_flag - ) + subject, name_entry, -1, set_flag + ) backend.openssl_assert(res == 1) set_flag = -1 return subject @@ -112,58 +112,58 @@ def _encode_name_gc(backend, attributes): def _encode_sk_name_entry(backend, attributes): """ - The sk_X509_NAME_ENTRY created will not be gc'd. + The sk_X509_NAME_ENTRY created will not be gc'd. """ stack = backend._lib.sk_X509_NAME_ENTRY_new_null() for attribute in attributes: name_entry = _encode_name_entry(backend, attribute) res = backend._lib.sk_X509_NAME_ENTRY_push(stack, name_entry) - backend.openssl_assert(res >= 1) + backend.openssl_assert(res >= 1) return stack def _encode_name_entry(backend, attribute): - if attribute._type is _ASN1Type.BMPString: - value = attribute.value.encode("utf_16_be") - elif attribute._type is _ASN1Type.UniversalString: - value = attribute.value.encode("utf_32_be") - else: - value = attribute.value.encode("utf8") - + if attribute._type is _ASN1Type.BMPString: + value = attribute.value.encode("utf_16_be") + elif attribute._type is _ASN1Type.UniversalString: + value = attribute.value.encode("utf_32_be") + else: + value = attribute.value.encode("utf8") + obj = _txt2obj_gc(backend, attribute.oid.dotted_string) - + name_entry = backend._lib.X509_NAME_ENTRY_create_by_OBJ( - backend._ffi.NULL, obj, attribute._type.value, value, len(value) + backend._ffi.NULL, obj, attribute._type.value, value, len(value) ) return name_entry -def _encode_crl_number_delta_crl_indicator(backend, ext): - return _encode_asn1_int_gc(backend, ext.crl_number) - - -def _encode_issuing_dist_point(backend, ext): - idp = backend._lib.ISSUING_DIST_POINT_new() - backend.openssl_assert(idp != backend._ffi.NULL) - idp = backend._ffi.gc(idp, backend._lib.ISSUING_DIST_POINT_free) - idp.onlyuser = 255 if ext.only_contains_user_certs else 0 - idp.onlyCA = 255 if ext.only_contains_ca_certs else 0 - idp.indirectCRL = 255 if ext.indirect_crl else 0 - idp.onlyattr = 255 if ext.only_contains_attribute_certs else 0 - if ext.only_some_reasons: - idp.onlysomereasons = _encode_reasonflags( - backend, ext.only_some_reasons - ) - - if ext.full_name: - idp.distpoint = _encode_full_name(backend, ext.full_name) - - if ext.relative_name: - idp.distpoint = _encode_relative_name(backend, ext.relative_name) - - return idp - - +def _encode_crl_number_delta_crl_indicator(backend, ext): + return _encode_asn1_int_gc(backend, ext.crl_number) + + +def _encode_issuing_dist_point(backend, ext): + idp = backend._lib.ISSUING_DIST_POINT_new() + backend.openssl_assert(idp != backend._ffi.NULL) + idp = backend._ffi.gc(idp, backend._lib.ISSUING_DIST_POINT_free) + idp.onlyuser = 255 if ext.only_contains_user_certs else 0 + idp.onlyCA = 255 if ext.only_contains_ca_certs else 0 + idp.indirectCRL = 255 if ext.indirect_crl else 0 + idp.onlyattr = 255 if ext.only_contains_attribute_certs else 0 + if ext.only_some_reasons: + idp.onlysomereasons = _encode_reasonflags( + backend, ext.only_some_reasons + ) + + if ext.full_name: + idp.distpoint = _encode_full_name(backend, ext.full_name) + + if ext.relative_name: + idp.distpoint = _encode_relative_name(backend, ext.relative_name) + + return idp + + def _encode_crl_reason(backend, crl_reason): asn1enum = backend._lib.ASN1_ENUMERATED_new() backend.openssl_assert(asn1enum != backend._ffi.NULL) @@ -178,8 +178,8 @@ def _encode_crl_reason(backend, crl_reason): def _encode_invalidity_date(backend, invalidity_date): time = backend._lib.ASN1_GENERALIZEDTIME_set( - backend._ffi.NULL, - calendar.timegm(invalidity_date.invalidity_date.timetuple()), + backend._ffi.NULL, + calendar.timegm(invalidity_date.invalidity_date.timetuple()), ) backend.openssl_assert(time != backend._ffi.NULL) time = backend._ffi.gc(time, backend._lib.ASN1_GENERALIZEDTIME_free) @@ -260,7 +260,7 @@ def _txt2obj(backend, name): Converts a Python string with an ASN.1 object ID in dotted form to a ASN1_OBJECT. """ - name = name.encode("ascii") + name = name.encode("ascii") obj = backend._lib.OBJ_txt2obj(name, 1) backend.openssl_assert(obj != backend._ffi.NULL) return obj @@ -273,8 +273,8 @@ def _txt2obj_gc(backend, name): def _encode_ocsp_nocheck(backend, ext): - # Doesn't need to be GC'd - return backend._lib.ASN1_NULL_new() + # Doesn't need to be GC'd + return backend._lib.ASN1_NULL_new() def _encode_key_usage(backend, key_usage): @@ -346,26 +346,26 @@ def _encode_basic_constraints(backend, basic_constraints): return constraints -def _encode_information_access(backend, info_access): +def _encode_information_access(backend, info_access): aia = backend._lib.sk_ACCESS_DESCRIPTION_new_null() backend.openssl_assert(aia != backend._ffi.NULL) aia = backend._ffi.gc( - aia, - lambda x: backend._lib.sk_ACCESS_DESCRIPTION_pop_free( - x, - backend._ffi.addressof( - backend._lib._original_lib, "ACCESS_DESCRIPTION_free" - ), - ), + aia, + lambda x: backend._lib.sk_ACCESS_DESCRIPTION_pop_free( + x, + backend._ffi.addressof( + backend._lib._original_lib, "ACCESS_DESCRIPTION_free" + ), + ), ) - for access_description in info_access: + for access_description in info_access: ad = backend._lib.ACCESS_DESCRIPTION_new() method = _txt2obj( backend, access_description.access_method.dotted_string ) - _encode_general_name_preallocated( - backend, access_description.access_location, ad.location - ) + _encode_general_name_preallocated( + backend, access_description.access_location, ad.location + ) ad.method = method res = backend._lib.sk_ACCESS_DESCRIPTION_push(aia, ad) backend.openssl_assert(res >= 1) @@ -393,25 +393,25 @@ def _encode_alt_name(backend, san): def _encode_subject_key_identifier(backend, ski): - return _encode_asn1_str_gc(backend, ski.digest) + return _encode_asn1_str_gc(backend, ski.digest) def _encode_general_name(backend, name): - gn = backend._lib.GENERAL_NAME_new() - _encode_general_name_preallocated(backend, name, gn) - return gn - - -def _encode_general_name_preallocated(backend, name, gn): + gn = backend._lib.GENERAL_NAME_new() + _encode_general_name_preallocated(backend, name, gn) + return gn + + +def _encode_general_name_preallocated(backend, name, gn): if isinstance(name, x509.DNSName): backend.openssl_assert(gn != backend._ffi.NULL) gn.type = backend._lib.GEN_DNS ia5 = backend._lib.ASN1_IA5STRING_new() backend.openssl_assert(ia5 != backend._ffi.NULL) - # ia5strings are supposed to be ITU T.50 but to allow round-tripping - # of broken certs that encode utf8 we'll encode utf8 here too. - value = name.value.encode("utf8") + # ia5strings are supposed to be ITU T.50 but to allow round-tripping + # of broken certs that encode utf8 we'll encode utf8 here too. + value = name.value.encode("utf8") res = backend._lib.ASN1_STRING_set(ia5, value, len(value)) backend.openssl_assert(res == 1) @@ -420,7 +420,7 @@ def _encode_general_name_preallocated(backend, name, gn): backend.openssl_assert(gn != backend._ffi.NULL) gn.type = backend._lib.GEN_RID obj = backend._lib.OBJ_txt2obj( - name.value.dotted_string.encode("ascii"), 1 + name.value.dotted_string.encode("ascii"), 1 ) backend.openssl_assert(obj != backend._ffi.NULL) gn.d.registeredID = obj @@ -432,16 +432,16 @@ def _encode_general_name_preallocated(backend, name, gn): elif isinstance(name, x509.IPAddress): backend.openssl_assert(gn != backend._ffi.NULL) if isinstance(name.value, ipaddress.IPv4Network): - packed = name.value.network_address.packed + utils.int_to_bytes( - ((1 << 32) - name.value.num_addresses), 4 + packed = name.value.network_address.packed + utils.int_to_bytes( + ((1 << 32) - name.value.num_addresses), 4 ) elif isinstance(name.value, ipaddress.IPv6Network): - packed = name.value.network_address.packed + utils.int_to_bytes( - (1 << 128) - name.value.num_addresses, 16 + packed = name.value.network_address.packed + utils.int_to_bytes( + (1 << 128) - name.value.num_addresses, 16 ) else: packed = name.value.packed - ipaddr = _encode_asn1_str(backend, packed) + ipaddr = _encode_asn1_str(backend, packed) gn.type = backend._lib.GEN_IPADD gn.d.iPAddress = ipaddr elif isinstance(name, x509.OtherName): @@ -450,7 +450,7 @@ def _encode_general_name_preallocated(backend, name, gn): backend.openssl_assert(other_name != backend._ffi.NULL) type_id = backend._lib.OBJ_txt2obj( - name.type_id.dotted_string.encode("ascii"), 1 + name.type_id.dotted_string.encode("ascii"), 1 ) backend.openssl_assert(type_id != backend._ffi.NULL) data = backend._ffi.new("unsigned char[]", name.value) @@ -468,22 +468,22 @@ def _encode_general_name_preallocated(backend, name, gn): gn.d.otherName = other_name elif isinstance(name, x509.RFC822Name): backend.openssl_assert(gn != backend._ffi.NULL) - # ia5strings are supposed to be ITU T.50 but to allow round-tripping - # of broken certs that encode utf8 we'll encode utf8 here too. - data = name.value.encode("utf8") - asn1_str = _encode_asn1_str(backend, data) + # ia5strings are supposed to be ITU T.50 but to allow round-tripping + # of broken certs that encode utf8 we'll encode utf8 here too. + data = name.value.encode("utf8") + asn1_str = _encode_asn1_str(backend, data) gn.type = backend._lib.GEN_EMAIL gn.d.rfc822Name = asn1_str elif isinstance(name, x509.UniformResourceIdentifier): backend.openssl_assert(gn != backend._ffi.NULL) - # ia5strings are supposed to be ITU T.50 but to allow round-tripping - # of broken certs that encode utf8 we'll encode utf8 here too. - data = name.value.encode("utf8") - asn1_str = _encode_asn1_str(backend, data) + # ia5strings are supposed to be ITU T.50 but to allow round-tripping + # of broken certs that encode utf8 we'll encode utf8 here too. + data = name.value.encode("utf8") + asn1_str = _encode_asn1_str(backend, data) gn.type = backend._lib.GEN_URI gn.d.uniformResourceIdentifier = asn1_str else: - raise ValueError("{} is an unknown GeneralName type".format(name)) + raise ValueError("{} is an unknown GeneralName type".format(name)) def _encode_extended_key_usage(backend, extended_key_usage): @@ -509,49 +509,49 @@ _CRLREASONFLAGS = { } -def _encode_reasonflags(backend, reasons): - bitmask = backend._lib.ASN1_BIT_STRING_new() - backend.openssl_assert(bitmask != backend._ffi.NULL) - for reason in reasons: - res = backend._lib.ASN1_BIT_STRING_set_bit( - bitmask, _CRLREASONFLAGS[reason], 1 - ) - backend.openssl_assert(res == 1) - - return bitmask - - -def _encode_full_name(backend, full_name): - dpn = backend._lib.DIST_POINT_NAME_new() - backend.openssl_assert(dpn != backend._ffi.NULL) - dpn.type = _DISTPOINT_TYPE_FULLNAME - dpn.name.fullname = _encode_general_names(backend, full_name) - return dpn - - -def _encode_relative_name(backend, relative_name): - dpn = backend._lib.DIST_POINT_NAME_new() - backend.openssl_assert(dpn != backend._ffi.NULL) - dpn.type = _DISTPOINT_TYPE_RELATIVENAME - dpn.name.relativename = _encode_sk_name_entry(backend, relative_name) - return dpn - - -def _encode_cdps_freshest_crl(backend, cdps): +def _encode_reasonflags(backend, reasons): + bitmask = backend._lib.ASN1_BIT_STRING_new() + backend.openssl_assert(bitmask != backend._ffi.NULL) + for reason in reasons: + res = backend._lib.ASN1_BIT_STRING_set_bit( + bitmask, _CRLREASONFLAGS[reason], 1 + ) + backend.openssl_assert(res == 1) + + return bitmask + + +def _encode_full_name(backend, full_name): + dpn = backend._lib.DIST_POINT_NAME_new() + backend.openssl_assert(dpn != backend._ffi.NULL) + dpn.type = _DISTPOINT_TYPE_FULLNAME + dpn.name.fullname = _encode_general_names(backend, full_name) + return dpn + + +def _encode_relative_name(backend, relative_name): + dpn = backend._lib.DIST_POINT_NAME_new() + backend.openssl_assert(dpn != backend._ffi.NULL) + dpn.type = _DISTPOINT_TYPE_RELATIVENAME + dpn.name.relativename = _encode_sk_name_entry(backend, relative_name) + return dpn + + +def _encode_cdps_freshest_crl(backend, cdps): cdp = backend._lib.sk_DIST_POINT_new_null() cdp = backend._ffi.gc(cdp, backend._lib.sk_DIST_POINT_free) - for point in cdps: + for point in cdps: dp = backend._lib.DIST_POINT_new() backend.openssl_assert(dp != backend._ffi.NULL) if point.reasons: - dp.reasons = _encode_reasonflags(backend, point.reasons) + dp.reasons = _encode_reasonflags(backend, point.reasons) if point.full_name: - dp.distpoint = _encode_full_name(backend, point.full_name) + dp.distpoint = _encode_full_name(backend, point.full_name) if point.relative_name: - dp.distpoint = _encode_relative_name(backend, point.relative_name) + dp.distpoint = _encode_relative_name(backend, point.relative_name) if point.crl_issuer: dp.CRLissuer = _encode_general_names(backend, point.crl_issuer) @@ -604,25 +604,25 @@ def _encode_general_subtree(backend, subtrees): gs = backend._lib.GENERAL_SUBTREE_new() gs.base = _encode_general_name(backend, name) res = backend._lib.sk_GENERAL_SUBTREE_push(general_subtrees, gs) - backend.openssl_assert(res >= 1) + backend.openssl_assert(res >= 1) return general_subtrees -def _encode_precert_signed_certificate_timestamps(backend, scts): - sct_stack = backend._lib.sk_SCT_new_null() - backend.openssl_assert(sct_stack != backend._ffi.NULL) - sct_stack = backend._ffi.gc(sct_stack, backend._lib.sk_SCT_free) - for sct in scts: - res = backend._lib.sk_SCT_push(sct_stack, sct._sct) - backend.openssl_assert(res >= 1) - return sct_stack - - -def _encode_nonce(backend, nonce): - return _encode_asn1_str_gc(backend, nonce.nonce) - - +def _encode_precert_signed_certificate_timestamps(backend, scts): + sct_stack = backend._lib.sk_SCT_new_null() + backend.openssl_assert(sct_stack != backend._ffi.NULL) + sct_stack = backend._ffi.gc(sct_stack, backend._lib.sk_SCT_free) + for sct in scts: + res = backend._lib.sk_SCT_push(sct_stack, sct._sct) + backend.openssl_assert(res >= 1) + return sct_stack + + +def _encode_nonce(backend, nonce): + return _encode_asn1_str_gc(backend, nonce.nonce) + + _EXTENSION_ENCODE_HANDLERS = { ExtensionOID.BASIC_CONSTRAINTS: _encode_basic_constraints, ExtensionOID.SUBJECT_KEY_IDENTIFIER: _encode_subject_key_identifier, @@ -632,27 +632,27 @@ _EXTENSION_ENCODE_HANDLERS = { ExtensionOID.EXTENDED_KEY_USAGE: _encode_extended_key_usage, ExtensionOID.AUTHORITY_KEY_IDENTIFIER: _encode_authority_key_identifier, ExtensionOID.CERTIFICATE_POLICIES: _encode_certificate_policies, - ExtensionOID.AUTHORITY_INFORMATION_ACCESS: _encode_information_access, - ExtensionOID.SUBJECT_INFORMATION_ACCESS: _encode_information_access, - ExtensionOID.CRL_DISTRIBUTION_POINTS: _encode_cdps_freshest_crl, - ExtensionOID.FRESHEST_CRL: _encode_cdps_freshest_crl, + ExtensionOID.AUTHORITY_INFORMATION_ACCESS: _encode_information_access, + ExtensionOID.SUBJECT_INFORMATION_ACCESS: _encode_information_access, + ExtensionOID.CRL_DISTRIBUTION_POINTS: _encode_cdps_freshest_crl, + ExtensionOID.FRESHEST_CRL: _encode_cdps_freshest_crl, ExtensionOID.INHIBIT_ANY_POLICY: _encode_inhibit_any_policy, ExtensionOID.OCSP_NO_CHECK: _encode_ocsp_nocheck, ExtensionOID.NAME_CONSTRAINTS: _encode_name_constraints, ExtensionOID.POLICY_CONSTRAINTS: _encode_policy_constraints, - ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: ( - _encode_precert_signed_certificate_timestamps - ), + ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: ( + _encode_precert_signed_certificate_timestamps + ), } _CRL_EXTENSION_ENCODE_HANDLERS = { ExtensionOID.ISSUER_ALTERNATIVE_NAME: _encode_alt_name, ExtensionOID.AUTHORITY_KEY_IDENTIFIER: _encode_authority_key_identifier, - ExtensionOID.AUTHORITY_INFORMATION_ACCESS: _encode_information_access, - ExtensionOID.CRL_NUMBER: _encode_crl_number_delta_crl_indicator, - ExtensionOID.DELTA_CRL_INDICATOR: _encode_crl_number_delta_crl_indicator, - ExtensionOID.ISSUING_DISTRIBUTION_POINT: _encode_issuing_dist_point, - ExtensionOID.FRESHEST_CRL: _encode_cdps_freshest_crl, + ExtensionOID.AUTHORITY_INFORMATION_ACCESS: _encode_information_access, + ExtensionOID.CRL_NUMBER: _encode_crl_number_delta_crl_indicator, + ExtensionOID.DELTA_CRL_INDICATOR: _encode_crl_number_delta_crl_indicator, + ExtensionOID.ISSUING_DISTRIBUTION_POINT: _encode_issuing_dist_point, + ExtensionOID.FRESHEST_CRL: _encode_cdps_freshest_crl, } _CRL_ENTRY_EXTENSION_ENCODE_HANDLERS = { @@ -660,11 +660,11 @@ _CRL_ENTRY_EXTENSION_ENCODE_HANDLERS = { CRLEntryExtensionOID.CRL_REASON: _encode_crl_reason, CRLEntryExtensionOID.INVALIDITY_DATE: _encode_invalidity_date, } - -_OCSP_REQUEST_EXTENSION_ENCODE_HANDLERS = { - OCSPExtensionOID.NONCE: _encode_nonce, -} - -_OCSP_BASICRESP_EXTENSION_ENCODE_HANDLERS = { - OCSPExtensionOID.NONCE: _encode_nonce, -} + +_OCSP_REQUEST_EXTENSION_ENCODE_HANDLERS = { + OCSPExtensionOID.NONCE: _encode_nonce, +} + +_OCSP_BASICRESP_EXTENSION_ENCODE_HANDLERS = { + OCSPExtensionOID.NONCE: _encode_nonce, +} diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/hashes.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/hashes.py index ef183e3ca3..764dce0ede 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/hashes.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/hashes.py @@ -18,21 +18,21 @@ class _HashContext(object): self._backend = backend if ctx is None: - ctx = self._backend._lib.EVP_MD_CTX_new() + ctx = self._backend._lib.EVP_MD_CTX_new() ctx = self._backend._ffi.gc( - ctx, self._backend._lib.EVP_MD_CTX_free + ctx, self._backend._lib.EVP_MD_CTX_free ) - evp_md = self._backend._evp_md_from_algorithm(algorithm) + evp_md = self._backend._evp_md_from_algorithm(algorithm) if evp_md == self._backend._ffi.NULL: raise UnsupportedAlgorithm( - "{} is not a supported hash on this backend.".format( - algorithm.name - ), - _Reasons.UNSUPPORTED_HASH, + "{} is not a supported hash on this backend.".format( + algorithm.name + ), + _Reasons.UNSUPPORTED_HASH, ) - res = self._backend._lib.EVP_DigestInit_ex( - ctx, evp_md, self._backend._ffi.NULL - ) + res = self._backend._lib.EVP_DigestInit_ex( + ctx, evp_md, self._backend._ffi.NULL + ) self._backend.openssl_assert(res != 0) self._ctx = ctx @@ -40,43 +40,43 @@ class _HashContext(object): algorithm = utils.read_only_property("_algorithm") def copy(self): - copied_ctx = self._backend._lib.EVP_MD_CTX_new() + copied_ctx = self._backend._lib.EVP_MD_CTX_new() copied_ctx = self._backend._ffi.gc( - copied_ctx, self._backend._lib.EVP_MD_CTX_free + copied_ctx, self._backend._lib.EVP_MD_CTX_free ) res = self._backend._lib.EVP_MD_CTX_copy_ex(copied_ctx, self._ctx) self._backend.openssl_assert(res != 0) return _HashContext(self._backend, self.algorithm, ctx=copied_ctx) def update(self, data): - data_ptr = self._backend._ffi.from_buffer(data) - res = self._backend._lib.EVP_DigestUpdate( - self._ctx, data_ptr, len(data) - ) + data_ptr = self._backend._ffi.from_buffer(data) + res = self._backend._lib.EVP_DigestUpdate( + self._ctx, data_ptr, len(data) + ) self._backend.openssl_assert(res != 0) def finalize(self): - if isinstance(self.algorithm, hashes.ExtendableOutputFunction): - # extendable output functions use a different finalize - return self._finalize_xof() - else: - buf = self._backend._ffi.new( - "unsigned char[]", self._backend._lib.EVP_MAX_MD_SIZE - ) - outlen = self._backend._ffi.new("unsigned int *") - res = self._backend._lib.EVP_DigestFinal_ex(self._ctx, buf, outlen) - self._backend.openssl_assert(res != 0) - self._backend.openssl_assert( - outlen[0] == self.algorithm.digest_size - ) - return self._backend._ffi.buffer(buf)[: outlen[0]] - - def _finalize_xof(self): - buf = self._backend._ffi.new( - "unsigned char[]", self.algorithm.digest_size - ) - res = self._backend._lib.EVP_DigestFinalXOF( - self._ctx, buf, self.algorithm.digest_size - ) + if isinstance(self.algorithm, hashes.ExtendableOutputFunction): + # extendable output functions use a different finalize + return self._finalize_xof() + else: + buf = self._backend._ffi.new( + "unsigned char[]", self._backend._lib.EVP_MAX_MD_SIZE + ) + outlen = self._backend._ffi.new("unsigned int *") + res = self._backend._lib.EVP_DigestFinal_ex(self._ctx, buf, outlen) + self._backend.openssl_assert(res != 0) + self._backend.openssl_assert( + outlen[0] == self.algorithm.digest_size + ) + return self._backend._ffi.buffer(buf)[: outlen[0]] + + def _finalize_xof(self): + buf = self._backend._ffi.new( + "unsigned char[]", self.algorithm.digest_size + ) + res = self._backend._lib.EVP_DigestFinalXOF( + self._ctx, buf, self.algorithm.digest_size + ) self._backend.openssl_assert(res != 0) - return self._backend._ffi.buffer(buf)[: self.algorithm.digest_size] + return self._backend._ffi.buffer(buf)[: self.algorithm.digest_size] diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/hmac.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/hmac.py index b90a270935..1cc9d99fec 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/hmac.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/hmac.py @@ -7,11 +7,11 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.exceptions import ( - InvalidSignature, - UnsupportedAlgorithm, - _Reasons, + InvalidSignature, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.primitives import constant_time, hashes +from cryptography.hazmat.primitives import constant_time, hashes @utils.register_interface(hashes.HashContext) @@ -21,20 +21,20 @@ class _HMACContext(object): self._backend = backend if ctx is None: - ctx = self._backend._lib.HMAC_CTX_new() + ctx = self._backend._lib.HMAC_CTX_new() self._backend.openssl_assert(ctx != self._backend._ffi.NULL) - ctx = self._backend._ffi.gc(ctx, self._backend._lib.HMAC_CTX_free) - evp_md = self._backend._evp_md_from_algorithm(algorithm) + ctx = self._backend._ffi.gc(ctx, self._backend._lib.HMAC_CTX_free) + evp_md = self._backend._evp_md_from_algorithm(algorithm) if evp_md == self._backend._ffi.NULL: raise UnsupportedAlgorithm( - "{} is not a supported hash on this backend".format( - algorithm.name - ), - _Reasons.UNSUPPORTED_HASH, + "{} is not a supported hash on this backend".format( + algorithm.name + ), + _Reasons.UNSUPPORTED_HASH, ) - key_ptr = self._backend._ffi.from_buffer(key) + key_ptr = self._backend._ffi.from_buffer(key) res = self._backend._lib.HMAC_Init_ex( - ctx, key_ptr, len(key), evp_md, self._backend._ffi.NULL + ctx, key_ptr, len(key), evp_md, self._backend._ffi.NULL ) self._backend.openssl_assert(res != 0) @@ -44,10 +44,10 @@ class _HMACContext(object): algorithm = utils.read_only_property("_algorithm") def copy(self): - copied_ctx = self._backend._lib.HMAC_CTX_new() + copied_ctx = self._backend._lib.HMAC_CTX_new() self._backend.openssl_assert(copied_ctx != self._backend._ffi.NULL) copied_ctx = self._backend._ffi.gc( - copied_ctx, self._backend._lib.HMAC_CTX_free + copied_ctx, self._backend._lib.HMAC_CTX_free ) res = self._backend._lib.HMAC_CTX_copy(copied_ctx, self._ctx) self._backend.openssl_assert(res != 0) @@ -56,19 +56,19 @@ class _HMACContext(object): ) def update(self, data): - data_ptr = self._backend._ffi.from_buffer(data) - res = self._backend._lib.HMAC_Update(self._ctx, data_ptr, len(data)) + data_ptr = self._backend._ffi.from_buffer(data) + res = self._backend._lib.HMAC_Update(self._ctx, data_ptr, len(data)) self._backend.openssl_assert(res != 0) def finalize(self): - buf = self._backend._ffi.new( - "unsigned char[]", self._backend._lib.EVP_MAX_MD_SIZE - ) + buf = self._backend._ffi.new( + "unsigned char[]", self._backend._lib.EVP_MAX_MD_SIZE + ) outlen = self._backend._ffi.new("unsigned int *") res = self._backend._lib.HMAC_Final(self._ctx, buf, outlen) self._backend.openssl_assert(res != 0) self._backend.openssl_assert(outlen[0] == self.algorithm.digest_size) - return self._backend._ffi.buffer(buf)[: outlen[0]] + return self._backend._ffi.buffer(buf)[: outlen[0]] def verify(self, signature): digest = self.finalize() diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ocsp.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ocsp.py index d0fe18369f..50c02e7a80 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ocsp.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/ocsp.py @@ -1,401 +1,401 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import functools - -from cryptography import utils, x509 -from cryptography.exceptions import UnsupportedAlgorithm -from cryptography.hazmat.backends.openssl.decode_asn1 import ( - _CRL_ENTRY_REASON_CODE_TO_ENUM, - _asn1_integer_to_int, - _asn1_string_to_bytes, - _decode_x509_name, - _obj2txt, - _parse_asn1_generalized_time, -) -from cryptography.hazmat.backends.openssl.x509 import _Certificate -from cryptography.hazmat.primitives import serialization -from cryptography.x509.ocsp import ( - OCSPCertStatus, - OCSPRequest, - OCSPResponse, - OCSPResponseStatus, - _CERT_STATUS_TO_ENUM, - _OIDS_TO_HASH, - _RESPONSE_STATUS_TO_ENUM, -) - - -def _requires_successful_response(func): - @functools.wraps(func) - def wrapper(self, *args): - if self.response_status != OCSPResponseStatus.SUCCESSFUL: - raise ValueError( - "OCSP response status is not successful so the property " - "has no value" - ) - else: - return func(self, *args) - - return wrapper - - -def _issuer_key_hash(backend, cert_id): - key_hash = backend._ffi.new("ASN1_OCTET_STRING **") - res = backend._lib.OCSP_id_get0_info( - backend._ffi.NULL, - backend._ffi.NULL, - key_hash, - backend._ffi.NULL, - cert_id, - ) - backend.openssl_assert(res == 1) - backend.openssl_assert(key_hash[0] != backend._ffi.NULL) - return _asn1_string_to_bytes(backend, key_hash[0]) - - -def _issuer_name_hash(backend, cert_id): - name_hash = backend._ffi.new("ASN1_OCTET_STRING **") - res = backend._lib.OCSP_id_get0_info( - name_hash, - backend._ffi.NULL, - backend._ffi.NULL, - backend._ffi.NULL, - cert_id, - ) - backend.openssl_assert(res == 1) - backend.openssl_assert(name_hash[0] != backend._ffi.NULL) - return _asn1_string_to_bytes(backend, name_hash[0]) - - -def _serial_number(backend, cert_id): - num = backend._ffi.new("ASN1_INTEGER **") - res = backend._lib.OCSP_id_get0_info( - backend._ffi.NULL, backend._ffi.NULL, backend._ffi.NULL, num, cert_id - ) - backend.openssl_assert(res == 1) - backend.openssl_assert(num[0] != backend._ffi.NULL) - return _asn1_integer_to_int(backend, num[0]) - - -def _hash_algorithm(backend, cert_id): - asn1obj = backend._ffi.new("ASN1_OBJECT **") - res = backend._lib.OCSP_id_get0_info( - backend._ffi.NULL, - asn1obj, - backend._ffi.NULL, - backend._ffi.NULL, - cert_id, - ) - backend.openssl_assert(res == 1) - backend.openssl_assert(asn1obj[0] != backend._ffi.NULL) - oid = _obj2txt(backend, asn1obj[0]) - try: - return _OIDS_TO_HASH[oid] - except KeyError: - raise UnsupportedAlgorithm( - "Signature algorithm OID: {} not recognized".format(oid) - ) - - -@utils.register_interface(OCSPResponse) -class _OCSPResponse(object): - def __init__(self, backend, ocsp_response): - self._backend = backend - self._ocsp_response = ocsp_response - status = self._backend._lib.OCSP_response_status(self._ocsp_response) - self._backend.openssl_assert(status in _RESPONSE_STATUS_TO_ENUM) - self._status = _RESPONSE_STATUS_TO_ENUM[status] - if self._status is OCSPResponseStatus.SUCCESSFUL: - basic = self._backend._lib.OCSP_response_get1_basic( - self._ocsp_response - ) - self._backend.openssl_assert(basic != self._backend._ffi.NULL) - self._basic = self._backend._ffi.gc( - basic, self._backend._lib.OCSP_BASICRESP_free - ) - num_resp = self._backend._lib.OCSP_resp_count(self._basic) - if num_resp != 1: - raise ValueError( - "OCSP response contains more than one SINGLERESP structure" - ", which this library does not support. " - "{} found".format(num_resp) - ) - self._single = self._backend._lib.OCSP_resp_get0(self._basic, 0) - self._backend.openssl_assert( - self._single != self._backend._ffi.NULL - ) - self._cert_id = self._backend._lib.OCSP_SINGLERESP_get0_id( - self._single - ) - self._backend.openssl_assert( - self._cert_id != self._backend._ffi.NULL - ) - - response_status = utils.read_only_property("_status") - - @property - @_requires_successful_response - def signature_algorithm_oid(self): - alg = self._backend._lib.OCSP_resp_get0_tbs_sigalg(self._basic) - self._backend.openssl_assert(alg != self._backend._ffi.NULL) - oid = _obj2txt(self._backend, alg.algorithm) - return x509.ObjectIdentifier(oid) - - @property - @_requires_successful_response - def signature_hash_algorithm(self): - oid = self.signature_algorithm_oid - try: - return x509._SIG_OIDS_TO_HASH[oid] - except KeyError: - raise UnsupportedAlgorithm( - "Signature algorithm OID:{} not recognized".format(oid) - ) - - @property - @_requires_successful_response - def signature(self): - sig = self._backend._lib.OCSP_resp_get0_signature(self._basic) - self._backend.openssl_assert(sig != self._backend._ffi.NULL) - return _asn1_string_to_bytes(self._backend, sig) - - @property - @_requires_successful_response - def tbs_response_bytes(self): - respdata = self._backend._lib.OCSP_resp_get0_respdata(self._basic) - self._backend.openssl_assert(respdata != self._backend._ffi.NULL) - pp = self._backend._ffi.new("unsigned char **") - res = self._backend._lib.i2d_OCSP_RESPDATA(respdata, pp) - self._backend.openssl_assert(pp[0] != self._backend._ffi.NULL) - pp = self._backend._ffi.gc( - pp, lambda pointer: self._backend._lib.OPENSSL_free(pointer[0]) - ) - self._backend.openssl_assert(res > 0) - return self._backend._ffi.buffer(pp[0], res)[:] - - @property - @_requires_successful_response - def certificates(self): - sk_x509 = self._backend._lib.OCSP_resp_get0_certs(self._basic) - num = self._backend._lib.sk_X509_num(sk_x509) - certs = [] - for i in range(num): - x509 = self._backend._lib.sk_X509_value(sk_x509, i) - self._backend.openssl_assert(x509 != self._backend._ffi.NULL) - cert = _Certificate(self._backend, x509) - # We need to keep the OCSP response that the certificate came from - # alive until the Certificate object itself goes out of scope, so - # we give it a private reference. - cert._ocsp_resp = self - certs.append(cert) - - return certs - - @property - @_requires_successful_response - def responder_key_hash(self): - _, asn1_string = self._responder_key_name() - if asn1_string == self._backend._ffi.NULL: - return None - else: - return _asn1_string_to_bytes(self._backend, asn1_string) - - @property - @_requires_successful_response - def responder_name(self): - x509_name, _ = self._responder_key_name() - if x509_name == self._backend._ffi.NULL: - return None - else: - return _decode_x509_name(self._backend, x509_name) - - def _responder_key_name(self): - asn1_string = self._backend._ffi.new("ASN1_OCTET_STRING **") - x509_name = self._backend._ffi.new("X509_NAME **") - res = self._backend._lib.OCSP_resp_get0_id( - self._basic, asn1_string, x509_name - ) - self._backend.openssl_assert(res == 1) - return x509_name[0], asn1_string[0] - - @property - @_requires_successful_response - def produced_at(self): - produced_at = self._backend._lib.OCSP_resp_get0_produced_at( - self._basic - ) - return _parse_asn1_generalized_time(self._backend, produced_at) - - @property - @_requires_successful_response - def certificate_status(self): - status = self._backend._lib.OCSP_single_get0_status( - self._single, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - ) - self._backend.openssl_assert(status in _CERT_STATUS_TO_ENUM) - return _CERT_STATUS_TO_ENUM[status] - - @property - @_requires_successful_response - def revocation_time(self): - if self.certificate_status is not OCSPCertStatus.REVOKED: - return None - - asn1_time = self._backend._ffi.new("ASN1_GENERALIZEDTIME **") - self._backend._lib.OCSP_single_get0_status( - self._single, - self._backend._ffi.NULL, - asn1_time, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - ) - self._backend.openssl_assert(asn1_time[0] != self._backend._ffi.NULL) - return _parse_asn1_generalized_time(self._backend, asn1_time[0]) - - @property - @_requires_successful_response - def revocation_reason(self): - if self.certificate_status is not OCSPCertStatus.REVOKED: - return None - - reason_ptr = self._backend._ffi.new("int *") - self._backend._lib.OCSP_single_get0_status( - self._single, - reason_ptr, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - ) - # If no reason is encoded OpenSSL returns -1 - if reason_ptr[0] == -1: - return None - else: - self._backend.openssl_assert( - reason_ptr[0] in _CRL_ENTRY_REASON_CODE_TO_ENUM - ) - return _CRL_ENTRY_REASON_CODE_TO_ENUM[reason_ptr[0]] - - @property - @_requires_successful_response - def this_update(self): - asn1_time = self._backend._ffi.new("ASN1_GENERALIZEDTIME **") - self._backend._lib.OCSP_single_get0_status( - self._single, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - asn1_time, - self._backend._ffi.NULL, - ) - self._backend.openssl_assert(asn1_time[0] != self._backend._ffi.NULL) - return _parse_asn1_generalized_time(self._backend, asn1_time[0]) - - @property - @_requires_successful_response - def next_update(self): - asn1_time = self._backend._ffi.new("ASN1_GENERALIZEDTIME **") - self._backend._lib.OCSP_single_get0_status( - self._single, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - asn1_time, - ) - if asn1_time[0] != self._backend._ffi.NULL: - return _parse_asn1_generalized_time(self._backend, asn1_time[0]) - else: - return None - - @property - @_requires_successful_response - def issuer_key_hash(self): - return _issuer_key_hash(self._backend, self._cert_id) - - @property - @_requires_successful_response - def issuer_name_hash(self): - return _issuer_name_hash(self._backend, self._cert_id) - - @property - @_requires_successful_response - def hash_algorithm(self): - return _hash_algorithm(self._backend, self._cert_id) - - @property - @_requires_successful_response - def serial_number(self): - return _serial_number(self._backend, self._cert_id) - - @utils.cached_property - @_requires_successful_response - def extensions(self): - return self._backend._ocsp_basicresp_ext_parser.parse(self._basic) - - @utils.cached_property - @_requires_successful_response - def single_extensions(self): - return self._backend._ocsp_singleresp_ext_parser.parse(self._single) - - def public_bytes(self, encoding): - if encoding is not serialization.Encoding.DER: - raise ValueError("The only allowed encoding value is Encoding.DER") - - bio = self._backend._create_mem_bio_gc() - res = self._backend._lib.i2d_OCSP_RESPONSE_bio( - bio, self._ocsp_response - ) - self._backend.openssl_assert(res > 0) - return self._backend._read_mem_bio(bio) - - -@utils.register_interface(OCSPRequest) -class _OCSPRequest(object): - def __init__(self, backend, ocsp_request): - if backend._lib.OCSP_request_onereq_count(ocsp_request) > 1: - raise NotImplementedError( - "OCSP request contains more than one request" - ) - self._backend = backend - self._ocsp_request = ocsp_request - self._request = self._backend._lib.OCSP_request_onereq_get0( - self._ocsp_request, 0 - ) - self._backend.openssl_assert(self._request != self._backend._ffi.NULL) - self._cert_id = self._backend._lib.OCSP_onereq_get0_id(self._request) - self._backend.openssl_assert(self._cert_id != self._backend._ffi.NULL) - - @property - def issuer_key_hash(self): - return _issuer_key_hash(self._backend, self._cert_id) - - @property - def issuer_name_hash(self): - return _issuer_name_hash(self._backend, self._cert_id) - - @property - def serial_number(self): - return _serial_number(self._backend, self._cert_id) - - @property - def hash_algorithm(self): - return _hash_algorithm(self._backend, self._cert_id) - - @utils.cached_property - def extensions(self): - return self._backend._ocsp_req_ext_parser.parse(self._ocsp_request) - - def public_bytes(self, encoding): - if encoding is not serialization.Encoding.DER: - raise ValueError("The only allowed encoding value is Encoding.DER") - - bio = self._backend._create_mem_bio_gc() - res = self._backend._lib.i2d_OCSP_REQUEST_bio(bio, self._ocsp_request) - self._backend.openssl_assert(res > 0) - return self._backend._read_mem_bio(bio) +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import functools + +from cryptography import utils, x509 +from cryptography.exceptions import UnsupportedAlgorithm +from cryptography.hazmat.backends.openssl.decode_asn1 import ( + _CRL_ENTRY_REASON_CODE_TO_ENUM, + _asn1_integer_to_int, + _asn1_string_to_bytes, + _decode_x509_name, + _obj2txt, + _parse_asn1_generalized_time, +) +from cryptography.hazmat.backends.openssl.x509 import _Certificate +from cryptography.hazmat.primitives import serialization +from cryptography.x509.ocsp import ( + OCSPCertStatus, + OCSPRequest, + OCSPResponse, + OCSPResponseStatus, + _CERT_STATUS_TO_ENUM, + _OIDS_TO_HASH, + _RESPONSE_STATUS_TO_ENUM, +) + + +def _requires_successful_response(func): + @functools.wraps(func) + def wrapper(self, *args): + if self.response_status != OCSPResponseStatus.SUCCESSFUL: + raise ValueError( + "OCSP response status is not successful so the property " + "has no value" + ) + else: + return func(self, *args) + + return wrapper + + +def _issuer_key_hash(backend, cert_id): + key_hash = backend._ffi.new("ASN1_OCTET_STRING **") + res = backend._lib.OCSP_id_get0_info( + backend._ffi.NULL, + backend._ffi.NULL, + key_hash, + backend._ffi.NULL, + cert_id, + ) + backend.openssl_assert(res == 1) + backend.openssl_assert(key_hash[0] != backend._ffi.NULL) + return _asn1_string_to_bytes(backend, key_hash[0]) + + +def _issuer_name_hash(backend, cert_id): + name_hash = backend._ffi.new("ASN1_OCTET_STRING **") + res = backend._lib.OCSP_id_get0_info( + name_hash, + backend._ffi.NULL, + backend._ffi.NULL, + backend._ffi.NULL, + cert_id, + ) + backend.openssl_assert(res == 1) + backend.openssl_assert(name_hash[0] != backend._ffi.NULL) + return _asn1_string_to_bytes(backend, name_hash[0]) + + +def _serial_number(backend, cert_id): + num = backend._ffi.new("ASN1_INTEGER **") + res = backend._lib.OCSP_id_get0_info( + backend._ffi.NULL, backend._ffi.NULL, backend._ffi.NULL, num, cert_id + ) + backend.openssl_assert(res == 1) + backend.openssl_assert(num[0] != backend._ffi.NULL) + return _asn1_integer_to_int(backend, num[0]) + + +def _hash_algorithm(backend, cert_id): + asn1obj = backend._ffi.new("ASN1_OBJECT **") + res = backend._lib.OCSP_id_get0_info( + backend._ffi.NULL, + asn1obj, + backend._ffi.NULL, + backend._ffi.NULL, + cert_id, + ) + backend.openssl_assert(res == 1) + backend.openssl_assert(asn1obj[0] != backend._ffi.NULL) + oid = _obj2txt(backend, asn1obj[0]) + try: + return _OIDS_TO_HASH[oid] + except KeyError: + raise UnsupportedAlgorithm( + "Signature algorithm OID: {} not recognized".format(oid) + ) + + +@utils.register_interface(OCSPResponse) +class _OCSPResponse(object): + def __init__(self, backend, ocsp_response): + self._backend = backend + self._ocsp_response = ocsp_response + status = self._backend._lib.OCSP_response_status(self._ocsp_response) + self._backend.openssl_assert(status in _RESPONSE_STATUS_TO_ENUM) + self._status = _RESPONSE_STATUS_TO_ENUM[status] + if self._status is OCSPResponseStatus.SUCCESSFUL: + basic = self._backend._lib.OCSP_response_get1_basic( + self._ocsp_response + ) + self._backend.openssl_assert(basic != self._backend._ffi.NULL) + self._basic = self._backend._ffi.gc( + basic, self._backend._lib.OCSP_BASICRESP_free + ) + num_resp = self._backend._lib.OCSP_resp_count(self._basic) + if num_resp != 1: + raise ValueError( + "OCSP response contains more than one SINGLERESP structure" + ", which this library does not support. " + "{} found".format(num_resp) + ) + self._single = self._backend._lib.OCSP_resp_get0(self._basic, 0) + self._backend.openssl_assert( + self._single != self._backend._ffi.NULL + ) + self._cert_id = self._backend._lib.OCSP_SINGLERESP_get0_id( + self._single + ) + self._backend.openssl_assert( + self._cert_id != self._backend._ffi.NULL + ) + + response_status = utils.read_only_property("_status") + + @property + @_requires_successful_response + def signature_algorithm_oid(self): + alg = self._backend._lib.OCSP_resp_get0_tbs_sigalg(self._basic) + self._backend.openssl_assert(alg != self._backend._ffi.NULL) + oid = _obj2txt(self._backend, alg.algorithm) + return x509.ObjectIdentifier(oid) + + @property + @_requires_successful_response + def signature_hash_algorithm(self): + oid = self.signature_algorithm_oid + try: + return x509._SIG_OIDS_TO_HASH[oid] + except KeyError: + raise UnsupportedAlgorithm( + "Signature algorithm OID:{} not recognized".format(oid) + ) + + @property + @_requires_successful_response + def signature(self): + sig = self._backend._lib.OCSP_resp_get0_signature(self._basic) + self._backend.openssl_assert(sig != self._backend._ffi.NULL) + return _asn1_string_to_bytes(self._backend, sig) + + @property + @_requires_successful_response + def tbs_response_bytes(self): + respdata = self._backend._lib.OCSP_resp_get0_respdata(self._basic) + self._backend.openssl_assert(respdata != self._backend._ffi.NULL) + pp = self._backend._ffi.new("unsigned char **") + res = self._backend._lib.i2d_OCSP_RESPDATA(respdata, pp) + self._backend.openssl_assert(pp[0] != self._backend._ffi.NULL) + pp = self._backend._ffi.gc( + pp, lambda pointer: self._backend._lib.OPENSSL_free(pointer[0]) + ) + self._backend.openssl_assert(res > 0) + return self._backend._ffi.buffer(pp[0], res)[:] + + @property + @_requires_successful_response + def certificates(self): + sk_x509 = self._backend._lib.OCSP_resp_get0_certs(self._basic) + num = self._backend._lib.sk_X509_num(sk_x509) + certs = [] + for i in range(num): + x509 = self._backend._lib.sk_X509_value(sk_x509, i) + self._backend.openssl_assert(x509 != self._backend._ffi.NULL) + cert = _Certificate(self._backend, x509) + # We need to keep the OCSP response that the certificate came from + # alive until the Certificate object itself goes out of scope, so + # we give it a private reference. + cert._ocsp_resp = self + certs.append(cert) + + return certs + + @property + @_requires_successful_response + def responder_key_hash(self): + _, asn1_string = self._responder_key_name() + if asn1_string == self._backend._ffi.NULL: + return None + else: + return _asn1_string_to_bytes(self._backend, asn1_string) + + @property + @_requires_successful_response + def responder_name(self): + x509_name, _ = self._responder_key_name() + if x509_name == self._backend._ffi.NULL: + return None + else: + return _decode_x509_name(self._backend, x509_name) + + def _responder_key_name(self): + asn1_string = self._backend._ffi.new("ASN1_OCTET_STRING **") + x509_name = self._backend._ffi.new("X509_NAME **") + res = self._backend._lib.OCSP_resp_get0_id( + self._basic, asn1_string, x509_name + ) + self._backend.openssl_assert(res == 1) + return x509_name[0], asn1_string[0] + + @property + @_requires_successful_response + def produced_at(self): + produced_at = self._backend._lib.OCSP_resp_get0_produced_at( + self._basic + ) + return _parse_asn1_generalized_time(self._backend, produced_at) + + @property + @_requires_successful_response + def certificate_status(self): + status = self._backend._lib.OCSP_single_get0_status( + self._single, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + ) + self._backend.openssl_assert(status in _CERT_STATUS_TO_ENUM) + return _CERT_STATUS_TO_ENUM[status] + + @property + @_requires_successful_response + def revocation_time(self): + if self.certificate_status is not OCSPCertStatus.REVOKED: + return None + + asn1_time = self._backend._ffi.new("ASN1_GENERALIZEDTIME **") + self._backend._lib.OCSP_single_get0_status( + self._single, + self._backend._ffi.NULL, + asn1_time, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + ) + self._backend.openssl_assert(asn1_time[0] != self._backend._ffi.NULL) + return _parse_asn1_generalized_time(self._backend, asn1_time[0]) + + @property + @_requires_successful_response + def revocation_reason(self): + if self.certificate_status is not OCSPCertStatus.REVOKED: + return None + + reason_ptr = self._backend._ffi.new("int *") + self._backend._lib.OCSP_single_get0_status( + self._single, + reason_ptr, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + ) + # If no reason is encoded OpenSSL returns -1 + if reason_ptr[0] == -1: + return None + else: + self._backend.openssl_assert( + reason_ptr[0] in _CRL_ENTRY_REASON_CODE_TO_ENUM + ) + return _CRL_ENTRY_REASON_CODE_TO_ENUM[reason_ptr[0]] + + @property + @_requires_successful_response + def this_update(self): + asn1_time = self._backend._ffi.new("ASN1_GENERALIZEDTIME **") + self._backend._lib.OCSP_single_get0_status( + self._single, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + asn1_time, + self._backend._ffi.NULL, + ) + self._backend.openssl_assert(asn1_time[0] != self._backend._ffi.NULL) + return _parse_asn1_generalized_time(self._backend, asn1_time[0]) + + @property + @_requires_successful_response + def next_update(self): + asn1_time = self._backend._ffi.new("ASN1_GENERALIZEDTIME **") + self._backend._lib.OCSP_single_get0_status( + self._single, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + asn1_time, + ) + if asn1_time[0] != self._backend._ffi.NULL: + return _parse_asn1_generalized_time(self._backend, asn1_time[0]) + else: + return None + + @property + @_requires_successful_response + def issuer_key_hash(self): + return _issuer_key_hash(self._backend, self._cert_id) + + @property + @_requires_successful_response + def issuer_name_hash(self): + return _issuer_name_hash(self._backend, self._cert_id) + + @property + @_requires_successful_response + def hash_algorithm(self): + return _hash_algorithm(self._backend, self._cert_id) + + @property + @_requires_successful_response + def serial_number(self): + return _serial_number(self._backend, self._cert_id) + + @utils.cached_property + @_requires_successful_response + def extensions(self): + return self._backend._ocsp_basicresp_ext_parser.parse(self._basic) + + @utils.cached_property + @_requires_successful_response + def single_extensions(self): + return self._backend._ocsp_singleresp_ext_parser.parse(self._single) + + def public_bytes(self, encoding): + if encoding is not serialization.Encoding.DER: + raise ValueError("The only allowed encoding value is Encoding.DER") + + bio = self._backend._create_mem_bio_gc() + res = self._backend._lib.i2d_OCSP_RESPONSE_bio( + bio, self._ocsp_response + ) + self._backend.openssl_assert(res > 0) + return self._backend._read_mem_bio(bio) + + +@utils.register_interface(OCSPRequest) +class _OCSPRequest(object): + def __init__(self, backend, ocsp_request): + if backend._lib.OCSP_request_onereq_count(ocsp_request) > 1: + raise NotImplementedError( + "OCSP request contains more than one request" + ) + self._backend = backend + self._ocsp_request = ocsp_request + self._request = self._backend._lib.OCSP_request_onereq_get0( + self._ocsp_request, 0 + ) + self._backend.openssl_assert(self._request != self._backend._ffi.NULL) + self._cert_id = self._backend._lib.OCSP_onereq_get0_id(self._request) + self._backend.openssl_assert(self._cert_id != self._backend._ffi.NULL) + + @property + def issuer_key_hash(self): + return _issuer_key_hash(self._backend, self._cert_id) + + @property + def issuer_name_hash(self): + return _issuer_name_hash(self._backend, self._cert_id) + + @property + def serial_number(self): + return _serial_number(self._backend, self._cert_id) + + @property + def hash_algorithm(self): + return _hash_algorithm(self._backend, self._cert_id) + + @utils.cached_property + def extensions(self): + return self._backend._ocsp_req_ext_parser.parse(self._ocsp_request) + + def public_bytes(self, encoding): + if encoding is not serialization.Encoding.DER: + raise ValueError("The only allowed encoding value is Encoding.DER") + + bio = self._backend._create_mem_bio_gc() + res = self._backend._lib.i2d_OCSP_REQUEST_bio(bio, self._ocsp_request) + self._backend.openssl_assert(res > 0) + return self._backend._read_mem_bio(bio) diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/poly1305.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/poly1305.py index 7504764fcb..5699918b17 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/poly1305.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/poly1305.py @@ -1,65 +1,65 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - - -from cryptography.exceptions import InvalidSignature -from cryptography.hazmat.primitives import constant_time - - -_POLY1305_TAG_SIZE = 16 -_POLY1305_KEY_SIZE = 32 - - -class _Poly1305Context(object): - def __init__(self, backend, key): - self._backend = backend - - key_ptr = self._backend._ffi.from_buffer(key) - # This function copies the key into OpenSSL-owned memory so we don't - # need to retain it ourselves - evp_pkey = self._backend._lib.EVP_PKEY_new_raw_private_key( - self._backend._lib.NID_poly1305, - self._backend._ffi.NULL, - key_ptr, - len(key), - ) - self._backend.openssl_assert(evp_pkey != self._backend._ffi.NULL) - self._evp_pkey = self._backend._ffi.gc( - evp_pkey, self._backend._lib.EVP_PKEY_free - ) - ctx = self._backend._lib.EVP_MD_CTX_new() - self._backend.openssl_assert(ctx != self._backend._ffi.NULL) - self._ctx = self._backend._ffi.gc( - ctx, self._backend._lib.EVP_MD_CTX_free - ) - res = self._backend._lib.EVP_DigestSignInit( - self._ctx, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - self._evp_pkey, - ) - self._backend.openssl_assert(res == 1) - - def update(self, data): - data_ptr = self._backend._ffi.from_buffer(data) - res = self._backend._lib.EVP_DigestSignUpdate( - self._ctx, data_ptr, len(data) - ) - self._backend.openssl_assert(res != 0) - - def finalize(self): - buf = self._backend._ffi.new("unsigned char[]", _POLY1305_TAG_SIZE) - outlen = self._backend._ffi.new("size_t *") - res = self._backend._lib.EVP_DigestSignFinal(self._ctx, buf, outlen) - self._backend.openssl_assert(res != 0) - self._backend.openssl_assert(outlen[0] == _POLY1305_TAG_SIZE) - return self._backend._ffi.buffer(buf)[: outlen[0]] - - def verify(self, tag): - mac = self.finalize() - if not constant_time.bytes_eq(mac, tag): - raise InvalidSignature("Value did not match computed tag.") +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + + +from cryptography.exceptions import InvalidSignature +from cryptography.hazmat.primitives import constant_time + + +_POLY1305_TAG_SIZE = 16 +_POLY1305_KEY_SIZE = 32 + + +class _Poly1305Context(object): + def __init__(self, backend, key): + self._backend = backend + + key_ptr = self._backend._ffi.from_buffer(key) + # This function copies the key into OpenSSL-owned memory so we don't + # need to retain it ourselves + evp_pkey = self._backend._lib.EVP_PKEY_new_raw_private_key( + self._backend._lib.NID_poly1305, + self._backend._ffi.NULL, + key_ptr, + len(key), + ) + self._backend.openssl_assert(evp_pkey != self._backend._ffi.NULL) + self._evp_pkey = self._backend._ffi.gc( + evp_pkey, self._backend._lib.EVP_PKEY_free + ) + ctx = self._backend._lib.EVP_MD_CTX_new() + self._backend.openssl_assert(ctx != self._backend._ffi.NULL) + self._ctx = self._backend._ffi.gc( + ctx, self._backend._lib.EVP_MD_CTX_free + ) + res = self._backend._lib.EVP_DigestSignInit( + self._ctx, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + self._evp_pkey, + ) + self._backend.openssl_assert(res == 1) + + def update(self, data): + data_ptr = self._backend._ffi.from_buffer(data) + res = self._backend._lib.EVP_DigestSignUpdate( + self._ctx, data_ptr, len(data) + ) + self._backend.openssl_assert(res != 0) + + def finalize(self): + buf = self._backend._ffi.new("unsigned char[]", _POLY1305_TAG_SIZE) + outlen = self._backend._ffi.new("size_t *") + res = self._backend._lib.EVP_DigestSignFinal(self._ctx, buf, outlen) + self._backend.openssl_assert(res != 0) + self._backend.openssl_assert(outlen[0] == _POLY1305_TAG_SIZE) + return self._backend._ffi.buffer(buf)[: outlen[0]] + + def verify(self, tag): + mac = self.finalize() + if not constant_time.bytes_eq(mac, tag): + raise InvalidSignature("Value did not match computed tag.") diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/rsa.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/rsa.py index d86dadf1c3..82cd49c960 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/rsa.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/rsa.py @@ -6,32 +6,32 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.exceptions import ( - InvalidSignature, - UnsupportedAlgorithm, - _Reasons, + InvalidSignature, + UnsupportedAlgorithm, + _Reasons, ) from cryptography.hazmat.backends.openssl.utils import ( - _calculate_digest_and_algorithm, - _check_not_prehashed, - _warn_sign_verify_deprecated, + _calculate_digest_and_algorithm, + _check_not_prehashed, + _warn_sign_verify_deprecated, ) from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.asymmetric import ( - AsymmetricSignatureContext, - AsymmetricVerificationContext, - rsa, + AsymmetricSignatureContext, + AsymmetricVerificationContext, + rsa, ) from cryptography.hazmat.primitives.asymmetric.padding import ( - AsymmetricPadding, - MGF1, - OAEP, - PKCS1v15, - PSS, - calculate_max_pss_salt_length, + AsymmetricPadding, + MGF1, + OAEP, + PKCS1v15, + PSS, + calculate_max_pss_salt_length, ) from cryptography.hazmat.primitives.asymmetric.rsa import ( - RSAPrivateKeyWithSerialization, - RSAPublicKeyWithSerialization, + RSAPrivateKeyWithSerialization, + RSAPublicKeyWithSerialization, ) @@ -56,20 +56,20 @@ def _enc_dec_rsa(backend, key, data, padding): if not isinstance(padding._mgf, MGF1): raise UnsupportedAlgorithm( "Only MGF1 is supported by this backend.", - _Reasons.UNSUPPORTED_MGF, + _Reasons.UNSUPPORTED_MGF, ) if not backend.rsa_padding_supported(padding): raise UnsupportedAlgorithm( "This combination of padding and hash algorithm is not " "supported by this backend.", - _Reasons.UNSUPPORTED_PADDING, + _Reasons.UNSUPPORTED_PADDING, ) else: raise UnsupportedAlgorithm( - "{} is not supported by this backend.".format(padding.name), - _Reasons.UNSUPPORTED_PADDING, + "{} is not supported by this backend.".format(padding.name), + _Reasons.UNSUPPORTED_PADDING, ) return _enc_dec_rsa_pkey_ctx(backend, key, data, padding_enum, padding) @@ -83,55 +83,55 @@ def _enc_dec_rsa_pkey_ctx(backend, key, data, padding_enum, padding): init = backend._lib.EVP_PKEY_decrypt_init crypt = backend._lib.EVP_PKEY_decrypt - pkey_ctx = backend._lib.EVP_PKEY_CTX_new(key._evp_pkey, backend._ffi.NULL) + pkey_ctx = backend._lib.EVP_PKEY_CTX_new(key._evp_pkey, backend._ffi.NULL) backend.openssl_assert(pkey_ctx != backend._ffi.NULL) pkey_ctx = backend._ffi.gc(pkey_ctx, backend._lib.EVP_PKEY_CTX_free) res = init(pkey_ctx) backend.openssl_assert(res == 1) - res = backend._lib.EVP_PKEY_CTX_set_rsa_padding(pkey_ctx, padding_enum) + res = backend._lib.EVP_PKEY_CTX_set_rsa_padding(pkey_ctx, padding_enum) backend.openssl_assert(res > 0) buf_size = backend._lib.EVP_PKEY_size(key._evp_pkey) backend.openssl_assert(buf_size > 0) - if isinstance(padding, OAEP) and backend._lib.Cryptography_HAS_RSA_OAEP_MD: - mgf1_md = backend._evp_md_non_null_from_algorithm( - padding._mgf._algorithm - ) + if isinstance(padding, OAEP) and backend._lib.Cryptography_HAS_RSA_OAEP_MD: + mgf1_md = backend._evp_md_non_null_from_algorithm( + padding._mgf._algorithm + ) res = backend._lib.EVP_PKEY_CTX_set_rsa_mgf1_md(pkey_ctx, mgf1_md) backend.openssl_assert(res > 0) - oaep_md = backend._evp_md_non_null_from_algorithm(padding._algorithm) + oaep_md = backend._evp_md_non_null_from_algorithm(padding._algorithm) res = backend._lib.EVP_PKEY_CTX_set_rsa_oaep_md(pkey_ctx, oaep_md) backend.openssl_assert(res > 0) - if ( - isinstance(padding, OAEP) - and padding._label is not None - and len(padding._label) > 0 - ): - # set0_rsa_oaep_label takes ownership of the char * so we need to - # copy it into some new memory - labelptr = backend._lib.OPENSSL_malloc(len(padding._label)) - backend.openssl_assert(labelptr != backend._ffi.NULL) - backend._ffi.memmove(labelptr, padding._label, len(padding._label)) - res = backend._lib.EVP_PKEY_CTX_set0_rsa_oaep_label( - pkey_ctx, labelptr, len(padding._label) - ) - backend.openssl_assert(res == 1) - + if ( + isinstance(padding, OAEP) + and padding._label is not None + and len(padding._label) > 0 + ): + # set0_rsa_oaep_label takes ownership of the char * so we need to + # copy it into some new memory + labelptr = backend._lib.OPENSSL_malloc(len(padding._label)) + backend.openssl_assert(labelptr != backend._ffi.NULL) + backend._ffi.memmove(labelptr, padding._label, len(padding._label)) + res = backend._lib.EVP_PKEY_CTX_set0_rsa_oaep_label( + pkey_ctx, labelptr, len(padding._label) + ) + backend.openssl_assert(res == 1) + outlen = backend._ffi.new("size_t *", buf_size) buf = backend._ffi.new("unsigned char[]", buf_size) - # Everything from this line onwards is written with the goal of being as - # constant-time as is practical given the constraints of Python and our - # API. See Bleichenbacher's '98 attack on RSA, and its many many variants. - # As such, you should not attempt to change this (particularly to "clean it - # up") without understanding why it was written this way (see - # Chesterton's Fence), and without measuring to verify you have not - # introduced observable time differences. + # Everything from this line onwards is written with the goal of being as + # constant-time as is practical given the constraints of Python and our + # API. See Bleichenbacher's '98 attack on RSA, and its many many variants. + # As such, you should not attempt to change this (particularly to "clean it + # up") without understanding why it was written this way (see + # Chesterton's Fence), and without measuring to verify you have not + # introduced observable time differences. res = crypt(pkey_ctx, buf, outlen, data, len(data)) - resbuf = backend._ffi.buffer(buf)[: outlen[0]] - backend._lib.ERR_clear_error() + resbuf = backend._ffi.buffer(buf)[: outlen[0]] + backend._lib.ERR_clear_error() if res <= 0: - raise ValueError("Encryption/decryption failed.") - return resbuf + raise ValueError("Encryption/decryption failed.") + return resbuf def _rsa_sig_determine_padding(backend, key, padding, algorithm): @@ -142,169 +142,169 @@ def _rsa_sig_determine_padding(backend, key, padding, algorithm): backend.openssl_assert(pkey_size > 0) if isinstance(padding, PKCS1v15): - # Hash algorithm is ignored for PKCS1v15-padding, may be None. + # Hash algorithm is ignored for PKCS1v15-padding, may be None. padding_enum = backend._lib.RSA_PKCS1_PADDING elif isinstance(padding, PSS): if not isinstance(padding._mgf, MGF1): raise UnsupportedAlgorithm( "Only MGF1 is supported by this backend.", - _Reasons.UNSUPPORTED_MGF, + _Reasons.UNSUPPORTED_MGF, ) - # PSS padding requires a hash algorithm - if not isinstance(algorithm, hashes.HashAlgorithm): - raise TypeError("Expected instance of hashes.HashAlgorithm.") - + # PSS padding requires a hash algorithm + if not isinstance(algorithm, hashes.HashAlgorithm): + raise TypeError("Expected instance of hashes.HashAlgorithm.") + # Size of key in bytes - 2 is the maximum # PSS signature length (salt length is checked later) if pkey_size - algorithm.digest_size - 2 < 0: - raise ValueError( - "Digest too large for key size. Use a larger " - "key or different digest." - ) + raise ValueError( + "Digest too large for key size. Use a larger " + "key or different digest." + ) padding_enum = backend._lib.RSA_PKCS1_PSS_PADDING else: raise UnsupportedAlgorithm( - "{} is not supported by this backend.".format(padding.name), - _Reasons.UNSUPPORTED_PADDING, + "{} is not supported by this backend.".format(padding.name), + _Reasons.UNSUPPORTED_PADDING, ) return padding_enum -# Hash algorithm can be absent (None) to initialize the context without setting -# any message digest algorithm. This is currently only valid for the PKCS1v15 -# padding type, where it means that the signature data is encoded/decoded -# as provided, without being wrapped in a DigestInfo structure. -def _rsa_sig_setup(backend, padding, algorithm, key, init_func): - padding_enum = _rsa_sig_determine_padding(backend, key, padding, algorithm) - pkey_ctx = backend._lib.EVP_PKEY_CTX_new(key._evp_pkey, backend._ffi.NULL) +# Hash algorithm can be absent (None) to initialize the context without setting +# any message digest algorithm. This is currently only valid for the PKCS1v15 +# padding type, where it means that the signature data is encoded/decoded +# as provided, without being wrapped in a DigestInfo structure. +def _rsa_sig_setup(backend, padding, algorithm, key, init_func): + padding_enum = _rsa_sig_determine_padding(backend, key, padding, algorithm) + pkey_ctx = backend._lib.EVP_PKEY_CTX_new(key._evp_pkey, backend._ffi.NULL) backend.openssl_assert(pkey_ctx != backend._ffi.NULL) pkey_ctx = backend._ffi.gc(pkey_ctx, backend._lib.EVP_PKEY_CTX_free) - res = init_func(pkey_ctx) + res = init_func(pkey_ctx) backend.openssl_assert(res == 1) - if algorithm is not None: - evp_md = backend._evp_md_non_null_from_algorithm(algorithm) - res = backend._lib.EVP_PKEY_CTX_set_signature_md(pkey_ctx, evp_md) - if res == 0: - backend._consume_errors() - raise UnsupportedAlgorithm( - "{} is not supported by this backend for RSA signing.".format( - algorithm.name - ), - _Reasons.UNSUPPORTED_HASH, - ) - res = backend._lib.EVP_PKEY_CTX_set_rsa_padding(pkey_ctx, padding_enum) - if res <= 0: - backend._consume_errors() - raise UnsupportedAlgorithm( - "{} is not supported for the RSA signature operation.".format( - padding.name - ), - _Reasons.UNSUPPORTED_PADDING, - ) + if algorithm is not None: + evp_md = backend._evp_md_non_null_from_algorithm(algorithm) + res = backend._lib.EVP_PKEY_CTX_set_signature_md(pkey_ctx, evp_md) + if res == 0: + backend._consume_errors() + raise UnsupportedAlgorithm( + "{} is not supported by this backend for RSA signing.".format( + algorithm.name + ), + _Reasons.UNSUPPORTED_HASH, + ) + res = backend._lib.EVP_PKEY_CTX_set_rsa_padding(pkey_ctx, padding_enum) + if res <= 0: + backend._consume_errors() + raise UnsupportedAlgorithm( + "{} is not supported for the RSA signature operation.".format( + padding.name + ), + _Reasons.UNSUPPORTED_PADDING, + ) if isinstance(padding, PSS): res = backend._lib.EVP_PKEY_CTX_set_rsa_pss_saltlen( - pkey_ctx, _get_rsa_pss_salt_length(padding, key, algorithm) + pkey_ctx, _get_rsa_pss_salt_length(padding, key, algorithm) ) backend.openssl_assert(res > 0) - mgf1_md = backend._evp_md_non_null_from_algorithm( - padding._mgf._algorithm - ) - res = backend._lib.EVP_PKEY_CTX_set_rsa_mgf1_md(pkey_ctx, mgf1_md) - backend.openssl_assert(res > 0) - - return pkey_ctx - - -def _rsa_sig_sign(backend, padding, algorithm, private_key, data): - pkey_ctx = _rsa_sig_setup( - backend, - padding, - algorithm, - private_key, - backend._lib.EVP_PKEY_sign_init, - ) + mgf1_md = backend._evp_md_non_null_from_algorithm( + padding._mgf._algorithm + ) + res = backend._lib.EVP_PKEY_CTX_set_rsa_mgf1_md(pkey_ctx, mgf1_md) + backend.openssl_assert(res > 0) + + return pkey_ctx + + +def _rsa_sig_sign(backend, padding, algorithm, private_key, data): + pkey_ctx = _rsa_sig_setup( + backend, + padding, + algorithm, + private_key, + backend._lib.EVP_PKEY_sign_init, + ) buflen = backend._ffi.new("size_t *") res = backend._lib.EVP_PKEY_sign( - pkey_ctx, backend._ffi.NULL, buflen, data, len(data) + pkey_ctx, backend._ffi.NULL, buflen, data, len(data) ) backend.openssl_assert(res == 1) buf = backend._ffi.new("unsigned char[]", buflen[0]) - res = backend._lib.EVP_PKEY_sign(pkey_ctx, buf, buflen, data, len(data)) + res = backend._lib.EVP_PKEY_sign(pkey_ctx, buf, buflen, data, len(data)) if res != 1: - errors = backend._consume_errors_with_text() - raise ValueError( - "Digest or salt length too long for key size. Use a larger key " - "or shorter salt length if you are specifying a PSS salt", - errors, - ) + errors = backend._consume_errors_with_text() + raise ValueError( + "Digest or salt length too long for key size. Use a larger key " + "or shorter salt length if you are specifying a PSS salt", + errors, + ) return backend._ffi.buffer(buf)[:] -def _rsa_sig_verify(backend, padding, algorithm, public_key, signature, data): - pkey_ctx = _rsa_sig_setup( - backend, - padding, - algorithm, - public_key, - backend._lib.EVP_PKEY_verify_init, +def _rsa_sig_verify(backend, padding, algorithm, public_key, signature, data): + pkey_ctx = _rsa_sig_setup( + backend, + padding, + algorithm, + public_key, + backend._lib.EVP_PKEY_verify_init, ) res = backend._lib.EVP_PKEY_verify( - pkey_ctx, signature, len(signature), data, len(data) + pkey_ctx, signature, len(signature), data, len(data) ) # The previous call can return negative numbers in the event of an # error. This is not a signature failure but we need to fail if it # occurs. backend.openssl_assert(res >= 0) if res == 0: - backend._consume_errors() + backend._consume_errors() + raise InvalidSignature + + +def _rsa_sig_recover(backend, padding, algorithm, public_key, signature): + pkey_ctx = _rsa_sig_setup( + backend, + padding, + algorithm, + public_key, + backend._lib.EVP_PKEY_verify_recover_init, + ) + + # Attempt to keep the rest of the code in this function as constant/time + # as possible. See the comment in _enc_dec_rsa_pkey_ctx. Note that the + # outlen parameter is used even though its value may be undefined in the + # error case. Due to the tolerant nature of Python slicing this does not + # trigger any exceptions. + maxlen = backend._lib.EVP_PKEY_size(public_key._evp_pkey) + backend.openssl_assert(maxlen > 0) + buf = backend._ffi.new("unsigned char[]", maxlen) + buflen = backend._ffi.new("size_t *", maxlen) + res = backend._lib.EVP_PKEY_verify_recover( + pkey_ctx, buf, buflen, signature, len(signature) + ) + resbuf = backend._ffi.buffer(buf)[: buflen[0]] + backend._lib.ERR_clear_error() + # Assume that all parameter errors are handled during the setup phase and + # any error here is due to invalid signature. + if res != 1: raise InvalidSignature + return resbuf -def _rsa_sig_recover(backend, padding, algorithm, public_key, signature): - pkey_ctx = _rsa_sig_setup( - backend, - padding, - algorithm, - public_key, - backend._lib.EVP_PKEY_verify_recover_init, - ) - - # Attempt to keep the rest of the code in this function as constant/time - # as possible. See the comment in _enc_dec_rsa_pkey_ctx. Note that the - # outlen parameter is used even though its value may be undefined in the - # error case. Due to the tolerant nature of Python slicing this does not - # trigger any exceptions. - maxlen = backend._lib.EVP_PKEY_size(public_key._evp_pkey) - backend.openssl_assert(maxlen > 0) - buf = backend._ffi.new("unsigned char[]", maxlen) - buflen = backend._ffi.new("size_t *", maxlen) - res = backend._lib.EVP_PKEY_verify_recover( - pkey_ctx, buf, buflen, signature, len(signature) - ) - resbuf = backend._ffi.buffer(buf)[: buflen[0]] - backend._lib.ERR_clear_error() - # Assume that all parameter errors are handled during the setup phase and - # any error here is due to invalid signature. - if res != 1: - raise InvalidSignature - return resbuf - - @utils.register_interface(AsymmetricSignatureContext) class _RSASignatureContext(object): def __init__(self, backend, private_key, padding, algorithm): self._backend = backend self._private_key = private_key - # We now call _rsa_sig_determine_padding in _rsa_sig_setup. However - # we need to make a pointless call to it here so we maintain the - # API of erroring on init with this context if the values are invalid. - _rsa_sig_determine_padding(backend, private_key, padding, algorithm) + # We now call _rsa_sig_determine_padding in _rsa_sig_setup. However + # we need to make a pointless call to it here so we maintain the + # API of erroring on init with this context if the values are invalid. + _rsa_sig_determine_padding(backend, private_key, padding, algorithm) self._padding = padding self._algorithm = algorithm self._hash_ctx = hashes.Hash(self._algorithm, self._backend) @@ -318,7 +318,7 @@ class _RSASignatureContext(object): self._padding, self._algorithm, self._private_key, - self._hash_ctx.finalize(), + self._hash_ctx.finalize(), ) @@ -329,10 +329,10 @@ class _RSAVerificationContext(object): self._public_key = public_key self._signature = signature self._padding = padding - # We now call _rsa_sig_determine_padding in _rsa_sig_setup. However - # we need to make a pointless call to it here so we maintain the - # API of erroring on init with this context if the values are invalid. - _rsa_sig_determine_padding(backend, public_key, padding, algorithm) + # We now call _rsa_sig_determine_padding in _rsa_sig_setup. However + # we need to make a pointless call to it here so we maintain the + # API of erroring on init with this context if the values are invalid. + _rsa_sig_determine_padding(backend, public_key, padding, algorithm) padding = padding self._algorithm = algorithm @@ -348,33 +348,33 @@ class _RSAVerificationContext(object): self._algorithm, self._public_key, self._signature, - self._hash_ctx.finalize(), + self._hash_ctx.finalize(), ) @utils.register_interface(RSAPrivateKeyWithSerialization) class _RSAPrivateKey(object): def __init__(self, backend, rsa_cdata, evp_pkey): - res = backend._lib.RSA_check_key(rsa_cdata) - if res != 1: - errors = backend._consume_errors_with_text() - raise ValueError("Invalid private key", errors) - - # Blinding is on by default in many versions of OpenSSL, but let's - # just be conservative here. - res = backend._lib.RSA_blinding_on(rsa_cdata, backend._ffi.NULL) - backend.openssl_assert(res == 1) - + res = backend._lib.RSA_check_key(rsa_cdata) + if res != 1: + errors = backend._consume_errors_with_text() + raise ValueError("Invalid private key", errors) + + # Blinding is on by default in many versions of OpenSSL, but let's + # just be conservative here. + res = backend._lib.RSA_blinding_on(rsa_cdata, backend._ffi.NULL) + backend.openssl_assert(res == 1) + self._backend = backend self._rsa_cdata = rsa_cdata self._evp_pkey = evp_pkey n = self._backend._ffi.new("BIGNUM **") self._backend._lib.RSA_get0_key( - self._rsa_cdata, - n, - self._backend._ffi.NULL, - self._backend._ffi.NULL, + self._rsa_cdata, + n, + self._backend._ffi.NULL, + self._backend._ffi.NULL, ) self._backend.openssl_assert(n[0] != self._backend._ffi.NULL) self._key_size = self._backend._lib.BN_num_bits(n[0]) @@ -382,12 +382,12 @@ class _RSAPrivateKey(object): key_size = utils.read_only_property("_key_size") def signer(self, padding, algorithm): - _warn_sign_verify_deprecated() - _check_not_prehashed(algorithm) + _warn_sign_verify_deprecated() + _check_not_prehashed(algorithm) return _RSASignatureContext(self._backend, self, padding, algorithm) def decrypt(self, ciphertext, padding): - key_size_bytes = (self.key_size + 7) // 8 + key_size_bytes = (self.key_size + 7) // 8 if key_size_bytes != len(ciphertext): raise ValueError("Ciphertext length must be equal to key size.") @@ -432,7 +432,7 @@ class _RSAPrivateKey(object): public_numbers=rsa.RSAPublicNumbers( e=self._backend._bn_to_int(e[0]), n=self._backend._bn_to_int(n[0]), - ), + ), ) def private_bytes(self, encoding, format, encryption_algorithm): @@ -440,16 +440,16 @@ class _RSAPrivateKey(object): encoding, format, encryption_algorithm, - self, + self, self._evp_pkey, - self._rsa_cdata, + self._rsa_cdata, ) def sign(self, data, padding, algorithm): data, algorithm = _calculate_digest_and_algorithm( self._backend, data, algorithm ) - return _rsa_sig_sign(self._backend, padding, algorithm, self, data) + return _rsa_sig_sign(self._backend, padding, algorithm, self, data) @utils.register_interface(RSAPublicKeyWithSerialization) @@ -461,10 +461,10 @@ class _RSAPublicKey(object): n = self._backend._ffi.new("BIGNUM **") self._backend._lib.RSA_get0_key( - self._rsa_cdata, - n, - self._backend._ffi.NULL, - self._backend._ffi.NULL, + self._rsa_cdata, + n, + self._backend._ffi.NULL, + self._backend._ffi.NULL, ) self._backend.openssl_assert(n[0] != self._backend._ffi.NULL) self._key_size = self._backend._lib.BN_num_bits(n[0]) @@ -472,10 +472,10 @@ class _RSAPublicKey(object): key_size = utils.read_only_property("_key_size") def verifier(self, signature, padding, algorithm): - _warn_sign_verify_deprecated() - utils._check_bytes("signature", signature) + _warn_sign_verify_deprecated() + utils._check_bytes("signature", signature) - _check_not_prehashed(algorithm) + _check_not_prehashed(algorithm) return _RSAVerificationContext( self._backend, self, signature, padding, algorithm ) @@ -498,7 +498,7 @@ class _RSAPublicKey(object): def public_bytes(self, encoding, format): return self._backend._public_key_bytes( - encoding, format, self, self._evp_pkey, self._rsa_cdata + encoding, format, self, self._evp_pkey, self._rsa_cdata ) def verify(self, signature, data, padding, algorithm): @@ -506,11 +506,11 @@ class _RSAPublicKey(object): self._backend, data, algorithm ) return _rsa_sig_verify( - self._backend, padding, algorithm, self, signature, data + self._backend, padding, algorithm, self, signature, data + ) + + def recover_data_from_signature(self, signature, padding, algorithm): + _check_not_prehashed(algorithm) + return _rsa_sig_recover( + self._backend, padding, algorithm, self, signature ) - - def recover_data_from_signature(self, signature, padding, algorithm): - _check_not_prehashed(algorithm) - return _rsa_sig_recover( - self._backend, padding, algorithm, self, signature - ) diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/utils.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/utils.py index 4e47d96791..3d697d1fb5 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/utils.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/utils.py @@ -4,31 +4,31 @@ from __future__ import absolute_import, division, print_function -import warnings +import warnings -from cryptography import utils +from cryptography import utils from cryptography.hazmat.primitives import hashes from cryptography.hazmat.primitives.asymmetric.utils import Prehashed -def _evp_pkey_derive(backend, evp_pkey, peer_public_key): - ctx = backend._lib.EVP_PKEY_CTX_new(evp_pkey, backend._ffi.NULL) - backend.openssl_assert(ctx != backend._ffi.NULL) - ctx = backend._ffi.gc(ctx, backend._lib.EVP_PKEY_CTX_free) - res = backend._lib.EVP_PKEY_derive_init(ctx) - backend.openssl_assert(res == 1) - res = backend._lib.EVP_PKEY_derive_set_peer(ctx, peer_public_key._evp_pkey) - backend.openssl_assert(res == 1) - keylen = backend._ffi.new("size_t *") - res = backend._lib.EVP_PKEY_derive(ctx, backend._ffi.NULL, keylen) - backend.openssl_assert(res == 1) - backend.openssl_assert(keylen[0] > 0) - buf = backend._ffi.new("unsigned char[]", keylen[0]) - res = backend._lib.EVP_PKEY_derive(ctx, buf, keylen) - if res != 1: - raise ValueError("Null shared key derived from public/private pair.") +def _evp_pkey_derive(backend, evp_pkey, peer_public_key): + ctx = backend._lib.EVP_PKEY_CTX_new(evp_pkey, backend._ffi.NULL) + backend.openssl_assert(ctx != backend._ffi.NULL) + ctx = backend._ffi.gc(ctx, backend._lib.EVP_PKEY_CTX_free) + res = backend._lib.EVP_PKEY_derive_init(ctx) + backend.openssl_assert(res == 1) + res = backend._lib.EVP_PKEY_derive_set_peer(ctx, peer_public_key._evp_pkey) + backend.openssl_assert(res == 1) + keylen = backend._ffi.new("size_t *") + res = backend._lib.EVP_PKEY_derive(ctx, backend._ffi.NULL, keylen) + backend.openssl_assert(res == 1) + backend.openssl_assert(keylen[0] > 0) + buf = backend._ffi.new("unsigned char[]", keylen[0]) + res = backend._lib.EVP_PKEY_derive(ctx, buf, keylen) + if res != 1: + raise ValueError("Null shared key derived from public/private pair.") - return backend._ffi.buffer(buf, keylen[0])[:] + return backend._ffi.buffer(buf, keylen[0])[:] def _calculate_digest_and_algorithm(backend, data, algorithm): @@ -46,21 +46,21 @@ def _calculate_digest_and_algorithm(backend, data, algorithm): ) return (data, algorithm) - - -def _check_not_prehashed(signature_algorithm): - if isinstance(signature_algorithm, Prehashed): - raise TypeError( - "Prehashed is only supported in the sign and verify methods. " - "It cannot be used with signer, verifier or " - "recover_data_from_signature." - ) - - -def _warn_sign_verify_deprecated(): - warnings.warn( - "signer and verifier have been deprecated. Please use sign " - "and verify instead.", - utils.PersistentlyDeprecated2017, - stacklevel=3, - ) + + +def _check_not_prehashed(signature_algorithm): + if isinstance(signature_algorithm, Prehashed): + raise TypeError( + "Prehashed is only supported in the sign and verify methods. " + "It cannot be used with signer, verifier or " + "recover_data_from_signature." + ) + + +def _warn_sign_verify_deprecated(): + warnings.warn( + "signer and verifier have been deprecated. Please use sign " + "and verify instead.", + utils.PersistentlyDeprecated2017, + stacklevel=3, + ) diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x25519.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x25519.py index 398b13bcea..4971c54814 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x25519.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x25519.py @@ -1,123 +1,123 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from cryptography import utils -from cryptography.hazmat.backends.openssl.utils import _evp_pkey_derive -from cryptography.hazmat.primitives import serialization -from cryptography.hazmat.primitives.asymmetric.x25519 import ( - X25519PrivateKey, - X25519PublicKey, -) - - -_X25519_KEY_SIZE = 32 - - -@utils.register_interface(X25519PublicKey) -class _X25519PublicKey(object): - def __init__(self, backend, evp_pkey): - self._backend = backend - self._evp_pkey = evp_pkey - - def public_bytes(self, encoding, format): - if ( - encoding is serialization.Encoding.Raw - or format is serialization.PublicFormat.Raw - ): - if ( - encoding is not serialization.Encoding.Raw - or format is not serialization.PublicFormat.Raw - ): - raise ValueError( - "When using Raw both encoding and format must be Raw" - ) - - return self._raw_public_bytes() - - return self._backend._public_key_bytes( - encoding, format, self, self._evp_pkey, None - ) - - def _raw_public_bytes(self): - ucharpp = self._backend._ffi.new("unsigned char **") - res = self._backend._lib.EVP_PKEY_get1_tls_encodedpoint( - self._evp_pkey, ucharpp - ) - self._backend.openssl_assert(res == 32) - self._backend.openssl_assert(ucharpp[0] != self._backend._ffi.NULL) - data = self._backend._ffi.gc( - ucharpp[0], self._backend._lib.OPENSSL_free - ) - return self._backend._ffi.buffer(data, res)[:] - - -@utils.register_interface(X25519PrivateKey) -class _X25519PrivateKey(object): - def __init__(self, backend, evp_pkey): - self._backend = backend - self._evp_pkey = evp_pkey - - def public_key(self): - bio = self._backend._create_mem_bio_gc() - res = self._backend._lib.i2d_PUBKEY_bio(bio, self._evp_pkey) - self._backend.openssl_assert(res == 1) - evp_pkey = self._backend._lib.d2i_PUBKEY_bio( - bio, self._backend._ffi.NULL - ) - self._backend.openssl_assert(evp_pkey != self._backend._ffi.NULL) - evp_pkey = self._backend._ffi.gc( - evp_pkey, self._backend._lib.EVP_PKEY_free - ) - return _X25519PublicKey(self._backend, evp_pkey) - - def exchange(self, peer_public_key): - if not isinstance(peer_public_key, X25519PublicKey): - raise TypeError("peer_public_key must be X25519PublicKey.") - - return _evp_pkey_derive(self._backend, self._evp_pkey, peer_public_key) - - def private_bytes(self, encoding, format, encryption_algorithm): - if ( - encoding is serialization.Encoding.Raw - or format is serialization.PublicFormat.Raw - ): - if ( - format is not serialization.PrivateFormat.Raw - or encoding is not serialization.Encoding.Raw - or not isinstance( - encryption_algorithm, serialization.NoEncryption - ) - ): - raise ValueError( - "When using Raw both encoding and format must be Raw " - "and encryption_algorithm must be NoEncryption()" - ) - - return self._raw_private_bytes() - - return self._backend._private_key_bytes( - encoding, format, encryption_algorithm, self, self._evp_pkey, None - ) - - def _raw_private_bytes(self): - # When we drop support for CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 we can - # switch this to EVP_PKEY_new_raw_private_key - # The trick we use here is serializing to a PKCS8 key and just - # using the last 32 bytes, which is the key itself. - bio = self._backend._create_mem_bio_gc() - res = self._backend._lib.i2d_PKCS8PrivateKey_bio( - bio, - self._evp_pkey, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - 0, - self._backend._ffi.NULL, - self._backend._ffi.NULL, - ) - self._backend.openssl_assert(res == 1) - pkcs8 = self._backend._read_mem_bio(bio) - self._backend.openssl_assert(len(pkcs8) == 48) - return pkcs8[-_X25519_KEY_SIZE:] +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from cryptography import utils +from cryptography.hazmat.backends.openssl.utils import _evp_pkey_derive +from cryptography.hazmat.primitives import serialization +from cryptography.hazmat.primitives.asymmetric.x25519 import ( + X25519PrivateKey, + X25519PublicKey, +) + + +_X25519_KEY_SIZE = 32 + + +@utils.register_interface(X25519PublicKey) +class _X25519PublicKey(object): + def __init__(self, backend, evp_pkey): + self._backend = backend + self._evp_pkey = evp_pkey + + def public_bytes(self, encoding, format): + if ( + encoding is serialization.Encoding.Raw + or format is serialization.PublicFormat.Raw + ): + if ( + encoding is not serialization.Encoding.Raw + or format is not serialization.PublicFormat.Raw + ): + raise ValueError( + "When using Raw both encoding and format must be Raw" + ) + + return self._raw_public_bytes() + + return self._backend._public_key_bytes( + encoding, format, self, self._evp_pkey, None + ) + + def _raw_public_bytes(self): + ucharpp = self._backend._ffi.new("unsigned char **") + res = self._backend._lib.EVP_PKEY_get1_tls_encodedpoint( + self._evp_pkey, ucharpp + ) + self._backend.openssl_assert(res == 32) + self._backend.openssl_assert(ucharpp[0] != self._backend._ffi.NULL) + data = self._backend._ffi.gc( + ucharpp[0], self._backend._lib.OPENSSL_free + ) + return self._backend._ffi.buffer(data, res)[:] + + +@utils.register_interface(X25519PrivateKey) +class _X25519PrivateKey(object): + def __init__(self, backend, evp_pkey): + self._backend = backend + self._evp_pkey = evp_pkey + + def public_key(self): + bio = self._backend._create_mem_bio_gc() + res = self._backend._lib.i2d_PUBKEY_bio(bio, self._evp_pkey) + self._backend.openssl_assert(res == 1) + evp_pkey = self._backend._lib.d2i_PUBKEY_bio( + bio, self._backend._ffi.NULL + ) + self._backend.openssl_assert(evp_pkey != self._backend._ffi.NULL) + evp_pkey = self._backend._ffi.gc( + evp_pkey, self._backend._lib.EVP_PKEY_free + ) + return _X25519PublicKey(self._backend, evp_pkey) + + def exchange(self, peer_public_key): + if not isinstance(peer_public_key, X25519PublicKey): + raise TypeError("peer_public_key must be X25519PublicKey.") + + return _evp_pkey_derive(self._backend, self._evp_pkey, peer_public_key) + + def private_bytes(self, encoding, format, encryption_algorithm): + if ( + encoding is serialization.Encoding.Raw + or format is serialization.PublicFormat.Raw + ): + if ( + format is not serialization.PrivateFormat.Raw + or encoding is not serialization.Encoding.Raw + or not isinstance( + encryption_algorithm, serialization.NoEncryption + ) + ): + raise ValueError( + "When using Raw both encoding and format must be Raw " + "and encryption_algorithm must be NoEncryption()" + ) + + return self._raw_private_bytes() + + return self._backend._private_key_bytes( + encoding, format, encryption_algorithm, self, self._evp_pkey, None + ) + + def _raw_private_bytes(self): + # When we drop support for CRYPTOGRAPHY_OPENSSL_LESS_THAN_111 we can + # switch this to EVP_PKEY_new_raw_private_key + # The trick we use here is serializing to a PKCS8 key and just + # using the last 32 bytes, which is the key itself. + bio = self._backend._create_mem_bio_gc() + res = self._backend._lib.i2d_PKCS8PrivateKey_bio( + bio, + self._evp_pkey, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + 0, + self._backend._ffi.NULL, + self._backend._ffi.NULL, + ) + self._backend.openssl_assert(res == 1) + pkcs8 = self._backend._read_mem_bio(bio) + self._backend.openssl_assert(len(pkcs8) == 48) + return pkcs8[-_X25519_KEY_SIZE:] diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x448.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x448.py index 527fe585f8..7ebcdf84bc 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x448.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x448.py @@ -1,107 +1,107 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from cryptography import utils -from cryptography.hazmat.backends.openssl.utils import _evp_pkey_derive -from cryptography.hazmat.primitives import serialization -from cryptography.hazmat.primitives.asymmetric.x448 import ( - X448PrivateKey, - X448PublicKey, -) - -_X448_KEY_SIZE = 56 - - -@utils.register_interface(X448PublicKey) -class _X448PublicKey(object): - def __init__(self, backend, evp_pkey): - self._backend = backend - self._evp_pkey = evp_pkey - - def public_bytes(self, encoding, format): - if ( - encoding is serialization.Encoding.Raw - or format is serialization.PublicFormat.Raw - ): - if ( - encoding is not serialization.Encoding.Raw - or format is not serialization.PublicFormat.Raw - ): - raise ValueError( - "When using Raw both encoding and format must be Raw" - ) - - return self._raw_public_bytes() - - return self._backend._public_key_bytes( - encoding, format, self, self._evp_pkey, None - ) - - def _raw_public_bytes(self): - buf = self._backend._ffi.new("unsigned char []", _X448_KEY_SIZE) - buflen = self._backend._ffi.new("size_t *", _X448_KEY_SIZE) - res = self._backend._lib.EVP_PKEY_get_raw_public_key( - self._evp_pkey, buf, buflen - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _X448_KEY_SIZE) - return self._backend._ffi.buffer(buf, _X448_KEY_SIZE)[:] - - -@utils.register_interface(X448PrivateKey) -class _X448PrivateKey(object): - def __init__(self, backend, evp_pkey): - self._backend = backend - self._evp_pkey = evp_pkey - - def public_key(self): - buf = self._backend._ffi.new("unsigned char []", _X448_KEY_SIZE) - buflen = self._backend._ffi.new("size_t *", _X448_KEY_SIZE) - res = self._backend._lib.EVP_PKEY_get_raw_public_key( - self._evp_pkey, buf, buflen - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _X448_KEY_SIZE) - return self._backend.x448_load_public_bytes(buf) - - def exchange(self, peer_public_key): - if not isinstance(peer_public_key, X448PublicKey): - raise TypeError("peer_public_key must be X448PublicKey.") - - return _evp_pkey_derive(self._backend, self._evp_pkey, peer_public_key) - - def private_bytes(self, encoding, format, encryption_algorithm): - if ( - encoding is serialization.Encoding.Raw - or format is serialization.PublicFormat.Raw - ): - if ( - format is not serialization.PrivateFormat.Raw - or encoding is not serialization.Encoding.Raw - or not isinstance( - encryption_algorithm, serialization.NoEncryption - ) - ): - raise ValueError( - "When using Raw both encoding and format must be Raw " - "and encryption_algorithm must be NoEncryption()" - ) - - return self._raw_private_bytes() - - return self._backend._private_key_bytes( - encoding, format, encryption_algorithm, self, self._evp_pkey, None - ) - - def _raw_private_bytes(self): - buf = self._backend._ffi.new("unsigned char []", _X448_KEY_SIZE) - buflen = self._backend._ffi.new("size_t *", _X448_KEY_SIZE) - res = self._backend._lib.EVP_PKEY_get_raw_private_key( - self._evp_pkey, buf, buflen - ) - self._backend.openssl_assert(res == 1) - self._backend.openssl_assert(buflen[0] == _X448_KEY_SIZE) - return self._backend._ffi.buffer(buf, _X448_KEY_SIZE)[:] +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from cryptography import utils +from cryptography.hazmat.backends.openssl.utils import _evp_pkey_derive +from cryptography.hazmat.primitives import serialization +from cryptography.hazmat.primitives.asymmetric.x448 import ( + X448PrivateKey, + X448PublicKey, +) + +_X448_KEY_SIZE = 56 + + +@utils.register_interface(X448PublicKey) +class _X448PublicKey(object): + def __init__(self, backend, evp_pkey): + self._backend = backend + self._evp_pkey = evp_pkey + + def public_bytes(self, encoding, format): + if ( + encoding is serialization.Encoding.Raw + or format is serialization.PublicFormat.Raw + ): + if ( + encoding is not serialization.Encoding.Raw + or format is not serialization.PublicFormat.Raw + ): + raise ValueError( + "When using Raw both encoding and format must be Raw" + ) + + return self._raw_public_bytes() + + return self._backend._public_key_bytes( + encoding, format, self, self._evp_pkey, None + ) + + def _raw_public_bytes(self): + buf = self._backend._ffi.new("unsigned char []", _X448_KEY_SIZE) + buflen = self._backend._ffi.new("size_t *", _X448_KEY_SIZE) + res = self._backend._lib.EVP_PKEY_get_raw_public_key( + self._evp_pkey, buf, buflen + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _X448_KEY_SIZE) + return self._backend._ffi.buffer(buf, _X448_KEY_SIZE)[:] + + +@utils.register_interface(X448PrivateKey) +class _X448PrivateKey(object): + def __init__(self, backend, evp_pkey): + self._backend = backend + self._evp_pkey = evp_pkey + + def public_key(self): + buf = self._backend._ffi.new("unsigned char []", _X448_KEY_SIZE) + buflen = self._backend._ffi.new("size_t *", _X448_KEY_SIZE) + res = self._backend._lib.EVP_PKEY_get_raw_public_key( + self._evp_pkey, buf, buflen + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _X448_KEY_SIZE) + return self._backend.x448_load_public_bytes(buf) + + def exchange(self, peer_public_key): + if not isinstance(peer_public_key, X448PublicKey): + raise TypeError("peer_public_key must be X448PublicKey.") + + return _evp_pkey_derive(self._backend, self._evp_pkey, peer_public_key) + + def private_bytes(self, encoding, format, encryption_algorithm): + if ( + encoding is serialization.Encoding.Raw + or format is serialization.PublicFormat.Raw + ): + if ( + format is not serialization.PrivateFormat.Raw + or encoding is not serialization.Encoding.Raw + or not isinstance( + encryption_algorithm, serialization.NoEncryption + ) + ): + raise ValueError( + "When using Raw both encoding and format must be Raw " + "and encryption_algorithm must be NoEncryption()" + ) + + return self._raw_private_bytes() + + return self._backend._private_key_bytes( + encoding, format, encryption_algorithm, self, self._evp_pkey, None + ) + + def _raw_private_bytes(self): + buf = self._backend._ffi.new("unsigned char []", _X448_KEY_SIZE) + buflen = self._backend._ffi.new("size_t *", _X448_KEY_SIZE) + res = self._backend._lib.EVP_PKEY_get_raw_private_key( + self._evp_pkey, buf, buflen + ) + self._backend.openssl_assert(res == 1) + self._backend.openssl_assert(buflen[0] == _X448_KEY_SIZE) + return self._backend._ffi.buffer(buf, _X448_KEY_SIZE)[:] diff --git a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x509.py b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x509.py index 5d582b3bf5..4d0dac7649 100644 --- a/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x509.py +++ b/contrib/python/cryptography/cryptography/hazmat/backends/openssl/x509.py @@ -4,45 +4,45 @@ from __future__ import absolute_import, division, print_function -import datetime +import datetime import operator from cryptography import utils, x509 from cryptography.exceptions import UnsupportedAlgorithm from cryptography.hazmat.backends.openssl.decode_asn1 import ( - _asn1_integer_to_int, - _asn1_string_to_bytes, - _decode_x509_name, - _obj2txt, - _parse_asn1_time, + _asn1_integer_to_int, + _asn1_string_to_bytes, + _decode_x509_name, + _obj2txt, + _parse_asn1_time, +) +from cryptography.hazmat.backends.openssl.encode_asn1 import ( + _encode_asn1_int_gc, + _txt2obj_gc, ) -from cryptography.hazmat.backends.openssl.encode_asn1 import ( - _encode_asn1_int_gc, - _txt2obj_gc, -) from cryptography.hazmat.primitives import hashes, serialization -from cryptography.hazmat.primitives.asymmetric import dsa, ec, rsa -from cryptography.x509.name import _ASN1Type +from cryptography.hazmat.primitives.asymmetric import dsa, ec, rsa +from cryptography.x509.name import _ASN1Type @utils.register_interface(x509.Certificate) class _Certificate(object): - def __init__(self, backend, x509_cert): + def __init__(self, backend, x509_cert): self._backend = backend - self._x509 = x509_cert - - version = self._backend._lib.X509_get_version(self._x509) - if version == 0: - self._version = x509.Version.v1 - elif version == 2: - self._version = x509.Version.v3 - else: - raise x509.InvalidVersion( - "{} is not a valid X509 version".format(version), version - ) - + self._x509 = x509_cert + + version = self._backend._lib.X509_get_version(self._x509) + if version == 0: + self._version = x509.Version.v1 + elif version == 2: + self._version = x509.Version.v3 + else: + raise x509.InvalidVersion( + "{} is not a valid X509 version".format(version), version + ) + def __repr__(self): - return "<Certificate(subject={}, ...)>".format(self.subject) + return "<Certificate(subject={}, ...)>".format(self.subject) def __eq__(self, other): if not isinstance(other, x509.Certificate): @@ -57,15 +57,15 @@ class _Certificate(object): def __hash__(self): return hash(self.public_bytes(serialization.Encoding.DER)) - def __deepcopy__(self, memo): - return self - + def __deepcopy__(self, memo): + return self + def fingerprint(self, algorithm): h = hashes.Hash(algorithm, self._backend) h.update(self.public_bytes(serialization.Encoding.DER)) return h.finalize() - version = utils.read_only_property("_version") + version = utils.read_only_property("_version") @property def serial_number(self): @@ -86,12 +86,12 @@ class _Certificate(object): @property def not_valid_before(self): - asn1_time = self._backend._lib.X509_getm_notBefore(self._x509) + asn1_time = self._backend._lib.X509_getm_notBefore(self._x509) return _parse_asn1_time(self._backend, asn1_time) @property def not_valid_after(self): - asn1_time = self._backend._lib.X509_getm_notAfter(self._x509) + asn1_time = self._backend._lib.X509_getm_notAfter(self._x509) return _parse_asn1_time(self._backend, asn1_time) @property @@ -113,7 +113,7 @@ class _Certificate(object): return x509._SIG_OIDS_TO_HASH[oid] except KeyError: raise UnsupportedAlgorithm( - "Signature algorithm OID:{} not recognized".format(oid) + "Signature algorithm OID:{} not recognized".format(oid) ) @property @@ -126,9 +126,9 @@ class _Certificate(object): oid = _obj2txt(self._backend, alg[0].algorithm) return x509.ObjectIdentifier(oid) - @utils.cached_property + @utils.cached_property def extensions(self): - return self._backend._certificate_extension_parser.parse(self._x509) + return self._backend._certificate_extension_parser.parse(self._x509) @property def signature(self): @@ -190,13 +190,13 @@ class _RevokedCertificate(object): self._backend, self._backend._lib.X509_REVOKED_get0_revocationDate( self._x509_revoked - ), + ), ) - @utils.cached_property + @utils.cached_property def extensions(self): - return self._backend._revoked_cert_extension_parser.parse( - self._x509_revoked + return self._backend._revoked_cert_extension_parser.parse( + self._x509_revoked ) @@ -219,36 +219,36 @@ class _CertificateRevocationList(object): def fingerprint(self, algorithm): h = hashes.Hash(algorithm, self._backend) bio = self._backend._create_mem_bio_gc() - res = self._backend._lib.i2d_X509_CRL_bio(bio, self._x509_crl) + res = self._backend._lib.i2d_X509_CRL_bio(bio, self._x509_crl) self._backend.openssl_assert(res == 1) der = self._backend._read_mem_bio(bio) h.update(der) return h.finalize() - @utils.cached_property - def _sorted_crl(self): - # X509_CRL_get0_by_serial sorts in place, which breaks a variety of - # things we don't want to break (like iteration and the signature). - # Let's dupe it and sort that instead. - dup = self._backend._lib.X509_CRL_dup(self._x509_crl) - self._backend.openssl_assert(dup != self._backend._ffi.NULL) - dup = self._backend._ffi.gc(dup, self._backend._lib.X509_CRL_free) - return dup - - def get_revoked_certificate_by_serial_number(self, serial_number): - revoked = self._backend._ffi.new("X509_REVOKED **") - asn1_int = _encode_asn1_int_gc(self._backend, serial_number) - res = self._backend._lib.X509_CRL_get0_by_serial( - self._sorted_crl, revoked, asn1_int - ) - if res == 0: - return None - else: - self._backend.openssl_assert(revoked[0] != self._backend._ffi.NULL) - return _RevokedCertificate( - self._backend, self._sorted_crl, revoked[0] - ) - + @utils.cached_property + def _sorted_crl(self): + # X509_CRL_get0_by_serial sorts in place, which breaks a variety of + # things we don't want to break (like iteration and the signature). + # Let's dupe it and sort that instead. + dup = self._backend._lib.X509_CRL_dup(self._x509_crl) + self._backend.openssl_assert(dup != self._backend._ffi.NULL) + dup = self._backend._ffi.gc(dup, self._backend._lib.X509_CRL_free) + return dup + + def get_revoked_certificate_by_serial_number(self, serial_number): + revoked = self._backend._ffi.new("X509_REVOKED **") + asn1_int = _encode_asn1_int_gc(self._backend, serial_number) + res = self._backend._lib.X509_CRL_get0_by_serial( + self._sorted_crl, revoked, asn1_int + ) + if res == 0: + return None + else: + self._backend.openssl_assert(revoked[0] != self._backend._ffi.NULL) + return _RevokedCertificate( + self._backend, self._sorted_crl, revoked[0] + ) + @property def signature_hash_algorithm(self): oid = self.signature_algorithm_oid @@ -256,7 +256,7 @@ class _CertificateRevocationList(object): return x509._SIG_OIDS_TO_HASH[oid] except KeyError: raise UnsupportedAlgorithm( - "Signature algorithm OID:{} not recognized".format(oid) + "Signature algorithm OID:{} not recognized".format(oid) ) @property @@ -349,30 +349,30 @@ class _CertificateRevocationList(object): else: return self._backend._lib.sk_X509_REVOKED_num(revoked) - @utils.cached_property + @utils.cached_property def extensions(self): - return self._backend._crl_extension_parser.parse(self._x509_crl) - - def is_signature_valid(self, public_key): - if not isinstance( - public_key, - (dsa.DSAPublicKey, rsa.RSAPublicKey, ec.EllipticCurvePublicKey), - ): - raise TypeError( - "Expecting one of DSAPublicKey, RSAPublicKey," - " or EllipticCurvePublicKey." - ) - res = self._backend._lib.X509_CRL_verify( - self._x509_crl, public_key._evp_pkey - ) - - if res != 1: - self._backend._consume_errors() - return False - - return True - - + return self._backend._crl_extension_parser.parse(self._x509_crl) + + def is_signature_valid(self, public_key): + if not isinstance( + public_key, + (dsa.DSAPublicKey, rsa.RSAPublicKey, ec.EllipticCurvePublicKey), + ): + raise TypeError( + "Expecting one of DSAPublicKey, RSAPublicKey," + " or EllipticCurvePublicKey." + ) + res = self._backend._lib.X509_CRL_verify( + self._x509_crl, public_key._evp_pkey + ) + + if res != 1: + self._backend._consume_errors() + return False + + return True + + @utils.register_interface(x509.CertificateSigningRequest) class _CertificateSigningRequest(object): def __init__(self, backend, x509_req): @@ -412,7 +412,7 @@ class _CertificateSigningRequest(object): return x509._SIG_OIDS_TO_HASH[oid] except KeyError: raise UnsupportedAlgorithm( - "Signature algorithm OID:{} not recognized".format(oid) + "Signature algorithm OID:{} not recognized".format(oid) ) @property @@ -425,19 +425,19 @@ class _CertificateSigningRequest(object): oid = _obj2txt(self._backend, alg[0].algorithm) return x509.ObjectIdentifier(oid) - @utils.cached_property + @utils.cached_property def extensions(self): x509_exts = self._backend._lib.X509_REQ_get_extensions(self._x509_req) - x509_exts = self._backend._ffi.gc( - x509_exts, - lambda x: self._backend._lib.sk_X509_EXTENSION_pop_free( - x, - self._backend._ffi.addressof( - self._backend._lib._original_lib, "X509_EXTENSION_free" - ), - ), - ) - return self._backend._csr_extension_parser.parse(x509_exts) + x509_exts = self._backend._ffi.gc( + x509_exts, + lambda x: self._backend._lib.sk_X509_EXTENSION_pop_free( + x, + self._backend._ffi.addressof( + self._backend._lib._original_lib, "X509_EXTENSION_free" + ), + ), + ) + return self._backend._csr_extension_parser.parse(x509_exts) def public_bytes(self, encoding): bio = self._backend._create_mem_bio_gc() @@ -484,104 +484,104 @@ class _CertificateSigningRequest(object): return False return True - - def get_attribute_for_oid(self, oid): - obj = _txt2obj_gc(self._backend, oid.dotted_string) - pos = self._backend._lib.X509_REQ_get_attr_by_OBJ( - self._x509_req, obj, -1 - ) - if pos == -1: - raise x509.AttributeNotFound( - "No {} attribute was found".format(oid), oid - ) - - attr = self._backend._lib.X509_REQ_get_attr(self._x509_req, pos) - self._backend.openssl_assert(attr != self._backend._ffi.NULL) - # We don't support multiple valued attributes for now. - self._backend.openssl_assert( - self._backend._lib.X509_ATTRIBUTE_count(attr) == 1 - ) - asn1_type = self._backend._lib.X509_ATTRIBUTE_get0_type(attr, 0) - self._backend.openssl_assert(asn1_type != self._backend._ffi.NULL) - # We need this to ensure that our C type cast is safe. - # Also this should always be a sane string type, but we'll see if - # that is true in the real world... - if asn1_type.type not in ( - _ASN1Type.UTF8String.value, - _ASN1Type.PrintableString.value, - _ASN1Type.IA5String.value, - ): - raise ValueError( - "OID {} has a disallowed ASN.1 type: {}".format( - oid, asn1_type.type - ) - ) - - data = self._backend._lib.X509_ATTRIBUTE_get0_data( - attr, 0, asn1_type.type, self._backend._ffi.NULL - ) - self._backend.openssl_assert(data != self._backend._ffi.NULL) - # This cast is safe iff we assert on the type above to ensure - # that it is always a type of ASN1_STRING - data = self._backend._ffi.cast("ASN1_STRING *", data) - return _asn1_string_to_bytes(self._backend, data) - - -@utils.register_interface( - x509.certificate_transparency.SignedCertificateTimestamp -) -class _SignedCertificateTimestamp(object): - def __init__(self, backend, sct_list, sct): - self._backend = backend - # Keep the SCT_LIST that this SCT came from alive. - self._sct_list = sct_list - self._sct = sct - - @property - def version(self): - version = self._backend._lib.SCT_get_version(self._sct) - assert version == self._backend._lib.SCT_VERSION_V1 - return x509.certificate_transparency.Version.v1 - - @property - def log_id(self): - out = self._backend._ffi.new("unsigned char **") - log_id_length = self._backend._lib.SCT_get0_log_id(self._sct, out) - assert log_id_length >= 0 - return self._backend._ffi.buffer(out[0], log_id_length)[:] - - @property - def timestamp(self): - timestamp = self._backend._lib.SCT_get_timestamp(self._sct) - milliseconds = timestamp % 1000 - return datetime.datetime.utcfromtimestamp(timestamp // 1000).replace( - microsecond=milliseconds * 1000 - ) - - @property - def entry_type(self): - entry_type = self._backend._lib.SCT_get_log_entry_type(self._sct) - # We currently only support loading SCTs from the X.509 extension, so - # we only have precerts. - assert entry_type == self._backend._lib.CT_LOG_ENTRY_TYPE_PRECERT - return x509.certificate_transparency.LogEntryType.PRE_CERTIFICATE - - @property - def _signature(self): - ptrptr = self._backend._ffi.new("unsigned char **") - res = self._backend._lib.SCT_get0_signature(self._sct, ptrptr) - self._backend.openssl_assert(res > 0) - self._backend.openssl_assert(ptrptr[0] != self._backend._ffi.NULL) - return self._backend._ffi.buffer(ptrptr[0], res)[:] - - def __hash__(self): - return hash(self._signature) - - def __eq__(self, other): - if not isinstance(other, _SignedCertificateTimestamp): - return NotImplemented - - return self._signature == other._signature - - def __ne__(self, other): - return not self == other + + def get_attribute_for_oid(self, oid): + obj = _txt2obj_gc(self._backend, oid.dotted_string) + pos = self._backend._lib.X509_REQ_get_attr_by_OBJ( + self._x509_req, obj, -1 + ) + if pos == -1: + raise x509.AttributeNotFound( + "No {} attribute was found".format(oid), oid + ) + + attr = self._backend._lib.X509_REQ_get_attr(self._x509_req, pos) + self._backend.openssl_assert(attr != self._backend._ffi.NULL) + # We don't support multiple valued attributes for now. + self._backend.openssl_assert( + self._backend._lib.X509_ATTRIBUTE_count(attr) == 1 + ) + asn1_type = self._backend._lib.X509_ATTRIBUTE_get0_type(attr, 0) + self._backend.openssl_assert(asn1_type != self._backend._ffi.NULL) + # We need this to ensure that our C type cast is safe. + # Also this should always be a sane string type, but we'll see if + # that is true in the real world... + if asn1_type.type not in ( + _ASN1Type.UTF8String.value, + _ASN1Type.PrintableString.value, + _ASN1Type.IA5String.value, + ): + raise ValueError( + "OID {} has a disallowed ASN.1 type: {}".format( + oid, asn1_type.type + ) + ) + + data = self._backend._lib.X509_ATTRIBUTE_get0_data( + attr, 0, asn1_type.type, self._backend._ffi.NULL + ) + self._backend.openssl_assert(data != self._backend._ffi.NULL) + # This cast is safe iff we assert on the type above to ensure + # that it is always a type of ASN1_STRING + data = self._backend._ffi.cast("ASN1_STRING *", data) + return _asn1_string_to_bytes(self._backend, data) + + +@utils.register_interface( + x509.certificate_transparency.SignedCertificateTimestamp +) +class _SignedCertificateTimestamp(object): + def __init__(self, backend, sct_list, sct): + self._backend = backend + # Keep the SCT_LIST that this SCT came from alive. + self._sct_list = sct_list + self._sct = sct + + @property + def version(self): + version = self._backend._lib.SCT_get_version(self._sct) + assert version == self._backend._lib.SCT_VERSION_V1 + return x509.certificate_transparency.Version.v1 + + @property + def log_id(self): + out = self._backend._ffi.new("unsigned char **") + log_id_length = self._backend._lib.SCT_get0_log_id(self._sct, out) + assert log_id_length >= 0 + return self._backend._ffi.buffer(out[0], log_id_length)[:] + + @property + def timestamp(self): + timestamp = self._backend._lib.SCT_get_timestamp(self._sct) + milliseconds = timestamp % 1000 + return datetime.datetime.utcfromtimestamp(timestamp // 1000).replace( + microsecond=milliseconds * 1000 + ) + + @property + def entry_type(self): + entry_type = self._backend._lib.SCT_get_log_entry_type(self._sct) + # We currently only support loading SCTs from the X.509 extension, so + # we only have precerts. + assert entry_type == self._backend._lib.CT_LOG_ENTRY_TYPE_PRECERT + return x509.certificate_transparency.LogEntryType.PRE_CERTIFICATE + + @property + def _signature(self): + ptrptr = self._backend._ffi.new("unsigned char **") + res = self._backend._lib.SCT_get0_signature(self._sct, ptrptr) + self._backend.openssl_assert(res > 0) + self._backend.openssl_assert(ptrptr[0] != self._backend._ffi.NULL) + return self._backend._ffi.buffer(ptrptr[0], res)[:] + + def __hash__(self): + return hash(self._signature) + + def __eq__(self, other): + if not isinstance(other, _SignedCertificateTimestamp): + return NotImplemented + + return self._signature == other._signature + + def __ne__(self, other): + return not self == other diff --git a/contrib/python/cryptography/cryptography/hazmat/bindings/openssl/_conditional.py b/contrib/python/cryptography/cryptography/hazmat/bindings/openssl/_conditional.py index 53505f9ed1..ca50fed134 100644 --- a/contrib/python/cryptography/cryptography/hazmat/bindings/openssl/_conditional.py +++ b/contrib/python/cryptography/cryptography/hazmat/bindings/openssl/_conditional.py @@ -5,318 +5,318 @@ from __future__ import absolute_import, division, print_function -def cryptography_has_ec2m(): - return [ +def cryptography_has_ec2m(): + return [ "EC_POINT_set_affine_coordinates_GF2m", "EC_POINT_get_affine_coordinates_GF2m", "EC_POINT_set_compressed_coordinates_GF2m", - ] + ] - -def cryptography_has_rsa_oaep_md(): - return [ + +def cryptography_has_rsa_oaep_md(): + return [ "EVP_PKEY_CTX_set_rsa_oaep_md", - ] + ] + +def cryptography_has_rsa_oaep_label(): + return [ + "EVP_PKEY_CTX_set0_rsa_oaep_label", + ] -def cryptography_has_rsa_oaep_label(): - return [ - "EVP_PKEY_CTX_set0_rsa_oaep_label", - ] - - -def cryptography_has_ssl3_method(): - return [ + +def cryptography_has_ssl3_method(): + return [ "SSLv3_method", "SSLv3_client_method", "SSLv3_server_method", - ] + ] -def cryptography_has_102_verification(): - return [ - "X509_V_ERR_SUITE_B_INVALID_VERSION", - "X509_V_ERR_SUITE_B_INVALID_ALGORITHM", - "X509_V_ERR_SUITE_B_INVALID_CURVE", - "X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM", - "X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED", - "X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256", +def cryptography_has_102_verification(): + return [ + "X509_V_ERR_SUITE_B_INVALID_VERSION", + "X509_V_ERR_SUITE_B_INVALID_ALGORITHM", + "X509_V_ERR_SUITE_B_INVALID_CURVE", + "X509_V_ERR_SUITE_B_INVALID_SIGNATURE_ALGORITHM", + "X509_V_ERR_SUITE_B_LOS_NOT_ALLOWED", + "X509_V_ERR_SUITE_B_CANNOT_SIGN_P_384_WITH_P_256", "X509_V_FLAG_SUITEB_128_LOS_ONLY", "X509_V_FLAG_SUITEB_192_LOS", "X509_V_FLAG_SUITEB_128_LOS", - ] - - -def cryptography_has_110_verification_params(): - return ["X509_CHECK_FLAG_NEVER_CHECK_SUBJECT"] - - -def cryptography_has_set_cert_cb(): - return [ + ] + + +def cryptography_has_110_verification_params(): + return ["X509_CHECK_FLAG_NEVER_CHECK_SUBJECT"] + + +def cryptography_has_set_cert_cb(): + return [ "SSL_CTX_set_cert_cb", "SSL_set_cert_cb", - ] - - -def cryptography_has_ssl_st(): - return [ + ] + + +def cryptography_has_ssl_st(): + return [ "SSL_ST_BEFORE", "SSL_ST_OK", "SSL_ST_INIT", "SSL_ST_RENEGOTIATE", - ] - - -def cryptography_has_tls_st(): - return [ + ] + + +def cryptography_has_tls_st(): + return [ "TLS_ST_BEFORE", "TLS_ST_OK", - ] - - -def cryptography_has_scrypt(): - return [ + ] + + +def cryptography_has_scrypt(): + return [ "EVP_PBE_scrypt", - ] - - -def cryptography_has_evp_pkey_dhx(): - return [ - "EVP_PKEY_DHX", - ] - - -def cryptography_has_mem_functions(): - return [ - "Cryptography_CRYPTO_set_mem_functions", - ] - - -def cryptography_has_sct(): - return [ - "SCT_get_version", - "SCT_get_log_entry_type", - "SCT_get0_log_id", - "SCT_get0_signature", - "SCT_get_timestamp", - "SCT_set_source", - "sk_SCT_new_null", - "sk_SCT_free", - "sk_SCT_num", - "sk_SCT_value", - "sk_SCT_push", - "SCT_LIST_free", - "SCT_new", - "SCT_set1_log_id", - "SCT_set_timestamp", - "SCT_set_version", - "SCT_set_log_entry_type", - ] - - -def cryptography_has_x509_store_ctx_get_issuer(): - return [ - "X509_STORE_get_get_issuer", - "X509_STORE_set_get_issuer", - ] - - -def cryptography_has_ed448(): - return [ - "EVP_PKEY_ED448", - "NID_ED448", - ] - - -def cryptography_has_ed25519(): - return [ - "NID_ED25519", - "EVP_PKEY_ED25519", - ] - - -def cryptography_has_poly1305(): - return [ - "NID_poly1305", - "EVP_PKEY_POLY1305", - ] - - -def cryptography_has_oneshot_evp_digest_sign_verify(): - return [ - "EVP_DigestSign", - "EVP_DigestVerify", - ] - - -def cryptography_has_evp_digestfinal_xof(): - return [ - "EVP_DigestFinalXOF", - ] - - -def cryptography_has_evp_pkey_get_set_tls_encodedpoint(): - return [ - "EVP_PKEY_get1_tls_encodedpoint", - "EVP_PKEY_set1_tls_encodedpoint", - ] - - -def cryptography_has_fips(): - return [ - "FIPS_mode_set", - "FIPS_mode", - ] - - -def cryptography_has_ssl_sigalgs(): - return [ - "SSL_CTX_set1_sigalgs_list", - "SSL_get_sigalgs", - ] - - -def cryptography_has_psk(): - return [ - "SSL_CTX_use_psk_identity_hint", - "SSL_CTX_set_psk_server_callback", - "SSL_CTX_set_psk_client_callback", - ] - - -def cryptography_has_custom_ext(): - return [ - "SSL_CTX_add_client_custom_ext", - "SSL_CTX_add_server_custom_ext", - "SSL_extension_supported", - ] - - -def cryptography_has_openssl_cleanup(): - return [ - "OPENSSL_cleanup", - ] - - -def cryptography_has_tlsv13(): - return [ - "SSL_OP_NO_TLSv1_3", - "SSL_VERIFY_POST_HANDSHAKE", - "SSL_CTX_set_ciphersuites", - "SSL_verify_client_post_handshake", - "SSL_CTX_set_post_handshake_auth", - "SSL_set_post_handshake_auth", - "SSL_SESSION_get_max_early_data", - "SSL_write_early_data", - "SSL_read_early_data", - "SSL_CTX_set_max_early_data", - ] - - -def cryptography_has_keylog(): - return [ - "SSL_CTX_set_keylog_callback", - "SSL_CTX_get_keylog_callback", - ] - - -def cryptography_has_raw_key(): - return [ - "EVP_PKEY_new_raw_private_key", - "EVP_PKEY_new_raw_public_key", - "EVP_PKEY_get_raw_private_key", - "EVP_PKEY_get_raw_public_key", - ] - - -def cryptography_has_engine(): - return [ - "ENGINE_by_id", - "ENGINE_init", - "ENGINE_finish", - "ENGINE_get_default_RAND", - "ENGINE_set_default_RAND", - "ENGINE_unregister_RAND", - "ENGINE_ctrl_cmd", - "ENGINE_free", - "ENGINE_get_name", - "Cryptography_add_osrandom_engine", - "ENGINE_ctrl_cmd_string", - "ENGINE_load_builtin_engines", - "ENGINE_load_private_key", - "ENGINE_load_public_key", - ] - - -def cryptography_has_verified_chain(): - return [ - "SSL_get0_verified_chain", - ] - - -def cryptography_has_srtp(): - return [ - "SSL_CTX_set_tlsext_use_srtp", - "SSL_set_tlsext_use_srtp", - "SSL_get_selected_srtp_profile", - ] - - -def cryptography_has_get_proto_version(): - return [ - "SSL_CTX_get_min_proto_version", - "SSL_CTX_get_max_proto_version", - "SSL_get_min_proto_version", - "SSL_get_max_proto_version", - ] - - -# This is a mapping of -# {condition: function-returning-names-dependent-on-that-condition} so we can -# loop over them and delete unsupported names at runtime. It will be removed -# when cffi supports #if in cdef. We use functions instead of just a dict of -# lists so we can use coverage to measure which are used. -CONDITIONAL_NAMES = { - "Cryptography_HAS_EC2M": cryptography_has_ec2m, - "Cryptography_HAS_RSA_OAEP_MD": cryptography_has_rsa_oaep_md, - "Cryptography_HAS_RSA_OAEP_LABEL": cryptography_has_rsa_oaep_label, - "Cryptography_HAS_SSL3_METHOD": cryptography_has_ssl3_method, - "Cryptography_HAS_102_VERIFICATION": cryptography_has_102_verification, - "Cryptography_HAS_110_VERIFICATION_PARAMS": ( - cryptography_has_110_verification_params - ), - "Cryptography_HAS_SET_CERT_CB": cryptography_has_set_cert_cb, - "Cryptography_HAS_SSL_ST": cryptography_has_ssl_st, - "Cryptography_HAS_TLS_ST": cryptography_has_tls_st, - "Cryptography_HAS_SCRYPT": cryptography_has_scrypt, - "Cryptography_HAS_EVP_PKEY_DHX": cryptography_has_evp_pkey_dhx, - "Cryptography_HAS_MEM_FUNCTIONS": cryptography_has_mem_functions, - "Cryptography_HAS_SCT": cryptography_has_sct, - "Cryptography_HAS_X509_STORE_CTX_GET_ISSUER": ( - cryptography_has_x509_store_ctx_get_issuer - ), - "Cryptography_HAS_ED448": cryptography_has_ed448, - "Cryptography_HAS_ED25519": cryptography_has_ed25519, - "Cryptography_HAS_POLY1305": cryptography_has_poly1305, - "Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY": ( - cryptography_has_oneshot_evp_digest_sign_verify - ), - "Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint": ( - cryptography_has_evp_pkey_get_set_tls_encodedpoint - ), - "Cryptography_HAS_FIPS": cryptography_has_fips, - "Cryptography_HAS_SIGALGS": cryptography_has_ssl_sigalgs, - "Cryptography_HAS_PSK": cryptography_has_psk, - "Cryptography_HAS_CUSTOM_EXT": cryptography_has_custom_ext, - "Cryptography_HAS_OPENSSL_CLEANUP": cryptography_has_openssl_cleanup, - "Cryptography_HAS_TLSv1_3": cryptography_has_tlsv13, - "Cryptography_HAS_KEYLOG": cryptography_has_keylog, - "Cryptography_HAS_RAW_KEY": cryptography_has_raw_key, - "Cryptography_HAS_EVP_DIGESTFINAL_XOF": ( - cryptography_has_evp_digestfinal_xof - ), - "Cryptography_HAS_ENGINE": cryptography_has_engine, - "Cryptography_HAS_VERIFIED_CHAIN": cryptography_has_verified_chain, - "Cryptography_HAS_SRTP": cryptography_has_srtp, - "Cryptography_HAS_GET_PROTO_VERSION": cryptography_has_get_proto_version, + ] + + +def cryptography_has_evp_pkey_dhx(): + return [ + "EVP_PKEY_DHX", + ] + + +def cryptography_has_mem_functions(): + return [ + "Cryptography_CRYPTO_set_mem_functions", + ] + + +def cryptography_has_sct(): + return [ + "SCT_get_version", + "SCT_get_log_entry_type", + "SCT_get0_log_id", + "SCT_get0_signature", + "SCT_get_timestamp", + "SCT_set_source", + "sk_SCT_new_null", + "sk_SCT_free", + "sk_SCT_num", + "sk_SCT_value", + "sk_SCT_push", + "SCT_LIST_free", + "SCT_new", + "SCT_set1_log_id", + "SCT_set_timestamp", + "SCT_set_version", + "SCT_set_log_entry_type", + ] + + +def cryptography_has_x509_store_ctx_get_issuer(): + return [ + "X509_STORE_get_get_issuer", + "X509_STORE_set_get_issuer", + ] + + +def cryptography_has_ed448(): + return [ + "EVP_PKEY_ED448", + "NID_ED448", + ] + + +def cryptography_has_ed25519(): + return [ + "NID_ED25519", + "EVP_PKEY_ED25519", + ] + + +def cryptography_has_poly1305(): + return [ + "NID_poly1305", + "EVP_PKEY_POLY1305", + ] + + +def cryptography_has_oneshot_evp_digest_sign_verify(): + return [ + "EVP_DigestSign", + "EVP_DigestVerify", + ] + + +def cryptography_has_evp_digestfinal_xof(): + return [ + "EVP_DigestFinalXOF", + ] + + +def cryptography_has_evp_pkey_get_set_tls_encodedpoint(): + return [ + "EVP_PKEY_get1_tls_encodedpoint", + "EVP_PKEY_set1_tls_encodedpoint", + ] + + +def cryptography_has_fips(): + return [ + "FIPS_mode_set", + "FIPS_mode", + ] + + +def cryptography_has_ssl_sigalgs(): + return [ + "SSL_CTX_set1_sigalgs_list", + "SSL_get_sigalgs", + ] + + +def cryptography_has_psk(): + return [ + "SSL_CTX_use_psk_identity_hint", + "SSL_CTX_set_psk_server_callback", + "SSL_CTX_set_psk_client_callback", + ] + + +def cryptography_has_custom_ext(): + return [ + "SSL_CTX_add_client_custom_ext", + "SSL_CTX_add_server_custom_ext", + "SSL_extension_supported", + ] + + +def cryptography_has_openssl_cleanup(): + return [ + "OPENSSL_cleanup", + ] + + +def cryptography_has_tlsv13(): + return [ + "SSL_OP_NO_TLSv1_3", + "SSL_VERIFY_POST_HANDSHAKE", + "SSL_CTX_set_ciphersuites", + "SSL_verify_client_post_handshake", + "SSL_CTX_set_post_handshake_auth", + "SSL_set_post_handshake_auth", + "SSL_SESSION_get_max_early_data", + "SSL_write_early_data", + "SSL_read_early_data", + "SSL_CTX_set_max_early_data", + ] + + +def cryptography_has_keylog(): + return [ + "SSL_CTX_set_keylog_callback", + "SSL_CTX_get_keylog_callback", + ] + + +def cryptography_has_raw_key(): + return [ + "EVP_PKEY_new_raw_private_key", + "EVP_PKEY_new_raw_public_key", + "EVP_PKEY_get_raw_private_key", + "EVP_PKEY_get_raw_public_key", + ] + + +def cryptography_has_engine(): + return [ + "ENGINE_by_id", + "ENGINE_init", + "ENGINE_finish", + "ENGINE_get_default_RAND", + "ENGINE_set_default_RAND", + "ENGINE_unregister_RAND", + "ENGINE_ctrl_cmd", + "ENGINE_free", + "ENGINE_get_name", + "Cryptography_add_osrandom_engine", + "ENGINE_ctrl_cmd_string", + "ENGINE_load_builtin_engines", + "ENGINE_load_private_key", + "ENGINE_load_public_key", + ] + + +def cryptography_has_verified_chain(): + return [ + "SSL_get0_verified_chain", + ] + + +def cryptography_has_srtp(): + return [ + "SSL_CTX_set_tlsext_use_srtp", + "SSL_set_tlsext_use_srtp", + "SSL_get_selected_srtp_profile", + ] + + +def cryptography_has_get_proto_version(): + return [ + "SSL_CTX_get_min_proto_version", + "SSL_CTX_get_max_proto_version", + "SSL_get_min_proto_version", + "SSL_get_max_proto_version", + ] + + +# This is a mapping of +# {condition: function-returning-names-dependent-on-that-condition} so we can +# loop over them and delete unsupported names at runtime. It will be removed +# when cffi supports #if in cdef. We use functions instead of just a dict of +# lists so we can use coverage to measure which are used. +CONDITIONAL_NAMES = { + "Cryptography_HAS_EC2M": cryptography_has_ec2m, + "Cryptography_HAS_RSA_OAEP_MD": cryptography_has_rsa_oaep_md, + "Cryptography_HAS_RSA_OAEP_LABEL": cryptography_has_rsa_oaep_label, + "Cryptography_HAS_SSL3_METHOD": cryptography_has_ssl3_method, + "Cryptography_HAS_102_VERIFICATION": cryptography_has_102_verification, + "Cryptography_HAS_110_VERIFICATION_PARAMS": ( + cryptography_has_110_verification_params + ), + "Cryptography_HAS_SET_CERT_CB": cryptography_has_set_cert_cb, + "Cryptography_HAS_SSL_ST": cryptography_has_ssl_st, + "Cryptography_HAS_TLS_ST": cryptography_has_tls_st, + "Cryptography_HAS_SCRYPT": cryptography_has_scrypt, + "Cryptography_HAS_EVP_PKEY_DHX": cryptography_has_evp_pkey_dhx, + "Cryptography_HAS_MEM_FUNCTIONS": cryptography_has_mem_functions, + "Cryptography_HAS_SCT": cryptography_has_sct, + "Cryptography_HAS_X509_STORE_CTX_GET_ISSUER": ( + cryptography_has_x509_store_ctx_get_issuer + ), + "Cryptography_HAS_ED448": cryptography_has_ed448, + "Cryptography_HAS_ED25519": cryptography_has_ed25519, + "Cryptography_HAS_POLY1305": cryptography_has_poly1305, + "Cryptography_HAS_ONESHOT_EVP_DIGEST_SIGN_VERIFY": ( + cryptography_has_oneshot_evp_digest_sign_verify + ), + "Cryptography_HAS_EVP_PKEY_get_set_tls_encodedpoint": ( + cryptography_has_evp_pkey_get_set_tls_encodedpoint + ), + "Cryptography_HAS_FIPS": cryptography_has_fips, + "Cryptography_HAS_SIGALGS": cryptography_has_ssl_sigalgs, + "Cryptography_HAS_PSK": cryptography_has_psk, + "Cryptography_HAS_CUSTOM_EXT": cryptography_has_custom_ext, + "Cryptography_HAS_OPENSSL_CLEANUP": cryptography_has_openssl_cleanup, + "Cryptography_HAS_TLSv1_3": cryptography_has_tlsv13, + "Cryptography_HAS_KEYLOG": cryptography_has_keylog, + "Cryptography_HAS_RAW_KEY": cryptography_has_raw_key, + "Cryptography_HAS_EVP_DIGESTFINAL_XOF": ( + cryptography_has_evp_digestfinal_xof + ), + "Cryptography_HAS_ENGINE": cryptography_has_engine, + "Cryptography_HAS_VERIFIED_CHAIN": cryptography_has_verified_chain, + "Cryptography_HAS_SRTP": cryptography_has_srtp, + "Cryptography_HAS_GET_PROTO_VERSION": cryptography_has_get_proto_version, } diff --git a/contrib/python/cryptography/cryptography/hazmat/bindings/openssl/binding.py b/contrib/python/cryptography/cryptography/hazmat/bindings/openssl/binding.py index ca7f4aa505..7a84a340e4 100644 --- a/contrib/python/cryptography/cryptography/hazmat/bindings/openssl/binding.py +++ b/contrib/python/cryptography/cryptography/hazmat/bindings/openssl/binding.py @@ -8,8 +8,8 @@ import collections import threading import types -import cryptography -from cryptography import utils +import cryptography +from cryptography import utils from cryptography.exceptions import InternalError from cryptography.hazmat.bindings._openssl import ffi, lib from cryptography.hazmat.bindings.openssl._conditional import CONDITIONAL_NAMES @@ -19,22 +19,22 @@ _OpenSSLErrorWithText = collections.namedtuple( ) -class _OpenSSLError(object): - def __init__(self, code, lib, func, reason): - self._code = code - self._lib = lib - self._func = func - self._reason = reason - - def _lib_reason_match(self, lib, reason): - return lib == self.lib and reason == self.reason - - code = utils.read_only_property("_code") - lib = utils.read_only_property("_lib") - func = utils.read_only_property("_func") - reason = utils.read_only_property("_reason") - - +class _OpenSSLError(object): + def __init__(self, code, lib, func, reason): + self._code = code + self._lib = lib + self._func = func + self._reason = reason + + def _lib_reason_match(self, lib, reason): + return lib == self.lib and reason == self.reason + + code = utils.read_only_property("_code") + lib = utils.read_only_property("_lib") + func = utils.read_only_property("_func") + reason = utils.read_only_property("_reason") + + def _consume_errors(lib): errors = [] while True: @@ -51,32 +51,32 @@ def _consume_errors(lib): return errors -def _errors_with_text(errors): - errors_with_text = [] - for err in errors: - buf = ffi.new("char[]", 256) - lib.ERR_error_string_n(err.code, buf, len(buf)) - err_text_reason = ffi.string(buf) - - errors_with_text.append( - _OpenSSLErrorWithText( - err.code, err.lib, err.func, err.reason, err_text_reason +def _errors_with_text(errors): + errors_with_text = [] + for err in errors: + buf = ffi.new("char[]", 256) + lib.ERR_error_string_n(err.code, buf, len(buf)) + err_text_reason = ffi.string(buf) + + errors_with_text.append( + _OpenSSLErrorWithText( + err.code, err.lib, err.func, err.reason, err_text_reason ) - ) - - return errors_with_text - - -def _consume_errors_with_text(lib): - return _errors_with_text(_consume_errors(lib)) - - -def _openssl_assert(lib, ok, errors=None): - if not ok: - if errors is None: - errors = _consume_errors(lib) - errors_with_text = _errors_with_text(errors) - + ) + + return errors_with_text + + +def _consume_errors_with_text(lib): + return _errors_with_text(_consume_errors(lib)) + + +def _openssl_assert(lib, ok, errors=None): + if not ok: + if errors is None: + errors = _consume_errors(lib) + errors_with_text = _errors_with_text(errors) + raise InternalError( "Unknown OpenSSL error. This error is commonly encountered when " "another library is not cleaning up the OpenSSL error stack. If " @@ -85,17 +85,17 @@ def _openssl_assert(lib, ok, errors=None): "please file an issue at https://github.com/pyca/cryptography/" "issues with information on how to reproduce " "this. ({0!r})".format(errors_with_text), - errors_with_text, + errors_with_text, ) def build_conditional_library(lib, conditional_names): conditional_lib = types.ModuleType("lib") - conditional_lib._original_lib = lib + conditional_lib._original_lib = lib excluded_names = set() - for condition, names_cb in conditional_names.items(): + for condition, names_cb in conditional_names.items(): if not getattr(lib, condition): - excluded_names.update(names_cb()) + excluded_names.update(names_cb()) for attr in dir(lib): if attr not in excluded_names: @@ -108,7 +108,7 @@ class Binding(object): """ OpenSSL API wrapper. """ - + lib = None ffi = ffi _lib_loaded = False @@ -119,15 +119,15 @@ class Binding(object): @classmethod def _register_osrandom_engine(cls): - # Clear any errors extant in the queue before we start. In many - # scenarios other things may be interacting with OpenSSL in the same - # process space and it has proven untenable to assume that they will - # reliably clear the error queue. Once we clear it here we will - # error on any subsequent unexpected item in the stack. - cls.lib.ERR_clear_error() - if cls.lib.CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE: - result = cls.lib.Cryptography_add_osrandom_engine() - _openssl_assert(cls.lib, result in (1, 2)) + # Clear any errors extant in the queue before we start. In many + # scenarios other things may be interacting with OpenSSL in the same + # process space and it has proven untenable to assume that they will + # reliably clear the error queue. Once we clear it here we will + # error on any subsequent unexpected item in the stack. + cls.lib.ERR_clear_error() + if cls.lib.CRYPTOGRAPHY_NEEDS_OSRANDOM_ENGINE: + result = cls.lib.Cryptography_add_osrandom_engine() + _openssl_assert(cls.lib, result in (1, 2)) @classmethod def _ensure_ffi_initialized(cls): @@ -143,30 +143,30 @@ class Binding(object): @classmethod def init_static_locks(cls): - cls._ensure_ffi_initialized() - - -def _verify_package_version(version): - # Occasionally we run into situations where the version of the Python - # package does not match the version of the shared object that is loaded. - # This may occur in environments where multiple versions of cryptography - # are installed and available in the python path. To avoid errors cropping - # up later this code checks that the currently imported package and the - # shared object that were loaded have the same version and raise an - # ImportError if they do not - so_package_version = ffi.string(lib.CRYPTOGRAPHY_PACKAGE_VERSION) - if version.encode("ascii") != so_package_version: - raise ImportError( - "The version of cryptography does not match the loaded " - "shared object. This can happen if you have multiple copies of " - "cryptography installed in your Python path. Please try creating " - "a new virtual environment to resolve this issue. " - "Loaded python version: {}, shared object version: {}".format( - version, so_package_version - ) - ) - - -_verify_package_version(cryptography.__version__) - + cls._ensure_ffi_initialized() + + +def _verify_package_version(version): + # Occasionally we run into situations where the version of the Python + # package does not match the version of the shared object that is loaded. + # This may occur in environments where multiple versions of cryptography + # are installed and available in the python path. To avoid errors cropping + # up later this code checks that the currently imported package and the + # shared object that were loaded have the same version and raise an + # ImportError if they do not + so_package_version = ffi.string(lib.CRYPTOGRAPHY_PACKAGE_VERSION) + if version.encode("ascii") != so_package_version: + raise ImportError( + "The version of cryptography does not match the loaded " + "shared object. This can happen if you have multiple copies of " + "cryptography installed in your Python path. Please try creating " + "a new virtual environment to resolve this issue. " + "Loaded python version: {}, shared object version: {}".format( + version, so_package_version + ) + ) + + +_verify_package_version(cryptography.__version__) + Binding.init_static_locks() diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/dh.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/dh.py index 8e62a8c768..74a311d501 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/dh.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/dh.py @@ -9,26 +9,26 @@ import abc import six from cryptography import utils -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend + + +_MIN_MODULUS_SIZE = 512 + + +def generate_parameters(generator, key_size, backend=None): + backend = _get_backend(backend) + return backend.generate_dh_parameters(generator, key_size) -_MIN_MODULUS_SIZE = 512 - - -def generate_parameters(generator, key_size, backend=None): - backend = _get_backend(backend) - return backend.generate_dh_parameters(generator, key_size) - - class DHPrivateNumbers(object): def __init__(self, x, public_numbers): if not isinstance(x, six.integer_types): raise TypeError("x must be an integer.") if not isinstance(public_numbers, DHPublicNumbers): - raise TypeError( - "public_numbers must be an instance of " "DHPublicNumbers." - ) + raise TypeError( + "public_numbers must be an instance of " "DHPublicNumbers." + ) self._x = x self._public_numbers = public_numbers @@ -38,17 +38,17 @@ class DHPrivateNumbers(object): return NotImplemented return ( - self._x == other._x - and self._public_numbers == other._public_numbers + self._x == other._x + and self._public_numbers == other._public_numbers ) def __ne__(self, other): return not self == other - def private_key(self, backend=None): - backend = _get_backend(backend) - return backend.load_dh_private_numbers(self) - + def private_key(self, backend=None): + backend = _get_backend(backend) + return backend.load_dh_private_numbers(self) + public_numbers = utils.read_only_property("_public_numbers") x = utils.read_only_property("_x") @@ -60,8 +60,8 @@ class DHPublicNumbers(object): if not isinstance(parameter_numbers, DHParameterNumbers): raise TypeError( - "parameters must be an instance of DHParameterNumbers." - ) + "parameters must be an instance of DHParameterNumbers." + ) self._y = y self._parameter_numbers = parameter_numbers @@ -71,60 +71,60 @@ class DHPublicNumbers(object): return NotImplemented return ( - self._y == other._y - and self._parameter_numbers == other._parameter_numbers + self._y == other._y + and self._parameter_numbers == other._parameter_numbers ) def __ne__(self, other): return not self == other - def public_key(self, backend=None): - backend = _get_backend(backend) - return backend.load_dh_public_numbers(self) - + def public_key(self, backend=None): + backend = _get_backend(backend) + return backend.load_dh_public_numbers(self) + y = utils.read_only_property("_y") parameter_numbers = utils.read_only_property("_parameter_numbers") class DHParameterNumbers(object): - def __init__(self, p, g, q=None): - if not isinstance(p, six.integer_types) or not isinstance( - g, six.integer_types + def __init__(self, p, g, q=None): + if not isinstance(p, six.integer_types) or not isinstance( + g, six.integer_types ): raise TypeError("p and g must be integers") - if q is not None and not isinstance(q, six.integer_types): - raise TypeError("q must be integer or None") - - if g < 2: - raise ValueError("DH generator must be 2 or greater") - - if p.bit_length() < _MIN_MODULUS_SIZE: - raise ValueError( - "p (modulus) must be at least {}-bit".format(_MIN_MODULUS_SIZE) - ) - + if q is not None and not isinstance(q, six.integer_types): + raise TypeError("q must be integer or None") + + if g < 2: + raise ValueError("DH generator must be 2 or greater") + + if p.bit_length() < _MIN_MODULUS_SIZE: + raise ValueError( + "p (modulus) must be at least {}-bit".format(_MIN_MODULUS_SIZE) + ) + self._p = p self._g = g - self._q = q + self._q = q def __eq__(self, other): if not isinstance(other, DHParameterNumbers): return NotImplemented return ( - self._p == other._p and self._g == other._g and self._q == other._q + self._p == other._p and self._g == other._g and self._q == other._q ) def __ne__(self, other): return not self == other - def parameters(self, backend=None): - backend = _get_backend(backend) - return backend.load_dh_parameter_numbers(self) - + def parameters(self, backend=None): + backend = _get_backend(backend) + return backend.load_dh_parameter_numbers(self) + p = utils.read_only_property("_p") g = utils.read_only_property("_g") - q = utils.read_only_property("_q") + q = utils.read_only_property("_q") @six.add_metaclass(abc.ABCMeta) @@ -135,11 +135,11 @@ class DHParameters(object): Generates and returns a DHPrivateKey. """ - @abc.abstractmethod - def parameter_bytes(self, encoding, format): - """ - Returns the parameters serialized as bytes. - """ + @abc.abstractmethod + def parameter_bytes(self, encoding, format): + """ + Returns the parameters serialized as bytes. + """ @abc.abstractmethod def parameter_numbers(self): @@ -148,9 +148,9 @@ class DHParameters(object): """ -DHParametersWithSerialization = DHParameters - - +DHParametersWithSerialization = DHParameters + + @six.add_metaclass(abc.ABCMeta) class DHPrivateKey(object): @abc.abstractproperty @@ -171,14 +171,14 @@ class DHPrivateKey(object): The DHParameters object associated with this private key. """ - @abc.abstractmethod - def exchange(self, peer_public_key): - """ - Given peer's DHPublicKey, carry out the key exchange and - return shared key as bytes. - """ + @abc.abstractmethod + def exchange(self, peer_public_key): + """ + Given peer's DHPublicKey, carry out the key exchange and + return shared key as bytes. + """ + - @six.add_metaclass(abc.ABCMeta) class DHPrivateKeyWithSerialization(DHPrivateKey): @abc.abstractmethod @@ -187,13 +187,13 @@ class DHPrivateKeyWithSerialization(DHPrivateKey): Returns a DHPrivateNumbers. """ - @abc.abstractmethod - def private_bytes(self, encoding, format, encryption_algorithm): - """ - Returns the key serialized as bytes. - """ + @abc.abstractmethod + def private_bytes(self, encoding, format, encryption_algorithm): + """ + Returns the key serialized as bytes. + """ + - @six.add_metaclass(abc.ABCMeta) class DHPublicKey(object): @abc.abstractproperty @@ -213,12 +213,12 @@ class DHPublicKey(object): """ Returns a DHPublicNumbers. """ - - @abc.abstractmethod - def public_bytes(self, encoding, format): - """ - Returns the key serialized as bytes. - """ - - -DHPublicKeyWithSerialization = DHPublicKey + + @abc.abstractmethod + def public_bytes(self, encoding, format): + """ + Returns the key serialized as bytes. + """ + + +DHPublicKeyWithSerialization = DHPublicKey diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/dsa.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/dsa.py index 7dd07c0695..8ccc66665f 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/dsa.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/dsa.py @@ -9,7 +9,7 @@ import abc import six from cryptography import utils -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend @six.add_metaclass(abc.ABCMeta) @@ -120,23 +120,23 @@ class DSAPublicKey(object): DSAPublicKeyWithSerialization = DSAPublicKey -def generate_parameters(key_size, backend=None): - backend = _get_backend(backend) +def generate_parameters(key_size, backend=None): + backend = _get_backend(backend) return backend.generate_dsa_parameters(key_size) -def generate_private_key(key_size, backend=None): - backend = _get_backend(backend) +def generate_private_key(key_size, backend=None): + backend = _get_backend(backend) return backend.generate_dsa_private_key_and_parameters(key_size) def _check_dsa_parameters(parameters): - if parameters.p.bit_length() not in [1024, 2048, 3072, 4096]: - raise ValueError( - "p must be exactly 1024, 2048, 3072, or 4096 bits long" - ) - if parameters.q.bit_length() not in [160, 224, 256]: - raise ValueError("q must be exactly 160, 224, or 256 bits long") + if parameters.p.bit_length() not in [1024, 2048, 3072, 4096]: + raise ValueError( + "p must be exactly 1024, 2048, 3072, or 4096 bits long" + ) + if parameters.q.bit_length() not in [160, 224, 256]: + raise ValueError("q must be exactly 160, 224, or 256 bits long") if not (1 < parameters.g < parameters.p): raise ValueError("g, p don't satisfy 1 < g < p.") @@ -155,9 +155,9 @@ def _check_dsa_private_numbers(numbers): class DSAParameterNumbers(object): def __init__(self, p, q, g): if ( - not isinstance(p, six.integer_types) - or not isinstance(q, six.integer_types) - or not isinstance(g, six.integer_types) + not isinstance(p, six.integer_types) + or not isinstance(q, six.integer_types) + or not isinstance(g, six.integer_types) ): raise TypeError( "DSAParameterNumbers p, q, and g arguments must be integers." @@ -171,8 +171,8 @@ class DSAParameterNumbers(object): q = utils.read_only_property("_q") g = utils.read_only_property("_g") - def parameters(self, backend=None): - backend = _get_backend(backend) + def parameters(self, backend=None): + backend = _get_backend(backend) return backend.load_dsa_parameter_numbers(self) def __eq__(self, other): @@ -186,8 +186,8 @@ class DSAParameterNumbers(object): def __repr__(self): return ( - "<DSAParameterNumbers(p={self.p}, q={self.q}, " - "g={self.g})>".format(self=self) + "<DSAParameterNumbers(p={self.p}, q={self.q}, " + "g={self.g})>".format(self=self) ) @@ -207,8 +207,8 @@ class DSAPublicNumbers(object): y = utils.read_only_property("_y") parameter_numbers = utils.read_only_property("_parameter_numbers") - def public_key(self, backend=None): - backend = _get_backend(backend) + def public_key(self, backend=None): + backend = _get_backend(backend) return backend.load_dsa_public_numbers(self) def __eq__(self, other): @@ -216,8 +216,8 @@ class DSAPublicNumbers(object): return NotImplemented return ( - self.y == other.y - and self.parameter_numbers == other.parameter_numbers + self.y == other.y + and self.parameter_numbers == other.parameter_numbers ) def __ne__(self, other): @@ -245,8 +245,8 @@ class DSAPrivateNumbers(object): x = utils.read_only_property("_x") public_numbers = utils.read_only_property("_public_numbers") - def private_key(self, backend=None): - backend = _get_backend(backend) + def private_key(self, backend=None): + backend = _get_backend(backend) return backend.load_dsa_private_numbers(self) def __eq__(self, other): diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ec.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ec.py index 1b658adb05..c7e694fc56 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ec.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ec.py @@ -5,37 +5,37 @@ from __future__ import absolute_import, division, print_function import abc -import warnings +import warnings import six from cryptography import utils -from cryptography.hazmat._oid import ObjectIdentifier -from cryptography.hazmat.backends import _get_backend - - -class EllipticCurveOID(object): - SECP192R1 = ObjectIdentifier("1.2.840.10045.3.1.1") - SECP224R1 = ObjectIdentifier("1.3.132.0.33") - SECP256K1 = ObjectIdentifier("1.3.132.0.10") - SECP256R1 = ObjectIdentifier("1.2.840.10045.3.1.7") - SECP384R1 = ObjectIdentifier("1.3.132.0.34") - SECP521R1 = ObjectIdentifier("1.3.132.0.35") - BRAINPOOLP256R1 = ObjectIdentifier("1.3.36.3.3.2.8.1.1.7") - BRAINPOOLP384R1 = ObjectIdentifier("1.3.36.3.3.2.8.1.1.11") - BRAINPOOLP512R1 = ObjectIdentifier("1.3.36.3.3.2.8.1.1.13") - SECT163K1 = ObjectIdentifier("1.3.132.0.1") - SECT163R2 = ObjectIdentifier("1.3.132.0.15") - SECT233K1 = ObjectIdentifier("1.3.132.0.26") - SECT233R1 = ObjectIdentifier("1.3.132.0.27") - SECT283K1 = ObjectIdentifier("1.3.132.0.16") - SECT283R1 = ObjectIdentifier("1.3.132.0.17") - SECT409K1 = ObjectIdentifier("1.3.132.0.36") - SECT409R1 = ObjectIdentifier("1.3.132.0.37") - SECT571K1 = ObjectIdentifier("1.3.132.0.38") - SECT571R1 = ObjectIdentifier("1.3.132.0.39") - - +from cryptography.hazmat._oid import ObjectIdentifier +from cryptography.hazmat.backends import _get_backend + + +class EllipticCurveOID(object): + SECP192R1 = ObjectIdentifier("1.2.840.10045.3.1.1") + SECP224R1 = ObjectIdentifier("1.3.132.0.33") + SECP256K1 = ObjectIdentifier("1.3.132.0.10") + SECP256R1 = ObjectIdentifier("1.2.840.10045.3.1.7") + SECP384R1 = ObjectIdentifier("1.3.132.0.34") + SECP521R1 = ObjectIdentifier("1.3.132.0.35") + BRAINPOOLP256R1 = ObjectIdentifier("1.3.36.3.3.2.8.1.1.7") + BRAINPOOLP384R1 = ObjectIdentifier("1.3.36.3.3.2.8.1.1.11") + BRAINPOOLP512R1 = ObjectIdentifier("1.3.36.3.3.2.8.1.1.13") + SECT163K1 = ObjectIdentifier("1.3.132.0.1") + SECT163R2 = ObjectIdentifier("1.3.132.0.15") + SECT233K1 = ObjectIdentifier("1.3.132.0.26") + SECT233R1 = ObjectIdentifier("1.3.132.0.27") + SECT283K1 = ObjectIdentifier("1.3.132.0.16") + SECT283R1 = ObjectIdentifier("1.3.132.0.17") + SECT409K1 = ObjectIdentifier("1.3.132.0.36") + SECT409R1 = ObjectIdentifier("1.3.132.0.37") + SECT571K1 = ObjectIdentifier("1.3.132.0.38") + SECT571R1 = ObjectIdentifier("1.3.132.0.39") + + @six.add_metaclass(abc.ABCMeta) class EllipticCurve(object): @abc.abstractproperty @@ -47,7 +47,7 @@ class EllipticCurve(object): @abc.abstractproperty def key_size(self): """ - Bit size of a secret scalar for the curve. + Bit size of a secret scalar for the curve. """ @@ -88,12 +88,12 @@ class EllipticCurvePrivateKey(object): """ @abc.abstractproperty - def key_size(self): - """ - Bit size of a secret scalar for the curve. - """ - - @abc.abstractmethod + def key_size(self): + """ + Bit size of a secret scalar for the curve. + """ + + @abc.abstractmethod def sign(self, data, signature_algorithm): """ Signs the data @@ -129,12 +129,12 @@ class EllipticCurvePublicKey(object): The EllipticCurve that this key is on. """ - @abc.abstractproperty - def key_size(self): - """ - Bit size of a secret scalar for the curve. - """ - + @abc.abstractproperty + def key_size(self): + """ + Bit size of a secret scalar for the curve. + """ + @abc.abstractmethod def public_numbers(self): """ @@ -153,31 +153,31 @@ class EllipticCurvePublicKey(object): Verifies the signature of the data. """ - @classmethod - def from_encoded_point(cls, curve, data): - utils._check_bytes("data", data) - - if not isinstance(curve, EllipticCurve): - raise TypeError("curve must be an EllipticCurve instance") - - if len(data) == 0: - raise ValueError("data must not be an empty byte string") - - if six.indexbytes(data, 0) not in [0x02, 0x03, 0x04]: - raise ValueError("Unsupported elliptic curve point type") - - from cryptography.hazmat.backends.openssl.backend import backend - - return backend.load_elliptic_curve_public_bytes(curve, data) - - + @classmethod + def from_encoded_point(cls, curve, data): + utils._check_bytes("data", data) + + if not isinstance(curve, EllipticCurve): + raise TypeError("curve must be an EllipticCurve instance") + + if len(data) == 0: + raise ValueError("data must not be an empty byte string") + + if six.indexbytes(data, 0) not in [0x02, 0x03, 0x04]: + raise ValueError("Unsupported elliptic curve point type") + + from cryptography.hazmat.backends.openssl.backend import backend + + return backend.load_elliptic_curve_public_bytes(curve, data) + + EllipticCurvePublicKeyWithSerialization = EllipticCurvePublicKey @utils.register_interface(EllipticCurve) class SECT571R1(object): name = "sect571r1" - key_size = 570 + key_size = 570 @utils.register_interface(EllipticCurve) @@ -270,24 +270,24 @@ class SECP192R1(object): key_size = 192 -@utils.register_interface(EllipticCurve) -class BrainpoolP256R1(object): - name = "brainpoolP256r1" - key_size = 256 - - -@utils.register_interface(EllipticCurve) -class BrainpoolP384R1(object): - name = "brainpoolP384r1" - key_size = 384 - - -@utils.register_interface(EllipticCurve) -class BrainpoolP512R1(object): - name = "brainpoolP512r1" - key_size = 512 - - +@utils.register_interface(EllipticCurve) +class BrainpoolP256R1(object): + name = "brainpoolP256r1" + key_size = 256 + + +@utils.register_interface(EllipticCurve) +class BrainpoolP384R1(object): + name = "brainpoolP384r1" + key_size = 384 + + +@utils.register_interface(EllipticCurve) +class BrainpoolP512R1(object): + name = "brainpoolP512r1" + key_size = 512 + + _CURVE_TYPES = { "prime192v1": SECP192R1, "prime256v1": SECP256R1, @@ -307,9 +307,9 @@ _CURVE_TYPES = { "sect283r1": SECT283R1, "sect409r1": SECT409R1, "sect571r1": SECT571R1, - "brainpoolP256r1": BrainpoolP256R1, - "brainpoolP384r1": BrainpoolP384R1, - "brainpoolP512r1": BrainpoolP512R1, + "brainpoolP256r1": BrainpoolP256R1, + "brainpoolP384r1": BrainpoolP384R1, + "brainpoolP512r1": BrainpoolP512R1, } @@ -321,13 +321,13 @@ class ECDSA(object): algorithm = utils.read_only_property("_algorithm") -def generate_private_key(curve, backend=None): - backend = _get_backend(backend) +def generate_private_key(curve, backend=None): + backend = _get_backend(backend) return backend.generate_elliptic_curve_private_key(curve) -def derive_private_key(private_value, curve, backend=None): - backend = _get_backend(backend) +def derive_private_key(private_value, curve, backend=None): + backend = _get_backend(backend) if not isinstance(private_value, six.integer_types): raise TypeError("private_value must be an integer type.") @@ -342,8 +342,8 @@ def derive_private_key(private_value, curve, backend=None): class EllipticCurvePublicNumbers(object): def __init__(self, x, y, curve): - if not isinstance(x, six.integer_types) or not isinstance( - y, six.integer_types + if not isinstance(x, six.integer_types) or not isinstance( + y, six.integer_types ): raise TypeError("x and y must be integers.") @@ -354,25 +354,25 @@ class EllipticCurvePublicNumbers(object): self._x = x self._curve = curve - def public_key(self, backend=None): - backend = _get_backend(backend) + def public_key(self, backend=None): + backend = _get_backend(backend) return backend.load_elliptic_curve_public_numbers(self) def encode_point(self): - warnings.warn( - "encode_point has been deprecated on EllipticCurvePublicNumbers" - " and will be removed in a future version. Please use " - "EllipticCurvePublicKey.public_bytes to obtain both " - "compressed and uncompressed point encoding.", - utils.PersistentlyDeprecated2019, - stacklevel=2, - ) + warnings.warn( + "encode_point has been deprecated on EllipticCurvePublicNumbers" + " and will be removed in a future version. Please use " + "EllipticCurvePublicKey.public_bytes to obtain both " + "compressed and uncompressed point encoding.", + utils.PersistentlyDeprecated2019, + stacklevel=2, + ) # key_size is in bits. Convert to bytes and round up byte_length = (self.curve.key_size + 7) // 8 return ( - b"\x04" - + utils.int_to_bytes(self.x, byte_length) - + utils.int_to_bytes(self.y, byte_length) + b"\x04" + + utils.int_to_bytes(self.x, byte_length) + + utils.int_to_bytes(self.y, byte_length) ) @classmethod @@ -380,25 +380,25 @@ class EllipticCurvePublicNumbers(object): if not isinstance(curve, EllipticCurve): raise TypeError("curve must be an EllipticCurve instance") - warnings.warn( - "Support for unsafe construction of public numbers from " - "encoded data will be removed in a future version. " - "Please use EllipticCurvePublicKey.from_encoded_point", - utils.PersistentlyDeprecated2019, - stacklevel=2, - ) - - if data.startswith(b"\x04"): + warnings.warn( + "Support for unsafe construction of public numbers from " + "encoded data will be removed in a future version. " + "Please use EllipticCurvePublicKey.from_encoded_point", + utils.PersistentlyDeprecated2019, + stacklevel=2, + ) + + if data.startswith(b"\x04"): # key_size is in bits. Convert to bytes and round up byte_length = (curve.key_size + 7) // 8 if len(data) == 2 * byte_length + 1: - x = utils.int_from_bytes(data[1 : byte_length + 1], "big") - y = utils.int_from_bytes(data[byte_length + 1 :], "big") + x = utils.int_from_bytes(data[1 : byte_length + 1], "big") + y = utils.int_from_bytes(data[byte_length + 1 :], "big") return cls(x, y, curve) else: - raise ValueError("Invalid elliptic curve point data length") + raise ValueError("Invalid elliptic curve point data length") else: - raise ValueError("Unsupported elliptic curve point type") + raise ValueError("Unsupported elliptic curve point type") curve = utils.read_only_property("_curve") x = utils.read_only_property("_x") @@ -409,10 +409,10 @@ class EllipticCurvePublicNumbers(object): return NotImplemented return ( - self.x == other.x - and self.y == other.y - and self.curve.name == other.curve.name - and self.curve.key_size == other.curve.key_size + self.x == other.x + and self.y == other.y + and self.curve.name == other.curve.name + and self.curve.key_size == other.curve.key_size ) def __ne__(self, other): @@ -442,8 +442,8 @@ class EllipticCurvePrivateNumbers(object): self._private_value = private_value self._public_numbers = public_numbers - def private_key(self, backend=None): - backend = _get_backend(backend) + def private_key(self, backend=None): + backend = _get_backend(backend) return backend.load_elliptic_curve_private_numbers(self) private_value = utils.read_only_property("_private_value") @@ -454,8 +454,8 @@ class EllipticCurvePrivateNumbers(object): return NotImplemented return ( - self.private_value == other.private_value - and self.public_numbers == other.public_numbers + self.private_value == other.private_value + and self.public_numbers == other.public_numbers ) def __ne__(self, other): @@ -467,36 +467,36 @@ class EllipticCurvePrivateNumbers(object): class ECDH(object): pass - - -_OID_TO_CURVE = { - EllipticCurveOID.SECP192R1: SECP192R1, - EllipticCurveOID.SECP224R1: SECP224R1, - EllipticCurveOID.SECP256K1: SECP256K1, - EllipticCurveOID.SECP256R1: SECP256R1, - EllipticCurveOID.SECP384R1: SECP384R1, - EllipticCurveOID.SECP521R1: SECP521R1, - EllipticCurveOID.BRAINPOOLP256R1: BrainpoolP256R1, - EllipticCurveOID.BRAINPOOLP384R1: BrainpoolP384R1, - EllipticCurveOID.BRAINPOOLP512R1: BrainpoolP512R1, - EllipticCurveOID.SECT163K1: SECT163K1, - EllipticCurveOID.SECT163R2: SECT163R2, - EllipticCurveOID.SECT233K1: SECT233K1, - EllipticCurveOID.SECT233R1: SECT233R1, - EllipticCurveOID.SECT283K1: SECT283K1, - EllipticCurveOID.SECT283R1: SECT283R1, - EllipticCurveOID.SECT409K1: SECT409K1, - EllipticCurveOID.SECT409R1: SECT409R1, - EllipticCurveOID.SECT571K1: SECT571K1, - EllipticCurveOID.SECT571R1: SECT571R1, -} - - -def get_curve_for_oid(oid): - try: - return _OID_TO_CURVE[oid] - except KeyError: - raise LookupError( - "The provided object identifier has no matching elliptic " - "curve class" - ) + + +_OID_TO_CURVE = { + EllipticCurveOID.SECP192R1: SECP192R1, + EllipticCurveOID.SECP224R1: SECP224R1, + EllipticCurveOID.SECP256K1: SECP256K1, + EllipticCurveOID.SECP256R1: SECP256R1, + EllipticCurveOID.SECP384R1: SECP384R1, + EllipticCurveOID.SECP521R1: SECP521R1, + EllipticCurveOID.BRAINPOOLP256R1: BrainpoolP256R1, + EllipticCurveOID.BRAINPOOLP384R1: BrainpoolP384R1, + EllipticCurveOID.BRAINPOOLP512R1: BrainpoolP512R1, + EllipticCurveOID.SECT163K1: SECT163K1, + EllipticCurveOID.SECT163R2: SECT163R2, + EllipticCurveOID.SECT233K1: SECT233K1, + EllipticCurveOID.SECT233R1: SECT233R1, + EllipticCurveOID.SECT283K1: SECT283K1, + EllipticCurveOID.SECT283R1: SECT283R1, + EllipticCurveOID.SECT409K1: SECT409K1, + EllipticCurveOID.SECT409R1: SECT409R1, + EllipticCurveOID.SECT571K1: SECT571K1, + EllipticCurveOID.SECT571R1: SECT571R1, +} + + +def get_curve_for_oid(oid): + try: + return _OID_TO_CURVE[oid] + except KeyError: + raise LookupError( + "The provided object identifier has no matching elliptic " + "curve class" + ) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ed25519.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ed25519.py index abfe71f149..2d07a029bc 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ed25519.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ed25519.py @@ -1,87 +1,87 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import abc - -import six - -from cryptography.exceptions import UnsupportedAlgorithm, _Reasons - - -_ED25519_KEY_SIZE = 32 -_ED25519_SIG_SIZE = 64 - - -@six.add_metaclass(abc.ABCMeta) -class Ed25519PublicKey(object): - @classmethod - def from_public_bytes(cls, data): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.ed25519_supported(): - raise UnsupportedAlgorithm( - "ed25519 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, - ) - - return backend.ed25519_load_public_bytes(data) - - @abc.abstractmethod - def public_bytes(self, encoding, format): - """ - The serialized bytes of the public key. - """ - - @abc.abstractmethod - def verify(self, signature, data): - """ - Verify the signature. - """ - - -@six.add_metaclass(abc.ABCMeta) -class Ed25519PrivateKey(object): - @classmethod - def generate(cls): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.ed25519_supported(): - raise UnsupportedAlgorithm( - "ed25519 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, - ) - - return backend.ed25519_generate_key() - - @classmethod - def from_private_bytes(cls, data): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.ed25519_supported(): - raise UnsupportedAlgorithm( - "ed25519 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, - ) - - return backend.ed25519_load_private_bytes(data) - - @abc.abstractmethod - def public_key(self): - """ - The Ed25519PublicKey derived from the private key. - """ - - @abc.abstractmethod - def private_bytes(self, encoding, format, encryption_algorithm): - """ - The serialized bytes of the private key. - """ - - @abc.abstractmethod - def sign(self, data): - """ - Signs the data. - """ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import abc + +import six + +from cryptography.exceptions import UnsupportedAlgorithm, _Reasons + + +_ED25519_KEY_SIZE = 32 +_ED25519_SIG_SIZE = 64 + + +@six.add_metaclass(abc.ABCMeta) +class Ed25519PublicKey(object): + @classmethod + def from_public_bytes(cls, data): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.ed25519_supported(): + raise UnsupportedAlgorithm( + "ed25519 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, + ) + + return backend.ed25519_load_public_bytes(data) + + @abc.abstractmethod + def public_bytes(self, encoding, format): + """ + The serialized bytes of the public key. + """ + + @abc.abstractmethod + def verify(self, signature, data): + """ + Verify the signature. + """ + + +@six.add_metaclass(abc.ABCMeta) +class Ed25519PrivateKey(object): + @classmethod + def generate(cls): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.ed25519_supported(): + raise UnsupportedAlgorithm( + "ed25519 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, + ) + + return backend.ed25519_generate_key() + + @classmethod + def from_private_bytes(cls, data): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.ed25519_supported(): + raise UnsupportedAlgorithm( + "ed25519 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, + ) + + return backend.ed25519_load_private_bytes(data) + + @abc.abstractmethod + def public_key(self): + """ + The Ed25519PublicKey derived from the private key. + """ + + @abc.abstractmethod + def private_bytes(self, encoding, format, encryption_algorithm): + """ + The serialized bytes of the private key. + """ + + @abc.abstractmethod + def sign(self, data): + """ + Signs the data. + """ diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ed448.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ed448.py index 3ce4b09a1f..520ffcbcbc 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ed448.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/ed448.py @@ -1,82 +1,82 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import abc - -import six - -from cryptography.exceptions import UnsupportedAlgorithm, _Reasons - - -@six.add_metaclass(abc.ABCMeta) -class Ed448PublicKey(object): - @classmethod - def from_public_bytes(cls, data): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.ed448_supported(): - raise UnsupportedAlgorithm( - "ed448 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, - ) - - return backend.ed448_load_public_bytes(data) - - @abc.abstractmethod - def public_bytes(self, encoding, format): - """ - The serialized bytes of the public key. - """ - - @abc.abstractmethod - def verify(self, signature, data): - """ - Verify the signature. - """ - - -@six.add_metaclass(abc.ABCMeta) -class Ed448PrivateKey(object): - @classmethod - def generate(cls): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.ed448_supported(): - raise UnsupportedAlgorithm( - "ed448 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, - ) - return backend.ed448_generate_key() - - @classmethod - def from_private_bytes(cls, data): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.ed448_supported(): - raise UnsupportedAlgorithm( - "ed448 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, - ) - - return backend.ed448_load_private_bytes(data) - - @abc.abstractmethod - def public_key(self): - """ - The Ed448PublicKey derived from the private key. - """ - - @abc.abstractmethod - def sign(self, data): - """ - Signs the data. - """ - - @abc.abstractmethod - def private_bytes(self, encoding, format, encryption_algorithm): - """ - The serialized bytes of the private key. - """ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import abc + +import six + +from cryptography.exceptions import UnsupportedAlgorithm, _Reasons + + +@six.add_metaclass(abc.ABCMeta) +class Ed448PublicKey(object): + @classmethod + def from_public_bytes(cls, data): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.ed448_supported(): + raise UnsupportedAlgorithm( + "ed448 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, + ) + + return backend.ed448_load_public_bytes(data) + + @abc.abstractmethod + def public_bytes(self, encoding, format): + """ + The serialized bytes of the public key. + """ + + @abc.abstractmethod + def verify(self, signature, data): + """ + Verify the signature. + """ + + +@six.add_metaclass(abc.ABCMeta) +class Ed448PrivateKey(object): + @classmethod + def generate(cls): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.ed448_supported(): + raise UnsupportedAlgorithm( + "ed448 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, + ) + return backend.ed448_generate_key() + + @classmethod + def from_private_bytes(cls, data): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.ed448_supported(): + raise UnsupportedAlgorithm( + "ed448 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_PUBLIC_KEY_ALGORITHM, + ) + + return backend.ed448_load_private_bytes(data) + + @abc.abstractmethod + def public_key(self): + """ + The Ed448PublicKey derived from the private key. + """ + + @abc.abstractmethod + def sign(self, data): + """ + Signs the data. + """ + + @abc.abstractmethod + def private_bytes(self, encoding, format, encryption_algorithm): + """ + The serialized bytes of the private key. + """ diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/padding.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/padding.py index fd3c4bd49b..fc8f6e26a9 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/padding.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/padding.py @@ -35,10 +35,10 @@ class PSS(object): def __init__(self, mgf, salt_length): self._mgf = mgf - if ( - not isinstance(salt_length, six.integer_types) - and salt_length is not self.MAX_LENGTH - ): + if ( + not isinstance(salt_length, six.integer_types) + and salt_length is not self.MAX_LENGTH + ): raise TypeError("salt_length must be an integer.") if salt_length is not self.MAX_LENGTH and salt_length < 0: @@ -74,7 +74,7 @@ def calculate_max_pss_salt_length(key, hash_algorithm): if not isinstance(key, (rsa.RSAPrivateKey, rsa.RSAPublicKey)): raise TypeError("key must be an RSA public or private key") # bit length - 1 per RFC 3447 - emlen = (key.key_size + 6) // 8 + emlen = (key.key_size + 6) // 8 salt_length = emlen - hash_algorithm.digest_size - 2 assert salt_length >= 0 return salt_length diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/rsa.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/rsa.py index df86a6b737..ea16bbf66e 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/rsa.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/rsa.py @@ -5,18 +5,18 @@ from __future__ import absolute_import, division, print_function import abc - -try: - # Only available in math in 3.5+ - from math import gcd -except ImportError: - from fractions import gcd + +try: + # Only available in math in 3.5+ + from math import gcd +except ImportError: + from fractions import gcd import six from cryptography import utils from cryptography.exceptions import UnsupportedAlgorithm, _Reasons -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import RSABackend @@ -106,22 +106,22 @@ class RSAPublicKey(object): Verifies the signature of the data. """ - @abc.abstractmethod - def recover_data_from_signature(self, signature, padding, algorithm): - """ - Recovers the original data from the signature. - """ + @abc.abstractmethod + def recover_data_from_signature(self, signature, padding, algorithm): + """ + Recovers the original data from the signature. + """ + - RSAPublicKeyWithSerialization = RSAPublicKey -def generate_private_key(public_exponent, key_size, backend=None): - backend = _get_backend(backend) +def generate_private_key(public_exponent, key_size, backend=None): + backend = _get_backend(backend) if not isinstance(backend, RSABackend): raise UnsupportedAlgorithm( "Backend object does not implement RSABackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) _verify_rsa_parameters(public_exponent, key_size) @@ -129,19 +129,19 @@ def generate_private_key(public_exponent, key_size, backend=None): def _verify_rsa_parameters(public_exponent, key_size): - if public_exponent not in (3, 65537): - raise ValueError( - "public_exponent must be either 3 (for legacy compatibility) or " - "65537. Almost everyone should choose 65537 here!" - ) + if public_exponent not in (3, 65537): + raise ValueError( + "public_exponent must be either 3 (for legacy compatibility) or " + "65537. Almost everyone should choose 65537 here!" + ) if key_size < 512: raise ValueError("key_size must be at least 512-bits.") -def _check_private_key_components( - p, q, private_exponent, dmp1, dmq1, iqmp, public_exponent, modulus -): +def _check_private_key_components( + p, q, private_exponent, dmp1, dmq1, iqmp, public_exponent, modulus +): if modulus < 3: raise ValueError("modulus must be >= 3.") @@ -194,12 +194,12 @@ def _modinv(e, m): """ Modular Multiplicative Inverse. Returns x such that: (x*e) mod m == 1 """ - x1, x2 = 1, 0 + x1, x2 = 1, 0 a, b = e, m while b > 0: q, r = divmod(a, b) - xn = x1 - q * x2 - a, b, x1, x2 = b, r, x2, xn + xn = x1 - q * x2 + a, b, x1, x2 = b, r, x2, xn return x1 % m @@ -276,14 +276,14 @@ def rsa_recover_prime_factors(n, e, d): class RSAPrivateNumbers(object): - def __init__(self, p, q, d, dmp1, dmq1, iqmp, public_numbers): + def __init__(self, p, q, d, dmp1, dmq1, iqmp, public_numbers): if ( - not isinstance(p, six.integer_types) - or not isinstance(q, six.integer_types) - or not isinstance(d, six.integer_types) - or not isinstance(dmp1, six.integer_types) - or not isinstance(dmq1, six.integer_types) - or not isinstance(iqmp, six.integer_types) + not isinstance(p, six.integer_types) + or not isinstance(q, six.integer_types) + or not isinstance(d, six.integer_types) + or not isinstance(dmp1, six.integer_types) + or not isinstance(dmq1, six.integer_types) + or not isinstance(iqmp, six.integer_types) ): raise TypeError( "RSAPrivateNumbers p, q, d, dmp1, dmq1, iqmp arguments must" @@ -312,8 +312,8 @@ class RSAPrivateNumbers(object): iqmp = utils.read_only_property("_iqmp") public_numbers = utils.read_only_property("_public_numbers") - def private_key(self, backend=None): - backend = _get_backend(backend) + def private_key(self, backend=None): + backend = _get_backend(backend) return backend.load_rsa_private_numbers(self) def __eq__(self, other): @@ -321,36 +321,36 @@ class RSAPrivateNumbers(object): return NotImplemented return ( - self.p == other.p - and self.q == other.q - and self.d == other.d - and self.dmp1 == other.dmp1 - and self.dmq1 == other.dmq1 - and self.iqmp == other.iqmp - and self.public_numbers == other.public_numbers + self.p == other.p + and self.q == other.q + and self.d == other.d + and self.dmp1 == other.dmp1 + and self.dmq1 == other.dmq1 + and self.iqmp == other.iqmp + and self.public_numbers == other.public_numbers ) def __ne__(self, other): return not self == other def __hash__(self): - return hash( - ( - self.p, - self.q, - self.d, - self.dmp1, - self.dmq1, - self.iqmp, - self.public_numbers, - ) - ) + return hash( + ( + self.p, + self.q, + self.d, + self.dmp1, + self.dmq1, + self.iqmp, + self.public_numbers, + ) + ) class RSAPublicNumbers(object): def __init__(self, e, n): - if not isinstance(e, six.integer_types) or not isinstance( - n, six.integer_types + if not isinstance(e, six.integer_types) or not isinstance( + n, six.integer_types ): raise TypeError("RSAPublicNumbers arguments must be integers.") @@ -360,8 +360,8 @@ class RSAPublicNumbers(object): e = utils.read_only_property("_e") n = utils.read_only_property("_n") - def public_key(self, backend=None): - backend = _get_backend(backend) + def public_key(self, backend=None): + backend = _get_backend(backend) return backend.load_rsa_public_numbers(self) def __repr__(self): diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/utils.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/utils.py index 153c8ac1a0..5f9b677868 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/utils.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/utils.py @@ -5,29 +5,29 @@ from __future__ import absolute_import, division, print_function from cryptography import utils -from cryptography.hazmat._der import ( - DERReader, - INTEGER, - SEQUENCE, - encode_der, - encode_der_integer, -) +from cryptography.hazmat._der import ( + DERReader, + INTEGER, + SEQUENCE, + encode_der, + encode_der_integer, +) from cryptography.hazmat.primitives import hashes def decode_dss_signature(signature): - with DERReader(signature).read_single_element(SEQUENCE) as seq: - r = seq.read_element(INTEGER).as_integer() - s = seq.read_element(INTEGER).as_integer() - return r, s + with DERReader(signature).read_single_element(SEQUENCE) as seq: + r = seq.read_element(INTEGER).as_integer() + s = seq.read_element(INTEGER).as_integer() + return r, s def encode_dss_signature(r, s): - return encode_der( - SEQUENCE, - encode_der(INTEGER, encode_der_integer(r)), - encode_der(INTEGER, encode_der_integer(s)), - ) + return encode_der( + SEQUENCE, + encode_der(INTEGER, encode_der_integer(r)), + encode_der(INTEGER, encode_der_integer(s)), + ) class Prehashed(object): diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/x25519.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/x25519.py index ea3e98a291..fc63691536 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/x25519.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/x25519.py @@ -1,76 +1,76 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import abc - -import six - -from cryptography.exceptions import UnsupportedAlgorithm, _Reasons - - -@six.add_metaclass(abc.ABCMeta) -class X25519PublicKey(object): - @classmethod - def from_public_bytes(cls, data): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.x25519_supported(): - raise UnsupportedAlgorithm( - "X25519 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, - ) - - return backend.x25519_load_public_bytes(data) - - @abc.abstractmethod - def public_bytes(self, encoding, format): - """ - The serialized bytes of the public key. - """ - - -@six.add_metaclass(abc.ABCMeta) -class X25519PrivateKey(object): - @classmethod - def generate(cls): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.x25519_supported(): - raise UnsupportedAlgorithm( - "X25519 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, - ) - return backend.x25519_generate_key() - - @classmethod - def from_private_bytes(cls, data): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.x25519_supported(): - raise UnsupportedAlgorithm( - "X25519 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, - ) - - return backend.x25519_load_private_bytes(data) - - @abc.abstractmethod - def public_key(self): - """ - The serialized bytes of the public key. - """ - - @abc.abstractmethod - def private_bytes(self, encoding, format, encryption_algorithm): - """ - The serialized bytes of the private key. - """ - - @abc.abstractmethod - def exchange(self, peer_public_key): - """ - Performs a key exchange operation using the provided peer's public key. - """ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import abc + +import six + +from cryptography.exceptions import UnsupportedAlgorithm, _Reasons + + +@six.add_metaclass(abc.ABCMeta) +class X25519PublicKey(object): + @classmethod + def from_public_bytes(cls, data): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.x25519_supported(): + raise UnsupportedAlgorithm( + "X25519 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, + ) + + return backend.x25519_load_public_bytes(data) + + @abc.abstractmethod + def public_bytes(self, encoding, format): + """ + The serialized bytes of the public key. + """ + + +@six.add_metaclass(abc.ABCMeta) +class X25519PrivateKey(object): + @classmethod + def generate(cls): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.x25519_supported(): + raise UnsupportedAlgorithm( + "X25519 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, + ) + return backend.x25519_generate_key() + + @classmethod + def from_private_bytes(cls, data): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.x25519_supported(): + raise UnsupportedAlgorithm( + "X25519 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, + ) + + return backend.x25519_load_private_bytes(data) + + @abc.abstractmethod + def public_key(self): + """ + The serialized bytes of the public key. + """ + + @abc.abstractmethod + def private_bytes(self, encoding, format, encryption_algorithm): + """ + The serialized bytes of the private key. + """ + + @abc.abstractmethod + def exchange(self, peer_public_key): + """ + Performs a key exchange operation using the provided peer's public key. + """ diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/x448.py b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/x448.py index 3a85fff56f..3ac067bfd5 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/x448.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/asymmetric/x448.py @@ -1,76 +1,76 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import abc - -import six - -from cryptography.exceptions import UnsupportedAlgorithm, _Reasons - - -@six.add_metaclass(abc.ABCMeta) -class X448PublicKey(object): - @classmethod - def from_public_bytes(cls, data): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.x448_supported(): - raise UnsupportedAlgorithm( - "X448 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, - ) - - return backend.x448_load_public_bytes(data) - - @abc.abstractmethod - def public_bytes(self, encoding, format): - """ - The serialized bytes of the public key. - """ - - -@six.add_metaclass(abc.ABCMeta) -class X448PrivateKey(object): - @classmethod - def generate(cls): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.x448_supported(): - raise UnsupportedAlgorithm( - "X448 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, - ) - return backend.x448_generate_key() - - @classmethod - def from_private_bytes(cls, data): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.x448_supported(): - raise UnsupportedAlgorithm( - "X448 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, - ) - - return backend.x448_load_private_bytes(data) - - @abc.abstractmethod - def public_key(self): - """ - The serialized bytes of the public key. - """ - - @abc.abstractmethod - def private_bytes(self, encoding, format, encryption_algorithm): - """ - The serialized bytes of the private key. - """ - - @abc.abstractmethod - def exchange(self, peer_public_key): - """ - Performs a key exchange operation using the provided peer's public key. - """ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import abc + +import six + +from cryptography.exceptions import UnsupportedAlgorithm, _Reasons + + +@six.add_metaclass(abc.ABCMeta) +class X448PublicKey(object): + @classmethod + def from_public_bytes(cls, data): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.x448_supported(): + raise UnsupportedAlgorithm( + "X448 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, + ) + + return backend.x448_load_public_bytes(data) + + @abc.abstractmethod + def public_bytes(self, encoding, format): + """ + The serialized bytes of the public key. + """ + + +@six.add_metaclass(abc.ABCMeta) +class X448PrivateKey(object): + @classmethod + def generate(cls): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.x448_supported(): + raise UnsupportedAlgorithm( + "X448 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, + ) + return backend.x448_generate_key() + + @classmethod + def from_private_bytes(cls, data): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.x448_supported(): + raise UnsupportedAlgorithm( + "X448 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_EXCHANGE_ALGORITHM, + ) + + return backend.x448_load_private_bytes(data) + + @abc.abstractmethod + def public_key(self): + """ + The serialized bytes of the public key. + """ + + @abc.abstractmethod + def private_bytes(self, encoding, format, encryption_algorithm): + """ + The serialized bytes of the private key. + """ + + @abc.abstractmethod + def exchange(self, peer_public_key): + """ + Performs a key exchange operation using the provided peer's public key. + """ diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/__init__.py b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/__init__.py index 904ab6012a..4380f72b2e 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/__init__.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/__init__.py @@ -5,13 +5,13 @@ from __future__ import absolute_import, division, print_function from cryptography.hazmat.primitives.ciphers.base import ( - AEADCipherContext, - AEADDecryptionContext, - AEADEncryptionContext, - BlockCipherAlgorithm, - Cipher, - CipherAlgorithm, - CipherContext, + AEADCipherContext, + AEADDecryptionContext, + AEADEncryptionContext, + BlockCipherAlgorithm, + Cipher, + CipherAlgorithm, + CipherContext, ) @@ -21,6 +21,6 @@ __all__ = [ "BlockCipherAlgorithm", "CipherContext", "AEADCipherContext", - "AEADDecryptionContext", + "AEADDecryptionContext", "AEADEncryptionContext", ] diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/aead.py b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/aead.py index 4ae3dcc8f8..c8c93955ce 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/aead.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/aead.py @@ -1,174 +1,174 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import os - -from cryptography import exceptions, utils -from cryptography.hazmat.backends.openssl import aead -from cryptography.hazmat.backends.openssl.backend import backend - - -class ChaCha20Poly1305(object): - _MAX_SIZE = 2 ** 32 - - def __init__(self, key): - if not backend.aead_cipher_supported(self): - raise exceptions.UnsupportedAlgorithm( - "ChaCha20Poly1305 is not supported by this version of OpenSSL", - exceptions._Reasons.UNSUPPORTED_CIPHER, - ) - utils._check_byteslike("key", key) - - if len(key) != 32: - raise ValueError("ChaCha20Poly1305 key must be 32 bytes.") - - self._key = key - - @classmethod - def generate_key(cls): - return os.urandom(32) - - def encrypt(self, nonce, data, associated_data): - if associated_data is None: - associated_data = b"" - - if len(data) > self._MAX_SIZE or len(associated_data) > self._MAX_SIZE: - # This is OverflowError to match what cffi would raise - raise OverflowError( - "Data or associated data too long. Max 2**32 bytes" - ) - - self._check_params(nonce, data, associated_data) - return aead._encrypt(backend, self, nonce, data, associated_data, 16) - - def decrypt(self, nonce, data, associated_data): - if associated_data is None: - associated_data = b"" - - self._check_params(nonce, data, associated_data) - return aead._decrypt(backend, self, nonce, data, associated_data, 16) - - def _check_params(self, nonce, data, associated_data): - utils._check_byteslike("nonce", nonce) - utils._check_bytes("data", data) - utils._check_bytes("associated_data", associated_data) - if len(nonce) != 12: - raise ValueError("Nonce must be 12 bytes") - - -class AESCCM(object): - _MAX_SIZE = 2 ** 32 - - def __init__(self, key, tag_length=16): - utils._check_byteslike("key", key) - if len(key) not in (16, 24, 32): - raise ValueError("AESCCM key must be 128, 192, or 256 bits.") - - self._key = key - if not isinstance(tag_length, int): - raise TypeError("tag_length must be an integer") - - if tag_length not in (4, 6, 8, 10, 12, 14, 16): - raise ValueError("Invalid tag_length") - - self._tag_length = tag_length - - @classmethod - def generate_key(cls, bit_length): - if not isinstance(bit_length, int): - raise TypeError("bit_length must be an integer") - - if bit_length not in (128, 192, 256): - raise ValueError("bit_length must be 128, 192, or 256") - - return os.urandom(bit_length // 8) - - def encrypt(self, nonce, data, associated_data): - if associated_data is None: - associated_data = b"" - - if len(data) > self._MAX_SIZE or len(associated_data) > self._MAX_SIZE: - # This is OverflowError to match what cffi would raise - raise OverflowError( - "Data or associated data too long. Max 2**32 bytes" - ) - - self._check_params(nonce, data, associated_data) - self._validate_lengths(nonce, len(data)) - return aead._encrypt( - backend, self, nonce, data, associated_data, self._tag_length - ) - - def decrypt(self, nonce, data, associated_data): - if associated_data is None: - associated_data = b"" - - self._check_params(nonce, data, associated_data) - return aead._decrypt( - backend, self, nonce, data, associated_data, self._tag_length - ) - - def _validate_lengths(self, nonce, data_len): - # For information about computing this, see - # https://tools.ietf.org/html/rfc3610#section-2.1 - l_val = 15 - len(nonce) - if 2 ** (8 * l_val) < data_len: - raise ValueError("Data too long for nonce") - - def _check_params(self, nonce, data, associated_data): - utils._check_byteslike("nonce", nonce) - utils._check_bytes("data", data) - utils._check_bytes("associated_data", associated_data) - if not 7 <= len(nonce) <= 13: - raise ValueError("Nonce must be between 7 and 13 bytes") - - -class AESGCM(object): - _MAX_SIZE = 2 ** 32 - - def __init__(self, key): - utils._check_byteslike("key", key) - if len(key) not in (16, 24, 32): - raise ValueError("AESGCM key must be 128, 192, or 256 bits.") - - self._key = key - - @classmethod - def generate_key(cls, bit_length): - if not isinstance(bit_length, int): - raise TypeError("bit_length must be an integer") - - if bit_length not in (128, 192, 256): - raise ValueError("bit_length must be 128, 192, or 256") - - return os.urandom(bit_length // 8) - - def encrypt(self, nonce, data, associated_data): - if associated_data is None: - associated_data = b"" - - if len(data) > self._MAX_SIZE or len(associated_data) > self._MAX_SIZE: - # This is OverflowError to match what cffi would raise - raise OverflowError( - "Data or associated data too long. Max 2**32 bytes" - ) - - self._check_params(nonce, data, associated_data) - return aead._encrypt(backend, self, nonce, data, associated_data, 16) - - def decrypt(self, nonce, data, associated_data): - if associated_data is None: - associated_data = b"" - - self._check_params(nonce, data, associated_data) - return aead._decrypt(backend, self, nonce, data, associated_data, 16) - - def _check_params(self, nonce, data, associated_data): - utils._check_byteslike("nonce", nonce) - utils._check_bytes("data", data) - utils._check_bytes("associated_data", associated_data) - if len(nonce) < 8 or len(nonce) > 128: - raise ValueError("Nonce must be between 8 and 128 bytes") +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import os + +from cryptography import exceptions, utils +from cryptography.hazmat.backends.openssl import aead +from cryptography.hazmat.backends.openssl.backend import backend + + +class ChaCha20Poly1305(object): + _MAX_SIZE = 2 ** 32 + + def __init__(self, key): + if not backend.aead_cipher_supported(self): + raise exceptions.UnsupportedAlgorithm( + "ChaCha20Poly1305 is not supported by this version of OpenSSL", + exceptions._Reasons.UNSUPPORTED_CIPHER, + ) + utils._check_byteslike("key", key) + + if len(key) != 32: + raise ValueError("ChaCha20Poly1305 key must be 32 bytes.") + + self._key = key + + @classmethod + def generate_key(cls): + return os.urandom(32) + + def encrypt(self, nonce, data, associated_data): + if associated_data is None: + associated_data = b"" + + if len(data) > self._MAX_SIZE or len(associated_data) > self._MAX_SIZE: + # This is OverflowError to match what cffi would raise + raise OverflowError( + "Data or associated data too long. Max 2**32 bytes" + ) + + self._check_params(nonce, data, associated_data) + return aead._encrypt(backend, self, nonce, data, associated_data, 16) + + def decrypt(self, nonce, data, associated_data): + if associated_data is None: + associated_data = b"" + + self._check_params(nonce, data, associated_data) + return aead._decrypt(backend, self, nonce, data, associated_data, 16) + + def _check_params(self, nonce, data, associated_data): + utils._check_byteslike("nonce", nonce) + utils._check_bytes("data", data) + utils._check_bytes("associated_data", associated_data) + if len(nonce) != 12: + raise ValueError("Nonce must be 12 bytes") + + +class AESCCM(object): + _MAX_SIZE = 2 ** 32 + + def __init__(self, key, tag_length=16): + utils._check_byteslike("key", key) + if len(key) not in (16, 24, 32): + raise ValueError("AESCCM key must be 128, 192, or 256 bits.") + + self._key = key + if not isinstance(tag_length, int): + raise TypeError("tag_length must be an integer") + + if tag_length not in (4, 6, 8, 10, 12, 14, 16): + raise ValueError("Invalid tag_length") + + self._tag_length = tag_length + + @classmethod + def generate_key(cls, bit_length): + if not isinstance(bit_length, int): + raise TypeError("bit_length must be an integer") + + if bit_length not in (128, 192, 256): + raise ValueError("bit_length must be 128, 192, or 256") + + return os.urandom(bit_length // 8) + + def encrypt(self, nonce, data, associated_data): + if associated_data is None: + associated_data = b"" + + if len(data) > self._MAX_SIZE or len(associated_data) > self._MAX_SIZE: + # This is OverflowError to match what cffi would raise + raise OverflowError( + "Data or associated data too long. Max 2**32 bytes" + ) + + self._check_params(nonce, data, associated_data) + self._validate_lengths(nonce, len(data)) + return aead._encrypt( + backend, self, nonce, data, associated_data, self._tag_length + ) + + def decrypt(self, nonce, data, associated_data): + if associated_data is None: + associated_data = b"" + + self._check_params(nonce, data, associated_data) + return aead._decrypt( + backend, self, nonce, data, associated_data, self._tag_length + ) + + def _validate_lengths(self, nonce, data_len): + # For information about computing this, see + # https://tools.ietf.org/html/rfc3610#section-2.1 + l_val = 15 - len(nonce) + if 2 ** (8 * l_val) < data_len: + raise ValueError("Data too long for nonce") + + def _check_params(self, nonce, data, associated_data): + utils._check_byteslike("nonce", nonce) + utils._check_bytes("data", data) + utils._check_bytes("associated_data", associated_data) + if not 7 <= len(nonce) <= 13: + raise ValueError("Nonce must be between 7 and 13 bytes") + + +class AESGCM(object): + _MAX_SIZE = 2 ** 32 + + def __init__(self, key): + utils._check_byteslike("key", key) + if len(key) not in (16, 24, 32): + raise ValueError("AESGCM key must be 128, 192, or 256 bits.") + + self._key = key + + @classmethod + def generate_key(cls, bit_length): + if not isinstance(bit_length, int): + raise TypeError("bit_length must be an integer") + + if bit_length not in (128, 192, 256): + raise ValueError("bit_length must be 128, 192, or 256") + + return os.urandom(bit_length // 8) + + def encrypt(self, nonce, data, associated_data): + if associated_data is None: + associated_data = b"" + + if len(data) > self._MAX_SIZE or len(associated_data) > self._MAX_SIZE: + # This is OverflowError to match what cffi would raise + raise OverflowError( + "Data or associated data too long. Max 2**32 bytes" + ) + + self._check_params(nonce, data, associated_data) + return aead._encrypt(backend, self, nonce, data, associated_data, 16) + + def decrypt(self, nonce, data, associated_data): + if associated_data is None: + associated_data = b"" + + self._check_params(nonce, data, associated_data) + return aead._decrypt(backend, self, nonce, data, associated_data, 16) + + def _check_params(self, nonce, data, associated_data): + utils._check_byteslike("nonce", nonce) + utils._check_bytes("data", data) + utils._check_bytes("associated_data", associated_data) + if len(nonce) < 8 or len(nonce) > 128: + raise ValueError("Nonce must be between 8 and 128 bytes") diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/algorithms.py b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/algorithms.py index e0e3472406..8072cedd17 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/algorithms.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/algorithms.py @@ -6,23 +6,23 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.hazmat.primitives.ciphers import ( - BlockCipherAlgorithm, - CipherAlgorithm, + BlockCipherAlgorithm, + CipherAlgorithm, ) -from cryptography.hazmat.primitives.ciphers.modes import ModeWithNonce +from cryptography.hazmat.primitives.ciphers.modes import ModeWithNonce def _verify_key_size(algorithm, key): - # Verify that the key is instance of bytes - utils._check_byteslike("key", key) - + # Verify that the key is instance of bytes + utils._check_byteslike("key", key) + # Verify that the key size matches the expected key size if len(key) * 8 not in algorithm.key_sizes: - raise ValueError( - "Invalid key size ({}) for {}.".format( - len(key) * 8, algorithm.name - ) - ) + raise ValueError( + "Invalid key size ({}) for {}.".format( + len(key) * 8, algorithm.name + ) + ) return key @@ -31,8 +31,8 @@ def _verify_key_size(algorithm, key): class AES(object): name = "AES" block_size = 128 - # 512 added to support AES-256-XTS, which uses 512-bit keys - key_sizes = frozenset([128, 192, 256, 512]) + # 512 added to support AES-256-XTS, which uses 512-bit keys + key_sizes = frozenset([128, 192, 256, 512]) def __init__(self, key): self.key = _verify_key_size(self, key) @@ -146,25 +146,25 @@ class SEED(object): @property def key_size(self): return len(self.key) * 8 - - -@utils.register_interface(CipherAlgorithm) -@utils.register_interface(ModeWithNonce) -class ChaCha20(object): - name = "ChaCha20" - key_sizes = frozenset([256]) - - def __init__(self, key, nonce): - self.key = _verify_key_size(self, key) - utils._check_byteslike("nonce", nonce) - - if len(nonce) != 16: - raise ValueError("nonce must be 128-bits (16 bytes)") - - self._nonce = nonce - - nonce = utils.read_only_property("_nonce") - - @property - def key_size(self): - return len(self.key) * 8 + + +@utils.register_interface(CipherAlgorithm) +@utils.register_interface(ModeWithNonce) +class ChaCha20(object): + name = "ChaCha20" + key_sizes = frozenset([256]) + + def __init__(self, key, nonce): + self.key = _verify_key_size(self, key) + utils._check_byteslike("nonce", nonce) + + if len(nonce) != 16: + raise ValueError("nonce must be 128-bits (16 bytes)") + + self._nonce = nonce + + nonce = utils.read_only_property("_nonce") + + @property + def key_size(self): + return len(self.key) * 8 diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/base.py b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/base.py index 034e437141..dae425a299 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/base.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/base.py @@ -10,13 +10,13 @@ import six from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - AlreadyUpdated, - NotYetFinalized, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + AlreadyUpdated, + NotYetFinalized, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import CipherBackend from cryptography.hazmat.primitives.ciphers import modes @@ -55,13 +55,13 @@ class CipherContext(object): """ @abc.abstractmethod - def update_into(self, data, buf): - """ - Processes the provided bytes and writes the resulting data into the - provided buffer. Returns the number of bytes written. - """ - - @abc.abstractmethod + def update_into(self, data, buf): + """ + Processes the provided bytes and writes the resulting data into the + provided buffer. Returns the number of bytes written. + """ + + @abc.abstractmethod def finalize(self): """ Returns the results of processing the final block as bytes. @@ -78,16 +78,16 @@ class AEADCipherContext(object): @six.add_metaclass(abc.ABCMeta) -class AEADDecryptionContext(object): - @abc.abstractmethod - def finalize_with_tag(self, tag): - """ - Returns the results of processing the final block as bytes and allows - delayed passing of the authentication tag. - """ - - -@six.add_metaclass(abc.ABCMeta) +class AEADDecryptionContext(object): + @abc.abstractmethod + def finalize_with_tag(self, tag): + """ + Returns the results of processing the final block as bytes and allows + delayed passing of the authentication tag. + """ + + +@six.add_metaclass(abc.ABCMeta) class AEADEncryptionContext(object): @abc.abstractproperty def tag(self): @@ -98,12 +98,12 @@ class AEADEncryptionContext(object): class Cipher(object): - def __init__(self, algorithm, mode, backend=None): - backend = _get_backend(backend) + def __init__(self, algorithm, mode, backend=None): + backend = _get_backend(backend) if not isinstance(backend, CipherBackend): raise UnsupportedAlgorithm( "Backend object does not implement CipherBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) if not isinstance(algorithm, CipherAlgorithm): @@ -153,11 +153,11 @@ class _CipherContext(object): raise AlreadyFinalized("Context was already finalized.") return self._ctx.update(data) - def update_into(self, data, buf): - if self._ctx is None: - raise AlreadyFinalized("Context was already finalized.") - return self._ctx.update_into(data, buf) - + def update_into(self, data, buf): + if self._ctx is None: + raise AlreadyFinalized("Context was already finalized.") + return self._ctx.update_into(data, buf) + def finalize(self): if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") @@ -168,7 +168,7 @@ class _CipherContext(object): @utils.register_interface(AEADCipherContext) @utils.register_interface(CipherContext) -@utils.register_interface(AEADDecryptionContext) +@utils.register_interface(AEADDecryptionContext) class _AEADCipherContext(object): def __init__(self, ctx): self._ctx = ctx @@ -177,26 +177,26 @@ class _AEADCipherContext(object): self._tag = None self._updated = False - def _check_limit(self, data_size): + def _check_limit(self, data_size): if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") self._updated = True - self._bytes_processed += data_size + self._bytes_processed += data_size if self._bytes_processed > self._ctx._mode._MAX_ENCRYPTED_BYTES: raise ValueError( - "{} has a maximum encrypted byte limit of {}".format( + "{} has a maximum encrypted byte limit of {}".format( self._ctx._mode.name, self._ctx._mode._MAX_ENCRYPTED_BYTES ) ) - def update(self, data): - self._check_limit(len(data)) + def update(self, data): + self._check_limit(len(data)) return self._ctx.update(data) - def update_into(self, data, buf): - self._check_limit(len(data)) - return self._ctx.update_into(data, buf) - + def update_into(self, data, buf): + self._check_limit(len(data)) + return self._ctx.update_into(data, buf) + def finalize(self): if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") @@ -205,14 +205,14 @@ class _AEADCipherContext(object): self._ctx = None return data - def finalize_with_tag(self, tag): - if self._ctx is None: - raise AlreadyFinalized("Context was already finalized.") - data = self._ctx.finalize_with_tag(tag) - self._tag = self._ctx.tag - self._ctx = None - return data - + def finalize_with_tag(self, tag): + if self._ctx is None: + raise AlreadyFinalized("Context was already finalized.") + data = self._ctx.finalize_with_tag(tag) + self._tag = self._ctx.tag + self._ctx = None + return data + def authenticate_additional_data(self, data): if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") @@ -222,7 +222,7 @@ class _AEADCipherContext(object): self._aad_bytes_processed += len(data) if self._aad_bytes_processed > self._ctx._mode._MAX_AAD_BYTES: raise ValueError( - "{} has a maximum AAD byte limit of {}".format( + "{} has a maximum AAD byte limit of {}".format( self._ctx._mode.name, self._ctx._mode._MAX_AAD_BYTES ) ) @@ -235,7 +235,7 @@ class _AEADEncryptionContext(_AEADCipherContext): @property def tag(self): if self._ctx is not None: - raise NotYetFinalized( - "You must finalize encryption before " "getting the tag." - ) + raise NotYetFinalized( + "You must finalize encryption before " "getting the tag." + ) return self._tag diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/modes.py b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/modes.py index 49b939ad85..0ba0f2b5a1 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/modes.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/ciphers/modes.py @@ -37,15 +37,15 @@ class ModeWithInitializationVector(object): @six.add_metaclass(abc.ABCMeta) -class ModeWithTweak(object): - @abc.abstractproperty - def tweak(self): - """ - The value of the tweak for this mode as bytes. - """ - - -@six.add_metaclass(abc.ABCMeta) +class ModeWithTweak(object): + @abc.abstractproperty + def tweak(self): + """ + The value of the tweak for this mode as bytes. + """ + + +@six.add_metaclass(abc.ABCMeta) class ModeWithNonce(object): @abc.abstractproperty def nonce(self): @@ -63,68 +63,68 @@ class ModeWithAuthenticationTag(object): """ -def _check_aes_key_length(self, algorithm): - if algorithm.key_size > 256 and algorithm.name == "AES": - raise ValueError( - "Only 128, 192, and 256 bit keys are allowed for this AES mode" - ) - - +def _check_aes_key_length(self, algorithm): + if algorithm.key_size > 256 and algorithm.name == "AES": + raise ValueError( + "Only 128, 192, and 256 bit keys are allowed for this AES mode" + ) + + def _check_iv_length(self, algorithm): if len(self.initialization_vector) * 8 != algorithm.block_size: - raise ValueError( - "Invalid IV size ({}) for {}.".format( - len(self.initialization_vector), self.name - ) - ) - - -def _check_iv_and_key_length(self, algorithm): - _check_aes_key_length(self, algorithm) - _check_iv_length(self, algorithm) - - + raise ValueError( + "Invalid IV size ({}) for {}.".format( + len(self.initialization_vector), self.name + ) + ) + + +def _check_iv_and_key_length(self, algorithm): + _check_aes_key_length(self, algorithm) + _check_iv_length(self, algorithm) + + @utils.register_interface(Mode) @utils.register_interface(ModeWithInitializationVector) class CBC(object): name = "CBC" def __init__(self, initialization_vector): - utils._check_byteslike("initialization_vector", initialization_vector) + utils._check_byteslike("initialization_vector", initialization_vector) self._initialization_vector = initialization_vector initialization_vector = utils.read_only_property("_initialization_vector") - validate_for_algorithm = _check_iv_and_key_length + validate_for_algorithm = _check_iv_and_key_length + + +@utils.register_interface(Mode) +@utils.register_interface(ModeWithTweak) +class XTS(object): + name = "XTS" + + def __init__(self, tweak): + utils._check_byteslike("tweak", tweak) + + if len(tweak) != 16: + raise ValueError("tweak must be 128-bits (16 bytes)") + + self._tweak = tweak + + tweak = utils.read_only_property("_tweak") + + def validate_for_algorithm(self, algorithm): + if algorithm.key_size not in (256, 512): + raise ValueError( + "The XTS specification requires a 256-bit key for AES-128-XTS" + " and 512-bit key for AES-256-XTS" + ) @utils.register_interface(Mode) -@utils.register_interface(ModeWithTweak) -class XTS(object): - name = "XTS" - - def __init__(self, tweak): - utils._check_byteslike("tweak", tweak) - - if len(tweak) != 16: - raise ValueError("tweak must be 128-bits (16 bytes)") - - self._tweak = tweak - - tweak = utils.read_only_property("_tweak") - - def validate_for_algorithm(self, algorithm): - if algorithm.key_size not in (256, 512): - raise ValueError( - "The XTS specification requires a 256-bit key for AES-128-XTS" - " and 512-bit key for AES-256-XTS" - ) - - -@utils.register_interface(Mode) class ECB(object): name = "ECB" - validate_for_algorithm = _check_aes_key_length + validate_for_algorithm = _check_aes_key_length @utils.register_interface(Mode) @@ -133,11 +133,11 @@ class OFB(object): name = "OFB" def __init__(self, initialization_vector): - utils._check_byteslike("initialization_vector", initialization_vector) + utils._check_byteslike("initialization_vector", initialization_vector) self._initialization_vector = initialization_vector initialization_vector = utils.read_only_property("_initialization_vector") - validate_for_algorithm = _check_iv_and_key_length + validate_for_algorithm = _check_iv_and_key_length @utils.register_interface(Mode) @@ -146,11 +146,11 @@ class CFB(object): name = "CFB" def __init__(self, initialization_vector): - utils._check_byteslike("initialization_vector", initialization_vector) + utils._check_byteslike("initialization_vector", initialization_vector) self._initialization_vector = initialization_vector initialization_vector = utils.read_only_property("_initialization_vector") - validate_for_algorithm = _check_iv_and_key_length + validate_for_algorithm = _check_iv_and_key_length @utils.register_interface(Mode) @@ -159,11 +159,11 @@ class CFB8(object): name = "CFB8" def __init__(self, initialization_vector): - utils._check_byteslike("initialization_vector", initialization_vector) + utils._check_byteslike("initialization_vector", initialization_vector) self._initialization_vector = initialization_vector initialization_vector = utils.read_only_property("_initialization_vector") - validate_for_algorithm = _check_iv_and_key_length + validate_for_algorithm = _check_iv_and_key_length @utils.register_interface(Mode) @@ -172,19 +172,19 @@ class CTR(object): name = "CTR" def __init__(self, nonce): - utils._check_byteslike("nonce", nonce) + utils._check_byteslike("nonce", nonce) self._nonce = nonce nonce = utils.read_only_property("_nonce") def validate_for_algorithm(self, algorithm): - _check_aes_key_length(self, algorithm) + _check_aes_key_length(self, algorithm) if len(self.nonce) * 8 != algorithm.block_size: - raise ValueError( - "Invalid nonce size ({}) for {}.".format( - len(self.nonce), self.name - ) - ) + raise ValueError( + "Invalid nonce size ({}) for {}.".format( + len(self.nonce), self.name + ) + ) @utils.register_interface(Mode) @@ -196,30 +196,30 @@ class GCM(object): _MAX_AAD_BYTES = (2 ** 64) // 8 def __init__(self, initialization_vector, tag=None, min_tag_length=16): - # OpenSSL 3.0.0 constrains GCM IVs to [64, 1024] bits inclusive - # This is a sane limit anyway so we'll enforce it here. - utils._check_byteslike("initialization_vector", initialization_vector) - if len(initialization_vector) < 8 or len(initialization_vector) > 128: - raise ValueError( - "initialization_vector must be between 8 and 128 bytes (64 " - "and 1024 bits)." - ) + # OpenSSL 3.0.0 constrains GCM IVs to [64, 1024] bits inclusive + # This is a sane limit anyway so we'll enforce it here. + utils._check_byteslike("initialization_vector", initialization_vector) + if len(initialization_vector) < 8 or len(initialization_vector) > 128: + raise ValueError( + "initialization_vector must be between 8 and 128 bytes (64 " + "and 1024 bits)." + ) self._initialization_vector = initialization_vector - if tag is not None: - utils._check_bytes("tag", tag) - if min_tag_length < 4: - raise ValueError("min_tag_length must be >= 4") - if len(tag) < min_tag_length: - raise ValueError( - "Authentication tag must be {} bytes or longer.".format( - min_tag_length - ) - ) + if tag is not None: + utils._check_bytes("tag", tag) + if min_tag_length < 4: + raise ValueError("min_tag_length must be >= 4") + if len(tag) < min_tag_length: + raise ValueError( + "Authentication tag must be {} bytes or longer.".format( + min_tag_length + ) + ) self._tag = tag - self._min_tag_length = min_tag_length + self._min_tag_length = min_tag_length tag = utils.read_only_property("_tag") initialization_vector = utils.read_only_property("_initialization_vector") def validate_for_algorithm(self, algorithm): - _check_aes_key_length(self, algorithm) + _check_aes_key_length(self, algorithm) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/cmac.py b/contrib/python/cryptography/cryptography/hazmat/primitives/cmac.py index c3d8f4ec40..bf962c9069 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/cmac.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/cmac.py @@ -6,26 +6,26 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import CMACBackend -from cryptography.hazmat.primitives import ciphers +from cryptography.hazmat.primitives import ciphers class CMAC(object): - def __init__(self, algorithm, backend=None, ctx=None): - backend = _get_backend(backend) + def __init__(self, algorithm, backend=None, ctx=None): + backend = _get_backend(backend) if not isinstance(backend, CMACBackend): raise UnsupportedAlgorithm( "Backend object does not implement CMACBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) if not isinstance(algorithm, ciphers.BlockCipherAlgorithm): - raise TypeError("Expected instance of BlockCipherAlgorithm.") + raise TypeError("Expected instance of BlockCipherAlgorithm.") self._algorithm = algorithm self._backend = backend @@ -37,8 +37,8 @@ class CMAC(object): def update(self, data): if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") - - utils._check_bytes("data", data) + + utils._check_bytes("data", data) self._ctx.update(data) def finalize(self): @@ -49,7 +49,7 @@ class CMAC(object): return digest def verify(self, signature): - utils._check_bytes("signature", signature) + utils._check_bytes("signature", signature) if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") @@ -60,5 +60,5 @@ class CMAC(object): if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") return CMAC( - self._algorithm, backend=self._backend, ctx=self._ctx.copy() + self._algorithm, backend=self._backend, ctx=self._ctx.copy() ) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/constant_time.py b/contrib/python/cryptography/cryptography/hazmat/primitives/constant_time.py index 624ee4bd87..7f41b9efa5 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/constant_time.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/constant_time.py @@ -7,8 +7,8 @@ from __future__ import absolute_import, division, print_function import hmac -def bytes_eq(a, b): - if not isinstance(a, bytes) or not isinstance(b, bytes): - raise TypeError("a and b must be bytes.") +def bytes_eq(a, b): + if not isinstance(a, bytes) or not isinstance(b, bytes): + raise TypeError("a and b must be bytes.") - return hmac.compare_digest(a, b) + return hmac.compare_digest(a, b) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/hashes.py b/contrib/python/cryptography/cryptography/hazmat/primitives/hashes.py index ed55e8953d..18e2bab363 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/hashes.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/hashes.py @@ -10,11 +10,11 @@ import six from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import HashBackend @@ -60,21 +60,21 @@ class HashContext(object): """ -@six.add_metaclass(abc.ABCMeta) -class ExtendableOutputFunction(object): - """ - An interface for extendable output functions. - """ - - +@six.add_metaclass(abc.ABCMeta) +class ExtendableOutputFunction(object): + """ + An interface for extendable output functions. + """ + + @utils.register_interface(HashContext) class Hash(object): - def __init__(self, algorithm, backend=None, ctx=None): - backend = _get_backend(backend) + def __init__(self, algorithm, backend=None, ctx=None): + backend = _get_backend(backend) if not isinstance(backend, HashBackend): raise UnsupportedAlgorithm( "Backend object does not implement HashBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) if not isinstance(algorithm, HashAlgorithm): @@ -93,7 +93,7 @@ class Hash(object): def update(self, data): if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") - utils._check_byteslike("data", data) + utils._check_byteslike("data", data) self._ctx.update(data) def copy(self): @@ -119,20 +119,20 @@ class SHA1(object): @utils.register_interface(HashAlgorithm) -class SHA512_224(object): # noqa: N801 - name = "sha512-224" - digest_size = 28 - block_size = 128 - - -@utils.register_interface(HashAlgorithm) -class SHA512_256(object): # noqa: N801 - name = "sha512-256" - digest_size = 32 - block_size = 128 - - -@utils.register_interface(HashAlgorithm) +class SHA512_224(object): # noqa: N801 + name = "sha512-224" + digest_size = 28 + block_size = 128 + + +@utils.register_interface(HashAlgorithm) +class SHA512_256(object): # noqa: N801 + name = "sha512-256" + digest_size = 32 + block_size = 128 + + +@utils.register_interface(HashAlgorithm) class SHA224(object): name = "sha224" digest_size = 28 @@ -161,64 +161,64 @@ class SHA512(object): @utils.register_interface(HashAlgorithm) -class SHA3_224(object): # noqa: N801 - name = "sha3-224" - digest_size = 28 +class SHA3_224(object): # noqa: N801 + name = "sha3-224" + digest_size = 28 + + +@utils.register_interface(HashAlgorithm) +class SHA3_256(object): # noqa: N801 + name = "sha3-256" + digest_size = 32 + + +@utils.register_interface(HashAlgorithm) +class SHA3_384(object): # noqa: N801 + name = "sha3-384" + digest_size = 48 @utils.register_interface(HashAlgorithm) -class SHA3_256(object): # noqa: N801 - name = "sha3-256" - digest_size = 32 - - -@utils.register_interface(HashAlgorithm) -class SHA3_384(object): # noqa: N801 - name = "sha3-384" - digest_size = 48 - - -@utils.register_interface(HashAlgorithm) -class SHA3_512(object): # noqa: N801 - name = "sha3-512" +class SHA3_512(object): # noqa: N801 + name = "sha3-512" digest_size = 64 @utils.register_interface(HashAlgorithm) -@utils.register_interface(ExtendableOutputFunction) -class SHAKE128(object): - name = "shake128" - - def __init__(self, digest_size): - if not isinstance(digest_size, six.integer_types): - raise TypeError("digest_size must be an integer") - - if digest_size < 1: - raise ValueError("digest_size must be a positive integer") - - self._digest_size = digest_size - - digest_size = utils.read_only_property("_digest_size") - - -@utils.register_interface(HashAlgorithm) -@utils.register_interface(ExtendableOutputFunction) -class SHAKE256(object): - name = "shake256" - - def __init__(self, digest_size): - if not isinstance(digest_size, six.integer_types): - raise TypeError("digest_size must be an integer") - - if digest_size < 1: - raise ValueError("digest_size must be a positive integer") - - self._digest_size = digest_size - - digest_size = utils.read_only_property("_digest_size") - - -@utils.register_interface(HashAlgorithm) +@utils.register_interface(ExtendableOutputFunction) +class SHAKE128(object): + name = "shake128" + + def __init__(self, digest_size): + if not isinstance(digest_size, six.integer_types): + raise TypeError("digest_size must be an integer") + + if digest_size < 1: + raise ValueError("digest_size must be a positive integer") + + self._digest_size = digest_size + + digest_size = utils.read_only_property("_digest_size") + + +@utils.register_interface(HashAlgorithm) +@utils.register_interface(ExtendableOutputFunction) +class SHAKE256(object): + name = "shake256" + + def __init__(self, digest_size): + if not isinstance(digest_size, six.integer_types): + raise TypeError("digest_size must be an integer") + + if digest_size < 1: + raise ValueError("digest_size must be a positive integer") + + self._digest_size = digest_size + + digest_size = utils.read_only_property("_digest_size") + + +@utils.register_interface(HashAlgorithm) class MD5(object): name = "md5" digest_size = 16 @@ -234,9 +234,9 @@ class BLAKE2b(object): def __init__(self, digest_size): - if digest_size != 64: - raise ValueError("Digest size must be 64") - + if digest_size != 64: + raise ValueError("Digest size must be 64") + self._digest_size = digest_size digest_size = utils.read_only_property("_digest_size") @@ -251,9 +251,9 @@ class BLAKE2s(object): def __init__(self, digest_size): - if digest_size != 32: - raise ValueError("Digest size must be 32") - + if digest_size != 32: + raise ValueError("Digest size must be 32") + self._digest_size = digest_size digest_size = utils.read_only_property("_digest_size") diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/hmac.py b/contrib/python/cryptography/cryptography/hazmat/primitives/hmac.py index 5a235c6aee..8c421dc68d 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/hmac.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/hmac.py @@ -6,23 +6,23 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import HMACBackend -from cryptography.hazmat.primitives import hashes +from cryptography.hazmat.primitives import hashes @utils.register_interface(hashes.HashContext) class HMAC(object): - def __init__(self, key, algorithm, backend=None, ctx=None): - backend = _get_backend(backend) + def __init__(self, key, algorithm, backend=None, ctx=None): + backend = _get_backend(backend) if not isinstance(backend, HMACBackend): raise UnsupportedAlgorithm( "Backend object does not implement HMACBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) if not isinstance(algorithm, hashes.HashAlgorithm): @@ -41,7 +41,7 @@ class HMAC(object): def update(self, data): if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") - utils._check_byteslike("data", data) + utils._check_byteslike("data", data) self._ctx.update(data) def copy(self): @@ -51,7 +51,7 @@ class HMAC(object): self._key, self.algorithm, backend=self._backend, - ctx=self._ctx.copy(), + ctx=self._ctx.copy(), ) def finalize(self): @@ -62,7 +62,7 @@ class HMAC(object): return digest def verify(self, signature): - utils._check_bytes("signature", signature) + utils._check_bytes("signature", signature) if self._ctx is None: raise AlreadyFinalized("Context was already finalized.") diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/concatkdf.py b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/concatkdf.py index e3931051fd..7cc0324fc4 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/concatkdf.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/concatkdf.py @@ -8,12 +8,12 @@ import struct from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - InvalidKey, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + InvalidKey, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import HMACBackend from cryptography.hazmat.backends.interfaces import HashBackend from cryptography.hazmat.primitives import constant_time, hashes, hmac @@ -21,26 +21,26 @@ from cryptography.hazmat.primitives.kdf import KeyDerivationFunction def _int_to_u32be(n): - return struct.pack(">I", n) + return struct.pack(">I", n) def _common_args_checks(algorithm, length, otherinfo): max_length = algorithm.digest_size * (2 ** 32 - 1) if length > max_length: raise ValueError( - "Can not derive keys larger than {} bits.".format(max_length) - ) - if otherinfo is not None: - utils._check_bytes("otherinfo", otherinfo) + "Can not derive keys larger than {} bits.".format(max_length) + ) + if otherinfo is not None: + utils._check_bytes("otherinfo", otherinfo) def _concatkdf_derive(key_material, length, auxfn, otherinfo): - utils._check_byteslike("key_material", key_material) + utils._check_byteslike("key_material", key_material) output = [b""] outlen = 0 counter = 1 - while length > outlen: + while length > outlen: h = auxfn() h.update(_int_to_u32be(counter)) h.update(key_material) @@ -54,8 +54,8 @@ def _concatkdf_derive(key_material, length, auxfn, otherinfo): @utils.register_interface(KeyDerivationFunction) class ConcatKDFHash(object): - def __init__(self, algorithm, length, otherinfo, backend=None): - backend = _get_backend(backend) + def __init__(self, algorithm, length, otherinfo, backend=None): + backend = _get_backend(backend) _common_args_checks(algorithm, length, otherinfo) self._algorithm = algorithm @@ -67,7 +67,7 @@ class ConcatKDFHash(object): if not isinstance(backend, HashBackend): raise UnsupportedAlgorithm( "Backend object does not implement HashBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) self._backend = backend self._used = False @@ -79,9 +79,9 @@ class ConcatKDFHash(object): if self._used: raise AlreadyFinalized self._used = True - return _concatkdf_derive( - key_material, self._length, self._hash, self._otherinfo - ) + return _concatkdf_derive( + key_material, self._length, self._hash, self._otherinfo + ) def verify(self, key_material, expected_key): if not constant_time.bytes_eq(self.derive(key_material), expected_key): @@ -90,8 +90,8 @@ class ConcatKDFHash(object): @utils.register_interface(KeyDerivationFunction) class ConcatKDFHMAC(object): - def __init__(self, algorithm, length, salt, otherinfo, backend=None): - backend = _get_backend(backend) + def __init__(self, algorithm, length, salt, otherinfo, backend=None): + backend = _get_backend(backend) _common_args_checks(algorithm, length, otherinfo) self._algorithm = algorithm @@ -102,15 +102,15 @@ class ConcatKDFHMAC(object): if salt is None: salt = b"\x00" * algorithm.block_size - else: - utils._check_bytes("salt", salt) - + else: + utils._check_bytes("salt", salt) + self._salt = salt if not isinstance(backend, HMACBackend): raise UnsupportedAlgorithm( "Backend object does not implement HMACBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) self._backend = backend self._used = False @@ -122,9 +122,9 @@ class ConcatKDFHMAC(object): if self._used: raise AlreadyFinalized self._used = True - return _concatkdf_derive( - key_material, self._length, self._hmac, self._otherinfo - ) + return _concatkdf_derive( + key_material, self._length, self._hmac, self._otherinfo + ) def verify(self, key_material, expected_key): if not constant_time.bytes_eq(self.derive(key_material), expected_key): diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/hkdf.py b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/hkdf.py index e7dc873aa8..9bb6bc2132 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/hkdf.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/hkdf.py @@ -8,12 +8,12 @@ import six from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - InvalidKey, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + InvalidKey, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import HMACBackend from cryptography.hazmat.primitives import constant_time, hmac from cryptography.hazmat.primitives.kdf import KeyDerivationFunction @@ -21,20 +21,20 @@ from cryptography.hazmat.primitives.kdf import KeyDerivationFunction @utils.register_interface(KeyDerivationFunction) class HKDF(object): - def __init__(self, algorithm, length, salt, info, backend=None): - backend = _get_backend(backend) + def __init__(self, algorithm, length, salt, info, backend=None): + backend = _get_backend(backend) if not isinstance(backend, HMACBackend): raise UnsupportedAlgorithm( "Backend object does not implement HMACBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) self._algorithm = algorithm if salt is None: - salt = b"\x00" * self._algorithm.digest_size - else: - utils._check_bytes("salt", salt) + salt = b"\x00" * self._algorithm.digest_size + else: + utils._check_bytes("salt", salt) self._salt = salt @@ -48,7 +48,7 @@ class HKDF(object): return h.finalize() def derive(self, key_material): - utils._check_byteslike("key_material", key_material) + utils._check_byteslike("key_material", key_material) return self._hkdf_expand.derive(self._extract(key_material)) def verify(self, key_material, expected_key): @@ -58,31 +58,31 @@ class HKDF(object): @utils.register_interface(KeyDerivationFunction) class HKDFExpand(object): - def __init__(self, algorithm, length, info, backend=None): - backend = _get_backend(backend) + def __init__(self, algorithm, length, info, backend=None): + backend = _get_backend(backend) if not isinstance(backend, HMACBackend): raise UnsupportedAlgorithm( "Backend object does not implement HMACBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) self._algorithm = algorithm self._backend = backend - max_length = 255 * algorithm.digest_size + max_length = 255 * algorithm.digest_size if length > max_length: raise ValueError( - "Can not derive keys larger than {} octets.".format(max_length) - ) + "Can not derive keys larger than {} octets.".format(max_length) + ) self._length = length if info is None: info = b"" - else: - utils._check_bytes("info", info) + else: + utils._check_bytes("info", info) self._info = info @@ -100,10 +100,10 @@ class HKDFExpand(object): output.append(h.finalize()) counter += 1 - return b"".join(output)[: self._length] + return b"".join(output)[: self._length] def derive(self, key_material): - utils._check_byteslike("key_material", key_material) + utils._check_byteslike("key_material", key_material) if self._used: raise AlreadyFinalized diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/kbkdf.py b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/kbkdf.py index 57837e0af9..864337001c 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/kbkdf.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/kbkdf.py @@ -10,12 +10,12 @@ from six.moves import range from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - InvalidKey, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + InvalidKey, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import HMACBackend from cryptography.hazmat.primitives import constant_time, hashes, hmac from cryptography.hazmat.primitives.kdf import KeyDerivationFunction @@ -32,36 +32,36 @@ class CounterLocation(Enum): @utils.register_interface(KeyDerivationFunction) class KBKDFHMAC(object): - def __init__( - self, - algorithm, - mode, - length, - rlen, - llen, - location, - label, - context, - fixed, - backend=None, - ): - backend = _get_backend(backend) + def __init__( + self, + algorithm, + mode, + length, + rlen, + llen, + location, + label, + context, + fixed, + backend=None, + ): + backend = _get_backend(backend) if not isinstance(backend, HMACBackend): raise UnsupportedAlgorithm( "Backend object does not implement HMACBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) if not isinstance(algorithm, hashes.HashAlgorithm): raise UnsupportedAlgorithm( "Algorithm supplied is not a supported hash algorithm.", - _Reasons.UNSUPPORTED_HASH, + _Reasons.UNSUPPORTED_HASH, ) if not backend.hmac_supported(algorithm): raise UnsupportedAlgorithm( "Algorithm supplied is not a supported hmac algorithm.", - _Reasons.UNSUPPORTED_HASH, + _Reasons.UNSUPPORTED_HASH, ) if not isinstance(mode, Mode): @@ -71,9 +71,9 @@ class KBKDFHMAC(object): raise TypeError("location must be of type CounterLocation") if (label or context) and fixed: - raise ValueError( - "When supplying fixed data, " "label and context are ignored." - ) + raise ValueError( + "When supplying fixed data, " "label and context are ignored." + ) if rlen is None or not self._valid_byte_length(rlen): raise ValueError("rlen must be between 1 and 4") @@ -85,13 +85,13 @@ class KBKDFHMAC(object): raise TypeError("llen must be an integer") if label is None: - label = b"" + label = b"" if context is None: - context = b"" + context = b"" - utils._check_bytes("label", label) - utils._check_bytes("context", context) + utils._check_bytes("label", label) + utils._check_bytes("context", context) self._algorithm = algorithm self._mode = mode self._length = length @@ -106,7 +106,7 @@ class KBKDFHMAC(object): def _valid_byte_length(self, value): if not isinstance(value, int): - raise TypeError("value must be of type int") + raise TypeError("value must be of type int") value_bin = utils.int_to_bytes(1, value) if not 1 <= len(value_bin) <= 4: @@ -117,13 +117,13 @@ class KBKDFHMAC(object): if self._used: raise AlreadyFinalized - utils._check_byteslike("key_material", key_material) + utils._check_byteslike("key_material", key_material) self._used = True # inverse floor division (equivalent to ceiling) rounds = -(-self._length // self._algorithm.digest_size) - output = [b""] + output = [b""] # For counter mode, the number of iterations shall not be # larger than 2^r-1, where r <= 32 is the binary length of the counter @@ -131,7 +131,7 @@ class KBKDFHMAC(object): # PRF will not repeat during a particular call to the KDF function. r_bin = utils.int_to_bytes(1, self._rlen) if rounds > pow(2, len(r_bin) * 8) - 1: - raise ValueError("There are too many iterations.") + raise ValueError("There are too many iterations.") for i in range(1, rounds + 1): h = hmac.HMAC(key_material, self._algorithm, backend=self._backend) @@ -147,15 +147,15 @@ class KBKDFHMAC(object): output.append(h.finalize()) - return b"".join(output)[: self._length] + return b"".join(output)[: self._length] def _generate_fixed_input(self): if self._fixed_data and isinstance(self._fixed_data, bytes): return self._fixed_data - l_val = utils.int_to_bytes(self._length * 8, self._llen) + l_val = utils.int_to_bytes(self._length * 8, self._llen) - return b"".join([self._label, b"\x00", self._context, l_val]) + return b"".join([self._label, b"\x00", self._context, l_val]) def verify(self, key_material, expected_key): if not constant_time.bytes_eq(self.derive(key_material), expected_key): diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/pbkdf2.py b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/pbkdf2.py index dfbc37447b..5b67d48bba 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/pbkdf2.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/pbkdf2.py @@ -6,12 +6,12 @@ from __future__ import absolute_import, division, print_function from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - InvalidKey, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + InvalidKey, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import PBKDF2HMACBackend from cryptography.hazmat.primitives import constant_time from cryptography.hazmat.primitives.kdf import KeyDerivationFunction @@ -19,25 +19,25 @@ from cryptography.hazmat.primitives.kdf import KeyDerivationFunction @utils.register_interface(KeyDerivationFunction) class PBKDF2HMAC(object): - def __init__(self, algorithm, length, salt, iterations, backend=None): - backend = _get_backend(backend) + def __init__(self, algorithm, length, salt, iterations, backend=None): + backend = _get_backend(backend) if not isinstance(backend, PBKDF2HMACBackend): raise UnsupportedAlgorithm( "Backend object does not implement PBKDF2HMACBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) if not backend.pbkdf2_hmac_supported(algorithm): raise UnsupportedAlgorithm( - "{} is not supported for PBKDF2 by this backend.".format( - algorithm.name - ), - _Reasons.UNSUPPORTED_HASH, + "{} is not supported for PBKDF2 by this backend.".format( + algorithm.name + ), + _Reasons.UNSUPPORTED_HASH, ) self._used = False self._algorithm = algorithm self._length = length - utils._check_bytes("salt", salt) + utils._check_bytes("salt", salt) self._salt = salt self._iterations = iterations self._backend = backend @@ -47,13 +47,13 @@ class PBKDF2HMAC(object): raise AlreadyFinalized("PBKDF2 instances can only be used once.") self._used = True - utils._check_byteslike("key_material", key_material) + utils._check_byteslike("key_material", key_material) return self._backend.derive_pbkdf2_hmac( self._algorithm, self._length, self._salt, self._iterations, - key_material, + key_material, ) def verify(self, key_material, expected_key): diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/scrypt.py b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/scrypt.py index e6fd0cb6b8..f028646aa0 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/scrypt.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/scrypt.py @@ -4,38 +4,38 @@ from __future__ import absolute_import, division, print_function -import sys - +import sys + from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - InvalidKey, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + InvalidKey, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import ScryptBackend from cryptography.hazmat.primitives import constant_time from cryptography.hazmat.primitives.kdf import KeyDerivationFunction -# This is used by the scrypt tests to skip tests that require more memory -# than the MEM_LIMIT -_MEM_LIMIT = sys.maxsize // 2 - - +# This is used by the scrypt tests to skip tests that require more memory +# than the MEM_LIMIT +_MEM_LIMIT = sys.maxsize // 2 + + @utils.register_interface(KeyDerivationFunction) class Scrypt(object): - def __init__(self, salt, length, n, r, p, backend=None): - backend = _get_backend(backend) + def __init__(self, salt, length, n, r, p, backend=None): + backend = _get_backend(backend) if not isinstance(backend, ScryptBackend): raise UnsupportedAlgorithm( "Backend object does not implement ScryptBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) self._length = length - utils._check_bytes("salt", salt) + utils._check_bytes("salt", salt) if n < 2 or (n & (n - 1)) != 0: raise ValueError("n must be greater than 1 and be a power of 2.") @@ -57,7 +57,7 @@ class Scrypt(object): raise AlreadyFinalized("Scrypt instances can only be used once.") self._used = True - utils._check_byteslike("key_material", key_material) + utils._check_byteslike("key_material", key_material) return self._backend.derive_scrypt( key_material, self._salt, self._length, self._n, self._r, self._p ) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/x963kdf.py b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/x963kdf.py index d107480218..1898d526a4 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/x963kdf.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/kdf/x963kdf.py @@ -8,34 +8,34 @@ import struct from cryptography import utils from cryptography.exceptions import ( - AlreadyFinalized, - InvalidKey, - UnsupportedAlgorithm, - _Reasons, + AlreadyFinalized, + InvalidKey, + UnsupportedAlgorithm, + _Reasons, ) -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import HashBackend from cryptography.hazmat.primitives import constant_time, hashes from cryptography.hazmat.primitives.kdf import KeyDerivationFunction def _int_to_u32be(n): - return struct.pack(">I", n) + return struct.pack(">I", n) @utils.register_interface(KeyDerivationFunction) class X963KDF(object): - def __init__(self, algorithm, length, sharedinfo, backend=None): - backend = _get_backend(backend) + def __init__(self, algorithm, length, sharedinfo, backend=None): + backend = _get_backend(backend) max_len = algorithm.digest_size * (2 ** 32 - 1) if length > max_len: raise ValueError( - "Can not derive keys larger than {} bits.".format(max_len) - ) - if sharedinfo is not None: - utils._check_bytes("sharedinfo", sharedinfo) - + "Can not derive keys larger than {} bits.".format(max_len) + ) + if sharedinfo is not None: + utils._check_bytes("sharedinfo", sharedinfo) + self._algorithm = algorithm self._length = length self._sharedinfo = sharedinfo @@ -43,7 +43,7 @@ class X963KDF(object): if not isinstance(backend, HashBackend): raise UnsupportedAlgorithm( "Backend object does not implement HashBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) self._backend = backend self._used = False @@ -52,7 +52,7 @@ class X963KDF(object): if self._used: raise AlreadyFinalized self._used = True - utils._check_byteslike("key_material", key_material) + utils._check_byteslike("key_material", key_material) output = [b""] outlen = 0 counter = 1 @@ -67,7 +67,7 @@ class X963KDF(object): outlen += len(output[-1]) counter += 1 - return b"".join(output)[: self._length] + return b"".join(output)[: self._length] def verify(self, key_material, expected_key): if not constant_time.bytes_eq(self.derive(key_material), expected_key): diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/keywrap.py b/contrib/python/cryptography/cryptography/hazmat/primitives/keywrap.py index 0e234fd4d6..2439cafe6d 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/keywrap.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/keywrap.py @@ -6,14 +6,14 @@ from __future__ import absolute_import, division, print_function import struct -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.primitives.ciphers import Cipher from cryptography.hazmat.primitives.ciphers.algorithms import AES from cryptography.hazmat.primitives.ciphers.modes import ECB from cryptography.hazmat.primitives.constant_time import bytes_eq -def _wrap_core(wrapping_key, a, r, backend): +def _wrap_core(wrapping_key, a, r, backend): # RFC 3394 Key Wrap - 2.2.1 (index method) encryptor = Cipher(AES(wrapping_key), ECB(), backend).encryptor() n = len(r) @@ -34,35 +34,35 @@ def _wrap_core(wrapping_key, a, r, backend): return a + b"".join(r) -def aes_key_wrap(wrapping_key, key_to_wrap, backend=None): - backend = _get_backend(backend) +def aes_key_wrap(wrapping_key, key_to_wrap, backend=None): + backend = _get_backend(backend) if len(wrapping_key) not in [16, 24, 32]: raise ValueError("The wrapping key must be a valid AES key length") - if len(key_to_wrap) < 16: - raise ValueError("The key to wrap must be at least 16 bytes") - - if len(key_to_wrap) % 8 != 0: - raise ValueError("The key to wrap must be a multiple of 8 bytes") - - a = b"\xa6\xa6\xa6\xa6\xa6\xa6\xa6\xa6" - r = [key_to_wrap[i : i + 8] for i in range(0, len(key_to_wrap), 8)] - return _wrap_core(wrapping_key, a, r, backend) - - -def _unwrap_core(wrapping_key, a, r, backend): + if len(key_to_wrap) < 16: + raise ValueError("The key to wrap must be at least 16 bytes") + + if len(key_to_wrap) % 8 != 0: + raise ValueError("The key to wrap must be a multiple of 8 bytes") + + a = b"\xa6\xa6\xa6\xa6\xa6\xa6\xa6\xa6" + r = [key_to_wrap[i : i + 8] for i in range(0, len(key_to_wrap), 8)] + return _wrap_core(wrapping_key, a, r, backend) + + +def _unwrap_core(wrapping_key, a, r, backend): # Implement RFC 3394 Key Unwrap - 2.2.2 (index method) decryptor = Cipher(AES(wrapping_key), ECB(), backend).decryptor() n = len(r) for j in reversed(range(6)): for i in reversed(range(n)): # pack/unpack are safe as these are always 64-bit chunks - atr = ( - struct.pack( - ">Q", struct.unpack(">Q", a)[0] ^ ((n * j) + i + 1) - ) - + r[i] - ) + atr = ( + struct.pack( + ">Q", struct.unpack(">Q", a)[0] ^ ((n * j) + i + 1) + ) + + r[i] + ) # every decryption operation is a discrete 16 byte chunk so # it is safe to reuse the decryptor for the entire operation b = decryptor.update(atr) @@ -70,87 +70,87 @@ def _unwrap_core(wrapping_key, a, r, backend): r[i] = b[-8:] assert decryptor.finalize() == b"" - return a, r - - -def aes_key_wrap_with_padding(wrapping_key, key_to_wrap, backend=None): - backend = _get_backend(backend) - if len(wrapping_key) not in [16, 24, 32]: - raise ValueError("The wrapping key must be a valid AES key length") - - aiv = b"\xA6\x59\x59\xA6" + struct.pack(">i", len(key_to_wrap)) - # pad the key to wrap if necessary - pad = (8 - (len(key_to_wrap) % 8)) % 8 - key_to_wrap = key_to_wrap + b"\x00" * pad - if len(key_to_wrap) == 8: - # RFC 5649 - 4.1 - exactly 8 octets after padding - encryptor = Cipher(AES(wrapping_key), ECB(), backend).encryptor() - b = encryptor.update(aiv + key_to_wrap) - assert encryptor.finalize() == b"" - return b - else: - r = [key_to_wrap[i : i + 8] for i in range(0, len(key_to_wrap), 8)] - return _wrap_core(wrapping_key, aiv, r, backend) - - -def aes_key_unwrap_with_padding(wrapping_key, wrapped_key, backend=None): - backend = _get_backend(backend) - if len(wrapped_key) < 16: - raise InvalidUnwrap("Must be at least 16 bytes") - - if len(wrapping_key) not in [16, 24, 32]: - raise ValueError("The wrapping key must be a valid AES key length") - - if len(wrapped_key) == 16: - # RFC 5649 - 4.2 - exactly two 64-bit blocks - decryptor = Cipher(AES(wrapping_key), ECB(), backend).decryptor() - b = decryptor.update(wrapped_key) - assert decryptor.finalize() == b"" - a = b[:8] - data = b[8:] - n = 1 - else: - r = [wrapped_key[i : i + 8] for i in range(0, len(wrapped_key), 8)] - encrypted_aiv = r.pop(0) - n = len(r) - a, r = _unwrap_core(wrapping_key, encrypted_aiv, r, backend) - data = b"".join(r) - - # 1) Check that MSB(32,A) = A65959A6. - # 2) Check that 8*(n-1) < LSB(32,A) <= 8*n. If so, let - # MLI = LSB(32,A). - # 3) Let b = (8*n)-MLI, and then check that the rightmost b octets of - # the output data are zero. - (mli,) = struct.unpack(">I", a[4:]) - b = (8 * n) - mli - if ( - not bytes_eq(a[:4], b"\xa6\x59\x59\xa6") - or not 8 * (n - 1) < mli <= 8 * n - or (b != 0 and not bytes_eq(data[-b:], b"\x00" * b)) - ): - raise InvalidUnwrap() - - if b == 0: - return data - else: - return data[:-b] - - -def aes_key_unwrap(wrapping_key, wrapped_key, backend=None): - backend = _get_backend(backend) - if len(wrapped_key) < 24: - raise InvalidUnwrap("Must be at least 24 bytes") - - if len(wrapped_key) % 8 != 0: - raise InvalidUnwrap("The wrapped key must be a multiple of 8 bytes") - - if len(wrapping_key) not in [16, 24, 32]: - raise ValueError("The wrapping key must be a valid AES key length") - - aiv = b"\xa6\xa6\xa6\xa6\xa6\xa6\xa6\xa6" - r = [wrapped_key[i : i + 8] for i in range(0, len(wrapped_key), 8)] - a = r.pop(0) - a, r = _unwrap_core(wrapping_key, a, r, backend) + return a, r + + +def aes_key_wrap_with_padding(wrapping_key, key_to_wrap, backend=None): + backend = _get_backend(backend) + if len(wrapping_key) not in [16, 24, 32]: + raise ValueError("The wrapping key must be a valid AES key length") + + aiv = b"\xA6\x59\x59\xA6" + struct.pack(">i", len(key_to_wrap)) + # pad the key to wrap if necessary + pad = (8 - (len(key_to_wrap) % 8)) % 8 + key_to_wrap = key_to_wrap + b"\x00" * pad + if len(key_to_wrap) == 8: + # RFC 5649 - 4.1 - exactly 8 octets after padding + encryptor = Cipher(AES(wrapping_key), ECB(), backend).encryptor() + b = encryptor.update(aiv + key_to_wrap) + assert encryptor.finalize() == b"" + return b + else: + r = [key_to_wrap[i : i + 8] for i in range(0, len(key_to_wrap), 8)] + return _wrap_core(wrapping_key, aiv, r, backend) + + +def aes_key_unwrap_with_padding(wrapping_key, wrapped_key, backend=None): + backend = _get_backend(backend) + if len(wrapped_key) < 16: + raise InvalidUnwrap("Must be at least 16 bytes") + + if len(wrapping_key) not in [16, 24, 32]: + raise ValueError("The wrapping key must be a valid AES key length") + + if len(wrapped_key) == 16: + # RFC 5649 - 4.2 - exactly two 64-bit blocks + decryptor = Cipher(AES(wrapping_key), ECB(), backend).decryptor() + b = decryptor.update(wrapped_key) + assert decryptor.finalize() == b"" + a = b[:8] + data = b[8:] + n = 1 + else: + r = [wrapped_key[i : i + 8] for i in range(0, len(wrapped_key), 8)] + encrypted_aiv = r.pop(0) + n = len(r) + a, r = _unwrap_core(wrapping_key, encrypted_aiv, r, backend) + data = b"".join(r) + + # 1) Check that MSB(32,A) = A65959A6. + # 2) Check that 8*(n-1) < LSB(32,A) <= 8*n. If so, let + # MLI = LSB(32,A). + # 3) Let b = (8*n)-MLI, and then check that the rightmost b octets of + # the output data are zero. + (mli,) = struct.unpack(">I", a[4:]) + b = (8 * n) - mli + if ( + not bytes_eq(a[:4], b"\xa6\x59\x59\xa6") + or not 8 * (n - 1) < mli <= 8 * n + or (b != 0 and not bytes_eq(data[-b:], b"\x00" * b)) + ): + raise InvalidUnwrap() + + if b == 0: + return data + else: + return data[:-b] + + +def aes_key_unwrap(wrapping_key, wrapped_key, backend=None): + backend = _get_backend(backend) + if len(wrapped_key) < 24: + raise InvalidUnwrap("Must be at least 24 bytes") + + if len(wrapped_key) % 8 != 0: + raise InvalidUnwrap("The wrapped key must be a multiple of 8 bytes") + + if len(wrapping_key) not in [16, 24, 32]: + raise ValueError("The wrapping key must be a valid AES key length") + + aiv = b"\xa6\xa6\xa6\xa6\xa6\xa6\xa6\xa6" + r = [wrapped_key[i : i + 8] for i in range(0, len(wrapped_key), 8)] + a = r.pop(0) + a, r = _unwrap_core(wrapping_key, a, r, backend) if not bytes_eq(a, aiv): raise InvalidUnwrap() diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/padding.py b/contrib/python/cryptography/cryptography/hazmat/primitives/padding.py index e94c4d6d1a..98abffbc08 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/padding.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/padding.py @@ -40,17 +40,17 @@ def _byte_padding_update(buffer_, data, block_size): if buffer_ is None: raise AlreadyFinalized("Context was already finalized.") - utils._check_byteslike("data", data) + utils._check_byteslike("data", data) - # six.PY2: Only coerce non-bytes objects to avoid triggering bad behavior - # of future's newbytes type. Unconditionally call bytes() after Python 2 - # support is gone. - buffer_ += data if isinstance(data, bytes) else bytes(data) + # six.PY2: Only coerce non-bytes objects to avoid triggering bad behavior + # of future's newbytes type. Unconditionally call bytes() after Python 2 + # support is gone. + buffer_ += data if isinstance(data, bytes) else bytes(data) finished_blocks = len(buffer_) // (block_size // 8) - result = buffer_[: finished_blocks * (block_size // 8)] - buffer_ = buffer_[finished_blocks * (block_size // 8) :] + result = buffer_[: finished_blocks * (block_size // 8)] + buffer_ = buffer_[finished_blocks * (block_size // 8) :] return buffer_, result @@ -67,17 +67,17 @@ def _byte_unpadding_update(buffer_, data, block_size): if buffer_ is None: raise AlreadyFinalized("Context was already finalized.") - utils._check_byteslike("data", data) + utils._check_byteslike("data", data) - # six.PY2: Only coerce non-bytes objects to avoid triggering bad behavior - # of future's newbytes type. Unconditionally call bytes() after Python 2 - # support is gone. - buffer_ += data if isinstance(data, bytes) else bytes(data) + # six.PY2: Only coerce non-bytes objects to avoid triggering bad behavior + # of future's newbytes type. Unconditionally call bytes() after Python 2 + # support is gone. + buffer_ += data if isinstance(data, bytes) else bytes(data) finished_blocks = max(len(buffer_) // (block_size // 8) - 1, 0) - result = buffer_[: finished_blocks * (block_size // 8)] - buffer_ = buffer_[finished_blocks * (block_size // 8) :] + result = buffer_[: finished_blocks * (block_size // 8)] + buffer_ = buffer_[finished_blocks * (block_size // 8) :] return buffer_, result @@ -119,8 +119,8 @@ class _PKCS7PaddingContext(object): def update(self, data): self._buffer, result = _byte_padding_update( - self._buffer, data, self.block_size - ) + self._buffer, data, self.block_size + ) return result def _padding(self, size): @@ -128,8 +128,8 @@ class _PKCS7PaddingContext(object): def finalize(self): result = _byte_padding_pad( - self._buffer, self.block_size, self._padding - ) + self._buffer, self.block_size, self._padding + ) self._buffer = None return result @@ -143,14 +143,14 @@ class _PKCS7UnpaddingContext(object): def update(self, data): self._buffer, result = _byte_unpadding_update( - self._buffer, data, self.block_size - ) + self._buffer, data, self.block_size + ) return result def finalize(self): result = _byte_unpadding_check( - self._buffer, self.block_size, lib.Cryptography_check_pkcs7_padding - ) + self._buffer, self.block_size, lib.Cryptography_check_pkcs7_padding + ) self._buffer = None return result @@ -176,8 +176,8 @@ class _ANSIX923PaddingContext(object): def update(self, data): self._buffer, result = _byte_padding_update( - self._buffer, data, self.block_size - ) + self._buffer, data, self.block_size + ) return result def _padding(self, size): @@ -185,8 +185,8 @@ class _ANSIX923PaddingContext(object): def finalize(self): result = _byte_padding_pad( - self._buffer, self.block_size, self._padding - ) + self._buffer, self.block_size, self._padding + ) self._buffer = None return result @@ -200,15 +200,15 @@ class _ANSIX923UnpaddingContext(object): def update(self, data): self._buffer, result = _byte_unpadding_update( - self._buffer, data, self.block_size - ) + self._buffer, data, self.block_size + ) return result def finalize(self): result = _byte_unpadding_check( - self._buffer, - self.block_size, - lib.Cryptography_check_ansix923_padding, - ) + self._buffer, + self.block_size, + lib.Cryptography_check_ansix923_padding, + ) self._buffer = None return result diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/poly1305.py b/contrib/python/cryptography/cryptography/hazmat/primitives/poly1305.py index 7b7daf316a..6439686202 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/poly1305.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/poly1305.py @@ -1,58 +1,58 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - - -from cryptography import utils -from cryptography.exceptions import ( - AlreadyFinalized, - UnsupportedAlgorithm, - _Reasons, -) - - -class Poly1305(object): - def __init__(self, key): - from cryptography.hazmat.backends.openssl.backend import backend - - if not backend.poly1305_supported(): - raise UnsupportedAlgorithm( - "poly1305 is not supported by this version of OpenSSL.", - _Reasons.UNSUPPORTED_MAC, - ) - self._ctx = backend.create_poly1305_ctx(key) - - def update(self, data): - if self._ctx is None: - raise AlreadyFinalized("Context was already finalized.") - utils._check_byteslike("data", data) - self._ctx.update(data) - - def finalize(self): - if self._ctx is None: - raise AlreadyFinalized("Context was already finalized.") - mac = self._ctx.finalize() - self._ctx = None - return mac - - def verify(self, tag): - utils._check_bytes("tag", tag) - if self._ctx is None: - raise AlreadyFinalized("Context was already finalized.") - - ctx, self._ctx = self._ctx, None - ctx.verify(tag) - - @classmethod - def generate_tag(cls, key, data): - p = Poly1305(key) - p.update(data) - return p.finalize() - - @classmethod - def verify_tag(cls, key, data, tag): - p = Poly1305(key) - p.update(data) - p.verify(tag) +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + + +from cryptography import utils +from cryptography.exceptions import ( + AlreadyFinalized, + UnsupportedAlgorithm, + _Reasons, +) + + +class Poly1305(object): + def __init__(self, key): + from cryptography.hazmat.backends.openssl.backend import backend + + if not backend.poly1305_supported(): + raise UnsupportedAlgorithm( + "poly1305 is not supported by this version of OpenSSL.", + _Reasons.UNSUPPORTED_MAC, + ) + self._ctx = backend.create_poly1305_ctx(key) + + def update(self, data): + if self._ctx is None: + raise AlreadyFinalized("Context was already finalized.") + utils._check_byteslike("data", data) + self._ctx.update(data) + + def finalize(self): + if self._ctx is None: + raise AlreadyFinalized("Context was already finalized.") + mac = self._ctx.finalize() + self._ctx = None + return mac + + def verify(self, tag): + utils._check_bytes("tag", tag) + if self._ctx is None: + raise AlreadyFinalized("Context was already finalized.") + + ctx, self._ctx = self._ctx, None + ctx.verify(tag) + + @classmethod + def generate_tag(cls, key, data): + p = Poly1305(key) + p.update(data) + return p.finalize() + + @classmethod + def verify_tag(cls, key, data, tag): + p = Poly1305(key) + p.update(data) + p.verify(tag) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/__init__.py b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/__init__.py index 1fd9babef0..c2f9b014a6 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/__init__.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/__init__.py @@ -1,44 +1,44 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from cryptography.hazmat.primitives.serialization.base import ( - BestAvailableEncryption, - Encoding, - KeySerializationEncryption, - NoEncryption, - ParameterFormat, - PrivateFormat, - PublicFormat, - load_der_parameters, - load_der_private_key, - load_der_public_key, - load_pem_parameters, - load_pem_private_key, - load_pem_public_key, -) -from cryptography.hazmat.primitives.serialization.ssh import ( - load_ssh_private_key, - load_ssh_public_key, -) - - -__all__ = [ - "load_der_parameters", - "load_der_private_key", - "load_der_public_key", - "load_pem_parameters", - "load_pem_private_key", - "load_pem_public_key", - "load_ssh_private_key", - "load_ssh_public_key", - "Encoding", - "PrivateFormat", - "PublicFormat", - "ParameterFormat", - "KeySerializationEncryption", - "BestAvailableEncryption", - "NoEncryption", -] +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from cryptography.hazmat.primitives.serialization.base import ( + BestAvailableEncryption, + Encoding, + KeySerializationEncryption, + NoEncryption, + ParameterFormat, + PrivateFormat, + PublicFormat, + load_der_parameters, + load_der_private_key, + load_der_public_key, + load_pem_parameters, + load_pem_private_key, + load_pem_public_key, +) +from cryptography.hazmat.primitives.serialization.ssh import ( + load_ssh_private_key, + load_ssh_public_key, +) + + +__all__ = [ + "load_der_parameters", + "load_der_private_key", + "load_der_public_key", + "load_pem_parameters", + "load_pem_private_key", + "load_pem_public_key", + "load_ssh_private_key", + "load_ssh_public_key", + "Encoding", + "PrivateFormat", + "PublicFormat", + "ParameterFormat", + "KeySerializationEncryption", + "BestAvailableEncryption", + "NoEncryption", +] diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/base.py b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/base.py index 56bea02269..fc27235c5c 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/base.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/base.py @@ -1,91 +1,91 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import abc -from enum import Enum - -import six - -from cryptography import utils -from cryptography.hazmat.backends import _get_backend - - -def load_pem_private_key(data, password, backend=None): - backend = _get_backend(backend) - return backend.load_pem_private_key(data, password) - - -def load_pem_public_key(data, backend=None): - backend = _get_backend(backend) - return backend.load_pem_public_key(data) - - -def load_pem_parameters(data, backend=None): - backend = _get_backend(backend) - return backend.load_pem_parameters(data) - - -def load_der_private_key(data, password, backend=None): - backend = _get_backend(backend) - return backend.load_der_private_key(data, password) - - -def load_der_public_key(data, backend=None): - backend = _get_backend(backend) - return backend.load_der_public_key(data) - - -def load_der_parameters(data, backend=None): - backend = _get_backend(backend) - return backend.load_der_parameters(data) - - -class Encoding(Enum): - PEM = "PEM" - DER = "DER" - OpenSSH = "OpenSSH" - Raw = "Raw" - X962 = "ANSI X9.62" - SMIME = "S/MIME" - - -class PrivateFormat(Enum): - PKCS8 = "PKCS8" - TraditionalOpenSSL = "TraditionalOpenSSL" - Raw = "Raw" - OpenSSH = "OpenSSH" - - -class PublicFormat(Enum): - SubjectPublicKeyInfo = "X.509 subjectPublicKeyInfo with PKCS#1" - PKCS1 = "Raw PKCS#1" - OpenSSH = "OpenSSH" - Raw = "Raw" - CompressedPoint = "X9.62 Compressed Point" - UncompressedPoint = "X9.62 Uncompressed Point" - - -class ParameterFormat(Enum): - PKCS3 = "PKCS3" - - -@six.add_metaclass(abc.ABCMeta) -class KeySerializationEncryption(object): - pass - - -@utils.register_interface(KeySerializationEncryption) -class BestAvailableEncryption(object): - def __init__(self, password): - if not isinstance(password, bytes) or len(password) == 0: - raise ValueError("Password must be 1 or more bytes.") - - self.password = password - - -@utils.register_interface(KeySerializationEncryption) -class NoEncryption(object): - pass +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import abc +from enum import Enum + +import six + +from cryptography import utils +from cryptography.hazmat.backends import _get_backend + + +def load_pem_private_key(data, password, backend=None): + backend = _get_backend(backend) + return backend.load_pem_private_key(data, password) + + +def load_pem_public_key(data, backend=None): + backend = _get_backend(backend) + return backend.load_pem_public_key(data) + + +def load_pem_parameters(data, backend=None): + backend = _get_backend(backend) + return backend.load_pem_parameters(data) + + +def load_der_private_key(data, password, backend=None): + backend = _get_backend(backend) + return backend.load_der_private_key(data, password) + + +def load_der_public_key(data, backend=None): + backend = _get_backend(backend) + return backend.load_der_public_key(data) + + +def load_der_parameters(data, backend=None): + backend = _get_backend(backend) + return backend.load_der_parameters(data) + + +class Encoding(Enum): + PEM = "PEM" + DER = "DER" + OpenSSH = "OpenSSH" + Raw = "Raw" + X962 = "ANSI X9.62" + SMIME = "S/MIME" + + +class PrivateFormat(Enum): + PKCS8 = "PKCS8" + TraditionalOpenSSL = "TraditionalOpenSSL" + Raw = "Raw" + OpenSSH = "OpenSSH" + + +class PublicFormat(Enum): + SubjectPublicKeyInfo = "X.509 subjectPublicKeyInfo with PKCS#1" + PKCS1 = "Raw PKCS#1" + OpenSSH = "OpenSSH" + Raw = "Raw" + CompressedPoint = "X9.62 Compressed Point" + UncompressedPoint = "X9.62 Uncompressed Point" + + +class ParameterFormat(Enum): + PKCS3 = "PKCS3" + + +@six.add_metaclass(abc.ABCMeta) +class KeySerializationEncryption(object): + pass + + +@utils.register_interface(KeySerializationEncryption) +class BestAvailableEncryption(object): + def __init__(self, password): + if not isinstance(password, bytes) or len(password) == 0: + raise ValueError("Password must be 1 or more bytes.") + + self.password = password + + +@utils.register_interface(KeySerializationEncryption) +class NoEncryption(object): + pass diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/pkcs12.py b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/pkcs12.py index 27ca6c6db6..201f32941c 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/pkcs12.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/pkcs12.py @@ -1,50 +1,50 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from cryptography import x509 -from cryptography.hazmat.backends import _get_backend -from cryptography.hazmat.primitives import serialization -from cryptography.hazmat.primitives.asymmetric import dsa, ec, rsa - - -def load_key_and_certificates(data, password, backend=None): - backend = _get_backend(backend) - return backend.load_key_and_certificates_from_pkcs12(data, password) - - -def serialize_key_and_certificates(name, key, cert, cas, encryption_algorithm): - if key is not None and not isinstance( - key, - ( - rsa.RSAPrivateKeyWithSerialization, - dsa.DSAPrivateKeyWithSerialization, - ec.EllipticCurvePrivateKeyWithSerialization, - ), - ): - raise TypeError("Key must be RSA, DSA, or EllipticCurve private key.") - if cert is not None and not isinstance(cert, x509.Certificate): - raise TypeError("cert must be a certificate") - - if cas is not None: - cas = list(cas) - if not all(isinstance(val, x509.Certificate) for val in cas): - raise TypeError("all values in cas must be certificates") - - if not isinstance( - encryption_algorithm, serialization.KeySerializationEncryption - ): - raise TypeError( - "Key encryption algorithm must be a " - "KeySerializationEncryption instance" - ) - - if key is None and cert is None and not cas: - raise ValueError("You must supply at least one of key, cert, or cas") - - backend = _get_backend(None) - return backend.serialize_key_and_certificates_to_pkcs12( - name, key, cert, cas, encryption_algorithm - ) +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from cryptography import x509 +from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.primitives import serialization +from cryptography.hazmat.primitives.asymmetric import dsa, ec, rsa + + +def load_key_and_certificates(data, password, backend=None): + backend = _get_backend(backend) + return backend.load_key_and_certificates_from_pkcs12(data, password) + + +def serialize_key_and_certificates(name, key, cert, cas, encryption_algorithm): + if key is not None and not isinstance( + key, + ( + rsa.RSAPrivateKeyWithSerialization, + dsa.DSAPrivateKeyWithSerialization, + ec.EllipticCurvePrivateKeyWithSerialization, + ), + ): + raise TypeError("Key must be RSA, DSA, or EllipticCurve private key.") + if cert is not None and not isinstance(cert, x509.Certificate): + raise TypeError("cert must be a certificate") + + if cas is not None: + cas = list(cas) + if not all(isinstance(val, x509.Certificate) for val in cas): + raise TypeError("all values in cas must be certificates") + + if not isinstance( + encryption_algorithm, serialization.KeySerializationEncryption + ): + raise TypeError( + "Key encryption algorithm must be a " + "KeySerializationEncryption instance" + ) + + if key is None and cert is None and not cas: + raise ValueError("You must supply at least one of key, cert, or cas") + + backend = _get_backend(None) + return backend.serialize_key_and_certificates_to_pkcs12( + name, key, cert, cas, encryption_algorithm + ) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/pkcs7.py b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/pkcs7.py index fa14b24fea..1e11e28ef5 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/pkcs7.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/pkcs7.py @@ -1,132 +1,132 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -from enum import Enum - -from cryptography import x509 -from cryptography.hazmat.backends import _get_backend -from cryptography.hazmat.primitives import hashes, serialization -from cryptography.hazmat.primitives.asymmetric import ec, rsa -from cryptography.utils import _check_byteslike - - -def load_pem_pkcs7_certificates(data): - backend = _get_backend(None) - return backend.load_pem_pkcs7_certificates(data) - - -def load_der_pkcs7_certificates(data): - backend = _get_backend(None) - return backend.load_der_pkcs7_certificates(data) - - -class PKCS7SignatureBuilder(object): - def __init__(self, data=None, signers=[], additional_certs=[]): - self._data = data - self._signers = signers - self._additional_certs = additional_certs - - def set_data(self, data): - _check_byteslike("data", data) - if self._data is not None: - raise ValueError("data may only be set once") - - return PKCS7SignatureBuilder(data, self._signers) - - def add_signer(self, certificate, private_key, hash_algorithm): - if not isinstance( - hash_algorithm, - ( - hashes.SHA1, - hashes.SHA224, - hashes.SHA256, - hashes.SHA384, - hashes.SHA512, - ), - ): - raise TypeError( - "hash_algorithm must be one of hashes.SHA1, SHA224, " - "SHA256, SHA384, or SHA512" - ) - if not isinstance(certificate, x509.Certificate): - raise TypeError("certificate must be a x509.Certificate") - - if not isinstance( - private_key, (rsa.RSAPrivateKey, ec.EllipticCurvePrivateKey) - ): - raise TypeError("Only RSA & EC keys are supported at this time.") - - return PKCS7SignatureBuilder( - self._data, - self._signers + [(certificate, private_key, hash_algorithm)], - ) - - def add_certificate(self, certificate): - if not isinstance(certificate, x509.Certificate): - raise TypeError("certificate must be a x509.Certificate") - - return PKCS7SignatureBuilder( - self._data, self._signers, self._additional_certs + [certificate] - ) - - def sign(self, encoding, options, backend=None): - if len(self._signers) == 0: - raise ValueError("Must have at least one signer") - if self._data is None: - raise ValueError("You must add data to sign") - options = list(options) - if not all(isinstance(x, PKCS7Options) for x in options): - raise ValueError("options must be from the PKCS7Options enum") - if encoding not in ( - serialization.Encoding.PEM, - serialization.Encoding.DER, - serialization.Encoding.SMIME, - ): - raise ValueError( - "Must be PEM, DER, or SMIME from the Encoding enum" - ) - - # Text is a meaningless option unless it is accompanied by - # DetachedSignature - if ( - PKCS7Options.Text in options - and PKCS7Options.DetachedSignature not in options - ): - raise ValueError( - "When passing the Text option you must also pass " - "DetachedSignature" - ) - - if PKCS7Options.Text in options and encoding in ( - serialization.Encoding.DER, - serialization.Encoding.PEM, - ): - raise ValueError( - "The Text option is only available for SMIME serialization" - ) - - # No attributes implies no capabilities so we'll error if you try to - # pass both. - if ( - PKCS7Options.NoAttributes in options - and PKCS7Options.NoCapabilities in options - ): - raise ValueError( - "NoAttributes is a superset of NoCapabilities. Do not pass " - "both values." - ) - - backend = _get_backend(backend) - return backend.pkcs7_sign(self, encoding, options) - - -class PKCS7Options(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" - NoCapabilities = "Don't embed SMIME capabilities" - NoAttributes = "Don't embed authenticatedAttributes" - NoCerts = "Don't embed signer certificate" +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +from enum import Enum + +from cryptography import x509 +from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.primitives import hashes, serialization +from cryptography.hazmat.primitives.asymmetric import ec, rsa +from cryptography.utils import _check_byteslike + + +def load_pem_pkcs7_certificates(data): + backend = _get_backend(None) + return backend.load_pem_pkcs7_certificates(data) + + +def load_der_pkcs7_certificates(data): + backend = _get_backend(None) + return backend.load_der_pkcs7_certificates(data) + + +class PKCS7SignatureBuilder(object): + def __init__(self, data=None, signers=[], additional_certs=[]): + self._data = data + self._signers = signers + self._additional_certs = additional_certs + + def set_data(self, data): + _check_byteslike("data", data) + if self._data is not None: + raise ValueError("data may only be set once") + + return PKCS7SignatureBuilder(data, self._signers) + + def add_signer(self, certificate, private_key, hash_algorithm): + if not isinstance( + hash_algorithm, + ( + hashes.SHA1, + hashes.SHA224, + hashes.SHA256, + hashes.SHA384, + hashes.SHA512, + ), + ): + raise TypeError( + "hash_algorithm must be one of hashes.SHA1, SHA224, " + "SHA256, SHA384, or SHA512" + ) + if not isinstance(certificate, x509.Certificate): + raise TypeError("certificate must be a x509.Certificate") + + if not isinstance( + private_key, (rsa.RSAPrivateKey, ec.EllipticCurvePrivateKey) + ): + raise TypeError("Only RSA & EC keys are supported at this time.") + + return PKCS7SignatureBuilder( + self._data, + self._signers + [(certificate, private_key, hash_algorithm)], + ) + + def add_certificate(self, certificate): + if not isinstance(certificate, x509.Certificate): + raise TypeError("certificate must be a x509.Certificate") + + return PKCS7SignatureBuilder( + self._data, self._signers, self._additional_certs + [certificate] + ) + + def sign(self, encoding, options, backend=None): + if len(self._signers) == 0: + raise ValueError("Must have at least one signer") + if self._data is None: + raise ValueError("You must add data to sign") + options = list(options) + if not all(isinstance(x, PKCS7Options) for x in options): + raise ValueError("options must be from the PKCS7Options enum") + if encoding not in ( + serialization.Encoding.PEM, + serialization.Encoding.DER, + serialization.Encoding.SMIME, + ): + raise ValueError( + "Must be PEM, DER, or SMIME from the Encoding enum" + ) + + # Text is a meaningless option unless it is accompanied by + # DetachedSignature + if ( + PKCS7Options.Text in options + and PKCS7Options.DetachedSignature not in options + ): + raise ValueError( + "When passing the Text option you must also pass " + "DetachedSignature" + ) + + if PKCS7Options.Text in options and encoding in ( + serialization.Encoding.DER, + serialization.Encoding.PEM, + ): + raise ValueError( + "The Text option is only available for SMIME serialization" + ) + + # No attributes implies no capabilities so we'll error if you try to + # pass both. + if ( + PKCS7Options.NoAttributes in options + and PKCS7Options.NoCapabilities in options + ): + raise ValueError( + "NoAttributes is a superset of NoCapabilities. Do not pass " + "both values." + ) + + backend = _get_backend(backend) + return backend.pkcs7_sign(self, encoding, options) + + +class PKCS7Options(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" + NoCapabilities = "Don't embed SMIME capabilities" + NoAttributes = "Don't embed authenticatedAttributes" + NoCerts = "Don't embed signer certificate" diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/ssh.py b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/ssh.py index 95489f4b98..5ecae59f8a 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/ssh.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/serialization/ssh.py @@ -1,683 +1,683 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import binascii -import os -import re -import struct - -import six - -from cryptography import utils -from cryptography.exceptions import UnsupportedAlgorithm -from cryptography.hazmat.backends import _get_backend -from cryptography.hazmat.primitives.asymmetric import dsa, ec, ed25519, rsa -from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes -from cryptography.hazmat.primitives.serialization import ( - Encoding, - NoEncryption, - PrivateFormat, - PublicFormat, -) - -try: - from bcrypt import kdf as _bcrypt_kdf - - _bcrypt_supported = True -except ImportError: - _bcrypt_supported = False - - def _bcrypt_kdf(*args, **kwargs): - raise UnsupportedAlgorithm("Need bcrypt module") - - -try: - from base64 import encodebytes as _base64_encode -except ImportError: - from base64 import encodestring as _base64_encode - -_SSH_ED25519 = b"ssh-ed25519" -_SSH_RSA = b"ssh-rsa" -_SSH_DSA = b"ssh-dss" -_ECDSA_NISTP256 = b"ecdsa-sha2-nistp256" -_ECDSA_NISTP384 = b"ecdsa-sha2-nistp384" -_ECDSA_NISTP521 = b"ecdsa-sha2-nistp521" -_CERT_SUFFIX = b"-cert-v01@openssh.com" - -_SSH_PUBKEY_RC = re.compile(br"\A(\S+)[ \t]+(\S+)") -_SK_MAGIC = b"openssh-key-v1\0" -_SK_START = b"-----BEGIN OPENSSH PRIVATE KEY-----" -_SK_END = b"-----END OPENSSH PRIVATE KEY-----" -_BCRYPT = b"bcrypt" -_NONE = b"none" -_DEFAULT_CIPHER = b"aes256-ctr" -_DEFAULT_ROUNDS = 16 -_MAX_PASSWORD = 72 - -# re is only way to work on bytes-like data -_PEM_RC = re.compile(_SK_START + b"(.*?)" + _SK_END, re.DOTALL) - -# padding for max blocksize -_PADDING = memoryview(bytearray(range(1, 1 + 16))) - -# ciphers that are actually used in key wrapping -_SSH_CIPHERS = { - b"aes256-ctr": (algorithms.AES, 32, modes.CTR, 16), - b"aes256-cbc": (algorithms.AES, 32, modes.CBC, 16), -} - -# map local curve name to key type -_ECDSA_KEY_TYPE = { - "secp256r1": _ECDSA_NISTP256, - "secp384r1": _ECDSA_NISTP384, - "secp521r1": _ECDSA_NISTP521, -} - -_U32 = struct.Struct(b">I") -_U64 = struct.Struct(b">Q") - - -def _ecdsa_key_type(public_key): - """Return SSH key_type and curve_name for private key.""" - curve = public_key.curve - if curve.name not in _ECDSA_KEY_TYPE: - raise ValueError( - "Unsupported curve for ssh private key: %r" % curve.name - ) - return _ECDSA_KEY_TYPE[curve.name] - - -def _ssh_pem_encode(data, prefix=_SK_START + b"\n", suffix=_SK_END + b"\n"): - return b"".join([prefix, _base64_encode(data), suffix]) - - -def _check_block_size(data, block_len): - """Require data to be full blocks""" - if not data or len(data) % block_len != 0: - raise ValueError("Corrupt data: missing padding") - - -def _check_empty(data): - """All data should have been parsed.""" - if data: - raise ValueError("Corrupt data: unparsed data") - - -def _init_cipher(ciphername, password, salt, rounds, backend): - """Generate key + iv and return cipher.""" - if not password: - raise ValueError("Key is password-protected.") - - algo, key_len, mode, iv_len = _SSH_CIPHERS[ciphername] - seed = _bcrypt_kdf(password, salt, key_len + iv_len, rounds, True) - return Cipher(algo(seed[:key_len]), mode(seed[key_len:]), backend) - - -def _get_u32(data): - """Uint32""" - if len(data) < 4: - raise ValueError("Invalid data") - return _U32.unpack(data[:4])[0], data[4:] - - -def _get_u64(data): - """Uint64""" - if len(data) < 8: - raise ValueError("Invalid data") - return _U64.unpack(data[:8])[0], data[8:] - - -def _get_sshstr(data): - """Bytes with u32 length prefix""" - n, data = _get_u32(data) - if n > len(data): - raise ValueError("Invalid data") - return data[:n], data[n:] - - -def _get_mpint(data): - """Big integer.""" - val, data = _get_sshstr(data) - if val and six.indexbytes(val, 0) > 0x7F: - raise ValueError("Invalid data") - return utils.int_from_bytes(val, "big"), data - - -def _to_mpint(val): - """Storage format for signed bigint.""" - if val < 0: - raise ValueError("negative mpint not allowed") - if not val: - return b"" - nbytes = (val.bit_length() + 8) // 8 - return utils.int_to_bytes(val, nbytes) - - -class _FragList(object): - """Build recursive structure without data copy.""" - - def __init__(self, init=None): - self.flist = [] - if init: - self.flist.extend(init) - - def put_raw(self, val): - """Add plain bytes""" - self.flist.append(val) - - def put_u32(self, val): - """Big-endian uint32""" - self.flist.append(_U32.pack(val)) - - def put_sshstr(self, val): - """Bytes prefixed with u32 length""" - if isinstance(val, (bytes, memoryview, bytearray)): - self.put_u32(len(val)) - self.flist.append(val) - else: - self.put_u32(val.size()) - self.flist.extend(val.flist) - - def put_mpint(self, val): - """Big-endian bigint prefixed with u32 length""" - self.put_sshstr(_to_mpint(val)) - - def size(self): - """Current number of bytes""" - return sum(map(len, self.flist)) - - def render(self, dstbuf, pos=0): - """Write into bytearray""" - for frag in self.flist: - flen = len(frag) - start, pos = pos, pos + flen - dstbuf[start:pos] = frag - return pos - - def tobytes(self): - """Return as bytes""" - buf = memoryview(bytearray(self.size())) - self.render(buf) - return buf.tobytes() - - -class _SSHFormatRSA(object): - """Format for RSA keys. - - Public: - mpint e, n - Private: - mpint n, e, d, iqmp, p, q - """ - - def get_public(self, data): - """RSA public fields""" - e, data = _get_mpint(data) - n, data = _get_mpint(data) - return (e, n), data - - def load_public(self, key_type, data, backend): - """Make RSA public key from data.""" - (e, n), data = self.get_public(data) - public_numbers = rsa.RSAPublicNumbers(e, n) - public_key = public_numbers.public_key(backend) - return public_key, data - - def load_private(self, data, pubfields, backend): - """Make RSA private key from data.""" - n, data = _get_mpint(data) - e, data = _get_mpint(data) - d, data = _get_mpint(data) - iqmp, data = _get_mpint(data) - p, data = _get_mpint(data) - q, data = _get_mpint(data) - - if (e, n) != pubfields: - raise ValueError("Corrupt data: rsa field mismatch") - dmp1 = rsa.rsa_crt_dmp1(d, p) - dmq1 = rsa.rsa_crt_dmq1(d, q) - public_numbers = rsa.RSAPublicNumbers(e, n) - private_numbers = rsa.RSAPrivateNumbers( - p, q, d, dmp1, dmq1, iqmp, public_numbers - ) - private_key = private_numbers.private_key(backend) - return private_key, data - - def encode_public(self, public_key, f_pub): - """Write RSA public key""" - pubn = public_key.public_numbers() - f_pub.put_mpint(pubn.e) - f_pub.put_mpint(pubn.n) - - def encode_private(self, private_key, f_priv): - """Write RSA private key""" - private_numbers = private_key.private_numbers() - public_numbers = private_numbers.public_numbers - - f_priv.put_mpint(public_numbers.n) - f_priv.put_mpint(public_numbers.e) - - f_priv.put_mpint(private_numbers.d) - f_priv.put_mpint(private_numbers.iqmp) - f_priv.put_mpint(private_numbers.p) - f_priv.put_mpint(private_numbers.q) - - -class _SSHFormatDSA(object): - """Format for DSA keys. - - Public: - mpint p, q, g, y - Private: - mpint p, q, g, y, x - """ - - def get_public(self, data): - """DSA public fields""" - p, data = _get_mpint(data) - q, data = _get_mpint(data) - g, data = _get_mpint(data) - y, data = _get_mpint(data) - return (p, q, g, y), data - - def load_public(self, key_type, data, backend): - """Make DSA public key from data.""" - (p, q, g, y), data = self.get_public(data) - parameter_numbers = dsa.DSAParameterNumbers(p, q, g) - public_numbers = dsa.DSAPublicNumbers(y, parameter_numbers) - self._validate(public_numbers) - public_key = public_numbers.public_key(backend) - return public_key, data - - def load_private(self, data, pubfields, backend): - """Make DSA private key from data.""" - (p, q, g, y), data = self.get_public(data) - x, data = _get_mpint(data) - - if (p, q, g, y) != pubfields: - raise ValueError("Corrupt data: dsa field mismatch") - parameter_numbers = dsa.DSAParameterNumbers(p, q, g) - public_numbers = dsa.DSAPublicNumbers(y, parameter_numbers) - self._validate(public_numbers) - private_numbers = dsa.DSAPrivateNumbers(x, public_numbers) - private_key = private_numbers.private_key(backend) - return private_key, data - - def encode_public(self, public_key, f_pub): - """Write DSA public key""" - public_numbers = public_key.public_numbers() - parameter_numbers = public_numbers.parameter_numbers - self._validate(public_numbers) - - f_pub.put_mpint(parameter_numbers.p) - f_pub.put_mpint(parameter_numbers.q) - f_pub.put_mpint(parameter_numbers.g) - f_pub.put_mpint(public_numbers.y) - - def encode_private(self, private_key, f_priv): - """Write DSA private key""" - self.encode_public(private_key.public_key(), f_priv) - f_priv.put_mpint(private_key.private_numbers().x) - - def _validate(self, public_numbers): - parameter_numbers = public_numbers.parameter_numbers - if parameter_numbers.p.bit_length() != 1024: - raise ValueError("SSH supports only 1024 bit DSA keys") - - -class _SSHFormatECDSA(object): - """Format for ECDSA keys. - - Public: - str curve - bytes point - Private: - str curve - bytes point - mpint secret - """ - - def __init__(self, ssh_curve_name, curve): - self.ssh_curve_name = ssh_curve_name - self.curve = curve - - def get_public(self, data): - """ECDSA public fields""" - curve, data = _get_sshstr(data) - point, data = _get_sshstr(data) - if curve != self.ssh_curve_name: - raise ValueError("Curve name mismatch") - if six.indexbytes(point, 0) != 4: - raise NotImplementedError("Need uncompressed point") - return (curve, point), data - - def load_public(self, key_type, data, backend): - """Make ECDSA public key from data.""" - (curve_name, point), data = self.get_public(data) - public_key = ec.EllipticCurvePublicKey.from_encoded_point( - self.curve, point.tobytes() - ) - return public_key, data - - def load_private(self, data, pubfields, backend): - """Make ECDSA private key from data.""" - (curve_name, point), data = self.get_public(data) - secret, data = _get_mpint(data) - - if (curve_name, point) != pubfields: - raise ValueError("Corrupt data: ecdsa field mismatch") - private_key = ec.derive_private_key(secret, self.curve, backend) - return private_key, data - - def encode_public(self, public_key, f_pub): - """Write ECDSA public key""" - point = public_key.public_bytes( - Encoding.X962, PublicFormat.UncompressedPoint - ) - f_pub.put_sshstr(self.ssh_curve_name) - f_pub.put_sshstr(point) - - def encode_private(self, private_key, f_priv): - """Write ECDSA private key""" - public_key = private_key.public_key() - private_numbers = private_key.private_numbers() - - self.encode_public(public_key, f_priv) - f_priv.put_mpint(private_numbers.private_value) - - -class _SSHFormatEd25519(object): - """Format for Ed25519 keys. - - Public: - bytes point - Private: - bytes point - bytes secret_and_point - """ - - def get_public(self, data): - """Ed25519 public fields""" - point, data = _get_sshstr(data) - return (point,), data - - def load_public(self, key_type, data, backend): - """Make Ed25519 public key from data.""" - (point,), data = self.get_public(data) - public_key = ed25519.Ed25519PublicKey.from_public_bytes( - point.tobytes() - ) - return public_key, data - - def load_private(self, data, pubfields, backend): - """Make Ed25519 private key from data.""" - (point,), data = self.get_public(data) - keypair, data = _get_sshstr(data) - - secret = keypair[:32] - point2 = keypair[32:] - if point != point2 or (point,) != pubfields: - raise ValueError("Corrupt data: ed25519 field mismatch") - private_key = ed25519.Ed25519PrivateKey.from_private_bytes(secret) - return private_key, data - - def encode_public(self, public_key, f_pub): - """Write Ed25519 public key""" - raw_public_key = public_key.public_bytes( - Encoding.Raw, PublicFormat.Raw - ) - f_pub.put_sshstr(raw_public_key) - - def encode_private(self, private_key, f_priv): - """Write Ed25519 private key""" - public_key = private_key.public_key() - raw_private_key = private_key.private_bytes( - Encoding.Raw, PrivateFormat.Raw, NoEncryption() - ) - raw_public_key = public_key.public_bytes( - Encoding.Raw, PublicFormat.Raw - ) - f_keypair = _FragList([raw_private_key, raw_public_key]) - - self.encode_public(public_key, f_priv) - f_priv.put_sshstr(f_keypair) - - -_KEY_FORMATS = { - _SSH_RSA: _SSHFormatRSA(), - _SSH_DSA: _SSHFormatDSA(), - _SSH_ED25519: _SSHFormatEd25519(), - _ECDSA_NISTP256: _SSHFormatECDSA(b"nistp256", ec.SECP256R1()), - _ECDSA_NISTP384: _SSHFormatECDSA(b"nistp384", ec.SECP384R1()), - _ECDSA_NISTP521: _SSHFormatECDSA(b"nistp521", ec.SECP521R1()), -} - - -def _lookup_kformat(key_type): - """Return valid format or throw error""" - if not isinstance(key_type, bytes): - key_type = memoryview(key_type).tobytes() - if key_type in _KEY_FORMATS: - return _KEY_FORMATS[key_type] - raise UnsupportedAlgorithm("Unsupported key type: %r" % key_type) - - -def load_ssh_private_key(data, password, backend=None): - """Load private key from OpenSSH custom encoding.""" - utils._check_byteslike("data", data) - backend = _get_backend(backend) - if password is not None: - utils._check_bytes("password", password) - - m = _PEM_RC.search(data) - if not m: - raise ValueError("Not OpenSSH private key format") - p1 = m.start(1) - p2 = m.end(1) - data = binascii.a2b_base64(memoryview(data)[p1:p2]) - if not data.startswith(_SK_MAGIC): - raise ValueError("Not OpenSSH private key format") - data = memoryview(data)[len(_SK_MAGIC) :] - - # parse header - ciphername, data = _get_sshstr(data) - kdfname, data = _get_sshstr(data) - kdfoptions, data = _get_sshstr(data) - nkeys, data = _get_u32(data) - if nkeys != 1: - raise ValueError("Only one key supported") - - # load public key data - pubdata, data = _get_sshstr(data) - pub_key_type, pubdata = _get_sshstr(pubdata) - kformat = _lookup_kformat(pub_key_type) - pubfields, pubdata = kformat.get_public(pubdata) - _check_empty(pubdata) - - # load secret data - edata, data = _get_sshstr(data) - _check_empty(data) - - if (ciphername, kdfname) != (_NONE, _NONE): - ciphername = ciphername.tobytes() - if ciphername not in _SSH_CIPHERS: - raise UnsupportedAlgorithm("Unsupported cipher: %r" % ciphername) - if kdfname != _BCRYPT: - raise UnsupportedAlgorithm("Unsupported KDF: %r" % kdfname) - blklen = _SSH_CIPHERS[ciphername][3] - _check_block_size(edata, blklen) - salt, kbuf = _get_sshstr(kdfoptions) - rounds, kbuf = _get_u32(kbuf) - _check_empty(kbuf) - ciph = _init_cipher( - ciphername, password, salt.tobytes(), rounds, backend - ) - edata = memoryview(ciph.decryptor().update(edata)) - else: - blklen = 8 - _check_block_size(edata, blklen) - ck1, edata = _get_u32(edata) - ck2, edata = _get_u32(edata) - if ck1 != ck2: - raise ValueError("Corrupt data: broken checksum") - - # load per-key struct - key_type, edata = _get_sshstr(edata) - if key_type != pub_key_type: - raise ValueError("Corrupt data: key type mismatch") - private_key, edata = kformat.load_private(edata, pubfields, backend) - comment, edata = _get_sshstr(edata) - - # yes, SSH does padding check *after* all other parsing is done. - # need to follow as it writes zero-byte padding too. - if edata != _PADDING[: len(edata)]: - raise ValueError("Corrupt data: invalid padding") - - return private_key - - -def serialize_ssh_private_key(private_key, password=None): - """Serialize private key with OpenSSH custom encoding.""" - if password is not None: - utils._check_bytes("password", password) - if password and len(password) > _MAX_PASSWORD: - raise ValueError( - "Passwords longer than 72 bytes are not supported by " - "OpenSSH private key format" - ) - - if isinstance(private_key, ec.EllipticCurvePrivateKey): - key_type = _ecdsa_key_type(private_key.public_key()) - elif isinstance(private_key, rsa.RSAPrivateKey): - key_type = _SSH_RSA - elif isinstance(private_key, dsa.DSAPrivateKey): - key_type = _SSH_DSA - elif isinstance(private_key, ed25519.Ed25519PrivateKey): - key_type = _SSH_ED25519 - else: - raise ValueError("Unsupported key type") - kformat = _lookup_kformat(key_type) - - # setup parameters - f_kdfoptions = _FragList() - if password: - ciphername = _DEFAULT_CIPHER - blklen = _SSH_CIPHERS[ciphername][3] - kdfname = _BCRYPT - rounds = _DEFAULT_ROUNDS - salt = os.urandom(16) - f_kdfoptions.put_sshstr(salt) - f_kdfoptions.put_u32(rounds) - backend = _get_backend(None) - ciph = _init_cipher(ciphername, password, salt, rounds, backend) - else: - ciphername = kdfname = _NONE - blklen = 8 - ciph = None - nkeys = 1 - checkval = os.urandom(4) - comment = b"" - - # encode public and private parts together - f_public_key = _FragList() - f_public_key.put_sshstr(key_type) - kformat.encode_public(private_key.public_key(), f_public_key) - - f_secrets = _FragList([checkval, checkval]) - f_secrets.put_sshstr(key_type) - kformat.encode_private(private_key, f_secrets) - f_secrets.put_sshstr(comment) - f_secrets.put_raw(_PADDING[: blklen - (f_secrets.size() % blklen)]) - - # top-level structure - f_main = _FragList() - f_main.put_raw(_SK_MAGIC) - f_main.put_sshstr(ciphername) - f_main.put_sshstr(kdfname) - f_main.put_sshstr(f_kdfoptions) - f_main.put_u32(nkeys) - f_main.put_sshstr(f_public_key) - f_main.put_sshstr(f_secrets) - - # copy result info bytearray - slen = f_secrets.size() - mlen = f_main.size() - buf = memoryview(bytearray(mlen + blklen)) - f_main.render(buf) - ofs = mlen - slen - - # encrypt in-place - if ciph is not None: - ciph.encryptor().update_into(buf[ofs:mlen], buf[ofs:]) - - txt = _ssh_pem_encode(buf[:mlen]) - buf[ofs:mlen] = bytearray(slen) - return txt - - -def load_ssh_public_key(data, backend=None): - """Load public key from OpenSSH one-line format.""" - backend = _get_backend(backend) - utils._check_byteslike("data", data) - - m = _SSH_PUBKEY_RC.match(data) - if not m: - raise ValueError("Invalid line format") - key_type = orig_key_type = m.group(1) - key_body = m.group(2) - with_cert = False - if _CERT_SUFFIX == key_type[-len(_CERT_SUFFIX) :]: - with_cert = True - key_type = key_type[: -len(_CERT_SUFFIX)] - kformat = _lookup_kformat(key_type) - - try: - data = memoryview(binascii.a2b_base64(key_body)) - except (TypeError, binascii.Error): - raise ValueError("Invalid key format") - - inner_key_type, data = _get_sshstr(data) - if inner_key_type != orig_key_type: - raise ValueError("Invalid key format") - if with_cert: - nonce, data = _get_sshstr(data) - public_key, data = kformat.load_public(key_type, data, backend) - if with_cert: - serial, data = _get_u64(data) - cctype, data = _get_u32(data) - key_id, data = _get_sshstr(data) - principals, data = _get_sshstr(data) - valid_after, data = _get_u64(data) - valid_before, data = _get_u64(data) - crit_options, data = _get_sshstr(data) - extensions, data = _get_sshstr(data) - reserved, data = _get_sshstr(data) - sig_key, data = _get_sshstr(data) - signature, data = _get_sshstr(data) - _check_empty(data) - return public_key - - -def serialize_ssh_public_key(public_key): - """One-line public key format for OpenSSH""" - if isinstance(public_key, ec.EllipticCurvePublicKey): - key_type = _ecdsa_key_type(public_key) - elif isinstance(public_key, rsa.RSAPublicKey): - key_type = _SSH_RSA - elif isinstance(public_key, dsa.DSAPublicKey): - key_type = _SSH_DSA - elif isinstance(public_key, ed25519.Ed25519PublicKey): - key_type = _SSH_ED25519 - else: - raise ValueError("Unsupported key type") - kformat = _lookup_kformat(key_type) - - f_pub = _FragList() - f_pub.put_sshstr(key_type) - kformat.encode_public(public_key, f_pub) - - pub = binascii.b2a_base64(f_pub.tobytes()).strip() - return b"".join([key_type, b" ", pub]) +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import binascii +import os +import re +import struct + +import six + +from cryptography import utils +from cryptography.exceptions import UnsupportedAlgorithm +from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.primitives.asymmetric import dsa, ec, ed25519, rsa +from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes +from cryptography.hazmat.primitives.serialization import ( + Encoding, + NoEncryption, + PrivateFormat, + PublicFormat, +) + +try: + from bcrypt import kdf as _bcrypt_kdf + + _bcrypt_supported = True +except ImportError: + _bcrypt_supported = False + + def _bcrypt_kdf(*args, **kwargs): + raise UnsupportedAlgorithm("Need bcrypt module") + + +try: + from base64 import encodebytes as _base64_encode +except ImportError: + from base64 import encodestring as _base64_encode + +_SSH_ED25519 = b"ssh-ed25519" +_SSH_RSA = b"ssh-rsa" +_SSH_DSA = b"ssh-dss" +_ECDSA_NISTP256 = b"ecdsa-sha2-nistp256" +_ECDSA_NISTP384 = b"ecdsa-sha2-nistp384" +_ECDSA_NISTP521 = b"ecdsa-sha2-nistp521" +_CERT_SUFFIX = b"-cert-v01@openssh.com" + +_SSH_PUBKEY_RC = re.compile(br"\A(\S+)[ \t]+(\S+)") +_SK_MAGIC = b"openssh-key-v1\0" +_SK_START = b"-----BEGIN OPENSSH PRIVATE KEY-----" +_SK_END = b"-----END OPENSSH PRIVATE KEY-----" +_BCRYPT = b"bcrypt" +_NONE = b"none" +_DEFAULT_CIPHER = b"aes256-ctr" +_DEFAULT_ROUNDS = 16 +_MAX_PASSWORD = 72 + +# re is only way to work on bytes-like data +_PEM_RC = re.compile(_SK_START + b"(.*?)" + _SK_END, re.DOTALL) + +# padding for max blocksize +_PADDING = memoryview(bytearray(range(1, 1 + 16))) + +# ciphers that are actually used in key wrapping +_SSH_CIPHERS = { + b"aes256-ctr": (algorithms.AES, 32, modes.CTR, 16), + b"aes256-cbc": (algorithms.AES, 32, modes.CBC, 16), +} + +# map local curve name to key type +_ECDSA_KEY_TYPE = { + "secp256r1": _ECDSA_NISTP256, + "secp384r1": _ECDSA_NISTP384, + "secp521r1": _ECDSA_NISTP521, +} + +_U32 = struct.Struct(b">I") +_U64 = struct.Struct(b">Q") + + +def _ecdsa_key_type(public_key): + """Return SSH key_type and curve_name for private key.""" + curve = public_key.curve + if curve.name not in _ECDSA_KEY_TYPE: + raise ValueError( + "Unsupported curve for ssh private key: %r" % curve.name + ) + return _ECDSA_KEY_TYPE[curve.name] + + +def _ssh_pem_encode(data, prefix=_SK_START + b"\n", suffix=_SK_END + b"\n"): + return b"".join([prefix, _base64_encode(data), suffix]) + + +def _check_block_size(data, block_len): + """Require data to be full blocks""" + if not data or len(data) % block_len != 0: + raise ValueError("Corrupt data: missing padding") + + +def _check_empty(data): + """All data should have been parsed.""" + if data: + raise ValueError("Corrupt data: unparsed data") + + +def _init_cipher(ciphername, password, salt, rounds, backend): + """Generate key + iv and return cipher.""" + if not password: + raise ValueError("Key is password-protected.") + + algo, key_len, mode, iv_len = _SSH_CIPHERS[ciphername] + seed = _bcrypt_kdf(password, salt, key_len + iv_len, rounds, True) + return Cipher(algo(seed[:key_len]), mode(seed[key_len:]), backend) + + +def _get_u32(data): + """Uint32""" + if len(data) < 4: + raise ValueError("Invalid data") + return _U32.unpack(data[:4])[0], data[4:] + + +def _get_u64(data): + """Uint64""" + if len(data) < 8: + raise ValueError("Invalid data") + return _U64.unpack(data[:8])[0], data[8:] + + +def _get_sshstr(data): + """Bytes with u32 length prefix""" + n, data = _get_u32(data) + if n > len(data): + raise ValueError("Invalid data") + return data[:n], data[n:] + + +def _get_mpint(data): + """Big integer.""" + val, data = _get_sshstr(data) + if val and six.indexbytes(val, 0) > 0x7F: + raise ValueError("Invalid data") + return utils.int_from_bytes(val, "big"), data + + +def _to_mpint(val): + """Storage format for signed bigint.""" + if val < 0: + raise ValueError("negative mpint not allowed") + if not val: + return b"" + nbytes = (val.bit_length() + 8) // 8 + return utils.int_to_bytes(val, nbytes) + + +class _FragList(object): + """Build recursive structure without data copy.""" + + def __init__(self, init=None): + self.flist = [] + if init: + self.flist.extend(init) + + def put_raw(self, val): + """Add plain bytes""" + self.flist.append(val) + + def put_u32(self, val): + """Big-endian uint32""" + self.flist.append(_U32.pack(val)) + + def put_sshstr(self, val): + """Bytes prefixed with u32 length""" + if isinstance(val, (bytes, memoryview, bytearray)): + self.put_u32(len(val)) + self.flist.append(val) + else: + self.put_u32(val.size()) + self.flist.extend(val.flist) + + def put_mpint(self, val): + """Big-endian bigint prefixed with u32 length""" + self.put_sshstr(_to_mpint(val)) + + def size(self): + """Current number of bytes""" + return sum(map(len, self.flist)) + + def render(self, dstbuf, pos=0): + """Write into bytearray""" + for frag in self.flist: + flen = len(frag) + start, pos = pos, pos + flen + dstbuf[start:pos] = frag + return pos + + def tobytes(self): + """Return as bytes""" + buf = memoryview(bytearray(self.size())) + self.render(buf) + return buf.tobytes() + + +class _SSHFormatRSA(object): + """Format for RSA keys. + + Public: + mpint e, n + Private: + mpint n, e, d, iqmp, p, q + """ + + def get_public(self, data): + """RSA public fields""" + e, data = _get_mpint(data) + n, data = _get_mpint(data) + return (e, n), data + + def load_public(self, key_type, data, backend): + """Make RSA public key from data.""" + (e, n), data = self.get_public(data) + public_numbers = rsa.RSAPublicNumbers(e, n) + public_key = public_numbers.public_key(backend) + return public_key, data + + def load_private(self, data, pubfields, backend): + """Make RSA private key from data.""" + n, data = _get_mpint(data) + e, data = _get_mpint(data) + d, data = _get_mpint(data) + iqmp, data = _get_mpint(data) + p, data = _get_mpint(data) + q, data = _get_mpint(data) + + if (e, n) != pubfields: + raise ValueError("Corrupt data: rsa field mismatch") + dmp1 = rsa.rsa_crt_dmp1(d, p) + dmq1 = rsa.rsa_crt_dmq1(d, q) + public_numbers = rsa.RSAPublicNumbers(e, n) + private_numbers = rsa.RSAPrivateNumbers( + p, q, d, dmp1, dmq1, iqmp, public_numbers + ) + private_key = private_numbers.private_key(backend) + return private_key, data + + def encode_public(self, public_key, f_pub): + """Write RSA public key""" + pubn = public_key.public_numbers() + f_pub.put_mpint(pubn.e) + f_pub.put_mpint(pubn.n) + + def encode_private(self, private_key, f_priv): + """Write RSA private key""" + private_numbers = private_key.private_numbers() + public_numbers = private_numbers.public_numbers + + f_priv.put_mpint(public_numbers.n) + f_priv.put_mpint(public_numbers.e) + + f_priv.put_mpint(private_numbers.d) + f_priv.put_mpint(private_numbers.iqmp) + f_priv.put_mpint(private_numbers.p) + f_priv.put_mpint(private_numbers.q) + + +class _SSHFormatDSA(object): + """Format for DSA keys. + + Public: + mpint p, q, g, y + Private: + mpint p, q, g, y, x + """ + + def get_public(self, data): + """DSA public fields""" + p, data = _get_mpint(data) + q, data = _get_mpint(data) + g, data = _get_mpint(data) + y, data = _get_mpint(data) + return (p, q, g, y), data + + def load_public(self, key_type, data, backend): + """Make DSA public key from data.""" + (p, q, g, y), data = self.get_public(data) + parameter_numbers = dsa.DSAParameterNumbers(p, q, g) + public_numbers = dsa.DSAPublicNumbers(y, parameter_numbers) + self._validate(public_numbers) + public_key = public_numbers.public_key(backend) + return public_key, data + + def load_private(self, data, pubfields, backend): + """Make DSA private key from data.""" + (p, q, g, y), data = self.get_public(data) + x, data = _get_mpint(data) + + if (p, q, g, y) != pubfields: + raise ValueError("Corrupt data: dsa field mismatch") + parameter_numbers = dsa.DSAParameterNumbers(p, q, g) + public_numbers = dsa.DSAPublicNumbers(y, parameter_numbers) + self._validate(public_numbers) + private_numbers = dsa.DSAPrivateNumbers(x, public_numbers) + private_key = private_numbers.private_key(backend) + return private_key, data + + def encode_public(self, public_key, f_pub): + """Write DSA public key""" + public_numbers = public_key.public_numbers() + parameter_numbers = public_numbers.parameter_numbers + self._validate(public_numbers) + + f_pub.put_mpint(parameter_numbers.p) + f_pub.put_mpint(parameter_numbers.q) + f_pub.put_mpint(parameter_numbers.g) + f_pub.put_mpint(public_numbers.y) + + def encode_private(self, private_key, f_priv): + """Write DSA private key""" + self.encode_public(private_key.public_key(), f_priv) + f_priv.put_mpint(private_key.private_numbers().x) + + def _validate(self, public_numbers): + parameter_numbers = public_numbers.parameter_numbers + if parameter_numbers.p.bit_length() != 1024: + raise ValueError("SSH supports only 1024 bit DSA keys") + + +class _SSHFormatECDSA(object): + """Format for ECDSA keys. + + Public: + str curve + bytes point + Private: + str curve + bytes point + mpint secret + """ + + def __init__(self, ssh_curve_name, curve): + self.ssh_curve_name = ssh_curve_name + self.curve = curve + + def get_public(self, data): + """ECDSA public fields""" + curve, data = _get_sshstr(data) + point, data = _get_sshstr(data) + if curve != self.ssh_curve_name: + raise ValueError("Curve name mismatch") + if six.indexbytes(point, 0) != 4: + raise NotImplementedError("Need uncompressed point") + return (curve, point), data + + def load_public(self, key_type, data, backend): + """Make ECDSA public key from data.""" + (curve_name, point), data = self.get_public(data) + public_key = ec.EllipticCurvePublicKey.from_encoded_point( + self.curve, point.tobytes() + ) + return public_key, data + + def load_private(self, data, pubfields, backend): + """Make ECDSA private key from data.""" + (curve_name, point), data = self.get_public(data) + secret, data = _get_mpint(data) + + if (curve_name, point) != pubfields: + raise ValueError("Corrupt data: ecdsa field mismatch") + private_key = ec.derive_private_key(secret, self.curve, backend) + return private_key, data + + def encode_public(self, public_key, f_pub): + """Write ECDSA public key""" + point = public_key.public_bytes( + Encoding.X962, PublicFormat.UncompressedPoint + ) + f_pub.put_sshstr(self.ssh_curve_name) + f_pub.put_sshstr(point) + + def encode_private(self, private_key, f_priv): + """Write ECDSA private key""" + public_key = private_key.public_key() + private_numbers = private_key.private_numbers() + + self.encode_public(public_key, f_priv) + f_priv.put_mpint(private_numbers.private_value) + + +class _SSHFormatEd25519(object): + """Format for Ed25519 keys. + + Public: + bytes point + Private: + bytes point + bytes secret_and_point + """ + + def get_public(self, data): + """Ed25519 public fields""" + point, data = _get_sshstr(data) + return (point,), data + + def load_public(self, key_type, data, backend): + """Make Ed25519 public key from data.""" + (point,), data = self.get_public(data) + public_key = ed25519.Ed25519PublicKey.from_public_bytes( + point.tobytes() + ) + return public_key, data + + def load_private(self, data, pubfields, backend): + """Make Ed25519 private key from data.""" + (point,), data = self.get_public(data) + keypair, data = _get_sshstr(data) + + secret = keypair[:32] + point2 = keypair[32:] + if point != point2 or (point,) != pubfields: + raise ValueError("Corrupt data: ed25519 field mismatch") + private_key = ed25519.Ed25519PrivateKey.from_private_bytes(secret) + return private_key, data + + def encode_public(self, public_key, f_pub): + """Write Ed25519 public key""" + raw_public_key = public_key.public_bytes( + Encoding.Raw, PublicFormat.Raw + ) + f_pub.put_sshstr(raw_public_key) + + def encode_private(self, private_key, f_priv): + """Write Ed25519 private key""" + public_key = private_key.public_key() + raw_private_key = private_key.private_bytes( + Encoding.Raw, PrivateFormat.Raw, NoEncryption() + ) + raw_public_key = public_key.public_bytes( + Encoding.Raw, PublicFormat.Raw + ) + f_keypair = _FragList([raw_private_key, raw_public_key]) + + self.encode_public(public_key, f_priv) + f_priv.put_sshstr(f_keypair) + + +_KEY_FORMATS = { + _SSH_RSA: _SSHFormatRSA(), + _SSH_DSA: _SSHFormatDSA(), + _SSH_ED25519: _SSHFormatEd25519(), + _ECDSA_NISTP256: _SSHFormatECDSA(b"nistp256", ec.SECP256R1()), + _ECDSA_NISTP384: _SSHFormatECDSA(b"nistp384", ec.SECP384R1()), + _ECDSA_NISTP521: _SSHFormatECDSA(b"nistp521", ec.SECP521R1()), +} + + +def _lookup_kformat(key_type): + """Return valid format or throw error""" + if not isinstance(key_type, bytes): + key_type = memoryview(key_type).tobytes() + if key_type in _KEY_FORMATS: + return _KEY_FORMATS[key_type] + raise UnsupportedAlgorithm("Unsupported key type: %r" % key_type) + + +def load_ssh_private_key(data, password, backend=None): + """Load private key from OpenSSH custom encoding.""" + utils._check_byteslike("data", data) + backend = _get_backend(backend) + if password is not None: + utils._check_bytes("password", password) + + m = _PEM_RC.search(data) + if not m: + raise ValueError("Not OpenSSH private key format") + p1 = m.start(1) + p2 = m.end(1) + data = binascii.a2b_base64(memoryview(data)[p1:p2]) + if not data.startswith(_SK_MAGIC): + raise ValueError("Not OpenSSH private key format") + data = memoryview(data)[len(_SK_MAGIC) :] + + # parse header + ciphername, data = _get_sshstr(data) + kdfname, data = _get_sshstr(data) + kdfoptions, data = _get_sshstr(data) + nkeys, data = _get_u32(data) + if nkeys != 1: + raise ValueError("Only one key supported") + + # load public key data + pubdata, data = _get_sshstr(data) + pub_key_type, pubdata = _get_sshstr(pubdata) + kformat = _lookup_kformat(pub_key_type) + pubfields, pubdata = kformat.get_public(pubdata) + _check_empty(pubdata) + + # load secret data + edata, data = _get_sshstr(data) + _check_empty(data) + + if (ciphername, kdfname) != (_NONE, _NONE): + ciphername = ciphername.tobytes() + if ciphername not in _SSH_CIPHERS: + raise UnsupportedAlgorithm("Unsupported cipher: %r" % ciphername) + if kdfname != _BCRYPT: + raise UnsupportedAlgorithm("Unsupported KDF: %r" % kdfname) + blklen = _SSH_CIPHERS[ciphername][3] + _check_block_size(edata, blklen) + salt, kbuf = _get_sshstr(kdfoptions) + rounds, kbuf = _get_u32(kbuf) + _check_empty(kbuf) + ciph = _init_cipher( + ciphername, password, salt.tobytes(), rounds, backend + ) + edata = memoryview(ciph.decryptor().update(edata)) + else: + blklen = 8 + _check_block_size(edata, blklen) + ck1, edata = _get_u32(edata) + ck2, edata = _get_u32(edata) + if ck1 != ck2: + raise ValueError("Corrupt data: broken checksum") + + # load per-key struct + key_type, edata = _get_sshstr(edata) + if key_type != pub_key_type: + raise ValueError("Corrupt data: key type mismatch") + private_key, edata = kformat.load_private(edata, pubfields, backend) + comment, edata = _get_sshstr(edata) + + # yes, SSH does padding check *after* all other parsing is done. + # need to follow as it writes zero-byte padding too. + if edata != _PADDING[: len(edata)]: + raise ValueError("Corrupt data: invalid padding") + + return private_key + + +def serialize_ssh_private_key(private_key, password=None): + """Serialize private key with OpenSSH custom encoding.""" + if password is not None: + utils._check_bytes("password", password) + if password and len(password) > _MAX_PASSWORD: + raise ValueError( + "Passwords longer than 72 bytes are not supported by " + "OpenSSH private key format" + ) + + if isinstance(private_key, ec.EllipticCurvePrivateKey): + key_type = _ecdsa_key_type(private_key.public_key()) + elif isinstance(private_key, rsa.RSAPrivateKey): + key_type = _SSH_RSA + elif isinstance(private_key, dsa.DSAPrivateKey): + key_type = _SSH_DSA + elif isinstance(private_key, ed25519.Ed25519PrivateKey): + key_type = _SSH_ED25519 + else: + raise ValueError("Unsupported key type") + kformat = _lookup_kformat(key_type) + + # setup parameters + f_kdfoptions = _FragList() + if password: + ciphername = _DEFAULT_CIPHER + blklen = _SSH_CIPHERS[ciphername][3] + kdfname = _BCRYPT + rounds = _DEFAULT_ROUNDS + salt = os.urandom(16) + f_kdfoptions.put_sshstr(salt) + f_kdfoptions.put_u32(rounds) + backend = _get_backend(None) + ciph = _init_cipher(ciphername, password, salt, rounds, backend) + else: + ciphername = kdfname = _NONE + blklen = 8 + ciph = None + nkeys = 1 + checkval = os.urandom(4) + comment = b"" + + # encode public and private parts together + f_public_key = _FragList() + f_public_key.put_sshstr(key_type) + kformat.encode_public(private_key.public_key(), f_public_key) + + f_secrets = _FragList([checkval, checkval]) + f_secrets.put_sshstr(key_type) + kformat.encode_private(private_key, f_secrets) + f_secrets.put_sshstr(comment) + f_secrets.put_raw(_PADDING[: blklen - (f_secrets.size() % blklen)]) + + # top-level structure + f_main = _FragList() + f_main.put_raw(_SK_MAGIC) + f_main.put_sshstr(ciphername) + f_main.put_sshstr(kdfname) + f_main.put_sshstr(f_kdfoptions) + f_main.put_u32(nkeys) + f_main.put_sshstr(f_public_key) + f_main.put_sshstr(f_secrets) + + # copy result info bytearray + slen = f_secrets.size() + mlen = f_main.size() + buf = memoryview(bytearray(mlen + blklen)) + f_main.render(buf) + ofs = mlen - slen + + # encrypt in-place + if ciph is not None: + ciph.encryptor().update_into(buf[ofs:mlen], buf[ofs:]) + + txt = _ssh_pem_encode(buf[:mlen]) + buf[ofs:mlen] = bytearray(slen) + return txt + + +def load_ssh_public_key(data, backend=None): + """Load public key from OpenSSH one-line format.""" + backend = _get_backend(backend) + utils._check_byteslike("data", data) + + m = _SSH_PUBKEY_RC.match(data) + if not m: + raise ValueError("Invalid line format") + key_type = orig_key_type = m.group(1) + key_body = m.group(2) + with_cert = False + if _CERT_SUFFIX == key_type[-len(_CERT_SUFFIX) :]: + with_cert = True + key_type = key_type[: -len(_CERT_SUFFIX)] + kformat = _lookup_kformat(key_type) + + try: + data = memoryview(binascii.a2b_base64(key_body)) + except (TypeError, binascii.Error): + raise ValueError("Invalid key format") + + inner_key_type, data = _get_sshstr(data) + if inner_key_type != orig_key_type: + raise ValueError("Invalid key format") + if with_cert: + nonce, data = _get_sshstr(data) + public_key, data = kformat.load_public(key_type, data, backend) + if with_cert: + serial, data = _get_u64(data) + cctype, data = _get_u32(data) + key_id, data = _get_sshstr(data) + principals, data = _get_sshstr(data) + valid_after, data = _get_u64(data) + valid_before, data = _get_u64(data) + crit_options, data = _get_sshstr(data) + extensions, data = _get_sshstr(data) + reserved, data = _get_sshstr(data) + sig_key, data = _get_sshstr(data) + signature, data = _get_sshstr(data) + _check_empty(data) + return public_key + + +def serialize_ssh_public_key(public_key): + """One-line public key format for OpenSSH""" + if isinstance(public_key, ec.EllipticCurvePublicKey): + key_type = _ecdsa_key_type(public_key) + elif isinstance(public_key, rsa.RSAPublicKey): + key_type = _SSH_RSA + elif isinstance(public_key, dsa.DSAPublicKey): + key_type = _SSH_DSA + elif isinstance(public_key, ed25519.Ed25519PublicKey): + key_type = _SSH_ED25519 + else: + raise ValueError("Unsupported key type") + kformat = _lookup_kformat(key_type) + + f_pub = _FragList() + f_pub.put_sshstr(key_type) + kformat.encode_public(public_key, f_pub) + + pub = binascii.b2a_base64(f_pub.tobytes()).strip() + return b"".join([key_type, b" ", pub]) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/hotp.py b/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/hotp.py index c32795ca76..c00eec0e54 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/hotp.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/hotp.py @@ -8,8 +8,8 @@ import struct import six -from cryptography.exceptions import UnsupportedAlgorithm, _Reasons -from cryptography.hazmat.backends import _get_backend +from cryptography.exceptions import UnsupportedAlgorithm, _Reasons +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import HMACBackend from cryptography.hazmat.primitives import constant_time, hmac from cryptography.hazmat.primitives.hashes import SHA1, SHA256, SHA512 @@ -18,14 +18,14 @@ from cryptography.hazmat.primitives.twofactor.utils import _generate_uri class HOTP(object): - def __init__( - self, key, length, algorithm, backend=None, enforce_key_length=True - ): - backend = _get_backend(backend) + def __init__( + self, key, length, algorithm, backend=None, enforce_key_length=True + ): + backend = _get_backend(backend) if not isinstance(backend, HMACBackend): raise UnsupportedAlgorithm( "Backend object does not implement HMACBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) if len(key) < 16 and enforce_key_length is True: @@ -60,10 +60,10 @@ class HOTP(object): hmac_value = ctx.finalize() offset = six.indexbytes(hmac_value, len(hmac_value) - 1) & 0b1111 - p = hmac_value[offset : offset + 4] - return struct.unpack(">I", p)[0] & 0x7FFFFFFF + p = hmac_value[offset : offset + 4] + return struct.unpack(">I", p)[0] & 0x7FFFFFFF def get_provisioning_uri(self, account_name, counter, issuer): - return _generate_uri( - self, "hotp", account_name, issuer, [("counter", int(counter))] - ) + return _generate_uri( + self, "hotp", account_name, issuer, [("counter", int(counter))] + ) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/totp.py b/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/totp.py index 9387a31377..d59539b3f9 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/totp.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/totp.py @@ -4,8 +4,8 @@ from __future__ import absolute_import, division, print_function -from cryptography.exceptions import UnsupportedAlgorithm, _Reasons -from cryptography.hazmat.backends import _get_backend +from cryptography.exceptions import UnsupportedAlgorithm, _Reasons +from cryptography.hazmat.backends import _get_backend from cryptography.hazmat.backends.interfaces import HMACBackend from cryptography.hazmat.primitives import constant_time from cryptography.hazmat.primitives.twofactor import InvalidToken @@ -14,20 +14,20 @@ from cryptography.hazmat.primitives.twofactor.utils import _generate_uri class TOTP(object): - def __init__( - self, - key, - length, - algorithm, - time_step, - backend=None, - enforce_key_length=True, - ): - backend = _get_backend(backend) + def __init__( + self, + key, + length, + algorithm, + time_step, + backend=None, + enforce_key_length=True, + ): + backend = _get_backend(backend) if not isinstance(backend, HMACBackend): raise UnsupportedAlgorithm( "Backend object does not implement HMACBackend.", - _Reasons.BACKEND_MISSING_INTERFACE, + _Reasons.BACKEND_MISSING_INTERFACE, ) self._time_step = time_step @@ -42,10 +42,10 @@ class TOTP(object): raise InvalidToken("Supplied TOTP value does not match.") def get_provisioning_uri(self, account_name, issuer): - return _generate_uri( - self._hotp, - "totp", - account_name, - issuer, - [("period", int(self._time_step))], - ) + return _generate_uri( + self._hotp, + "totp", + account_name, + issuer, + [("period", int(self._time_step))], + ) diff --git a/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/utils.py b/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/utils.py index 3898936441..0afa1ccc04 100644 --- a/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/utils.py +++ b/contrib/python/cryptography/cryptography/hazmat/primitives/twofactor/utils.py @@ -23,11 +23,11 @@ def _generate_uri(hotp, type_name, account_name, issuer, extra_parameters): uriparts = { "type": type_name, - "label": ( - "%s:%s" % (quote(issuer), quote(account_name)) - if issuer - else quote(account_name) - ), + "label": ( + "%s:%s" % (quote(issuer), quote(account_name)) + if issuer + else quote(account_name) + ), "parameters": urlencode(parameters), } return "otpauth://{type}/{label}?{parameters}".format(**uriparts) diff --git a/contrib/python/cryptography/cryptography/utils.py b/contrib/python/cryptography/cryptography/utils.py index 9d83d682cd..bdb3dbf477 100644 --- a/contrib/python/cryptography/cryptography/utils.py +++ b/contrib/python/cryptography/cryptography/utils.py @@ -11,31 +11,31 @@ import sys import warnings -# We use a UserWarning subclass, instead of DeprecationWarning, because CPython -# decided deprecation warnings should be invisble by default. -class CryptographyDeprecationWarning(UserWarning): - pass - - -# Several APIs were deprecated with no specific end-of-life date because of the -# ubiquity of their use. They should not be removed until we agree on when that -# cycle ends. -PersistentlyDeprecated2017 = CryptographyDeprecationWarning -PersistentlyDeprecated2019 = CryptographyDeprecationWarning - - -def _check_bytes(name, value): - if not isinstance(value, bytes): - raise TypeError("{} must be bytes".format(name)) - - -def _check_byteslike(name, value): - try: - memoryview(value) - except TypeError: - raise TypeError("{} must be bytes-like".format(name)) - - +# We use a UserWarning subclass, instead of DeprecationWarning, because CPython +# decided deprecation warnings should be invisble by default. +class CryptographyDeprecationWarning(UserWarning): + pass + + +# Several APIs were deprecated with no specific end-of-life date because of the +# ubiquity of their use. They should not be removed until we agree on when that +# cycle ends. +PersistentlyDeprecated2017 = CryptographyDeprecationWarning +PersistentlyDeprecated2019 = CryptographyDeprecationWarning + + +def _check_bytes(name, value): + if not isinstance(value, bytes): + raise TypeError("{} must be bytes".format(name)) + + +def _check_byteslike(name, value): + try: + memoryview(value) + except TypeError: + raise TypeError("{} must be bytes-like".format(name)) + + def read_only_property(name): return property(lambda self: getattr(self, name)) @@ -45,7 +45,7 @@ def register_interface(iface): verify_interface(iface, klass) iface.register(klass) return klass - + return register_decorator @@ -55,38 +55,38 @@ def register_interface_if(predicate, iface): verify_interface(iface, klass) iface.register(klass) return klass - + return register_decorator if hasattr(int, "from_bytes"): int_from_bytes = int.from_bytes else: - + def int_from_bytes(data, byteorder, signed=False): - assert byteorder == "big" + assert byteorder == "big" assert not signed - return int(binascii.hexlify(data), 16) + return int(binascii.hexlify(data), 16) + + +if hasattr(int, "to_bytes"): + + def int_to_bytes(integer, length=None): + return integer.to_bytes( + length or (integer.bit_length() + 7) // 8 or 1, "big" + ) + +else: -if hasattr(int, "to_bytes"): - - def int_to_bytes(integer, length=None): - return integer.to_bytes( - length or (integer.bit_length() + 7) // 8 or 1, "big" - ) - - -else: - - def int_to_bytes(integer, length=None): - hex_string = "%x" % integer - if length is None: - n = len(hex_string) - else: - n = length * 2 - return binascii.unhexlify(hex_string.zfill(n + (n & 1))) + def int_to_bytes(integer, length=None): + hex_string = "%x" % integer + if length is None: + n = len(hex_string) + else: + n = length * 2 + return binascii.unhexlify(hex_string.zfill(n + (n & 1))) class InterfaceNotImplemented(Exception): @@ -103,7 +103,7 @@ def verify_interface(iface, klass): for method in iface.__abstractmethods__: if not hasattr(klass, method): raise InterfaceNotImplemented( - "{} is missing a {!r} method".format(klass, method) + "{} is missing a {!r} method".format(klass, method) ) if isinstance(getattr(iface, method), abc.abstractproperty): # Can't properly verify these yet. @@ -112,8 +112,8 @@ def verify_interface(iface, klass): actual = signature(getattr(klass, method)) if sig != actual: raise InterfaceNotImplemented( - "{}.{}'s signature differs from the expected. Expected: " - "{!r}. Received: {!r}".format(klass, method, sig, actual) + "{}.{}'s signature differs from the expected. Expected: " + "{!r}. Received: {!r}".format(klass, method, sig, actual) ) @@ -152,20 +152,20 @@ class _ModuleWithDeprecations(object): def deprecated(value, module_name, message, warning_class): module = sys.modules[module_name] if not isinstance(module, _ModuleWithDeprecations): - sys.modules[module_name] = _ModuleWithDeprecations(module) + sys.modules[module_name] = _ModuleWithDeprecations(module) return _DeprecatedValue(value, message, warning_class) - - -def cached_property(func): - cached_name = "_cached_{}".format(func) - sentinel = object() - - def inner(instance): - cache = getattr(instance, cached_name, sentinel) - if cache is not sentinel: - return cache - result = func(instance) - setattr(instance, cached_name, result) - return result - - return property(inner) + + +def cached_property(func): + cached_name = "_cached_{}".format(func) + sentinel = object() + + def inner(instance): + cache = getattr(instance, cached_name, sentinel) + if cache is not sentinel: + return cache + result = func(instance) + setattr(instance, cached_name, result) + return result + + return property(inner) diff --git a/contrib/python/cryptography/cryptography/x509/__init__.py b/contrib/python/cryptography/cryptography/x509/__init__.py index ece8c9831b..69630e4cba 100644 --- a/contrib/python/cryptography/cryptography/x509/__init__.py +++ b/contrib/python/cryptography/cryptography/x509/__init__.py @@ -4,97 +4,97 @@ from __future__ import absolute_import, division, print_function -from cryptography.x509 import certificate_transparency +from cryptography.x509 import certificate_transparency from cryptography.x509.base import ( - AttributeNotFound, - Certificate, - CertificateBuilder, - CertificateRevocationList, + AttributeNotFound, + Certificate, + CertificateBuilder, + CertificateRevocationList, CertificateRevocationListBuilder, - CertificateSigningRequest, - CertificateSigningRequestBuilder, - InvalidVersion, - RevokedCertificate, - RevokedCertificateBuilder, - Version, - load_der_x509_certificate, - load_der_x509_crl, - load_der_x509_csr, - load_pem_x509_certificate, - load_pem_x509_crl, - load_pem_x509_csr, + CertificateSigningRequest, + CertificateSigningRequestBuilder, + InvalidVersion, + RevokedCertificate, + RevokedCertificateBuilder, + Version, + load_der_x509_certificate, + load_der_x509_crl, + load_der_x509_csr, + load_pem_x509_certificate, + load_pem_x509_crl, + load_pem_x509_csr, random_serial_number, ) from cryptography.x509.extensions import ( - AccessDescription, - AuthorityInformationAccess, - AuthorityKeyIdentifier, - BasicConstraints, - CRLDistributionPoints, - CRLNumber, - CRLReason, - CertificateIssuer, - CertificatePolicies, - DeltaCRLIndicator, - DistributionPoint, - DuplicateExtension, - ExtendedKeyUsage, - Extension, - ExtensionNotFound, - ExtensionType, - Extensions, - FreshestCRL, - GeneralNames, - InhibitAnyPolicy, - InvalidityDate, - IssuerAlternativeName, - IssuingDistributionPoint, - KeyUsage, - NameConstraints, - NoticeReference, - OCSPNoCheck, - OCSPNonce, - PolicyConstraints, - PolicyInformation, - PrecertPoison, - PrecertificateSignedCertificateTimestamps, - ReasonFlags, - SignedCertificateTimestamps, - SubjectAlternativeName, - SubjectInformationAccess, - SubjectKeyIdentifier, - TLSFeature, - TLSFeatureType, - UnrecognizedExtension, - UserNotice, + AccessDescription, + AuthorityInformationAccess, + AuthorityKeyIdentifier, + BasicConstraints, + CRLDistributionPoints, + CRLNumber, + CRLReason, + CertificateIssuer, + CertificatePolicies, + DeltaCRLIndicator, + DistributionPoint, + DuplicateExtension, + ExtendedKeyUsage, + Extension, + ExtensionNotFound, + ExtensionType, + Extensions, + FreshestCRL, + GeneralNames, + InhibitAnyPolicy, + InvalidityDate, + IssuerAlternativeName, + IssuingDistributionPoint, + KeyUsage, + NameConstraints, + NoticeReference, + OCSPNoCheck, + OCSPNonce, + PolicyConstraints, + PolicyInformation, + PrecertPoison, + PrecertificateSignedCertificateTimestamps, + ReasonFlags, + SignedCertificateTimestamps, + SubjectAlternativeName, + SubjectInformationAccess, + SubjectKeyIdentifier, + TLSFeature, + TLSFeatureType, + UnrecognizedExtension, + UserNotice, ) from cryptography.x509.general_name import ( - DNSName, - DirectoryName, - GeneralName, - IPAddress, - OtherName, - RFC822Name, - RegisteredID, - UniformResourceIdentifier, - UnsupportedGeneralNameType, - _GENERAL_NAMES, + DNSName, + DirectoryName, + GeneralName, + IPAddress, + OtherName, + RFC822Name, + RegisteredID, + UniformResourceIdentifier, + UnsupportedGeneralNameType, + _GENERAL_NAMES, ) from cryptography.x509.name import ( - Name, - NameAttribute, - RelativeDistinguishedName, + Name, + NameAttribute, + RelativeDistinguishedName, ) from cryptography.x509.oid import ( - AuthorityInformationAccessOID, - CRLEntryExtensionOID, - CertificatePoliciesOID, - ExtendedKeyUsageOID, - ExtensionOID, - NameOID, - ObjectIdentifier, - SignatureAlgorithmOID, - _SIG_OIDS_TO_HASH, + AuthorityInformationAccessOID, + CRLEntryExtensionOID, + CertificatePoliciesOID, + ExtendedKeyUsageOID, + ExtensionOID, + NameOID, + ObjectIdentifier, + SignatureAlgorithmOID, + _SIG_OIDS_TO_HASH, ) @@ -131,7 +131,7 @@ OID_RSA_WITH_SHA224 = SignatureAlgorithmOID.RSA_WITH_SHA224 OID_RSA_WITH_SHA256 = SignatureAlgorithmOID.RSA_WITH_SHA256 OID_RSA_WITH_SHA384 = SignatureAlgorithmOID.RSA_WITH_SHA384 OID_RSA_WITH_SHA512 = SignatureAlgorithmOID.RSA_WITH_SHA512 -OID_RSASSA_PSS = SignatureAlgorithmOID.RSASSA_PSS +OID_RSASSA_PSS = SignatureAlgorithmOID.RSASSA_PSS OID_COMMON_NAME = NameOID.COMMON_NAME OID_COUNTRY_NAME = NameOID.COUNTRY_NAME @@ -168,7 +168,7 @@ OID_CA_ISSUERS = AuthorityInformationAccessOID.CA_ISSUERS OID_OCSP = AuthorityInformationAccessOID.OCSP __all__ = [ - "certificate_transparency", + "certificate_transparency", "load_pem_x509_certificate", "load_der_x509_certificate", "load_pem_x509_csr", @@ -176,9 +176,9 @@ __all__ = [ "load_pem_x509_crl", "load_der_x509_crl", "random_serial_number", - "AttributeNotFound", + "AttributeNotFound", "InvalidVersion", - "DeltaCRLIndicator", + "DeltaCRLIndicator", "DuplicateExtension", "ExtensionNotFound", "UnsupportedGeneralNameType", @@ -190,16 +190,16 @@ __all__ = [ "Extensions", "Extension", "ExtendedKeyUsage", - "FreshestCRL", - "IssuingDistributionPoint", - "TLSFeature", - "TLSFeatureType", + "FreshestCRL", + "IssuingDistributionPoint", + "TLSFeature", + "TLSFeatureType", "OCSPNoCheck", "BasicConstraints", "CRLNumber", "KeyUsage", "AuthorityInformationAccess", - "SubjectInformationAccess", + "SubjectInformationAccess", "AccessDescription", "CertificatePolicies", "PolicyInformation", @@ -241,8 +241,8 @@ __all__ = [ "InvalidityDate", "UnrecognizedExtension", "PolicyConstraints", - "PrecertificateSignedCertificateTimestamps", - "PrecertPoison", - "OCSPNonce", - "SignedCertificateTimestamps", + "PrecertificateSignedCertificateTimestamps", + "PrecertPoison", + "OCSPNonce", + "SignedCertificateTimestamps", ] diff --git a/contrib/python/cryptography/cryptography/x509/base.py b/contrib/python/cryptography/cryptography/x509/base.py index 6bac47947c..f3bc872b94 100644 --- a/contrib/python/cryptography/cryptography/x509/base.py +++ b/contrib/python/cryptography/cryptography/x509/base.py @@ -12,42 +12,42 @@ from enum import Enum import six from cryptography import utils -from cryptography.hazmat.backends import _get_backend -from cryptography.hazmat.primitives.asymmetric import ( - dsa, - ec, - ed25519, - ed448, - rsa, -) +from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.primitives.asymmetric import ( + dsa, + ec, + ed25519, + ed448, + rsa, +) from cryptography.x509.extensions import Extension, ExtensionType from cryptography.x509.name import Name -from cryptography.x509.oid import ObjectIdentifier - - -_EARLIEST_UTC_TIME = datetime.datetime(1950, 1, 1) - - -class AttributeNotFound(Exception): - def __init__(self, msg, oid): - super(AttributeNotFound, self).__init__(msg) - self.oid = oid - - -def _reject_duplicate_extension(extension, extensions): - # This is quadratic in the number of extensions - for e in extensions: - if e.oid == extension.oid: - raise ValueError("This extension has already been set.") - - -def _reject_duplicate_attribute(oid, attributes): - # This is quadratic in the number of attributes - for attr_oid, _ in attributes: - if attr_oid == oid: - raise ValueError("This attribute has already been set.") - - +from cryptography.x509.oid import ObjectIdentifier + + +_EARLIEST_UTC_TIME = datetime.datetime(1950, 1, 1) + + +class AttributeNotFound(Exception): + def __init__(self, msg, oid): + super(AttributeNotFound, self).__init__(msg) + self.oid = oid + + +def _reject_duplicate_extension(extension, extensions): + # This is quadratic in the number of extensions + for e in extensions: + if e.oid == extension.oid: + raise ValueError("This extension has already been set.") + + +def _reject_duplicate_attribute(oid, attributes): + # This is quadratic in the number of attributes + for attr_oid, _ in attributes: + if attr_oid == oid: + raise ValueError("This attribute has already been set.") + + def _convert_to_naive_utc_time(time): """Normalizes a datetime to a naive datetime in UTC. @@ -67,33 +67,33 @@ class Version(Enum): v3 = 2 -def load_pem_x509_certificate(data, backend=None): - backend = _get_backend(backend) +def load_pem_x509_certificate(data, backend=None): + backend = _get_backend(backend) return backend.load_pem_x509_certificate(data) -def load_der_x509_certificate(data, backend=None): - backend = _get_backend(backend) +def load_der_x509_certificate(data, backend=None): + backend = _get_backend(backend) return backend.load_der_x509_certificate(data) -def load_pem_x509_csr(data, backend=None): - backend = _get_backend(backend) +def load_pem_x509_csr(data, backend=None): + backend = _get_backend(backend) return backend.load_pem_x509_csr(data) -def load_der_x509_csr(data, backend=None): - backend = _get_backend(backend) +def load_der_x509_csr(data, backend=None): + backend = _get_backend(backend) return backend.load_der_x509_csr(data) -def load_pem_x509_crl(data, backend=None): - backend = _get_backend(backend) +def load_pem_x509_crl(data, backend=None): + backend = _get_backend(backend) return backend.load_pem_x509_crl(data) -def load_der_x509_crl(data, backend=None): - backend = _get_backend(backend) +def load_der_x509_crl(data, backend=None): + backend = _get_backend(backend) return backend.load_der_x509_crl(data) @@ -223,13 +223,13 @@ class CertificateRevocationList(object): Returns bytes using digest passed. """ - @abc.abstractmethod - def get_revoked_certificate_by_serial_number(self, serial_number): - """ - Returns an instance of RevokedCertificate or None if the serial_number - is not in the CRL. - """ - + @abc.abstractmethod + def get_revoked_certificate_by_serial_number(self, serial_number): + """ + Returns an instance of RevokedCertificate or None if the serial_number + is not in the CRL. + """ + @abc.abstractproperty def signature_hash_algorithm(self): """ @@ -291,31 +291,31 @@ class CertificateRevocationList(object): Checks not equal. """ - @abc.abstractmethod - def __len__(self): - """ - Number of revoked certificates in the CRL. - """ - - @abc.abstractmethod - def __getitem__(self, idx): - """ - Returns a revoked certificate (or slice of revoked certificates). - """ - - @abc.abstractmethod - def __iter__(self): - """ - Iterator over the revoked certificates - """ - - @abc.abstractmethod - def is_signature_valid(self, public_key): - """ - Verifies signature of revocation list against given public key. - """ - - + @abc.abstractmethod + def __len__(self): + """ + Number of revoked certificates in the CRL. + """ + + @abc.abstractmethod + def __getitem__(self, idx): + """ + Returns a revoked certificate (or slice of revoked certificates). + """ + + @abc.abstractmethod + def __iter__(self): + """ + Iterator over the revoked certificates + """ + + @abc.abstractmethod + def is_signature_valid(self, public_key): + """ + Verifies signature of revocation list against given public key. + """ + + @six.add_metaclass(abc.ABCMeta) class CertificateSigningRequest(object): @abc.abstractmethod @@ -392,13 +392,13 @@ class CertificateSigningRequest(object): Verifies signature of signing request. """ - @abc.abstractproperty - def get_attribute_for_oid(self): - """ - Get the attribute value for a given OID. - """ + @abc.abstractproperty + def get_attribute_for_oid(self): + """ + Get the attribute value for a given OID. + """ + - @six.add_metaclass(abc.ABCMeta) class RevokedCertificate(object): @abc.abstractproperty @@ -421,25 +421,25 @@ class RevokedCertificate(object): class CertificateSigningRequestBuilder(object): - def __init__(self, subject_name=None, extensions=[], attributes=[]): + def __init__(self, subject_name=None, extensions=[], attributes=[]): """ Creates an empty X.509 certificate request (v1). """ self._subject_name = subject_name self._extensions = extensions - self._attributes = attributes + self._attributes = attributes def subject_name(self, name): """ Sets the certificate requestor's distinguished name. """ if not isinstance(name, Name): - raise TypeError("Expecting x509.Name object.") + raise TypeError("Expecting x509.Name object.") if self._subject_name is not None: - raise ValueError("The subject name may only be set once.") - return CertificateSigningRequestBuilder( - name, self._extensions, self._attributes - ) + raise ValueError("The subject name may only be set once.") + return CertificateSigningRequestBuilder( + name, self._extensions, self._attributes + ) def add_extension(self, extension, critical): """ @@ -449,53 +449,53 @@ class CertificateSigningRequestBuilder(object): raise TypeError("extension must be an ExtensionType") extension = Extension(extension.oid, critical, extension) - _reject_duplicate_extension(extension, self._extensions) + _reject_duplicate_extension(extension, self._extensions) return CertificateSigningRequestBuilder( - self._subject_name, - self._extensions + [extension], - self._attributes, + self._subject_name, + self._extensions + [extension], + self._attributes, ) - def add_attribute(self, oid, value): - """ - Adds an X.509 attribute with an OID and associated value. - """ - if not isinstance(oid, ObjectIdentifier): - raise TypeError("oid must be an ObjectIdentifier") - - if not isinstance(value, bytes): - raise TypeError("value must be bytes") - - _reject_duplicate_attribute(oid, self._attributes) - - return CertificateSigningRequestBuilder( - self._subject_name, - self._extensions, - self._attributes + [(oid, value)], - ) - - def sign(self, private_key, algorithm, backend=None): - """ + def add_attribute(self, oid, value): + """ + Adds an X.509 attribute with an OID and associated value. + """ + if not isinstance(oid, ObjectIdentifier): + raise TypeError("oid must be an ObjectIdentifier") + + if not isinstance(value, bytes): + raise TypeError("value must be bytes") + + _reject_duplicate_attribute(oid, self._attributes) + + return CertificateSigningRequestBuilder( + self._subject_name, + self._extensions, + self._attributes + [(oid, value)], + ) + + def sign(self, private_key, algorithm, backend=None): + """ Signs the request using the requestor's private key. """ - backend = _get_backend(backend) + backend = _get_backend(backend) if self._subject_name is None: raise ValueError("A CertificateSigningRequest must have a subject") return backend.create_x509_csr(self, private_key, algorithm) class CertificateBuilder(object): - def __init__( - self, - issuer_name=None, - subject_name=None, - public_key=None, - serial_number=None, - not_valid_before=None, - not_valid_after=None, - extensions=[], - ): + def __init__( + self, + issuer_name=None, + subject_name=None, + public_key=None, + serial_number=None, + not_valid_before=None, + not_valid_after=None, + extensions=[], + ): self._version = Version.v3 self._issuer_name = issuer_name self._subject_name = subject_name @@ -510,17 +510,17 @@ class CertificateBuilder(object): Sets the CA's distinguished name. """ if not isinstance(name, Name): - raise TypeError("Expecting x509.Name object.") + raise TypeError("Expecting x509.Name object.") if self._issuer_name is not None: - raise ValueError("The issuer name may only be set once.") + raise ValueError("The issuer name may only be set once.") return CertificateBuilder( - name, - self._subject_name, - self._public_key, - self._serial_number, - self._not_valid_before, - self._not_valid_after, - self._extensions, + name, + self._subject_name, + self._public_key, + self._serial_number, + self._not_valid_before, + self._not_valid_after, + self._extensions, ) def subject_name(self, name): @@ -528,48 +528,48 @@ class CertificateBuilder(object): Sets the requestor's distinguished name. """ if not isinstance(name, Name): - raise TypeError("Expecting x509.Name object.") + raise TypeError("Expecting x509.Name object.") if self._subject_name is not None: - raise ValueError("The subject name may only be set once.") + raise ValueError("The subject name may only be set once.") return CertificateBuilder( - self._issuer_name, - name, - self._public_key, - self._serial_number, - self._not_valid_before, - self._not_valid_after, - self._extensions, + self._issuer_name, + name, + self._public_key, + self._serial_number, + self._not_valid_before, + self._not_valid_after, + self._extensions, ) def public_key(self, key): """ Sets the requestor's public key (as found in the signing request). """ - if not isinstance( - key, - ( - dsa.DSAPublicKey, - rsa.RSAPublicKey, - ec.EllipticCurvePublicKey, - ed25519.Ed25519PublicKey, - ed448.Ed448PublicKey, - ), - ): - raise TypeError( - "Expecting one of DSAPublicKey, RSAPublicKey," - " EllipticCurvePublicKey, Ed25519PublicKey or" - " Ed448PublicKey." - ) + if not isinstance( + key, + ( + dsa.DSAPublicKey, + rsa.RSAPublicKey, + ec.EllipticCurvePublicKey, + ed25519.Ed25519PublicKey, + ed448.Ed448PublicKey, + ), + ): + raise TypeError( + "Expecting one of DSAPublicKey, RSAPublicKey," + " EllipticCurvePublicKey, Ed25519PublicKey or" + " Ed448PublicKey." + ) if self._public_key is not None: - raise ValueError("The public key may only be set once.") + raise ValueError("The public key may only be set once.") return CertificateBuilder( - self._issuer_name, - self._subject_name, - key, - self._serial_number, - self._not_valid_before, - self._not_valid_after, - self._extensions, + self._issuer_name, + self._subject_name, + key, + self._serial_number, + self._not_valid_before, + self._not_valid_after, + self._extensions, ) def serial_number(self, number): @@ -577,26 +577,26 @@ class CertificateBuilder(object): Sets the certificate serial number. """ if not isinstance(number, six.integer_types): - raise TypeError("Serial number must be of integral type.") + raise TypeError("Serial number must be of integral type.") if self._serial_number is not None: - raise ValueError("The serial number may only be set once.") + raise ValueError("The serial number may only be set once.") if number <= 0: - raise ValueError("The serial number should be positive.") + raise ValueError("The serial number should be positive.") # ASN.1 integers are always signed, so most significant bit must be # zero. - if number.bit_length() >= 160: # As defined in RFC 5280 - raise ValueError( - "The serial number should not be more than 159 " "bits." - ) + if number.bit_length() >= 160: # As defined in RFC 5280 + raise ValueError( + "The serial number should not be more than 159 " "bits." + ) return CertificateBuilder( - self._issuer_name, - self._subject_name, - self._public_key, - number, - self._not_valid_before, - self._not_valid_after, - self._extensions, + self._issuer_name, + self._subject_name, + self._public_key, + number, + self._not_valid_before, + self._not_valid_after, + self._extensions, ) def not_valid_before(self, time): @@ -604,28 +604,28 @@ class CertificateBuilder(object): Sets the certificate activation time. """ if not isinstance(time, datetime.datetime): - raise TypeError("Expecting datetime object.") + raise TypeError("Expecting datetime object.") if self._not_valid_before is not None: - raise ValueError("The not valid before may only be set once.") + raise ValueError("The not valid before may only be set once.") time = _convert_to_naive_utc_time(time) - if time < _EARLIEST_UTC_TIME: - raise ValueError( - "The not valid before date must be on or after" - " 1950 January 1)." - ) + if time < _EARLIEST_UTC_TIME: + raise ValueError( + "The not valid before date must be on or after" + " 1950 January 1)." + ) if self._not_valid_after is not None and time > self._not_valid_after: raise ValueError( - "The not valid before date must be before the not valid after " - "date." + "The not valid before date must be before the not valid after " + "date." ) return CertificateBuilder( - self._issuer_name, - self._subject_name, - self._public_key, - self._serial_number, - time, - self._not_valid_after, - self._extensions, + self._issuer_name, + self._subject_name, + self._public_key, + self._serial_number, + time, + self._not_valid_after, + self._extensions, ) def not_valid_after(self, time): @@ -633,31 +633,31 @@ class CertificateBuilder(object): Sets the certificate expiration time. """ if not isinstance(time, datetime.datetime): - raise TypeError("Expecting datetime object.") + raise TypeError("Expecting datetime object.") if self._not_valid_after is not None: - raise ValueError("The not valid after may only be set once.") + raise ValueError("The not valid after may only be set once.") time = _convert_to_naive_utc_time(time) - if time < _EARLIEST_UTC_TIME: + if time < _EARLIEST_UTC_TIME: + raise ValueError( + "The not valid after date must be on or after" + " 1950 January 1." + ) + if ( + self._not_valid_before is not None + and time < self._not_valid_before + ): raise ValueError( - "The not valid after date must be on or after" - " 1950 January 1." + "The not valid after date must be after the not valid before " + "date." ) - if ( - self._not_valid_before is not None - and time < self._not_valid_before - ): - raise ValueError( - "The not valid after date must be after the not valid before " - "date." - ) return CertificateBuilder( - self._issuer_name, - self._subject_name, - self._public_key, - self._serial_number, - self._not_valid_before, - time, - self._extensions, + self._issuer_name, + self._subject_name, + self._public_key, + self._serial_number, + self._not_valid_before, + time, + self._extensions, ) def add_extension(self, extension, critical): @@ -668,23 +668,23 @@ class CertificateBuilder(object): raise TypeError("extension must be an ExtensionType") extension = Extension(extension.oid, critical, extension) - _reject_duplicate_extension(extension, self._extensions) + _reject_duplicate_extension(extension, self._extensions) return CertificateBuilder( - self._issuer_name, - self._subject_name, - self._public_key, - self._serial_number, - self._not_valid_before, - self._not_valid_after, - self._extensions + [extension], + self._issuer_name, + self._subject_name, + self._public_key, + self._serial_number, + self._not_valid_before, + self._not_valid_after, + self._extensions + [extension], ) - def sign(self, private_key, algorithm, backend=None): + def sign(self, private_key, algorithm, backend=None): """ Signs the certificate using the CA's private key. """ - backend = _get_backend(backend) + backend = _get_backend(backend) if self._subject_name is None: raise ValueError("A certificate must have a subject name") @@ -707,14 +707,14 @@ class CertificateBuilder(object): class CertificateRevocationListBuilder(object): - def __init__( - self, - issuer_name=None, - last_update=None, - next_update=None, - extensions=[], - revoked_certificates=[], - ): + def __init__( + self, + issuer_name=None, + last_update=None, + next_update=None, + extensions=[], + revoked_certificates=[], + ): self._issuer_name = issuer_name self._last_update = last_update self._next_update = next_update @@ -723,59 +723,59 @@ class CertificateRevocationListBuilder(object): def issuer_name(self, issuer_name): if not isinstance(issuer_name, Name): - raise TypeError("Expecting x509.Name object.") + raise TypeError("Expecting x509.Name object.") if self._issuer_name is not None: - raise ValueError("The issuer name may only be set once.") + raise ValueError("The issuer name may only be set once.") return CertificateRevocationListBuilder( - issuer_name, - self._last_update, - self._next_update, - self._extensions, - self._revoked_certificates, + issuer_name, + self._last_update, + self._next_update, + self._extensions, + self._revoked_certificates, ) def last_update(self, last_update): if not isinstance(last_update, datetime.datetime): - raise TypeError("Expecting datetime object.") + raise TypeError("Expecting datetime object.") if self._last_update is not None: - raise ValueError("Last update may only be set once.") + raise ValueError("Last update may only be set once.") last_update = _convert_to_naive_utc_time(last_update) - if last_update < _EARLIEST_UTC_TIME: - raise ValueError( - "The last update date must be on or after" " 1950 January 1." - ) + if last_update < _EARLIEST_UTC_TIME: + raise ValueError( + "The last update date must be on or after" " 1950 January 1." + ) if self._next_update is not None and last_update > self._next_update: raise ValueError( - "The last update date must be before the next update date." + "The last update date must be before the next update date." ) return CertificateRevocationListBuilder( - self._issuer_name, - last_update, - self._next_update, - self._extensions, - self._revoked_certificates, + self._issuer_name, + last_update, + self._next_update, + self._extensions, + self._revoked_certificates, ) def next_update(self, next_update): if not isinstance(next_update, datetime.datetime): - raise TypeError("Expecting datetime object.") + raise TypeError("Expecting datetime object.") if self._next_update is not None: - raise ValueError("Last update may only be set once.") + raise ValueError("Last update may only be set once.") next_update = _convert_to_naive_utc_time(next_update) - if next_update < _EARLIEST_UTC_TIME: - raise ValueError( - "The last update date must be on or after" " 1950 January 1." - ) + if next_update < _EARLIEST_UTC_TIME: + raise ValueError( + "The last update date must be on or after" " 1950 January 1." + ) if self._last_update is not None and next_update < self._last_update: raise ValueError( - "The next update date must be after the last update date." + "The next update date must be after the last update date." ) return CertificateRevocationListBuilder( - self._issuer_name, - self._last_update, - next_update, - self._extensions, - self._revoked_certificates, + self._issuer_name, + self._last_update, + next_update, + self._extensions, + self._revoked_certificates, ) def add_extension(self, extension, critical): @@ -786,13 +786,13 @@ class CertificateRevocationListBuilder(object): raise TypeError("extension must be an ExtensionType") extension = Extension(extension.oid, critical, extension) - _reject_duplicate_extension(extension, self._extensions) + _reject_duplicate_extension(extension, self._extensions) return CertificateRevocationListBuilder( - self._issuer_name, - self._last_update, - self._next_update, - self._extensions + [extension], - self._revoked_certificates, + self._issuer_name, + self._last_update, + self._next_update, + self._extensions + [extension], + self._revoked_certificates, ) def add_revoked_certificate(self, revoked_certificate): @@ -803,15 +803,15 @@ class CertificateRevocationListBuilder(object): raise TypeError("Must be an instance of RevokedCertificate") return CertificateRevocationListBuilder( - self._issuer_name, - self._last_update, - self._next_update, - self._extensions, - self._revoked_certificates + [revoked_certificate], + self._issuer_name, + self._last_update, + self._next_update, + self._extensions, + self._revoked_certificates + [revoked_certificate], ) - def sign(self, private_key, algorithm, backend=None): - backend = _get_backend(backend) + def sign(self, private_key, algorithm, backend=None): + backend = _get_backend(backend) if self._issuer_name is None: raise ValueError("A CRL must have an issuer name") @@ -825,41 +825,41 @@ class CertificateRevocationListBuilder(object): class RevokedCertificateBuilder(object): - def __init__( - self, serial_number=None, revocation_date=None, extensions=[] - ): + def __init__( + self, serial_number=None, revocation_date=None, extensions=[] + ): self._serial_number = serial_number self._revocation_date = revocation_date self._extensions = extensions def serial_number(self, number): if not isinstance(number, six.integer_types): - raise TypeError("Serial number must be of integral type.") + raise TypeError("Serial number must be of integral type.") if self._serial_number is not None: - raise ValueError("The serial number may only be set once.") + raise ValueError("The serial number may only be set once.") if number <= 0: - raise ValueError("The serial number should be positive") + raise ValueError("The serial number should be positive") # ASN.1 integers are always signed, so most significant bit must be # zero. - if number.bit_length() >= 160: # As defined in RFC 5280 - raise ValueError( - "The serial number should not be more than 159 " "bits." - ) + if number.bit_length() >= 160: # As defined in RFC 5280 + raise ValueError( + "The serial number should not be more than 159 " "bits." + ) return RevokedCertificateBuilder( number, self._revocation_date, self._extensions ) def revocation_date(self, time): if not isinstance(time, datetime.datetime): - raise TypeError("Expecting datetime object.") + raise TypeError("Expecting datetime object.") if self._revocation_date is not None: - raise ValueError("The revocation date may only be set once.") + raise ValueError("The revocation date may only be set once.") time = _convert_to_naive_utc_time(time) - if time < _EARLIEST_UTC_TIME: - raise ValueError( - "The revocation date must be on or after" " 1950 January 1." - ) + if time < _EARLIEST_UTC_TIME: + raise ValueError( + "The revocation date must be on or after" " 1950 January 1." + ) return RevokedCertificateBuilder( self._serial_number, time, self._extensions ) @@ -869,15 +869,15 @@ class RevokedCertificateBuilder(object): raise TypeError("extension must be an ExtensionType") extension = Extension(extension.oid, critical, extension) - _reject_duplicate_extension(extension, self._extensions) + _reject_duplicate_extension(extension, self._extensions) return RevokedCertificateBuilder( - self._serial_number, - self._revocation_date, - self._extensions + [extension], + self._serial_number, + self._revocation_date, + self._extensions + [extension], ) - def build(self, backend=None): - backend = _get_backend(backend) + def build(self, backend=None): + backend = _get_backend(backend) if self._serial_number is None: raise ValueError("A revoked certificate must have a serial number") if self._revocation_date is None: diff --git a/contrib/python/cryptography/cryptography/x509/certificate_transparency.py b/contrib/python/cryptography/cryptography/x509/certificate_transparency.py index e7486177f3..d00fe81269 100644 --- a/contrib/python/cryptography/cryptography/x509/certificate_transparency.py +++ b/contrib/python/cryptography/cryptography/x509/certificate_transparency.py @@ -1,46 +1,46 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import abc -from enum import Enum - -import six - - -class LogEntryType(Enum): - X509_CERTIFICATE = 0 - PRE_CERTIFICATE = 1 - - -class Version(Enum): - v1 = 0 - - -@six.add_metaclass(abc.ABCMeta) -class SignedCertificateTimestamp(object): - @abc.abstractproperty - def version(self): - """ - Returns the SCT version. - """ - - @abc.abstractproperty - def log_id(self): - """ - Returns an identifier indicating which log this SCT is for. - """ - - @abc.abstractproperty - def timestamp(self): - """ - Returns the timestamp for this SCT. - """ - - @abc.abstractproperty - def entry_type(self): - """ - Returns whether this is an SCT for a certificate or pre-certificate. - """ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import abc +from enum import Enum + +import six + + +class LogEntryType(Enum): + X509_CERTIFICATE = 0 + PRE_CERTIFICATE = 1 + + +class Version(Enum): + v1 = 0 + + +@six.add_metaclass(abc.ABCMeta) +class SignedCertificateTimestamp(object): + @abc.abstractproperty + def version(self): + """ + Returns the SCT version. + """ + + @abc.abstractproperty + def log_id(self): + """ + Returns an identifier indicating which log this SCT is for. + """ + + @abc.abstractproperty + def timestamp(self): + """ + Returns the timestamp for this SCT. + """ + + @abc.abstractproperty + def entry_type(self): + """ + Returns whether this is an SCT for a certificate or pre-certificate. + """ diff --git a/contrib/python/cryptography/cryptography/x509/extensions.py b/contrib/python/cryptography/cryptography/x509/extensions.py index 763880a475..130ba69b87 100644 --- a/contrib/python/cryptography/cryptography/x509/extensions.py +++ b/contrib/python/cryptography/cryptography/x509/extensions.py @@ -13,25 +13,25 @@ from enum import Enum import six from cryptography import utils -from cryptography.hazmat._der import ( - BIT_STRING, - DERReader, - OBJECT_IDENTIFIER, - SEQUENCE, -) +from cryptography.hazmat._der import ( + BIT_STRING, + DERReader, + OBJECT_IDENTIFIER, + SEQUENCE, +) from cryptography.hazmat.primitives import constant_time, serialization from cryptography.hazmat.primitives.asymmetric.ec import EllipticCurvePublicKey from cryptography.hazmat.primitives.asymmetric.rsa import RSAPublicKey -from cryptography.x509.certificate_transparency import ( - SignedCertificateTimestamp, -) +from cryptography.x509.certificate_transparency import ( + SignedCertificateTimestamp, +) from cryptography.x509.general_name import GeneralName, IPAddress, OtherName -from cryptography.x509.name import RelativeDistinguishedName +from cryptography.x509.name import RelativeDistinguishedName from cryptography.x509.oid import ( - CRLEntryExtensionOID, - ExtensionOID, - OCSPExtensionOID, - ObjectIdentifier, + CRLEntryExtensionOID, + ExtensionOID, + OCSPExtensionOID, + ObjectIdentifier, ) @@ -42,52 +42,52 @@ def _key_identifier_from_public_key(public_key): serialization.PublicFormat.PKCS1, ) elif isinstance(public_key, EllipticCurvePublicKey): - data = public_key.public_bytes( - serialization.Encoding.X962, - serialization.PublicFormat.UncompressedPoint, - ) + data = public_key.public_bytes( + serialization.Encoding.X962, + serialization.PublicFormat.UncompressedPoint, + ) else: # This is a very slow way to do this. serialized = public_key.public_bytes( serialization.Encoding.DER, - serialization.PublicFormat.SubjectPublicKeyInfo, + serialization.PublicFormat.SubjectPublicKeyInfo, ) - reader = DERReader(serialized) - with reader.read_single_element(SEQUENCE) as public_key_info: - algorithm = public_key_info.read_element(SEQUENCE) - public_key = public_key_info.read_element(BIT_STRING) - - # Double-check the algorithm structure. - with algorithm: - algorithm.read_element(OBJECT_IDENTIFIER) - if not algorithm.is_empty(): - # Skip the optional parameters field. - algorithm.read_any_element() - - # BIT STRING contents begin with the number of padding bytes added. It - # must be zero for SubjectPublicKeyInfo structures. - if public_key.read_byte() != 0: - raise ValueError("Invalid public key encoding") - - data = public_key.data - + reader = DERReader(serialized) + with reader.read_single_element(SEQUENCE) as public_key_info: + algorithm = public_key_info.read_element(SEQUENCE) + public_key = public_key_info.read_element(BIT_STRING) + + # Double-check the algorithm structure. + with algorithm: + algorithm.read_element(OBJECT_IDENTIFIER) + if not algorithm.is_empty(): + # Skip the optional parameters field. + algorithm.read_any_element() + + # BIT STRING contents begin with the number of padding bytes added. It + # must be zero for SubjectPublicKeyInfo structures. + if public_key.read_byte() != 0: + raise ValueError("Invalid public key encoding") + + data = public_key.data + return hashlib.sha1(data).digest() -def _make_sequence_methods(field_name): - def len_method(self): - return len(getattr(self, field_name)) - - def iter_method(self): - return iter(getattr(self, field_name)) - - def getitem_method(self, idx): - return getattr(self, field_name)[idx] - - return len_method, iter_method, getitem_method - - +def _make_sequence_methods(field_name): + def len_method(self): + return len(getattr(self, field_name)) + + def iter_method(self): + return iter(getattr(self, field_name)) + + def getitem_method(self, idx): + return getattr(self, field_name)[idx] + + return len_method, iter_method, getitem_method + + class DuplicateExtension(Exception): def __init__(self, msg, oid): super(DuplicateExtension, self).__init__(msg) @@ -118,7 +118,7 @@ class Extensions(object): if ext.oid == oid: return ext - raise ExtensionNotFound("No {} extension was found".format(oid), oid) + raise ExtensionNotFound("No {} extension was found".format(oid), oid) def get_extension_for_class(self, extclass): if extclass is UnrecognizedExtension: @@ -133,13 +133,13 @@ class Extensions(object): return ext raise ExtensionNotFound( - "No {} extension was found".format(extclass), extclass.oid + "No {} extension was found".format(extclass), extclass.oid ) - __len__, __iter__, __getitem__ = _make_sequence_methods("_extensions") + __len__, __iter__, __getitem__ = _make_sequence_methods("_extensions") def __repr__(self): - return "<Extensions({})>".format(self._extensions) + return "<Extensions({})>".format(self._extensions) @utils.register_interface(ExtensionType) @@ -165,7 +165,7 @@ class CRLNumber(object): return hash(self.crl_number) def __repr__(self): - return "<CRLNumber({})>".format(self.crl_number) + return "<CRLNumber({})>".format(self.crl_number) crl_number = utils.read_only_property("_crl_number") @@ -174,12 +174,12 @@ class CRLNumber(object): class AuthorityKeyIdentifier(object): oid = ExtensionOID.AUTHORITY_KEY_IDENTIFIER - def __init__( - self, - key_identifier, - authority_cert_issuer, - authority_cert_serial_number, - ): + def __init__( + self, + key_identifier, + authority_cert_issuer, + authority_cert_serial_number, + ): if (authority_cert_issuer is None) != ( authority_cert_serial_number is None ): @@ -201,7 +201,7 @@ class AuthorityKeyIdentifier(object): if authority_cert_serial_number is not None and not isinstance( authority_cert_serial_number, six.integer_types ): - raise TypeError("authority_cert_serial_number must be an integer") + raise TypeError("authority_cert_serial_number must be an integer") self._key_identifier = key_identifier self._authority_cert_issuer = authority_cert_issuer @@ -213,15 +213,15 @@ class AuthorityKeyIdentifier(object): return cls( key_identifier=digest, authority_cert_issuer=None, - authority_cert_serial_number=None, + authority_cert_serial_number=None, ) @classmethod def from_issuer_subject_key_identifier(cls, ski): return cls( - key_identifier=ski.digest, + key_identifier=ski.digest, authority_cert_issuer=None, - authority_cert_serial_number=None, + authority_cert_serial_number=None, ) def __repr__(self): @@ -237,24 +237,24 @@ class AuthorityKeyIdentifier(object): return NotImplemented return ( - self.key_identifier == other.key_identifier - and self.authority_cert_issuer == other.authority_cert_issuer - and self.authority_cert_serial_number - == other.authority_cert_serial_number + self.key_identifier == other.key_identifier + and self.authority_cert_issuer == other.authority_cert_issuer + and self.authority_cert_serial_number + == other.authority_cert_serial_number ) def __ne__(self, other): return not self == other - def __hash__(self): - if self.authority_cert_issuer is None: - aci = None - else: - aci = tuple(self.authority_cert_issuer) - return hash( - (self.key_identifier, aci, self.authority_cert_serial_number) - ) - + def __hash__(self): + if self.authority_cert_issuer is None: + aci = None + else: + aci = tuple(self.authority_cert_issuer) + return hash( + (self.key_identifier, aci, self.authority_cert_serial_number) + ) + key_identifier = utils.read_only_property("_key_identifier") authority_cert_issuer = utils.read_only_property("_authority_cert_issuer") authority_cert_serial_number = utils.read_only_property( @@ -305,10 +305,10 @@ class AuthorityInformationAccess(object): self._descriptions = descriptions - __len__, __iter__, __getitem__ = _make_sequence_methods("_descriptions") + __len__, __iter__, __getitem__ = _make_sequence_methods("_descriptions") def __repr__(self): - return "<AuthorityInformationAccess({})>".format(self._descriptions) + return "<AuthorityInformationAccess({})>".format(self._descriptions) def __eq__(self, other): if not isinstance(other, AuthorityInformationAccess): @@ -319,42 +319,42 @@ class AuthorityInformationAccess(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(tuple(self._descriptions)) - - -@utils.register_interface(ExtensionType) -class SubjectInformationAccess(object): - oid = ExtensionOID.SUBJECT_INFORMATION_ACCESS - - def __init__(self, descriptions): - descriptions = list(descriptions) - if not all(isinstance(x, AccessDescription) for x in descriptions): - raise TypeError( - "Every item in the descriptions list must be an " - "AccessDescription" - ) - - self._descriptions = descriptions - - __len__, __iter__, __getitem__ = _make_sequence_methods("_descriptions") - - def __repr__(self): - return "<SubjectInformationAccess({})>".format(self._descriptions) - - def __eq__(self, other): - if not isinstance(other, SubjectInformationAccess): - return NotImplemented - - return self._descriptions == other._descriptions - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(tuple(self._descriptions)) - - + def __hash__(self): + return hash(tuple(self._descriptions)) + + +@utils.register_interface(ExtensionType) +class SubjectInformationAccess(object): + oid = ExtensionOID.SUBJECT_INFORMATION_ACCESS + + def __init__(self, descriptions): + descriptions = list(descriptions) + if not all(isinstance(x, AccessDescription) for x in descriptions): + raise TypeError( + "Every item in the descriptions list must be an " + "AccessDescription" + ) + + self._descriptions = descriptions + + __len__, __iter__, __getitem__ = _make_sequence_methods("_descriptions") + + def __repr__(self): + return "<SubjectInformationAccess({})>".format(self._descriptions) + + def __eq__(self, other): + if not isinstance(other, SubjectInformationAccess): + return NotImplemented + + return self._descriptions == other._descriptions + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(tuple(self._descriptions)) + + class AccessDescription(object): def __init__(self, access_method, access_location): if not isinstance(access_method, ObjectIdentifier): @@ -377,8 +377,8 @@ class AccessDescription(object): return NotImplemented return ( - self.access_method == other.access_method - and self.access_location == other.access_location + self.access_method == other.access_method + and self.access_location == other.access_location ) def __ne__(self, other): @@ -402,8 +402,8 @@ class BasicConstraints(object): if path_length is not None and not ca: raise ValueError("path_length must be None when ca is False") - if path_length is not None and ( - not isinstance(path_length, six.integer_types) or path_length < 0 + if path_length is not None and ( + not isinstance(path_length, six.integer_types) or path_length < 0 ): raise TypeError( "path_length must be a non-negative integer or None" @@ -416,9 +416,9 @@ class BasicConstraints(object): path_length = utils.read_only_property("_path_length") def __repr__(self): - return ( - "<BasicConstraints(ca={0.ca}, " "path_length={0.path_length})>" - ).format(self) + return ( + "<BasicConstraints(ca={0.ca}, " "path_length={0.path_length})>" + ).format(self) def __eq__(self, other): if not isinstance(other, BasicConstraints): @@ -434,34 +434,34 @@ class BasicConstraints(object): @utils.register_interface(ExtensionType) -class DeltaCRLIndicator(object): - oid = ExtensionOID.DELTA_CRL_INDICATOR - - def __init__(self, crl_number): - if not isinstance(crl_number, six.integer_types): - raise TypeError("crl_number must be an integer") - - self._crl_number = crl_number - - crl_number = utils.read_only_property("_crl_number") - - def __eq__(self, other): - if not isinstance(other, DeltaCRLIndicator): - return NotImplemented - - return self.crl_number == other.crl_number - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(self.crl_number) - - def __repr__(self): - return "<DeltaCRLIndicator(crl_number={0.crl_number})>".format(self) - - -@utils.register_interface(ExtensionType) +class DeltaCRLIndicator(object): + oid = ExtensionOID.DELTA_CRL_INDICATOR + + def __init__(self, crl_number): + if not isinstance(crl_number, six.integer_types): + raise TypeError("crl_number must be an integer") + + self._crl_number = crl_number + + crl_number = utils.read_only_property("_crl_number") + + def __eq__(self, other): + if not isinstance(other, DeltaCRLIndicator): + return NotImplemented + + return self.crl_number == other.crl_number + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(self.crl_number) + + def __repr__(self): + return "<DeltaCRLIndicator(crl_number={0.crl_number})>".format(self) + + +@utils.register_interface(ExtensionType) class CRLDistributionPoints(object): oid = ExtensionOID.CRL_DISTRIBUTION_POINTS @@ -477,12 +477,12 @@ class CRLDistributionPoints(object): self._distribution_points = distribution_points - __len__, __iter__, __getitem__ = _make_sequence_methods( - "_distribution_points" - ) + __len__, __iter__, __getitem__ = _make_sequence_methods( + "_distribution_points" + ) def __repr__(self): - return "<CRLDistributionPoints({})>".format(self._distribution_points) + return "<CRLDistributionPoints({})>".format(self._distribution_points) def __eq__(self, other): if not isinstance(other, CRLDistributionPoints): @@ -493,46 +493,46 @@ class CRLDistributionPoints(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(tuple(self._distribution_points)) - - -@utils.register_interface(ExtensionType) -class FreshestCRL(object): - oid = ExtensionOID.FRESHEST_CRL - - def __init__(self, distribution_points): - distribution_points = list(distribution_points) - if not all( - isinstance(x, DistributionPoint) for x in distribution_points - ): - raise TypeError( - "distribution_points must be a list of DistributionPoint " - "objects" - ) - - self._distribution_points = distribution_points - - __len__, __iter__, __getitem__ = _make_sequence_methods( - "_distribution_points" - ) - - def __repr__(self): - return "<FreshestCRL({})>".format(self._distribution_points) - - def __eq__(self, other): - if not isinstance(other, FreshestCRL): - return NotImplemented - - return self._distribution_points == other._distribution_points - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(tuple(self._distribution_points)) - - + def __hash__(self): + return hash(tuple(self._distribution_points)) + + +@utils.register_interface(ExtensionType) +class FreshestCRL(object): + oid = ExtensionOID.FRESHEST_CRL + + def __init__(self, distribution_points): + distribution_points = list(distribution_points) + if not all( + isinstance(x, DistributionPoint) for x in distribution_points + ): + raise TypeError( + "distribution_points must be a list of DistributionPoint " + "objects" + ) + + self._distribution_points = distribution_points + + __len__, __iter__, __getitem__ = _make_sequence_methods( + "_distribution_points" + ) + + def __repr__(self): + return "<FreshestCRL({})>".format(self._distribution_points) + + def __eq__(self, other): + if not isinstance(other, FreshestCRL): + return NotImplemented + + return self._distribution_points == other._distribution_points + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(tuple(self._distribution_points)) + + class DistributionPoint(object): def __init__(self, full_name, relative_name, reasons, crl_issuer): if full_name and relative_name: @@ -549,7 +549,7 @@ class DistributionPoint(object): ) if relative_name: - if not isinstance(relative_name, RelativeDistinguishedName): + if not isinstance(relative_name, RelativeDistinguishedName): raise TypeError( "relative_name must be a RelativeDistinguishedName" ) @@ -561,15 +561,15 @@ class DistributionPoint(object): "crl_issuer must be None or a list of general names" ) - if reasons and ( - not isinstance(reasons, frozenset) - or not all(isinstance(x, ReasonFlags) for x in reasons) - ): + if reasons and ( + not isinstance(reasons, frozenset) + or not all(isinstance(x, ReasonFlags) for x in reasons) + ): raise TypeError("reasons must be None or frozenset of ReasonFlags") if reasons and ( - ReasonFlags.unspecified in reasons - or ReasonFlags.remove_from_crl in reasons + ReasonFlags.unspecified in reasons + or ReasonFlags.remove_from_crl in reasons ): raise ValueError( "unspecified and remove_from_crl are not valid reasons in a " @@ -590,8 +590,8 @@ class DistributionPoint(object): def __repr__(self): return ( "<DistributionPoint(full_name={0.full_name}, relative_name={0.rela" - "tive_name}, reasons={0.reasons}, " - "crl_issuer={0.crl_issuer})>".format(self) + "tive_name}, reasons={0.reasons}, " + "crl_issuer={0.crl_issuer})>".format(self) ) def __eq__(self, other): @@ -599,28 +599,28 @@ class DistributionPoint(object): return NotImplemented return ( - self.full_name == other.full_name - and self.relative_name == other.relative_name - and self.reasons == other.reasons - and self.crl_issuer == other.crl_issuer + self.full_name == other.full_name + and self.relative_name == other.relative_name + and self.reasons == other.reasons + and self.crl_issuer == other.crl_issuer ) def __ne__(self, other): return not self == other - def __hash__(self): - if self.full_name is not None: - fn = tuple(self.full_name) - else: - fn = None - - if self.crl_issuer is not None: - crl_issuer = tuple(self.crl_issuer) - else: - crl_issuer = None - - return hash((fn, self.relative_name, self.reasons, crl_issuer)) - + def __hash__(self): + if self.full_name is not None: + fn = tuple(self.full_name) + else: + fn = None + + if self.crl_issuer is not None: + crl_issuer = tuple(self.crl_issuer) + else: + crl_issuer = None + + return hash((fn, self.relative_name, self.reasons, crl_issuer)) + full_name = utils.read_only_property("_full_name") relative_name = utils.read_only_property("_relative_name") reasons = utils.read_only_property("_reasons") @@ -681,18 +681,18 @@ class PolicyConstraints(object): return NotImplemented return ( - self.require_explicit_policy == other.require_explicit_policy - and self.inhibit_policy_mapping == other.inhibit_policy_mapping + self.require_explicit_policy == other.require_explicit_policy + and self.inhibit_policy_mapping == other.inhibit_policy_mapping ) def __ne__(self, other): return not self == other - def __hash__(self): - return hash( - (self.require_explicit_policy, self.inhibit_policy_mapping) - ) - + def __hash__(self): + return hash( + (self.require_explicit_policy, self.inhibit_policy_mapping) + ) + require_explicit_policy = utils.read_only_property( "_require_explicit_policy" ) @@ -715,10 +715,10 @@ class CertificatePolicies(object): self._policies = policies - __len__, __iter__, __getitem__ = _make_sequence_methods("_policies") + __len__, __iter__, __getitem__ = _make_sequence_methods("_policies") def __repr__(self): - return "<CertificatePolicies({})>".format(self._policies) + return "<CertificatePolicies({})>".format(self._policies) def __eq__(self, other): if not isinstance(other, CertificatePolicies): @@ -729,10 +729,10 @@ class CertificatePolicies(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(tuple(self._policies)) + def __hash__(self): + return hash(tuple(self._policies)) + - class PolicyInformation(object): def __init__(self, policy_identifier, policy_qualifiers): if not isinstance(policy_identifier, ObjectIdentifier): @@ -743,8 +743,8 @@ class PolicyInformation(object): if policy_qualifiers: policy_qualifiers = list(policy_qualifiers) if not all( - isinstance(x, (six.text_type, UserNotice)) - for x in policy_qualifiers + isinstance(x, (six.text_type, UserNotice)) + for x in policy_qualifiers ): raise TypeError( "policy_qualifiers must be a list of strings and/or " @@ -764,21 +764,21 @@ class PolicyInformation(object): return NotImplemented return ( - self.policy_identifier == other.policy_identifier - and self.policy_qualifiers == other.policy_qualifiers + self.policy_identifier == other.policy_identifier + and self.policy_qualifiers == other.policy_qualifiers ) def __ne__(self, other): return not self == other - def __hash__(self): - if self.policy_qualifiers is not None: - pq = tuple(self.policy_qualifiers) - else: - pq = None - - return hash((self.policy_identifier, pq)) - + def __hash__(self): + if self.policy_qualifiers is not None: + pq = tuple(self.policy_qualifiers) + else: + pq = None + + return hash((self.policy_identifier, pq)) + policy_identifier = utils.read_only_property("_policy_identifier") policy_qualifiers = utils.read_only_property("_policy_qualifiers") @@ -806,16 +806,16 @@ class UserNotice(object): return NotImplemented return ( - self.notice_reference == other.notice_reference - and self.explicit_text == other.explicit_text + self.notice_reference == other.notice_reference + and self.explicit_text == other.explicit_text ) def __ne__(self, other): return not self == other - def __hash__(self): - return hash((self.notice_reference, self.explicit_text)) - + def __hash__(self): + return hash((self.notice_reference, self.explicit_text)) + notice_reference = utils.read_only_property("_notice_reference") explicit_text = utils.read_only_property("_explicit_text") @@ -825,7 +825,7 @@ class NoticeReference(object): self._organization = organization notice_numbers = list(notice_numbers) if not all(isinstance(x, int) for x in notice_numbers): - raise TypeError("notice_numbers must be a list of integers") + raise TypeError("notice_numbers must be a list of integers") self._notice_numbers = notice_numbers @@ -840,16 +840,16 @@ class NoticeReference(object): return NotImplemented return ( - self.organization == other.organization - and self.notice_numbers == other.notice_numbers + self.organization == other.organization + and self.notice_numbers == other.notice_numbers ) def __ne__(self, other): return not self == other - def __hash__(self): - return hash((self.organization, tuple(self.notice_numbers))) - + def __hash__(self): + return hash((self.organization, tuple(self.notice_numbers))) + organization = utils.read_only_property("_organization") notice_numbers = utils.read_only_property("_notice_numbers") @@ -867,10 +867,10 @@ class ExtendedKeyUsage(object): self._usages = usages - __len__, __iter__, __getitem__ = _make_sequence_methods("_usages") + __len__, __iter__, __getitem__ = _make_sequence_methods("_usages") def __repr__(self): - return "<ExtendedKeyUsage({})>".format(self._usages) + return "<ExtendedKeyUsage({})>".format(self._usages) def __eq__(self, other): if not isinstance(other, ExtendedKeyUsage): @@ -881,100 +881,100 @@ class ExtendedKeyUsage(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(tuple(self._usages)) + def __hash__(self): + return hash(tuple(self._usages)) + - @utils.register_interface(ExtensionType) class OCSPNoCheck(object): oid = ExtensionOID.OCSP_NO_CHECK - def __eq__(self, other): - if not isinstance(other, OCSPNoCheck): - return NotImplemented - - return True - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(OCSPNoCheck) - - def __repr__(self): - return "<OCSPNoCheck()>" - - + def __eq__(self, other): + if not isinstance(other, OCSPNoCheck): + return NotImplemented + + return True + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(OCSPNoCheck) + + def __repr__(self): + return "<OCSPNoCheck()>" + + +@utils.register_interface(ExtensionType) +class PrecertPoison(object): + oid = ExtensionOID.PRECERT_POISON + + def __eq__(self, other): + if not isinstance(other, PrecertPoison): + return NotImplemented + + return True + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(PrecertPoison) + + def __repr__(self): + return "<PrecertPoison()>" + + +@utils.register_interface(ExtensionType) +class TLSFeature(object): + oid = ExtensionOID.TLS_FEATURE + + def __init__(self, features): + features = list(features) + if ( + not all(isinstance(x, TLSFeatureType) for x in features) + or len(features) == 0 + ): + raise TypeError( + "features must be a list of elements from the TLSFeatureType " + "enum" + ) + + self._features = features + + __len__, __iter__, __getitem__ = _make_sequence_methods("_features") + + def __repr__(self): + return "<TLSFeature(features={0._features})>".format(self) + + def __eq__(self, other): + if not isinstance(other, TLSFeature): + return NotImplemented + + return self._features == other._features + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(tuple(self._features)) + + +class TLSFeatureType(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. + status_request = 5 + # status_request_v2 is defined in RFC 6961 and allows multiple OCSP + # responses to be provided. It is not currently in use by clients or + # servers. + status_request_v2 = 17 + + +_TLS_FEATURE_TYPE_TO_ENUM = {x.value: x for x in TLSFeatureType} + + @utils.register_interface(ExtensionType) -class PrecertPoison(object): - oid = ExtensionOID.PRECERT_POISON - - def __eq__(self, other): - if not isinstance(other, PrecertPoison): - return NotImplemented - - return True - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(PrecertPoison) - - def __repr__(self): - return "<PrecertPoison()>" - - -@utils.register_interface(ExtensionType) -class TLSFeature(object): - oid = ExtensionOID.TLS_FEATURE - - def __init__(self, features): - features = list(features) - if ( - not all(isinstance(x, TLSFeatureType) for x in features) - or len(features) == 0 - ): - raise TypeError( - "features must be a list of elements from the TLSFeatureType " - "enum" - ) - - self._features = features - - __len__, __iter__, __getitem__ = _make_sequence_methods("_features") - - def __repr__(self): - return "<TLSFeature(features={0._features})>".format(self) - - def __eq__(self, other): - if not isinstance(other, TLSFeature): - return NotImplemented - - return self._features == other._features - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(tuple(self._features)) - - -class TLSFeatureType(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. - status_request = 5 - # status_request_v2 is defined in RFC 6961 and allows multiple OCSP - # responses to be provided. It is not currently in use by clients or - # servers. - status_request_v2 = 17 - - -_TLS_FEATURE_TYPE_TO_ENUM = {x.value: x for x in TLSFeatureType} - - -@utils.register_interface(ExtensionType) class InhibitAnyPolicy(object): oid = ExtensionOID.INHIBIT_ANY_POLICY @@ -1009,18 +1009,18 @@ class InhibitAnyPolicy(object): class KeyUsage(object): oid = ExtensionOID.KEY_USAGE - def __init__( - self, - digital_signature, - content_commitment, - key_encipherment, - data_encipherment, - key_agreement, - key_cert_sign, - crl_sign, - encipher_only, - decipher_only, - ): + def __init__( + self, + digital_signature, + content_commitment, + key_encipherment, + data_encipherment, + key_agreement, + key_cert_sign, + crl_sign, + encipher_only, + decipher_only, + ): if not key_agreement and (encipher_only or decipher_only): raise ValueError( "encipher_only and decipher_only can only be true when " @@ -1068,57 +1068,57 @@ class KeyUsage(object): encipher_only = self.encipher_only decipher_only = self.decipher_only except ValueError: - # Users found None confusing because even though encipher/decipher - # have no meaning unless key_agreement is true, to construct an - # instance of the class you still need to pass False. - encipher_only = False - decipher_only = False - - return ( - "<KeyUsage(digital_signature={0.digital_signature}, " - "content_commitment={0.content_commitment}, " - "key_encipherment={0.key_encipherment}, " - "data_encipherment={0.data_encipherment}, " - "key_agreement={0.key_agreement}, " - "key_cert_sign={0.key_cert_sign}, crl_sign={0.crl_sign}, " - "encipher_only={1}, decipher_only={2})>" - ).format(self, encipher_only, decipher_only) + # Users found None confusing because even though encipher/decipher + # have no meaning unless key_agreement is true, to construct an + # instance of the class you still need to pass False. + encipher_only = False + decipher_only = False + + return ( + "<KeyUsage(digital_signature={0.digital_signature}, " + "content_commitment={0.content_commitment}, " + "key_encipherment={0.key_encipherment}, " + "data_encipherment={0.data_encipherment}, " + "key_agreement={0.key_agreement}, " + "key_cert_sign={0.key_cert_sign}, crl_sign={0.crl_sign}, " + "encipher_only={1}, decipher_only={2})>" + ).format(self, encipher_only, decipher_only) def __eq__(self, other): if not isinstance(other, KeyUsage): return NotImplemented return ( - self.digital_signature == other.digital_signature - and self.content_commitment == other.content_commitment - and self.key_encipherment == other.key_encipherment - and self.data_encipherment == other.data_encipherment - and self.key_agreement == other.key_agreement - and self.key_cert_sign == other.key_cert_sign - and self.crl_sign == other.crl_sign - and self._encipher_only == other._encipher_only - and self._decipher_only == other._decipher_only + self.digital_signature == other.digital_signature + and self.content_commitment == other.content_commitment + and self.key_encipherment == other.key_encipherment + and self.data_encipherment == other.data_encipherment + and self.key_agreement == other.key_agreement + and self.key_cert_sign == other.key_cert_sign + and self.crl_sign == other.crl_sign + and self._encipher_only == other._encipher_only + and self._decipher_only == other._decipher_only ) def __ne__(self, other): return not self == other - def __hash__(self): - return hash( - ( - self.digital_signature, - self.content_commitment, - self.key_encipherment, - self.data_encipherment, - self.key_agreement, - self.key_cert_sign, - self.crl_sign, - self._encipher_only, - self._decipher_only, - ) - ) - - + def __hash__(self): + return hash( + ( + self.digital_signature, + self.content_commitment, + self.key_encipherment, + self.data_encipherment, + self.key_agreement, + self.key_cert_sign, + self.crl_sign, + self._encipher_only, + self._decipher_only, + ) + ) + + @utils.register_interface(ExtensionType) class NameConstraints(object): oid = ExtensionOID.NAME_CONSTRAINTS @@ -1126,7 +1126,7 @@ class NameConstraints(object): def __init__(self, permitted_subtrees, excluded_subtrees): if permitted_subtrees is not None: permitted_subtrees = list(permitted_subtrees) - if not all(isinstance(x, GeneralName) for x in permitted_subtrees): + if not all(isinstance(x, GeneralName) for x in permitted_subtrees): raise TypeError( "permitted_subtrees must be a list of GeneralName objects " "or None" @@ -1136,7 +1136,7 @@ class NameConstraints(object): if excluded_subtrees is not None: excluded_subtrees = list(excluded_subtrees) - if not all(isinstance(x, GeneralName) for x in excluded_subtrees): + if not all(isinstance(x, GeneralName) for x in excluded_subtrees): raise TypeError( "excluded_subtrees must be a list of GeneralName objects " "or None" @@ -1158,21 +1158,21 @@ class NameConstraints(object): return NotImplemented return ( - self.excluded_subtrees == other.excluded_subtrees - and self.permitted_subtrees == other.permitted_subtrees + self.excluded_subtrees == other.excluded_subtrees + and self.permitted_subtrees == other.permitted_subtrees ) def __ne__(self, other): return not self == other def _validate_ip_name(self, tree): - if any( - isinstance(name, IPAddress) - and not isinstance( - name.value, (ipaddress.IPv4Network, ipaddress.IPv6Network) - ) - for name in tree - ): + if any( + isinstance(name, IPAddress) + and not isinstance( + name.value, (ipaddress.IPv4Network, ipaddress.IPv6Network) + ) + for name in tree + ): raise TypeError( "IPAddress name constraints must be an IPv4Network or" " IPv6Network object" @@ -1184,19 +1184,19 @@ class NameConstraints(object): u"excluded_subtrees={0.excluded_subtrees})>".format(self) ) - def __hash__(self): - if self.permitted_subtrees is not None: - ps = tuple(self.permitted_subtrees) - else: - ps = None - - if self.excluded_subtrees is not None: - es = tuple(self.excluded_subtrees) - else: - es = None - - return hash((ps, es)) - + def __hash__(self): + if self.permitted_subtrees is not None: + ps = tuple(self.permitted_subtrees) + else: + ps = None + + if self.excluded_subtrees is not None: + es = tuple(self.excluded_subtrees) + else: + es = None + + return hash((ps, es)) + permitted_subtrees = utils.read_only_property("_permitted_subtrees") excluded_subtrees = utils.read_only_property("_excluded_subtrees") @@ -1220,28 +1220,28 @@ class Extension(object): value = utils.read_only_property("_value") def __repr__(self): - return ( - "<Extension(oid={0.oid}, critical={0.critical}, " - "value={0.value})>" - ).format(self) + return ( + "<Extension(oid={0.oid}, critical={0.critical}, " + "value={0.value})>" + ).format(self) def __eq__(self, other): if not isinstance(other, Extension): return NotImplemented return ( - self.oid == other.oid - and self.critical == other.critical - and self.value == other.value + self.oid == other.oid + and self.critical == other.critical + and self.value == other.value ) def __ne__(self, other): return not self == other - def __hash__(self): - return hash((self.oid, self.critical, self.value)) + def __hash__(self): + return hash((self.oid, self.critical, self.value)) + - class GeneralNames(object): def __init__(self, general_names): general_names = list(general_names) @@ -1253,7 +1253,7 @@ class GeneralNames(object): self._general_names = general_names - __len__, __iter__, __getitem__ = _make_sequence_methods("_general_names") + __len__, __iter__, __getitem__ = _make_sequence_methods("_general_names") def get_values_for_type(self, type): # Return the value of each GeneralName, except for OtherName instances @@ -1265,7 +1265,7 @@ class GeneralNames(object): return list(objs) def __repr__(self): - return "<GeneralNames({})>".format(self._general_names) + return "<GeneralNames({})>".format(self._general_names) def __eq__(self, other): if not isinstance(other, GeneralNames): @@ -1276,10 +1276,10 @@ class GeneralNames(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(tuple(self._general_names)) + def __hash__(self): + return hash(tuple(self._general_names)) + - @utils.register_interface(ExtensionType) class SubjectAlternativeName(object): oid = ExtensionOID.SUBJECT_ALTERNATIVE_NAME @@ -1287,13 +1287,13 @@ class SubjectAlternativeName(object): def __init__(self, general_names): self._general_names = GeneralNames(general_names) - __len__, __iter__, __getitem__ = _make_sequence_methods("_general_names") + __len__, __iter__, __getitem__ = _make_sequence_methods("_general_names") def get_values_for_type(self, type): return self._general_names.get_values_for_type(type) def __repr__(self): - return "<SubjectAlternativeName({})>".format(self._general_names) + return "<SubjectAlternativeName({})>".format(self._general_names) def __eq__(self, other): if not isinstance(other, SubjectAlternativeName): @@ -1304,10 +1304,10 @@ class SubjectAlternativeName(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(self._general_names) + def __hash__(self): + return hash(self._general_names) + - @utils.register_interface(ExtensionType) class IssuerAlternativeName(object): oid = ExtensionOID.ISSUER_ALTERNATIVE_NAME @@ -1315,13 +1315,13 @@ class IssuerAlternativeName(object): def __init__(self, general_names): self._general_names = GeneralNames(general_names) - __len__, __iter__, __getitem__ = _make_sequence_methods("_general_names") + __len__, __iter__, __getitem__ = _make_sequence_methods("_general_names") def get_values_for_type(self, type): return self._general_names.get_values_for_type(type) def __repr__(self): - return "<IssuerAlternativeName({})>".format(self._general_names) + return "<IssuerAlternativeName({})>".format(self._general_names) def __eq__(self, other): if not isinstance(other, IssuerAlternativeName): @@ -1332,10 +1332,10 @@ class IssuerAlternativeName(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(self._general_names) + def __hash__(self): + return hash(self._general_names) + - @utils.register_interface(ExtensionType) class CertificateIssuer(object): oid = CRLEntryExtensionOID.CERTIFICATE_ISSUER @@ -1343,13 +1343,13 @@ class CertificateIssuer(object): def __init__(self, general_names): self._general_names = GeneralNames(general_names) - __len__, __iter__, __getitem__ = _make_sequence_methods("_general_names") + __len__, __iter__, __getitem__ = _make_sequence_methods("_general_names") def get_values_for_type(self, type): return self._general_names.get_values_for_type(type) def __repr__(self): - return "<CertificateIssuer({})>".format(self._general_names) + return "<CertificateIssuer({})>".format(self._general_names) def __eq__(self, other): if not isinstance(other, CertificateIssuer): @@ -1360,10 +1360,10 @@ class CertificateIssuer(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(self._general_names) + def __hash__(self): + return hash(self._general_names) + - @utils.register_interface(ExtensionType) class CRLReason(object): oid = CRLEntryExtensionOID.CRL_REASON @@ -1375,7 +1375,7 @@ class CRLReason(object): self._reason = reason def __repr__(self): - return "<CRLReason(reason={})>".format(self._reason) + return "<CRLReason(reason={})>".format(self._reason) def __eq__(self, other): if not isinstance(other, CRLReason): @@ -1403,7 +1403,7 @@ class InvalidityDate(object): self._invalidity_date = invalidity_date def __repr__(self): - return "<InvalidityDate(invalidity_date={})>".format( + return "<InvalidityDate(invalidity_date={})>".format( self._invalidity_date ) @@ -1423,256 +1423,256 @@ class InvalidityDate(object): @utils.register_interface(ExtensionType) -class PrecertificateSignedCertificateTimestamps(object): - oid = ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS - - def __init__(self, signed_certificate_timestamps): - signed_certificate_timestamps = list(signed_certificate_timestamps) - if not all( - isinstance(sct, SignedCertificateTimestamp) - for sct in signed_certificate_timestamps - ): - raise TypeError( - "Every item in the signed_certificate_timestamps list must be " - "a SignedCertificateTimestamp" - ) - self._signed_certificate_timestamps = signed_certificate_timestamps - - __len__, __iter__, __getitem__ = _make_sequence_methods( - "_signed_certificate_timestamps" - ) - - def __repr__(self): - return "<PrecertificateSignedCertificateTimestamps({})>".format( - list(self) - ) - - def __hash__(self): - return hash(tuple(self._signed_certificate_timestamps)) - - def __eq__(self, other): - if not isinstance(other, PrecertificateSignedCertificateTimestamps): - return NotImplemented - - return ( - self._signed_certificate_timestamps - == other._signed_certificate_timestamps - ) - - def __ne__(self, other): - return not self == other - - -@utils.register_interface(ExtensionType) -class SignedCertificateTimestamps(object): - oid = ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS - - def __init__(self, signed_certificate_timestamps): - signed_certificate_timestamps = list(signed_certificate_timestamps) - if not all( - isinstance(sct, SignedCertificateTimestamp) - for sct in signed_certificate_timestamps - ): - raise TypeError( - "Every item in the signed_certificate_timestamps list must be " - "a SignedCertificateTimestamp" - ) - self._signed_certificate_timestamps = signed_certificate_timestamps - - __len__, __iter__, __getitem__ = _make_sequence_methods( - "_signed_certificate_timestamps" - ) - - def __repr__(self): - return "<SignedCertificateTimestamps({})>".format(list(self)) - - def __hash__(self): - return hash(tuple(self._signed_certificate_timestamps)) - - def __eq__(self, other): - if not isinstance(other, SignedCertificateTimestamps): - return NotImplemented - - return ( - self._signed_certificate_timestamps - == other._signed_certificate_timestamps - ) - - def __ne__(self, other): - return not self == other - - -@utils.register_interface(ExtensionType) -class OCSPNonce(object): - oid = OCSPExtensionOID.NONCE - - def __init__(self, nonce): - if not isinstance(nonce, bytes): - raise TypeError("nonce must be bytes") - - self._nonce = nonce - - def __eq__(self, other): - if not isinstance(other, OCSPNonce): - return NotImplemented - - return self.nonce == other.nonce - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash(self.nonce) - - def __repr__(self): - return "<OCSPNonce(nonce={0.nonce!r})>".format(self) - - nonce = utils.read_only_property("_nonce") - - -@utils.register_interface(ExtensionType) -class IssuingDistributionPoint(object): - oid = ExtensionOID.ISSUING_DISTRIBUTION_POINT - - def __init__( - self, - full_name, - relative_name, - only_contains_user_certs, - only_contains_ca_certs, - only_some_reasons, - indirect_crl, - only_contains_attribute_certs, - ): - if only_some_reasons and ( - not isinstance(only_some_reasons, frozenset) - or not all(isinstance(x, ReasonFlags) for x in only_some_reasons) - ): - raise TypeError( - "only_some_reasons must be None or frozenset of ReasonFlags" - ) - - if only_some_reasons and ( - ReasonFlags.unspecified in only_some_reasons - or ReasonFlags.remove_from_crl in only_some_reasons - ): - raise ValueError( - "unspecified and remove_from_crl are not valid reasons in an " - "IssuingDistributionPoint" - ) - - if not ( - isinstance(only_contains_user_certs, bool) - and isinstance(only_contains_ca_certs, bool) - and isinstance(indirect_crl, bool) - and isinstance(only_contains_attribute_certs, bool) - ): - raise TypeError( - "only_contains_user_certs, only_contains_ca_certs, " - "indirect_crl and only_contains_attribute_certs " - "must all be boolean." - ) - - crl_constraints = [ - only_contains_user_certs, - only_contains_ca_certs, - indirect_crl, - only_contains_attribute_certs, - ] - - if len([x for x in crl_constraints if x]) > 1: - raise ValueError( - "Only one of the following can be set to True: " - "only_contains_user_certs, only_contains_ca_certs, " - "indirect_crl, only_contains_attribute_certs" - ) - - if not any( - [ - only_contains_user_certs, - only_contains_ca_certs, - indirect_crl, - only_contains_attribute_certs, - full_name, - relative_name, - only_some_reasons, - ] - ): - raise ValueError( - "Cannot create empty extension: " - "if only_contains_user_certs, only_contains_ca_certs, " - "indirect_crl, and only_contains_attribute_certs are all False" - ", then either full_name, relative_name, or only_some_reasons " - "must have a value." - ) - - self._only_contains_user_certs = only_contains_user_certs - self._only_contains_ca_certs = only_contains_ca_certs - self._indirect_crl = indirect_crl - self._only_contains_attribute_certs = only_contains_attribute_certs - self._only_some_reasons = only_some_reasons - self._full_name = full_name - self._relative_name = relative_name - - def __repr__(self): - return ( - "<IssuingDistributionPoint(full_name={0.full_name}, " - "relative_name={0.relative_name}, " - "only_contains_user_certs={0.only_contains_user_certs}, " - "only_contains_ca_certs={0.only_contains_ca_certs}, " - "only_some_reasons={0.only_some_reasons}, " - "indirect_crl={0.indirect_crl}, " - "only_contains_attribute_certs=" - "{0.only_contains_attribute_certs})>".format(self) - ) - - def __eq__(self, other): - if not isinstance(other, IssuingDistributionPoint): - return NotImplemented - - return ( - self.full_name == other.full_name - and self.relative_name == other.relative_name - and self.only_contains_user_certs == other.only_contains_user_certs - and self.only_contains_ca_certs == other.only_contains_ca_certs - and self.only_some_reasons == other.only_some_reasons - and self.indirect_crl == other.indirect_crl - and self.only_contains_attribute_certs - == other.only_contains_attribute_certs - ) - - def __ne__(self, other): - return not self == other - - def __hash__(self): - return hash( - ( - self.full_name, - self.relative_name, - self.only_contains_user_certs, - self.only_contains_ca_certs, - self.only_some_reasons, - self.indirect_crl, - self.only_contains_attribute_certs, - ) - ) - - full_name = utils.read_only_property("_full_name") - relative_name = utils.read_only_property("_relative_name") - only_contains_user_certs = utils.read_only_property( - "_only_contains_user_certs" - ) - only_contains_ca_certs = utils.read_only_property( - "_only_contains_ca_certs" - ) - only_some_reasons = utils.read_only_property("_only_some_reasons") - indirect_crl = utils.read_only_property("_indirect_crl") - only_contains_attribute_certs = utils.read_only_property( - "_only_contains_attribute_certs" - ) - - -@utils.register_interface(ExtensionType) +class PrecertificateSignedCertificateTimestamps(object): + oid = ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS + + def __init__(self, signed_certificate_timestamps): + signed_certificate_timestamps = list(signed_certificate_timestamps) + if not all( + isinstance(sct, SignedCertificateTimestamp) + for sct in signed_certificate_timestamps + ): + raise TypeError( + "Every item in the signed_certificate_timestamps list must be " + "a SignedCertificateTimestamp" + ) + self._signed_certificate_timestamps = signed_certificate_timestamps + + __len__, __iter__, __getitem__ = _make_sequence_methods( + "_signed_certificate_timestamps" + ) + + def __repr__(self): + return "<PrecertificateSignedCertificateTimestamps({})>".format( + list(self) + ) + + def __hash__(self): + return hash(tuple(self._signed_certificate_timestamps)) + + def __eq__(self, other): + if not isinstance(other, PrecertificateSignedCertificateTimestamps): + return NotImplemented + + return ( + self._signed_certificate_timestamps + == other._signed_certificate_timestamps + ) + + def __ne__(self, other): + return not self == other + + +@utils.register_interface(ExtensionType) +class SignedCertificateTimestamps(object): + oid = ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS + + def __init__(self, signed_certificate_timestamps): + signed_certificate_timestamps = list(signed_certificate_timestamps) + if not all( + isinstance(sct, SignedCertificateTimestamp) + for sct in signed_certificate_timestamps + ): + raise TypeError( + "Every item in the signed_certificate_timestamps list must be " + "a SignedCertificateTimestamp" + ) + self._signed_certificate_timestamps = signed_certificate_timestamps + + __len__, __iter__, __getitem__ = _make_sequence_methods( + "_signed_certificate_timestamps" + ) + + def __repr__(self): + return "<SignedCertificateTimestamps({})>".format(list(self)) + + def __hash__(self): + return hash(tuple(self._signed_certificate_timestamps)) + + def __eq__(self, other): + if not isinstance(other, SignedCertificateTimestamps): + return NotImplemented + + return ( + self._signed_certificate_timestamps + == other._signed_certificate_timestamps + ) + + def __ne__(self, other): + return not self == other + + +@utils.register_interface(ExtensionType) +class OCSPNonce(object): + oid = OCSPExtensionOID.NONCE + + def __init__(self, nonce): + if not isinstance(nonce, bytes): + raise TypeError("nonce must be bytes") + + self._nonce = nonce + + def __eq__(self, other): + if not isinstance(other, OCSPNonce): + return NotImplemented + + return self.nonce == other.nonce + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash(self.nonce) + + def __repr__(self): + return "<OCSPNonce(nonce={0.nonce!r})>".format(self) + + nonce = utils.read_only_property("_nonce") + + +@utils.register_interface(ExtensionType) +class IssuingDistributionPoint(object): + oid = ExtensionOID.ISSUING_DISTRIBUTION_POINT + + def __init__( + self, + full_name, + relative_name, + only_contains_user_certs, + only_contains_ca_certs, + only_some_reasons, + indirect_crl, + only_contains_attribute_certs, + ): + if only_some_reasons and ( + not isinstance(only_some_reasons, frozenset) + or not all(isinstance(x, ReasonFlags) for x in only_some_reasons) + ): + raise TypeError( + "only_some_reasons must be None or frozenset of ReasonFlags" + ) + + if only_some_reasons and ( + ReasonFlags.unspecified in only_some_reasons + or ReasonFlags.remove_from_crl in only_some_reasons + ): + raise ValueError( + "unspecified and remove_from_crl are not valid reasons in an " + "IssuingDistributionPoint" + ) + + if not ( + isinstance(only_contains_user_certs, bool) + and isinstance(only_contains_ca_certs, bool) + and isinstance(indirect_crl, bool) + and isinstance(only_contains_attribute_certs, bool) + ): + raise TypeError( + "only_contains_user_certs, only_contains_ca_certs, " + "indirect_crl and only_contains_attribute_certs " + "must all be boolean." + ) + + crl_constraints = [ + only_contains_user_certs, + only_contains_ca_certs, + indirect_crl, + only_contains_attribute_certs, + ] + + if len([x for x in crl_constraints if x]) > 1: + raise ValueError( + "Only one of the following can be set to True: " + "only_contains_user_certs, only_contains_ca_certs, " + "indirect_crl, only_contains_attribute_certs" + ) + + if not any( + [ + only_contains_user_certs, + only_contains_ca_certs, + indirect_crl, + only_contains_attribute_certs, + full_name, + relative_name, + only_some_reasons, + ] + ): + raise ValueError( + "Cannot create empty extension: " + "if only_contains_user_certs, only_contains_ca_certs, " + "indirect_crl, and only_contains_attribute_certs are all False" + ", then either full_name, relative_name, or only_some_reasons " + "must have a value." + ) + + self._only_contains_user_certs = only_contains_user_certs + self._only_contains_ca_certs = only_contains_ca_certs + self._indirect_crl = indirect_crl + self._only_contains_attribute_certs = only_contains_attribute_certs + self._only_some_reasons = only_some_reasons + self._full_name = full_name + self._relative_name = relative_name + + def __repr__(self): + return ( + "<IssuingDistributionPoint(full_name={0.full_name}, " + "relative_name={0.relative_name}, " + "only_contains_user_certs={0.only_contains_user_certs}, " + "only_contains_ca_certs={0.only_contains_ca_certs}, " + "only_some_reasons={0.only_some_reasons}, " + "indirect_crl={0.indirect_crl}, " + "only_contains_attribute_certs=" + "{0.only_contains_attribute_certs})>".format(self) + ) + + def __eq__(self, other): + if not isinstance(other, IssuingDistributionPoint): + return NotImplemented + + return ( + self.full_name == other.full_name + and self.relative_name == other.relative_name + and self.only_contains_user_certs == other.only_contains_user_certs + and self.only_contains_ca_certs == other.only_contains_ca_certs + and self.only_some_reasons == other.only_some_reasons + and self.indirect_crl == other.indirect_crl + and self.only_contains_attribute_certs + == other.only_contains_attribute_certs + ) + + def __ne__(self, other): + return not self == other + + def __hash__(self): + return hash( + ( + self.full_name, + self.relative_name, + self.only_contains_user_certs, + self.only_contains_ca_certs, + self.only_some_reasons, + self.indirect_crl, + self.only_contains_attribute_certs, + ) + ) + + full_name = utils.read_only_property("_full_name") + relative_name = utils.read_only_property("_relative_name") + only_contains_user_certs = utils.read_only_property( + "_only_contains_user_certs" + ) + only_contains_ca_certs = utils.read_only_property( + "_only_contains_ca_certs" + ) + only_some_reasons = utils.read_only_property("_only_some_reasons") + indirect_crl = utils.read_only_property("_indirect_crl") + only_contains_attribute_certs = utils.read_only_property( + "_only_contains_attribute_certs" + ) + + +@utils.register_interface(ExtensionType) class UnrecognizedExtension(object): def __init__(self, oid, value): if not isinstance(oid, ObjectIdentifier): @@ -1685,8 +1685,8 @@ class UnrecognizedExtension(object): def __repr__(self): return ( - "<UnrecognizedExtension(oid={0.oid}, " - "value={0.value!r})>".format(self) + "<UnrecognizedExtension(oid={0.oid}, " + "value={0.value!r})>".format(self) ) def __eq__(self, other): diff --git a/contrib/python/cryptography/cryptography/x509/general_name.py b/contrib/python/cryptography/cryptography/x509/general_name.py index f71df0fb4c..9be9d8c991 100644 --- a/contrib/python/cryptography/cryptography/x509/general_name.py +++ b/contrib/python/cryptography/cryptography/x509/general_name.py @@ -46,17 +46,17 @@ class GeneralName(object): @utils.register_interface(GeneralName) class RFC822Name(object): def __init__(self, value): - if isinstance(value, six.text_type): - try: - value.encode("ascii") - except UnicodeEncodeError: - raise ValueError( - "RFC822Name values should be passed as an A-label string. " - "This means unicode characters should be encoded via " - "a library like idna." - ) - else: - raise TypeError("value must be string") + if isinstance(value, six.text_type): + try: + value.encode("ascii") + except UnicodeEncodeError: + raise ValueError( + "RFC822Name values should be passed as an A-label string. " + "This means unicode characters should be encoded via " + "a library like idna." + ) + else: + raise TypeError("value must be string") name, address = parseaddr(value) if name or not address: @@ -68,14 +68,14 @@ class RFC822Name(object): value = utils.read_only_property("_value") - @classmethod - def _init_without_validation(cls, value): - instance = cls.__new__(cls) - instance._value = value - return instance - + @classmethod + def _init_without_validation(cls, value): + instance = cls.__new__(cls) + instance._value = value + return instance + def __repr__(self): - return "<RFC822Name(value={0!r})>".format(self.value) + return "<RFC822Name(value={0!r})>".format(self.value) def __eq__(self, other): if not isinstance(other, RFC822Name): @@ -93,30 +93,30 @@ class RFC822Name(object): @utils.register_interface(GeneralName) class DNSName(object): def __init__(self, value): - if isinstance(value, six.text_type): - try: - value.encode("ascii") - except UnicodeEncodeError: - raise ValueError( - "DNSName values should be passed as an A-label string. " - "This means unicode characters should be encoded via " - "a library like idna." - ) - else: - raise TypeError("value must be string") + if isinstance(value, six.text_type): + try: + value.encode("ascii") + except UnicodeEncodeError: + raise ValueError( + "DNSName values should be passed as an A-label string. " + "This means unicode characters should be encoded via " + "a library like idna." + ) + else: + raise TypeError("value must be string") self._value = value value = utils.read_only_property("_value") - @classmethod - def _init_without_validation(cls, value): - instance = cls.__new__(cls) - instance._value = value - return instance - + @classmethod + def _init_without_validation(cls, value): + instance = cls.__new__(cls) + instance._value = value + return instance + def __repr__(self): - return "<DNSName(value={0!r})>".format(self.value) + return "<DNSName(value={0!r})>".format(self.value) def __eq__(self, other): if not isinstance(other, DNSName): @@ -127,37 +127,37 @@ class DNSName(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(self.value) + def __hash__(self): + return hash(self.value) + - @utils.register_interface(GeneralName) class UniformResourceIdentifier(object): def __init__(self, value): - if isinstance(value, six.text_type): - try: - value.encode("ascii") - except UnicodeEncodeError: - raise ValueError( - "URI values should be passed as an A-label string. " - "This means unicode characters should be encoded via " - "a library like idna." - ) - else: - raise TypeError("value must be string") - - self._value = value - - value = utils.read_only_property("_value") - - @classmethod - def _init_without_validation(cls, value): - instance = cls.__new__(cls) - instance._value = value - return instance - + if isinstance(value, six.text_type): + try: + value.encode("ascii") + except UnicodeEncodeError: + raise ValueError( + "URI values should be passed as an A-label string. " + "This means unicode characters should be encoded via " + "a library like idna." + ) + else: + raise TypeError("value must be string") + + self._value = value + + value = utils.read_only_property("_value") + + @classmethod + def _init_without_validation(cls, value): + instance = cls.__new__(cls) + instance._value = value + return instance + def __repr__(self): - return "<UniformResourceIdentifier(value={0!r})>".format(self.value) + return "<UniformResourceIdentifier(value={0!r})>".format(self.value) def __eq__(self, other): if not isinstance(other, UniformResourceIdentifier): @@ -183,7 +183,7 @@ class DirectoryName(object): value = utils.read_only_property("_value") def __repr__(self): - return "<DirectoryName(value={})>".format(self.value) + return "<DirectoryName(value={})>".format(self.value) def __eq__(self, other): if not isinstance(other, DirectoryName): @@ -194,10 +194,10 @@ class DirectoryName(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(self.value) + def __hash__(self): + return hash(self.value) + - @utils.register_interface(GeneralName) class RegisteredID(object): def __init__(self, value): @@ -209,7 +209,7 @@ class RegisteredID(object): value = utils.read_only_property("_value") def __repr__(self): - return "<RegisteredID(value={})>".format(self.value) + return "<RegisteredID(value={})>".format(self.value) def __eq__(self, other): if not isinstance(other, RegisteredID): @@ -220,10 +220,10 @@ class RegisteredID(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(self.value) + def __hash__(self): + return hash(self.value) + - @utils.register_interface(GeneralName) class IPAddress(object): def __init__(self, value): @@ -233,8 +233,8 @@ class IPAddress(object): ipaddress.IPv4Address, ipaddress.IPv6Address, ipaddress.IPv4Network, - ipaddress.IPv6Network, - ), + ipaddress.IPv6Network, + ), ): raise TypeError( "value must be an instance of ipaddress.IPv4Address, " @@ -247,7 +247,7 @@ class IPAddress(object): value = utils.read_only_property("_value") def __repr__(self): - return "<IPAddress(value={})>".format(self.value) + return "<IPAddress(value={})>".format(self.value) def __eq__(self, other): if not isinstance(other, IPAddress): @@ -258,10 +258,10 @@ class IPAddress(object): def __ne__(self, other): return not self == other - def __hash__(self): - return hash(self.value) + def __hash__(self): + return hash(self.value) + - @utils.register_interface(GeneralName) class OtherName(object): def __init__(self, type_id, value): @@ -277,9 +277,9 @@ class OtherName(object): value = utils.read_only_property("_value") def __repr__(self): - return "<OtherName(type_id={}, value={!r})>".format( - self.type_id, self.value - ) + return "<OtherName(type_id={}, value={!r})>".format( + self.type_id, self.value + ) def __eq__(self, other): if not isinstance(other, OtherName): @@ -289,6 +289,6 @@ class OtherName(object): def __ne__(self, other): return not self == other - - def __hash__(self): - return hash((self.type_id, self.value)) + + def __hash__(self): + return hash((self.type_id, self.value)) diff --git a/contrib/python/cryptography/cryptography/x509/name.py b/contrib/python/cryptography/cryptography/x509/name.py index d3cd064b8f..0be876a0ed 100644 --- a/contrib/python/cryptography/cryptography/x509/name.py +++ b/contrib/python/cryptography/cryptography/x509/name.py @@ -4,131 +4,131 @@ from __future__ import absolute_import, division, print_function -from enum import Enum - +from enum import Enum + import six from cryptography import utils -from cryptography.hazmat.backends import _get_backend +from cryptography.hazmat.backends import _get_backend from cryptography.x509.oid import NameOID, ObjectIdentifier -class _ASN1Type(Enum): - UTF8String = 12 - NumericString = 18 - PrintableString = 19 - T61String = 20 - IA5String = 22 - UTCTime = 23 - GeneralizedTime = 24 - VisibleString = 26 - UniversalString = 28 - BMPString = 30 - - -_ASN1_TYPE_TO_ENUM = {i.value: i for i in _ASN1Type} -_SENTINEL = object() -_NAMEOID_DEFAULT_TYPE = { - NameOID.COUNTRY_NAME: _ASN1Type.PrintableString, - NameOID.JURISDICTION_COUNTRY_NAME: _ASN1Type.PrintableString, - NameOID.SERIAL_NUMBER: _ASN1Type.PrintableString, - NameOID.DN_QUALIFIER: _ASN1Type.PrintableString, - NameOID.EMAIL_ADDRESS: _ASN1Type.IA5String, - NameOID.DOMAIN_COMPONENT: _ASN1Type.IA5String, -} - -#: Short attribute names from RFC 4514: -#: https://tools.ietf.org/html/rfc4514#page-7 -_NAMEOID_TO_NAME = { - NameOID.COMMON_NAME: "CN", - NameOID.LOCALITY_NAME: "L", - NameOID.STATE_OR_PROVINCE_NAME: "ST", - NameOID.ORGANIZATION_NAME: "O", - NameOID.ORGANIZATIONAL_UNIT_NAME: "OU", - NameOID.COUNTRY_NAME: "C", - NameOID.STREET_ADDRESS: "STREET", - NameOID.DOMAIN_COMPONENT: "DC", - NameOID.USER_ID: "UID", -} - - -def _escape_dn_value(val): - """Escape special characters in RFC4514 Distinguished Name value.""" - - if not val: - return "" - - # See https://tools.ietf.org/html/rfc4514#section-2.4 - val = val.replace("\\", "\\\\") - val = val.replace('"', '\\"') - val = val.replace("+", "\\+") - val = val.replace(",", "\\,") - val = val.replace(";", "\\;") - val = val.replace("<", "\\<") - val = val.replace(">", "\\>") - val = val.replace("\0", "\\00") - - if val[0] in ("#", " "): - val = "\\" + val - if val[-1] == " ": - val = val[:-1] + "\\ " - - return val - - +class _ASN1Type(Enum): + UTF8String = 12 + NumericString = 18 + PrintableString = 19 + T61String = 20 + IA5String = 22 + UTCTime = 23 + GeneralizedTime = 24 + VisibleString = 26 + UniversalString = 28 + BMPString = 30 + + +_ASN1_TYPE_TO_ENUM = {i.value: i for i in _ASN1Type} +_SENTINEL = object() +_NAMEOID_DEFAULT_TYPE = { + NameOID.COUNTRY_NAME: _ASN1Type.PrintableString, + NameOID.JURISDICTION_COUNTRY_NAME: _ASN1Type.PrintableString, + NameOID.SERIAL_NUMBER: _ASN1Type.PrintableString, + NameOID.DN_QUALIFIER: _ASN1Type.PrintableString, + NameOID.EMAIL_ADDRESS: _ASN1Type.IA5String, + NameOID.DOMAIN_COMPONENT: _ASN1Type.IA5String, +} + +#: Short attribute names from RFC 4514: +#: https://tools.ietf.org/html/rfc4514#page-7 +_NAMEOID_TO_NAME = { + NameOID.COMMON_NAME: "CN", + NameOID.LOCALITY_NAME: "L", + NameOID.STATE_OR_PROVINCE_NAME: "ST", + NameOID.ORGANIZATION_NAME: "O", + NameOID.ORGANIZATIONAL_UNIT_NAME: "OU", + NameOID.COUNTRY_NAME: "C", + NameOID.STREET_ADDRESS: "STREET", + NameOID.DOMAIN_COMPONENT: "DC", + NameOID.USER_ID: "UID", +} + + +def _escape_dn_value(val): + """Escape special characters in RFC4514 Distinguished Name value.""" + + if not val: + return "" + + # See https://tools.ietf.org/html/rfc4514#section-2.4 + val = val.replace("\\", "\\\\") + val = val.replace('"', '\\"') + val = val.replace("+", "\\+") + val = val.replace(",", "\\,") + val = val.replace(";", "\\;") + val = val.replace("<", "\\<") + val = val.replace(">", "\\>") + val = val.replace("\0", "\\00") + + if val[0] in ("#", " "): + val = "\\" + val + if val[-1] == " ": + val = val[:-1] + "\\ " + + return val + + class NameAttribute(object): - def __init__(self, oid, value, _type=_SENTINEL): + def __init__(self, oid, value, _type=_SENTINEL): if not isinstance(oid, ObjectIdentifier): raise TypeError( "oid argument must be an ObjectIdentifier instance." ) if not isinstance(value, six.text_type): - raise TypeError("value argument must be a text type.") - - if ( - oid == NameOID.COUNTRY_NAME - or oid == NameOID.JURISDICTION_COUNTRY_NAME - ): - if len(value.encode("utf8")) != 2: - raise ValueError( - "Country name must be a 2 character country code" - ) - - # The appropriate ASN1 string type varies by OID and is defined across - # multiple RFCs including 2459, 3280, and 5280. In general UTF8String - # is preferred (2459), but 3280 and 5280 specify several OIDs with - # alternate types. This means when we see the sentinel value we need - # to look up whether the OID has a non-UTF8 type. If it does, set it - # to that. Otherwise, UTF8! - if _type == _SENTINEL: - _type = _NAMEOID_DEFAULT_TYPE.get(oid, _ASN1Type.UTF8String) - - if not isinstance(_type, _ASN1Type): - raise TypeError("_type must be from the _ASN1Type enum") - + raise TypeError("value argument must be a text type.") + + if ( + oid == NameOID.COUNTRY_NAME + or oid == NameOID.JURISDICTION_COUNTRY_NAME + ): + if len(value.encode("utf8")) != 2: + raise ValueError( + "Country name must be a 2 character country code" + ) + + # The appropriate ASN1 string type varies by OID and is defined across + # multiple RFCs including 2459, 3280, and 5280. In general UTF8String + # is preferred (2459), but 3280 and 5280 specify several OIDs with + # alternate types. This means when we see the sentinel value we need + # to look up whether the OID has a non-UTF8 type. If it does, set it + # to that. Otherwise, UTF8! + if _type == _SENTINEL: + _type = _NAMEOID_DEFAULT_TYPE.get(oid, _ASN1Type.UTF8String) + + if not isinstance(_type, _ASN1Type): + raise TypeError("_type must be from the _ASN1Type enum") + self._oid = oid self._value = value - self._type = _type + self._type = _type oid = utils.read_only_property("_oid") value = utils.read_only_property("_value") - def rfc4514_string(self): - """ - Format as RFC4514 Distinguished Name string. - - Use short attribute name if available, otherwise fall back to OID - dotted string. - """ - key = _NAMEOID_TO_NAME.get(self.oid, self.oid.dotted_string) - return "%s=%s" % (key, _escape_dn_value(self.value)) - + def rfc4514_string(self): + """ + Format as RFC4514 Distinguished Name string. + + Use short attribute name if available, otherwise fall back to OID + dotted string. + """ + key = _NAMEOID_TO_NAME.get(self.oid, self.oid.dotted_string) + return "%s=%s" % (key, _escape_dn_value(self.value)) + def __eq__(self, other): if not isinstance(other, NameAttribute): return NotImplemented - return self.oid == other.oid and self.value == other.value + return self.oid == other.oid and self.value == other.value def __ne__(self, other): return not self == other @@ -142,42 +142,42 @@ class NameAttribute(object): class RelativeDistinguishedName(object): def __init__(self, attributes): - attributes = list(attributes) + attributes = list(attributes) if not attributes: raise ValueError("a relative distinguished name cannot be empty") if not all(isinstance(x, NameAttribute) for x in attributes): raise TypeError("attributes must be an iterable of NameAttribute") - # Keep list and frozenset to preserve attribute order where it matters + # Keep list and frozenset to preserve attribute order where it matters self._attributes = attributes - self._attribute_set = frozenset(attributes) + self._attribute_set = frozenset(attributes) + + if len(self._attribute_set) != len(attributes): + raise ValueError("duplicate attributes are not allowed") - if len(self._attribute_set) != len(attributes): - raise ValueError("duplicate attributes are not allowed") - def get_attributes_for_oid(self, oid): return [i for i in self if i.oid == oid] - def rfc4514_string(self): - """ - Format as RFC4514 Distinguished Name string. - - Within each RDN, attributes are joined by '+', although that is rarely - used in certificates. - """ - return "+".join(attr.rfc4514_string() for attr in self._attributes) - + def rfc4514_string(self): + """ + Format as RFC4514 Distinguished Name string. + + Within each RDN, attributes are joined by '+', although that is rarely + used in certificates. + """ + return "+".join(attr.rfc4514_string() for attr in self._attributes) + def __eq__(self, other): if not isinstance(other, RelativeDistinguishedName): return NotImplemented - return self._attribute_set == other._attribute_set + return self._attribute_set == other._attribute_set def __ne__(self, other): return not self == other def __hash__(self): - return hash(self._attribute_set) + return hash(self._attribute_set) def __iter__(self): return iter(self._attributes) @@ -186,7 +186,7 @@ class RelativeDistinguishedName(object): return len(self._attributes) def __repr__(self): - return "<RelativeDistinguishedName({})>".format(self.rfc4514_string()) + return "<RelativeDistinguishedName({})>".format(self.rfc4514_string()) class Name(object): @@ -204,21 +204,21 @@ class Name(object): " or a list RelativeDistinguishedName" ) - def rfc4514_string(self): - """ - Format as RFC4514 Distinguished Name string. - For example 'CN=foobar.com,O=Foo Corp,C=US' - - An X.509 name is a two-level structure: a list of sets of attributes. - Each list element is separated by ',' and within each list element, set - elements are separated by '+'. The latter is almost never used in - real world certificates. According to RFC4514 section 2.1 the - RDNSequence must be reversed when converting to string representation. - """ - return ",".join( - attr.rfc4514_string() for attr in reversed(self._attributes) - ) - + def rfc4514_string(self): + """ + Format as RFC4514 Distinguished Name string. + For example 'CN=foobar.com,O=Foo Corp,C=US' + + An X.509 name is a two-level structure: a list of sets of attributes. + Each list element is separated by ',' and within each list element, set + elements are separated by '+'. The latter is almost never used in + real world certificates. According to RFC4514 section 2.1 the + RDNSequence must be reversed when converting to string representation. + """ + return ",".join( + attr.rfc4514_string() for attr in reversed(self._attributes) + ) + def get_attributes_for_oid(self, oid): return [i for i in self if i.oid == oid] @@ -226,8 +226,8 @@ class Name(object): def rdns(self): return self._attributes - def public_bytes(self, backend=None): - backend = _get_backend(backend) + def public_bytes(self, backend=None): + backend = _get_backend(backend) return backend.x509_name_bytes(self) def __eq__(self, other): @@ -253,9 +253,9 @@ class Name(object): return sum(len(rdn) for rdn in self._attributes) def __repr__(self): - rdns = ",".join(attr.rfc4514_string() for attr in self._attributes) - - if six.PY2: - return "<Name({})>".format(rdns.encode("utf8")) - else: - return "<Name({})>".format(rdns) + rdns = ",".join(attr.rfc4514_string() for attr in self._attributes) + + if six.PY2: + return "<Name({})>".format(rdns.encode("utf8")) + else: + return "<Name({})>".format(rdns) diff --git a/contrib/python/cryptography/cryptography/x509/ocsp.py b/contrib/python/cryptography/cryptography/x509/ocsp.py index 2921d0cd9b..f8e27224ec 100644 --- a/contrib/python/cryptography/cryptography/x509/ocsp.py +++ b/contrib/python/cryptography/cryptography/x509/ocsp.py @@ -1,467 +1,467 @@ -# This file is dual licensed under the terms of the Apache License, Version -# 2.0, and the BSD License. See the LICENSE file in the root of this repository -# for complete details. - -from __future__ import absolute_import, division, print_function - -import abc -import datetime -from enum import Enum - -import six - -from cryptography import x509 -from cryptography.hazmat.primitives import hashes -from cryptography.x509.base import ( - _EARLIEST_UTC_TIME, - _convert_to_naive_utc_time, - _reject_duplicate_extension, -) - - -_OIDS_TO_HASH = { - "1.3.14.3.2.26": hashes.SHA1(), - "2.16.840.1.101.3.4.2.4": hashes.SHA224(), - "2.16.840.1.101.3.4.2.1": hashes.SHA256(), - "2.16.840.1.101.3.4.2.2": hashes.SHA384(), - "2.16.840.1.101.3.4.2.3": hashes.SHA512(), -} - - -class OCSPResponderEncoding(Enum): - HASH = "By Hash" - NAME = "By Name" - - -class OCSPResponseStatus(Enum): - SUCCESSFUL = 0 - MALFORMED_REQUEST = 1 - INTERNAL_ERROR = 2 - TRY_LATER = 3 - SIG_REQUIRED = 5 - UNAUTHORIZED = 6 - - -_RESPONSE_STATUS_TO_ENUM = {x.value: x for x in OCSPResponseStatus} -_ALLOWED_HASHES = ( - hashes.SHA1, - hashes.SHA224, - hashes.SHA256, - hashes.SHA384, - hashes.SHA512, -) - - -def _verify_algorithm(algorithm): - if not isinstance(algorithm, _ALLOWED_HASHES): - raise ValueError( - "Algorithm must be SHA1, SHA224, SHA256, SHA384, or SHA512" - ) - - -class OCSPCertStatus(Enum): - GOOD = 0 - REVOKED = 1 - UNKNOWN = 2 - - -_CERT_STATUS_TO_ENUM = {x.value: x for x in OCSPCertStatus} - - -def load_der_ocsp_request(data): - from cryptography.hazmat.backends.openssl.backend import backend - - return backend.load_der_ocsp_request(data) - - -def load_der_ocsp_response(data): - from cryptography.hazmat.backends.openssl.backend import backend - - return backend.load_der_ocsp_response(data) - - -class OCSPRequestBuilder(object): - def __init__(self, request=None, extensions=[]): - self._request = request - self._extensions = extensions - - def add_certificate(self, cert, issuer, algorithm): - if self._request is not None: - raise ValueError("Only one certificate can be added to a request") - - _verify_algorithm(algorithm) - if not isinstance(cert, x509.Certificate) or not isinstance( - issuer, x509.Certificate - ): - raise TypeError("cert and issuer must be a Certificate") - - return OCSPRequestBuilder((cert, issuer, algorithm), self._extensions) - - def add_extension(self, extension, critical): - if not isinstance(extension, x509.ExtensionType): - raise TypeError("extension must be an ExtensionType") - - extension = x509.Extension(extension.oid, critical, extension) - _reject_duplicate_extension(extension, self._extensions) - - return OCSPRequestBuilder( - self._request, self._extensions + [extension] - ) - - def build(self): - from cryptography.hazmat.backends.openssl.backend import backend - - if self._request is None: - raise ValueError("You must add a certificate before building") - - return backend.create_ocsp_request(self) - - -class _SingleResponse(object): - def __init__( - self, - cert, - issuer, - algorithm, - cert_status, - this_update, - next_update, - revocation_time, - revocation_reason, - ): - if not isinstance(cert, x509.Certificate) or not isinstance( - issuer, x509.Certificate - ): - raise TypeError("cert and issuer must be a Certificate") - - _verify_algorithm(algorithm) - if not isinstance(this_update, datetime.datetime): - raise TypeError("this_update must be a datetime object") - if next_update is not None and not isinstance( - next_update, datetime.datetime - ): - raise TypeError("next_update must be a datetime object or None") - - self._cert = cert - self._issuer = issuer - self._algorithm = algorithm - self._this_update = this_update - self._next_update = next_update - - if not isinstance(cert_status, OCSPCertStatus): - raise TypeError( - "cert_status must be an item from the OCSPCertStatus enum" - ) - if cert_status is not OCSPCertStatus.REVOKED: - if revocation_time is not None: - raise ValueError( - "revocation_time can only be provided if the certificate " - "is revoked" - ) - if revocation_reason is not None: - raise ValueError( - "revocation_reason can only be provided if the certificate" - " is revoked" - ) - else: - if not isinstance(revocation_time, datetime.datetime): - raise TypeError("revocation_time must be a datetime object") - - revocation_time = _convert_to_naive_utc_time(revocation_time) - if revocation_time < _EARLIEST_UTC_TIME: - raise ValueError( - "The revocation_time must be on or after" - " 1950 January 1." - ) - - if revocation_reason is not None and not isinstance( - revocation_reason, x509.ReasonFlags - ): - raise TypeError( - "revocation_reason must be an item from the ReasonFlags " - "enum or None" - ) - - self._cert_status = cert_status - self._revocation_time = revocation_time - self._revocation_reason = revocation_reason - - -class OCSPResponseBuilder(object): - def __init__( - self, response=None, responder_id=None, certs=None, extensions=[] - ): - self._response = response - self._responder_id = responder_id - self._certs = certs - self._extensions = extensions - - def add_response( - self, - cert, - issuer, - algorithm, - cert_status, - this_update, - next_update, - revocation_time, - revocation_reason, - ): - if self._response is not None: - raise ValueError("Only one response per OCSPResponse.") - - singleresp = _SingleResponse( - cert, - issuer, - algorithm, - cert_status, - this_update, - next_update, - revocation_time, - revocation_reason, - ) - return OCSPResponseBuilder( - singleresp, - self._responder_id, - self._certs, - self._extensions, - ) - - def responder_id(self, encoding, responder_cert): - if self._responder_id is not None: - raise ValueError("responder_id can only be set once") - if not isinstance(responder_cert, x509.Certificate): - raise TypeError("responder_cert must be a Certificate") - if not isinstance(encoding, OCSPResponderEncoding): - raise TypeError( - "encoding must be an element from OCSPResponderEncoding" - ) - - return OCSPResponseBuilder( - self._response, - (responder_cert, encoding), - self._certs, - self._extensions, - ) - - def certificates(self, certs): - if self._certs is not None: - raise ValueError("certificates may only be set once") - certs = list(certs) - if len(certs) == 0: - raise ValueError("certs must not be an empty list") - if not all(isinstance(x, x509.Certificate) for x in certs): - raise TypeError("certs must be a list of Certificates") - return OCSPResponseBuilder( - self._response, - self._responder_id, - certs, - self._extensions, - ) - - def add_extension(self, extension, critical): - if not isinstance(extension, x509.ExtensionType): - raise TypeError("extension must be an ExtensionType") - - extension = x509.Extension(extension.oid, critical, extension) - _reject_duplicate_extension(extension, self._extensions) - - return OCSPResponseBuilder( - self._response, - self._responder_id, - self._certs, - self._extensions + [extension], - ) - - def sign(self, private_key, algorithm): - from cryptography.hazmat.backends.openssl.backend import backend - - if self._response is None: - raise ValueError("You must add a response before signing") - if self._responder_id is None: - raise ValueError("You must add a responder_id before signing") - - return backend.create_ocsp_response( - OCSPResponseStatus.SUCCESSFUL, self, private_key, algorithm - ) - - @classmethod - def build_unsuccessful(cls, response_status): - from cryptography.hazmat.backends.openssl.backend import backend - - if not isinstance(response_status, OCSPResponseStatus): - raise TypeError( - "response_status must be an item from OCSPResponseStatus" - ) - if response_status is OCSPResponseStatus.SUCCESSFUL: - raise ValueError("response_status cannot be SUCCESSFUL") - - return backend.create_ocsp_response(response_status, None, None, None) - - -@six.add_metaclass(abc.ABCMeta) -class OCSPRequest(object): - @abc.abstractproperty - def issuer_key_hash(self): - """ - The hash of the issuer public key - """ - - @abc.abstractproperty - def issuer_name_hash(self): - """ - The hash of the issuer name - """ - - @abc.abstractproperty - def hash_algorithm(self): - """ - The hash algorithm used in the issuer name and key hashes - """ - - @abc.abstractproperty - def serial_number(self): - """ - The serial number of the cert whose status is being checked - """ - - @abc.abstractmethod - def public_bytes(self, encoding): - """ - Serializes the request to DER - """ - - @abc.abstractproperty - def extensions(self): - """ - The list of request extensions. Not single request extensions. - """ - - -@six.add_metaclass(abc.ABCMeta) -class OCSPResponse(object): - @abc.abstractproperty - def response_status(self): - """ - The status of the response. This is a value from the OCSPResponseStatus - enumeration - """ - - @abc.abstractproperty - def signature_algorithm_oid(self): - """ - The ObjectIdentifier of the signature algorithm - """ - - @abc.abstractproperty - def signature_hash_algorithm(self): - """ - Returns a HashAlgorithm corresponding to the type of the digest signed - """ - - @abc.abstractproperty - def signature(self): - """ - The signature bytes - """ - - @abc.abstractproperty - def tbs_response_bytes(self): - """ - The tbsResponseData bytes - """ - - @abc.abstractproperty - def certificates(self): - """ - A list of certificates used to help build a chain to verify the OCSP - response. This situation occurs when the OCSP responder uses a delegate - certificate. - """ - - @abc.abstractproperty - def responder_key_hash(self): - """ - The responder's key hash or None - """ - - @abc.abstractproperty - def responder_name(self): - """ - The responder's Name or None - """ - - @abc.abstractproperty - def produced_at(self): - """ - The time the response was produced - """ - - @abc.abstractproperty - def certificate_status(self): - """ - The status of the certificate (an element from the OCSPCertStatus enum) - """ - - @abc.abstractproperty - def revocation_time(self): - """ - The date of when the certificate was revoked or None if not - revoked. - """ - - @abc.abstractproperty - def revocation_reason(self): - """ - The reason the certificate was revoked or None if not specified or - not revoked. - """ - - @abc.abstractproperty - def this_update(self): - """ - The most recent time at which the status being indicated is known by - the responder to have been correct - """ - - @abc.abstractproperty - def next_update(self): - """ - The time when newer information will be available - """ - - @abc.abstractproperty - def issuer_key_hash(self): - """ - The hash of the issuer public key - """ - - @abc.abstractproperty - def issuer_name_hash(self): - """ - The hash of the issuer name - """ - - @abc.abstractproperty - def hash_algorithm(self): - """ - The hash algorithm used in the issuer name and key hashes - """ - - @abc.abstractproperty - def serial_number(self): - """ - The serial number of the cert whose status is being checked - """ - - @abc.abstractproperty - def extensions(self): - """ - The list of response extensions. Not single response extensions. - """ - - @abc.abstractproperty - def single_extensions(self): - """ - The list of single response extensions. Not response extensions. - """ +# This file is dual licensed under the terms of the Apache License, Version +# 2.0, and the BSD License. See the LICENSE file in the root of this repository +# for complete details. + +from __future__ import absolute_import, division, print_function + +import abc +import datetime +from enum import Enum + +import six + +from cryptography import x509 +from cryptography.hazmat.primitives import hashes +from cryptography.x509.base import ( + _EARLIEST_UTC_TIME, + _convert_to_naive_utc_time, + _reject_duplicate_extension, +) + + +_OIDS_TO_HASH = { + "1.3.14.3.2.26": hashes.SHA1(), + "2.16.840.1.101.3.4.2.4": hashes.SHA224(), + "2.16.840.1.101.3.4.2.1": hashes.SHA256(), + "2.16.840.1.101.3.4.2.2": hashes.SHA384(), + "2.16.840.1.101.3.4.2.3": hashes.SHA512(), +} + + +class OCSPResponderEncoding(Enum): + HASH = "By Hash" + NAME = "By Name" + + +class OCSPResponseStatus(Enum): + SUCCESSFUL = 0 + MALFORMED_REQUEST = 1 + INTERNAL_ERROR = 2 + TRY_LATER = 3 + SIG_REQUIRED = 5 + UNAUTHORIZED = 6 + + +_RESPONSE_STATUS_TO_ENUM = {x.value: x for x in OCSPResponseStatus} +_ALLOWED_HASHES = ( + hashes.SHA1, + hashes.SHA224, + hashes.SHA256, + hashes.SHA384, + hashes.SHA512, +) + + +def _verify_algorithm(algorithm): + if not isinstance(algorithm, _ALLOWED_HASHES): + raise ValueError( + "Algorithm must be SHA1, SHA224, SHA256, SHA384, or SHA512" + ) + + +class OCSPCertStatus(Enum): + GOOD = 0 + REVOKED = 1 + UNKNOWN = 2 + + +_CERT_STATUS_TO_ENUM = {x.value: x for x in OCSPCertStatus} + + +def load_der_ocsp_request(data): + from cryptography.hazmat.backends.openssl.backend import backend + + return backend.load_der_ocsp_request(data) + + +def load_der_ocsp_response(data): + from cryptography.hazmat.backends.openssl.backend import backend + + return backend.load_der_ocsp_response(data) + + +class OCSPRequestBuilder(object): + def __init__(self, request=None, extensions=[]): + self._request = request + self._extensions = extensions + + def add_certificate(self, cert, issuer, algorithm): + if self._request is not None: + raise ValueError("Only one certificate can be added to a request") + + _verify_algorithm(algorithm) + if not isinstance(cert, x509.Certificate) or not isinstance( + issuer, x509.Certificate + ): + raise TypeError("cert and issuer must be a Certificate") + + return OCSPRequestBuilder((cert, issuer, algorithm), self._extensions) + + def add_extension(self, extension, critical): + if not isinstance(extension, x509.ExtensionType): + raise TypeError("extension must be an ExtensionType") + + extension = x509.Extension(extension.oid, critical, extension) + _reject_duplicate_extension(extension, self._extensions) + + return OCSPRequestBuilder( + self._request, self._extensions + [extension] + ) + + def build(self): + from cryptography.hazmat.backends.openssl.backend import backend + + if self._request is None: + raise ValueError("You must add a certificate before building") + + return backend.create_ocsp_request(self) + + +class _SingleResponse(object): + def __init__( + self, + cert, + issuer, + algorithm, + cert_status, + this_update, + next_update, + revocation_time, + revocation_reason, + ): + if not isinstance(cert, x509.Certificate) or not isinstance( + issuer, x509.Certificate + ): + raise TypeError("cert and issuer must be a Certificate") + + _verify_algorithm(algorithm) + if not isinstance(this_update, datetime.datetime): + raise TypeError("this_update must be a datetime object") + if next_update is not None and not isinstance( + next_update, datetime.datetime + ): + raise TypeError("next_update must be a datetime object or None") + + self._cert = cert + self._issuer = issuer + self._algorithm = algorithm + self._this_update = this_update + self._next_update = next_update + + if not isinstance(cert_status, OCSPCertStatus): + raise TypeError( + "cert_status must be an item from the OCSPCertStatus enum" + ) + if cert_status is not OCSPCertStatus.REVOKED: + if revocation_time is not None: + raise ValueError( + "revocation_time can only be provided if the certificate " + "is revoked" + ) + if revocation_reason is not None: + raise ValueError( + "revocation_reason can only be provided if the certificate" + " is revoked" + ) + else: + if not isinstance(revocation_time, datetime.datetime): + raise TypeError("revocation_time must be a datetime object") + + revocation_time = _convert_to_naive_utc_time(revocation_time) + if revocation_time < _EARLIEST_UTC_TIME: + raise ValueError( + "The revocation_time must be on or after" + " 1950 January 1." + ) + + if revocation_reason is not None and not isinstance( + revocation_reason, x509.ReasonFlags + ): + raise TypeError( + "revocation_reason must be an item from the ReasonFlags " + "enum or None" + ) + + self._cert_status = cert_status + self._revocation_time = revocation_time + self._revocation_reason = revocation_reason + + +class OCSPResponseBuilder(object): + def __init__( + self, response=None, responder_id=None, certs=None, extensions=[] + ): + self._response = response + self._responder_id = responder_id + self._certs = certs + self._extensions = extensions + + def add_response( + self, + cert, + issuer, + algorithm, + cert_status, + this_update, + next_update, + revocation_time, + revocation_reason, + ): + if self._response is not None: + raise ValueError("Only one response per OCSPResponse.") + + singleresp = _SingleResponse( + cert, + issuer, + algorithm, + cert_status, + this_update, + next_update, + revocation_time, + revocation_reason, + ) + return OCSPResponseBuilder( + singleresp, + self._responder_id, + self._certs, + self._extensions, + ) + + def responder_id(self, encoding, responder_cert): + if self._responder_id is not None: + raise ValueError("responder_id can only be set once") + if not isinstance(responder_cert, x509.Certificate): + raise TypeError("responder_cert must be a Certificate") + if not isinstance(encoding, OCSPResponderEncoding): + raise TypeError( + "encoding must be an element from OCSPResponderEncoding" + ) + + return OCSPResponseBuilder( + self._response, + (responder_cert, encoding), + self._certs, + self._extensions, + ) + + def certificates(self, certs): + if self._certs is not None: + raise ValueError("certificates may only be set once") + certs = list(certs) + if len(certs) == 0: + raise ValueError("certs must not be an empty list") + if not all(isinstance(x, x509.Certificate) for x in certs): + raise TypeError("certs must be a list of Certificates") + return OCSPResponseBuilder( + self._response, + self._responder_id, + certs, + self._extensions, + ) + + def add_extension(self, extension, critical): + if not isinstance(extension, x509.ExtensionType): + raise TypeError("extension must be an ExtensionType") + + extension = x509.Extension(extension.oid, critical, extension) + _reject_duplicate_extension(extension, self._extensions) + + return OCSPResponseBuilder( + self._response, + self._responder_id, + self._certs, + self._extensions + [extension], + ) + + def sign(self, private_key, algorithm): + from cryptography.hazmat.backends.openssl.backend import backend + + if self._response is None: + raise ValueError("You must add a response before signing") + if self._responder_id is None: + raise ValueError("You must add a responder_id before signing") + + return backend.create_ocsp_response( + OCSPResponseStatus.SUCCESSFUL, self, private_key, algorithm + ) + + @classmethod + def build_unsuccessful(cls, response_status): + from cryptography.hazmat.backends.openssl.backend import backend + + if not isinstance(response_status, OCSPResponseStatus): + raise TypeError( + "response_status must be an item from OCSPResponseStatus" + ) + if response_status is OCSPResponseStatus.SUCCESSFUL: + raise ValueError("response_status cannot be SUCCESSFUL") + + return backend.create_ocsp_response(response_status, None, None, None) + + +@six.add_metaclass(abc.ABCMeta) +class OCSPRequest(object): + @abc.abstractproperty + def issuer_key_hash(self): + """ + The hash of the issuer public key + """ + + @abc.abstractproperty + def issuer_name_hash(self): + """ + The hash of the issuer name + """ + + @abc.abstractproperty + def hash_algorithm(self): + """ + The hash algorithm used in the issuer name and key hashes + """ + + @abc.abstractproperty + def serial_number(self): + """ + The serial number of the cert whose status is being checked + """ + + @abc.abstractmethod + def public_bytes(self, encoding): + """ + Serializes the request to DER + """ + + @abc.abstractproperty + def extensions(self): + """ + The list of request extensions. Not single request extensions. + """ + + +@six.add_metaclass(abc.ABCMeta) +class OCSPResponse(object): + @abc.abstractproperty + def response_status(self): + """ + The status of the response. This is a value from the OCSPResponseStatus + enumeration + """ + + @abc.abstractproperty + def signature_algorithm_oid(self): + """ + The ObjectIdentifier of the signature algorithm + """ + + @abc.abstractproperty + def signature_hash_algorithm(self): + """ + Returns a HashAlgorithm corresponding to the type of the digest signed + """ + + @abc.abstractproperty + def signature(self): + """ + The signature bytes + """ + + @abc.abstractproperty + def tbs_response_bytes(self): + """ + The tbsResponseData bytes + """ + + @abc.abstractproperty + def certificates(self): + """ + A list of certificates used to help build a chain to verify the OCSP + response. This situation occurs when the OCSP responder uses a delegate + certificate. + """ + + @abc.abstractproperty + def responder_key_hash(self): + """ + The responder's key hash or None + """ + + @abc.abstractproperty + def responder_name(self): + """ + The responder's Name or None + """ + + @abc.abstractproperty + def produced_at(self): + """ + The time the response was produced + """ + + @abc.abstractproperty + def certificate_status(self): + """ + The status of the certificate (an element from the OCSPCertStatus enum) + """ + + @abc.abstractproperty + def revocation_time(self): + """ + The date of when the certificate was revoked or None if not + revoked. + """ + + @abc.abstractproperty + def revocation_reason(self): + """ + The reason the certificate was revoked or None if not specified or + not revoked. + """ + + @abc.abstractproperty + def this_update(self): + """ + The most recent time at which the status being indicated is known by + the responder to have been correct + """ + + @abc.abstractproperty + def next_update(self): + """ + The time when newer information will be available + """ + + @abc.abstractproperty + def issuer_key_hash(self): + """ + The hash of the issuer public key + """ + + @abc.abstractproperty + def issuer_name_hash(self): + """ + The hash of the issuer name + """ + + @abc.abstractproperty + def hash_algorithm(self): + """ + The hash algorithm used in the issuer name and key hashes + """ + + @abc.abstractproperty + def serial_number(self): + """ + The serial number of the cert whose status is being checked + """ + + @abc.abstractproperty + def extensions(self): + """ + The list of response extensions. Not single response extensions. + """ + + @abc.abstractproperty + def single_extensions(self): + """ + The list of single response extensions. Not response extensions. + """ diff --git a/contrib/python/cryptography/cryptography/x509/oid.py b/contrib/python/cryptography/cryptography/x509/oid.py index b7babe31e3..2bf606e50d 100644 --- a/contrib/python/cryptography/cryptography/x509/oid.py +++ b/contrib/python/cryptography/cryptography/x509/oid.py @@ -4,7 +4,7 @@ from __future__ import absolute_import, division, print_function -from cryptography.hazmat._oid import ObjectIdentifier +from cryptography.hazmat._oid import ObjectIdentifier from cryptography.hazmat.primitives import hashes @@ -24,24 +24,24 @@ class ExtensionOID(object): EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37") FRESHEST_CRL = ObjectIdentifier("2.5.29.46") INHIBIT_ANY_POLICY = ObjectIdentifier("2.5.29.54") - ISSUING_DISTRIBUTION_POINT = ObjectIdentifier("2.5.29.28") + ISSUING_DISTRIBUTION_POINT = ObjectIdentifier("2.5.29.28") AUTHORITY_INFORMATION_ACCESS = ObjectIdentifier("1.3.6.1.5.5.7.1.1") SUBJECT_INFORMATION_ACCESS = ObjectIdentifier("1.3.6.1.5.5.7.1.11") OCSP_NO_CHECK = ObjectIdentifier("1.3.6.1.5.5.7.48.1.5") - TLS_FEATURE = ObjectIdentifier("1.3.6.1.5.5.7.1.24") + TLS_FEATURE = ObjectIdentifier("1.3.6.1.5.5.7.1.24") CRL_NUMBER = ObjectIdentifier("2.5.29.20") - DELTA_CRL_INDICATOR = ObjectIdentifier("2.5.29.27") - PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier( - "1.3.6.1.4.1.11129.2.4.2" - ) - PRECERT_POISON = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.3") - SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.5") + DELTA_CRL_INDICATOR = ObjectIdentifier("2.5.29.27") + PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier( + "1.3.6.1.4.1.11129.2.4.2" + ) + PRECERT_POISON = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.3") + SIGNED_CERTIFICATE_TIMESTAMPS = ObjectIdentifier("1.3.6.1.4.1.11129.2.4.5") + + +class OCSPExtensionOID(object): + NONCE = ObjectIdentifier("1.3.6.1.5.5.7.48.1.2") -class OCSPExtensionOID(object): - NONCE = ObjectIdentifier("1.3.6.1.5.5.7.48.1.2") - - class CRLEntryExtensionOID(object): CERTIFICATE_ISSUER = ObjectIdentifier("2.5.29.29") CRL_REASON = ObjectIdentifier("2.5.29.21") @@ -75,10 +75,10 @@ class NameOID(object): BUSINESS_CATEGORY = ObjectIdentifier("2.5.4.15") POSTAL_ADDRESS = ObjectIdentifier("2.5.4.16") POSTAL_CODE = ObjectIdentifier("2.5.4.17") - INN = ObjectIdentifier("1.2.643.3.131.1.1") - OGRN = ObjectIdentifier("1.2.643.100.1") - SNILS = ObjectIdentifier("1.2.643.100.3") - UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2") + INN = ObjectIdentifier("1.2.643.3.131.1.1") + OGRN = ObjectIdentifier("1.2.643.100.1") + SNILS = ObjectIdentifier("1.2.643.100.3") + UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2") class SignatureAlgorithmOID(object): @@ -90,7 +90,7 @@ class SignatureAlgorithmOID(object): RSA_WITH_SHA256 = ObjectIdentifier("1.2.840.113549.1.1.11") RSA_WITH_SHA384 = ObjectIdentifier("1.2.840.113549.1.1.12") RSA_WITH_SHA512 = ObjectIdentifier("1.2.840.113549.1.1.13") - RSASSA_PSS = ObjectIdentifier("1.2.840.113549.1.1.10") + RSASSA_PSS = ObjectIdentifier("1.2.840.113549.1.1.10") ECDSA_WITH_SHA1 = ObjectIdentifier("1.2.840.10045.4.1") ECDSA_WITH_SHA224 = ObjectIdentifier("1.2.840.10045.4.3.1") ECDSA_WITH_SHA256 = ObjectIdentifier("1.2.840.10045.4.3.2") @@ -99,11 +99,11 @@ class SignatureAlgorithmOID(object): DSA_WITH_SHA1 = ObjectIdentifier("1.2.840.10040.4.3") DSA_WITH_SHA224 = ObjectIdentifier("2.16.840.1.101.3.4.3.1") DSA_WITH_SHA256 = ObjectIdentifier("2.16.840.1.101.3.4.3.2") - ED25519 = ObjectIdentifier("1.3.101.112") - ED448 = ObjectIdentifier("1.3.101.113") - GOSTR3411_94_WITH_3410_2001 = ObjectIdentifier("1.2.643.2.2.3") - GOSTR3410_2012_WITH_3411_2012_256 = ObjectIdentifier("1.2.643.7.1.1.3.2") - GOSTR3410_2012_WITH_3411_2012_512 = ObjectIdentifier("1.2.643.7.1.1.3.3") + ED25519 = ObjectIdentifier("1.3.101.112") + ED448 = ObjectIdentifier("1.3.101.113") + GOSTR3411_94_WITH_3410_2001 = ObjectIdentifier("1.2.643.2.2.3") + GOSTR3410_2012_WITH_3411_2012_256 = ObjectIdentifier("1.2.643.7.1.1.3.2") + GOSTR3410_2012_WITH_3411_2012_512 = ObjectIdentifier("1.2.643.7.1.1.3.3") _SIG_OIDS_TO_HASH = { @@ -121,12 +121,12 @@ _SIG_OIDS_TO_HASH = { SignatureAlgorithmOID.ECDSA_WITH_SHA512: hashes.SHA512(), SignatureAlgorithmOID.DSA_WITH_SHA1: hashes.SHA1(), SignatureAlgorithmOID.DSA_WITH_SHA224: hashes.SHA224(), - SignatureAlgorithmOID.DSA_WITH_SHA256: hashes.SHA256(), - SignatureAlgorithmOID.ED25519: None, - SignatureAlgorithmOID.ED448: None, - SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: None, - SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: None, - SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: None, + SignatureAlgorithmOID.DSA_WITH_SHA256: hashes.SHA256(), + SignatureAlgorithmOID.ED25519: None, + SignatureAlgorithmOID.ED448: None, + SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: None, + SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: None, + SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: None, } @@ -137,7 +137,7 @@ class ExtendedKeyUsageOID(object): EMAIL_PROTECTION = ObjectIdentifier("1.3.6.1.5.5.7.3.4") TIME_STAMPING = ObjectIdentifier("1.3.6.1.5.5.7.3.8") OCSP_SIGNING = ObjectIdentifier("1.3.6.1.5.5.7.3.9") - ANY_EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37.0") + ANY_EXTENDED_KEY_USAGE = ObjectIdentifier("2.5.29.37.0") class AuthorityInformationAccessOID(object): @@ -145,21 +145,21 @@ class AuthorityInformationAccessOID(object): OCSP = ObjectIdentifier("1.3.6.1.5.5.7.48.1") -class SubjectInformationAccessOID(object): - CA_REPOSITORY = ObjectIdentifier("1.3.6.1.5.5.7.48.5") - - +class SubjectInformationAccessOID(object): + CA_REPOSITORY = ObjectIdentifier("1.3.6.1.5.5.7.48.5") + + class CertificatePoliciesOID(object): CPS_QUALIFIER = ObjectIdentifier("1.3.6.1.5.5.7.2.1") CPS_USER_NOTICE = ObjectIdentifier("1.3.6.1.5.5.7.2.2") ANY_POLICY = ObjectIdentifier("2.5.29.32.0") -class AttributeOID(object): - CHALLENGE_PASSWORD = ObjectIdentifier("1.2.840.113549.1.9.7") - UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2") - - +class AttributeOID(object): + CHALLENGE_PASSWORD = ObjectIdentifier("1.2.840.113549.1.9.7") + UNSTRUCTURED_NAME = ObjectIdentifier("1.2.840.113549.1.9.2") + + _OID_NAMES = { NameOID.COMMON_NAME: "commonName", NameOID.COUNTRY_NAME: "countryName", @@ -187,17 +187,17 @@ _OID_NAMES = { NameOID.BUSINESS_CATEGORY: "businessCategory", NameOID.POSTAL_ADDRESS: "postalAddress", NameOID.POSTAL_CODE: "postalCode", - NameOID.INN: "INN", - NameOID.OGRN: "OGRN", - NameOID.SNILS: "SNILS", - NameOID.UNSTRUCTURED_NAME: "unstructuredName", + NameOID.INN: "INN", + NameOID.OGRN: "OGRN", + NameOID.SNILS: "SNILS", + NameOID.UNSTRUCTURED_NAME: "unstructuredName", SignatureAlgorithmOID.RSA_WITH_MD5: "md5WithRSAEncryption", SignatureAlgorithmOID.RSA_WITH_SHA1: "sha1WithRSAEncryption", SignatureAlgorithmOID.RSA_WITH_SHA224: "sha224WithRSAEncryption", SignatureAlgorithmOID.RSA_WITH_SHA256: "sha256WithRSAEncryption", SignatureAlgorithmOID.RSA_WITH_SHA384: "sha384WithRSAEncryption", SignatureAlgorithmOID.RSA_WITH_SHA512: "sha512WithRSAEncryption", - SignatureAlgorithmOID.RSASSA_PSS: "RSASSA-PSS", + SignatureAlgorithmOID.RSASSA_PSS: "RSASSA-PSS", SignatureAlgorithmOID.ECDSA_WITH_SHA1: "ecdsa-with-SHA1", SignatureAlgorithmOID.ECDSA_WITH_SHA224: "ecdsa-with-SHA224", SignatureAlgorithmOID.ECDSA_WITH_SHA256: "ecdsa-with-SHA256", @@ -206,17 +206,17 @@ _OID_NAMES = { SignatureAlgorithmOID.DSA_WITH_SHA1: "dsa-with-sha1", SignatureAlgorithmOID.DSA_WITH_SHA224: "dsa-with-sha224", SignatureAlgorithmOID.DSA_WITH_SHA256: "dsa-with-sha256", - SignatureAlgorithmOID.ED25519: "ed25519", - SignatureAlgorithmOID.ED448: "ed448", - SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: ( - "GOST R 34.11-94 with GOST R 34.10-2001" - ), - SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: ( - "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)" - ), - SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: ( - "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)" - ), + SignatureAlgorithmOID.ED25519: "ed25519", + SignatureAlgorithmOID.ED448: "ed448", + SignatureAlgorithmOID.GOSTR3411_94_WITH_3410_2001: ( + "GOST R 34.11-94 with GOST R 34.10-2001" + ), + SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_256: ( + "GOST R 34.10-2012 with GOST R 34.11-2012 (256 bit)" + ), + SignatureAlgorithmOID.GOSTR3410_2012_WITH_3411_2012_512: ( + "GOST R 34.10-2012 with GOST R 34.11-2012 (512 bit)" + ), ExtendedKeyUsageOID.SERVER_AUTH: "serverAuth", ExtendedKeyUsageOID.CLIENT_AUTH: "clientAuth", ExtendedKeyUsageOID.CODE_SIGNING: "codeSigning", @@ -229,13 +229,13 @@ _OID_NAMES = { ExtensionOID.SUBJECT_ALTERNATIVE_NAME: "subjectAltName", ExtensionOID.ISSUER_ALTERNATIVE_NAME: "issuerAltName", ExtensionOID.BASIC_CONSTRAINTS: "basicConstraints", - ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: ( - "signedCertificateTimestampList" - ), - ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS: ( - "signedCertificateTimestampList" - ), - ExtensionOID.PRECERT_POISON: "ctPoison", + ExtensionOID.PRECERT_SIGNED_CERTIFICATE_TIMESTAMPS: ( + "signedCertificateTimestampList" + ), + ExtensionOID.SIGNED_CERTIFICATE_TIMESTAMPS: ( + "signedCertificateTimestampList" + ), + ExtensionOID.PRECERT_POISON: "ctPoison", CRLEntryExtensionOID.CRL_REASON: "cRLReason", CRLEntryExtensionOID.INVALIDITY_DATE: "invalidityDate", CRLEntryExtensionOID.CERTIFICATE_ISSUER: "certificateIssuer", @@ -248,18 +248,18 @@ _OID_NAMES = { ExtensionOID.EXTENDED_KEY_USAGE: "extendedKeyUsage", ExtensionOID.FRESHEST_CRL: "freshestCRL", ExtensionOID.INHIBIT_ANY_POLICY: "inhibitAnyPolicy", - ExtensionOID.ISSUING_DISTRIBUTION_POINT: ("issuingDistributionPoint"), + ExtensionOID.ISSUING_DISTRIBUTION_POINT: ("issuingDistributionPoint"), ExtensionOID.AUTHORITY_INFORMATION_ACCESS: "authorityInfoAccess", ExtensionOID.SUBJECT_INFORMATION_ACCESS: "subjectInfoAccess", ExtensionOID.OCSP_NO_CHECK: "OCSPNoCheck", ExtensionOID.CRL_NUMBER: "cRLNumber", - ExtensionOID.DELTA_CRL_INDICATOR: "deltaCRLIndicator", - ExtensionOID.TLS_FEATURE: "TLSFeature", + ExtensionOID.DELTA_CRL_INDICATOR: "deltaCRLIndicator", + ExtensionOID.TLS_FEATURE: "TLSFeature", AuthorityInformationAccessOID.OCSP: "OCSP", AuthorityInformationAccessOID.CA_ISSUERS: "caIssuers", - SubjectInformationAccessOID.CA_REPOSITORY: "caRepository", + SubjectInformationAccessOID.CA_REPOSITORY: "caRepository", CertificatePoliciesOID.CPS_QUALIFIER: "id-qt-cps", CertificatePoliciesOID.CPS_USER_NOTICE: "id-qt-unotice", - OCSPExtensionOID.NONCE: "OCSPNonce", - AttributeOID.CHALLENGE_PASSWORD: "challengePassword", + OCSPExtensionOID.NONCE: "OCSPNonce", + AttributeOID.CHALLENGE_PASSWORD: "challengePassword", } diff --git a/contrib/python/cryptography/ya.make b/contrib/python/cryptography/ya.make index dcee2868bf..d63bb62f6a 100644 --- a/contrib/python/cryptography/ya.make +++ b/contrib/python/cryptography/ya.make @@ -16,8 +16,8 @@ ENDIF() PEERDIR( contrib/libs/openssl contrib/python/cffi - # contrib/python/idna - # contrib/python/asn1crypto + # contrib/python/idna + # contrib/python/asn1crypto contrib/python/setuptools contrib/python/six ) @@ -48,30 +48,30 @@ PY_SRCS( cryptography/exceptions.py cryptography/fernet.py cryptography/hazmat/__init__.py - cryptography/hazmat/_der.py - cryptography/hazmat/_oid.py + cryptography/hazmat/_der.py + cryptography/hazmat/_oid.py cryptography/hazmat/backends/__init__.py cryptography/hazmat/backends/interfaces.py cryptography/hazmat/backends/openssl/__init__.py - cryptography/hazmat/backends/openssl/aead.py + cryptography/hazmat/backends/openssl/aead.py cryptography/hazmat/backends/openssl/backend.py cryptography/hazmat/backends/openssl/ciphers.py cryptography/hazmat/backends/openssl/cmac.py cryptography/hazmat/backends/openssl/decode_asn1.py - cryptography/hazmat/backends/openssl/dh.py + cryptography/hazmat/backends/openssl/dh.py cryptography/hazmat/backends/openssl/dsa.py cryptography/hazmat/backends/openssl/ec.py - cryptography/hazmat/backends/openssl/ed25519.py - cryptography/hazmat/backends/openssl/ed448.py + cryptography/hazmat/backends/openssl/ed25519.py + cryptography/hazmat/backends/openssl/ed448.py cryptography/hazmat/backends/openssl/encode_asn1.py cryptography/hazmat/backends/openssl/hashes.py cryptography/hazmat/backends/openssl/hmac.py - cryptography/hazmat/backends/openssl/ocsp.py - cryptography/hazmat/backends/openssl/poly1305.py + cryptography/hazmat/backends/openssl/ocsp.py + cryptography/hazmat/backends/openssl/poly1305.py cryptography/hazmat/backends/openssl/rsa.py cryptography/hazmat/backends/openssl/utils.py - cryptography/hazmat/backends/openssl/x25519.py - cryptography/hazmat/backends/openssl/x448.py + cryptography/hazmat/backends/openssl/x25519.py + cryptography/hazmat/backends/openssl/x448.py cryptography/hazmat/backends/openssl/x509.py cryptography/hazmat/bindings/__init__.py cryptography/hazmat/bindings/openssl/__init__.py @@ -82,15 +82,15 @@ PY_SRCS( cryptography/hazmat/primitives/asymmetric/dh.py cryptography/hazmat/primitives/asymmetric/dsa.py cryptography/hazmat/primitives/asymmetric/ec.py - cryptography/hazmat/primitives/asymmetric/ed25519.py - cryptography/hazmat/primitives/asymmetric/ed448.py + cryptography/hazmat/primitives/asymmetric/ed25519.py + cryptography/hazmat/primitives/asymmetric/ed448.py cryptography/hazmat/primitives/asymmetric/padding.py cryptography/hazmat/primitives/asymmetric/rsa.py cryptography/hazmat/primitives/asymmetric/utils.py - cryptography/hazmat/primitives/asymmetric/x25519.py - cryptography/hazmat/primitives/asymmetric/x448.py + cryptography/hazmat/primitives/asymmetric/x25519.py + cryptography/hazmat/primitives/asymmetric/x448.py cryptography/hazmat/primitives/ciphers/__init__.py - cryptography/hazmat/primitives/ciphers/aead.py + cryptography/hazmat/primitives/ciphers/aead.py cryptography/hazmat/primitives/ciphers/algorithms.py cryptography/hazmat/primitives/ciphers/base.py cryptography/hazmat/primitives/ciphers/modes.py @@ -107,12 +107,12 @@ PY_SRCS( cryptography/hazmat/primitives/kdf/x963kdf.py cryptography/hazmat/primitives/keywrap.py cryptography/hazmat/primitives/padding.py - cryptography/hazmat/primitives/poly1305.py - cryptography/hazmat/primitives/serialization/__init__.py - cryptography/hazmat/primitives/serialization/base.py - cryptography/hazmat/primitives/serialization/pkcs12.py - cryptography/hazmat/primitives/serialization/pkcs7.py - cryptography/hazmat/primitives/serialization/ssh.py + cryptography/hazmat/primitives/poly1305.py + cryptography/hazmat/primitives/serialization/__init__.py + cryptography/hazmat/primitives/serialization/base.py + cryptography/hazmat/primitives/serialization/pkcs12.py + cryptography/hazmat/primitives/serialization/pkcs7.py + cryptography/hazmat/primitives/serialization/ssh.py cryptography/hazmat/primitives/twofactor/__init__.py cryptography/hazmat/primitives/twofactor/hotp.py cryptography/hazmat/primitives/twofactor/totp.py @@ -120,11 +120,11 @@ PY_SRCS( cryptography/utils.py cryptography/x509/__init__.py cryptography/x509/base.py - cryptography/x509/certificate_transparency.py + cryptography/x509/certificate_transparency.py cryptography/x509/extensions.py cryptography/x509/general_name.py cryptography/x509/name.py - cryptography/x509/ocsp.py + cryptography/x509/ocsp.py cryptography/x509/oid.py ) diff --git a/contrib/python/mypy-protobuf/bin/ya.make b/contrib/python/mypy-protobuf/bin/ya.make index ac0a5874b0..b14eec5f93 100644 --- a/contrib/python/mypy-protobuf/bin/ya.make +++ b/contrib/python/mypy-protobuf/bin/ya.make @@ -1,6 +1,6 @@ -OWNER(torkve g:python-contrib) - +OWNER(torkve g:python-contrib) + RECURSE( protoc-gen-mypy protoc-gen-mypy_grpc -) +) diff --git a/contrib/python/mypy-protobuf/ya.make b/contrib/python/mypy-protobuf/ya.make index 6cf08cb4d7..4f86fe6bf9 100644 --- a/contrib/python/mypy-protobuf/ya.make +++ b/contrib/python/mypy-protobuf/ya.make @@ -1,9 +1,9 @@ PY3_LIBRARY() -OWNER(torkve g:python-contrib) - +OWNER(torkve g:python-contrib) + VERSION(2.10) - + LICENSE(Apache-2.0) PEERDIR( @@ -30,4 +30,4 @@ END() RECURSE( bin -) +) diff --git a/contrib/python/setuptools/py2/pkg_resources/__init__.py b/contrib/python/setuptools/py2/pkg_resources/__init__.py index 0a920ed8ac..649a2ce651 100644 --- a/contrib/python/setuptools/py2/pkg_resources/__init__.py +++ b/contrib/python/setuptools/py2/pkg_resources/__init__.py @@ -3229,8 +3229,8 @@ from library.python import resource class ResProvider(EmptyProvider): - _resource_fs = {} - + _resource_fs = {} + def __init__(self, prefix): if hasattr(prefix, '__file__'): key = prefix.__file__.rsplit('/', 1)[0] @@ -3279,16 +3279,16 @@ class ResProvider(EmptyProvider): return self._resource_fs.get(path) def _listdir(self, path): - result = self.__lookup(path) - if result is None: - return [] - if isinstance(path, six.text_type) and six.PY2: - return [key.decode('utf-8') for key in result] + result = self.__lookup(path) + if result is None: + return [] + if isinstance(path, six.text_type) and six.PY2: + return [key.decode('utf-8') for key in result] else: - return list(result) + return list(result) def _isdir(self, path): - return bool(self.__lookup(path)) + return bool(self.__lookup(path)) class ResDistribution(DistInfoDistribution): diff --git a/contrib/python/setuptools/py3/pkg_resources/__init__.py b/contrib/python/setuptools/py3/pkg_resources/__init__.py index f2b39ed028..6b947a49a7 100644 --- a/contrib/python/setuptools/py3/pkg_resources/__init__.py +++ b/contrib/python/setuptools/py3/pkg_resources/__init__.py @@ -3235,8 +3235,8 @@ from library.python import resource class ResProvider(EmptyProvider): - _resource_fs = {} - + _resource_fs = {} + def __init__(self, prefix): if hasattr(prefix, '__file__'): key = prefix.__file__.rsplit('/', 1)[0] @@ -3284,13 +3284,13 @@ class ResProvider(EmptyProvider): return self._resource_fs.get(path) def _listdir(self, path): - result = self.__lookup(path) - if result is None: - return [] + result = self.__lookup(path) + if result is None: + return [] return list(result) def _isdir(self, path): - return bool(self.__lookup(path)) + return bool(self.__lookup(path)) class ResDistribution(DistInfoDistribution): diff --git a/contrib/python/ya.make b/contrib/python/ya.make index f45772264d..d01ced9f3a 100644 --- a/contrib/python/ya.make +++ b/contrib/python/ya.make @@ -649,7 +649,7 @@ RECURSE( mutablerecords mypy mypy-extensions - mypy-protobuf + mypy-protobuf mypy-zope MySQL-python mysqlclient-python diff --git a/library/python/testing/ya.make b/library/python/testing/ya.make index efe450e949..883bc8d7ab 100644 --- a/library/python/testing/ya.make +++ b/library/python/testing/ya.make @@ -14,7 +14,7 @@ RECURSE( pytest_runner/test recipe system_info - types_test + types_test yapackage yapackage/test yatest_common diff --git a/library/python/ya.make b/library/python/ya.make index fe170470cd..2e1eb6e0e1 100644 --- a/library/python/ya.make +++ b/library/python/ya.make @@ -23,7 +23,7 @@ RECURSE( bstr build_info build_info/ut - capabilities + capabilities celery_dashboard certifi cgroups @@ -50,7 +50,7 @@ RECURSE( cyson cyson/pymodule cyson/ut - deploy_formatter + deploy_formatter deprecated dir-sync django @@ -167,7 +167,7 @@ RECURSE( sdms_api sfx selenium_ui_test - sendmsg + sendmsg stubmaker solomon spack diff --git a/library/ya.make b/library/ya.make index 8c911bdef6..86f833bd02 100644 --- a/library/ya.make +++ b/library/ya.make @@ -2,7 +2,7 @@ OWNER(g:cpp-contrib) RECURSE( c - cpp + cpp python recipes #lemmer/byk/ut diff --git a/util/system/shellcommand.cpp b/util/system/shellcommand.cpp index 9b30cfcc1b..b1989b5c8c 100644 --- a/util/system/shellcommand.cpp +++ b/util/system/shellcommand.cpp @@ -1,4 +1,4 @@ -#include "shellcommand.h" +#include "shellcommand.h" #include "user.h" #include "nice.h" #include "sigset.h" @@ -10,14 +10,14 @@ #include <util/generic/vector.h> #include <util/generic/yexception.h> #include <util/memory/tempbuf.h> -#include <util/network/socket.h> +#include <util/network/socket.h> #include <util/stream/pipe.h> -#include <util/stream/str.h> +#include <util/stream/str.h> #include <util/string/cast.h> #include <util/system/info.h> -#include <errno.h> - +#include <errno.h> + #if defined(_unix_) #include <unistd.h> #include <fcntl.h> @@ -177,7 +177,7 @@ public: TRealPipeHandle(fds[1]).Swap(writer); } -private: +private: REALPIPEHANDLE Fd_; }; @@ -203,7 +203,7 @@ private: TString CollectedError; TString InternalError; TThread* WatchThread; - TMutex TerminateMutex; + TMutex TerminateMutex; TFileHandle InputHandle; TFileHandle OutputHandle; TFileHandle ErrorHandle; @@ -227,8 +227,8 @@ private: THashMap<TString, TString> Environment; int Nice = 0; std::function<void()> FuncAfterFork = {}; - - struct TProcessInfo { + + struct TProcessInfo { TImpl* Parent; TRealPipeHandle InputFd; TRealPipeHandle OutputFd; @@ -239,9 +239,9 @@ private: , OutputFd(outputFd) , ErrorFd(errorFd) { - } - }; - + } + }; + struct TPipes { TRealPipeHandle OutputPipeFd[2]; TRealPipeHandle ErrorPipeFd[2]; @@ -279,7 +279,7 @@ private: void StartProcess(TPipes& pipes); #endif -public: +public: inline TImpl(const TStringBuf cmd, const TList<TString>& args, const TShellCommandOptions& options, const TString& workdir) : Pid(0) , Command(ToString(cmd)) @@ -307,61 +307,61 @@ public: , Environment(options.Environment) , Nice(options.Nice) , FuncAfterFork(options.FuncAfterFork) - { + { if (InputStream) { // TODO change usages to call SetInputStream instead of directly assigning to InputStream InputMode = TShellCommandOptions::HANDLE_STREAM; } - } - - inline ~TImpl() { - if (WatchThread) { + } + + inline ~TImpl() { + if (WatchThread) { with_lock (TerminateMutex) { - TerminateFlag = true; - } + TerminateFlag = true; + } - delete WatchThread; - } + delete WatchThread; + } #if defined(_win_) if (Pid) { CloseHandle(Pid); } #endif - } - + } + inline void AppendArgument(const TStringBuf argument) { if (AtomicGet(ExecutionStatus) == SHELL_RUNNING) { - ythrow yexception() << "You cannot change command parameters while process is running"; - } + ythrow yexception() << "You cannot change command parameters while process is running"; + } Arguments.push_back(ToString(argument)); - } - + } + inline const TString& GetOutput() const { if (AtomicGet(ExecutionStatus) == SHELL_RUNNING) { - ythrow yexception() << "You cannot retrieve output while process is running."; - } - return CollectedOutput; - } - + ythrow yexception() << "You cannot retrieve output while process is running."; + } + return CollectedOutput; + } + inline const TString& GetError() const { if (AtomicGet(ExecutionStatus) == SHELL_RUNNING) { - ythrow yexception() << "You cannot retrieve output while process is running."; - } - return CollectedError; - } - + ythrow yexception() << "You cannot retrieve output while process is running."; + } + return CollectedError; + } + inline const TString& GetInternalError() const { if (AtomicGet(ExecutionStatus) != SHELL_INTERNAL_ERROR) { - ythrow yexception() << "Internal error hasn't occured so can't be retrieved."; - } - return InternalError; - } - - inline ECommandStatus GetStatus() const { + ythrow yexception() << "Internal error hasn't occured so can't be retrieved."; + } + return InternalError; + } + + inline ECommandStatus GetStatus() const { return static_cast<ECommandStatus>(AtomicGet(ExecutionStatus)); - } - + } + inline TMaybe<int> GetExitCode() const { return ExitCode; } @@ -388,7 +388,7 @@ public: // start child process void Run(); - + inline void Terminate() { if (!!Pid && (AtomicGet(ExecutionStatus) == SHELL_RUNNING)) { bool ok = @@ -408,24 +408,24 @@ public: } } - inline void Wait() { + inline void Wait() { if (WatchThread) { - WatchThread->Join(); + WatchThread->Join(); } - } - + } + inline void CloseInput() { AtomicSet(ShouldCloseInput, true); } inline static bool TerminateIsRequired(void* processInfo) { TProcessInfo* pi = reinterpret_cast<TProcessInfo*>(processInfo); - if (!pi->Parent->TerminateFlag) { - return false; - } - pi->InputFd.Close(); - pi->ErrorFd.Close(); - pi->OutputFd.Close(); + if (!pi->Parent->TerminateFlag) { + return false; + } + pi->InputFd.Close(); + pi->ErrorFd.Close(); + pi->OutputFd.Close(); if (pi->Parent->CloseStreams) { if (pi->Parent->ErrorStream) { @@ -436,13 +436,13 @@ public: } } - delete pi; - return true; - } - + delete pi; + return true; + } + // interchange io while process is alive inline static void Communicate(TProcessInfo* pi); - + inline static void* WatchProcess(void* data) { TProcessInfo* pi = reinterpret_cast<TProcessInfo*>(data); Communicate(pi); @@ -511,7 +511,7 @@ public: TString GetQuotedCommand() const; }; - + #if defined(_win_) void TShellCommand::TImpl::StartProcess(TShellCommand::TImpl::TPipes& pipes) { // Setup STARTUPINFO to redirect handles. @@ -931,9 +931,9 @@ void TShellCommand::TImpl::Communicate(TProcessInfo* pi) { { with_lock (pi->Parent->TerminateMutex) { if (TerminateIsRequired(pi)) { - return; + return; } - } + } waitPidResult = #if defined(_unix_) @@ -1039,20 +1039,20 @@ void TShellCommand::TImpl::Communicate(TProcessInfo* pi) { input = nullptr; } continue; - } + } bufPos = inputBuffer.Data(); - } + } bytes = pi->InputFd.Write(bufPos, bytesToWrite); if (bytes > 0) { bytesToWrite -= bytes; bufPos += bytes; - } else { + } else { input = nullptr; - } + } DBG(Cerr << "transferred " << bytes << " bytes of input" << Endl); - } + } #endif } DBG(Cerr << "process finished" << Endl); @@ -1075,19 +1075,19 @@ void TShellCommand::TImpl::Communicate(TProcessInfo* pi) { DWORD exitCode = STILL_ACTIVE; if (!GetExitCodeProcess(pi->Parent->Pid, &exitCode)) { ythrow yexception() << "GetExitCodeProcess: " << LastSystemErrorText(); - } + } if (exitCode == 0) cleanExit = true; processExitCode = static_cast<int>(exitCode); DBG(Cerr << "exit code: " << exitCode << Endl); - } + } #endif pi->Parent->ExitCode = processExitCode; if (cleanExit) { AtomicSet(pi->Parent->ExecutionStatus, SHELL_FINISHED); } else { AtomicSet(pi->Parent->ExecutionStatus, SHELL_ERROR); - } + } #if defined(_win_) for (auto& threadHolder : streamThreads) @@ -1115,12 +1115,12 @@ void TShellCommand::TImpl::Communicate(TProcessInfo* pi) { pi->InputFd.Close(); } Cdbg << "shell command internal error: " << pi->Parent->InternalError << Endl; - } + } // Now we can safely delete process info struct and other data pi->Parent->TerminateFlag = true; TerminateIsRequired(pi); } - + TShellCommand::TShellCommand(const TStringBuf cmd, const TList<TString>& args, const TShellCommandOptions& options, const TString& workdir) : Impl(new TImpl(cmd, args, options, workdir)) @@ -1129,32 +1129,32 @@ TShellCommand::TShellCommand(const TStringBuf cmd, const TList<TString>& args, c TShellCommand::TShellCommand(const TStringBuf cmd, const TShellCommandOptions& options, const TString& workdir) : Impl(new TImpl(cmd, TList<TString>(), options, workdir)) -{ -} - +{ +} + TShellCommand::~TShellCommand() = default; - + TShellCommand& TShellCommand::operator<<(const TStringBuf argument) { Impl->AppendArgument(argument); - return *this; -} - + return *this; +} + const TString& TShellCommand::GetOutput() const { - return Impl->GetOutput(); -} - + return Impl->GetOutput(); +} + const TString& TShellCommand::GetError() const { - return Impl->GetError(); -} - + return Impl->GetError(); +} + const TString& TShellCommand::GetInternalError() const { - return Impl->GetInternalError(); -} - + return Impl->GetInternalError(); +} + TShellCommand::ECommandStatus TShellCommand::GetStatus() const { - return Impl->GetStatus(); -} - + return Impl->GetStatus(); +} + TMaybe<int> TShellCommand::GetExitCode() const { return Impl->GetExitCode(); } @@ -1176,19 +1176,19 @@ TFileHandle& TShellCommand::GetErrorHandle() { } TShellCommand& TShellCommand::Run() { - Impl->Run(); - return *this; -} - + Impl->Run(); + return *this; +} + TShellCommand& TShellCommand::Terminate() { Impl->Terminate(); return *this; } TShellCommand& TShellCommand::Wait() { - Impl->Wait(); - return *this; -} + Impl->Wait(); + return *this; +} TShellCommand& TShellCommand::CloseInput() { Impl->CloseInput(); diff --git a/util/system/shellcommand.h b/util/system/shellcommand.h index d787bf6384..8730627fe5 100644 --- a/util/system/shellcommand.h +++ b/util/system/shellcommand.h @@ -1,21 +1,21 @@ -#pragma once - -#include <util/generic/noncopyable.h> +#pragma once + +#include <util/generic/noncopyable.h> #include <util/generic/string.h> -#include <util/generic/list.h> +#include <util/generic/list.h> #include <util/generic/hash.h> -#include <util/generic/strbuf.h> +#include <util/generic/strbuf.h> #include <util/generic/maybe.h> -#include <util/stream/input.h> -#include <util/stream/output.h> +#include <util/stream/input.h> +#include <util/stream/output.h> #include "file.h" #include "getpid.h" #include "thread.h" #include "mutex.h" -#include <sys/types.h> - +#include <sys/types.h> + class TShellCommandOptions { -public: +public: struct TUserOptions { TString Name; #if defined(_win_) @@ -57,15 +57,15 @@ public: , Nice(0) , FuncAfterFork(std::function<void()>()) { - } - + } + inline TShellCommandOptions& SetNice(int value) noexcept { Nice = value; return *this; } - /** + /** * @brief clear signal mask from parent process. If true, child process * clears the signal mask inherited from the parent process; otherwise * child process retains the signal mask of the parent process. @@ -94,21 +94,21 @@ public: } /** - * @brief set asynchronous mode. If true, task will be run - * in separate thread, and control will be returned immediately - * - * @param async true if asynchonous mode is needed + * @brief set asynchronous mode. If true, task will be run + * in separate thread, and control will be returned immediately + * + * @param async true if asynchonous mode is needed * @note in default async mode launcher will need 100% cpu for rapid process termination - * @return self - */ + * @return self + */ inline TShellCommandOptions& SetAsync(bool async) { - AsyncMode = async; + AsyncMode = async; if (AsyncMode) PollDelayMs = 0; - return *this; - } - - /** + return *this; + } + + /** * @brief specify delay for process controlling loop * @param ms number of milliseconds to poll for * @note for synchronous process default of 1s should generally fit @@ -122,52 +122,52 @@ public: } /** - * @brief set the stream, which is input fetched from - * - * @param stream Pointer to stream. - * If stream is NULL or not set, input channel will be closed. - * - * @return self - */ + * @brief set the stream, which is input fetched from + * + * @param stream Pointer to stream. + * If stream is NULL or not set, input channel will be closed. + * + * @return self + */ inline TShellCommandOptions& SetInputStream(IInputStream* stream) { - InputStream = stream; + InputStream = stream; if (InputStream == nullptr) { InputMode = HANDLE_INHERIT; } else { InputMode = HANDLE_STREAM; } - return *this; - } - - /** - * @brief set the stream, collecting the command output - * - * @param stream Pointer to stream. - * If stream is NULL or not set, output will be collected to the - * internal variable - * - * @return self - */ + return *this; + } + + /** + * @brief set the stream, collecting the command output + * + * @param stream Pointer to stream. + * If stream is NULL or not set, output will be collected to the + * internal variable + * + * @return self + */ inline TShellCommandOptions& SetOutputStream(IOutputStream* stream) { - OutputStream = stream; - return *this; - } - - /** - * @brief set the stream, collecting the command error output - * - * @param stream Pointer to stream. - * If stream is NULL or not set, errors will be collected to the - * internal variable - * - * @return self - */ + OutputStream = stream; + return *this; + } + + /** + * @brief set the stream, collecting the command error output + * + * @param stream Pointer to stream. + * If stream is NULL or not set, errors will be collected to the + * internal variable + * + * @return self + */ inline TShellCommandOptions& SetErrorStream(IOutputStream* stream) { - ErrorStream = stream; - return *this; - } - - /** + ErrorStream = stream; + return *this; + } + + /** * @brief set if Finish() should be called on user-supplied streams * if process is run in async mode Finish will be called in process' thread * @param val if Finish() should be called @@ -205,25 +205,25 @@ public: } /** - * @brief set if the arguments should be wrapped in quotes. - * Please, note that this option makes no difference between - * real arguments and shell syntax, so if you execute something - * like \b TShellCommand("sleep") << "3" << "&&" << "ls", your - * command will look like: - * sleep "3" "&&" "ls" - * which will never end successfully. - * By default, this option is turned on. - * + * @brief set if the arguments should be wrapped in quotes. + * Please, note that this option makes no difference between + * real arguments and shell syntax, so if you execute something + * like \b TShellCommand("sleep") << "3" << "&&" << "ls", your + * command will look like: + * sleep "3" "&&" "ls" + * which will never end successfully. + * By default, this option is turned on. + * * @note arguments will only be quoted if shell is used - * @param quote if the arguments should be quoted - * - * @return self - */ + * @param quote if the arguments should be quoted + * + * @return self + */ inline TShellCommandOptions& SetQuoteArguments(bool quote) { - QuoteArguments = quote; - return *this; - } - + QuoteArguments = quote; + return *this; + } + /** * @brief set to run command in new session * @note set this option to off to deliver parent's signals to command as well @@ -323,82 +323,82 @@ public: static const size_t DefaultSyncPollDelay = 1000; // ms std::function<void()> FuncAfterFork = {}; -}; - -/** - * @brief Execute command in shell and provide its results - * @attention Not thread-safe - */ +}; + +/** + * @brief Execute command in shell and provide its results + * @attention Not thread-safe + */ class TShellCommand: public TNonCopyable { -private: - TShellCommand(); - -public: - enum ECommandStatus { - SHELL_NONE, - SHELL_RUNNING, - SHELL_FINISHED, - SHELL_INTERNAL_ERROR, - SHELL_ERROR - }; - -public: - /** - * @brief create the command with initial arguments list - * - * @param cmd binary name - * @param args arguments list - * @param options execution options +private: + TShellCommand(); + +public: + enum ECommandStatus { + SHELL_NONE, + SHELL_RUNNING, + SHELL_FINISHED, + SHELL_INTERNAL_ERROR, + SHELL_ERROR + }; + +public: + /** + * @brief create the command with initial arguments list + * + * @param cmd binary name + * @param args arguments list + * @param options execution options * @todo store entire options structure - */ + */ TShellCommand(const TStringBuf cmd, const TList<TString>& args, const TShellCommandOptions& options = TShellCommandOptions(), const TString& workdir = TString()); TShellCommand(const TStringBuf cmd, const TShellCommandOptions& options = TShellCommandOptions(), const TString& workdir = TString()); ~TShellCommand(); -public: - /** - * @brief append argument to the args list - * - * @param argument string argument - * - * @return self - */ +public: + /** + * @brief append argument to the args list + * + * @param argument string argument + * + * @return self + */ TShellCommand& operator<<(const TStringBuf argument); - - /** - * @brief return the collected output from the command. - * If the output stream is set, empty string will be returned - * - * @return collected output - */ + + /** + * @brief return the collected output from the command. + * If the output stream is set, empty string will be returned + * + * @return collected output + */ const TString& GetOutput() const; - - /** - * @brief return the collected error output from the command. - * If the error stream is set, empty string will be returned - * - * @return collected error output - */ + + /** + * @brief return the collected error output from the command. + * If the error stream is set, empty string will be returned + * + * @return collected error output + */ const TString& GetError() const; - - /** - * @brief return the internal error occured while watching - * the command execution. Should be called if execution - * status is SHELL_INTERNAL_ERROR - * - * @return error text - */ + + /** + * @brief return the internal error occured while watching + * the command execution. Should be called if execution + * status is SHELL_INTERNAL_ERROR + * + * @return error text + */ const TString& GetInternalError() const; - - /** - * @brief get current status of command execution - * - * @return current status - */ - ECommandStatus GetStatus() const; - - /** + + /** + * @brief get current status of command execution + * + * @return current status + */ + ECommandStatus GetStatus() const; + + /** * @brief return exit code of finished process * The value is unspecified in case of internal errors or if the process is running * @@ -436,13 +436,13 @@ public: TFileHandle& GetErrorHandle(); /** - * @brief run the execution - * - * @return self - */ + * @brief run the execution + * + * @return self + */ TShellCommand& Run(); - - /** + + /** * @brief terminate the execution * @note if DetachSession is set, it terminates all procs in command's new process group * @@ -451,10 +451,10 @@ public: TShellCommand& Terminate(); /** - * @brief wait until the execution is finished - * - * @return self - */ + * @brief wait until the execution is finished + * + * @return self + */ TShellCommand& Wait(); /** @@ -469,11 +469,11 @@ public: **/ TString GetQuotedCommand() const; -private: - class TImpl; +private: + class TImpl; using TImplRef = TSimpleIntrusivePtr<TImpl>; - TImplRef Impl; -}; + TImplRef Impl; +}; /// Appends to dst: quoted arg void ShellQuoteArg(TString& dst, TStringBuf arg); diff --git a/util/system/shellcommand_ut.cpp b/util/system/shellcommand_ut.cpp index c5e1ca8d76..9d849279d2 100644 --- a/util/system/shellcommand_ut.cpp +++ b/util/system/shellcommand_ut.cpp @@ -12,11 +12,11 @@ #include <util/folder/dirut.h> #include <util/random/random.h> #include <util/stream/file.h> -#include <util/stream/str.h> -#include <util/stream/mem.h> -#include <util/string/strip.h> +#include <util/stream/str.h> +#include <util/stream/mem.h> +#include <util/string/strip.h> #include <util/folder/tempdir.h> - + #if defined(_win_) #define NL "\r\n" const char catCommand[] = "sort"; // not really cat but ok @@ -119,7 +119,7 @@ Y_UNIT_TEST_SUITE(TShellCommandTest) { const char dir[] = "ls"; #endif - TShellCommandOptions options; + TShellCommandOptions options; options.SetQuoteArguments(false); { @@ -145,7 +145,7 @@ Y_UNIT_TEST_SUITE(TShellCommandTest) { } Y_UNIT_TEST(TestAsyncRun) { TShellCommandOptions options; - options.SetAsync(true); + options.SetAsync(true); #if defined(_win_) // fails with weird error "Input redirection is not supported" // TShellCommand cmd("sleep", options); @@ -155,43 +155,43 @@ Y_UNIT_TEST_SUITE(TShellCommandTest) { TShellCommand cmd("sleep", options); cmd << "2"; #endif - UNIT_ASSERT(TShellCommand::SHELL_NONE == cmd.GetStatus()); - cmd.Run(); - sleep(1); - UNIT_ASSERT(TShellCommand::SHELL_RUNNING == cmd.GetStatus()); - cmd.Wait(); + UNIT_ASSERT(TShellCommand::SHELL_NONE == cmd.GetStatus()); + cmd.Run(); + sleep(1); + UNIT_ASSERT(TShellCommand::SHELL_RUNNING == cmd.GetStatus()); + cmd.Wait(); UNIT_ASSERT(TShellCommand::SHELL_RUNNING != cmd.GetStatus()); UNIT_ASSERT_VALUES_EQUAL(cmd.GetError(), ""); #if !defined(_win_) - UNIT_ASSERT(TShellCommand::SHELL_FINISHED == cmd.GetStatus()); + UNIT_ASSERT(TShellCommand::SHELL_FINISHED == cmd.GetStatus()); UNIT_ASSERT_VALUES_EQUAL(cmd.GetOutput().size(), 0u); UNIT_ASSERT(cmd.GetExitCode().Defined() && 0 == cmd.GetExitCode()); #endif - } + } Y_UNIT_TEST(TestQuotes) { - TShellCommandOptions options; + TShellCommandOptions options; TString input = TString("a\"a a"); TString output; - TStringOutput outputStream(output); - options.SetOutputStream(&outputStream); + TStringOutput outputStream(output); + options.SetOutputStream(&outputStream); TShellCommand cmd("echo", options); - cmd << input; - cmd.Run().Wait(); - output = StripString(output); + cmd << input; + cmd.Run().Wait(); + output = StripString(output); #if defined(_win_) UNIT_ASSERT_VALUES_EQUAL("\"a\\\"a a\"", output); #else - UNIT_ASSERT_VALUES_EQUAL(input, output); + UNIT_ASSERT_VALUES_EQUAL(input, output); #endif UNIT_ASSERT_VALUES_EQUAL(cmd.GetError().size(), 0u); - } + } Y_UNIT_TEST(TestRunNonexistent) { - TShellCommand cmd("iwerognweiofnewio"); // some nonexistent command name - cmd.Run().Wait(); - UNIT_ASSERT(TShellCommand::SHELL_ERROR == cmd.GetStatus()); + TShellCommand cmd("iwerognweiofnewio"); // some nonexistent command name + cmd.Run().Wait(); + UNIT_ASSERT(TShellCommand::SHELL_ERROR == cmd.GetStatus()); UNIT_ASSERT_VALUES_UNEQUAL(cmd.GetError().size(), 0u); UNIT_ASSERT(cmd.GetExitCode().Defined() && 0 != cmd.GetExitCode()); - } + } Y_UNIT_TEST(TestExitCode) { TShellCommand cmd("grep qwerty qwerty"); // some nonexistent file name cmd.Run().Wait(); @@ -201,28 +201,28 @@ Y_UNIT_TEST_SUITE(TShellCommandTest) { } // 'type con' and 'copy con con' want real console, not stdin, use sort Y_UNIT_TEST(TestInput) { - TShellCommandOptions options; + TShellCommandOptions options; TString input = (TString("a") * 2000).append(NL) * textSize; - TStringInput inputStream(input); - options.SetInputStream(&inputStream); + TStringInput inputStream(input); + options.SetInputStream(&inputStream); TShellCommand cmd(catCommand, options); - cmd.Run().Wait(); - UNIT_ASSERT_VALUES_EQUAL(input, cmd.GetOutput()); + cmd.Run().Wait(); + UNIT_ASSERT_VALUES_EQUAL(input, cmd.GetOutput()); UNIT_ASSERT_VALUES_EQUAL(cmd.GetError().size(), 0u); - } + } Y_UNIT_TEST(TestOutput) { - TShellCommandOptions options; + TShellCommandOptions options; TString input = (TString("a") * 2000).append(NL) * textSize; - TStringInput inputStream(input); - options.SetInputStream(&inputStream); + TStringInput inputStream(input); + options.SetInputStream(&inputStream); TString output; - TStringOutput outputStream(output); - options.SetOutputStream(&outputStream); + TStringOutput outputStream(output); + options.SetOutputStream(&outputStream); TShellCommand cmd(catCommand, options); - cmd.Run().Wait(); - UNIT_ASSERT_VALUES_EQUAL(input, output); + cmd.Run().Wait(); + UNIT_ASSERT_VALUES_EQUAL(input, output); UNIT_ASSERT_VALUES_EQUAL(cmd.GetError().size(), 0u); - } + } Y_UNIT_TEST(TestIO) { // descriptive test: use all options TShellCommandOptions options; @@ -299,24 +299,24 @@ Y_UNIT_TEST_SUITE(TShellCommandTest) { Y_UNIT_TEST(TestInterrupt) { TString tmpfile = TString("shellcommand_ut.interrupt.") + ToString(RandomNumber<ui32>()); - TShellCommandOptions options; - options.SetAsync(true); - options.SetQuoteArguments(false); - { - TShellCommand cmd("/bin/sleep", options); + TShellCommandOptions options; + options.SetAsync(true); + options.SetQuoteArguments(false); + { + TShellCommand cmd("/bin/sleep", options); cmd << " 1300 & wait; /usr/bin/touch " << tmpfile; - cmd.Run(); - sleep(1); - UNIT_ASSERT(TShellCommand::SHELL_RUNNING == cmd.GetStatus()); + cmd.Run(); + sleep(1); + UNIT_ASSERT(TShellCommand::SHELL_RUNNING == cmd.GetStatus()); // Async mode requires Terminate() + Wait() to send kill to child proc! cmd.Terminate(); cmd.Wait(); UNIT_ASSERT(TShellCommand::SHELL_ERROR == cmd.GetStatus()); UNIT_ASSERT(cmd.GetExitCode().Defined() && -15 == cmd.GetExitCode()); - } - sleep(1); + } + sleep(1); UNIT_ASSERT(!NFs::Exists(tmpfile)); - } + } // this ut is unix-only (win has no signal mask) Y_UNIT_TEST(TestSignalMask) { // block SIGTERM @@ -382,16 +382,16 @@ Y_UNIT_TEST_SUITE(TShellCommandTest) { #endif Y_UNIT_TEST(TestInternalError) { TString input = (TString("a") * 2000).append("\n"); - TStringInput inputStream(input); + TStringInput inputStream(input); TMemoryOutput outputStream(nullptr, 0); - TShellCommandOptions options; - options.SetInputStream(&inputStream); - options.SetOutputStream(&outputStream); + TShellCommandOptions options; + options.SetInputStream(&inputStream); + options.SetOutputStream(&outputStream); TShellCommand cmd(catCommand, options); - cmd.Run().Wait(); - UNIT_ASSERT(TShellCommand::SHELL_INTERNAL_ERROR == cmd.GetStatus()); + cmd.Run().Wait(); + UNIT_ASSERT(TShellCommand::SHELL_INTERNAL_ERROR == cmd.GetStatus()); UNIT_ASSERT_VALUES_UNEQUAL(cmd.GetInternalError().size(), 0u); - } + } Y_UNIT_TEST(TestHugeOutput) { TShellCommandOptions options; TGuardedStringStream stream; @@ -490,4 +490,4 @@ Y_UNIT_TEST_SUITE(TShellCommandTest) { UNIT_ASSERT_VALUES_EQUAL(firstLine, text); } -} +} |