From 3b2d98e7dcf4102f855006cc9f5d5000d8df0223 Mon Sep 17 00:00:00 2001 From: Adam Ierymenko Date: Mon, 16 Sep 2013 09:20:59 -0400 Subject: [PATCH] Integrating new crypto -- work in progress, wont build yet. --- Makefile.linux | 2 +- Makefile.mac | 2 +- ext/bin/libcrypto/VERSION.txt | 1 - ext/bin/libcrypto/include/openssl/aes.h | 147 - ext/bin/libcrypto/include/openssl/asn1.h | 1404 ------ ext/bin/libcrypto/include/openssl/asn1_mac.h | 578 --- ext/bin/libcrypto/include/openssl/asn1t.h | 960 ---- ext/bin/libcrypto/include/openssl/bio.h | 847 ---- ext/bin/libcrypto/include/openssl/blowfish.h | 129 - ext/bin/libcrypto/include/openssl/bn.h | 891 ---- ext/bin/libcrypto/include/openssl/buffer.h | 119 - ext/bin/libcrypto/include/openssl/camellia.h | 130 - ext/bin/libcrypto/include/openssl/cast.h | 107 - ext/bin/libcrypto/include/openssl/cmac.h | 82 - ext/bin/libcrypto/include/openssl/cms.h | 501 -- ext/bin/libcrypto/include/openssl/comp.h | 80 - ext/bin/libcrypto/include/openssl/conf.h | 263 -- ext/bin/libcrypto/include/openssl/conf_api.h | 89 - ext/bin/libcrypto/include/openssl/crypto.h | 611 --- ext/bin/libcrypto/include/openssl/des.h | 248 - ext/bin/libcrypto/include/openssl/des_old.h | 446 -- ext/bin/libcrypto/include/openssl/dh.h | 280 -- ext/bin/libcrypto/include/openssl/dsa.h | 327 -- ext/bin/libcrypto/include/openssl/dso.h | 409 -- ext/bin/libcrypto/include/openssl/dtls1.h | 287 -- ext/bin/libcrypto/include/openssl/e_os2.h | 315 -- ext/bin/libcrypto/include/openssl/ebcdic.h | 19 - ext/bin/libcrypto/include/openssl/ec.h | 1167 ----- ext/bin/libcrypto/include/openssl/ecdh.h | 125 - ext/bin/libcrypto/include/openssl/ecdsa.h | 260 -- ext/bin/libcrypto/include/openssl/engine.h | 842 ---- ext/bin/libcrypto/include/openssl/err.h | 386 -- ext/bin/libcrypto/include/openssl/evp.h | 1409 ------ ext/bin/libcrypto/include/openssl/hmac.h | 110 - ext/bin/libcrypto/include/openssl/idea.h | 103 - ext/bin/libcrypto/include/openssl/krb5_asn.h | 256 -- ext/bin/libcrypto/include/openssl/kssl.h | 183 - ext/bin/libcrypto/include/openssl/lhash.h | 241 - ext/bin/libcrypto/include/openssl/md4.h | 120 - ext/bin/libcrypto/include/openssl/md5.h | 120 - ext/bin/libcrypto/include/openssl/mdc2.h | 98 - ext/bin/libcrypto/include/openssl/modes.h | 135 - ext/bin/libcrypto/include/openssl/obj_mac.h | 4032 ----------------- ext/bin/libcrypto/include/openssl/objects.h | 1138 ----- ext/bin/libcrypto/include/openssl/ocsp.h | 623 --- .../libcrypto/include/openssl/opensslconf.h | 432 -- ext/bin/libcrypto/include/openssl/opensslv.h | 89 - ext/bin/libcrypto/include/openssl/ossl_typ.h | 202 - ext/bin/libcrypto/include/openssl/pem.h | 641 --- ext/bin/libcrypto/include/openssl/pem2.h | 70 - ext/bin/libcrypto/include/openssl/pkcs12.h | 331 -- ext/bin/libcrypto/include/openssl/pkcs7.h | 499 -- ext/bin/libcrypto/include/openssl/pqueue.h | 94 - ext/bin/libcrypto/include/openssl/rand.h | 149 - ext/bin/libcrypto/include/openssl/rc2.h | 103 - ext/bin/libcrypto/include/openssl/rc4.h | 90 - ext/bin/libcrypto/include/openssl/ripemd.h | 107 - ext/bin/libcrypto/include/openssl/rsa.h | 582 --- ext/bin/libcrypto/include/openssl/safestack.h | 2663 ----------- ext/bin/libcrypto/include/openssl/seed.h | 139 - ext/bin/libcrypto/include/openssl/sha.h | 214 - ext/bin/libcrypto/include/openssl/srp.h | 172 - ext/bin/libcrypto/include/openssl/srtp.h | 145 - ext/bin/libcrypto/include/openssl/ssl.h | 2579 ----------- ext/bin/libcrypto/include/openssl/ssl2.h | 272 -- ext/bin/libcrypto/include/openssl/ssl23.h | 83 - ext/bin/libcrypto/include/openssl/ssl3.h | 684 --- ext/bin/libcrypto/include/openssl/stack.h | 108 - ext/bin/libcrypto/include/openssl/symhacks.h | 475 -- ext/bin/libcrypto/include/openssl/tls1.h | 735 --- ext/bin/libcrypto/include/openssl/ts.h | 858 ---- ext/bin/libcrypto/include/openssl/txt_db.h | 112 - ext/bin/libcrypto/include/openssl/ui.h | 383 -- ext/bin/libcrypto/include/openssl/ui_compat.h | 83 - ext/bin/libcrypto/include/openssl/whrlpool.h | 41 - ext/bin/libcrypto/include/openssl/x509.h | 1297 ------ ext/bin/libcrypto/include/openssl/x509_vfy.h | 567 --- ext/bin/libcrypto/include/openssl/x509v3.h | 1007 ---- ext/bin/libcrypto/linux-armv4/libcrypto.a | Bin 2608484 -> 0 bytes ext/bin/libcrypto/linux-armv6l | 1 - ext/bin/libcrypto/linux-i686/libcrypto.a | Bin 1689992 -> 0 bytes ext/bin/libcrypto/linux-x86_64/libcrypto.a | Bin 2378528 -> 0 bytes .../libcrypto/mac-x86_combined/libcrypto.a | Bin 3207784 -> 0 bytes .../libcrypto/openssl-config-linux-armv4.sh | 4 - .../libcrypto/openssl-config-linux-i686.sh | 4 - .../libcrypto/openssl-config-linux-x86_64.sh | 4 - ext/bin/libcrypto/openssl-config-osx.sh | 13 - ext/bin/libcrypto/win32-vs2012/libeay32.lib | Bin 14318836 -> 0 bytes ext/bin/libcrypto/win32-vs2012/libeay32d.lib | Bin 14317172 -> 0 bytes ext/bin/libcrypto/win32-vs2012/ssleay32.lib | Bin 2168206 -> 0 bytes ext/bin/libcrypto/win32-vs2012/ssleay32d.lib | Bin 2168206 -> 0 bytes ext/bin/libcrypto/win64-vs2012/libeay32.lib | Bin 15008866 -> 0 bytes ext/bin/libcrypto/win64-vs2012/libeay32d.lib | Bin 15097128 -> 0 bytes ext/bin/libcrypto/win64-vs2012/ssleay32.lib | Bin 2130452 -> 0 bytes ext/bin/libcrypto/win64-vs2012/ssleay32d.lib | Bin 2234938 -> 0 bytes node/C25519.cpp | 10 +- node/C25519.hpp | 33 +- node/EllipticCurveKey.hpp | 114 - node/EllipticCurveKeyPair.cpp | 369 -- node/EllipticCurveKeyPair.hpp | 130 - node/HMAC.cpp | 81 - node/HMAC.hpp | 55 - node/Identity.cpp | 180 +- node/Identity.hpp | 218 +- objects.mk | 2 - 105 files changed, 124 insertions(+), 37722 deletions(-) delete mode 100644 ext/bin/libcrypto/VERSION.txt delete mode 100644 ext/bin/libcrypto/include/openssl/aes.h delete mode 100644 ext/bin/libcrypto/include/openssl/asn1.h delete mode 100644 ext/bin/libcrypto/include/openssl/asn1_mac.h delete mode 100644 ext/bin/libcrypto/include/openssl/asn1t.h delete mode 100644 ext/bin/libcrypto/include/openssl/bio.h delete mode 100644 ext/bin/libcrypto/include/openssl/blowfish.h delete mode 100644 ext/bin/libcrypto/include/openssl/bn.h delete mode 100644 ext/bin/libcrypto/include/openssl/buffer.h delete mode 100644 ext/bin/libcrypto/include/openssl/camellia.h delete mode 100644 ext/bin/libcrypto/include/openssl/cast.h delete mode 100644 ext/bin/libcrypto/include/openssl/cmac.h delete mode 100644 ext/bin/libcrypto/include/openssl/cms.h delete mode 100644 ext/bin/libcrypto/include/openssl/comp.h delete mode 100644 ext/bin/libcrypto/include/openssl/conf.h delete mode 100644 ext/bin/libcrypto/include/openssl/conf_api.h delete mode 100644 ext/bin/libcrypto/include/openssl/crypto.h delete mode 100644 ext/bin/libcrypto/include/openssl/des.h delete mode 100644 ext/bin/libcrypto/include/openssl/des_old.h delete mode 100644 ext/bin/libcrypto/include/openssl/dh.h delete mode 100644 ext/bin/libcrypto/include/openssl/dsa.h delete mode 100644 ext/bin/libcrypto/include/openssl/dso.h delete mode 100644 ext/bin/libcrypto/include/openssl/dtls1.h delete mode 100644 ext/bin/libcrypto/include/openssl/e_os2.h delete mode 100644 ext/bin/libcrypto/include/openssl/ebcdic.h delete mode 100644 ext/bin/libcrypto/include/openssl/ec.h delete mode 100644 ext/bin/libcrypto/include/openssl/ecdh.h delete mode 100644 ext/bin/libcrypto/include/openssl/ecdsa.h delete mode 100644 ext/bin/libcrypto/include/openssl/engine.h delete mode 100644 ext/bin/libcrypto/include/openssl/err.h delete mode 100644 ext/bin/libcrypto/include/openssl/evp.h delete mode 100644 ext/bin/libcrypto/include/openssl/hmac.h delete mode 100644 ext/bin/libcrypto/include/openssl/idea.h delete mode 100644 ext/bin/libcrypto/include/openssl/krb5_asn.h delete mode 100644 ext/bin/libcrypto/include/openssl/kssl.h delete mode 100644 ext/bin/libcrypto/include/openssl/lhash.h delete mode 100644 ext/bin/libcrypto/include/openssl/md4.h delete mode 100644 ext/bin/libcrypto/include/openssl/md5.h delete mode 100644 ext/bin/libcrypto/include/openssl/mdc2.h delete mode 100644 ext/bin/libcrypto/include/openssl/modes.h delete mode 100644 ext/bin/libcrypto/include/openssl/obj_mac.h delete mode 100644 ext/bin/libcrypto/include/openssl/objects.h delete mode 100644 ext/bin/libcrypto/include/openssl/ocsp.h delete mode 100644 ext/bin/libcrypto/include/openssl/opensslconf.h delete mode 100644 ext/bin/libcrypto/include/openssl/opensslv.h delete mode 100644 ext/bin/libcrypto/include/openssl/ossl_typ.h delete mode 100644 ext/bin/libcrypto/include/openssl/pem.h delete mode 100644 ext/bin/libcrypto/include/openssl/pem2.h delete mode 100644 ext/bin/libcrypto/include/openssl/pkcs12.h delete mode 100644 ext/bin/libcrypto/include/openssl/pkcs7.h delete mode 100644 ext/bin/libcrypto/include/openssl/pqueue.h delete mode 100644 ext/bin/libcrypto/include/openssl/rand.h delete mode 100644 ext/bin/libcrypto/include/openssl/rc2.h delete mode 100644 ext/bin/libcrypto/include/openssl/rc4.h delete mode 100644 ext/bin/libcrypto/include/openssl/ripemd.h delete mode 100644 ext/bin/libcrypto/include/openssl/rsa.h delete mode 100644 ext/bin/libcrypto/include/openssl/safestack.h delete mode 100644 ext/bin/libcrypto/include/openssl/seed.h delete mode 100644 ext/bin/libcrypto/include/openssl/sha.h delete mode 100644 ext/bin/libcrypto/include/openssl/srp.h delete mode 100644 ext/bin/libcrypto/include/openssl/srtp.h delete mode 100644 ext/bin/libcrypto/include/openssl/ssl.h delete mode 100644 ext/bin/libcrypto/include/openssl/ssl2.h delete mode 100644 ext/bin/libcrypto/include/openssl/ssl23.h delete mode 100644 ext/bin/libcrypto/include/openssl/ssl3.h delete mode 100644 ext/bin/libcrypto/include/openssl/stack.h delete mode 100644 ext/bin/libcrypto/include/openssl/symhacks.h delete mode 100644 ext/bin/libcrypto/include/openssl/tls1.h delete mode 100644 ext/bin/libcrypto/include/openssl/ts.h delete mode 100644 ext/bin/libcrypto/include/openssl/txt_db.h delete mode 100644 ext/bin/libcrypto/include/openssl/ui.h delete mode 100644 ext/bin/libcrypto/include/openssl/ui_compat.h delete mode 100644 ext/bin/libcrypto/include/openssl/whrlpool.h delete mode 100644 ext/bin/libcrypto/include/openssl/x509.h delete mode 100644 ext/bin/libcrypto/include/openssl/x509_vfy.h delete mode 100644 ext/bin/libcrypto/include/openssl/x509v3.h delete mode 100644 ext/bin/libcrypto/linux-armv4/libcrypto.a delete mode 120000 ext/bin/libcrypto/linux-armv6l delete mode 100644 ext/bin/libcrypto/linux-i686/libcrypto.a delete mode 100644 ext/bin/libcrypto/linux-x86_64/libcrypto.a delete mode 100644 ext/bin/libcrypto/mac-x86_combined/libcrypto.a delete mode 100644 ext/bin/libcrypto/openssl-config-linux-armv4.sh delete mode 100644 ext/bin/libcrypto/openssl-config-linux-i686.sh delete mode 100644 ext/bin/libcrypto/openssl-config-linux-x86_64.sh delete mode 100644 ext/bin/libcrypto/openssl-config-osx.sh delete mode 100644 ext/bin/libcrypto/win32-vs2012/libeay32.lib delete mode 100644 ext/bin/libcrypto/win32-vs2012/libeay32d.lib delete mode 100644 ext/bin/libcrypto/win32-vs2012/ssleay32.lib delete mode 100644 ext/bin/libcrypto/win32-vs2012/ssleay32d.lib delete mode 100644 ext/bin/libcrypto/win64-vs2012/libeay32.lib delete mode 100644 ext/bin/libcrypto/win64-vs2012/libeay32d.lib delete mode 100644 ext/bin/libcrypto/win64-vs2012/ssleay32.lib delete mode 100644 ext/bin/libcrypto/win64-vs2012/ssleay32d.lib delete mode 100644 node/EllipticCurveKey.hpp delete mode 100644 node/EllipticCurveKeyPair.cpp delete mode 100644 node/EllipticCurveKeyPair.hpp delete mode 100644 node/HMAC.cpp delete mode 100644 node/HMAC.hpp diff --git a/Makefile.linux b/Makefile.linux index 50978a394..0ebc5ae8a 100644 --- a/Makefile.linux +++ b/Makefile.linux @@ -1,7 +1,7 @@ CC=gcc CXX=g++ -INCLUDES=-Iext/bin/libcrypto/include +INCLUDES= ARCH=$(shell uname -m) DEFS=-DZT_ARCH="$(ARCH)" -DZT_OSNAME="linux" -DZT_TRACE diff --git a/Makefile.mac b/Makefile.mac index 38e4bb9f1..68f9770f7 100644 --- a/Makefile.mac +++ b/Makefile.mac @@ -1,7 +1,7 @@ CC=gcc CXX=g++ -INCLUDES=-Iext/bin/libcrypto/include +INCLUDES= DEFS=-DZT_ARCH="x86_combined" -DZT_OSNAME="mac" -DZT_TRACE # Uncomment for a release optimized universal binary build diff --git a/ext/bin/libcrypto/VERSION.txt b/ext/bin/libcrypto/VERSION.txt deleted file mode 100644 index a0a116d5b..000000000 --- a/ext/bin/libcrypto/VERSION.txt +++ /dev/null @@ -1 +0,0 @@ -openssl-1.0.1e diff --git a/ext/bin/libcrypto/include/openssl/aes.h b/ext/bin/libcrypto/include/openssl/aes.h deleted file mode 100644 index 031abf01b..000000000 --- a/ext/bin/libcrypto/include/openssl/aes.h +++ /dev/null @@ -1,147 +0,0 @@ -/* crypto/aes/aes.h -*- mode:C; c-file-style: "eay" -*- */ -/* ==================================================================== - * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - */ - -#ifndef HEADER_AES_H -#define HEADER_AES_H - -#include - -#ifdef OPENSSL_NO_AES -#error AES is disabled. -#endif - -#include - -#define AES_ENCRYPT 1 -#define AES_DECRYPT 0 - -/* Because array size can't be a const in C, the following two are macros. - Both sizes are in bytes. */ -#define AES_MAXNR 14 -#define AES_BLOCK_SIZE 16 - -#ifdef __cplusplus -extern "C" { -#endif - -/* This should be a hidden type, but EVP requires that the size be known */ -struct aes_key_st { -#ifdef AES_LONG - unsigned long rd_key[4 *(AES_MAXNR + 1)]; -#else - unsigned int rd_key[4 *(AES_MAXNR + 1)]; -#endif - int rounds; -}; -typedef struct aes_key_st AES_KEY; - -const char *AES_options(void); - -int AES_set_encrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key); -int AES_set_decrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key); - -int private_AES_set_encrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key); -int private_AES_set_decrypt_key(const unsigned char *userKey, const int bits, - AES_KEY *key); - -void AES_encrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key); -void AES_decrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key); - -void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, - const AES_KEY *key, const int enc); -void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, const int enc); -void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num, const int enc); -void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num, const int enc); -void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num, const int enc); -void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, int *num); -void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char ivec[AES_BLOCK_SIZE], - unsigned char ecount_buf[AES_BLOCK_SIZE], - unsigned int *num); -/* NB: the IV is _two_ blocks long */ -void AES_ige_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - unsigned char *ivec, const int enc); -/* NB: the IV is _four_ blocks long */ -void AES_bi_ige_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const AES_KEY *key, - const AES_KEY *key2, const unsigned char *ivec, - const int enc); - -int AES_wrap_key(AES_KEY *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, unsigned int inlen); -int AES_unwrap_key(AES_KEY *key, const unsigned char *iv, - unsigned char *out, - const unsigned char *in, unsigned int inlen); - - -#ifdef __cplusplus -} -#endif - -#endif /* !HEADER_AES_H */ diff --git a/ext/bin/libcrypto/include/openssl/asn1.h b/ext/bin/libcrypto/include/openssl/asn1.h deleted file mode 100644 index 220a0c8c6..000000000 --- a/ext/bin/libcrypto/include/openssl/asn1.h +++ /dev/null @@ -1,1404 +0,0 @@ -/* crypto/asn1/asn1.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_ASN1_H -#define HEADER_ASN1_H - -#include -#include -#ifndef OPENSSL_NO_BIO -#include -#endif -#include -#include - -#include - -#include -#ifndef OPENSSL_NO_DEPRECATED -#include -#endif - -#ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#define V_ASN1_UNIVERSAL 0x00 -#define V_ASN1_APPLICATION 0x40 -#define V_ASN1_CONTEXT_SPECIFIC 0x80 -#define V_ASN1_PRIVATE 0xc0 - -#define V_ASN1_CONSTRUCTED 0x20 -#define V_ASN1_PRIMITIVE_TAG 0x1f -#define V_ASN1_PRIMATIVE_TAG 0x1f - -#define V_ASN1_APP_CHOOSE -2 /* let the recipient choose */ -#define V_ASN1_OTHER -3 /* used in ASN1_TYPE */ -#define V_ASN1_ANY -4 /* used in ASN1 template code */ - -#define V_ASN1_NEG 0x100 /* negative flag */ - -#define V_ASN1_UNDEF -1 -#define V_ASN1_EOC 0 -#define V_ASN1_BOOLEAN 1 /**/ -#define V_ASN1_INTEGER 2 -#define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG) -#define V_ASN1_BIT_STRING 3 -#define V_ASN1_OCTET_STRING 4 -#define V_ASN1_NULL 5 -#define V_ASN1_OBJECT 6 -#define V_ASN1_OBJECT_DESCRIPTOR 7 -#define V_ASN1_EXTERNAL 8 -#define V_ASN1_REAL 9 -#define V_ASN1_ENUMERATED 10 -#define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG) -#define V_ASN1_UTF8STRING 12 -#define V_ASN1_SEQUENCE 16 -#define V_ASN1_SET 17 -#define V_ASN1_NUMERICSTRING 18 /**/ -#define V_ASN1_PRINTABLESTRING 19 -#define V_ASN1_T61STRING 20 -#define V_ASN1_TELETEXSTRING 20 /* alias */ -#define V_ASN1_VIDEOTEXSTRING 21 /**/ -#define V_ASN1_IA5STRING 22 -#define V_ASN1_UTCTIME 23 -#define V_ASN1_GENERALIZEDTIME 24 /**/ -#define V_ASN1_GRAPHICSTRING 25 /**/ -#define V_ASN1_ISO64STRING 26 /**/ -#define V_ASN1_VISIBLESTRING 26 /* alias */ -#define V_ASN1_GENERALSTRING 27 /**/ -#define V_ASN1_UNIVERSALSTRING 28 /**/ -#define V_ASN1_BMPSTRING 30 - -/* For use with d2i_ASN1_type_bytes() */ -#define B_ASN1_NUMERICSTRING 0x0001 -#define B_ASN1_PRINTABLESTRING 0x0002 -#define B_ASN1_T61STRING 0x0004 -#define B_ASN1_TELETEXSTRING 0x0004 -#define B_ASN1_VIDEOTEXSTRING 0x0008 -#define B_ASN1_IA5STRING 0x0010 -#define B_ASN1_GRAPHICSTRING 0x0020 -#define B_ASN1_ISO64STRING 0x0040 -#define B_ASN1_VISIBLESTRING 0x0040 -#define B_ASN1_GENERALSTRING 0x0080 -#define B_ASN1_UNIVERSALSTRING 0x0100 -#define B_ASN1_OCTET_STRING 0x0200 -#define B_ASN1_BIT_STRING 0x0400 -#define B_ASN1_BMPSTRING 0x0800 -#define B_ASN1_UNKNOWN 0x1000 -#define B_ASN1_UTF8STRING 0x2000 -#define B_ASN1_UTCTIME 0x4000 -#define B_ASN1_GENERALIZEDTIME 0x8000 -#define B_ASN1_SEQUENCE 0x10000 - -/* For use with ASN1_mbstring_copy() */ -#define MBSTRING_FLAG 0x1000 -#define MBSTRING_UTF8 (MBSTRING_FLAG) -#define MBSTRING_ASC (MBSTRING_FLAG|1) -#define MBSTRING_BMP (MBSTRING_FLAG|2) -#define MBSTRING_UNIV (MBSTRING_FLAG|4) - -#define SMIME_OLDMIME 0x400 -#define SMIME_CRLFEOL 0x800 -#define SMIME_STREAM 0x1000 - -struct X509_algor_st; -DECLARE_STACK_OF(X509_ALGOR) - -#define DECLARE_ASN1_SET_OF(type) /* filled in by mkstack.pl */ -#define IMPLEMENT_ASN1_SET_OF(type) /* nothing, no longer needed */ - -/* We MUST make sure that, except for constness, asn1_ctx_st and - asn1_const_ctx are exactly the same. Fortunately, as soon as - the old ASN1 parsing macros are gone, we can throw this away - as well... */ -typedef struct asn1_ctx_st - { - unsigned char *p;/* work char pointer */ - int eos; /* end of sequence read for indefinite encoding */ - int error; /* error code to use when returning an error */ - int inf; /* constructed if 0x20, indefinite is 0x21 */ - int tag; /* tag from last 'get object' */ - int xclass; /* class from last 'get object' */ - long slen; /* length of last 'get object' */ - unsigned char *max; /* largest value of p allowed */ - unsigned char *q;/* temporary variable */ - unsigned char **pp;/* variable */ - int line; /* used in error processing */ - } ASN1_CTX; - -typedef struct asn1_const_ctx_st - { - const unsigned char *p;/* work char pointer */ - int eos; /* end of sequence read for indefinite encoding */ - int error; /* error code to use when returning an error */ - int inf; /* constructed if 0x20, indefinite is 0x21 */ - int tag; /* tag from last 'get object' */ - int xclass; /* class from last 'get object' */ - long slen; /* length of last 'get object' */ - const unsigned char *max; /* largest value of p allowed */ - const unsigned char *q;/* temporary variable */ - const unsigned char **pp;/* variable */ - int line; /* used in error processing */ - } ASN1_const_CTX; - -/* These are used internally in the ASN1_OBJECT to keep track of - * whether the names and data need to be free()ed */ -#define ASN1_OBJECT_FLAG_DYNAMIC 0x01 /* internal use */ -#define ASN1_OBJECT_FLAG_CRITICAL 0x02 /* critical x509v3 object id */ -#define ASN1_OBJECT_FLAG_DYNAMIC_STRINGS 0x04 /* internal use */ -#define ASN1_OBJECT_FLAG_DYNAMIC_DATA 0x08 /* internal use */ -typedef struct asn1_object_st - { - const char *sn,*ln; - int nid; - int length; - const unsigned char *data; /* data remains const after init */ - int flags; /* Should we free this one */ - } ASN1_OBJECT; - -#define ASN1_STRING_FLAG_BITS_LEFT 0x08 /* Set if 0x07 has bits left value */ -/* This indicates that the ASN1_STRING is not a real value but just a place - * holder for the location where indefinite length constructed data should - * be inserted in the memory buffer - */ -#define ASN1_STRING_FLAG_NDEF 0x010 - -/* This flag is used by the CMS code to indicate that a string is not - * complete and is a place holder for content when it had all been - * accessed. The flag will be reset when content has been written to it. - */ - -#define ASN1_STRING_FLAG_CONT 0x020 -/* This flag is used by ASN1 code to indicate an ASN1_STRING is an MSTRING - * type. - */ -#define ASN1_STRING_FLAG_MSTRING 0x040 -/* This is the base type that holds just about everything :-) */ -struct asn1_string_st - { - int length; - int type; - unsigned char *data; - /* The value of the following field depends on the type being - * held. It is mostly being used for BIT_STRING so if the - * input data has a non-zero 'unused bits' value, it will be - * handled correctly */ - long flags; - }; - -/* ASN1_ENCODING structure: this is used to save the received - * encoding of an ASN1 type. This is useful to get round - * problems with invalid encodings which can break signatures. - */ - -typedef struct ASN1_ENCODING_st - { - unsigned char *enc; /* DER encoding */ - long len; /* Length of encoding */ - int modified; /* set to 1 if 'enc' is invalid */ - } ASN1_ENCODING; - -/* Used with ASN1 LONG type: if a long is set to this it is omitted */ -#define ASN1_LONG_UNDEF 0x7fffffffL - -#define STABLE_FLAGS_MALLOC 0x01 -#define STABLE_NO_MASK 0x02 -#define DIRSTRING_TYPE \ - (B_ASN1_PRINTABLESTRING|B_ASN1_T61STRING|B_ASN1_BMPSTRING|B_ASN1_UTF8STRING) -#define PKCS9STRING_TYPE (DIRSTRING_TYPE|B_ASN1_IA5STRING) - -typedef struct asn1_string_table_st { - int nid; - long minsize; - long maxsize; - unsigned long mask; - unsigned long flags; -} ASN1_STRING_TABLE; - -DECLARE_STACK_OF(ASN1_STRING_TABLE) - -/* size limits: this stuff is taken straight from RFC2459 */ - -#define ub_name 32768 -#define ub_common_name 64 -#define ub_locality_name 128 -#define ub_state_name 128 -#define ub_organization_name 64 -#define ub_organization_unit_name 64 -#define ub_title 64 -#define ub_email_address 128 - -/* Declarations for template structures: for full definitions - * see asn1t.h - */ -typedef struct ASN1_TEMPLATE_st ASN1_TEMPLATE; -typedef struct ASN1_TLC_st ASN1_TLC; -/* This is just an opaque pointer */ -typedef struct ASN1_VALUE_st ASN1_VALUE; - -/* Declare ASN1 functions: the implement macro in in asn1t.h */ - -#define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type) - -#define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ - DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, type) - -#define DECLARE_ASN1_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) - -#define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \ - DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) - -#define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \ - type *d2i_##name(type **a, const unsigned char **in, long len); \ - int i2d_##name(type *a, unsigned char **out); \ - DECLARE_ASN1_ITEM(itname) - -#define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \ - type *d2i_##name(type **a, const unsigned char **in, long len); \ - int i2d_##name(const type *a, unsigned char **out); \ - DECLARE_ASN1_ITEM(name) - -#define DECLARE_ASN1_NDEF_FUNCTION(name) \ - int i2d_##name##_NDEF(name *a, unsigned char **out); - -#define DECLARE_ASN1_FUNCTIONS_const(name) \ - DECLARE_ASN1_ALLOC_FUNCTIONS(name) \ - DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name) - -#define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \ - type *name##_new(void); \ - void name##_free(type *a); - -#define DECLARE_ASN1_PRINT_FUNCTION(stname) \ - DECLARE_ASN1_PRINT_FUNCTION_fname(stname, stname) - -#define DECLARE_ASN1_PRINT_FUNCTION_fname(stname, fname) \ - int fname##_print_ctx(BIO *out, stname *x, int indent, \ - const ASN1_PCTX *pctx); - -#define D2I_OF(type) type *(*)(type **,const unsigned char **,long) -#define I2D_OF(type) int (*)(type *,unsigned char **) -#define I2D_OF_const(type) int (*)(const type *,unsigned char **) - -#define CHECKED_D2I_OF(type, d2i) \ - ((d2i_of_void*) (1 ? d2i : ((D2I_OF(type))0))) -#define CHECKED_I2D_OF(type, i2d) \ - ((i2d_of_void*) (1 ? i2d : ((I2D_OF(type))0))) -#define CHECKED_NEW_OF(type, xnew) \ - ((void *(*)(void)) (1 ? xnew : ((type *(*)(void))0))) -#define CHECKED_PTR_OF(type, p) \ - ((void*) (1 ? p : (type*)0)) -#define CHECKED_PPTR_OF(type, p) \ - ((void**) (1 ? p : (type**)0)) - -#define TYPEDEF_D2I_OF(type) typedef type *d2i_of_##type(type **,const unsigned char **,long) -#define TYPEDEF_I2D_OF(type) typedef int i2d_of_##type(type *,unsigned char **) -#define TYPEDEF_D2I2D_OF(type) TYPEDEF_D2I_OF(type); TYPEDEF_I2D_OF(type) - -TYPEDEF_D2I2D_OF(void); - -/* The following macros and typedefs allow an ASN1_ITEM - * to be embedded in a structure and referenced. Since - * the ASN1_ITEM pointers need to be globally accessible - * (possibly from shared libraries) they may exist in - * different forms. On platforms that support it the - * ASN1_ITEM structure itself will be globally exported. - * Other platforms will export a function that returns - * an ASN1_ITEM pointer. - * - * To handle both cases transparently the macros below - * should be used instead of hard coding an ASN1_ITEM - * pointer in a structure. - * - * The structure will look like this: - * - * typedef struct SOMETHING_st { - * ... - * ASN1_ITEM_EXP *iptr; - * ... - * } SOMETHING; - * - * It would be initialised as e.g.: - * - * SOMETHING somevar = {...,ASN1_ITEM_ref(X509),...}; - * - * and the actual pointer extracted with: - * - * const ASN1_ITEM *it = ASN1_ITEM_ptr(somevar.iptr); - * - * Finally an ASN1_ITEM pointer can be extracted from an - * appropriate reference with: ASN1_ITEM_rptr(X509). This - * would be used when a function takes an ASN1_ITEM * argument. - * - */ - -#ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION - -/* ASN1_ITEM pointer exported type */ -typedef const ASN1_ITEM ASN1_ITEM_EXP; - -/* Macro to obtain ASN1_ITEM pointer from exported type */ -#define ASN1_ITEM_ptr(iptr) (iptr) - -/* Macro to include ASN1_ITEM pointer from base type */ -#define ASN1_ITEM_ref(iptr) (&(iptr##_it)) - -#define ASN1_ITEM_rptr(ref) (&(ref##_it)) - -#define DECLARE_ASN1_ITEM(name) \ - OPENSSL_EXTERN const ASN1_ITEM name##_it; - -#else - -/* Platforms that can't easily handle shared global variables are declared - * as functions returning ASN1_ITEM pointers. - */ - -/* ASN1_ITEM pointer exported type */ -typedef const ASN1_ITEM * ASN1_ITEM_EXP(void); - -/* Macro to obtain ASN1_ITEM pointer from exported type */ -#define ASN1_ITEM_ptr(iptr) (iptr()) - -/* Macro to include ASN1_ITEM pointer from base type */ -#define ASN1_ITEM_ref(iptr) (iptr##_it) - -#define ASN1_ITEM_rptr(ref) (ref##_it()) - -#define DECLARE_ASN1_ITEM(name) \ - const ASN1_ITEM * name##_it(void); - -#endif - -/* Parameters used by ASN1_STRING_print_ex() */ - -/* These determine which characters to escape: - * RFC2253 special characters, control characters and - * MSB set characters - */ - -#define ASN1_STRFLGS_ESC_2253 1 -#define ASN1_STRFLGS_ESC_CTRL 2 -#define ASN1_STRFLGS_ESC_MSB 4 - - -/* This flag determines how we do escaping: normally - * RC2253 backslash only, set this to use backslash and - * quote. - */ - -#define ASN1_STRFLGS_ESC_QUOTE 8 - - -/* These three flags are internal use only. */ - -/* Character is a valid PrintableString character */ -#define CHARTYPE_PRINTABLESTRING 0x10 -/* Character needs escaping if it is the first character */ -#define CHARTYPE_FIRST_ESC_2253 0x20 -/* Character needs escaping if it is the last character */ -#define CHARTYPE_LAST_ESC_2253 0x40 - -/* NB the internal flags are safely reused below by flags - * handled at the top level. - */ - -/* If this is set we convert all character strings - * to UTF8 first - */ - -#define ASN1_STRFLGS_UTF8_CONVERT 0x10 - -/* If this is set we don't attempt to interpret content: - * just assume all strings are 1 byte per character. This - * will produce some pretty odd looking output! - */ - -#define ASN1_STRFLGS_IGNORE_TYPE 0x20 - -/* If this is set we include the string type in the output */ -#define ASN1_STRFLGS_SHOW_TYPE 0x40 - -/* This determines which strings to display and which to - * 'dump' (hex dump of content octets or DER encoding). We can - * only dump non character strings or everything. If we - * don't dump 'unknown' they are interpreted as character - * strings with 1 octet per character and are subject to - * the usual escaping options. - */ - -#define ASN1_STRFLGS_DUMP_ALL 0x80 -#define ASN1_STRFLGS_DUMP_UNKNOWN 0x100 - -/* These determine what 'dumping' does, we can dump the - * content octets or the DER encoding: both use the - * RFC2253 #XXXXX notation. - */ - -#define ASN1_STRFLGS_DUMP_DER 0x200 - -/* All the string flags consistent with RFC2253, - * escaping control characters isn't essential in - * RFC2253 but it is advisable anyway. - */ - -#define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \ - ASN1_STRFLGS_ESC_CTRL | \ - ASN1_STRFLGS_ESC_MSB | \ - ASN1_STRFLGS_UTF8_CONVERT | \ - ASN1_STRFLGS_DUMP_UNKNOWN | \ - ASN1_STRFLGS_DUMP_DER) - -DECLARE_STACK_OF(ASN1_INTEGER) -DECLARE_ASN1_SET_OF(ASN1_INTEGER) - -DECLARE_STACK_OF(ASN1_GENERALSTRING) - -typedef struct asn1_type_st - { - int type; - union { - char *ptr; - ASN1_BOOLEAN boolean; - ASN1_STRING * asn1_string; - ASN1_OBJECT * object; - ASN1_INTEGER * integer; - ASN1_ENUMERATED * enumerated; - ASN1_BIT_STRING * bit_string; - ASN1_OCTET_STRING * octet_string; - ASN1_PRINTABLESTRING * printablestring; - ASN1_T61STRING * t61string; - ASN1_IA5STRING * ia5string; - ASN1_GENERALSTRING * generalstring; - ASN1_BMPSTRING * bmpstring; - ASN1_UNIVERSALSTRING * universalstring; - ASN1_UTCTIME * utctime; - ASN1_GENERALIZEDTIME * generalizedtime; - ASN1_VISIBLESTRING * visiblestring; - ASN1_UTF8STRING * utf8string; - /* set and sequence are left complete and still - * contain the set or sequence bytes */ - ASN1_STRING * set; - ASN1_STRING * sequence; - ASN1_VALUE * asn1_value; - } value; - } ASN1_TYPE; - -DECLARE_STACK_OF(ASN1_TYPE) -DECLARE_ASN1_SET_OF(ASN1_TYPE) - -typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY; - -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SEQUENCE_ANY) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(ASN1_SEQUENCE_ANY, ASN1_SET_ANY) - -typedef struct NETSCAPE_X509_st - { - ASN1_OCTET_STRING *header; - X509 *cert; - } NETSCAPE_X509; - -/* This is used to contain a list of bit names */ -typedef struct BIT_STRING_BITNAME_st { - int bitnum; - const char *lname; - const char *sname; -} BIT_STRING_BITNAME; - - -#define M_ASN1_STRING_length(x) ((x)->length) -#define M_ASN1_STRING_length_set(x, n) ((x)->length = (n)) -#define M_ASN1_STRING_type(x) ((x)->type) -#define M_ASN1_STRING_data(x) ((x)->data) - -/* Macros for string operations */ -#define M_ASN1_BIT_STRING_new() (ASN1_BIT_STRING *)\ - ASN1_STRING_type_new(V_ASN1_BIT_STRING) -#define M_ASN1_BIT_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_ASN1_BIT_STRING_dup(a) (ASN1_BIT_STRING *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -#define M_ASN1_BIT_STRING_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) -#define M_ASN1_BIT_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) - -#define M_ASN1_INTEGER_new() (ASN1_INTEGER *)\ - ASN1_STRING_type_new(V_ASN1_INTEGER) -#define M_ASN1_INTEGER_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_ASN1_INTEGER_dup(a) (ASN1_INTEGER *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -#define M_ASN1_INTEGER_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) - -#define M_ASN1_ENUMERATED_new() (ASN1_ENUMERATED *)\ - ASN1_STRING_type_new(V_ASN1_ENUMERATED) -#define M_ASN1_ENUMERATED_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_ASN1_ENUMERATED_dup(a) (ASN1_ENUMERATED *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -#define M_ASN1_ENUMERATED_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) - -#define M_ASN1_OCTET_STRING_new() (ASN1_OCTET_STRING *)\ - ASN1_STRING_type_new(V_ASN1_OCTET_STRING) -#define M_ASN1_OCTET_STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_ASN1_OCTET_STRING_dup(a) (ASN1_OCTET_STRING *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) -#define M_ASN1_OCTET_STRING_cmp(a,b) ASN1_STRING_cmp(\ - (const ASN1_STRING *)a,(const ASN1_STRING *)b) -#define M_ASN1_OCTET_STRING_set(a,b,c) ASN1_STRING_set((ASN1_STRING *)a,b,c) -#define M_ASN1_OCTET_STRING_print(a,b) ASN1_STRING_print(a,(ASN1_STRING *)b) -#define M_i2d_ASN1_OCTET_STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_OCTET_STRING,\ - V_ASN1_UNIVERSAL) - -#define B_ASN1_TIME \ - B_ASN1_UTCTIME | \ - B_ASN1_GENERALIZEDTIME - -#define B_ASN1_PRINTABLE \ - B_ASN1_NUMERICSTRING| \ - B_ASN1_PRINTABLESTRING| \ - B_ASN1_T61STRING| \ - B_ASN1_IA5STRING| \ - B_ASN1_BIT_STRING| \ - B_ASN1_UNIVERSALSTRING|\ - B_ASN1_BMPSTRING|\ - B_ASN1_UTF8STRING|\ - B_ASN1_SEQUENCE|\ - B_ASN1_UNKNOWN - -#define B_ASN1_DIRECTORYSTRING \ - B_ASN1_PRINTABLESTRING| \ - B_ASN1_TELETEXSTRING|\ - B_ASN1_BMPSTRING|\ - B_ASN1_UNIVERSALSTRING|\ - B_ASN1_UTF8STRING - -#define B_ASN1_DISPLAYTEXT \ - B_ASN1_IA5STRING| \ - B_ASN1_VISIBLESTRING| \ - B_ASN1_BMPSTRING|\ - B_ASN1_UTF8STRING - -#define M_ASN1_PRINTABLE_new() ASN1_STRING_type_new(V_ASN1_T61STRING) -#define M_ASN1_PRINTABLE_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_ASN1_PRINTABLE(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ - pp,a->type,V_ASN1_UNIVERSAL) -#define M_d2i_ASN1_PRINTABLE(a,pp,l) \ - d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ - B_ASN1_PRINTABLE) - -#define M_DIRECTORYSTRING_new() ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) -#define M_DIRECTORYSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_DIRECTORYSTRING(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ - pp,a->type,V_ASN1_UNIVERSAL) -#define M_d2i_DIRECTORYSTRING(a,pp,l) \ - d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ - B_ASN1_DIRECTORYSTRING) - -#define M_DISPLAYTEXT_new() ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) -#define M_DISPLAYTEXT_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_DISPLAYTEXT(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ - pp,a->type,V_ASN1_UNIVERSAL) -#define M_d2i_DISPLAYTEXT(a,pp,l) \ - d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ - B_ASN1_DISPLAYTEXT) - -#define M_ASN1_PRINTABLESTRING_new() (ASN1_PRINTABLESTRING *)\ - ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) -#define M_ASN1_PRINTABLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_ASN1_PRINTABLESTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_PRINTABLESTRING,\ - V_ASN1_UNIVERSAL) -#define M_d2i_ASN1_PRINTABLESTRING(a,pp,l) \ - (ASN1_PRINTABLESTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_PRINTABLESTRING) - -#define M_ASN1_T61STRING_new() (ASN1_T61STRING *)\ - ASN1_STRING_type_new(V_ASN1_T61STRING) -#define M_ASN1_T61STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_ASN1_T61STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_T61STRING,\ - V_ASN1_UNIVERSAL) -#define M_d2i_ASN1_T61STRING(a,pp,l) \ - (ASN1_T61STRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_T61STRING) - -#define M_ASN1_IA5STRING_new() (ASN1_IA5STRING *)\ - ASN1_STRING_type_new(V_ASN1_IA5STRING) -#define M_ASN1_IA5STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_ASN1_IA5STRING_dup(a) \ - (ASN1_IA5STRING *)ASN1_STRING_dup((const ASN1_STRING *)a) -#define M_i2d_ASN1_IA5STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_IA5STRING,\ - V_ASN1_UNIVERSAL) -#define M_d2i_ASN1_IA5STRING(a,pp,l) \ - (ASN1_IA5STRING *)d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l,\ - B_ASN1_IA5STRING) - -#define M_ASN1_UTCTIME_new() (ASN1_UTCTIME *)\ - ASN1_STRING_type_new(V_ASN1_UTCTIME) -#define M_ASN1_UTCTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_ASN1_UTCTIME_dup(a) (ASN1_UTCTIME *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) - -#define M_ASN1_GENERALIZEDTIME_new() (ASN1_GENERALIZEDTIME *)\ - ASN1_STRING_type_new(V_ASN1_GENERALIZEDTIME) -#define M_ASN1_GENERALIZEDTIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_ASN1_GENERALIZEDTIME_dup(a) (ASN1_GENERALIZEDTIME *)ASN1_STRING_dup(\ - (const ASN1_STRING *)a) - -#define M_ASN1_TIME_new() (ASN1_TIME *)\ - ASN1_STRING_type_new(V_ASN1_UTCTIME) -#define M_ASN1_TIME_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_ASN1_TIME_dup(a) (ASN1_TIME *)\ - ASN1_STRING_dup((const ASN1_STRING *)a) - -#define M_ASN1_GENERALSTRING_new() (ASN1_GENERALSTRING *)\ - ASN1_STRING_type_new(V_ASN1_GENERALSTRING) -#define M_ASN1_GENERALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_ASN1_GENERALSTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_GENERALSTRING,\ - V_ASN1_UNIVERSAL) -#define M_d2i_ASN1_GENERALSTRING(a,pp,l) \ - (ASN1_GENERALSTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_GENERALSTRING) - -#define M_ASN1_UNIVERSALSTRING_new() (ASN1_UNIVERSALSTRING *)\ - ASN1_STRING_type_new(V_ASN1_UNIVERSALSTRING) -#define M_ASN1_UNIVERSALSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_ASN1_UNIVERSALSTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UNIVERSALSTRING,\ - V_ASN1_UNIVERSAL) -#define M_d2i_ASN1_UNIVERSALSTRING(a,pp,l) \ - (ASN1_UNIVERSALSTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_UNIVERSALSTRING) - -#define M_ASN1_BMPSTRING_new() (ASN1_BMPSTRING *)\ - ASN1_STRING_type_new(V_ASN1_BMPSTRING) -#define M_ASN1_BMPSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_ASN1_BMPSTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_BMPSTRING,\ - V_ASN1_UNIVERSAL) -#define M_d2i_ASN1_BMPSTRING(a,pp,l) \ - (ASN1_BMPSTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_BMPSTRING) - -#define M_ASN1_VISIBLESTRING_new() (ASN1_VISIBLESTRING *)\ - ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) -#define M_ASN1_VISIBLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_ASN1_VISIBLESTRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_VISIBLESTRING,\ - V_ASN1_UNIVERSAL) -#define M_d2i_ASN1_VISIBLESTRING(a,pp,l) \ - (ASN1_VISIBLESTRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_VISIBLESTRING) - -#define M_ASN1_UTF8STRING_new() (ASN1_UTF8STRING *)\ - ASN1_STRING_type_new(V_ASN1_UTF8STRING) -#define M_ASN1_UTF8STRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) -#define M_i2d_ASN1_UTF8STRING(a,pp) \ - i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_UTF8STRING,\ - V_ASN1_UNIVERSAL) -#define M_d2i_ASN1_UTF8STRING(a,pp,l) \ - (ASN1_UTF8STRING *)d2i_ASN1_type_bytes\ - ((ASN1_STRING **)a,pp,l,B_ASN1_UTF8STRING) - - /* for the is_set parameter to i2d_ASN1_SET */ -#define IS_SEQUENCE 0 -#define IS_SET 1 - -DECLARE_ASN1_FUNCTIONS_fname(ASN1_TYPE, ASN1_ANY, ASN1_TYPE) - -int ASN1_TYPE_get(ASN1_TYPE *a); -void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value); -int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value); -int ASN1_TYPE_cmp(ASN1_TYPE *a, ASN1_TYPE *b); - -ASN1_OBJECT * ASN1_OBJECT_new(void ); -void ASN1_OBJECT_free(ASN1_OBJECT *a); -int i2d_ASN1_OBJECT(ASN1_OBJECT *a,unsigned char **pp); -ASN1_OBJECT * c2i_ASN1_OBJECT(ASN1_OBJECT **a,const unsigned char **pp, - long length); -ASN1_OBJECT * d2i_ASN1_OBJECT(ASN1_OBJECT **a,const unsigned char **pp, - long length); - -DECLARE_ASN1_ITEM(ASN1_OBJECT) - -DECLARE_STACK_OF(ASN1_OBJECT) -DECLARE_ASN1_SET_OF(ASN1_OBJECT) - -ASN1_STRING * ASN1_STRING_new(void); -void ASN1_STRING_free(ASN1_STRING *a); -int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str); -ASN1_STRING * ASN1_STRING_dup(const ASN1_STRING *a); -ASN1_STRING * ASN1_STRING_type_new(int type ); -int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b); - /* Since this is used to store all sorts of things, via macros, for now, make - its data void * */ -int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len); -void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len); -int ASN1_STRING_length(const ASN1_STRING *x); -void ASN1_STRING_length_set(ASN1_STRING *x, int n); -int ASN1_STRING_type(ASN1_STRING *x); -unsigned char * ASN1_STRING_data(ASN1_STRING *x); - -DECLARE_ASN1_FUNCTIONS(ASN1_BIT_STRING) -int i2c_ASN1_BIT_STRING(ASN1_BIT_STRING *a,unsigned char **pp); -ASN1_BIT_STRING *c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **a,const unsigned char **pp, - long length); -int ASN1_BIT_STRING_set(ASN1_BIT_STRING *a, unsigned char *d, - int length ); -int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *a, int n, int value); -int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *a, int n); -int ASN1_BIT_STRING_check(ASN1_BIT_STRING *a, - unsigned char *flags, int flags_len); - -#ifndef OPENSSL_NO_BIO -int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, - BIT_STRING_BITNAME *tbl, int indent); -#endif -int ASN1_BIT_STRING_num_asc(char *name, BIT_STRING_BITNAME *tbl); -int ASN1_BIT_STRING_set_asc(ASN1_BIT_STRING *bs, char *name, int value, - BIT_STRING_BITNAME *tbl); - -int i2d_ASN1_BOOLEAN(int a,unsigned char **pp); -int d2i_ASN1_BOOLEAN(int *a,const unsigned char **pp,long length); - -DECLARE_ASN1_FUNCTIONS(ASN1_INTEGER) -int i2c_ASN1_INTEGER(ASN1_INTEGER *a,unsigned char **pp); -ASN1_INTEGER *c2i_ASN1_INTEGER(ASN1_INTEGER **a,const unsigned char **pp, - long length); -ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a,const unsigned char **pp, - long length); -ASN1_INTEGER * ASN1_INTEGER_dup(const ASN1_INTEGER *x); -int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y); - -DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) - -int ASN1_UTCTIME_check(ASN1_UTCTIME *a); -ASN1_UTCTIME *ASN1_UTCTIME_set(ASN1_UTCTIME *s,time_t t); -ASN1_UTCTIME *ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, - int offset_day, long offset_sec); -int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str); -int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t); -#if 0 -time_t ASN1_UTCTIME_get(const ASN1_UTCTIME *s); -#endif - -int ASN1_GENERALIZEDTIME_check(ASN1_GENERALIZEDTIME *a); -ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s,time_t t); -ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, - time_t t, int offset_day, long offset_sec); -int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str); - -DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) -ASN1_OCTET_STRING * ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a); -int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING *b); -int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, int len); - -DECLARE_ASN1_FUNCTIONS(ASN1_VISIBLESTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_UNIVERSALSTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_UTF8STRING) -DECLARE_ASN1_FUNCTIONS(ASN1_NULL) -DECLARE_ASN1_FUNCTIONS(ASN1_BMPSTRING) - -int UTF8_getc(const unsigned char *str, int len, unsigned long *val); -int UTF8_putc(unsigned char *str, int len, unsigned long value); - -DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, ASN1_PRINTABLE) - -DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DIRECTORYSTRING) -DECLARE_ASN1_FUNCTIONS_name(ASN1_STRING, DISPLAYTEXT) -DECLARE_ASN1_FUNCTIONS(ASN1_PRINTABLESTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_T61STRING) -DECLARE_ASN1_FUNCTIONS(ASN1_IA5STRING) -DECLARE_ASN1_FUNCTIONS(ASN1_GENERALSTRING) -DECLARE_ASN1_FUNCTIONS(ASN1_UTCTIME) -DECLARE_ASN1_FUNCTIONS(ASN1_GENERALIZEDTIME) -DECLARE_ASN1_FUNCTIONS(ASN1_TIME) - -DECLARE_ASN1_ITEM(ASN1_OCTET_STRING_NDEF) - -ASN1_TIME *ASN1_TIME_set(ASN1_TIME *s,time_t t); -ASN1_TIME *ASN1_TIME_adj(ASN1_TIME *s,time_t t, - int offset_day, long offset_sec); -int ASN1_TIME_check(ASN1_TIME *t); -ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME **out); -int ASN1_TIME_set_string(ASN1_TIME *s, const char *str); - -int i2d_ASN1_SET(STACK_OF(OPENSSL_BLOCK) *a, unsigned char **pp, - i2d_of_void *i2d, int ex_tag, int ex_class, - int is_set); -STACK_OF(OPENSSL_BLOCK) *d2i_ASN1_SET(STACK_OF(OPENSSL_BLOCK) **a, - const unsigned char **pp, - long length, d2i_of_void *d2i, - void (*free_func)(OPENSSL_BLOCK), int ex_tag, - int ex_class); - -#ifndef OPENSSL_NO_BIO -int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a); -int a2i_ASN1_INTEGER(BIO *bp,ASN1_INTEGER *bs,char *buf,int size); -int i2a_ASN1_ENUMERATED(BIO *bp, ASN1_ENUMERATED *a); -int a2i_ASN1_ENUMERATED(BIO *bp,ASN1_ENUMERATED *bs,char *buf,int size); -int i2a_ASN1_OBJECT(BIO *bp,ASN1_OBJECT *a); -int a2i_ASN1_STRING(BIO *bp,ASN1_STRING *bs,char *buf,int size); -int i2a_ASN1_STRING(BIO *bp, ASN1_STRING *a, int type); -#endif -int i2t_ASN1_OBJECT(char *buf,int buf_len,ASN1_OBJECT *a); - -int a2d_ASN1_OBJECT(unsigned char *out,int olen, const char *buf, int num); -ASN1_OBJECT *ASN1_OBJECT_create(int nid, unsigned char *data,int len, - const char *sn, const char *ln); - -int ASN1_INTEGER_set(ASN1_INTEGER *a, long v); -long ASN1_INTEGER_get(const ASN1_INTEGER *a); -ASN1_INTEGER *BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai); -BIGNUM *ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai,BIGNUM *bn); - -int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v); -long ASN1_ENUMERATED_get(ASN1_ENUMERATED *a); -ASN1_ENUMERATED *BN_to_ASN1_ENUMERATED(BIGNUM *bn, ASN1_ENUMERATED *ai); -BIGNUM *ASN1_ENUMERATED_to_BN(ASN1_ENUMERATED *ai,BIGNUM *bn); - -/* General */ -/* given a string, return the correct type, max is the maximum length */ -int ASN1_PRINTABLE_type(const unsigned char *s, int max); - -int i2d_ASN1_bytes(ASN1_STRING *a, unsigned char **pp, int tag, int xclass); -ASN1_STRING *d2i_ASN1_bytes(ASN1_STRING **a, const unsigned char **pp, - long length, int Ptag, int Pclass); -unsigned long ASN1_tag2bit(int tag); -/* type is one or more of the B_ASN1_ values. */ -ASN1_STRING *d2i_ASN1_type_bytes(ASN1_STRING **a,const unsigned char **pp, - long length,int type); - -/* PARSING */ -int asn1_Finish(ASN1_CTX *c); -int asn1_const_Finish(ASN1_const_CTX *c); - -/* SPECIALS */ -int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag, - int *pclass, long omax); -int ASN1_check_infinite_end(unsigned char **p,long len); -int ASN1_const_check_infinite_end(const unsigned char **p,long len); -void ASN1_put_object(unsigned char **pp, int constructed, int length, - int tag, int xclass); -int ASN1_put_eoc(unsigned char **pp); -int ASN1_object_size(int constructed, int length, int tag); - -/* Used to implement other functions */ -void *ASN1_dup(i2d_of_void *i2d, d2i_of_void *d2i, void *x); - -#define ASN1_dup_of(type,i2d,d2i,x) \ - ((type*)ASN1_dup(CHECKED_I2D_OF(type, i2d), \ - CHECKED_D2I_OF(type, d2i), \ - CHECKED_PTR_OF(type, x))) - -#define ASN1_dup_of_const(type,i2d,d2i,x) \ - ((type*)ASN1_dup(CHECKED_I2D_OF(const type, i2d), \ - CHECKED_D2I_OF(type, d2i), \ - CHECKED_PTR_OF(const type, x))) - -void *ASN1_item_dup(const ASN1_ITEM *it, void *x); - -/* ASN1 alloc/free macros for when a type is only used internally */ - -#define M_ASN1_new_of(type) (type *)ASN1_item_new(ASN1_ITEM_rptr(type)) -#define M_ASN1_free_of(x, type) \ - ASN1_item_free(CHECKED_PTR_OF(type, x), ASN1_ITEM_rptr(type)) - -#ifndef OPENSSL_NO_FP_API -void *ASN1_d2i_fp(void *(*xnew)(void), d2i_of_void *d2i, FILE *in, void **x); - -#define ASN1_d2i_fp_of(type,xnew,d2i,in,x) \ - ((type*)ASN1_d2i_fp(CHECKED_NEW_OF(type, xnew), \ - CHECKED_D2I_OF(type, d2i), \ - in, \ - CHECKED_PPTR_OF(type, x))) - -void *ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *x); -int ASN1_i2d_fp(i2d_of_void *i2d,FILE *out,void *x); - -#define ASN1_i2d_fp_of(type,i2d,out,x) \ - (ASN1_i2d_fp(CHECKED_I2D_OF(type, i2d), \ - out, \ - CHECKED_PTR_OF(type, x))) - -#define ASN1_i2d_fp_of_const(type,i2d,out,x) \ - (ASN1_i2d_fp(CHECKED_I2D_OF(const type, i2d), \ - out, \ - CHECKED_PTR_OF(const type, x))) - -int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *x); -int ASN1_STRING_print_ex_fp(FILE *fp, ASN1_STRING *str, unsigned long flags); -#endif - -int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in); - -#ifndef OPENSSL_NO_BIO -void *ASN1_d2i_bio(void *(*xnew)(void), d2i_of_void *d2i, BIO *in, void **x); - -#define ASN1_d2i_bio_of(type,xnew,d2i,in,x) \ - ((type*)ASN1_d2i_bio( CHECKED_NEW_OF(type, xnew), \ - CHECKED_D2I_OF(type, d2i), \ - in, \ - CHECKED_PPTR_OF(type, x))) - -void *ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *x); -int ASN1_i2d_bio(i2d_of_void *i2d,BIO *out, unsigned char *x); - -#define ASN1_i2d_bio_of(type,i2d,out,x) \ - (ASN1_i2d_bio(CHECKED_I2D_OF(type, i2d), \ - out, \ - CHECKED_PTR_OF(type, x))) - -#define ASN1_i2d_bio_of_const(type,i2d,out,x) \ - (ASN1_i2d_bio(CHECKED_I2D_OF(const type, i2d), \ - out, \ - CHECKED_PTR_OF(const type, x))) - -int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *x); -int ASN1_UTCTIME_print(BIO *fp, const ASN1_UTCTIME *a); -int ASN1_GENERALIZEDTIME_print(BIO *fp, const ASN1_GENERALIZEDTIME *a); -int ASN1_TIME_print(BIO *fp, const ASN1_TIME *a); -int ASN1_STRING_print(BIO *bp, const ASN1_STRING *v); -int ASN1_STRING_print_ex(BIO *out, ASN1_STRING *str, unsigned long flags); -int ASN1_bn_print(BIO *bp, const char *number, const BIGNUM *num, - unsigned char *buf, int off); -int ASN1_parse(BIO *bp,const unsigned char *pp,long len,int indent); -int ASN1_parse_dump(BIO *bp,const unsigned char *pp,long len,int indent,int dump); -#endif -const char *ASN1_tag2str(int tag); - -/* Used to load and write netscape format cert */ - -DECLARE_ASN1_FUNCTIONS(NETSCAPE_X509) - -int ASN1_UNIVERSALSTRING_to_string(ASN1_UNIVERSALSTRING *s); - -int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, - unsigned char *data, int len); -int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, - unsigned char *data, int max_len); -int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, - unsigned char *data, int len); -int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a,long *num, - unsigned char *data, int max_len); - -STACK_OF(OPENSSL_BLOCK) *ASN1_seq_unpack(const unsigned char *buf, int len, - d2i_of_void *d2i, void (*free_func)(OPENSSL_BLOCK)); -unsigned char *ASN1_seq_pack(STACK_OF(OPENSSL_BLOCK) *safes, i2d_of_void *i2d, - unsigned char **buf, int *len ); -void *ASN1_unpack_string(ASN1_STRING *oct, d2i_of_void *d2i); -void *ASN1_item_unpack(ASN1_STRING *oct, const ASN1_ITEM *it); -ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, - ASN1_OCTET_STRING **oct); - -#define ASN1_pack_string_of(type,obj,i2d,oct) \ - (ASN1_pack_string(CHECKED_PTR_OF(type, obj), \ - CHECKED_I2D_OF(type, i2d), \ - oct)) - -ASN1_STRING *ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_OCTET_STRING **oct); - -void ASN1_STRING_set_default_mask(unsigned long mask); -int ASN1_STRING_set_default_mask_asc(const char *p); -unsigned long ASN1_STRING_get_default_mask(void); -int ASN1_mbstring_copy(ASN1_STRING **out, const unsigned char *in, int len, - int inform, unsigned long mask); -int ASN1_mbstring_ncopy(ASN1_STRING **out, const unsigned char *in, int len, - int inform, unsigned long mask, - long minsize, long maxsize); - -ASN1_STRING *ASN1_STRING_set_by_NID(ASN1_STRING **out, - const unsigned char *in, int inlen, int inform, int nid); -ASN1_STRING_TABLE *ASN1_STRING_TABLE_get(int nid); -int ASN1_STRING_TABLE_add(int, long, long, unsigned long, unsigned long); -void ASN1_STRING_TABLE_cleanup(void); - -/* ASN1 template functions */ - -/* Old API compatible functions */ -ASN1_VALUE *ASN1_item_new(const ASN1_ITEM *it); -void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it); -ASN1_VALUE * ASN1_item_d2i(ASN1_VALUE **val, const unsigned char **in, long len, const ASN1_ITEM *it); -int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); -int ASN1_item_ndef_i2d(ASN1_VALUE *val, unsigned char **out, const ASN1_ITEM *it); - -void ASN1_add_oid_module(void); - -ASN1_TYPE *ASN1_generate_nconf(char *str, CONF *nconf); -ASN1_TYPE *ASN1_generate_v3(char *str, X509V3_CTX *cnf); - -/* ASN1 Print flags */ - -/* Indicate missing OPTIONAL fields */ -#define ASN1_PCTX_FLAGS_SHOW_ABSENT 0x001 -/* Mark start and end of SEQUENCE */ -#define ASN1_PCTX_FLAGS_SHOW_SEQUENCE 0x002 -/* Mark start and end of SEQUENCE/SET OF */ -#define ASN1_PCTX_FLAGS_SHOW_SSOF 0x004 -/* Show the ASN1 type of primitives */ -#define ASN1_PCTX_FLAGS_SHOW_TYPE 0x008 -/* Don't show ASN1 type of ANY */ -#define ASN1_PCTX_FLAGS_NO_ANY_TYPE 0x010 -/* Don't show ASN1 type of MSTRINGs */ -#define ASN1_PCTX_FLAGS_NO_MSTRING_TYPE 0x020 -/* Don't show field names in SEQUENCE */ -#define ASN1_PCTX_FLAGS_NO_FIELD_NAME 0x040 -/* Show structure names of each SEQUENCE field */ -#define ASN1_PCTX_FLAGS_SHOW_FIELD_STRUCT_NAME 0x080 -/* Don't show structure name even at top level */ -#define ASN1_PCTX_FLAGS_NO_STRUCT_NAME 0x100 - -int ASN1_item_print(BIO *out, ASN1_VALUE *ifld, int indent, - const ASN1_ITEM *it, const ASN1_PCTX *pctx); -ASN1_PCTX *ASN1_PCTX_new(void); -void ASN1_PCTX_free(ASN1_PCTX *p); -unsigned long ASN1_PCTX_get_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_nm_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_nm_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_cert_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_cert_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_oid_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_oid_flags(ASN1_PCTX *p, unsigned long flags); -unsigned long ASN1_PCTX_get_str_flags(ASN1_PCTX *p); -void ASN1_PCTX_set_str_flags(ASN1_PCTX *p, unsigned long flags); - -BIO_METHOD *BIO_f_asn1(void); - -BIO *BIO_new_NDEF(BIO *out, ASN1_VALUE *val, const ASN1_ITEM *it); - -int i2d_ASN1_bio_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, - const ASN1_ITEM *it); -int PEM_write_bio_ASN1_stream(BIO *out, ASN1_VALUE *val, BIO *in, int flags, - const char *hdr, - const ASN1_ITEM *it); -int SMIME_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, - int ctype_nid, int econt_nid, - STACK_OF(X509_ALGOR) *mdalgs, - const ASN1_ITEM *it); -ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); -int SMIME_crlf_copy(BIO *in, BIO *out, int flags); -int SMIME_text(BIO *in, BIO *out); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_ASN1_strings(void); - -/* Error codes for the ASN1 functions. */ - -/* Function codes. */ -#define ASN1_F_A2D_ASN1_OBJECT 100 -#define ASN1_F_A2I_ASN1_ENUMERATED 101 -#define ASN1_F_A2I_ASN1_INTEGER 102 -#define ASN1_F_A2I_ASN1_STRING 103 -#define ASN1_F_APPEND_EXP 176 -#define ASN1_F_ASN1_BIT_STRING_SET_BIT 183 -#define ASN1_F_ASN1_CB 177 -#define ASN1_F_ASN1_CHECK_TLEN 104 -#define ASN1_F_ASN1_COLLATE_PRIMITIVE 105 -#define ASN1_F_ASN1_COLLECT 106 -#define ASN1_F_ASN1_D2I_EX_PRIMITIVE 108 -#define ASN1_F_ASN1_D2I_FP 109 -#define ASN1_F_ASN1_D2I_READ_BIO 107 -#define ASN1_F_ASN1_DIGEST 184 -#define ASN1_F_ASN1_DO_ADB 110 -#define ASN1_F_ASN1_DUP 111 -#define ASN1_F_ASN1_ENUMERATED_SET 112 -#define ASN1_F_ASN1_ENUMERATED_TO_BN 113 -#define ASN1_F_ASN1_EX_C2I 204 -#define ASN1_F_ASN1_FIND_END 190 -#define ASN1_F_ASN1_GENERALIZEDTIME_ADJ 216 -#define ASN1_F_ASN1_GENERALIZEDTIME_SET 185 -#define ASN1_F_ASN1_GENERATE_V3 178 -#define ASN1_F_ASN1_GET_OBJECT 114 -#define ASN1_F_ASN1_HEADER_NEW 115 -#define ASN1_F_ASN1_I2D_BIO 116 -#define ASN1_F_ASN1_I2D_FP 117 -#define ASN1_F_ASN1_INTEGER_SET 118 -#define ASN1_F_ASN1_INTEGER_TO_BN 119 -#define ASN1_F_ASN1_ITEM_D2I_FP 206 -#define ASN1_F_ASN1_ITEM_DUP 191 -#define ASN1_F_ASN1_ITEM_EX_COMBINE_NEW 121 -#define ASN1_F_ASN1_ITEM_EX_D2I 120 -#define ASN1_F_ASN1_ITEM_I2D_BIO 192 -#define ASN1_F_ASN1_ITEM_I2D_FP 193 -#define ASN1_F_ASN1_ITEM_PACK 198 -#define ASN1_F_ASN1_ITEM_SIGN 195 -#define ASN1_F_ASN1_ITEM_SIGN_CTX 220 -#define ASN1_F_ASN1_ITEM_UNPACK 199 -#define ASN1_F_ASN1_ITEM_VERIFY 197 -#define ASN1_F_ASN1_MBSTRING_NCOPY 122 -#define ASN1_F_ASN1_OBJECT_NEW 123 -#define ASN1_F_ASN1_OUTPUT_DATA 214 -#define ASN1_F_ASN1_PACK_STRING 124 -#define ASN1_F_ASN1_PCTX_NEW 205 -#define ASN1_F_ASN1_PKCS5_PBE_SET 125 -#define ASN1_F_ASN1_SEQ_PACK 126 -#define ASN1_F_ASN1_SEQ_UNPACK 127 -#define ASN1_F_ASN1_SIGN 128 -#define ASN1_F_ASN1_STR2TYPE 179 -#define ASN1_F_ASN1_STRING_SET 186 -#define ASN1_F_ASN1_STRING_TABLE_ADD 129 -#define ASN1_F_ASN1_STRING_TYPE_NEW 130 -#define ASN1_F_ASN1_TEMPLATE_EX_D2I 132 -#define ASN1_F_ASN1_TEMPLATE_NEW 133 -#define ASN1_F_ASN1_TEMPLATE_NOEXP_D2I 131 -#define ASN1_F_ASN1_TIME_ADJ 217 -#define ASN1_F_ASN1_TIME_SET 175 -#define ASN1_F_ASN1_TYPE_GET_INT_OCTETSTRING 134 -#define ASN1_F_ASN1_TYPE_GET_OCTETSTRING 135 -#define ASN1_F_ASN1_UNPACK_STRING 136 -#define ASN1_F_ASN1_UTCTIME_ADJ 218 -#define ASN1_F_ASN1_UTCTIME_SET 187 -#define ASN1_F_ASN1_VERIFY 137 -#define ASN1_F_B64_READ_ASN1 209 -#define ASN1_F_B64_WRITE_ASN1 210 -#define ASN1_F_BIO_NEW_NDEF 208 -#define ASN1_F_BITSTR_CB 180 -#define ASN1_F_BN_TO_ASN1_ENUMERATED 138 -#define ASN1_F_BN_TO_ASN1_INTEGER 139 -#define ASN1_F_C2I_ASN1_BIT_STRING 189 -#define ASN1_F_C2I_ASN1_INTEGER 194 -#define ASN1_F_C2I_ASN1_OBJECT 196 -#define ASN1_F_COLLECT_DATA 140 -#define ASN1_F_D2I_ASN1_BIT_STRING 141 -#define ASN1_F_D2I_ASN1_BOOLEAN 142 -#define ASN1_F_D2I_ASN1_BYTES 143 -#define ASN1_F_D2I_ASN1_GENERALIZEDTIME 144 -#define ASN1_F_D2I_ASN1_HEADER 145 -#define ASN1_F_D2I_ASN1_INTEGER 146 -#define ASN1_F_D2I_ASN1_OBJECT 147 -#define ASN1_F_D2I_ASN1_SET 148 -#define ASN1_F_D2I_ASN1_TYPE_BYTES 149 -#define ASN1_F_D2I_ASN1_UINTEGER 150 -#define ASN1_F_D2I_ASN1_UTCTIME 151 -#define ASN1_F_D2I_AUTOPRIVATEKEY 207 -#define ASN1_F_D2I_NETSCAPE_RSA 152 -#define ASN1_F_D2I_NETSCAPE_RSA_2 153 -#define ASN1_F_D2I_PRIVATEKEY 154 -#define ASN1_F_D2I_PUBLICKEY 155 -#define ASN1_F_D2I_RSA_NET 200 -#define ASN1_F_D2I_RSA_NET_2 201 -#define ASN1_F_D2I_X509 156 -#define ASN1_F_D2I_X509_CINF 157 -#define ASN1_F_D2I_X509_PKEY 159 -#define ASN1_F_I2D_ASN1_BIO_STREAM 211 -#define ASN1_F_I2D_ASN1_SET 188 -#define ASN1_F_I2D_ASN1_TIME 160 -#define ASN1_F_I2D_DSA_PUBKEY 161 -#define ASN1_F_I2D_EC_PUBKEY 181 -#define ASN1_F_I2D_PRIVATEKEY 163 -#define ASN1_F_I2D_PUBLICKEY 164 -#define ASN1_F_I2D_RSA_NET 162 -#define ASN1_F_I2D_RSA_PUBKEY 165 -#define ASN1_F_LONG_C2I 166 -#define ASN1_F_OID_MODULE_INIT 174 -#define ASN1_F_PARSE_TAGGING 182 -#define ASN1_F_PKCS5_PBE2_SET_IV 167 -#define ASN1_F_PKCS5_PBE_SET 202 -#define ASN1_F_PKCS5_PBE_SET0_ALGOR 215 -#define ASN1_F_PKCS5_PBKDF2_SET 219 -#define ASN1_F_SMIME_READ_ASN1 212 -#define ASN1_F_SMIME_TEXT 213 -#define ASN1_F_X509_CINF_NEW 168 -#define ASN1_F_X509_CRL_ADD0_REVOKED 169 -#define ASN1_F_X509_INFO_NEW 170 -#define ASN1_F_X509_NAME_ENCODE 203 -#define ASN1_F_X509_NAME_EX_D2I 158 -#define ASN1_F_X509_NAME_EX_NEW 171 -#define ASN1_F_X509_NEW 172 -#define ASN1_F_X509_PKEY_NEW 173 - -/* Reason codes. */ -#define ASN1_R_ADDING_OBJECT 171 -#define ASN1_R_ASN1_PARSE_ERROR 203 -#define ASN1_R_ASN1_SIG_PARSE_ERROR 204 -#define ASN1_R_AUX_ERROR 100 -#define ASN1_R_BAD_CLASS 101 -#define ASN1_R_BAD_OBJECT_HEADER 102 -#define ASN1_R_BAD_PASSWORD_READ 103 -#define ASN1_R_BAD_TAG 104 -#define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 214 -#define ASN1_R_BN_LIB 105 -#define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106 -#define ASN1_R_BUFFER_TOO_SMALL 107 -#define ASN1_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 108 -#define ASN1_R_CONTEXT_NOT_INITIALISED 217 -#define ASN1_R_DATA_IS_WRONG 109 -#define ASN1_R_DECODE_ERROR 110 -#define ASN1_R_DECODING_ERROR 111 -#define ASN1_R_DEPTH_EXCEEDED 174 -#define ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED 198 -#define ASN1_R_ENCODE_ERROR 112 -#define ASN1_R_ERROR_GETTING_TIME 173 -#define ASN1_R_ERROR_LOADING_SECTION 172 -#define ASN1_R_ERROR_PARSING_SET_ELEMENT 113 -#define ASN1_R_ERROR_SETTING_CIPHER_PARAMS 114 -#define ASN1_R_EXPECTING_AN_INTEGER 115 -#define ASN1_R_EXPECTING_AN_OBJECT 116 -#define ASN1_R_EXPECTING_A_BOOLEAN 117 -#define ASN1_R_EXPECTING_A_TIME 118 -#define ASN1_R_EXPLICIT_LENGTH_MISMATCH 119 -#define ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED 120 -#define ASN1_R_FIELD_MISSING 121 -#define ASN1_R_FIRST_NUM_TOO_LARGE 122 -#define ASN1_R_HEADER_TOO_LONG 123 -#define ASN1_R_ILLEGAL_BITSTRING_FORMAT 175 -#define ASN1_R_ILLEGAL_BOOLEAN 176 -#define ASN1_R_ILLEGAL_CHARACTERS 124 -#define ASN1_R_ILLEGAL_FORMAT 177 -#define ASN1_R_ILLEGAL_HEX 178 -#define ASN1_R_ILLEGAL_IMPLICIT_TAG 179 -#define ASN1_R_ILLEGAL_INTEGER 180 -#define ASN1_R_ILLEGAL_NESTED_TAGGING 181 -#define ASN1_R_ILLEGAL_NULL 125 -#define ASN1_R_ILLEGAL_NULL_VALUE 182 -#define ASN1_R_ILLEGAL_OBJECT 183 -#define ASN1_R_ILLEGAL_OPTIONAL_ANY 126 -#define ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE 170 -#define ASN1_R_ILLEGAL_TAGGED_ANY 127 -#define ASN1_R_ILLEGAL_TIME_VALUE 184 -#define ASN1_R_INTEGER_NOT_ASCII_FORMAT 185 -#define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 128 -#define ASN1_R_INVALID_BMPSTRING_LENGTH 129 -#define ASN1_R_INVALID_DIGIT 130 -#define ASN1_R_INVALID_MIME_TYPE 205 -#define ASN1_R_INVALID_MODIFIER 186 -#define ASN1_R_INVALID_NUMBER 187 -#define ASN1_R_INVALID_OBJECT_ENCODING 216 -#define ASN1_R_INVALID_SEPARATOR 131 -#define ASN1_R_INVALID_TIME_FORMAT 132 -#define ASN1_R_INVALID_UNIVERSALSTRING_LENGTH 133 -#define ASN1_R_INVALID_UTF8STRING 134 -#define ASN1_R_IV_TOO_LARGE 135 -#define ASN1_R_LENGTH_ERROR 136 -#define ASN1_R_LIST_ERROR 188 -#define ASN1_R_MIME_NO_CONTENT_TYPE 206 -#define ASN1_R_MIME_PARSE_ERROR 207 -#define ASN1_R_MIME_SIG_PARSE_ERROR 208 -#define ASN1_R_MISSING_EOC 137 -#define ASN1_R_MISSING_SECOND_NUMBER 138 -#define ASN1_R_MISSING_VALUE 189 -#define ASN1_R_MSTRING_NOT_UNIVERSAL 139 -#define ASN1_R_MSTRING_WRONG_TAG 140 -#define ASN1_R_NESTED_ASN1_STRING 197 -#define ASN1_R_NON_HEX_CHARACTERS 141 -#define ASN1_R_NOT_ASCII_FORMAT 190 -#define ASN1_R_NOT_ENOUGH_DATA 142 -#define ASN1_R_NO_CONTENT_TYPE 209 -#define ASN1_R_NO_DEFAULT_DIGEST 201 -#define ASN1_R_NO_MATCHING_CHOICE_TYPE 143 -#define ASN1_R_NO_MULTIPART_BODY_FAILURE 210 -#define ASN1_R_NO_MULTIPART_BOUNDARY 211 -#define ASN1_R_NO_SIG_CONTENT_TYPE 212 -#define ASN1_R_NULL_IS_WRONG_LENGTH 144 -#define ASN1_R_OBJECT_NOT_ASCII_FORMAT 191 -#define ASN1_R_ODD_NUMBER_OF_CHARS 145 -#define ASN1_R_PRIVATE_KEY_HEADER_MISSING 146 -#define ASN1_R_SECOND_NUMBER_TOO_LARGE 147 -#define ASN1_R_SEQUENCE_LENGTH_MISMATCH 148 -#define ASN1_R_SEQUENCE_NOT_CONSTRUCTED 149 -#define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG 192 -#define ASN1_R_SHORT_LINE 150 -#define ASN1_R_SIG_INVALID_MIME_TYPE 213 -#define ASN1_R_STREAMING_NOT_SUPPORTED 202 -#define ASN1_R_STRING_TOO_LONG 151 -#define ASN1_R_STRING_TOO_SHORT 152 -#define ASN1_R_TAG_VALUE_TOO_HIGH 153 -#define ASN1_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 154 -#define ASN1_R_TIME_NOT_ASCII_FORMAT 193 -#define ASN1_R_TOO_LONG 155 -#define ASN1_R_TYPE_NOT_CONSTRUCTED 156 -#define ASN1_R_UNABLE_TO_DECODE_RSA_KEY 157 -#define ASN1_R_UNABLE_TO_DECODE_RSA_PRIVATE_KEY 158 -#define ASN1_R_UNEXPECTED_EOC 159 -#define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 215 -#define ASN1_R_UNKNOWN_FORMAT 160 -#define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 161 -#define ASN1_R_UNKNOWN_OBJECT_TYPE 162 -#define ASN1_R_UNKNOWN_PUBLIC_KEY_TYPE 163 -#define ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM 199 -#define ASN1_R_UNKNOWN_TAG 194 -#define ASN1_R_UNKOWN_FORMAT 195 -#define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 164 -#define ASN1_R_UNSUPPORTED_CIPHER 165 -#define ASN1_R_UNSUPPORTED_ENCRYPTION_ALGORITHM 166 -#define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 167 -#define ASN1_R_UNSUPPORTED_TYPE 196 -#define ASN1_R_WRONG_PUBLIC_KEY_TYPE 200 -#define ASN1_R_WRONG_TAG 168 -#define ASN1_R_WRONG_TYPE 169 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/asn1_mac.h b/ext/bin/libcrypto/include/openssl/asn1_mac.h deleted file mode 100644 index 87bd0e9e1..000000000 --- a/ext/bin/libcrypto/include/openssl/asn1_mac.h +++ /dev/null @@ -1,578 +0,0 @@ -/* crypto/asn1/asn1_mac.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_ASN1_MAC_H -#define HEADER_ASN1_MAC_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef ASN1_MAC_ERR_LIB -#define ASN1_MAC_ERR_LIB ERR_LIB_ASN1 -#endif - -#define ASN1_MAC_H_err(f,r,line) \ - ERR_PUT_error(ASN1_MAC_ERR_LIB,(f),(r),__FILE__,(line)) - -#define M_ASN1_D2I_vars(a,type,func) \ - ASN1_const_CTX c; \ - type ret=NULL; \ - \ - c.pp=(const unsigned char **)pp; \ - c.q= *(const unsigned char **)pp; \ - c.error=ERR_R_NESTED_ASN1_ERROR; \ - if ((a == NULL) || ((*a) == NULL)) \ - { if ((ret=(type)func()) == NULL) \ - { c.line=__LINE__; goto err; } } \ - else ret=(*a); - -#define M_ASN1_D2I_Init() \ - c.p= *(const unsigned char **)pp; \ - c.max=(length == 0)?0:(c.p+length); - -#define M_ASN1_D2I_Finish_2(a) \ - if (!asn1_const_Finish(&c)) \ - { c.line=__LINE__; goto err; } \ - *(const unsigned char **)pp=c.p; \ - if (a != NULL) (*a)=ret; \ - return(ret); - -#define M_ASN1_D2I_Finish(a,func,e) \ - M_ASN1_D2I_Finish_2(a); \ -err:\ - ASN1_MAC_H_err((e),c.error,c.line); \ - asn1_add_error(*(const unsigned char **)pp,(int)(c.q- *pp)); \ - if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ - return(NULL) - -#define M_ASN1_D2I_start_sequence() \ - if (!asn1_GetSequence(&c,&length)) \ - { c.line=__LINE__; goto err; } -/* Begin reading ASN1 without a surrounding sequence */ -#define M_ASN1_D2I_begin() \ - c.slen = length; - -/* End reading ASN1 with no check on length */ -#define M_ASN1_D2I_Finish_nolen(a, func, e) \ - *pp=c.p; \ - if (a != NULL) (*a)=ret; \ - return(ret); \ -err:\ - ASN1_MAC_H_err((e),c.error,c.line); \ - asn1_add_error(*pp,(int)(c.q- *pp)); \ - if ((ret != NULL) && ((a == NULL) || (*a != ret))) func(ret); \ - return(NULL) - -#define M_ASN1_D2I_end_sequence() \ - (((c.inf&1) == 0)?(c.slen <= 0): \ - (c.eos=ASN1_const_check_infinite_end(&c.p,c.slen))) - -/* Don't use this with d2i_ASN1_BOOLEAN() */ -#define M_ASN1_D2I_get(b, func) \ - c.q=c.p; \ - if (func(&(b),&c.p,c.slen) == NULL) \ - {c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -/* Don't use this with d2i_ASN1_BOOLEAN() */ -#define M_ASN1_D2I_get_x(type,b,func) \ - c.q=c.p; \ - if (((D2I_OF(type))func)(&(b),&c.p,c.slen) == NULL) \ - {c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -/* use this instead () */ -#define M_ASN1_D2I_get_int(b,func) \ - c.q=c.p; \ - if (func(&(b),&c.p,c.slen) < 0) \ - {c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -#define M_ASN1_D2I_get_opt(b,func,type) \ - if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ - == (V_ASN1_UNIVERSAL|(type)))) \ - { \ - M_ASN1_D2I_get(b,func); \ - } - -#define M_ASN1_D2I_get_int_opt(b,func,type) \ - if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) \ - == (V_ASN1_UNIVERSAL|(type)))) \ - { \ - M_ASN1_D2I_get_int(b,func); \ - } - -#define M_ASN1_D2I_get_imp(b,func, type) \ - M_ASN1_next=(_tmp& V_ASN1_CONSTRUCTED)|type; \ - c.q=c.p; \ - if (func(&(b),&c.p,c.slen) == NULL) \ - {c.line=__LINE__; M_ASN1_next_prev = _tmp; goto err; } \ - c.slen-=(c.p-c.q);\ - M_ASN1_next_prev=_tmp; - -#define M_ASN1_D2I_get_IMP_opt(b,func,tag,type) \ - if ((c.slen != 0) && ((M_ASN1_next & (~V_ASN1_CONSTRUCTED)) == \ - (V_ASN1_CONTEXT_SPECIFIC|(tag)))) \ - { \ - unsigned char _tmp = M_ASN1_next; \ - M_ASN1_D2I_get_imp(b,func, type);\ - } - -#define M_ASN1_D2I_get_set(r,func,free_func) \ - M_ASN1_D2I_get_imp_set(r,func,free_func, \ - V_ASN1_SET,V_ASN1_UNIVERSAL); - -#define M_ASN1_D2I_get_set_type(type,r,func,free_func) \ - M_ASN1_D2I_get_imp_set_type(type,r,func,free_func, \ - V_ASN1_SET,V_ASN1_UNIVERSAL); - -#define M_ASN1_D2I_get_set_opt(r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ - { M_ASN1_D2I_get_set(r,func,free_func); } - -#define M_ASN1_D2I_get_set_opt_type(type,r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SET)))\ - { M_ASN1_D2I_get_set_type(type,r,func,free_func); } - -#define M_ASN1_I2D_len_SET_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_len_SET(a,f); - -#define M_ASN1_I2D_put_SET_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_put_SET(a,f); - -#define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_put_SEQUENCE(a,f); - -#define M_ASN1_I2D_put_SEQUENCE_opt_type(type,a,f) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - M_ASN1_I2D_put_SEQUENCE_type(type,a,f); - -#define M_ASN1_D2I_get_IMP_set_opt(b,func,free_func,tag) \ - if ((c.slen != 0) && \ - (M_ASN1_next == \ - (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ - { \ - M_ASN1_D2I_get_imp_set(b,func,free_func,\ - tag,V_ASN1_CONTEXT_SPECIFIC); \ - } - -#define M_ASN1_D2I_get_IMP_set_opt_type(type,b,func,free_func,tag) \ - if ((c.slen != 0) && \ - (M_ASN1_next == \ - (V_ASN1_CONTEXT_SPECIFIC|V_ASN1_CONSTRUCTED|(tag))))\ - { \ - M_ASN1_D2I_get_imp_set_type(type,b,func,free_func,\ - tag,V_ASN1_CONTEXT_SPECIFIC); \ - } - -#define M_ASN1_D2I_get_seq(r,func,free_func) \ - M_ASN1_D2I_get_imp_set(r,func,free_func,\ - V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL); - -#define M_ASN1_D2I_get_seq_type(type,r,func,free_func) \ - M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ - V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) - -#define M_ASN1_D2I_get_seq_opt(r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ - { M_ASN1_D2I_get_seq(r,func,free_func); } - -#define M_ASN1_D2I_get_seq_opt_type(type,r,func,free_func) \ - if ((c.slen != 0) && (M_ASN1_next == (V_ASN1_UNIVERSAL| \ - V_ASN1_CONSTRUCTED|V_ASN1_SEQUENCE)))\ - { M_ASN1_D2I_get_seq_type(type,r,func,free_func); } - -#define M_ASN1_D2I_get_IMP_set(r,func,free_func,x) \ - M_ASN1_D2I_get_imp_set(r,func,free_func,\ - x,V_ASN1_CONTEXT_SPECIFIC); - -#define M_ASN1_D2I_get_IMP_set_type(type,r,func,free_func,x) \ - M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,\ - x,V_ASN1_CONTEXT_SPECIFIC); - -#define M_ASN1_D2I_get_imp_set(r,func,free_func,a,b) \ - c.q=c.p; \ - if (d2i_ASN1_SET(&(r),&c.p,c.slen,(char *(*)())func,\ - (void (*)())free_func,a,b) == NULL) \ - { c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -#define M_ASN1_D2I_get_imp_set_type(type,r,func,free_func,a,b) \ - c.q=c.p; \ - if (d2i_ASN1_SET_OF_##type(&(r),&c.p,c.slen,func,\ - free_func,a,b) == NULL) \ - { c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -#define M_ASN1_D2I_get_set_strings(r,func,a,b) \ - c.q=c.p; \ - if (d2i_ASN1_STRING_SET(&(r),&c.p,c.slen,a,b) == NULL) \ - { c.line=__LINE__; goto err; } \ - c.slen-=(c.p-c.q); - -#define M_ASN1_D2I_get_EXP_opt(r,func,tag) \ - if ((c.slen != 0L) && (M_ASN1_next == \ - (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ - { \ - int Tinf,Ttag,Tclass; \ - long Tlen; \ - \ - c.q=c.p; \ - Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ - if (Tinf & 0x80) \ - { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ - c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ - Tlen = c.slen - (c.p - c.q) - 2; \ - if (func(&(r),&c.p,Tlen) == NULL) \ - { c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ - Tlen = c.slen - (c.p - c.q); \ - if(!ASN1_const_check_infinite_end(&c.p, Tlen)) \ - { c.error=ERR_R_MISSING_ASN1_EOS; \ - c.line=__LINE__; goto err; } \ - }\ - c.slen-=(c.p-c.q); \ - } - -#define M_ASN1_D2I_get_EXP_set_opt(r,func,free_func,tag,b) \ - if ((c.slen != 0) && (M_ASN1_next == \ - (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ - { \ - int Tinf,Ttag,Tclass; \ - long Tlen; \ - \ - c.q=c.p; \ - Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ - if (Tinf & 0x80) \ - { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ - c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ - Tlen = c.slen - (c.p - c.q) - 2; \ - if (d2i_ASN1_SET(&(r),&c.p,Tlen,(char *(*)())func, \ - (void (*)())free_func, \ - b,V_ASN1_UNIVERSAL) == NULL) \ - { c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ - Tlen = c.slen - (c.p - c.q); \ - if(!ASN1_check_infinite_end(&c.p, Tlen)) \ - { c.error=ERR_R_MISSING_ASN1_EOS; \ - c.line=__LINE__; goto err; } \ - }\ - c.slen-=(c.p-c.q); \ - } - -#define M_ASN1_D2I_get_EXP_set_opt_type(type,r,func,free_func,tag,b) \ - if ((c.slen != 0) && (M_ASN1_next == \ - (V_ASN1_CONSTRUCTED|V_ASN1_CONTEXT_SPECIFIC|tag))) \ - { \ - int Tinf,Ttag,Tclass; \ - long Tlen; \ - \ - c.q=c.p; \ - Tinf=ASN1_get_object(&c.p,&Tlen,&Ttag,&Tclass,c.slen); \ - if (Tinf & 0x80) \ - { c.error=ERR_R_BAD_ASN1_OBJECT_HEADER; \ - c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) \ - Tlen = c.slen - (c.p - c.q) - 2; \ - if (d2i_ASN1_SET_OF_##type(&(r),&c.p,Tlen,func, \ - free_func,b,V_ASN1_UNIVERSAL) == NULL) \ - { c.line=__LINE__; goto err; } \ - if (Tinf == (V_ASN1_CONSTRUCTED+1)) { \ - Tlen = c.slen - (c.p - c.q); \ - if(!ASN1_check_infinite_end(&c.p, Tlen)) \ - { c.error=ERR_R_MISSING_ASN1_EOS; \ - c.line=__LINE__; goto err; } \ - }\ - c.slen-=(c.p-c.q); \ - } - -/* New macros */ -#define M_ASN1_New_Malloc(ret,type) \ - if ((ret=(type *)OPENSSL_malloc(sizeof(type))) == NULL) \ - { c.line=__LINE__; goto err2; } - -#define M_ASN1_New(arg,func) \ - if (((arg)=func()) == NULL) return(NULL) - -#define M_ASN1_New_Error(a) \ -/* err: ASN1_MAC_H_err((a),ERR_R_NESTED_ASN1_ERROR,c.line); \ - return(NULL);*/ \ - err2: ASN1_MAC_H_err((a),ERR_R_MALLOC_FAILURE,c.line); \ - return(NULL) - - -/* BIG UGLY WARNING! This is so damn ugly I wanna puke. Unfortunately, - some macros that use ASN1_const_CTX still insist on writing in the input - stream. ARGH! ARGH! ARGH! Let's get rid of this macro package. - Please? -- Richard Levitte */ -#define M_ASN1_next (*((unsigned char *)(c.p))) -#define M_ASN1_next_prev (*((unsigned char *)(c.q))) - -/*************************************************/ - -#define M_ASN1_I2D_vars(a) int r=0,ret=0; \ - unsigned char *p; \ - if (a == NULL) return(0) - -/* Length Macros */ -#define M_ASN1_I2D_len(a,f) ret+=f(a,NULL) -#define M_ASN1_I2D_len_IMP_opt(a,f) if (a != NULL) M_ASN1_I2D_len(a,f) - -#define M_ASN1_I2D_len_SET(a,f) \ - ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET); - -#define M_ASN1_I2D_len_SET_type(type,a,f) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SET, \ - V_ASN1_UNIVERSAL,IS_SET); - -#define M_ASN1_I2D_len_SEQUENCE(a,f) \ - ret+=i2d_ASN1_SET(a,NULL,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); - -#define M_ASN1_I2D_len_SEQUENCE_type(type,a,f) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,V_ASN1_SEQUENCE, \ - V_ASN1_UNIVERSAL,IS_SEQUENCE) - -#define M_ASN1_I2D_len_SEQUENCE_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_len_SEQUENCE(a,f); - -#define M_ASN1_I2D_len_SEQUENCE_opt_type(type,a,f) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - M_ASN1_I2D_len_SEQUENCE_type(type,a,f); - -#define M_ASN1_I2D_len_IMP_SET(a,f,x) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET); - -#define M_ASN1_I2D_len_IMP_SET_type(type,a,f,x) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ - V_ASN1_CONTEXT_SPECIFIC,IS_SET); - -#define M_ASN1_I2D_len_IMP_SET_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SET); - -#define M_ASN1_I2D_len_IMP_SET_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ - V_ASN1_CONTEXT_SPECIFIC,IS_SET); - -#define M_ASN1_I2D_len_IMP_SEQUENCE(a,f,x) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); - -#define M_ASN1_I2D_len_IMP_SEQUENCE_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - ret+=i2d_ASN1_SET(a,NULL,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); - -#define M_ASN1_I2D_len_IMP_SEQUENCE_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - ret+=i2d_ASN1_SET_OF_##type(a,NULL,f,x, \ - V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); - -#define M_ASN1_I2D_len_EXP_opt(a,f,mtag,v) \ - if (a != NULL)\ - { \ - v=f(a,NULL); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -#define M_ASN1_I2D_len_EXP_SET_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0))\ - { \ - v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -#define M_ASN1_I2D_len_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0))\ - { \ - v=i2d_ASN1_SET(a,NULL,f,tag,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -#define M_ASN1_I2D_len_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_##type##_num(a) != 0))\ - { \ - v=i2d_ASN1_SET_OF_##type(a,NULL,f,tag, \ - V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); \ - ret+=ASN1_object_size(1,v,mtag); \ - } - -/* Put Macros */ -#define M_ASN1_I2D_put(a,f) f(a,&p) - -#define M_ASN1_I2D_put_IMP_opt(a,f,t) \ - if (a != NULL) \ - { \ - unsigned char *q=p; \ - f(a,&p); \ - *q=(V_ASN1_CONTEXT_SPECIFIC|t|(*q&V_ASN1_CONSTRUCTED));\ - } - -#define M_ASN1_I2D_put_SET(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SET,\ - V_ASN1_UNIVERSAL,IS_SET) -#define M_ASN1_I2D_put_SET_type(type,a,f) \ - i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SET,V_ASN1_UNIVERSAL,IS_SET) -#define M_ASN1_I2D_put_IMP_SET(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ - V_ASN1_CONTEXT_SPECIFIC,IS_SET) -#define M_ASN1_I2D_put_IMP_SET_type(type,a,f,x) \ - i2d_ASN1_SET_OF_##type(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC,IS_SET) -#define M_ASN1_I2D_put_IMP_SEQUENCE(a,f,x) i2d_ASN1_SET(a,&p,f,x,\ - V_ASN1_CONTEXT_SPECIFIC,IS_SEQUENCE) - -#define M_ASN1_I2D_put_SEQUENCE(a,f) i2d_ASN1_SET(a,&p,f,V_ASN1_SEQUENCE,\ - V_ASN1_UNIVERSAL,IS_SEQUENCE) - -#define M_ASN1_I2D_put_SEQUENCE_type(type,a,f) \ - i2d_ASN1_SET_OF_##type(a,&p,f,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE) - -#define M_ASN1_I2D_put_SEQUENCE_opt(a,f) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - M_ASN1_I2D_put_SEQUENCE(a,f); - -#define M_ASN1_I2D_put_IMP_SET_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SET); } - -#define M_ASN1_I2D_put_IMP_SET_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ - V_ASN1_CONTEXT_SPECIFIC, \ - IS_SET); } - -#define M_ASN1_I2D_put_IMP_SEQUENCE_opt(a,f,x) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { i2d_ASN1_SET(a,&p,f,x,V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); } - -#define M_ASN1_I2D_put_IMP_SEQUENCE_opt_type(type,a,f,x) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - { i2d_ASN1_SET_OF_##type(a,&p,f,x, \ - V_ASN1_CONTEXT_SPECIFIC, \ - IS_SEQUENCE); } - -#define M_ASN1_I2D_put_EXP_opt(a,f,tag,v) \ - if (a != NULL) \ - { \ - ASN1_put_object(&p,1,v,tag,V_ASN1_CONTEXT_SPECIFIC); \ - f(a,&p); \ - } - -#define M_ASN1_I2D_put_EXP_SET_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { \ - ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ - i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SET); \ - } - -#define M_ASN1_I2D_put_EXP_SEQUENCE_opt(a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_num(a) != 0)) \ - { \ - ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ - i2d_ASN1_SET(a,&p,f,tag,V_ASN1_UNIVERSAL,IS_SEQUENCE); \ - } - -#define M_ASN1_I2D_put_EXP_SEQUENCE_opt_type(type,a,f,mtag,tag,v) \ - if ((a != NULL) && (sk_##type##_num(a) != 0)) \ - { \ - ASN1_put_object(&p,1,v,mtag,V_ASN1_CONTEXT_SPECIFIC); \ - i2d_ASN1_SET_OF_##type(a,&p,f,tag,V_ASN1_UNIVERSAL, \ - IS_SEQUENCE); \ - } - -#define M_ASN1_I2D_seq_total() \ - r=ASN1_object_size(1,ret,V_ASN1_SEQUENCE); \ - if (pp == NULL) return(r); \ - p= *pp; \ - ASN1_put_object(&p,1,ret,V_ASN1_SEQUENCE,V_ASN1_UNIVERSAL) - -#define M_ASN1_I2D_INF_seq_start(tag,ctx) \ - *(p++)=(V_ASN1_CONSTRUCTED|(tag)|(ctx)); \ - *(p++)=0x80 - -#define M_ASN1_I2D_INF_seq_end() *(p++)=0x00; *(p++)=0x00 - -#define M_ASN1_I2D_finish() *pp=p; \ - return(r); - -int asn1_GetSequence(ASN1_const_CTX *c, long *length); -void asn1_add_error(const unsigned char *address,int offset); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/asn1t.h b/ext/bin/libcrypto/include/openssl/asn1t.h deleted file mode 100644 index d230e4bf7..000000000 --- a/ext/bin/libcrypto/include/openssl/asn1t.h +++ /dev/null @@ -1,960 +0,0 @@ -/* asn1t.h */ -/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL - * project 2000. - */ -/* ==================================================================== - * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -#ifndef HEADER_ASN1T_H -#define HEADER_ASN1T_H - -#include -#include -#include - -#ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -#endif - -/* ASN1 template defines, structures and functions */ - -#ifdef __cplusplus -extern "C" { -#endif - - -#ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION - -/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ -#define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr)) - - -/* Macros for start and end of ASN1_ITEM definition */ - -#define ASN1_ITEM_start(itname) \ - OPENSSL_GLOBAL const ASN1_ITEM itname##_it = { - -#define ASN1_ITEM_end(itname) \ - }; - -#else - -/* Macro to obtain ASN1_ADB pointer from a type (only used internally) */ -#define ASN1_ADB_ptr(iptr) ((const ASN1_ADB *)(iptr())) - - -/* Macros for start and end of ASN1_ITEM definition */ - -#define ASN1_ITEM_start(itname) \ - const ASN1_ITEM * itname##_it(void) \ - { \ - static const ASN1_ITEM local_it = { - -#define ASN1_ITEM_end(itname) \ - }; \ - return &local_it; \ - } - -#endif - - -/* Macros to aid ASN1 template writing */ - -#define ASN1_ITEM_TEMPLATE(tname) \ - static const ASN1_TEMPLATE tname##_item_tt - -#define ASN1_ITEM_TEMPLATE_END(tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_PRIMITIVE,\ - -1,\ - &tname##_item_tt,\ - 0,\ - NULL,\ - 0,\ - #tname \ - ASN1_ITEM_end(tname) - - -/* This is a ASN1 type which just embeds a template */ - -/* This pair helps declare a SEQUENCE. We can do: - * - * ASN1_SEQUENCE(stname) = { - * ... SEQUENCE components ... - * } ASN1_SEQUENCE_END(stname) - * - * This will produce an ASN1_ITEM called stname_it - * for a structure called stname. - * - * If you want the same structure but a different - * name then use: - * - * ASN1_SEQUENCE(itname) = { - * ... SEQUENCE components ... - * } ASN1_SEQUENCE_END_name(stname, itname) - * - * This will create an item called itname_it using - * a structure called stname. - */ - -#define ASN1_SEQUENCE(tname) \ - static const ASN1_TEMPLATE tname##_seq_tt[] - -#define ASN1_SEQUENCE_END(stname) ASN1_SEQUENCE_END_name(stname, stname) - -#define ASN1_SEQUENCE_END_name(stname, tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - NULL,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -#define ASN1_NDEF_SEQUENCE(tname) \ - ASN1_SEQUENCE(tname) - -#define ASN1_NDEF_SEQUENCE_cb(tname, cb) \ - ASN1_SEQUENCE_cb(tname, cb) - -#define ASN1_SEQUENCE_cb(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ - ASN1_SEQUENCE(tname) - -#define ASN1_BROKEN_SEQUENCE(tname) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_BROKEN, 0, 0, 0, 0}; \ - ASN1_SEQUENCE(tname) - -#define ASN1_SEQUENCE_ref(tname, cb, lck) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_REFCOUNT, offsetof(tname, references), lck, cb, 0}; \ - ASN1_SEQUENCE(tname) - -#define ASN1_SEQUENCE_enc(tname, enc, cb) \ - static const ASN1_AUX tname##_aux = {NULL, ASN1_AFLG_ENCODING, 0, 0, cb, offsetof(tname, enc)}; \ - ASN1_SEQUENCE(tname) - -#define ASN1_NDEF_SEQUENCE_END(tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_NDEF_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - NULL,\ - sizeof(tname),\ - #tname \ - ASN1_ITEM_end(tname) - -#define ASN1_BROKEN_SEQUENCE_END(stname) ASN1_SEQUENCE_END_ref(stname, stname) - -#define ASN1_SEQUENCE_END_enc(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) - -#define ASN1_SEQUENCE_END_cb(stname, tname) ASN1_SEQUENCE_END_ref(stname, tname) - -#define ASN1_SEQUENCE_END_ref(stname, tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - &tname##_aux,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -#define ASN1_NDEF_SEQUENCE_END_cb(stname, tname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_NDEF_SEQUENCE,\ - V_ASN1_SEQUENCE,\ - tname##_seq_tt,\ - sizeof(tname##_seq_tt) / sizeof(ASN1_TEMPLATE),\ - &tname##_aux,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - - -/* This pair helps declare a CHOICE type. We can do: - * - * ASN1_CHOICE(chname) = { - * ... CHOICE options ... - * ASN1_CHOICE_END(chname) - * - * This will produce an ASN1_ITEM called chname_it - * for a structure called chname. The structure - * definition must look like this: - * typedef struct { - * int type; - * union { - * ASN1_SOMETHING *opt1; - * ASN1_SOMEOTHER *opt2; - * } value; - * } chname; - * - * the name of the selector must be 'type'. - * to use an alternative selector name use the - * ASN1_CHOICE_END_selector() version. - */ - -#define ASN1_CHOICE(tname) \ - static const ASN1_TEMPLATE tname##_ch_tt[] - -#define ASN1_CHOICE_cb(tname, cb) \ - static const ASN1_AUX tname##_aux = {NULL, 0, 0, 0, cb, 0}; \ - ASN1_CHOICE(tname) - -#define ASN1_CHOICE_END(stname) ASN1_CHOICE_END_name(stname, stname) - -#define ASN1_CHOICE_END_name(stname, tname) ASN1_CHOICE_END_selector(stname, tname, type) - -#define ASN1_CHOICE_END_selector(stname, tname, selname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_CHOICE,\ - offsetof(stname,selname) ,\ - tname##_ch_tt,\ - sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ - NULL,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -#define ASN1_CHOICE_END_cb(stname, tname, selname) \ - ;\ - ASN1_ITEM_start(tname) \ - ASN1_ITYPE_CHOICE,\ - offsetof(stname,selname) ,\ - tname##_ch_tt,\ - sizeof(tname##_ch_tt) / sizeof(ASN1_TEMPLATE),\ - &tname##_aux,\ - sizeof(stname),\ - #stname \ - ASN1_ITEM_end(tname) - -/* This helps with the template wrapper form of ASN1_ITEM */ - -#define ASN1_EX_TEMPLATE_TYPE(flags, tag, name, type) { \ - (flags), (tag), 0,\ - #name, ASN1_ITEM_ref(type) } - -/* These help with SEQUENCE or CHOICE components */ - -/* used to declare other types */ - -#define ASN1_EX_TYPE(flags, tag, stname, field, type) { \ - (flags), (tag), offsetof(stname, field),\ - #field, ASN1_ITEM_ref(type) } - -/* used when the structure is combined with the parent */ - -#define ASN1_EX_COMBINE(flags, tag, type) { \ - (flags)|ASN1_TFLG_COMBINE, (tag), 0, NULL, ASN1_ITEM_ref(type) } - -/* implicit and explicit helper macros */ - -#define ASN1_IMP_EX(stname, field, type, tag, ex) \ - ASN1_EX_TYPE(ASN1_TFLG_IMPLICIT | ex, tag, stname, field, type) - -#define ASN1_EXP_EX(stname, field, type, tag, ex) \ - ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | ex, tag, stname, field, type) - -/* Any defined by macros: the field used is in the table itself */ - -#ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION -#define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } -#define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, (const ASN1_ITEM *)&(tblname##_adb) } -#else -#define ASN1_ADB_OBJECT(tblname) { ASN1_TFLG_ADB_OID, -1, 0, #tblname, tblname##_adb } -#define ASN1_ADB_INTEGER(tblname) { ASN1_TFLG_ADB_INT, -1, 0, #tblname, tblname##_adb } -#endif -/* Plain simple type */ -#define ASN1_SIMPLE(stname, field, type) ASN1_EX_TYPE(0,0, stname, field, type) - -/* OPTIONAL simple type */ -#define ASN1_OPT(stname, field, type) ASN1_EX_TYPE(ASN1_TFLG_OPTIONAL, 0, stname, field, type) - -/* IMPLICIT tagged simple type */ -#define ASN1_IMP(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, 0) - -/* IMPLICIT tagged OPTIONAL simple type */ -#define ASN1_IMP_OPT(stname, field, type, tag) ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) - -/* Same as above but EXPLICIT */ - -#define ASN1_EXP(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, 0) -#define ASN1_EXP_OPT(stname, field, type, tag) ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL) - -/* SEQUENCE OF type */ -#define ASN1_SEQUENCE_OF(stname, field, type) \ - ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, stname, field, type) - -/* OPTIONAL SEQUENCE OF */ -#define ASN1_SEQUENCE_OF_OPT(stname, field, type) \ - ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) - -/* Same as above but for SET OF */ - -#define ASN1_SET_OF(stname, field, type) \ - ASN1_EX_TYPE(ASN1_TFLG_SET_OF, 0, stname, field, type) - -#define ASN1_SET_OF_OPT(stname, field, type) \ - ASN1_EX_TYPE(ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL, 0, stname, field, type) - -/* Finally compound types of SEQUENCE, SET, IMPLICIT, EXPLICIT and OPTIONAL */ - -#define ASN1_IMP_SET_OF(stname, field, type, tag) \ - ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) - -#define ASN1_EXP_SET_OF(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF) - -#define ASN1_IMP_SET_OF_OPT(stname, field, type, tag) \ - ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) - -#define ASN1_EXP_SET_OF_OPT(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SET_OF|ASN1_TFLG_OPTIONAL) - -#define ASN1_IMP_SEQUENCE_OF(stname, field, type, tag) \ - ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) - -#define ASN1_IMP_SEQUENCE_OF_OPT(stname, field, type, tag) \ - ASN1_IMP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) - -#define ASN1_EXP_SEQUENCE_OF(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF) - -#define ASN1_EXP_SEQUENCE_OF_OPT(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_SEQUENCE_OF|ASN1_TFLG_OPTIONAL) - -/* EXPLICIT using indefinite length constructed form */ -#define ASN1_NDEF_EXP(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_NDEF) - -/* EXPLICIT OPTIONAL using indefinite length constructed form */ -#define ASN1_NDEF_EXP_OPT(stname, field, type, tag) \ - ASN1_EXP_EX(stname, field, type, tag, ASN1_TFLG_OPTIONAL|ASN1_TFLG_NDEF) - -/* Macros for the ASN1_ADB structure */ - -#define ASN1_ADB(name) \ - static const ASN1_ADB_TABLE name##_adbtbl[] - -#ifndef OPENSSL_EXPORT_VAR_AS_FUNCTION - -#define ASN1_ADB_END(name, flags, field, app_table, def, none) \ - ;\ - static const ASN1_ADB name##_adb = {\ - flags,\ - offsetof(name, field),\ - app_table,\ - name##_adbtbl,\ - sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ - def,\ - none\ - } - -#else - -#define ASN1_ADB_END(name, flags, field, app_table, def, none) \ - ;\ - static const ASN1_ITEM *name##_adb(void) \ - { \ - static const ASN1_ADB internal_adb = \ - {\ - flags,\ - offsetof(name, field),\ - app_table,\ - name##_adbtbl,\ - sizeof(name##_adbtbl) / sizeof(ASN1_ADB_TABLE),\ - def,\ - none\ - }; \ - return (const ASN1_ITEM *) &internal_adb; \ - } \ - void dummy_function(void) - -#endif - -#define ADB_ENTRY(val, template) {val, template} - -#define ASN1_ADB_TEMPLATE(name) \ - static const ASN1_TEMPLATE name##_tt - -/* This is the ASN1 template structure that defines - * a wrapper round the actual type. It determines the - * actual position of the field in the value structure, - * various flags such as OPTIONAL and the field name. - */ - -struct ASN1_TEMPLATE_st { -unsigned long flags; /* Various flags */ -long tag; /* tag, not used if no tagging */ -unsigned long offset; /* Offset of this field in structure */ -#ifndef NO_ASN1_FIELD_NAMES -const char *field_name; /* Field name */ -#endif -ASN1_ITEM_EXP *item; /* Relevant ASN1_ITEM or ASN1_ADB */ -}; - -/* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */ - -#define ASN1_TEMPLATE_item(t) (t->item_ptr) -#define ASN1_TEMPLATE_adb(t) (t->item_ptr) - -typedef struct ASN1_ADB_TABLE_st ASN1_ADB_TABLE; -typedef struct ASN1_ADB_st ASN1_ADB; - -struct ASN1_ADB_st { - unsigned long flags; /* Various flags */ - unsigned long offset; /* Offset of selector field */ - STACK_OF(ASN1_ADB_TABLE) **app_items; /* Application defined items */ - const ASN1_ADB_TABLE *tbl; /* Table of possible types */ - long tblcount; /* Number of entries in tbl */ - const ASN1_TEMPLATE *default_tt; /* Type to use if no match */ - const ASN1_TEMPLATE *null_tt; /* Type to use if selector is NULL */ -}; - -struct ASN1_ADB_TABLE_st { - long value; /* NID for an object or value for an int */ - const ASN1_TEMPLATE tt; /* item for this value */ -}; - -/* template flags */ - -/* Field is optional */ -#define ASN1_TFLG_OPTIONAL (0x1) - -/* Field is a SET OF */ -#define ASN1_TFLG_SET_OF (0x1 << 1) - -/* Field is a SEQUENCE OF */ -#define ASN1_TFLG_SEQUENCE_OF (0x2 << 1) - -/* Special case: this refers to a SET OF that - * will be sorted into DER order when encoded *and* - * the corresponding STACK will be modified to match - * the new order. - */ -#define ASN1_TFLG_SET_ORDER (0x3 << 1) - -/* Mask for SET OF or SEQUENCE OF */ -#define ASN1_TFLG_SK_MASK (0x3 << 1) - -/* These flags mean the tag should be taken from the - * tag field. If EXPLICIT then the underlying type - * is used for the inner tag. - */ - -/* IMPLICIT tagging */ -#define ASN1_TFLG_IMPTAG (0x1 << 3) - - -/* EXPLICIT tagging, inner tag from underlying type */ -#define ASN1_TFLG_EXPTAG (0x2 << 3) - -#define ASN1_TFLG_TAG_MASK (0x3 << 3) - -/* context specific IMPLICIT */ -#define ASN1_TFLG_IMPLICIT ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT - -/* context specific EXPLICIT */ -#define ASN1_TFLG_EXPLICIT ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT - -/* If tagging is in force these determine the - * type of tag to use. Otherwise the tag is - * determined by the underlying type. These - * values reflect the actual octet format. - */ - -/* Universal tag */ -#define ASN1_TFLG_UNIVERSAL (0x0<<6) -/* Application tag */ -#define ASN1_TFLG_APPLICATION (0x1<<6) -/* Context specific tag */ -#define ASN1_TFLG_CONTEXT (0x2<<6) -/* Private tag */ -#define ASN1_TFLG_PRIVATE (0x3<<6) - -#define ASN1_TFLG_TAG_CLASS (0x3<<6) - -/* These are for ANY DEFINED BY type. In this case - * the 'item' field points to an ASN1_ADB structure - * which contains a table of values to decode the - * relevant type - */ - -#define ASN1_TFLG_ADB_MASK (0x3<<8) - -#define ASN1_TFLG_ADB_OID (0x1<<8) - -#define ASN1_TFLG_ADB_INT (0x1<<9) - -/* This flag means a parent structure is passed - * instead of the field: this is useful is a - * SEQUENCE is being combined with a CHOICE for - * example. Since this means the structure and - * item name will differ we need to use the - * ASN1_CHOICE_END_name() macro for example. - */ - -#define ASN1_TFLG_COMBINE (0x1<<10) - -/* This flag when present in a SEQUENCE OF, SET OF - * or EXPLICIT causes indefinite length constructed - * encoding to be used if required. - */ - -#define ASN1_TFLG_NDEF (0x1<<11) - -/* This is the actual ASN1 item itself */ - -struct ASN1_ITEM_st { -char itype; /* The item type, primitive, SEQUENCE, CHOICE or extern */ -long utype; /* underlying type */ -const ASN1_TEMPLATE *templates; /* If SEQUENCE or CHOICE this contains the contents */ -long tcount; /* Number of templates if SEQUENCE or CHOICE */ -const void *funcs; /* functions that handle this type */ -long size; /* Structure size (usually)*/ -#ifndef NO_ASN1_FIELD_NAMES -const char *sname; /* Structure name */ -#endif -}; - -/* These are values for the itype field and - * determine how the type is interpreted. - * - * For PRIMITIVE types the underlying type - * determines the behaviour if items is NULL. - * - * Otherwise templates must contain a single - * template and the type is treated in the - * same way as the type specified in the template. - * - * For SEQUENCE types the templates field points - * to the members, the size field is the - * structure size. - * - * For CHOICE types the templates field points - * to each possible member (typically a union) - * and the 'size' field is the offset of the - * selector. - * - * The 'funcs' field is used for application - * specific functions. - * - * For COMPAT types the funcs field gives a - * set of functions that handle this type, this - * supports the old d2i, i2d convention. - * - * The EXTERN type uses a new style d2i/i2d. - * The new style should be used where possible - * because it avoids things like the d2i IMPLICIT - * hack. - * - * MSTRING is a multiple string type, it is used - * for a CHOICE of character strings where the - * actual strings all occupy an ASN1_STRING - * structure. In this case the 'utype' field - * has a special meaning, it is used as a mask - * of acceptable types using the B_ASN1 constants. - * - * NDEF_SEQUENCE is the same as SEQUENCE except - * that it will use indefinite length constructed - * encoding if requested. - * - */ - -#define ASN1_ITYPE_PRIMITIVE 0x0 - -#define ASN1_ITYPE_SEQUENCE 0x1 - -#define ASN1_ITYPE_CHOICE 0x2 - -#define ASN1_ITYPE_COMPAT 0x3 - -#define ASN1_ITYPE_EXTERN 0x4 - -#define ASN1_ITYPE_MSTRING 0x5 - -#define ASN1_ITYPE_NDEF_SEQUENCE 0x6 - -/* Cache for ASN1 tag and length, so we - * don't keep re-reading it for things - * like CHOICE - */ - -struct ASN1_TLC_st{ - char valid; /* Values below are valid */ - int ret; /* return value */ - long plen; /* length */ - int ptag; /* class value */ - int pclass; /* class value */ - int hdrlen; /* header length */ -}; - -/* Typedefs for ASN1 function pointers */ - -typedef ASN1_VALUE * ASN1_new_func(void); -typedef void ASN1_free_func(ASN1_VALUE *a); -typedef ASN1_VALUE * ASN1_d2i_func(ASN1_VALUE **a, const unsigned char ** in, long length); -typedef int ASN1_i2d_func(ASN1_VALUE * a, unsigned char **in); - -typedef int ASN1_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, - int tag, int aclass, char opt, ASN1_TLC *ctx); - -typedef int ASN1_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); -typedef int ASN1_ex_new_func(ASN1_VALUE **pval, const ASN1_ITEM *it); -typedef void ASN1_ex_free_func(ASN1_VALUE **pval, const ASN1_ITEM *it); - -typedef int ASN1_ex_print_func(BIO *out, ASN1_VALUE **pval, - int indent, const char *fname, - const ASN1_PCTX *pctx); - -typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, const ASN1_ITEM *it); -typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); -typedef int ASN1_primitive_print(BIO *out, ASN1_VALUE **pval, const ASN1_ITEM *it, int indent, const ASN1_PCTX *pctx); - -typedef struct ASN1_COMPAT_FUNCS_st { - ASN1_new_func *asn1_new; - ASN1_free_func *asn1_free; - ASN1_d2i_func *asn1_d2i; - ASN1_i2d_func *asn1_i2d; -} ASN1_COMPAT_FUNCS; - -typedef struct ASN1_EXTERN_FUNCS_st { - void *app_data; - ASN1_ex_new_func *asn1_ex_new; - ASN1_ex_free_func *asn1_ex_free; - ASN1_ex_free_func *asn1_ex_clear; - ASN1_ex_d2i *asn1_ex_d2i; - ASN1_ex_i2d *asn1_ex_i2d; - ASN1_ex_print_func *asn1_ex_print; -} ASN1_EXTERN_FUNCS; - -typedef struct ASN1_PRIMITIVE_FUNCS_st { - void *app_data; - unsigned long flags; - ASN1_ex_new_func *prim_new; - ASN1_ex_free_func *prim_free; - ASN1_ex_free_func *prim_clear; - ASN1_primitive_c2i *prim_c2i; - ASN1_primitive_i2c *prim_i2c; - ASN1_primitive_print *prim_print; -} ASN1_PRIMITIVE_FUNCS; - -/* This is the ASN1_AUX structure: it handles various - * miscellaneous requirements. For example the use of - * reference counts and an informational callback. - * - * The "informational callback" is called at various - * points during the ASN1 encoding and decoding. It can - * be used to provide minor customisation of the structures - * used. This is most useful where the supplied routines - * *almost* do the right thing but need some extra help - * at a few points. If the callback returns zero then - * it is assumed a fatal error has occurred and the - * main operation should be abandoned. - * - * If major changes in the default behaviour are required - * then an external type is more appropriate. - */ - -typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it, - void *exarg); - -typedef struct ASN1_AUX_st { - void *app_data; - int flags; - int ref_offset; /* Offset of reference value */ - int ref_lock; /* Lock type to use */ - ASN1_aux_cb *asn1_cb; - int enc_offset; /* Offset of ASN1_ENCODING structure */ -} ASN1_AUX; - -/* For print related callbacks exarg points to this structure */ -typedef struct ASN1_PRINT_ARG_st { - BIO *out; - int indent; - const ASN1_PCTX *pctx; -} ASN1_PRINT_ARG; - -/* For streaming related callbacks exarg points to this structure */ -typedef struct ASN1_STREAM_ARG_st { - /* BIO to stream through */ - BIO *out; - /* BIO with filters appended */ - BIO *ndef_bio; - /* Streaming I/O boundary */ - unsigned char **boundary; -} ASN1_STREAM_ARG; - -/* Flags in ASN1_AUX */ - -/* Use a reference count */ -#define ASN1_AFLG_REFCOUNT 1 -/* Save the encoding of structure (useful for signatures) */ -#define ASN1_AFLG_ENCODING 2 -/* The Sequence length is invalid */ -#define ASN1_AFLG_BROKEN 4 - -/* operation values for asn1_cb */ - -#define ASN1_OP_NEW_PRE 0 -#define ASN1_OP_NEW_POST 1 -#define ASN1_OP_FREE_PRE 2 -#define ASN1_OP_FREE_POST 3 -#define ASN1_OP_D2I_PRE 4 -#define ASN1_OP_D2I_POST 5 -#define ASN1_OP_I2D_PRE 6 -#define ASN1_OP_I2D_POST 7 -#define ASN1_OP_PRINT_PRE 8 -#define ASN1_OP_PRINT_POST 9 -#define ASN1_OP_STREAM_PRE 10 -#define ASN1_OP_STREAM_POST 11 -#define ASN1_OP_DETACHED_PRE 12 -#define ASN1_OP_DETACHED_POST 13 - -/* Macro to implement a primitive type */ -#define IMPLEMENT_ASN1_TYPE(stname) IMPLEMENT_ASN1_TYPE_ex(stname, stname, 0) -#define IMPLEMENT_ASN1_TYPE_ex(itname, vname, ex) \ - ASN1_ITEM_start(itname) \ - ASN1_ITYPE_PRIMITIVE, V_##vname, NULL, 0, NULL, ex, #itname \ - ASN1_ITEM_end(itname) - -/* Macro to implement a multi string type */ -#define IMPLEMENT_ASN1_MSTRING(itname, mask) \ - ASN1_ITEM_start(itname) \ - ASN1_ITYPE_MSTRING, mask, NULL, 0, NULL, sizeof(ASN1_STRING), #itname \ - ASN1_ITEM_end(itname) - -/* Macro to implement an ASN1_ITEM in terms of old style funcs */ - -#define IMPLEMENT_COMPAT_ASN1(sname) IMPLEMENT_COMPAT_ASN1_type(sname, V_ASN1_SEQUENCE) - -#define IMPLEMENT_COMPAT_ASN1_type(sname, tag) \ - static const ASN1_COMPAT_FUNCS sname##_ff = { \ - (ASN1_new_func *)sname##_new, \ - (ASN1_free_func *)sname##_free, \ - (ASN1_d2i_func *)d2i_##sname, \ - (ASN1_i2d_func *)i2d_##sname, \ - }; \ - ASN1_ITEM_start(sname) \ - ASN1_ITYPE_COMPAT, \ - tag, \ - NULL, \ - 0, \ - &sname##_ff, \ - 0, \ - #sname \ - ASN1_ITEM_end(sname) - -#define IMPLEMENT_EXTERN_ASN1(sname, tag, fptrs) \ - ASN1_ITEM_start(sname) \ - ASN1_ITYPE_EXTERN, \ - tag, \ - NULL, \ - 0, \ - &fptrs, \ - 0, \ - #sname \ - ASN1_ITEM_end(sname) - -/* Macro to implement standard functions in terms of ASN1_ITEM structures */ - -#define IMPLEMENT_ASN1_FUNCTIONS(stname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, stname, stname) - -#define IMPLEMENT_ASN1_FUNCTIONS_name(stname, itname) IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, itname) - -#define IMPLEMENT_ASN1_FUNCTIONS_ENCODE_name(stname, itname) \ - IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname) - -#define IMPLEMENT_STATIC_ASN1_ALLOC_FUNCTIONS(stname) \ - IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(static, stname, stname, stname) - -#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \ - IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname) - -#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_pfname(pre, stname, itname, fname) \ - pre stname *fname##_new(void) \ - { \ - return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ - } \ - pre void fname##_free(stname *a) \ - { \ - ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ - } - -#define IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) \ - stname *fname##_new(void) \ - { \ - return (stname *)ASN1_item_new(ASN1_ITEM_rptr(itname)); \ - } \ - void fname##_free(stname *a) \ - { \ - ASN1_item_free((ASN1_VALUE *)a, ASN1_ITEM_rptr(itname)); \ - } - -#define IMPLEMENT_ASN1_FUNCTIONS_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) - -#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_fname(stname, itname, fname) \ - stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ - { \ - return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ - } \ - int i2d_##fname(stname *a, unsigned char **out) \ - { \ - return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ - } - -#define IMPLEMENT_ASN1_NDEF_FUNCTION(stname) \ - int i2d_##stname##_NDEF(stname *a, unsigned char **out) \ - { \ - return ASN1_item_ndef_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(stname));\ - } - -/* This includes evil casts to remove const: they will go away when full - * ASN1 constification is done. - */ -#define IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ - stname *d2i_##fname(stname **a, const unsigned char **in, long len) \ - { \ - return (stname *)ASN1_item_d2i((ASN1_VALUE **)a, in, len, ASN1_ITEM_rptr(itname));\ - } \ - int i2d_##fname(const stname *a, unsigned char **out) \ - { \ - return ASN1_item_i2d((ASN1_VALUE *)a, out, ASN1_ITEM_rptr(itname));\ - } - -#define IMPLEMENT_ASN1_DUP_FUNCTION(stname) \ - stname * stname##_dup(stname *x) \ - { \ - return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \ - } - -#define IMPLEMENT_ASN1_PRINT_FUNCTION(stname) \ - IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, stname, stname) - -#define IMPLEMENT_ASN1_PRINT_FUNCTION_fname(stname, itname, fname) \ - int fname##_print_ctx(BIO *out, stname *x, int indent, \ - const ASN1_PCTX *pctx) \ - { \ - return ASN1_item_print(out, (ASN1_VALUE *)x, indent, \ - ASN1_ITEM_rptr(itname), pctx); \ - } - -#define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ - IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, name) - -#define IMPLEMENT_ASN1_FUNCTIONS_const_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ - IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname) - -/* external definitions for primitive types */ - -DECLARE_ASN1_ITEM(ASN1_BOOLEAN) -DECLARE_ASN1_ITEM(ASN1_TBOOLEAN) -DECLARE_ASN1_ITEM(ASN1_FBOOLEAN) -DECLARE_ASN1_ITEM(ASN1_SEQUENCE) -DECLARE_ASN1_ITEM(CBIGNUM) -DECLARE_ASN1_ITEM(BIGNUM) -DECLARE_ASN1_ITEM(LONG) -DECLARE_ASN1_ITEM(ZLONG) - -DECLARE_STACK_OF(ASN1_VALUE) - -/* Functions used internally by the ASN1 code */ - -int ASN1_item_ex_new(ASN1_VALUE **pval, const ASN1_ITEM *it); -void ASN1_item_ex_free(ASN1_VALUE **pval, const ASN1_ITEM *it); -int ASN1_template_new(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); -int ASN1_primitive_new(ASN1_VALUE **pval, const ASN1_ITEM *it); - -void ASN1_template_free(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); -int ASN1_template_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_TEMPLATE *tt); -int ASN1_item_ex_d2i(ASN1_VALUE **pval, const unsigned char **in, long len, const ASN1_ITEM *it, - int tag, int aclass, char opt, ASN1_TLC *ctx); - -int ASN1_item_ex_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_ITEM *it, int tag, int aclass); -int ASN1_template_i2d(ASN1_VALUE **pval, unsigned char **out, const ASN1_TEMPLATE *tt); -void ASN1_primitive_free(ASN1_VALUE **pval, const ASN1_ITEM *it); - -int asn1_ex_i2c(ASN1_VALUE **pval, unsigned char *cont, int *putype, const ASN1_ITEM *it); -int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it); - -int asn1_get_choice_selector(ASN1_VALUE **pval, const ASN1_ITEM *it); -int asn1_set_choice_selector(ASN1_VALUE **pval, int value, const ASN1_ITEM *it); - -ASN1_VALUE ** asn1_get_field_ptr(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt); - -const ASN1_TEMPLATE *asn1_do_adb(ASN1_VALUE **pval, const ASN1_TEMPLATE *tt, int nullerr); - -int asn1_do_lock(ASN1_VALUE **pval, int op, const ASN1_ITEM *it); - -void asn1_enc_init(ASN1_VALUE **pval, const ASN1_ITEM *it); -void asn1_enc_free(ASN1_VALUE **pval, const ASN1_ITEM *it); -int asn1_enc_restore(int *len, unsigned char **out, ASN1_VALUE **pval, const ASN1_ITEM *it); -int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen, const ASN1_ITEM *it); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/bio.h b/ext/bin/libcrypto/include/openssl/bio.h deleted file mode 100644 index 05699ab21..000000000 --- a/ext/bin/libcrypto/include/openssl/bio.h +++ /dev/null @@ -1,847 +0,0 @@ -/* crypto/bio/bio.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_BIO_H -#define HEADER_BIO_H - -#include - -#ifndef OPENSSL_NO_FP_API -# include -#endif -#include - -#include - -#ifndef OPENSSL_NO_SCTP -# ifndef OPENSSL_SYS_VMS -# include -# else -# include -# endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* These are the 'types' of BIOs */ -#define BIO_TYPE_NONE 0 -#define BIO_TYPE_MEM (1|0x0400) -#define BIO_TYPE_FILE (2|0x0400) - -#define BIO_TYPE_FD (4|0x0400|0x0100) -#define BIO_TYPE_SOCKET (5|0x0400|0x0100) -#define BIO_TYPE_NULL (6|0x0400) -#define BIO_TYPE_SSL (7|0x0200) -#define BIO_TYPE_MD (8|0x0200) /* passive filter */ -#define BIO_TYPE_BUFFER (9|0x0200) /* filter */ -#define BIO_TYPE_CIPHER (10|0x0200) /* filter */ -#define BIO_TYPE_BASE64 (11|0x0200) /* filter */ -#define BIO_TYPE_CONNECT (12|0x0400|0x0100) /* socket - connect */ -#define BIO_TYPE_ACCEPT (13|0x0400|0x0100) /* socket for accept */ -#define BIO_TYPE_PROXY_CLIENT (14|0x0200) /* client proxy BIO */ -#define BIO_TYPE_PROXY_SERVER (15|0x0200) /* server proxy BIO */ -#define BIO_TYPE_NBIO_TEST (16|0x0200) /* server proxy BIO */ -#define BIO_TYPE_NULL_FILTER (17|0x0200) -#define BIO_TYPE_BER (18|0x0200) /* BER -> bin filter */ -#define BIO_TYPE_BIO (19|0x0400) /* (half a) BIO pair */ -#define BIO_TYPE_LINEBUFFER (20|0x0200) /* filter */ -#define BIO_TYPE_DGRAM (21|0x0400|0x0100) -#ifndef OPENSSL_NO_SCTP -#define BIO_TYPE_DGRAM_SCTP (24|0x0400|0x0100) -#endif -#define BIO_TYPE_ASN1 (22|0x0200) /* filter */ -#define BIO_TYPE_COMP (23|0x0200) /* filter */ - -#define BIO_TYPE_DESCRIPTOR 0x0100 /* socket, fd, connect or accept */ -#define BIO_TYPE_FILTER 0x0200 -#define BIO_TYPE_SOURCE_SINK 0x0400 - -/* BIO_FILENAME_READ|BIO_CLOSE to open or close on free. - * BIO_set_fp(in,stdin,BIO_NOCLOSE); */ -#define BIO_NOCLOSE 0x00 -#define BIO_CLOSE 0x01 - -/* These are used in the following macros and are passed to - * BIO_ctrl() */ -#define BIO_CTRL_RESET 1 /* opt - rewind/zero etc */ -#define BIO_CTRL_EOF 2 /* opt - are we at the eof */ -#define BIO_CTRL_INFO 3 /* opt - extra tit-bits */ -#define BIO_CTRL_SET 4 /* man - set the 'IO' type */ -#define BIO_CTRL_GET 5 /* man - get the 'IO' type */ -#define BIO_CTRL_PUSH 6 /* opt - internal, used to signify change */ -#define BIO_CTRL_POP 7 /* opt - internal, used to signify change */ -#define BIO_CTRL_GET_CLOSE 8 /* man - set the 'close' on free */ -#define BIO_CTRL_SET_CLOSE 9 /* man - set the 'close' on free */ -#define BIO_CTRL_PENDING 10 /* opt - is their more data buffered */ -#define BIO_CTRL_FLUSH 11 /* opt - 'flush' buffered output */ -#define BIO_CTRL_DUP 12 /* man - extra stuff for 'duped' BIO */ -#define BIO_CTRL_WPENDING 13 /* opt - number of bytes still to write */ -/* callback is int cb(BIO *bio,state,ret); */ -#define BIO_CTRL_SET_CALLBACK 14 /* opt - set callback function */ -#define BIO_CTRL_GET_CALLBACK 15 /* opt - set callback function */ - -#define BIO_CTRL_SET_FILENAME 30 /* BIO_s_file special */ - -/* dgram BIO stuff */ -#define BIO_CTRL_DGRAM_CONNECT 31 /* BIO dgram special */ -#define BIO_CTRL_DGRAM_SET_CONNECTED 32 /* allow for an externally - * connected socket to be - * passed in */ -#define BIO_CTRL_DGRAM_SET_RECV_TIMEOUT 33 /* setsockopt, essentially */ -#define BIO_CTRL_DGRAM_GET_RECV_TIMEOUT 34 /* getsockopt, essentially */ -#define BIO_CTRL_DGRAM_SET_SEND_TIMEOUT 35 /* setsockopt, essentially */ -#define BIO_CTRL_DGRAM_GET_SEND_TIMEOUT 36 /* getsockopt, essentially */ - -#define BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP 37 /* flag whether the last */ -#define BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP 38 /* I/O operation tiemd out */ - -/* #ifdef IP_MTU_DISCOVER */ -#define BIO_CTRL_DGRAM_MTU_DISCOVER 39 /* set DF bit on egress packets */ -/* #endif */ - -#define BIO_CTRL_DGRAM_QUERY_MTU 40 /* as kernel for current MTU */ -#define BIO_CTRL_DGRAM_GET_FALLBACK_MTU 47 -#define BIO_CTRL_DGRAM_GET_MTU 41 /* get cached value for MTU */ -#define BIO_CTRL_DGRAM_SET_MTU 42 /* set cached value for - * MTU. want to use this - * if asking the kernel - * fails */ - -#define BIO_CTRL_DGRAM_MTU_EXCEEDED 43 /* check whether the MTU - * was exceed in the - * previous write - * operation */ - -#define BIO_CTRL_DGRAM_GET_PEER 46 -#define BIO_CTRL_DGRAM_SET_PEER 44 /* Destination for the data */ - -#define BIO_CTRL_DGRAM_SET_NEXT_TIMEOUT 45 /* Next DTLS handshake timeout to - * adjust socket timeouts */ - -#ifndef OPENSSL_NO_SCTP -/* SCTP stuff */ -#define BIO_CTRL_DGRAM_SCTP_SET_IN_HANDSHAKE 50 -#define BIO_CTRL_DGRAM_SCTP_ADD_AUTH_KEY 51 -#define BIO_CTRL_DGRAM_SCTP_NEXT_AUTH_KEY 52 -#define BIO_CTRL_DGRAM_SCTP_AUTH_CCS_RCVD 53 -#define BIO_CTRL_DGRAM_SCTP_GET_SNDINFO 60 -#define BIO_CTRL_DGRAM_SCTP_SET_SNDINFO 61 -#define BIO_CTRL_DGRAM_SCTP_GET_RCVINFO 62 -#define BIO_CTRL_DGRAM_SCTP_SET_RCVINFO 63 -#define BIO_CTRL_DGRAM_SCTP_GET_PRINFO 64 -#define BIO_CTRL_DGRAM_SCTP_SET_PRINFO 65 -#define BIO_CTRL_DGRAM_SCTP_SAVE_SHUTDOWN 70 -#endif - -/* modifiers */ -#define BIO_FP_READ 0x02 -#define BIO_FP_WRITE 0x04 -#define BIO_FP_APPEND 0x08 -#define BIO_FP_TEXT 0x10 - -#define BIO_FLAGS_READ 0x01 -#define BIO_FLAGS_WRITE 0x02 -#define BIO_FLAGS_IO_SPECIAL 0x04 -#define BIO_FLAGS_RWS (BIO_FLAGS_READ|BIO_FLAGS_WRITE|BIO_FLAGS_IO_SPECIAL) -#define BIO_FLAGS_SHOULD_RETRY 0x08 -#ifndef BIO_FLAGS_UPLINK -/* "UPLINK" flag denotes file descriptors provided by application. - It defaults to 0, as most platforms don't require UPLINK interface. */ -#define BIO_FLAGS_UPLINK 0 -#endif - -/* Used in BIO_gethostbyname() */ -#define BIO_GHBN_CTRL_HITS 1 -#define BIO_GHBN_CTRL_MISSES 2 -#define BIO_GHBN_CTRL_CACHE_SIZE 3 -#define BIO_GHBN_CTRL_GET_ENTRY 4 -#define BIO_GHBN_CTRL_FLUSH 5 - -/* Mostly used in the SSL BIO */ -/* Not used anymore - * #define BIO_FLAGS_PROTOCOL_DELAYED_READ 0x10 - * #define BIO_FLAGS_PROTOCOL_DELAYED_WRITE 0x20 - * #define BIO_FLAGS_PROTOCOL_STARTUP 0x40 - */ - -#define BIO_FLAGS_BASE64_NO_NL 0x100 - -/* This is used with memory BIOs: it means we shouldn't free up or change the - * data in any way. - */ -#define BIO_FLAGS_MEM_RDONLY 0x200 - -typedef struct bio_st BIO; - -void BIO_set_flags(BIO *b, int flags); -int BIO_test_flags(const BIO *b, int flags); -void BIO_clear_flags(BIO *b, int flags); - -#define BIO_get_flags(b) BIO_test_flags(b, ~(0x0)) -#define BIO_set_retry_special(b) \ - BIO_set_flags(b, (BIO_FLAGS_IO_SPECIAL|BIO_FLAGS_SHOULD_RETRY)) -#define BIO_set_retry_read(b) \ - BIO_set_flags(b, (BIO_FLAGS_READ|BIO_FLAGS_SHOULD_RETRY)) -#define BIO_set_retry_write(b) \ - BIO_set_flags(b, (BIO_FLAGS_WRITE|BIO_FLAGS_SHOULD_RETRY)) - -/* These are normally used internally in BIOs */ -#define BIO_clear_retry_flags(b) \ - BIO_clear_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) -#define BIO_get_retry_flags(b) \ - BIO_test_flags(b, (BIO_FLAGS_RWS|BIO_FLAGS_SHOULD_RETRY)) - -/* These should be used by the application to tell why we should retry */ -#define BIO_should_read(a) BIO_test_flags(a, BIO_FLAGS_READ) -#define BIO_should_write(a) BIO_test_flags(a, BIO_FLAGS_WRITE) -#define BIO_should_io_special(a) BIO_test_flags(a, BIO_FLAGS_IO_SPECIAL) -#define BIO_retry_type(a) BIO_test_flags(a, BIO_FLAGS_RWS) -#define BIO_should_retry(a) BIO_test_flags(a, BIO_FLAGS_SHOULD_RETRY) - -/* The next three are used in conjunction with the - * BIO_should_io_special() condition. After this returns true, - * BIO *BIO_get_retry_BIO(BIO *bio, int *reason); will walk the BIO - * stack and return the 'reason' for the special and the offending BIO. - * Given a BIO, BIO_get_retry_reason(bio) will return the code. */ -/* Returned from the SSL bio when the certificate retrieval code had an error */ -#define BIO_RR_SSL_X509_LOOKUP 0x01 -/* Returned from the connect BIO when a connect would have blocked */ -#define BIO_RR_CONNECT 0x02 -/* Returned from the accept BIO when an accept would have blocked */ -#define BIO_RR_ACCEPT 0x03 - -/* These are passed by the BIO callback */ -#define BIO_CB_FREE 0x01 -#define BIO_CB_READ 0x02 -#define BIO_CB_WRITE 0x03 -#define BIO_CB_PUTS 0x04 -#define BIO_CB_GETS 0x05 -#define BIO_CB_CTRL 0x06 - -/* The callback is called before and after the underling operation, - * The BIO_CB_RETURN flag indicates if it is after the call */ -#define BIO_CB_RETURN 0x80 -#define BIO_CB_return(a) ((a)|BIO_CB_RETURN)) -#define BIO_cb_pre(a) (!((a)&BIO_CB_RETURN)) -#define BIO_cb_post(a) ((a)&BIO_CB_RETURN) - -long (*BIO_get_callback(const BIO *b)) (struct bio_st *,int,const char *,int, long,long); -void BIO_set_callback(BIO *b, - long (*callback)(struct bio_st *,int,const char *,int, long,long)); -char *BIO_get_callback_arg(const BIO *b); -void BIO_set_callback_arg(BIO *b, char *arg); - -const char * BIO_method_name(const BIO *b); -int BIO_method_type(const BIO *b); - -typedef void bio_info_cb(struct bio_st *, int, const char *, int, long, long); - -typedef struct bio_method_st - { - int type; - const char *name; - int (*bwrite)(BIO *, const char *, int); - int (*bread)(BIO *, char *, int); - int (*bputs)(BIO *, const char *); - int (*bgets)(BIO *, char *, int); - long (*ctrl)(BIO *, int, long, void *); - int (*create)(BIO *); - int (*destroy)(BIO *); - long (*callback_ctrl)(BIO *, int, bio_info_cb *); - } BIO_METHOD; - -struct bio_st - { - BIO_METHOD *method; - /* bio, mode, argp, argi, argl, ret */ - long (*callback)(struct bio_st *,int,const char *,int, long,long); - char *cb_arg; /* first argument for the callback */ - - int init; - int shutdown; - int flags; /* extra storage */ - int retry_reason; - int num; - void *ptr; - struct bio_st *next_bio; /* used by filter BIOs */ - struct bio_st *prev_bio; /* used by filter BIOs */ - int references; - unsigned long num_read; - unsigned long num_write; - - CRYPTO_EX_DATA ex_data; - }; - -DECLARE_STACK_OF(BIO) - -typedef struct bio_f_buffer_ctx_struct - { - /* Buffers are setup like this: - * - * <---------------------- size -----------------------> - * +---------------------------------------------------+ - * | consumed | remaining | free space | - * +---------------------------------------------------+ - * <-- off --><------- len -------> - */ - - /* BIO *bio; */ /* this is now in the BIO struct */ - int ibuf_size; /* how big is the input buffer */ - int obuf_size; /* how big is the output buffer */ - - char *ibuf; /* the char array */ - int ibuf_len; /* how many bytes are in it */ - int ibuf_off; /* write/read offset */ - - char *obuf; /* the char array */ - int obuf_len; /* how many bytes are in it */ - int obuf_off; /* write/read offset */ - } BIO_F_BUFFER_CTX; - -/* Prefix and suffix callback in ASN1 BIO */ -typedef int asn1_ps_func(BIO *b, unsigned char **pbuf, int *plen, void *parg); - -#ifndef OPENSSL_NO_SCTP -/* SCTP parameter structs */ -struct bio_dgram_sctp_sndinfo - { - uint16_t snd_sid; - uint16_t snd_flags; - uint32_t snd_ppid; - uint32_t snd_context; - }; - -struct bio_dgram_sctp_rcvinfo - { - uint16_t rcv_sid; - uint16_t rcv_ssn; - uint16_t rcv_flags; - uint32_t rcv_ppid; - uint32_t rcv_tsn; - uint32_t rcv_cumtsn; - uint32_t rcv_context; - }; - -struct bio_dgram_sctp_prinfo - { - uint16_t pr_policy; - uint32_t pr_value; - }; -#endif - -/* connect BIO stuff */ -#define BIO_CONN_S_BEFORE 1 -#define BIO_CONN_S_GET_IP 2 -#define BIO_CONN_S_GET_PORT 3 -#define BIO_CONN_S_CREATE_SOCKET 4 -#define BIO_CONN_S_CONNECT 5 -#define BIO_CONN_S_OK 6 -#define BIO_CONN_S_BLOCKED_CONNECT 7 -#define BIO_CONN_S_NBIO 8 -/*#define BIO_CONN_get_param_hostname BIO_ctrl */ - -#define BIO_C_SET_CONNECT 100 -#define BIO_C_DO_STATE_MACHINE 101 -#define BIO_C_SET_NBIO 102 -#define BIO_C_SET_PROXY_PARAM 103 -#define BIO_C_SET_FD 104 -#define BIO_C_GET_FD 105 -#define BIO_C_SET_FILE_PTR 106 -#define BIO_C_GET_FILE_PTR 107 -#define BIO_C_SET_FILENAME 108 -#define BIO_C_SET_SSL 109 -#define BIO_C_GET_SSL 110 -#define BIO_C_SET_MD 111 -#define BIO_C_GET_MD 112 -#define BIO_C_GET_CIPHER_STATUS 113 -#define BIO_C_SET_BUF_MEM 114 -#define BIO_C_GET_BUF_MEM_PTR 115 -#define BIO_C_GET_BUFF_NUM_LINES 116 -#define BIO_C_SET_BUFF_SIZE 117 -#define BIO_C_SET_ACCEPT 118 -#define BIO_C_SSL_MODE 119 -#define BIO_C_GET_MD_CTX 120 -#define BIO_C_GET_PROXY_PARAM 121 -#define BIO_C_SET_BUFF_READ_DATA 122 /* data to read first */ -#define BIO_C_GET_CONNECT 123 -#define BIO_C_GET_ACCEPT 124 -#define BIO_C_SET_SSL_RENEGOTIATE_BYTES 125 -#define BIO_C_GET_SSL_NUM_RENEGOTIATES 126 -#define BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT 127 -#define BIO_C_FILE_SEEK 128 -#define BIO_C_GET_CIPHER_CTX 129 -#define BIO_C_SET_BUF_MEM_EOF_RETURN 130/*return end of input value*/ -#define BIO_C_SET_BIND_MODE 131 -#define BIO_C_GET_BIND_MODE 132 -#define BIO_C_FILE_TELL 133 -#define BIO_C_GET_SOCKS 134 -#define BIO_C_SET_SOCKS 135 - -#define BIO_C_SET_WRITE_BUF_SIZE 136/* for BIO_s_bio */ -#define BIO_C_GET_WRITE_BUF_SIZE 137 -#define BIO_C_MAKE_BIO_PAIR 138 -#define BIO_C_DESTROY_BIO_PAIR 139 -#define BIO_C_GET_WRITE_GUARANTEE 140 -#define BIO_C_GET_READ_REQUEST 141 -#define BIO_C_SHUTDOWN_WR 142 -#define BIO_C_NREAD0 143 -#define BIO_C_NREAD 144 -#define BIO_C_NWRITE0 145 -#define BIO_C_NWRITE 146 -#define BIO_C_RESET_READ_REQUEST 147 -#define BIO_C_SET_MD_CTX 148 - -#define BIO_C_SET_PREFIX 149 -#define BIO_C_GET_PREFIX 150 -#define BIO_C_SET_SUFFIX 151 -#define BIO_C_GET_SUFFIX 152 - -#define BIO_C_SET_EX_ARG 153 -#define BIO_C_GET_EX_ARG 154 - -#define BIO_set_app_data(s,arg) BIO_set_ex_data(s,0,arg) -#define BIO_get_app_data(s) BIO_get_ex_data(s,0) - -/* BIO_s_connect() and BIO_s_socks4a_connect() */ -#define BIO_set_conn_hostname(b,name) BIO_ctrl(b,BIO_C_SET_CONNECT,0,(char *)name) -#define BIO_set_conn_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,1,(char *)port) -#define BIO_set_conn_ip(b,ip) BIO_ctrl(b,BIO_C_SET_CONNECT,2,(char *)ip) -#define BIO_set_conn_int_port(b,port) BIO_ctrl(b,BIO_C_SET_CONNECT,3,(char *)port) -#define BIO_get_conn_hostname(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,0) -#define BIO_get_conn_port(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,1) -#define BIO_get_conn_ip(b) BIO_ptr_ctrl(b,BIO_C_GET_CONNECT,2) -#define BIO_get_conn_int_port(b) BIO_int_ctrl(b,BIO_C_GET_CONNECT,3,0) - - -#define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) - -/* BIO_s_accept_socket() */ -#define BIO_set_accept_port(b,name) BIO_ctrl(b,BIO_C_SET_ACCEPT,0,(char *)name) -#define BIO_get_accept_port(b) BIO_ptr_ctrl(b,BIO_C_GET_ACCEPT,0) -/* #define BIO_set_nbio(b,n) BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) */ -#define BIO_set_nbio_accept(b,n) BIO_ctrl(b,BIO_C_SET_ACCEPT,1,(n)?(void *)"a":NULL) -#define BIO_set_accept_bios(b,bio) BIO_ctrl(b,BIO_C_SET_ACCEPT,2,(char *)bio) - -#define BIO_BIND_NORMAL 0 -#define BIO_BIND_REUSEADDR_IF_UNUSED 1 -#define BIO_BIND_REUSEADDR 2 -#define BIO_set_bind_mode(b,mode) BIO_ctrl(b,BIO_C_SET_BIND_MODE,mode,NULL) -#define BIO_get_bind_mode(b,mode) BIO_ctrl(b,BIO_C_GET_BIND_MODE,0,NULL) - -#define BIO_do_connect(b) BIO_do_handshake(b) -#define BIO_do_accept(b) BIO_do_handshake(b) -#define BIO_do_handshake(b) BIO_ctrl(b,BIO_C_DO_STATE_MACHINE,0,NULL) - -/* BIO_s_proxy_client() */ -#define BIO_set_url(b,url) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,0,(char *)(url)) -#define BIO_set_proxies(b,p) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,1,(char *)(p)) -/* BIO_set_nbio(b,n) */ -#define BIO_set_filter_bio(b,s) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,2,(char *)(s)) -/* BIO *BIO_get_filter_bio(BIO *bio); */ -#define BIO_set_proxy_cb(b,cb) BIO_callback_ctrl(b,BIO_C_SET_PROXY_PARAM,3,(void *(*cb)())) -#define BIO_set_proxy_header(b,sk) BIO_ctrl(b,BIO_C_SET_PROXY_PARAM,4,(char *)sk) -#define BIO_set_no_connect_return(b,bool) BIO_int_ctrl(b,BIO_C_SET_PROXY_PARAM,5,bool) - -#define BIO_get_proxy_header(b,skp) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,0,(char *)skp) -#define BIO_get_proxies(b,pxy_p) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,1,(char *)(pxy_p)) -#define BIO_get_url(b,url) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,2,(char *)(url)) -#define BIO_get_no_connect_return(b) BIO_ctrl(b,BIO_C_GET_PROXY_PARAM,5,NULL) - -#define BIO_set_fd(b,fd,c) BIO_int_ctrl(b,BIO_C_SET_FD,c,fd) -#define BIO_get_fd(b,c) BIO_ctrl(b,BIO_C_GET_FD,0,(char *)c) - -#define BIO_set_fp(b,fp,c) BIO_ctrl(b,BIO_C_SET_FILE_PTR,c,(char *)fp) -#define BIO_get_fp(b,fpp) BIO_ctrl(b,BIO_C_GET_FILE_PTR,0,(char *)fpp) - -#define BIO_seek(b,ofs) (int)BIO_ctrl(b,BIO_C_FILE_SEEK,ofs,NULL) -#define BIO_tell(b) (int)BIO_ctrl(b,BIO_C_FILE_TELL,0,NULL) - -/* name is cast to lose const, but might be better to route through a function - so we can do it safely */ -#ifdef CONST_STRICT -/* If you are wondering why this isn't defined, its because CONST_STRICT is - * purely a compile-time kludge to allow const to be checked. - */ -int BIO_read_filename(BIO *b,const char *name); -#else -#define BIO_read_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_READ,(char *)name) -#endif -#define BIO_write_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_WRITE,name) -#define BIO_append_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_APPEND,name) -#define BIO_rw_filename(b,name) BIO_ctrl(b,BIO_C_SET_FILENAME, \ - BIO_CLOSE|BIO_FP_READ|BIO_FP_WRITE,name) - -/* WARNING WARNING, this ups the reference count on the read bio of the - * SSL structure. This is because the ssl read BIO is now pointed to by - * the next_bio field in the bio. So when you free the BIO, make sure - * you are doing a BIO_free_all() to catch the underlying BIO. */ -#define BIO_set_ssl(b,ssl,c) BIO_ctrl(b,BIO_C_SET_SSL,c,(char *)ssl) -#define BIO_get_ssl(b,sslp) BIO_ctrl(b,BIO_C_GET_SSL,0,(char *)sslp) -#define BIO_set_ssl_mode(b,client) BIO_ctrl(b,BIO_C_SSL_MODE,client,NULL) -#define BIO_set_ssl_renegotiate_bytes(b,num) \ - BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_BYTES,num,NULL); -#define BIO_get_num_renegotiates(b) \ - BIO_ctrl(b,BIO_C_GET_SSL_NUM_RENEGOTIATES,0,NULL); -#define BIO_set_ssl_renegotiate_timeout(b,seconds) \ - BIO_ctrl(b,BIO_C_SET_SSL_RENEGOTIATE_TIMEOUT,seconds,NULL); - -/* defined in evp.h */ -/* #define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,1,(char *)md) */ - -#define BIO_get_mem_data(b,pp) BIO_ctrl(b,BIO_CTRL_INFO,0,(char *)pp) -#define BIO_set_mem_buf(b,bm,c) BIO_ctrl(b,BIO_C_SET_BUF_MEM,c,(char *)bm) -#define BIO_get_mem_ptr(b,pp) BIO_ctrl(b,BIO_C_GET_BUF_MEM_PTR,0,(char *)pp) -#define BIO_set_mem_eof_return(b,v) \ - BIO_ctrl(b,BIO_C_SET_BUF_MEM_EOF_RETURN,v,NULL) - -/* For the BIO_f_buffer() type */ -#define BIO_get_buffer_num_lines(b) BIO_ctrl(b,BIO_C_GET_BUFF_NUM_LINES,0,NULL) -#define BIO_set_buffer_size(b,size) BIO_ctrl(b,BIO_C_SET_BUFF_SIZE,size,NULL) -#define BIO_set_read_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,0) -#define BIO_set_write_buffer_size(b,size) BIO_int_ctrl(b,BIO_C_SET_BUFF_SIZE,size,1) -#define BIO_set_buffer_read_data(b,buf,num) BIO_ctrl(b,BIO_C_SET_BUFF_READ_DATA,num,buf) - -/* Don't use the next one unless you know what you are doing :-) */ -#define BIO_dup_state(b,ret) BIO_ctrl(b,BIO_CTRL_DUP,0,(char *)(ret)) - -#define BIO_reset(b) (int)BIO_ctrl(b,BIO_CTRL_RESET,0,NULL) -#define BIO_eof(b) (int)BIO_ctrl(b,BIO_CTRL_EOF,0,NULL) -#define BIO_set_close(b,c) (int)BIO_ctrl(b,BIO_CTRL_SET_CLOSE,(c),NULL) -#define BIO_get_close(b) (int)BIO_ctrl(b,BIO_CTRL_GET_CLOSE,0,NULL) -#define BIO_pending(b) (int)BIO_ctrl(b,BIO_CTRL_PENDING,0,NULL) -#define BIO_wpending(b) (int)BIO_ctrl(b,BIO_CTRL_WPENDING,0,NULL) -/* ...pending macros have inappropriate return type */ -size_t BIO_ctrl_pending(BIO *b); -size_t BIO_ctrl_wpending(BIO *b); -#define BIO_flush(b) (int)BIO_ctrl(b,BIO_CTRL_FLUSH,0,NULL) -#define BIO_get_info_callback(b,cbp) (int)BIO_ctrl(b,BIO_CTRL_GET_CALLBACK,0, \ - cbp) -#define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb) - -/* For the BIO_f_buffer() type */ -#define BIO_buffer_get_num_lines(b) BIO_ctrl(b,BIO_CTRL_GET,0,NULL) - -/* For BIO_s_bio() */ -#define BIO_set_write_buf_size(b,size) (int)BIO_ctrl(b,BIO_C_SET_WRITE_BUF_SIZE,size,NULL) -#define BIO_get_write_buf_size(b,size) (size_t)BIO_ctrl(b,BIO_C_GET_WRITE_BUF_SIZE,size,NULL) -#define BIO_make_bio_pair(b1,b2) (int)BIO_ctrl(b1,BIO_C_MAKE_BIO_PAIR,0,b2) -#define BIO_destroy_bio_pair(b) (int)BIO_ctrl(b,BIO_C_DESTROY_BIO_PAIR,0,NULL) -#define BIO_shutdown_wr(b) (int)BIO_ctrl(b, BIO_C_SHUTDOWN_WR, 0, NULL) -/* macros with inappropriate type -- but ...pending macros use int too: */ -#define BIO_get_write_guarantee(b) (int)BIO_ctrl(b,BIO_C_GET_WRITE_GUARANTEE,0,NULL) -#define BIO_get_read_request(b) (int)BIO_ctrl(b,BIO_C_GET_READ_REQUEST,0,NULL) -size_t BIO_ctrl_get_write_guarantee(BIO *b); -size_t BIO_ctrl_get_read_request(BIO *b); -int BIO_ctrl_reset_read_request(BIO *b); - -/* ctrl macros for dgram */ -#define BIO_ctrl_dgram_connect(b,peer) \ - (int)BIO_ctrl(b,BIO_CTRL_DGRAM_CONNECT,0, (char *)peer) -#define BIO_ctrl_set_connected(b, state, peer) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_CONNECTED, state, (char *)peer) -#define BIO_dgram_recv_timedout(b) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_RECV_TIMER_EXP, 0, NULL) -#define BIO_dgram_send_timedout(b) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_SEND_TIMER_EXP, 0, NULL) -#define BIO_dgram_get_peer(b,peer) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_GET_PEER, 0, (char *)peer) -#define BIO_dgram_set_peer(b,peer) \ - (int)BIO_ctrl(b, BIO_CTRL_DGRAM_SET_PEER, 0, (char *)peer) - -/* These two aren't currently implemented */ -/* int BIO_get_ex_num(BIO *bio); */ -/* void BIO_set_ex_free_func(BIO *bio,int idx,void (*cb)()); */ -int BIO_set_ex_data(BIO *bio,int idx,void *data); -void *BIO_get_ex_data(BIO *bio,int idx); -int BIO_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -unsigned long BIO_number_read(BIO *bio); -unsigned long BIO_number_written(BIO *bio); - -/* For BIO_f_asn1() */ -int BIO_asn1_set_prefix(BIO *b, asn1_ps_func *prefix, - asn1_ps_func *prefix_free); -int BIO_asn1_get_prefix(BIO *b, asn1_ps_func **pprefix, - asn1_ps_func **pprefix_free); -int BIO_asn1_set_suffix(BIO *b, asn1_ps_func *suffix, - asn1_ps_func *suffix_free); -int BIO_asn1_get_suffix(BIO *b, asn1_ps_func **psuffix, - asn1_ps_func **psuffix_free); - -# ifndef OPENSSL_NO_FP_API -BIO_METHOD *BIO_s_file(void ); -BIO *BIO_new_file(const char *filename, const char *mode); -BIO *BIO_new_fp(FILE *stream, int close_flag); -# define BIO_s_file_internal BIO_s_file -# endif -BIO * BIO_new(BIO_METHOD *type); -int BIO_set(BIO *a,BIO_METHOD *type); -int BIO_free(BIO *a); -void BIO_vfree(BIO *a); -int BIO_read(BIO *b, void *data, int len); -int BIO_gets(BIO *bp,char *buf, int size); -int BIO_write(BIO *b, const void *data, int len); -int BIO_puts(BIO *bp,const char *buf); -int BIO_indent(BIO *b,int indent,int max); -long BIO_ctrl(BIO *bp,int cmd,long larg,void *parg); -long BIO_callback_ctrl(BIO *b, int cmd, void (*fp)(struct bio_st *, int, const char *, int, long, long)); -char * BIO_ptr_ctrl(BIO *bp,int cmd,long larg); -long BIO_int_ctrl(BIO *bp,int cmd,long larg,int iarg); -BIO * BIO_push(BIO *b,BIO *append); -BIO * BIO_pop(BIO *b); -void BIO_free_all(BIO *a); -BIO * BIO_find_type(BIO *b,int bio_type); -BIO * BIO_next(BIO *b); -BIO * BIO_get_retry_BIO(BIO *bio, int *reason); -int BIO_get_retry_reason(BIO *bio); -BIO * BIO_dup_chain(BIO *in); - -int BIO_nread0(BIO *bio, char **buf); -int BIO_nread(BIO *bio, char **buf, int num); -int BIO_nwrite0(BIO *bio, char **buf); -int BIO_nwrite(BIO *bio, char **buf, int num); - -long BIO_debug_callback(BIO *bio,int cmd,const char *argp,int argi, - long argl,long ret); - -BIO_METHOD *BIO_s_mem(void); -BIO *BIO_new_mem_buf(void *buf, int len); -BIO_METHOD *BIO_s_socket(void); -BIO_METHOD *BIO_s_connect(void); -BIO_METHOD *BIO_s_accept(void); -BIO_METHOD *BIO_s_fd(void); -#ifndef OPENSSL_SYS_OS2 -BIO_METHOD *BIO_s_log(void); -#endif -BIO_METHOD *BIO_s_bio(void); -BIO_METHOD *BIO_s_null(void); -BIO_METHOD *BIO_f_null(void); -BIO_METHOD *BIO_f_buffer(void); -#ifdef OPENSSL_SYS_VMS -BIO_METHOD *BIO_f_linebuffer(void); -#endif -BIO_METHOD *BIO_f_nbio_test(void); -#ifndef OPENSSL_NO_DGRAM -BIO_METHOD *BIO_s_datagram(void); -#ifndef OPENSSL_NO_SCTP -BIO_METHOD *BIO_s_datagram_sctp(void); -#endif -#endif - -/* BIO_METHOD *BIO_f_ber(void); */ - -int BIO_sock_should_retry(int i); -int BIO_sock_non_fatal_error(int error); -int BIO_dgram_non_fatal_error(int error); - -int BIO_fd_should_retry(int i); -int BIO_fd_non_fatal_error(int error); -int BIO_dump_cb(int (*cb)(const void *data, size_t len, void *u), - void *u, const char *s, int len); -int BIO_dump_indent_cb(int (*cb)(const void *data, size_t len, void *u), - void *u, const char *s, int len, int indent); -int BIO_dump(BIO *b,const char *bytes,int len); -int BIO_dump_indent(BIO *b,const char *bytes,int len,int indent); -#ifndef OPENSSL_NO_FP_API -int BIO_dump_fp(FILE *fp, const char *s, int len); -int BIO_dump_indent_fp(FILE *fp, const char *s, int len, int indent); -#endif -struct hostent *BIO_gethostbyname(const char *name); -/* We might want a thread-safe interface too: - * struct hostent *BIO_gethostbyname_r(const char *name, - * struct hostent *result, void *buffer, size_t buflen); - * or something similar (caller allocates a struct hostent, - * pointed to by "result", and additional buffer space for the various - * substructures; if the buffer does not suffice, NULL is returned - * and an appropriate error code is set). - */ -int BIO_sock_error(int sock); -int BIO_socket_ioctl(int fd, long type, void *arg); -int BIO_socket_nbio(int fd,int mode); -int BIO_get_port(const char *str, unsigned short *port_ptr); -int BIO_get_host_ip(const char *str, unsigned char *ip); -int BIO_get_accept_socket(char *host_port,int mode); -int BIO_accept(int sock,char **ip_port); -int BIO_sock_init(void ); -void BIO_sock_cleanup(void); -int BIO_set_tcp_ndelay(int sock,int turn_on); - -BIO *BIO_new_socket(int sock, int close_flag); -BIO *BIO_new_dgram(int fd, int close_flag); -#ifndef OPENSSL_NO_SCTP -BIO *BIO_new_dgram_sctp(int fd, int close_flag); -int BIO_dgram_is_sctp(BIO *bio); -int BIO_dgram_sctp_notification_cb(BIO *b, - void (*handle_notifications)(BIO *bio, void *context, void *buf), - void *context); -int BIO_dgram_sctp_wait_for_dry(BIO *b); -int BIO_dgram_sctp_msg_waiting(BIO *b); -#endif -BIO *BIO_new_fd(int fd, int close_flag); -BIO *BIO_new_connect(char *host_port); -BIO *BIO_new_accept(char *host_port); - -int BIO_new_bio_pair(BIO **bio1, size_t writebuf1, - BIO **bio2, size_t writebuf2); -/* If successful, returns 1 and in *bio1, *bio2 two BIO pair endpoints. - * Otherwise returns 0 and sets *bio1 and *bio2 to NULL. - * Size 0 uses default value. - */ - -void BIO_copy_next_retry(BIO *b); - -/*long BIO_ghbn_ctrl(int cmd,int iarg,char *parg);*/ - -#ifdef __GNUC__ -# define __bio_h__attr__ __attribute__ -#else -# define __bio_h__attr__(x) -#endif -int BIO_printf(BIO *bio, const char *format, ...) - __bio_h__attr__((__format__(__printf__,2,3))); -int BIO_vprintf(BIO *bio, const char *format, va_list args) - __bio_h__attr__((__format__(__printf__,2,0))); -int BIO_snprintf(char *buf, size_t n, const char *format, ...) - __bio_h__attr__((__format__(__printf__,3,4))); -int BIO_vsnprintf(char *buf, size_t n, const char *format, va_list args) - __bio_h__attr__((__format__(__printf__,3,0))); -#undef __bio_h__attr__ - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_BIO_strings(void); - -/* Error codes for the BIO functions. */ - -/* Function codes. */ -#define BIO_F_ACPT_STATE 100 -#define BIO_F_BIO_ACCEPT 101 -#define BIO_F_BIO_BER_GET_HEADER 102 -#define BIO_F_BIO_CALLBACK_CTRL 131 -#define BIO_F_BIO_CTRL 103 -#define BIO_F_BIO_GETHOSTBYNAME 120 -#define BIO_F_BIO_GETS 104 -#define BIO_F_BIO_GET_ACCEPT_SOCKET 105 -#define BIO_F_BIO_GET_HOST_IP 106 -#define BIO_F_BIO_GET_PORT 107 -#define BIO_F_BIO_MAKE_PAIR 121 -#define BIO_F_BIO_NEW 108 -#define BIO_F_BIO_NEW_FILE 109 -#define BIO_F_BIO_NEW_MEM_BUF 126 -#define BIO_F_BIO_NREAD 123 -#define BIO_F_BIO_NREAD0 124 -#define BIO_F_BIO_NWRITE 125 -#define BIO_F_BIO_NWRITE0 122 -#define BIO_F_BIO_PUTS 110 -#define BIO_F_BIO_READ 111 -#define BIO_F_BIO_SOCK_INIT 112 -#define BIO_F_BIO_WRITE 113 -#define BIO_F_BUFFER_CTRL 114 -#define BIO_F_CONN_CTRL 127 -#define BIO_F_CONN_STATE 115 -#define BIO_F_DGRAM_SCTP_READ 132 -#define BIO_F_FILE_CTRL 116 -#define BIO_F_FILE_READ 130 -#define BIO_F_LINEBUFFER_CTRL 129 -#define BIO_F_MEM_READ 128 -#define BIO_F_MEM_WRITE 117 -#define BIO_F_SSL_NEW 118 -#define BIO_F_WSASTARTUP 119 - -/* Reason codes. */ -#define BIO_R_ACCEPT_ERROR 100 -#define BIO_R_BAD_FOPEN_MODE 101 -#define BIO_R_BAD_HOSTNAME_LOOKUP 102 -#define BIO_R_BROKEN_PIPE 124 -#define BIO_R_CONNECT_ERROR 103 -#define BIO_R_EOF_ON_MEMORY_BIO 127 -#define BIO_R_ERROR_SETTING_NBIO 104 -#define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPTED_SOCKET 105 -#define BIO_R_ERROR_SETTING_NBIO_ON_ACCEPT_SOCKET 106 -#define BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET 107 -#define BIO_R_INVALID_ARGUMENT 125 -#define BIO_R_INVALID_IP_ADDRESS 108 -#define BIO_R_IN_USE 123 -#define BIO_R_KEEPALIVE 109 -#define BIO_R_NBIO_CONNECT_ERROR 110 -#define BIO_R_NO_ACCEPT_PORT_SPECIFIED 111 -#define BIO_R_NO_HOSTNAME_SPECIFIED 112 -#define BIO_R_NO_PORT_DEFINED 113 -#define BIO_R_NO_PORT_SPECIFIED 114 -#define BIO_R_NO_SUCH_FILE 128 -#define BIO_R_NULL_PARAMETER 115 -#define BIO_R_TAG_MISMATCH 116 -#define BIO_R_UNABLE_TO_BIND_SOCKET 117 -#define BIO_R_UNABLE_TO_CREATE_SOCKET 118 -#define BIO_R_UNABLE_TO_LISTEN_SOCKET 119 -#define BIO_R_UNINITIALIZED 120 -#define BIO_R_UNSUPPORTED_METHOD 121 -#define BIO_R_WRITE_TO_READ_ONLY_BIO 126 -#define BIO_R_WSASTARTUP 122 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/blowfish.h b/ext/bin/libcrypto/include/openssl/blowfish.h deleted file mode 100644 index 4b6c8920a..000000000 --- a/ext/bin/libcrypto/include/openssl/blowfish.h +++ /dev/null @@ -1,129 +0,0 @@ -/* crypto/bf/blowfish.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_BLOWFISH_H -#define HEADER_BLOWFISH_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_NO_BF -#error BF is disabled. -#endif - -#define BF_ENCRYPT 1 -#define BF_DECRYPT 0 - -/* - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! BF_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! BF_LONG_LOG2 has to be defined along. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -#if defined(__LP32__) -#define BF_LONG unsigned long -#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -#define BF_LONG unsigned long -#define BF_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -#else -#define BF_LONG unsigned int -#endif - -#define BF_ROUNDS 16 -#define BF_BLOCK 8 - -typedef struct bf_key_st - { - BF_LONG P[BF_ROUNDS+2]; - BF_LONG S[4*256]; - } BF_KEY; - -#ifdef OPENSSL_FIPS -void private_BF_set_key(BF_KEY *key, int len, const unsigned char *data); -#endif -void BF_set_key(BF_KEY *key, int len, const unsigned char *data); - -void BF_encrypt(BF_LONG *data,const BF_KEY *key); -void BF_decrypt(BF_LONG *data,const BF_KEY *key); - -void BF_ecb_encrypt(const unsigned char *in, unsigned char *out, - const BF_KEY *key, int enc); -void BF_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, - const BF_KEY *schedule, unsigned char *ivec, int enc); -void BF_cfb64_encrypt(const unsigned char *in, unsigned char *out, long length, - const BF_KEY *schedule, unsigned char *ivec, int *num, int enc); -void BF_ofb64_encrypt(const unsigned char *in, unsigned char *out, long length, - const BF_KEY *schedule, unsigned char *ivec, int *num); -const char *BF_options(void); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/bn.h b/ext/bin/libcrypto/include/openssl/bn.h deleted file mode 100644 index f34248ec4..000000000 --- a/ext/bin/libcrypto/include/openssl/bn.h +++ /dev/null @@ -1,891 +0,0 @@ -/* crypto/bn/bn.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * - * Portions of the attached software ("Contribution") are developed by - * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. - * - * The Contribution is licensed pursuant to the Eric Young open source - * license provided above. - * - * The binary polynomial arithmetic software is originally written by - * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. - * - */ - -#ifndef HEADER_BN_H -#define HEADER_BN_H - -#include -#ifndef OPENSSL_NO_FP_API -#include /* FILE */ -#endif -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* These preprocessor symbols control various aspects of the bignum headers and - * library code. They're not defined by any "normal" configuration, as they are - * intended for development and testing purposes. NB: defining all three can be - * useful for debugging application code as well as openssl itself. - * - * BN_DEBUG - turn on various debugging alterations to the bignum code - * BN_DEBUG_RAND - uses random poisoning of unused words to trip up - * mismanagement of bignum internals. You must also define BN_DEBUG. - */ -/* #define BN_DEBUG */ -/* #define BN_DEBUG_RAND */ - -#ifndef OPENSSL_SMALL_FOOTPRINT -#define BN_MUL_COMBA -#define BN_SQR_COMBA -#define BN_RECURSION -#endif - -/* This next option uses the C libraries (2 word)/(1 word) function. - * If it is not defined, I use my C version (which is slower). - * The reason for this flag is that when the particular C compiler - * library routine is used, and the library is linked with a different - * compiler, the library is missing. This mostly happens when the - * library is built with gcc and then linked using normal cc. This would - * be a common occurrence because gcc normally produces code that is - * 2 times faster than system compilers for the big number stuff. - * For machines with only one compiler (or shared libraries), this should - * be on. Again this in only really a problem on machines - * using "long long's", are 32bit, and are not using my assembler code. */ -#if defined(OPENSSL_SYS_MSDOS) || defined(OPENSSL_SYS_WINDOWS) || \ - defined(OPENSSL_SYS_WIN32) || defined(linux) -# ifndef BN_DIV2W -# define BN_DIV2W -# endif -#endif - -/* assuming long is 64bit - this is the DEC Alpha - * unsigned long long is only 64 bits :-(, don't define - * BN_LLONG for the DEC Alpha */ -#ifdef SIXTY_FOUR_BIT_LONG -#define BN_ULLONG unsigned long long -#define BN_ULONG unsigned long -#define BN_LONG long -#define BN_BITS 128 -#define BN_BYTES 8 -#define BN_BITS2 64 -#define BN_BITS4 32 -#define BN_MASK (0xffffffffffffffffffffffffffffffffLL) -#define BN_MASK2 (0xffffffffffffffffL) -#define BN_MASK2l (0xffffffffL) -#define BN_MASK2h (0xffffffff00000000L) -#define BN_MASK2h1 (0xffffffff80000000L) -#define BN_TBIT (0x8000000000000000L) -#define BN_DEC_CONV (10000000000000000000UL) -#define BN_DEC_FMT1 "%lu" -#define BN_DEC_FMT2 "%019lu" -#define BN_DEC_NUM 19 -#define BN_HEX_FMT1 "%lX" -#define BN_HEX_FMT2 "%016lX" -#endif - -/* This is where the long long data type is 64 bits, but long is 32. - * For machines where there are 64bit registers, this is the mode to use. - * IRIX, on R4000 and above should use this mode, along with the relevant - * assembler code :-). Do NOT define BN_LLONG. - */ -#ifdef SIXTY_FOUR_BIT -#undef BN_LLONG -#undef BN_ULLONG -#define BN_ULONG unsigned long long -#define BN_LONG long long -#define BN_BITS 128 -#define BN_BYTES 8 -#define BN_BITS2 64 -#define BN_BITS4 32 -#define BN_MASK2 (0xffffffffffffffffLL) -#define BN_MASK2l (0xffffffffL) -#define BN_MASK2h (0xffffffff00000000LL) -#define BN_MASK2h1 (0xffffffff80000000LL) -#define BN_TBIT (0x8000000000000000LL) -#define BN_DEC_CONV (10000000000000000000ULL) -#define BN_DEC_FMT1 "%llu" -#define BN_DEC_FMT2 "%019llu" -#define BN_DEC_NUM 19 -#define BN_HEX_FMT1 "%llX" -#define BN_HEX_FMT2 "%016llX" -#endif - -#ifdef THIRTY_TWO_BIT -#ifdef BN_LLONG -# if defined(_WIN32) && !defined(__GNUC__) -# define BN_ULLONG unsigned __int64 -# define BN_MASK (0xffffffffffffffffI64) -# else -# define BN_ULLONG unsigned long long -# define BN_MASK (0xffffffffffffffffLL) -# endif -#endif -#define BN_ULONG unsigned int -#define BN_LONG int -#define BN_BITS 64 -#define BN_BYTES 4 -#define BN_BITS2 32 -#define BN_BITS4 16 -#define BN_MASK2 (0xffffffffL) -#define BN_MASK2l (0xffff) -#define BN_MASK2h1 (0xffff8000L) -#define BN_MASK2h (0xffff0000L) -#define BN_TBIT (0x80000000L) -#define BN_DEC_CONV (1000000000L) -#define BN_DEC_FMT1 "%u" -#define BN_DEC_FMT2 "%09u" -#define BN_DEC_NUM 9 -#define BN_HEX_FMT1 "%X" -#define BN_HEX_FMT2 "%08X" -#endif - -/* 2011-02-22 SMS. - * In various places, a size_t variable or a type cast to size_t was - * used to perform integer-only operations on pointers. This failed on - * VMS with 64-bit pointers (CC /POINTER_SIZE = 64) because size_t is - * still only 32 bits. What's needed in these cases is an integer type - * with the same size as a pointer, which size_t is not certain to be. - * The only fix here is VMS-specific. - */ -#if defined(OPENSSL_SYS_VMS) -# if __INITIAL_POINTER_SIZE == 64 -# define PTR_SIZE_INT long long -# else /* __INITIAL_POINTER_SIZE == 64 */ -# define PTR_SIZE_INT int -# endif /* __INITIAL_POINTER_SIZE == 64 [else] */ -#else /* defined(OPENSSL_SYS_VMS) */ -# define PTR_SIZE_INT size_t -#endif /* defined(OPENSSL_SYS_VMS) [else] */ - -#define BN_DEFAULT_BITS 1280 - -#define BN_FLG_MALLOCED 0x01 -#define BN_FLG_STATIC_DATA 0x02 -#define BN_FLG_CONSTTIME 0x04 /* avoid leaking exponent information through timing, - * BN_mod_exp_mont() will call BN_mod_exp_mont_consttime, - * BN_div() will call BN_div_no_branch, - * BN_mod_inverse() will call BN_mod_inverse_no_branch. - */ - -#ifndef OPENSSL_NO_DEPRECATED -#define BN_FLG_EXP_CONSTTIME BN_FLG_CONSTTIME /* deprecated name for the flag */ - /* avoid leaking exponent information through timings - * (BN_mod_exp_mont() will call BN_mod_exp_mont_consttime) */ -#endif - -#ifndef OPENSSL_NO_DEPRECATED -#define BN_FLG_FREE 0x8000 /* used for debuging */ -#endif -#define BN_set_flags(b,n) ((b)->flags|=(n)) -#define BN_get_flags(b,n) ((b)->flags&(n)) - -/* get a clone of a BIGNUM with changed flags, for *temporary* use only - * (the two BIGNUMs cannot not be used in parallel!) */ -#define BN_with_flags(dest,b,n) ((dest)->d=(b)->d, \ - (dest)->top=(b)->top, \ - (dest)->dmax=(b)->dmax, \ - (dest)->neg=(b)->neg, \ - (dest)->flags=(((dest)->flags & BN_FLG_MALLOCED) \ - | ((b)->flags & ~BN_FLG_MALLOCED) \ - | BN_FLG_STATIC_DATA \ - | (n))) - -/* Already declared in ossl_typ.h */ -#if 0 -typedef struct bignum_st BIGNUM; -/* Used for temp variables (declaration hidden in bn_lcl.h) */ -typedef struct bignum_ctx BN_CTX; -typedef struct bn_blinding_st BN_BLINDING; -typedef struct bn_mont_ctx_st BN_MONT_CTX; -typedef struct bn_recp_ctx_st BN_RECP_CTX; -typedef struct bn_gencb_st BN_GENCB; -#endif - -struct bignum_st - { - BN_ULONG *d; /* Pointer to an array of 'BN_BITS2' bit chunks. */ - int top; /* Index of last used d +1. */ - /* The next are internal book keeping for bn_expand. */ - int dmax; /* Size of the d array. */ - int neg; /* one if the number is negative */ - int flags; - }; - -/* Used for montgomery multiplication */ -struct bn_mont_ctx_st - { - int ri; /* number of bits in R */ - BIGNUM RR; /* used to convert to montgomery form */ - BIGNUM N; /* The modulus */ - BIGNUM Ni; /* R*(1/R mod N) - N*Ni = 1 - * (Ni is only stored for bignum algorithm) */ - BN_ULONG n0[2];/* least significant word(s) of Ni; - (type changed with 0.9.9, was "BN_ULONG n0;" before) */ - int flags; - }; - -/* Used for reciprocal division/mod functions - * It cannot be shared between threads - */ -struct bn_recp_ctx_st - { - BIGNUM N; /* the divisor */ - BIGNUM Nr; /* the reciprocal */ - int num_bits; - int shift; - int flags; - }; - -/* Used for slow "generation" functions. */ -struct bn_gencb_st - { - unsigned int ver; /* To handle binary (in)compatibility */ - void *arg; /* callback-specific data */ - union - { - /* if(ver==1) - handles old style callbacks */ - void (*cb_1)(int, int, void *); - /* if(ver==2) - new callback style */ - int (*cb_2)(int, int, BN_GENCB *); - } cb; - }; -/* Wrapper function to make using BN_GENCB easier, */ -int BN_GENCB_call(BN_GENCB *cb, int a, int b); -/* Macro to populate a BN_GENCB structure with an "old"-style callback */ -#define BN_GENCB_set_old(gencb, callback, cb_arg) { \ - BN_GENCB *tmp_gencb = (gencb); \ - tmp_gencb->ver = 1; \ - tmp_gencb->arg = (cb_arg); \ - tmp_gencb->cb.cb_1 = (callback); } -/* Macro to populate a BN_GENCB structure with a "new"-style callback */ -#define BN_GENCB_set(gencb, callback, cb_arg) { \ - BN_GENCB *tmp_gencb = (gencb); \ - tmp_gencb->ver = 2; \ - tmp_gencb->arg = (cb_arg); \ - tmp_gencb->cb.cb_2 = (callback); } - -#define BN_prime_checks 0 /* default: select number of iterations - based on the size of the number */ - -/* number of Miller-Rabin iterations for an error rate of less than 2^-80 - * for random 'b'-bit input, b >= 100 (taken from table 4.4 in the Handbook - * of Applied Cryptography [Menezes, van Oorschot, Vanstone; CRC Press 1996]; - * original paper: Damgaard, Landrock, Pomerance: Average case error estimates - * for the strong probable prime test. -- Math. Comp. 61 (1993) 177-194) */ -#define BN_prime_checks_for_size(b) ((b) >= 1300 ? 2 : \ - (b) >= 850 ? 3 : \ - (b) >= 650 ? 4 : \ - (b) >= 550 ? 5 : \ - (b) >= 450 ? 6 : \ - (b) >= 400 ? 7 : \ - (b) >= 350 ? 8 : \ - (b) >= 300 ? 9 : \ - (b) >= 250 ? 12 : \ - (b) >= 200 ? 15 : \ - (b) >= 150 ? 18 : \ - /* b >= 100 */ 27) - -#define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) - -/* Note that BN_abs_is_word didn't work reliably for w == 0 until 0.9.8 */ -#define BN_abs_is_word(a,w) ((((a)->top == 1) && ((a)->d[0] == (BN_ULONG)(w))) || \ - (((w) == 0) && ((a)->top == 0))) -#define BN_is_zero(a) ((a)->top == 0) -#define BN_is_one(a) (BN_abs_is_word((a),1) && !(a)->neg) -#define BN_is_word(a,w) (BN_abs_is_word((a),(w)) && (!(w) || !(a)->neg)) -#define BN_is_odd(a) (((a)->top > 0) && ((a)->d[0] & 1)) - -#define BN_one(a) (BN_set_word((a),1)) -#define BN_zero_ex(a) \ - do { \ - BIGNUM *_tmp_bn = (a); \ - _tmp_bn->top = 0; \ - _tmp_bn->neg = 0; \ - } while(0) -#ifdef OPENSSL_NO_DEPRECATED -#define BN_zero(a) BN_zero_ex(a) -#else -#define BN_zero(a) (BN_set_word((a),0)) -#endif - -const BIGNUM *BN_value_one(void); -char * BN_options(void); -BN_CTX *BN_CTX_new(void); -#ifndef OPENSSL_NO_DEPRECATED -void BN_CTX_init(BN_CTX *c); -#endif -void BN_CTX_free(BN_CTX *c); -void BN_CTX_start(BN_CTX *ctx); -BIGNUM *BN_CTX_get(BN_CTX *ctx); -void BN_CTX_end(BN_CTX *ctx); -int BN_rand(BIGNUM *rnd, int bits, int top,int bottom); -int BN_pseudo_rand(BIGNUM *rnd, int bits, int top,int bottom); -int BN_rand_range(BIGNUM *rnd, const BIGNUM *range); -int BN_pseudo_rand_range(BIGNUM *rnd, const BIGNUM *range); -int BN_num_bits(const BIGNUM *a); -int BN_num_bits_word(BN_ULONG); -BIGNUM *BN_new(void); -void BN_init(BIGNUM *); -void BN_clear_free(BIGNUM *a); -BIGNUM *BN_copy(BIGNUM *a, const BIGNUM *b); -void BN_swap(BIGNUM *a, BIGNUM *b); -BIGNUM *BN_bin2bn(const unsigned char *s,int len,BIGNUM *ret); -int BN_bn2bin(const BIGNUM *a, unsigned char *to); -BIGNUM *BN_mpi2bn(const unsigned char *s,int len,BIGNUM *ret); -int BN_bn2mpi(const BIGNUM *a, unsigned char *to); -int BN_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -int BN_usub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -int BN_uadd(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -int BN_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); -int BN_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); -int BN_sqr(BIGNUM *r, const BIGNUM *a,BN_CTX *ctx); -/** BN_set_negative sets sign of a BIGNUM - * \param b pointer to the BIGNUM object - * \param n 0 if the BIGNUM b should be positive and a value != 0 otherwise - */ -void BN_set_negative(BIGNUM *b, int n); -/** BN_is_negative returns 1 if the BIGNUM is negative - * \param a pointer to the BIGNUM object - * \return 1 if a < 0 and 0 otherwise - */ -#define BN_is_negative(a) ((a)->neg != 0) - -int BN_div(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, const BIGNUM *d, - BN_CTX *ctx); -#define BN_mod(rem,m,d,ctx) BN_div(NULL,(rem),(m),(d),(ctx)) -int BN_nnmod(BIGNUM *r, const BIGNUM *m, const BIGNUM *d, BN_CTX *ctx); -int BN_mod_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); -int BN_mod_add_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m); -int BN_mod_sub(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m, BN_CTX *ctx); -int BN_mod_sub_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, const BIGNUM *m); -int BN_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *m, BN_CTX *ctx); -int BN_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); -int BN_mod_lshift1(BIGNUM *r, const BIGNUM *a, const BIGNUM *m, BN_CTX *ctx); -int BN_mod_lshift1_quick(BIGNUM *r, const BIGNUM *a, const BIGNUM *m); -int BN_mod_lshift(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m, BN_CTX *ctx); -int BN_mod_lshift_quick(BIGNUM *r, const BIGNUM *a, int n, const BIGNUM *m); - -BN_ULONG BN_mod_word(const BIGNUM *a, BN_ULONG w); -BN_ULONG BN_div_word(BIGNUM *a, BN_ULONG w); -int BN_mul_word(BIGNUM *a, BN_ULONG w); -int BN_add_word(BIGNUM *a, BN_ULONG w); -int BN_sub_word(BIGNUM *a, BN_ULONG w); -int BN_set_word(BIGNUM *a, BN_ULONG w); -BN_ULONG BN_get_word(const BIGNUM *a); - -int BN_cmp(const BIGNUM *a, const BIGNUM *b); -void BN_free(BIGNUM *a); -int BN_is_bit_set(const BIGNUM *a, int n); -int BN_lshift(BIGNUM *r, const BIGNUM *a, int n); -int BN_lshift1(BIGNUM *r, const BIGNUM *a); -int BN_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p,BN_CTX *ctx); - -int BN_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m,BN_CTX *ctx); -int BN_mod_exp_mont(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); -int BN_mod_exp_mont_consttime(BIGNUM *rr, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *in_mont); -int BN_mod_exp_mont_word(BIGNUM *r, BN_ULONG a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx); -int BN_mod_exp2_mont(BIGNUM *r, const BIGNUM *a1, const BIGNUM *p1, - const BIGNUM *a2, const BIGNUM *p2,const BIGNUM *m, - BN_CTX *ctx,BN_MONT_CTX *m_ctx); -int BN_mod_exp_simple(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m,BN_CTX *ctx); - -int BN_mask_bits(BIGNUM *a,int n); -#ifndef OPENSSL_NO_FP_API -int BN_print_fp(FILE *fp, const BIGNUM *a); -#endif -#ifdef HEADER_BIO_H -int BN_print(BIO *fp, const BIGNUM *a); -#else -int BN_print(void *fp, const BIGNUM *a); -#endif -int BN_reciprocal(BIGNUM *r, const BIGNUM *m, int len, BN_CTX *ctx); -int BN_rshift(BIGNUM *r, const BIGNUM *a, int n); -int BN_rshift1(BIGNUM *r, const BIGNUM *a); -void BN_clear(BIGNUM *a); -BIGNUM *BN_dup(const BIGNUM *a); -int BN_ucmp(const BIGNUM *a, const BIGNUM *b); -int BN_set_bit(BIGNUM *a, int n); -int BN_clear_bit(BIGNUM *a, int n); -char * BN_bn2hex(const BIGNUM *a); -char * BN_bn2dec(const BIGNUM *a); -int BN_hex2bn(BIGNUM **a, const char *str); -int BN_dec2bn(BIGNUM **a, const char *str); -int BN_asc2bn(BIGNUM **a, const char *str); -int BN_gcd(BIGNUM *r,const BIGNUM *a,const BIGNUM *b,BN_CTX *ctx); -int BN_kronecker(const BIGNUM *a,const BIGNUM *b,BN_CTX *ctx); /* returns -2 for error */ -BIGNUM *BN_mod_inverse(BIGNUM *ret, - const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx); -BIGNUM *BN_mod_sqrt(BIGNUM *ret, - const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx); - -/* Deprecated versions */ -#ifndef OPENSSL_NO_DEPRECATED -BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int safe, - const BIGNUM *add, const BIGNUM *rem, - void (*callback)(int,int,void *),void *cb_arg); -int BN_is_prime(const BIGNUM *p,int nchecks, - void (*callback)(int,int,void *), - BN_CTX *ctx,void *cb_arg); -int BN_is_prime_fasttest(const BIGNUM *p,int nchecks, - void (*callback)(int,int,void *),BN_CTX *ctx,void *cb_arg, - int do_trial_division); -#endif /* !defined(OPENSSL_NO_DEPRECATED) */ - -/* Newer versions */ -int BN_generate_prime_ex(BIGNUM *ret,int bits,int safe, const BIGNUM *add, - const BIGNUM *rem, BN_GENCB *cb); -int BN_is_prime_ex(const BIGNUM *p,int nchecks, BN_CTX *ctx, BN_GENCB *cb); -int BN_is_prime_fasttest_ex(const BIGNUM *p,int nchecks, BN_CTX *ctx, - int do_trial_division, BN_GENCB *cb); - -int BN_X931_generate_Xpq(BIGNUM *Xp, BIGNUM *Xq, int nbits, BN_CTX *ctx); - -int BN_X931_derive_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, - const BIGNUM *Xp, const BIGNUM *Xp1, const BIGNUM *Xp2, - const BIGNUM *e, BN_CTX *ctx, BN_GENCB *cb); -int BN_X931_generate_prime_ex(BIGNUM *p, BIGNUM *p1, BIGNUM *p2, - BIGNUM *Xp1, BIGNUM *Xp2, - const BIGNUM *Xp, - const BIGNUM *e, BN_CTX *ctx, - BN_GENCB *cb); - -BN_MONT_CTX *BN_MONT_CTX_new(void ); -void BN_MONT_CTX_init(BN_MONT_CTX *ctx); -int BN_mod_mul_montgomery(BIGNUM *r,const BIGNUM *a,const BIGNUM *b, - BN_MONT_CTX *mont, BN_CTX *ctx); -#define BN_to_montgomery(r,a,mont,ctx) BN_mod_mul_montgomery(\ - (r),(a),&((mont)->RR),(mont),(ctx)) -int BN_from_montgomery(BIGNUM *r,const BIGNUM *a, - BN_MONT_CTX *mont, BN_CTX *ctx); -void BN_MONT_CTX_free(BN_MONT_CTX *mont); -int BN_MONT_CTX_set(BN_MONT_CTX *mont,const BIGNUM *mod,BN_CTX *ctx); -BN_MONT_CTX *BN_MONT_CTX_copy(BN_MONT_CTX *to,BN_MONT_CTX *from); -BN_MONT_CTX *BN_MONT_CTX_set_locked(BN_MONT_CTX **pmont, int lock, - const BIGNUM *mod, BN_CTX *ctx); - -/* BN_BLINDING flags */ -#define BN_BLINDING_NO_UPDATE 0x00000001 -#define BN_BLINDING_NO_RECREATE 0x00000002 - -BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, BIGNUM *mod); -void BN_BLINDING_free(BN_BLINDING *b); -int BN_BLINDING_update(BN_BLINDING *b,BN_CTX *ctx); -int BN_BLINDING_convert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); -int BN_BLINDING_invert(BIGNUM *n, BN_BLINDING *b, BN_CTX *ctx); -int BN_BLINDING_convert_ex(BIGNUM *n, BIGNUM *r, BN_BLINDING *b, BN_CTX *); -int BN_BLINDING_invert_ex(BIGNUM *n, const BIGNUM *r, BN_BLINDING *b, BN_CTX *); -#ifndef OPENSSL_NO_DEPRECATED -unsigned long BN_BLINDING_get_thread_id(const BN_BLINDING *); -void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long); -#endif -CRYPTO_THREADID *BN_BLINDING_thread_id(BN_BLINDING *); -unsigned long BN_BLINDING_get_flags(const BN_BLINDING *); -void BN_BLINDING_set_flags(BN_BLINDING *, unsigned long); -BN_BLINDING *BN_BLINDING_create_param(BN_BLINDING *b, - const BIGNUM *e, BIGNUM *m, BN_CTX *ctx, - int (*bn_mod_exp)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, BN_MONT_CTX *m_ctx), - BN_MONT_CTX *m_ctx); - -#ifndef OPENSSL_NO_DEPRECATED -void BN_set_params(int mul,int high,int low,int mont); -int BN_get_params(int which); /* 0, mul, 1 high, 2 low, 3 mont */ -#endif - -void BN_RECP_CTX_init(BN_RECP_CTX *recp); -BN_RECP_CTX *BN_RECP_CTX_new(void); -void BN_RECP_CTX_free(BN_RECP_CTX *recp); -int BN_RECP_CTX_set(BN_RECP_CTX *recp,const BIGNUM *rdiv,BN_CTX *ctx); -int BN_mod_mul_reciprocal(BIGNUM *r, const BIGNUM *x, const BIGNUM *y, - BN_RECP_CTX *recp,BN_CTX *ctx); -int BN_mod_exp_recp(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx); -int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m, - BN_RECP_CTX *recp, BN_CTX *ctx); - -#ifndef OPENSSL_NO_EC2M - -/* Functions for arithmetic over binary polynomials represented by BIGNUMs. - * - * The BIGNUM::neg property of BIGNUMs representing binary polynomials is - * ignored. - * - * Note that input arguments are not const so that their bit arrays can - * be expanded to the appropriate size if needed. - */ - -int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); /*r = a + b*/ -#define BN_GF2m_sub(r, a, b) BN_GF2m_add(r, a, b) -int BN_GF2m_mod(BIGNUM *r, const BIGNUM *a, const BIGNUM *p); /*r=a mod p*/ -int BN_GF2m_mod_mul(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx); /* r = (a * b) mod p */ -int BN_GF2m_mod_sqr(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - BN_CTX *ctx); /* r = (a * a) mod p */ -int BN_GF2m_mod_inv(BIGNUM *r, const BIGNUM *b, const BIGNUM *p, - BN_CTX *ctx); /* r = (1 / b) mod p */ -int BN_GF2m_mod_div(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx); /* r = (a / b) mod p */ -int BN_GF2m_mod_exp(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const BIGNUM *p, BN_CTX *ctx); /* r = (a ^ b) mod p */ -int BN_GF2m_mod_sqrt(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - BN_CTX *ctx); /* r = sqrt(a) mod p */ -int BN_GF2m_mod_solve_quad(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - BN_CTX *ctx); /* r^2 + r = a mod p */ -#define BN_GF2m_cmp(a, b) BN_ucmp((a), (b)) -/* Some functions allow for representation of the irreducible polynomials - * as an unsigned int[], say p. The irreducible f(t) is then of the form: - * t^p[0] + t^p[1] + ... + t^p[k] - * where m = p[0] > p[1] > ... > p[k] = 0. - */ -int BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const int p[]); - /* r = a mod p */ -int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const int p[], BN_CTX *ctx); /* r = (a * b) mod p */ -int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const int p[], - BN_CTX *ctx); /* r = (a * a) mod p */ -int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const int p[], - BN_CTX *ctx); /* r = (1 / b) mod p */ -int BN_GF2m_mod_div_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const int p[], BN_CTX *ctx); /* r = (a / b) mod p */ -int BN_GF2m_mod_exp_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, - const int p[], BN_CTX *ctx); /* r = (a ^ b) mod p */ -int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, - const int p[], BN_CTX *ctx); /* r = sqrt(a) mod p */ -int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, - const int p[], BN_CTX *ctx); /* r^2 + r = a mod p */ -int BN_GF2m_poly2arr(const BIGNUM *a, int p[], int max); -int BN_GF2m_arr2poly(const int p[], BIGNUM *a); - -#endif - -/* faster mod functions for the 'NIST primes' - * 0 <= a < p^2 */ -int BN_nist_mod_192(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_224(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_256(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_384(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); -int BN_nist_mod_521(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, BN_CTX *ctx); - -const BIGNUM *BN_get0_nist_prime_192(void); -const BIGNUM *BN_get0_nist_prime_224(void); -const BIGNUM *BN_get0_nist_prime_256(void); -const BIGNUM *BN_get0_nist_prime_384(void); -const BIGNUM *BN_get0_nist_prime_521(void); - -/* library internal functions */ - -#define bn_expand(a,bits) ((((((bits+BN_BITS2-1))/BN_BITS2)) <= (a)->dmax)?\ - (a):bn_expand2((a),(bits+BN_BITS2-1)/BN_BITS2)) -#define bn_wexpand(a,words) (((words) <= (a)->dmax)?(a):bn_expand2((a),(words))) -BIGNUM *bn_expand2(BIGNUM *a, int words); -#ifndef OPENSSL_NO_DEPRECATED -BIGNUM *bn_dup_expand(const BIGNUM *a, int words); /* unused */ -#endif - -/* Bignum consistency macros - * There is one "API" macro, bn_fix_top(), for stripping leading zeroes from - * bignum data after direct manipulations on the data. There is also an - * "internal" macro, bn_check_top(), for verifying that there are no leading - * zeroes. Unfortunately, some auditing is required due to the fact that - * bn_fix_top() has become an overabused duct-tape because bignum data is - * occasionally passed around in an inconsistent state. So the following - * changes have been made to sort this out; - * - bn_fix_top()s implementation has been moved to bn_correct_top() - * - if BN_DEBUG isn't defined, bn_fix_top() maps to bn_correct_top(), and - * bn_check_top() is as before. - * - if BN_DEBUG *is* defined; - * - bn_check_top() tries to pollute unused words even if the bignum 'top' is - * consistent. (ed: only if BN_DEBUG_RAND is defined) - * - bn_fix_top() maps to bn_check_top() rather than "fixing" anything. - * The idea is to have debug builds flag up inconsistent bignums when they - * occur. If that occurs in a bn_fix_top(), we examine the code in question; if - * the use of bn_fix_top() was appropriate (ie. it follows directly after code - * that manipulates the bignum) it is converted to bn_correct_top(), and if it - * was not appropriate, we convert it permanently to bn_check_top() and track - * down the cause of the bug. Eventually, no internal code should be using the - * bn_fix_top() macro. External applications and libraries should try this with - * their own code too, both in terms of building against the openssl headers - * with BN_DEBUG defined *and* linking with a version of OpenSSL built with it - * defined. This not only improves external code, it provides more test - * coverage for openssl's own code. - */ - -#ifdef BN_DEBUG - -/* We only need assert() when debugging */ -#include - -#ifdef BN_DEBUG_RAND -/* To avoid "make update" cvs wars due to BN_DEBUG, use some tricks */ -#ifndef RAND_pseudo_bytes -int RAND_pseudo_bytes(unsigned char *buf,int num); -#define BN_DEBUG_TRIX -#endif -#define bn_pollute(a) \ - do { \ - const BIGNUM *_bnum1 = (a); \ - if(_bnum1->top < _bnum1->dmax) { \ - unsigned char _tmp_char; \ - /* We cast away const without the compiler knowing, any \ - * *genuinely* constant variables that aren't mutable \ - * wouldn't be constructed with top!=dmax. */ \ - BN_ULONG *_not_const; \ - memcpy(&_not_const, &_bnum1->d, sizeof(BN_ULONG*)); \ - RAND_pseudo_bytes(&_tmp_char, 1); \ - memset((unsigned char *)(_not_const + _bnum1->top), _tmp_char, \ - (_bnum1->dmax - _bnum1->top) * sizeof(BN_ULONG)); \ - } \ - } while(0) -#ifdef BN_DEBUG_TRIX -#undef RAND_pseudo_bytes -#endif -#else -#define bn_pollute(a) -#endif -#define bn_check_top(a) \ - do { \ - const BIGNUM *_bnum2 = (a); \ - if (_bnum2 != NULL) { \ - assert((_bnum2->top == 0) || \ - (_bnum2->d[_bnum2->top - 1] != 0)); \ - bn_pollute(_bnum2); \ - } \ - } while(0) - -#define bn_fix_top(a) bn_check_top(a) - -#else /* !BN_DEBUG */ - -#define bn_pollute(a) -#define bn_check_top(a) -#define bn_fix_top(a) bn_correct_top(a) - -#endif - -#define bn_correct_top(a) \ - { \ - BN_ULONG *ftl; \ - int tmp_top = (a)->top; \ - if (tmp_top > 0) \ - { \ - for (ftl= &((a)->d[tmp_top-1]); tmp_top > 0; tmp_top--) \ - if (*(ftl--)) break; \ - (a)->top = tmp_top; \ - } \ - bn_pollute(a); \ - } - -BN_ULONG bn_mul_add_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w); -BN_ULONG bn_mul_words(BN_ULONG *rp, const BN_ULONG *ap, int num, BN_ULONG w); -void bn_sqr_words(BN_ULONG *rp, const BN_ULONG *ap, int num); -BN_ULONG bn_div_words(BN_ULONG h, BN_ULONG l, BN_ULONG d); -BN_ULONG bn_add_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,int num); -BN_ULONG bn_sub_words(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,int num); - -/* Primes from RFC 2409 */ -BIGNUM *get_rfc2409_prime_768(BIGNUM *bn); -BIGNUM *get_rfc2409_prime_1024(BIGNUM *bn); - -/* Primes from RFC 3526 */ -BIGNUM *get_rfc3526_prime_1536(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_2048(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_3072(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_4096(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_6144(BIGNUM *bn); -BIGNUM *get_rfc3526_prime_8192(BIGNUM *bn); - -int BN_bntest_rand(BIGNUM *rnd, int bits, int top,int bottom); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_BN_strings(void); - -/* Error codes for the BN functions. */ - -/* Function codes. */ -#define BN_F_BNRAND 127 -#define BN_F_BN_BLINDING_CONVERT_EX 100 -#define BN_F_BN_BLINDING_CREATE_PARAM 128 -#define BN_F_BN_BLINDING_INVERT_EX 101 -#define BN_F_BN_BLINDING_NEW 102 -#define BN_F_BN_BLINDING_UPDATE 103 -#define BN_F_BN_BN2DEC 104 -#define BN_F_BN_BN2HEX 105 -#define BN_F_BN_CTX_GET 116 -#define BN_F_BN_CTX_NEW 106 -#define BN_F_BN_CTX_START 129 -#define BN_F_BN_DIV 107 -#define BN_F_BN_DIV_NO_BRANCH 138 -#define BN_F_BN_DIV_RECP 130 -#define BN_F_BN_EXP 123 -#define BN_F_BN_EXPAND2 108 -#define BN_F_BN_EXPAND_INTERNAL 120 -#define BN_F_BN_GF2M_MOD 131 -#define BN_F_BN_GF2M_MOD_EXP 132 -#define BN_F_BN_GF2M_MOD_MUL 133 -#define BN_F_BN_GF2M_MOD_SOLVE_QUAD 134 -#define BN_F_BN_GF2M_MOD_SOLVE_QUAD_ARR 135 -#define BN_F_BN_GF2M_MOD_SQR 136 -#define BN_F_BN_GF2M_MOD_SQRT 137 -#define BN_F_BN_MOD_EXP2_MONT 118 -#define BN_F_BN_MOD_EXP_MONT 109 -#define BN_F_BN_MOD_EXP_MONT_CONSTTIME 124 -#define BN_F_BN_MOD_EXP_MONT_WORD 117 -#define BN_F_BN_MOD_EXP_RECP 125 -#define BN_F_BN_MOD_EXP_SIMPLE 126 -#define BN_F_BN_MOD_INVERSE 110 -#define BN_F_BN_MOD_INVERSE_NO_BRANCH 139 -#define BN_F_BN_MOD_LSHIFT_QUICK 119 -#define BN_F_BN_MOD_MUL_RECIPROCAL 111 -#define BN_F_BN_MOD_SQRT 121 -#define BN_F_BN_MPI2BN 112 -#define BN_F_BN_NEW 113 -#define BN_F_BN_RAND 114 -#define BN_F_BN_RAND_RANGE 122 -#define BN_F_BN_USUB 115 - -/* Reason codes. */ -#define BN_R_ARG2_LT_ARG3 100 -#define BN_R_BAD_RECIPROCAL 101 -#define BN_R_BIGNUM_TOO_LONG 114 -#define BN_R_CALLED_WITH_EVEN_MODULUS 102 -#define BN_R_DIV_BY_ZERO 103 -#define BN_R_ENCODING_ERROR 104 -#define BN_R_EXPAND_ON_STATIC_BIGNUM_DATA 105 -#define BN_R_INPUT_NOT_REDUCED 110 -#define BN_R_INVALID_LENGTH 106 -#define BN_R_INVALID_RANGE 115 -#define BN_R_NOT_A_SQUARE 111 -#define BN_R_NOT_INITIALIZED 107 -#define BN_R_NO_INVERSE 108 -#define BN_R_NO_SOLUTION 116 -#define BN_R_P_IS_NOT_PRIME 112 -#define BN_R_TOO_MANY_ITERATIONS 113 -#define BN_R_TOO_MANY_TEMPORARY_VARIABLES 109 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/buffer.h b/ext/bin/libcrypto/include/openssl/buffer.h deleted file mode 100644 index 178e41828..000000000 --- a/ext/bin/libcrypto/include/openssl/buffer.h +++ /dev/null @@ -1,119 +0,0 @@ -/* crypto/buffer/buffer.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_BUFFER_H -#define HEADER_BUFFER_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#if !defined(NO_SYS_TYPES_H) -#include -#endif - -/* Already declared in ossl_typ.h */ -/* typedef struct buf_mem_st BUF_MEM; */ - -struct buf_mem_st - { - size_t length; /* current number of bytes */ - char *data; - size_t max; /* size of buffer */ - }; - -BUF_MEM *BUF_MEM_new(void); -void BUF_MEM_free(BUF_MEM *a); -int BUF_MEM_grow(BUF_MEM *str, size_t len); -int BUF_MEM_grow_clean(BUF_MEM *str, size_t len); -char * BUF_strdup(const char *str); -char * BUF_strndup(const char *str, size_t siz); -void * BUF_memdup(const void *data, size_t siz); -void BUF_reverse(unsigned char *out, unsigned char *in, size_t siz); - -/* safe string functions */ -size_t BUF_strlcpy(char *dst,const char *src,size_t siz); -size_t BUF_strlcat(char *dst,const char *src,size_t siz); - - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_BUF_strings(void); - -/* Error codes for the BUF functions. */ - -/* Function codes. */ -#define BUF_F_BUF_MEMDUP 103 -#define BUF_F_BUF_MEM_GROW 100 -#define BUF_F_BUF_MEM_GROW_CLEAN 105 -#define BUF_F_BUF_MEM_NEW 101 -#define BUF_F_BUF_STRDUP 102 -#define BUF_F_BUF_STRNDUP 104 - -/* Reason codes. */ - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/camellia.h b/ext/bin/libcrypto/include/openssl/camellia.h deleted file mode 100644 index 67911e0ad..000000000 --- a/ext/bin/libcrypto/include/openssl/camellia.h +++ /dev/null @@ -1,130 +0,0 @@ -/* crypto/camellia/camellia.h -*- mode:C; c-file-style: "eay" -*- */ -/* ==================================================================== - * Copyright (c) 2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - */ - -#ifndef HEADER_CAMELLIA_H -#define HEADER_CAMELLIA_H - -#include - -#ifdef OPENSSL_NO_CAMELLIA -#error CAMELLIA is disabled. -#endif - -#include - -#define CAMELLIA_ENCRYPT 1 -#define CAMELLIA_DECRYPT 0 - -/* Because array size can't be a const in C, the following two are macros. - Both sizes are in bytes. */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* This should be a hidden type, but EVP requires that the size be known */ - -#define CAMELLIA_BLOCK_SIZE 16 -#define CAMELLIA_TABLE_BYTE_LEN 272 -#define CAMELLIA_TABLE_WORD_LEN (CAMELLIA_TABLE_BYTE_LEN / 4) - -typedef unsigned int KEY_TABLE_TYPE[CAMELLIA_TABLE_WORD_LEN]; /* to match with WORD */ - -struct camellia_key_st - { - union { - double d; /* ensures 64-bit align */ - KEY_TABLE_TYPE rd_key; - } u; - int grand_rounds; - }; -typedef struct camellia_key_st CAMELLIA_KEY; - -#ifdef OPENSSL_FIPS -int private_Camellia_set_key(const unsigned char *userKey, const int bits, - CAMELLIA_KEY *key); -#endif -int Camellia_set_key(const unsigned char *userKey, const int bits, - CAMELLIA_KEY *key); - -void Camellia_encrypt(const unsigned char *in, unsigned char *out, - const CAMELLIA_KEY *key); -void Camellia_decrypt(const unsigned char *in, unsigned char *out, - const CAMELLIA_KEY *key); - -void Camellia_ecb_encrypt(const unsigned char *in, unsigned char *out, - const CAMELLIA_KEY *key, const int enc); -void Camellia_cbc_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, const int enc); -void Camellia_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, int *num, const int enc); -void Camellia_cfb1_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, int *num, const int enc); -void Camellia_cfb8_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, int *num, const int enc); -void Camellia_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char *ivec, int *num); -void Camellia_ctr128_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const CAMELLIA_KEY *key, - unsigned char ivec[CAMELLIA_BLOCK_SIZE], - unsigned char ecount_buf[CAMELLIA_BLOCK_SIZE], - unsigned int *num); - -#ifdef __cplusplus -} -#endif - -#endif /* !HEADER_Camellia_H */ diff --git a/ext/bin/libcrypto/include/openssl/cast.h b/ext/bin/libcrypto/include/openssl/cast.h deleted file mode 100644 index 203922ea2..000000000 --- a/ext/bin/libcrypto/include/openssl/cast.h +++ /dev/null @@ -1,107 +0,0 @@ -/* crypto/cast/cast.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_CAST_H -#define HEADER_CAST_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -#ifdef OPENSSL_NO_CAST -#error CAST is disabled. -#endif - -#define CAST_ENCRYPT 1 -#define CAST_DECRYPT 0 - -#define CAST_LONG unsigned int - -#define CAST_BLOCK 8 -#define CAST_KEY_LENGTH 16 - -typedef struct cast_key_st - { - CAST_LONG data[32]; - int short_key; /* Use reduced rounds for short key */ - } CAST_KEY; - -#ifdef OPENSSL_FIPS -void private_CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); -#endif -void CAST_set_key(CAST_KEY *key, int len, const unsigned char *data); -void CAST_ecb_encrypt(const unsigned char *in, unsigned char *out, const CAST_KEY *key, - int enc); -void CAST_encrypt(CAST_LONG *data, const CAST_KEY *key); -void CAST_decrypt(CAST_LONG *data, const CAST_KEY *key); -void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, - const CAST_KEY *ks, unsigned char *iv, int enc); -void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, const CAST_KEY *schedule, unsigned char *ivec, - int *num, int enc); -void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, const CAST_KEY *schedule, unsigned char *ivec, - int *num); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/cmac.h b/ext/bin/libcrypto/include/openssl/cmac.h deleted file mode 100644 index 712e92dce..000000000 --- a/ext/bin/libcrypto/include/openssl/cmac.h +++ /dev/null @@ -1,82 +0,0 @@ -/* crypto/cmac/cmac.h */ -/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL - * project. - */ -/* ==================================================================== - * Copyright (c) 2010 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - */ - - -#ifndef HEADER_CMAC_H -#define HEADER_CMAC_H - -#ifdef __cplusplus -extern "C" { -#endif - -#include - -/* Opaque */ -typedef struct CMAC_CTX_st CMAC_CTX; - -CMAC_CTX *CMAC_CTX_new(void); -void CMAC_CTX_cleanup(CMAC_CTX *ctx); -void CMAC_CTX_free(CMAC_CTX *ctx); -EVP_CIPHER_CTX *CMAC_CTX_get0_cipher_ctx(CMAC_CTX *ctx); -int CMAC_CTX_copy(CMAC_CTX *out, const CMAC_CTX *in); - -int CMAC_Init(CMAC_CTX *ctx, const void *key, size_t keylen, - const EVP_CIPHER *cipher, ENGINE *impl); -int CMAC_Update(CMAC_CTX *ctx, const void *data, size_t dlen); -int CMAC_Final(CMAC_CTX *ctx, unsigned char *out, size_t *poutlen); -int CMAC_resume(CMAC_CTX *ctx); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/cms.h b/ext/bin/libcrypto/include/openssl/cms.h deleted file mode 100644 index 36994fa6a..000000000 --- a/ext/bin/libcrypto/include/openssl/cms.h +++ /dev/null @@ -1,501 +0,0 @@ -/* crypto/cms/cms.h */ -/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL - * project. - */ -/* ==================================================================== - * Copyright (c) 2008 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - */ - - -#ifndef HEADER_CMS_H -#define HEADER_CMS_H - -#include - -#ifdef OPENSSL_NO_CMS -#error CMS is disabled. -#endif - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef struct CMS_ContentInfo_st CMS_ContentInfo; -typedef struct CMS_SignerInfo_st CMS_SignerInfo; -typedef struct CMS_CertificateChoices CMS_CertificateChoices; -typedef struct CMS_RevocationInfoChoice_st CMS_RevocationInfoChoice; -typedef struct CMS_RecipientInfo_st CMS_RecipientInfo; -typedef struct CMS_ReceiptRequest_st CMS_ReceiptRequest; -typedef struct CMS_Receipt_st CMS_Receipt; - -DECLARE_STACK_OF(CMS_SignerInfo) -DECLARE_STACK_OF(GENERAL_NAMES) -DECLARE_ASN1_FUNCTIONS(CMS_ContentInfo) -DECLARE_ASN1_FUNCTIONS(CMS_ReceiptRequest) -DECLARE_ASN1_PRINT_FUNCTION(CMS_ContentInfo) - -#define CMS_SIGNERINFO_ISSUER_SERIAL 0 -#define CMS_SIGNERINFO_KEYIDENTIFIER 1 - -#define CMS_RECIPINFO_TRANS 0 -#define CMS_RECIPINFO_AGREE 1 -#define CMS_RECIPINFO_KEK 2 -#define CMS_RECIPINFO_PASS 3 -#define CMS_RECIPINFO_OTHER 4 - -/* S/MIME related flags */ - -#define CMS_TEXT 0x1 -#define CMS_NOCERTS 0x2 -#define CMS_NO_CONTENT_VERIFY 0x4 -#define CMS_NO_ATTR_VERIFY 0x8 -#define CMS_NOSIGS \ - (CMS_NO_CONTENT_VERIFY|CMS_NO_ATTR_VERIFY) -#define CMS_NOINTERN 0x10 -#define CMS_NO_SIGNER_CERT_VERIFY 0x20 -#define CMS_NOVERIFY 0x20 -#define CMS_DETACHED 0x40 -#define CMS_BINARY 0x80 -#define CMS_NOATTR 0x100 -#define CMS_NOSMIMECAP 0x200 -#define CMS_NOOLDMIMETYPE 0x400 -#define CMS_CRLFEOL 0x800 -#define CMS_STREAM 0x1000 -#define CMS_NOCRL 0x2000 -#define CMS_PARTIAL 0x4000 -#define CMS_REUSE_DIGEST 0x8000 -#define CMS_USE_KEYID 0x10000 -#define CMS_DEBUG_DECRYPT 0x20000 - -const ASN1_OBJECT *CMS_get0_type(CMS_ContentInfo *cms); - -BIO *CMS_dataInit(CMS_ContentInfo *cms, BIO *icont); -int CMS_dataFinal(CMS_ContentInfo *cms, BIO *bio); - -ASN1_OCTET_STRING **CMS_get0_content(CMS_ContentInfo *cms); -int CMS_is_detached(CMS_ContentInfo *cms); -int CMS_set_detached(CMS_ContentInfo *cms, int detached); - -#ifdef HEADER_PEM_H -DECLARE_PEM_rw_const(CMS, CMS_ContentInfo) -#endif - -int CMS_stream(unsigned char ***boundary, CMS_ContentInfo *cms); -CMS_ContentInfo *d2i_CMS_bio(BIO *bp, CMS_ContentInfo **cms); -int i2d_CMS_bio(BIO *bp, CMS_ContentInfo *cms); - -BIO *BIO_new_CMS(BIO *out, CMS_ContentInfo *cms); -int i2d_CMS_bio_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int flags); -int PEM_write_bio_CMS_stream(BIO *out, CMS_ContentInfo *cms, BIO *in, int flags); -CMS_ContentInfo *SMIME_read_CMS(BIO *bio, BIO **bcont); -int SMIME_write_CMS(BIO *bio, CMS_ContentInfo *cms, BIO *data, int flags); - -int CMS_final(CMS_ContentInfo *cms, BIO *data, BIO *dcont, unsigned int flags); - -CMS_ContentInfo *CMS_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, - BIO *data, unsigned int flags); - -CMS_ContentInfo *CMS_sign_receipt(CMS_SignerInfo *si, - X509 *signcert, EVP_PKEY *pkey, - STACK_OF(X509) *certs, - unsigned int flags); - -int CMS_data(CMS_ContentInfo *cms, BIO *out, unsigned int flags); -CMS_ContentInfo *CMS_data_create(BIO *in, unsigned int flags); - -int CMS_digest_verify(CMS_ContentInfo *cms, BIO *dcont, BIO *out, - unsigned int flags); -CMS_ContentInfo *CMS_digest_create(BIO *in, const EVP_MD *md, - unsigned int flags); - -int CMS_EncryptedData_decrypt(CMS_ContentInfo *cms, - const unsigned char *key, size_t keylen, - BIO *dcont, BIO *out, unsigned int flags); - -CMS_ContentInfo *CMS_EncryptedData_encrypt(BIO *in, const EVP_CIPHER *cipher, - const unsigned char *key, size_t keylen, - unsigned int flags); - -int CMS_EncryptedData_set1_key(CMS_ContentInfo *cms, const EVP_CIPHER *ciph, - const unsigned char *key, size_t keylen); - -int CMS_verify(CMS_ContentInfo *cms, STACK_OF(X509) *certs, - X509_STORE *store, BIO *dcont, BIO *out, unsigned int flags); - -int CMS_verify_receipt(CMS_ContentInfo *rcms, CMS_ContentInfo *ocms, - STACK_OF(X509) *certs, - X509_STORE *store, unsigned int flags); - -STACK_OF(X509) *CMS_get0_signers(CMS_ContentInfo *cms); - -CMS_ContentInfo *CMS_encrypt(STACK_OF(X509) *certs, BIO *in, - const EVP_CIPHER *cipher, unsigned int flags); - -int CMS_decrypt(CMS_ContentInfo *cms, EVP_PKEY *pkey, X509 *cert, - BIO *dcont, BIO *out, - unsigned int flags); - -int CMS_decrypt_set1_pkey(CMS_ContentInfo *cms, EVP_PKEY *pk, X509 *cert); -int CMS_decrypt_set1_key(CMS_ContentInfo *cms, - unsigned char *key, size_t keylen, - unsigned char *id, size_t idlen); -int CMS_decrypt_set1_password(CMS_ContentInfo *cms, - unsigned char *pass, ossl_ssize_t passlen); - -STACK_OF(CMS_RecipientInfo) *CMS_get0_RecipientInfos(CMS_ContentInfo *cms); -int CMS_RecipientInfo_type(CMS_RecipientInfo *ri); -CMS_ContentInfo *CMS_EnvelopedData_create(const EVP_CIPHER *cipher); -CMS_RecipientInfo *CMS_add1_recipient_cert(CMS_ContentInfo *cms, - X509 *recip, unsigned int flags); -int CMS_RecipientInfo_set0_pkey(CMS_RecipientInfo *ri, EVP_PKEY *pkey); -int CMS_RecipientInfo_ktri_cert_cmp(CMS_RecipientInfo *ri, X509 *cert); -int CMS_RecipientInfo_ktri_get0_algs(CMS_RecipientInfo *ri, - EVP_PKEY **pk, X509 **recip, - X509_ALGOR **palg); -int CMS_RecipientInfo_ktri_get0_signer_id(CMS_RecipientInfo *ri, - ASN1_OCTET_STRING **keyid, - X509_NAME **issuer, ASN1_INTEGER **sno); - -CMS_RecipientInfo *CMS_add0_recipient_key(CMS_ContentInfo *cms, int nid, - unsigned char *key, size_t keylen, - unsigned char *id, size_t idlen, - ASN1_GENERALIZEDTIME *date, - ASN1_OBJECT *otherTypeId, - ASN1_TYPE *otherType); - -int CMS_RecipientInfo_kekri_get0_id(CMS_RecipientInfo *ri, - X509_ALGOR **palg, - ASN1_OCTET_STRING **pid, - ASN1_GENERALIZEDTIME **pdate, - ASN1_OBJECT **potherid, - ASN1_TYPE **pothertype); - -int CMS_RecipientInfo_set0_key(CMS_RecipientInfo *ri, - unsigned char *key, size_t keylen); - -int CMS_RecipientInfo_kekri_id_cmp(CMS_RecipientInfo *ri, - const unsigned char *id, size_t idlen); - -int CMS_RecipientInfo_set0_password(CMS_RecipientInfo *ri, - unsigned char *pass, - ossl_ssize_t passlen); - -CMS_RecipientInfo *CMS_add0_recipient_password(CMS_ContentInfo *cms, - int iter, int wrap_nid, int pbe_nid, - unsigned char *pass, - ossl_ssize_t passlen, - const EVP_CIPHER *kekciph); - -int CMS_RecipientInfo_decrypt(CMS_ContentInfo *cms, CMS_RecipientInfo *ri); - -int CMS_uncompress(CMS_ContentInfo *cms, BIO *dcont, BIO *out, - unsigned int flags); -CMS_ContentInfo *CMS_compress(BIO *in, int comp_nid, unsigned int flags); - -int CMS_set1_eContentType(CMS_ContentInfo *cms, const ASN1_OBJECT *oid); -const ASN1_OBJECT *CMS_get0_eContentType(CMS_ContentInfo *cms); - -CMS_CertificateChoices *CMS_add0_CertificateChoices(CMS_ContentInfo *cms); -int CMS_add0_cert(CMS_ContentInfo *cms, X509 *cert); -int CMS_add1_cert(CMS_ContentInfo *cms, X509 *cert); -STACK_OF(X509) *CMS_get1_certs(CMS_ContentInfo *cms); - -CMS_RevocationInfoChoice *CMS_add0_RevocationInfoChoice(CMS_ContentInfo *cms); -int CMS_add0_crl(CMS_ContentInfo *cms, X509_CRL *crl); -int CMS_add1_crl(CMS_ContentInfo *cms, X509_CRL *crl); -STACK_OF(X509_CRL) *CMS_get1_crls(CMS_ContentInfo *cms); - -int CMS_SignedData_init(CMS_ContentInfo *cms); -CMS_SignerInfo *CMS_add1_signer(CMS_ContentInfo *cms, - X509 *signer, EVP_PKEY *pk, const EVP_MD *md, - unsigned int flags); -STACK_OF(CMS_SignerInfo) *CMS_get0_SignerInfos(CMS_ContentInfo *cms); - -void CMS_SignerInfo_set1_signer_cert(CMS_SignerInfo *si, X509 *signer); -int CMS_SignerInfo_get0_signer_id(CMS_SignerInfo *si, - ASN1_OCTET_STRING **keyid, - X509_NAME **issuer, ASN1_INTEGER **sno); -int CMS_SignerInfo_cert_cmp(CMS_SignerInfo *si, X509 *cert); -int CMS_set1_signers_certs(CMS_ContentInfo *cms, STACK_OF(X509) *certs, - unsigned int flags); -void CMS_SignerInfo_get0_algs(CMS_SignerInfo *si, EVP_PKEY **pk, X509 **signer, - X509_ALGOR **pdig, X509_ALGOR **psig); -int CMS_SignerInfo_sign(CMS_SignerInfo *si); -int CMS_SignerInfo_verify(CMS_SignerInfo *si); -int CMS_SignerInfo_verify_content(CMS_SignerInfo *si, BIO *chain); - -int CMS_add_smimecap(CMS_SignerInfo *si, STACK_OF(X509_ALGOR) *algs); -int CMS_add_simple_smimecap(STACK_OF(X509_ALGOR) **algs, - int algnid, int keysize); -int CMS_add_standard_smimecap(STACK_OF(X509_ALGOR) **smcap); - -int CMS_signed_get_attr_count(const CMS_SignerInfo *si); -int CMS_signed_get_attr_by_NID(const CMS_SignerInfo *si, int nid, - int lastpos); -int CMS_signed_get_attr_by_OBJ(const CMS_SignerInfo *si, ASN1_OBJECT *obj, - int lastpos); -X509_ATTRIBUTE *CMS_signed_get_attr(const CMS_SignerInfo *si, int loc); -X509_ATTRIBUTE *CMS_signed_delete_attr(CMS_SignerInfo *si, int loc); -int CMS_signed_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); -int CMS_signed_add1_attr_by_OBJ(CMS_SignerInfo *si, - const ASN1_OBJECT *obj, int type, - const void *bytes, int len); -int CMS_signed_add1_attr_by_NID(CMS_SignerInfo *si, - int nid, int type, - const void *bytes, int len); -int CMS_signed_add1_attr_by_txt(CMS_SignerInfo *si, - const char *attrname, int type, - const void *bytes, int len); -void *CMS_signed_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, - int lastpos, int type); - -int CMS_unsigned_get_attr_count(const CMS_SignerInfo *si); -int CMS_unsigned_get_attr_by_NID(const CMS_SignerInfo *si, int nid, - int lastpos); -int CMS_unsigned_get_attr_by_OBJ(const CMS_SignerInfo *si, ASN1_OBJECT *obj, - int lastpos); -X509_ATTRIBUTE *CMS_unsigned_get_attr(const CMS_SignerInfo *si, int loc); -X509_ATTRIBUTE *CMS_unsigned_delete_attr(CMS_SignerInfo *si, int loc); -int CMS_unsigned_add1_attr(CMS_SignerInfo *si, X509_ATTRIBUTE *attr); -int CMS_unsigned_add1_attr_by_OBJ(CMS_SignerInfo *si, - const ASN1_OBJECT *obj, int type, - const void *bytes, int len); -int CMS_unsigned_add1_attr_by_NID(CMS_SignerInfo *si, - int nid, int type, - const void *bytes, int len); -int CMS_unsigned_add1_attr_by_txt(CMS_SignerInfo *si, - const char *attrname, int type, - const void *bytes, int len); -void *CMS_unsigned_get0_data_by_OBJ(CMS_SignerInfo *si, ASN1_OBJECT *oid, - int lastpos, int type); - -#ifdef HEADER_X509V3_H - -int CMS_get1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest **prr); -CMS_ReceiptRequest *CMS_ReceiptRequest_create0(unsigned char *id, int idlen, - int allorfirst, - STACK_OF(GENERAL_NAMES) *receiptList, - STACK_OF(GENERAL_NAMES) *receiptsTo); -int CMS_add1_ReceiptRequest(CMS_SignerInfo *si, CMS_ReceiptRequest *rr); -void CMS_ReceiptRequest_get0_values(CMS_ReceiptRequest *rr, - ASN1_STRING **pcid, - int *pallorfirst, - STACK_OF(GENERAL_NAMES) **plist, - STACK_OF(GENERAL_NAMES) **prto); - -#endif - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_CMS_strings(void); - -/* Error codes for the CMS functions. */ - -/* Function codes. */ -#define CMS_F_CHECK_CONTENT 99 -#define CMS_F_CMS_ADD0_CERT 164 -#define CMS_F_CMS_ADD0_RECIPIENT_KEY 100 -#define CMS_F_CMS_ADD0_RECIPIENT_PASSWORD 165 -#define CMS_F_CMS_ADD1_RECEIPTREQUEST 158 -#define CMS_F_CMS_ADD1_RECIPIENT_CERT 101 -#define CMS_F_CMS_ADD1_SIGNER 102 -#define CMS_F_CMS_ADD1_SIGNINGTIME 103 -#define CMS_F_CMS_COMPRESS 104 -#define CMS_F_CMS_COMPRESSEDDATA_CREATE 105 -#define CMS_F_CMS_COMPRESSEDDATA_INIT_BIO 106 -#define CMS_F_CMS_COPY_CONTENT 107 -#define CMS_F_CMS_COPY_MESSAGEDIGEST 108 -#define CMS_F_CMS_DATA 109 -#define CMS_F_CMS_DATAFINAL 110 -#define CMS_F_CMS_DATAINIT 111 -#define CMS_F_CMS_DECRYPT 112 -#define CMS_F_CMS_DECRYPT_SET1_KEY 113 -#define CMS_F_CMS_DECRYPT_SET1_PASSWORD 166 -#define CMS_F_CMS_DECRYPT_SET1_PKEY 114 -#define CMS_F_CMS_DIGESTALGORITHM_FIND_CTX 115 -#define CMS_F_CMS_DIGESTALGORITHM_INIT_BIO 116 -#define CMS_F_CMS_DIGESTEDDATA_DO_FINAL 117 -#define CMS_F_CMS_DIGEST_VERIFY 118 -#define CMS_F_CMS_ENCODE_RECEIPT 161 -#define CMS_F_CMS_ENCRYPT 119 -#define CMS_F_CMS_ENCRYPTEDCONTENT_INIT_BIO 120 -#define CMS_F_CMS_ENCRYPTEDDATA_DECRYPT 121 -#define CMS_F_CMS_ENCRYPTEDDATA_ENCRYPT 122 -#define CMS_F_CMS_ENCRYPTEDDATA_SET1_KEY 123 -#define CMS_F_CMS_ENVELOPEDDATA_CREATE 124 -#define CMS_F_CMS_ENVELOPEDDATA_INIT_BIO 125 -#define CMS_F_CMS_ENVELOPED_DATA_INIT 126 -#define CMS_F_CMS_FINAL 127 -#define CMS_F_CMS_GET0_CERTIFICATE_CHOICES 128 -#define CMS_F_CMS_GET0_CONTENT 129 -#define CMS_F_CMS_GET0_ECONTENT_TYPE 130 -#define CMS_F_CMS_GET0_ENVELOPED 131 -#define CMS_F_CMS_GET0_REVOCATION_CHOICES 132 -#define CMS_F_CMS_GET0_SIGNED 133 -#define CMS_F_CMS_MSGSIGDIGEST_ADD1 162 -#define CMS_F_CMS_RECEIPTREQUEST_CREATE0 159 -#define CMS_F_CMS_RECEIPT_VERIFY 160 -#define CMS_F_CMS_RECIPIENTINFO_DECRYPT 134 -#define CMS_F_CMS_RECIPIENTINFO_KEKRI_DECRYPT 135 -#define CMS_F_CMS_RECIPIENTINFO_KEKRI_ENCRYPT 136 -#define CMS_F_CMS_RECIPIENTINFO_KEKRI_GET0_ID 137 -#define CMS_F_CMS_RECIPIENTINFO_KEKRI_ID_CMP 138 -#define CMS_F_CMS_RECIPIENTINFO_KTRI_CERT_CMP 139 -#define CMS_F_CMS_RECIPIENTINFO_KTRI_DECRYPT 140 -#define CMS_F_CMS_RECIPIENTINFO_KTRI_ENCRYPT 141 -#define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_ALGS 142 -#define CMS_F_CMS_RECIPIENTINFO_KTRI_GET0_SIGNER_ID 143 -#define CMS_F_CMS_RECIPIENTINFO_PWRI_CRYPT 167 -#define CMS_F_CMS_RECIPIENTINFO_SET0_KEY 144 -#define CMS_F_CMS_RECIPIENTINFO_SET0_PASSWORD 168 -#define CMS_F_CMS_RECIPIENTINFO_SET0_PKEY 145 -#define CMS_F_CMS_SET1_SIGNERIDENTIFIER 146 -#define CMS_F_CMS_SET_DETACHED 147 -#define CMS_F_CMS_SIGN 148 -#define CMS_F_CMS_SIGNED_DATA_INIT 149 -#define CMS_F_CMS_SIGNERINFO_CONTENT_SIGN 150 -#define CMS_F_CMS_SIGNERINFO_SIGN 151 -#define CMS_F_CMS_SIGNERINFO_VERIFY 152 -#define CMS_F_CMS_SIGNERINFO_VERIFY_CERT 153 -#define CMS_F_CMS_SIGNERINFO_VERIFY_CONTENT 154 -#define CMS_F_CMS_SIGN_RECEIPT 163 -#define CMS_F_CMS_STREAM 155 -#define CMS_F_CMS_UNCOMPRESS 156 -#define CMS_F_CMS_VERIFY 157 - -/* Reason codes. */ -#define CMS_R_ADD_SIGNER_ERROR 99 -#define CMS_R_CERTIFICATE_ALREADY_PRESENT 175 -#define CMS_R_CERTIFICATE_HAS_NO_KEYID 160 -#define CMS_R_CERTIFICATE_VERIFY_ERROR 100 -#define CMS_R_CIPHER_INITIALISATION_ERROR 101 -#define CMS_R_CIPHER_PARAMETER_INITIALISATION_ERROR 102 -#define CMS_R_CMS_DATAFINAL_ERROR 103 -#define CMS_R_CMS_LIB 104 -#define CMS_R_CONTENTIDENTIFIER_MISMATCH 170 -#define CMS_R_CONTENT_NOT_FOUND 105 -#define CMS_R_CONTENT_TYPE_MISMATCH 171 -#define CMS_R_CONTENT_TYPE_NOT_COMPRESSED_DATA 106 -#define CMS_R_CONTENT_TYPE_NOT_ENVELOPED_DATA 107 -#define CMS_R_CONTENT_TYPE_NOT_SIGNED_DATA 108 -#define CMS_R_CONTENT_VERIFY_ERROR 109 -#define CMS_R_CTRL_ERROR 110 -#define CMS_R_CTRL_FAILURE 111 -#define CMS_R_DECRYPT_ERROR 112 -#define CMS_R_DIGEST_ERROR 161 -#define CMS_R_ERROR_GETTING_PUBLIC_KEY 113 -#define CMS_R_ERROR_READING_MESSAGEDIGEST_ATTRIBUTE 114 -#define CMS_R_ERROR_SETTING_KEY 115 -#define CMS_R_ERROR_SETTING_RECIPIENTINFO 116 -#define CMS_R_INVALID_ENCRYPTED_KEY_LENGTH 117 -#define CMS_R_INVALID_KEY_ENCRYPTION_PARAMETER 176 -#define CMS_R_INVALID_KEY_LENGTH 118 -#define CMS_R_MD_BIO_INIT_ERROR 119 -#define CMS_R_MESSAGEDIGEST_ATTRIBUTE_WRONG_LENGTH 120 -#define CMS_R_MESSAGEDIGEST_WRONG_LENGTH 121 -#define CMS_R_MSGSIGDIGEST_ERROR 172 -#define CMS_R_MSGSIGDIGEST_VERIFICATION_FAILURE 162 -#define CMS_R_MSGSIGDIGEST_WRONG_LENGTH 163 -#define CMS_R_NEED_ONE_SIGNER 164 -#define CMS_R_NOT_A_SIGNED_RECEIPT 165 -#define CMS_R_NOT_ENCRYPTED_DATA 122 -#define CMS_R_NOT_KEK 123 -#define CMS_R_NOT_KEY_TRANSPORT 124 -#define CMS_R_NOT_PWRI 177 -#define CMS_R_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 125 -#define CMS_R_NO_CIPHER 126 -#define CMS_R_NO_CONTENT 127 -#define CMS_R_NO_CONTENT_TYPE 173 -#define CMS_R_NO_DEFAULT_DIGEST 128 -#define CMS_R_NO_DIGEST_SET 129 -#define CMS_R_NO_KEY 130 -#define CMS_R_NO_KEY_OR_CERT 174 -#define CMS_R_NO_MATCHING_DIGEST 131 -#define CMS_R_NO_MATCHING_RECIPIENT 132 -#define CMS_R_NO_MATCHING_SIGNATURE 166 -#define CMS_R_NO_MSGSIGDIGEST 167 -#define CMS_R_NO_PASSWORD 178 -#define CMS_R_NO_PRIVATE_KEY 133 -#define CMS_R_NO_PUBLIC_KEY 134 -#define CMS_R_NO_RECEIPT_REQUEST 168 -#define CMS_R_NO_SIGNERS 135 -#define CMS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 136 -#define CMS_R_RECEIPT_DECODE_ERROR 169 -#define CMS_R_RECIPIENT_ERROR 137 -#define CMS_R_SIGNER_CERTIFICATE_NOT_FOUND 138 -#define CMS_R_SIGNFINAL_ERROR 139 -#define CMS_R_SMIME_TEXT_ERROR 140 -#define CMS_R_STORE_INIT_ERROR 141 -#define CMS_R_TYPE_NOT_COMPRESSED_DATA 142 -#define CMS_R_TYPE_NOT_DATA 143 -#define CMS_R_TYPE_NOT_DIGESTED_DATA 144 -#define CMS_R_TYPE_NOT_ENCRYPTED_DATA 145 -#define CMS_R_TYPE_NOT_ENVELOPED_DATA 146 -#define CMS_R_UNABLE_TO_FINALIZE_CONTEXT 147 -#define CMS_R_UNKNOWN_CIPHER 148 -#define CMS_R_UNKNOWN_DIGEST_ALGORIHM 149 -#define CMS_R_UNKNOWN_ID 150 -#define CMS_R_UNSUPPORTED_COMPRESSION_ALGORITHM 151 -#define CMS_R_UNSUPPORTED_CONTENT_TYPE 152 -#define CMS_R_UNSUPPORTED_KEK_ALGORITHM 153 -#define CMS_R_UNSUPPORTED_KEY_ENCRYPTION_ALGORITHM 179 -#define CMS_R_UNSUPPORTED_RECIPIENT_TYPE 154 -#define CMS_R_UNSUPPORTED_RECPIENTINFO_TYPE 155 -#define CMS_R_UNSUPPORTED_TYPE 156 -#define CMS_R_UNWRAP_ERROR 157 -#define CMS_R_UNWRAP_FAILURE 180 -#define CMS_R_VERIFICATION_FAILURE 158 -#define CMS_R_WRAP_ERROR 159 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/comp.h b/ext/bin/libcrypto/include/openssl/comp.h deleted file mode 100644 index 4b405c7d4..000000000 --- a/ext/bin/libcrypto/include/openssl/comp.h +++ /dev/null @@ -1,80 +0,0 @@ - -#ifndef HEADER_COMP_H -#define HEADER_COMP_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct comp_ctx_st COMP_CTX; - -typedef struct comp_method_st - { - int type; /* NID for compression library */ - const char *name; /* A text string to identify the library */ - int (*init)(COMP_CTX *ctx); - void (*finish)(COMP_CTX *ctx); - int (*compress)(COMP_CTX *ctx, - unsigned char *out, unsigned int olen, - unsigned char *in, unsigned int ilen); - int (*expand)(COMP_CTX *ctx, - unsigned char *out, unsigned int olen, - unsigned char *in, unsigned int ilen); - /* The following two do NOTHING, but are kept for backward compatibility */ - long (*ctrl)(void); - long (*callback_ctrl)(void); - } COMP_METHOD; - -struct comp_ctx_st - { - COMP_METHOD *meth; - unsigned long compress_in; - unsigned long compress_out; - unsigned long expand_in; - unsigned long expand_out; - - CRYPTO_EX_DATA ex_data; - }; - - -COMP_CTX *COMP_CTX_new(COMP_METHOD *meth); -void COMP_CTX_free(COMP_CTX *ctx); -int COMP_compress_block(COMP_CTX *ctx, unsigned char *out, int olen, - unsigned char *in, int ilen); -int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, - unsigned char *in, int ilen); -COMP_METHOD *COMP_rle(void ); -COMP_METHOD *COMP_zlib(void ); -void COMP_zlib_cleanup(void); - -#ifdef HEADER_BIO_H -#ifdef ZLIB -BIO_METHOD *BIO_f_zlib(void); -#endif -#endif - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_COMP_strings(void); - -/* Error codes for the COMP functions. */ - -/* Function codes. */ -#define COMP_F_BIO_ZLIB_FLUSH 99 -#define COMP_F_BIO_ZLIB_NEW 100 -#define COMP_F_BIO_ZLIB_READ 101 -#define COMP_F_BIO_ZLIB_WRITE 102 - -/* Reason codes. */ -#define COMP_R_ZLIB_DEFLATE_ERROR 99 -#define COMP_R_ZLIB_INFLATE_ERROR 100 -#define COMP_R_ZLIB_NOT_SUPPORTED 101 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/conf.h b/ext/bin/libcrypto/include/openssl/conf.h deleted file mode 100644 index c2199978a..000000000 --- a/ext/bin/libcrypto/include/openssl/conf.h +++ /dev/null @@ -1,263 +0,0 @@ -/* crypto/conf/conf.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_CONF_H -#define HEADER_CONF_H - -#include -#include -#include -#include -#include - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct - { - char *section; - char *name; - char *value; - } CONF_VALUE; - -DECLARE_STACK_OF(CONF_VALUE) -DECLARE_LHASH_OF(CONF_VALUE); - -struct conf_st; -struct conf_method_st; -typedef struct conf_method_st CONF_METHOD; - -struct conf_method_st - { - const char *name; - CONF *(*create)(CONF_METHOD *meth); - int (*init)(CONF *conf); - int (*destroy)(CONF *conf); - int (*destroy_data)(CONF *conf); - int (*load_bio)(CONF *conf, BIO *bp, long *eline); - int (*dump)(const CONF *conf, BIO *bp); - int (*is_number)(const CONF *conf, char c); - int (*to_int)(const CONF *conf, char c); - int (*load)(CONF *conf, const char *name, long *eline); - }; - -/* Module definitions */ - -typedef struct conf_imodule_st CONF_IMODULE; -typedef struct conf_module_st CONF_MODULE; - -DECLARE_STACK_OF(CONF_MODULE) -DECLARE_STACK_OF(CONF_IMODULE) - -/* DSO module function typedefs */ -typedef int conf_init_func(CONF_IMODULE *md, const CONF *cnf); -typedef void conf_finish_func(CONF_IMODULE *md); - -#define CONF_MFLAGS_IGNORE_ERRORS 0x1 -#define CONF_MFLAGS_IGNORE_RETURN_CODES 0x2 -#define CONF_MFLAGS_SILENT 0x4 -#define CONF_MFLAGS_NO_DSO 0x8 -#define CONF_MFLAGS_IGNORE_MISSING_FILE 0x10 -#define CONF_MFLAGS_DEFAULT_SECTION 0x20 - -int CONF_set_default_method(CONF_METHOD *meth); -void CONF_set_nconf(CONF *conf,LHASH_OF(CONF_VALUE) *hash); -LHASH_OF(CONF_VALUE) *CONF_load(LHASH_OF(CONF_VALUE) *conf,const char *file, - long *eline); -#ifndef OPENSSL_NO_FP_API -LHASH_OF(CONF_VALUE) *CONF_load_fp(LHASH_OF(CONF_VALUE) *conf, FILE *fp, - long *eline); -#endif -LHASH_OF(CONF_VALUE) *CONF_load_bio(LHASH_OF(CONF_VALUE) *conf, BIO *bp,long *eline); -STACK_OF(CONF_VALUE) *CONF_get_section(LHASH_OF(CONF_VALUE) *conf, - const char *section); -char *CONF_get_string(LHASH_OF(CONF_VALUE) *conf,const char *group, - const char *name); -long CONF_get_number(LHASH_OF(CONF_VALUE) *conf,const char *group, - const char *name); -void CONF_free(LHASH_OF(CONF_VALUE) *conf); -int CONF_dump_fp(LHASH_OF(CONF_VALUE) *conf, FILE *out); -int CONF_dump_bio(LHASH_OF(CONF_VALUE) *conf, BIO *out); - -void OPENSSL_config(const char *config_name); -void OPENSSL_no_config(void); - -/* New conf code. The semantics are different from the functions above. - If that wasn't the case, the above functions would have been replaced */ - -struct conf_st - { - CONF_METHOD *meth; - void *meth_data; - LHASH_OF(CONF_VALUE) *data; - }; - -CONF *NCONF_new(CONF_METHOD *meth); -CONF_METHOD *NCONF_default(void); -CONF_METHOD *NCONF_WIN32(void); -#if 0 /* Just to give you an idea of what I have in mind */ -CONF_METHOD *NCONF_XML(void); -#endif -void NCONF_free(CONF *conf); -void NCONF_free_data(CONF *conf); - -int NCONF_load(CONF *conf,const char *file,long *eline); -#ifndef OPENSSL_NO_FP_API -int NCONF_load_fp(CONF *conf, FILE *fp,long *eline); -#endif -int NCONF_load_bio(CONF *conf, BIO *bp,long *eline); -STACK_OF(CONF_VALUE) *NCONF_get_section(const CONF *conf,const char *section); -char *NCONF_get_string(const CONF *conf,const char *group,const char *name); -int NCONF_get_number_e(const CONF *conf,const char *group,const char *name, - long *result); -int NCONF_dump_fp(const CONF *conf, FILE *out); -int NCONF_dump_bio(const CONF *conf, BIO *out); - -#if 0 /* The following function has no error checking, - and should therefore be avoided */ -long NCONF_get_number(CONF *conf,char *group,char *name); -#else -#define NCONF_get_number(c,g,n,r) NCONF_get_number_e(c,g,n,r) -#endif - -/* Module functions */ - -int CONF_modules_load(const CONF *cnf, const char *appname, - unsigned long flags); -int CONF_modules_load_file(const char *filename, const char *appname, - unsigned long flags); -void CONF_modules_unload(int all); -void CONF_modules_finish(void); -void CONF_modules_free(void); -int CONF_module_add(const char *name, conf_init_func *ifunc, - conf_finish_func *ffunc); - -const char *CONF_imodule_get_name(const CONF_IMODULE *md); -const char *CONF_imodule_get_value(const CONF_IMODULE *md); -void *CONF_imodule_get_usr_data(const CONF_IMODULE *md); -void CONF_imodule_set_usr_data(CONF_IMODULE *md, void *usr_data); -CONF_MODULE *CONF_imodule_get_module(const CONF_IMODULE *md); -unsigned long CONF_imodule_get_flags(const CONF_IMODULE *md); -void CONF_imodule_set_flags(CONF_IMODULE *md, unsigned long flags); -void *CONF_module_get_usr_data(CONF_MODULE *pmod); -void CONF_module_set_usr_data(CONF_MODULE *pmod, void *usr_data); - -char *CONF_get1_default_config_file(void); - -int CONF_parse_list(const char *list, int sep, int nospc, - int (*list_cb)(const char *elem, int len, void *usr), void *arg); - -void OPENSSL_load_builtin_modules(void); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_CONF_strings(void); - -/* Error codes for the CONF functions. */ - -/* Function codes. */ -#define CONF_F_CONF_DUMP_FP 104 -#define CONF_F_CONF_LOAD 100 -#define CONF_F_CONF_LOAD_BIO 102 -#define CONF_F_CONF_LOAD_FP 103 -#define CONF_F_CONF_MODULES_LOAD 116 -#define CONF_F_CONF_PARSE_LIST 119 -#define CONF_F_DEF_LOAD 120 -#define CONF_F_DEF_LOAD_BIO 121 -#define CONF_F_MODULE_INIT 115 -#define CONF_F_MODULE_LOAD_DSO 117 -#define CONF_F_MODULE_RUN 118 -#define CONF_F_NCONF_DUMP_BIO 105 -#define CONF_F_NCONF_DUMP_FP 106 -#define CONF_F_NCONF_GET_NUMBER 107 -#define CONF_F_NCONF_GET_NUMBER_E 112 -#define CONF_F_NCONF_GET_SECTION 108 -#define CONF_F_NCONF_GET_STRING 109 -#define CONF_F_NCONF_LOAD 113 -#define CONF_F_NCONF_LOAD_BIO 110 -#define CONF_F_NCONF_LOAD_FP 114 -#define CONF_F_NCONF_NEW 111 -#define CONF_F_STR_COPY 101 - -/* Reason codes. */ -#define CONF_R_ERROR_LOADING_DSO 110 -#define CONF_R_LIST_CANNOT_BE_NULL 115 -#define CONF_R_MISSING_CLOSE_SQUARE_BRACKET 100 -#define CONF_R_MISSING_EQUAL_SIGN 101 -#define CONF_R_MISSING_FINISH_FUNCTION 111 -#define CONF_R_MISSING_INIT_FUNCTION 112 -#define CONF_R_MODULE_INITIALIZATION_ERROR 109 -#define CONF_R_NO_CLOSE_BRACE 102 -#define CONF_R_NO_CONF 105 -#define CONF_R_NO_CONF_OR_ENVIRONMENT_VARIABLE 106 -#define CONF_R_NO_SECTION 107 -#define CONF_R_NO_SUCH_FILE 114 -#define CONF_R_NO_VALUE 108 -#define CONF_R_UNABLE_TO_CREATE_NEW_SECTION 103 -#define CONF_R_UNKNOWN_MODULE_NAME 113 -#define CONF_R_VARIABLE_HAS_NO_VALUE 104 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/conf_api.h b/ext/bin/libcrypto/include/openssl/conf_api.h deleted file mode 100644 index 87a954aff..000000000 --- a/ext/bin/libcrypto/include/openssl/conf_api.h +++ /dev/null @@ -1,89 +0,0 @@ -/* conf_api.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_CONF_API_H -#define HEADER_CONF_API_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Up until OpenSSL 0.9.5a, this was new_section */ -CONF_VALUE *_CONF_new_section(CONF *conf, const char *section); -/* Up until OpenSSL 0.9.5a, this was get_section */ -CONF_VALUE *_CONF_get_section(const CONF *conf, const char *section); -/* Up until OpenSSL 0.9.5a, this was CONF_get_section */ -STACK_OF(CONF_VALUE) *_CONF_get_section_values(const CONF *conf, - const char *section); - -int _CONF_add_string(CONF *conf, CONF_VALUE *section, CONF_VALUE *value); -char *_CONF_get_string(const CONF *conf, const char *section, - const char *name); -long _CONF_get_number(const CONF *conf, const char *section, const char *name); - -int _CONF_new_data(CONF *conf); -void _CONF_free_data(CONF *conf); - -#ifdef __cplusplus -} -#endif -#endif - diff --git a/ext/bin/libcrypto/include/openssl/crypto.h b/ext/bin/libcrypto/include/openssl/crypto.h deleted file mode 100644 index f92fc5182..000000000 --- a/ext/bin/libcrypto/include/openssl/crypto.h +++ /dev/null @@ -1,611 +0,0 @@ -/* crypto/crypto.h */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. - */ - -#ifndef HEADER_CRYPTO_H -#define HEADER_CRYPTO_H - -#include - -#include - -#ifndef OPENSSL_NO_FP_API -#include -#endif - -#include -#include -#include -#include - -#ifdef CHARSET_EBCDIC -#include -#endif - -/* Resolve problems on some operating systems with symbol names that clash - one way or another */ -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Backward compatibility to SSLeay */ -/* This is more to be used to check the correct DLL is being used - * in the MS world. */ -#define SSLEAY_VERSION_NUMBER OPENSSL_VERSION_NUMBER -#define SSLEAY_VERSION 0 -/* #define SSLEAY_OPTIONS 1 no longer supported */ -#define SSLEAY_CFLAGS 2 -#define SSLEAY_BUILT_ON 3 -#define SSLEAY_PLATFORM 4 -#define SSLEAY_DIR 5 - -/* Already declared in ossl_typ.h */ -#if 0 -typedef struct crypto_ex_data_st CRYPTO_EX_DATA; -/* Called when a new object is created */ -typedef int CRYPTO_EX_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -/* Called when an object is free()ed */ -typedef void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -/* Called when we need to dup an object */ -typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d, - int idx, long argl, void *argp); -#endif - -/* A generic structure to pass assorted data in a expandable way */ -typedef struct openssl_item_st - { - int code; - void *value; /* Not used for flag attributes */ - size_t value_size; /* Max size of value for output, length for input */ - size_t *value_length; /* Returned length of value for output */ - } OPENSSL_ITEM; - - -/* When changing the CRYPTO_LOCK_* list, be sure to maintin the text lock - * names in cryptlib.c - */ - -#define CRYPTO_LOCK_ERR 1 -#define CRYPTO_LOCK_EX_DATA 2 -#define CRYPTO_LOCK_X509 3 -#define CRYPTO_LOCK_X509_INFO 4 -#define CRYPTO_LOCK_X509_PKEY 5 -#define CRYPTO_LOCK_X509_CRL 6 -#define CRYPTO_LOCK_X509_REQ 7 -#define CRYPTO_LOCK_DSA 8 -#define CRYPTO_LOCK_RSA 9 -#define CRYPTO_LOCK_EVP_PKEY 10 -#define CRYPTO_LOCK_X509_STORE 11 -#define CRYPTO_LOCK_SSL_CTX 12 -#define CRYPTO_LOCK_SSL_CERT 13 -#define CRYPTO_LOCK_SSL_SESSION 14 -#define CRYPTO_LOCK_SSL_SESS_CERT 15 -#define CRYPTO_LOCK_SSL 16 -#define CRYPTO_LOCK_SSL_METHOD 17 -#define CRYPTO_LOCK_RAND 18 -#define CRYPTO_LOCK_RAND2 19 -#define CRYPTO_LOCK_MALLOC 20 -#define CRYPTO_LOCK_BIO 21 -#define CRYPTO_LOCK_GETHOSTBYNAME 22 -#define CRYPTO_LOCK_GETSERVBYNAME 23 -#define CRYPTO_LOCK_READDIR 24 -#define CRYPTO_LOCK_RSA_BLINDING 25 -#define CRYPTO_LOCK_DH 26 -#define CRYPTO_LOCK_MALLOC2 27 -#define CRYPTO_LOCK_DSO 28 -#define CRYPTO_LOCK_DYNLOCK 29 -#define CRYPTO_LOCK_ENGINE 30 -#define CRYPTO_LOCK_UI 31 -#define CRYPTO_LOCK_ECDSA 32 -#define CRYPTO_LOCK_EC 33 -#define CRYPTO_LOCK_ECDH 34 -#define CRYPTO_LOCK_BN 35 -#define CRYPTO_LOCK_EC_PRE_COMP 36 -#define CRYPTO_LOCK_STORE 37 -#define CRYPTO_LOCK_COMP 38 -#define CRYPTO_LOCK_FIPS 39 -#define CRYPTO_LOCK_FIPS2 40 -#define CRYPTO_NUM_LOCKS 41 - -#define CRYPTO_LOCK 1 -#define CRYPTO_UNLOCK 2 -#define CRYPTO_READ 4 -#define CRYPTO_WRITE 8 - -#ifndef OPENSSL_NO_LOCKING -#ifndef CRYPTO_w_lock -#define CRYPTO_w_lock(type) \ - CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) -#define CRYPTO_w_unlock(type) \ - CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) -#define CRYPTO_r_lock(type) \ - CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__) -#define CRYPTO_r_unlock(type) \ - CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__) -#define CRYPTO_add(addr,amount,type) \ - CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__) -#endif -#else -#define CRYPTO_w_lock(a) -#define CRYPTO_w_unlock(a) -#define CRYPTO_r_lock(a) -#define CRYPTO_r_unlock(a) -#define CRYPTO_add(a,b,c) ((*(a))+=(b)) -#endif - -/* Some applications as well as some parts of OpenSSL need to allocate - and deallocate locks in a dynamic fashion. The following typedef - makes this possible in a type-safe manner. */ -/* struct CRYPTO_dynlock_value has to be defined by the application. */ -typedef struct - { - int references; - struct CRYPTO_dynlock_value *data; - } CRYPTO_dynlock; - - -/* The following can be used to detect memory leaks in the SSLeay library. - * It used, it turns on malloc checking */ - -#define CRYPTO_MEM_CHECK_OFF 0x0 /* an enume */ -#define CRYPTO_MEM_CHECK_ON 0x1 /* a bit */ -#define CRYPTO_MEM_CHECK_ENABLE 0x2 /* a bit */ -#define CRYPTO_MEM_CHECK_DISABLE 0x3 /* an enume */ - -/* The following are bit values to turn on or off options connected to the - * malloc checking functionality */ - -/* Adds time to the memory checking information */ -#define V_CRYPTO_MDEBUG_TIME 0x1 /* a bit */ -/* Adds thread number to the memory checking information */ -#define V_CRYPTO_MDEBUG_THREAD 0x2 /* a bit */ - -#define V_CRYPTO_MDEBUG_ALL (V_CRYPTO_MDEBUG_TIME | V_CRYPTO_MDEBUG_THREAD) - - -/* predec of the BIO type */ -typedef struct bio_st BIO_dummy; - -struct crypto_ex_data_st - { - STACK_OF(void) *sk; - int dummy; /* gcc is screwing up this data structure :-( */ - }; -DECLARE_STACK_OF(void) - -/* This stuff is basically class callback functions - * The current classes are SSL_CTX, SSL, SSL_SESSION, and a few more */ - -typedef struct crypto_ex_data_func_st - { - long argl; /* Arbitary long */ - void *argp; /* Arbitary void * */ - CRYPTO_EX_new *new_func; - CRYPTO_EX_free *free_func; - CRYPTO_EX_dup *dup_func; - } CRYPTO_EX_DATA_FUNCS; - -DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS) - -/* Per class, we have a STACK of CRYPTO_EX_DATA_FUNCS for each CRYPTO_EX_DATA - * entry. - */ - -#define CRYPTO_EX_INDEX_BIO 0 -#define CRYPTO_EX_INDEX_SSL 1 -#define CRYPTO_EX_INDEX_SSL_CTX 2 -#define CRYPTO_EX_INDEX_SSL_SESSION 3 -#define CRYPTO_EX_INDEX_X509_STORE 4 -#define CRYPTO_EX_INDEX_X509_STORE_CTX 5 -#define CRYPTO_EX_INDEX_RSA 6 -#define CRYPTO_EX_INDEX_DSA 7 -#define CRYPTO_EX_INDEX_DH 8 -#define CRYPTO_EX_INDEX_ENGINE 9 -#define CRYPTO_EX_INDEX_X509 10 -#define CRYPTO_EX_INDEX_UI 11 -#define CRYPTO_EX_INDEX_ECDSA 12 -#define CRYPTO_EX_INDEX_ECDH 13 -#define CRYPTO_EX_INDEX_COMP 14 -#define CRYPTO_EX_INDEX_STORE 15 - -/* Dynamically assigned indexes start from this value (don't use directly, use - * via CRYPTO_ex_data_new_class). */ -#define CRYPTO_EX_INDEX_USER 100 - - -/* This is the default callbacks, but we can have others as well: - * this is needed in Win32 where the application malloc and the - * library malloc may not be the same. - */ -#define CRYPTO_malloc_init() CRYPTO_set_mem_functions(\ - malloc, realloc, free) - -#if defined CRYPTO_MDEBUG_ALL || defined CRYPTO_MDEBUG_TIME || defined CRYPTO_MDEBUG_THREAD -# ifndef CRYPTO_MDEBUG /* avoid duplicate #define */ -# define CRYPTO_MDEBUG -# endif -#endif - -/* Set standard debugging functions (not done by default - * unless CRYPTO_MDEBUG is defined) */ -#define CRYPTO_malloc_debug_init() do {\ - CRYPTO_set_mem_debug_functions(\ - CRYPTO_dbg_malloc,\ - CRYPTO_dbg_realloc,\ - CRYPTO_dbg_free,\ - CRYPTO_dbg_set_options,\ - CRYPTO_dbg_get_options);\ - } while(0) - -int CRYPTO_mem_ctrl(int mode); -int CRYPTO_is_mem_check_on(void); - -/* for applications */ -#define MemCheck_start() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ON) -#define MemCheck_stop() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_OFF) - -/* for library-internal use */ -#define MemCheck_on() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_ENABLE) -#define MemCheck_off() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE) -#define is_MemCheck_on() CRYPTO_is_mem_check_on() - -#define OPENSSL_malloc(num) CRYPTO_malloc((int)num,__FILE__,__LINE__) -#define OPENSSL_strdup(str) CRYPTO_strdup((str),__FILE__,__LINE__) -#define OPENSSL_realloc(addr,num) \ - CRYPTO_realloc((char *)addr,(int)num,__FILE__,__LINE__) -#define OPENSSL_realloc_clean(addr,old_num,num) \ - CRYPTO_realloc_clean(addr,old_num,num,__FILE__,__LINE__) -#define OPENSSL_remalloc(addr,num) \ - CRYPTO_remalloc((char **)addr,(int)num,__FILE__,__LINE__) -#define OPENSSL_freeFunc CRYPTO_free -#define OPENSSL_free(addr) CRYPTO_free(addr) - -#define OPENSSL_malloc_locked(num) \ - CRYPTO_malloc_locked((int)num,__FILE__,__LINE__) -#define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr) - - -const char *SSLeay_version(int type); -unsigned long SSLeay(void); - -int OPENSSL_issetugid(void); - -/* An opaque type representing an implementation of "ex_data" support */ -typedef struct st_CRYPTO_EX_DATA_IMPL CRYPTO_EX_DATA_IMPL; -/* Return an opaque pointer to the current "ex_data" implementation */ -const CRYPTO_EX_DATA_IMPL *CRYPTO_get_ex_data_implementation(void); -/* Sets the "ex_data" implementation to be used (if it's not too late) */ -int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i); -/* Get a new "ex_data" class, and return the corresponding "class_index" */ -int CRYPTO_ex_data_new_class(void); -/* Within a given class, get/register a new index */ -int CRYPTO_get_ex_new_index(int class_index, long argl, void *argp, - CRYPTO_EX_new *new_func, CRYPTO_EX_dup *dup_func, - CRYPTO_EX_free *free_func); -/* Initialise/duplicate/free CRYPTO_EX_DATA variables corresponding to a given - * class (invokes whatever per-class callbacks are applicable) */ -int CRYPTO_new_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); -int CRYPTO_dup_ex_data(int class_index, CRYPTO_EX_DATA *to, - CRYPTO_EX_DATA *from); -void CRYPTO_free_ex_data(int class_index, void *obj, CRYPTO_EX_DATA *ad); -/* Get/set data in a CRYPTO_EX_DATA variable corresponding to a particular index - * (relative to the class type involved) */ -int CRYPTO_set_ex_data(CRYPTO_EX_DATA *ad, int idx, void *val); -void *CRYPTO_get_ex_data(const CRYPTO_EX_DATA *ad,int idx); -/* This function cleans up all "ex_data" state. It mustn't be called under - * potential race-conditions. */ -void CRYPTO_cleanup_all_ex_data(void); - -int CRYPTO_get_new_lockid(char *name); - -int CRYPTO_num_locks(void); /* return CRYPTO_NUM_LOCKS (shared libs!) */ -void CRYPTO_lock(int mode, int type,const char *file,int line); -void CRYPTO_set_locking_callback(void (*func)(int mode,int type, - const char *file,int line)); -void (*CRYPTO_get_locking_callback(void))(int mode,int type,const char *file, - int line); -void CRYPTO_set_add_lock_callback(int (*func)(int *num,int mount,int type, - const char *file, int line)); -int (*CRYPTO_get_add_lock_callback(void))(int *num,int mount,int type, - const char *file,int line); - -/* Don't use this structure directly. */ -typedef struct crypto_threadid_st - { - void *ptr; - unsigned long val; - } CRYPTO_THREADID; -/* Only use CRYPTO_THREADID_set_[numeric|pointer]() within callbacks */ -void CRYPTO_THREADID_set_numeric(CRYPTO_THREADID *id, unsigned long val); -void CRYPTO_THREADID_set_pointer(CRYPTO_THREADID *id, void *ptr); -int CRYPTO_THREADID_set_callback(void (*threadid_func)(CRYPTO_THREADID *)); -void (*CRYPTO_THREADID_get_callback(void))(CRYPTO_THREADID *); -void CRYPTO_THREADID_current(CRYPTO_THREADID *id); -int CRYPTO_THREADID_cmp(const CRYPTO_THREADID *a, const CRYPTO_THREADID *b); -void CRYPTO_THREADID_cpy(CRYPTO_THREADID *dest, const CRYPTO_THREADID *src); -unsigned long CRYPTO_THREADID_hash(const CRYPTO_THREADID *id); -#ifndef OPENSSL_NO_DEPRECATED -void CRYPTO_set_id_callback(unsigned long (*func)(void)); -unsigned long (*CRYPTO_get_id_callback(void))(void); -unsigned long CRYPTO_thread_id(void); -#endif - -const char *CRYPTO_get_lock_name(int type); -int CRYPTO_add_lock(int *pointer,int amount,int type, const char *file, - int line); - -int CRYPTO_get_new_dynlockid(void); -void CRYPTO_destroy_dynlockid(int i); -struct CRYPTO_dynlock_value *CRYPTO_get_dynlock_value(int i); -void CRYPTO_set_dynlock_create_callback(struct CRYPTO_dynlock_value *(*dyn_create_function)(const char *file, int line)); -void CRYPTO_set_dynlock_lock_callback(void (*dyn_lock_function)(int mode, struct CRYPTO_dynlock_value *l, const char *file, int line)); -void CRYPTO_set_dynlock_destroy_callback(void (*dyn_destroy_function)(struct CRYPTO_dynlock_value *l, const char *file, int line)); -struct CRYPTO_dynlock_value *(*CRYPTO_get_dynlock_create_callback(void))(const char *file,int line); -void (*CRYPTO_get_dynlock_lock_callback(void))(int mode, struct CRYPTO_dynlock_value *l, const char *file,int line); -void (*CRYPTO_get_dynlock_destroy_callback(void))(struct CRYPTO_dynlock_value *l, const char *file,int line); - -/* CRYPTO_set_mem_functions includes CRYPTO_set_locked_mem_functions -- - * call the latter last if you need different functions */ -int CRYPTO_set_mem_functions(void *(*m)(size_t),void *(*r)(void *,size_t), void (*f)(void *)); -int CRYPTO_set_locked_mem_functions(void *(*m)(size_t), void (*free_func)(void *)); -int CRYPTO_set_mem_ex_functions(void *(*m)(size_t,const char *,int), - void *(*r)(void *,size_t,const char *,int), - void (*f)(void *)); -int CRYPTO_set_locked_mem_ex_functions(void *(*m)(size_t,const char *,int), - void (*free_func)(void *)); -int CRYPTO_set_mem_debug_functions(void (*m)(void *,int,const char *,int,int), - void (*r)(void *,void *,int,const char *,int,int), - void (*f)(void *,int), - void (*so)(long), - long (*go)(void)); -void CRYPTO_get_mem_functions(void *(**m)(size_t),void *(**r)(void *, size_t), void (**f)(void *)); -void CRYPTO_get_locked_mem_functions(void *(**m)(size_t), void (**f)(void *)); -void CRYPTO_get_mem_ex_functions(void *(**m)(size_t,const char *,int), - void *(**r)(void *, size_t,const char *,int), - void (**f)(void *)); -void CRYPTO_get_locked_mem_ex_functions(void *(**m)(size_t,const char *,int), - void (**f)(void *)); -void CRYPTO_get_mem_debug_functions(void (**m)(void *,int,const char *,int,int), - void (**r)(void *,void *,int,const char *,int,int), - void (**f)(void *,int), - void (**so)(long), - long (**go)(void)); - -void *CRYPTO_malloc_locked(int num, const char *file, int line); -void CRYPTO_free_locked(void *ptr); -void *CRYPTO_malloc(int num, const char *file, int line); -char *CRYPTO_strdup(const char *str, const char *file, int line); -void CRYPTO_free(void *ptr); -void *CRYPTO_realloc(void *addr,int num, const char *file, int line); -void *CRYPTO_realloc_clean(void *addr,int old_num,int num,const char *file, - int line); -void *CRYPTO_remalloc(void *addr,int num, const char *file, int line); - -void OPENSSL_cleanse(void *ptr, size_t len); - -void CRYPTO_set_mem_debug_options(long bits); -long CRYPTO_get_mem_debug_options(void); - -#define CRYPTO_push_info(info) \ - CRYPTO_push_info_(info, __FILE__, __LINE__); -int CRYPTO_push_info_(const char *info, const char *file, int line); -int CRYPTO_pop_info(void); -int CRYPTO_remove_all_info(void); - - -/* Default debugging functions (enabled by CRYPTO_malloc_debug_init() macro; - * used as default in CRYPTO_MDEBUG compilations): */ -/* The last argument has the following significance: - * - * 0: called before the actual memory allocation has taken place - * 1: called after the actual memory allocation has taken place - */ -void CRYPTO_dbg_malloc(void *addr,int num,const char *file,int line,int before_p); -void CRYPTO_dbg_realloc(void *addr1,void *addr2,int num,const char *file,int line,int before_p); -void CRYPTO_dbg_free(void *addr,int before_p); -/* Tell the debugging code about options. By default, the following values - * apply: - * - * 0: Clear all options. - * V_CRYPTO_MDEBUG_TIME (1): Set the "Show Time" option. - * V_CRYPTO_MDEBUG_THREAD (2): Set the "Show Thread Number" option. - * V_CRYPTO_MDEBUG_ALL (3): 1 + 2 - */ -void CRYPTO_dbg_set_options(long bits); -long CRYPTO_dbg_get_options(void); - - -#ifndef OPENSSL_NO_FP_API -void CRYPTO_mem_leaks_fp(FILE *); -#endif -void CRYPTO_mem_leaks(struct bio_st *bio); -/* unsigned long order, char *file, int line, int num_bytes, char *addr */ -typedef void *CRYPTO_MEM_LEAK_CB(unsigned long, const char *, int, int, void *); -void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb); - -/* die if we have to */ -void OpenSSLDie(const char *file,int line,const char *assertion); -#define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__, #e),1)) - -unsigned long *OPENSSL_ia32cap_loc(void); -#define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) -int OPENSSL_isservice(void); - -int FIPS_mode(void); -int FIPS_mode_set(int r); - -void OPENSSL_init(void); - -#define fips_md_init(alg) fips_md_init_ctx(alg, alg) - -#ifdef OPENSSL_FIPS -#define fips_md_init_ctx(alg, cx) \ - int alg##_Init(cx##_CTX *c) \ - { \ - if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ - "Low level API call to digest " #alg " forbidden in FIPS mode!"); \ - return private_##alg##_Init(c); \ - } \ - int private_##alg##_Init(cx##_CTX *c) - -#define fips_cipher_abort(alg) \ - if (FIPS_mode()) OpenSSLDie(__FILE__, __LINE__, \ - "Low level API call to cipher " #alg " forbidden in FIPS mode!") - -#else -#define fips_md_init_ctx(alg, cx) \ - int alg##_Init(cx##_CTX *c) -#define fips_cipher_abort(alg) while(0) -#endif - -/* CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. It - * takes an amount of time dependent on |len|, but independent of the contents - * of |a| and |b|. Unlike memcmp, it cannot be used to put elements into a - * defined order as the return value when a != b is undefined, other than to be - * non-zero. */ -int CRYPTO_memcmp(const void *a, const void *b, size_t len); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_CRYPTO_strings(void); - -/* Error codes for the CRYPTO functions. */ - -/* Function codes. */ -#define CRYPTO_F_CRYPTO_GET_EX_NEW_INDEX 100 -#define CRYPTO_F_CRYPTO_GET_NEW_DYNLOCKID 103 -#define CRYPTO_F_CRYPTO_GET_NEW_LOCKID 101 -#define CRYPTO_F_CRYPTO_SET_EX_DATA 102 -#define CRYPTO_F_DEF_ADD_INDEX 104 -#define CRYPTO_F_DEF_GET_CLASS 105 -#define CRYPTO_F_FIPS_MODE_SET 109 -#define CRYPTO_F_INT_DUP_EX_DATA 106 -#define CRYPTO_F_INT_FREE_EX_DATA 107 -#define CRYPTO_F_INT_NEW_EX_DATA 108 - -/* Reason codes. */ -#define CRYPTO_R_FIPS_MODE_NOT_SUPPORTED 101 -#define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK 100 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/des.h b/ext/bin/libcrypto/include/openssl/des.h deleted file mode 100644 index 1eaedcbd2..000000000 --- a/ext/bin/libcrypto/include/openssl/des.h +++ /dev/null @@ -1,248 +0,0 @@ -/* crypto/des/des.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_NEW_DES_H -#define HEADER_NEW_DES_H - -#include /* OPENSSL_EXTERN, OPENSSL_NO_DES, - DES_LONG (via openssl/opensslconf.h */ - -#ifdef OPENSSL_NO_DES -#error DES is disabled. -#endif - -#ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef unsigned char DES_cblock[8]; -typedef /* const */ unsigned char const_DES_cblock[8]; -/* With "const", gcc 2.8.1 on Solaris thinks that DES_cblock * - * and const_DES_cblock * are incompatible pointer types. */ - -typedef struct DES_ks - { - union - { - DES_cblock cblock; - /* make sure things are correct size on machines with - * 8 byte longs */ - DES_LONG deslong[2]; - } ks[16]; - } DES_key_schedule; - -#ifndef OPENSSL_DISABLE_OLD_DES_SUPPORT -# ifndef OPENSSL_ENABLE_OLD_DES_SUPPORT -# define OPENSSL_ENABLE_OLD_DES_SUPPORT -# endif -#endif - -#ifdef OPENSSL_ENABLE_OLD_DES_SUPPORT -# include -#endif - -#define DES_KEY_SZ (sizeof(DES_cblock)) -#define DES_SCHEDULE_SZ (sizeof(DES_key_schedule)) - -#define DES_ENCRYPT 1 -#define DES_DECRYPT 0 - -#define DES_CBC_MODE 0 -#define DES_PCBC_MODE 1 - -#define DES_ecb2_encrypt(i,o,k1,k2,e) \ - DES_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) - -#define DES_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ - DES_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) - -#define DES_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ - DES_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) - -#define DES_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ - DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) - -OPENSSL_DECLARE_GLOBAL(int,DES_check_key); /* defaults to false */ -#define DES_check_key OPENSSL_GLOBAL_REF(DES_check_key) -OPENSSL_DECLARE_GLOBAL(int,DES_rw_mode); /* defaults to DES_PCBC_MODE */ -#define DES_rw_mode OPENSSL_GLOBAL_REF(DES_rw_mode) - -const char *DES_options(void); -void DES_ecb3_encrypt(const_DES_cblock *input, DES_cblock *output, - DES_key_schedule *ks1,DES_key_schedule *ks2, - DES_key_schedule *ks3, int enc); -DES_LONG DES_cbc_cksum(const unsigned char *input,DES_cblock *output, - long length,DES_key_schedule *schedule, - const_DES_cblock *ivec); -/* DES_cbc_encrypt does not update the IV! Use DES_ncbc_encrypt instead. */ -void DES_cbc_encrypt(const unsigned char *input,unsigned char *output, - long length,DES_key_schedule *schedule,DES_cblock *ivec, - int enc); -void DES_ncbc_encrypt(const unsigned char *input,unsigned char *output, - long length,DES_key_schedule *schedule,DES_cblock *ivec, - int enc); -void DES_xcbc_encrypt(const unsigned char *input,unsigned char *output, - long length,DES_key_schedule *schedule,DES_cblock *ivec, - const_DES_cblock *inw,const_DES_cblock *outw,int enc); -void DES_cfb_encrypt(const unsigned char *in,unsigned char *out,int numbits, - long length,DES_key_schedule *schedule,DES_cblock *ivec, - int enc); -void DES_ecb_encrypt(const_DES_cblock *input,DES_cblock *output, - DES_key_schedule *ks,int enc); - -/* This is the DES encryption function that gets called by just about - every other DES routine in the library. You should not use this - function except to implement 'modes' of DES. I say this because the - functions that call this routine do the conversion from 'char *' to - long, and this needs to be done to make sure 'non-aligned' memory - access do not occur. The characters are loaded 'little endian'. - Data is a pointer to 2 unsigned long's and ks is the - DES_key_schedule to use. enc, is non zero specifies encryption, - zero if decryption. */ -void DES_encrypt1(DES_LONG *data,DES_key_schedule *ks, int enc); - -/* This functions is the same as DES_encrypt1() except that the DES - initial permutation (IP) and final permutation (FP) have been left - out. As for DES_encrypt1(), you should not use this function. - It is used by the routines in the library that implement triple DES. - IP() DES_encrypt2() DES_encrypt2() DES_encrypt2() FP() is the same - as DES_encrypt1() DES_encrypt1() DES_encrypt1() except faster :-). */ -void DES_encrypt2(DES_LONG *data,DES_key_schedule *ks, int enc); - -void DES_encrypt3(DES_LONG *data, DES_key_schedule *ks1, - DES_key_schedule *ks2, DES_key_schedule *ks3); -void DES_decrypt3(DES_LONG *data, DES_key_schedule *ks1, - DES_key_schedule *ks2, DES_key_schedule *ks3); -void DES_ede3_cbc_encrypt(const unsigned char *input,unsigned char *output, - long length, - DES_key_schedule *ks1,DES_key_schedule *ks2, - DES_key_schedule *ks3,DES_cblock *ivec,int enc); -void DES_ede3_cbcm_encrypt(const unsigned char *in,unsigned char *out, - long length, - DES_key_schedule *ks1,DES_key_schedule *ks2, - DES_key_schedule *ks3, - DES_cblock *ivec1,DES_cblock *ivec2, - int enc); -void DES_ede3_cfb64_encrypt(const unsigned char *in,unsigned char *out, - long length,DES_key_schedule *ks1, - DES_key_schedule *ks2,DES_key_schedule *ks3, - DES_cblock *ivec,int *num,int enc); -void DES_ede3_cfb_encrypt(const unsigned char *in,unsigned char *out, - int numbits,long length,DES_key_schedule *ks1, - DES_key_schedule *ks2,DES_key_schedule *ks3, - DES_cblock *ivec,int enc); -void DES_ede3_ofb64_encrypt(const unsigned char *in,unsigned char *out, - long length,DES_key_schedule *ks1, - DES_key_schedule *ks2,DES_key_schedule *ks3, - DES_cblock *ivec,int *num); -#if 0 -void DES_xwhite_in2out(const_DES_cblock *DES_key,const_DES_cblock *in_white, - DES_cblock *out_white); -#endif - -int DES_enc_read(int fd,void *buf,int len,DES_key_schedule *sched, - DES_cblock *iv); -int DES_enc_write(int fd,const void *buf,int len,DES_key_schedule *sched, - DES_cblock *iv); -char *DES_fcrypt(const char *buf,const char *salt, char *ret); -char *DES_crypt(const char *buf,const char *salt); -void DES_ofb_encrypt(const unsigned char *in,unsigned char *out,int numbits, - long length,DES_key_schedule *schedule,DES_cblock *ivec); -void DES_pcbc_encrypt(const unsigned char *input,unsigned char *output, - long length,DES_key_schedule *schedule,DES_cblock *ivec, - int enc); -DES_LONG DES_quad_cksum(const unsigned char *input,DES_cblock output[], - long length,int out_count,DES_cblock *seed); -int DES_random_key(DES_cblock *ret); -void DES_set_odd_parity(DES_cblock *key); -int DES_check_key_parity(const_DES_cblock *key); -int DES_is_weak_key(const_DES_cblock *key); -/* DES_set_key (= set_key = DES_key_sched = key_sched) calls - * DES_set_key_checked if global variable DES_check_key is set, - * DES_set_key_unchecked otherwise. */ -int DES_set_key(const_DES_cblock *key,DES_key_schedule *schedule); -int DES_key_sched(const_DES_cblock *key,DES_key_schedule *schedule); -int DES_set_key_checked(const_DES_cblock *key,DES_key_schedule *schedule); -void DES_set_key_unchecked(const_DES_cblock *key,DES_key_schedule *schedule); -#ifdef OPENSSL_FIPS -void private_DES_set_key_unchecked(const_DES_cblock *key,DES_key_schedule *schedule); -#endif -void DES_string_to_key(const char *str,DES_cblock *key); -void DES_string_to_2keys(const char *str,DES_cblock *key1,DES_cblock *key2); -void DES_cfb64_encrypt(const unsigned char *in,unsigned char *out,long length, - DES_key_schedule *schedule,DES_cblock *ivec,int *num, - int enc); -void DES_ofb64_encrypt(const unsigned char *in,unsigned char *out,long length, - DES_key_schedule *schedule,DES_cblock *ivec,int *num); - -int DES_read_password(DES_cblock *key, const char *prompt, int verify); -int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2, const char *prompt, - int verify); - -#define DES_fixup_key_parity DES_set_odd_parity - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/des_old.h b/ext/bin/libcrypto/include/openssl/des_old.h deleted file mode 100644 index 2b2c37235..000000000 --- a/ext/bin/libcrypto/include/openssl/des_old.h +++ /dev/null @@ -1,446 +0,0 @@ -/* crypto/des/des_old.h -*- mode:C; c-file-style: "eay" -*- */ - -/* WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - * - * The function names in here are deprecated and are only present to - * provide an interface compatible with openssl 0.9.6 and older as - * well as libdes. OpenSSL now provides functions where "des_" has - * been replaced with "DES_" in the names, to make it possible to - * make incompatible changes that are needed for C type security and - * other stuff. - * - * This include files has two compatibility modes: - * - * - If OPENSSL_DES_LIBDES_COMPATIBILITY is defined, you get an API - * that is compatible with libdes and SSLeay. - * - If OPENSSL_DES_LIBDES_COMPATIBILITY isn't defined, you get an - * API that is compatible with OpenSSL 0.9.5x to 0.9.6x. - * - * Note that these modes break earlier snapshots of OpenSSL, where - * libdes compatibility was the only available mode or (later on) the - * prefered compatibility mode. However, after much consideration - * (and more or less violent discussions with external parties), it - * was concluded that OpenSSL should be compatible with earlier versions - * of itself before anything else. Also, in all honesty, libdes is - * an old beast that shouldn't really be used any more. - * - * Please consider starting to use the DES_ functions rather than the - * des_ ones. The des_ functions will disappear completely before - * OpenSSL 1.0! - * - * WARNING WARNING WARNING WARNING WARNING WARNING WARNING WARNING - */ - -/* Written by Richard Levitte (richard@levitte.org) for the OpenSSL - * project 2001. - */ -/* ==================================================================== - * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_DES_H -#define HEADER_DES_H - -#include /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG */ - -#ifdef OPENSSL_NO_DES -#error DES is disabled. -#endif - -#ifndef HEADER_NEW_DES_H -#error You must include des.h, not des_old.h directly. -#endif - -#ifdef _KERBEROS_DES_H -#error replaces . -#endif - -#include - -#ifdef OPENSSL_BUILD_SHLIBCRYPTO -# undef OPENSSL_EXTERN -# define OPENSSL_EXTERN OPENSSL_EXPORT -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef _ -#undef _ -#endif - -typedef unsigned char _ossl_old_des_cblock[8]; -typedef struct _ossl_old_des_ks_struct - { - union { - _ossl_old_des_cblock _; - /* make sure things are correct size on machines with - * 8 byte longs */ - DES_LONG pad[2]; - } ks; - } _ossl_old_des_key_schedule[16]; - -#ifndef OPENSSL_DES_LIBDES_COMPATIBILITY -#define des_cblock DES_cblock -#define const_des_cblock const_DES_cblock -#define des_key_schedule DES_key_schedule -#define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ - DES_ecb3_encrypt((i),(o),&(k1),&(k2),&(k3),(e)) -#define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ - DES_ede3_cbc_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(e)) -#define des_ede3_cbcm_encrypt(i,o,l,k1,k2,k3,iv1,iv2,e)\ - DES_ede3_cbcm_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv1),(iv2),(e)) -#define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ - DES_ede3_cfb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n),(e)) -#define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ - DES_ede3_ofb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n)) -#define des_options()\ - DES_options() -#define des_cbc_cksum(i,o,l,k,iv)\ - DES_cbc_cksum((i),(o),(l),&(k),(iv)) -#define des_cbc_encrypt(i,o,l,k,iv,e)\ - DES_cbc_encrypt((i),(o),(l),&(k),(iv),(e)) -#define des_ncbc_encrypt(i,o,l,k,iv,e)\ - DES_ncbc_encrypt((i),(o),(l),&(k),(iv),(e)) -#define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ - DES_xcbc_encrypt((i),(o),(l),&(k),(iv),(inw),(outw),(e)) -#define des_cfb_encrypt(i,o,n,l,k,iv,e)\ - DES_cfb_encrypt((i),(o),(n),(l),&(k),(iv),(e)) -#define des_ecb_encrypt(i,o,k,e)\ - DES_ecb_encrypt((i),(o),&(k),(e)) -#define des_encrypt1(d,k,e)\ - DES_encrypt1((d),&(k),(e)) -#define des_encrypt2(d,k,e)\ - DES_encrypt2((d),&(k),(e)) -#define des_encrypt3(d,k1,k2,k3)\ - DES_encrypt3((d),&(k1),&(k2),&(k3)) -#define des_decrypt3(d,k1,k2,k3)\ - DES_decrypt3((d),&(k1),&(k2),&(k3)) -#define des_xwhite_in2out(k,i,o)\ - DES_xwhite_in2out((k),(i),(o)) -#define des_enc_read(f,b,l,k,iv)\ - DES_enc_read((f),(b),(l),&(k),(iv)) -#define des_enc_write(f,b,l,k,iv)\ - DES_enc_write((f),(b),(l),&(k),(iv)) -#define des_fcrypt(b,s,r)\ - DES_fcrypt((b),(s),(r)) -#if 0 -#define des_crypt(b,s)\ - DES_crypt((b),(s)) -#if !defined(PERL5) && !defined(__FreeBSD__) && !defined(NeXT) && !defined(__OpenBSD__) -#define crypt(b,s)\ - DES_crypt((b),(s)) -#endif -#endif -#define des_ofb_encrypt(i,o,n,l,k,iv)\ - DES_ofb_encrypt((i),(o),(n),(l),&(k),(iv)) -#define des_pcbc_encrypt(i,o,l,k,iv,e)\ - DES_pcbc_encrypt((i),(o),(l),&(k),(iv),(e)) -#define des_quad_cksum(i,o,l,c,s)\ - DES_quad_cksum((i),(o),(l),(c),(s)) -#define des_random_seed(k)\ - _ossl_096_des_random_seed((k)) -#define des_random_key(r)\ - DES_random_key((r)) -#define des_read_password(k,p,v) \ - DES_read_password((k),(p),(v)) -#define des_read_2passwords(k1,k2,p,v) \ - DES_read_2passwords((k1),(k2),(p),(v)) -#define des_set_odd_parity(k)\ - DES_set_odd_parity((k)) -#define des_check_key_parity(k)\ - DES_check_key_parity((k)) -#define des_is_weak_key(k)\ - DES_is_weak_key((k)) -#define des_set_key(k,ks)\ - DES_set_key((k),&(ks)) -#define des_key_sched(k,ks)\ - DES_key_sched((k),&(ks)) -#define des_set_key_checked(k,ks)\ - DES_set_key_checked((k),&(ks)) -#define des_set_key_unchecked(k,ks)\ - DES_set_key_unchecked((k),&(ks)) -#define des_string_to_key(s,k)\ - DES_string_to_key((s),(k)) -#define des_string_to_2keys(s,k1,k2)\ - DES_string_to_2keys((s),(k1),(k2)) -#define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ - DES_cfb64_encrypt((i),(o),(l),&(ks),(iv),(n),(e)) -#define des_ofb64_encrypt(i,o,l,ks,iv,n)\ - DES_ofb64_encrypt((i),(o),(l),&(ks),(iv),(n)) - - -#define des_ecb2_encrypt(i,o,k1,k2,e) \ - des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) - -#define des_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ - des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) - -#define des_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ - des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) - -#define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ - des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) - -#define des_check_key DES_check_key -#define des_rw_mode DES_rw_mode -#else /* libdes compatibility */ -/* Map all symbol names to _ossl_old_des_* form, so we avoid all - clashes with libdes */ -#define des_cblock _ossl_old_des_cblock -#define des_key_schedule _ossl_old_des_key_schedule -#define des_ecb3_encrypt(i,o,k1,k2,k3,e)\ - _ossl_old_des_ecb3_encrypt((i),(o),(k1),(k2),(k3),(e)) -#define des_ede3_cbc_encrypt(i,o,l,k1,k2,k3,iv,e)\ - _ossl_old_des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(e)) -#define des_ede3_cfb64_encrypt(i,o,l,k1,k2,k3,iv,n,e)\ - _ossl_old_des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n),(e)) -#define des_ede3_ofb64_encrypt(i,o,l,k1,k2,k3,iv,n)\ - _ossl_old_des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n)) -#define des_options()\ - _ossl_old_des_options() -#define des_cbc_cksum(i,o,l,k,iv)\ - _ossl_old_des_cbc_cksum((i),(o),(l),(k),(iv)) -#define des_cbc_encrypt(i,o,l,k,iv,e)\ - _ossl_old_des_cbc_encrypt((i),(o),(l),(k),(iv),(e)) -#define des_ncbc_encrypt(i,o,l,k,iv,e)\ - _ossl_old_des_ncbc_encrypt((i),(o),(l),(k),(iv),(e)) -#define des_xcbc_encrypt(i,o,l,k,iv,inw,outw,e)\ - _ossl_old_des_xcbc_encrypt((i),(o),(l),(k),(iv),(inw),(outw),(e)) -#define des_cfb_encrypt(i,o,n,l,k,iv,e)\ - _ossl_old_des_cfb_encrypt((i),(o),(n),(l),(k),(iv),(e)) -#define des_ecb_encrypt(i,o,k,e)\ - _ossl_old_des_ecb_encrypt((i),(o),(k),(e)) -#define des_encrypt(d,k,e)\ - _ossl_old_des_encrypt((d),(k),(e)) -#define des_encrypt2(d,k,e)\ - _ossl_old_des_encrypt2((d),(k),(e)) -#define des_encrypt3(d,k1,k2,k3)\ - _ossl_old_des_encrypt3((d),(k1),(k2),(k3)) -#define des_decrypt3(d,k1,k2,k3)\ - _ossl_old_des_decrypt3((d),(k1),(k2),(k3)) -#define des_xwhite_in2out(k,i,o)\ - _ossl_old_des_xwhite_in2out((k),(i),(o)) -#define des_enc_read(f,b,l,k,iv)\ - _ossl_old_des_enc_read((f),(b),(l),(k),(iv)) -#define des_enc_write(f,b,l,k,iv)\ - _ossl_old_des_enc_write((f),(b),(l),(k),(iv)) -#define des_fcrypt(b,s,r)\ - _ossl_old_des_fcrypt((b),(s),(r)) -#define des_crypt(b,s)\ - _ossl_old_des_crypt((b),(s)) -#if 0 -#define crypt(b,s)\ - _ossl_old_crypt((b),(s)) -#endif -#define des_ofb_encrypt(i,o,n,l,k,iv)\ - _ossl_old_des_ofb_encrypt((i),(o),(n),(l),(k),(iv)) -#define des_pcbc_encrypt(i,o,l,k,iv,e)\ - _ossl_old_des_pcbc_encrypt((i),(o),(l),(k),(iv),(e)) -#define des_quad_cksum(i,o,l,c,s)\ - _ossl_old_des_quad_cksum((i),(o),(l),(c),(s)) -#define des_random_seed(k)\ - _ossl_old_des_random_seed((k)) -#define des_random_key(r)\ - _ossl_old_des_random_key((r)) -#define des_read_password(k,p,v) \ - _ossl_old_des_read_password((k),(p),(v)) -#define des_read_2passwords(k1,k2,p,v) \ - _ossl_old_des_read_2passwords((k1),(k2),(p),(v)) -#define des_set_odd_parity(k)\ - _ossl_old_des_set_odd_parity((k)) -#define des_is_weak_key(k)\ - _ossl_old_des_is_weak_key((k)) -#define des_set_key(k,ks)\ - _ossl_old_des_set_key((k),(ks)) -#define des_key_sched(k,ks)\ - _ossl_old_des_key_sched((k),(ks)) -#define des_string_to_key(s,k)\ - _ossl_old_des_string_to_key((s),(k)) -#define des_string_to_2keys(s,k1,k2)\ - _ossl_old_des_string_to_2keys((s),(k1),(k2)) -#define des_cfb64_encrypt(i,o,l,ks,iv,n,e)\ - _ossl_old_des_cfb64_encrypt((i),(o),(l),(ks),(iv),(n),(e)) -#define des_ofb64_encrypt(i,o,l,ks,iv,n)\ - _ossl_old_des_ofb64_encrypt((i),(o),(l),(ks),(iv),(n)) - - -#define des_ecb2_encrypt(i,o,k1,k2,e) \ - des_ecb3_encrypt((i),(o),(k1),(k2),(k1),(e)) - -#define des_ede2_cbc_encrypt(i,o,l,k1,k2,iv,e) \ - des_ede3_cbc_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(e)) - -#define des_ede2_cfb64_encrypt(i,o,l,k1,k2,iv,n,e) \ - des_ede3_cfb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n),(e)) - -#define des_ede2_ofb64_encrypt(i,o,l,k1,k2,iv,n) \ - des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) - -#define des_check_key DES_check_key -#define des_rw_mode DES_rw_mode -#endif - -const char *_ossl_old_des_options(void); -void _ossl_old_des_ecb3_encrypt(_ossl_old_des_cblock *input,_ossl_old_des_cblock *output, - _ossl_old_des_key_schedule ks1,_ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, int enc); -DES_LONG _ossl_old_des_cbc_cksum(_ossl_old_des_cblock *input,_ossl_old_des_cblock *output, - long length,_ossl_old_des_key_schedule schedule,_ossl_old_des_cblock *ivec); -void _ossl_old_des_cbc_encrypt(_ossl_old_des_cblock *input,_ossl_old_des_cblock *output,long length, - _ossl_old_des_key_schedule schedule,_ossl_old_des_cblock *ivec,int enc); -void _ossl_old_des_ncbc_encrypt(_ossl_old_des_cblock *input,_ossl_old_des_cblock *output,long length, - _ossl_old_des_key_schedule schedule,_ossl_old_des_cblock *ivec,int enc); -void _ossl_old_des_xcbc_encrypt(_ossl_old_des_cblock *input,_ossl_old_des_cblock *output,long length, - _ossl_old_des_key_schedule schedule,_ossl_old_des_cblock *ivec, - _ossl_old_des_cblock *inw,_ossl_old_des_cblock *outw,int enc); -void _ossl_old_des_cfb_encrypt(unsigned char *in,unsigned char *out,int numbits, - long length,_ossl_old_des_key_schedule schedule,_ossl_old_des_cblock *ivec,int enc); -void _ossl_old_des_ecb_encrypt(_ossl_old_des_cblock *input,_ossl_old_des_cblock *output, - _ossl_old_des_key_schedule ks,int enc); -void _ossl_old_des_encrypt(DES_LONG *data,_ossl_old_des_key_schedule ks, int enc); -void _ossl_old_des_encrypt2(DES_LONG *data,_ossl_old_des_key_schedule ks, int enc); -void _ossl_old_des_encrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, _ossl_old_des_key_schedule ks3); -void _ossl_old_des_decrypt3(DES_LONG *data, _ossl_old_des_key_schedule ks1, - _ossl_old_des_key_schedule ks2, _ossl_old_des_key_schedule ks3); -void _ossl_old_des_ede3_cbc_encrypt(_ossl_old_des_cblock *input, _ossl_old_des_cblock *output, - long length, _ossl_old_des_key_schedule ks1, _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, _ossl_old_des_cblock *ivec, int enc); -void _ossl_old_des_ede3_cfb64_encrypt(unsigned char *in, unsigned char *out, - long length, _ossl_old_des_key_schedule ks1, _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, _ossl_old_des_cblock *ivec, int *num, int enc); -void _ossl_old_des_ede3_ofb64_encrypt(unsigned char *in, unsigned char *out, - long length, _ossl_old_des_key_schedule ks1, _ossl_old_des_key_schedule ks2, - _ossl_old_des_key_schedule ks3, _ossl_old_des_cblock *ivec, int *num); -#if 0 -void _ossl_old_des_xwhite_in2out(_ossl_old_des_cblock (*des_key), _ossl_old_des_cblock (*in_white), - _ossl_old_des_cblock (*out_white)); -#endif - -int _ossl_old_des_enc_read(int fd,char *buf,int len,_ossl_old_des_key_schedule sched, - _ossl_old_des_cblock *iv); -int _ossl_old_des_enc_write(int fd,char *buf,int len,_ossl_old_des_key_schedule sched, - _ossl_old_des_cblock *iv); -char *_ossl_old_des_fcrypt(const char *buf,const char *salt, char *ret); -char *_ossl_old_des_crypt(const char *buf,const char *salt); -#if !defined(PERL5) && !defined(NeXT) -char *_ossl_old_crypt(const char *buf,const char *salt); -#endif -void _ossl_old_des_ofb_encrypt(unsigned char *in,unsigned char *out, - int numbits,long length,_ossl_old_des_key_schedule schedule,_ossl_old_des_cblock *ivec); -void _ossl_old_des_pcbc_encrypt(_ossl_old_des_cblock *input,_ossl_old_des_cblock *output,long length, - _ossl_old_des_key_schedule schedule,_ossl_old_des_cblock *ivec,int enc); -DES_LONG _ossl_old_des_quad_cksum(_ossl_old_des_cblock *input,_ossl_old_des_cblock *output, - long length,int out_count,_ossl_old_des_cblock *seed); -void _ossl_old_des_random_seed(_ossl_old_des_cblock key); -void _ossl_old_des_random_key(_ossl_old_des_cblock ret); -int _ossl_old_des_read_password(_ossl_old_des_cblock *key,const char *prompt,int verify); -int _ossl_old_des_read_2passwords(_ossl_old_des_cblock *key1,_ossl_old_des_cblock *key2, - const char *prompt,int verify); -void _ossl_old_des_set_odd_parity(_ossl_old_des_cblock *key); -int _ossl_old_des_is_weak_key(_ossl_old_des_cblock *key); -int _ossl_old_des_set_key(_ossl_old_des_cblock *key,_ossl_old_des_key_schedule schedule); -int _ossl_old_des_key_sched(_ossl_old_des_cblock *key,_ossl_old_des_key_schedule schedule); -void _ossl_old_des_string_to_key(char *str,_ossl_old_des_cblock *key); -void _ossl_old_des_string_to_2keys(char *str,_ossl_old_des_cblock *key1,_ossl_old_des_cblock *key2); -void _ossl_old_des_cfb64_encrypt(unsigned char *in, unsigned char *out, long length, - _ossl_old_des_key_schedule schedule, _ossl_old_des_cblock *ivec, int *num, int enc); -void _ossl_old_des_ofb64_encrypt(unsigned char *in, unsigned char *out, long length, - _ossl_old_des_key_schedule schedule, _ossl_old_des_cblock *ivec, int *num); - -void _ossl_096_des_random_seed(des_cblock *key); - -/* The following definitions provide compatibility with the MIT Kerberos - * library. The _ossl_old_des_key_schedule structure is not binary compatible. */ - -#define _KERBEROS_DES_H - -#define KRBDES_ENCRYPT DES_ENCRYPT -#define KRBDES_DECRYPT DES_DECRYPT - -#ifdef KERBEROS -# define ENCRYPT DES_ENCRYPT -# define DECRYPT DES_DECRYPT -#endif - -#ifndef NCOMPAT -# define C_Block des_cblock -# define Key_schedule des_key_schedule -# define KEY_SZ DES_KEY_SZ -# define string_to_key des_string_to_key -# define read_pw_string des_read_pw_string -# define random_key des_random_key -# define pcbc_encrypt des_pcbc_encrypt -# define set_key des_set_key -# define key_sched des_key_sched -# define ecb_encrypt des_ecb_encrypt -# define cbc_encrypt des_cbc_encrypt -# define ncbc_encrypt des_ncbc_encrypt -# define xcbc_encrypt des_xcbc_encrypt -# define cbc_cksum des_cbc_cksum -# define quad_cksum des_quad_cksum -# define check_parity des_check_key_parity -#endif - -#define des_fixup_key_parity DES_fixup_key_parity - -#ifdef __cplusplus -} -#endif - -/* for DES_read_pw_string et al */ -#include - -#endif diff --git a/ext/bin/libcrypto/include/openssl/dh.h b/ext/bin/libcrypto/include/openssl/dh.h deleted file mode 100644 index ea59e610e..000000000 --- a/ext/bin/libcrypto/include/openssl/dh.h +++ /dev/null @@ -1,280 +0,0 @@ -/* crypto/dh/dh.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_DH_H -#define HEADER_DH_H - -#include - -#ifdef OPENSSL_NO_DH -#error DH is disabled. -#endif - -#ifndef OPENSSL_NO_BIO -#include -#endif -#include -#ifndef OPENSSL_NO_DEPRECATED -#include -#endif - -#ifndef OPENSSL_DH_MAX_MODULUS_BITS -# define OPENSSL_DH_MAX_MODULUS_BITS 10000 -#endif - -#define DH_FLAG_CACHE_MONT_P 0x01 -#define DH_FLAG_NO_EXP_CONSTTIME 0x02 /* new with 0.9.7h; the built-in DH - * implementation now uses constant time - * modular exponentiation for secret exponents - * by default. This flag causes the - * faster variable sliding window method to - * be used for all exponents. - */ - -/* If this flag is set the DH method is FIPS compliant and can be used - * in FIPS mode. This is set in the validated module method. If an - * application sets this flag in its own methods it is its reposibility - * to ensure the result is compliant. - */ - -#define DH_FLAG_FIPS_METHOD 0x0400 - -/* If this flag is set the operations normally disabled in FIPS mode are - * permitted it is then the applications responsibility to ensure that the - * usage is compliant. - */ - -#define DH_FLAG_NON_FIPS_ALLOW 0x0400 - -#ifdef __cplusplus -extern "C" { -#endif - -/* Already defined in ossl_typ.h */ -/* typedef struct dh_st DH; */ -/* typedef struct dh_method DH_METHOD; */ - -struct dh_method - { - const char *name; - /* Methods here */ - int (*generate_key)(DH *dh); - int (*compute_key)(unsigned char *key,const BIGNUM *pub_key,DH *dh); - int (*bn_mod_exp)(const DH *dh, BIGNUM *r, const BIGNUM *a, - const BIGNUM *p, const BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *m_ctx); /* Can be null */ - - int (*init)(DH *dh); - int (*finish)(DH *dh); - int flags; - char *app_data; - /* If this is non-NULL, it will be used to generate parameters */ - int (*generate_params)(DH *dh, int prime_len, int generator, BN_GENCB *cb); - }; - -struct dh_st - { - /* This first argument is used to pick up errors when - * a DH is passed instead of a EVP_PKEY */ - int pad; - int version; - BIGNUM *p; - BIGNUM *g; - long length; /* optional */ - BIGNUM *pub_key; /* g^x */ - BIGNUM *priv_key; /* x */ - - int flags; - BN_MONT_CTX *method_mont_p; - /* Place holders if we want to do X9.42 DH */ - BIGNUM *q; - BIGNUM *j; - unsigned char *seed; - int seedlen; - BIGNUM *counter; - - int references; - CRYPTO_EX_DATA ex_data; - const DH_METHOD *meth; - ENGINE *engine; - }; - -#define DH_GENERATOR_2 2 -/* #define DH_GENERATOR_3 3 */ -#define DH_GENERATOR_5 5 - -/* DH_check error codes */ -#define DH_CHECK_P_NOT_PRIME 0x01 -#define DH_CHECK_P_NOT_SAFE_PRIME 0x02 -#define DH_UNABLE_TO_CHECK_GENERATOR 0x04 -#define DH_NOT_SUITABLE_GENERATOR 0x08 - -/* DH_check_pub_key error codes */ -#define DH_CHECK_PUBKEY_TOO_SMALL 0x01 -#define DH_CHECK_PUBKEY_TOO_LARGE 0x02 - -/* primes p where (p-1)/2 is prime too are called "safe"; we define - this for backward compatibility: */ -#define DH_CHECK_P_NOT_STRONG_PRIME DH_CHECK_P_NOT_SAFE_PRIME - -#define d2i_DHparams_fp(fp,x) (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ - (char *(*)())d2i_DHparams,(fp),(unsigned char **)(x)) -#define i2d_DHparams_fp(fp,x) ASN1_i2d_fp(i2d_DHparams,(fp), \ - (unsigned char *)(x)) -#define d2i_DHparams_bio(bp,x) ASN1_d2i_bio_of(DH,DH_new,d2i_DHparams,bp,x) -#define i2d_DHparams_bio(bp,x) ASN1_i2d_bio_of_const(DH,i2d_DHparams,bp,x) - -DH *DHparams_dup(DH *); - -const DH_METHOD *DH_OpenSSL(void); - -void DH_set_default_method(const DH_METHOD *meth); -const DH_METHOD *DH_get_default_method(void); -int DH_set_method(DH *dh, const DH_METHOD *meth); -DH *DH_new_method(ENGINE *engine); - -DH * DH_new(void); -void DH_free(DH *dh); -int DH_up_ref(DH *dh); -int DH_size(const DH *dh); -int DH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int DH_set_ex_data(DH *d, int idx, void *arg); -void *DH_get_ex_data(DH *d, int idx); - -/* Deprecated version */ -#ifndef OPENSSL_NO_DEPRECATED -DH * DH_generate_parameters(int prime_len,int generator, - void (*callback)(int,int,void *),void *cb_arg); -#endif /* !defined(OPENSSL_NO_DEPRECATED) */ - -/* New version */ -int DH_generate_parameters_ex(DH *dh, int prime_len,int generator, BN_GENCB *cb); - -int DH_check(const DH *dh,int *codes); -int DH_check_pub_key(const DH *dh,const BIGNUM *pub_key, int *codes); -int DH_generate_key(DH *dh); -int DH_compute_key(unsigned char *key,const BIGNUM *pub_key,DH *dh); -DH * d2i_DHparams(DH **a,const unsigned char **pp, long length); -int i2d_DHparams(const DH *a,unsigned char **pp); -#ifndef OPENSSL_NO_FP_API -int DHparams_print_fp(FILE *fp, const DH *x); -#endif -#ifndef OPENSSL_NO_BIO -int DHparams_print(BIO *bp, const DH *x); -#else -int DHparams_print(char *bp, const DH *x); -#endif - -#define EVP_PKEY_CTX_set_dh_paramgen_prime_len(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN, len, NULL) - -#define EVP_PKEY_CTX_set_dh_paramgen_generator(ctx, gen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DH, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR, gen, NULL) - -#define EVP_PKEY_CTRL_DH_PARAMGEN_PRIME_LEN (EVP_PKEY_ALG_CTRL + 1) -#define EVP_PKEY_CTRL_DH_PARAMGEN_GENERATOR (EVP_PKEY_ALG_CTRL + 2) - - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_DH_strings(void); - -/* Error codes for the DH functions. */ - -/* Function codes. */ -#define DH_F_COMPUTE_KEY 102 -#define DH_F_DHPARAMS_PRINT_FP 101 -#define DH_F_DH_BUILTIN_GENPARAMS 106 -#define DH_F_DH_COMPUTE_KEY 114 -#define DH_F_DH_GENERATE_KEY 115 -#define DH_F_DH_GENERATE_PARAMETERS_EX 116 -#define DH_F_DH_NEW_METHOD 105 -#define DH_F_DH_PARAM_DECODE 107 -#define DH_F_DH_PRIV_DECODE 110 -#define DH_F_DH_PRIV_ENCODE 111 -#define DH_F_DH_PUB_DECODE 108 -#define DH_F_DH_PUB_ENCODE 109 -#define DH_F_DO_DH_PRINT 100 -#define DH_F_GENERATE_KEY 103 -#define DH_F_GENERATE_PARAMETERS 104 -#define DH_F_PKEY_DH_DERIVE 112 -#define DH_F_PKEY_DH_KEYGEN 113 - -/* Reason codes. */ -#define DH_R_BAD_GENERATOR 101 -#define DH_R_BN_DECODE_ERROR 109 -#define DH_R_BN_ERROR 106 -#define DH_R_DECODE_ERROR 104 -#define DH_R_INVALID_PUBKEY 102 -#define DH_R_KEYS_NOT_SET 108 -#define DH_R_KEY_SIZE_TOO_SMALL 110 -#define DH_R_MODULUS_TOO_LARGE 103 -#define DH_R_NON_FIPS_METHOD 111 -#define DH_R_NO_PARAMETERS_SET 107 -#define DH_R_NO_PRIVATE_VALUE 100 -#define DH_R_PARAMETER_ENCODING_ERROR 105 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/dsa.h b/ext/bin/libcrypto/include/openssl/dsa.h deleted file mode 100644 index a6f6d0b0b..000000000 --- a/ext/bin/libcrypto/include/openssl/dsa.h +++ /dev/null @@ -1,327 +0,0 @@ -/* crypto/dsa/dsa.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -/* - * The DSS routines are based on patches supplied by - * Steven Schoch . He basically did the - * work and I have just tweaked them a little to fit into my - * stylistic vision for SSLeay :-) */ - -#ifndef HEADER_DSA_H -#define HEADER_DSA_H - -#include - -#ifdef OPENSSL_NO_DSA -#error DSA is disabled. -#endif - -#ifndef OPENSSL_NO_BIO -#include -#endif -#include -#include - -#ifndef OPENSSL_NO_DEPRECATED -#include -#ifndef OPENSSL_NO_DH -# include -#endif -#endif - -#ifndef OPENSSL_DSA_MAX_MODULUS_BITS -# define OPENSSL_DSA_MAX_MODULUS_BITS 10000 -#endif - -#define DSA_FLAG_CACHE_MONT_P 0x01 -#define DSA_FLAG_NO_EXP_CONSTTIME 0x02 /* new with 0.9.7h; the built-in DSA - * implementation now uses constant time - * modular exponentiation for secret exponents - * by default. This flag causes the - * faster variable sliding window method to - * be used for all exponents. - */ - -/* If this flag is set the DSA method is FIPS compliant and can be used - * in FIPS mode. This is set in the validated module method. If an - * application sets this flag in its own methods it is its reposibility - * to ensure the result is compliant. - */ - -#define DSA_FLAG_FIPS_METHOD 0x0400 - -/* If this flag is set the operations normally disabled in FIPS mode are - * permitted it is then the applications responsibility to ensure that the - * usage is compliant. - */ - -#define DSA_FLAG_NON_FIPS_ALLOW 0x0400 - -#ifdef __cplusplus -extern "C" { -#endif - -/* Already defined in ossl_typ.h */ -/* typedef struct dsa_st DSA; */ -/* typedef struct dsa_method DSA_METHOD; */ - -typedef struct DSA_SIG_st - { - BIGNUM *r; - BIGNUM *s; - } DSA_SIG; - -struct dsa_method - { - const char *name; - DSA_SIG * (*dsa_do_sign)(const unsigned char *dgst, int dlen, DSA *dsa); - int (*dsa_sign_setup)(DSA *dsa, BN_CTX *ctx_in, BIGNUM **kinvp, - BIGNUM **rp); - int (*dsa_do_verify)(const unsigned char *dgst, int dgst_len, - DSA_SIG *sig, DSA *dsa); - int (*dsa_mod_exp)(DSA *dsa, BIGNUM *rr, BIGNUM *a1, BIGNUM *p1, - BIGNUM *a2, BIGNUM *p2, BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *in_mont); - int (*bn_mod_exp)(DSA *dsa, BIGNUM *r, BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *m_ctx); /* Can be null */ - int (*init)(DSA *dsa); - int (*finish)(DSA *dsa); - int flags; - char *app_data; - /* If this is non-NULL, it is used to generate DSA parameters */ - int (*dsa_paramgen)(DSA *dsa, int bits, - const unsigned char *seed, int seed_len, - int *counter_ret, unsigned long *h_ret, - BN_GENCB *cb); - /* If this is non-NULL, it is used to generate DSA keys */ - int (*dsa_keygen)(DSA *dsa); - }; - -struct dsa_st - { - /* This first variable is used to pick up errors where - * a DSA is passed instead of of a EVP_PKEY */ - int pad; - long version; - int write_params; - BIGNUM *p; - BIGNUM *q; /* == 20 */ - BIGNUM *g; - - BIGNUM *pub_key; /* y public key */ - BIGNUM *priv_key; /* x private key */ - - BIGNUM *kinv; /* Signing pre-calc */ - BIGNUM *r; /* Signing pre-calc */ - - int flags; - /* Normally used to cache montgomery values */ - BN_MONT_CTX *method_mont_p; - int references; - CRYPTO_EX_DATA ex_data; - const DSA_METHOD *meth; - /* functional reference if 'meth' is ENGINE-provided */ - ENGINE *engine; - }; - -#define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ - (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) -#define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ - (unsigned char *)(x)) -#define d2i_DSAparams_bio(bp,x) ASN1_d2i_bio_of(DSA,DSA_new,d2i_DSAparams,bp,x) -#define i2d_DSAparams_bio(bp,x) ASN1_i2d_bio_of_const(DSA,i2d_DSAparams,bp,x) - - -DSA *DSAparams_dup(DSA *x); -DSA_SIG * DSA_SIG_new(void); -void DSA_SIG_free(DSA_SIG *a); -int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); -DSA_SIG * d2i_DSA_SIG(DSA_SIG **v, const unsigned char **pp, long length); - -DSA_SIG * DSA_do_sign(const unsigned char *dgst,int dlen,DSA *dsa); -int DSA_do_verify(const unsigned char *dgst,int dgst_len, - DSA_SIG *sig,DSA *dsa); - -const DSA_METHOD *DSA_OpenSSL(void); - -void DSA_set_default_method(const DSA_METHOD *); -const DSA_METHOD *DSA_get_default_method(void); -int DSA_set_method(DSA *dsa, const DSA_METHOD *); - -DSA * DSA_new(void); -DSA * DSA_new_method(ENGINE *engine); -void DSA_free (DSA *r); -/* "up" the DSA object's reference count */ -int DSA_up_ref(DSA *r); -int DSA_size(const DSA *); - /* next 4 return -1 on error */ -int DSA_sign_setup( DSA *dsa,BN_CTX *ctx_in,BIGNUM **kinvp,BIGNUM **rp); -int DSA_sign(int type,const unsigned char *dgst,int dlen, - unsigned char *sig, unsigned int *siglen, DSA *dsa); -int DSA_verify(int type,const unsigned char *dgst,int dgst_len, - const unsigned char *sigbuf, int siglen, DSA *dsa); -int DSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int DSA_set_ex_data(DSA *d, int idx, void *arg); -void *DSA_get_ex_data(DSA *d, int idx); - -DSA * d2i_DSAPublicKey(DSA **a, const unsigned char **pp, long length); -DSA * d2i_DSAPrivateKey(DSA **a, const unsigned char **pp, long length); -DSA * d2i_DSAparams(DSA **a, const unsigned char **pp, long length); - -/* Deprecated version */ -#ifndef OPENSSL_NO_DEPRECATED -DSA * DSA_generate_parameters(int bits, - unsigned char *seed,int seed_len, - int *counter_ret, unsigned long *h_ret,void - (*callback)(int, int, void *),void *cb_arg); -#endif /* !defined(OPENSSL_NO_DEPRECATED) */ - -/* New version */ -int DSA_generate_parameters_ex(DSA *dsa, int bits, - const unsigned char *seed,int seed_len, - int *counter_ret, unsigned long *h_ret, BN_GENCB *cb); - -int DSA_generate_key(DSA *a); -int i2d_DSAPublicKey(const DSA *a, unsigned char **pp); -int i2d_DSAPrivateKey(const DSA *a, unsigned char **pp); -int i2d_DSAparams(const DSA *a,unsigned char **pp); - -#ifndef OPENSSL_NO_BIO -int DSAparams_print(BIO *bp, const DSA *x); -int DSA_print(BIO *bp, const DSA *x, int off); -#endif -#ifndef OPENSSL_NO_FP_API -int DSAparams_print_fp(FILE *fp, const DSA *x); -int DSA_print_fp(FILE *bp, const DSA *x, int off); -#endif - -#define DSS_prime_checks 50 -/* Primality test according to FIPS PUB 186[-1], Appendix 2.1: - * 50 rounds of Rabin-Miller */ -#define DSA_is_prime(n, callback, cb_arg) \ - BN_is_prime(n, DSS_prime_checks, callback, NULL, cb_arg) - -#ifndef OPENSSL_NO_DH -/* Convert DSA structure (key or just parameters) into DH structure - * (be careful to avoid small subgroup attacks when using this!) */ -DH *DSA_dup_DH(const DSA *r); -#endif - -#define EVP_PKEY_CTX_set_dsa_paramgen_bits(ctx, nbits) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_DSA, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_DSA_PARAMGEN_BITS, nbits, NULL) - -#define EVP_PKEY_CTRL_DSA_PARAMGEN_BITS (EVP_PKEY_ALG_CTRL + 1) -#define EVP_PKEY_CTRL_DSA_PARAMGEN_Q_BITS (EVP_PKEY_ALG_CTRL + 2) -#define EVP_PKEY_CTRL_DSA_PARAMGEN_MD (EVP_PKEY_ALG_CTRL + 3) - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_DSA_strings(void); - -/* Error codes for the DSA functions. */ - -/* Function codes. */ -#define DSA_F_D2I_DSA_SIG 110 -#define DSA_F_DO_DSA_PRINT 104 -#define DSA_F_DSAPARAMS_PRINT 100 -#define DSA_F_DSAPARAMS_PRINT_FP 101 -#define DSA_F_DSA_DO_SIGN 112 -#define DSA_F_DSA_DO_VERIFY 113 -#define DSA_F_DSA_GENERATE_KEY 124 -#define DSA_F_DSA_GENERATE_PARAMETERS_EX 123 -#define DSA_F_DSA_NEW_METHOD 103 -#define DSA_F_DSA_PARAM_DECODE 119 -#define DSA_F_DSA_PRINT_FP 105 -#define DSA_F_DSA_PRIV_DECODE 115 -#define DSA_F_DSA_PRIV_ENCODE 116 -#define DSA_F_DSA_PUB_DECODE 117 -#define DSA_F_DSA_PUB_ENCODE 118 -#define DSA_F_DSA_SIGN 106 -#define DSA_F_DSA_SIGN_SETUP 107 -#define DSA_F_DSA_SIG_NEW 109 -#define DSA_F_DSA_SIG_PRINT 125 -#define DSA_F_DSA_VERIFY 108 -#define DSA_F_I2D_DSA_SIG 111 -#define DSA_F_OLD_DSA_PRIV_DECODE 122 -#define DSA_F_PKEY_DSA_CTRL 120 -#define DSA_F_PKEY_DSA_KEYGEN 121 -#define DSA_F_SIG_CB 114 - -/* Reason codes. */ -#define DSA_R_BAD_Q_VALUE 102 -#define DSA_R_BN_DECODE_ERROR 108 -#define DSA_R_BN_ERROR 109 -#define DSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 100 -#define DSA_R_DECODE_ERROR 104 -#define DSA_R_INVALID_DIGEST_TYPE 106 -#define DSA_R_MISSING_PARAMETERS 101 -#define DSA_R_MODULUS_TOO_LARGE 103 -#define DSA_R_NEED_NEW_SETUP_VALUES 110 -#define DSA_R_NON_FIPS_DSA_METHOD 111 -#define DSA_R_NO_PARAMETERS_SET 107 -#define DSA_R_PARAMETER_ENCODING_ERROR 105 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/dso.h b/ext/bin/libcrypto/include/openssl/dso.h deleted file mode 100644 index 839f2e061..000000000 --- a/ext/bin/libcrypto/include/openssl/dso.h +++ /dev/null @@ -1,409 +0,0 @@ -/* dso.h -*- mode:C; c-file-style: "eay" -*- */ -/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL - * project 2000. - */ -/* ==================================================================== - * Copyright (c) 2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_DSO_H -#define HEADER_DSO_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* These values are used as commands to DSO_ctrl() */ -#define DSO_CTRL_GET_FLAGS 1 -#define DSO_CTRL_SET_FLAGS 2 -#define DSO_CTRL_OR_FLAGS 3 - -/* By default, DSO_load() will translate the provided filename into a form - * typical for the platform (more specifically the DSO_METHOD) using the - * dso_name_converter function of the method. Eg. win32 will transform "blah" - * into "blah.dll", and dlfcn will transform it into "libblah.so". The - * behaviour can be overriden by setting the name_converter callback in the DSO - * object (using DSO_set_name_converter()). This callback could even utilise - * the DSO_METHOD's converter too if it only wants to override behaviour for - * one or two possible DSO methods. However, the following flag can be set in a - * DSO to prevent *any* native name-translation at all - eg. if the caller has - * prompted the user for a path to a driver library so the filename should be - * interpreted as-is. */ -#define DSO_FLAG_NO_NAME_TRANSLATION 0x01 -/* An extra flag to give if only the extension should be added as - * translation. This is obviously only of importance on Unix and - * other operating systems where the translation also may prefix - * the name with something, like 'lib', and ignored everywhere else. - * This flag is also ignored if DSO_FLAG_NO_NAME_TRANSLATION is used - * at the same time. */ -#define DSO_FLAG_NAME_TRANSLATION_EXT_ONLY 0x02 - -/* The following flag controls the translation of symbol names to upper - * case. This is currently only being implemented for OpenVMS. - */ -#define DSO_FLAG_UPCASE_SYMBOL 0x10 - -/* This flag loads the library with public symbols. - * Meaning: The exported symbols of this library are public - * to all libraries loaded after this library. - * At the moment only implemented in unix. - */ -#define DSO_FLAG_GLOBAL_SYMBOLS 0x20 - - -typedef void (*DSO_FUNC_TYPE)(void); - -typedef struct dso_st DSO; - -/* The function prototype used for method functions (or caller-provided - * callbacks) that transform filenames. They are passed a DSO structure pointer - * (or NULL if they are to be used independantly of a DSO object) and a - * filename to transform. They should either return NULL (if there is an error - * condition) or a newly allocated string containing the transformed form that - * the caller will need to free with OPENSSL_free() when done. */ -typedef char* (*DSO_NAME_CONVERTER_FUNC)(DSO *, const char *); -/* The function prototype used for method functions (or caller-provided - * callbacks) that merge two file specifications. They are passed a - * DSO structure pointer (or NULL if they are to be used independantly of - * a DSO object) and two file specifications to merge. They should - * either return NULL (if there is an error condition) or a newly allocated - * string containing the result of merging that the caller will need - * to free with OPENSSL_free() when done. - * Here, merging means that bits and pieces are taken from each of the - * file specifications and added together in whatever fashion that is - * sensible for the DSO method in question. The only rule that really - * applies is that if the two specification contain pieces of the same - * type, the copy from the first string takes priority. One could see - * it as the first specification is the one given by the user and the - * second being a bunch of defaults to add on if they're missing in the - * first. */ -typedef char* (*DSO_MERGER_FUNC)(DSO *, const char *, const char *); - -typedef struct dso_meth_st - { - const char *name; - /* Loads a shared library, NB: new DSO_METHODs must ensure that a - * successful load populates the loaded_filename field, and likewise a - * successful unload OPENSSL_frees and NULLs it out. */ - int (*dso_load)(DSO *dso); - /* Unloads a shared library */ - int (*dso_unload)(DSO *dso); - /* Binds a variable */ - void *(*dso_bind_var)(DSO *dso, const char *symname); - /* Binds a function - assumes a return type of DSO_FUNC_TYPE. - * This should be cast to the real function prototype by the - * caller. Platforms that don't have compatible representations - * for different prototypes (this is possible within ANSI C) - * are highly unlikely to have shared libraries at all, let - * alone a DSO_METHOD implemented for them. */ - DSO_FUNC_TYPE (*dso_bind_func)(DSO *dso, const char *symname); - -/* I don't think this would actually be used in any circumstances. */ -#if 0 - /* Unbinds a variable */ - int (*dso_unbind_var)(DSO *dso, char *symname, void *symptr); - /* Unbinds a function */ - int (*dso_unbind_func)(DSO *dso, char *symname, DSO_FUNC_TYPE symptr); -#endif - /* The generic (yuck) "ctrl()" function. NB: Negative return - * values (rather than zero) indicate errors. */ - long (*dso_ctrl)(DSO *dso, int cmd, long larg, void *parg); - /* The default DSO_METHOD-specific function for converting filenames to - * a canonical native form. */ - DSO_NAME_CONVERTER_FUNC dso_name_converter; - /* The default DSO_METHOD-specific function for converting filenames to - * a canonical native form. */ - DSO_MERGER_FUNC dso_merger; - - /* [De]Initialisation handlers. */ - int (*init)(DSO *dso); - int (*finish)(DSO *dso); - - /* Return pathname of the module containing location */ - int (*pathbyaddr)(void *addr,char *path,int sz); - /* Perform global symbol lookup, i.e. among *all* modules */ - void *(*globallookup)(const char *symname); - } DSO_METHOD; - -/**********************************************************************/ -/* The low-level handle type used to refer to a loaded shared library */ - -struct dso_st - { - DSO_METHOD *meth; - /* Standard dlopen uses a (void *). Win32 uses a HANDLE. VMS - * doesn't use anything but will need to cache the filename - * for use in the dso_bind handler. All in all, let each - * method control its own destiny. "Handles" and such go in - * a STACK. */ - STACK_OF(void) *meth_data; - int references; - int flags; - /* For use by applications etc ... use this for your bits'n'pieces, - * don't touch meth_data! */ - CRYPTO_EX_DATA ex_data; - /* If this callback function pointer is set to non-NULL, then it will - * be used in DSO_load() in place of meth->dso_name_converter. NB: This - * should normally set using DSO_set_name_converter(). */ - DSO_NAME_CONVERTER_FUNC name_converter; - /* If this callback function pointer is set to non-NULL, then it will - * be used in DSO_load() in place of meth->dso_merger. NB: This - * should normally set using DSO_set_merger(). */ - DSO_MERGER_FUNC merger; - /* This is populated with (a copy of) the platform-independant - * filename used for this DSO. */ - char *filename; - /* This is populated with (a copy of) the translated filename by which - * the DSO was actually loaded. It is NULL iff the DSO is not currently - * loaded. NB: This is here because the filename translation process - * may involve a callback being invoked more than once not only to - * convert to a platform-specific form, but also to try different - * filenames in the process of trying to perform a load. As such, this - * variable can be used to indicate (a) whether this DSO structure - * corresponds to a loaded library or not, and (b) the filename with - * which it was actually loaded. */ - char *loaded_filename; - }; - - -DSO * DSO_new(void); -DSO * DSO_new_method(DSO_METHOD *method); -int DSO_free(DSO *dso); -int DSO_flags(DSO *dso); -int DSO_up_ref(DSO *dso); -long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg); - -/* This function sets the DSO's name_converter callback. If it is non-NULL, - * then it will be used instead of the associated DSO_METHOD's function. If - * oldcb is non-NULL then it is set to the function pointer value being - * replaced. Return value is non-zero for success. */ -int DSO_set_name_converter(DSO *dso, DSO_NAME_CONVERTER_FUNC cb, - DSO_NAME_CONVERTER_FUNC *oldcb); -/* These functions can be used to get/set the platform-independant filename - * used for a DSO. NB: set will fail if the DSO is already loaded. */ -const char *DSO_get_filename(DSO *dso); -int DSO_set_filename(DSO *dso, const char *filename); -/* This function will invoke the DSO's name_converter callback to translate a - * filename, or if the callback isn't set it will instead use the DSO_METHOD's - * converter. If "filename" is NULL, the "filename" in the DSO itself will be - * used. If the DSO_FLAG_NO_NAME_TRANSLATION flag is set, then the filename is - * simply duplicated. NB: This function is usually called from within a - * DSO_METHOD during the processing of a DSO_load() call, and is exposed so that - * caller-created DSO_METHODs can do the same thing. A non-NULL return value - * will need to be OPENSSL_free()'d. */ -char *DSO_convert_filename(DSO *dso, const char *filename); -/* This function will invoke the DSO's merger callback to merge two file - * specifications, or if the callback isn't set it will instead use the - * DSO_METHOD's merger. A non-NULL return value will need to be - * OPENSSL_free()'d. */ -char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2); -/* If the DSO is currently loaded, this returns the filename that it was loaded - * under, otherwise it returns NULL. So it is also useful as a test as to - * whether the DSO is currently loaded. NB: This will not necessarily return - * the same value as DSO_convert_filename(dso, dso->filename), because the - * DSO_METHOD's load function may have tried a variety of filenames (with - * and/or without the aid of the converters) before settling on the one it - * actually loaded. */ -const char *DSO_get_loaded_filename(DSO *dso); - -void DSO_set_default_method(DSO_METHOD *meth); -DSO_METHOD *DSO_get_default_method(void); -DSO_METHOD *DSO_get_method(DSO *dso); -DSO_METHOD *DSO_set_method(DSO *dso, DSO_METHOD *meth); - -/* The all-singing all-dancing load function, you normally pass NULL - * for the first and third parameters. Use DSO_up and DSO_free for - * subsequent reference count handling. Any flags passed in will be set - * in the constructed DSO after its init() function but before the - * load operation. If 'dso' is non-NULL, 'flags' is ignored. */ -DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags); - -/* This function binds to a variable inside a shared library. */ -void *DSO_bind_var(DSO *dso, const char *symname); - -/* This function binds to a function inside a shared library. */ -DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname); - -/* This method is the default, but will beg, borrow, or steal whatever - * method should be the default on any particular platform (including - * DSO_METH_null() if necessary). */ -DSO_METHOD *DSO_METHOD_openssl(void); - -/* This method is defined for all platforms - if a platform has no - * DSO support then this will be the only method! */ -DSO_METHOD *DSO_METHOD_null(void); - -/* If DSO_DLFCN is defined, the standard dlfcn.h-style functions - * (dlopen, dlclose, dlsym, etc) will be used and incorporated into - * this method. If not, this method will return NULL. */ -DSO_METHOD *DSO_METHOD_dlfcn(void); - -/* If DSO_DL is defined, the standard dl.h-style functions (shl_load, - * shl_unload, shl_findsym, etc) will be used and incorporated into - * this method. If not, this method will return NULL. */ -DSO_METHOD *DSO_METHOD_dl(void); - -/* If WIN32 is defined, use DLLs. If not, return NULL. */ -DSO_METHOD *DSO_METHOD_win32(void); - -/* If VMS is defined, use shared images. If not, return NULL. */ -DSO_METHOD *DSO_METHOD_vms(void); - -/* This function writes null-terminated pathname of DSO module - * containing 'addr' into 'sz' large caller-provided 'path' and - * returns the number of characters [including trailing zero] - * written to it. If 'sz' is 0 or negative, 'path' is ignored and - * required amount of charachers [including trailing zero] to - * accomodate pathname is returned. If 'addr' is NULL, then - * pathname of cryptolib itself is returned. Negative or zero - * return value denotes error. - */ -int DSO_pathbyaddr(void *addr,char *path,int sz); - -/* This function should be used with caution! It looks up symbols in - * *all* loaded modules and if module gets unloaded by somebody else - * attempt to dereference the pointer is doomed to have fatal - * consequences. Primary usage for this function is to probe *core* - * system functionality, e.g. check if getnameinfo(3) is available - * at run-time without bothering about OS-specific details such as - * libc.so.versioning or where does it actually reside: in libc - * itself or libsocket. */ -void *DSO_global_lookup(const char *name); - -/* If BeOS is defined, use shared images. If not, return NULL. */ -DSO_METHOD *DSO_METHOD_beos(void); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_DSO_strings(void); - -/* Error codes for the DSO functions. */ - -/* Function codes. */ -#define DSO_F_BEOS_BIND_FUNC 144 -#define DSO_F_BEOS_BIND_VAR 145 -#define DSO_F_BEOS_LOAD 146 -#define DSO_F_BEOS_NAME_CONVERTER 147 -#define DSO_F_BEOS_UNLOAD 148 -#define DSO_F_DLFCN_BIND_FUNC 100 -#define DSO_F_DLFCN_BIND_VAR 101 -#define DSO_F_DLFCN_LOAD 102 -#define DSO_F_DLFCN_MERGER 130 -#define DSO_F_DLFCN_NAME_CONVERTER 123 -#define DSO_F_DLFCN_UNLOAD 103 -#define DSO_F_DL_BIND_FUNC 104 -#define DSO_F_DL_BIND_VAR 105 -#define DSO_F_DL_LOAD 106 -#define DSO_F_DL_MERGER 131 -#define DSO_F_DL_NAME_CONVERTER 124 -#define DSO_F_DL_UNLOAD 107 -#define DSO_F_DSO_BIND_FUNC 108 -#define DSO_F_DSO_BIND_VAR 109 -#define DSO_F_DSO_CONVERT_FILENAME 126 -#define DSO_F_DSO_CTRL 110 -#define DSO_F_DSO_FREE 111 -#define DSO_F_DSO_GET_FILENAME 127 -#define DSO_F_DSO_GET_LOADED_FILENAME 128 -#define DSO_F_DSO_GLOBAL_LOOKUP 139 -#define DSO_F_DSO_LOAD 112 -#define DSO_F_DSO_MERGE 132 -#define DSO_F_DSO_NEW_METHOD 113 -#define DSO_F_DSO_PATHBYADDR 140 -#define DSO_F_DSO_SET_FILENAME 129 -#define DSO_F_DSO_SET_NAME_CONVERTER 122 -#define DSO_F_DSO_UP_REF 114 -#define DSO_F_GLOBAL_LOOKUP_FUNC 138 -#define DSO_F_PATHBYADDR 137 -#define DSO_F_VMS_BIND_SYM 115 -#define DSO_F_VMS_LOAD 116 -#define DSO_F_VMS_MERGER 133 -#define DSO_F_VMS_UNLOAD 117 -#define DSO_F_WIN32_BIND_FUNC 118 -#define DSO_F_WIN32_BIND_VAR 119 -#define DSO_F_WIN32_GLOBALLOOKUP 142 -#define DSO_F_WIN32_GLOBALLOOKUP_FUNC 143 -#define DSO_F_WIN32_JOINER 135 -#define DSO_F_WIN32_LOAD 120 -#define DSO_F_WIN32_MERGER 134 -#define DSO_F_WIN32_NAME_CONVERTER 125 -#define DSO_F_WIN32_PATHBYADDR 141 -#define DSO_F_WIN32_SPLITTER 136 -#define DSO_F_WIN32_UNLOAD 121 - -/* Reason codes. */ -#define DSO_R_CTRL_FAILED 100 -#define DSO_R_DSO_ALREADY_LOADED 110 -#define DSO_R_EMPTY_FILE_STRUCTURE 113 -#define DSO_R_FAILURE 114 -#define DSO_R_FILENAME_TOO_BIG 101 -#define DSO_R_FINISH_FAILED 102 -#define DSO_R_INCORRECT_FILE_SYNTAX 115 -#define DSO_R_LOAD_FAILED 103 -#define DSO_R_NAME_TRANSLATION_FAILED 109 -#define DSO_R_NO_FILENAME 111 -#define DSO_R_NO_FILE_SPECIFICATION 116 -#define DSO_R_NULL_HANDLE 104 -#define DSO_R_SET_FILENAME_FAILED 112 -#define DSO_R_STACK_ERROR 105 -#define DSO_R_SYM_FAILURE 106 -#define DSO_R_UNLOAD_FAILED 107 -#define DSO_R_UNSUPPORTED 108 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/dtls1.h b/ext/bin/libcrypto/include/openssl/dtls1.h deleted file mode 100644 index e65d50119..000000000 --- a/ext/bin/libcrypto/include/openssl/dtls1.h +++ /dev/null @@ -1,287 +0,0 @@ -/* ssl/dtls1.h */ -/* - * DTLS implementation written by Nagendra Modadugu - * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. - */ -/* ==================================================================== - * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_DTLS1_H -#define HEADER_DTLS1_H - -#include -#include -#ifdef OPENSSL_SYS_VMS -#include -#include -#endif -#ifdef OPENSSL_SYS_WIN32 -/* Needed for struct timeval */ -#include -#elif defined(OPENSSL_SYS_NETWARE) && !defined(_WINSOCK2API_) -#include -#else -#if defined(OPENSSL_SYS_VXWORKS) -#include -#else -#include -#endif -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#define DTLS1_VERSION 0xFEFF -#define DTLS1_BAD_VER 0x0100 - -#if 0 -/* this alert description is not specified anywhere... */ -#define DTLS1_AD_MISSING_HANDSHAKE_MESSAGE 110 -#endif - -/* lengths of messages */ -#define DTLS1_COOKIE_LENGTH 256 - -#define DTLS1_RT_HEADER_LENGTH 13 - -#define DTLS1_HM_HEADER_LENGTH 12 - -#define DTLS1_HM_BAD_FRAGMENT -2 -#define DTLS1_HM_FRAGMENT_RETRY -3 - -#define DTLS1_CCS_HEADER_LENGTH 1 - -#ifdef DTLS1_AD_MISSING_HANDSHAKE_MESSAGE -#define DTLS1_AL_HEADER_LENGTH 7 -#else -#define DTLS1_AL_HEADER_LENGTH 2 -#endif - -#ifndef OPENSSL_NO_SSL_INTERN - -#ifndef OPENSSL_NO_SCTP -#define DTLS1_SCTP_AUTH_LABEL "EXPORTER_DTLS_OVER_SCTP" -#endif - -typedef struct dtls1_bitmap_st - { - unsigned long map; /* track 32 packets on 32-bit systems - and 64 - on 64-bit systems */ - unsigned char max_seq_num[8]; /* max record number seen so far, - 64-bit value in big-endian - encoding */ - } DTLS1_BITMAP; - -struct dtls1_retransmit_state - { - EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ - EVP_MD_CTX *write_hash; /* used for mac generation */ -#ifndef OPENSSL_NO_COMP - COMP_CTX *compress; /* compression */ -#else - char *compress; -#endif - SSL_SESSION *session; - unsigned short epoch; - }; - -struct hm_header_st - { - unsigned char type; - unsigned long msg_len; - unsigned short seq; - unsigned long frag_off; - unsigned long frag_len; - unsigned int is_ccs; - struct dtls1_retransmit_state saved_retransmit_state; - }; - -struct ccs_header_st - { - unsigned char type; - unsigned short seq; - }; - -struct dtls1_timeout_st - { - /* Number of read timeouts so far */ - unsigned int read_timeouts; - - /* Number of write timeouts so far */ - unsigned int write_timeouts; - - /* Number of alerts received so far */ - unsigned int num_alerts; - }; - -typedef struct record_pqueue_st - { - unsigned short epoch; - pqueue q; - } record_pqueue; - -typedef struct hm_fragment_st - { - struct hm_header_st msg_header; - unsigned char *fragment; - unsigned char *reassembly; - } hm_fragment; - -typedef struct dtls1_state_st - { - unsigned int send_cookie; - unsigned char cookie[DTLS1_COOKIE_LENGTH]; - unsigned char rcvd_cookie[DTLS1_COOKIE_LENGTH]; - unsigned int cookie_len; - - /* - * The current data and handshake epoch. This is initially - * undefined, and starts at zero once the initial handshake is - * completed - */ - unsigned short r_epoch; - unsigned short w_epoch; - - /* records being received in the current epoch */ - DTLS1_BITMAP bitmap; - - /* renegotiation starts a new set of sequence numbers */ - DTLS1_BITMAP next_bitmap; - - /* handshake message numbers */ - unsigned short handshake_write_seq; - unsigned short next_handshake_write_seq; - - unsigned short handshake_read_seq; - - /* save last sequence number for retransmissions */ - unsigned char last_write_sequence[8]; - - /* Received handshake records (processed and unprocessed) */ - record_pqueue unprocessed_rcds; - record_pqueue processed_rcds; - - /* Buffered handshake messages */ - pqueue buffered_messages; - - /* Buffered (sent) handshake records */ - pqueue sent_messages; - - /* Buffered application records. - * Only for records between CCS and Finished - * to prevent either protocol violation or - * unnecessary message loss. - */ - record_pqueue buffered_app_data; - - /* Is set when listening for new connections with dtls1_listen() */ - unsigned int listen; - - unsigned int mtu; /* max DTLS packet size */ - - struct hm_header_st w_msg_hdr; - struct hm_header_st r_msg_hdr; - - struct dtls1_timeout_st timeout; - - /* Indicates when the last handshake msg or heartbeat sent will timeout */ - struct timeval next_timeout; - - /* Timeout duration */ - unsigned short timeout_duration; - - /* storage for Alert/Handshake protocol data received but not - * yet processed by ssl3_read_bytes: */ - unsigned char alert_fragment[DTLS1_AL_HEADER_LENGTH]; - unsigned int alert_fragment_len; - unsigned char handshake_fragment[DTLS1_HM_HEADER_LENGTH]; - unsigned int handshake_fragment_len; - - unsigned int retransmitting; - unsigned int change_cipher_spec_ok; - -#ifndef OPENSSL_NO_SCTP - /* used when SSL_ST_XX_FLUSH is entered */ - int next_state; - - int shutdown_received; -#endif - - } DTLS1_STATE; - -typedef struct dtls1_record_data_st - { - unsigned char *packet; - unsigned int packet_length; - SSL3_BUFFER rbuf; - SSL3_RECORD rrec; -#ifndef OPENSSL_NO_SCTP - struct bio_dgram_sctp_rcvinfo recordinfo; -#endif - } DTLS1_RECORD_DATA; - -#endif - -/* Timeout multipliers (timeout slice is defined in apps/timeouts.h */ -#define DTLS1_TMO_READ_COUNT 2 -#define DTLS1_TMO_WRITE_COUNT 2 - -#define DTLS1_TMO_ALERT_COUNT 12 - -#ifdef __cplusplus -} -#endif -#endif - diff --git a/ext/bin/libcrypto/include/openssl/e_os2.h b/ext/bin/libcrypto/include/openssl/e_os2.h deleted file mode 100644 index d22c0368f..000000000 --- a/ext/bin/libcrypto/include/openssl/e_os2.h +++ /dev/null @@ -1,315 +0,0 @@ -/* e_os2.h */ -/* ==================================================================== - * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#include - -#ifndef HEADER_E_OS2_H -#define HEADER_E_OS2_H - -#ifdef __cplusplus -extern "C" { -#endif - -/****************************************************************************** - * Detect operating systems. This probably needs completing. - * The result is that at least one OPENSSL_SYS_os macro should be defined. - * However, if none is defined, Unix is assumed. - **/ - -#define OPENSSL_SYS_UNIX - -/* ----------------------- Macintosh, before MacOS X ----------------------- */ -#if defined(__MWERKS__) && defined(macintosh) || defined(OPENSSL_SYSNAME_MAC) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_MACINTOSH_CLASSIC -#endif - -/* ----------------------- NetWare ----------------------------------------- */ -#if defined(NETWARE) || defined(OPENSSL_SYSNAME_NETWARE) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_NETWARE -#endif - -/* ---------------------- Microsoft operating systems ---------------------- */ - -/* Note that MSDOS actually denotes 32-bit environments running on top of - MS-DOS, such as DJGPP one. */ -#if defined(OPENSSL_SYSNAME_MSDOS) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_MSDOS -#endif - -/* For 32 bit environment, there seems to be the CygWin environment and then - all the others that try to do the same thing Microsoft does... */ -#if defined(OPENSSL_SYSNAME_UWIN) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32_UWIN -#else -# if defined(__CYGWIN32__) || defined(OPENSSL_SYSNAME_CYGWIN32) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32_CYGWIN -# else -# if defined(_WIN32) || defined(OPENSSL_SYSNAME_WIN32) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WIN32 -# endif -# if defined(OPENSSL_SYSNAME_WINNT) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINNT -# endif -# if defined(OPENSSL_SYSNAME_WINCE) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINCE -# endif -# endif -#endif - -/* Anything that tries to look like Microsoft is "Windows" */ -#if defined(OPENSSL_SYS_WIN32) || defined(OPENSSL_SYS_WINNT) || defined(OPENSSL_SYS_WINCE) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_WINDOWS -# ifndef OPENSSL_SYS_MSDOS -# define OPENSSL_SYS_MSDOS -# endif -#endif - -/* DLL settings. This part is a bit tough, because it's up to the application - implementor how he or she will link the application, so it requires some - macro to be used. */ -#ifdef OPENSSL_SYS_WINDOWS -# ifndef OPENSSL_OPT_WINDLL -# if defined(_WINDLL) /* This is used when building OpenSSL to indicate that - DLL linkage should be used */ -# define OPENSSL_OPT_WINDLL -# endif -# endif -#endif - -/* -------------------------------- OpenVMS -------------------------------- */ -#if defined(__VMS) || defined(VMS) || defined(OPENSSL_SYSNAME_VMS) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_VMS -# if defined(__DECC) -# define OPENSSL_SYS_VMS_DECC -# elif defined(__DECCXX) -# define OPENSSL_SYS_VMS_DECC -# define OPENSSL_SYS_VMS_DECCXX -# else -# define OPENSSL_SYS_VMS_NODECC -# endif -#endif - -/* --------------------------------- OS/2 ---------------------------------- */ -#if defined(__EMX__) || defined(__OS2__) -# undef OPENSSL_SYS_UNIX -# define OPENSSL_SYS_OS2 -#endif - -/* --------------------------------- Unix ---------------------------------- */ -#ifdef OPENSSL_SYS_UNIX -# if defined(linux) || defined(__linux__) || defined(OPENSSL_SYSNAME_LINUX) -# define OPENSSL_SYS_LINUX -# endif -# ifdef OPENSSL_SYSNAME_MPE -# define OPENSSL_SYS_MPE -# endif -# ifdef OPENSSL_SYSNAME_SNI -# define OPENSSL_SYS_SNI -# endif -# ifdef OPENSSL_SYSNAME_ULTRASPARC -# define OPENSSL_SYS_ULTRASPARC -# endif -# ifdef OPENSSL_SYSNAME_NEWS4 -# define OPENSSL_SYS_NEWS4 -# endif -# ifdef OPENSSL_SYSNAME_MACOSX -# define OPENSSL_SYS_MACOSX -# endif -# ifdef OPENSSL_SYSNAME_MACOSX_RHAPSODY -# define OPENSSL_SYS_MACOSX_RHAPSODY -# define OPENSSL_SYS_MACOSX -# endif -# ifdef OPENSSL_SYSNAME_SUNOS -# define OPENSSL_SYS_SUNOS -#endif -# if defined(_CRAY) || defined(OPENSSL_SYSNAME_CRAY) -# define OPENSSL_SYS_CRAY -# endif -# if defined(_AIX) || defined(OPENSSL_SYSNAME_AIX) -# define OPENSSL_SYS_AIX -# endif -#endif - -/* --------------------------------- VOS ----------------------------------- */ -#if defined(__VOS__) || defined(OPENSSL_SYSNAME_VOS) -# define OPENSSL_SYS_VOS -#ifdef __HPPA__ -# define OPENSSL_SYS_VOS_HPPA -#endif -#ifdef __IA32__ -# define OPENSSL_SYS_VOS_IA32 -#endif -#endif - -/* ------------------------------- VxWorks --------------------------------- */ -#ifdef OPENSSL_SYSNAME_VXWORKS -# define OPENSSL_SYS_VXWORKS -#endif - -/* --------------------------------- BeOS ---------------------------------- */ -#if defined(__BEOS__) -# define OPENSSL_SYS_BEOS -# include -# if defined(BONE_VERSION) -# define OPENSSL_SYS_BEOS_BONE -# else -# define OPENSSL_SYS_BEOS_R5 -# endif -#endif - -/** - * That's it for OS-specific stuff - *****************************************************************************/ - - -/* Specials for I/O an exit */ -#ifdef OPENSSL_SYS_MSDOS -# define OPENSSL_UNISTD_IO -# define OPENSSL_DECLARE_EXIT extern void exit(int); -#else -# define OPENSSL_UNISTD_IO OPENSSL_UNISTD -# define OPENSSL_DECLARE_EXIT /* declared in unistd.h */ -#endif - -/* Definitions of OPENSSL_GLOBAL and OPENSSL_EXTERN, to define and declare - certain global symbols that, with some compilers under VMS, have to be - defined and declared explicitely with globaldef and globalref. - Definitions of OPENSSL_EXPORT and OPENSSL_IMPORT, to define and declare - DLL exports and imports for compilers under Win32. These are a little - more complicated to use. Basically, for any library that exports some - global variables, the following code must be present in the header file - that declares them, before OPENSSL_EXTERN is used: - - #ifdef SOME_BUILD_FLAG_MACRO - # undef OPENSSL_EXTERN - # define OPENSSL_EXTERN OPENSSL_EXPORT - #endif - - The default is to have OPENSSL_EXPORT, OPENSSL_IMPORT and OPENSSL_GLOBAL - have some generally sensible values, and for OPENSSL_EXTERN to have the - value OPENSSL_IMPORT. -*/ - -#if defined(OPENSSL_SYS_VMS_NODECC) -# define OPENSSL_EXPORT globalref -# define OPENSSL_IMPORT globalref -# define OPENSSL_GLOBAL globaldef -#elif defined(OPENSSL_SYS_WINDOWS) && defined(OPENSSL_OPT_WINDLL) -# define OPENSSL_EXPORT extern __declspec(dllexport) -# define OPENSSL_IMPORT extern __declspec(dllimport) -# define OPENSSL_GLOBAL -#else -# define OPENSSL_EXPORT extern -# define OPENSSL_IMPORT extern -# define OPENSSL_GLOBAL -#endif -#define OPENSSL_EXTERN OPENSSL_IMPORT - -/* Macros to allow global variables to be reached through function calls when - required (if a shared library version requires it, for example. - The way it's done allows definitions like this: - - // in foobar.c - OPENSSL_IMPLEMENT_GLOBAL(int,foobar,0) - // in foobar.h - OPENSSL_DECLARE_GLOBAL(int,foobar); - #define foobar OPENSSL_GLOBAL_REF(foobar) -*/ -#ifdef OPENSSL_EXPORT_VAR_AS_FUNCTION -# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) \ - type *_shadow_##name(void) \ - { static type _hide_##name=value; return &_hide_##name; } -# define OPENSSL_DECLARE_GLOBAL(type,name) type *_shadow_##name(void) -# define OPENSSL_GLOBAL_REF(name) (*(_shadow_##name())) -#else -# define OPENSSL_IMPLEMENT_GLOBAL(type,name,value) OPENSSL_GLOBAL type _shadow_##name=value; -# define OPENSSL_DECLARE_GLOBAL(type,name) OPENSSL_EXPORT type _shadow_##name -# define OPENSSL_GLOBAL_REF(name) _shadow_##name -#endif - -#if defined(OPENSSL_SYS_MACINTOSH_CLASSIC) && macintosh==1 && !defined(MAC_OS_GUSI_SOURCE) -# define ossl_ssize_t long -#endif - -#ifdef OPENSSL_SYS_MSDOS -# define ossl_ssize_t long -#endif - -#if defined(NeXT) || defined(OPENSSL_SYS_NEWS4) || defined(OPENSSL_SYS_SUNOS) -# define ssize_t int -#endif - -#if defined(__ultrix) && !defined(ssize_t) -# define ossl_ssize_t int -#endif - -#ifndef ossl_ssize_t -# define ossl_ssize_t ssize_t -#endif - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/ebcdic.h b/ext/bin/libcrypto/include/openssl/ebcdic.h deleted file mode 100644 index 6d65afcf9..000000000 --- a/ext/bin/libcrypto/include/openssl/ebcdic.h +++ /dev/null @@ -1,19 +0,0 @@ -/* crypto/ebcdic.h */ - -#ifndef HEADER_EBCDIC_H -#define HEADER_EBCDIC_H - -#include - -/* Avoid name clashes with other applications */ -#define os_toascii _openssl_os_toascii -#define os_toebcdic _openssl_os_toebcdic -#define ebcdic2ascii _openssl_ebcdic2ascii -#define ascii2ebcdic _openssl_ascii2ebcdic - -extern const unsigned char os_toascii[256]; -extern const unsigned char os_toebcdic[256]; -void *ebcdic2ascii(void *dest, const void *srce, size_t count); -void *ascii2ebcdic(void *dest, const void *srce, size_t count); - -#endif diff --git a/ext/bin/libcrypto/include/openssl/ec.h b/ext/bin/libcrypto/include/openssl/ec.h deleted file mode 100644 index dfe8710d3..000000000 --- a/ext/bin/libcrypto/include/openssl/ec.h +++ /dev/null @@ -1,1167 +0,0 @@ -/* crypto/ec/ec.h */ -/* - * Originally written by Bodo Moeller for the OpenSSL project. - */ -/** - * \file crypto/ec/ec.h Include file for the OpenSSL EC functions - * \author Originally written by Bodo Moeller for the OpenSSL project - */ -/* ==================================================================== - * Copyright (c) 1998-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * - * Portions of the attached software ("Contribution") are developed by - * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. - * - * The Contribution is licensed pursuant to the OpenSSL open source - * license provided above. - * - * The elliptic curve binary polynomial software is originally written by - * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories. - * - */ - -#ifndef HEADER_EC_H -#define HEADER_EC_H - -#include - -#ifdef OPENSSL_NO_EC -#error EC is disabled. -#endif - -#include -#include -#ifndef OPENSSL_NO_DEPRECATED -#include -#endif - -#ifdef __cplusplus -extern "C" { -#elif defined(__SUNPRO_C) -# if __SUNPRO_C >= 0x520 -# pragma error_messages (off,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) -# endif -#endif - - -#ifndef OPENSSL_ECC_MAX_FIELD_BITS -# define OPENSSL_ECC_MAX_FIELD_BITS 661 -#endif - -/** Enum for the point conversion form as defined in X9.62 (ECDSA) - * for the encoding of a elliptic curve point (x,y) */ -typedef enum { - /** the point is encoded as z||x, where the octet z specifies - * which solution of the quadratic equation y is */ - POINT_CONVERSION_COMPRESSED = 2, - /** the point is encoded as z||x||y, where z is the octet 0x02 */ - POINT_CONVERSION_UNCOMPRESSED = 4, - /** the point is encoded as z||x||y, where the octet z specifies - * which solution of the quadratic equation y is */ - POINT_CONVERSION_HYBRID = 6 -} point_conversion_form_t; - - -typedef struct ec_method_st EC_METHOD; - -typedef struct ec_group_st - /* - EC_METHOD *meth; - -- field definition - -- curve coefficients - -- optional generator with associated information (order, cofactor) - -- optional extra data (precomputed table for fast computation of multiples of generator) - -- ASN1 stuff - */ - EC_GROUP; - -typedef struct ec_point_st EC_POINT; - - -/********************************************************************/ -/* EC_METHODs for curves over GF(p) */ -/********************************************************************/ - -/** Returns the basic GFp ec methods which provides the basis for the - * optimized methods. - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_simple_method(void); - -/** Returns GFp methods using montgomery multiplication. - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_mont_method(void); - -/** Returns GFp methods using optimized methods for NIST recommended curves - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nist_method(void); - -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -/** Returns 64-bit optimized methods for nistp224 - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nistp224_method(void); - -/** Returns 64-bit optimized methods for nistp256 - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nistp256_method(void); - -/** Returns 64-bit optimized methods for nistp521 - * \return EC_METHOD object - */ -const EC_METHOD *EC_GFp_nistp521_method(void); -#endif - -#ifndef OPENSSL_NO_EC2M -/********************************************************************/ -/* EC_METHOD for curves over GF(2^m) */ -/********************************************************************/ - -/** Returns the basic GF2m ec method - * \return EC_METHOD object - */ -const EC_METHOD *EC_GF2m_simple_method(void); - -#endif - - -/********************************************************************/ -/* EC_GROUP functions */ -/********************************************************************/ - -/** Creates a new EC_GROUP object - * \param meth EC_METHOD to use - * \return newly created EC_GROUP object or NULL in case of an error. - */ -EC_GROUP *EC_GROUP_new(const EC_METHOD *meth); - -/** Frees a EC_GROUP object - * \param group EC_GROUP object to be freed. - */ -void EC_GROUP_free(EC_GROUP *group); - -/** Clears and frees a EC_GROUP object - * \param group EC_GROUP object to be cleared and freed. - */ -void EC_GROUP_clear_free(EC_GROUP *group); - -/** Copies EC_GROUP objects. Note: both EC_GROUPs must use the same EC_METHOD. - * \param dst destination EC_GROUP object - * \param src source EC_GROUP object - * \return 1 on success and 0 if an error occurred. - */ -int EC_GROUP_copy(EC_GROUP *dst, const EC_GROUP *src); - -/** Creates a new EC_GROUP object and copies the copies the content - * form src to the newly created EC_KEY object - * \param src source EC_GROUP object - * \return newly created EC_GROUP object or NULL in case of an error. - */ -EC_GROUP *EC_GROUP_dup(const EC_GROUP *src); - -/** Returns the EC_METHOD of the EC_GROUP object. - * \param group EC_GROUP object - * \return EC_METHOD used in this EC_GROUP object. - */ -const EC_METHOD *EC_GROUP_method_of(const EC_GROUP *group); - -/** Returns the field type of the EC_METHOD. - * \param meth EC_METHOD object - * \return NID of the underlying field type OID. - */ -int EC_METHOD_get_field_type(const EC_METHOD *meth); - -/** Sets the generator and it's order/cofactor of a EC_GROUP object. - * \param group EC_GROUP object - * \param generator EC_POINT object with the generator. - * \param order the order of the group generated by the generator. - * \param cofactor the index of the sub-group generated by the generator - * in the group of all points on the elliptic curve. - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_set_generator(EC_GROUP *group, const EC_POINT *generator, const BIGNUM *order, const BIGNUM *cofactor); - -/** Returns the generator of a EC_GROUP object. - * \param group EC_GROUP object - * \return the currently used generator (possibly NULL). - */ -const EC_POINT *EC_GROUP_get0_generator(const EC_GROUP *group); - -/** Gets the order of a EC_GROUP - * \param group EC_GROUP object - * \param order BIGNUM to which the order is copied - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_get_order(const EC_GROUP *group, BIGNUM *order, BN_CTX *ctx); - -/** Gets the cofactor of a EC_GROUP - * \param group EC_GROUP object - * \param cofactor BIGNUM to which the cofactor is copied - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_get_cofactor(const EC_GROUP *group, BIGNUM *cofactor, BN_CTX *ctx); - -/** Sets the name of a EC_GROUP object - * \param group EC_GROUP object - * \param nid NID of the curve name OID - */ -void EC_GROUP_set_curve_name(EC_GROUP *group, int nid); - -/** Returns the curve name of a EC_GROUP object - * \param group EC_GROUP object - * \return NID of the curve name OID or 0 if not set. - */ -int EC_GROUP_get_curve_name(const EC_GROUP *group); - -void EC_GROUP_set_asn1_flag(EC_GROUP *group, int flag); -int EC_GROUP_get_asn1_flag(const EC_GROUP *group); - -void EC_GROUP_set_point_conversion_form(EC_GROUP *group, point_conversion_form_t form); -point_conversion_form_t EC_GROUP_get_point_conversion_form(const EC_GROUP *); - -unsigned char *EC_GROUP_get0_seed(const EC_GROUP *x); -size_t EC_GROUP_get_seed_len(const EC_GROUP *); -size_t EC_GROUP_set_seed(EC_GROUP *, const unsigned char *, size_t len); - -/** Sets the parameter of a ec over GFp defined by y^2 = x^3 + a*x + b - * \param group EC_GROUP object - * \param p BIGNUM with the prime number - * \param a BIGNUM with parameter a of the equation - * \param b BIGNUM with parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_set_curve_GFp(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); - -/** Gets the parameter of the ec over GFp defined by y^2 = x^3 + a*x + b - * \param group EC_GROUP object - * \param p BIGNUM for the prime number - * \param a BIGNUM for parameter a of the equation - * \param b BIGNUM for parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_get_curve_GFp(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); - -#ifndef OPENSSL_NO_EC2M -/** Sets the parameter of a ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b - * \param group EC_GROUP object - * \param p BIGNUM with the polynomial defining the underlying field - * \param a BIGNUM with parameter a of the equation - * \param b BIGNUM with parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_set_curve_GF2m(EC_GROUP *group, const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); - -/** Gets the parameter of the ec over GF2m defined by y^2 + x*y = x^3 + a*x^2 + b - * \param group EC_GROUP object - * \param p BIGNUM for the polynomial defining the underlying field - * \param a BIGNUM for parameter a of the equation - * \param b BIGNUM for parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_get_curve_GF2m(const EC_GROUP *group, BIGNUM *p, BIGNUM *a, BIGNUM *b, BN_CTX *ctx); -#endif -/** Returns the number of bits needed to represent a field element - * \param group EC_GROUP object - * \return number of bits needed to represent a field element - */ -int EC_GROUP_get_degree(const EC_GROUP *group); - -/** Checks whether the parameter in the EC_GROUP define a valid ec group - * \param group EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 1 if group is a valid ec group and 0 otherwise - */ -int EC_GROUP_check(const EC_GROUP *group, BN_CTX *ctx); - -/** Checks whether the discriminant of the elliptic curve is zero or not - * \param group EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 1 if the discriminant is not zero and 0 otherwise - */ -int EC_GROUP_check_discriminant(const EC_GROUP *group, BN_CTX *ctx); - -/** Compares two EC_GROUP objects - * \param a first EC_GROUP object - * \param b second EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 0 if both groups are equal and 1 otherwise - */ -int EC_GROUP_cmp(const EC_GROUP *a, const EC_GROUP *b, BN_CTX *ctx); - -/* EC_GROUP_new_GF*() calls EC_GROUP_new() and EC_GROUP_set_GF*() - * after choosing an appropriate EC_METHOD */ - -/** Creates a new EC_GROUP object with the specified parameters defined - * over GFp (defined by the equation y^2 = x^3 + a*x + b) - * \param p BIGNUM with the prime number - * \param a BIGNUM with the parameter a of the equation - * \param b BIGNUM with the parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return newly created EC_GROUP object with the specified parameters - */ -EC_GROUP *EC_GROUP_new_curve_GFp(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); -#ifndef OPENSSL_NO_EC2M -/** Creates a new EC_GROUP object with the specified parameters defined - * over GF2m (defined by the equation y^2 + x*y = x^3 + a*x^2 + b) - * \param p BIGNUM with the polynomial defining the underlying field - * \param a BIGNUM with the parameter a of the equation - * \param b BIGNUM with the parameter b of the equation - * \param ctx BN_CTX object (optional) - * \return newly created EC_GROUP object with the specified parameters - */ -EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, const BIGNUM *b, BN_CTX *ctx); -#endif -/** Creates a EC_GROUP object with a curve specified by a NID - * \param nid NID of the OID of the curve name - * \return newly created EC_GROUP object with specified curve or NULL - * if an error occurred - */ -EC_GROUP *EC_GROUP_new_by_curve_name(int nid); - - -/********************************************************************/ -/* handling of internal curves */ -/********************************************************************/ - -typedef struct { - int nid; - const char *comment; - } EC_builtin_curve; - -/* EC_builtin_curves(EC_builtin_curve *r, size_t size) returns number - * of all available curves or zero if a error occurred. - * In case r ist not zero nitems EC_builtin_curve structures - * are filled with the data of the first nitems internal groups */ -size_t EC_get_builtin_curves(EC_builtin_curve *r, size_t nitems); - - -/********************************************************************/ -/* EC_POINT functions */ -/********************************************************************/ - -/** Creates a new EC_POINT object for the specified EC_GROUP - * \param group EC_GROUP the underlying EC_GROUP object - * \return newly created EC_POINT object or NULL if an error occurred - */ -EC_POINT *EC_POINT_new(const EC_GROUP *group); - -/** Frees a EC_POINT object - * \param point EC_POINT object to be freed - */ -void EC_POINT_free(EC_POINT *point); - -/** Clears and frees a EC_POINT object - * \param point EC_POINT object to be cleared and freed - */ -void EC_POINT_clear_free(EC_POINT *point); - -/** Copies EC_POINT object - * \param dst destination EC_POINT object - * \param src source EC_POINT object - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_copy(EC_POINT *dst, const EC_POINT *src); - -/** Creates a new EC_POINT object and copies the content of the supplied - * EC_POINT - * \param src source EC_POINT object - * \param group underlying the EC_GROUP object - * \return newly created EC_POINT object or NULL if an error occurred - */ -EC_POINT *EC_POINT_dup(const EC_POINT *src, const EC_GROUP *group); - -/** Returns the EC_METHOD used in EC_POINT object - * \param point EC_POINT object - * \return the EC_METHOD used - */ -const EC_METHOD *EC_POINT_method_of(const EC_POINT *point); - -/** Sets a point to infinity (neutral element) - * \param group underlying EC_GROUP object - * \param point EC_POINT to set to infinity - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_to_infinity(const EC_GROUP *group, EC_POINT *point); - -/** Sets the jacobian projective coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param z BIGNUM with the z-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *ctx); - -/** Gets the jacobian projective coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param z BIGNUM for the z-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *ctx); - -/** Sets the affine coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); - -/** Gets the affine coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); - -/** Sets the x9.62 compressed coordinates of a EC_POINT over GFp - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with x-coordinate - * \param y_bit integer with the y-Bit (either 0 or 1) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, int y_bit, BN_CTX *ctx); -#ifndef OPENSSL_NO_EC2M -/** Sets the affine coordinates of a EC_POINT over GF2m - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with the x-coordinate - * \param y BIGNUM with the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, const BIGNUM *y, BN_CTX *ctx); - -/** Gets the affine coordinates of a EC_POINT over GF2m - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM for the x-coordinate - * \param y BIGNUM for the y-coordinate - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *group, - const EC_POINT *p, BIGNUM *x, BIGNUM *y, BN_CTX *ctx); - -/** Sets the x9.62 compressed coordinates of a EC_POINT over GF2m - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param x BIGNUM with x-coordinate - * \param y_bit integer with the y-Bit (either 0 or 1) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *group, EC_POINT *p, - const BIGNUM *x, int y_bit, BN_CTX *ctx); -#endif -/** Encodes a EC_POINT object to a octet string - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param form point conversion form - * \param buf memory buffer for the result. If NULL the function returns - * required buffer size. - * \param len length of the memory buffer - * \param ctx BN_CTX object (optional) - * \return the length of the encoded octet string or 0 if an error occurred - */ -size_t EC_POINT_point2oct(const EC_GROUP *group, const EC_POINT *p, - point_conversion_form_t form, - unsigned char *buf, size_t len, BN_CTX *ctx); - -/** Decodes a EC_POINT from a octet string - * \param group underlying EC_GROUP object - * \param p EC_POINT object - * \param buf memory buffer with the encoded ec point - * \param len length of the encoded ec point - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_oct2point(const EC_GROUP *group, EC_POINT *p, - const unsigned char *buf, size_t len, BN_CTX *ctx); - -/* other interfaces to point2oct/oct2point: */ -BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, - point_conversion_form_t form, BIGNUM *, BN_CTX *); -EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, - EC_POINT *, BN_CTX *); -char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, - point_conversion_form_t form, BN_CTX *); -EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, - EC_POINT *, BN_CTX *); - - -/********************************************************************/ -/* functions for doing EC_POINT arithmetic */ -/********************************************************************/ - -/** Computes the sum of two EC_POINT - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result (r = a + b) - * \param a EC_POINT object with the first summand - * \param b EC_POINT object with the second summand - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_add(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx); - -/** Computes the double of a EC_POINT - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result (r = 2 * a) - * \param a EC_POINT object - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_dbl(const EC_GROUP *group, EC_POINT *r, const EC_POINT *a, BN_CTX *ctx); - -/** Computes the inverse of a EC_POINT - * \param group underlying EC_GROUP object - * \param a EC_POINT object to be inverted (it's used for the result as well) - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_invert(const EC_GROUP *group, EC_POINT *a, BN_CTX *ctx); - -/** Checks whether the point is the neutral element of the group - * \param group the underlying EC_GROUP object - * \param p EC_POINT object - * \return 1 if the point is the neutral element and 0 otherwise - */ -int EC_POINT_is_at_infinity(const EC_GROUP *group, const EC_POINT *p); - -/** Checks whether the point is on the curve - * \param group underlying EC_GROUP object - * \param point EC_POINT object to check - * \param ctx BN_CTX object (optional) - * \return 1 if point if on the curve and 0 otherwise - */ -int EC_POINT_is_on_curve(const EC_GROUP *group, const EC_POINT *point, BN_CTX *ctx); - -/** Compares two EC_POINTs - * \param group underlying EC_GROUP object - * \param a first EC_POINT object - * \param b second EC_POINT object - * \param ctx BN_CTX object (optional) - * \return 0 if both points are equal and a value != 0 otherwise - */ -int EC_POINT_cmp(const EC_GROUP *group, const EC_POINT *a, const EC_POINT *b, BN_CTX *ctx); - -int EC_POINT_make_affine(const EC_GROUP *group, EC_POINT *point, BN_CTX *ctx); -int EC_POINTs_make_affine(const EC_GROUP *group, size_t num, EC_POINT *points[], BN_CTX *ctx); - -/** Computes r = generator * n sum_{i=0}^num p[i] * m[i] - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result - * \param n BIGNUM with the multiplier for the group generator (optional) - * \param num number futher summands - * \param p array of size num of EC_POINT objects - * \param m array of size num of BIGNUM objects - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINTs_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, size_t num, const EC_POINT *p[], const BIGNUM *m[], BN_CTX *ctx); - -/** Computes r = generator * n + q * m - * \param group underlying EC_GROUP object - * \param r EC_POINT object for the result - * \param n BIGNUM with the multiplier for the group generator (optional) - * \param q EC_POINT object with the first factor of the second summand - * \param m BIGNUM with the second factor of the second summand - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_POINT_mul(const EC_GROUP *group, EC_POINT *r, const BIGNUM *n, const EC_POINT *q, const BIGNUM *m, BN_CTX *ctx); - -/** Stores multiples of generator for faster point multiplication - * \param group EC_GROUP object - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occured - */ -int EC_GROUP_precompute_mult(EC_GROUP *group, BN_CTX *ctx); - -/** Reports whether a precomputation has been done - * \param group EC_GROUP object - * \return 1 if a pre-computation has been done and 0 otherwise - */ -int EC_GROUP_have_precompute_mult(const EC_GROUP *group); - - -/********************************************************************/ -/* ASN1 stuff */ -/********************************************************************/ - -/* EC_GROUP_get_basis_type() returns the NID of the basis type - * used to represent the field elements */ -int EC_GROUP_get_basis_type(const EC_GROUP *); -#ifndef OPENSSL_NO_EC2M -int EC_GROUP_get_trinomial_basis(const EC_GROUP *, unsigned int *k); -int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1, - unsigned int *k2, unsigned int *k3); -#endif - -#define OPENSSL_EC_NAMED_CURVE 0x001 - -typedef struct ecpk_parameters_st ECPKPARAMETERS; - -EC_GROUP *d2i_ECPKParameters(EC_GROUP **, const unsigned char **in, long len); -int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out); - -#define d2i_ECPKParameters_bio(bp,x) ASN1_d2i_bio_of(EC_GROUP,NULL,d2i_ECPKParameters,bp,x) -#define i2d_ECPKParameters_bio(bp,x) ASN1_i2d_bio_of_const(EC_GROUP,i2d_ECPKParameters,bp,x) -#define d2i_ECPKParameters_fp(fp,x) (EC_GROUP *)ASN1_d2i_fp(NULL, \ - (char *(*)())d2i_ECPKParameters,(fp),(unsigned char **)(x)) -#define i2d_ECPKParameters_fp(fp,x) ASN1_i2d_fp(i2d_ECPKParameters,(fp), \ - (unsigned char *)(x)) - -#ifndef OPENSSL_NO_BIO -int ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); -#endif -#ifndef OPENSSL_NO_FP_API -int ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off); -#endif - - -/********************************************************************/ -/* EC_KEY functions */ -/********************************************************************/ - -typedef struct ec_key_st EC_KEY; - -/* some values for the encoding_flag */ -#define EC_PKEY_NO_PARAMETERS 0x001 -#define EC_PKEY_NO_PUBKEY 0x002 - -/* some values for the flags field */ -#define EC_FLAG_NON_FIPS_ALLOW 0x1 -#define EC_FLAG_FIPS_CHECKED 0x2 - -/** Creates a new EC_KEY object. - * \return EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_new(void); - -int EC_KEY_get_flags(const EC_KEY *key); - -void EC_KEY_set_flags(EC_KEY *key, int flags); - -void EC_KEY_clear_flags(EC_KEY *key, int flags); - -/** Creates a new EC_KEY object using a named curve as underlying - * EC_GROUP object. - * \param nid NID of the named curve. - * \return EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_new_by_curve_name(int nid); - -/** Frees a EC_KEY object. - * \param key EC_KEY object to be freed. - */ -void EC_KEY_free(EC_KEY *key); - -/** Copies a EC_KEY object. - * \param dst destination EC_KEY object - * \param src src EC_KEY object - * \return dst or NULL if an error occurred. - */ -EC_KEY *EC_KEY_copy(EC_KEY *dst, const EC_KEY *src); - -/** Creates a new EC_KEY object and copies the content from src to it. - * \param src the source EC_KEY object - * \return newly created EC_KEY object or NULL if an error occurred. - */ -EC_KEY *EC_KEY_dup(const EC_KEY *src); - -/** Increases the internal reference count of a EC_KEY object. - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_up_ref(EC_KEY *key); - -/** Returns the EC_GROUP object of a EC_KEY object - * \param key EC_KEY object - * \return the EC_GROUP object (possibly NULL). - */ -const EC_GROUP *EC_KEY_get0_group(const EC_KEY *key); - -/** Sets the EC_GROUP of a EC_KEY object. - * \param key EC_KEY object - * \param group EC_GROUP to use in the EC_KEY object (note: the EC_KEY - * object will use an own copy of the EC_GROUP). - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_set_group(EC_KEY *key, const EC_GROUP *group); - -/** Returns the private key of a EC_KEY object. - * \param key EC_KEY object - * \return a BIGNUM with the private key (possibly NULL). - */ -const BIGNUM *EC_KEY_get0_private_key(const EC_KEY *key); - -/** Sets the private key of a EC_KEY object. - * \param key EC_KEY object - * \param prv BIGNUM with the private key (note: the EC_KEY object - * will use an own copy of the BIGNUM). - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_set_private_key(EC_KEY *key, const BIGNUM *prv); - -/** Returns the public key of a EC_KEY object. - * \param key the EC_KEY object - * \return a EC_POINT object with the public key (possibly NULL) - */ -const EC_POINT *EC_KEY_get0_public_key(const EC_KEY *key); - -/** Sets the public key of a EC_KEY object. - * \param key EC_KEY object - * \param pub EC_POINT object with the public key (note: the EC_KEY object - * will use an own copy of the EC_POINT object). - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_set_public_key(EC_KEY *key, const EC_POINT *pub); - -unsigned EC_KEY_get_enc_flags(const EC_KEY *key); -void EC_KEY_set_enc_flags(EC_KEY *eckey, unsigned int flags); -point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *key); -void EC_KEY_set_conv_form(EC_KEY *eckey, point_conversion_form_t cform); -/* functions to set/get method specific data */ -void *EC_KEY_get_key_method_data(EC_KEY *key, - void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); -/** Sets the key method data of an EC_KEY object, if none has yet been set. - * \param key EC_KEY object - * \param data opaque data to install. - * \param dup_func a function that duplicates |data|. - * \param free_func a function that frees |data|. - * \param clear_free_func a function that wipes and frees |data|. - * \return the previously set data pointer, or NULL if |data| was inserted. - */ -void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data, - void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); -/* wrapper functions for the underlying EC_GROUP object */ -void EC_KEY_set_asn1_flag(EC_KEY *eckey, int asn1_flag); - -/** Creates a table of pre-computed multiples of the generator to - * accelerate further EC_KEY operations. - * \param key EC_KEY object - * \param ctx BN_CTX object (optional) - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_precompute_mult(EC_KEY *key, BN_CTX *ctx); - -/** Creates a new ec private (and optional a new public) key. - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred. - */ -int EC_KEY_generate_key(EC_KEY *key); - -/** Verifies that a private and/or public key is valid. - * \param key the EC_KEY object - * \return 1 on success and 0 otherwise. - */ -int EC_KEY_check_key(const EC_KEY *key); - -/** Sets a public key from affine coordindates performing - * neccessary NIST PKV tests. - * \param key the EC_KEY object - * \param x public key x coordinate - * \param y public key y coordinate - * \return 1 on success and 0 otherwise. - */ -int EC_KEY_set_public_key_affine_coordinates(EC_KEY *key, BIGNUM *x, BIGNUM *y); - - -/********************************************************************/ -/* de- and encoding functions for SEC1 ECPrivateKey */ -/********************************************************************/ - -/** Decodes a private key from a memory buffer. - * \param key a pointer to a EC_KEY object which should be used (or NULL) - * \param in pointer to memory with the DER encoded private key - * \param len length of the DER encoded private key - * \return the decoded private key or NULL if an error occurred. - */ -EC_KEY *d2i_ECPrivateKey(EC_KEY **key, const unsigned char **in, long len); - -/** Encodes a private key object and stores the result in a buffer. - * \param key the EC_KEY object to encode - * \param out the buffer for the result (if NULL the function returns number - * of bytes needed). - * \return 1 on success and 0 if an error occurred. - */ -int i2d_ECPrivateKey(EC_KEY *key, unsigned char **out); - - -/********************************************************************/ -/* de- and encoding functions for EC parameters */ -/********************************************************************/ - -/** Decodes ec parameter from a memory buffer. - * \param key a pointer to a EC_KEY object which should be used (or NULL) - * \param in pointer to memory with the DER encoded ec parameters - * \param len length of the DER encoded ec parameters - * \return a EC_KEY object with the decoded parameters or NULL if an error - * occurred. - */ -EC_KEY *d2i_ECParameters(EC_KEY **key, const unsigned char **in, long len); - -/** Encodes ec parameter and stores the result in a buffer. - * \param key the EC_KEY object with ec paramters to encode - * \param out the buffer for the result (if NULL the function returns number - * of bytes needed). - * \return 1 on success and 0 if an error occurred. - */ -int i2d_ECParameters(EC_KEY *key, unsigned char **out); - - -/********************************************************************/ -/* de- and encoding functions for EC public key */ -/* (octet string, not DER -- hence 'o2i' and 'i2o') */ -/********************************************************************/ - -/** Decodes a ec public key from a octet string. - * \param key a pointer to a EC_KEY object which should be used - * \param in memory buffer with the encoded public key - * \param len length of the encoded public key - * \return EC_KEY object with decoded public key or NULL if an error - * occurred. - */ -EC_KEY *o2i_ECPublicKey(EC_KEY **key, const unsigned char **in, long len); - -/** Encodes a ec public key in an octet string. - * \param key the EC_KEY object with the public key - * \param out the buffer for the result (if NULL the function returns number - * of bytes needed). - * \return 1 on success and 0 if an error occurred - */ -int i2o_ECPublicKey(EC_KEY *key, unsigned char **out); - -#ifndef OPENSSL_NO_BIO -/** Prints out the ec parameters on human readable form. - * \param bp BIO object to which the information is printed - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred - */ -int ECParameters_print(BIO *bp, const EC_KEY *key); - -/** Prints out the contents of a EC_KEY object - * \param bp BIO object to which the information is printed - * \param key EC_KEY object - * \param off line offset - * \return 1 on success and 0 if an error occurred - */ -int EC_KEY_print(BIO *bp, const EC_KEY *key, int off); - -#endif -#ifndef OPENSSL_NO_FP_API -/** Prints out the ec parameters on human readable form. - * \param fp file descriptor to which the information is printed - * \param key EC_KEY object - * \return 1 on success and 0 if an error occurred - */ -int ECParameters_print_fp(FILE *fp, const EC_KEY *key); - -/** Prints out the contents of a EC_KEY object - * \param fp file descriptor to which the information is printed - * \param key EC_KEY object - * \param off line offset - * \return 1 on success and 0 if an error occurred - */ -int EC_KEY_print_fp(FILE *fp, const EC_KEY *key, int off); - -#endif - -#define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) - -#ifndef __cplusplus -#if defined(__SUNPRO_C) -# if __SUNPRO_C >= 0x520 -# pragma error_messages (default,E_ARRAY_OF_INCOMPLETE_NONAME,E_ARRAY_OF_INCOMPLETE) -# endif -# endif -#endif - -#define EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx, nid) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_EC, EVP_PKEY_OP_PARAMGEN, \ - EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID, nid, NULL) - - -#define EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID (EVP_PKEY_ALG_CTRL + 1) - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_EC_strings(void); - -/* Error codes for the EC functions. */ - -/* Function codes. */ -#define EC_F_BN_TO_FELEM 224 -#define EC_F_COMPUTE_WNAF 143 -#define EC_F_D2I_ECPARAMETERS 144 -#define EC_F_D2I_ECPKPARAMETERS 145 -#define EC_F_D2I_ECPRIVATEKEY 146 -#define EC_F_DO_EC_KEY_PRINT 221 -#define EC_F_ECKEY_PARAM2TYPE 223 -#define EC_F_ECKEY_PARAM_DECODE 212 -#define EC_F_ECKEY_PRIV_DECODE 213 -#define EC_F_ECKEY_PRIV_ENCODE 214 -#define EC_F_ECKEY_PUB_DECODE 215 -#define EC_F_ECKEY_PUB_ENCODE 216 -#define EC_F_ECKEY_TYPE2PARAM 220 -#define EC_F_ECPARAMETERS_PRINT 147 -#define EC_F_ECPARAMETERS_PRINT_FP 148 -#define EC_F_ECPKPARAMETERS_PRINT 149 -#define EC_F_ECPKPARAMETERS_PRINT_FP 150 -#define EC_F_ECP_NIST_MOD_192 203 -#define EC_F_ECP_NIST_MOD_224 204 -#define EC_F_ECP_NIST_MOD_256 205 -#define EC_F_ECP_NIST_MOD_521 206 -#define EC_F_EC_ASN1_GROUP2CURVE 153 -#define EC_F_EC_ASN1_GROUP2FIELDID 154 -#define EC_F_EC_ASN1_GROUP2PARAMETERS 155 -#define EC_F_EC_ASN1_GROUP2PKPARAMETERS 156 -#define EC_F_EC_ASN1_PARAMETERS2GROUP 157 -#define EC_F_EC_ASN1_PKPARAMETERS2GROUP 158 -#define EC_F_EC_EX_DATA_SET_DATA 211 -#define EC_F_EC_GF2M_MONTGOMERY_POINT_MULTIPLY 208 -#define EC_F_EC_GF2M_SIMPLE_GROUP_CHECK_DISCRIMINANT 159 -#define EC_F_EC_GF2M_SIMPLE_GROUP_SET_CURVE 195 -#define EC_F_EC_GF2M_SIMPLE_OCT2POINT 160 -#define EC_F_EC_GF2M_SIMPLE_POINT2OCT 161 -#define EC_F_EC_GF2M_SIMPLE_POINT_GET_AFFINE_COORDINATES 162 -#define EC_F_EC_GF2M_SIMPLE_POINT_SET_AFFINE_COORDINATES 163 -#define EC_F_EC_GF2M_SIMPLE_SET_COMPRESSED_COORDINATES 164 -#define EC_F_EC_GFP_MONT_FIELD_DECODE 133 -#define EC_F_EC_GFP_MONT_FIELD_ENCODE 134 -#define EC_F_EC_GFP_MONT_FIELD_MUL 131 -#define EC_F_EC_GFP_MONT_FIELD_SET_TO_ONE 209 -#define EC_F_EC_GFP_MONT_FIELD_SQR 132 -#define EC_F_EC_GFP_MONT_GROUP_SET_CURVE 189 -#define EC_F_EC_GFP_MONT_GROUP_SET_CURVE_GFP 135 -#define EC_F_EC_GFP_NISTP224_GROUP_SET_CURVE 225 -#define EC_F_EC_GFP_NISTP224_POINTS_MUL 228 -#define EC_F_EC_GFP_NISTP224_POINT_GET_AFFINE_COORDINATES 226 -#define EC_F_EC_GFP_NISTP256_GROUP_SET_CURVE 230 -#define EC_F_EC_GFP_NISTP256_POINTS_MUL 231 -#define EC_F_EC_GFP_NISTP256_POINT_GET_AFFINE_COORDINATES 232 -#define EC_F_EC_GFP_NISTP521_GROUP_SET_CURVE 233 -#define EC_F_EC_GFP_NISTP521_POINTS_MUL 234 -#define EC_F_EC_GFP_NISTP521_POINT_GET_AFFINE_COORDINATES 235 -#define EC_F_EC_GFP_NIST_FIELD_MUL 200 -#define EC_F_EC_GFP_NIST_FIELD_SQR 201 -#define EC_F_EC_GFP_NIST_GROUP_SET_CURVE 202 -#define EC_F_EC_GFP_SIMPLE_GROUP_CHECK_DISCRIMINANT 165 -#define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE 166 -#define EC_F_EC_GFP_SIMPLE_GROUP_SET_CURVE_GFP 100 -#define EC_F_EC_GFP_SIMPLE_GROUP_SET_GENERATOR 101 -#define EC_F_EC_GFP_SIMPLE_MAKE_AFFINE 102 -#define EC_F_EC_GFP_SIMPLE_OCT2POINT 103 -#define EC_F_EC_GFP_SIMPLE_POINT2OCT 104 -#define EC_F_EC_GFP_SIMPLE_POINTS_MAKE_AFFINE 137 -#define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES 167 -#define EC_F_EC_GFP_SIMPLE_POINT_GET_AFFINE_COORDINATES_GFP 105 -#define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES 168 -#define EC_F_EC_GFP_SIMPLE_POINT_SET_AFFINE_COORDINATES_GFP 128 -#define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES 169 -#define EC_F_EC_GFP_SIMPLE_SET_COMPRESSED_COORDINATES_GFP 129 -#define EC_F_EC_GROUP_CHECK 170 -#define EC_F_EC_GROUP_CHECK_DISCRIMINANT 171 -#define EC_F_EC_GROUP_COPY 106 -#define EC_F_EC_GROUP_GET0_GENERATOR 139 -#define EC_F_EC_GROUP_GET_COFACTOR 140 -#define EC_F_EC_GROUP_GET_CURVE_GF2M 172 -#define EC_F_EC_GROUP_GET_CURVE_GFP 130 -#define EC_F_EC_GROUP_GET_DEGREE 173 -#define EC_F_EC_GROUP_GET_ORDER 141 -#define EC_F_EC_GROUP_GET_PENTANOMIAL_BASIS 193 -#define EC_F_EC_GROUP_GET_TRINOMIAL_BASIS 194 -#define EC_F_EC_GROUP_NEW 108 -#define EC_F_EC_GROUP_NEW_BY_CURVE_NAME 174 -#define EC_F_EC_GROUP_NEW_FROM_DATA 175 -#define EC_F_EC_GROUP_PRECOMPUTE_MULT 142 -#define EC_F_EC_GROUP_SET_CURVE_GF2M 176 -#define EC_F_EC_GROUP_SET_CURVE_GFP 109 -#define EC_F_EC_GROUP_SET_EXTRA_DATA 110 -#define EC_F_EC_GROUP_SET_GENERATOR 111 -#define EC_F_EC_KEY_CHECK_KEY 177 -#define EC_F_EC_KEY_COPY 178 -#define EC_F_EC_KEY_GENERATE_KEY 179 -#define EC_F_EC_KEY_NEW 182 -#define EC_F_EC_KEY_PRINT 180 -#define EC_F_EC_KEY_PRINT_FP 181 -#define EC_F_EC_KEY_SET_PUBLIC_KEY_AFFINE_COORDINATES 229 -#define EC_F_EC_POINTS_MAKE_AFFINE 136 -#define EC_F_EC_POINT_ADD 112 -#define EC_F_EC_POINT_CMP 113 -#define EC_F_EC_POINT_COPY 114 -#define EC_F_EC_POINT_DBL 115 -#define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GF2M 183 -#define EC_F_EC_POINT_GET_AFFINE_COORDINATES_GFP 116 -#define EC_F_EC_POINT_GET_JPROJECTIVE_COORDINATES_GFP 117 -#define EC_F_EC_POINT_INVERT 210 -#define EC_F_EC_POINT_IS_AT_INFINITY 118 -#define EC_F_EC_POINT_IS_ON_CURVE 119 -#define EC_F_EC_POINT_MAKE_AFFINE 120 -#define EC_F_EC_POINT_MUL 184 -#define EC_F_EC_POINT_NEW 121 -#define EC_F_EC_POINT_OCT2POINT 122 -#define EC_F_EC_POINT_POINT2OCT 123 -#define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GF2M 185 -#define EC_F_EC_POINT_SET_AFFINE_COORDINATES_GFP 124 -#define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GF2M 186 -#define EC_F_EC_POINT_SET_COMPRESSED_COORDINATES_GFP 125 -#define EC_F_EC_POINT_SET_JPROJECTIVE_COORDINATES_GFP 126 -#define EC_F_EC_POINT_SET_TO_INFINITY 127 -#define EC_F_EC_PRE_COMP_DUP 207 -#define EC_F_EC_PRE_COMP_NEW 196 -#define EC_F_EC_WNAF_MUL 187 -#define EC_F_EC_WNAF_PRECOMPUTE_MULT 188 -#define EC_F_I2D_ECPARAMETERS 190 -#define EC_F_I2D_ECPKPARAMETERS 191 -#define EC_F_I2D_ECPRIVATEKEY 192 -#define EC_F_I2O_ECPUBLICKEY 151 -#define EC_F_NISTP224_PRE_COMP_NEW 227 -#define EC_F_NISTP256_PRE_COMP_NEW 236 -#define EC_F_NISTP521_PRE_COMP_NEW 237 -#define EC_F_O2I_ECPUBLICKEY 152 -#define EC_F_OLD_EC_PRIV_DECODE 222 -#define EC_F_PKEY_EC_CTRL 197 -#define EC_F_PKEY_EC_CTRL_STR 198 -#define EC_F_PKEY_EC_DERIVE 217 -#define EC_F_PKEY_EC_KEYGEN 199 -#define EC_F_PKEY_EC_PARAMGEN 219 -#define EC_F_PKEY_EC_SIGN 218 - -/* Reason codes. */ -#define EC_R_ASN1_ERROR 115 -#define EC_R_ASN1_UNKNOWN_FIELD 116 -#define EC_R_BIGNUM_OUT_OF_RANGE 144 -#define EC_R_BUFFER_TOO_SMALL 100 -#define EC_R_COORDINATES_OUT_OF_RANGE 146 -#define EC_R_D2I_ECPKPARAMETERS_FAILURE 117 -#define EC_R_DECODE_ERROR 142 -#define EC_R_DISCRIMINANT_IS_ZERO 118 -#define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE 119 -#define EC_R_FIELD_TOO_LARGE 143 -#define EC_R_GF2M_NOT_SUPPORTED 147 -#define EC_R_GROUP2PKPARAMETERS_FAILURE 120 -#define EC_R_I2D_ECPKPARAMETERS_FAILURE 121 -#define EC_R_INCOMPATIBLE_OBJECTS 101 -#define EC_R_INVALID_ARGUMENT 112 -#define EC_R_INVALID_COMPRESSED_POINT 110 -#define EC_R_INVALID_COMPRESSION_BIT 109 -#define EC_R_INVALID_CURVE 141 -#define EC_R_INVALID_DIGEST_TYPE 138 -#define EC_R_INVALID_ENCODING 102 -#define EC_R_INVALID_FIELD 103 -#define EC_R_INVALID_FORM 104 -#define EC_R_INVALID_GROUP_ORDER 122 -#define EC_R_INVALID_PENTANOMIAL_BASIS 132 -#define EC_R_INVALID_PRIVATE_KEY 123 -#define EC_R_INVALID_TRINOMIAL_BASIS 137 -#define EC_R_KEYS_NOT_SET 140 -#define EC_R_MISSING_PARAMETERS 124 -#define EC_R_MISSING_PRIVATE_KEY 125 -#define EC_R_NOT_A_NIST_PRIME 135 -#define EC_R_NOT_A_SUPPORTED_NIST_PRIME 136 -#define EC_R_NOT_IMPLEMENTED 126 -#define EC_R_NOT_INITIALIZED 111 -#define EC_R_NO_FIELD_MOD 133 -#define EC_R_NO_PARAMETERS_SET 139 -#define EC_R_PASSED_NULL_PARAMETER 134 -#define EC_R_PKPARAMETERS2GROUP_FAILURE 127 -#define EC_R_POINT_AT_INFINITY 106 -#define EC_R_POINT_IS_NOT_ON_CURVE 107 -#define EC_R_SLOT_FULL 108 -#define EC_R_UNDEFINED_GENERATOR 113 -#define EC_R_UNDEFINED_ORDER 128 -#define EC_R_UNKNOWN_GROUP 129 -#define EC_R_UNKNOWN_ORDER 114 -#define EC_R_UNSUPPORTED_FIELD 131 -#define EC_R_WRONG_CURVE_PARAMETERS 145 -#define EC_R_WRONG_ORDER 130 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/ecdh.h b/ext/bin/libcrypto/include/openssl/ecdh.h deleted file mode 100644 index 8887102c0..000000000 --- a/ext/bin/libcrypto/include/openssl/ecdh.h +++ /dev/null @@ -1,125 +0,0 @@ -/* crypto/ecdh/ecdh.h */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * - * The Elliptic Curve Public-Key Crypto Library (ECC Code) included - * herein is developed by SUN MICROSYSTEMS, INC., and is contributed - * to the OpenSSL project. - * - * The ECC Code is licensed pursuant to the OpenSSL open source - * license provided below. - * - * The ECDH software is originally written by Douglas Stebila of - * Sun Microsystems Laboratories. - * - */ -/* ==================================================================== - * Copyright (c) 2000-2002 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -#ifndef HEADER_ECDH_H -#define HEADER_ECDH_H - -#include - -#ifdef OPENSSL_NO_ECDH -#error ECDH is disabled. -#endif - -#include -#include -#ifndef OPENSSL_NO_DEPRECATED -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -const ECDH_METHOD *ECDH_OpenSSL(void); - -void ECDH_set_default_method(const ECDH_METHOD *); -const ECDH_METHOD *ECDH_get_default_method(void); -int ECDH_set_method(EC_KEY *, const ECDH_METHOD *); - -int ECDH_compute_key(void *out, size_t outlen, const EC_POINT *pub_key, EC_KEY *ecdh, - void *(*KDF)(const void *in, size_t inlen, void *out, size_t *outlen)); - -int ECDH_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new - *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int ECDH_set_ex_data(EC_KEY *d, int idx, void *arg); -void *ECDH_get_ex_data(EC_KEY *d, int idx); - - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_ECDH_strings(void); - -/* Error codes for the ECDH functions. */ - -/* Function codes. */ -#define ECDH_F_ECDH_CHECK 102 -#define ECDH_F_ECDH_COMPUTE_KEY 100 -#define ECDH_F_ECDH_DATA_NEW_METHOD 101 - -/* Reason codes. */ -#define ECDH_R_KDF_FAILED 102 -#define ECDH_R_NON_FIPS_METHOD 103 -#define ECDH_R_NO_PRIVATE_VALUE 100 -#define ECDH_R_POINT_ARITHMETIC_FAILURE 101 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/ecdsa.h b/ext/bin/libcrypto/include/openssl/ecdsa.h deleted file mode 100644 index 7fb5254b6..000000000 --- a/ext/bin/libcrypto/include/openssl/ecdsa.h +++ /dev/null @@ -1,260 +0,0 @@ -/* crypto/ecdsa/ecdsa.h */ -/** - * \file crypto/ecdsa/ecdsa.h Include file for the OpenSSL ECDSA functions - * \author Written by Nils Larsch for the OpenSSL project - */ -/* ==================================================================== - * Copyright (c) 2000-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -#ifndef HEADER_ECDSA_H -#define HEADER_ECDSA_H - -#include - -#ifdef OPENSSL_NO_ECDSA -#error ECDSA is disabled. -#endif - -#include -#include -#ifndef OPENSSL_NO_DEPRECATED -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct ECDSA_SIG_st - { - BIGNUM *r; - BIGNUM *s; - } ECDSA_SIG; - -/** Allocates and initialize a ECDSA_SIG structure - * \return pointer to a ECDSA_SIG structure or NULL if an error occurred - */ -ECDSA_SIG *ECDSA_SIG_new(void); - -/** frees a ECDSA_SIG structure - * \param sig pointer to the ECDSA_SIG structure - */ -void ECDSA_SIG_free(ECDSA_SIG *sig); - -/** DER encode content of ECDSA_SIG object (note: this function modifies *pp - * (*pp += length of the DER encoded signature)). - * \param sig pointer to the ECDSA_SIG object - * \param pp pointer to a unsigned char pointer for the output or NULL - * \return the length of the DER encoded ECDSA_SIG object or 0 - */ -int i2d_ECDSA_SIG(const ECDSA_SIG *sig, unsigned char **pp); - -/** Decodes a DER encoded ECDSA signature (note: this function changes *pp - * (*pp += len)). - * \param sig pointer to ECDSA_SIG pointer (may be NULL) - * \param pp memory buffer with the DER encoded signature - * \param len length of the buffer - * \return pointer to the decoded ECDSA_SIG structure (or NULL) - */ -ECDSA_SIG *d2i_ECDSA_SIG(ECDSA_SIG **sig, const unsigned char **pp, long len); - -/** Computes the ECDSA signature of the given hash value using - * the supplied private key and returns the created signature. - * \param dgst pointer to the hash value - * \param dgst_len length of the hash value - * \param eckey EC_KEY object containing a private EC key - * \return pointer to a ECDSA_SIG structure or NULL if an error occurred - */ -ECDSA_SIG *ECDSA_do_sign(const unsigned char *dgst,int dgst_len,EC_KEY *eckey); - -/** Computes ECDSA signature of a given hash value using the supplied - * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). - * \param dgst pointer to the hash value to sign - * \param dgstlen length of the hash value - * \param kinv BIGNUM with a pre-computed inverse k (optional) - * \param rp BIGNUM with a pre-computed rp value (optioanl), - * see ECDSA_sign_setup - * \param eckey EC_KEY object containing a private EC key - * \return pointer to a ECDSA_SIG structure or NULL if an error occurred - */ -ECDSA_SIG *ECDSA_do_sign_ex(const unsigned char *dgst, int dgstlen, - const BIGNUM *kinv, const BIGNUM *rp, EC_KEY *eckey); - -/** Verifies that the supplied signature is a valid ECDSA - * signature of the supplied hash value using the supplied public key. - * \param dgst pointer to the hash value - * \param dgst_len length of the hash value - * \param sig ECDSA_SIG structure - * \param eckey EC_KEY object containing a public EC key - * \return 1 if the signature is valid, 0 if the signature is invalid - * and -1 on error - */ -int ECDSA_do_verify(const unsigned char *dgst, int dgst_len, - const ECDSA_SIG *sig, EC_KEY* eckey); - -const ECDSA_METHOD *ECDSA_OpenSSL(void); - -/** Sets the default ECDSA method - * \param meth new default ECDSA_METHOD - */ -void ECDSA_set_default_method(const ECDSA_METHOD *meth); - -/** Returns the default ECDSA method - * \return pointer to ECDSA_METHOD structure containing the default method - */ -const ECDSA_METHOD *ECDSA_get_default_method(void); - -/** Sets method to be used for the ECDSA operations - * \param eckey EC_KEY object - * \param meth new method - * \return 1 on success and 0 otherwise - */ -int ECDSA_set_method(EC_KEY *eckey, const ECDSA_METHOD *meth); - -/** Returns the maximum length of the DER encoded signature - * \param eckey EC_KEY object - * \return numbers of bytes required for the DER encoded signature - */ -int ECDSA_size(const EC_KEY *eckey); - -/** Precompute parts of the signing operation - * \param eckey EC_KEY object containing a private EC key - * \param ctx BN_CTX object (optional) - * \param kinv BIGNUM pointer for the inverse of k - * \param rp BIGNUM pointer for x coordinate of k * generator - * \return 1 on success and 0 otherwise - */ -int ECDSA_sign_setup(EC_KEY *eckey, BN_CTX *ctx, BIGNUM **kinv, - BIGNUM **rp); - -/** Computes ECDSA signature of a given hash value using the supplied - * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). - * \param type this parameter is ignored - * \param dgst pointer to the hash value to sign - * \param dgstlen length of the hash value - * \param sig memory for the DER encoded created signature - * \param siglen pointer to the length of the returned signature - * \param eckey EC_KEY object containing a private EC key - * \return 1 on success and 0 otherwise - */ -int ECDSA_sign(int type, const unsigned char *dgst, int dgstlen, - unsigned char *sig, unsigned int *siglen, EC_KEY *eckey); - - -/** Computes ECDSA signature of a given hash value using the supplied - * private key (note: sig must point to ECDSA_size(eckey) bytes of memory). - * \param type this parameter is ignored - * \param dgst pointer to the hash value to sign - * \param dgstlen length of the hash value - * \param sig buffer to hold the DER encoded signature - * \param siglen pointer to the length of the returned signature - * \param kinv BIGNUM with a pre-computed inverse k (optional) - * \param rp BIGNUM with a pre-computed rp value (optioanl), - * see ECDSA_sign_setup - * \param eckey EC_KEY object containing a private EC key - * \return 1 on success and 0 otherwise - */ -int ECDSA_sign_ex(int type, const unsigned char *dgst, int dgstlen, - unsigned char *sig, unsigned int *siglen, const BIGNUM *kinv, - const BIGNUM *rp, EC_KEY *eckey); - -/** Verifies that the given signature is valid ECDSA signature - * of the supplied hash value using the specified public key. - * \param type this parameter is ignored - * \param dgst pointer to the hash value - * \param dgstlen length of the hash value - * \param sig pointer to the DER encoded signature - * \param siglen length of the DER encoded signature - * \param eckey EC_KEY object containing a public EC key - * \return 1 if the signature is valid, 0 if the signature is invalid - * and -1 on error - */ -int ECDSA_verify(int type, const unsigned char *dgst, int dgstlen, - const unsigned char *sig, int siglen, EC_KEY *eckey); - -/* the standard ex_data functions */ -int ECDSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new - *new_func, CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int ECDSA_set_ex_data(EC_KEY *d, int idx, void *arg); -void *ECDSA_get_ex_data(EC_KEY *d, int idx); - - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_ECDSA_strings(void); - -/* Error codes for the ECDSA functions. */ - -/* Function codes. */ -#define ECDSA_F_ECDSA_CHECK 104 -#define ECDSA_F_ECDSA_DATA_NEW_METHOD 100 -#define ECDSA_F_ECDSA_DO_SIGN 101 -#define ECDSA_F_ECDSA_DO_VERIFY 102 -#define ECDSA_F_ECDSA_SIGN_SETUP 103 - -/* Reason codes. */ -#define ECDSA_R_BAD_SIGNATURE 100 -#define ECDSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 101 -#define ECDSA_R_ERR_EC_LIB 102 -#define ECDSA_R_MISSING_PARAMETERS 103 -#define ECDSA_R_NEED_NEW_SETUP_VALUES 106 -#define ECDSA_R_NON_FIPS_METHOD 107 -#define ECDSA_R_RANDOM_NUMBER_GENERATION_FAILED 104 -#define ECDSA_R_SIGNATURE_MALLOC_FAILED 105 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/engine.h b/ext/bin/libcrypto/include/openssl/engine.h deleted file mode 100644 index f8be49772..000000000 --- a/ext/bin/libcrypto/include/openssl/engine.h +++ /dev/null @@ -1,842 +0,0 @@ -/* openssl/engine.h */ -/* Written by Geoff Thorpe (geoff@geoffthorpe.net) for the OpenSSL - * project 2000. - */ -/* ==================================================================== - * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. - */ - -#ifndef HEADER_ENGINE_H -#define HEADER_ENGINE_H - -#include - -#ifdef OPENSSL_NO_ENGINE -#error ENGINE is disabled. -#endif - -#ifndef OPENSSL_NO_DEPRECATED -#include -#ifndef OPENSSL_NO_RSA -#include -#endif -#ifndef OPENSSL_NO_DSA -#include -#endif -#ifndef OPENSSL_NO_DH -#include -#endif -#ifndef OPENSSL_NO_ECDH -#include -#endif -#ifndef OPENSSL_NO_ECDSA -#include -#endif -#include -#include -#include -#endif - -#include -#include - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* These flags are used to control combinations of algorithm (methods) - * by bitwise "OR"ing. */ -#define ENGINE_METHOD_RSA (unsigned int)0x0001 -#define ENGINE_METHOD_DSA (unsigned int)0x0002 -#define ENGINE_METHOD_DH (unsigned int)0x0004 -#define ENGINE_METHOD_RAND (unsigned int)0x0008 -#define ENGINE_METHOD_ECDH (unsigned int)0x0010 -#define ENGINE_METHOD_ECDSA (unsigned int)0x0020 -#define ENGINE_METHOD_CIPHERS (unsigned int)0x0040 -#define ENGINE_METHOD_DIGESTS (unsigned int)0x0080 -#define ENGINE_METHOD_STORE (unsigned int)0x0100 -#define ENGINE_METHOD_PKEY_METHS (unsigned int)0x0200 -#define ENGINE_METHOD_PKEY_ASN1_METHS (unsigned int)0x0400 -/* Obvious all-or-nothing cases. */ -#define ENGINE_METHOD_ALL (unsigned int)0xFFFF -#define ENGINE_METHOD_NONE (unsigned int)0x0000 - -/* This(ese) flag(s) controls behaviour of the ENGINE_TABLE mechanism used - * internally to control registration of ENGINE implementations, and can be set - * by ENGINE_set_table_flags(). The "NOINIT" flag prevents attempts to - * initialise registered ENGINEs if they are not already initialised. */ -#define ENGINE_TABLE_FLAG_NOINIT (unsigned int)0x0001 - -/* ENGINE flags that can be set by ENGINE_set_flags(). */ -/* #define ENGINE_FLAGS_MALLOCED 0x0001 */ /* Not used */ - -/* This flag is for ENGINEs that wish to handle the various 'CMD'-related - * control commands on their own. Without this flag, ENGINE_ctrl() handles these - * control commands on behalf of the ENGINE using their "cmd_defns" data. */ -#define ENGINE_FLAGS_MANUAL_CMD_CTRL (int)0x0002 - -/* This flag is for ENGINEs who return new duplicate structures when found via - * "ENGINE_by_id()". When an ENGINE must store state (eg. if ENGINE_ctrl() - * commands are called in sequence as part of some stateful process like - * key-generation setup and execution), it can set this flag - then each attempt - * to obtain the ENGINE will result in it being copied into a new structure. - * Normally, ENGINEs don't declare this flag so ENGINE_by_id() just increments - * the existing ENGINE's structural reference count. */ -#define ENGINE_FLAGS_BY_ID_COPY (int)0x0004 - -/* This flag if for an ENGINE that does not want its methods registered as - * part of ENGINE_register_all_complete() for example if the methods are - * not usable as default methods. - */ - -#define ENGINE_FLAGS_NO_REGISTER_ALL (int)0x0008 - -/* ENGINEs can support their own command types, and these flags are used in - * ENGINE_CTRL_GET_CMD_FLAGS to indicate to the caller what kind of input each - * command expects. Currently only numeric and string input is supported. If a - * control command supports none of the _NUMERIC, _STRING, or _NO_INPUT options, - * then it is regarded as an "internal" control command - and not for use in - * config setting situations. As such, they're not available to the - * ENGINE_ctrl_cmd_string() function, only raw ENGINE_ctrl() access. Changes to - * this list of 'command types' should be reflected carefully in - * ENGINE_cmd_is_executable() and ENGINE_ctrl_cmd_string(). */ - -/* accepts a 'long' input value (3rd parameter to ENGINE_ctrl) */ -#define ENGINE_CMD_FLAG_NUMERIC (unsigned int)0x0001 -/* accepts string input (cast from 'void*' to 'const char *', 4th parameter to - * ENGINE_ctrl) */ -#define ENGINE_CMD_FLAG_STRING (unsigned int)0x0002 -/* Indicates that the control command takes *no* input. Ie. the control command - * is unparameterised. */ -#define ENGINE_CMD_FLAG_NO_INPUT (unsigned int)0x0004 -/* Indicates that the control command is internal. This control command won't - * be shown in any output, and is only usable through the ENGINE_ctrl_cmd() - * function. */ -#define ENGINE_CMD_FLAG_INTERNAL (unsigned int)0x0008 - -/* NB: These 3 control commands are deprecated and should not be used. ENGINEs - * relying on these commands should compile conditional support for - * compatibility (eg. if these symbols are defined) but should also migrate the - * same functionality to their own ENGINE-specific control functions that can be - * "discovered" by calling applications. The fact these control commands - * wouldn't be "executable" (ie. usable by text-based config) doesn't change the - * fact that application code can find and use them without requiring per-ENGINE - * hacking. */ - -/* These flags are used to tell the ctrl function what should be done. - * All command numbers are shared between all engines, even if some don't - * make sense to some engines. In such a case, they do nothing but return - * the error ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED. */ -#define ENGINE_CTRL_SET_LOGSTREAM 1 -#define ENGINE_CTRL_SET_PASSWORD_CALLBACK 2 -#define ENGINE_CTRL_HUP 3 /* Close and reinitialise any - handles/connections etc. */ -#define ENGINE_CTRL_SET_USER_INTERFACE 4 /* Alternative to callback */ -#define ENGINE_CTRL_SET_CALLBACK_DATA 5 /* User-specific data, used - when calling the password - callback and the user - interface */ -#define ENGINE_CTRL_LOAD_CONFIGURATION 6 /* Load a configuration, given - a string that represents a - file name or so */ -#define ENGINE_CTRL_LOAD_SECTION 7 /* Load data from a given - section in the already loaded - configuration */ - -/* These control commands allow an application to deal with an arbitrary engine - * in a dynamic way. Warn: Negative return values indicate errors FOR THESE - * COMMANDS because zero is used to indicate 'end-of-list'. Other commands, - * including ENGINE-specific command types, return zero for an error. - * - * An ENGINE can choose to implement these ctrl functions, and can internally - * manage things however it chooses - it does so by setting the - * ENGINE_FLAGS_MANUAL_CMD_CTRL flag (using ENGINE_set_flags()). Otherwise the - * ENGINE_ctrl() code handles this on the ENGINE's behalf using the cmd_defns - * data (set using ENGINE_set_cmd_defns()). This means an ENGINE's ctrl() - * handler need only implement its own commands - the above "meta" commands will - * be taken care of. */ - -/* Returns non-zero if the supplied ENGINE has a ctrl() handler. If "not", then - * all the remaining control commands will return failure, so it is worth - * checking this first if the caller is trying to "discover" the engine's - * capabilities and doesn't want errors generated unnecessarily. */ -#define ENGINE_CTRL_HAS_CTRL_FUNCTION 10 -/* Returns a positive command number for the first command supported by the - * engine. Returns zero if no ctrl commands are supported. */ -#define ENGINE_CTRL_GET_FIRST_CMD_TYPE 11 -/* The 'long' argument specifies a command implemented by the engine, and the - * return value is the next command supported, or zero if there are no more. */ -#define ENGINE_CTRL_GET_NEXT_CMD_TYPE 12 -/* The 'void*' argument is a command name (cast from 'const char *'), and the - * return value is the command that corresponds to it. */ -#define ENGINE_CTRL_GET_CMD_FROM_NAME 13 -/* The next two allow a command to be converted into its corresponding string - * form. In each case, the 'long' argument supplies the command. In the NAME_LEN - * case, the return value is the length of the command name (not counting a - * trailing EOL). In the NAME case, the 'void*' argument must be a string buffer - * large enough, and it will be populated with the name of the command (WITH a - * trailing EOL). */ -#define ENGINE_CTRL_GET_NAME_LEN_FROM_CMD 14 -#define ENGINE_CTRL_GET_NAME_FROM_CMD 15 -/* The next two are similar but give a "short description" of a command. */ -#define ENGINE_CTRL_GET_DESC_LEN_FROM_CMD 16 -#define ENGINE_CTRL_GET_DESC_FROM_CMD 17 -/* With this command, the return value is the OR'd combination of - * ENGINE_CMD_FLAG_*** values that indicate what kind of input a given - * engine-specific ctrl command expects. */ -#define ENGINE_CTRL_GET_CMD_FLAGS 18 - -/* ENGINE implementations should start the numbering of their own control - * commands from this value. (ie. ENGINE_CMD_BASE, ENGINE_CMD_BASE + 1, etc). */ -#define ENGINE_CMD_BASE 200 - -/* NB: These 2 nCipher "chil" control commands are deprecated, and their - * functionality is now available through ENGINE-specific control commands - * (exposed through the above-mentioned 'CMD'-handling). Code using these 2 - * commands should be migrated to the more general command handling before these - * are removed. */ - -/* Flags specific to the nCipher "chil" engine */ -#define ENGINE_CTRL_CHIL_SET_FORKCHECK 100 - /* Depending on the value of the (long)i argument, this sets or - * unsets the SimpleForkCheck flag in the CHIL API to enable or - * disable checking and workarounds for applications that fork(). - */ -#define ENGINE_CTRL_CHIL_NO_LOCKING 101 - /* This prevents the initialisation function from providing mutex - * callbacks to the nCipher library. */ - -/* If an ENGINE supports its own specific control commands and wishes the - * framework to handle the above 'ENGINE_CMD_***'-manipulation commands on its - * behalf, it should supply a null-terminated array of ENGINE_CMD_DEFN entries - * to ENGINE_set_cmd_defns(). It should also implement a ctrl() handler that - * supports the stated commands (ie. the "cmd_num" entries as described by the - * array). NB: The array must be ordered in increasing order of cmd_num. - * "null-terminated" means that the last ENGINE_CMD_DEFN element has cmd_num set - * to zero and/or cmd_name set to NULL. */ -typedef struct ENGINE_CMD_DEFN_st - { - unsigned int cmd_num; /* The command number */ - const char *cmd_name; /* The command name itself */ - const char *cmd_desc; /* A short description of the command */ - unsigned int cmd_flags; /* The input the command expects */ - } ENGINE_CMD_DEFN; - -/* Generic function pointer */ -typedef int (*ENGINE_GEN_FUNC_PTR)(void); -/* Generic function pointer taking no arguments */ -typedef int (*ENGINE_GEN_INT_FUNC_PTR)(ENGINE *); -/* Specific control function pointer */ -typedef int (*ENGINE_CTRL_FUNC_PTR)(ENGINE *, int, long, void *, void (*f)(void)); -/* Generic load_key function pointer */ -typedef EVP_PKEY * (*ENGINE_LOAD_KEY_PTR)(ENGINE *, const char *, - UI_METHOD *ui_method, void *callback_data); -typedef int (*ENGINE_SSL_CLIENT_CERT_PTR)(ENGINE *, SSL *ssl, - STACK_OF(X509_NAME) *ca_dn, X509 **pcert, EVP_PKEY **pkey, - STACK_OF(X509) **pother, UI_METHOD *ui_method, void *callback_data); -/* These callback types are for an ENGINE's handler for cipher and digest logic. - * These handlers have these prototypes; - * int foo(ENGINE *e, const EVP_CIPHER **cipher, const int **nids, int nid); - * int foo(ENGINE *e, const EVP_MD **digest, const int **nids, int nid); - * Looking at how to implement these handlers in the case of cipher support, if - * the framework wants the EVP_CIPHER for 'nid', it will call; - * foo(e, &p_evp_cipher, NULL, nid); (return zero for failure) - * If the framework wants a list of supported 'nid's, it will call; - * foo(e, NULL, &p_nids, 0); (returns number of 'nids' or -1 for error) - */ -/* Returns to a pointer to the array of supported cipher 'nid's. If the second - * parameter is non-NULL it is set to the size of the returned array. */ -typedef int (*ENGINE_CIPHERS_PTR)(ENGINE *, const EVP_CIPHER **, const int **, int); -typedef int (*ENGINE_DIGESTS_PTR)(ENGINE *, const EVP_MD **, const int **, int); -typedef int (*ENGINE_PKEY_METHS_PTR)(ENGINE *, EVP_PKEY_METHOD **, const int **, int); -typedef int (*ENGINE_PKEY_ASN1_METHS_PTR)(ENGINE *, EVP_PKEY_ASN1_METHOD **, const int **, int); -/* STRUCTURE functions ... all of these functions deal with pointers to ENGINE - * structures where the pointers have a "structural reference". This means that - * their reference is to allowed access to the structure but it does not imply - * that the structure is functional. To simply increment or decrement the - * structural reference count, use ENGINE_by_id and ENGINE_free. NB: This is not - * required when iterating using ENGINE_get_next as it will automatically - * decrement the structural reference count of the "current" ENGINE and - * increment the structural reference count of the ENGINE it returns (unless it - * is NULL). */ - -/* Get the first/last "ENGINE" type available. */ -ENGINE *ENGINE_get_first(void); -ENGINE *ENGINE_get_last(void); -/* Iterate to the next/previous "ENGINE" type (NULL = end of the list). */ -ENGINE *ENGINE_get_next(ENGINE *e); -ENGINE *ENGINE_get_prev(ENGINE *e); -/* Add another "ENGINE" type into the array. */ -int ENGINE_add(ENGINE *e); -/* Remove an existing "ENGINE" type from the array. */ -int ENGINE_remove(ENGINE *e); -/* Retrieve an engine from the list by its unique "id" value. */ -ENGINE *ENGINE_by_id(const char *id); -/* Add all the built-in engines. */ -void ENGINE_load_openssl(void); -void ENGINE_load_dynamic(void); -#ifndef OPENSSL_NO_STATIC_ENGINE -void ENGINE_load_4758cca(void); -void ENGINE_load_aep(void); -void ENGINE_load_atalla(void); -void ENGINE_load_chil(void); -void ENGINE_load_cswift(void); -void ENGINE_load_nuron(void); -void ENGINE_load_sureware(void); -void ENGINE_load_ubsec(void); -void ENGINE_load_padlock(void); -void ENGINE_load_capi(void); -#ifndef OPENSSL_NO_GMP -void ENGINE_load_gmp(void); -#endif -#ifndef OPENSSL_NO_GOST -void ENGINE_load_gost(void); -#endif -#endif -void ENGINE_load_cryptodev(void); -void ENGINE_load_rsax(void); -void ENGINE_load_rdrand(void); -void ENGINE_load_builtin_engines(void); - -/* Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation - * "registry" handling. */ -unsigned int ENGINE_get_table_flags(void); -void ENGINE_set_table_flags(unsigned int flags); - -/* Manage registration of ENGINEs per "table". For each type, there are 3 - * functions; - * ENGINE_register_***(e) - registers the implementation from 'e' (if it has one) - * ENGINE_unregister_***(e) - unregister the implementation from 'e' - * ENGINE_register_all_***() - call ENGINE_register_***() for each 'e' in the list - * Cleanup is automatically registered from each table when required, so - * ENGINE_cleanup() will reverse any "register" operations. */ - -int ENGINE_register_RSA(ENGINE *e); -void ENGINE_unregister_RSA(ENGINE *e); -void ENGINE_register_all_RSA(void); - -int ENGINE_register_DSA(ENGINE *e); -void ENGINE_unregister_DSA(ENGINE *e); -void ENGINE_register_all_DSA(void); - -int ENGINE_register_ECDH(ENGINE *e); -void ENGINE_unregister_ECDH(ENGINE *e); -void ENGINE_register_all_ECDH(void); - -int ENGINE_register_ECDSA(ENGINE *e); -void ENGINE_unregister_ECDSA(ENGINE *e); -void ENGINE_register_all_ECDSA(void); - -int ENGINE_register_DH(ENGINE *e); -void ENGINE_unregister_DH(ENGINE *e); -void ENGINE_register_all_DH(void); - -int ENGINE_register_RAND(ENGINE *e); -void ENGINE_unregister_RAND(ENGINE *e); -void ENGINE_register_all_RAND(void); - -int ENGINE_register_STORE(ENGINE *e); -void ENGINE_unregister_STORE(ENGINE *e); -void ENGINE_register_all_STORE(void); - -int ENGINE_register_ciphers(ENGINE *e); -void ENGINE_unregister_ciphers(ENGINE *e); -void ENGINE_register_all_ciphers(void); - -int ENGINE_register_digests(ENGINE *e); -void ENGINE_unregister_digests(ENGINE *e); -void ENGINE_register_all_digests(void); - -int ENGINE_register_pkey_meths(ENGINE *e); -void ENGINE_unregister_pkey_meths(ENGINE *e); -void ENGINE_register_all_pkey_meths(void); - -int ENGINE_register_pkey_asn1_meths(ENGINE *e); -void ENGINE_unregister_pkey_asn1_meths(ENGINE *e); -void ENGINE_register_all_pkey_asn1_meths(void); - -/* These functions register all support from the above categories. Note, use of - * these functions can result in static linkage of code your application may not - * need. If you only need a subset of functionality, consider using more - * selective initialisation. */ -int ENGINE_register_complete(ENGINE *e); -int ENGINE_register_all_complete(void); - -/* Send parametrised control commands to the engine. The possibilities to send - * down an integer, a pointer to data or a function pointer are provided. Any of - * the parameters may or may not be NULL, depending on the command number. In - * actuality, this function only requires a structural (rather than functional) - * reference to an engine, but many control commands may require the engine be - * functional. The caller should be aware of trying commands that require an - * operational ENGINE, and only use functional references in such situations. */ -int ENGINE_ctrl(ENGINE *e, int cmd, long i, void *p, void (*f)(void)); - -/* This function tests if an ENGINE-specific command is usable as a "setting". - * Eg. in an application's config file that gets processed through - * ENGINE_ctrl_cmd_string(). If this returns zero, it is not available to - * ENGINE_ctrl_cmd_string(), only ENGINE_ctrl(). */ -int ENGINE_cmd_is_executable(ENGINE *e, int cmd); - -/* This function works like ENGINE_ctrl() with the exception of taking a - * command name instead of a command number, and can handle optional commands. - * See the comment on ENGINE_ctrl_cmd_string() for an explanation on how to - * use the cmd_name and cmd_optional. */ -int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name, - long i, void *p, void (*f)(void), int cmd_optional); - -/* This function passes a command-name and argument to an ENGINE. The cmd_name - * is converted to a command number and the control command is called using - * 'arg' as an argument (unless the ENGINE doesn't support such a command, in - * which case no control command is called). The command is checked for input - * flags, and if necessary the argument will be converted to a numeric value. If - * cmd_optional is non-zero, then if the ENGINE doesn't support the given - * cmd_name the return value will be success anyway. This function is intended - * for applications to use so that users (or config files) can supply - * engine-specific config data to the ENGINE at run-time to control behaviour of - * specific engines. As such, it shouldn't be used for calling ENGINE_ctrl() - * functions that return data, deal with binary data, or that are otherwise - * supposed to be used directly through ENGINE_ctrl() in application code. Any - * "return" data from an ENGINE_ctrl() operation in this function will be lost - - * the return value is interpreted as failure if the return value is zero, - * success otherwise, and this function returns a boolean value as a result. In - * other words, vendors of 'ENGINE'-enabled devices should write ENGINE - * implementations with parameterisations that work in this scheme, so that - * compliant ENGINE-based applications can work consistently with the same - * configuration for the same ENGINE-enabled devices, across applications. */ -int ENGINE_ctrl_cmd_string(ENGINE *e, const char *cmd_name, const char *arg, - int cmd_optional); - -/* These functions are useful for manufacturing new ENGINE structures. They - * don't address reference counting at all - one uses them to populate an ENGINE - * structure with personalised implementations of things prior to using it - * directly or adding it to the builtin ENGINE list in OpenSSL. These are also - * here so that the ENGINE structure doesn't have to be exposed and break binary - * compatibility! */ -ENGINE *ENGINE_new(void); -int ENGINE_free(ENGINE *e); -int ENGINE_up_ref(ENGINE *e); -int ENGINE_set_id(ENGINE *e, const char *id); -int ENGINE_set_name(ENGINE *e, const char *name); -int ENGINE_set_RSA(ENGINE *e, const RSA_METHOD *rsa_meth); -int ENGINE_set_DSA(ENGINE *e, const DSA_METHOD *dsa_meth); -int ENGINE_set_ECDH(ENGINE *e, const ECDH_METHOD *ecdh_meth); -int ENGINE_set_ECDSA(ENGINE *e, const ECDSA_METHOD *ecdsa_meth); -int ENGINE_set_DH(ENGINE *e, const DH_METHOD *dh_meth); -int ENGINE_set_RAND(ENGINE *e, const RAND_METHOD *rand_meth); -int ENGINE_set_STORE(ENGINE *e, const STORE_METHOD *store_meth); -int ENGINE_set_destroy_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR destroy_f); -int ENGINE_set_init_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR init_f); -int ENGINE_set_finish_function(ENGINE *e, ENGINE_GEN_INT_FUNC_PTR finish_f); -int ENGINE_set_ctrl_function(ENGINE *e, ENGINE_CTRL_FUNC_PTR ctrl_f); -int ENGINE_set_load_privkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpriv_f); -int ENGINE_set_load_pubkey_function(ENGINE *e, ENGINE_LOAD_KEY_PTR loadpub_f); -int ENGINE_set_load_ssl_client_cert_function(ENGINE *e, - ENGINE_SSL_CLIENT_CERT_PTR loadssl_f); -int ENGINE_set_ciphers(ENGINE *e, ENGINE_CIPHERS_PTR f); -int ENGINE_set_digests(ENGINE *e, ENGINE_DIGESTS_PTR f); -int ENGINE_set_pkey_meths(ENGINE *e, ENGINE_PKEY_METHS_PTR f); -int ENGINE_set_pkey_asn1_meths(ENGINE *e, ENGINE_PKEY_ASN1_METHS_PTR f); -int ENGINE_set_flags(ENGINE *e, int flags); -int ENGINE_set_cmd_defns(ENGINE *e, const ENGINE_CMD_DEFN *defns); -/* These functions allow control over any per-structure ENGINE data. */ -int ENGINE_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int ENGINE_set_ex_data(ENGINE *e, int idx, void *arg); -void *ENGINE_get_ex_data(const ENGINE *e, int idx); - -/* This function cleans up anything that needs it. Eg. the ENGINE_add() function - * automatically ensures the list cleanup function is registered to be called - * from ENGINE_cleanup(). Similarly, all ENGINE_register_*** functions ensure - * ENGINE_cleanup() will clean up after them. */ -void ENGINE_cleanup(void); - -/* These return values from within the ENGINE structure. These can be useful - * with functional references as well as structural references - it depends - * which you obtained. Using the result for functional purposes if you only - * obtained a structural reference may be problematic! */ -const char *ENGINE_get_id(const ENGINE *e); -const char *ENGINE_get_name(const ENGINE *e); -const RSA_METHOD *ENGINE_get_RSA(const ENGINE *e); -const DSA_METHOD *ENGINE_get_DSA(const ENGINE *e); -const ECDH_METHOD *ENGINE_get_ECDH(const ENGINE *e); -const ECDSA_METHOD *ENGINE_get_ECDSA(const ENGINE *e); -const DH_METHOD *ENGINE_get_DH(const ENGINE *e); -const RAND_METHOD *ENGINE_get_RAND(const ENGINE *e); -const STORE_METHOD *ENGINE_get_STORE(const ENGINE *e); -ENGINE_GEN_INT_FUNC_PTR ENGINE_get_destroy_function(const ENGINE *e); -ENGINE_GEN_INT_FUNC_PTR ENGINE_get_init_function(const ENGINE *e); -ENGINE_GEN_INT_FUNC_PTR ENGINE_get_finish_function(const ENGINE *e); -ENGINE_CTRL_FUNC_PTR ENGINE_get_ctrl_function(const ENGINE *e); -ENGINE_LOAD_KEY_PTR ENGINE_get_load_privkey_function(const ENGINE *e); -ENGINE_LOAD_KEY_PTR ENGINE_get_load_pubkey_function(const ENGINE *e); -ENGINE_SSL_CLIENT_CERT_PTR ENGINE_get_ssl_client_cert_function(const ENGINE *e); -ENGINE_CIPHERS_PTR ENGINE_get_ciphers(const ENGINE *e); -ENGINE_DIGESTS_PTR ENGINE_get_digests(const ENGINE *e); -ENGINE_PKEY_METHS_PTR ENGINE_get_pkey_meths(const ENGINE *e); -ENGINE_PKEY_ASN1_METHS_PTR ENGINE_get_pkey_asn1_meths(const ENGINE *e); -const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid); -const EVP_MD *ENGINE_get_digest(ENGINE *e, int nid); -const EVP_PKEY_METHOD *ENGINE_get_pkey_meth(ENGINE *e, int nid); -const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth(ENGINE *e, int nid); -const EVP_PKEY_ASN1_METHOD *ENGINE_get_pkey_asn1_meth_str(ENGINE *e, - const char *str, int len); -const EVP_PKEY_ASN1_METHOD *ENGINE_pkey_asn1_find_str(ENGINE **pe, - const char *str, int len); -const ENGINE_CMD_DEFN *ENGINE_get_cmd_defns(const ENGINE *e); -int ENGINE_get_flags(const ENGINE *e); - -/* FUNCTIONAL functions. These functions deal with ENGINE structures - * that have (or will) be initialised for use. Broadly speaking, the - * structural functions are useful for iterating the list of available - * engine types, creating new engine types, and other "list" operations. - * These functions actually deal with ENGINEs that are to be used. As - * such these functions can fail (if applicable) when particular - * engines are unavailable - eg. if a hardware accelerator is not - * attached or not functioning correctly. Each ENGINE has 2 reference - * counts; structural and functional. Every time a functional reference - * is obtained or released, a corresponding structural reference is - * automatically obtained or released too. */ - -/* Initialise a engine type for use (or up its reference count if it's - * already in use). This will fail if the engine is not currently - * operational and cannot initialise. */ -int ENGINE_init(ENGINE *e); -/* Free a functional reference to a engine type. This does not require - * a corresponding call to ENGINE_free as it also releases a structural - * reference. */ -int ENGINE_finish(ENGINE *e); - -/* The following functions handle keys that are stored in some secondary - * location, handled by the engine. The storage may be on a card or - * whatever. */ -EVP_PKEY *ENGINE_load_private_key(ENGINE *e, const char *key_id, - UI_METHOD *ui_method, void *callback_data); -EVP_PKEY *ENGINE_load_public_key(ENGINE *e, const char *key_id, - UI_METHOD *ui_method, void *callback_data); -int ENGINE_load_ssl_client_cert(ENGINE *e, SSL *s, - STACK_OF(X509_NAME) *ca_dn, X509 **pcert, EVP_PKEY **ppkey, - STACK_OF(X509) **pother, - UI_METHOD *ui_method, void *callback_data); - -/* This returns a pointer for the current ENGINE structure that - * is (by default) performing any RSA operations. The value returned - * is an incremented reference, so it should be free'd (ENGINE_finish) - * before it is discarded. */ -ENGINE *ENGINE_get_default_RSA(void); -/* Same for the other "methods" */ -ENGINE *ENGINE_get_default_DSA(void); -ENGINE *ENGINE_get_default_ECDH(void); -ENGINE *ENGINE_get_default_ECDSA(void); -ENGINE *ENGINE_get_default_DH(void); -ENGINE *ENGINE_get_default_RAND(void); -/* These functions can be used to get a functional reference to perform - * ciphering or digesting corresponding to "nid". */ -ENGINE *ENGINE_get_cipher_engine(int nid); -ENGINE *ENGINE_get_digest_engine(int nid); -ENGINE *ENGINE_get_pkey_meth_engine(int nid); -ENGINE *ENGINE_get_pkey_asn1_meth_engine(int nid); - -/* This sets a new default ENGINE structure for performing RSA - * operations. If the result is non-zero (success) then the ENGINE - * structure will have had its reference count up'd so the caller - * should still free their own reference 'e'. */ -int ENGINE_set_default_RSA(ENGINE *e); -int ENGINE_set_default_string(ENGINE *e, const char *def_list); -/* Same for the other "methods" */ -int ENGINE_set_default_DSA(ENGINE *e); -int ENGINE_set_default_ECDH(ENGINE *e); -int ENGINE_set_default_ECDSA(ENGINE *e); -int ENGINE_set_default_DH(ENGINE *e); -int ENGINE_set_default_RAND(ENGINE *e); -int ENGINE_set_default_ciphers(ENGINE *e); -int ENGINE_set_default_digests(ENGINE *e); -int ENGINE_set_default_pkey_meths(ENGINE *e); -int ENGINE_set_default_pkey_asn1_meths(ENGINE *e); - -/* The combination "set" - the flags are bitwise "OR"d from the - * ENGINE_METHOD_*** defines above. As with the "ENGINE_register_complete()" - * function, this function can result in unnecessary static linkage. If your - * application requires only specific functionality, consider using more - * selective functions. */ -int ENGINE_set_default(ENGINE *e, unsigned int flags); - -void ENGINE_add_conf_module(void); - -/* Deprecated functions ... */ -/* int ENGINE_clear_defaults(void); */ - -/**************************/ -/* DYNAMIC ENGINE SUPPORT */ -/**************************/ - -/* Binary/behaviour compatibility levels */ -#define OSSL_DYNAMIC_VERSION (unsigned long)0x00020000 -/* Binary versions older than this are too old for us (whether we're a loader or - * a loadee) */ -#define OSSL_DYNAMIC_OLDEST (unsigned long)0x00020000 - -/* When compiling an ENGINE entirely as an external shared library, loadable by - * the "dynamic" ENGINE, these types are needed. The 'dynamic_fns' structure - * type provides the calling application's (or library's) error functionality - * and memory management function pointers to the loaded library. These should - * be used/set in the loaded library code so that the loading application's - * 'state' will be used/changed in all operations. The 'static_state' pointer - * allows the loaded library to know if it shares the same static data as the - * calling application (or library), and thus whether these callbacks need to be - * set or not. */ -typedef void *(*dyn_MEM_malloc_cb)(size_t); -typedef void *(*dyn_MEM_realloc_cb)(void *, size_t); -typedef void (*dyn_MEM_free_cb)(void *); -typedef struct st_dynamic_MEM_fns { - dyn_MEM_malloc_cb malloc_cb; - dyn_MEM_realloc_cb realloc_cb; - dyn_MEM_free_cb free_cb; - } dynamic_MEM_fns; -/* FIXME: Perhaps the memory and locking code (crypto.h) should declare and use - * these types so we (and any other dependant code) can simplify a bit?? */ -typedef void (*dyn_lock_locking_cb)(int,int,const char *,int); -typedef int (*dyn_lock_add_lock_cb)(int*,int,int,const char *,int); -typedef struct CRYPTO_dynlock_value *(*dyn_dynlock_create_cb)( - const char *,int); -typedef void (*dyn_dynlock_lock_cb)(int,struct CRYPTO_dynlock_value *, - const char *,int); -typedef void (*dyn_dynlock_destroy_cb)(struct CRYPTO_dynlock_value *, - const char *,int); -typedef struct st_dynamic_LOCK_fns { - dyn_lock_locking_cb lock_locking_cb; - dyn_lock_add_lock_cb lock_add_lock_cb; - dyn_dynlock_create_cb dynlock_create_cb; - dyn_dynlock_lock_cb dynlock_lock_cb; - dyn_dynlock_destroy_cb dynlock_destroy_cb; - } dynamic_LOCK_fns; -/* The top-level structure */ -typedef struct st_dynamic_fns { - void *static_state; - const ERR_FNS *err_fns; - const CRYPTO_EX_DATA_IMPL *ex_data_fns; - dynamic_MEM_fns mem_fns; - dynamic_LOCK_fns lock_fns; - } dynamic_fns; - -/* The version checking function should be of this prototype. NB: The - * ossl_version value passed in is the OSSL_DYNAMIC_VERSION of the loading code. - * If this function returns zero, it indicates a (potential) version - * incompatibility and the loaded library doesn't believe it can proceed. - * Otherwise, the returned value is the (latest) version supported by the - * loading library. The loader may still decide that the loaded code's version - * is unsatisfactory and could veto the load. The function is expected to - * be implemented with the symbol name "v_check", and a default implementation - * can be fully instantiated with IMPLEMENT_DYNAMIC_CHECK_FN(). */ -typedef unsigned long (*dynamic_v_check_fn)(unsigned long ossl_version); -#define IMPLEMENT_DYNAMIC_CHECK_FN() \ - OPENSSL_EXPORT unsigned long v_check(unsigned long v); \ - OPENSSL_EXPORT unsigned long v_check(unsigned long v) { \ - if(v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ - return 0; } - -/* This function is passed the ENGINE structure to initialise with its own - * function and command settings. It should not adjust the structural or - * functional reference counts. If this function returns zero, (a) the load will - * be aborted, (b) the previous ENGINE state will be memcpy'd back onto the - * structure, and (c) the shared library will be unloaded. So implementations - * should do their own internal cleanup in failure circumstances otherwise they - * could leak. The 'id' parameter, if non-NULL, represents the ENGINE id that - * the loader is looking for. If this is NULL, the shared library can choose to - * return failure or to initialise a 'default' ENGINE. If non-NULL, the shared - * library must initialise only an ENGINE matching the passed 'id'. The function - * is expected to be implemented with the symbol name "bind_engine". A standard - * implementation can be instantiated with IMPLEMENT_DYNAMIC_BIND_FN(fn) where - * the parameter 'fn' is a callback function that populates the ENGINE structure - * and returns an int value (zero for failure). 'fn' should have prototype; - * [static] int fn(ENGINE *e, const char *id); */ -typedef int (*dynamic_bind_engine)(ENGINE *e, const char *id, - const dynamic_fns *fns); -#define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ - OPENSSL_EXPORT \ - int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns); \ - OPENSSL_EXPORT \ - int bind_engine(ENGINE *e, const char *id, const dynamic_fns *fns) { \ - if(ENGINE_get_static_state() == fns->static_state) goto skip_cbs; \ - if(!CRYPTO_set_mem_functions(fns->mem_fns.malloc_cb, \ - fns->mem_fns.realloc_cb, fns->mem_fns.free_cb)) \ - return 0; \ - CRYPTO_set_locking_callback(fns->lock_fns.lock_locking_cb); \ - CRYPTO_set_add_lock_callback(fns->lock_fns.lock_add_lock_cb); \ - CRYPTO_set_dynlock_create_callback(fns->lock_fns.dynlock_create_cb); \ - CRYPTO_set_dynlock_lock_callback(fns->lock_fns.dynlock_lock_cb); \ - CRYPTO_set_dynlock_destroy_callback(fns->lock_fns.dynlock_destroy_cb); \ - if(!CRYPTO_set_ex_data_implementation(fns->ex_data_fns)) \ - return 0; \ - if(!ERR_set_implementation(fns->err_fns)) return 0; \ - skip_cbs: \ - if(!fn(e,id)) return 0; \ - return 1; } - -/* If the loading application (or library) and the loaded ENGINE library share - * the same static data (eg. they're both dynamically linked to the same - * libcrypto.so) we need a way to avoid trying to set system callbacks - this - * would fail, and for the same reason that it's unnecessary to try. If the - * loaded ENGINE has (or gets from through the loader) its own copy of the - * libcrypto static data, we will need to set the callbacks. The easiest way to - * detect this is to have a function that returns a pointer to some static data - * and let the loading application and loaded ENGINE compare their respective - * values. */ -void *ENGINE_get_static_state(void); - -#if defined(__OpenBSD__) || defined(__FreeBSD__) || defined(HAVE_CRYPTODEV) -void ENGINE_setup_bsd_cryptodev(void); -#endif - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_ENGINE_strings(void); - -/* Error codes for the ENGINE functions. */ - -/* Function codes. */ -#define ENGINE_F_DYNAMIC_CTRL 180 -#define ENGINE_F_DYNAMIC_GET_DATA_CTX 181 -#define ENGINE_F_DYNAMIC_LOAD 182 -#define ENGINE_F_DYNAMIC_SET_DATA_CTX 183 -#define ENGINE_F_ENGINE_ADD 105 -#define ENGINE_F_ENGINE_BY_ID 106 -#define ENGINE_F_ENGINE_CMD_IS_EXECUTABLE 170 -#define ENGINE_F_ENGINE_CTRL 142 -#define ENGINE_F_ENGINE_CTRL_CMD 178 -#define ENGINE_F_ENGINE_CTRL_CMD_STRING 171 -#define ENGINE_F_ENGINE_FINISH 107 -#define ENGINE_F_ENGINE_FREE_UTIL 108 -#define ENGINE_F_ENGINE_GET_CIPHER 185 -#define ENGINE_F_ENGINE_GET_DEFAULT_TYPE 177 -#define ENGINE_F_ENGINE_GET_DIGEST 186 -#define ENGINE_F_ENGINE_GET_NEXT 115 -#define ENGINE_F_ENGINE_GET_PKEY_ASN1_METH 193 -#define ENGINE_F_ENGINE_GET_PKEY_METH 192 -#define ENGINE_F_ENGINE_GET_PREV 116 -#define ENGINE_F_ENGINE_INIT 119 -#define ENGINE_F_ENGINE_LIST_ADD 120 -#define ENGINE_F_ENGINE_LIST_REMOVE 121 -#define ENGINE_F_ENGINE_LOAD_PRIVATE_KEY 150 -#define ENGINE_F_ENGINE_LOAD_PUBLIC_KEY 151 -#define ENGINE_F_ENGINE_LOAD_SSL_CLIENT_CERT 194 -#define ENGINE_F_ENGINE_NEW 122 -#define ENGINE_F_ENGINE_REMOVE 123 -#define ENGINE_F_ENGINE_SET_DEFAULT_STRING 189 -#define ENGINE_F_ENGINE_SET_DEFAULT_TYPE 126 -#define ENGINE_F_ENGINE_SET_ID 129 -#define ENGINE_F_ENGINE_SET_NAME 130 -#define ENGINE_F_ENGINE_TABLE_REGISTER 184 -#define ENGINE_F_ENGINE_UNLOAD_KEY 152 -#define ENGINE_F_ENGINE_UNLOCKED_FINISH 191 -#define ENGINE_F_ENGINE_UP_REF 190 -#define ENGINE_F_INT_CTRL_HELPER 172 -#define ENGINE_F_INT_ENGINE_CONFIGURE 188 -#define ENGINE_F_INT_ENGINE_MODULE_INIT 187 -#define ENGINE_F_LOG_MESSAGE 141 - -/* Reason codes. */ -#define ENGINE_R_ALREADY_LOADED 100 -#define ENGINE_R_ARGUMENT_IS_NOT_A_NUMBER 133 -#define ENGINE_R_CMD_NOT_EXECUTABLE 134 -#define ENGINE_R_COMMAND_TAKES_INPUT 135 -#define ENGINE_R_COMMAND_TAKES_NO_INPUT 136 -#define ENGINE_R_CONFLICTING_ENGINE_ID 103 -#define ENGINE_R_CTRL_COMMAND_NOT_IMPLEMENTED 119 -#define ENGINE_R_DH_NOT_IMPLEMENTED 139 -#define ENGINE_R_DSA_NOT_IMPLEMENTED 140 -#define ENGINE_R_DSO_FAILURE 104 -#define ENGINE_R_DSO_NOT_FOUND 132 -#define ENGINE_R_ENGINES_SECTION_ERROR 148 -#define ENGINE_R_ENGINE_CONFIGURATION_ERROR 102 -#define ENGINE_R_ENGINE_IS_NOT_IN_LIST 105 -#define ENGINE_R_ENGINE_SECTION_ERROR 149 -#define ENGINE_R_FAILED_LOADING_PRIVATE_KEY 128 -#define ENGINE_R_FAILED_LOADING_PUBLIC_KEY 129 -#define ENGINE_R_FINISH_FAILED 106 -#define ENGINE_R_GET_HANDLE_FAILED 107 -#define ENGINE_R_ID_OR_NAME_MISSING 108 -#define ENGINE_R_INIT_FAILED 109 -#define ENGINE_R_INTERNAL_LIST_ERROR 110 -#define ENGINE_R_INVALID_ARGUMENT 143 -#define ENGINE_R_INVALID_CMD_NAME 137 -#define ENGINE_R_INVALID_CMD_NUMBER 138 -#define ENGINE_R_INVALID_INIT_VALUE 151 -#define ENGINE_R_INVALID_STRING 150 -#define ENGINE_R_NOT_INITIALISED 117 -#define ENGINE_R_NOT_LOADED 112 -#define ENGINE_R_NO_CONTROL_FUNCTION 120 -#define ENGINE_R_NO_INDEX 144 -#define ENGINE_R_NO_LOAD_FUNCTION 125 -#define ENGINE_R_NO_REFERENCE 130 -#define ENGINE_R_NO_SUCH_ENGINE 116 -#define ENGINE_R_NO_UNLOAD_FUNCTION 126 -#define ENGINE_R_PROVIDE_PARAMETERS 113 -#define ENGINE_R_RSA_NOT_IMPLEMENTED 141 -#define ENGINE_R_UNIMPLEMENTED_CIPHER 146 -#define ENGINE_R_UNIMPLEMENTED_DIGEST 147 -#define ENGINE_R_UNIMPLEMENTED_PUBLIC_KEY_METHOD 101 -#define ENGINE_R_VERSION_INCOMPATIBILITY 145 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/err.h b/ext/bin/libcrypto/include/openssl/err.h deleted file mode 100644 index 974cc9cc6..000000000 --- a/ext/bin/libcrypto/include/openssl/err.h +++ /dev/null @@ -1,386 +0,0 @@ -/* crypto/err/err.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_ERR_H -#define HEADER_ERR_H - -#include - -#ifndef OPENSSL_NO_FP_API -#include -#include -#endif - -#include -#ifndef OPENSSL_NO_BIO -#include -#endif -#ifndef OPENSSL_NO_LHASH -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef OPENSSL_NO_ERR -#define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e) -#else -#define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0) -#endif - -#include - -#define ERR_TXT_MALLOCED 0x01 -#define ERR_TXT_STRING 0x02 - -#define ERR_FLAG_MARK 0x01 - -#define ERR_NUM_ERRORS 16 -typedef struct err_state_st - { - CRYPTO_THREADID tid; - int err_flags[ERR_NUM_ERRORS]; - unsigned long err_buffer[ERR_NUM_ERRORS]; - char *err_data[ERR_NUM_ERRORS]; - int err_data_flags[ERR_NUM_ERRORS]; - const char *err_file[ERR_NUM_ERRORS]; - int err_line[ERR_NUM_ERRORS]; - int top,bottom; - } ERR_STATE; - -/* library */ -#define ERR_LIB_NONE 1 -#define ERR_LIB_SYS 2 -#define ERR_LIB_BN 3 -#define ERR_LIB_RSA 4 -#define ERR_LIB_DH 5 -#define ERR_LIB_EVP 6 -#define ERR_LIB_BUF 7 -#define ERR_LIB_OBJ 8 -#define ERR_LIB_PEM 9 -#define ERR_LIB_DSA 10 -#define ERR_LIB_X509 11 -/* #define ERR_LIB_METH 12 */ -#define ERR_LIB_ASN1 13 -#define ERR_LIB_CONF 14 -#define ERR_LIB_CRYPTO 15 -#define ERR_LIB_EC 16 -#define ERR_LIB_SSL 20 -/* #define ERR_LIB_SSL23 21 */ -/* #define ERR_LIB_SSL2 22 */ -/* #define ERR_LIB_SSL3 23 */ -/* #define ERR_LIB_RSAREF 30 */ -/* #define ERR_LIB_PROXY 31 */ -#define ERR_LIB_BIO 32 -#define ERR_LIB_PKCS7 33 -#define ERR_LIB_X509V3 34 -#define ERR_LIB_PKCS12 35 -#define ERR_LIB_RAND 36 -#define ERR_LIB_DSO 37 -#define ERR_LIB_ENGINE 38 -#define ERR_LIB_OCSP 39 -#define ERR_LIB_UI 40 -#define ERR_LIB_COMP 41 -#define ERR_LIB_ECDSA 42 -#define ERR_LIB_ECDH 43 -#define ERR_LIB_STORE 44 -#define ERR_LIB_FIPS 45 -#define ERR_LIB_CMS 46 -#define ERR_LIB_TS 47 -#define ERR_LIB_HMAC 48 -#define ERR_LIB_JPAKE 49 - -#define ERR_LIB_USER 128 - -#define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),__FILE__,__LINE__) -#define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),__FILE__,__LINE__) -#define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),__FILE__,__LINE__) -#define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),__FILE__,__LINE__) -#define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),__FILE__,__LINE__) -#define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),__FILE__,__LINE__) -#define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),__FILE__,__LINE__) -#define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),__FILE__,__LINE__) -#define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),__FILE__,__LINE__) -#define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),__FILE__,__LINE__) -#define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),__FILE__,__LINE__) -#define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),__FILE__,__LINE__) -#define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),__FILE__,__LINE__) -#define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),__FILE__,__LINE__) -#define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),__FILE__,__LINE__) -#define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),__FILE__,__LINE__) -#define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),__FILE__,__LINE__) -#define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),__FILE__,__LINE__) -#define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),__FILE__,__LINE__) -#define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),__FILE__,__LINE__) -#define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),__FILE__,__LINE__) -#define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),__FILE__,__LINE__) -#define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__) -#define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__) -#define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),__FILE__,__LINE__) -#define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__) -#define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),__FILE__,__LINE__) -#define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),__FILE__,__LINE__) -#define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),__FILE__,__LINE__) -#define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),__FILE__,__LINE__) -#define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__) -#define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__) -#define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__) - -/* Borland C seems too stupid to be able to shift and do longs in - * the pre-processor :-( */ -#define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)*0x1000000)| \ - ((((unsigned long)f)&0xfffL)*0x1000)| \ - ((((unsigned long)r)&0xfffL))) -#define ERR_GET_LIB(l) (int)((((unsigned long)l)>>24L)&0xffL) -#define ERR_GET_FUNC(l) (int)((((unsigned long)l)>>12L)&0xfffL) -#define ERR_GET_REASON(l) (int)((l)&0xfffL) -#define ERR_FATAL_ERROR(l) (int)((l)&ERR_R_FATAL) - - -/* OS functions */ -#define SYS_F_FOPEN 1 -#define SYS_F_CONNECT 2 -#define SYS_F_GETSERVBYNAME 3 -#define SYS_F_SOCKET 4 -#define SYS_F_IOCTLSOCKET 5 -#define SYS_F_BIND 6 -#define SYS_F_LISTEN 7 -#define SYS_F_ACCEPT 8 -#define SYS_F_WSASTARTUP 9 /* Winsock stuff */ -#define SYS_F_OPENDIR 10 -#define SYS_F_FREAD 11 - - -/* reasons */ -#define ERR_R_SYS_LIB ERR_LIB_SYS /* 2 */ -#define ERR_R_BN_LIB ERR_LIB_BN /* 3 */ -#define ERR_R_RSA_LIB ERR_LIB_RSA /* 4 */ -#define ERR_R_DH_LIB ERR_LIB_DH /* 5 */ -#define ERR_R_EVP_LIB ERR_LIB_EVP /* 6 */ -#define ERR_R_BUF_LIB ERR_LIB_BUF /* 7 */ -#define ERR_R_OBJ_LIB ERR_LIB_OBJ /* 8 */ -#define ERR_R_PEM_LIB ERR_LIB_PEM /* 9 */ -#define ERR_R_DSA_LIB ERR_LIB_DSA /* 10 */ -#define ERR_R_X509_LIB ERR_LIB_X509 /* 11 */ -#define ERR_R_ASN1_LIB ERR_LIB_ASN1 /* 13 */ -#define ERR_R_CONF_LIB ERR_LIB_CONF /* 14 */ -#define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO /* 15 */ -#define ERR_R_EC_LIB ERR_LIB_EC /* 16 */ -#define ERR_R_SSL_LIB ERR_LIB_SSL /* 20 */ -#define ERR_R_BIO_LIB ERR_LIB_BIO /* 32 */ -#define ERR_R_PKCS7_LIB ERR_LIB_PKCS7 /* 33 */ -#define ERR_R_X509V3_LIB ERR_LIB_X509V3 /* 34 */ -#define ERR_R_PKCS12_LIB ERR_LIB_PKCS12 /* 35 */ -#define ERR_R_RAND_LIB ERR_LIB_RAND /* 36 */ -#define ERR_R_DSO_LIB ERR_LIB_DSO /* 37 */ -#define ERR_R_ENGINE_LIB ERR_LIB_ENGINE /* 38 */ -#define ERR_R_OCSP_LIB ERR_LIB_OCSP /* 39 */ -#define ERR_R_UI_LIB ERR_LIB_UI /* 40 */ -#define ERR_R_COMP_LIB ERR_LIB_COMP /* 41 */ -#define ERR_R_ECDSA_LIB ERR_LIB_ECDSA /* 42 */ -#define ERR_R_ECDH_LIB ERR_LIB_ECDH /* 43 */ -#define ERR_R_STORE_LIB ERR_LIB_STORE /* 44 */ -#define ERR_R_TS_LIB ERR_LIB_TS /* 45 */ - -#define ERR_R_NESTED_ASN1_ERROR 58 -#define ERR_R_BAD_ASN1_OBJECT_HEADER 59 -#define ERR_R_BAD_GET_ASN1_OBJECT_CALL 60 -#define ERR_R_EXPECTING_AN_ASN1_SEQUENCE 61 -#define ERR_R_ASN1_LENGTH_MISMATCH 62 -#define ERR_R_MISSING_ASN1_EOS 63 - -/* fatal error */ -#define ERR_R_FATAL 64 -#define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL) -#define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL) -#define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL) -#define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) -#define ERR_R_DISABLED (5|ERR_R_FATAL) - -/* 99 is the maximum possible ERR_R_... code, higher values - * are reserved for the individual libraries */ - - -typedef struct ERR_string_data_st - { - unsigned long error; - const char *string; - } ERR_STRING_DATA; - -void ERR_put_error(int lib, int func,int reason,const char *file,int line); -void ERR_set_error_data(char *data,int flags); - -unsigned long ERR_get_error(void); -unsigned long ERR_get_error_line(const char **file,int *line); -unsigned long ERR_get_error_line_data(const char **file,int *line, - const char **data, int *flags); -unsigned long ERR_peek_error(void); -unsigned long ERR_peek_error_line(const char **file,int *line); -unsigned long ERR_peek_error_line_data(const char **file,int *line, - const char **data,int *flags); -unsigned long ERR_peek_last_error(void); -unsigned long ERR_peek_last_error_line(const char **file,int *line); -unsigned long ERR_peek_last_error_line_data(const char **file,int *line, - const char **data,int *flags); -void ERR_clear_error(void ); -char *ERR_error_string(unsigned long e,char *buf); -void ERR_error_string_n(unsigned long e, char *buf, size_t len); -const char *ERR_lib_error_string(unsigned long e); -const char *ERR_func_error_string(unsigned long e); -const char *ERR_reason_error_string(unsigned long e); -void ERR_print_errors_cb(int (*cb)(const char *str, size_t len, void *u), - void *u); -#ifndef OPENSSL_NO_FP_API -void ERR_print_errors_fp(FILE *fp); -#endif -#ifndef OPENSSL_NO_BIO -void ERR_print_errors(BIO *bp); -#endif -void ERR_add_error_data(int num, ...); -void ERR_add_error_vdata(int num, va_list args); -void ERR_load_strings(int lib,ERR_STRING_DATA str[]); -void ERR_unload_strings(int lib,ERR_STRING_DATA str[]); -void ERR_load_ERR_strings(void); -void ERR_load_crypto_strings(void); -void ERR_free_strings(void); - -void ERR_remove_thread_state(const CRYPTO_THREADID *tid); -#ifndef OPENSSL_NO_DEPRECATED -void ERR_remove_state(unsigned long pid); /* if zero we look it up */ -#endif -ERR_STATE *ERR_get_state(void); - -#ifndef OPENSSL_NO_LHASH -LHASH_OF(ERR_STRING_DATA) *ERR_get_string_table(void); -LHASH_OF(ERR_STATE) *ERR_get_err_state_table(void); -void ERR_release_err_state_table(LHASH_OF(ERR_STATE) **hash); -#endif - -int ERR_get_next_error_library(void); - -int ERR_set_mark(void); -int ERR_pop_to_mark(void); - -/* Already defined in ossl_typ.h */ -/* typedef struct st_ERR_FNS ERR_FNS; */ -/* An application can use this function and provide the return value to loaded - * modules that should use the application's ERR state/functionality */ -const ERR_FNS *ERR_get_implementation(void); -/* A loaded module should call this function prior to any ERR operations using - * the application's "ERR_FNS". */ -int ERR_set_implementation(const ERR_FNS *fns); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/evp.h b/ext/bin/libcrypto/include/openssl/evp.h deleted file mode 100644 index faeb3c24e..000000000 --- a/ext/bin/libcrypto/include/openssl/evp.h +++ /dev/null @@ -1,1409 +0,0 @@ -/* crypto/evp/evp.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_ENVELOPE_H -#define HEADER_ENVELOPE_H - -#ifdef OPENSSL_ALGORITHM_DEFINES -# include -#else -# define OPENSSL_ALGORITHM_DEFINES -# include -# undef OPENSSL_ALGORITHM_DEFINES -#endif - -#include - -#include - -#ifndef OPENSSL_NO_BIO -#include -#endif - -/* -#define EVP_RC2_KEY_SIZE 16 -#define EVP_RC4_KEY_SIZE 16 -#define EVP_BLOWFISH_KEY_SIZE 16 -#define EVP_CAST5_KEY_SIZE 16 -#define EVP_RC5_32_12_16_KEY_SIZE 16 -*/ -#define EVP_MAX_MD_SIZE 64 /* longest known is SHA512 */ -#define EVP_MAX_KEY_LENGTH 64 -#define EVP_MAX_IV_LENGTH 16 -#define EVP_MAX_BLOCK_LENGTH 32 - -#define PKCS5_SALT_LEN 8 -/* Default PKCS#5 iteration count */ -#define PKCS5_DEFAULT_ITER 2048 - -#include - -#define EVP_PK_RSA 0x0001 -#define EVP_PK_DSA 0x0002 -#define EVP_PK_DH 0x0004 -#define EVP_PK_EC 0x0008 -#define EVP_PKT_SIGN 0x0010 -#define EVP_PKT_ENC 0x0020 -#define EVP_PKT_EXCH 0x0040 -#define EVP_PKS_RSA 0x0100 -#define EVP_PKS_DSA 0x0200 -#define EVP_PKS_EC 0x0400 -#define EVP_PKT_EXP 0x1000 /* <= 512 bit key */ - -#define EVP_PKEY_NONE NID_undef -#define EVP_PKEY_RSA NID_rsaEncryption -#define EVP_PKEY_RSA2 NID_rsa -#define EVP_PKEY_DSA NID_dsa -#define EVP_PKEY_DSA1 NID_dsa_2 -#define EVP_PKEY_DSA2 NID_dsaWithSHA -#define EVP_PKEY_DSA3 NID_dsaWithSHA1 -#define EVP_PKEY_DSA4 NID_dsaWithSHA1_2 -#define EVP_PKEY_DH NID_dhKeyAgreement -#define EVP_PKEY_EC NID_X9_62_id_ecPublicKey -#define EVP_PKEY_HMAC NID_hmac -#define EVP_PKEY_CMAC NID_cmac - -#ifdef __cplusplus -extern "C" { -#endif - -/* Type needs to be a bit field - * Sub-type needs to be for variations on the method, as in, can it do - * arbitrary encryption.... */ -struct evp_pkey_st - { - int type; - int save_type; - int references; - const EVP_PKEY_ASN1_METHOD *ameth; - ENGINE *engine; - union { - char *ptr; -#ifndef OPENSSL_NO_RSA - struct rsa_st *rsa; /* RSA */ -#endif -#ifndef OPENSSL_NO_DSA - struct dsa_st *dsa; /* DSA */ -#endif -#ifndef OPENSSL_NO_DH - struct dh_st *dh; /* DH */ -#endif -#ifndef OPENSSL_NO_EC - struct ec_key_st *ec; /* ECC */ -#endif - } pkey; - int save_parameters; - STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ - } /* EVP_PKEY */; - -#define EVP_PKEY_MO_SIGN 0x0001 -#define EVP_PKEY_MO_VERIFY 0x0002 -#define EVP_PKEY_MO_ENCRYPT 0x0004 -#define EVP_PKEY_MO_DECRYPT 0x0008 - -#ifndef EVP_MD -struct env_md_st - { - int type; - int pkey_type; - int md_size; - unsigned long flags; - int (*init)(EVP_MD_CTX *ctx); - int (*update)(EVP_MD_CTX *ctx,const void *data,size_t count); - int (*final)(EVP_MD_CTX *ctx,unsigned char *md); - int (*copy)(EVP_MD_CTX *to,const EVP_MD_CTX *from); - int (*cleanup)(EVP_MD_CTX *ctx); - - /* FIXME: prototype these some day */ - int (*sign)(int type, const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, void *key); - int (*verify)(int type, const unsigned char *m, unsigned int m_length, - const unsigned char *sigbuf, unsigned int siglen, - void *key); - int required_pkey_type[5]; /*EVP_PKEY_xxx */ - int block_size; - int ctx_size; /* how big does the ctx->md_data need to be */ - /* control function */ - int (*md_ctrl)(EVP_MD_CTX *ctx, int cmd, int p1, void *p2); - } /* EVP_MD */; - -typedef int evp_sign_method(int type,const unsigned char *m, - unsigned int m_length,unsigned char *sigret, - unsigned int *siglen, void *key); -typedef int evp_verify_method(int type,const unsigned char *m, - unsigned int m_length,const unsigned char *sigbuf, - unsigned int siglen, void *key); - -#define EVP_MD_FLAG_ONESHOT 0x0001 /* digest can only handle a single - * block */ - -#define EVP_MD_FLAG_PKEY_DIGEST 0x0002 /* digest is a "clone" digest used - * which is a copy of an existing - * one for a specific public key type. - * EVP_dss1() etc */ - -/* Digest uses EVP_PKEY_METHOD for signing instead of MD specific signing */ - -#define EVP_MD_FLAG_PKEY_METHOD_SIGNATURE 0x0004 - -/* DigestAlgorithmIdentifier flags... */ - -#define EVP_MD_FLAG_DIGALGID_MASK 0x0018 - -/* NULL or absent parameter accepted. Use NULL */ - -#define EVP_MD_FLAG_DIGALGID_NULL 0x0000 - -/* NULL or absent parameter accepted. Use NULL for PKCS#1 otherwise absent */ - -#define EVP_MD_FLAG_DIGALGID_ABSENT 0x0008 - -/* Custom handling via ctrl */ - -#define EVP_MD_FLAG_DIGALGID_CUSTOM 0x0018 - -#define EVP_MD_FLAG_FIPS 0x0400 /* Note if suitable for use in FIPS mode */ - -/* Digest ctrls */ - -#define EVP_MD_CTRL_DIGALGID 0x1 -#define EVP_MD_CTRL_MICALG 0x2 - -/* Minimum Algorithm specific ctrl value */ - -#define EVP_MD_CTRL_ALG_CTRL 0x1000 - -#define EVP_PKEY_NULL_method NULL,NULL,{0,0,0,0} - -#ifndef OPENSSL_NO_DSA -#define EVP_PKEY_DSA_method (evp_sign_method *)DSA_sign, \ - (evp_verify_method *)DSA_verify, \ - {EVP_PKEY_DSA,EVP_PKEY_DSA2,EVP_PKEY_DSA3, \ - EVP_PKEY_DSA4,0} -#else -#define EVP_PKEY_DSA_method EVP_PKEY_NULL_method -#endif - -#ifndef OPENSSL_NO_ECDSA -#define EVP_PKEY_ECDSA_method (evp_sign_method *)ECDSA_sign, \ - (evp_verify_method *)ECDSA_verify, \ - {EVP_PKEY_EC,0,0,0} -#else -#define EVP_PKEY_ECDSA_method EVP_PKEY_NULL_method -#endif - -#ifndef OPENSSL_NO_RSA -#define EVP_PKEY_RSA_method (evp_sign_method *)RSA_sign, \ - (evp_verify_method *)RSA_verify, \ - {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} -#define EVP_PKEY_RSA_ASN1_OCTET_STRING_method \ - (evp_sign_method *)RSA_sign_ASN1_OCTET_STRING, \ - (evp_verify_method *)RSA_verify_ASN1_OCTET_STRING, \ - {EVP_PKEY_RSA,EVP_PKEY_RSA2,0,0} -#else -#define EVP_PKEY_RSA_method EVP_PKEY_NULL_method -#define EVP_PKEY_RSA_ASN1_OCTET_STRING_method EVP_PKEY_NULL_method -#endif - -#endif /* !EVP_MD */ - -struct env_md_ctx_st - { - const EVP_MD *digest; - ENGINE *engine; /* functional reference if 'digest' is ENGINE-provided */ - unsigned long flags; - void *md_data; - /* Public key context for sign/verify */ - EVP_PKEY_CTX *pctx; - /* Update function: usually copied from EVP_MD */ - int (*update)(EVP_MD_CTX *ctx,const void *data,size_t count); - } /* EVP_MD_CTX */; - -/* values for EVP_MD_CTX flags */ - -#define EVP_MD_CTX_FLAG_ONESHOT 0x0001 /* digest update will be called - * once only */ -#define EVP_MD_CTX_FLAG_CLEANED 0x0002 /* context has already been - * cleaned */ -#define EVP_MD_CTX_FLAG_REUSE 0x0004 /* Don't free up ctx->md_data - * in EVP_MD_CTX_cleanup */ -/* FIPS and pad options are ignored in 1.0.0, definitions are here - * so we don't accidentally reuse the values for other purposes. - */ - -#define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW 0x0008 /* Allow use of non FIPS digest - * in FIPS mode */ - -/* The following PAD options are also currently ignored in 1.0.0, digest - * parameters are handled through EVP_DigestSign*() and EVP_DigestVerify*() - * instead. - */ -#define EVP_MD_CTX_FLAG_PAD_MASK 0xF0 /* RSA mode to use */ -#define EVP_MD_CTX_FLAG_PAD_PKCS1 0x00 /* PKCS#1 v1.5 mode */ -#define EVP_MD_CTX_FLAG_PAD_X931 0x10 /* X9.31 mode */ -#define EVP_MD_CTX_FLAG_PAD_PSS 0x20 /* PSS mode */ - -#define EVP_MD_CTX_FLAG_NO_INIT 0x0100 /* Don't initialize md_data */ - -struct evp_cipher_st - { - int nid; - int block_size; - int key_len; /* Default value for variable length ciphers */ - int iv_len; - unsigned long flags; /* Various flags */ - int (*init)(EVP_CIPHER_CTX *ctx, const unsigned char *key, - const unsigned char *iv, int enc); /* init key */ - int (*do_cipher)(EVP_CIPHER_CTX *ctx, unsigned char *out, - const unsigned char *in, size_t inl);/* encrypt/decrypt data */ - int (*cleanup)(EVP_CIPHER_CTX *); /* cleanup ctx */ - int ctx_size; /* how big ctx->cipher_data needs to be */ - int (*set_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *); /* Populate a ASN1_TYPE with parameters */ - int (*get_asn1_parameters)(EVP_CIPHER_CTX *, ASN1_TYPE *); /* Get parameters from a ASN1_TYPE */ - int (*ctrl)(EVP_CIPHER_CTX *, int type, int arg, void *ptr); /* Miscellaneous operations */ - void *app_data; /* Application data */ - } /* EVP_CIPHER */; - -/* Values for cipher flags */ - -/* Modes for ciphers */ - -#define EVP_CIPH_STREAM_CIPHER 0x0 -#define EVP_CIPH_ECB_MODE 0x1 -#define EVP_CIPH_CBC_MODE 0x2 -#define EVP_CIPH_CFB_MODE 0x3 -#define EVP_CIPH_OFB_MODE 0x4 -#define EVP_CIPH_CTR_MODE 0x5 -#define EVP_CIPH_GCM_MODE 0x6 -#define EVP_CIPH_CCM_MODE 0x7 -#define EVP_CIPH_XTS_MODE 0x10001 -#define EVP_CIPH_MODE 0xF0007 -/* Set if variable length cipher */ -#define EVP_CIPH_VARIABLE_LENGTH 0x8 -/* Set if the iv handling should be done by the cipher itself */ -#define EVP_CIPH_CUSTOM_IV 0x10 -/* Set if the cipher's init() function should be called if key is NULL */ -#define EVP_CIPH_ALWAYS_CALL_INIT 0x20 -/* Call ctrl() to init cipher parameters */ -#define EVP_CIPH_CTRL_INIT 0x40 -/* Don't use standard key length function */ -#define EVP_CIPH_CUSTOM_KEY_LENGTH 0x80 -/* Don't use standard block padding */ -#define EVP_CIPH_NO_PADDING 0x100 -/* cipher handles random key generation */ -#define EVP_CIPH_RAND_KEY 0x200 -/* cipher has its own additional copying logic */ -#define EVP_CIPH_CUSTOM_COPY 0x400 -/* Allow use default ASN1 get/set iv */ -#define EVP_CIPH_FLAG_DEFAULT_ASN1 0x1000 -/* Buffer length in bits not bytes: CFB1 mode only */ -#define EVP_CIPH_FLAG_LENGTH_BITS 0x2000 -/* Note if suitable for use in FIPS mode */ -#define EVP_CIPH_FLAG_FIPS 0x4000 -/* Allow non FIPS cipher in FIPS mode */ -#define EVP_CIPH_FLAG_NON_FIPS_ALLOW 0x8000 -/* Cipher handles any and all padding logic as well - * as finalisation. - */ -#define EVP_CIPH_FLAG_CUSTOM_CIPHER 0x100000 -#define EVP_CIPH_FLAG_AEAD_CIPHER 0x200000 - -/* ctrl() values */ - -#define EVP_CTRL_INIT 0x0 -#define EVP_CTRL_SET_KEY_LENGTH 0x1 -#define EVP_CTRL_GET_RC2_KEY_BITS 0x2 -#define EVP_CTRL_SET_RC2_KEY_BITS 0x3 -#define EVP_CTRL_GET_RC5_ROUNDS 0x4 -#define EVP_CTRL_SET_RC5_ROUNDS 0x5 -#define EVP_CTRL_RAND_KEY 0x6 -#define EVP_CTRL_PBE_PRF_NID 0x7 -#define EVP_CTRL_COPY 0x8 -#define EVP_CTRL_GCM_SET_IVLEN 0x9 -#define EVP_CTRL_GCM_GET_TAG 0x10 -#define EVP_CTRL_GCM_SET_TAG 0x11 -#define EVP_CTRL_GCM_SET_IV_FIXED 0x12 -#define EVP_CTRL_GCM_IV_GEN 0x13 -#define EVP_CTRL_CCM_SET_IVLEN EVP_CTRL_GCM_SET_IVLEN -#define EVP_CTRL_CCM_GET_TAG EVP_CTRL_GCM_GET_TAG -#define EVP_CTRL_CCM_SET_TAG EVP_CTRL_GCM_SET_TAG -#define EVP_CTRL_CCM_SET_L 0x14 -#define EVP_CTRL_CCM_SET_MSGLEN 0x15 -/* AEAD cipher deduces payload length and returns number of bytes - * required to store MAC and eventual padding. Subsequent call to - * EVP_Cipher even appends/verifies MAC. - */ -#define EVP_CTRL_AEAD_TLS1_AAD 0x16 -/* Used by composite AEAD ciphers, no-op in GCM, CCM... */ -#define EVP_CTRL_AEAD_SET_MAC_KEY 0x17 -/* Set the GCM invocation field, decrypt only */ -#define EVP_CTRL_GCM_SET_IV_INV 0x18 - -/* GCM TLS constants */ -/* Length of fixed part of IV derived from PRF */ -#define EVP_GCM_TLS_FIXED_IV_LEN 4 -/* Length of explicit part of IV part of TLS records */ -#define EVP_GCM_TLS_EXPLICIT_IV_LEN 8 -/* Length of tag for TLS */ -#define EVP_GCM_TLS_TAG_LEN 16 - -typedef struct evp_cipher_info_st - { - const EVP_CIPHER *cipher; - unsigned char iv[EVP_MAX_IV_LENGTH]; - } EVP_CIPHER_INFO; - -struct evp_cipher_ctx_st - { - const EVP_CIPHER *cipher; - ENGINE *engine; /* functional reference if 'cipher' is ENGINE-provided */ - int encrypt; /* encrypt or decrypt */ - int buf_len; /* number we have left */ - - unsigned char oiv[EVP_MAX_IV_LENGTH]; /* original iv */ - unsigned char iv[EVP_MAX_IV_LENGTH]; /* working iv */ - unsigned char buf[EVP_MAX_BLOCK_LENGTH];/* saved partial block */ - int num; /* used by cfb/ofb/ctr mode */ - - void *app_data; /* application stuff */ - int key_len; /* May change for variable length cipher */ - unsigned long flags; /* Various flags */ - void *cipher_data; /* per EVP data */ - int final_used; - int block_mask; - unsigned char final[EVP_MAX_BLOCK_LENGTH];/* possible final block */ - } /* EVP_CIPHER_CTX */; - -typedef struct evp_Encode_Ctx_st - { - int num; /* number saved in a partial encode/decode */ - int length; /* The length is either the output line length - * (in input bytes) or the shortest input line - * length that is ok. Once decoding begins, - * the length is adjusted up each time a longer - * line is decoded */ - unsigned char enc_data[80]; /* data to encode */ - int line_num; /* number read on current line */ - int expect_nl; - } EVP_ENCODE_CTX; - -/* Password based encryption function */ -typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, - const EVP_MD *md, int en_de); - -#ifndef OPENSSL_NO_RSA -#define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\ - (char *)(rsa)) -#endif - -#ifndef OPENSSL_NO_DSA -#define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ - (char *)(dsa)) -#endif - -#ifndef OPENSSL_NO_DH -#define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ - (char *)(dh)) -#endif - -#ifndef OPENSSL_NO_EC -#define EVP_PKEY_assign_EC_KEY(pkey,eckey) EVP_PKEY_assign((pkey),EVP_PKEY_EC,\ - (char *)(eckey)) -#endif - -/* Add some extra combinations */ -#define EVP_get_digestbynid(a) EVP_get_digestbyname(OBJ_nid2sn(a)) -#define EVP_get_digestbyobj(a) EVP_get_digestbynid(OBJ_obj2nid(a)) -#define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a)) -#define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) - -int EVP_MD_type(const EVP_MD *md); -#define EVP_MD_nid(e) EVP_MD_type(e) -#define EVP_MD_name(e) OBJ_nid2sn(EVP_MD_nid(e)) -int EVP_MD_pkey_type(const EVP_MD *md); -int EVP_MD_size(const EVP_MD *md); -int EVP_MD_block_size(const EVP_MD *md); -unsigned long EVP_MD_flags(const EVP_MD *md); - -const EVP_MD *EVP_MD_CTX_md(const EVP_MD_CTX *ctx); -#define EVP_MD_CTX_size(e) EVP_MD_size(EVP_MD_CTX_md(e)) -#define EVP_MD_CTX_block_size(e) EVP_MD_block_size(EVP_MD_CTX_md(e)) -#define EVP_MD_CTX_type(e) EVP_MD_type(EVP_MD_CTX_md(e)) - -int EVP_CIPHER_nid(const EVP_CIPHER *cipher); -#define EVP_CIPHER_name(e) OBJ_nid2sn(EVP_CIPHER_nid(e)) -int EVP_CIPHER_block_size(const EVP_CIPHER *cipher); -int EVP_CIPHER_key_length(const EVP_CIPHER *cipher); -int EVP_CIPHER_iv_length(const EVP_CIPHER *cipher); -unsigned long EVP_CIPHER_flags(const EVP_CIPHER *cipher); -#define EVP_CIPHER_mode(e) (EVP_CIPHER_flags(e) & EVP_CIPH_MODE) - -const EVP_CIPHER * EVP_CIPHER_CTX_cipher(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_nid(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_block_size(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_key_length(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_iv_length(const EVP_CIPHER_CTX *ctx); -int EVP_CIPHER_CTX_copy(EVP_CIPHER_CTX *out, const EVP_CIPHER_CTX *in); -void * EVP_CIPHER_CTX_get_app_data(const EVP_CIPHER_CTX *ctx); -void EVP_CIPHER_CTX_set_app_data(EVP_CIPHER_CTX *ctx, void *data); -#define EVP_CIPHER_CTX_type(c) EVP_CIPHER_type(EVP_CIPHER_CTX_cipher(c)) -unsigned long EVP_CIPHER_CTX_flags(const EVP_CIPHER_CTX *ctx); -#define EVP_CIPHER_CTX_mode(e) (EVP_CIPHER_CTX_flags(e) & EVP_CIPH_MODE) - -#define EVP_ENCODE_LENGTH(l) (((l+2)/3*4)+(l/48+1)*2+80) -#define EVP_DECODE_LENGTH(l) ((l+3)/4*3+80) - -#define EVP_SignInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) -#define EVP_SignInit(a,b) EVP_DigestInit(a,b) -#define EVP_SignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) -#define EVP_VerifyInit_ex(a,b,c) EVP_DigestInit_ex(a,b,c) -#define EVP_VerifyInit(a,b) EVP_DigestInit(a,b) -#define EVP_VerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) -#define EVP_OpenUpdate(a,b,c,d,e) EVP_DecryptUpdate(a,b,c,d,e) -#define EVP_SealUpdate(a,b,c,d,e) EVP_EncryptUpdate(a,b,c,d,e) -#define EVP_DigestSignUpdate(a,b,c) EVP_DigestUpdate(a,b,c) -#define EVP_DigestVerifyUpdate(a,b,c) EVP_DigestUpdate(a,b,c) - -#ifdef CONST_STRICT -void BIO_set_md(BIO *,const EVP_MD *md); -#else -# define BIO_set_md(b,md) BIO_ctrl(b,BIO_C_SET_MD,0,(char *)md) -#endif -#define BIO_get_md(b,mdp) BIO_ctrl(b,BIO_C_GET_MD,0,(char *)mdp) -#define BIO_get_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_GET_MD_CTX,0,(char *)mdcp) -#define BIO_set_md_ctx(b,mdcp) BIO_ctrl(b,BIO_C_SET_MD_CTX,0,(char *)mdcp) -#define BIO_get_cipher_status(b) BIO_ctrl(b,BIO_C_GET_CIPHER_STATUS,0,NULL) -#define BIO_get_cipher_ctx(b,c_pp) BIO_ctrl(b,BIO_C_GET_CIPHER_CTX,0,(char *)c_pp) - -int EVP_Cipher(EVP_CIPHER_CTX *c, - unsigned char *out, - const unsigned char *in, - unsigned int inl); - -#define EVP_add_cipher_alias(n,alias) \ - OBJ_NAME_add((alias),OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS,(n)) -#define EVP_add_digest_alias(n,alias) \ - OBJ_NAME_add((alias),OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS,(n)) -#define EVP_delete_cipher_alias(alias) \ - OBJ_NAME_remove(alias,OBJ_NAME_TYPE_CIPHER_METH|OBJ_NAME_ALIAS); -#define EVP_delete_digest_alias(alias) \ - OBJ_NAME_remove(alias,OBJ_NAME_TYPE_MD_METH|OBJ_NAME_ALIAS); - -void EVP_MD_CTX_init(EVP_MD_CTX *ctx); -int EVP_MD_CTX_cleanup(EVP_MD_CTX *ctx); -EVP_MD_CTX *EVP_MD_CTX_create(void); -void EVP_MD_CTX_destroy(EVP_MD_CTX *ctx); -int EVP_MD_CTX_copy_ex(EVP_MD_CTX *out,const EVP_MD_CTX *in); -void EVP_MD_CTX_set_flags(EVP_MD_CTX *ctx, int flags); -void EVP_MD_CTX_clear_flags(EVP_MD_CTX *ctx, int flags); -int EVP_MD_CTX_test_flags(const EVP_MD_CTX *ctx,int flags); -int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl); -int EVP_DigestUpdate(EVP_MD_CTX *ctx,const void *d, - size_t cnt); -int EVP_DigestFinal_ex(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s); -int EVP_Digest(const void *data, size_t count, - unsigned char *md, unsigned int *size, const EVP_MD *type, ENGINE *impl); - -int EVP_MD_CTX_copy(EVP_MD_CTX *out,const EVP_MD_CTX *in); -int EVP_DigestInit(EVP_MD_CTX *ctx, const EVP_MD *type); -int EVP_DigestFinal(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s); - -int EVP_read_pw_string(char *buf,int length,const char *prompt,int verify); -int EVP_read_pw_string_min(char *buf,int minlen,int maxlen,const char *prompt,int verify); -void EVP_set_pw_prompt(const char *prompt); -char * EVP_get_pw_prompt(void); - -int EVP_BytesToKey(const EVP_CIPHER *type,const EVP_MD *md, - const unsigned char *salt, const unsigned char *data, - int datal, int count, unsigned char *key,unsigned char *iv); - -void EVP_CIPHER_CTX_set_flags(EVP_CIPHER_CTX *ctx, int flags); -void EVP_CIPHER_CTX_clear_flags(EVP_CIPHER_CTX *ctx, int flags); -int EVP_CIPHER_CTX_test_flags(const EVP_CIPHER_CTX *ctx,int flags); - -int EVP_EncryptInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, - const unsigned char *key, const unsigned char *iv); -int EVP_EncryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl, - const unsigned char *key, const unsigned char *iv); -int EVP_EncryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, - int *outl, const unsigned char *in, int inl); -int EVP_EncryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); -int EVP_EncryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); - -int EVP_DecryptInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, - const unsigned char *key, const unsigned char *iv); -int EVP_DecryptInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl, - const unsigned char *key, const unsigned char *iv); -int EVP_DecryptUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, - int *outl, const unsigned char *in, int inl); -int EVP_DecryptFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); -int EVP_DecryptFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); - -int EVP_CipherInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, - const unsigned char *key,const unsigned char *iv, - int enc); -int EVP_CipherInit_ex(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *cipher, ENGINE *impl, - const unsigned char *key,const unsigned char *iv, - int enc); -int EVP_CipherUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, - int *outl, const unsigned char *in, int inl); -int EVP_CipherFinal(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); -int EVP_CipherFinal_ex(EVP_CIPHER_CTX *ctx, unsigned char *outm, int *outl); - -int EVP_SignFinal(EVP_MD_CTX *ctx,unsigned char *md,unsigned int *s, - EVP_PKEY *pkey); - -int EVP_VerifyFinal(EVP_MD_CTX *ctx,const unsigned char *sigbuf, - unsigned int siglen,EVP_PKEY *pkey); - -int EVP_DigestSignInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, - const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); -int EVP_DigestSignFinal(EVP_MD_CTX *ctx, - unsigned char *sigret, size_t *siglen); - -int EVP_DigestVerifyInit(EVP_MD_CTX *ctx, EVP_PKEY_CTX **pctx, - const EVP_MD *type, ENGINE *e, EVP_PKEY *pkey); -int EVP_DigestVerifyFinal(EVP_MD_CTX *ctx, - unsigned char *sig, size_t siglen); - -int EVP_OpenInit(EVP_CIPHER_CTX *ctx,const EVP_CIPHER *type, - const unsigned char *ek, int ekl, const unsigned char *iv, - EVP_PKEY *priv); -int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int *outl); - -int EVP_SealInit(EVP_CIPHER_CTX *ctx, const EVP_CIPHER *type, - unsigned char **ek, int *ekl, unsigned char *iv, - EVP_PKEY **pubk, int npubk); -int EVP_SealFinal(EVP_CIPHER_CTX *ctx,unsigned char *out,int *outl); - -void EVP_EncodeInit(EVP_ENCODE_CTX *ctx); -void EVP_EncodeUpdate(EVP_ENCODE_CTX *ctx,unsigned char *out,int *outl, - const unsigned char *in,int inl); -void EVP_EncodeFinal(EVP_ENCODE_CTX *ctx,unsigned char *out,int *outl); -int EVP_EncodeBlock(unsigned char *t, const unsigned char *f, int n); - -void EVP_DecodeInit(EVP_ENCODE_CTX *ctx); -int EVP_DecodeUpdate(EVP_ENCODE_CTX *ctx,unsigned char *out,int *outl, - const unsigned char *in, int inl); -int EVP_DecodeFinal(EVP_ENCODE_CTX *ctx, unsigned - char *out, int *outl); -int EVP_DecodeBlock(unsigned char *t, const unsigned char *f, int n); - -void EVP_CIPHER_CTX_init(EVP_CIPHER_CTX *a); -int EVP_CIPHER_CTX_cleanup(EVP_CIPHER_CTX *a); -EVP_CIPHER_CTX *EVP_CIPHER_CTX_new(void); -void EVP_CIPHER_CTX_free(EVP_CIPHER_CTX *a); -int EVP_CIPHER_CTX_set_key_length(EVP_CIPHER_CTX *x, int keylen); -int EVP_CIPHER_CTX_set_padding(EVP_CIPHER_CTX *c, int pad); -int EVP_CIPHER_CTX_ctrl(EVP_CIPHER_CTX *ctx, int type, int arg, void *ptr); -int EVP_CIPHER_CTX_rand_key(EVP_CIPHER_CTX *ctx, unsigned char *key); - -#ifndef OPENSSL_NO_BIO -BIO_METHOD *BIO_f_md(void); -BIO_METHOD *BIO_f_base64(void); -BIO_METHOD *BIO_f_cipher(void); -BIO_METHOD *BIO_f_reliable(void); -void BIO_set_cipher(BIO *b,const EVP_CIPHER *c,const unsigned char *k, - const unsigned char *i, int enc); -#endif - -const EVP_MD *EVP_md_null(void); -#ifndef OPENSSL_NO_MD2 -const EVP_MD *EVP_md2(void); -#endif -#ifndef OPENSSL_NO_MD4 -const EVP_MD *EVP_md4(void); -#endif -#ifndef OPENSSL_NO_MD5 -const EVP_MD *EVP_md5(void); -#endif -#ifndef OPENSSL_NO_SHA -const EVP_MD *EVP_sha(void); -const EVP_MD *EVP_sha1(void); -const EVP_MD *EVP_dss(void); -const EVP_MD *EVP_dss1(void); -const EVP_MD *EVP_ecdsa(void); -#endif -#ifndef OPENSSL_NO_SHA256 -const EVP_MD *EVP_sha224(void); -const EVP_MD *EVP_sha256(void); -#endif -#ifndef OPENSSL_NO_SHA512 -const EVP_MD *EVP_sha384(void); -const EVP_MD *EVP_sha512(void); -#endif -#ifndef OPENSSL_NO_MDC2 -const EVP_MD *EVP_mdc2(void); -#endif -#ifndef OPENSSL_NO_RIPEMD -const EVP_MD *EVP_ripemd160(void); -#endif -#ifndef OPENSSL_NO_WHIRLPOOL -const EVP_MD *EVP_whirlpool(void); -#endif -const EVP_CIPHER *EVP_enc_null(void); /* does nothing :-) */ -#ifndef OPENSSL_NO_DES -const EVP_CIPHER *EVP_des_ecb(void); -const EVP_CIPHER *EVP_des_ede(void); -const EVP_CIPHER *EVP_des_ede3(void); -const EVP_CIPHER *EVP_des_ede_ecb(void); -const EVP_CIPHER *EVP_des_ede3_ecb(void); -const EVP_CIPHER *EVP_des_cfb64(void); -# define EVP_des_cfb EVP_des_cfb64 -const EVP_CIPHER *EVP_des_cfb1(void); -const EVP_CIPHER *EVP_des_cfb8(void); -const EVP_CIPHER *EVP_des_ede_cfb64(void); -# define EVP_des_ede_cfb EVP_des_ede_cfb64 -#if 0 -const EVP_CIPHER *EVP_des_ede_cfb1(void); -const EVP_CIPHER *EVP_des_ede_cfb8(void); -#endif -const EVP_CIPHER *EVP_des_ede3_cfb64(void); -# define EVP_des_ede3_cfb EVP_des_ede3_cfb64 -const EVP_CIPHER *EVP_des_ede3_cfb1(void); -const EVP_CIPHER *EVP_des_ede3_cfb8(void); -const EVP_CIPHER *EVP_des_ofb(void); -const EVP_CIPHER *EVP_des_ede_ofb(void); -const EVP_CIPHER *EVP_des_ede3_ofb(void); -const EVP_CIPHER *EVP_des_cbc(void); -const EVP_CIPHER *EVP_des_ede_cbc(void); -const EVP_CIPHER *EVP_des_ede3_cbc(void); -const EVP_CIPHER *EVP_desx_cbc(void); -/* This should now be supported through the dev_crypto ENGINE. But also, why are - * rc4 and md5 declarations made here inside a "NO_DES" precompiler branch? */ -#if 0 -# ifdef OPENSSL_OPENBSD_DEV_CRYPTO -const EVP_CIPHER *EVP_dev_crypto_des_ede3_cbc(void); -const EVP_CIPHER *EVP_dev_crypto_rc4(void); -const EVP_MD *EVP_dev_crypto_md5(void); -# endif -#endif -#endif -#ifndef OPENSSL_NO_RC4 -const EVP_CIPHER *EVP_rc4(void); -const EVP_CIPHER *EVP_rc4_40(void); -#ifndef OPENSSL_NO_MD5 -const EVP_CIPHER *EVP_rc4_hmac_md5(void); -#endif -#endif -#ifndef OPENSSL_NO_IDEA -const EVP_CIPHER *EVP_idea_ecb(void); -const EVP_CIPHER *EVP_idea_cfb64(void); -# define EVP_idea_cfb EVP_idea_cfb64 -const EVP_CIPHER *EVP_idea_ofb(void); -const EVP_CIPHER *EVP_idea_cbc(void); -#endif -#ifndef OPENSSL_NO_RC2 -const EVP_CIPHER *EVP_rc2_ecb(void); -const EVP_CIPHER *EVP_rc2_cbc(void); -const EVP_CIPHER *EVP_rc2_40_cbc(void); -const EVP_CIPHER *EVP_rc2_64_cbc(void); -const EVP_CIPHER *EVP_rc2_cfb64(void); -# define EVP_rc2_cfb EVP_rc2_cfb64 -const EVP_CIPHER *EVP_rc2_ofb(void); -#endif -#ifndef OPENSSL_NO_BF -const EVP_CIPHER *EVP_bf_ecb(void); -const EVP_CIPHER *EVP_bf_cbc(void); -const EVP_CIPHER *EVP_bf_cfb64(void); -# define EVP_bf_cfb EVP_bf_cfb64 -const EVP_CIPHER *EVP_bf_ofb(void); -#endif -#ifndef OPENSSL_NO_CAST -const EVP_CIPHER *EVP_cast5_ecb(void); -const EVP_CIPHER *EVP_cast5_cbc(void); -const EVP_CIPHER *EVP_cast5_cfb64(void); -# define EVP_cast5_cfb EVP_cast5_cfb64 -const EVP_CIPHER *EVP_cast5_ofb(void); -#endif -#ifndef OPENSSL_NO_RC5 -const EVP_CIPHER *EVP_rc5_32_12_16_cbc(void); -const EVP_CIPHER *EVP_rc5_32_12_16_ecb(void); -const EVP_CIPHER *EVP_rc5_32_12_16_cfb64(void); -# define EVP_rc5_32_12_16_cfb EVP_rc5_32_12_16_cfb64 -const EVP_CIPHER *EVP_rc5_32_12_16_ofb(void); -#endif -#ifndef OPENSSL_NO_AES -const EVP_CIPHER *EVP_aes_128_ecb(void); -const EVP_CIPHER *EVP_aes_128_cbc(void); -const EVP_CIPHER *EVP_aes_128_cfb1(void); -const EVP_CIPHER *EVP_aes_128_cfb8(void); -const EVP_CIPHER *EVP_aes_128_cfb128(void); -# define EVP_aes_128_cfb EVP_aes_128_cfb128 -const EVP_CIPHER *EVP_aes_128_ofb(void); -const EVP_CIPHER *EVP_aes_128_ctr(void); -const EVP_CIPHER *EVP_aes_128_ccm(void); -const EVP_CIPHER *EVP_aes_128_gcm(void); -const EVP_CIPHER *EVP_aes_128_xts(void); -const EVP_CIPHER *EVP_aes_192_ecb(void); -const EVP_CIPHER *EVP_aes_192_cbc(void); -const EVP_CIPHER *EVP_aes_192_cfb1(void); -const EVP_CIPHER *EVP_aes_192_cfb8(void); -const EVP_CIPHER *EVP_aes_192_cfb128(void); -# define EVP_aes_192_cfb EVP_aes_192_cfb128 -const EVP_CIPHER *EVP_aes_192_ofb(void); -const EVP_CIPHER *EVP_aes_192_ctr(void); -const EVP_CIPHER *EVP_aes_192_ccm(void); -const EVP_CIPHER *EVP_aes_192_gcm(void); -const EVP_CIPHER *EVP_aes_256_ecb(void); -const EVP_CIPHER *EVP_aes_256_cbc(void); -const EVP_CIPHER *EVP_aes_256_cfb1(void); -const EVP_CIPHER *EVP_aes_256_cfb8(void); -const EVP_CIPHER *EVP_aes_256_cfb128(void); -# define EVP_aes_256_cfb EVP_aes_256_cfb128 -const EVP_CIPHER *EVP_aes_256_ofb(void); -const EVP_CIPHER *EVP_aes_256_ctr(void); -const EVP_CIPHER *EVP_aes_256_ccm(void); -const EVP_CIPHER *EVP_aes_256_gcm(void); -const EVP_CIPHER *EVP_aes_256_xts(void); -#if !defined(OPENSSL_NO_SHA) && !defined(OPENSSL_NO_SHA1) -const EVP_CIPHER *EVP_aes_128_cbc_hmac_sha1(void); -const EVP_CIPHER *EVP_aes_256_cbc_hmac_sha1(void); -#endif -#endif -#ifndef OPENSSL_NO_CAMELLIA -const EVP_CIPHER *EVP_camellia_128_ecb(void); -const EVP_CIPHER *EVP_camellia_128_cbc(void); -const EVP_CIPHER *EVP_camellia_128_cfb1(void); -const EVP_CIPHER *EVP_camellia_128_cfb8(void); -const EVP_CIPHER *EVP_camellia_128_cfb128(void); -# define EVP_camellia_128_cfb EVP_camellia_128_cfb128 -const EVP_CIPHER *EVP_camellia_128_ofb(void); -const EVP_CIPHER *EVP_camellia_192_ecb(void); -const EVP_CIPHER *EVP_camellia_192_cbc(void); -const EVP_CIPHER *EVP_camellia_192_cfb1(void); -const EVP_CIPHER *EVP_camellia_192_cfb8(void); -const EVP_CIPHER *EVP_camellia_192_cfb128(void); -# define EVP_camellia_192_cfb EVP_camellia_192_cfb128 -const EVP_CIPHER *EVP_camellia_192_ofb(void); -const EVP_CIPHER *EVP_camellia_256_ecb(void); -const EVP_CIPHER *EVP_camellia_256_cbc(void); -const EVP_CIPHER *EVP_camellia_256_cfb1(void); -const EVP_CIPHER *EVP_camellia_256_cfb8(void); -const EVP_CIPHER *EVP_camellia_256_cfb128(void); -# define EVP_camellia_256_cfb EVP_camellia_256_cfb128 -const EVP_CIPHER *EVP_camellia_256_ofb(void); -#endif - -#ifndef OPENSSL_NO_SEED -const EVP_CIPHER *EVP_seed_ecb(void); -const EVP_CIPHER *EVP_seed_cbc(void); -const EVP_CIPHER *EVP_seed_cfb128(void); -# define EVP_seed_cfb EVP_seed_cfb128 -const EVP_CIPHER *EVP_seed_ofb(void); -#endif - -void OPENSSL_add_all_algorithms_noconf(void); -void OPENSSL_add_all_algorithms_conf(void); - -#ifdef OPENSSL_LOAD_CONF -#define OpenSSL_add_all_algorithms() \ - OPENSSL_add_all_algorithms_conf() -#else -#define OpenSSL_add_all_algorithms() \ - OPENSSL_add_all_algorithms_noconf() -#endif - -void OpenSSL_add_all_ciphers(void); -void OpenSSL_add_all_digests(void); -#define SSLeay_add_all_algorithms() OpenSSL_add_all_algorithms() -#define SSLeay_add_all_ciphers() OpenSSL_add_all_ciphers() -#define SSLeay_add_all_digests() OpenSSL_add_all_digests() - -int EVP_add_cipher(const EVP_CIPHER *cipher); -int EVP_add_digest(const EVP_MD *digest); - -const EVP_CIPHER *EVP_get_cipherbyname(const char *name); -const EVP_MD *EVP_get_digestbyname(const char *name); -void EVP_cleanup(void); - -void EVP_CIPHER_do_all(void (*fn)(const EVP_CIPHER *ciph, - const char *from, const char *to, void *x), void *arg); -void EVP_CIPHER_do_all_sorted(void (*fn)(const EVP_CIPHER *ciph, - const char *from, const char *to, void *x), void *arg); - -void EVP_MD_do_all(void (*fn)(const EVP_MD *ciph, - const char *from, const char *to, void *x), void *arg); -void EVP_MD_do_all_sorted(void (*fn)(const EVP_MD *ciph, - const char *from, const char *to, void *x), void *arg); - -int EVP_PKEY_decrypt_old(unsigned char *dec_key, - const unsigned char *enc_key,int enc_key_len, - EVP_PKEY *private_key); -int EVP_PKEY_encrypt_old(unsigned char *enc_key, - const unsigned char *key,int key_len, - EVP_PKEY *pub_key); -int EVP_PKEY_type(int type); -int EVP_PKEY_id(const EVP_PKEY *pkey); -int EVP_PKEY_base_id(const EVP_PKEY *pkey); -int EVP_PKEY_bits(EVP_PKEY *pkey); -int EVP_PKEY_size(EVP_PKEY *pkey); -int EVP_PKEY_set_type(EVP_PKEY *pkey,int type); -int EVP_PKEY_set_type_str(EVP_PKEY *pkey, const char *str, int len); -int EVP_PKEY_assign(EVP_PKEY *pkey,int type,void *key); -void * EVP_PKEY_get0(EVP_PKEY *pkey); - -#ifndef OPENSSL_NO_RSA -struct rsa_st; -int EVP_PKEY_set1_RSA(EVP_PKEY *pkey,struct rsa_st *key); -struct rsa_st *EVP_PKEY_get1_RSA(EVP_PKEY *pkey); -#endif -#ifndef OPENSSL_NO_DSA -struct dsa_st; -int EVP_PKEY_set1_DSA(EVP_PKEY *pkey,struct dsa_st *key); -struct dsa_st *EVP_PKEY_get1_DSA(EVP_PKEY *pkey); -#endif -#ifndef OPENSSL_NO_DH -struct dh_st; -int EVP_PKEY_set1_DH(EVP_PKEY *pkey,struct dh_st *key); -struct dh_st *EVP_PKEY_get1_DH(EVP_PKEY *pkey); -#endif -#ifndef OPENSSL_NO_EC -struct ec_key_st; -int EVP_PKEY_set1_EC_KEY(EVP_PKEY *pkey,struct ec_key_st *key); -struct ec_key_st *EVP_PKEY_get1_EC_KEY(EVP_PKEY *pkey); -#endif - -EVP_PKEY * EVP_PKEY_new(void); -void EVP_PKEY_free(EVP_PKEY *pkey); - -EVP_PKEY * d2i_PublicKey(int type,EVP_PKEY **a, const unsigned char **pp, - long length); -int i2d_PublicKey(EVP_PKEY *a, unsigned char **pp); - -EVP_PKEY * d2i_PrivateKey(int type,EVP_PKEY **a, const unsigned char **pp, - long length); -EVP_PKEY * d2i_AutoPrivateKey(EVP_PKEY **a, const unsigned char **pp, - long length); -int i2d_PrivateKey(EVP_PKEY *a, unsigned char **pp); - -int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); -int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); -int EVP_PKEY_save_parameters(EVP_PKEY *pkey,int mode); -int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); - -int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); - -int EVP_PKEY_print_public(BIO *out, const EVP_PKEY *pkey, - int indent, ASN1_PCTX *pctx); -int EVP_PKEY_print_private(BIO *out, const EVP_PKEY *pkey, - int indent, ASN1_PCTX *pctx); -int EVP_PKEY_print_params(BIO *out, const EVP_PKEY *pkey, - int indent, ASN1_PCTX *pctx); - -int EVP_PKEY_get_default_digest_nid(EVP_PKEY *pkey, int *pnid); - -int EVP_CIPHER_type(const EVP_CIPHER *ctx); - -/* calls methods */ -int EVP_CIPHER_param_to_asn1(EVP_CIPHER_CTX *c, ASN1_TYPE *type); -int EVP_CIPHER_asn1_to_param(EVP_CIPHER_CTX *c, ASN1_TYPE *type); - -/* These are used by EVP_CIPHER methods */ -int EVP_CIPHER_set_asn1_iv(EVP_CIPHER_CTX *c,ASN1_TYPE *type); -int EVP_CIPHER_get_asn1_iv(EVP_CIPHER_CTX *c,ASN1_TYPE *type); - -/* PKCS5 password based encryption */ -int PKCS5_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, - int en_de); -int PKCS5_PBKDF2_HMAC_SHA1(const char *pass, int passlen, - const unsigned char *salt, int saltlen, int iter, - int keylen, unsigned char *out); -int PKCS5_PBKDF2_HMAC(const char *pass, int passlen, - const unsigned char *salt, int saltlen, int iter, - const EVP_MD *digest, - int keylen, unsigned char *out); -int PKCS5_v2_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md, - int en_de); - -void PKCS5_PBE_add(void); - -int EVP_PBE_CipherInit (ASN1_OBJECT *pbe_obj, const char *pass, int passlen, - ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de); - -/* PBE type */ - -/* Can appear as the outermost AlgorithmIdentifier */ -#define EVP_PBE_TYPE_OUTER 0x0 -/* Is an PRF type OID */ -#define EVP_PBE_TYPE_PRF 0x1 - -int EVP_PBE_alg_add_type(int pbe_type, int pbe_nid, int cipher_nid, int md_nid, - EVP_PBE_KEYGEN *keygen); -int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, - EVP_PBE_KEYGEN *keygen); -int EVP_PBE_find(int type, int pbe_nid, - int *pcnid, int *pmnid, EVP_PBE_KEYGEN **pkeygen); -void EVP_PBE_cleanup(void); - -#define ASN1_PKEY_ALIAS 0x1 -#define ASN1_PKEY_DYNAMIC 0x2 -#define ASN1_PKEY_SIGPARAM_NULL 0x4 - -#define ASN1_PKEY_CTRL_PKCS7_SIGN 0x1 -#define ASN1_PKEY_CTRL_PKCS7_ENCRYPT 0x2 -#define ASN1_PKEY_CTRL_DEFAULT_MD_NID 0x3 -#define ASN1_PKEY_CTRL_CMS_SIGN 0x5 -#define ASN1_PKEY_CTRL_CMS_ENVELOPE 0x7 - -int EVP_PKEY_asn1_get_count(void); -const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_get0(int idx); -const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find(ENGINE **pe, int type); -const EVP_PKEY_ASN1_METHOD *EVP_PKEY_asn1_find_str(ENGINE **pe, - const char *str, int len); -int EVP_PKEY_asn1_add0(const EVP_PKEY_ASN1_METHOD *ameth); -int EVP_PKEY_asn1_add_alias(int to, int from); -int EVP_PKEY_asn1_get0_info(int *ppkey_id, int *pkey_base_id, int *ppkey_flags, - const char **pinfo, const char **ppem_str, - const EVP_PKEY_ASN1_METHOD *ameth); - -const EVP_PKEY_ASN1_METHOD* EVP_PKEY_get0_asn1(EVP_PKEY *pkey); -EVP_PKEY_ASN1_METHOD* EVP_PKEY_asn1_new(int id, int flags, - const char *pem_str, const char *info); -void EVP_PKEY_asn1_copy(EVP_PKEY_ASN1_METHOD *dst, - const EVP_PKEY_ASN1_METHOD *src); -void EVP_PKEY_asn1_free(EVP_PKEY_ASN1_METHOD *ameth); -void EVP_PKEY_asn1_set_public(EVP_PKEY_ASN1_METHOD *ameth, - int (*pub_decode)(EVP_PKEY *pk, X509_PUBKEY *pub), - int (*pub_encode)(X509_PUBKEY *pub, const EVP_PKEY *pk), - int (*pub_cmp)(const EVP_PKEY *a, const EVP_PKEY *b), - int (*pub_print)(BIO *out, const EVP_PKEY *pkey, int indent, - ASN1_PCTX *pctx), - int (*pkey_size)(const EVP_PKEY *pk), - int (*pkey_bits)(const EVP_PKEY *pk)); -void EVP_PKEY_asn1_set_private(EVP_PKEY_ASN1_METHOD *ameth, - int (*priv_decode)(EVP_PKEY *pk, PKCS8_PRIV_KEY_INFO *p8inf), - int (*priv_encode)(PKCS8_PRIV_KEY_INFO *p8, const EVP_PKEY *pk), - int (*priv_print)(BIO *out, const EVP_PKEY *pkey, int indent, - ASN1_PCTX *pctx)); -void EVP_PKEY_asn1_set_param(EVP_PKEY_ASN1_METHOD *ameth, - int (*param_decode)(EVP_PKEY *pkey, - const unsigned char **pder, int derlen), - int (*param_encode)(const EVP_PKEY *pkey, unsigned char **pder), - int (*param_missing)(const EVP_PKEY *pk), - int (*param_copy)(EVP_PKEY *to, const EVP_PKEY *from), - int (*param_cmp)(const EVP_PKEY *a, const EVP_PKEY *b), - int (*param_print)(BIO *out, const EVP_PKEY *pkey, int indent, - ASN1_PCTX *pctx)); - -void EVP_PKEY_asn1_set_free(EVP_PKEY_ASN1_METHOD *ameth, - void (*pkey_free)(EVP_PKEY *pkey)); -void EVP_PKEY_asn1_set_ctrl(EVP_PKEY_ASN1_METHOD *ameth, - int (*pkey_ctrl)(EVP_PKEY *pkey, int op, - long arg1, void *arg2)); - - -#define EVP_PKEY_OP_UNDEFINED 0 -#define EVP_PKEY_OP_PARAMGEN (1<<1) -#define EVP_PKEY_OP_KEYGEN (1<<2) -#define EVP_PKEY_OP_SIGN (1<<3) -#define EVP_PKEY_OP_VERIFY (1<<4) -#define EVP_PKEY_OP_VERIFYRECOVER (1<<5) -#define EVP_PKEY_OP_SIGNCTX (1<<6) -#define EVP_PKEY_OP_VERIFYCTX (1<<7) -#define EVP_PKEY_OP_ENCRYPT (1<<8) -#define EVP_PKEY_OP_DECRYPT (1<<9) -#define EVP_PKEY_OP_DERIVE (1<<10) - -#define EVP_PKEY_OP_TYPE_SIG \ - (EVP_PKEY_OP_SIGN | EVP_PKEY_OP_VERIFY | EVP_PKEY_OP_VERIFYRECOVER \ - | EVP_PKEY_OP_SIGNCTX | EVP_PKEY_OP_VERIFYCTX) - -#define EVP_PKEY_OP_TYPE_CRYPT \ - (EVP_PKEY_OP_ENCRYPT | EVP_PKEY_OP_DECRYPT) - -#define EVP_PKEY_OP_TYPE_NOGEN \ - (EVP_PKEY_OP_SIG | EVP_PKEY_OP_CRYPT | EVP_PKEY_OP_DERIVE) - -#define EVP_PKEY_OP_TYPE_GEN \ - (EVP_PKEY_OP_PARAMGEN | EVP_PKEY_OP_KEYGEN) - -#define EVP_PKEY_CTX_set_signature_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, -1, EVP_PKEY_OP_TYPE_SIG, \ - EVP_PKEY_CTRL_MD, 0, (void *)md) - -#define EVP_PKEY_CTRL_MD 1 -#define EVP_PKEY_CTRL_PEER_KEY 2 - -#define EVP_PKEY_CTRL_PKCS7_ENCRYPT 3 -#define EVP_PKEY_CTRL_PKCS7_DECRYPT 4 - -#define EVP_PKEY_CTRL_PKCS7_SIGN 5 - -#define EVP_PKEY_CTRL_SET_MAC_KEY 6 - -#define EVP_PKEY_CTRL_DIGESTINIT 7 - -/* Used by GOST key encryption in TLS */ -#define EVP_PKEY_CTRL_SET_IV 8 - -#define EVP_PKEY_CTRL_CMS_ENCRYPT 9 -#define EVP_PKEY_CTRL_CMS_DECRYPT 10 -#define EVP_PKEY_CTRL_CMS_SIGN 11 - -#define EVP_PKEY_CTRL_CIPHER 12 - -#define EVP_PKEY_ALG_CTRL 0x1000 - - -#define EVP_PKEY_FLAG_AUTOARGLEN 2 -/* Method handles all operations: don't assume any digest related - * defaults. - */ -#define EVP_PKEY_FLAG_SIGCTX_CUSTOM 4 - -const EVP_PKEY_METHOD *EVP_PKEY_meth_find(int type); -EVP_PKEY_METHOD* EVP_PKEY_meth_new(int id, int flags); -void EVP_PKEY_meth_get0_info(int *ppkey_id, int *pflags, - const EVP_PKEY_METHOD *meth); -void EVP_PKEY_meth_copy(EVP_PKEY_METHOD *dst, const EVP_PKEY_METHOD *src); -void EVP_PKEY_meth_free(EVP_PKEY_METHOD *pmeth); -int EVP_PKEY_meth_add0(const EVP_PKEY_METHOD *pmeth); - -EVP_PKEY_CTX *EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *e); -EVP_PKEY_CTX *EVP_PKEY_CTX_new_id(int id, ENGINE *e); -EVP_PKEY_CTX *EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx); -void EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx); - -int EVP_PKEY_CTX_ctrl(EVP_PKEY_CTX *ctx, int keytype, int optype, - int cmd, int p1, void *p2); -int EVP_PKEY_CTX_ctrl_str(EVP_PKEY_CTX *ctx, const char *type, - const char *value); - -int EVP_PKEY_CTX_get_operation(EVP_PKEY_CTX *ctx); -void EVP_PKEY_CTX_set0_keygen_info(EVP_PKEY_CTX *ctx, int *dat, int datlen); - -EVP_PKEY *EVP_PKEY_new_mac_key(int type, ENGINE *e, - const unsigned char *key, int keylen); - -void EVP_PKEY_CTX_set_data(EVP_PKEY_CTX *ctx, void *data); -void *EVP_PKEY_CTX_get_data(EVP_PKEY_CTX *ctx); -EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx); - -EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx); - -void EVP_PKEY_CTX_set_app_data(EVP_PKEY_CTX *ctx, void *data); -void *EVP_PKEY_CTX_get_app_data(EVP_PKEY_CTX *ctx); - -int EVP_PKEY_sign_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_sign(EVP_PKEY_CTX *ctx, - unsigned char *sig, size_t *siglen, - const unsigned char *tbs, size_t tbslen); -int EVP_PKEY_verify_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_verify(EVP_PKEY_CTX *ctx, - const unsigned char *sig, size_t siglen, - const unsigned char *tbs, size_t tbslen); -int EVP_PKEY_verify_recover_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_verify_recover(EVP_PKEY_CTX *ctx, - unsigned char *rout, size_t *routlen, - const unsigned char *sig, size_t siglen); -int EVP_PKEY_encrypt_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_encrypt(EVP_PKEY_CTX *ctx, - unsigned char *out, size_t *outlen, - const unsigned char *in, size_t inlen); -int EVP_PKEY_decrypt_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_decrypt(EVP_PKEY_CTX *ctx, - unsigned char *out, size_t *outlen, - const unsigned char *in, size_t inlen); - -int EVP_PKEY_derive_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_derive_set_peer(EVP_PKEY_CTX *ctx, EVP_PKEY *peer); -int EVP_PKEY_derive(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); - -typedef int EVP_PKEY_gen_cb(EVP_PKEY_CTX *ctx); - -int EVP_PKEY_paramgen_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_paramgen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); -int EVP_PKEY_keygen_init(EVP_PKEY_CTX *ctx); -int EVP_PKEY_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY **ppkey); - -void EVP_PKEY_CTX_set_cb(EVP_PKEY_CTX *ctx, EVP_PKEY_gen_cb *cb); -EVP_PKEY_gen_cb *EVP_PKEY_CTX_get_cb(EVP_PKEY_CTX *ctx); - -int EVP_PKEY_CTX_get_keygen_info(EVP_PKEY_CTX *ctx, int idx); - -void EVP_PKEY_meth_set_init(EVP_PKEY_METHOD *pmeth, - int (*init)(EVP_PKEY_CTX *ctx)); - -void EVP_PKEY_meth_set_copy(EVP_PKEY_METHOD *pmeth, - int (*copy)(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src)); - -void EVP_PKEY_meth_set_cleanup(EVP_PKEY_METHOD *pmeth, - void (*cleanup)(EVP_PKEY_CTX *ctx)); - -void EVP_PKEY_meth_set_paramgen(EVP_PKEY_METHOD *pmeth, - int (*paramgen_init)(EVP_PKEY_CTX *ctx), - int (*paramgen)(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)); - -void EVP_PKEY_meth_set_keygen(EVP_PKEY_METHOD *pmeth, - int (*keygen_init)(EVP_PKEY_CTX *ctx), - int (*keygen)(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)); - -void EVP_PKEY_meth_set_sign(EVP_PKEY_METHOD *pmeth, - int (*sign_init)(EVP_PKEY_CTX *ctx), - int (*sign)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, - const unsigned char *tbs, size_t tbslen)); - -void EVP_PKEY_meth_set_verify(EVP_PKEY_METHOD *pmeth, - int (*verify_init)(EVP_PKEY_CTX *ctx), - int (*verify)(EVP_PKEY_CTX *ctx, const unsigned char *sig, size_t siglen, - const unsigned char *tbs, size_t tbslen)); - -void EVP_PKEY_meth_set_verify_recover(EVP_PKEY_METHOD *pmeth, - int (*verify_recover_init)(EVP_PKEY_CTX *ctx), - int (*verify_recover)(EVP_PKEY_CTX *ctx, - unsigned char *sig, size_t *siglen, - const unsigned char *tbs, size_t tbslen)); - -void EVP_PKEY_meth_set_signctx(EVP_PKEY_METHOD *pmeth, - int (*signctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), - int (*signctx)(EVP_PKEY_CTX *ctx, unsigned char *sig, size_t *siglen, - EVP_MD_CTX *mctx)); - -void EVP_PKEY_meth_set_verifyctx(EVP_PKEY_METHOD *pmeth, - int (*verifyctx_init)(EVP_PKEY_CTX *ctx, EVP_MD_CTX *mctx), - int (*verifyctx)(EVP_PKEY_CTX *ctx, const unsigned char *sig,int siglen, - EVP_MD_CTX *mctx)); - -void EVP_PKEY_meth_set_encrypt(EVP_PKEY_METHOD *pmeth, - int (*encrypt_init)(EVP_PKEY_CTX *ctx), - int (*encryptfn)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, - const unsigned char *in, size_t inlen)); - -void EVP_PKEY_meth_set_decrypt(EVP_PKEY_METHOD *pmeth, - int (*decrypt_init)(EVP_PKEY_CTX *ctx), - int (*decrypt)(EVP_PKEY_CTX *ctx, unsigned char *out, size_t *outlen, - const unsigned char *in, size_t inlen)); - -void EVP_PKEY_meth_set_derive(EVP_PKEY_METHOD *pmeth, - int (*derive_init)(EVP_PKEY_CTX *ctx), - int (*derive)(EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen)); - -void EVP_PKEY_meth_set_ctrl(EVP_PKEY_METHOD *pmeth, - int (*ctrl)(EVP_PKEY_CTX *ctx, int type, int p1, void *p2), - int (*ctrl_str)(EVP_PKEY_CTX *ctx, - const char *type, const char *value)); - -void EVP_add_alg_module(void); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_EVP_strings(void); - -/* Error codes for the EVP functions. */ - -/* Function codes. */ -#define EVP_F_AESNI_INIT_KEY 165 -#define EVP_F_AESNI_XTS_CIPHER 176 -#define EVP_F_AES_INIT_KEY 133 -#define EVP_F_AES_XTS 172 -#define EVP_F_AES_XTS_CIPHER 175 -#define EVP_F_ALG_MODULE_INIT 177 -#define EVP_F_CAMELLIA_INIT_KEY 159 -#define EVP_F_CMAC_INIT 173 -#define EVP_F_D2I_PKEY 100 -#define EVP_F_DO_SIGVER_INIT 161 -#define EVP_F_DSAPKEY2PKCS8 134 -#define EVP_F_DSA_PKEY2PKCS8 135 -#define EVP_F_ECDSA_PKEY2PKCS8 129 -#define EVP_F_ECKEY_PKEY2PKCS8 132 -#define EVP_F_EVP_CIPHERINIT_EX 123 -#define EVP_F_EVP_CIPHER_CTX_COPY 163 -#define EVP_F_EVP_CIPHER_CTX_CTRL 124 -#define EVP_F_EVP_CIPHER_CTX_SET_KEY_LENGTH 122 -#define EVP_F_EVP_DECRYPTFINAL_EX 101 -#define EVP_F_EVP_DIGESTINIT_EX 128 -#define EVP_F_EVP_ENCRYPTFINAL_EX 127 -#define EVP_F_EVP_MD_CTX_COPY_EX 110 -#define EVP_F_EVP_MD_SIZE 162 -#define EVP_F_EVP_OPENINIT 102 -#define EVP_F_EVP_PBE_ALG_ADD 115 -#define EVP_F_EVP_PBE_ALG_ADD_TYPE 160 -#define EVP_F_EVP_PBE_CIPHERINIT 116 -#define EVP_F_EVP_PKCS82PKEY 111 -#define EVP_F_EVP_PKCS82PKEY_BROKEN 136 -#define EVP_F_EVP_PKEY2PKCS8_BROKEN 113 -#define EVP_F_EVP_PKEY_COPY_PARAMETERS 103 -#define EVP_F_EVP_PKEY_CTX_CTRL 137 -#define EVP_F_EVP_PKEY_CTX_CTRL_STR 150 -#define EVP_F_EVP_PKEY_CTX_DUP 156 -#define EVP_F_EVP_PKEY_DECRYPT 104 -#define EVP_F_EVP_PKEY_DECRYPT_INIT 138 -#define EVP_F_EVP_PKEY_DECRYPT_OLD 151 -#define EVP_F_EVP_PKEY_DERIVE 153 -#define EVP_F_EVP_PKEY_DERIVE_INIT 154 -#define EVP_F_EVP_PKEY_DERIVE_SET_PEER 155 -#define EVP_F_EVP_PKEY_ENCRYPT 105 -#define EVP_F_EVP_PKEY_ENCRYPT_INIT 139 -#define EVP_F_EVP_PKEY_ENCRYPT_OLD 152 -#define EVP_F_EVP_PKEY_GET1_DH 119 -#define EVP_F_EVP_PKEY_GET1_DSA 120 -#define EVP_F_EVP_PKEY_GET1_ECDSA 130 -#define EVP_F_EVP_PKEY_GET1_EC_KEY 131 -#define EVP_F_EVP_PKEY_GET1_RSA 121 -#define EVP_F_EVP_PKEY_KEYGEN 146 -#define EVP_F_EVP_PKEY_KEYGEN_INIT 147 -#define EVP_F_EVP_PKEY_NEW 106 -#define EVP_F_EVP_PKEY_PARAMGEN 148 -#define EVP_F_EVP_PKEY_PARAMGEN_INIT 149 -#define EVP_F_EVP_PKEY_SIGN 140 -#define EVP_F_EVP_PKEY_SIGN_INIT 141 -#define EVP_F_EVP_PKEY_VERIFY 142 -#define EVP_F_EVP_PKEY_VERIFY_INIT 143 -#define EVP_F_EVP_PKEY_VERIFY_RECOVER 144 -#define EVP_F_EVP_PKEY_VERIFY_RECOVER_INIT 145 -#define EVP_F_EVP_RIJNDAEL 126 -#define EVP_F_EVP_SIGNFINAL 107 -#define EVP_F_EVP_VERIFYFINAL 108 -#define EVP_F_FIPS_CIPHERINIT 166 -#define EVP_F_FIPS_CIPHER_CTX_COPY 170 -#define EVP_F_FIPS_CIPHER_CTX_CTRL 167 -#define EVP_F_FIPS_CIPHER_CTX_SET_KEY_LENGTH 171 -#define EVP_F_FIPS_DIGESTINIT 168 -#define EVP_F_FIPS_MD_CTX_COPY 169 -#define EVP_F_HMAC_INIT_EX 174 -#define EVP_F_INT_CTX_NEW 157 -#define EVP_F_PKCS5_PBE_KEYIVGEN 117 -#define EVP_F_PKCS5_V2_PBE_KEYIVGEN 118 -#define EVP_F_PKCS5_V2_PBKDF2_KEYIVGEN 164 -#define EVP_F_PKCS8_SET_BROKEN 112 -#define EVP_F_PKEY_SET_TYPE 158 -#define EVP_F_RC2_MAGIC_TO_METH 109 -#define EVP_F_RC5_CTRL 125 - -/* Reason codes. */ -#define EVP_R_AES_IV_SETUP_FAILED 162 -#define EVP_R_AES_KEY_SETUP_FAILED 143 -#define EVP_R_ASN1_LIB 140 -#define EVP_R_BAD_BLOCK_LENGTH 136 -#define EVP_R_BAD_DECRYPT 100 -#define EVP_R_BAD_KEY_LENGTH 137 -#define EVP_R_BN_DECODE_ERROR 112 -#define EVP_R_BN_PUBKEY_ERROR 113 -#define EVP_R_BUFFER_TOO_SMALL 155 -#define EVP_R_CAMELLIA_KEY_SETUP_FAILED 157 -#define EVP_R_CIPHER_PARAMETER_ERROR 122 -#define EVP_R_COMMAND_NOT_SUPPORTED 147 -#define EVP_R_CTRL_NOT_IMPLEMENTED 132 -#define EVP_R_CTRL_OPERATION_NOT_IMPLEMENTED 133 -#define EVP_R_DATA_NOT_MULTIPLE_OF_BLOCK_LENGTH 138 -#define EVP_R_DECODE_ERROR 114 -#define EVP_R_DIFFERENT_KEY_TYPES 101 -#define EVP_R_DIFFERENT_PARAMETERS 153 -#define EVP_R_DISABLED_FOR_FIPS 163 -#define EVP_R_ENCODE_ERROR 115 -#define EVP_R_ERROR_LOADING_SECTION 165 -#define EVP_R_ERROR_SETTING_FIPS_MODE 166 -#define EVP_R_EVP_PBE_CIPHERINIT_ERROR 119 -#define EVP_R_EXPECTING_AN_RSA_KEY 127 -#define EVP_R_EXPECTING_A_DH_KEY 128 -#define EVP_R_EXPECTING_A_DSA_KEY 129 -#define EVP_R_EXPECTING_A_ECDSA_KEY 141 -#define EVP_R_EXPECTING_A_EC_KEY 142 -#define EVP_R_FIPS_MODE_NOT_SUPPORTED 167 -#define EVP_R_INITIALIZATION_ERROR 134 -#define EVP_R_INPUT_NOT_INITIALIZED 111 -#define EVP_R_INVALID_DIGEST 152 -#define EVP_R_INVALID_FIPS_MODE 168 -#define EVP_R_INVALID_KEY_LENGTH 130 -#define EVP_R_INVALID_OPERATION 148 -#define EVP_R_IV_TOO_LARGE 102 -#define EVP_R_KEYGEN_FAILURE 120 -#define EVP_R_MESSAGE_DIGEST_IS_NULL 159 -#define EVP_R_METHOD_NOT_SUPPORTED 144 -#define EVP_R_MISSING_PARAMETERS 103 -#define EVP_R_NO_CIPHER_SET 131 -#define EVP_R_NO_DEFAULT_DIGEST 158 -#define EVP_R_NO_DIGEST_SET 139 -#define EVP_R_NO_DSA_PARAMETERS 116 -#define EVP_R_NO_KEY_SET 154 -#define EVP_R_NO_OPERATION_SET 149 -#define EVP_R_NO_SIGN_FUNCTION_CONFIGURED 104 -#define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED 105 -#define EVP_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 150 -#define EVP_R_OPERATON_NOT_INITIALIZED 151 -#define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE 117 -#define EVP_R_PRIVATE_KEY_DECODE_ERROR 145 -#define EVP_R_PRIVATE_KEY_ENCODE_ERROR 146 -#define EVP_R_PUBLIC_KEY_NOT_RSA 106 -#define EVP_R_TOO_LARGE 164 -#define EVP_R_UNKNOWN_CIPHER 160 -#define EVP_R_UNKNOWN_DIGEST 161 -#define EVP_R_UNKNOWN_OPTION 169 -#define EVP_R_UNKNOWN_PBE_ALGORITHM 121 -#define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS 135 -#define EVP_R_UNSUPPORTED_ALGORITHM 156 -#define EVP_R_UNSUPPORTED_CIPHER 107 -#define EVP_R_UNSUPPORTED_KEYLENGTH 123 -#define EVP_R_UNSUPPORTED_KEY_DERIVATION_FUNCTION 124 -#define EVP_R_UNSUPPORTED_KEY_SIZE 108 -#define EVP_R_UNSUPPORTED_PRF 125 -#define EVP_R_UNSUPPORTED_PRIVATE_KEY_ALGORITHM 118 -#define EVP_R_UNSUPPORTED_SALT_TYPE 126 -#define EVP_R_WRONG_FINAL_BLOCK_LENGTH 109 -#define EVP_R_WRONG_PUBLIC_KEY_TYPE 110 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/hmac.h b/ext/bin/libcrypto/include/openssl/hmac.h deleted file mode 100644 index 1be002219..000000000 --- a/ext/bin/libcrypto/include/openssl/hmac.h +++ /dev/null @@ -1,110 +0,0 @@ -/* crypto/hmac/hmac.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -#ifndef HEADER_HMAC_H -#define HEADER_HMAC_H - -#include - -#ifdef OPENSSL_NO_HMAC -#error HMAC is disabled. -#endif - -#include - -#define HMAC_MAX_MD_CBLOCK 128 /* largest known is SHA512 */ - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct hmac_ctx_st - { - const EVP_MD *md; - EVP_MD_CTX md_ctx; - EVP_MD_CTX i_ctx; - EVP_MD_CTX o_ctx; - unsigned int key_length; - unsigned char key[HMAC_MAX_MD_CBLOCK]; - } HMAC_CTX; - -#define HMAC_size(e) (EVP_MD_size((e)->md)) - - -void HMAC_CTX_init(HMAC_CTX *ctx); -void HMAC_CTX_cleanup(HMAC_CTX *ctx); - -#define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx) /* deprecated */ - -int HMAC_Init(HMAC_CTX *ctx, const void *key, int len, - const EVP_MD *md); /* deprecated */ -int HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, - const EVP_MD *md, ENGINE *impl); -int HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len); -int HMAC_Final(HMAC_CTX *ctx, unsigned char *md, unsigned int *len); -unsigned char *HMAC(const EVP_MD *evp_md, const void *key, int key_len, - const unsigned char *d, size_t n, unsigned char *md, - unsigned int *md_len); -int HMAC_CTX_copy(HMAC_CTX *dctx, HMAC_CTX *sctx); - -void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/idea.h b/ext/bin/libcrypto/include/openssl/idea.h deleted file mode 100644 index e9a1e7f1a..000000000 --- a/ext/bin/libcrypto/include/openssl/idea.h +++ /dev/null @@ -1,103 +0,0 @@ -/* crypto/idea/idea.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_IDEA_H -#define HEADER_IDEA_H - -#include /* IDEA_INT, OPENSSL_NO_IDEA */ - -#ifdef OPENSSL_NO_IDEA -#error IDEA is disabled. -#endif - -#define IDEA_ENCRYPT 1 -#define IDEA_DECRYPT 0 - -#define IDEA_BLOCK 8 -#define IDEA_KEY_LENGTH 16 - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct idea_key_st - { - IDEA_INT data[9][6]; - } IDEA_KEY_SCHEDULE; - -const char *idea_options(void); -void idea_ecb_encrypt(const unsigned char *in, unsigned char *out, - IDEA_KEY_SCHEDULE *ks); -#ifdef OPENSSL_FIPS -void private_idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); -#endif -void idea_set_encrypt_key(const unsigned char *key, IDEA_KEY_SCHEDULE *ks); -void idea_set_decrypt_key(IDEA_KEY_SCHEDULE *ek, IDEA_KEY_SCHEDULE *dk); -void idea_cbc_encrypt(const unsigned char *in, unsigned char *out, - long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv,int enc); -void idea_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, - int *num,int enc); -void idea_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, IDEA_KEY_SCHEDULE *ks, unsigned char *iv, int *num); -void idea_encrypt(unsigned long *in, IDEA_KEY_SCHEDULE *ks); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/krb5_asn.h b/ext/bin/libcrypto/include/openssl/krb5_asn.h deleted file mode 100644 index 41725d0dc..000000000 --- a/ext/bin/libcrypto/include/openssl/krb5_asn.h +++ /dev/null @@ -1,256 +0,0 @@ -/* krb5_asn.h */ -/* Written by Vern Staats for the OpenSSL project, -** using ocsp/{*.h,*asn*.c} as a starting point -*/ - -/* ==================================================================== - * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_KRB5_ASN_H -#define HEADER_KRB5_ASN_H - -/* -#include -*/ -#include - -#ifdef __cplusplus -extern "C" { -#endif - - -/* ASN.1 from Kerberos RFC 1510 -*/ - -/* EncryptedData ::= SEQUENCE { -** etype[0] INTEGER, -- EncryptionType -** kvno[1] INTEGER OPTIONAL, -** cipher[2] OCTET STRING -- ciphertext -** } -*/ -typedef struct krb5_encdata_st - { - ASN1_INTEGER *etype; - ASN1_INTEGER *kvno; - ASN1_OCTET_STRING *cipher; - } KRB5_ENCDATA; - -DECLARE_STACK_OF(KRB5_ENCDATA) - -/* PrincipalName ::= SEQUENCE { -** name-type[0] INTEGER, -** name-string[1] SEQUENCE OF GeneralString -** } -*/ -typedef struct krb5_princname_st - { - ASN1_INTEGER *nametype; - STACK_OF(ASN1_GENERALSTRING) *namestring; - } KRB5_PRINCNAME; - -DECLARE_STACK_OF(KRB5_PRINCNAME) - - -/* Ticket ::= [APPLICATION 1] SEQUENCE { -** tkt-vno[0] INTEGER, -** realm[1] Realm, -** sname[2] PrincipalName, -** enc-part[3] EncryptedData -** } -*/ -typedef struct krb5_tktbody_st - { - ASN1_INTEGER *tktvno; - ASN1_GENERALSTRING *realm; - KRB5_PRINCNAME *sname; - KRB5_ENCDATA *encdata; - } KRB5_TKTBODY; - -typedef STACK_OF(KRB5_TKTBODY) KRB5_TICKET; -DECLARE_STACK_OF(KRB5_TKTBODY) - - -/* AP-REQ ::= [APPLICATION 14] SEQUENCE { -** pvno[0] INTEGER, -** msg-type[1] INTEGER, -** ap-options[2] APOptions, -** ticket[3] Ticket, -** authenticator[4] EncryptedData -** } -** -** APOptions ::= BIT STRING { -** reserved(0), use-session-key(1), mutual-required(2) } -*/ -typedef struct krb5_ap_req_st - { - ASN1_INTEGER *pvno; - ASN1_INTEGER *msgtype; - ASN1_BIT_STRING *apoptions; - KRB5_TICKET *ticket; - KRB5_ENCDATA *authenticator; - } KRB5_APREQBODY; - -typedef STACK_OF(KRB5_APREQBODY) KRB5_APREQ; -DECLARE_STACK_OF(KRB5_APREQBODY) - - -/* Authenticator Stuff */ - - -/* Checksum ::= SEQUENCE { -** cksumtype[0] INTEGER, -** checksum[1] OCTET STRING -** } -*/ -typedef struct krb5_checksum_st - { - ASN1_INTEGER *ctype; - ASN1_OCTET_STRING *checksum; - } KRB5_CHECKSUM; - -DECLARE_STACK_OF(KRB5_CHECKSUM) - - -/* EncryptionKey ::= SEQUENCE { -** keytype[0] INTEGER, -** keyvalue[1] OCTET STRING -** } -*/ -typedef struct krb5_encryptionkey_st - { - ASN1_INTEGER *ktype; - ASN1_OCTET_STRING *keyvalue; - } KRB5_ENCKEY; - -DECLARE_STACK_OF(KRB5_ENCKEY) - - -/* AuthorizationData ::= SEQUENCE OF SEQUENCE { -** ad-type[0] INTEGER, -** ad-data[1] OCTET STRING -** } -*/ -typedef struct krb5_authorization_st - { - ASN1_INTEGER *adtype; - ASN1_OCTET_STRING *addata; - } KRB5_AUTHDATA; - -DECLARE_STACK_OF(KRB5_AUTHDATA) - - -/* -- Unencrypted authenticator -** Authenticator ::= [APPLICATION 2] SEQUENCE { -** authenticator-vno[0] INTEGER, -** crealm[1] Realm, -** cname[2] PrincipalName, -** cksum[3] Checksum OPTIONAL, -** cusec[4] INTEGER, -** ctime[5] KerberosTime, -** subkey[6] EncryptionKey OPTIONAL, -** seq-number[7] INTEGER OPTIONAL, -** authorization-data[8] AuthorizationData OPTIONAL -** } -*/ -typedef struct krb5_authenticator_st - { - ASN1_INTEGER *avno; - ASN1_GENERALSTRING *crealm; - KRB5_PRINCNAME *cname; - KRB5_CHECKSUM *cksum; - ASN1_INTEGER *cusec; - ASN1_GENERALIZEDTIME *ctime; - KRB5_ENCKEY *subkey; - ASN1_INTEGER *seqnum; - KRB5_AUTHDATA *authorization; - } KRB5_AUTHENTBODY; - -typedef STACK_OF(KRB5_AUTHENTBODY) KRB5_AUTHENT; -DECLARE_STACK_OF(KRB5_AUTHENTBODY) - - -/* DECLARE_ASN1_FUNCTIONS(type) = DECLARE_ASN1_FUNCTIONS_name(type, type) = -** type *name##_new(void); -** void name##_free(type *a); -** DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name) = -** DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) = -** type *d2i_##name(type **a, const unsigned char **in, long len); -** int i2d_##name(type *a, unsigned char **out); -** DECLARE_ASN1_ITEM(itname) = OPENSSL_EXTERN const ASN1_ITEM itname##_it -*/ - -DECLARE_ASN1_FUNCTIONS(KRB5_ENCDATA) -DECLARE_ASN1_FUNCTIONS(KRB5_PRINCNAME) -DECLARE_ASN1_FUNCTIONS(KRB5_TKTBODY) -DECLARE_ASN1_FUNCTIONS(KRB5_APREQBODY) -DECLARE_ASN1_FUNCTIONS(KRB5_TICKET) -DECLARE_ASN1_FUNCTIONS(KRB5_APREQ) - -DECLARE_ASN1_FUNCTIONS(KRB5_CHECKSUM) -DECLARE_ASN1_FUNCTIONS(KRB5_ENCKEY) -DECLARE_ASN1_FUNCTIONS(KRB5_AUTHDATA) -DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENTBODY) -DECLARE_ASN1_FUNCTIONS(KRB5_AUTHENT) - - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ - -#ifdef __cplusplus -} -#endif -#endif - diff --git a/ext/bin/libcrypto/include/openssl/kssl.h b/ext/bin/libcrypto/include/openssl/kssl.h deleted file mode 100644 index 8242fd5ee..000000000 --- a/ext/bin/libcrypto/include/openssl/kssl.h +++ /dev/null @@ -1,183 +0,0 @@ -/* ssl/kssl.h -*- mode: C; c-file-style: "eay" -*- */ -/* Written by Vern Staats for the OpenSSL project 2000. - * project 2000. - */ -/* ==================================================================== - * Copyright (c) 2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -/* -** 19990701 VRS Started. -*/ - -#ifndef KSSL_H -#define KSSL_H - -#include - -#ifndef OPENSSL_NO_KRB5 - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* -** Depending on which KRB5 implementation used, some types from -** the other may be missing. Resolve that here and now -*/ -#ifdef KRB5_HEIMDAL -typedef unsigned char krb5_octet; -#define FAR -#else - -#ifndef FAR -#define FAR -#endif - -#endif - -/* Uncomment this to debug kssl problems or -** to trace usage of the Kerberos session key -** -** #define KSSL_DEBUG -*/ - -#ifndef KRB5SVC -#define KRB5SVC "host" -#endif - -#ifndef KRB5KEYTAB -#define KRB5KEYTAB "/etc/krb5.keytab" -#endif - -#ifndef KRB5SENDAUTH -#define KRB5SENDAUTH 1 -#endif - -#ifndef KRB5CHECKAUTH -#define KRB5CHECKAUTH 1 -#endif - -#ifndef KSSL_CLOCKSKEW -#define KSSL_CLOCKSKEW 300; -#endif - -#define KSSL_ERR_MAX 255 -typedef struct kssl_err_st { - int reason; - char text[KSSL_ERR_MAX+1]; - } KSSL_ERR; - - -/* Context for passing -** (1) Kerberos session key to SSL, and -** (2) Config data between application and SSL lib -*/ -typedef struct kssl_ctx_st - { - /* used by: disposition: */ - char *service_name; /* C,S default ok (kssl) */ - char *service_host; /* C input, REQUIRED */ - char *client_princ; /* S output from krb5 ticket */ - char *keytab_file; /* S NULL (/etc/krb5.keytab) */ - char *cred_cache; /* C NULL (default) */ - krb5_enctype enctype; - int length; - krb5_octet FAR *key; - } KSSL_CTX; - -#define KSSL_CLIENT 1 -#define KSSL_SERVER 2 -#define KSSL_SERVICE 3 -#define KSSL_KEYTAB 4 - -#define KSSL_CTX_OK 0 -#define KSSL_CTX_ERR 1 -#define KSSL_NOMEM 2 - -/* Public (for use by applications that use OpenSSL with Kerberos 5 support */ -krb5_error_code kssl_ctx_setstring(KSSL_CTX *kssl_ctx, int which, char *text); -KSSL_CTX *kssl_ctx_new(void); -KSSL_CTX *kssl_ctx_free(KSSL_CTX *kssl_ctx); -void kssl_ctx_show(KSSL_CTX *kssl_ctx); -krb5_error_code kssl_ctx_setprinc(KSSL_CTX *kssl_ctx, int which, - krb5_data *realm, krb5_data *entity, int nentities); -krb5_error_code kssl_cget_tkt(KSSL_CTX *kssl_ctx, krb5_data **enc_tktp, - krb5_data *authenp, KSSL_ERR *kssl_err); -krb5_error_code kssl_sget_tkt(KSSL_CTX *kssl_ctx, krb5_data *indata, - krb5_ticket_times *ttimes, KSSL_ERR *kssl_err); -krb5_error_code kssl_ctx_setkey(KSSL_CTX *kssl_ctx, krb5_keyblock *session); -void kssl_err_set(KSSL_ERR *kssl_err, int reason, char *text); -void kssl_krb5_free_data_contents(krb5_context context, krb5_data *data); -krb5_error_code kssl_build_principal_2(krb5_context context, - krb5_principal *princ, int rlen, const char *realm, - int slen, const char *svc, int hlen, const char *host); -krb5_error_code kssl_validate_times(krb5_timestamp atime, - krb5_ticket_times *ttimes); -krb5_error_code kssl_check_authent(KSSL_CTX *kssl_ctx, krb5_data *authentp, - krb5_timestamp *atimep, KSSL_ERR *kssl_err); -unsigned char *kssl_skip_confound(krb5_enctype enctype, unsigned char *authn); - -void SSL_set0_kssl_ctx(SSL *s, KSSL_CTX *kctx); -KSSL_CTX * SSL_get0_kssl_ctx(SSL *s); -char *kssl_ctx_get0_client_princ(KSSL_CTX *kctx); - -#ifdef __cplusplus -} -#endif -#endif /* OPENSSL_NO_KRB5 */ -#endif /* KSSL_H */ diff --git a/ext/bin/libcrypto/include/openssl/lhash.h b/ext/bin/libcrypto/include/openssl/lhash.h deleted file mode 100644 index e7d876359..000000000 --- a/ext/bin/libcrypto/include/openssl/lhash.h +++ /dev/null @@ -1,241 +0,0 @@ -/* crypto/lhash/lhash.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -/* Header for dynamic hash table routines - * Author - Eric Young - */ - -#ifndef HEADER_LHASH_H -#define HEADER_LHASH_H - -#include -#ifndef OPENSSL_NO_FP_API -#include -#endif - -#ifndef OPENSSL_NO_BIO -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct lhash_node_st - { - void *data; - struct lhash_node_st *next; -#ifndef OPENSSL_NO_HASH_COMP - unsigned long hash; -#endif - } LHASH_NODE; - -typedef int (*LHASH_COMP_FN_TYPE)(const void *, const void *); -typedef unsigned long (*LHASH_HASH_FN_TYPE)(const void *); -typedef void (*LHASH_DOALL_FN_TYPE)(void *); -typedef void (*LHASH_DOALL_ARG_FN_TYPE)(void *, void *); - -/* Macros for declaring and implementing type-safe wrappers for LHASH callbacks. - * This way, callbacks can be provided to LHASH structures without function - * pointer casting and the macro-defined callbacks provide per-variable casting - * before deferring to the underlying type-specific callbacks. NB: It is - * possible to place a "static" in front of both the DECLARE and IMPLEMENT - * macros if the functions are strictly internal. */ - -/* First: "hash" functions */ -#define DECLARE_LHASH_HASH_FN(name, o_type) \ - unsigned long name##_LHASH_HASH(const void *); -#define IMPLEMENT_LHASH_HASH_FN(name, o_type) \ - unsigned long name##_LHASH_HASH(const void *arg) { \ - const o_type *a = arg; \ - return name##_hash(a); } -#define LHASH_HASH_FN(name) name##_LHASH_HASH - -/* Second: "compare" functions */ -#define DECLARE_LHASH_COMP_FN(name, o_type) \ - int name##_LHASH_COMP(const void *, const void *); -#define IMPLEMENT_LHASH_COMP_FN(name, o_type) \ - int name##_LHASH_COMP(const void *arg1, const void *arg2) { \ - const o_type *a = arg1; \ - const o_type *b = arg2; \ - return name##_cmp(a,b); } -#define LHASH_COMP_FN(name) name##_LHASH_COMP - -/* Third: "doall" functions */ -#define DECLARE_LHASH_DOALL_FN(name, o_type) \ - void name##_LHASH_DOALL(void *); -#define IMPLEMENT_LHASH_DOALL_FN(name, o_type) \ - void name##_LHASH_DOALL(void *arg) { \ - o_type *a = arg; \ - name##_doall(a); } -#define LHASH_DOALL_FN(name) name##_LHASH_DOALL - -/* Fourth: "doall_arg" functions */ -#define DECLARE_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ - void name##_LHASH_DOALL_ARG(void *, void *); -#define IMPLEMENT_LHASH_DOALL_ARG_FN(name, o_type, a_type) \ - void name##_LHASH_DOALL_ARG(void *arg1, void *arg2) { \ - o_type *a = arg1; \ - a_type *b = arg2; \ - name##_doall_arg(a, b); } -#define LHASH_DOALL_ARG_FN(name) name##_LHASH_DOALL_ARG - -typedef struct lhash_st - { - LHASH_NODE **b; - LHASH_COMP_FN_TYPE comp; - LHASH_HASH_FN_TYPE hash; - unsigned int num_nodes; - unsigned int num_alloc_nodes; - unsigned int p; - unsigned int pmax; - unsigned long up_load; /* load times 256 */ - unsigned long down_load; /* load times 256 */ - unsigned long num_items; - - unsigned long num_expands; - unsigned long num_expand_reallocs; - unsigned long num_contracts; - unsigned long num_contract_reallocs; - unsigned long num_hash_calls; - unsigned long num_comp_calls; - unsigned long num_insert; - unsigned long num_replace; - unsigned long num_delete; - unsigned long num_no_delete; - unsigned long num_retrieve; - unsigned long num_retrieve_miss; - unsigned long num_hash_comps; - - int error; - } _LHASH; /* Do not use _LHASH directly, use LHASH_OF - * and friends */ - -#define LH_LOAD_MULT 256 - -/* Indicates a malloc() error in the last call, this is only bad - * in lh_insert(). */ -#define lh_error(lh) ((lh)->error) - -_LHASH *lh_new(LHASH_HASH_FN_TYPE h, LHASH_COMP_FN_TYPE c); -void lh_free(_LHASH *lh); -void *lh_insert(_LHASH *lh, void *data); -void *lh_delete(_LHASH *lh, const void *data); -void *lh_retrieve(_LHASH *lh, const void *data); -void lh_doall(_LHASH *lh, LHASH_DOALL_FN_TYPE func); -void lh_doall_arg(_LHASH *lh, LHASH_DOALL_ARG_FN_TYPE func, void *arg); -unsigned long lh_strhash(const char *c); -unsigned long lh_num_items(const _LHASH *lh); - -#ifndef OPENSSL_NO_FP_API -void lh_stats(const _LHASH *lh, FILE *out); -void lh_node_stats(const _LHASH *lh, FILE *out); -void lh_node_usage_stats(const _LHASH *lh, FILE *out); -#endif - -#ifndef OPENSSL_NO_BIO -void lh_stats_bio(const _LHASH *lh, BIO *out); -void lh_node_stats_bio(const _LHASH *lh, BIO *out); -void lh_node_usage_stats_bio(const _LHASH *lh, BIO *out); -#endif - -/* Type checking... */ - -#define LHASH_OF(type) struct lhash_st_##type - -#define DECLARE_LHASH_OF(type) LHASH_OF(type) { int dummy; } - -#define CHECKED_LHASH_OF(type,lh) \ - ((_LHASH *)CHECKED_PTR_OF(LHASH_OF(type),lh)) - -/* Define wrapper functions. */ -#define LHM_lh_new(type, name) \ - ((LHASH_OF(type) *)lh_new(LHASH_HASH_FN(name), LHASH_COMP_FN(name))) -#define LHM_lh_error(type, lh) \ - lh_error(CHECKED_LHASH_OF(type,lh)) -#define LHM_lh_insert(type, lh, inst) \ - ((type *)lh_insert(CHECKED_LHASH_OF(type, lh), \ - CHECKED_PTR_OF(type, inst))) -#define LHM_lh_retrieve(type, lh, inst) \ - ((type *)lh_retrieve(CHECKED_LHASH_OF(type, lh), \ - CHECKED_PTR_OF(type, inst))) -#define LHM_lh_delete(type, lh, inst) \ - ((type *)lh_delete(CHECKED_LHASH_OF(type, lh), \ - CHECKED_PTR_OF(type, inst))) -#define LHM_lh_doall(type, lh,fn) lh_doall(CHECKED_LHASH_OF(type, lh), fn) -#define LHM_lh_doall_arg(type, lh, fn, arg_type, arg) \ - lh_doall_arg(CHECKED_LHASH_OF(type, lh), fn, CHECKED_PTR_OF(arg_type, arg)) -#define LHM_lh_num_items(type, lh) lh_num_items(CHECKED_LHASH_OF(type, lh)) -#define LHM_lh_down_load(type, lh) (CHECKED_LHASH_OF(type, lh)->down_load) -#define LHM_lh_node_stats_bio(type, lh, out) \ - lh_node_stats_bio(CHECKED_LHASH_OF(type, lh), out) -#define LHM_lh_node_usage_stats_bio(type, lh, out) \ - lh_node_usage_stats_bio(CHECKED_LHASH_OF(type, lh), out) -#define LHM_lh_stats_bio(type, lh, out) \ - lh_stats_bio(CHECKED_LHASH_OF(type, lh), out) -#define LHM_lh_free(type, lh) lh_free(CHECKED_LHASH_OF(type, lh)) - -DECLARE_LHASH_OF(OPENSSL_STRING); -DECLARE_LHASH_OF(OPENSSL_CSTRING); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/ext/bin/libcrypto/include/openssl/md4.h b/ext/bin/libcrypto/include/openssl/md4.h deleted file mode 100644 index a55368a79..000000000 --- a/ext/bin/libcrypto/include/openssl/md4.h +++ /dev/null @@ -1,120 +0,0 @@ -/* crypto/md4/md4.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_MD4_H -#define HEADER_MD4_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_NO_MD4 -#error MD4 is disabled. -#endif - -/* - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! MD4_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! MD4_LONG_LOG2 has to be defined along. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -#if defined(__LP32__) -#define MD4_LONG unsigned long -#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -#define MD4_LONG unsigned long -#define MD4_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -#else -#define MD4_LONG unsigned int -#endif - -#define MD4_CBLOCK 64 -#define MD4_LBLOCK (MD4_CBLOCK/4) -#define MD4_DIGEST_LENGTH 16 - -typedef struct MD4state_st - { - MD4_LONG A,B,C,D; - MD4_LONG Nl,Nh; - MD4_LONG data[MD4_LBLOCK]; - unsigned int num; - } MD4_CTX; - -#ifdef OPENSSL_FIPS -int private_MD4_Init(MD4_CTX *c); -#endif -int MD4_Init(MD4_CTX *c); -int MD4_Update(MD4_CTX *c, const void *data, size_t len); -int MD4_Final(unsigned char *md, MD4_CTX *c); -unsigned char *MD4(const unsigned char *d, size_t n, unsigned char *md); -void MD4_Transform(MD4_CTX *c, const unsigned char *b); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/md5.h b/ext/bin/libcrypto/include/openssl/md5.h deleted file mode 100644 index 541cc925f..000000000 --- a/ext/bin/libcrypto/include/openssl/md5.h +++ /dev/null @@ -1,120 +0,0 @@ -/* crypto/md5/md5.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_MD5_H -#define HEADER_MD5_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_NO_MD5 -#error MD5 is disabled. -#endif - -/* - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! MD5_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! MD5_LONG_LOG2 has to be defined along. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -#if defined(__LP32__) -#define MD5_LONG unsigned long -#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -#define MD5_LONG unsigned long -#define MD5_LONG_LOG2 3 -/* - * _CRAY note. I could declare short, but I have no idea what impact - * does it have on performance on none-T3E machines. I could declare - * int, but at least on C90 sizeof(int) can be chosen at compile time. - * So I've chosen long... - * - */ -#else -#define MD5_LONG unsigned int -#endif - -#define MD5_CBLOCK 64 -#define MD5_LBLOCK (MD5_CBLOCK/4) -#define MD5_DIGEST_LENGTH 16 - -typedef struct MD5state_st - { - MD5_LONG A,B,C,D; - MD5_LONG Nl,Nh; - MD5_LONG data[MD5_LBLOCK]; - unsigned int num; - } MD5_CTX; - -#ifdef OPENSSL_FIPS -int private_MD5_Init(MD5_CTX *c); -#endif -int MD5_Init(MD5_CTX *c); -int MD5_Update(MD5_CTX *c, const void *data, size_t len); -int MD5_Final(unsigned char *md, MD5_CTX *c); -unsigned char *MD5(const unsigned char *d, size_t n, unsigned char *md); -void MD5_Transform(MD5_CTX *c, const unsigned char *b); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/mdc2.h b/ext/bin/libcrypto/include/openssl/mdc2.h deleted file mode 100644 index f3e8e579d..000000000 --- a/ext/bin/libcrypto/include/openssl/mdc2.h +++ /dev/null @@ -1,98 +0,0 @@ -/* crypto/mdc2/mdc2.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_MDC2_H -#define HEADER_MDC2_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_NO_MDC2 -#error MDC2 is disabled. -#endif - -#define MDC2_BLOCK 8 -#define MDC2_DIGEST_LENGTH 16 - -typedef struct mdc2_ctx_st - { - unsigned int num; - unsigned char data[MDC2_BLOCK]; - DES_cblock h,hh; - int pad_type; /* either 1 or 2, default 1 */ - } MDC2_CTX; - - -#ifdef OPENSSL_FIPS -int private_MDC2_Init(MDC2_CTX *c); -#endif -int MDC2_Init(MDC2_CTX *c); -int MDC2_Update(MDC2_CTX *c, const unsigned char *data, size_t len); -int MDC2_Final(unsigned char *md, MDC2_CTX *c); -unsigned char *MDC2(const unsigned char *d, size_t n, - unsigned char *md); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/ext/bin/libcrypto/include/openssl/modes.h b/ext/bin/libcrypto/include/openssl/modes.h deleted file mode 100644 index f18215bb2..000000000 --- a/ext/bin/libcrypto/include/openssl/modes.h +++ /dev/null @@ -1,135 +0,0 @@ -/* ==================================================================== - * Copyright (c) 2008 The OpenSSL Project. All rights reserved. - * - * Rights for redistribution and usage in source and binary - * forms are granted according to the OpenSSL license. - */ - -#include - -typedef void (*block128_f)(const unsigned char in[16], - unsigned char out[16], - const void *key); - -typedef void (*cbc128_f)(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], int enc); - -typedef void (*ctr128_f)(const unsigned char *in, unsigned char *out, - size_t blocks, const void *key, - const unsigned char ivec[16]); - -typedef void (*ccm128_f)(const unsigned char *in, unsigned char *out, - size_t blocks, const void *key, - const unsigned char ivec[16],unsigned char cmac[16]); - -void CRYPTO_cbc128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], block128_f block); -void CRYPTO_cbc128_decrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], block128_f block); - -void CRYPTO_ctr128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], unsigned char ecount_buf[16], - unsigned int *num, block128_f block); - -void CRYPTO_ctr128_encrypt_ctr32(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], unsigned char ecount_buf[16], - unsigned int *num, ctr128_f ctr); - -void CRYPTO_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], int *num, - block128_f block); - -void CRYPTO_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], int *num, - int enc, block128_f block); -void CRYPTO_cfb128_8_encrypt(const unsigned char *in, unsigned char *out, - size_t length, const void *key, - unsigned char ivec[16], int *num, - int enc, block128_f block); -void CRYPTO_cfb128_1_encrypt(const unsigned char *in, unsigned char *out, - size_t bits, const void *key, - unsigned char ivec[16], int *num, - int enc, block128_f block); - -size_t CRYPTO_cts128_encrypt_block(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], block128_f block); -size_t CRYPTO_cts128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); -size_t CRYPTO_cts128_decrypt_block(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], block128_f block); -size_t CRYPTO_cts128_decrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); - -size_t CRYPTO_nistcts128_encrypt_block(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], block128_f block); -size_t CRYPTO_nistcts128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); -size_t CRYPTO_nistcts128_decrypt_block(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], block128_f block); -size_t CRYPTO_nistcts128_decrypt(const unsigned char *in, unsigned char *out, - size_t len, const void *key, - unsigned char ivec[16], cbc128_f cbc); - -typedef struct gcm128_context GCM128_CONTEXT; - -GCM128_CONTEXT *CRYPTO_gcm128_new(void *key, block128_f block); -void CRYPTO_gcm128_init(GCM128_CONTEXT *ctx,void *key,block128_f block); -void CRYPTO_gcm128_setiv(GCM128_CONTEXT *ctx, const unsigned char *iv, - size_t len); -int CRYPTO_gcm128_aad(GCM128_CONTEXT *ctx, const unsigned char *aad, - size_t len); -int CRYPTO_gcm128_encrypt(GCM128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len); -int CRYPTO_gcm128_decrypt(GCM128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len); -int CRYPTO_gcm128_encrypt_ctr32(GCM128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len, ctr128_f stream); -int CRYPTO_gcm128_decrypt_ctr32(GCM128_CONTEXT *ctx, - const unsigned char *in, unsigned char *out, - size_t len, ctr128_f stream); -int CRYPTO_gcm128_finish(GCM128_CONTEXT *ctx,const unsigned char *tag, - size_t len); -void CRYPTO_gcm128_tag(GCM128_CONTEXT *ctx, unsigned char *tag, size_t len); -void CRYPTO_gcm128_release(GCM128_CONTEXT *ctx); - -typedef struct ccm128_context CCM128_CONTEXT; - -void CRYPTO_ccm128_init(CCM128_CONTEXT *ctx, - unsigned int M, unsigned int L, void *key,block128_f block); -int CRYPTO_ccm128_setiv(CCM128_CONTEXT *ctx, - const unsigned char *nonce, size_t nlen, size_t mlen); -void CRYPTO_ccm128_aad(CCM128_CONTEXT *ctx, - const unsigned char *aad, size_t alen); -int CRYPTO_ccm128_encrypt(CCM128_CONTEXT *ctx, - const unsigned char *inp, unsigned char *out, size_t len); -int CRYPTO_ccm128_decrypt(CCM128_CONTEXT *ctx, - const unsigned char *inp, unsigned char *out, size_t len); -int CRYPTO_ccm128_encrypt_ccm64(CCM128_CONTEXT *ctx, - const unsigned char *inp, unsigned char *out, size_t len, - ccm128_f stream); -int CRYPTO_ccm128_decrypt_ccm64(CCM128_CONTEXT *ctx, - const unsigned char *inp, unsigned char *out, size_t len, - ccm128_f stream); -size_t CRYPTO_ccm128_tag(CCM128_CONTEXT *ctx, unsigned char *tag, size_t len); - -typedef struct xts128_context XTS128_CONTEXT; - -int CRYPTO_xts128_encrypt(const XTS128_CONTEXT *ctx, const unsigned char iv[16], - const unsigned char *inp, unsigned char *out, size_t len, int enc); diff --git a/ext/bin/libcrypto/include/openssl/obj_mac.h b/ext/bin/libcrypto/include/openssl/obj_mac.h deleted file mode 100644 index b5ea7cdab..000000000 --- a/ext/bin/libcrypto/include/openssl/obj_mac.h +++ /dev/null @@ -1,4032 +0,0 @@ -/* crypto/objects/obj_mac.h */ - -/* THIS FILE IS GENERATED FROM objects.txt by objects.pl via the - * following command: - * perl objects.pl objects.txt obj_mac.num obj_mac.h - */ - -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#define SN_undef "UNDEF" -#define LN_undef "undefined" -#define NID_undef 0 -#define OBJ_undef 0L - -#define SN_itu_t "ITU-T" -#define LN_itu_t "itu-t" -#define NID_itu_t 645 -#define OBJ_itu_t 0L - -#define NID_ccitt 404 -#define OBJ_ccitt OBJ_itu_t - -#define SN_iso "ISO" -#define LN_iso "iso" -#define NID_iso 181 -#define OBJ_iso 1L - -#define SN_joint_iso_itu_t "JOINT-ISO-ITU-T" -#define LN_joint_iso_itu_t "joint-iso-itu-t" -#define NID_joint_iso_itu_t 646 -#define OBJ_joint_iso_itu_t 2L - -#define NID_joint_iso_ccitt 393 -#define OBJ_joint_iso_ccitt OBJ_joint_iso_itu_t - -#define SN_member_body "member-body" -#define LN_member_body "ISO Member Body" -#define NID_member_body 182 -#define OBJ_member_body OBJ_iso,2L - -#define SN_identified_organization "identified-organization" -#define NID_identified_organization 676 -#define OBJ_identified_organization OBJ_iso,3L - -#define SN_hmac_md5 "HMAC-MD5" -#define LN_hmac_md5 "hmac-md5" -#define NID_hmac_md5 780 -#define OBJ_hmac_md5 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,1L - -#define SN_hmac_sha1 "HMAC-SHA1" -#define LN_hmac_sha1 "hmac-sha1" -#define NID_hmac_sha1 781 -#define OBJ_hmac_sha1 OBJ_identified_organization,6L,1L,5L,5L,8L,1L,2L - -#define SN_certicom_arc "certicom-arc" -#define NID_certicom_arc 677 -#define OBJ_certicom_arc OBJ_identified_organization,132L - -#define SN_international_organizations "international-organizations" -#define LN_international_organizations "International Organizations" -#define NID_international_organizations 647 -#define OBJ_international_organizations OBJ_joint_iso_itu_t,23L - -#define SN_wap "wap" -#define NID_wap 678 -#define OBJ_wap OBJ_international_organizations,43L - -#define SN_wap_wsg "wap-wsg" -#define NID_wap_wsg 679 -#define OBJ_wap_wsg OBJ_wap,1L - -#define SN_selected_attribute_types "selected-attribute-types" -#define LN_selected_attribute_types "Selected Attribute Types" -#define NID_selected_attribute_types 394 -#define OBJ_selected_attribute_types OBJ_joint_iso_itu_t,5L,1L,5L - -#define SN_clearance "clearance" -#define NID_clearance 395 -#define OBJ_clearance OBJ_selected_attribute_types,55L - -#define SN_ISO_US "ISO-US" -#define LN_ISO_US "ISO US Member Body" -#define NID_ISO_US 183 -#define OBJ_ISO_US OBJ_member_body,840L - -#define SN_X9_57 "X9-57" -#define LN_X9_57 "X9.57" -#define NID_X9_57 184 -#define OBJ_X9_57 OBJ_ISO_US,10040L - -#define SN_X9cm "X9cm" -#define LN_X9cm "X9.57 CM ?" -#define NID_X9cm 185 -#define OBJ_X9cm OBJ_X9_57,4L - -#define SN_dsa "DSA" -#define LN_dsa "dsaEncryption" -#define NID_dsa 116 -#define OBJ_dsa OBJ_X9cm,1L - -#define SN_dsaWithSHA1 "DSA-SHA1" -#define LN_dsaWithSHA1 "dsaWithSHA1" -#define NID_dsaWithSHA1 113 -#define OBJ_dsaWithSHA1 OBJ_X9cm,3L - -#define SN_ansi_X9_62 "ansi-X9-62" -#define LN_ansi_X9_62 "ANSI X9.62" -#define NID_ansi_X9_62 405 -#define OBJ_ansi_X9_62 OBJ_ISO_US,10045L - -#define OBJ_X9_62_id_fieldType OBJ_ansi_X9_62,1L - -#define SN_X9_62_prime_field "prime-field" -#define NID_X9_62_prime_field 406 -#define OBJ_X9_62_prime_field OBJ_X9_62_id_fieldType,1L - -#define SN_X9_62_characteristic_two_field "characteristic-two-field" -#define NID_X9_62_characteristic_two_field 407 -#define OBJ_X9_62_characteristic_two_field OBJ_X9_62_id_fieldType,2L - -#define SN_X9_62_id_characteristic_two_basis "id-characteristic-two-basis" -#define NID_X9_62_id_characteristic_two_basis 680 -#define OBJ_X9_62_id_characteristic_two_basis OBJ_X9_62_characteristic_two_field,3L - -#define SN_X9_62_onBasis "onBasis" -#define NID_X9_62_onBasis 681 -#define OBJ_X9_62_onBasis OBJ_X9_62_id_characteristic_two_basis,1L - -#define SN_X9_62_tpBasis "tpBasis" -#define NID_X9_62_tpBasis 682 -#define OBJ_X9_62_tpBasis OBJ_X9_62_id_characteristic_two_basis,2L - -#define SN_X9_62_ppBasis "ppBasis" -#define NID_X9_62_ppBasis 683 -#define OBJ_X9_62_ppBasis OBJ_X9_62_id_characteristic_two_basis,3L - -#define OBJ_X9_62_id_publicKeyType OBJ_ansi_X9_62,2L - -#define SN_X9_62_id_ecPublicKey "id-ecPublicKey" -#define NID_X9_62_id_ecPublicKey 408 -#define OBJ_X9_62_id_ecPublicKey OBJ_X9_62_id_publicKeyType,1L - -#define OBJ_X9_62_ellipticCurve OBJ_ansi_X9_62,3L - -#define OBJ_X9_62_c_TwoCurve OBJ_X9_62_ellipticCurve,0L - -#define SN_X9_62_c2pnb163v1 "c2pnb163v1" -#define NID_X9_62_c2pnb163v1 684 -#define OBJ_X9_62_c2pnb163v1 OBJ_X9_62_c_TwoCurve,1L - -#define SN_X9_62_c2pnb163v2 "c2pnb163v2" -#define NID_X9_62_c2pnb163v2 685 -#define OBJ_X9_62_c2pnb163v2 OBJ_X9_62_c_TwoCurve,2L - -#define SN_X9_62_c2pnb163v3 "c2pnb163v3" -#define NID_X9_62_c2pnb163v3 686 -#define OBJ_X9_62_c2pnb163v3 OBJ_X9_62_c_TwoCurve,3L - -#define SN_X9_62_c2pnb176v1 "c2pnb176v1" -#define NID_X9_62_c2pnb176v1 687 -#define OBJ_X9_62_c2pnb176v1 OBJ_X9_62_c_TwoCurve,4L - -#define SN_X9_62_c2tnb191v1 "c2tnb191v1" -#define NID_X9_62_c2tnb191v1 688 -#define OBJ_X9_62_c2tnb191v1 OBJ_X9_62_c_TwoCurve,5L - -#define SN_X9_62_c2tnb191v2 "c2tnb191v2" -#define NID_X9_62_c2tnb191v2 689 -#define OBJ_X9_62_c2tnb191v2 OBJ_X9_62_c_TwoCurve,6L - -#define SN_X9_62_c2tnb191v3 "c2tnb191v3" -#define NID_X9_62_c2tnb191v3 690 -#define OBJ_X9_62_c2tnb191v3 OBJ_X9_62_c_TwoCurve,7L - -#define SN_X9_62_c2onb191v4 "c2onb191v4" -#define NID_X9_62_c2onb191v4 691 -#define OBJ_X9_62_c2onb191v4 OBJ_X9_62_c_TwoCurve,8L - -#define SN_X9_62_c2onb191v5 "c2onb191v5" -#define NID_X9_62_c2onb191v5 692 -#define OBJ_X9_62_c2onb191v5 OBJ_X9_62_c_TwoCurve,9L - -#define SN_X9_62_c2pnb208w1 "c2pnb208w1" -#define NID_X9_62_c2pnb208w1 693 -#define OBJ_X9_62_c2pnb208w1 OBJ_X9_62_c_TwoCurve,10L - -#define SN_X9_62_c2tnb239v1 "c2tnb239v1" -#define NID_X9_62_c2tnb239v1 694 -#define OBJ_X9_62_c2tnb239v1 OBJ_X9_62_c_TwoCurve,11L - -#define SN_X9_62_c2tnb239v2 "c2tnb239v2" -#define NID_X9_62_c2tnb239v2 695 -#define OBJ_X9_62_c2tnb239v2 OBJ_X9_62_c_TwoCurve,12L - -#define SN_X9_62_c2tnb239v3 "c2tnb239v3" -#define NID_X9_62_c2tnb239v3 696 -#define OBJ_X9_62_c2tnb239v3 OBJ_X9_62_c_TwoCurve,13L - -#define SN_X9_62_c2onb239v4 "c2onb239v4" -#define NID_X9_62_c2onb239v4 697 -#define OBJ_X9_62_c2onb239v4 OBJ_X9_62_c_TwoCurve,14L - -#define SN_X9_62_c2onb239v5 "c2onb239v5" -#define NID_X9_62_c2onb239v5 698 -#define OBJ_X9_62_c2onb239v5 OBJ_X9_62_c_TwoCurve,15L - -#define SN_X9_62_c2pnb272w1 "c2pnb272w1" -#define NID_X9_62_c2pnb272w1 699 -#define OBJ_X9_62_c2pnb272w1 OBJ_X9_62_c_TwoCurve,16L - -#define SN_X9_62_c2pnb304w1 "c2pnb304w1" -#define NID_X9_62_c2pnb304w1 700 -#define OBJ_X9_62_c2pnb304w1 OBJ_X9_62_c_TwoCurve,17L - -#define SN_X9_62_c2tnb359v1 "c2tnb359v1" -#define NID_X9_62_c2tnb359v1 701 -#define OBJ_X9_62_c2tnb359v1 OBJ_X9_62_c_TwoCurve,18L - -#define SN_X9_62_c2pnb368w1 "c2pnb368w1" -#define NID_X9_62_c2pnb368w1 702 -#define OBJ_X9_62_c2pnb368w1 OBJ_X9_62_c_TwoCurve,19L - -#define SN_X9_62_c2tnb431r1 "c2tnb431r1" -#define NID_X9_62_c2tnb431r1 703 -#define OBJ_X9_62_c2tnb431r1 OBJ_X9_62_c_TwoCurve,20L - -#define OBJ_X9_62_primeCurve OBJ_X9_62_ellipticCurve,1L - -#define SN_X9_62_prime192v1 "prime192v1" -#define NID_X9_62_prime192v1 409 -#define OBJ_X9_62_prime192v1 OBJ_X9_62_primeCurve,1L - -#define SN_X9_62_prime192v2 "prime192v2" -#define NID_X9_62_prime192v2 410 -#define OBJ_X9_62_prime192v2 OBJ_X9_62_primeCurve,2L - -#define SN_X9_62_prime192v3 "prime192v3" -#define NID_X9_62_prime192v3 411 -#define OBJ_X9_62_prime192v3 OBJ_X9_62_primeCurve,3L - -#define SN_X9_62_prime239v1 "prime239v1" -#define NID_X9_62_prime239v1 412 -#define OBJ_X9_62_prime239v1 OBJ_X9_62_primeCurve,4L - -#define SN_X9_62_prime239v2 "prime239v2" -#define NID_X9_62_prime239v2 413 -#define OBJ_X9_62_prime239v2 OBJ_X9_62_primeCurve,5L - -#define SN_X9_62_prime239v3 "prime239v3" -#define NID_X9_62_prime239v3 414 -#define OBJ_X9_62_prime239v3 OBJ_X9_62_primeCurve,6L - -#define SN_X9_62_prime256v1 "prime256v1" -#define NID_X9_62_prime256v1 415 -#define OBJ_X9_62_prime256v1 OBJ_X9_62_primeCurve,7L - -#define OBJ_X9_62_id_ecSigType OBJ_ansi_X9_62,4L - -#define SN_ecdsa_with_SHA1 "ecdsa-with-SHA1" -#define NID_ecdsa_with_SHA1 416 -#define OBJ_ecdsa_with_SHA1 OBJ_X9_62_id_ecSigType,1L - -#define SN_ecdsa_with_Recommended "ecdsa-with-Recommended" -#define NID_ecdsa_with_Recommended 791 -#define OBJ_ecdsa_with_Recommended OBJ_X9_62_id_ecSigType,2L - -#define SN_ecdsa_with_Specified "ecdsa-with-Specified" -#define NID_ecdsa_with_Specified 792 -#define OBJ_ecdsa_with_Specified OBJ_X9_62_id_ecSigType,3L - -#define SN_ecdsa_with_SHA224 "ecdsa-with-SHA224" -#define NID_ecdsa_with_SHA224 793 -#define OBJ_ecdsa_with_SHA224 OBJ_ecdsa_with_Specified,1L - -#define SN_ecdsa_with_SHA256 "ecdsa-with-SHA256" -#define NID_ecdsa_with_SHA256 794 -#define OBJ_ecdsa_with_SHA256 OBJ_ecdsa_with_Specified,2L - -#define SN_ecdsa_with_SHA384 "ecdsa-with-SHA384" -#define NID_ecdsa_with_SHA384 795 -#define OBJ_ecdsa_with_SHA384 OBJ_ecdsa_with_Specified,3L - -#define SN_ecdsa_with_SHA512 "ecdsa-with-SHA512" -#define NID_ecdsa_with_SHA512 796 -#define OBJ_ecdsa_with_SHA512 OBJ_ecdsa_with_Specified,4L - -#define OBJ_secg_ellipticCurve OBJ_certicom_arc,0L - -#define SN_secp112r1 "secp112r1" -#define NID_secp112r1 704 -#define OBJ_secp112r1 OBJ_secg_ellipticCurve,6L - -#define SN_secp112r2 "secp112r2" -#define NID_secp112r2 705 -#define OBJ_secp112r2 OBJ_secg_ellipticCurve,7L - -#define SN_secp128r1 "secp128r1" -#define NID_secp128r1 706 -#define OBJ_secp128r1 OBJ_secg_ellipticCurve,28L - -#define SN_secp128r2 "secp128r2" -#define NID_secp128r2 707 -#define OBJ_secp128r2 OBJ_secg_ellipticCurve,29L - -#define SN_secp160k1 "secp160k1" -#define NID_secp160k1 708 -#define OBJ_secp160k1 OBJ_secg_ellipticCurve,9L - -#define SN_secp160r1 "secp160r1" -#define NID_secp160r1 709 -#define OBJ_secp160r1 OBJ_secg_ellipticCurve,8L - -#define SN_secp160r2 "secp160r2" -#define NID_secp160r2 710 -#define OBJ_secp160r2 OBJ_secg_ellipticCurve,30L - -#define SN_secp192k1 "secp192k1" -#define NID_secp192k1 711 -#define OBJ_secp192k1 OBJ_secg_ellipticCurve,31L - -#define SN_secp224k1 "secp224k1" -#define NID_secp224k1 712 -#define OBJ_secp224k1 OBJ_secg_ellipticCurve,32L - -#define SN_secp224r1 "secp224r1" -#define NID_secp224r1 713 -#define OBJ_secp224r1 OBJ_secg_ellipticCurve,33L - -#define SN_secp256k1 "secp256k1" -#define NID_secp256k1 714 -#define OBJ_secp256k1 OBJ_secg_ellipticCurve,10L - -#define SN_secp384r1 "secp384r1" -#define NID_secp384r1 715 -#define OBJ_secp384r1 OBJ_secg_ellipticCurve,34L - -#define SN_secp521r1 "secp521r1" -#define NID_secp521r1 716 -#define OBJ_secp521r1 OBJ_secg_ellipticCurve,35L - -#define SN_sect113r1 "sect113r1" -#define NID_sect113r1 717 -#define OBJ_sect113r1 OBJ_secg_ellipticCurve,4L - -#define SN_sect113r2 "sect113r2" -#define NID_sect113r2 718 -#define OBJ_sect113r2 OBJ_secg_ellipticCurve,5L - -#define SN_sect131r1 "sect131r1" -#define NID_sect131r1 719 -#define OBJ_sect131r1 OBJ_secg_ellipticCurve,22L - -#define SN_sect131r2 "sect131r2" -#define NID_sect131r2 720 -#define OBJ_sect131r2 OBJ_secg_ellipticCurve,23L - -#define SN_sect163k1 "sect163k1" -#define NID_sect163k1 721 -#define OBJ_sect163k1 OBJ_secg_ellipticCurve,1L - -#define SN_sect163r1 "sect163r1" -#define NID_sect163r1 722 -#define OBJ_sect163r1 OBJ_secg_ellipticCurve,2L - -#define SN_sect163r2 "sect163r2" -#define NID_sect163r2 723 -#define OBJ_sect163r2 OBJ_secg_ellipticCurve,15L - -#define SN_sect193r1 "sect193r1" -#define NID_sect193r1 724 -#define OBJ_sect193r1 OBJ_secg_ellipticCurve,24L - -#define SN_sect193r2 "sect193r2" -#define NID_sect193r2 725 -#define OBJ_sect193r2 OBJ_secg_ellipticCurve,25L - -#define SN_sect233k1 "sect233k1" -#define NID_sect233k1 726 -#define OBJ_sect233k1 OBJ_secg_ellipticCurve,26L - -#define SN_sect233r1 "sect233r1" -#define NID_sect233r1 727 -#define OBJ_sect233r1 OBJ_secg_ellipticCurve,27L - -#define SN_sect239k1 "sect239k1" -#define NID_sect239k1 728 -#define OBJ_sect239k1 OBJ_secg_ellipticCurve,3L - -#define SN_sect283k1 "sect283k1" -#define NID_sect283k1 729 -#define OBJ_sect283k1 OBJ_secg_ellipticCurve,16L - -#define SN_sect283r1 "sect283r1" -#define NID_sect283r1 730 -#define OBJ_sect283r1 OBJ_secg_ellipticCurve,17L - -#define SN_sect409k1 "sect409k1" -#define NID_sect409k1 731 -#define OBJ_sect409k1 OBJ_secg_ellipticCurve,36L - -#define SN_sect409r1 "sect409r1" -#define NID_sect409r1 732 -#define OBJ_sect409r1 OBJ_secg_ellipticCurve,37L - -#define SN_sect571k1 "sect571k1" -#define NID_sect571k1 733 -#define OBJ_sect571k1 OBJ_secg_ellipticCurve,38L - -#define SN_sect571r1 "sect571r1" -#define NID_sect571r1 734 -#define OBJ_sect571r1 OBJ_secg_ellipticCurve,39L - -#define OBJ_wap_wsg_idm_ecid OBJ_wap_wsg,4L - -#define SN_wap_wsg_idm_ecid_wtls1 "wap-wsg-idm-ecid-wtls1" -#define NID_wap_wsg_idm_ecid_wtls1 735 -#define OBJ_wap_wsg_idm_ecid_wtls1 OBJ_wap_wsg_idm_ecid,1L - -#define SN_wap_wsg_idm_ecid_wtls3 "wap-wsg-idm-ecid-wtls3" -#define NID_wap_wsg_idm_ecid_wtls3 736 -#define OBJ_wap_wsg_idm_ecid_wtls3 OBJ_wap_wsg_idm_ecid,3L - -#define SN_wap_wsg_idm_ecid_wtls4 "wap-wsg-idm-ecid-wtls4" -#define NID_wap_wsg_idm_ecid_wtls4 737 -#define OBJ_wap_wsg_idm_ecid_wtls4 OBJ_wap_wsg_idm_ecid,4L - -#define SN_wap_wsg_idm_ecid_wtls5 "wap-wsg-idm-ecid-wtls5" -#define NID_wap_wsg_idm_ecid_wtls5 738 -#define OBJ_wap_wsg_idm_ecid_wtls5 OBJ_wap_wsg_idm_ecid,5L - -#define SN_wap_wsg_idm_ecid_wtls6 "wap-wsg-idm-ecid-wtls6" -#define NID_wap_wsg_idm_ecid_wtls6 739 -#define OBJ_wap_wsg_idm_ecid_wtls6 OBJ_wap_wsg_idm_ecid,6L - -#define SN_wap_wsg_idm_ecid_wtls7 "wap-wsg-idm-ecid-wtls7" -#define NID_wap_wsg_idm_ecid_wtls7 740 -#define OBJ_wap_wsg_idm_ecid_wtls7 OBJ_wap_wsg_idm_ecid,7L - -#define SN_wap_wsg_idm_ecid_wtls8 "wap-wsg-idm-ecid-wtls8" -#define NID_wap_wsg_idm_ecid_wtls8 741 -#define OBJ_wap_wsg_idm_ecid_wtls8 OBJ_wap_wsg_idm_ecid,8L - -#define SN_wap_wsg_idm_ecid_wtls9 "wap-wsg-idm-ecid-wtls9" -#define NID_wap_wsg_idm_ecid_wtls9 742 -#define OBJ_wap_wsg_idm_ecid_wtls9 OBJ_wap_wsg_idm_ecid,9L - -#define SN_wap_wsg_idm_ecid_wtls10 "wap-wsg-idm-ecid-wtls10" -#define NID_wap_wsg_idm_ecid_wtls10 743 -#define OBJ_wap_wsg_idm_ecid_wtls10 OBJ_wap_wsg_idm_ecid,10L - -#define SN_wap_wsg_idm_ecid_wtls11 "wap-wsg-idm-ecid-wtls11" -#define NID_wap_wsg_idm_ecid_wtls11 744 -#define OBJ_wap_wsg_idm_ecid_wtls11 OBJ_wap_wsg_idm_ecid,11L - -#define SN_wap_wsg_idm_ecid_wtls12 "wap-wsg-idm-ecid-wtls12" -#define NID_wap_wsg_idm_ecid_wtls12 745 -#define OBJ_wap_wsg_idm_ecid_wtls12 OBJ_wap_wsg_idm_ecid,12L - -#define SN_cast5_cbc "CAST5-CBC" -#define LN_cast5_cbc "cast5-cbc" -#define NID_cast5_cbc 108 -#define OBJ_cast5_cbc OBJ_ISO_US,113533L,7L,66L,10L - -#define SN_cast5_ecb "CAST5-ECB" -#define LN_cast5_ecb "cast5-ecb" -#define NID_cast5_ecb 109 - -#define SN_cast5_cfb64 "CAST5-CFB" -#define LN_cast5_cfb64 "cast5-cfb" -#define NID_cast5_cfb64 110 - -#define SN_cast5_ofb64 "CAST5-OFB" -#define LN_cast5_ofb64 "cast5-ofb" -#define NID_cast5_ofb64 111 - -#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" -#define NID_pbeWithMD5AndCast5_CBC 112 -#define OBJ_pbeWithMD5AndCast5_CBC OBJ_ISO_US,113533L,7L,66L,12L - -#define SN_id_PasswordBasedMAC "id-PasswordBasedMAC" -#define LN_id_PasswordBasedMAC "password based MAC" -#define NID_id_PasswordBasedMAC 782 -#define OBJ_id_PasswordBasedMAC OBJ_ISO_US,113533L,7L,66L,13L - -#define SN_id_DHBasedMac "id-DHBasedMac" -#define LN_id_DHBasedMac "Diffie-Hellman based MAC" -#define NID_id_DHBasedMac 783 -#define OBJ_id_DHBasedMac OBJ_ISO_US,113533L,7L,66L,30L - -#define SN_rsadsi "rsadsi" -#define LN_rsadsi "RSA Data Security, Inc." -#define NID_rsadsi 1 -#define OBJ_rsadsi OBJ_ISO_US,113549L - -#define SN_pkcs "pkcs" -#define LN_pkcs "RSA Data Security, Inc. PKCS" -#define NID_pkcs 2 -#define OBJ_pkcs OBJ_rsadsi,1L - -#define SN_pkcs1 "pkcs1" -#define NID_pkcs1 186 -#define OBJ_pkcs1 OBJ_pkcs,1L - -#define LN_rsaEncryption "rsaEncryption" -#define NID_rsaEncryption 6 -#define OBJ_rsaEncryption OBJ_pkcs1,1L - -#define SN_md2WithRSAEncryption "RSA-MD2" -#define LN_md2WithRSAEncryption "md2WithRSAEncryption" -#define NID_md2WithRSAEncryption 7 -#define OBJ_md2WithRSAEncryption OBJ_pkcs1,2L - -#define SN_md4WithRSAEncryption "RSA-MD4" -#define LN_md4WithRSAEncryption "md4WithRSAEncryption" -#define NID_md4WithRSAEncryption 396 -#define OBJ_md4WithRSAEncryption OBJ_pkcs1,3L - -#define SN_md5WithRSAEncryption "RSA-MD5" -#define LN_md5WithRSAEncryption "md5WithRSAEncryption" -#define NID_md5WithRSAEncryption 8 -#define OBJ_md5WithRSAEncryption OBJ_pkcs1,4L - -#define SN_sha1WithRSAEncryption "RSA-SHA1" -#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" -#define NID_sha1WithRSAEncryption 65 -#define OBJ_sha1WithRSAEncryption OBJ_pkcs1,5L - -#define SN_rsaesOaep "RSAES-OAEP" -#define LN_rsaesOaep "rsaesOaep" -#define NID_rsaesOaep 919 -#define OBJ_rsaesOaep OBJ_pkcs1,7L - -#define SN_mgf1 "MGF1" -#define LN_mgf1 "mgf1" -#define NID_mgf1 911 -#define OBJ_mgf1 OBJ_pkcs1,8L - -#define SN_rsassaPss "RSASSA-PSS" -#define LN_rsassaPss "rsassaPss" -#define NID_rsassaPss 912 -#define OBJ_rsassaPss OBJ_pkcs1,10L - -#define SN_sha256WithRSAEncryption "RSA-SHA256" -#define LN_sha256WithRSAEncryption "sha256WithRSAEncryption" -#define NID_sha256WithRSAEncryption 668 -#define OBJ_sha256WithRSAEncryption OBJ_pkcs1,11L - -#define SN_sha384WithRSAEncryption "RSA-SHA384" -#define LN_sha384WithRSAEncryption "sha384WithRSAEncryption" -#define NID_sha384WithRSAEncryption 669 -#define OBJ_sha384WithRSAEncryption OBJ_pkcs1,12L - -#define SN_sha512WithRSAEncryption "RSA-SHA512" -#define LN_sha512WithRSAEncryption "sha512WithRSAEncryption" -#define NID_sha512WithRSAEncryption 670 -#define OBJ_sha512WithRSAEncryption OBJ_pkcs1,13L - -#define SN_sha224WithRSAEncryption "RSA-SHA224" -#define LN_sha224WithRSAEncryption "sha224WithRSAEncryption" -#define NID_sha224WithRSAEncryption 671 -#define OBJ_sha224WithRSAEncryption OBJ_pkcs1,14L - -#define SN_pkcs3 "pkcs3" -#define NID_pkcs3 27 -#define OBJ_pkcs3 OBJ_pkcs,3L - -#define LN_dhKeyAgreement "dhKeyAgreement" -#define NID_dhKeyAgreement 28 -#define OBJ_dhKeyAgreement OBJ_pkcs3,1L - -#define SN_pkcs5 "pkcs5" -#define NID_pkcs5 187 -#define OBJ_pkcs5 OBJ_pkcs,5L - -#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" -#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" -#define NID_pbeWithMD2AndDES_CBC 9 -#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs5,1L - -#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" -#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" -#define NID_pbeWithMD5AndDES_CBC 10 -#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs5,3L - -#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" -#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" -#define NID_pbeWithMD2AndRC2_CBC 168 -#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs5,4L - -#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" -#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" -#define NID_pbeWithMD5AndRC2_CBC 169 -#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs5,6L - -#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" -#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" -#define NID_pbeWithSHA1AndDES_CBC 170 -#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs5,10L - -#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" -#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" -#define NID_pbeWithSHA1AndRC2_CBC 68 -#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs5,11L - -#define LN_id_pbkdf2 "PBKDF2" -#define NID_id_pbkdf2 69 -#define OBJ_id_pbkdf2 OBJ_pkcs5,12L - -#define LN_pbes2 "PBES2" -#define NID_pbes2 161 -#define OBJ_pbes2 OBJ_pkcs5,13L - -#define LN_pbmac1 "PBMAC1" -#define NID_pbmac1 162 -#define OBJ_pbmac1 OBJ_pkcs5,14L - -#define SN_pkcs7 "pkcs7" -#define NID_pkcs7 20 -#define OBJ_pkcs7 OBJ_pkcs,7L - -#define LN_pkcs7_data "pkcs7-data" -#define NID_pkcs7_data 21 -#define OBJ_pkcs7_data OBJ_pkcs7,1L - -#define LN_pkcs7_signed "pkcs7-signedData" -#define NID_pkcs7_signed 22 -#define OBJ_pkcs7_signed OBJ_pkcs7,2L - -#define LN_pkcs7_enveloped "pkcs7-envelopedData" -#define NID_pkcs7_enveloped 23 -#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L - -#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" -#define NID_pkcs7_signedAndEnveloped 24 -#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L - -#define LN_pkcs7_digest "pkcs7-digestData" -#define NID_pkcs7_digest 25 -#define OBJ_pkcs7_digest OBJ_pkcs7,5L - -#define LN_pkcs7_encrypted "pkcs7-encryptedData" -#define NID_pkcs7_encrypted 26 -#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L - -#define SN_pkcs9 "pkcs9" -#define NID_pkcs9 47 -#define OBJ_pkcs9 OBJ_pkcs,9L - -#define LN_pkcs9_emailAddress "emailAddress" -#define NID_pkcs9_emailAddress 48 -#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L - -#define LN_pkcs9_unstructuredName "unstructuredName" -#define NID_pkcs9_unstructuredName 49 -#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L - -#define LN_pkcs9_contentType "contentType" -#define NID_pkcs9_contentType 50 -#define OBJ_pkcs9_contentType OBJ_pkcs9,3L - -#define LN_pkcs9_messageDigest "messageDigest" -#define NID_pkcs9_messageDigest 51 -#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L - -#define LN_pkcs9_signingTime "signingTime" -#define NID_pkcs9_signingTime 52 -#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L - -#define LN_pkcs9_countersignature "countersignature" -#define NID_pkcs9_countersignature 53 -#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L - -#define LN_pkcs9_challengePassword "challengePassword" -#define NID_pkcs9_challengePassword 54 -#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L - -#define LN_pkcs9_unstructuredAddress "unstructuredAddress" -#define NID_pkcs9_unstructuredAddress 55 -#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L - -#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" -#define NID_pkcs9_extCertAttributes 56 -#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L - -#define SN_ext_req "extReq" -#define LN_ext_req "Extension Request" -#define NID_ext_req 172 -#define OBJ_ext_req OBJ_pkcs9,14L - -#define SN_SMIMECapabilities "SMIME-CAPS" -#define LN_SMIMECapabilities "S/MIME Capabilities" -#define NID_SMIMECapabilities 167 -#define OBJ_SMIMECapabilities OBJ_pkcs9,15L - -#define SN_SMIME "SMIME" -#define LN_SMIME "S/MIME" -#define NID_SMIME 188 -#define OBJ_SMIME OBJ_pkcs9,16L - -#define SN_id_smime_mod "id-smime-mod" -#define NID_id_smime_mod 189 -#define OBJ_id_smime_mod OBJ_SMIME,0L - -#define SN_id_smime_ct "id-smime-ct" -#define NID_id_smime_ct 190 -#define OBJ_id_smime_ct OBJ_SMIME,1L - -#define SN_id_smime_aa "id-smime-aa" -#define NID_id_smime_aa 191 -#define OBJ_id_smime_aa OBJ_SMIME,2L - -#define SN_id_smime_alg "id-smime-alg" -#define NID_id_smime_alg 192 -#define OBJ_id_smime_alg OBJ_SMIME,3L - -#define SN_id_smime_cd "id-smime-cd" -#define NID_id_smime_cd 193 -#define OBJ_id_smime_cd OBJ_SMIME,4L - -#define SN_id_smime_spq "id-smime-spq" -#define NID_id_smime_spq 194 -#define OBJ_id_smime_spq OBJ_SMIME,5L - -#define SN_id_smime_cti "id-smime-cti" -#define NID_id_smime_cti 195 -#define OBJ_id_smime_cti OBJ_SMIME,6L - -#define SN_id_smime_mod_cms "id-smime-mod-cms" -#define NID_id_smime_mod_cms 196 -#define OBJ_id_smime_mod_cms OBJ_id_smime_mod,1L - -#define SN_id_smime_mod_ess "id-smime-mod-ess" -#define NID_id_smime_mod_ess 197 -#define OBJ_id_smime_mod_ess OBJ_id_smime_mod,2L - -#define SN_id_smime_mod_oid "id-smime-mod-oid" -#define NID_id_smime_mod_oid 198 -#define OBJ_id_smime_mod_oid OBJ_id_smime_mod,3L - -#define SN_id_smime_mod_msg_v3 "id-smime-mod-msg-v3" -#define NID_id_smime_mod_msg_v3 199 -#define OBJ_id_smime_mod_msg_v3 OBJ_id_smime_mod,4L - -#define SN_id_smime_mod_ets_eSignature_88 "id-smime-mod-ets-eSignature-88" -#define NID_id_smime_mod_ets_eSignature_88 200 -#define OBJ_id_smime_mod_ets_eSignature_88 OBJ_id_smime_mod,5L - -#define SN_id_smime_mod_ets_eSignature_97 "id-smime-mod-ets-eSignature-97" -#define NID_id_smime_mod_ets_eSignature_97 201 -#define OBJ_id_smime_mod_ets_eSignature_97 OBJ_id_smime_mod,6L - -#define SN_id_smime_mod_ets_eSigPolicy_88 "id-smime-mod-ets-eSigPolicy-88" -#define NID_id_smime_mod_ets_eSigPolicy_88 202 -#define OBJ_id_smime_mod_ets_eSigPolicy_88 OBJ_id_smime_mod,7L - -#define SN_id_smime_mod_ets_eSigPolicy_97 "id-smime-mod-ets-eSigPolicy-97" -#define NID_id_smime_mod_ets_eSigPolicy_97 203 -#define OBJ_id_smime_mod_ets_eSigPolicy_97 OBJ_id_smime_mod,8L - -#define SN_id_smime_ct_receipt "id-smime-ct-receipt" -#define NID_id_smime_ct_receipt 204 -#define OBJ_id_smime_ct_receipt OBJ_id_smime_ct,1L - -#define SN_id_smime_ct_authData "id-smime-ct-authData" -#define NID_id_smime_ct_authData 205 -#define OBJ_id_smime_ct_authData OBJ_id_smime_ct,2L - -#define SN_id_smime_ct_publishCert "id-smime-ct-publishCert" -#define NID_id_smime_ct_publishCert 206 -#define OBJ_id_smime_ct_publishCert OBJ_id_smime_ct,3L - -#define SN_id_smime_ct_TSTInfo "id-smime-ct-TSTInfo" -#define NID_id_smime_ct_TSTInfo 207 -#define OBJ_id_smime_ct_TSTInfo OBJ_id_smime_ct,4L - -#define SN_id_smime_ct_TDTInfo "id-smime-ct-TDTInfo" -#define NID_id_smime_ct_TDTInfo 208 -#define OBJ_id_smime_ct_TDTInfo OBJ_id_smime_ct,5L - -#define SN_id_smime_ct_contentInfo "id-smime-ct-contentInfo" -#define NID_id_smime_ct_contentInfo 209 -#define OBJ_id_smime_ct_contentInfo OBJ_id_smime_ct,6L - -#define SN_id_smime_ct_DVCSRequestData "id-smime-ct-DVCSRequestData" -#define NID_id_smime_ct_DVCSRequestData 210 -#define OBJ_id_smime_ct_DVCSRequestData OBJ_id_smime_ct,7L - -#define SN_id_smime_ct_DVCSResponseData "id-smime-ct-DVCSResponseData" -#define NID_id_smime_ct_DVCSResponseData 211 -#define OBJ_id_smime_ct_DVCSResponseData OBJ_id_smime_ct,8L - -#define SN_id_smime_ct_compressedData "id-smime-ct-compressedData" -#define NID_id_smime_ct_compressedData 786 -#define OBJ_id_smime_ct_compressedData OBJ_id_smime_ct,9L - -#define SN_id_ct_asciiTextWithCRLF "id-ct-asciiTextWithCRLF" -#define NID_id_ct_asciiTextWithCRLF 787 -#define OBJ_id_ct_asciiTextWithCRLF OBJ_id_smime_ct,27L - -#define SN_id_smime_aa_receiptRequest "id-smime-aa-receiptRequest" -#define NID_id_smime_aa_receiptRequest 212 -#define OBJ_id_smime_aa_receiptRequest OBJ_id_smime_aa,1L - -#define SN_id_smime_aa_securityLabel "id-smime-aa-securityLabel" -#define NID_id_smime_aa_securityLabel 213 -#define OBJ_id_smime_aa_securityLabel OBJ_id_smime_aa,2L - -#define SN_id_smime_aa_mlExpandHistory "id-smime-aa-mlExpandHistory" -#define NID_id_smime_aa_mlExpandHistory 214 -#define OBJ_id_smime_aa_mlExpandHistory OBJ_id_smime_aa,3L - -#define SN_id_smime_aa_contentHint "id-smime-aa-contentHint" -#define NID_id_smime_aa_contentHint 215 -#define OBJ_id_smime_aa_contentHint OBJ_id_smime_aa,4L - -#define SN_id_smime_aa_msgSigDigest "id-smime-aa-msgSigDigest" -#define NID_id_smime_aa_msgSigDigest 216 -#define OBJ_id_smime_aa_msgSigDigest OBJ_id_smime_aa,5L - -#define SN_id_smime_aa_encapContentType "id-smime-aa-encapContentType" -#define NID_id_smime_aa_encapContentType 217 -#define OBJ_id_smime_aa_encapContentType OBJ_id_smime_aa,6L - -#define SN_id_smime_aa_contentIdentifier "id-smime-aa-contentIdentifier" -#define NID_id_smime_aa_contentIdentifier 218 -#define OBJ_id_smime_aa_contentIdentifier OBJ_id_smime_aa,7L - -#define SN_id_smime_aa_macValue "id-smime-aa-macValue" -#define NID_id_smime_aa_macValue 219 -#define OBJ_id_smime_aa_macValue OBJ_id_smime_aa,8L - -#define SN_id_smime_aa_equivalentLabels "id-smime-aa-equivalentLabels" -#define NID_id_smime_aa_equivalentLabels 220 -#define OBJ_id_smime_aa_equivalentLabels OBJ_id_smime_aa,9L - -#define SN_id_smime_aa_contentReference "id-smime-aa-contentReference" -#define NID_id_smime_aa_contentReference 221 -#define OBJ_id_smime_aa_contentReference OBJ_id_smime_aa,10L - -#define SN_id_smime_aa_encrypKeyPref "id-smime-aa-encrypKeyPref" -#define NID_id_smime_aa_encrypKeyPref 222 -#define OBJ_id_smime_aa_encrypKeyPref OBJ_id_smime_aa,11L - -#define SN_id_smime_aa_signingCertificate "id-smime-aa-signingCertificate" -#define NID_id_smime_aa_signingCertificate 223 -#define OBJ_id_smime_aa_signingCertificate OBJ_id_smime_aa,12L - -#define SN_id_smime_aa_smimeEncryptCerts "id-smime-aa-smimeEncryptCerts" -#define NID_id_smime_aa_smimeEncryptCerts 224 -#define OBJ_id_smime_aa_smimeEncryptCerts OBJ_id_smime_aa,13L - -#define SN_id_smime_aa_timeStampToken "id-smime-aa-timeStampToken" -#define NID_id_smime_aa_timeStampToken 225 -#define OBJ_id_smime_aa_timeStampToken OBJ_id_smime_aa,14L - -#define SN_id_smime_aa_ets_sigPolicyId "id-smime-aa-ets-sigPolicyId" -#define NID_id_smime_aa_ets_sigPolicyId 226 -#define OBJ_id_smime_aa_ets_sigPolicyId OBJ_id_smime_aa,15L - -#define SN_id_smime_aa_ets_commitmentType "id-smime-aa-ets-commitmentType" -#define NID_id_smime_aa_ets_commitmentType 227 -#define OBJ_id_smime_aa_ets_commitmentType OBJ_id_smime_aa,16L - -#define SN_id_smime_aa_ets_signerLocation "id-smime-aa-ets-signerLocation" -#define NID_id_smime_aa_ets_signerLocation 228 -#define OBJ_id_smime_aa_ets_signerLocation OBJ_id_smime_aa,17L - -#define SN_id_smime_aa_ets_signerAttr "id-smime-aa-ets-signerAttr" -#define NID_id_smime_aa_ets_signerAttr 229 -#define OBJ_id_smime_aa_ets_signerAttr OBJ_id_smime_aa,18L - -#define SN_id_smime_aa_ets_otherSigCert "id-smime-aa-ets-otherSigCert" -#define NID_id_smime_aa_ets_otherSigCert 230 -#define OBJ_id_smime_aa_ets_otherSigCert OBJ_id_smime_aa,19L - -#define SN_id_smime_aa_ets_contentTimestamp "id-smime-aa-ets-contentTimestamp" -#define NID_id_smime_aa_ets_contentTimestamp 231 -#define OBJ_id_smime_aa_ets_contentTimestamp OBJ_id_smime_aa,20L - -#define SN_id_smime_aa_ets_CertificateRefs "id-smime-aa-ets-CertificateRefs" -#define NID_id_smime_aa_ets_CertificateRefs 232 -#define OBJ_id_smime_aa_ets_CertificateRefs OBJ_id_smime_aa,21L - -#define SN_id_smime_aa_ets_RevocationRefs "id-smime-aa-ets-RevocationRefs" -#define NID_id_smime_aa_ets_RevocationRefs 233 -#define OBJ_id_smime_aa_ets_RevocationRefs OBJ_id_smime_aa,22L - -#define SN_id_smime_aa_ets_certValues "id-smime-aa-ets-certValues" -#define NID_id_smime_aa_ets_certValues 234 -#define OBJ_id_smime_aa_ets_certValues OBJ_id_smime_aa,23L - -#define SN_id_smime_aa_ets_revocationValues "id-smime-aa-ets-revocationValues" -#define NID_id_smime_aa_ets_revocationValues 235 -#define OBJ_id_smime_aa_ets_revocationValues OBJ_id_smime_aa,24L - -#define SN_id_smime_aa_ets_escTimeStamp "id-smime-aa-ets-escTimeStamp" -#define NID_id_smime_aa_ets_escTimeStamp 236 -#define OBJ_id_smime_aa_ets_escTimeStamp OBJ_id_smime_aa,25L - -#define SN_id_smime_aa_ets_certCRLTimestamp "id-smime-aa-ets-certCRLTimestamp" -#define NID_id_smime_aa_ets_certCRLTimestamp 237 -#define OBJ_id_smime_aa_ets_certCRLTimestamp OBJ_id_smime_aa,26L - -#define SN_id_smime_aa_ets_archiveTimeStamp "id-smime-aa-ets-archiveTimeStamp" -#define NID_id_smime_aa_ets_archiveTimeStamp 238 -#define OBJ_id_smime_aa_ets_archiveTimeStamp OBJ_id_smime_aa,27L - -#define SN_id_smime_aa_signatureType "id-smime-aa-signatureType" -#define NID_id_smime_aa_signatureType 239 -#define OBJ_id_smime_aa_signatureType OBJ_id_smime_aa,28L - -#define SN_id_smime_aa_dvcs_dvc "id-smime-aa-dvcs-dvc" -#define NID_id_smime_aa_dvcs_dvc 240 -#define OBJ_id_smime_aa_dvcs_dvc OBJ_id_smime_aa,29L - -#define SN_id_smime_alg_ESDHwith3DES "id-smime-alg-ESDHwith3DES" -#define NID_id_smime_alg_ESDHwith3DES 241 -#define OBJ_id_smime_alg_ESDHwith3DES OBJ_id_smime_alg,1L - -#define SN_id_smime_alg_ESDHwithRC2 "id-smime-alg-ESDHwithRC2" -#define NID_id_smime_alg_ESDHwithRC2 242 -#define OBJ_id_smime_alg_ESDHwithRC2 OBJ_id_smime_alg,2L - -#define SN_id_smime_alg_3DESwrap "id-smime-alg-3DESwrap" -#define NID_id_smime_alg_3DESwrap 243 -#define OBJ_id_smime_alg_3DESwrap OBJ_id_smime_alg,3L - -#define SN_id_smime_alg_RC2wrap "id-smime-alg-RC2wrap" -#define NID_id_smime_alg_RC2wrap 244 -#define OBJ_id_smime_alg_RC2wrap OBJ_id_smime_alg,4L - -#define SN_id_smime_alg_ESDH "id-smime-alg-ESDH" -#define NID_id_smime_alg_ESDH 245 -#define OBJ_id_smime_alg_ESDH OBJ_id_smime_alg,5L - -#define SN_id_smime_alg_CMS3DESwrap "id-smime-alg-CMS3DESwrap" -#define NID_id_smime_alg_CMS3DESwrap 246 -#define OBJ_id_smime_alg_CMS3DESwrap OBJ_id_smime_alg,6L - -#define SN_id_smime_alg_CMSRC2wrap "id-smime-alg-CMSRC2wrap" -#define NID_id_smime_alg_CMSRC2wrap 247 -#define OBJ_id_smime_alg_CMSRC2wrap OBJ_id_smime_alg,7L - -#define SN_id_alg_PWRI_KEK "id-alg-PWRI-KEK" -#define NID_id_alg_PWRI_KEK 893 -#define OBJ_id_alg_PWRI_KEK OBJ_id_smime_alg,9L - -#define SN_id_smime_cd_ldap "id-smime-cd-ldap" -#define NID_id_smime_cd_ldap 248 -#define OBJ_id_smime_cd_ldap OBJ_id_smime_cd,1L - -#define SN_id_smime_spq_ets_sqt_uri "id-smime-spq-ets-sqt-uri" -#define NID_id_smime_spq_ets_sqt_uri 249 -#define OBJ_id_smime_spq_ets_sqt_uri OBJ_id_smime_spq,1L - -#define SN_id_smime_spq_ets_sqt_unotice "id-smime-spq-ets-sqt-unotice" -#define NID_id_smime_spq_ets_sqt_unotice 250 -#define OBJ_id_smime_spq_ets_sqt_unotice OBJ_id_smime_spq,2L - -#define SN_id_smime_cti_ets_proofOfOrigin "id-smime-cti-ets-proofOfOrigin" -#define NID_id_smime_cti_ets_proofOfOrigin 251 -#define OBJ_id_smime_cti_ets_proofOfOrigin OBJ_id_smime_cti,1L - -#define SN_id_smime_cti_ets_proofOfReceipt "id-smime-cti-ets-proofOfReceipt" -#define NID_id_smime_cti_ets_proofOfReceipt 252 -#define OBJ_id_smime_cti_ets_proofOfReceipt OBJ_id_smime_cti,2L - -#define SN_id_smime_cti_ets_proofOfDelivery "id-smime-cti-ets-proofOfDelivery" -#define NID_id_smime_cti_ets_proofOfDelivery 253 -#define OBJ_id_smime_cti_ets_proofOfDelivery OBJ_id_smime_cti,3L - -#define SN_id_smime_cti_ets_proofOfSender "id-smime-cti-ets-proofOfSender" -#define NID_id_smime_cti_ets_proofOfSender 254 -#define OBJ_id_smime_cti_ets_proofOfSender OBJ_id_smime_cti,4L - -#define SN_id_smime_cti_ets_proofOfApproval "id-smime-cti-ets-proofOfApproval" -#define NID_id_smime_cti_ets_proofOfApproval 255 -#define OBJ_id_smime_cti_ets_proofOfApproval OBJ_id_smime_cti,5L - -#define SN_id_smime_cti_ets_proofOfCreation "id-smime-cti-ets-proofOfCreation" -#define NID_id_smime_cti_ets_proofOfCreation 256 -#define OBJ_id_smime_cti_ets_proofOfCreation OBJ_id_smime_cti,6L - -#define LN_friendlyName "friendlyName" -#define NID_friendlyName 156 -#define OBJ_friendlyName OBJ_pkcs9,20L - -#define LN_localKeyID "localKeyID" -#define NID_localKeyID 157 -#define OBJ_localKeyID OBJ_pkcs9,21L - -#define SN_ms_csp_name "CSPName" -#define LN_ms_csp_name "Microsoft CSP Name" -#define NID_ms_csp_name 417 -#define OBJ_ms_csp_name 1L,3L,6L,1L,4L,1L,311L,17L,1L - -#define SN_LocalKeySet "LocalKeySet" -#define LN_LocalKeySet "Microsoft Local Key set" -#define NID_LocalKeySet 856 -#define OBJ_LocalKeySet 1L,3L,6L,1L,4L,1L,311L,17L,2L - -#define OBJ_certTypes OBJ_pkcs9,22L - -#define LN_x509Certificate "x509Certificate" -#define NID_x509Certificate 158 -#define OBJ_x509Certificate OBJ_certTypes,1L - -#define LN_sdsiCertificate "sdsiCertificate" -#define NID_sdsiCertificate 159 -#define OBJ_sdsiCertificate OBJ_certTypes,2L - -#define OBJ_crlTypes OBJ_pkcs9,23L - -#define LN_x509Crl "x509Crl" -#define NID_x509Crl 160 -#define OBJ_x509Crl OBJ_crlTypes,1L - -#define OBJ_pkcs12 OBJ_pkcs,12L - -#define OBJ_pkcs12_pbeids OBJ_pkcs12,1L - -#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" -#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" -#define NID_pbe_WithSHA1And128BitRC4 144 -#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids,1L - -#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" -#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" -#define NID_pbe_WithSHA1And40BitRC4 145 -#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids,2L - -#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" -#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" -#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 -#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids,3L - -#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" -#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" -#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 -#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids,4L - -#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" -#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" -#define NID_pbe_WithSHA1And128BitRC2_CBC 148 -#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids,5L - -#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" -#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" -#define NID_pbe_WithSHA1And40BitRC2_CBC 149 -#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids,6L - -#define OBJ_pkcs12_Version1 OBJ_pkcs12,10L - -#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1,1L - -#define LN_keyBag "keyBag" -#define NID_keyBag 150 -#define OBJ_keyBag OBJ_pkcs12_BagIds,1L - -#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" -#define NID_pkcs8ShroudedKeyBag 151 -#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds,2L - -#define LN_certBag "certBag" -#define NID_certBag 152 -#define OBJ_certBag OBJ_pkcs12_BagIds,3L - -#define LN_crlBag "crlBag" -#define NID_crlBag 153 -#define OBJ_crlBag OBJ_pkcs12_BagIds,4L - -#define LN_secretBag "secretBag" -#define NID_secretBag 154 -#define OBJ_secretBag OBJ_pkcs12_BagIds,5L - -#define LN_safeContentsBag "safeContentsBag" -#define NID_safeContentsBag 155 -#define OBJ_safeContentsBag OBJ_pkcs12_BagIds,6L - -#define SN_md2 "MD2" -#define LN_md2 "md2" -#define NID_md2 3 -#define OBJ_md2 OBJ_rsadsi,2L,2L - -#define SN_md4 "MD4" -#define LN_md4 "md4" -#define NID_md4 257 -#define OBJ_md4 OBJ_rsadsi,2L,4L - -#define SN_md5 "MD5" -#define LN_md5 "md5" -#define NID_md5 4 -#define OBJ_md5 OBJ_rsadsi,2L,5L - -#define SN_md5_sha1 "MD5-SHA1" -#define LN_md5_sha1 "md5-sha1" -#define NID_md5_sha1 114 - -#define LN_hmacWithMD5 "hmacWithMD5" -#define NID_hmacWithMD5 797 -#define OBJ_hmacWithMD5 OBJ_rsadsi,2L,6L - -#define LN_hmacWithSHA1 "hmacWithSHA1" -#define NID_hmacWithSHA1 163 -#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L - -#define LN_hmacWithSHA224 "hmacWithSHA224" -#define NID_hmacWithSHA224 798 -#define OBJ_hmacWithSHA224 OBJ_rsadsi,2L,8L - -#define LN_hmacWithSHA256 "hmacWithSHA256" -#define NID_hmacWithSHA256 799 -#define OBJ_hmacWithSHA256 OBJ_rsadsi,2L,9L - -#define LN_hmacWithSHA384 "hmacWithSHA384" -#define NID_hmacWithSHA384 800 -#define OBJ_hmacWithSHA384 OBJ_rsadsi,2L,10L - -#define LN_hmacWithSHA512 "hmacWithSHA512" -#define NID_hmacWithSHA512 801 -#define OBJ_hmacWithSHA512 OBJ_rsadsi,2L,11L - -#define SN_rc2_cbc "RC2-CBC" -#define LN_rc2_cbc "rc2-cbc" -#define NID_rc2_cbc 37 -#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L - -#define SN_rc2_ecb "RC2-ECB" -#define LN_rc2_ecb "rc2-ecb" -#define NID_rc2_ecb 38 - -#define SN_rc2_cfb64 "RC2-CFB" -#define LN_rc2_cfb64 "rc2-cfb" -#define NID_rc2_cfb64 39 - -#define SN_rc2_ofb64 "RC2-OFB" -#define LN_rc2_ofb64 "rc2-ofb" -#define NID_rc2_ofb64 40 - -#define SN_rc2_40_cbc "RC2-40-CBC" -#define LN_rc2_40_cbc "rc2-40-cbc" -#define NID_rc2_40_cbc 98 - -#define SN_rc2_64_cbc "RC2-64-CBC" -#define LN_rc2_64_cbc "rc2-64-cbc" -#define NID_rc2_64_cbc 166 - -#define SN_rc4 "RC4" -#define LN_rc4 "rc4" -#define NID_rc4 5 -#define OBJ_rc4 OBJ_rsadsi,3L,4L - -#define SN_rc4_40 "RC4-40" -#define LN_rc4_40 "rc4-40" -#define NID_rc4_40 97 - -#define SN_des_ede3_cbc "DES-EDE3-CBC" -#define LN_des_ede3_cbc "des-ede3-cbc" -#define NID_des_ede3_cbc 44 -#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L - -#define SN_rc5_cbc "RC5-CBC" -#define LN_rc5_cbc "rc5-cbc" -#define NID_rc5_cbc 120 -#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L - -#define SN_rc5_ecb "RC5-ECB" -#define LN_rc5_ecb "rc5-ecb" -#define NID_rc5_ecb 121 - -#define SN_rc5_cfb64 "RC5-CFB" -#define LN_rc5_cfb64 "rc5-cfb" -#define NID_rc5_cfb64 122 - -#define SN_rc5_ofb64 "RC5-OFB" -#define LN_rc5_ofb64 "rc5-ofb" -#define NID_rc5_ofb64 123 - -#define SN_ms_ext_req "msExtReq" -#define LN_ms_ext_req "Microsoft Extension Request" -#define NID_ms_ext_req 171 -#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L - -#define SN_ms_code_ind "msCodeInd" -#define LN_ms_code_ind "Microsoft Individual Code Signing" -#define NID_ms_code_ind 134 -#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L - -#define SN_ms_code_com "msCodeCom" -#define LN_ms_code_com "Microsoft Commercial Code Signing" -#define NID_ms_code_com 135 -#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L - -#define SN_ms_ctl_sign "msCTLSign" -#define LN_ms_ctl_sign "Microsoft Trust List Signing" -#define NID_ms_ctl_sign 136 -#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L - -#define SN_ms_sgc "msSGC" -#define LN_ms_sgc "Microsoft Server Gated Crypto" -#define NID_ms_sgc 137 -#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L - -#define SN_ms_efs "msEFS" -#define LN_ms_efs "Microsoft Encrypted File System" -#define NID_ms_efs 138 -#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L - -#define SN_ms_smartcard_login "msSmartcardLogin" -#define LN_ms_smartcard_login "Microsoft Smartcardlogin" -#define NID_ms_smartcard_login 648 -#define OBJ_ms_smartcard_login 1L,3L,6L,1L,4L,1L,311L,20L,2L,2L - -#define SN_ms_upn "msUPN" -#define LN_ms_upn "Microsoft Universal Principal Name" -#define NID_ms_upn 649 -#define OBJ_ms_upn 1L,3L,6L,1L,4L,1L,311L,20L,2L,3L - -#define SN_idea_cbc "IDEA-CBC" -#define LN_idea_cbc "idea-cbc" -#define NID_idea_cbc 34 -#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L - -#define SN_idea_ecb "IDEA-ECB" -#define LN_idea_ecb "idea-ecb" -#define NID_idea_ecb 36 - -#define SN_idea_cfb64 "IDEA-CFB" -#define LN_idea_cfb64 "idea-cfb" -#define NID_idea_cfb64 35 - -#define SN_idea_ofb64 "IDEA-OFB" -#define LN_idea_ofb64 "idea-ofb" -#define NID_idea_ofb64 46 - -#define SN_bf_cbc "BF-CBC" -#define LN_bf_cbc "bf-cbc" -#define NID_bf_cbc 91 -#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L - -#define SN_bf_ecb "BF-ECB" -#define LN_bf_ecb "bf-ecb" -#define NID_bf_ecb 92 - -#define SN_bf_cfb64 "BF-CFB" -#define LN_bf_cfb64 "bf-cfb" -#define NID_bf_cfb64 93 - -#define SN_bf_ofb64 "BF-OFB" -#define LN_bf_ofb64 "bf-ofb" -#define NID_bf_ofb64 94 - -#define SN_id_pkix "PKIX" -#define NID_id_pkix 127 -#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L - -#define SN_id_pkix_mod "id-pkix-mod" -#define NID_id_pkix_mod 258 -#define OBJ_id_pkix_mod OBJ_id_pkix,0L - -#define SN_id_pe "id-pe" -#define NID_id_pe 175 -#define OBJ_id_pe OBJ_id_pkix,1L - -#define SN_id_qt "id-qt" -#define NID_id_qt 259 -#define OBJ_id_qt OBJ_id_pkix,2L - -#define SN_id_kp "id-kp" -#define NID_id_kp 128 -#define OBJ_id_kp OBJ_id_pkix,3L - -#define SN_id_it "id-it" -#define NID_id_it 260 -#define OBJ_id_it OBJ_id_pkix,4L - -#define SN_id_pkip "id-pkip" -#define NID_id_pkip 261 -#define OBJ_id_pkip OBJ_id_pkix,5L - -#define SN_id_alg "id-alg" -#define NID_id_alg 262 -#define OBJ_id_alg OBJ_id_pkix,6L - -#define SN_id_cmc "id-cmc" -#define NID_id_cmc 263 -#define OBJ_id_cmc OBJ_id_pkix,7L - -#define SN_id_on "id-on" -#define NID_id_on 264 -#define OBJ_id_on OBJ_id_pkix,8L - -#define SN_id_pda "id-pda" -#define NID_id_pda 265 -#define OBJ_id_pda OBJ_id_pkix,9L - -#define SN_id_aca "id-aca" -#define NID_id_aca 266 -#define OBJ_id_aca OBJ_id_pkix,10L - -#define SN_id_qcs "id-qcs" -#define NID_id_qcs 267 -#define OBJ_id_qcs OBJ_id_pkix,11L - -#define SN_id_cct "id-cct" -#define NID_id_cct 268 -#define OBJ_id_cct OBJ_id_pkix,12L - -#define SN_id_ppl "id-ppl" -#define NID_id_ppl 662 -#define OBJ_id_ppl OBJ_id_pkix,21L - -#define SN_id_ad "id-ad" -#define NID_id_ad 176 -#define OBJ_id_ad OBJ_id_pkix,48L - -#define SN_id_pkix1_explicit_88 "id-pkix1-explicit-88" -#define NID_id_pkix1_explicit_88 269 -#define OBJ_id_pkix1_explicit_88 OBJ_id_pkix_mod,1L - -#define SN_id_pkix1_implicit_88 "id-pkix1-implicit-88" -#define NID_id_pkix1_implicit_88 270 -#define OBJ_id_pkix1_implicit_88 OBJ_id_pkix_mod,2L - -#define SN_id_pkix1_explicit_93 "id-pkix1-explicit-93" -#define NID_id_pkix1_explicit_93 271 -#define OBJ_id_pkix1_explicit_93 OBJ_id_pkix_mod,3L - -#define SN_id_pkix1_implicit_93 "id-pkix1-implicit-93" -#define NID_id_pkix1_implicit_93 272 -#define OBJ_id_pkix1_implicit_93 OBJ_id_pkix_mod,4L - -#define SN_id_mod_crmf "id-mod-crmf" -#define NID_id_mod_crmf 273 -#define OBJ_id_mod_crmf OBJ_id_pkix_mod,5L - -#define SN_id_mod_cmc "id-mod-cmc" -#define NID_id_mod_cmc 274 -#define OBJ_id_mod_cmc OBJ_id_pkix_mod,6L - -#define SN_id_mod_kea_profile_88 "id-mod-kea-profile-88" -#define NID_id_mod_kea_profile_88 275 -#define OBJ_id_mod_kea_profile_88 OBJ_id_pkix_mod,7L - -#define SN_id_mod_kea_profile_93 "id-mod-kea-profile-93" -#define NID_id_mod_kea_profile_93 276 -#define OBJ_id_mod_kea_profile_93 OBJ_id_pkix_mod,8L - -#define SN_id_mod_cmp "id-mod-cmp" -#define NID_id_mod_cmp 277 -#define OBJ_id_mod_cmp OBJ_id_pkix_mod,9L - -#define SN_id_mod_qualified_cert_88 "id-mod-qualified-cert-88" -#define NID_id_mod_qualified_cert_88 278 -#define OBJ_id_mod_qualified_cert_88 OBJ_id_pkix_mod,10L - -#define SN_id_mod_qualified_cert_93 "id-mod-qualified-cert-93" -#define NID_id_mod_qualified_cert_93 279 -#define OBJ_id_mod_qualified_cert_93 OBJ_id_pkix_mod,11L - -#define SN_id_mod_attribute_cert "id-mod-attribute-cert" -#define NID_id_mod_attribute_cert 280 -#define OBJ_id_mod_attribute_cert OBJ_id_pkix_mod,12L - -#define SN_id_mod_timestamp_protocol "id-mod-timestamp-protocol" -#define NID_id_mod_timestamp_protocol 281 -#define OBJ_id_mod_timestamp_protocol OBJ_id_pkix_mod,13L - -#define SN_id_mod_ocsp "id-mod-ocsp" -#define NID_id_mod_ocsp 282 -#define OBJ_id_mod_ocsp OBJ_id_pkix_mod,14L - -#define SN_id_mod_dvcs "id-mod-dvcs" -#define NID_id_mod_dvcs 283 -#define OBJ_id_mod_dvcs OBJ_id_pkix_mod,15L - -#define SN_id_mod_cmp2000 "id-mod-cmp2000" -#define NID_id_mod_cmp2000 284 -#define OBJ_id_mod_cmp2000 OBJ_id_pkix_mod,16L - -#define SN_info_access "authorityInfoAccess" -#define LN_info_access "Authority Information Access" -#define NID_info_access 177 -#define OBJ_info_access OBJ_id_pe,1L - -#define SN_biometricInfo "biometricInfo" -#define LN_biometricInfo "Biometric Info" -#define NID_biometricInfo 285 -#define OBJ_biometricInfo OBJ_id_pe,2L - -#define SN_qcStatements "qcStatements" -#define NID_qcStatements 286 -#define OBJ_qcStatements OBJ_id_pe,3L - -#define SN_ac_auditEntity "ac-auditEntity" -#define NID_ac_auditEntity 287 -#define OBJ_ac_auditEntity OBJ_id_pe,4L - -#define SN_ac_targeting "ac-targeting" -#define NID_ac_targeting 288 -#define OBJ_ac_targeting OBJ_id_pe,5L - -#define SN_aaControls "aaControls" -#define NID_aaControls 289 -#define OBJ_aaControls OBJ_id_pe,6L - -#define SN_sbgp_ipAddrBlock "sbgp-ipAddrBlock" -#define NID_sbgp_ipAddrBlock 290 -#define OBJ_sbgp_ipAddrBlock OBJ_id_pe,7L - -#define SN_sbgp_autonomousSysNum "sbgp-autonomousSysNum" -#define NID_sbgp_autonomousSysNum 291 -#define OBJ_sbgp_autonomousSysNum OBJ_id_pe,8L - -#define SN_sbgp_routerIdentifier "sbgp-routerIdentifier" -#define NID_sbgp_routerIdentifier 292 -#define OBJ_sbgp_routerIdentifier OBJ_id_pe,9L - -#define SN_ac_proxying "ac-proxying" -#define NID_ac_proxying 397 -#define OBJ_ac_proxying OBJ_id_pe,10L - -#define SN_sinfo_access "subjectInfoAccess" -#define LN_sinfo_access "Subject Information Access" -#define NID_sinfo_access 398 -#define OBJ_sinfo_access OBJ_id_pe,11L - -#define SN_proxyCertInfo "proxyCertInfo" -#define LN_proxyCertInfo "Proxy Certificate Information" -#define NID_proxyCertInfo 663 -#define OBJ_proxyCertInfo OBJ_id_pe,14L - -#define SN_id_qt_cps "id-qt-cps" -#define LN_id_qt_cps "Policy Qualifier CPS" -#define NID_id_qt_cps 164 -#define OBJ_id_qt_cps OBJ_id_qt,1L - -#define SN_id_qt_unotice "id-qt-unotice" -#define LN_id_qt_unotice "Policy Qualifier User Notice" -#define NID_id_qt_unotice 165 -#define OBJ_id_qt_unotice OBJ_id_qt,2L - -#define SN_textNotice "textNotice" -#define NID_textNotice 293 -#define OBJ_textNotice OBJ_id_qt,3L - -#define SN_server_auth "serverAuth" -#define LN_server_auth "TLS Web Server Authentication" -#define NID_server_auth 129 -#define OBJ_server_auth OBJ_id_kp,1L - -#define SN_client_auth "clientAuth" -#define LN_client_auth "TLS Web Client Authentication" -#define NID_client_auth 130 -#define OBJ_client_auth OBJ_id_kp,2L - -#define SN_code_sign "codeSigning" -#define LN_code_sign "Code Signing" -#define NID_code_sign 131 -#define OBJ_code_sign OBJ_id_kp,3L - -#define SN_email_protect "emailProtection" -#define LN_email_protect "E-mail Protection" -#define NID_email_protect 132 -#define OBJ_email_protect OBJ_id_kp,4L - -#define SN_ipsecEndSystem "ipsecEndSystem" -#define LN_ipsecEndSystem "IPSec End System" -#define NID_ipsecEndSystem 294 -#define OBJ_ipsecEndSystem OBJ_id_kp,5L - -#define SN_ipsecTunnel "ipsecTunnel" -#define LN_ipsecTunnel "IPSec Tunnel" -#define NID_ipsecTunnel 295 -#define OBJ_ipsecTunnel OBJ_id_kp,6L - -#define SN_ipsecUser "ipsecUser" -#define LN_ipsecUser "IPSec User" -#define NID_ipsecUser 296 -#define OBJ_ipsecUser OBJ_id_kp,7L - -#define SN_time_stamp "timeStamping" -#define LN_time_stamp "Time Stamping" -#define NID_time_stamp 133 -#define OBJ_time_stamp OBJ_id_kp,8L - -#define SN_OCSP_sign "OCSPSigning" -#define LN_OCSP_sign "OCSP Signing" -#define NID_OCSP_sign 180 -#define OBJ_OCSP_sign OBJ_id_kp,9L - -#define SN_dvcs "DVCS" -#define LN_dvcs "dvcs" -#define NID_dvcs 297 -#define OBJ_dvcs OBJ_id_kp,10L - -#define SN_id_it_caProtEncCert "id-it-caProtEncCert" -#define NID_id_it_caProtEncCert 298 -#define OBJ_id_it_caProtEncCert OBJ_id_it,1L - -#define SN_id_it_signKeyPairTypes "id-it-signKeyPairTypes" -#define NID_id_it_signKeyPairTypes 299 -#define OBJ_id_it_signKeyPairTypes OBJ_id_it,2L - -#define SN_id_it_encKeyPairTypes "id-it-encKeyPairTypes" -#define NID_id_it_encKeyPairTypes 300 -#define OBJ_id_it_encKeyPairTypes OBJ_id_it,3L - -#define SN_id_it_preferredSymmAlg "id-it-preferredSymmAlg" -#define NID_id_it_preferredSymmAlg 301 -#define OBJ_id_it_preferredSymmAlg OBJ_id_it,4L - -#define SN_id_it_caKeyUpdateInfo "id-it-caKeyUpdateInfo" -#define NID_id_it_caKeyUpdateInfo 302 -#define OBJ_id_it_caKeyUpdateInfo OBJ_id_it,5L - -#define SN_id_it_currentCRL "id-it-currentCRL" -#define NID_id_it_currentCRL 303 -#define OBJ_id_it_currentCRL OBJ_id_it,6L - -#define SN_id_it_unsupportedOIDs "id-it-unsupportedOIDs" -#define NID_id_it_unsupportedOIDs 304 -#define OBJ_id_it_unsupportedOIDs OBJ_id_it,7L - -#define SN_id_it_subscriptionRequest "id-it-subscriptionRequest" -#define NID_id_it_subscriptionRequest 305 -#define OBJ_id_it_subscriptionRequest OBJ_id_it,8L - -#define SN_id_it_subscriptionResponse "id-it-subscriptionResponse" -#define NID_id_it_subscriptionResponse 306 -#define OBJ_id_it_subscriptionResponse OBJ_id_it,9L - -#define SN_id_it_keyPairParamReq "id-it-keyPairParamReq" -#define NID_id_it_keyPairParamReq 307 -#define OBJ_id_it_keyPairParamReq OBJ_id_it,10L - -#define SN_id_it_keyPairParamRep "id-it-keyPairParamRep" -#define NID_id_it_keyPairParamRep 308 -#define OBJ_id_it_keyPairParamRep OBJ_id_it,11L - -#define SN_id_it_revPassphrase "id-it-revPassphrase" -#define NID_id_it_revPassphrase 309 -#define OBJ_id_it_revPassphrase OBJ_id_it,12L - -#define SN_id_it_implicitConfirm "id-it-implicitConfirm" -#define NID_id_it_implicitConfirm 310 -#define OBJ_id_it_implicitConfirm OBJ_id_it,13L - -#define SN_id_it_confirmWaitTime "id-it-confirmWaitTime" -#define NID_id_it_confirmWaitTime 311 -#define OBJ_id_it_confirmWaitTime OBJ_id_it,14L - -#define SN_id_it_origPKIMessage "id-it-origPKIMessage" -#define NID_id_it_origPKIMessage 312 -#define OBJ_id_it_origPKIMessage OBJ_id_it,15L - -#define SN_id_it_suppLangTags "id-it-suppLangTags" -#define NID_id_it_suppLangTags 784 -#define OBJ_id_it_suppLangTags OBJ_id_it,16L - -#define SN_id_regCtrl "id-regCtrl" -#define NID_id_regCtrl 313 -#define OBJ_id_regCtrl OBJ_id_pkip,1L - -#define SN_id_regInfo "id-regInfo" -#define NID_id_regInfo 314 -#define OBJ_id_regInfo OBJ_id_pkip,2L - -#define SN_id_regCtrl_regToken "id-regCtrl-regToken" -#define NID_id_regCtrl_regToken 315 -#define OBJ_id_regCtrl_regToken OBJ_id_regCtrl,1L - -#define SN_id_regCtrl_authenticator "id-regCtrl-authenticator" -#define NID_id_regCtrl_authenticator 316 -#define OBJ_id_regCtrl_authenticator OBJ_id_regCtrl,2L - -#define SN_id_regCtrl_pkiPublicationInfo "id-regCtrl-pkiPublicationInfo" -#define NID_id_regCtrl_pkiPublicationInfo 317 -#define OBJ_id_regCtrl_pkiPublicationInfo OBJ_id_regCtrl,3L - -#define SN_id_regCtrl_pkiArchiveOptions "id-regCtrl-pkiArchiveOptions" -#define NID_id_regCtrl_pkiArchiveOptions 318 -#define OBJ_id_regCtrl_pkiArchiveOptions OBJ_id_regCtrl,4L - -#define SN_id_regCtrl_oldCertID "id-regCtrl-oldCertID" -#define NID_id_regCtrl_oldCertID 319 -#define OBJ_id_regCtrl_oldCertID OBJ_id_regCtrl,5L - -#define SN_id_regCtrl_protocolEncrKey "id-regCtrl-protocolEncrKey" -#define NID_id_regCtrl_protocolEncrKey 320 -#define OBJ_id_regCtrl_protocolEncrKey OBJ_id_regCtrl,6L - -#define SN_id_regInfo_utf8Pairs "id-regInfo-utf8Pairs" -#define NID_id_regInfo_utf8Pairs 321 -#define OBJ_id_regInfo_utf8Pairs OBJ_id_regInfo,1L - -#define SN_id_regInfo_certReq "id-regInfo-certReq" -#define NID_id_regInfo_certReq 322 -#define OBJ_id_regInfo_certReq OBJ_id_regInfo,2L - -#define SN_id_alg_des40 "id-alg-des40" -#define NID_id_alg_des40 323 -#define OBJ_id_alg_des40 OBJ_id_alg,1L - -#define SN_id_alg_noSignature "id-alg-noSignature" -#define NID_id_alg_noSignature 324 -#define OBJ_id_alg_noSignature OBJ_id_alg,2L - -#define SN_id_alg_dh_sig_hmac_sha1 "id-alg-dh-sig-hmac-sha1" -#define NID_id_alg_dh_sig_hmac_sha1 325 -#define OBJ_id_alg_dh_sig_hmac_sha1 OBJ_id_alg,3L - -#define SN_id_alg_dh_pop "id-alg-dh-pop" -#define NID_id_alg_dh_pop 326 -#define OBJ_id_alg_dh_pop OBJ_id_alg,4L - -#define SN_id_cmc_statusInfo "id-cmc-statusInfo" -#define NID_id_cmc_statusInfo 327 -#define OBJ_id_cmc_statusInfo OBJ_id_cmc,1L - -#define SN_id_cmc_identification "id-cmc-identification" -#define NID_id_cmc_identification 328 -#define OBJ_id_cmc_identification OBJ_id_cmc,2L - -#define SN_id_cmc_identityProof "id-cmc-identityProof" -#define NID_id_cmc_identityProof 329 -#define OBJ_id_cmc_identityProof OBJ_id_cmc,3L - -#define SN_id_cmc_dataReturn "id-cmc-dataReturn" -#define NID_id_cmc_dataReturn 330 -#define OBJ_id_cmc_dataReturn OBJ_id_cmc,4L - -#define SN_id_cmc_transactionId "id-cmc-transactionId" -#define NID_id_cmc_transactionId 331 -#define OBJ_id_cmc_transactionId OBJ_id_cmc,5L - -#define SN_id_cmc_senderNonce "id-cmc-senderNonce" -#define NID_id_cmc_senderNonce 332 -#define OBJ_id_cmc_senderNonce OBJ_id_cmc,6L - -#define SN_id_cmc_recipientNonce "id-cmc-recipientNonce" -#define NID_id_cmc_recipientNonce 333 -#define OBJ_id_cmc_recipientNonce OBJ_id_cmc,7L - -#define SN_id_cmc_addExtensions "id-cmc-addExtensions" -#define NID_id_cmc_addExtensions 334 -#define OBJ_id_cmc_addExtensions OBJ_id_cmc,8L - -#define SN_id_cmc_encryptedPOP "id-cmc-encryptedPOP" -#define NID_id_cmc_encryptedPOP 335 -#define OBJ_id_cmc_encryptedPOP OBJ_id_cmc,9L - -#define SN_id_cmc_decryptedPOP "id-cmc-decryptedPOP" -#define NID_id_cmc_decryptedPOP 336 -#define OBJ_id_cmc_decryptedPOP OBJ_id_cmc,10L - -#define SN_id_cmc_lraPOPWitness "id-cmc-lraPOPWitness" -#define NID_id_cmc_lraPOPWitness 337 -#define OBJ_id_cmc_lraPOPWitness OBJ_id_cmc,11L - -#define SN_id_cmc_getCert "id-cmc-getCert" -#define NID_id_cmc_getCert 338 -#define OBJ_id_cmc_getCert OBJ_id_cmc,15L - -#define SN_id_cmc_getCRL "id-cmc-getCRL" -#define NID_id_cmc_getCRL 339 -#define OBJ_id_cmc_getCRL OBJ_id_cmc,16L - -#define SN_id_cmc_revokeRequest "id-cmc-revokeRequest" -#define NID_id_cmc_revokeRequest 340 -#define OBJ_id_cmc_revokeRequest OBJ_id_cmc,17L - -#define SN_id_cmc_regInfo "id-cmc-regInfo" -#define NID_id_cmc_regInfo 341 -#define OBJ_id_cmc_regInfo OBJ_id_cmc,18L - -#define SN_id_cmc_responseInfo "id-cmc-responseInfo" -#define NID_id_cmc_responseInfo 342 -#define OBJ_id_cmc_responseInfo OBJ_id_cmc,19L - -#define SN_id_cmc_queryPending "id-cmc-queryPending" -#define NID_id_cmc_queryPending 343 -#define OBJ_id_cmc_queryPending OBJ_id_cmc,21L - -#define SN_id_cmc_popLinkRandom "id-cmc-popLinkRandom" -#define NID_id_cmc_popLinkRandom 344 -#define OBJ_id_cmc_popLinkRandom OBJ_id_cmc,22L - -#define SN_id_cmc_popLinkWitness "id-cmc-popLinkWitness" -#define NID_id_cmc_popLinkWitness 345 -#define OBJ_id_cmc_popLinkWitness OBJ_id_cmc,23L - -#define SN_id_cmc_confirmCertAcceptance "id-cmc-confirmCertAcceptance" -#define NID_id_cmc_confirmCertAcceptance 346 -#define OBJ_id_cmc_confirmCertAcceptance OBJ_id_cmc,24L - -#define SN_id_on_personalData "id-on-personalData" -#define NID_id_on_personalData 347 -#define OBJ_id_on_personalData OBJ_id_on,1L - -#define SN_id_on_permanentIdentifier "id-on-permanentIdentifier" -#define LN_id_on_permanentIdentifier "Permanent Identifier" -#define NID_id_on_permanentIdentifier 858 -#define OBJ_id_on_permanentIdentifier OBJ_id_on,3L - -#define SN_id_pda_dateOfBirth "id-pda-dateOfBirth" -#define NID_id_pda_dateOfBirth 348 -#define OBJ_id_pda_dateOfBirth OBJ_id_pda,1L - -#define SN_id_pda_placeOfBirth "id-pda-placeOfBirth" -#define NID_id_pda_placeOfBirth 349 -#define OBJ_id_pda_placeOfBirth OBJ_id_pda,2L - -#define SN_id_pda_gender "id-pda-gender" -#define NID_id_pda_gender 351 -#define OBJ_id_pda_gender OBJ_id_pda,3L - -#define SN_id_pda_countryOfCitizenship "id-pda-countryOfCitizenship" -#define NID_id_pda_countryOfCitizenship 352 -#define OBJ_id_pda_countryOfCitizenship OBJ_id_pda,4L - -#define SN_id_pda_countryOfResidence "id-pda-countryOfResidence" -#define NID_id_pda_countryOfResidence 353 -#define OBJ_id_pda_countryOfResidence OBJ_id_pda,5L - -#define SN_id_aca_authenticationInfo "id-aca-authenticationInfo" -#define NID_id_aca_authenticationInfo 354 -#define OBJ_id_aca_authenticationInfo OBJ_id_aca,1L - -#define SN_id_aca_accessIdentity "id-aca-accessIdentity" -#define NID_id_aca_accessIdentity 355 -#define OBJ_id_aca_accessIdentity OBJ_id_aca,2L - -#define SN_id_aca_chargingIdentity "id-aca-chargingIdentity" -#define NID_id_aca_chargingIdentity 356 -#define OBJ_id_aca_chargingIdentity OBJ_id_aca,3L - -#define SN_id_aca_group "id-aca-group" -#define NID_id_aca_group 357 -#define OBJ_id_aca_group OBJ_id_aca,4L - -#define SN_id_aca_role "id-aca-role" -#define NID_id_aca_role 358 -#define OBJ_id_aca_role OBJ_id_aca,5L - -#define SN_id_aca_encAttrs "id-aca-encAttrs" -#define NID_id_aca_encAttrs 399 -#define OBJ_id_aca_encAttrs OBJ_id_aca,6L - -#define SN_id_qcs_pkixQCSyntax_v1 "id-qcs-pkixQCSyntax-v1" -#define NID_id_qcs_pkixQCSyntax_v1 359 -#define OBJ_id_qcs_pkixQCSyntax_v1 OBJ_id_qcs,1L - -#define SN_id_cct_crs "id-cct-crs" -#define NID_id_cct_crs 360 -#define OBJ_id_cct_crs OBJ_id_cct,1L - -#define SN_id_cct_PKIData "id-cct-PKIData" -#define NID_id_cct_PKIData 361 -#define OBJ_id_cct_PKIData OBJ_id_cct,2L - -#define SN_id_cct_PKIResponse "id-cct-PKIResponse" -#define NID_id_cct_PKIResponse 362 -#define OBJ_id_cct_PKIResponse OBJ_id_cct,3L - -#define SN_id_ppl_anyLanguage "id-ppl-anyLanguage" -#define LN_id_ppl_anyLanguage "Any language" -#define NID_id_ppl_anyLanguage 664 -#define OBJ_id_ppl_anyLanguage OBJ_id_ppl,0L - -#define SN_id_ppl_inheritAll "id-ppl-inheritAll" -#define LN_id_ppl_inheritAll "Inherit all" -#define NID_id_ppl_inheritAll 665 -#define OBJ_id_ppl_inheritAll OBJ_id_ppl,1L - -#define SN_Independent "id-ppl-independent" -#define LN_Independent "Independent" -#define NID_Independent 667 -#define OBJ_Independent OBJ_id_ppl,2L - -#define SN_ad_OCSP "OCSP" -#define LN_ad_OCSP "OCSP" -#define NID_ad_OCSP 178 -#define OBJ_ad_OCSP OBJ_id_ad,1L - -#define SN_ad_ca_issuers "caIssuers" -#define LN_ad_ca_issuers "CA Issuers" -#define NID_ad_ca_issuers 179 -#define OBJ_ad_ca_issuers OBJ_id_ad,2L - -#define SN_ad_timeStamping "ad_timestamping" -#define LN_ad_timeStamping "AD Time Stamping" -#define NID_ad_timeStamping 363 -#define OBJ_ad_timeStamping OBJ_id_ad,3L - -#define SN_ad_dvcs "AD_DVCS" -#define LN_ad_dvcs "ad dvcs" -#define NID_ad_dvcs 364 -#define OBJ_ad_dvcs OBJ_id_ad,4L - -#define SN_caRepository "caRepository" -#define LN_caRepository "CA Repository" -#define NID_caRepository 785 -#define OBJ_caRepository OBJ_id_ad,5L - -#define OBJ_id_pkix_OCSP OBJ_ad_OCSP - -#define SN_id_pkix_OCSP_basic "basicOCSPResponse" -#define LN_id_pkix_OCSP_basic "Basic OCSP Response" -#define NID_id_pkix_OCSP_basic 365 -#define OBJ_id_pkix_OCSP_basic OBJ_id_pkix_OCSP,1L - -#define SN_id_pkix_OCSP_Nonce "Nonce" -#define LN_id_pkix_OCSP_Nonce "OCSP Nonce" -#define NID_id_pkix_OCSP_Nonce 366 -#define OBJ_id_pkix_OCSP_Nonce OBJ_id_pkix_OCSP,2L - -#define SN_id_pkix_OCSP_CrlID "CrlID" -#define LN_id_pkix_OCSP_CrlID "OCSP CRL ID" -#define NID_id_pkix_OCSP_CrlID 367 -#define OBJ_id_pkix_OCSP_CrlID OBJ_id_pkix_OCSP,3L - -#define SN_id_pkix_OCSP_acceptableResponses "acceptableResponses" -#define LN_id_pkix_OCSP_acceptableResponses "Acceptable OCSP Responses" -#define NID_id_pkix_OCSP_acceptableResponses 368 -#define OBJ_id_pkix_OCSP_acceptableResponses OBJ_id_pkix_OCSP,4L - -#define SN_id_pkix_OCSP_noCheck "noCheck" -#define LN_id_pkix_OCSP_noCheck "OCSP No Check" -#define NID_id_pkix_OCSP_noCheck 369 -#define OBJ_id_pkix_OCSP_noCheck OBJ_id_pkix_OCSP,5L - -#define SN_id_pkix_OCSP_archiveCutoff "archiveCutoff" -#define LN_id_pkix_OCSP_archiveCutoff "OCSP Archive Cutoff" -#define NID_id_pkix_OCSP_archiveCutoff 370 -#define OBJ_id_pkix_OCSP_archiveCutoff OBJ_id_pkix_OCSP,6L - -#define SN_id_pkix_OCSP_serviceLocator "serviceLocator" -#define LN_id_pkix_OCSP_serviceLocator "OCSP Service Locator" -#define NID_id_pkix_OCSP_serviceLocator 371 -#define OBJ_id_pkix_OCSP_serviceLocator OBJ_id_pkix_OCSP,7L - -#define SN_id_pkix_OCSP_extendedStatus "extendedStatus" -#define LN_id_pkix_OCSP_extendedStatus "Extended OCSP Status" -#define NID_id_pkix_OCSP_extendedStatus 372 -#define OBJ_id_pkix_OCSP_extendedStatus OBJ_id_pkix_OCSP,8L - -#define SN_id_pkix_OCSP_valid "valid" -#define NID_id_pkix_OCSP_valid 373 -#define OBJ_id_pkix_OCSP_valid OBJ_id_pkix_OCSP,9L - -#define SN_id_pkix_OCSP_path "path" -#define NID_id_pkix_OCSP_path 374 -#define OBJ_id_pkix_OCSP_path OBJ_id_pkix_OCSP,10L - -#define SN_id_pkix_OCSP_trustRoot "trustRoot" -#define LN_id_pkix_OCSP_trustRoot "Trust Root" -#define NID_id_pkix_OCSP_trustRoot 375 -#define OBJ_id_pkix_OCSP_trustRoot OBJ_id_pkix_OCSP,11L - -#define SN_algorithm "algorithm" -#define LN_algorithm "algorithm" -#define NID_algorithm 376 -#define OBJ_algorithm 1L,3L,14L,3L,2L - -#define SN_md5WithRSA "RSA-NP-MD5" -#define LN_md5WithRSA "md5WithRSA" -#define NID_md5WithRSA 104 -#define OBJ_md5WithRSA OBJ_algorithm,3L - -#define SN_des_ecb "DES-ECB" -#define LN_des_ecb "des-ecb" -#define NID_des_ecb 29 -#define OBJ_des_ecb OBJ_algorithm,6L - -#define SN_des_cbc "DES-CBC" -#define LN_des_cbc "des-cbc" -#define NID_des_cbc 31 -#define OBJ_des_cbc OBJ_algorithm,7L - -#define SN_des_ofb64 "DES-OFB" -#define LN_des_ofb64 "des-ofb" -#define NID_des_ofb64 45 -#define OBJ_des_ofb64 OBJ_algorithm,8L - -#define SN_des_cfb64 "DES-CFB" -#define LN_des_cfb64 "des-cfb" -#define NID_des_cfb64 30 -#define OBJ_des_cfb64 OBJ_algorithm,9L - -#define SN_rsaSignature "rsaSignature" -#define NID_rsaSignature 377 -#define OBJ_rsaSignature OBJ_algorithm,11L - -#define SN_dsa_2 "DSA-old" -#define LN_dsa_2 "dsaEncryption-old" -#define NID_dsa_2 67 -#define OBJ_dsa_2 OBJ_algorithm,12L - -#define SN_dsaWithSHA "DSA-SHA" -#define LN_dsaWithSHA "dsaWithSHA" -#define NID_dsaWithSHA 66 -#define OBJ_dsaWithSHA OBJ_algorithm,13L - -#define SN_shaWithRSAEncryption "RSA-SHA" -#define LN_shaWithRSAEncryption "shaWithRSAEncryption" -#define NID_shaWithRSAEncryption 42 -#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L - -#define SN_des_ede_ecb "DES-EDE" -#define LN_des_ede_ecb "des-ede" -#define NID_des_ede_ecb 32 -#define OBJ_des_ede_ecb OBJ_algorithm,17L - -#define SN_des_ede3_ecb "DES-EDE3" -#define LN_des_ede3_ecb "des-ede3" -#define NID_des_ede3_ecb 33 - -#define SN_des_ede_cbc "DES-EDE-CBC" -#define LN_des_ede_cbc "des-ede-cbc" -#define NID_des_ede_cbc 43 - -#define SN_des_ede_cfb64 "DES-EDE-CFB" -#define LN_des_ede_cfb64 "des-ede-cfb" -#define NID_des_ede_cfb64 60 - -#define SN_des_ede3_cfb64 "DES-EDE3-CFB" -#define LN_des_ede3_cfb64 "des-ede3-cfb" -#define NID_des_ede3_cfb64 61 - -#define SN_des_ede_ofb64 "DES-EDE-OFB" -#define LN_des_ede_ofb64 "des-ede-ofb" -#define NID_des_ede_ofb64 62 - -#define SN_des_ede3_ofb64 "DES-EDE3-OFB" -#define LN_des_ede3_ofb64 "des-ede3-ofb" -#define NID_des_ede3_ofb64 63 - -#define SN_desx_cbc "DESX-CBC" -#define LN_desx_cbc "desx-cbc" -#define NID_desx_cbc 80 - -#define SN_sha "SHA" -#define LN_sha "sha" -#define NID_sha 41 -#define OBJ_sha OBJ_algorithm,18L - -#define SN_sha1 "SHA1" -#define LN_sha1 "sha1" -#define NID_sha1 64 -#define OBJ_sha1 OBJ_algorithm,26L - -#define SN_dsaWithSHA1_2 "DSA-SHA1-old" -#define LN_dsaWithSHA1_2 "dsaWithSHA1-old" -#define NID_dsaWithSHA1_2 70 -#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L - -#define SN_sha1WithRSA "RSA-SHA1-2" -#define LN_sha1WithRSA "sha1WithRSA" -#define NID_sha1WithRSA 115 -#define OBJ_sha1WithRSA OBJ_algorithm,29L - -#define SN_ripemd160 "RIPEMD160" -#define LN_ripemd160 "ripemd160" -#define NID_ripemd160 117 -#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L - -#define SN_ripemd160WithRSA "RSA-RIPEMD160" -#define LN_ripemd160WithRSA "ripemd160WithRSA" -#define NID_ripemd160WithRSA 119 -#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L - -#define SN_sxnet "SXNetID" -#define LN_sxnet "Strong Extranet ID" -#define NID_sxnet 143 -#define OBJ_sxnet 1L,3L,101L,1L,4L,1L - -#define SN_X500 "X500" -#define LN_X500 "directory services (X.500)" -#define NID_X500 11 -#define OBJ_X500 2L,5L - -#define SN_X509 "X509" -#define NID_X509 12 -#define OBJ_X509 OBJ_X500,4L - -#define SN_commonName "CN" -#define LN_commonName "commonName" -#define NID_commonName 13 -#define OBJ_commonName OBJ_X509,3L - -#define SN_surname "SN" -#define LN_surname "surname" -#define NID_surname 100 -#define OBJ_surname OBJ_X509,4L - -#define LN_serialNumber "serialNumber" -#define NID_serialNumber 105 -#define OBJ_serialNumber OBJ_X509,5L - -#define SN_countryName "C" -#define LN_countryName "countryName" -#define NID_countryName 14 -#define OBJ_countryName OBJ_X509,6L - -#define SN_localityName "L" -#define LN_localityName "localityName" -#define NID_localityName 15 -#define OBJ_localityName OBJ_X509,7L - -#define SN_stateOrProvinceName "ST" -#define LN_stateOrProvinceName "stateOrProvinceName" -#define NID_stateOrProvinceName 16 -#define OBJ_stateOrProvinceName OBJ_X509,8L - -#define SN_streetAddress "street" -#define LN_streetAddress "streetAddress" -#define NID_streetAddress 660 -#define OBJ_streetAddress OBJ_X509,9L - -#define SN_organizationName "O" -#define LN_organizationName "organizationName" -#define NID_organizationName 17 -#define OBJ_organizationName OBJ_X509,10L - -#define SN_organizationalUnitName "OU" -#define LN_organizationalUnitName "organizationalUnitName" -#define NID_organizationalUnitName 18 -#define OBJ_organizationalUnitName OBJ_X509,11L - -#define SN_title "title" -#define LN_title "title" -#define NID_title 106 -#define OBJ_title OBJ_X509,12L - -#define LN_description "description" -#define NID_description 107 -#define OBJ_description OBJ_X509,13L - -#define LN_searchGuide "searchGuide" -#define NID_searchGuide 859 -#define OBJ_searchGuide OBJ_X509,14L - -#define LN_businessCategory "businessCategory" -#define NID_businessCategory 860 -#define OBJ_businessCategory OBJ_X509,15L - -#define LN_postalAddress "postalAddress" -#define NID_postalAddress 861 -#define OBJ_postalAddress OBJ_X509,16L - -#define LN_postalCode "postalCode" -#define NID_postalCode 661 -#define OBJ_postalCode OBJ_X509,17L - -#define LN_postOfficeBox "postOfficeBox" -#define NID_postOfficeBox 862 -#define OBJ_postOfficeBox OBJ_X509,18L - -#define LN_physicalDeliveryOfficeName "physicalDeliveryOfficeName" -#define NID_physicalDeliveryOfficeName 863 -#define OBJ_physicalDeliveryOfficeName OBJ_X509,19L - -#define LN_telephoneNumber "telephoneNumber" -#define NID_telephoneNumber 864 -#define OBJ_telephoneNumber OBJ_X509,20L - -#define LN_telexNumber "telexNumber" -#define NID_telexNumber 865 -#define OBJ_telexNumber OBJ_X509,21L - -#define LN_teletexTerminalIdentifier "teletexTerminalIdentifier" -#define NID_teletexTerminalIdentifier 866 -#define OBJ_teletexTerminalIdentifier OBJ_X509,22L - -#define LN_facsimileTelephoneNumber "facsimileTelephoneNumber" -#define NID_facsimileTelephoneNumber 867 -#define OBJ_facsimileTelephoneNumber OBJ_X509,23L - -#define LN_x121Address "x121Address" -#define NID_x121Address 868 -#define OBJ_x121Address OBJ_X509,24L - -#define LN_internationaliSDNNumber "internationaliSDNNumber" -#define NID_internationaliSDNNumber 869 -#define OBJ_internationaliSDNNumber OBJ_X509,25L - -#define LN_registeredAddress "registeredAddress" -#define NID_registeredAddress 870 -#define OBJ_registeredAddress OBJ_X509,26L - -#define LN_destinationIndicator "destinationIndicator" -#define NID_destinationIndicator 871 -#define OBJ_destinationIndicator OBJ_X509,27L - -#define LN_preferredDeliveryMethod "preferredDeliveryMethod" -#define NID_preferredDeliveryMethod 872 -#define OBJ_preferredDeliveryMethod OBJ_X509,28L - -#define LN_presentationAddress "presentationAddress" -#define NID_presentationAddress 873 -#define OBJ_presentationAddress OBJ_X509,29L - -#define LN_supportedApplicationContext "supportedApplicationContext" -#define NID_supportedApplicationContext 874 -#define OBJ_supportedApplicationContext OBJ_X509,30L - -#define SN_member "member" -#define NID_member 875 -#define OBJ_member OBJ_X509,31L - -#define SN_owner "owner" -#define NID_owner 876 -#define OBJ_owner OBJ_X509,32L - -#define LN_roleOccupant "roleOccupant" -#define NID_roleOccupant 877 -#define OBJ_roleOccupant OBJ_X509,33L - -#define SN_seeAlso "seeAlso" -#define NID_seeAlso 878 -#define OBJ_seeAlso OBJ_X509,34L - -#define LN_userPassword "userPassword" -#define NID_userPassword 879 -#define OBJ_userPassword OBJ_X509,35L - -#define LN_userCertificate "userCertificate" -#define NID_userCertificate 880 -#define OBJ_userCertificate OBJ_X509,36L - -#define LN_cACertificate "cACertificate" -#define NID_cACertificate 881 -#define OBJ_cACertificate OBJ_X509,37L - -#define LN_authorityRevocationList "authorityRevocationList" -#define NID_authorityRevocationList 882 -#define OBJ_authorityRevocationList OBJ_X509,38L - -#define LN_certificateRevocationList "certificateRevocationList" -#define NID_certificateRevocationList 883 -#define OBJ_certificateRevocationList OBJ_X509,39L - -#define LN_crossCertificatePair "crossCertificatePair" -#define NID_crossCertificatePair 884 -#define OBJ_crossCertificatePair OBJ_X509,40L - -#define SN_name "name" -#define LN_name "name" -#define NID_name 173 -#define OBJ_name OBJ_X509,41L - -#define SN_givenName "GN" -#define LN_givenName "givenName" -#define NID_givenName 99 -#define OBJ_givenName OBJ_X509,42L - -#define SN_initials "initials" -#define LN_initials "initials" -#define NID_initials 101 -#define OBJ_initials OBJ_X509,43L - -#define LN_generationQualifier "generationQualifier" -#define NID_generationQualifier 509 -#define OBJ_generationQualifier OBJ_X509,44L - -#define LN_x500UniqueIdentifier "x500UniqueIdentifier" -#define NID_x500UniqueIdentifier 503 -#define OBJ_x500UniqueIdentifier OBJ_X509,45L - -#define SN_dnQualifier "dnQualifier" -#define LN_dnQualifier "dnQualifier" -#define NID_dnQualifier 174 -#define OBJ_dnQualifier OBJ_X509,46L - -#define LN_enhancedSearchGuide "enhancedSearchGuide" -#define NID_enhancedSearchGuide 885 -#define OBJ_enhancedSearchGuide OBJ_X509,47L - -#define LN_protocolInformation "protocolInformation" -#define NID_protocolInformation 886 -#define OBJ_protocolInformation OBJ_X509,48L - -#define LN_distinguishedName "distinguishedName" -#define NID_distinguishedName 887 -#define OBJ_distinguishedName OBJ_X509,49L - -#define LN_uniqueMember "uniqueMember" -#define NID_uniqueMember 888 -#define OBJ_uniqueMember OBJ_X509,50L - -#define LN_houseIdentifier "houseIdentifier" -#define NID_houseIdentifier 889 -#define OBJ_houseIdentifier OBJ_X509,51L - -#define LN_supportedAlgorithms "supportedAlgorithms" -#define NID_supportedAlgorithms 890 -#define OBJ_supportedAlgorithms OBJ_X509,52L - -#define LN_deltaRevocationList "deltaRevocationList" -#define NID_deltaRevocationList 891 -#define OBJ_deltaRevocationList OBJ_X509,53L - -#define SN_dmdName "dmdName" -#define NID_dmdName 892 -#define OBJ_dmdName OBJ_X509,54L - -#define LN_pseudonym "pseudonym" -#define NID_pseudonym 510 -#define OBJ_pseudonym OBJ_X509,65L - -#define SN_role "role" -#define LN_role "role" -#define NID_role 400 -#define OBJ_role OBJ_X509,72L - -#define SN_X500algorithms "X500algorithms" -#define LN_X500algorithms "directory services - algorithms" -#define NID_X500algorithms 378 -#define OBJ_X500algorithms OBJ_X500,8L - -#define SN_rsa "RSA" -#define LN_rsa "rsa" -#define NID_rsa 19 -#define OBJ_rsa OBJ_X500algorithms,1L,1L - -#define SN_mdc2WithRSA "RSA-MDC2" -#define LN_mdc2WithRSA "mdc2WithRSA" -#define NID_mdc2WithRSA 96 -#define OBJ_mdc2WithRSA OBJ_X500algorithms,3L,100L - -#define SN_mdc2 "MDC2" -#define LN_mdc2 "mdc2" -#define NID_mdc2 95 -#define OBJ_mdc2 OBJ_X500algorithms,3L,101L - -#define SN_id_ce "id-ce" -#define NID_id_ce 81 -#define OBJ_id_ce OBJ_X500,29L - -#define SN_subject_directory_attributes "subjectDirectoryAttributes" -#define LN_subject_directory_attributes "X509v3 Subject Directory Attributes" -#define NID_subject_directory_attributes 769 -#define OBJ_subject_directory_attributes OBJ_id_ce,9L - -#define SN_subject_key_identifier "subjectKeyIdentifier" -#define LN_subject_key_identifier "X509v3 Subject Key Identifier" -#define NID_subject_key_identifier 82 -#define OBJ_subject_key_identifier OBJ_id_ce,14L - -#define SN_key_usage "keyUsage" -#define LN_key_usage "X509v3 Key Usage" -#define NID_key_usage 83 -#define OBJ_key_usage OBJ_id_ce,15L - -#define SN_private_key_usage_period "privateKeyUsagePeriod" -#define LN_private_key_usage_period "X509v3 Private Key Usage Period" -#define NID_private_key_usage_period 84 -#define OBJ_private_key_usage_period OBJ_id_ce,16L - -#define SN_subject_alt_name "subjectAltName" -#define LN_subject_alt_name "X509v3 Subject Alternative Name" -#define NID_subject_alt_name 85 -#define OBJ_subject_alt_name OBJ_id_ce,17L - -#define SN_issuer_alt_name "issuerAltName" -#define LN_issuer_alt_name "X509v3 Issuer Alternative Name" -#define NID_issuer_alt_name 86 -#define OBJ_issuer_alt_name OBJ_id_ce,18L - -#define SN_basic_constraints "basicConstraints" -#define LN_basic_constraints "X509v3 Basic Constraints" -#define NID_basic_constraints 87 -#define OBJ_basic_constraints OBJ_id_ce,19L - -#define SN_crl_number "crlNumber" -#define LN_crl_number "X509v3 CRL Number" -#define NID_crl_number 88 -#define OBJ_crl_number OBJ_id_ce,20L - -#define SN_crl_reason "CRLReason" -#define LN_crl_reason "X509v3 CRL Reason Code" -#define NID_crl_reason 141 -#define OBJ_crl_reason OBJ_id_ce,21L - -#define SN_invalidity_date "invalidityDate" -#define LN_invalidity_date "Invalidity Date" -#define NID_invalidity_date 142 -#define OBJ_invalidity_date OBJ_id_ce,24L - -#define SN_delta_crl "deltaCRL" -#define LN_delta_crl "X509v3 Delta CRL Indicator" -#define NID_delta_crl 140 -#define OBJ_delta_crl OBJ_id_ce,27L - -#define SN_issuing_distribution_point "issuingDistributionPoint" -#define LN_issuing_distribution_point "X509v3 Issuing Distrubution Point" -#define NID_issuing_distribution_point 770 -#define OBJ_issuing_distribution_point OBJ_id_ce,28L - -#define SN_certificate_issuer "certificateIssuer" -#define LN_certificate_issuer "X509v3 Certificate Issuer" -#define NID_certificate_issuer 771 -#define OBJ_certificate_issuer OBJ_id_ce,29L - -#define SN_name_constraints "nameConstraints" -#define LN_name_constraints "X509v3 Name Constraints" -#define NID_name_constraints 666 -#define OBJ_name_constraints OBJ_id_ce,30L - -#define SN_crl_distribution_points "crlDistributionPoints" -#define LN_crl_distribution_points "X509v3 CRL Distribution Points" -#define NID_crl_distribution_points 103 -#define OBJ_crl_distribution_points OBJ_id_ce,31L - -#define SN_certificate_policies "certificatePolicies" -#define LN_certificate_policies "X509v3 Certificate Policies" -#define NID_certificate_policies 89 -#define OBJ_certificate_policies OBJ_id_ce,32L - -#define SN_any_policy "anyPolicy" -#define LN_any_policy "X509v3 Any Policy" -#define NID_any_policy 746 -#define OBJ_any_policy OBJ_certificate_policies,0L - -#define SN_policy_mappings "policyMappings" -#define LN_policy_mappings "X509v3 Policy Mappings" -#define NID_policy_mappings 747 -#define OBJ_policy_mappings OBJ_id_ce,33L - -#define SN_authority_key_identifier "authorityKeyIdentifier" -#define LN_authority_key_identifier "X509v3 Authority Key Identifier" -#define NID_authority_key_identifier 90 -#define OBJ_authority_key_identifier OBJ_id_ce,35L - -#define SN_policy_constraints "policyConstraints" -#define LN_policy_constraints "X509v3 Policy Constraints" -#define NID_policy_constraints 401 -#define OBJ_policy_constraints OBJ_id_ce,36L - -#define SN_ext_key_usage "extendedKeyUsage" -#define LN_ext_key_usage "X509v3 Extended Key Usage" -#define NID_ext_key_usage 126 -#define OBJ_ext_key_usage OBJ_id_ce,37L - -#define SN_freshest_crl "freshestCRL" -#define LN_freshest_crl "X509v3 Freshest CRL" -#define NID_freshest_crl 857 -#define OBJ_freshest_crl OBJ_id_ce,46L - -#define SN_inhibit_any_policy "inhibitAnyPolicy" -#define LN_inhibit_any_policy "X509v3 Inhibit Any Policy" -#define NID_inhibit_any_policy 748 -#define OBJ_inhibit_any_policy OBJ_id_ce,54L - -#define SN_target_information "targetInformation" -#define LN_target_information "X509v3 AC Targeting" -#define NID_target_information 402 -#define OBJ_target_information OBJ_id_ce,55L - -#define SN_no_rev_avail "noRevAvail" -#define LN_no_rev_avail "X509v3 No Revocation Available" -#define NID_no_rev_avail 403 -#define OBJ_no_rev_avail OBJ_id_ce,56L - -#define SN_anyExtendedKeyUsage "anyExtendedKeyUsage" -#define LN_anyExtendedKeyUsage "Any Extended Key Usage" -#define NID_anyExtendedKeyUsage 910 -#define OBJ_anyExtendedKeyUsage OBJ_ext_key_usage,0L - -#define SN_netscape "Netscape" -#define LN_netscape "Netscape Communications Corp." -#define NID_netscape 57 -#define OBJ_netscape 2L,16L,840L,1L,113730L - -#define SN_netscape_cert_extension "nsCertExt" -#define LN_netscape_cert_extension "Netscape Certificate Extension" -#define NID_netscape_cert_extension 58 -#define OBJ_netscape_cert_extension OBJ_netscape,1L - -#define SN_netscape_data_type "nsDataType" -#define LN_netscape_data_type "Netscape Data Type" -#define NID_netscape_data_type 59 -#define OBJ_netscape_data_type OBJ_netscape,2L - -#define SN_netscape_cert_type "nsCertType" -#define LN_netscape_cert_type "Netscape Cert Type" -#define NID_netscape_cert_type 71 -#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L - -#define SN_netscape_base_url "nsBaseUrl" -#define LN_netscape_base_url "Netscape Base Url" -#define NID_netscape_base_url 72 -#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L - -#define SN_netscape_revocation_url "nsRevocationUrl" -#define LN_netscape_revocation_url "Netscape Revocation Url" -#define NID_netscape_revocation_url 73 -#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L - -#define SN_netscape_ca_revocation_url "nsCaRevocationUrl" -#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" -#define NID_netscape_ca_revocation_url 74 -#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L - -#define SN_netscape_renewal_url "nsRenewalUrl" -#define LN_netscape_renewal_url "Netscape Renewal Url" -#define NID_netscape_renewal_url 75 -#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L - -#define SN_netscape_ca_policy_url "nsCaPolicyUrl" -#define LN_netscape_ca_policy_url "Netscape CA Policy Url" -#define NID_netscape_ca_policy_url 76 -#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L - -#define SN_netscape_ssl_server_name "nsSslServerName" -#define LN_netscape_ssl_server_name "Netscape SSL Server Name" -#define NID_netscape_ssl_server_name 77 -#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L - -#define SN_netscape_comment "nsComment" -#define LN_netscape_comment "Netscape Comment" -#define NID_netscape_comment 78 -#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L - -#define SN_netscape_cert_sequence "nsCertSequence" -#define LN_netscape_cert_sequence "Netscape Certificate Sequence" -#define NID_netscape_cert_sequence 79 -#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L - -#define SN_ns_sgc "nsSGC" -#define LN_ns_sgc "Netscape Server Gated Crypto" -#define NID_ns_sgc 139 -#define OBJ_ns_sgc OBJ_netscape,4L,1L - -#define SN_org "ORG" -#define LN_org "org" -#define NID_org 379 -#define OBJ_org OBJ_iso,3L - -#define SN_dod "DOD" -#define LN_dod "dod" -#define NID_dod 380 -#define OBJ_dod OBJ_org,6L - -#define SN_iana "IANA" -#define LN_iana "iana" -#define NID_iana 381 -#define OBJ_iana OBJ_dod,1L - -#define OBJ_internet OBJ_iana - -#define SN_Directory "directory" -#define LN_Directory "Directory" -#define NID_Directory 382 -#define OBJ_Directory OBJ_internet,1L - -#define SN_Management "mgmt" -#define LN_Management "Management" -#define NID_Management 383 -#define OBJ_Management OBJ_internet,2L - -#define SN_Experimental "experimental" -#define LN_Experimental "Experimental" -#define NID_Experimental 384 -#define OBJ_Experimental OBJ_internet,3L - -#define SN_Private "private" -#define LN_Private "Private" -#define NID_Private 385 -#define OBJ_Private OBJ_internet,4L - -#define SN_Security "security" -#define LN_Security "Security" -#define NID_Security 386 -#define OBJ_Security OBJ_internet,5L - -#define SN_SNMPv2 "snmpv2" -#define LN_SNMPv2 "SNMPv2" -#define NID_SNMPv2 387 -#define OBJ_SNMPv2 OBJ_internet,6L - -#define LN_Mail "Mail" -#define NID_Mail 388 -#define OBJ_Mail OBJ_internet,7L - -#define SN_Enterprises "enterprises" -#define LN_Enterprises "Enterprises" -#define NID_Enterprises 389 -#define OBJ_Enterprises OBJ_Private,1L - -#define SN_dcObject "dcobject" -#define LN_dcObject "dcObject" -#define NID_dcObject 390 -#define OBJ_dcObject OBJ_Enterprises,1466L,344L - -#define SN_mime_mhs "mime-mhs" -#define LN_mime_mhs "MIME MHS" -#define NID_mime_mhs 504 -#define OBJ_mime_mhs OBJ_Mail,1L - -#define SN_mime_mhs_headings "mime-mhs-headings" -#define LN_mime_mhs_headings "mime-mhs-headings" -#define NID_mime_mhs_headings 505 -#define OBJ_mime_mhs_headings OBJ_mime_mhs,1L - -#define SN_mime_mhs_bodies "mime-mhs-bodies" -#define LN_mime_mhs_bodies "mime-mhs-bodies" -#define NID_mime_mhs_bodies 506 -#define OBJ_mime_mhs_bodies OBJ_mime_mhs,2L - -#define SN_id_hex_partial_message "id-hex-partial-message" -#define LN_id_hex_partial_message "id-hex-partial-message" -#define NID_id_hex_partial_message 507 -#define OBJ_id_hex_partial_message OBJ_mime_mhs_headings,1L - -#define SN_id_hex_multipart_message "id-hex-multipart-message" -#define LN_id_hex_multipart_message "id-hex-multipart-message" -#define NID_id_hex_multipart_message 508 -#define OBJ_id_hex_multipart_message OBJ_mime_mhs_headings,2L - -#define SN_rle_compression "RLE" -#define LN_rle_compression "run length compression" -#define NID_rle_compression 124 -#define OBJ_rle_compression 1L,1L,1L,1L,666L,1L - -#define SN_zlib_compression "ZLIB" -#define LN_zlib_compression "zlib compression" -#define NID_zlib_compression 125 -#define OBJ_zlib_compression OBJ_id_smime_alg,8L - -#define OBJ_csor 2L,16L,840L,1L,101L,3L - -#define OBJ_nistAlgorithms OBJ_csor,4L - -#define OBJ_aes OBJ_nistAlgorithms,1L - -#define SN_aes_128_ecb "AES-128-ECB" -#define LN_aes_128_ecb "aes-128-ecb" -#define NID_aes_128_ecb 418 -#define OBJ_aes_128_ecb OBJ_aes,1L - -#define SN_aes_128_cbc "AES-128-CBC" -#define LN_aes_128_cbc "aes-128-cbc" -#define NID_aes_128_cbc 419 -#define OBJ_aes_128_cbc OBJ_aes,2L - -#define SN_aes_128_ofb128 "AES-128-OFB" -#define LN_aes_128_ofb128 "aes-128-ofb" -#define NID_aes_128_ofb128 420 -#define OBJ_aes_128_ofb128 OBJ_aes,3L - -#define SN_aes_128_cfb128 "AES-128-CFB" -#define LN_aes_128_cfb128 "aes-128-cfb" -#define NID_aes_128_cfb128 421 -#define OBJ_aes_128_cfb128 OBJ_aes,4L - -#define SN_id_aes128_wrap "id-aes128-wrap" -#define NID_id_aes128_wrap 788 -#define OBJ_id_aes128_wrap OBJ_aes,5L - -#define SN_aes_128_gcm "id-aes128-GCM" -#define LN_aes_128_gcm "aes-128-gcm" -#define NID_aes_128_gcm 895 -#define OBJ_aes_128_gcm OBJ_aes,6L - -#define SN_aes_128_ccm "id-aes128-CCM" -#define LN_aes_128_ccm "aes-128-ccm" -#define NID_aes_128_ccm 896 -#define OBJ_aes_128_ccm OBJ_aes,7L - -#define SN_id_aes128_wrap_pad "id-aes128-wrap-pad" -#define NID_id_aes128_wrap_pad 897 -#define OBJ_id_aes128_wrap_pad OBJ_aes,8L - -#define SN_aes_192_ecb "AES-192-ECB" -#define LN_aes_192_ecb "aes-192-ecb" -#define NID_aes_192_ecb 422 -#define OBJ_aes_192_ecb OBJ_aes,21L - -#define SN_aes_192_cbc "AES-192-CBC" -#define LN_aes_192_cbc "aes-192-cbc" -#define NID_aes_192_cbc 423 -#define OBJ_aes_192_cbc OBJ_aes,22L - -#define SN_aes_192_ofb128 "AES-192-OFB" -#define LN_aes_192_ofb128 "aes-192-ofb" -#define NID_aes_192_ofb128 424 -#define OBJ_aes_192_ofb128 OBJ_aes,23L - -#define SN_aes_192_cfb128 "AES-192-CFB" -#define LN_aes_192_cfb128 "aes-192-cfb" -#define NID_aes_192_cfb128 425 -#define OBJ_aes_192_cfb128 OBJ_aes,24L - -#define SN_id_aes192_wrap "id-aes192-wrap" -#define NID_id_aes192_wrap 789 -#define OBJ_id_aes192_wrap OBJ_aes,25L - -#define SN_aes_192_gcm "id-aes192-GCM" -#define LN_aes_192_gcm "aes-192-gcm" -#define NID_aes_192_gcm 898 -#define OBJ_aes_192_gcm OBJ_aes,26L - -#define SN_aes_192_ccm "id-aes192-CCM" -#define LN_aes_192_ccm "aes-192-ccm" -#define NID_aes_192_ccm 899 -#define OBJ_aes_192_ccm OBJ_aes,27L - -#define SN_id_aes192_wrap_pad "id-aes192-wrap-pad" -#define NID_id_aes192_wrap_pad 900 -#define OBJ_id_aes192_wrap_pad OBJ_aes,28L - -#define SN_aes_256_ecb "AES-256-ECB" -#define LN_aes_256_ecb "aes-256-ecb" -#define NID_aes_256_ecb 426 -#define OBJ_aes_256_ecb OBJ_aes,41L - -#define SN_aes_256_cbc "AES-256-CBC" -#define LN_aes_256_cbc "aes-256-cbc" -#define NID_aes_256_cbc 427 -#define OBJ_aes_256_cbc OBJ_aes,42L - -#define SN_aes_256_ofb128 "AES-256-OFB" -#define LN_aes_256_ofb128 "aes-256-ofb" -#define NID_aes_256_ofb128 428 -#define OBJ_aes_256_ofb128 OBJ_aes,43L - -#define SN_aes_256_cfb128 "AES-256-CFB" -#define LN_aes_256_cfb128 "aes-256-cfb" -#define NID_aes_256_cfb128 429 -#define OBJ_aes_256_cfb128 OBJ_aes,44L - -#define SN_id_aes256_wrap "id-aes256-wrap" -#define NID_id_aes256_wrap 790 -#define OBJ_id_aes256_wrap OBJ_aes,45L - -#define SN_aes_256_gcm "id-aes256-GCM" -#define LN_aes_256_gcm "aes-256-gcm" -#define NID_aes_256_gcm 901 -#define OBJ_aes_256_gcm OBJ_aes,46L - -#define SN_aes_256_ccm "id-aes256-CCM" -#define LN_aes_256_ccm "aes-256-ccm" -#define NID_aes_256_ccm 902 -#define OBJ_aes_256_ccm OBJ_aes,47L - -#define SN_id_aes256_wrap_pad "id-aes256-wrap-pad" -#define NID_id_aes256_wrap_pad 903 -#define OBJ_id_aes256_wrap_pad OBJ_aes,48L - -#define SN_aes_128_cfb1 "AES-128-CFB1" -#define LN_aes_128_cfb1 "aes-128-cfb1" -#define NID_aes_128_cfb1 650 - -#define SN_aes_192_cfb1 "AES-192-CFB1" -#define LN_aes_192_cfb1 "aes-192-cfb1" -#define NID_aes_192_cfb1 651 - -#define SN_aes_256_cfb1 "AES-256-CFB1" -#define LN_aes_256_cfb1 "aes-256-cfb1" -#define NID_aes_256_cfb1 652 - -#define SN_aes_128_cfb8 "AES-128-CFB8" -#define LN_aes_128_cfb8 "aes-128-cfb8" -#define NID_aes_128_cfb8 653 - -#define SN_aes_192_cfb8 "AES-192-CFB8" -#define LN_aes_192_cfb8 "aes-192-cfb8" -#define NID_aes_192_cfb8 654 - -#define SN_aes_256_cfb8 "AES-256-CFB8" -#define LN_aes_256_cfb8 "aes-256-cfb8" -#define NID_aes_256_cfb8 655 - -#define SN_aes_128_ctr "AES-128-CTR" -#define LN_aes_128_ctr "aes-128-ctr" -#define NID_aes_128_ctr 904 - -#define SN_aes_192_ctr "AES-192-CTR" -#define LN_aes_192_ctr "aes-192-ctr" -#define NID_aes_192_ctr 905 - -#define SN_aes_256_ctr "AES-256-CTR" -#define LN_aes_256_ctr "aes-256-ctr" -#define NID_aes_256_ctr 906 - -#define SN_aes_128_xts "AES-128-XTS" -#define LN_aes_128_xts "aes-128-xts" -#define NID_aes_128_xts 913 - -#define SN_aes_256_xts "AES-256-XTS" -#define LN_aes_256_xts "aes-256-xts" -#define NID_aes_256_xts 914 - -#define SN_des_cfb1 "DES-CFB1" -#define LN_des_cfb1 "des-cfb1" -#define NID_des_cfb1 656 - -#define SN_des_cfb8 "DES-CFB8" -#define LN_des_cfb8 "des-cfb8" -#define NID_des_cfb8 657 - -#define SN_des_ede3_cfb1 "DES-EDE3-CFB1" -#define LN_des_ede3_cfb1 "des-ede3-cfb1" -#define NID_des_ede3_cfb1 658 - -#define SN_des_ede3_cfb8 "DES-EDE3-CFB8" -#define LN_des_ede3_cfb8 "des-ede3-cfb8" -#define NID_des_ede3_cfb8 659 - -#define OBJ_nist_hashalgs OBJ_nistAlgorithms,2L - -#define SN_sha256 "SHA256" -#define LN_sha256 "sha256" -#define NID_sha256 672 -#define OBJ_sha256 OBJ_nist_hashalgs,1L - -#define SN_sha384 "SHA384" -#define LN_sha384 "sha384" -#define NID_sha384 673 -#define OBJ_sha384 OBJ_nist_hashalgs,2L - -#define SN_sha512 "SHA512" -#define LN_sha512 "sha512" -#define NID_sha512 674 -#define OBJ_sha512 OBJ_nist_hashalgs,3L - -#define SN_sha224 "SHA224" -#define LN_sha224 "sha224" -#define NID_sha224 675 -#define OBJ_sha224 OBJ_nist_hashalgs,4L - -#define OBJ_dsa_with_sha2 OBJ_nistAlgorithms,3L - -#define SN_dsa_with_SHA224 "dsa_with_SHA224" -#define NID_dsa_with_SHA224 802 -#define OBJ_dsa_with_SHA224 OBJ_dsa_with_sha2,1L - -#define SN_dsa_with_SHA256 "dsa_with_SHA256" -#define NID_dsa_with_SHA256 803 -#define OBJ_dsa_with_SHA256 OBJ_dsa_with_sha2,2L - -#define SN_hold_instruction_code "holdInstructionCode" -#define LN_hold_instruction_code "Hold Instruction Code" -#define NID_hold_instruction_code 430 -#define OBJ_hold_instruction_code OBJ_id_ce,23L - -#define OBJ_holdInstruction OBJ_X9_57,2L - -#define SN_hold_instruction_none "holdInstructionNone" -#define LN_hold_instruction_none "Hold Instruction None" -#define NID_hold_instruction_none 431 -#define OBJ_hold_instruction_none OBJ_holdInstruction,1L - -#define SN_hold_instruction_call_issuer "holdInstructionCallIssuer" -#define LN_hold_instruction_call_issuer "Hold Instruction Call Issuer" -#define NID_hold_instruction_call_issuer 432 -#define OBJ_hold_instruction_call_issuer OBJ_holdInstruction,2L - -#define SN_hold_instruction_reject "holdInstructionReject" -#define LN_hold_instruction_reject "Hold Instruction Reject" -#define NID_hold_instruction_reject 433 -#define OBJ_hold_instruction_reject OBJ_holdInstruction,3L - -#define SN_data "data" -#define NID_data 434 -#define OBJ_data OBJ_itu_t,9L - -#define SN_pss "pss" -#define NID_pss 435 -#define OBJ_pss OBJ_data,2342L - -#define SN_ucl "ucl" -#define NID_ucl 436 -#define OBJ_ucl OBJ_pss,19200300L - -#define SN_pilot "pilot" -#define NID_pilot 437 -#define OBJ_pilot OBJ_ucl,100L - -#define LN_pilotAttributeType "pilotAttributeType" -#define NID_pilotAttributeType 438 -#define OBJ_pilotAttributeType OBJ_pilot,1L - -#define LN_pilotAttributeSyntax "pilotAttributeSyntax" -#define NID_pilotAttributeSyntax 439 -#define OBJ_pilotAttributeSyntax OBJ_pilot,3L - -#define LN_pilotObjectClass "pilotObjectClass" -#define NID_pilotObjectClass 440 -#define OBJ_pilotObjectClass OBJ_pilot,4L - -#define LN_pilotGroups "pilotGroups" -#define NID_pilotGroups 441 -#define OBJ_pilotGroups OBJ_pilot,10L - -#define LN_iA5StringSyntax "iA5StringSyntax" -#define NID_iA5StringSyntax 442 -#define OBJ_iA5StringSyntax OBJ_pilotAttributeSyntax,4L - -#define LN_caseIgnoreIA5StringSyntax "caseIgnoreIA5StringSyntax" -#define NID_caseIgnoreIA5StringSyntax 443 -#define OBJ_caseIgnoreIA5StringSyntax OBJ_pilotAttributeSyntax,5L - -#define LN_pilotObject "pilotObject" -#define NID_pilotObject 444 -#define OBJ_pilotObject OBJ_pilotObjectClass,3L - -#define LN_pilotPerson "pilotPerson" -#define NID_pilotPerson 445 -#define OBJ_pilotPerson OBJ_pilotObjectClass,4L - -#define SN_account "account" -#define NID_account 446 -#define OBJ_account OBJ_pilotObjectClass,5L - -#define SN_document "document" -#define NID_document 447 -#define OBJ_document OBJ_pilotObjectClass,6L - -#define SN_room "room" -#define NID_room 448 -#define OBJ_room OBJ_pilotObjectClass,7L - -#define LN_documentSeries "documentSeries" -#define NID_documentSeries 449 -#define OBJ_documentSeries OBJ_pilotObjectClass,9L - -#define SN_Domain "domain" -#define LN_Domain "Domain" -#define NID_Domain 392 -#define OBJ_Domain OBJ_pilotObjectClass,13L - -#define LN_rFC822localPart "rFC822localPart" -#define NID_rFC822localPart 450 -#define OBJ_rFC822localPart OBJ_pilotObjectClass,14L - -#define LN_dNSDomain "dNSDomain" -#define NID_dNSDomain 451 -#define OBJ_dNSDomain OBJ_pilotObjectClass,15L - -#define LN_domainRelatedObject "domainRelatedObject" -#define NID_domainRelatedObject 452 -#define OBJ_domainRelatedObject OBJ_pilotObjectClass,17L - -#define LN_friendlyCountry "friendlyCountry" -#define NID_friendlyCountry 453 -#define OBJ_friendlyCountry OBJ_pilotObjectClass,18L - -#define LN_simpleSecurityObject "simpleSecurityObject" -#define NID_simpleSecurityObject 454 -#define OBJ_simpleSecurityObject OBJ_pilotObjectClass,19L - -#define LN_pilotOrganization "pilotOrganization" -#define NID_pilotOrganization 455 -#define OBJ_pilotOrganization OBJ_pilotObjectClass,20L - -#define LN_pilotDSA "pilotDSA" -#define NID_pilotDSA 456 -#define OBJ_pilotDSA OBJ_pilotObjectClass,21L - -#define LN_qualityLabelledData "qualityLabelledData" -#define NID_qualityLabelledData 457 -#define OBJ_qualityLabelledData OBJ_pilotObjectClass,22L - -#define SN_userId "UID" -#define LN_userId "userId" -#define NID_userId 458 -#define OBJ_userId OBJ_pilotAttributeType,1L - -#define LN_textEncodedORAddress "textEncodedORAddress" -#define NID_textEncodedORAddress 459 -#define OBJ_textEncodedORAddress OBJ_pilotAttributeType,2L - -#define SN_rfc822Mailbox "mail" -#define LN_rfc822Mailbox "rfc822Mailbox" -#define NID_rfc822Mailbox 460 -#define OBJ_rfc822Mailbox OBJ_pilotAttributeType,3L - -#define SN_info "info" -#define NID_info 461 -#define OBJ_info OBJ_pilotAttributeType,4L - -#define LN_favouriteDrink "favouriteDrink" -#define NID_favouriteDrink 462 -#define OBJ_favouriteDrink OBJ_pilotAttributeType,5L - -#define LN_roomNumber "roomNumber" -#define NID_roomNumber 463 -#define OBJ_roomNumber OBJ_pilotAttributeType,6L - -#define SN_photo "photo" -#define NID_photo 464 -#define OBJ_photo OBJ_pilotAttributeType,7L - -#define LN_userClass "userClass" -#define NID_userClass 465 -#define OBJ_userClass OBJ_pilotAttributeType,8L - -#define SN_host "host" -#define NID_host 466 -#define OBJ_host OBJ_pilotAttributeType,9L - -#define SN_manager "manager" -#define NID_manager 467 -#define OBJ_manager OBJ_pilotAttributeType,10L - -#define LN_documentIdentifier "documentIdentifier" -#define NID_documentIdentifier 468 -#define OBJ_documentIdentifier OBJ_pilotAttributeType,11L - -#define LN_documentTitle "documentTitle" -#define NID_documentTitle 469 -#define OBJ_documentTitle OBJ_pilotAttributeType,12L - -#define LN_documentVersion "documentVersion" -#define NID_documentVersion 470 -#define OBJ_documentVersion OBJ_pilotAttributeType,13L - -#define LN_documentAuthor "documentAuthor" -#define NID_documentAuthor 471 -#define OBJ_documentAuthor OBJ_pilotAttributeType,14L - -#define LN_documentLocation "documentLocation" -#define NID_documentLocation 472 -#define OBJ_documentLocation OBJ_pilotAttributeType,15L - -#define LN_homeTelephoneNumber "homeTelephoneNumber" -#define NID_homeTelephoneNumber 473 -#define OBJ_homeTelephoneNumber OBJ_pilotAttributeType,20L - -#define SN_secretary "secretary" -#define NID_secretary 474 -#define OBJ_secretary OBJ_pilotAttributeType,21L - -#define LN_otherMailbox "otherMailbox" -#define NID_otherMailbox 475 -#define OBJ_otherMailbox OBJ_pilotAttributeType,22L - -#define LN_lastModifiedTime "lastModifiedTime" -#define NID_lastModifiedTime 476 -#define OBJ_lastModifiedTime OBJ_pilotAttributeType,23L - -#define LN_lastModifiedBy "lastModifiedBy" -#define NID_lastModifiedBy 477 -#define OBJ_lastModifiedBy OBJ_pilotAttributeType,24L - -#define SN_domainComponent "DC" -#define LN_domainComponent "domainComponent" -#define NID_domainComponent 391 -#define OBJ_domainComponent OBJ_pilotAttributeType,25L - -#define LN_aRecord "aRecord" -#define NID_aRecord 478 -#define OBJ_aRecord OBJ_pilotAttributeType,26L - -#define LN_pilotAttributeType27 "pilotAttributeType27" -#define NID_pilotAttributeType27 479 -#define OBJ_pilotAttributeType27 OBJ_pilotAttributeType,27L - -#define LN_mXRecord "mXRecord" -#define NID_mXRecord 480 -#define OBJ_mXRecord OBJ_pilotAttributeType,28L - -#define LN_nSRecord "nSRecord" -#define NID_nSRecord 481 -#define OBJ_nSRecord OBJ_pilotAttributeType,29L - -#define LN_sOARecord "sOARecord" -#define NID_sOARecord 482 -#define OBJ_sOARecord OBJ_pilotAttributeType,30L - -#define LN_cNAMERecord "cNAMERecord" -#define NID_cNAMERecord 483 -#define OBJ_cNAMERecord OBJ_pilotAttributeType,31L - -#define LN_associatedDomain "associatedDomain" -#define NID_associatedDomain 484 -#define OBJ_associatedDomain OBJ_pilotAttributeType,37L - -#define LN_associatedName "associatedName" -#define NID_associatedName 485 -#define OBJ_associatedName OBJ_pilotAttributeType,38L - -#define LN_homePostalAddress "homePostalAddress" -#define NID_homePostalAddress 486 -#define OBJ_homePostalAddress OBJ_pilotAttributeType,39L - -#define LN_personalTitle "personalTitle" -#define NID_personalTitle 487 -#define OBJ_personalTitle OBJ_pilotAttributeType,40L - -#define LN_mobileTelephoneNumber "mobileTelephoneNumber" -#define NID_mobileTelephoneNumber 488 -#define OBJ_mobileTelephoneNumber OBJ_pilotAttributeType,41L - -#define LN_pagerTelephoneNumber "pagerTelephoneNumber" -#define NID_pagerTelephoneNumber 489 -#define OBJ_pagerTelephoneNumber OBJ_pilotAttributeType,42L - -#define LN_friendlyCountryName "friendlyCountryName" -#define NID_friendlyCountryName 490 -#define OBJ_friendlyCountryName OBJ_pilotAttributeType,43L - -#define LN_organizationalStatus "organizationalStatus" -#define NID_organizationalStatus 491 -#define OBJ_organizationalStatus OBJ_pilotAttributeType,45L - -#define LN_janetMailbox "janetMailbox" -#define NID_janetMailbox 492 -#define OBJ_janetMailbox OBJ_pilotAttributeType,46L - -#define LN_mailPreferenceOption "mailPreferenceOption" -#define NID_mailPreferenceOption 493 -#define OBJ_mailPreferenceOption OBJ_pilotAttributeType,47L - -#define LN_buildingName "buildingName" -#define NID_buildingName 494 -#define OBJ_buildingName OBJ_pilotAttributeType,48L - -#define LN_dSAQuality "dSAQuality" -#define NID_dSAQuality 495 -#define OBJ_dSAQuality OBJ_pilotAttributeType,49L - -#define LN_singleLevelQuality "singleLevelQuality" -#define NID_singleLevelQuality 496 -#define OBJ_singleLevelQuality OBJ_pilotAttributeType,50L - -#define LN_subtreeMinimumQuality "subtreeMinimumQuality" -#define NID_subtreeMinimumQuality 497 -#define OBJ_subtreeMinimumQuality OBJ_pilotAttributeType,51L - -#define LN_subtreeMaximumQuality "subtreeMaximumQuality" -#define NID_subtreeMaximumQuality 498 -#define OBJ_subtreeMaximumQuality OBJ_pilotAttributeType,52L - -#define LN_personalSignature "personalSignature" -#define NID_personalSignature 499 -#define OBJ_personalSignature OBJ_pilotAttributeType,53L - -#define LN_dITRedirect "dITRedirect" -#define NID_dITRedirect 500 -#define OBJ_dITRedirect OBJ_pilotAttributeType,54L - -#define SN_audio "audio" -#define NID_audio 501 -#define OBJ_audio OBJ_pilotAttributeType,55L - -#define LN_documentPublisher "documentPublisher" -#define NID_documentPublisher 502 -#define OBJ_documentPublisher OBJ_pilotAttributeType,56L - -#define SN_id_set "id-set" -#define LN_id_set "Secure Electronic Transactions" -#define NID_id_set 512 -#define OBJ_id_set OBJ_international_organizations,42L - -#define SN_set_ctype "set-ctype" -#define LN_set_ctype "content types" -#define NID_set_ctype 513 -#define OBJ_set_ctype OBJ_id_set,0L - -#define SN_set_msgExt "set-msgExt" -#define LN_set_msgExt "message extensions" -#define NID_set_msgExt 514 -#define OBJ_set_msgExt OBJ_id_set,1L - -#define SN_set_attr "set-attr" -#define NID_set_attr 515 -#define OBJ_set_attr OBJ_id_set,3L - -#define SN_set_policy "set-policy" -#define NID_set_policy 516 -#define OBJ_set_policy OBJ_id_set,5L - -#define SN_set_certExt "set-certExt" -#define LN_set_certExt "certificate extensions" -#define NID_set_certExt 517 -#define OBJ_set_certExt OBJ_id_set,7L - -#define SN_set_brand "set-brand" -#define NID_set_brand 518 -#define OBJ_set_brand OBJ_id_set,8L - -#define SN_setct_PANData "setct-PANData" -#define NID_setct_PANData 519 -#define OBJ_setct_PANData OBJ_set_ctype,0L - -#define SN_setct_PANToken "setct-PANToken" -#define NID_setct_PANToken 520 -#define OBJ_setct_PANToken OBJ_set_ctype,1L - -#define SN_setct_PANOnly "setct-PANOnly" -#define NID_setct_PANOnly 521 -#define OBJ_setct_PANOnly OBJ_set_ctype,2L - -#define SN_setct_OIData "setct-OIData" -#define NID_setct_OIData 522 -#define OBJ_setct_OIData OBJ_set_ctype,3L - -#define SN_setct_PI "setct-PI" -#define NID_setct_PI 523 -#define OBJ_setct_PI OBJ_set_ctype,4L - -#define SN_setct_PIData "setct-PIData" -#define NID_setct_PIData 524 -#define OBJ_setct_PIData OBJ_set_ctype,5L - -#define SN_setct_PIDataUnsigned "setct-PIDataUnsigned" -#define NID_setct_PIDataUnsigned 525 -#define OBJ_setct_PIDataUnsigned OBJ_set_ctype,6L - -#define SN_setct_HODInput "setct-HODInput" -#define NID_setct_HODInput 526 -#define OBJ_setct_HODInput OBJ_set_ctype,7L - -#define SN_setct_AuthResBaggage "setct-AuthResBaggage" -#define NID_setct_AuthResBaggage 527 -#define OBJ_setct_AuthResBaggage OBJ_set_ctype,8L - -#define SN_setct_AuthRevReqBaggage "setct-AuthRevReqBaggage" -#define NID_setct_AuthRevReqBaggage 528 -#define OBJ_setct_AuthRevReqBaggage OBJ_set_ctype,9L - -#define SN_setct_AuthRevResBaggage "setct-AuthRevResBaggage" -#define NID_setct_AuthRevResBaggage 529 -#define OBJ_setct_AuthRevResBaggage OBJ_set_ctype,10L - -#define SN_setct_CapTokenSeq "setct-CapTokenSeq" -#define NID_setct_CapTokenSeq 530 -#define OBJ_setct_CapTokenSeq OBJ_set_ctype,11L - -#define SN_setct_PInitResData "setct-PInitResData" -#define NID_setct_PInitResData 531 -#define OBJ_setct_PInitResData OBJ_set_ctype,12L - -#define SN_setct_PI_TBS "setct-PI-TBS" -#define NID_setct_PI_TBS 532 -#define OBJ_setct_PI_TBS OBJ_set_ctype,13L - -#define SN_setct_PResData "setct-PResData" -#define NID_setct_PResData 533 -#define OBJ_setct_PResData OBJ_set_ctype,14L - -#define SN_setct_AuthReqTBS "setct-AuthReqTBS" -#define NID_setct_AuthReqTBS 534 -#define OBJ_setct_AuthReqTBS OBJ_set_ctype,16L - -#define SN_setct_AuthResTBS "setct-AuthResTBS" -#define NID_setct_AuthResTBS 535 -#define OBJ_setct_AuthResTBS OBJ_set_ctype,17L - -#define SN_setct_AuthResTBSX "setct-AuthResTBSX" -#define NID_setct_AuthResTBSX 536 -#define OBJ_setct_AuthResTBSX OBJ_set_ctype,18L - -#define SN_setct_AuthTokenTBS "setct-AuthTokenTBS" -#define NID_setct_AuthTokenTBS 537 -#define OBJ_setct_AuthTokenTBS OBJ_set_ctype,19L - -#define SN_setct_CapTokenData "setct-CapTokenData" -#define NID_setct_CapTokenData 538 -#define OBJ_setct_CapTokenData OBJ_set_ctype,20L - -#define SN_setct_CapTokenTBS "setct-CapTokenTBS" -#define NID_setct_CapTokenTBS 539 -#define OBJ_setct_CapTokenTBS OBJ_set_ctype,21L - -#define SN_setct_AcqCardCodeMsg "setct-AcqCardCodeMsg" -#define NID_setct_AcqCardCodeMsg 540 -#define OBJ_setct_AcqCardCodeMsg OBJ_set_ctype,22L - -#define SN_setct_AuthRevReqTBS "setct-AuthRevReqTBS" -#define NID_setct_AuthRevReqTBS 541 -#define OBJ_setct_AuthRevReqTBS OBJ_set_ctype,23L - -#define SN_setct_AuthRevResData "setct-AuthRevResData" -#define NID_setct_AuthRevResData 542 -#define OBJ_setct_AuthRevResData OBJ_set_ctype,24L - -#define SN_setct_AuthRevResTBS "setct-AuthRevResTBS" -#define NID_setct_AuthRevResTBS 543 -#define OBJ_setct_AuthRevResTBS OBJ_set_ctype,25L - -#define SN_setct_CapReqTBS "setct-CapReqTBS" -#define NID_setct_CapReqTBS 544 -#define OBJ_setct_CapReqTBS OBJ_set_ctype,26L - -#define SN_setct_CapReqTBSX "setct-CapReqTBSX" -#define NID_setct_CapReqTBSX 545 -#define OBJ_setct_CapReqTBSX OBJ_set_ctype,27L - -#define SN_setct_CapResData "setct-CapResData" -#define NID_setct_CapResData 546 -#define OBJ_setct_CapResData OBJ_set_ctype,28L - -#define SN_setct_CapRevReqTBS "setct-CapRevReqTBS" -#define NID_setct_CapRevReqTBS 547 -#define OBJ_setct_CapRevReqTBS OBJ_set_ctype,29L - -#define SN_setct_CapRevReqTBSX "setct-CapRevReqTBSX" -#define NID_setct_CapRevReqTBSX 548 -#define OBJ_setct_CapRevReqTBSX OBJ_set_ctype,30L - -#define SN_setct_CapRevResData "setct-CapRevResData" -#define NID_setct_CapRevResData 549 -#define OBJ_setct_CapRevResData OBJ_set_ctype,31L - -#define SN_setct_CredReqTBS "setct-CredReqTBS" -#define NID_setct_CredReqTBS 550 -#define OBJ_setct_CredReqTBS OBJ_set_ctype,32L - -#define SN_setct_CredReqTBSX "setct-CredReqTBSX" -#define NID_setct_CredReqTBSX 551 -#define OBJ_setct_CredReqTBSX OBJ_set_ctype,33L - -#define SN_setct_CredResData "setct-CredResData" -#define NID_setct_CredResData 552 -#define OBJ_setct_CredResData OBJ_set_ctype,34L - -#define SN_setct_CredRevReqTBS "setct-CredRevReqTBS" -#define NID_setct_CredRevReqTBS 553 -#define OBJ_setct_CredRevReqTBS OBJ_set_ctype,35L - -#define SN_setct_CredRevReqTBSX "setct-CredRevReqTBSX" -#define NID_setct_CredRevReqTBSX 554 -#define OBJ_setct_CredRevReqTBSX OBJ_set_ctype,36L - -#define SN_setct_CredRevResData "setct-CredRevResData" -#define NID_setct_CredRevResData 555 -#define OBJ_setct_CredRevResData OBJ_set_ctype,37L - -#define SN_setct_PCertReqData "setct-PCertReqData" -#define NID_setct_PCertReqData 556 -#define OBJ_setct_PCertReqData OBJ_set_ctype,38L - -#define SN_setct_PCertResTBS "setct-PCertResTBS" -#define NID_setct_PCertResTBS 557 -#define OBJ_setct_PCertResTBS OBJ_set_ctype,39L - -#define SN_setct_BatchAdminReqData "setct-BatchAdminReqData" -#define NID_setct_BatchAdminReqData 558 -#define OBJ_setct_BatchAdminReqData OBJ_set_ctype,40L - -#define SN_setct_BatchAdminResData "setct-BatchAdminResData" -#define NID_setct_BatchAdminResData 559 -#define OBJ_setct_BatchAdminResData OBJ_set_ctype,41L - -#define SN_setct_CardCInitResTBS "setct-CardCInitResTBS" -#define NID_setct_CardCInitResTBS 560 -#define OBJ_setct_CardCInitResTBS OBJ_set_ctype,42L - -#define SN_setct_MeAqCInitResTBS "setct-MeAqCInitResTBS" -#define NID_setct_MeAqCInitResTBS 561 -#define OBJ_setct_MeAqCInitResTBS OBJ_set_ctype,43L - -#define SN_setct_RegFormResTBS "setct-RegFormResTBS" -#define NID_setct_RegFormResTBS 562 -#define OBJ_setct_RegFormResTBS OBJ_set_ctype,44L - -#define SN_setct_CertReqData "setct-CertReqData" -#define NID_setct_CertReqData 563 -#define OBJ_setct_CertReqData OBJ_set_ctype,45L - -#define SN_setct_CertReqTBS "setct-CertReqTBS" -#define NID_setct_CertReqTBS 564 -#define OBJ_setct_CertReqTBS OBJ_set_ctype,46L - -#define SN_setct_CertResData "setct-CertResData" -#define NID_setct_CertResData 565 -#define OBJ_setct_CertResData OBJ_set_ctype,47L - -#define SN_setct_CertInqReqTBS "setct-CertInqReqTBS" -#define NID_setct_CertInqReqTBS 566 -#define OBJ_setct_CertInqReqTBS OBJ_set_ctype,48L - -#define SN_setct_ErrorTBS "setct-ErrorTBS" -#define NID_setct_ErrorTBS 567 -#define OBJ_setct_ErrorTBS OBJ_set_ctype,49L - -#define SN_setct_PIDualSignedTBE "setct-PIDualSignedTBE" -#define NID_setct_PIDualSignedTBE 568 -#define OBJ_setct_PIDualSignedTBE OBJ_set_ctype,50L - -#define SN_setct_PIUnsignedTBE "setct-PIUnsignedTBE" -#define NID_setct_PIUnsignedTBE 569 -#define OBJ_setct_PIUnsignedTBE OBJ_set_ctype,51L - -#define SN_setct_AuthReqTBE "setct-AuthReqTBE" -#define NID_setct_AuthReqTBE 570 -#define OBJ_setct_AuthReqTBE OBJ_set_ctype,52L - -#define SN_setct_AuthResTBE "setct-AuthResTBE" -#define NID_setct_AuthResTBE 571 -#define OBJ_setct_AuthResTBE OBJ_set_ctype,53L - -#define SN_setct_AuthResTBEX "setct-AuthResTBEX" -#define NID_setct_AuthResTBEX 572 -#define OBJ_setct_AuthResTBEX OBJ_set_ctype,54L - -#define SN_setct_AuthTokenTBE "setct-AuthTokenTBE" -#define NID_setct_AuthTokenTBE 573 -#define OBJ_setct_AuthTokenTBE OBJ_set_ctype,55L - -#define SN_setct_CapTokenTBE "setct-CapTokenTBE" -#define NID_setct_CapTokenTBE 574 -#define OBJ_setct_CapTokenTBE OBJ_set_ctype,56L - -#define SN_setct_CapTokenTBEX "setct-CapTokenTBEX" -#define NID_setct_CapTokenTBEX 575 -#define OBJ_setct_CapTokenTBEX OBJ_set_ctype,57L - -#define SN_setct_AcqCardCodeMsgTBE "setct-AcqCardCodeMsgTBE" -#define NID_setct_AcqCardCodeMsgTBE 576 -#define OBJ_setct_AcqCardCodeMsgTBE OBJ_set_ctype,58L - -#define SN_setct_AuthRevReqTBE "setct-AuthRevReqTBE" -#define NID_setct_AuthRevReqTBE 577 -#define OBJ_setct_AuthRevReqTBE OBJ_set_ctype,59L - -#define SN_setct_AuthRevResTBE "setct-AuthRevResTBE" -#define NID_setct_AuthRevResTBE 578 -#define OBJ_setct_AuthRevResTBE OBJ_set_ctype,60L - -#define SN_setct_AuthRevResTBEB "setct-AuthRevResTBEB" -#define NID_setct_AuthRevResTBEB 579 -#define OBJ_setct_AuthRevResTBEB OBJ_set_ctype,61L - -#define SN_setct_CapReqTBE "setct-CapReqTBE" -#define NID_setct_CapReqTBE 580 -#define OBJ_setct_CapReqTBE OBJ_set_ctype,62L - -#define SN_setct_CapReqTBEX "setct-CapReqTBEX" -#define NID_setct_CapReqTBEX 581 -#define OBJ_setct_CapReqTBEX OBJ_set_ctype,63L - -#define SN_setct_CapResTBE "setct-CapResTBE" -#define NID_setct_CapResTBE 582 -#define OBJ_setct_CapResTBE OBJ_set_ctype,64L - -#define SN_setct_CapRevReqTBE "setct-CapRevReqTBE" -#define NID_setct_CapRevReqTBE 583 -#define OBJ_setct_CapRevReqTBE OBJ_set_ctype,65L - -#define SN_setct_CapRevReqTBEX "setct-CapRevReqTBEX" -#define NID_setct_CapRevReqTBEX 584 -#define OBJ_setct_CapRevReqTBEX OBJ_set_ctype,66L - -#define SN_setct_CapRevResTBE "setct-CapRevResTBE" -#define NID_setct_CapRevResTBE 585 -#define OBJ_setct_CapRevResTBE OBJ_set_ctype,67L - -#define SN_setct_CredReqTBE "setct-CredReqTBE" -#define NID_setct_CredReqTBE 586 -#define OBJ_setct_CredReqTBE OBJ_set_ctype,68L - -#define SN_setct_CredReqTBEX "setct-CredReqTBEX" -#define NID_setct_CredReqTBEX 587 -#define OBJ_setct_CredReqTBEX OBJ_set_ctype,69L - -#define SN_setct_CredResTBE "setct-CredResTBE" -#define NID_setct_CredResTBE 588 -#define OBJ_setct_CredResTBE OBJ_set_ctype,70L - -#define SN_setct_CredRevReqTBE "setct-CredRevReqTBE" -#define NID_setct_CredRevReqTBE 589 -#define OBJ_setct_CredRevReqTBE OBJ_set_ctype,71L - -#define SN_setct_CredRevReqTBEX "setct-CredRevReqTBEX" -#define NID_setct_CredRevReqTBEX 590 -#define OBJ_setct_CredRevReqTBEX OBJ_set_ctype,72L - -#define SN_setct_CredRevResTBE "setct-CredRevResTBE" -#define NID_setct_CredRevResTBE 591 -#define OBJ_setct_CredRevResTBE OBJ_set_ctype,73L - -#define SN_setct_BatchAdminReqTBE "setct-BatchAdminReqTBE" -#define NID_setct_BatchAdminReqTBE 592 -#define OBJ_setct_BatchAdminReqTBE OBJ_set_ctype,74L - -#define SN_setct_BatchAdminResTBE "setct-BatchAdminResTBE" -#define NID_setct_BatchAdminResTBE 593 -#define OBJ_setct_BatchAdminResTBE OBJ_set_ctype,75L - -#define SN_setct_RegFormReqTBE "setct-RegFormReqTBE" -#define NID_setct_RegFormReqTBE 594 -#define OBJ_setct_RegFormReqTBE OBJ_set_ctype,76L - -#define SN_setct_CertReqTBE "setct-CertReqTBE" -#define NID_setct_CertReqTBE 595 -#define OBJ_setct_CertReqTBE OBJ_set_ctype,77L - -#define SN_setct_CertReqTBEX "setct-CertReqTBEX" -#define NID_setct_CertReqTBEX 596 -#define OBJ_setct_CertReqTBEX OBJ_set_ctype,78L - -#define SN_setct_CertResTBE "setct-CertResTBE" -#define NID_setct_CertResTBE 597 -#define OBJ_setct_CertResTBE OBJ_set_ctype,79L - -#define SN_setct_CRLNotificationTBS "setct-CRLNotificationTBS" -#define NID_setct_CRLNotificationTBS 598 -#define OBJ_setct_CRLNotificationTBS OBJ_set_ctype,80L - -#define SN_setct_CRLNotificationResTBS "setct-CRLNotificationResTBS" -#define NID_setct_CRLNotificationResTBS 599 -#define OBJ_setct_CRLNotificationResTBS OBJ_set_ctype,81L - -#define SN_setct_BCIDistributionTBS "setct-BCIDistributionTBS" -#define NID_setct_BCIDistributionTBS 600 -#define OBJ_setct_BCIDistributionTBS OBJ_set_ctype,82L - -#define SN_setext_genCrypt "setext-genCrypt" -#define LN_setext_genCrypt "generic cryptogram" -#define NID_setext_genCrypt 601 -#define OBJ_setext_genCrypt OBJ_set_msgExt,1L - -#define SN_setext_miAuth "setext-miAuth" -#define LN_setext_miAuth "merchant initiated auth" -#define NID_setext_miAuth 602 -#define OBJ_setext_miAuth OBJ_set_msgExt,3L - -#define SN_setext_pinSecure "setext-pinSecure" -#define NID_setext_pinSecure 603 -#define OBJ_setext_pinSecure OBJ_set_msgExt,4L - -#define SN_setext_pinAny "setext-pinAny" -#define NID_setext_pinAny 604 -#define OBJ_setext_pinAny OBJ_set_msgExt,5L - -#define SN_setext_track2 "setext-track2" -#define NID_setext_track2 605 -#define OBJ_setext_track2 OBJ_set_msgExt,7L - -#define SN_setext_cv "setext-cv" -#define LN_setext_cv "additional verification" -#define NID_setext_cv 606 -#define OBJ_setext_cv OBJ_set_msgExt,8L - -#define SN_set_policy_root "set-policy-root" -#define NID_set_policy_root 607 -#define OBJ_set_policy_root OBJ_set_policy,0L - -#define SN_setCext_hashedRoot "setCext-hashedRoot" -#define NID_setCext_hashedRoot 608 -#define OBJ_setCext_hashedRoot OBJ_set_certExt,0L - -#define SN_setCext_certType "setCext-certType" -#define NID_setCext_certType 609 -#define OBJ_setCext_certType OBJ_set_certExt,1L - -#define SN_setCext_merchData "setCext-merchData" -#define NID_setCext_merchData 610 -#define OBJ_setCext_merchData OBJ_set_certExt,2L - -#define SN_setCext_cCertRequired "setCext-cCertRequired" -#define NID_setCext_cCertRequired 611 -#define OBJ_setCext_cCertRequired OBJ_set_certExt,3L - -#define SN_setCext_tunneling "setCext-tunneling" -#define NID_setCext_tunneling 612 -#define OBJ_setCext_tunneling OBJ_set_certExt,4L - -#define SN_setCext_setExt "setCext-setExt" -#define NID_setCext_setExt 613 -#define OBJ_setCext_setExt OBJ_set_certExt,5L - -#define SN_setCext_setQualf "setCext-setQualf" -#define NID_setCext_setQualf 614 -#define OBJ_setCext_setQualf OBJ_set_certExt,6L - -#define SN_setCext_PGWYcapabilities "setCext-PGWYcapabilities" -#define NID_setCext_PGWYcapabilities 615 -#define OBJ_setCext_PGWYcapabilities OBJ_set_certExt,7L - -#define SN_setCext_TokenIdentifier "setCext-TokenIdentifier" -#define NID_setCext_TokenIdentifier 616 -#define OBJ_setCext_TokenIdentifier OBJ_set_certExt,8L - -#define SN_setCext_Track2Data "setCext-Track2Data" -#define NID_setCext_Track2Data 617 -#define OBJ_setCext_Track2Data OBJ_set_certExt,9L - -#define SN_setCext_TokenType "setCext-TokenType" -#define NID_setCext_TokenType 618 -#define OBJ_setCext_TokenType OBJ_set_certExt,10L - -#define SN_setCext_IssuerCapabilities "setCext-IssuerCapabilities" -#define NID_setCext_IssuerCapabilities 619 -#define OBJ_setCext_IssuerCapabilities OBJ_set_certExt,11L - -#define SN_setAttr_Cert "setAttr-Cert" -#define NID_setAttr_Cert 620 -#define OBJ_setAttr_Cert OBJ_set_attr,0L - -#define SN_setAttr_PGWYcap "setAttr-PGWYcap" -#define LN_setAttr_PGWYcap "payment gateway capabilities" -#define NID_setAttr_PGWYcap 621 -#define OBJ_setAttr_PGWYcap OBJ_set_attr,1L - -#define SN_setAttr_TokenType "setAttr-TokenType" -#define NID_setAttr_TokenType 622 -#define OBJ_setAttr_TokenType OBJ_set_attr,2L - -#define SN_setAttr_IssCap "setAttr-IssCap" -#define LN_setAttr_IssCap "issuer capabilities" -#define NID_setAttr_IssCap 623 -#define OBJ_setAttr_IssCap OBJ_set_attr,3L - -#define SN_set_rootKeyThumb "set-rootKeyThumb" -#define NID_set_rootKeyThumb 624 -#define OBJ_set_rootKeyThumb OBJ_setAttr_Cert,0L - -#define SN_set_addPolicy "set-addPolicy" -#define NID_set_addPolicy 625 -#define OBJ_set_addPolicy OBJ_setAttr_Cert,1L - -#define SN_setAttr_Token_EMV "setAttr-Token-EMV" -#define NID_setAttr_Token_EMV 626 -#define OBJ_setAttr_Token_EMV OBJ_setAttr_TokenType,1L - -#define SN_setAttr_Token_B0Prime "setAttr-Token-B0Prime" -#define NID_setAttr_Token_B0Prime 627 -#define OBJ_setAttr_Token_B0Prime OBJ_setAttr_TokenType,2L - -#define SN_setAttr_IssCap_CVM "setAttr-IssCap-CVM" -#define NID_setAttr_IssCap_CVM 628 -#define OBJ_setAttr_IssCap_CVM OBJ_setAttr_IssCap,3L - -#define SN_setAttr_IssCap_T2 "setAttr-IssCap-T2" -#define NID_setAttr_IssCap_T2 629 -#define OBJ_setAttr_IssCap_T2 OBJ_setAttr_IssCap,4L - -#define SN_setAttr_IssCap_Sig "setAttr-IssCap-Sig" -#define NID_setAttr_IssCap_Sig 630 -#define OBJ_setAttr_IssCap_Sig OBJ_setAttr_IssCap,5L - -#define SN_setAttr_GenCryptgrm "setAttr-GenCryptgrm" -#define LN_setAttr_GenCryptgrm "generate cryptogram" -#define NID_setAttr_GenCryptgrm 631 -#define OBJ_setAttr_GenCryptgrm OBJ_setAttr_IssCap_CVM,1L - -#define SN_setAttr_T2Enc "setAttr-T2Enc" -#define LN_setAttr_T2Enc "encrypted track 2" -#define NID_setAttr_T2Enc 632 -#define OBJ_setAttr_T2Enc OBJ_setAttr_IssCap_T2,1L - -#define SN_setAttr_T2cleartxt "setAttr-T2cleartxt" -#define LN_setAttr_T2cleartxt "cleartext track 2" -#define NID_setAttr_T2cleartxt 633 -#define OBJ_setAttr_T2cleartxt OBJ_setAttr_IssCap_T2,2L - -#define SN_setAttr_TokICCsig "setAttr-TokICCsig" -#define LN_setAttr_TokICCsig "ICC or token signature" -#define NID_setAttr_TokICCsig 634 -#define OBJ_setAttr_TokICCsig OBJ_setAttr_IssCap_Sig,1L - -#define SN_setAttr_SecDevSig "setAttr-SecDevSig" -#define LN_setAttr_SecDevSig "secure device signature" -#define NID_setAttr_SecDevSig 635 -#define OBJ_setAttr_SecDevSig OBJ_setAttr_IssCap_Sig,2L - -#define SN_set_brand_IATA_ATA "set-brand-IATA-ATA" -#define NID_set_brand_IATA_ATA 636 -#define OBJ_set_brand_IATA_ATA OBJ_set_brand,1L - -#define SN_set_brand_Diners "set-brand-Diners" -#define NID_set_brand_Diners 637 -#define OBJ_set_brand_Diners OBJ_set_brand,30L - -#define SN_set_brand_AmericanExpress "set-brand-AmericanExpress" -#define NID_set_brand_AmericanExpress 638 -#define OBJ_set_brand_AmericanExpress OBJ_set_brand,34L - -#define SN_set_brand_JCB "set-brand-JCB" -#define NID_set_brand_JCB 639 -#define OBJ_set_brand_JCB OBJ_set_brand,35L - -#define SN_set_brand_Visa "set-brand-Visa" -#define NID_set_brand_Visa 640 -#define OBJ_set_brand_Visa OBJ_set_brand,4L - -#define SN_set_brand_MasterCard "set-brand-MasterCard" -#define NID_set_brand_MasterCard 641 -#define OBJ_set_brand_MasterCard OBJ_set_brand,5L - -#define SN_set_brand_Novus "set-brand-Novus" -#define NID_set_brand_Novus 642 -#define OBJ_set_brand_Novus OBJ_set_brand,6011L - -#define SN_des_cdmf "DES-CDMF" -#define LN_des_cdmf "des-cdmf" -#define NID_des_cdmf 643 -#define OBJ_des_cdmf OBJ_rsadsi,3L,10L - -#define SN_rsaOAEPEncryptionSET "rsaOAEPEncryptionSET" -#define NID_rsaOAEPEncryptionSET 644 -#define OBJ_rsaOAEPEncryptionSET OBJ_rsadsi,1L,1L,6L - -#define SN_ipsec3 "Oakley-EC2N-3" -#define LN_ipsec3 "ipsec3" -#define NID_ipsec3 749 - -#define SN_ipsec4 "Oakley-EC2N-4" -#define LN_ipsec4 "ipsec4" -#define NID_ipsec4 750 - -#define SN_whirlpool "whirlpool" -#define NID_whirlpool 804 -#define OBJ_whirlpool OBJ_iso,0L,10118L,3L,0L,55L - -#define SN_cryptopro "cryptopro" -#define NID_cryptopro 805 -#define OBJ_cryptopro OBJ_member_body,643L,2L,2L - -#define SN_cryptocom "cryptocom" -#define NID_cryptocom 806 -#define OBJ_cryptocom OBJ_member_body,643L,2L,9L - -#define SN_id_GostR3411_94_with_GostR3410_2001 "id-GostR3411-94-with-GostR3410-2001" -#define LN_id_GostR3411_94_with_GostR3410_2001 "GOST R 34.11-94 with GOST R 34.10-2001" -#define NID_id_GostR3411_94_with_GostR3410_2001 807 -#define OBJ_id_GostR3411_94_with_GostR3410_2001 OBJ_cryptopro,3L - -#define SN_id_GostR3411_94_with_GostR3410_94 "id-GostR3411-94-with-GostR3410-94" -#define LN_id_GostR3411_94_with_GostR3410_94 "GOST R 34.11-94 with GOST R 34.10-94" -#define NID_id_GostR3411_94_with_GostR3410_94 808 -#define OBJ_id_GostR3411_94_with_GostR3410_94 OBJ_cryptopro,4L - -#define SN_id_GostR3411_94 "md_gost94" -#define LN_id_GostR3411_94 "GOST R 34.11-94" -#define NID_id_GostR3411_94 809 -#define OBJ_id_GostR3411_94 OBJ_cryptopro,9L - -#define SN_id_HMACGostR3411_94 "id-HMACGostR3411-94" -#define LN_id_HMACGostR3411_94 "HMAC GOST 34.11-94" -#define NID_id_HMACGostR3411_94 810 -#define OBJ_id_HMACGostR3411_94 OBJ_cryptopro,10L - -#define SN_id_GostR3410_2001 "gost2001" -#define LN_id_GostR3410_2001 "GOST R 34.10-2001" -#define NID_id_GostR3410_2001 811 -#define OBJ_id_GostR3410_2001 OBJ_cryptopro,19L - -#define SN_id_GostR3410_94 "gost94" -#define LN_id_GostR3410_94 "GOST R 34.10-94" -#define NID_id_GostR3410_94 812 -#define OBJ_id_GostR3410_94 OBJ_cryptopro,20L - -#define SN_id_Gost28147_89 "gost89" -#define LN_id_Gost28147_89 "GOST 28147-89" -#define NID_id_Gost28147_89 813 -#define OBJ_id_Gost28147_89 OBJ_cryptopro,21L - -#define SN_gost89_cnt "gost89-cnt" -#define NID_gost89_cnt 814 - -#define SN_id_Gost28147_89_MAC "gost-mac" -#define LN_id_Gost28147_89_MAC "GOST 28147-89 MAC" -#define NID_id_Gost28147_89_MAC 815 -#define OBJ_id_Gost28147_89_MAC OBJ_cryptopro,22L - -#define SN_id_GostR3411_94_prf "prf-gostr3411-94" -#define LN_id_GostR3411_94_prf "GOST R 34.11-94 PRF" -#define NID_id_GostR3411_94_prf 816 -#define OBJ_id_GostR3411_94_prf OBJ_cryptopro,23L - -#define SN_id_GostR3410_2001DH "id-GostR3410-2001DH" -#define LN_id_GostR3410_2001DH "GOST R 34.10-2001 DH" -#define NID_id_GostR3410_2001DH 817 -#define OBJ_id_GostR3410_2001DH OBJ_cryptopro,98L - -#define SN_id_GostR3410_94DH "id-GostR3410-94DH" -#define LN_id_GostR3410_94DH "GOST R 34.10-94 DH" -#define NID_id_GostR3410_94DH 818 -#define OBJ_id_GostR3410_94DH OBJ_cryptopro,99L - -#define SN_id_Gost28147_89_CryptoPro_KeyMeshing "id-Gost28147-89-CryptoPro-KeyMeshing" -#define NID_id_Gost28147_89_CryptoPro_KeyMeshing 819 -#define OBJ_id_Gost28147_89_CryptoPro_KeyMeshing OBJ_cryptopro,14L,1L - -#define SN_id_Gost28147_89_None_KeyMeshing "id-Gost28147-89-None-KeyMeshing" -#define NID_id_Gost28147_89_None_KeyMeshing 820 -#define OBJ_id_Gost28147_89_None_KeyMeshing OBJ_cryptopro,14L,0L - -#define SN_id_GostR3411_94_TestParamSet "id-GostR3411-94-TestParamSet" -#define NID_id_GostR3411_94_TestParamSet 821 -#define OBJ_id_GostR3411_94_TestParamSet OBJ_cryptopro,30L,0L - -#define SN_id_GostR3411_94_CryptoProParamSet "id-GostR3411-94-CryptoProParamSet" -#define NID_id_GostR3411_94_CryptoProParamSet 822 -#define OBJ_id_GostR3411_94_CryptoProParamSet OBJ_cryptopro,30L,1L - -#define SN_id_Gost28147_89_TestParamSet "id-Gost28147-89-TestParamSet" -#define NID_id_Gost28147_89_TestParamSet 823 -#define OBJ_id_Gost28147_89_TestParamSet OBJ_cryptopro,31L,0L - -#define SN_id_Gost28147_89_CryptoPro_A_ParamSet "id-Gost28147-89-CryptoPro-A-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_A_ParamSet 824 -#define OBJ_id_Gost28147_89_CryptoPro_A_ParamSet OBJ_cryptopro,31L,1L - -#define SN_id_Gost28147_89_CryptoPro_B_ParamSet "id-Gost28147-89-CryptoPro-B-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_B_ParamSet 825 -#define OBJ_id_Gost28147_89_CryptoPro_B_ParamSet OBJ_cryptopro,31L,2L - -#define SN_id_Gost28147_89_CryptoPro_C_ParamSet "id-Gost28147-89-CryptoPro-C-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_C_ParamSet 826 -#define OBJ_id_Gost28147_89_CryptoPro_C_ParamSet OBJ_cryptopro,31L,3L - -#define SN_id_Gost28147_89_CryptoPro_D_ParamSet "id-Gost28147-89-CryptoPro-D-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_D_ParamSet 827 -#define OBJ_id_Gost28147_89_CryptoPro_D_ParamSet OBJ_cryptopro,31L,4L - -#define SN_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-1-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet 828 -#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_1_ParamSet OBJ_cryptopro,31L,5L - -#define SN_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet "id-Gost28147-89-CryptoPro-Oscar-1-0-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet 829 -#define OBJ_id_Gost28147_89_CryptoPro_Oscar_1_0_ParamSet OBJ_cryptopro,31L,6L - -#define SN_id_Gost28147_89_CryptoPro_RIC_1_ParamSet "id-Gost28147-89-CryptoPro-RIC-1-ParamSet" -#define NID_id_Gost28147_89_CryptoPro_RIC_1_ParamSet 830 -#define OBJ_id_Gost28147_89_CryptoPro_RIC_1_ParamSet OBJ_cryptopro,31L,7L - -#define SN_id_GostR3410_94_TestParamSet "id-GostR3410-94-TestParamSet" -#define NID_id_GostR3410_94_TestParamSet 831 -#define OBJ_id_GostR3410_94_TestParamSet OBJ_cryptopro,32L,0L - -#define SN_id_GostR3410_94_CryptoPro_A_ParamSet "id-GostR3410-94-CryptoPro-A-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_A_ParamSet 832 -#define OBJ_id_GostR3410_94_CryptoPro_A_ParamSet OBJ_cryptopro,32L,2L - -#define SN_id_GostR3410_94_CryptoPro_B_ParamSet "id-GostR3410-94-CryptoPro-B-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_B_ParamSet 833 -#define OBJ_id_GostR3410_94_CryptoPro_B_ParamSet OBJ_cryptopro,32L,3L - -#define SN_id_GostR3410_94_CryptoPro_C_ParamSet "id-GostR3410-94-CryptoPro-C-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_C_ParamSet 834 -#define OBJ_id_GostR3410_94_CryptoPro_C_ParamSet OBJ_cryptopro,32L,4L - -#define SN_id_GostR3410_94_CryptoPro_D_ParamSet "id-GostR3410-94-CryptoPro-D-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_D_ParamSet 835 -#define OBJ_id_GostR3410_94_CryptoPro_D_ParamSet OBJ_cryptopro,32L,5L - -#define SN_id_GostR3410_94_CryptoPro_XchA_ParamSet "id-GostR3410-94-CryptoPro-XchA-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_XchA_ParamSet 836 -#define OBJ_id_GostR3410_94_CryptoPro_XchA_ParamSet OBJ_cryptopro,33L,1L - -#define SN_id_GostR3410_94_CryptoPro_XchB_ParamSet "id-GostR3410-94-CryptoPro-XchB-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_XchB_ParamSet 837 -#define OBJ_id_GostR3410_94_CryptoPro_XchB_ParamSet OBJ_cryptopro,33L,2L - -#define SN_id_GostR3410_94_CryptoPro_XchC_ParamSet "id-GostR3410-94-CryptoPro-XchC-ParamSet" -#define NID_id_GostR3410_94_CryptoPro_XchC_ParamSet 838 -#define OBJ_id_GostR3410_94_CryptoPro_XchC_ParamSet OBJ_cryptopro,33L,3L - -#define SN_id_GostR3410_2001_TestParamSet "id-GostR3410-2001-TestParamSet" -#define NID_id_GostR3410_2001_TestParamSet 839 -#define OBJ_id_GostR3410_2001_TestParamSet OBJ_cryptopro,35L,0L - -#define SN_id_GostR3410_2001_CryptoPro_A_ParamSet "id-GostR3410-2001-CryptoPro-A-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_A_ParamSet 840 -#define OBJ_id_GostR3410_2001_CryptoPro_A_ParamSet OBJ_cryptopro,35L,1L - -#define SN_id_GostR3410_2001_CryptoPro_B_ParamSet "id-GostR3410-2001-CryptoPro-B-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_B_ParamSet 841 -#define OBJ_id_GostR3410_2001_CryptoPro_B_ParamSet OBJ_cryptopro,35L,2L - -#define SN_id_GostR3410_2001_CryptoPro_C_ParamSet "id-GostR3410-2001-CryptoPro-C-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_C_ParamSet 842 -#define OBJ_id_GostR3410_2001_CryptoPro_C_ParamSet OBJ_cryptopro,35L,3L - -#define SN_id_GostR3410_2001_CryptoPro_XchA_ParamSet "id-GostR3410-2001-CryptoPro-XchA-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_XchA_ParamSet 843 -#define OBJ_id_GostR3410_2001_CryptoPro_XchA_ParamSet OBJ_cryptopro,36L,0L - -#define SN_id_GostR3410_2001_CryptoPro_XchB_ParamSet "id-GostR3410-2001-CryptoPro-XchB-ParamSet" -#define NID_id_GostR3410_2001_CryptoPro_XchB_ParamSet 844 -#define OBJ_id_GostR3410_2001_CryptoPro_XchB_ParamSet OBJ_cryptopro,36L,1L - -#define SN_id_GostR3410_94_a "id-GostR3410-94-a" -#define NID_id_GostR3410_94_a 845 -#define OBJ_id_GostR3410_94_a OBJ_id_GostR3410_94,1L - -#define SN_id_GostR3410_94_aBis "id-GostR3410-94-aBis" -#define NID_id_GostR3410_94_aBis 846 -#define OBJ_id_GostR3410_94_aBis OBJ_id_GostR3410_94,2L - -#define SN_id_GostR3410_94_b "id-GostR3410-94-b" -#define NID_id_GostR3410_94_b 847 -#define OBJ_id_GostR3410_94_b OBJ_id_GostR3410_94,3L - -#define SN_id_GostR3410_94_bBis "id-GostR3410-94-bBis" -#define NID_id_GostR3410_94_bBis 848 -#define OBJ_id_GostR3410_94_bBis OBJ_id_GostR3410_94,4L - -#define SN_id_Gost28147_89_cc "id-Gost28147-89-cc" -#define LN_id_Gost28147_89_cc "GOST 28147-89 Cryptocom ParamSet" -#define NID_id_Gost28147_89_cc 849 -#define OBJ_id_Gost28147_89_cc OBJ_cryptocom,1L,6L,1L - -#define SN_id_GostR3410_94_cc "gost94cc" -#define LN_id_GostR3410_94_cc "GOST 34.10-94 Cryptocom" -#define NID_id_GostR3410_94_cc 850 -#define OBJ_id_GostR3410_94_cc OBJ_cryptocom,1L,5L,3L - -#define SN_id_GostR3410_2001_cc "gost2001cc" -#define LN_id_GostR3410_2001_cc "GOST 34.10-2001 Cryptocom" -#define NID_id_GostR3410_2001_cc 851 -#define OBJ_id_GostR3410_2001_cc OBJ_cryptocom,1L,5L,4L - -#define SN_id_GostR3411_94_with_GostR3410_94_cc "id-GostR3411-94-with-GostR3410-94-cc" -#define LN_id_GostR3411_94_with_GostR3410_94_cc "GOST R 34.11-94 with GOST R 34.10-94 Cryptocom" -#define NID_id_GostR3411_94_with_GostR3410_94_cc 852 -#define OBJ_id_GostR3411_94_with_GostR3410_94_cc OBJ_cryptocom,1L,3L,3L - -#define SN_id_GostR3411_94_with_GostR3410_2001_cc "id-GostR3411-94-with-GostR3410-2001-cc" -#define LN_id_GostR3411_94_with_GostR3410_2001_cc "GOST R 34.11-94 with GOST R 34.10-2001 Cryptocom" -#define NID_id_GostR3411_94_with_GostR3410_2001_cc 853 -#define OBJ_id_GostR3411_94_with_GostR3410_2001_cc OBJ_cryptocom,1L,3L,4L - -#define SN_id_GostR3410_2001_ParamSet_cc "id-GostR3410-2001-ParamSet-cc" -#define LN_id_GostR3410_2001_ParamSet_cc "GOST R 3410-2001 Parameter Set Cryptocom" -#define NID_id_GostR3410_2001_ParamSet_cc 854 -#define OBJ_id_GostR3410_2001_ParamSet_cc OBJ_cryptocom,1L,8L,1L - -#define SN_camellia_128_cbc "CAMELLIA-128-CBC" -#define LN_camellia_128_cbc "camellia-128-cbc" -#define NID_camellia_128_cbc 751 -#define OBJ_camellia_128_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,2L - -#define SN_camellia_192_cbc "CAMELLIA-192-CBC" -#define LN_camellia_192_cbc "camellia-192-cbc" -#define NID_camellia_192_cbc 752 -#define OBJ_camellia_192_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,3L - -#define SN_camellia_256_cbc "CAMELLIA-256-CBC" -#define LN_camellia_256_cbc "camellia-256-cbc" -#define NID_camellia_256_cbc 753 -#define OBJ_camellia_256_cbc 1L,2L,392L,200011L,61L,1L,1L,1L,4L - -#define SN_id_camellia128_wrap "id-camellia128-wrap" -#define NID_id_camellia128_wrap 907 -#define OBJ_id_camellia128_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,2L - -#define SN_id_camellia192_wrap "id-camellia192-wrap" -#define NID_id_camellia192_wrap 908 -#define OBJ_id_camellia192_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,3L - -#define SN_id_camellia256_wrap "id-camellia256-wrap" -#define NID_id_camellia256_wrap 909 -#define OBJ_id_camellia256_wrap 1L,2L,392L,200011L,61L,1L,1L,3L,4L - -#define OBJ_ntt_ds 0L,3L,4401L,5L - -#define OBJ_camellia OBJ_ntt_ds,3L,1L,9L - -#define SN_camellia_128_ecb "CAMELLIA-128-ECB" -#define LN_camellia_128_ecb "camellia-128-ecb" -#define NID_camellia_128_ecb 754 -#define OBJ_camellia_128_ecb OBJ_camellia,1L - -#define SN_camellia_128_ofb128 "CAMELLIA-128-OFB" -#define LN_camellia_128_ofb128 "camellia-128-ofb" -#define NID_camellia_128_ofb128 766 -#define OBJ_camellia_128_ofb128 OBJ_camellia,3L - -#define SN_camellia_128_cfb128 "CAMELLIA-128-CFB" -#define LN_camellia_128_cfb128 "camellia-128-cfb" -#define NID_camellia_128_cfb128 757 -#define OBJ_camellia_128_cfb128 OBJ_camellia,4L - -#define SN_camellia_192_ecb "CAMELLIA-192-ECB" -#define LN_camellia_192_ecb "camellia-192-ecb" -#define NID_camellia_192_ecb 755 -#define OBJ_camellia_192_ecb OBJ_camellia,21L - -#define SN_camellia_192_ofb128 "CAMELLIA-192-OFB" -#define LN_camellia_192_ofb128 "camellia-192-ofb" -#define NID_camellia_192_ofb128 767 -#define OBJ_camellia_192_ofb128 OBJ_camellia,23L - -#define SN_camellia_192_cfb128 "CAMELLIA-192-CFB" -#define LN_camellia_192_cfb128 "camellia-192-cfb" -#define NID_camellia_192_cfb128 758 -#define OBJ_camellia_192_cfb128 OBJ_camellia,24L - -#define SN_camellia_256_ecb "CAMELLIA-256-ECB" -#define LN_camellia_256_ecb "camellia-256-ecb" -#define NID_camellia_256_ecb 756 -#define OBJ_camellia_256_ecb OBJ_camellia,41L - -#define SN_camellia_256_ofb128 "CAMELLIA-256-OFB" -#define LN_camellia_256_ofb128 "camellia-256-ofb" -#define NID_camellia_256_ofb128 768 -#define OBJ_camellia_256_ofb128 OBJ_camellia,43L - -#define SN_camellia_256_cfb128 "CAMELLIA-256-CFB" -#define LN_camellia_256_cfb128 "camellia-256-cfb" -#define NID_camellia_256_cfb128 759 -#define OBJ_camellia_256_cfb128 OBJ_camellia,44L - -#define SN_camellia_128_cfb1 "CAMELLIA-128-CFB1" -#define LN_camellia_128_cfb1 "camellia-128-cfb1" -#define NID_camellia_128_cfb1 760 - -#define SN_camellia_192_cfb1 "CAMELLIA-192-CFB1" -#define LN_camellia_192_cfb1 "camellia-192-cfb1" -#define NID_camellia_192_cfb1 761 - -#define SN_camellia_256_cfb1 "CAMELLIA-256-CFB1" -#define LN_camellia_256_cfb1 "camellia-256-cfb1" -#define NID_camellia_256_cfb1 762 - -#define SN_camellia_128_cfb8 "CAMELLIA-128-CFB8" -#define LN_camellia_128_cfb8 "camellia-128-cfb8" -#define NID_camellia_128_cfb8 763 - -#define SN_camellia_192_cfb8 "CAMELLIA-192-CFB8" -#define LN_camellia_192_cfb8 "camellia-192-cfb8" -#define NID_camellia_192_cfb8 764 - -#define SN_camellia_256_cfb8 "CAMELLIA-256-CFB8" -#define LN_camellia_256_cfb8 "camellia-256-cfb8" -#define NID_camellia_256_cfb8 765 - -#define SN_kisa "KISA" -#define LN_kisa "kisa" -#define NID_kisa 773 -#define OBJ_kisa OBJ_member_body,410L,200004L - -#define SN_seed_ecb "SEED-ECB" -#define LN_seed_ecb "seed-ecb" -#define NID_seed_ecb 776 -#define OBJ_seed_ecb OBJ_kisa,1L,3L - -#define SN_seed_cbc "SEED-CBC" -#define LN_seed_cbc "seed-cbc" -#define NID_seed_cbc 777 -#define OBJ_seed_cbc OBJ_kisa,1L,4L - -#define SN_seed_cfb128 "SEED-CFB" -#define LN_seed_cfb128 "seed-cfb" -#define NID_seed_cfb128 779 -#define OBJ_seed_cfb128 OBJ_kisa,1L,5L - -#define SN_seed_ofb128 "SEED-OFB" -#define LN_seed_ofb128 "seed-ofb" -#define NID_seed_ofb128 778 -#define OBJ_seed_ofb128 OBJ_kisa,1L,6L - -#define SN_hmac "HMAC" -#define LN_hmac "hmac" -#define NID_hmac 855 - -#define SN_cmac "CMAC" -#define LN_cmac "cmac" -#define NID_cmac 894 - -#define SN_rc4_hmac_md5 "RC4-HMAC-MD5" -#define LN_rc4_hmac_md5 "rc4-hmac-md5" -#define NID_rc4_hmac_md5 915 - -#define SN_aes_128_cbc_hmac_sha1 "AES-128-CBC-HMAC-SHA1" -#define LN_aes_128_cbc_hmac_sha1 "aes-128-cbc-hmac-sha1" -#define NID_aes_128_cbc_hmac_sha1 916 - -#define SN_aes_192_cbc_hmac_sha1 "AES-192-CBC-HMAC-SHA1" -#define LN_aes_192_cbc_hmac_sha1 "aes-192-cbc-hmac-sha1" -#define NID_aes_192_cbc_hmac_sha1 917 - -#define SN_aes_256_cbc_hmac_sha1 "AES-256-CBC-HMAC-SHA1" -#define LN_aes_256_cbc_hmac_sha1 "aes-256-cbc-hmac-sha1" -#define NID_aes_256_cbc_hmac_sha1 918 - diff --git a/ext/bin/libcrypto/include/openssl/objects.h b/ext/bin/libcrypto/include/openssl/objects.h deleted file mode 100644 index bd0ee52fe..000000000 --- a/ext/bin/libcrypto/include/openssl/objects.h +++ /dev/null @@ -1,1138 +0,0 @@ -/* crypto/objects/objects.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_OBJECTS_H -#define HEADER_OBJECTS_H - -#define USE_OBJ_MAC - -#ifdef USE_OBJ_MAC -#include -#else -#define SN_undef "UNDEF" -#define LN_undef "undefined" -#define NID_undef 0 -#define OBJ_undef 0L - -#define SN_Algorithm "Algorithm" -#define LN_algorithm "algorithm" -#define NID_algorithm 38 -#define OBJ_algorithm 1L,3L,14L,3L,2L - -#define LN_rsadsi "rsadsi" -#define NID_rsadsi 1 -#define OBJ_rsadsi 1L,2L,840L,113549L - -#define LN_pkcs "pkcs" -#define NID_pkcs 2 -#define OBJ_pkcs OBJ_rsadsi,1L - -#define SN_md2 "MD2" -#define LN_md2 "md2" -#define NID_md2 3 -#define OBJ_md2 OBJ_rsadsi,2L,2L - -#define SN_md5 "MD5" -#define LN_md5 "md5" -#define NID_md5 4 -#define OBJ_md5 OBJ_rsadsi,2L,5L - -#define SN_rc4 "RC4" -#define LN_rc4 "rc4" -#define NID_rc4 5 -#define OBJ_rc4 OBJ_rsadsi,3L,4L - -#define LN_rsaEncryption "rsaEncryption" -#define NID_rsaEncryption 6 -#define OBJ_rsaEncryption OBJ_pkcs,1L,1L - -#define SN_md2WithRSAEncryption "RSA-MD2" -#define LN_md2WithRSAEncryption "md2WithRSAEncryption" -#define NID_md2WithRSAEncryption 7 -#define OBJ_md2WithRSAEncryption OBJ_pkcs,1L,2L - -#define SN_md5WithRSAEncryption "RSA-MD5" -#define LN_md5WithRSAEncryption "md5WithRSAEncryption" -#define NID_md5WithRSAEncryption 8 -#define OBJ_md5WithRSAEncryption OBJ_pkcs,1L,4L - -#define SN_pbeWithMD2AndDES_CBC "PBE-MD2-DES" -#define LN_pbeWithMD2AndDES_CBC "pbeWithMD2AndDES-CBC" -#define NID_pbeWithMD2AndDES_CBC 9 -#define OBJ_pbeWithMD2AndDES_CBC OBJ_pkcs,5L,1L - -#define SN_pbeWithMD5AndDES_CBC "PBE-MD5-DES" -#define LN_pbeWithMD5AndDES_CBC "pbeWithMD5AndDES-CBC" -#define NID_pbeWithMD5AndDES_CBC 10 -#define OBJ_pbeWithMD5AndDES_CBC OBJ_pkcs,5L,3L - -#define LN_X500 "X500" -#define NID_X500 11 -#define OBJ_X500 2L,5L - -#define LN_X509 "X509" -#define NID_X509 12 -#define OBJ_X509 OBJ_X500,4L - -#define SN_commonName "CN" -#define LN_commonName "commonName" -#define NID_commonName 13 -#define OBJ_commonName OBJ_X509,3L - -#define SN_countryName "C" -#define LN_countryName "countryName" -#define NID_countryName 14 -#define OBJ_countryName OBJ_X509,6L - -#define SN_localityName "L" -#define LN_localityName "localityName" -#define NID_localityName 15 -#define OBJ_localityName OBJ_X509,7L - -/* Postal Address? PA */ - -/* should be "ST" (rfc1327) but MS uses 'S' */ -#define SN_stateOrProvinceName "ST" -#define LN_stateOrProvinceName "stateOrProvinceName" -#define NID_stateOrProvinceName 16 -#define OBJ_stateOrProvinceName OBJ_X509,8L - -#define SN_organizationName "O" -#define LN_organizationName "organizationName" -#define NID_organizationName 17 -#define OBJ_organizationName OBJ_X509,10L - -#define SN_organizationalUnitName "OU" -#define LN_organizationalUnitName "organizationalUnitName" -#define NID_organizationalUnitName 18 -#define OBJ_organizationalUnitName OBJ_X509,11L - -#define SN_rsa "RSA" -#define LN_rsa "rsa" -#define NID_rsa 19 -#define OBJ_rsa OBJ_X500,8L,1L,1L - -#define LN_pkcs7 "pkcs7" -#define NID_pkcs7 20 -#define OBJ_pkcs7 OBJ_pkcs,7L - -#define LN_pkcs7_data "pkcs7-data" -#define NID_pkcs7_data 21 -#define OBJ_pkcs7_data OBJ_pkcs7,1L - -#define LN_pkcs7_signed "pkcs7-signedData" -#define NID_pkcs7_signed 22 -#define OBJ_pkcs7_signed OBJ_pkcs7,2L - -#define LN_pkcs7_enveloped "pkcs7-envelopedData" -#define NID_pkcs7_enveloped 23 -#define OBJ_pkcs7_enveloped OBJ_pkcs7,3L - -#define LN_pkcs7_signedAndEnveloped "pkcs7-signedAndEnvelopedData" -#define NID_pkcs7_signedAndEnveloped 24 -#define OBJ_pkcs7_signedAndEnveloped OBJ_pkcs7,4L - -#define LN_pkcs7_digest "pkcs7-digestData" -#define NID_pkcs7_digest 25 -#define OBJ_pkcs7_digest OBJ_pkcs7,5L - -#define LN_pkcs7_encrypted "pkcs7-encryptedData" -#define NID_pkcs7_encrypted 26 -#define OBJ_pkcs7_encrypted OBJ_pkcs7,6L - -#define LN_pkcs3 "pkcs3" -#define NID_pkcs3 27 -#define OBJ_pkcs3 OBJ_pkcs,3L - -#define LN_dhKeyAgreement "dhKeyAgreement" -#define NID_dhKeyAgreement 28 -#define OBJ_dhKeyAgreement OBJ_pkcs3,1L - -#define SN_des_ecb "DES-ECB" -#define LN_des_ecb "des-ecb" -#define NID_des_ecb 29 -#define OBJ_des_ecb OBJ_algorithm,6L - -#define SN_des_cfb64 "DES-CFB" -#define LN_des_cfb64 "des-cfb" -#define NID_des_cfb64 30 -/* IV + num */ -#define OBJ_des_cfb64 OBJ_algorithm,9L - -#define SN_des_cbc "DES-CBC" -#define LN_des_cbc "des-cbc" -#define NID_des_cbc 31 -/* IV */ -#define OBJ_des_cbc OBJ_algorithm,7L - -#define SN_des_ede "DES-EDE" -#define LN_des_ede "des-ede" -#define NID_des_ede 32 -/* ?? */ -#define OBJ_des_ede OBJ_algorithm,17L - -#define SN_des_ede3 "DES-EDE3" -#define LN_des_ede3 "des-ede3" -#define NID_des_ede3 33 - -#define SN_idea_cbc "IDEA-CBC" -#define LN_idea_cbc "idea-cbc" -#define NID_idea_cbc 34 -#define OBJ_idea_cbc 1L,3L,6L,1L,4L,1L,188L,7L,1L,1L,2L - -#define SN_idea_cfb64 "IDEA-CFB" -#define LN_idea_cfb64 "idea-cfb" -#define NID_idea_cfb64 35 - -#define SN_idea_ecb "IDEA-ECB" -#define LN_idea_ecb "idea-ecb" -#define NID_idea_ecb 36 - -#define SN_rc2_cbc "RC2-CBC" -#define LN_rc2_cbc "rc2-cbc" -#define NID_rc2_cbc 37 -#define OBJ_rc2_cbc OBJ_rsadsi,3L,2L - -#define SN_rc2_ecb "RC2-ECB" -#define LN_rc2_ecb "rc2-ecb" -#define NID_rc2_ecb 38 - -#define SN_rc2_cfb64 "RC2-CFB" -#define LN_rc2_cfb64 "rc2-cfb" -#define NID_rc2_cfb64 39 - -#define SN_rc2_ofb64 "RC2-OFB" -#define LN_rc2_ofb64 "rc2-ofb" -#define NID_rc2_ofb64 40 - -#define SN_sha "SHA" -#define LN_sha "sha" -#define NID_sha 41 -#define OBJ_sha OBJ_algorithm,18L - -#define SN_shaWithRSAEncryption "RSA-SHA" -#define LN_shaWithRSAEncryption "shaWithRSAEncryption" -#define NID_shaWithRSAEncryption 42 -#define OBJ_shaWithRSAEncryption OBJ_algorithm,15L - -#define SN_des_ede_cbc "DES-EDE-CBC" -#define LN_des_ede_cbc "des-ede-cbc" -#define NID_des_ede_cbc 43 - -#define SN_des_ede3_cbc "DES-EDE3-CBC" -#define LN_des_ede3_cbc "des-ede3-cbc" -#define NID_des_ede3_cbc 44 -#define OBJ_des_ede3_cbc OBJ_rsadsi,3L,7L - -#define SN_des_ofb64 "DES-OFB" -#define LN_des_ofb64 "des-ofb" -#define NID_des_ofb64 45 -#define OBJ_des_ofb64 OBJ_algorithm,8L - -#define SN_idea_ofb64 "IDEA-OFB" -#define LN_idea_ofb64 "idea-ofb" -#define NID_idea_ofb64 46 - -#define LN_pkcs9 "pkcs9" -#define NID_pkcs9 47 -#define OBJ_pkcs9 OBJ_pkcs,9L - -#define SN_pkcs9_emailAddress "Email" -#define LN_pkcs9_emailAddress "emailAddress" -#define NID_pkcs9_emailAddress 48 -#define OBJ_pkcs9_emailAddress OBJ_pkcs9,1L - -#define LN_pkcs9_unstructuredName "unstructuredName" -#define NID_pkcs9_unstructuredName 49 -#define OBJ_pkcs9_unstructuredName OBJ_pkcs9,2L - -#define LN_pkcs9_contentType "contentType" -#define NID_pkcs9_contentType 50 -#define OBJ_pkcs9_contentType OBJ_pkcs9,3L - -#define LN_pkcs9_messageDigest "messageDigest" -#define NID_pkcs9_messageDigest 51 -#define OBJ_pkcs9_messageDigest OBJ_pkcs9,4L - -#define LN_pkcs9_signingTime "signingTime" -#define NID_pkcs9_signingTime 52 -#define OBJ_pkcs9_signingTime OBJ_pkcs9,5L - -#define LN_pkcs9_countersignature "countersignature" -#define NID_pkcs9_countersignature 53 -#define OBJ_pkcs9_countersignature OBJ_pkcs9,6L - -#define LN_pkcs9_challengePassword "challengePassword" -#define NID_pkcs9_challengePassword 54 -#define OBJ_pkcs9_challengePassword OBJ_pkcs9,7L - -#define LN_pkcs9_unstructuredAddress "unstructuredAddress" -#define NID_pkcs9_unstructuredAddress 55 -#define OBJ_pkcs9_unstructuredAddress OBJ_pkcs9,8L - -#define LN_pkcs9_extCertAttributes "extendedCertificateAttributes" -#define NID_pkcs9_extCertAttributes 56 -#define OBJ_pkcs9_extCertAttributes OBJ_pkcs9,9L - -#define SN_netscape "Netscape" -#define LN_netscape "Netscape Communications Corp." -#define NID_netscape 57 -#define OBJ_netscape 2L,16L,840L,1L,113730L - -#define SN_netscape_cert_extension "nsCertExt" -#define LN_netscape_cert_extension "Netscape Certificate Extension" -#define NID_netscape_cert_extension 58 -#define OBJ_netscape_cert_extension OBJ_netscape,1L - -#define SN_netscape_data_type "nsDataType" -#define LN_netscape_data_type "Netscape Data Type" -#define NID_netscape_data_type 59 -#define OBJ_netscape_data_type OBJ_netscape,2L - -#define SN_des_ede_cfb64 "DES-EDE-CFB" -#define LN_des_ede_cfb64 "des-ede-cfb" -#define NID_des_ede_cfb64 60 - -#define SN_des_ede3_cfb64 "DES-EDE3-CFB" -#define LN_des_ede3_cfb64 "des-ede3-cfb" -#define NID_des_ede3_cfb64 61 - -#define SN_des_ede_ofb64 "DES-EDE-OFB" -#define LN_des_ede_ofb64 "des-ede-ofb" -#define NID_des_ede_ofb64 62 - -#define SN_des_ede3_ofb64 "DES-EDE3-OFB" -#define LN_des_ede3_ofb64 "des-ede3-ofb" -#define NID_des_ede3_ofb64 63 - -/* I'm not sure about the object ID */ -#define SN_sha1 "SHA1" -#define LN_sha1 "sha1" -#define NID_sha1 64 -#define OBJ_sha1 OBJ_algorithm,26L -/* 28 Jun 1996 - eay */ -/* #define OBJ_sha1 1L,3L,14L,2L,26L,05L <- wrong */ - -#define SN_sha1WithRSAEncryption "RSA-SHA1" -#define LN_sha1WithRSAEncryption "sha1WithRSAEncryption" -#define NID_sha1WithRSAEncryption 65 -#define OBJ_sha1WithRSAEncryption OBJ_pkcs,1L,5L - -#define SN_dsaWithSHA "DSA-SHA" -#define LN_dsaWithSHA "dsaWithSHA" -#define NID_dsaWithSHA 66 -#define OBJ_dsaWithSHA OBJ_algorithm,13L - -#define SN_dsa_2 "DSA-old" -#define LN_dsa_2 "dsaEncryption-old" -#define NID_dsa_2 67 -#define OBJ_dsa_2 OBJ_algorithm,12L - -/* proposed by microsoft to RSA */ -#define SN_pbeWithSHA1AndRC2_CBC "PBE-SHA1-RC2-64" -#define LN_pbeWithSHA1AndRC2_CBC "pbeWithSHA1AndRC2-CBC" -#define NID_pbeWithSHA1AndRC2_CBC 68 -#define OBJ_pbeWithSHA1AndRC2_CBC OBJ_pkcs,5L,11L - -/* proposed by microsoft to RSA as pbeWithSHA1AndRC4: it is now - * defined explicitly in PKCS#5 v2.0 as id-PBKDF2 which is something - * completely different. - */ -#define LN_id_pbkdf2 "PBKDF2" -#define NID_id_pbkdf2 69 -#define OBJ_id_pbkdf2 OBJ_pkcs,5L,12L - -#define SN_dsaWithSHA1_2 "DSA-SHA1-old" -#define LN_dsaWithSHA1_2 "dsaWithSHA1-old" -#define NID_dsaWithSHA1_2 70 -/* Got this one from 'sdn706r20.pdf' which is actually an NSA document :-) */ -#define OBJ_dsaWithSHA1_2 OBJ_algorithm,27L - -#define SN_netscape_cert_type "nsCertType" -#define LN_netscape_cert_type "Netscape Cert Type" -#define NID_netscape_cert_type 71 -#define OBJ_netscape_cert_type OBJ_netscape_cert_extension,1L - -#define SN_netscape_base_url "nsBaseUrl" -#define LN_netscape_base_url "Netscape Base Url" -#define NID_netscape_base_url 72 -#define OBJ_netscape_base_url OBJ_netscape_cert_extension,2L - -#define SN_netscape_revocation_url "nsRevocationUrl" -#define LN_netscape_revocation_url "Netscape Revocation Url" -#define NID_netscape_revocation_url 73 -#define OBJ_netscape_revocation_url OBJ_netscape_cert_extension,3L - -#define SN_netscape_ca_revocation_url "nsCaRevocationUrl" -#define LN_netscape_ca_revocation_url "Netscape CA Revocation Url" -#define NID_netscape_ca_revocation_url 74 -#define OBJ_netscape_ca_revocation_url OBJ_netscape_cert_extension,4L - -#define SN_netscape_renewal_url "nsRenewalUrl" -#define LN_netscape_renewal_url "Netscape Renewal Url" -#define NID_netscape_renewal_url 75 -#define OBJ_netscape_renewal_url OBJ_netscape_cert_extension,7L - -#define SN_netscape_ca_policy_url "nsCaPolicyUrl" -#define LN_netscape_ca_policy_url "Netscape CA Policy Url" -#define NID_netscape_ca_policy_url 76 -#define OBJ_netscape_ca_policy_url OBJ_netscape_cert_extension,8L - -#define SN_netscape_ssl_server_name "nsSslServerName" -#define LN_netscape_ssl_server_name "Netscape SSL Server Name" -#define NID_netscape_ssl_server_name 77 -#define OBJ_netscape_ssl_server_name OBJ_netscape_cert_extension,12L - -#define SN_netscape_comment "nsComment" -#define LN_netscape_comment "Netscape Comment" -#define NID_netscape_comment 78 -#define OBJ_netscape_comment OBJ_netscape_cert_extension,13L - -#define SN_netscape_cert_sequence "nsCertSequence" -#define LN_netscape_cert_sequence "Netscape Certificate Sequence" -#define NID_netscape_cert_sequence 79 -#define OBJ_netscape_cert_sequence OBJ_netscape_data_type,5L - -#define SN_desx_cbc "DESX-CBC" -#define LN_desx_cbc "desx-cbc" -#define NID_desx_cbc 80 - -#define SN_id_ce "id-ce" -#define NID_id_ce 81 -#define OBJ_id_ce 2L,5L,29L - -#define SN_subject_key_identifier "subjectKeyIdentifier" -#define LN_subject_key_identifier "X509v3 Subject Key Identifier" -#define NID_subject_key_identifier 82 -#define OBJ_subject_key_identifier OBJ_id_ce,14L - -#define SN_key_usage "keyUsage" -#define LN_key_usage "X509v3 Key Usage" -#define NID_key_usage 83 -#define OBJ_key_usage OBJ_id_ce,15L - -#define SN_private_key_usage_period "privateKeyUsagePeriod" -#define LN_private_key_usage_period "X509v3 Private Key Usage Period" -#define NID_private_key_usage_period 84 -#define OBJ_private_key_usage_period OBJ_id_ce,16L - -#define SN_subject_alt_name "subjectAltName" -#define LN_subject_alt_name "X509v3 Subject Alternative Name" -#define NID_subject_alt_name 85 -#define OBJ_subject_alt_name OBJ_id_ce,17L - -#define SN_issuer_alt_name "issuerAltName" -#define LN_issuer_alt_name "X509v3 Issuer Alternative Name" -#define NID_issuer_alt_name 86 -#define OBJ_issuer_alt_name OBJ_id_ce,18L - -#define SN_basic_constraints "basicConstraints" -#define LN_basic_constraints "X509v3 Basic Constraints" -#define NID_basic_constraints 87 -#define OBJ_basic_constraints OBJ_id_ce,19L - -#define SN_crl_number "crlNumber" -#define LN_crl_number "X509v3 CRL Number" -#define NID_crl_number 88 -#define OBJ_crl_number OBJ_id_ce,20L - -#define SN_certificate_policies "certificatePolicies" -#define LN_certificate_policies "X509v3 Certificate Policies" -#define NID_certificate_policies 89 -#define OBJ_certificate_policies OBJ_id_ce,32L - -#define SN_authority_key_identifier "authorityKeyIdentifier" -#define LN_authority_key_identifier "X509v3 Authority Key Identifier" -#define NID_authority_key_identifier 90 -#define OBJ_authority_key_identifier OBJ_id_ce,35L - -#define SN_bf_cbc "BF-CBC" -#define LN_bf_cbc "bf-cbc" -#define NID_bf_cbc 91 -#define OBJ_bf_cbc 1L,3L,6L,1L,4L,1L,3029L,1L,2L - -#define SN_bf_ecb "BF-ECB" -#define LN_bf_ecb "bf-ecb" -#define NID_bf_ecb 92 - -#define SN_bf_cfb64 "BF-CFB" -#define LN_bf_cfb64 "bf-cfb" -#define NID_bf_cfb64 93 - -#define SN_bf_ofb64 "BF-OFB" -#define LN_bf_ofb64 "bf-ofb" -#define NID_bf_ofb64 94 - -#define SN_mdc2 "MDC2" -#define LN_mdc2 "mdc2" -#define NID_mdc2 95 -#define OBJ_mdc2 2L,5L,8L,3L,101L -/* An alternative? 1L,3L,14L,3L,2L,19L */ - -#define SN_mdc2WithRSA "RSA-MDC2" -#define LN_mdc2WithRSA "mdc2withRSA" -#define NID_mdc2WithRSA 96 -#define OBJ_mdc2WithRSA 2L,5L,8L,3L,100L - -#define SN_rc4_40 "RC4-40" -#define LN_rc4_40 "rc4-40" -#define NID_rc4_40 97 - -#define SN_rc2_40_cbc "RC2-40-CBC" -#define LN_rc2_40_cbc "rc2-40-cbc" -#define NID_rc2_40_cbc 98 - -#define SN_givenName "G" -#define LN_givenName "givenName" -#define NID_givenName 99 -#define OBJ_givenName OBJ_X509,42L - -#define SN_surname "S" -#define LN_surname "surname" -#define NID_surname 100 -#define OBJ_surname OBJ_X509,4L - -#define SN_initials "I" -#define LN_initials "initials" -#define NID_initials 101 -#define OBJ_initials OBJ_X509,43L - -#define SN_uniqueIdentifier "UID" -#define LN_uniqueIdentifier "uniqueIdentifier" -#define NID_uniqueIdentifier 102 -#define OBJ_uniqueIdentifier OBJ_X509,45L - -#define SN_crl_distribution_points "crlDistributionPoints" -#define LN_crl_distribution_points "X509v3 CRL Distribution Points" -#define NID_crl_distribution_points 103 -#define OBJ_crl_distribution_points OBJ_id_ce,31L - -#define SN_md5WithRSA "RSA-NP-MD5" -#define LN_md5WithRSA "md5WithRSA" -#define NID_md5WithRSA 104 -#define OBJ_md5WithRSA OBJ_algorithm,3L - -#define SN_serialNumber "SN" -#define LN_serialNumber "serialNumber" -#define NID_serialNumber 105 -#define OBJ_serialNumber OBJ_X509,5L - -#define SN_title "T" -#define LN_title "title" -#define NID_title 106 -#define OBJ_title OBJ_X509,12L - -#define SN_description "D" -#define LN_description "description" -#define NID_description 107 -#define OBJ_description OBJ_X509,13L - -/* CAST5 is CAST-128, I'm just sticking with the documentation */ -#define SN_cast5_cbc "CAST5-CBC" -#define LN_cast5_cbc "cast5-cbc" -#define NID_cast5_cbc 108 -#define OBJ_cast5_cbc 1L,2L,840L,113533L,7L,66L,10L - -#define SN_cast5_ecb "CAST5-ECB" -#define LN_cast5_ecb "cast5-ecb" -#define NID_cast5_ecb 109 - -#define SN_cast5_cfb64 "CAST5-CFB" -#define LN_cast5_cfb64 "cast5-cfb" -#define NID_cast5_cfb64 110 - -#define SN_cast5_ofb64 "CAST5-OFB" -#define LN_cast5_ofb64 "cast5-ofb" -#define NID_cast5_ofb64 111 - -#define LN_pbeWithMD5AndCast5_CBC "pbeWithMD5AndCast5CBC" -#define NID_pbeWithMD5AndCast5_CBC 112 -#define OBJ_pbeWithMD5AndCast5_CBC 1L,2L,840L,113533L,7L,66L,12L - -/* This is one sun will soon be using :-( - * id-dsa-with-sha1 ID ::= { - * iso(1) member-body(2) us(840) x9-57 (10040) x9cm(4) 3 } - */ -#define SN_dsaWithSHA1 "DSA-SHA1" -#define LN_dsaWithSHA1 "dsaWithSHA1" -#define NID_dsaWithSHA1 113 -#define OBJ_dsaWithSHA1 1L,2L,840L,10040L,4L,3L - -#define NID_md5_sha1 114 -#define SN_md5_sha1 "MD5-SHA1" -#define LN_md5_sha1 "md5-sha1" - -#define SN_sha1WithRSA "RSA-SHA1-2" -#define LN_sha1WithRSA "sha1WithRSA" -#define NID_sha1WithRSA 115 -#define OBJ_sha1WithRSA OBJ_algorithm,29L - -#define SN_dsa "DSA" -#define LN_dsa "dsaEncryption" -#define NID_dsa 116 -#define OBJ_dsa 1L,2L,840L,10040L,4L,1L - -#define SN_ripemd160 "RIPEMD160" -#define LN_ripemd160 "ripemd160" -#define NID_ripemd160 117 -#define OBJ_ripemd160 1L,3L,36L,3L,2L,1L - -/* The name should actually be rsaSignatureWithripemd160, but I'm going - * to continue using the convention I'm using with the other ciphers */ -#define SN_ripemd160WithRSA "RSA-RIPEMD160" -#define LN_ripemd160WithRSA "ripemd160WithRSA" -#define NID_ripemd160WithRSA 119 -#define OBJ_ripemd160WithRSA 1L,3L,36L,3L,3L,1L,2L - -/* Taken from rfc2040 - * RC5_CBC_Parameters ::= SEQUENCE { - * version INTEGER (v1_0(16)), - * rounds INTEGER (8..127), - * blockSizeInBits INTEGER (64, 128), - * iv OCTET STRING OPTIONAL - * } - */ -#define SN_rc5_cbc "RC5-CBC" -#define LN_rc5_cbc "rc5-cbc" -#define NID_rc5_cbc 120 -#define OBJ_rc5_cbc OBJ_rsadsi,3L,8L - -#define SN_rc5_ecb "RC5-ECB" -#define LN_rc5_ecb "rc5-ecb" -#define NID_rc5_ecb 121 - -#define SN_rc5_cfb64 "RC5-CFB" -#define LN_rc5_cfb64 "rc5-cfb" -#define NID_rc5_cfb64 122 - -#define SN_rc5_ofb64 "RC5-OFB" -#define LN_rc5_ofb64 "rc5-ofb" -#define NID_rc5_ofb64 123 - -#define SN_rle_compression "RLE" -#define LN_rle_compression "run length compression" -#define NID_rle_compression 124 -#define OBJ_rle_compression 1L,1L,1L,1L,666L,1L - -#define SN_zlib_compression "ZLIB" -#define LN_zlib_compression "zlib compression" -#define NID_zlib_compression 125 -#define OBJ_zlib_compression 1L,1L,1L,1L,666L,2L - -#define SN_ext_key_usage "extendedKeyUsage" -#define LN_ext_key_usage "X509v3 Extended Key Usage" -#define NID_ext_key_usage 126 -#define OBJ_ext_key_usage OBJ_id_ce,37 - -#define SN_id_pkix "PKIX" -#define NID_id_pkix 127 -#define OBJ_id_pkix 1L,3L,6L,1L,5L,5L,7L - -#define SN_id_kp "id-kp" -#define NID_id_kp 128 -#define OBJ_id_kp OBJ_id_pkix,3L - -/* PKIX extended key usage OIDs */ - -#define SN_server_auth "serverAuth" -#define LN_server_auth "TLS Web Server Authentication" -#define NID_server_auth 129 -#define OBJ_server_auth OBJ_id_kp,1L - -#define SN_client_auth "clientAuth" -#define LN_client_auth "TLS Web Client Authentication" -#define NID_client_auth 130 -#define OBJ_client_auth OBJ_id_kp,2L - -#define SN_code_sign "codeSigning" -#define LN_code_sign "Code Signing" -#define NID_code_sign 131 -#define OBJ_code_sign OBJ_id_kp,3L - -#define SN_email_protect "emailProtection" -#define LN_email_protect "E-mail Protection" -#define NID_email_protect 132 -#define OBJ_email_protect OBJ_id_kp,4L - -#define SN_time_stamp "timeStamping" -#define LN_time_stamp "Time Stamping" -#define NID_time_stamp 133 -#define OBJ_time_stamp OBJ_id_kp,8L - -/* Additional extended key usage OIDs: Microsoft */ - -#define SN_ms_code_ind "msCodeInd" -#define LN_ms_code_ind "Microsoft Individual Code Signing" -#define NID_ms_code_ind 134 -#define OBJ_ms_code_ind 1L,3L,6L,1L,4L,1L,311L,2L,1L,21L - -#define SN_ms_code_com "msCodeCom" -#define LN_ms_code_com "Microsoft Commercial Code Signing" -#define NID_ms_code_com 135 -#define OBJ_ms_code_com 1L,3L,6L,1L,4L,1L,311L,2L,1L,22L - -#define SN_ms_ctl_sign "msCTLSign" -#define LN_ms_ctl_sign "Microsoft Trust List Signing" -#define NID_ms_ctl_sign 136 -#define OBJ_ms_ctl_sign 1L,3L,6L,1L,4L,1L,311L,10L,3L,1L - -#define SN_ms_sgc "msSGC" -#define LN_ms_sgc "Microsoft Server Gated Crypto" -#define NID_ms_sgc 137 -#define OBJ_ms_sgc 1L,3L,6L,1L,4L,1L,311L,10L,3L,3L - -#define SN_ms_efs "msEFS" -#define LN_ms_efs "Microsoft Encrypted File System" -#define NID_ms_efs 138 -#define OBJ_ms_efs 1L,3L,6L,1L,4L,1L,311L,10L,3L,4L - -/* Additional usage: Netscape */ - -#define SN_ns_sgc "nsSGC" -#define LN_ns_sgc "Netscape Server Gated Crypto" -#define NID_ns_sgc 139 -#define OBJ_ns_sgc OBJ_netscape,4L,1L - -#define SN_delta_crl "deltaCRL" -#define LN_delta_crl "X509v3 Delta CRL Indicator" -#define NID_delta_crl 140 -#define OBJ_delta_crl OBJ_id_ce,27L - -#define SN_crl_reason "CRLReason" -#define LN_crl_reason "CRL Reason Code" -#define NID_crl_reason 141 -#define OBJ_crl_reason OBJ_id_ce,21L - -#define SN_invalidity_date "invalidityDate" -#define LN_invalidity_date "Invalidity Date" -#define NID_invalidity_date 142 -#define OBJ_invalidity_date OBJ_id_ce,24L - -#define SN_sxnet "SXNetID" -#define LN_sxnet "Strong Extranet ID" -#define NID_sxnet 143 -#define OBJ_sxnet 1L,3L,101L,1L,4L,1L - -/* PKCS12 and related OBJECT IDENTIFIERS */ - -#define OBJ_pkcs12 OBJ_pkcs,12L -#define OBJ_pkcs12_pbeids OBJ_pkcs12, 1 - -#define SN_pbe_WithSHA1And128BitRC4 "PBE-SHA1-RC4-128" -#define LN_pbe_WithSHA1And128BitRC4 "pbeWithSHA1And128BitRC4" -#define NID_pbe_WithSHA1And128BitRC4 144 -#define OBJ_pbe_WithSHA1And128BitRC4 OBJ_pkcs12_pbeids, 1L - -#define SN_pbe_WithSHA1And40BitRC4 "PBE-SHA1-RC4-40" -#define LN_pbe_WithSHA1And40BitRC4 "pbeWithSHA1And40BitRC4" -#define NID_pbe_WithSHA1And40BitRC4 145 -#define OBJ_pbe_WithSHA1And40BitRC4 OBJ_pkcs12_pbeids, 2L - -#define SN_pbe_WithSHA1And3_Key_TripleDES_CBC "PBE-SHA1-3DES" -#define LN_pbe_WithSHA1And3_Key_TripleDES_CBC "pbeWithSHA1And3-KeyTripleDES-CBC" -#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 146 -#define OBJ_pbe_WithSHA1And3_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 3L - -#define SN_pbe_WithSHA1And2_Key_TripleDES_CBC "PBE-SHA1-2DES" -#define LN_pbe_WithSHA1And2_Key_TripleDES_CBC "pbeWithSHA1And2-KeyTripleDES-CBC" -#define NID_pbe_WithSHA1And2_Key_TripleDES_CBC 147 -#define OBJ_pbe_WithSHA1And2_Key_TripleDES_CBC OBJ_pkcs12_pbeids, 4L - -#define SN_pbe_WithSHA1And128BitRC2_CBC "PBE-SHA1-RC2-128" -#define LN_pbe_WithSHA1And128BitRC2_CBC "pbeWithSHA1And128BitRC2-CBC" -#define NID_pbe_WithSHA1And128BitRC2_CBC 148 -#define OBJ_pbe_WithSHA1And128BitRC2_CBC OBJ_pkcs12_pbeids, 5L - -#define SN_pbe_WithSHA1And40BitRC2_CBC "PBE-SHA1-RC2-40" -#define LN_pbe_WithSHA1And40BitRC2_CBC "pbeWithSHA1And40BitRC2-CBC" -#define NID_pbe_WithSHA1And40BitRC2_CBC 149 -#define OBJ_pbe_WithSHA1And40BitRC2_CBC OBJ_pkcs12_pbeids, 6L - -#define OBJ_pkcs12_Version1 OBJ_pkcs12, 10L - -#define OBJ_pkcs12_BagIds OBJ_pkcs12_Version1, 1L - -#define LN_keyBag "keyBag" -#define NID_keyBag 150 -#define OBJ_keyBag OBJ_pkcs12_BagIds, 1L - -#define LN_pkcs8ShroudedKeyBag "pkcs8ShroudedKeyBag" -#define NID_pkcs8ShroudedKeyBag 151 -#define OBJ_pkcs8ShroudedKeyBag OBJ_pkcs12_BagIds, 2L - -#define LN_certBag "certBag" -#define NID_certBag 152 -#define OBJ_certBag OBJ_pkcs12_BagIds, 3L - -#define LN_crlBag "crlBag" -#define NID_crlBag 153 -#define OBJ_crlBag OBJ_pkcs12_BagIds, 4L - -#define LN_secretBag "secretBag" -#define NID_secretBag 154 -#define OBJ_secretBag OBJ_pkcs12_BagIds, 5L - -#define LN_safeContentsBag "safeContentsBag" -#define NID_safeContentsBag 155 -#define OBJ_safeContentsBag OBJ_pkcs12_BagIds, 6L - -#define LN_friendlyName "friendlyName" -#define NID_friendlyName 156 -#define OBJ_friendlyName OBJ_pkcs9, 20L - -#define LN_localKeyID "localKeyID" -#define NID_localKeyID 157 -#define OBJ_localKeyID OBJ_pkcs9, 21L - -#define OBJ_certTypes OBJ_pkcs9, 22L - -#define LN_x509Certificate "x509Certificate" -#define NID_x509Certificate 158 -#define OBJ_x509Certificate OBJ_certTypes, 1L - -#define LN_sdsiCertificate "sdsiCertificate" -#define NID_sdsiCertificate 159 -#define OBJ_sdsiCertificate OBJ_certTypes, 2L - -#define OBJ_crlTypes OBJ_pkcs9, 23L - -#define LN_x509Crl "x509Crl" -#define NID_x509Crl 160 -#define OBJ_x509Crl OBJ_crlTypes, 1L - -/* PKCS#5 v2 OIDs */ - -#define LN_pbes2 "PBES2" -#define NID_pbes2 161 -#define OBJ_pbes2 OBJ_pkcs,5L,13L - -#define LN_pbmac1 "PBMAC1" -#define NID_pbmac1 162 -#define OBJ_pbmac1 OBJ_pkcs,5L,14L - -#define LN_hmacWithSHA1 "hmacWithSHA1" -#define NID_hmacWithSHA1 163 -#define OBJ_hmacWithSHA1 OBJ_rsadsi,2L,7L - -/* Policy Qualifier Ids */ - -#define LN_id_qt_cps "Policy Qualifier CPS" -#define SN_id_qt_cps "id-qt-cps" -#define NID_id_qt_cps 164 -#define OBJ_id_qt_cps OBJ_id_pkix,2L,1L - -#define LN_id_qt_unotice "Policy Qualifier User Notice" -#define SN_id_qt_unotice "id-qt-unotice" -#define NID_id_qt_unotice 165 -#define OBJ_id_qt_unotice OBJ_id_pkix,2L,2L - -#define SN_rc2_64_cbc "RC2-64-CBC" -#define LN_rc2_64_cbc "rc2-64-cbc" -#define NID_rc2_64_cbc 166 - -#define SN_SMIMECapabilities "SMIME-CAPS" -#define LN_SMIMECapabilities "S/MIME Capabilities" -#define NID_SMIMECapabilities 167 -#define OBJ_SMIMECapabilities OBJ_pkcs9,15L - -#define SN_pbeWithMD2AndRC2_CBC "PBE-MD2-RC2-64" -#define LN_pbeWithMD2AndRC2_CBC "pbeWithMD2AndRC2-CBC" -#define NID_pbeWithMD2AndRC2_CBC 168 -#define OBJ_pbeWithMD2AndRC2_CBC OBJ_pkcs,5L,4L - -#define SN_pbeWithMD5AndRC2_CBC "PBE-MD5-RC2-64" -#define LN_pbeWithMD5AndRC2_CBC "pbeWithMD5AndRC2-CBC" -#define NID_pbeWithMD5AndRC2_CBC 169 -#define OBJ_pbeWithMD5AndRC2_CBC OBJ_pkcs,5L,6L - -#define SN_pbeWithSHA1AndDES_CBC "PBE-SHA1-DES" -#define LN_pbeWithSHA1AndDES_CBC "pbeWithSHA1AndDES-CBC" -#define NID_pbeWithSHA1AndDES_CBC 170 -#define OBJ_pbeWithSHA1AndDES_CBC OBJ_pkcs,5L,10L - -/* Extension request OIDs */ - -#define LN_ms_ext_req "Microsoft Extension Request" -#define SN_ms_ext_req "msExtReq" -#define NID_ms_ext_req 171 -#define OBJ_ms_ext_req 1L,3L,6L,1L,4L,1L,311L,2L,1L,14L - -#define LN_ext_req "Extension Request" -#define SN_ext_req "extReq" -#define NID_ext_req 172 -#define OBJ_ext_req OBJ_pkcs9,14L - -#define SN_name "name" -#define LN_name "name" -#define NID_name 173 -#define OBJ_name OBJ_X509,41L - -#define SN_dnQualifier "dnQualifier" -#define LN_dnQualifier "dnQualifier" -#define NID_dnQualifier 174 -#define OBJ_dnQualifier OBJ_X509,46L - -#define SN_id_pe "id-pe" -#define NID_id_pe 175 -#define OBJ_id_pe OBJ_id_pkix,1L - -#define SN_id_ad "id-ad" -#define NID_id_ad 176 -#define OBJ_id_ad OBJ_id_pkix,48L - -#define SN_info_access "authorityInfoAccess" -#define LN_info_access "Authority Information Access" -#define NID_info_access 177 -#define OBJ_info_access OBJ_id_pe,1L - -#define SN_ad_OCSP "OCSP" -#define LN_ad_OCSP "OCSP" -#define NID_ad_OCSP 178 -#define OBJ_ad_OCSP OBJ_id_ad,1L - -#define SN_ad_ca_issuers "caIssuers" -#define LN_ad_ca_issuers "CA Issuers" -#define NID_ad_ca_issuers 179 -#define OBJ_ad_ca_issuers OBJ_id_ad,2L - -#define SN_OCSP_sign "OCSPSigning" -#define LN_OCSP_sign "OCSP Signing" -#define NID_OCSP_sign 180 -#define OBJ_OCSP_sign OBJ_id_kp,9L -#endif /* USE_OBJ_MAC */ - -#include -#include - -#define OBJ_NAME_TYPE_UNDEF 0x00 -#define OBJ_NAME_TYPE_MD_METH 0x01 -#define OBJ_NAME_TYPE_CIPHER_METH 0x02 -#define OBJ_NAME_TYPE_PKEY_METH 0x03 -#define OBJ_NAME_TYPE_COMP_METH 0x04 -#define OBJ_NAME_TYPE_NUM 0x05 - -#define OBJ_NAME_ALIAS 0x8000 - -#define OBJ_BSEARCH_VALUE_ON_NOMATCH 0x01 -#define OBJ_BSEARCH_FIRST_VALUE_ON_MATCH 0x02 - - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct obj_name_st - { - int type; - int alias; - const char *name; - const char *data; - } OBJ_NAME; - -#define OBJ_create_and_add_object(a,b,c) OBJ_create(a,b,c) - - -int OBJ_NAME_init(void); -int OBJ_NAME_new_index(unsigned long (*hash_func)(const char *), - int (*cmp_func)(const char *, const char *), - void (*free_func)(const char *, int, const char *)); -const char *OBJ_NAME_get(const char *name,int type); -int OBJ_NAME_add(const char *name,int type,const char *data); -int OBJ_NAME_remove(const char *name,int type); -void OBJ_NAME_cleanup(int type); /* -1 for everything */ -void OBJ_NAME_do_all(int type,void (*fn)(const OBJ_NAME *,void *arg), - void *arg); -void OBJ_NAME_do_all_sorted(int type,void (*fn)(const OBJ_NAME *,void *arg), - void *arg); - -ASN1_OBJECT * OBJ_dup(const ASN1_OBJECT *o); -ASN1_OBJECT * OBJ_nid2obj(int n); -const char * OBJ_nid2ln(int n); -const char * OBJ_nid2sn(int n); -int OBJ_obj2nid(const ASN1_OBJECT *o); -ASN1_OBJECT * OBJ_txt2obj(const char *s, int no_name); -int OBJ_obj2txt(char *buf, int buf_len, const ASN1_OBJECT *a, int no_name); -int OBJ_txt2nid(const char *s); -int OBJ_ln2nid(const char *s); -int OBJ_sn2nid(const char *s); -int OBJ_cmp(const ASN1_OBJECT *a,const ASN1_OBJECT *b); -const void * OBJ_bsearch_(const void *key,const void *base,int num,int size, - int (*cmp)(const void *, const void *)); -const void * OBJ_bsearch_ex_(const void *key,const void *base,int num, - int size, - int (*cmp)(const void *, const void *), - int flags); - -#define _DECLARE_OBJ_BSEARCH_CMP_FN(scope, type1, type2, nm) \ - static int nm##_cmp_BSEARCH_CMP_FN(const void *, const void *); \ - static int nm##_cmp(type1 const *, type2 const *); \ - scope type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) - -#define DECLARE_OBJ_BSEARCH_CMP_FN(type1, type2, cmp) \ - _DECLARE_OBJ_BSEARCH_CMP_FN(static, type1, type2, cmp) -#define DECLARE_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ - type2 * OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) - -/* - * Unsolved problem: if a type is actually a pointer type, like - * nid_triple is, then its impossible to get a const where you need - * it. Consider: - * - * typedef int nid_triple[3]; - * const void *a_; - * const nid_triple const *a = a_; - * - * The assignement discards a const because what you really want is: - * - * const int const * const *a = a_; - * - * But if you do that, you lose the fact that a is an array of 3 ints, - * which breaks comparison functions. - * - * Thus we end up having to cast, sadly, or unpack the - * declarations. Or, as I finally did in this case, delcare nid_triple - * to be a struct, which it should have been in the first place. - * - * Ben, August 2008. - * - * Also, strictly speaking not all types need be const, but handling - * the non-constness means a lot of complication, and in practice - * comparison routines do always not touch their arguments. - */ - -#define IMPLEMENT_OBJ_BSEARCH_CMP_FN(type1, type2, nm) \ - static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ - { \ - type1 const *a = a_; \ - type2 const *b = b_; \ - return nm##_cmp(a,b); \ - } \ - static type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ - { \ - return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ - nm##_cmp_BSEARCH_CMP_FN); \ - } \ - extern void dummy_prototype(void) - -#define IMPLEMENT_OBJ_BSEARCH_GLOBAL_CMP_FN(type1, type2, nm) \ - static int nm##_cmp_BSEARCH_CMP_FN(const void *a_, const void *b_) \ - { \ - type1 const *a = a_; \ - type2 const *b = b_; \ - return nm##_cmp(a,b); \ - } \ - type2 *OBJ_bsearch_##nm(type1 *key, type2 const *base, int num) \ - { \ - return (type2 *)OBJ_bsearch_(key, base, num, sizeof(type2), \ - nm##_cmp_BSEARCH_CMP_FN); \ - } \ - extern void dummy_prototype(void) - -#define OBJ_bsearch(type1,key,type2,base,num,cmp) \ - ((type2 *)OBJ_bsearch_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ - num,sizeof(type2), \ - ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ - (void)CHECKED_PTR_OF(type2,cmp##_type_2), \ - cmp##_BSEARCH_CMP_FN))) - -#define OBJ_bsearch_ex(type1,key,type2,base,num,cmp,flags) \ - ((type2 *)OBJ_bsearch_ex_(CHECKED_PTR_OF(type1,key),CHECKED_PTR_OF(type2,base), \ - num,sizeof(type2), \ - ((void)CHECKED_PTR_OF(type1,cmp##_type_1), \ - (void)type_2=CHECKED_PTR_OF(type2,cmp##_type_2), \ - cmp##_BSEARCH_CMP_FN)),flags) - -int OBJ_new_nid(int num); -int OBJ_add_object(const ASN1_OBJECT *obj); -int OBJ_create(const char *oid,const char *sn,const char *ln); -void OBJ_cleanup(void ); -int OBJ_create_objects(BIO *in); - -int OBJ_find_sigid_algs(int signid, int *pdig_nid, int *ppkey_nid); -int OBJ_find_sigid_by_algs(int *psignid, int dig_nid, int pkey_nid); -int OBJ_add_sigid(int signid, int dig_id, int pkey_id); -void OBJ_sigid_free(void); - -extern int obj_cleanup_defer; -void check_defer(int nid); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_OBJ_strings(void); - -/* Error codes for the OBJ functions. */ - -/* Function codes. */ -#define OBJ_F_OBJ_ADD_OBJECT 105 -#define OBJ_F_OBJ_CREATE 100 -#define OBJ_F_OBJ_DUP 101 -#define OBJ_F_OBJ_NAME_NEW_INDEX 106 -#define OBJ_F_OBJ_NID2LN 102 -#define OBJ_F_OBJ_NID2OBJ 103 -#define OBJ_F_OBJ_NID2SN 104 - -/* Reason codes. */ -#define OBJ_R_MALLOC_FAILURE 100 -#define OBJ_R_UNKNOWN_NID 101 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/ocsp.h b/ext/bin/libcrypto/include/openssl/ocsp.h deleted file mode 100644 index 31e45744b..000000000 --- a/ext/bin/libcrypto/include/openssl/ocsp.h +++ /dev/null @@ -1,623 +0,0 @@ -/* ocsp.h */ -/* Written by Tom Titchener for the OpenSSL - * project. */ - -/* History: - This file was transfered to Richard Levitte from CertCo by Kathy - Weinhold in mid-spring 2000 to be included in OpenSSL or released - as a patch kit. */ - -/* ==================================================================== - * Copyright (c) 1998-2000 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_OCSP_H -#define HEADER_OCSP_H - -#include -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Various flags and values */ - -#define OCSP_DEFAULT_NONCE_LENGTH 16 - -#define OCSP_NOCERTS 0x1 -#define OCSP_NOINTERN 0x2 -#define OCSP_NOSIGS 0x4 -#define OCSP_NOCHAIN 0x8 -#define OCSP_NOVERIFY 0x10 -#define OCSP_NOEXPLICIT 0x20 -#define OCSP_NOCASIGN 0x40 -#define OCSP_NODELEGATED 0x80 -#define OCSP_NOCHECKS 0x100 -#define OCSP_TRUSTOTHER 0x200 -#define OCSP_RESPID_KEY 0x400 -#define OCSP_NOTIME 0x800 - -/* CertID ::= SEQUENCE { - * hashAlgorithm AlgorithmIdentifier, - * issuerNameHash OCTET STRING, -- Hash of Issuer's DN - * issuerKeyHash OCTET STRING, -- Hash of Issuers public key (excluding the tag & length fields) - * serialNumber CertificateSerialNumber } - */ -typedef struct ocsp_cert_id_st - { - X509_ALGOR *hashAlgorithm; - ASN1_OCTET_STRING *issuerNameHash; - ASN1_OCTET_STRING *issuerKeyHash; - ASN1_INTEGER *serialNumber; - } OCSP_CERTID; - -DECLARE_STACK_OF(OCSP_CERTID) - -/* Request ::= SEQUENCE { - * reqCert CertID, - * singleRequestExtensions [0] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_one_request_st - { - OCSP_CERTID *reqCert; - STACK_OF(X509_EXTENSION) *singleRequestExtensions; - } OCSP_ONEREQ; - -DECLARE_STACK_OF(OCSP_ONEREQ) -DECLARE_ASN1_SET_OF(OCSP_ONEREQ) - - -/* TBSRequest ::= SEQUENCE { - * version [0] EXPLICIT Version DEFAULT v1, - * requestorName [1] EXPLICIT GeneralName OPTIONAL, - * requestList SEQUENCE OF Request, - * requestExtensions [2] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_req_info_st - { - ASN1_INTEGER *version; - GENERAL_NAME *requestorName; - STACK_OF(OCSP_ONEREQ) *requestList; - STACK_OF(X509_EXTENSION) *requestExtensions; - } OCSP_REQINFO; - -/* Signature ::= SEQUENCE { - * signatureAlgorithm AlgorithmIdentifier, - * signature BIT STRING, - * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } - */ -typedef struct ocsp_signature_st - { - X509_ALGOR *signatureAlgorithm; - ASN1_BIT_STRING *signature; - STACK_OF(X509) *certs; - } OCSP_SIGNATURE; - -/* OCSPRequest ::= SEQUENCE { - * tbsRequest TBSRequest, - * optionalSignature [0] EXPLICIT Signature OPTIONAL } - */ -typedef struct ocsp_request_st - { - OCSP_REQINFO *tbsRequest; - OCSP_SIGNATURE *optionalSignature; /* OPTIONAL */ - } OCSP_REQUEST; - -/* OCSPResponseStatus ::= ENUMERATED { - * successful (0), --Response has valid confirmations - * malformedRequest (1), --Illegal confirmation request - * internalError (2), --Internal error in issuer - * tryLater (3), --Try again later - * --(4) is not used - * sigRequired (5), --Must sign the request - * unauthorized (6) --Request unauthorized - * } - */ -#define OCSP_RESPONSE_STATUS_SUCCESSFUL 0 -#define OCSP_RESPONSE_STATUS_MALFORMEDREQUEST 1 -#define OCSP_RESPONSE_STATUS_INTERNALERROR 2 -#define OCSP_RESPONSE_STATUS_TRYLATER 3 -#define OCSP_RESPONSE_STATUS_SIGREQUIRED 5 -#define OCSP_RESPONSE_STATUS_UNAUTHORIZED 6 - -/* ResponseBytes ::= SEQUENCE { - * responseType OBJECT IDENTIFIER, - * response OCTET STRING } - */ -typedef struct ocsp_resp_bytes_st - { - ASN1_OBJECT *responseType; - ASN1_OCTET_STRING *response; - } OCSP_RESPBYTES; - -/* OCSPResponse ::= SEQUENCE { - * responseStatus OCSPResponseStatus, - * responseBytes [0] EXPLICIT ResponseBytes OPTIONAL } - */ -struct ocsp_response_st - { - ASN1_ENUMERATED *responseStatus; - OCSP_RESPBYTES *responseBytes; - }; - -/* ResponderID ::= CHOICE { - * byName [1] Name, - * byKey [2] KeyHash } - */ -#define V_OCSP_RESPID_NAME 0 -#define V_OCSP_RESPID_KEY 1 -struct ocsp_responder_id_st - { - int type; - union { - X509_NAME* byName; - ASN1_OCTET_STRING *byKey; - } value; - }; - -DECLARE_STACK_OF(OCSP_RESPID) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) - -/* KeyHash ::= OCTET STRING --SHA-1 hash of responder's public key - * --(excluding the tag and length fields) - */ - -/* RevokedInfo ::= SEQUENCE { - * revocationTime GeneralizedTime, - * revocationReason [0] EXPLICIT CRLReason OPTIONAL } - */ -typedef struct ocsp_revoked_info_st - { - ASN1_GENERALIZEDTIME *revocationTime; - ASN1_ENUMERATED *revocationReason; - } OCSP_REVOKEDINFO; - -/* CertStatus ::= CHOICE { - * good [0] IMPLICIT NULL, - * revoked [1] IMPLICIT RevokedInfo, - * unknown [2] IMPLICIT UnknownInfo } - */ -#define V_OCSP_CERTSTATUS_GOOD 0 -#define V_OCSP_CERTSTATUS_REVOKED 1 -#define V_OCSP_CERTSTATUS_UNKNOWN 2 -typedef struct ocsp_cert_status_st - { - int type; - union { - ASN1_NULL *good; - OCSP_REVOKEDINFO *revoked; - ASN1_NULL *unknown; - } value; - } OCSP_CERTSTATUS; - -/* SingleResponse ::= SEQUENCE { - * certID CertID, - * certStatus CertStatus, - * thisUpdate GeneralizedTime, - * nextUpdate [0] EXPLICIT GeneralizedTime OPTIONAL, - * singleExtensions [1] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_single_response_st - { - OCSP_CERTID *certId; - OCSP_CERTSTATUS *certStatus; - ASN1_GENERALIZEDTIME *thisUpdate; - ASN1_GENERALIZEDTIME *nextUpdate; - STACK_OF(X509_EXTENSION) *singleExtensions; - } OCSP_SINGLERESP; - -DECLARE_STACK_OF(OCSP_SINGLERESP) -DECLARE_ASN1_SET_OF(OCSP_SINGLERESP) - -/* ResponseData ::= SEQUENCE { - * version [0] EXPLICIT Version DEFAULT v1, - * responderID ResponderID, - * producedAt GeneralizedTime, - * responses SEQUENCE OF SingleResponse, - * responseExtensions [1] EXPLICIT Extensions OPTIONAL } - */ -typedef struct ocsp_response_data_st - { - ASN1_INTEGER *version; - OCSP_RESPID *responderId; - ASN1_GENERALIZEDTIME *producedAt; - STACK_OF(OCSP_SINGLERESP) *responses; - STACK_OF(X509_EXTENSION) *responseExtensions; - } OCSP_RESPDATA; - -/* BasicOCSPResponse ::= SEQUENCE { - * tbsResponseData ResponseData, - * signatureAlgorithm AlgorithmIdentifier, - * signature BIT STRING, - * certs [0] EXPLICIT SEQUENCE OF Certificate OPTIONAL } - */ - /* Note 1: - The value for "signature" is specified in the OCSP rfc2560 as follows: - "The value for the signature SHALL be computed on the hash of the DER - encoding ResponseData." This means that you must hash the DER-encoded - tbsResponseData, and then run it through a crypto-signing function, which - will (at least w/RSA) do a hash-'n'-private-encrypt operation. This seems - a bit odd, but that's the spec. Also note that the data structures do not - leave anywhere to independently specify the algorithm used for the initial - hash. So, we look at the signature-specification algorithm, and try to do - something intelligent. -- Kathy Weinhold, CertCo */ - /* Note 2: - It seems that the mentioned passage from RFC 2560 (section 4.2.1) is open - for interpretation. I've done tests against another responder, and found - that it doesn't do the double hashing that the RFC seems to say one - should. Therefore, all relevant functions take a flag saying which - variant should be used. -- Richard Levitte, OpenSSL team and CeloCom */ -typedef struct ocsp_basic_response_st - { - OCSP_RESPDATA *tbsResponseData; - X509_ALGOR *signatureAlgorithm; - ASN1_BIT_STRING *signature; - STACK_OF(X509) *certs; - } OCSP_BASICRESP; - -/* - * CRLReason ::= ENUMERATED { - * unspecified (0), - * keyCompromise (1), - * cACompromise (2), - * affiliationChanged (3), - * superseded (4), - * cessationOfOperation (5), - * certificateHold (6), - * removeFromCRL (8) } - */ -#define OCSP_REVOKED_STATUS_NOSTATUS -1 -#define OCSP_REVOKED_STATUS_UNSPECIFIED 0 -#define OCSP_REVOKED_STATUS_KEYCOMPROMISE 1 -#define OCSP_REVOKED_STATUS_CACOMPROMISE 2 -#define OCSP_REVOKED_STATUS_AFFILIATIONCHANGED 3 -#define OCSP_REVOKED_STATUS_SUPERSEDED 4 -#define OCSP_REVOKED_STATUS_CESSATIONOFOPERATION 5 -#define OCSP_REVOKED_STATUS_CERTIFICATEHOLD 6 -#define OCSP_REVOKED_STATUS_REMOVEFROMCRL 8 - -/* CrlID ::= SEQUENCE { - * crlUrl [0] EXPLICIT IA5String OPTIONAL, - * crlNum [1] EXPLICIT INTEGER OPTIONAL, - * crlTime [2] EXPLICIT GeneralizedTime OPTIONAL } - */ -typedef struct ocsp_crl_id_st - { - ASN1_IA5STRING *crlUrl; - ASN1_INTEGER *crlNum; - ASN1_GENERALIZEDTIME *crlTime; - } OCSP_CRLID; - -/* ServiceLocator ::= SEQUENCE { - * issuer Name, - * locator AuthorityInfoAccessSyntax OPTIONAL } - */ -typedef struct ocsp_service_locator_st - { - X509_NAME* issuer; - STACK_OF(ACCESS_DESCRIPTION) *locator; - } OCSP_SERVICELOC; - -#define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" -#define PEM_STRING_OCSP_RESPONSE "OCSP RESPONSE" - -#define d2i_OCSP_REQUEST_bio(bp,p) ASN1_d2i_bio_of(OCSP_REQUEST,OCSP_REQUEST_new,d2i_OCSP_REQUEST,bp,p) - -#define d2i_OCSP_RESPONSE_bio(bp,p) ASN1_d2i_bio_of(OCSP_RESPONSE,OCSP_RESPONSE_new,d2i_OCSP_RESPONSE,bp,p) - -#define PEM_read_bio_OCSP_REQUEST(bp,x,cb) (OCSP_REQUEST *)PEM_ASN1_read_bio( \ - (char *(*)())d2i_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,bp,(char **)x,cb,NULL) - -#define PEM_read_bio_OCSP_RESPONSE(bp,x,cb)(OCSP_RESPONSE *)PEM_ASN1_read_bio(\ - (char *(*)())d2i_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,bp,(char **)x,cb,NULL) - -#define PEM_write_bio_OCSP_REQUEST(bp,o) \ - PEM_ASN1_write_bio((int (*)())i2d_OCSP_REQUEST,PEM_STRING_OCSP_REQUEST,\ - bp,(char *)o, NULL,NULL,0,NULL,NULL) - -#define PEM_write_bio_OCSP_RESPONSE(bp,o) \ - PEM_ASN1_write_bio((int (*)())i2d_OCSP_RESPONSE,PEM_STRING_OCSP_RESPONSE,\ - bp,(char *)o, NULL,NULL,0,NULL,NULL) - -#define i2d_OCSP_RESPONSE_bio(bp,o) ASN1_i2d_bio_of(OCSP_RESPONSE,i2d_OCSP_RESPONSE,bp,o) - -#define i2d_OCSP_REQUEST_bio(bp,o) ASN1_i2d_bio_of(OCSP_REQUEST,i2d_OCSP_REQUEST,bp,o) - -#define OCSP_REQUEST_sign(o,pkey,md) \ - ASN1_item_sign(ASN1_ITEM_rptr(OCSP_REQINFO),\ - o->optionalSignature->signatureAlgorithm,NULL,\ - o->optionalSignature->signature,o->tbsRequest,pkey,md) - -#define OCSP_BASICRESP_sign(o,pkey,md,d) \ - ASN1_item_sign(ASN1_ITEM_rptr(OCSP_RESPDATA),o->signatureAlgorithm,NULL,\ - o->signature,o->tbsResponseData,pkey,md) - -#define OCSP_REQUEST_verify(a,r) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_REQINFO),\ - a->optionalSignature->signatureAlgorithm,\ - a->optionalSignature->signature,a->tbsRequest,r) - -#define OCSP_BASICRESP_verify(a,r,d) ASN1_item_verify(ASN1_ITEM_rptr(OCSP_RESPDATA),\ - a->signatureAlgorithm,a->signature,a->tbsResponseData,r) - -#define ASN1_BIT_STRING_digest(data,type,md,len) \ - ASN1_item_digest(ASN1_ITEM_rptr(ASN1_BIT_STRING),type,data,md,len) - -#define OCSP_CERTSTATUS_dup(cs)\ - (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ - (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) - -OCSP_CERTID *OCSP_CERTID_dup(OCSP_CERTID *id); - -OCSP_RESPONSE *OCSP_sendreq_bio(BIO *b, char *path, OCSP_REQUEST *req); -OCSP_REQ_CTX *OCSP_sendreq_new(BIO *io, char *path, OCSP_REQUEST *req, - int maxline); -int OCSP_sendreq_nbio(OCSP_RESPONSE **presp, OCSP_REQ_CTX *rctx); -void OCSP_REQ_CTX_free(OCSP_REQ_CTX *rctx); -int OCSP_REQ_CTX_set1_req(OCSP_REQ_CTX *rctx, OCSP_REQUEST *req); -int OCSP_REQ_CTX_add1_header(OCSP_REQ_CTX *rctx, - const char *name, const char *value); - -OCSP_CERTID *OCSP_cert_to_id(const EVP_MD *dgst, X509 *subject, X509 *issuer); - -OCSP_CERTID *OCSP_cert_id_new(const EVP_MD *dgst, - X509_NAME *issuerName, - ASN1_BIT_STRING* issuerKey, - ASN1_INTEGER *serialNumber); - -OCSP_ONEREQ *OCSP_request_add0_id(OCSP_REQUEST *req, OCSP_CERTID *cid); - -int OCSP_request_add1_nonce(OCSP_REQUEST *req, unsigned char *val, int len); -int OCSP_basic_add1_nonce(OCSP_BASICRESP *resp, unsigned char *val, int len); -int OCSP_check_nonce(OCSP_REQUEST *req, OCSP_BASICRESP *bs); -int OCSP_copy_nonce(OCSP_BASICRESP *resp, OCSP_REQUEST *req); - -int OCSP_request_set1_name(OCSP_REQUEST *req, X509_NAME *nm); -int OCSP_request_add1_cert(OCSP_REQUEST *req, X509 *cert); - -int OCSP_request_sign(OCSP_REQUEST *req, - X509 *signer, - EVP_PKEY *key, - const EVP_MD *dgst, - STACK_OF(X509) *certs, - unsigned long flags); - -int OCSP_response_status(OCSP_RESPONSE *resp); -OCSP_BASICRESP *OCSP_response_get1_basic(OCSP_RESPONSE *resp); - -int OCSP_resp_count(OCSP_BASICRESP *bs); -OCSP_SINGLERESP *OCSP_resp_get0(OCSP_BASICRESP *bs, int idx); -int OCSP_resp_find(OCSP_BASICRESP *bs, OCSP_CERTID *id, int last); -int OCSP_single_get0_status(OCSP_SINGLERESP *single, int *reason, - ASN1_GENERALIZEDTIME **revtime, - ASN1_GENERALIZEDTIME **thisupd, - ASN1_GENERALIZEDTIME **nextupd); -int OCSP_resp_find_status(OCSP_BASICRESP *bs, OCSP_CERTID *id, int *status, - int *reason, - ASN1_GENERALIZEDTIME **revtime, - ASN1_GENERALIZEDTIME **thisupd, - ASN1_GENERALIZEDTIME **nextupd); -int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, - ASN1_GENERALIZEDTIME *nextupd, - long sec, long maxsec); - -int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, X509_STORE *store, unsigned long flags); - -int OCSP_parse_url(char *url, char **phost, char **pport, char **ppath, int *pssl); - -int OCSP_id_issuer_cmp(OCSP_CERTID *a, OCSP_CERTID *b); -int OCSP_id_cmp(OCSP_CERTID *a, OCSP_CERTID *b); - -int OCSP_request_onereq_count(OCSP_REQUEST *req); -OCSP_ONEREQ *OCSP_request_onereq_get0(OCSP_REQUEST *req, int i); -OCSP_CERTID *OCSP_onereq_get0_id(OCSP_ONEREQ *one); -int OCSP_id_get0_info(ASN1_OCTET_STRING **piNameHash, ASN1_OBJECT **pmd, - ASN1_OCTET_STRING **pikeyHash, - ASN1_INTEGER **pserial, OCSP_CERTID *cid); -int OCSP_request_is_signed(OCSP_REQUEST *req); -OCSP_RESPONSE *OCSP_response_create(int status, OCSP_BASICRESP *bs); -OCSP_SINGLERESP *OCSP_basic_add1_status(OCSP_BASICRESP *rsp, - OCSP_CERTID *cid, - int status, int reason, - ASN1_TIME *revtime, - ASN1_TIME *thisupd, ASN1_TIME *nextupd); -int OCSP_basic_add1_cert(OCSP_BASICRESP *resp, X509 *cert); -int OCSP_basic_sign(OCSP_BASICRESP *brsp, - X509 *signer, EVP_PKEY *key, const EVP_MD *dgst, - STACK_OF(X509) *certs, unsigned long flags); - -X509_EXTENSION *OCSP_crlID_new(char *url, long *n, char *tim); - -X509_EXTENSION *OCSP_accept_responses_new(char **oids); - -X509_EXTENSION *OCSP_archive_cutoff_new(char* tim); - -X509_EXTENSION *OCSP_url_svcloc_new(X509_NAME* issuer, char **urls); - -int OCSP_REQUEST_get_ext_count(OCSP_REQUEST *x); -int OCSP_REQUEST_get_ext_by_NID(OCSP_REQUEST *x, int nid, int lastpos); -int OCSP_REQUEST_get_ext_by_OBJ(OCSP_REQUEST *x, ASN1_OBJECT *obj, int lastpos); -int OCSP_REQUEST_get_ext_by_critical(OCSP_REQUEST *x, int crit, int lastpos); -X509_EXTENSION *OCSP_REQUEST_get_ext(OCSP_REQUEST *x, int loc); -X509_EXTENSION *OCSP_REQUEST_delete_ext(OCSP_REQUEST *x, int loc); -void *OCSP_REQUEST_get1_ext_d2i(OCSP_REQUEST *x, int nid, int *crit, int *idx); -int OCSP_REQUEST_add1_ext_i2d(OCSP_REQUEST *x, int nid, void *value, int crit, - unsigned long flags); -int OCSP_REQUEST_add_ext(OCSP_REQUEST *x, X509_EXTENSION *ex, int loc); - -int OCSP_ONEREQ_get_ext_count(OCSP_ONEREQ *x); -int OCSP_ONEREQ_get_ext_by_NID(OCSP_ONEREQ *x, int nid, int lastpos); -int OCSP_ONEREQ_get_ext_by_OBJ(OCSP_ONEREQ *x, ASN1_OBJECT *obj, int lastpos); -int OCSP_ONEREQ_get_ext_by_critical(OCSP_ONEREQ *x, int crit, int lastpos); -X509_EXTENSION *OCSP_ONEREQ_get_ext(OCSP_ONEREQ *x, int loc); -X509_EXTENSION *OCSP_ONEREQ_delete_ext(OCSP_ONEREQ *x, int loc); -void *OCSP_ONEREQ_get1_ext_d2i(OCSP_ONEREQ *x, int nid, int *crit, int *idx); -int OCSP_ONEREQ_add1_ext_i2d(OCSP_ONEREQ *x, int nid, void *value, int crit, - unsigned long flags); -int OCSP_ONEREQ_add_ext(OCSP_ONEREQ *x, X509_EXTENSION *ex, int loc); - -int OCSP_BASICRESP_get_ext_count(OCSP_BASICRESP *x); -int OCSP_BASICRESP_get_ext_by_NID(OCSP_BASICRESP *x, int nid, int lastpos); -int OCSP_BASICRESP_get_ext_by_OBJ(OCSP_BASICRESP *x, ASN1_OBJECT *obj, int lastpos); -int OCSP_BASICRESP_get_ext_by_critical(OCSP_BASICRESP *x, int crit, int lastpos); -X509_EXTENSION *OCSP_BASICRESP_get_ext(OCSP_BASICRESP *x, int loc); -X509_EXTENSION *OCSP_BASICRESP_delete_ext(OCSP_BASICRESP *x, int loc); -void *OCSP_BASICRESP_get1_ext_d2i(OCSP_BASICRESP *x, int nid, int *crit, int *idx); -int OCSP_BASICRESP_add1_ext_i2d(OCSP_BASICRESP *x, int nid, void *value, int crit, - unsigned long flags); -int OCSP_BASICRESP_add_ext(OCSP_BASICRESP *x, X509_EXTENSION *ex, int loc); - -int OCSP_SINGLERESP_get_ext_count(OCSP_SINGLERESP *x); -int OCSP_SINGLERESP_get_ext_by_NID(OCSP_SINGLERESP *x, int nid, int lastpos); -int OCSP_SINGLERESP_get_ext_by_OBJ(OCSP_SINGLERESP *x, ASN1_OBJECT *obj, int lastpos); -int OCSP_SINGLERESP_get_ext_by_critical(OCSP_SINGLERESP *x, int crit, int lastpos); -X509_EXTENSION *OCSP_SINGLERESP_get_ext(OCSP_SINGLERESP *x, int loc); -X509_EXTENSION *OCSP_SINGLERESP_delete_ext(OCSP_SINGLERESP *x, int loc); -void *OCSP_SINGLERESP_get1_ext_d2i(OCSP_SINGLERESP *x, int nid, int *crit, int *idx); -int OCSP_SINGLERESP_add1_ext_i2d(OCSP_SINGLERESP *x, int nid, void *value, int crit, - unsigned long flags); -int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, int loc); - -DECLARE_ASN1_FUNCTIONS(OCSP_SINGLERESP) -DECLARE_ASN1_FUNCTIONS(OCSP_CERTSTATUS) -DECLARE_ASN1_FUNCTIONS(OCSP_REVOKEDINFO) -DECLARE_ASN1_FUNCTIONS(OCSP_BASICRESP) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPDATA) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPID) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPONSE) -DECLARE_ASN1_FUNCTIONS(OCSP_RESPBYTES) -DECLARE_ASN1_FUNCTIONS(OCSP_ONEREQ) -DECLARE_ASN1_FUNCTIONS(OCSP_CERTID) -DECLARE_ASN1_FUNCTIONS(OCSP_REQUEST) -DECLARE_ASN1_FUNCTIONS(OCSP_SIGNATURE) -DECLARE_ASN1_FUNCTIONS(OCSP_REQINFO) -DECLARE_ASN1_FUNCTIONS(OCSP_CRLID) -DECLARE_ASN1_FUNCTIONS(OCSP_SERVICELOC) - -const char *OCSP_response_status_str(long s); -const char *OCSP_cert_status_str(long s); -const char *OCSP_crl_reason_str(long s); - -int OCSP_REQUEST_print(BIO *bp, OCSP_REQUEST* a, unsigned long flags); -int OCSP_RESPONSE_print(BIO *bp, OCSP_RESPONSE* o, unsigned long flags); - -int OCSP_basic_verify(OCSP_BASICRESP *bs, STACK_OF(X509) *certs, - X509_STORE *st, unsigned long flags); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_OCSP_strings(void); - -/* Error codes for the OCSP functions. */ - -/* Function codes. */ -#define OCSP_F_ASN1_STRING_ENCODE 100 -#define OCSP_F_D2I_OCSP_NONCE 102 -#define OCSP_F_OCSP_BASIC_ADD1_STATUS 103 -#define OCSP_F_OCSP_BASIC_SIGN 104 -#define OCSP_F_OCSP_BASIC_VERIFY 105 -#define OCSP_F_OCSP_CERT_ID_NEW 101 -#define OCSP_F_OCSP_CHECK_DELEGATED 106 -#define OCSP_F_OCSP_CHECK_IDS 107 -#define OCSP_F_OCSP_CHECK_ISSUER 108 -#define OCSP_F_OCSP_CHECK_VALIDITY 115 -#define OCSP_F_OCSP_MATCH_ISSUERID 109 -#define OCSP_F_OCSP_PARSE_URL 114 -#define OCSP_F_OCSP_REQUEST_SIGN 110 -#define OCSP_F_OCSP_REQUEST_VERIFY 116 -#define OCSP_F_OCSP_RESPONSE_GET1_BASIC 111 -#define OCSP_F_OCSP_SENDREQ_BIO 112 -#define OCSP_F_OCSP_SENDREQ_NBIO 117 -#define OCSP_F_PARSE_HTTP_LINE1 118 -#define OCSP_F_REQUEST_VERIFY 113 - -/* Reason codes. */ -#define OCSP_R_BAD_DATA 100 -#define OCSP_R_CERTIFICATE_VERIFY_ERROR 101 -#define OCSP_R_DIGEST_ERR 102 -#define OCSP_R_ERROR_IN_NEXTUPDATE_FIELD 122 -#define OCSP_R_ERROR_IN_THISUPDATE_FIELD 123 -#define OCSP_R_ERROR_PARSING_URL 121 -#define OCSP_R_MISSING_OCSPSIGNING_USAGE 103 -#define OCSP_R_NEXTUPDATE_BEFORE_THISUPDATE 124 -#define OCSP_R_NOT_BASIC_RESPONSE 104 -#define OCSP_R_NO_CERTIFICATES_IN_CHAIN 105 -#define OCSP_R_NO_CONTENT 106 -#define OCSP_R_NO_PUBLIC_KEY 107 -#define OCSP_R_NO_RESPONSE_DATA 108 -#define OCSP_R_NO_REVOKED_TIME 109 -#define OCSP_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 110 -#define OCSP_R_REQUEST_NOT_SIGNED 128 -#define OCSP_R_RESPONSE_CONTAINS_NO_REVOCATION_DATA 111 -#define OCSP_R_ROOT_CA_NOT_TRUSTED 112 -#define OCSP_R_SERVER_READ_ERROR 113 -#define OCSP_R_SERVER_RESPONSE_ERROR 114 -#define OCSP_R_SERVER_RESPONSE_PARSE_ERROR 115 -#define OCSP_R_SERVER_WRITE_ERROR 116 -#define OCSP_R_SIGNATURE_FAILURE 117 -#define OCSP_R_SIGNER_CERTIFICATE_NOT_FOUND 118 -#define OCSP_R_STATUS_EXPIRED 125 -#define OCSP_R_STATUS_NOT_YET_VALID 126 -#define OCSP_R_STATUS_TOO_OLD 127 -#define OCSP_R_UNKNOWN_MESSAGE_DIGEST 119 -#define OCSP_R_UNKNOWN_NID 120 -#define OCSP_R_UNSUPPORTED_REQUESTORNAME_TYPE 129 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/opensslconf.h b/ext/bin/libcrypto/include/openssl/opensslconf.h deleted file mode 100644 index e1a52d305..000000000 --- a/ext/bin/libcrypto/include/openssl/opensslconf.h +++ /dev/null @@ -1,432 +0,0 @@ -/* opensslconf.h */ -/* WARNING: Generated automatically from opensslconf.h.in by Configure. */ - -/* OpenSSL was configured with the following options: */ -#ifndef OPENSSL_DOING_MAKEDEPEND - - -#ifndef OPENSSL_NO_AES -# define OPENSSL_NO_AES -#endif -#ifndef OPENSSL_NO_BF -# define OPENSSL_NO_BF -#endif -#ifndef OPENSSL_NO_CAMELLIA -# define OPENSSL_NO_CAMELLIA -#endif -#ifndef OPENSSL_NO_CAPIENG -# define OPENSSL_NO_CAPIENG -#endif -#ifndef OPENSSL_NO_CAST -# define OPENSSL_NO_CAST -#endif -#ifndef OPENSSL_NO_CMS -# define OPENSSL_NO_CMS -#endif -#ifndef OPENSSL_NO_DES -# define OPENSSL_NO_DES -#endif -#ifndef OPENSSL_NO_DH -# define OPENSSL_NO_DH -#endif -#ifndef OPENSSL_NO_DSA -# define OPENSSL_NO_DSA -#endif -#ifndef OPENSSL_NO_EC_NISTP_64_GCC_128 -# define OPENSSL_NO_EC_NISTP_64_GCC_128 -#endif -#ifndef OPENSSL_NO_ENGINE -# define OPENSSL_NO_ENGINE -#endif -#ifndef OPENSSL_NO_GMP -# define OPENSSL_NO_GMP -#endif -#ifndef OPENSSL_NO_GOST -# define OPENSSL_NO_GOST -#endif -#ifndef OPENSSL_NO_HEARTBEATS -# define OPENSSL_NO_HEARTBEATS -#endif -#ifndef OPENSSL_NO_IDEA -# define OPENSSL_NO_IDEA -#endif -#ifndef OPENSSL_NO_JPAKE -# define OPENSSL_NO_JPAKE -#endif -#ifndef OPENSSL_NO_KRB5 -# define OPENSSL_NO_KRB5 -#endif -#ifndef OPENSSL_NO_MD2 -# define OPENSSL_NO_MD2 -#endif -#ifndef OPENSSL_NO_MD4 -# define OPENSSL_NO_MD4 -#endif -#ifndef OPENSSL_NO_MDC2 -# define OPENSSL_NO_MDC2 -#endif -#ifndef OPENSSL_NO_OCSP -# define OPENSSL_NO_OCSP -#endif -#ifndef OPENSSL_NO_PEM -# define OPENSSL_NO_PEM -#endif -#ifndef OPENSSL_NO_RC2 -# define OPENSSL_NO_RC2 -#endif -#ifndef OPENSSL_NO_RC4 -# define OPENSSL_NO_RC4 -#endif -#ifndef OPENSSL_NO_RC5 -# define OPENSSL_NO_RC5 -#endif -#ifndef OPENSSL_NO_RFC3779 -# define OPENSSL_NO_RFC3779 -#endif -#ifndef OPENSSL_NO_RIPEMD -# define OPENSSL_NO_RIPEMD -#endif -#ifndef OPENSSL_NO_RSA -# define OPENSSL_NO_RSA -#endif -#ifndef OPENSSL_NO_SCTP -# define OPENSSL_NO_SCTP -#endif -#ifndef OPENSSL_NO_SEED -# define OPENSSL_NO_SEED -#endif -#ifndef OPENSSL_NO_SOCK -# define OPENSSL_NO_SOCK -#endif -#ifndef OPENSSL_NO_SRP -# define OPENSSL_NO_SRP -#endif -#ifndef OPENSSL_NO_SSL2 -# define OPENSSL_NO_SSL2 -#endif -#ifndef OPENSSL_NO_SSL3 -# define OPENSSL_NO_SSL3 -#endif -#ifndef OPENSSL_NO_STORE -# define OPENSSL_NO_STORE -#endif -#ifndef OPENSSL_NO_TLS1 -# define OPENSSL_NO_TLS1 -#endif -#ifndef OPENSSL_NO_TLSEXT -# define OPENSSL_NO_TLSEXT -#endif -#ifndef OPENSSL_NO_TS -# define OPENSSL_NO_TS -#endif -#ifndef OPENSSL_NO_TXT_DB -# define OPENSSL_NO_TXT_DB -#endif -#ifndef OPENSSL_NO_UI -# define OPENSSL_NO_UI -#endif -#ifndef OPENSSL_NO_WHRLPOOL -# define OPENSSL_NO_WHRLPOOL -#endif - -#endif /* OPENSSL_DOING_MAKEDEPEND */ - -#ifndef OPENSSL_THREADS -# define OPENSSL_THREADS -#endif -#ifndef OPENSSL_NO_ERR -# define OPENSSL_NO_ERR -#endif -#ifndef OPENSSL_NO_HW -# define OPENSSL_NO_HW -#endif -#ifndef OPENSSL_NO_DYNAMIC_ENGINE -# define OPENSSL_NO_DYNAMIC_ENGINE -#endif - -/* The OPENSSL_NO_* macros are also defined as NO_* if the application - asks for it. This is a transient feature that is provided for those - who haven't had the time to do the appropriate changes in their - applications. */ -#ifdef OPENSSL_ALGORITHM_DEFINES -# if defined(OPENSSL_NO_AES) && !defined(NO_AES) -# define NO_AES -# endif -# if defined(OPENSSL_NO_BF) && !defined(NO_BF) -# define NO_BF -# endif -# if defined(OPENSSL_NO_CAMELLIA) && !defined(NO_CAMELLIA) -# define NO_CAMELLIA -# endif -# if defined(OPENSSL_NO_CAPIENG) && !defined(NO_CAPIENG) -# define NO_CAPIENG -# endif -# if defined(OPENSSL_NO_CAST) && !defined(NO_CAST) -# define NO_CAST -# endif -# if defined(OPENSSL_NO_CMS) && !defined(NO_CMS) -# define NO_CMS -# endif -# if defined(OPENSSL_NO_DES) && !defined(NO_DES) -# define NO_DES -# endif -# if defined(OPENSSL_NO_DH) && !defined(NO_DH) -# define NO_DH -# endif -# if defined(OPENSSL_NO_DSA) && !defined(NO_DSA) -# define NO_DSA -# endif -# if defined(OPENSSL_NO_EC_NISTP_64_GCC_128) && !defined(NO_EC_NISTP_64_GCC_128) -# define NO_EC_NISTP_64_GCC_128 -# endif -# if defined(OPENSSL_NO_ENGINE) && !defined(NO_ENGINE) -# define NO_ENGINE -# endif -# if defined(OPENSSL_NO_GMP) && !defined(NO_GMP) -# define NO_GMP -# endif -# if defined(OPENSSL_NO_GOST) && !defined(NO_GOST) -# define NO_GOST -# endif -# if defined(OPENSSL_NO_HEARTBEATS) && !defined(NO_HEARTBEATS) -# define NO_HEARTBEATS -# endif -# if defined(OPENSSL_NO_IDEA) && !defined(NO_IDEA) -# define NO_IDEA -# endif -# if defined(OPENSSL_NO_JPAKE) && !defined(NO_JPAKE) -# define NO_JPAKE -# endif -# if defined(OPENSSL_NO_KRB5) && !defined(NO_KRB5) -# define NO_KRB5 -# endif -# if defined(OPENSSL_NO_MD2) && !defined(NO_MD2) -# define NO_MD2 -# endif -# if defined(OPENSSL_NO_MD4) && !defined(NO_MD4) -# define NO_MD4 -# endif -# if defined(OPENSSL_NO_MDC2) && !defined(NO_MDC2) -# define NO_MDC2 -# endif -# if defined(OPENSSL_NO_OCSP) && !defined(NO_OCSP) -# define NO_OCSP -# endif -# if defined(OPENSSL_NO_PEM) && !defined(NO_PEM) -# define NO_PEM -# endif -# if defined(OPENSSL_NO_RC2) && !defined(NO_RC2) -# define NO_RC2 -# endif -# if defined(OPENSSL_NO_RC4) && !defined(NO_RC4) -# define NO_RC4 -# endif -# if defined(OPENSSL_NO_RC5) && !defined(NO_RC5) -# define NO_RC5 -# endif -# if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779) -# define NO_RFC3779 -# endif -# if defined(OPENSSL_NO_RIPEMD) && !defined(NO_RIPEMD) -# define NO_RIPEMD -# endif -# if defined(OPENSSL_NO_RSA) && !defined(NO_RSA) -# define NO_RSA -# endif -# if defined(OPENSSL_NO_SCTP) && !defined(NO_SCTP) -# define NO_SCTP -# endif -# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED) -# define NO_SEED -# endif -# if defined(OPENSSL_NO_SOCK) && !defined(NO_SOCK) -# define NO_SOCK -# endif -# if defined(OPENSSL_NO_SRP) && !defined(NO_SRP) -# define NO_SRP -# endif -# if defined(OPENSSL_NO_SSL2) && !defined(NO_SSL2) -# define NO_SSL2 -# endif -# if defined(OPENSSL_NO_SSL3) && !defined(NO_SSL3) -# define NO_SSL3 -# endif -# if defined(OPENSSL_NO_STORE) && !defined(NO_STORE) -# define NO_STORE -# endif -# if defined(OPENSSL_NO_TLS1) && !defined(NO_TLS1) -# define NO_TLS1 -# endif -# if defined(OPENSSL_NO_TLSEXT) && !defined(NO_TLSEXT) -# define NO_TLSEXT -# endif -# if defined(OPENSSL_NO_TS) && !defined(NO_TS) -# define NO_TS -# endif -# if defined(OPENSSL_NO_TXT_DB) && !defined(NO_TXT_DB) -# define NO_TXT_DB -# endif -# if defined(OPENSSL_NO_UI) && !defined(NO_UI) -# define NO_UI -# endif -# if defined(OPENSSL_NO_WHRLPOOL) && !defined(NO_WHRLPOOL) -# define NO_WHRLPOOL -# endif -#endif - -#define OPENSSL_CPUID_OBJ - -/* crypto/opensslconf.h.in */ - -/* Generate 80386 code? */ -#undef I386_ONLY - -#if !(defined(VMS) || defined(__VMS)) /* VMS uses logical names instead */ -#if defined(HEADER_CRYPTLIB_H) && !defined(OPENSSLDIR) -#define ENGINESDIR "/usr/local/ssl/lib/engines" -#define OPENSSLDIR "/usr/local/ssl" -#endif -#endif - -#undef OPENSSL_UNISTD -#define OPENSSL_UNISTD - -#undef OPENSSL_EXPORT_VAR_AS_FUNCTION - -#if defined(HEADER_IDEA_H) && !defined(IDEA_INT) -#define IDEA_INT unsigned int -#endif - -#if defined(HEADER_MD2_H) && !defined(MD2_INT) -#define MD2_INT unsigned int -#endif - -#if defined(HEADER_RC2_H) && !defined(RC2_INT) -/* I need to put in a mod for the alpha - eay */ -#define RC2_INT unsigned int -#endif - -#if defined(HEADER_RC4_H) -#if !defined(RC4_INT) -/* using int types make the structure larger but make the code faster - * on most boxes I have tested - up to %20 faster. */ -/* - * I don't know what does "most" mean, but declaring "int" is a must on: - * - Intel P6 because partial register stalls are very expensive; - * - elder Alpha because it lacks byte load/store instructions; - */ -#define RC4_INT unsigned int -#endif -#if !defined(RC4_CHUNK) -/* - * This enables code handling data aligned at natural CPU word - * boundary. See crypto/rc4/rc4_enc.c for further details. - */ -#define RC4_CHUNK unsigned long -#endif -#endif - -#if (defined(HEADER_NEW_DES_H) || defined(HEADER_DES_H)) && !defined(DES_LONG) -/* If this is set to 'unsigned int' on a DEC Alpha, this gives about a - * %20 speed up (longs are 8 bytes, int's are 4). */ -#ifndef DES_LONG -#define DES_LONG unsigned int -#endif -#endif - -#if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H) -#define CONFIG_HEADER_BN_H -#undef BN_LLONG - -/* Should we define BN_DIV2W here? */ - -/* Only one for the following should be defined */ -#define SIXTY_FOUR_BIT_LONG -#undef SIXTY_FOUR_BIT -#undef THIRTY_TWO_BIT -#endif - -#if defined(HEADER_RC4_LOCL_H) && !defined(CONFIG_HEADER_RC4_LOCL_H) -#define CONFIG_HEADER_RC4_LOCL_H -/* if this is defined data[i] is used instead of *data, this is a %20 - * speedup on x86 */ -#undef RC4_INDEX -#endif - -#if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) -#define CONFIG_HEADER_BF_LOCL_H -#undef BF_PTR -#endif /* HEADER_BF_LOCL_H */ - -#if defined(HEADER_DES_LOCL_H) && !defined(CONFIG_HEADER_DES_LOCL_H) -#define CONFIG_HEADER_DES_LOCL_H -#ifndef DES_DEFAULT_OPTIONS -/* the following is tweaked from a config script, that is why it is a - * protected undef/define */ -#ifndef DES_PTR -#undef DES_PTR -#endif - -/* This helps C compiler generate the correct code for multiple functional - * units. It reduces register dependancies at the expense of 2 more - * registers */ -#ifndef DES_RISC1 -#undef DES_RISC1 -#endif - -#ifndef DES_RISC2 -#undef DES_RISC2 -#endif - -#if defined(DES_RISC1) && defined(DES_RISC2) -YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!! -#endif - -/* Unroll the inner loop, this sometimes helps, sometimes hinders. - * Very mucy CPU dependant */ -#ifndef DES_UNROLL -#define DES_UNROLL -#endif - -/* These default values were supplied by - * Peter Gutman - * They are only used if nothing else has been defined */ -#if !defined(DES_PTR) && !defined(DES_RISC1) && !defined(DES_RISC2) && !defined(DES_UNROLL) -/* Special defines which change the way the code is built depending on the - CPU and OS. For SGI machines you can use _MIPS_SZLONG (32 or 64) to find - even newer MIPS CPU's, but at the moment one size fits all for - optimization options. Older Sparc's work better with only UNROLL, but - there's no way to tell at compile time what it is you're running on */ - -#if defined( sun ) /* Newer Sparc's */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#elif defined( __ultrix ) /* Older MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined( __osf1__ ) /* Alpha */ -# define DES_PTR -# define DES_RISC2 -#elif defined ( _AIX ) /* RS6000 */ - /* Unknown */ -#elif defined( __hpux ) /* HP-PA */ - /* Unknown */ -#elif defined( __aux ) /* 68K */ - /* Unknown */ -#elif defined( __dgux ) /* 88K (but P6 in latest boxes) */ -# define DES_UNROLL -#elif defined( __sgi ) /* Newer MIPS */ -# define DES_PTR -# define DES_RISC2 -# define DES_UNROLL -#elif defined(i386) || defined(__i386__) /* x86 boxes, should be gcc */ -# define DES_PTR -# define DES_RISC1 -# define DES_UNROLL -#endif /* Systems-specific speed defines */ -#endif - -#endif /* DES_DEFAULT_OPTIONS */ -#endif /* HEADER_DES_LOCL_H */ diff --git a/ext/bin/libcrypto/include/openssl/opensslv.h b/ext/bin/libcrypto/include/openssl/opensslv.h deleted file mode 100644 index 5bc8e53e6..000000000 --- a/ext/bin/libcrypto/include/openssl/opensslv.h +++ /dev/null @@ -1,89 +0,0 @@ -#ifndef HEADER_OPENSSLV_H -#define HEADER_OPENSSLV_H - -/* Numeric release version identifier: - * MNNFFPPS: major minor fix patch status - * The status nibble has one of the values 0 for development, 1 to e for betas - * 1 to 14, and f for release. The patch level is exactly that. - * For example: - * 0.9.3-dev 0x00903000 - * 0.9.3-beta1 0x00903001 - * 0.9.3-beta2-dev 0x00903002 - * 0.9.3-beta2 0x00903002 (same as ...beta2-dev) - * 0.9.3 0x0090300f - * 0.9.3a 0x0090301f - * 0.9.4 0x0090400f - * 1.2.3z 0x102031af - * - * For continuity reasons (because 0.9.5 is already out, and is coded - * 0x00905100), between 0.9.5 and 0.9.6 the coding of the patch level - * part is slightly different, by setting the highest bit. This means - * that 0.9.5a looks like this: 0x0090581f. At 0.9.6, we can start - * with 0x0090600S... - * - * (Prior to 0.9.3-dev a different scheme was used: 0.9.2b is 0x0922.) - * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for - * major minor fix final patch/beta) - */ -#define OPENSSL_VERSION_NUMBER 0x1000105fL -#ifdef OPENSSL_FIPS -#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1e-fips 11 Feb 2013" -#else -#define OPENSSL_VERSION_TEXT "OpenSSL 1.0.1e 11 Feb 2013" -#endif -#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT - - -/* The macros below are to be used for shared library (.so, .dll, ...) - * versioning. That kind of versioning works a bit differently between - * operating systems. The most usual scheme is to set a major and a minor - * number, and have the runtime loader check that the major number is equal - * to what it was at application link time, while the minor number has to - * be greater or equal to what it was at application link time. With this - * scheme, the version number is usually part of the file name, like this: - * - * libcrypto.so.0.9 - * - * Some unixen also make a softlink with the major verson number only: - * - * libcrypto.so.0 - * - * On Tru64 and IRIX 6.x it works a little bit differently. There, the - * shared library version is stored in the file, and is actually a series - * of versions, separated by colons. The rightmost version present in the - * library when linking an application is stored in the application to be - * matched at run time. When the application is run, a check is done to - * see if the library version stored in the application matches any of the - * versions in the version string of the library itself. - * This version string can be constructed in any way, depending on what - * kind of matching is desired. However, to implement the same scheme as - * the one used in the other unixen, all compatible versions, from lowest - * to highest, should be part of the string. Consecutive builds would - * give the following versions strings: - * - * 3.0 - * 3.0:3.1 - * 3.0:3.1:3.2 - * 4.0 - * 4.0:4.1 - * - * Notice how version 4 is completely incompatible with version, and - * therefore give the breach you can see. - * - * There may be other schemes as well that I haven't yet discovered. - * - * So, here's the way it works here: first of all, the library version - * number doesn't need at all to match the overall OpenSSL version. - * However, it's nice and more understandable if it actually does. - * The current library version is stored in the macro SHLIB_VERSION_NUMBER, - * which is just a piece of text in the format "M.m.e" (Major, minor, edit). - * For the sake of Tru64, IRIX, and any other OS that behaves in similar ways, - * we need to keep a history of version numbers, which is done in the - * macro SHLIB_VERSION_HISTORY. The numbers are separated by colons and - * should only keep the versions that are binary compatible with the current. - */ -#define SHLIB_VERSION_HISTORY "" -#define SHLIB_VERSION_NUMBER "1.0.0" - - -#endif /* HEADER_OPENSSLV_H */ diff --git a/ext/bin/libcrypto/include/openssl/ossl_typ.h b/ext/bin/libcrypto/include/openssl/ossl_typ.h deleted file mode 100644 index ea9227f6f..000000000 --- a/ext/bin/libcrypto/include/openssl/ossl_typ.h +++ /dev/null @@ -1,202 +0,0 @@ -/* ==================================================================== - * Copyright (c) 1998-2001 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_OPENSSL_TYPES_H -#define HEADER_OPENSSL_TYPES_H - -#include - -#ifdef NO_ASN1_TYPEDEFS -#define ASN1_INTEGER ASN1_STRING -#define ASN1_ENUMERATED ASN1_STRING -#define ASN1_BIT_STRING ASN1_STRING -#define ASN1_OCTET_STRING ASN1_STRING -#define ASN1_PRINTABLESTRING ASN1_STRING -#define ASN1_T61STRING ASN1_STRING -#define ASN1_IA5STRING ASN1_STRING -#define ASN1_UTCTIME ASN1_STRING -#define ASN1_GENERALIZEDTIME ASN1_STRING -#define ASN1_TIME ASN1_STRING -#define ASN1_GENERALSTRING ASN1_STRING -#define ASN1_UNIVERSALSTRING ASN1_STRING -#define ASN1_BMPSTRING ASN1_STRING -#define ASN1_VISIBLESTRING ASN1_STRING -#define ASN1_UTF8STRING ASN1_STRING -#define ASN1_BOOLEAN int -#define ASN1_NULL int -#else -typedef struct asn1_string_st ASN1_INTEGER; -typedef struct asn1_string_st ASN1_ENUMERATED; -typedef struct asn1_string_st ASN1_BIT_STRING; -typedef struct asn1_string_st ASN1_OCTET_STRING; -typedef struct asn1_string_st ASN1_PRINTABLESTRING; -typedef struct asn1_string_st ASN1_T61STRING; -typedef struct asn1_string_st ASN1_IA5STRING; -typedef struct asn1_string_st ASN1_GENERALSTRING; -typedef struct asn1_string_st ASN1_UNIVERSALSTRING; -typedef struct asn1_string_st ASN1_BMPSTRING; -typedef struct asn1_string_st ASN1_UTCTIME; -typedef struct asn1_string_st ASN1_TIME; -typedef struct asn1_string_st ASN1_GENERALIZEDTIME; -typedef struct asn1_string_st ASN1_VISIBLESTRING; -typedef struct asn1_string_st ASN1_UTF8STRING; -typedef struct asn1_string_st ASN1_STRING; -typedef int ASN1_BOOLEAN; -typedef int ASN1_NULL; -#endif - -typedef struct ASN1_ITEM_st ASN1_ITEM; -typedef struct asn1_pctx_st ASN1_PCTX; - -#ifdef OPENSSL_SYS_WIN32 -#undef X509_NAME -#undef X509_EXTENSIONS -#undef X509_CERT_PAIR -#undef PKCS7_ISSUER_AND_SERIAL -#undef OCSP_REQUEST -#undef OCSP_RESPONSE -#endif - -#ifdef BIGNUM -#undef BIGNUM -#endif -typedef struct bignum_st BIGNUM; -typedef struct bignum_ctx BN_CTX; -typedef struct bn_blinding_st BN_BLINDING; -typedef struct bn_mont_ctx_st BN_MONT_CTX; -typedef struct bn_recp_ctx_st BN_RECP_CTX; -typedef struct bn_gencb_st BN_GENCB; - -typedef struct buf_mem_st BUF_MEM; - -typedef struct evp_cipher_st EVP_CIPHER; -typedef struct evp_cipher_ctx_st EVP_CIPHER_CTX; -typedef struct env_md_st EVP_MD; -typedef struct env_md_ctx_st EVP_MD_CTX; -typedef struct evp_pkey_st EVP_PKEY; - -typedef struct evp_pkey_asn1_method_st EVP_PKEY_ASN1_METHOD; - -typedef struct evp_pkey_method_st EVP_PKEY_METHOD; -typedef struct evp_pkey_ctx_st EVP_PKEY_CTX; - -typedef struct dh_st DH; -typedef struct dh_method DH_METHOD; - -typedef struct dsa_st DSA; -typedef struct dsa_method DSA_METHOD; - -typedef struct rsa_st RSA; -typedef struct rsa_meth_st RSA_METHOD; - -typedef struct rand_meth_st RAND_METHOD; - -typedef struct ecdh_method ECDH_METHOD; -typedef struct ecdsa_method ECDSA_METHOD; - -typedef struct x509_st X509; -typedef struct X509_algor_st X509_ALGOR; -typedef struct X509_crl_st X509_CRL; -typedef struct x509_crl_method_st X509_CRL_METHOD; -typedef struct x509_revoked_st X509_REVOKED; -typedef struct X509_name_st X509_NAME; -typedef struct X509_pubkey_st X509_PUBKEY; -typedef struct x509_store_st X509_STORE; -typedef struct x509_store_ctx_st X509_STORE_CTX; - -typedef struct pkcs8_priv_key_info_st PKCS8_PRIV_KEY_INFO; - -typedef struct v3_ext_ctx X509V3_CTX; -typedef struct conf_st CONF; - -typedef struct store_st STORE; -typedef struct store_method_st STORE_METHOD; - -typedef struct ui_st UI; -typedef struct ui_method_st UI_METHOD; - -typedef struct st_ERR_FNS ERR_FNS; - -typedef struct engine_st ENGINE; -typedef struct ssl_st SSL; -typedef struct ssl_ctx_st SSL_CTX; - -typedef struct X509_POLICY_NODE_st X509_POLICY_NODE; -typedef struct X509_POLICY_LEVEL_st X509_POLICY_LEVEL; -typedef struct X509_POLICY_TREE_st X509_POLICY_TREE; -typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE; - -typedef struct AUTHORITY_KEYID_st AUTHORITY_KEYID; -typedef struct DIST_POINT_st DIST_POINT; -typedef struct ISSUING_DIST_POINT_st ISSUING_DIST_POINT; -typedef struct NAME_CONSTRAINTS_st NAME_CONSTRAINTS; - - /* If placed in pkcs12.h, we end up with a circular depency with pkcs7.h */ -#define DECLARE_PKCS12_STACK_OF(type) /* Nothing */ -#define IMPLEMENT_PKCS12_STACK_OF(type) /* Nothing */ - -typedef struct crypto_ex_data_st CRYPTO_EX_DATA; -/* Callback types for crypto.h */ -typedef int CRYPTO_EX_new(void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -typedef void CRYPTO_EX_free(void *parent, void *ptr, CRYPTO_EX_DATA *ad, - int idx, long argl, void *argp); -typedef int CRYPTO_EX_dup(CRYPTO_EX_DATA *to, CRYPTO_EX_DATA *from, void *from_d, - int idx, long argl, void *argp); - -typedef struct ocsp_req_ctx_st OCSP_REQ_CTX; -typedef struct ocsp_response_st OCSP_RESPONSE; -typedef struct ocsp_responder_id_st OCSP_RESPID; - -#endif /* def HEADER_OPENSSL_TYPES_H */ diff --git a/ext/bin/libcrypto/include/openssl/pem.h b/ext/bin/libcrypto/include/openssl/pem.h deleted file mode 100644 index 8a6ababe3..000000000 --- a/ext/bin/libcrypto/include/openssl/pem.h +++ /dev/null @@ -1,641 +0,0 @@ -/* crypto/pem/pem.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_PEM_H -#define HEADER_PEM_H - -#include -#ifndef OPENSSL_NO_BIO -#include -#endif -#ifndef OPENSSL_NO_STACK -#include -#endif -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define PEM_BUFSIZE 1024 - -#define PEM_OBJ_UNDEF 0 -#define PEM_OBJ_X509 1 -#define PEM_OBJ_X509_REQ 2 -#define PEM_OBJ_CRL 3 -#define PEM_OBJ_SSL_SESSION 4 -#define PEM_OBJ_PRIV_KEY 10 -#define PEM_OBJ_PRIV_RSA 11 -#define PEM_OBJ_PRIV_DSA 12 -#define PEM_OBJ_PRIV_DH 13 -#define PEM_OBJ_PUB_RSA 14 -#define PEM_OBJ_PUB_DSA 15 -#define PEM_OBJ_PUB_DH 16 -#define PEM_OBJ_DHPARAMS 17 -#define PEM_OBJ_DSAPARAMS 18 -#define PEM_OBJ_PRIV_RSA_PUBLIC 19 -#define PEM_OBJ_PRIV_ECDSA 20 -#define PEM_OBJ_PUB_ECDSA 21 -#define PEM_OBJ_ECPARAMETERS 22 - -#define PEM_ERROR 30 -#define PEM_DEK_DES_CBC 40 -#define PEM_DEK_IDEA_CBC 45 -#define PEM_DEK_DES_EDE 50 -#define PEM_DEK_DES_ECB 60 -#define PEM_DEK_RSA 70 -#define PEM_DEK_RSA_MD2 80 -#define PEM_DEK_RSA_MD5 90 - -#define PEM_MD_MD2 NID_md2 -#define PEM_MD_MD5 NID_md5 -#define PEM_MD_SHA NID_sha -#define PEM_MD_MD2_RSA NID_md2WithRSAEncryption -#define PEM_MD_MD5_RSA NID_md5WithRSAEncryption -#define PEM_MD_SHA_RSA NID_sha1WithRSAEncryption - -#define PEM_STRING_X509_OLD "X509 CERTIFICATE" -#define PEM_STRING_X509 "CERTIFICATE" -#define PEM_STRING_X509_PAIR "CERTIFICATE PAIR" -#define PEM_STRING_X509_TRUSTED "TRUSTED CERTIFICATE" -#define PEM_STRING_X509_REQ_OLD "NEW CERTIFICATE REQUEST" -#define PEM_STRING_X509_REQ "CERTIFICATE REQUEST" -#define PEM_STRING_X509_CRL "X509 CRL" -#define PEM_STRING_EVP_PKEY "ANY PRIVATE KEY" -#define PEM_STRING_PUBLIC "PUBLIC KEY" -#define PEM_STRING_RSA "RSA PRIVATE KEY" -#define PEM_STRING_RSA_PUBLIC "RSA PUBLIC KEY" -#define PEM_STRING_DSA "DSA PRIVATE KEY" -#define PEM_STRING_DSA_PUBLIC "DSA PUBLIC KEY" -#define PEM_STRING_PKCS7 "PKCS7" -#define PEM_STRING_PKCS7_SIGNED "PKCS #7 SIGNED DATA" -#define PEM_STRING_PKCS8 "ENCRYPTED PRIVATE KEY" -#define PEM_STRING_PKCS8INF "PRIVATE KEY" -#define PEM_STRING_DHPARAMS "DH PARAMETERS" -#define PEM_STRING_SSL_SESSION "SSL SESSION PARAMETERS" -#define PEM_STRING_DSAPARAMS "DSA PARAMETERS" -#define PEM_STRING_ECDSA_PUBLIC "ECDSA PUBLIC KEY" -#define PEM_STRING_ECPARAMETERS "EC PARAMETERS" -#define PEM_STRING_ECPRIVATEKEY "EC PRIVATE KEY" -#define PEM_STRING_PARAMETERS "PARAMETERS" -#define PEM_STRING_CMS "CMS" - - /* Note that this structure is initialised by PEM_SealInit and cleaned up - by PEM_SealFinal (at least for now) */ -typedef struct PEM_Encode_Seal_st - { - EVP_ENCODE_CTX encode; - EVP_MD_CTX md; - EVP_CIPHER_CTX cipher; - } PEM_ENCODE_SEAL_CTX; - -/* enc_type is one off */ -#define PEM_TYPE_ENCRYPTED 10 -#define PEM_TYPE_MIC_ONLY 20 -#define PEM_TYPE_MIC_CLEAR 30 -#define PEM_TYPE_CLEAR 40 - -typedef struct pem_recip_st - { - char *name; - X509_NAME *dn; - - int cipher; - int key_enc; - /* char iv[8]; unused and wrong size */ - } PEM_USER; - -typedef struct pem_ctx_st - { - int type; /* what type of object */ - - struct { - int version; - int mode; - } proc_type; - - char *domain; - - struct { - int cipher; - /* unused, and wrong size - unsigned char iv[8]; */ - } DEK_info; - - PEM_USER *originator; - - int num_recipient; - PEM_USER **recipient; - - /* XXX(ben): don#t think this is used! - STACK *x509_chain; / * certificate chain */ - EVP_MD *md; /* signature type */ - - int md_enc; /* is the md encrypted or not? */ - int md_len; /* length of md_data */ - char *md_data; /* message digest, could be pkey encrypted */ - - EVP_CIPHER *dec; /* date encryption cipher */ - int key_len; /* key length */ - unsigned char *key; /* key */ - /* unused, and wrong size - unsigned char iv[8]; */ - - - int data_enc; /* is the data encrypted */ - int data_len; - unsigned char *data; - } PEM_CTX; - -/* These macros make the PEM_read/PEM_write functions easier to maintain and - * write. Now they are all implemented with either: - * IMPLEMENT_PEM_rw(...) or IMPLEMENT_PEM_rw_cb(...) - */ - -#ifdef OPENSSL_NO_FP_API - -#define IMPLEMENT_PEM_read_fp(name, type, str, asn1) /**/ -#define IMPLEMENT_PEM_write_fp(name, type, str, asn1) /**/ -#define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) /**/ -#define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) /**/ -#define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) /**/ - -#else - -#define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \ -type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\ -{ \ -return PEM_ASN1_read((d2i_of_void *)d2i_##asn1, str,fp,(void **)x,cb,u); \ -} - -#define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \ -int PEM_write_##name(FILE *fp, type *x) \ -{ \ -return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL); \ -} - -#define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) \ -int PEM_write_##name(FILE *fp, const type *x) \ -{ \ -return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,(void *)x,NULL,NULL,0,NULL,NULL); \ -} - -#define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) \ -int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, \ - void *u) \ - { \ - return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ - } - -#define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) \ -int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, \ - void *u) \ - { \ - return PEM_ASN1_write((i2d_of_void *)i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u); \ - } - -#endif - -#define IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ -type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\ -{ \ -return PEM_ASN1_read_bio((d2i_of_void *)d2i_##asn1, str,bp,(void **)x,cb,u); \ -} - -#define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ -int PEM_write_bio_##name(BIO *bp, type *x) \ -{ \ -return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL); \ -} - -#define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ -int PEM_write_bio_##name(BIO *bp, const type *x) \ -{ \ -return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,NULL,NULL,0,NULL,NULL); \ -} - -#define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ -int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ - { \ - return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u); \ - } - -#define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ -int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ - { \ - return PEM_ASN1_write_bio((i2d_of_void *)i2d_##asn1,str,bp,(void *)x,enc,kstr,klen,cb,u); \ - } - -#define IMPLEMENT_PEM_write(name, type, str, asn1) \ - IMPLEMENT_PEM_write_bio(name, type, str, asn1) \ - IMPLEMENT_PEM_write_fp(name, type, str, asn1) - -#define IMPLEMENT_PEM_write_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_bio_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_fp_const(name, type, str, asn1) - -#define IMPLEMENT_PEM_write_cb(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1) - -#define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1) - -#define IMPLEMENT_PEM_read(name, type, str, asn1) \ - IMPLEMENT_PEM_read_bio(name, type, str, asn1) \ - IMPLEMENT_PEM_read_fp(name, type, str, asn1) - -#define IMPLEMENT_PEM_rw(name, type, str, asn1) \ - IMPLEMENT_PEM_read(name, type, str, asn1) \ - IMPLEMENT_PEM_write(name, type, str, asn1) - -#define IMPLEMENT_PEM_rw_const(name, type, str, asn1) \ - IMPLEMENT_PEM_read(name, type, str, asn1) \ - IMPLEMENT_PEM_write_const(name, type, str, asn1) - -#define IMPLEMENT_PEM_rw_cb(name, type, str, asn1) \ - IMPLEMENT_PEM_read(name, type, str, asn1) \ - IMPLEMENT_PEM_write_cb(name, type, str, asn1) - -/* These are the same except they are for the declarations */ - -#if defined(OPENSSL_NO_FP_API) - -#define DECLARE_PEM_read_fp(name, type) /**/ -#define DECLARE_PEM_write_fp(name, type) /**/ -#define DECLARE_PEM_write_cb_fp(name, type) /**/ - -#else - -#define DECLARE_PEM_read_fp(name, type) \ - type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); - -#define DECLARE_PEM_write_fp(name, type) \ - int PEM_write_##name(FILE *fp, type *x); - -#define DECLARE_PEM_write_fp_const(name, type) \ - int PEM_write_##name(FILE *fp, const type *x); - -#define DECLARE_PEM_write_cb_fp(name, type) \ - int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u); - -#endif - -#ifndef OPENSSL_NO_BIO -#define DECLARE_PEM_read_bio(name, type) \ - type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u); - -#define DECLARE_PEM_write_bio(name, type) \ - int PEM_write_bio_##name(BIO *bp, type *x); - -#define DECLARE_PEM_write_bio_const(name, type) \ - int PEM_write_bio_##name(BIO *bp, const type *x); - -#define DECLARE_PEM_write_cb_bio(name, type) \ - int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \ - unsigned char *kstr, int klen, pem_password_cb *cb, void *u); - -#else - -#define DECLARE_PEM_read_bio(name, type) /**/ -#define DECLARE_PEM_write_bio(name, type) /**/ -#define DECLARE_PEM_write_bio_const(name, type) /**/ -#define DECLARE_PEM_write_cb_bio(name, type) /**/ - -#endif - -#define DECLARE_PEM_write(name, type) \ - DECLARE_PEM_write_bio(name, type) \ - DECLARE_PEM_write_fp(name, type) - -#define DECLARE_PEM_write_const(name, type) \ - DECLARE_PEM_write_bio_const(name, type) \ - DECLARE_PEM_write_fp_const(name, type) - -#define DECLARE_PEM_write_cb(name, type) \ - DECLARE_PEM_write_cb_bio(name, type) \ - DECLARE_PEM_write_cb_fp(name, type) - -#define DECLARE_PEM_read(name, type) \ - DECLARE_PEM_read_bio(name, type) \ - DECLARE_PEM_read_fp(name, type) - -#define DECLARE_PEM_rw(name, type) \ - DECLARE_PEM_read(name, type) \ - DECLARE_PEM_write(name, type) - -#define DECLARE_PEM_rw_const(name, type) \ - DECLARE_PEM_read(name, type) \ - DECLARE_PEM_write_const(name, type) - -#define DECLARE_PEM_rw_cb(name, type) \ - DECLARE_PEM_read(name, type) \ - DECLARE_PEM_write_cb(name, type) - -#if 1 -/* "userdata": new with OpenSSL 0.9.4 */ -typedef int pem_password_cb(char *buf, int size, int rwflag, void *userdata); -#else -/* OpenSSL 0.9.3, 0.9.3a */ -typedef int pem_password_cb(char *buf, int size, int rwflag); -#endif - -int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher); -int PEM_do_header (EVP_CIPHER_INFO *cipher, unsigned char *data,long *len, - pem_password_cb *callback,void *u); - -#ifndef OPENSSL_NO_BIO -int PEM_read_bio(BIO *bp, char **name, char **header, - unsigned char **data,long *len); -int PEM_write_bio(BIO *bp,const char *name,char *hdr,unsigned char *data, - long len); -int PEM_bytes_read_bio(unsigned char **pdata, long *plen, char **pnm, const char *name, BIO *bp, - pem_password_cb *cb, void *u); -void * PEM_ASN1_read_bio(d2i_of_void *d2i, const char *name, BIO *bp, - void **x, pem_password_cb *cb, void *u); -int PEM_ASN1_write_bio(i2d_of_void *i2d,const char *name,BIO *bp, void *x, - const EVP_CIPHER *enc,unsigned char *kstr,int klen, - pem_password_cb *cb, void *u); - -STACK_OF(X509_INFO) * PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb, void *u); -int PEM_X509_INFO_write_bio(BIO *bp,X509_INFO *xi, EVP_CIPHER *enc, - unsigned char *kstr, int klen, pem_password_cb *cd, void *u); -#endif - -int PEM_read(FILE *fp, char **name, char **header, - unsigned char **data,long *len); -int PEM_write(FILE *fp,char *name,char *hdr,unsigned char *data,long len); -void * PEM_ASN1_read(d2i_of_void *d2i, const char *name, FILE *fp, void **x, - pem_password_cb *cb, void *u); -int PEM_ASN1_write(i2d_of_void *i2d,const char *name,FILE *fp, - void *x,const EVP_CIPHER *enc,unsigned char *kstr, - int klen,pem_password_cb *callback, void *u); -STACK_OF(X509_INFO) * PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, - pem_password_cb *cb, void *u); - -int PEM_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, - EVP_MD *md_type, unsigned char **ek, int *ekl, - unsigned char *iv, EVP_PKEY **pubk, int npubk); -void PEM_SealUpdate(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *out, int *outl, - unsigned char *in, int inl); -int PEM_SealFinal(PEM_ENCODE_SEAL_CTX *ctx, unsigned char *sig,int *sigl, - unsigned char *out, int *outl, EVP_PKEY *priv); - -void PEM_SignInit(EVP_MD_CTX *ctx, EVP_MD *type); -void PEM_SignUpdate(EVP_MD_CTX *ctx,unsigned char *d,unsigned int cnt); -int PEM_SignFinal(EVP_MD_CTX *ctx, unsigned char *sigret, - unsigned int *siglen, EVP_PKEY *pkey); - -int PEM_def_callback(char *buf, int num, int w, void *key); -void PEM_proc_type(char *buf, int type); -void PEM_dek_info(char *buf, const char *type, int len, char *str); - - -#include - -DECLARE_PEM_rw(X509, X509) - -DECLARE_PEM_rw(X509_AUX, X509) - -DECLARE_PEM_rw(X509_CERT_PAIR, X509_CERT_PAIR) - -DECLARE_PEM_rw(X509_REQ, X509_REQ) -DECLARE_PEM_write(X509_REQ_NEW, X509_REQ) - -DECLARE_PEM_rw(X509_CRL, X509_CRL) - -DECLARE_PEM_rw(PKCS7, PKCS7) - -DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE, NETSCAPE_CERT_SEQUENCE) - -DECLARE_PEM_rw(PKCS8, X509_SIG) - -DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO, PKCS8_PRIV_KEY_INFO) - -#ifndef OPENSSL_NO_RSA - -DECLARE_PEM_rw_cb(RSAPrivateKey, RSA) - -DECLARE_PEM_rw_const(RSAPublicKey, RSA) -DECLARE_PEM_rw(RSA_PUBKEY, RSA) - -#endif - -#ifndef OPENSSL_NO_DSA - -DECLARE_PEM_rw_cb(DSAPrivateKey, DSA) - -DECLARE_PEM_rw(DSA_PUBKEY, DSA) - -DECLARE_PEM_rw_const(DSAparams, DSA) - -#endif - -#ifndef OPENSSL_NO_EC -DECLARE_PEM_rw_const(ECPKParameters, EC_GROUP) -DECLARE_PEM_rw_cb(ECPrivateKey, EC_KEY) -DECLARE_PEM_rw(EC_PUBKEY, EC_KEY) -#endif - -#ifndef OPENSSL_NO_DH - -DECLARE_PEM_rw_const(DHparams, DH) - -#endif - -DECLARE_PEM_rw_cb(PrivateKey, EVP_PKEY) - -DECLARE_PEM_rw(PUBKEY, EVP_PKEY) - -int PEM_write_bio_PKCS8PrivateKey_nid(BIO *bp, EVP_PKEY *x, int nid, - char *kstr, int klen, - pem_password_cb *cb, void *u); -int PEM_write_bio_PKCS8PrivateKey(BIO *, EVP_PKEY *, const EVP_CIPHER *, - char *, int, pem_password_cb *, void *); -int i2d_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, - char *kstr, int klen, - pem_password_cb *cb, void *u); -int i2d_PKCS8PrivateKey_nid_bio(BIO *bp, EVP_PKEY *x, int nid, - char *kstr, int klen, - pem_password_cb *cb, void *u); -EVP_PKEY *d2i_PKCS8PrivateKey_bio(BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u); - -int i2d_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, - char *kstr, int klen, - pem_password_cb *cb, void *u); -int i2d_PKCS8PrivateKey_nid_fp(FILE *fp, EVP_PKEY *x, int nid, - char *kstr, int klen, - pem_password_cb *cb, void *u); -int PEM_write_PKCS8PrivateKey_nid(FILE *fp, EVP_PKEY *x, int nid, - char *kstr, int klen, - pem_password_cb *cb, void *u); - -EVP_PKEY *d2i_PKCS8PrivateKey_fp(FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u); - -int PEM_write_PKCS8PrivateKey(FILE *fp,EVP_PKEY *x,const EVP_CIPHER *enc, - char *kstr,int klen, pem_password_cb *cd, void *u); - -EVP_PKEY *PEM_read_bio_Parameters(BIO *bp, EVP_PKEY **x); -int PEM_write_bio_Parameters(BIO *bp, EVP_PKEY *x); - - -EVP_PKEY *b2i_PrivateKey(const unsigned char **in, long length); -EVP_PKEY *b2i_PublicKey(const unsigned char **in, long length); -EVP_PKEY *b2i_PrivateKey_bio(BIO *in); -EVP_PKEY *b2i_PublicKey_bio(BIO *in); -int i2b_PrivateKey_bio(BIO *out, EVP_PKEY *pk); -int i2b_PublicKey_bio(BIO *out, EVP_PKEY *pk); -#ifndef OPENSSL_NO_RC4 -EVP_PKEY *b2i_PVK_bio(BIO *in, pem_password_cb *cb, void *u); -int i2b_PVK_bio(BIO *out, EVP_PKEY *pk, int enclevel, - pem_password_cb *cb, void *u); -#endif - - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_PEM_strings(void); - -/* Error codes for the PEM functions. */ - -/* Function codes. */ -#define PEM_F_B2I_DSS 127 -#define PEM_F_B2I_PVK_BIO 128 -#define PEM_F_B2I_RSA 129 -#define PEM_F_CHECK_BITLEN_DSA 130 -#define PEM_F_CHECK_BITLEN_RSA 131 -#define PEM_F_D2I_PKCS8PRIVATEKEY_BIO 120 -#define PEM_F_D2I_PKCS8PRIVATEKEY_FP 121 -#define PEM_F_DO_B2I 132 -#define PEM_F_DO_B2I_BIO 133 -#define PEM_F_DO_BLOB_HEADER 134 -#define PEM_F_DO_PK8PKEY 126 -#define PEM_F_DO_PK8PKEY_FP 125 -#define PEM_F_DO_PVK_BODY 135 -#define PEM_F_DO_PVK_HEADER 136 -#define PEM_F_I2B_PVK 137 -#define PEM_F_I2B_PVK_BIO 138 -#define PEM_F_LOAD_IV 101 -#define PEM_F_PEM_ASN1_READ 102 -#define PEM_F_PEM_ASN1_READ_BIO 103 -#define PEM_F_PEM_ASN1_WRITE 104 -#define PEM_F_PEM_ASN1_WRITE_BIO 105 -#define PEM_F_PEM_DEF_CALLBACK 100 -#define PEM_F_PEM_DO_HEADER 106 -#define PEM_F_PEM_F_PEM_WRITE_PKCS8PRIVATEKEY 118 -#define PEM_F_PEM_GET_EVP_CIPHER_INFO 107 -#define PEM_F_PEM_PK8PKEY 119 -#define PEM_F_PEM_READ 108 -#define PEM_F_PEM_READ_BIO 109 -#define PEM_F_PEM_READ_BIO_PARAMETERS 140 -#define PEM_F_PEM_READ_BIO_PRIVATEKEY 123 -#define PEM_F_PEM_READ_PRIVATEKEY 124 -#define PEM_F_PEM_SEALFINAL 110 -#define PEM_F_PEM_SEALINIT 111 -#define PEM_F_PEM_SIGNFINAL 112 -#define PEM_F_PEM_WRITE 113 -#define PEM_F_PEM_WRITE_BIO 114 -#define PEM_F_PEM_WRITE_PRIVATEKEY 139 -#define PEM_F_PEM_X509_INFO_READ 115 -#define PEM_F_PEM_X509_INFO_READ_BIO 116 -#define PEM_F_PEM_X509_INFO_WRITE_BIO 117 - -/* Reason codes. */ -#define PEM_R_BAD_BASE64_DECODE 100 -#define PEM_R_BAD_DECRYPT 101 -#define PEM_R_BAD_END_LINE 102 -#define PEM_R_BAD_IV_CHARS 103 -#define PEM_R_BAD_MAGIC_NUMBER 116 -#define PEM_R_BAD_PASSWORD_READ 104 -#define PEM_R_BAD_VERSION_NUMBER 117 -#define PEM_R_BIO_WRITE_FAILURE 118 -#define PEM_R_CIPHER_IS_NULL 127 -#define PEM_R_ERROR_CONVERTING_PRIVATE_KEY 115 -#define PEM_R_EXPECTING_PRIVATE_KEY_BLOB 119 -#define PEM_R_EXPECTING_PUBLIC_KEY_BLOB 120 -#define PEM_R_INCONSISTENT_HEADER 121 -#define PEM_R_KEYBLOB_HEADER_PARSE_ERROR 122 -#define PEM_R_KEYBLOB_TOO_SHORT 123 -#define PEM_R_NOT_DEK_INFO 105 -#define PEM_R_NOT_ENCRYPTED 106 -#define PEM_R_NOT_PROC_TYPE 107 -#define PEM_R_NO_START_LINE 108 -#define PEM_R_PROBLEMS_GETTING_PASSWORD 109 -#define PEM_R_PUBLIC_KEY_NO_RSA 110 -#define PEM_R_PVK_DATA_TOO_SHORT 124 -#define PEM_R_PVK_TOO_SHORT 125 -#define PEM_R_READ_KEY 111 -#define PEM_R_SHORT_HEADER 112 -#define PEM_R_UNSUPPORTED_CIPHER 113 -#define PEM_R_UNSUPPORTED_ENCRYPTION 114 -#define PEM_R_UNSUPPORTED_KEY_COMPONENTS 126 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/pem2.h b/ext/bin/libcrypto/include/openssl/pem2.h deleted file mode 100644 index f31790d69..000000000 --- a/ext/bin/libcrypto/include/openssl/pem2.h +++ /dev/null @@ -1,70 +0,0 @@ -/* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -/* - * This header only exists to break a circular dependency between pem and err - * Ben 30 Jan 1999. - */ - -#ifdef __cplusplus -extern "C" { -#endif - -#ifndef HEADER_PEM_H -void ERR_load_PEM_strings(void); -#endif - -#ifdef __cplusplus -} -#endif diff --git a/ext/bin/libcrypto/include/openssl/pkcs12.h b/ext/bin/libcrypto/include/openssl/pkcs12.h deleted file mode 100644 index b17eb9f42..000000000 --- a/ext/bin/libcrypto/include/openssl/pkcs12.h +++ /dev/null @@ -1,331 +0,0 @@ -/* pkcs12.h */ -/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL - * project 1999. - */ -/* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_PKCS12_H -#define HEADER_PKCS12_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define PKCS12_KEY_ID 1 -#define PKCS12_IV_ID 2 -#define PKCS12_MAC_ID 3 - -/* Default iteration count */ -#ifndef PKCS12_DEFAULT_ITER -#define PKCS12_DEFAULT_ITER PKCS5_DEFAULT_ITER -#endif - -#define PKCS12_MAC_KEY_LENGTH 20 - -#define PKCS12_SALT_LEN 8 - -/* Uncomment out next line for unicode password and names, otherwise ASCII */ - -/*#define PBE_UNICODE*/ - -#ifdef PBE_UNICODE -#define PKCS12_key_gen PKCS12_key_gen_uni -#define PKCS12_add_friendlyname PKCS12_add_friendlyname_uni -#else -#define PKCS12_key_gen PKCS12_key_gen_asc -#define PKCS12_add_friendlyname PKCS12_add_friendlyname_asc -#endif - -/* MS key usage constants */ - -#define KEY_EX 0x10 -#define KEY_SIG 0x80 - -typedef struct { -X509_SIG *dinfo; -ASN1_OCTET_STRING *salt; -ASN1_INTEGER *iter; /* defaults to 1 */ -} PKCS12_MAC_DATA; - -typedef struct { -ASN1_INTEGER *version; -PKCS12_MAC_DATA *mac; -PKCS7 *authsafes; -} PKCS12; - -typedef struct { -ASN1_OBJECT *type; -union { - struct pkcs12_bag_st *bag; /* secret, crl and certbag */ - struct pkcs8_priv_key_info_st *keybag; /* keybag */ - X509_SIG *shkeybag; /* shrouded key bag */ - STACK_OF(PKCS12_SAFEBAG) *safes; - ASN1_TYPE *other; -}value; -STACK_OF(X509_ATTRIBUTE) *attrib; -} PKCS12_SAFEBAG; - -DECLARE_STACK_OF(PKCS12_SAFEBAG) -DECLARE_ASN1_SET_OF(PKCS12_SAFEBAG) -DECLARE_PKCS12_STACK_OF(PKCS12_SAFEBAG) - -typedef struct pkcs12_bag_st { -ASN1_OBJECT *type; -union { - ASN1_OCTET_STRING *x509cert; - ASN1_OCTET_STRING *x509crl; - ASN1_OCTET_STRING *octet; - ASN1_IA5STRING *sdsicert; - ASN1_TYPE *other; /* Secret or other bag */ -}value; -} PKCS12_BAGS; - -#define PKCS12_ERROR 0 -#define PKCS12_OK 1 - -/* Compatibility macros */ - -#define M_PKCS12_x5092certbag PKCS12_x5092certbag -#define M_PKCS12_x509crl2certbag PKCS12_x509crl2certbag - -#define M_PKCS12_certbag2x509 PKCS12_certbag2x509 -#define M_PKCS12_certbag2x509crl PKCS12_certbag2x509crl - -#define M_PKCS12_unpack_p7data PKCS12_unpack_p7data -#define M_PKCS12_pack_authsafes PKCS12_pack_authsafes -#define M_PKCS12_unpack_authsafes PKCS12_unpack_authsafes -#define M_PKCS12_unpack_p7encdata PKCS12_unpack_p7encdata - -#define M_PKCS12_decrypt_skey PKCS12_decrypt_skey -#define M_PKCS8_decrypt PKCS8_decrypt - -#define M_PKCS12_bag_type(bg) OBJ_obj2nid((bg)->type) -#define M_PKCS12_cert_bag_type(bg) OBJ_obj2nid((bg)->value.bag->type) -#define M_PKCS12_crl_bag_type M_PKCS12_cert_bag_type - -#define PKCS12_get_attr(bag, attr_nid) \ - PKCS12_get_attr_gen(bag->attrib, attr_nid) - -#define PKCS8_get_attr(p8, attr_nid) \ - PKCS12_get_attr_gen(p8->attributes, attr_nid) - -#define PKCS12_mac_present(p12) ((p12)->mac ? 1 : 0) - - -PKCS12_SAFEBAG *PKCS12_x5092certbag(X509 *x509); -PKCS12_SAFEBAG *PKCS12_x509crl2certbag(X509_CRL *crl); -X509 *PKCS12_certbag2x509(PKCS12_SAFEBAG *bag); -X509_CRL *PKCS12_certbag2x509crl(PKCS12_SAFEBAG *bag); - -PKCS12_SAFEBAG *PKCS12_item_pack_safebag(void *obj, const ASN1_ITEM *it, int nid1, - int nid2); -PKCS12_SAFEBAG *PKCS12_MAKE_KEYBAG(PKCS8_PRIV_KEY_INFO *p8); -PKCS8_PRIV_KEY_INFO *PKCS8_decrypt(X509_SIG *p8, const char *pass, int passlen); -PKCS8_PRIV_KEY_INFO *PKCS12_decrypt_skey(PKCS12_SAFEBAG *bag, const char *pass, - int passlen); -X509_SIG *PKCS8_encrypt(int pbe_nid, const EVP_CIPHER *cipher, - const char *pass, int passlen, - unsigned char *salt, int saltlen, int iter, - PKCS8_PRIV_KEY_INFO *p8); -PKCS12_SAFEBAG *PKCS12_MAKE_SHKEYBAG(int pbe_nid, const char *pass, - int passlen, unsigned char *salt, - int saltlen, int iter, - PKCS8_PRIV_KEY_INFO *p8); -PKCS7 *PKCS12_pack_p7data(STACK_OF(PKCS12_SAFEBAG) *sk); -STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7data(PKCS7 *p7); -PKCS7 *PKCS12_pack_p7encdata(int pbe_nid, const char *pass, int passlen, - unsigned char *salt, int saltlen, int iter, - STACK_OF(PKCS12_SAFEBAG) *bags); -STACK_OF(PKCS12_SAFEBAG) *PKCS12_unpack_p7encdata(PKCS7 *p7, const char *pass, int passlen); - -int PKCS12_pack_authsafes(PKCS12 *p12, STACK_OF(PKCS7) *safes); -STACK_OF(PKCS7) *PKCS12_unpack_authsafes(PKCS12 *p12); - -int PKCS12_add_localkeyid(PKCS12_SAFEBAG *bag, unsigned char *name, int namelen); -int PKCS12_add_friendlyname_asc(PKCS12_SAFEBAG *bag, const char *name, - int namelen); -int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, - int namelen); -int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, const unsigned char *name, - int namelen); -int PKCS8_add_keyusage(PKCS8_PRIV_KEY_INFO *p8, int usage); -ASN1_TYPE *PKCS12_get_attr_gen(STACK_OF(X509_ATTRIBUTE) *attrs, int attr_nid); -char *PKCS12_get_friendlyname(PKCS12_SAFEBAG *bag); -unsigned char *PKCS12_pbe_crypt(X509_ALGOR *algor, const char *pass, - int passlen, unsigned char *in, int inlen, - unsigned char **data, int *datalen, int en_de); -void * PKCS12_item_decrypt_d2i(X509_ALGOR *algor, const ASN1_ITEM *it, - const char *pass, int passlen, ASN1_OCTET_STRING *oct, int zbuf); -ASN1_OCTET_STRING *PKCS12_item_i2d_encrypt(X509_ALGOR *algor, const ASN1_ITEM *it, - const char *pass, int passlen, - void *obj, int zbuf); -PKCS12 *PKCS12_init(int mode); -int PKCS12_key_gen_asc(const char *pass, int passlen, unsigned char *salt, - int saltlen, int id, int iter, int n, - unsigned char *out, const EVP_MD *md_type); -int PKCS12_key_gen_uni(unsigned char *pass, int passlen, unsigned char *salt, int saltlen, int id, int iter, int n, unsigned char *out, const EVP_MD *md_type); -int PKCS12_PBE_keyivgen(EVP_CIPHER_CTX *ctx, const char *pass, int passlen, - ASN1_TYPE *param, const EVP_CIPHER *cipher, const EVP_MD *md_type, - int en_de); -int PKCS12_gen_mac(PKCS12 *p12, const char *pass, int passlen, - unsigned char *mac, unsigned int *maclen); -int PKCS12_verify_mac(PKCS12 *p12, const char *pass, int passlen); -int PKCS12_set_mac(PKCS12 *p12, const char *pass, int passlen, - unsigned char *salt, int saltlen, int iter, - const EVP_MD *md_type); -int PKCS12_setup_mac(PKCS12 *p12, int iter, unsigned char *salt, - int saltlen, const EVP_MD *md_type); -unsigned char *OPENSSL_asc2uni(const char *asc, int asclen, unsigned char **uni, int *unilen); -char *OPENSSL_uni2asc(unsigned char *uni, int unilen); - -DECLARE_ASN1_FUNCTIONS(PKCS12) -DECLARE_ASN1_FUNCTIONS(PKCS12_MAC_DATA) -DECLARE_ASN1_FUNCTIONS(PKCS12_SAFEBAG) -DECLARE_ASN1_FUNCTIONS(PKCS12_BAGS) - -DECLARE_ASN1_ITEM(PKCS12_SAFEBAGS) -DECLARE_ASN1_ITEM(PKCS12_AUTHSAFES) - -void PKCS12_PBE_add(void); -int PKCS12_parse(PKCS12 *p12, const char *pass, EVP_PKEY **pkey, X509 **cert, - STACK_OF(X509) **ca); -PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert, - STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter, - int mac_iter, int keytype); - -PKCS12_SAFEBAG *PKCS12_add_cert(STACK_OF(PKCS12_SAFEBAG) **pbags, X509 *cert); -PKCS12_SAFEBAG *PKCS12_add_key(STACK_OF(PKCS12_SAFEBAG) **pbags, EVP_PKEY *key, - int key_usage, int iter, - int key_nid, char *pass); -int PKCS12_add_safe(STACK_OF(PKCS7) **psafes, STACK_OF(PKCS12_SAFEBAG) *bags, - int safe_nid, int iter, char *pass); -PKCS12 *PKCS12_add_safes(STACK_OF(PKCS7) *safes, int p7_nid); - -int i2d_PKCS12_bio(BIO *bp, PKCS12 *p12); -int i2d_PKCS12_fp(FILE *fp, PKCS12 *p12); -PKCS12 *d2i_PKCS12_bio(BIO *bp, PKCS12 **p12); -PKCS12 *d2i_PKCS12_fp(FILE *fp, PKCS12 **p12); -int PKCS12_newpass(PKCS12 *p12, char *oldpass, char *newpass); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_PKCS12_strings(void); - -/* Error codes for the PKCS12 functions. */ - -/* Function codes. */ -#define PKCS12_F_PARSE_BAG 129 -#define PKCS12_F_PARSE_BAGS 103 -#define PKCS12_F_PKCS12_ADD_FRIENDLYNAME 100 -#define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_ASC 127 -#define PKCS12_F_PKCS12_ADD_FRIENDLYNAME_UNI 102 -#define PKCS12_F_PKCS12_ADD_LOCALKEYID 104 -#define PKCS12_F_PKCS12_CREATE 105 -#define PKCS12_F_PKCS12_GEN_MAC 107 -#define PKCS12_F_PKCS12_INIT 109 -#define PKCS12_F_PKCS12_ITEM_DECRYPT_D2I 106 -#define PKCS12_F_PKCS12_ITEM_I2D_ENCRYPT 108 -#define PKCS12_F_PKCS12_ITEM_PACK_SAFEBAG 117 -#define PKCS12_F_PKCS12_KEY_GEN_ASC 110 -#define PKCS12_F_PKCS12_KEY_GEN_UNI 111 -#define PKCS12_F_PKCS12_MAKE_KEYBAG 112 -#define PKCS12_F_PKCS12_MAKE_SHKEYBAG 113 -#define PKCS12_F_PKCS12_NEWPASS 128 -#define PKCS12_F_PKCS12_PACK_P7DATA 114 -#define PKCS12_F_PKCS12_PACK_P7ENCDATA 115 -#define PKCS12_F_PKCS12_PARSE 118 -#define PKCS12_F_PKCS12_PBE_CRYPT 119 -#define PKCS12_F_PKCS12_PBE_KEYIVGEN 120 -#define PKCS12_F_PKCS12_SETUP_MAC 122 -#define PKCS12_F_PKCS12_SET_MAC 123 -#define PKCS12_F_PKCS12_UNPACK_AUTHSAFES 130 -#define PKCS12_F_PKCS12_UNPACK_P7DATA 131 -#define PKCS12_F_PKCS12_VERIFY_MAC 126 -#define PKCS12_F_PKCS8_ADD_KEYUSAGE 124 -#define PKCS12_F_PKCS8_ENCRYPT 125 - -/* Reason codes. */ -#define PKCS12_R_CANT_PACK_STRUCTURE 100 -#define PKCS12_R_CONTENT_TYPE_NOT_DATA 121 -#define PKCS12_R_DECODE_ERROR 101 -#define PKCS12_R_ENCODE_ERROR 102 -#define PKCS12_R_ENCRYPT_ERROR 103 -#define PKCS12_R_ERROR_SETTING_ENCRYPTED_DATA_TYPE 120 -#define PKCS12_R_INVALID_NULL_ARGUMENT 104 -#define PKCS12_R_INVALID_NULL_PKCS12_POINTER 105 -#define PKCS12_R_IV_GEN_ERROR 106 -#define PKCS12_R_KEY_GEN_ERROR 107 -#define PKCS12_R_MAC_ABSENT 108 -#define PKCS12_R_MAC_GENERATION_ERROR 109 -#define PKCS12_R_MAC_SETUP_ERROR 110 -#define PKCS12_R_MAC_STRING_SET_ERROR 111 -#define PKCS12_R_MAC_VERIFY_ERROR 112 -#define PKCS12_R_MAC_VERIFY_FAILURE 113 -#define PKCS12_R_PARSE_ERROR 114 -#define PKCS12_R_PKCS12_ALGOR_CIPHERINIT_ERROR 115 -#define PKCS12_R_PKCS12_CIPHERFINAL_ERROR 116 -#define PKCS12_R_PKCS12_PBE_CRYPT_ERROR 117 -#define PKCS12_R_UNKNOWN_DIGEST_ALGORITHM 118 -#define PKCS12_R_UNSUPPORTED_PKCS12_MODE 119 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/pkcs7.h b/ext/bin/libcrypto/include/openssl/pkcs7.h deleted file mode 100644 index e4d443193..000000000 --- a/ext/bin/libcrypto/include/openssl/pkcs7.h +++ /dev/null @@ -1,499 +0,0 @@ -/* crypto/pkcs7/pkcs7.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_PKCS7_H -#define HEADER_PKCS7_H - -#include -#include -#include - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_SYS_WIN32 -/* Under Win32 thes are defined in wincrypt.h */ -#undef PKCS7_ISSUER_AND_SERIAL -#undef PKCS7_SIGNER_INFO -#endif - -/* -Encryption_ID DES-CBC -Digest_ID MD5 -Digest_Encryption_ID rsaEncryption -Key_Encryption_ID rsaEncryption -*/ - -typedef struct pkcs7_issuer_and_serial_st - { - X509_NAME *issuer; - ASN1_INTEGER *serial; - } PKCS7_ISSUER_AND_SERIAL; - -typedef struct pkcs7_signer_info_st - { - ASN1_INTEGER *version; /* version 1 */ - PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; - X509_ALGOR *digest_alg; - STACK_OF(X509_ATTRIBUTE) *auth_attr; /* [ 0 ] */ - X509_ALGOR *digest_enc_alg; - ASN1_OCTET_STRING *enc_digest; - STACK_OF(X509_ATTRIBUTE) *unauth_attr; /* [ 1 ] */ - - /* The private key to sign with */ - EVP_PKEY *pkey; - } PKCS7_SIGNER_INFO; - -DECLARE_STACK_OF(PKCS7_SIGNER_INFO) -DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) - -typedef struct pkcs7_recip_info_st - { - ASN1_INTEGER *version; /* version 0 */ - PKCS7_ISSUER_AND_SERIAL *issuer_and_serial; - X509_ALGOR *key_enc_algor; - ASN1_OCTET_STRING *enc_key; - X509 *cert; /* get the pub-key from this */ - } PKCS7_RECIP_INFO; - -DECLARE_STACK_OF(PKCS7_RECIP_INFO) -DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) - -typedef struct pkcs7_signed_st - { - ASN1_INTEGER *version; /* version 1 */ - STACK_OF(X509_ALGOR) *md_algs; /* md used */ - STACK_OF(X509) *cert; /* [ 0 ] */ - STACK_OF(X509_CRL) *crl; /* [ 1 ] */ - STACK_OF(PKCS7_SIGNER_INFO) *signer_info; - - struct pkcs7_st *contents; - } PKCS7_SIGNED; -/* The above structure is very very similar to PKCS7_SIGN_ENVELOPE. - * How about merging the two */ - -typedef struct pkcs7_enc_content_st - { - ASN1_OBJECT *content_type; - X509_ALGOR *algorithm; - ASN1_OCTET_STRING *enc_data; /* [ 0 ] */ - const EVP_CIPHER *cipher; - } PKCS7_ENC_CONTENT; - -typedef struct pkcs7_enveloped_st - { - ASN1_INTEGER *version; /* version 0 */ - STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; - PKCS7_ENC_CONTENT *enc_data; - } PKCS7_ENVELOPE; - -typedef struct pkcs7_signedandenveloped_st - { - ASN1_INTEGER *version; /* version 1 */ - STACK_OF(X509_ALGOR) *md_algs; /* md used */ - STACK_OF(X509) *cert; /* [ 0 ] */ - STACK_OF(X509_CRL) *crl; /* [ 1 ] */ - STACK_OF(PKCS7_SIGNER_INFO) *signer_info; - - PKCS7_ENC_CONTENT *enc_data; - STACK_OF(PKCS7_RECIP_INFO) *recipientinfo; - } PKCS7_SIGN_ENVELOPE; - -typedef struct pkcs7_digest_st - { - ASN1_INTEGER *version; /* version 0 */ - X509_ALGOR *md; /* md used */ - struct pkcs7_st *contents; - ASN1_OCTET_STRING *digest; - } PKCS7_DIGEST; - -typedef struct pkcs7_encrypted_st - { - ASN1_INTEGER *version; /* version 0 */ - PKCS7_ENC_CONTENT *enc_data; - } PKCS7_ENCRYPT; - -typedef struct pkcs7_st - { - /* The following is non NULL if it contains ASN1 encoding of - * this structure */ - unsigned char *asn1; - long length; - -#define PKCS7_S_HEADER 0 -#define PKCS7_S_BODY 1 -#define PKCS7_S_TAIL 2 - int state; /* used during processing */ - - int detached; - - ASN1_OBJECT *type; - /* content as defined by the type */ - /* all encryption/message digests are applied to the 'contents', - * leaving out the 'type' field. */ - union { - char *ptr; - - /* NID_pkcs7_data */ - ASN1_OCTET_STRING *data; - - /* NID_pkcs7_signed */ - PKCS7_SIGNED *sign; - - /* NID_pkcs7_enveloped */ - PKCS7_ENVELOPE *enveloped; - - /* NID_pkcs7_signedAndEnveloped */ - PKCS7_SIGN_ENVELOPE *signed_and_enveloped; - - /* NID_pkcs7_digest */ - PKCS7_DIGEST *digest; - - /* NID_pkcs7_encrypted */ - PKCS7_ENCRYPT *encrypted; - - /* Anything else */ - ASN1_TYPE *other; - } d; - } PKCS7; - -DECLARE_STACK_OF(PKCS7) -DECLARE_ASN1_SET_OF(PKCS7) -DECLARE_PKCS12_STACK_OF(PKCS7) - -#define PKCS7_OP_SET_DETACHED_SIGNATURE 1 -#define PKCS7_OP_GET_DETACHED_SIGNATURE 2 - -#define PKCS7_get_signed_attributes(si) ((si)->auth_attr) -#define PKCS7_get_attributes(si) ((si)->unauth_attr) - -#define PKCS7_type_is_signed(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_signed) -#define PKCS7_type_is_encrypted(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) -#define PKCS7_type_is_enveloped(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_enveloped) -#define PKCS7_type_is_signedAndEnveloped(a) \ - (OBJ_obj2nid((a)->type) == NID_pkcs7_signedAndEnveloped) -#define PKCS7_type_is_data(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_data) -#define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest) -#define PKCS7_type_is_encrypted(a) \ - (OBJ_obj2nid((a)->type) == NID_pkcs7_encrypted) - -#define PKCS7_type_is_digest(a) (OBJ_obj2nid((a)->type) == NID_pkcs7_digest) - -#define PKCS7_set_detached(p,v) \ - PKCS7_ctrl(p,PKCS7_OP_SET_DETACHED_SIGNATURE,v,NULL) -#define PKCS7_get_detached(p) \ - PKCS7_ctrl(p,PKCS7_OP_GET_DETACHED_SIGNATURE,0,NULL) - -#define PKCS7_is_detached(p7) (PKCS7_type_is_signed(p7) && PKCS7_get_detached(p7)) - -/* S/MIME related flags */ - -#define PKCS7_TEXT 0x1 -#define PKCS7_NOCERTS 0x2 -#define PKCS7_NOSIGS 0x4 -#define PKCS7_NOCHAIN 0x8 -#define PKCS7_NOINTERN 0x10 -#define PKCS7_NOVERIFY 0x20 -#define PKCS7_DETACHED 0x40 -#define PKCS7_BINARY 0x80 -#define PKCS7_NOATTR 0x100 -#define PKCS7_NOSMIMECAP 0x200 -#define PKCS7_NOOLDMIMETYPE 0x400 -#define PKCS7_CRLFEOL 0x800 -#define PKCS7_STREAM 0x1000 -#define PKCS7_NOCRL 0x2000 -#define PKCS7_PARTIAL 0x4000 -#define PKCS7_REUSE_DIGEST 0x8000 - -/* Flags: for compatibility with older code */ - -#define SMIME_TEXT PKCS7_TEXT -#define SMIME_NOCERTS PKCS7_NOCERTS -#define SMIME_NOSIGS PKCS7_NOSIGS -#define SMIME_NOCHAIN PKCS7_NOCHAIN -#define SMIME_NOINTERN PKCS7_NOINTERN -#define SMIME_NOVERIFY PKCS7_NOVERIFY -#define SMIME_DETACHED PKCS7_DETACHED -#define SMIME_BINARY PKCS7_BINARY -#define SMIME_NOATTR PKCS7_NOATTR - -DECLARE_ASN1_FUNCTIONS(PKCS7_ISSUER_AND_SERIAL) - -int PKCS7_ISSUER_AND_SERIAL_digest(PKCS7_ISSUER_AND_SERIAL *data,const EVP_MD *type, - unsigned char *md,unsigned int *len); -#ifndef OPENSSL_NO_FP_API -PKCS7 *d2i_PKCS7_fp(FILE *fp,PKCS7 **p7); -int i2d_PKCS7_fp(FILE *fp,PKCS7 *p7); -#endif -PKCS7 *PKCS7_dup(PKCS7 *p7); -PKCS7 *d2i_PKCS7_bio(BIO *bp,PKCS7 **p7); -int i2d_PKCS7_bio(BIO *bp,PKCS7 *p7); -int i2d_PKCS7_bio_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); -int PEM_write_bio_PKCS7_stream(BIO *out, PKCS7 *p7, BIO *in, int flags); - -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNER_INFO) -DECLARE_ASN1_FUNCTIONS(PKCS7_RECIP_INFO) -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGNED) -DECLARE_ASN1_FUNCTIONS(PKCS7_ENC_CONTENT) -DECLARE_ASN1_FUNCTIONS(PKCS7_ENVELOPE) -DECLARE_ASN1_FUNCTIONS(PKCS7_SIGN_ENVELOPE) -DECLARE_ASN1_FUNCTIONS(PKCS7_DIGEST) -DECLARE_ASN1_FUNCTIONS(PKCS7_ENCRYPT) -DECLARE_ASN1_FUNCTIONS(PKCS7) - -DECLARE_ASN1_ITEM(PKCS7_ATTR_SIGN) -DECLARE_ASN1_ITEM(PKCS7_ATTR_VERIFY) - -DECLARE_ASN1_NDEF_FUNCTION(PKCS7) -DECLARE_ASN1_PRINT_FUNCTION(PKCS7) - -long PKCS7_ctrl(PKCS7 *p7, int cmd, long larg, char *parg); - -int PKCS7_set_type(PKCS7 *p7, int type); -int PKCS7_set0_type_other(PKCS7 *p7, int type, ASN1_TYPE *other); -int PKCS7_set_content(PKCS7 *p7, PKCS7 *p7_data); -int PKCS7_SIGNER_INFO_set(PKCS7_SIGNER_INFO *p7i, X509 *x509, EVP_PKEY *pkey, - const EVP_MD *dgst); -int PKCS7_SIGNER_INFO_sign(PKCS7_SIGNER_INFO *si); -int PKCS7_add_signer(PKCS7 *p7, PKCS7_SIGNER_INFO *p7i); -int PKCS7_add_certificate(PKCS7 *p7, X509 *x509); -int PKCS7_add_crl(PKCS7 *p7, X509_CRL *x509); -int PKCS7_content_new(PKCS7 *p7, int nid); -int PKCS7_dataVerify(X509_STORE *cert_store, X509_STORE_CTX *ctx, - BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si); -int PKCS7_signatureVerify(BIO *bio, PKCS7 *p7, PKCS7_SIGNER_INFO *si, - X509 *x509); - -BIO *PKCS7_dataInit(PKCS7 *p7, BIO *bio); -int PKCS7_dataFinal(PKCS7 *p7, BIO *bio); -BIO *PKCS7_dataDecode(PKCS7 *p7, EVP_PKEY *pkey, BIO *in_bio, X509 *pcert); - - -PKCS7_SIGNER_INFO *PKCS7_add_signature(PKCS7 *p7, X509 *x509, - EVP_PKEY *pkey, const EVP_MD *dgst); -X509 *PKCS7_cert_from_signer_info(PKCS7 *p7, PKCS7_SIGNER_INFO *si); -int PKCS7_set_digest(PKCS7 *p7, const EVP_MD *md); -STACK_OF(PKCS7_SIGNER_INFO) *PKCS7_get_signer_info(PKCS7 *p7); - -PKCS7_RECIP_INFO *PKCS7_add_recipient(PKCS7 *p7, X509 *x509); -void PKCS7_SIGNER_INFO_get0_algs(PKCS7_SIGNER_INFO *si, EVP_PKEY **pk, - X509_ALGOR **pdig, X509_ALGOR **psig); -void PKCS7_RECIP_INFO_get0_alg(PKCS7_RECIP_INFO *ri, X509_ALGOR **penc); -int PKCS7_add_recipient_info(PKCS7 *p7, PKCS7_RECIP_INFO *ri); -int PKCS7_RECIP_INFO_set(PKCS7_RECIP_INFO *p7i, X509 *x509); -int PKCS7_set_cipher(PKCS7 *p7, const EVP_CIPHER *cipher); -int PKCS7_stream(unsigned char ***boundary, PKCS7 *p7); - -PKCS7_ISSUER_AND_SERIAL *PKCS7_get_issuer_and_serial(PKCS7 *p7, int idx); -ASN1_OCTET_STRING *PKCS7_digest_from_attributes(STACK_OF(X509_ATTRIBUTE) *sk); -int PKCS7_add_signed_attribute(PKCS7_SIGNER_INFO *p7si,int nid,int type, - void *data); -int PKCS7_add_attribute (PKCS7_SIGNER_INFO *p7si, int nid, int atrtype, - void *value); -ASN1_TYPE *PKCS7_get_attribute(PKCS7_SIGNER_INFO *si, int nid); -ASN1_TYPE *PKCS7_get_signed_attribute(PKCS7_SIGNER_INFO *si, int nid); -int PKCS7_set_signed_attributes(PKCS7_SIGNER_INFO *p7si, - STACK_OF(X509_ATTRIBUTE) *sk); -int PKCS7_set_attributes(PKCS7_SIGNER_INFO *p7si,STACK_OF(X509_ATTRIBUTE) *sk); - - -PKCS7 *PKCS7_sign(X509 *signcert, EVP_PKEY *pkey, STACK_OF(X509) *certs, - BIO *data, int flags); - -PKCS7_SIGNER_INFO *PKCS7_sign_add_signer(PKCS7 *p7, - X509 *signcert, EVP_PKEY *pkey, const EVP_MD *md, - int flags); - -int PKCS7_final(PKCS7 *p7, BIO *data, int flags); -int PKCS7_verify(PKCS7 *p7, STACK_OF(X509) *certs, X509_STORE *store, - BIO *indata, BIO *out, int flags); -STACK_OF(X509) *PKCS7_get0_signers(PKCS7 *p7, STACK_OF(X509) *certs, int flags); -PKCS7 *PKCS7_encrypt(STACK_OF(X509) *certs, BIO *in, const EVP_CIPHER *cipher, - int flags); -int PKCS7_decrypt(PKCS7 *p7, EVP_PKEY *pkey, X509 *cert, BIO *data, int flags); - -int PKCS7_add_attrib_smimecap(PKCS7_SIGNER_INFO *si, - STACK_OF(X509_ALGOR) *cap); -STACK_OF(X509_ALGOR) *PKCS7_get_smimecap(PKCS7_SIGNER_INFO *si); -int PKCS7_simple_smimecap(STACK_OF(X509_ALGOR) *sk, int nid, int arg); - -int PKCS7_add_attrib_content_type(PKCS7_SIGNER_INFO *si, ASN1_OBJECT *coid); -int PKCS7_add0_attrib_signing_time(PKCS7_SIGNER_INFO *si, ASN1_TIME *t); -int PKCS7_add1_attrib_digest(PKCS7_SIGNER_INFO *si, - const unsigned char *md, int mdlen); - -int SMIME_write_PKCS7(BIO *bio, PKCS7 *p7, BIO *data, int flags); -PKCS7 *SMIME_read_PKCS7(BIO *bio, BIO **bcont); - -BIO *BIO_new_PKCS7(BIO *out, PKCS7 *p7); - - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_PKCS7_strings(void); - -/* Error codes for the PKCS7 functions. */ - -/* Function codes. */ -#define PKCS7_F_B64_READ_PKCS7 120 -#define PKCS7_F_B64_WRITE_PKCS7 121 -#define PKCS7_F_DO_PKCS7_SIGNED_ATTRIB 136 -#define PKCS7_F_I2D_PKCS7_BIO_STREAM 140 -#define PKCS7_F_PKCS7_ADD0_ATTRIB_SIGNING_TIME 135 -#define PKCS7_F_PKCS7_ADD_ATTRIB_SMIMECAP 118 -#define PKCS7_F_PKCS7_ADD_CERTIFICATE 100 -#define PKCS7_F_PKCS7_ADD_CRL 101 -#define PKCS7_F_PKCS7_ADD_RECIPIENT_INFO 102 -#define PKCS7_F_PKCS7_ADD_SIGNATURE 131 -#define PKCS7_F_PKCS7_ADD_SIGNER 103 -#define PKCS7_F_PKCS7_BIO_ADD_DIGEST 125 -#define PKCS7_F_PKCS7_COPY_EXISTING_DIGEST 138 -#define PKCS7_F_PKCS7_CTRL 104 -#define PKCS7_F_PKCS7_DATADECODE 112 -#define PKCS7_F_PKCS7_DATAFINAL 128 -#define PKCS7_F_PKCS7_DATAINIT 105 -#define PKCS7_F_PKCS7_DATASIGN 106 -#define PKCS7_F_PKCS7_DATAVERIFY 107 -#define PKCS7_F_PKCS7_DECRYPT 114 -#define PKCS7_F_PKCS7_DECRYPT_RINFO 133 -#define PKCS7_F_PKCS7_ENCODE_RINFO 132 -#define PKCS7_F_PKCS7_ENCRYPT 115 -#define PKCS7_F_PKCS7_FINAL 134 -#define PKCS7_F_PKCS7_FIND_DIGEST 127 -#define PKCS7_F_PKCS7_GET0_SIGNERS 124 -#define PKCS7_F_PKCS7_RECIP_INFO_SET 130 -#define PKCS7_F_PKCS7_SET_CIPHER 108 -#define PKCS7_F_PKCS7_SET_CONTENT 109 -#define PKCS7_F_PKCS7_SET_DIGEST 126 -#define PKCS7_F_PKCS7_SET_TYPE 110 -#define PKCS7_F_PKCS7_SIGN 116 -#define PKCS7_F_PKCS7_SIGNATUREVERIFY 113 -#define PKCS7_F_PKCS7_SIGNER_INFO_SET 129 -#define PKCS7_F_PKCS7_SIGNER_INFO_SIGN 139 -#define PKCS7_F_PKCS7_SIGN_ADD_SIGNER 137 -#define PKCS7_F_PKCS7_SIMPLE_SMIMECAP 119 -#define PKCS7_F_PKCS7_VERIFY 117 -#define PKCS7_F_SMIME_READ_PKCS7 122 -#define PKCS7_F_SMIME_TEXT 123 - -/* Reason codes. */ -#define PKCS7_R_CERTIFICATE_VERIFY_ERROR 117 -#define PKCS7_R_CIPHER_HAS_NO_OBJECT_IDENTIFIER 144 -#define PKCS7_R_CIPHER_NOT_INITIALIZED 116 -#define PKCS7_R_CONTENT_AND_DATA_PRESENT 118 -#define PKCS7_R_CTRL_ERROR 152 -#define PKCS7_R_DECODE_ERROR 130 -#define PKCS7_R_DECRYPTED_KEY_IS_WRONG_LENGTH 100 -#define PKCS7_R_DECRYPT_ERROR 119 -#define PKCS7_R_DIGEST_FAILURE 101 -#define PKCS7_R_ENCRYPTION_CTRL_FAILURE 149 -#define PKCS7_R_ENCRYPTION_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 150 -#define PKCS7_R_ERROR_ADDING_RECIPIENT 120 -#define PKCS7_R_ERROR_SETTING_CIPHER 121 -#define PKCS7_R_INVALID_MIME_TYPE 131 -#define PKCS7_R_INVALID_NULL_POINTER 143 -#define PKCS7_R_MIME_NO_CONTENT_TYPE 132 -#define PKCS7_R_MIME_PARSE_ERROR 133 -#define PKCS7_R_MIME_SIG_PARSE_ERROR 134 -#define PKCS7_R_MISSING_CERIPEND_INFO 103 -#define PKCS7_R_NO_CONTENT 122 -#define PKCS7_R_NO_CONTENT_TYPE 135 -#define PKCS7_R_NO_DEFAULT_DIGEST 151 -#define PKCS7_R_NO_MATCHING_DIGEST_TYPE_FOUND 154 -#define PKCS7_R_NO_MULTIPART_BODY_FAILURE 136 -#define PKCS7_R_NO_MULTIPART_BOUNDARY 137 -#define PKCS7_R_NO_RECIPIENT_MATCHES_CERTIFICATE 115 -#define PKCS7_R_NO_RECIPIENT_MATCHES_KEY 146 -#define PKCS7_R_NO_SIGNATURES_ON_DATA 123 -#define PKCS7_R_NO_SIGNERS 142 -#define PKCS7_R_NO_SIG_CONTENT_TYPE 138 -#define PKCS7_R_OPERATION_NOT_SUPPORTED_ON_THIS_TYPE 104 -#define PKCS7_R_PKCS7_ADD_SIGNATURE_ERROR 124 -#define PKCS7_R_PKCS7_ADD_SIGNER_ERROR 153 -#define PKCS7_R_PKCS7_DATAFINAL 126 -#define PKCS7_R_PKCS7_DATAFINAL_ERROR 125 -#define PKCS7_R_PKCS7_DATASIGN 145 -#define PKCS7_R_PKCS7_PARSE_ERROR 139 -#define PKCS7_R_PKCS7_SIG_PARSE_ERROR 140 -#define PKCS7_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 127 -#define PKCS7_R_SIGNATURE_FAILURE 105 -#define PKCS7_R_SIGNER_CERTIFICATE_NOT_FOUND 128 -#define PKCS7_R_SIGNING_CTRL_FAILURE 147 -#define PKCS7_R_SIGNING_NOT_SUPPORTED_FOR_THIS_KEY_TYPE 148 -#define PKCS7_R_SIG_INVALID_MIME_TYPE 141 -#define PKCS7_R_SMIME_TEXT_ERROR 129 -#define PKCS7_R_UNABLE_TO_FIND_CERTIFICATE 106 -#define PKCS7_R_UNABLE_TO_FIND_MEM_BIO 107 -#define PKCS7_R_UNABLE_TO_FIND_MESSAGE_DIGEST 108 -#define PKCS7_R_UNKNOWN_DIGEST_TYPE 109 -#define PKCS7_R_UNKNOWN_OPERATION 110 -#define PKCS7_R_UNSUPPORTED_CIPHER_TYPE 111 -#define PKCS7_R_UNSUPPORTED_CONTENT_TYPE 112 -#define PKCS7_R_WRONG_CONTENT_TYPE 113 -#define PKCS7_R_WRONG_PKCS7_TYPE 114 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/pqueue.h b/ext/bin/libcrypto/include/openssl/pqueue.h deleted file mode 100644 index 87fc9037c..000000000 --- a/ext/bin/libcrypto/include/openssl/pqueue.h +++ /dev/null @@ -1,94 +0,0 @@ -/* crypto/pqueue/pqueue.h */ -/* - * DTLS implementation written by Nagendra Modadugu - * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. - */ -/* ==================================================================== - * Copyright (c) 1999-2005 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_PQUEUE_H -#define HEADER_PQUEUE_H - -#include -#include -#include - -typedef struct _pqueue *pqueue; - -typedef struct _pitem - { - unsigned char priority[8]; /* 64-bit value in big-endian encoding */ - void *data; - struct _pitem *next; - } pitem; - -typedef struct _pitem *piterator; - -pitem *pitem_new(unsigned char *prio64be, void *data); -void pitem_free(pitem *item); - -pqueue pqueue_new(void); -void pqueue_free(pqueue pq); - -pitem *pqueue_insert(pqueue pq, pitem *item); -pitem *pqueue_peek(pqueue pq); -pitem *pqueue_pop(pqueue pq); -pitem *pqueue_find(pqueue pq, unsigned char *prio64be); -pitem *pqueue_iterator(pqueue pq); -pitem *pqueue_next(piterator *iter); - -void pqueue_print(pqueue pq); -int pqueue_size(pqueue pq); - -#endif /* ! HEADER_PQUEUE_H */ diff --git a/ext/bin/libcrypto/include/openssl/rand.h b/ext/bin/libcrypto/include/openssl/rand.h deleted file mode 100644 index dc8fcf94c..000000000 --- a/ext/bin/libcrypto/include/openssl/rand.h +++ /dev/null @@ -1,149 +0,0 @@ -/* crypto/rand/rand.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_RAND_H -#define HEADER_RAND_H - -#include -#include -#include - -#if defined(OPENSSL_SYS_WINDOWS) -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(OPENSSL_FIPS) -#define FIPS_RAND_SIZE_T size_t -#endif - -/* Already defined in ossl_typ.h */ -/* typedef struct rand_meth_st RAND_METHOD; */ - -struct rand_meth_st - { - void (*seed)(const void *buf, int num); - int (*bytes)(unsigned char *buf, int num); - void (*cleanup)(void); - void (*add)(const void *buf, int num, double entropy); - int (*pseudorand)(unsigned char *buf, int num); - int (*status)(void); - }; - -#ifdef BN_DEBUG -extern int rand_predictable; -#endif - -int RAND_set_rand_method(const RAND_METHOD *meth); -const RAND_METHOD *RAND_get_rand_method(void); -#ifndef OPENSSL_NO_ENGINE -int RAND_set_rand_engine(ENGINE *engine); -#endif -RAND_METHOD *RAND_SSLeay(void); -void RAND_cleanup(void ); -int RAND_bytes(unsigned char *buf,int num); -int RAND_pseudo_bytes(unsigned char *buf,int num); -void RAND_seed(const void *buf,int num); -void RAND_add(const void *buf,int num,double entropy); -int RAND_load_file(const char *file,long max_bytes); -int RAND_write_file(const char *file); -const char *RAND_file_name(char *file,size_t num); -int RAND_status(void); -int RAND_query_egd_bytes(const char *path, unsigned char *buf, int bytes); -int RAND_egd(const char *path); -int RAND_egd_bytes(const char *path,int bytes); -int RAND_poll(void); - -#if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) - -void RAND_screen(void); -int RAND_event(UINT, WPARAM, LPARAM); - -#endif - -#ifdef OPENSSL_FIPS -void RAND_set_fips_drbg_type(int type, int flags); -int RAND_init_fips(void); -#endif - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_RAND_strings(void); - -/* Error codes for the RAND functions. */ - -/* Function codes. */ -#define RAND_F_RAND_GET_RAND_METHOD 101 -#define RAND_F_RAND_INIT_FIPS 102 -#define RAND_F_SSLEAY_RAND_BYTES 100 - -/* Reason codes. */ -#define RAND_R_ERROR_INITIALISING_DRBG 102 -#define RAND_R_ERROR_INSTANTIATING_DRBG 103 -#define RAND_R_NO_FIPS_RANDOM_METHOD_SET 101 -#define RAND_R_PRNG_NOT_SEEDED 100 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/rc2.h b/ext/bin/libcrypto/include/openssl/rc2.h deleted file mode 100644 index e542ec94f..000000000 --- a/ext/bin/libcrypto/include/openssl/rc2.h +++ /dev/null @@ -1,103 +0,0 @@ -/* crypto/rc2/rc2.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_RC2_H -#define HEADER_RC2_H - -#include /* OPENSSL_NO_RC2, RC2_INT */ -#ifdef OPENSSL_NO_RC2 -#error RC2 is disabled. -#endif - -#define RC2_ENCRYPT 1 -#define RC2_DECRYPT 0 - -#define RC2_BLOCK 8 -#define RC2_KEY_LENGTH 16 - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct rc2_key_st - { - RC2_INT data[64]; - } RC2_KEY; - -#ifdef OPENSSL_FIPS -void private_RC2_set_key(RC2_KEY *key, int len, const unsigned char *data,int bits); -#endif -void RC2_set_key(RC2_KEY *key, int len, const unsigned char *data,int bits); -void RC2_ecb_encrypt(const unsigned char *in,unsigned char *out,RC2_KEY *key, - int enc); -void RC2_encrypt(unsigned long *data,RC2_KEY *key); -void RC2_decrypt(unsigned long *data,RC2_KEY *key); -void RC2_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, - RC2_KEY *ks, unsigned char *iv, int enc); -void RC2_cfb64_encrypt(const unsigned char *in, unsigned char *out, - long length, RC2_KEY *schedule, unsigned char *ivec, - int *num, int enc); -void RC2_ofb64_encrypt(const unsigned char *in, unsigned char *out, - long length, RC2_KEY *schedule, unsigned char *ivec, - int *num); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/rc4.h b/ext/bin/libcrypto/include/openssl/rc4.h deleted file mode 100644 index 88ceb46bc..000000000 --- a/ext/bin/libcrypto/include/openssl/rc4.h +++ /dev/null @@ -1,90 +0,0 @@ -/* crypto/rc4/rc4.h */ -/* Copyright (C) 1995-1997 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_RC4_H -#define HEADER_RC4_H - -#include /* OPENSSL_NO_RC4, RC4_INT */ -#ifdef OPENSSL_NO_RC4 -#error RC4 is disabled. -#endif - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct rc4_key_st - { - RC4_INT x,y; - RC4_INT data[256]; - } RC4_KEY; - - -const char *RC4_options(void); -void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); -void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); -void RC4(RC4_KEY *key, size_t len, const unsigned char *indata, - unsigned char *outdata); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/ripemd.h b/ext/bin/libcrypto/include/openssl/ripemd.h deleted file mode 100644 index 189bd8c90..000000000 --- a/ext/bin/libcrypto/include/openssl/ripemd.h +++ /dev/null @@ -1,107 +0,0 @@ -/* crypto/ripemd/ripemd.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_RIPEMD_H -#define HEADER_RIPEMD_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_NO_RIPEMD -#error RIPEMD is disabled. -#endif - -#if defined(__LP32__) -#define RIPEMD160_LONG unsigned long -#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -#define RIPEMD160_LONG unsigned long -#define RIPEMD160_LONG_LOG2 3 -#else -#define RIPEMD160_LONG unsigned int -#endif - -#define RIPEMD160_CBLOCK 64 -#define RIPEMD160_LBLOCK (RIPEMD160_CBLOCK/4) -#define RIPEMD160_DIGEST_LENGTH 20 - -typedef struct RIPEMD160state_st - { - RIPEMD160_LONG A,B,C,D,E; - RIPEMD160_LONG Nl,Nh; - RIPEMD160_LONG data[RIPEMD160_LBLOCK]; - unsigned int num; - } RIPEMD160_CTX; - -#ifdef OPENSSL_FIPS -int private_RIPEMD160_Init(RIPEMD160_CTX *c); -#endif -int RIPEMD160_Init(RIPEMD160_CTX *c); -int RIPEMD160_Update(RIPEMD160_CTX *c, const void *data, size_t len); -int RIPEMD160_Final(unsigned char *md, RIPEMD160_CTX *c); -unsigned char *RIPEMD160(const unsigned char *d, size_t n, - unsigned char *md); -void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b); -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/rsa.h b/ext/bin/libcrypto/include/openssl/rsa.h deleted file mode 100644 index 5f269e577..000000000 --- a/ext/bin/libcrypto/include/openssl/rsa.h +++ /dev/null @@ -1,582 +0,0 @@ -/* crypto/rsa/rsa.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_RSA_H -#define HEADER_RSA_H - -#include - -#ifndef OPENSSL_NO_BIO -#include -#endif -#include -#include -#ifndef OPENSSL_NO_DEPRECATED -#include -#endif - -#ifdef OPENSSL_NO_RSA -#error RSA is disabled. -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -/* Declared already in ossl_typ.h */ -/* typedef struct rsa_st RSA; */ -/* typedef struct rsa_meth_st RSA_METHOD; */ - -struct rsa_meth_st - { - const char *name; - int (*rsa_pub_enc)(int flen,const unsigned char *from, - unsigned char *to, - RSA *rsa,int padding); - int (*rsa_pub_dec)(int flen,const unsigned char *from, - unsigned char *to, - RSA *rsa,int padding); - int (*rsa_priv_enc)(int flen,const unsigned char *from, - unsigned char *to, - RSA *rsa,int padding); - int (*rsa_priv_dec)(int flen,const unsigned char *from, - unsigned char *to, - RSA *rsa,int padding); - int (*rsa_mod_exp)(BIGNUM *r0,const BIGNUM *I,RSA *rsa,BN_CTX *ctx); /* Can be null */ - int (*bn_mod_exp)(BIGNUM *r, const BIGNUM *a, const BIGNUM *p, - const BIGNUM *m, BN_CTX *ctx, - BN_MONT_CTX *m_ctx); /* Can be null */ - int (*init)(RSA *rsa); /* called at new */ - int (*finish)(RSA *rsa); /* called at free */ - int flags; /* RSA_METHOD_FLAG_* things */ - char *app_data; /* may be needed! */ -/* New sign and verify functions: some libraries don't allow arbitrary data - * to be signed/verified: this allows them to be used. Note: for this to work - * the RSA_public_decrypt() and RSA_private_encrypt() should *NOT* be used - * RSA_sign(), RSA_verify() should be used instead. Note: for backwards - * compatibility this functionality is only enabled if the RSA_FLAG_SIGN_VER - * option is set in 'flags'. - */ - int (*rsa_sign)(int type, - const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, const RSA *rsa); - int (*rsa_verify)(int dtype, - const unsigned char *m, unsigned int m_length, - const unsigned char *sigbuf, unsigned int siglen, - const RSA *rsa); -/* If this callback is NULL, the builtin software RSA key-gen will be used. This - * is for behavioural compatibility whilst the code gets rewired, but one day - * it would be nice to assume there are no such things as "builtin software" - * implementations. */ - int (*rsa_keygen)(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); - }; - -struct rsa_st - { - /* The first parameter is used to pickup errors where - * this is passed instead of aEVP_PKEY, it is set to 0 */ - int pad; - long version; - const RSA_METHOD *meth; - /* functional reference if 'meth' is ENGINE-provided */ - ENGINE *engine; - BIGNUM *n; - BIGNUM *e; - BIGNUM *d; - BIGNUM *p; - BIGNUM *q; - BIGNUM *dmp1; - BIGNUM *dmq1; - BIGNUM *iqmp; - /* be careful using this if the RSA structure is shared */ - CRYPTO_EX_DATA ex_data; - int references; - int flags; - - /* Used to cache montgomery values */ - BN_MONT_CTX *_method_mod_n; - BN_MONT_CTX *_method_mod_p; - BN_MONT_CTX *_method_mod_q; - - /* all BIGNUM values are actually in the following data, if it is not - * NULL */ - char *bignum_data; - BN_BLINDING *blinding; - BN_BLINDING *mt_blinding; - }; - -#ifndef OPENSSL_RSA_MAX_MODULUS_BITS -# define OPENSSL_RSA_MAX_MODULUS_BITS 16384 -#endif - -#ifndef OPENSSL_RSA_SMALL_MODULUS_BITS -# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 -#endif -#ifndef OPENSSL_RSA_MAX_PUBEXP_BITS -# define OPENSSL_RSA_MAX_PUBEXP_BITS 64 /* exponent limit enforced for "large" modulus only */ -#endif - -#define RSA_3 0x3L -#define RSA_F4 0x10001L - -#define RSA_METHOD_FLAG_NO_CHECK 0x0001 /* don't check pub/private match */ - -#define RSA_FLAG_CACHE_PUBLIC 0x0002 -#define RSA_FLAG_CACHE_PRIVATE 0x0004 -#define RSA_FLAG_BLINDING 0x0008 -#define RSA_FLAG_THREAD_SAFE 0x0010 -/* This flag means the private key operations will be handled by rsa_mod_exp - * and that they do not depend on the private key components being present: - * for example a key stored in external hardware. Without this flag bn_mod_exp - * gets called when private key components are absent. - */ -#define RSA_FLAG_EXT_PKEY 0x0020 - -/* This flag in the RSA_METHOD enables the new rsa_sign, rsa_verify functions. - */ -#define RSA_FLAG_SIGN_VER 0x0040 - -#define RSA_FLAG_NO_BLINDING 0x0080 /* new with 0.9.6j and 0.9.7b; the built-in - * RSA implementation now uses blinding by - * default (ignoring RSA_FLAG_BLINDING), - * but other engines might not need it - */ -#define RSA_FLAG_NO_CONSTTIME 0x0100 /* new with 0.9.8f; the built-in RSA - * implementation now uses constant time - * operations by default in private key operations, - * e.g., constant time modular exponentiation, - * modular inverse without leaking branches, - * division without leaking branches. This - * flag disables these constant time - * operations and results in faster RSA - * private key operations. - */ -#ifndef OPENSSL_NO_DEPRECATED -#define RSA_FLAG_NO_EXP_CONSTTIME RSA_FLAG_NO_CONSTTIME /* deprecated name for the flag*/ - /* new with 0.9.7h; the built-in RSA - * implementation now uses constant time - * modular exponentiation for secret exponents - * by default. This flag causes the - * faster variable sliding window method to - * be used for all exponents. - */ -#endif - - -#define EVP_PKEY_CTX_set_rsa_padding(ctx, pad) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, EVP_PKEY_CTRL_RSA_PADDING, \ - pad, NULL) - -#define EVP_PKEY_CTX_get_rsa_padding(ctx, ppad) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, -1, \ - EVP_PKEY_CTRL_GET_RSA_PADDING, 0, ppad) - -#define EVP_PKEY_CTX_set_rsa_pss_saltlen(ctx, len) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ - EVP_PKEY_CTRL_RSA_PSS_SALTLEN, \ - len, NULL) - -#define EVP_PKEY_CTX_get_rsa_pss_saltlen(ctx, plen) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, \ - (EVP_PKEY_OP_SIGN|EVP_PKEY_OP_VERIFY), \ - EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN, \ - 0, plen) - -#define EVP_PKEY_CTX_set_rsa_keygen_bits(ctx, bits) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_KEYGEN_BITS, bits, NULL) - -#define EVP_PKEY_CTX_set_rsa_keygen_pubexp(ctx, pubexp) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_KEYGEN, \ - EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP, 0, pubexp) - -#define EVP_PKEY_CTX_set_rsa_mgf1_md(ctx, md) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_SIG, \ - EVP_PKEY_CTRL_RSA_MGF1_MD, 0, (void *)md) - -#define EVP_PKEY_CTX_get_rsa_mgf1_md(ctx, pmd) \ - EVP_PKEY_CTX_ctrl(ctx, EVP_PKEY_RSA, EVP_PKEY_OP_TYPE_SIG, \ - EVP_PKEY_CTRL_GET_RSA_MGF1_MD, 0, (void *)pmd) - -#define EVP_PKEY_CTRL_RSA_PADDING (EVP_PKEY_ALG_CTRL + 1) -#define EVP_PKEY_CTRL_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 2) - -#define EVP_PKEY_CTRL_RSA_KEYGEN_BITS (EVP_PKEY_ALG_CTRL + 3) -#define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP (EVP_PKEY_ALG_CTRL + 4) -#define EVP_PKEY_CTRL_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 5) - -#define EVP_PKEY_CTRL_GET_RSA_PADDING (EVP_PKEY_ALG_CTRL + 6) -#define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN (EVP_PKEY_ALG_CTRL + 7) -#define EVP_PKEY_CTRL_GET_RSA_MGF1_MD (EVP_PKEY_ALG_CTRL + 8) - -#define RSA_PKCS1_PADDING 1 -#define RSA_SSLV23_PADDING 2 -#define RSA_NO_PADDING 3 -#define RSA_PKCS1_OAEP_PADDING 4 -#define RSA_X931_PADDING 5 -/* EVP_PKEY_ only */ -#define RSA_PKCS1_PSS_PADDING 6 - -#define RSA_PKCS1_PADDING_SIZE 11 - -#define RSA_set_app_data(s,arg) RSA_set_ex_data(s,0,arg) -#define RSA_get_app_data(s) RSA_get_ex_data(s,0) - -RSA * RSA_new(void); -RSA * RSA_new_method(ENGINE *engine); -int RSA_size(const RSA *rsa); - -/* Deprecated version */ -#ifndef OPENSSL_NO_DEPRECATED -RSA * RSA_generate_key(int bits, unsigned long e,void - (*callback)(int,int,void *),void *cb_arg); -#endif /* !defined(OPENSSL_NO_DEPRECATED) */ - -/* New version */ -int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); - -int RSA_check_key(const RSA *); - /* next 4 return -1 on error */ -int RSA_public_encrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa,int padding); -int RSA_private_encrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa,int padding); -int RSA_public_decrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa,int padding); -int RSA_private_decrypt(int flen, const unsigned char *from, - unsigned char *to, RSA *rsa,int padding); -void RSA_free (RSA *r); -/* "up" the RSA object's reference count */ -int RSA_up_ref(RSA *r); - -int RSA_flags(const RSA *r); - -void RSA_set_default_method(const RSA_METHOD *meth); -const RSA_METHOD *RSA_get_default_method(void); -const RSA_METHOD *RSA_get_method(const RSA *rsa); -int RSA_set_method(RSA *rsa, const RSA_METHOD *meth); - -/* This function needs the memory locking malloc callbacks to be installed */ -int RSA_memory_lock(RSA *r); - -/* these are the actual SSLeay RSA functions */ -const RSA_METHOD *RSA_PKCS1_SSLeay(void); - -const RSA_METHOD *RSA_null_method(void); - -DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey) -DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey) - -typedef struct rsa_pss_params_st - { - X509_ALGOR *hashAlgorithm; - X509_ALGOR *maskGenAlgorithm; - ASN1_INTEGER *saltLength; - ASN1_INTEGER *trailerField; - } RSA_PSS_PARAMS; - -DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) - -#ifndef OPENSSL_NO_FP_API -int RSA_print_fp(FILE *fp, const RSA *r,int offset); -#endif - -#ifndef OPENSSL_NO_BIO -int RSA_print(BIO *bp, const RSA *r,int offset); -#endif - -#ifndef OPENSSL_NO_RC4 -int i2d_RSA_NET(const RSA *a, unsigned char **pp, - int (*cb)(char *buf, int len, const char *prompt, int verify), - int sgckey); -RSA *d2i_RSA_NET(RSA **a, const unsigned char **pp, long length, - int (*cb)(char *buf, int len, const char *prompt, int verify), - int sgckey); - -int i2d_Netscape_RSA(const RSA *a, unsigned char **pp, - int (*cb)(char *buf, int len, const char *prompt, - int verify)); -RSA *d2i_Netscape_RSA(RSA **a, const unsigned char **pp, long length, - int (*cb)(char *buf, int len, const char *prompt, - int verify)); -#endif - -/* The following 2 functions sign and verify a X509_SIG ASN1 object - * inside PKCS#1 padded RSA encryption */ -int RSA_sign(int type, const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, RSA *rsa); -int RSA_verify(int type, const unsigned char *m, unsigned int m_length, - const unsigned char *sigbuf, unsigned int siglen, RSA *rsa); - -/* The following 2 function sign and verify a ASN1_OCTET_STRING - * object inside PKCS#1 padded RSA encryption */ -int RSA_sign_ASN1_OCTET_STRING(int type, - const unsigned char *m, unsigned int m_length, - unsigned char *sigret, unsigned int *siglen, RSA *rsa); -int RSA_verify_ASN1_OCTET_STRING(int type, - const unsigned char *m, unsigned int m_length, - unsigned char *sigbuf, unsigned int siglen, RSA *rsa); - -int RSA_blinding_on(RSA *rsa, BN_CTX *ctx); -void RSA_blinding_off(RSA *rsa); -BN_BLINDING *RSA_setup_blinding(RSA *rsa, BN_CTX *ctx); - -int RSA_padding_add_PKCS1_type_1(unsigned char *to,int tlen, - const unsigned char *f,int fl); -int RSA_padding_check_PKCS1_type_1(unsigned char *to,int tlen, - const unsigned char *f,int fl,int rsa_len); -int RSA_padding_add_PKCS1_type_2(unsigned char *to,int tlen, - const unsigned char *f,int fl); -int RSA_padding_check_PKCS1_type_2(unsigned char *to,int tlen, - const unsigned char *f,int fl,int rsa_len); -int PKCS1_MGF1(unsigned char *mask, long len, - const unsigned char *seed, long seedlen, const EVP_MD *dgst); -int RSA_padding_add_PKCS1_OAEP(unsigned char *to,int tlen, - const unsigned char *f,int fl, - const unsigned char *p,int pl); -int RSA_padding_check_PKCS1_OAEP(unsigned char *to,int tlen, - const unsigned char *f,int fl,int rsa_len, - const unsigned char *p,int pl); -int RSA_padding_add_SSLv23(unsigned char *to,int tlen, - const unsigned char *f,int fl); -int RSA_padding_check_SSLv23(unsigned char *to,int tlen, - const unsigned char *f,int fl,int rsa_len); -int RSA_padding_add_none(unsigned char *to,int tlen, - const unsigned char *f,int fl); -int RSA_padding_check_none(unsigned char *to,int tlen, - const unsigned char *f,int fl,int rsa_len); -int RSA_padding_add_X931(unsigned char *to,int tlen, - const unsigned char *f,int fl); -int RSA_padding_check_X931(unsigned char *to,int tlen, - const unsigned char *f,int fl,int rsa_len); -int RSA_X931_hash_id(int nid); - -int RSA_verify_PKCS1_PSS(RSA *rsa, const unsigned char *mHash, - const EVP_MD *Hash, const unsigned char *EM, int sLen); -int RSA_padding_add_PKCS1_PSS(RSA *rsa, unsigned char *EM, - const unsigned char *mHash, - const EVP_MD *Hash, int sLen); - -int RSA_verify_PKCS1_PSS_mgf1(RSA *rsa, const unsigned char *mHash, - const EVP_MD *Hash, const EVP_MD *mgf1Hash, - const unsigned char *EM, int sLen); - -int RSA_padding_add_PKCS1_PSS_mgf1(RSA *rsa, unsigned char *EM, - const unsigned char *mHash, - const EVP_MD *Hash, const EVP_MD *mgf1Hash, int sLen); - -int RSA_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int RSA_set_ex_data(RSA *r,int idx,void *arg); -void *RSA_get_ex_data(const RSA *r, int idx); - -RSA *RSAPublicKey_dup(RSA *rsa); -RSA *RSAPrivateKey_dup(RSA *rsa); - -/* If this flag is set the RSA method is FIPS compliant and can be used - * in FIPS mode. This is set in the validated module method. If an - * application sets this flag in its own methods it is its responsibility - * to ensure the result is compliant. - */ - -#define RSA_FLAG_FIPS_METHOD 0x0400 - -/* If this flag is set the operations normally disabled in FIPS mode are - * permitted it is then the applications responsibility to ensure that the - * usage is compliant. - */ - -#define RSA_FLAG_NON_FIPS_ALLOW 0x0400 -/* Application has decided PRNG is good enough to generate a key: don't - * check. - */ -#define RSA_FLAG_CHECKED 0x0800 - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_RSA_strings(void); - -/* Error codes for the RSA functions. */ - -/* Function codes. */ -#define RSA_F_CHECK_PADDING_MD 140 -#define RSA_F_DO_RSA_PRINT 146 -#define RSA_F_INT_RSA_VERIFY 145 -#define RSA_F_MEMORY_LOCK 100 -#define RSA_F_OLD_RSA_PRIV_DECODE 147 -#define RSA_F_PKEY_RSA_CTRL 143 -#define RSA_F_PKEY_RSA_CTRL_STR 144 -#define RSA_F_PKEY_RSA_SIGN 142 -#define RSA_F_PKEY_RSA_VERIFY 154 -#define RSA_F_PKEY_RSA_VERIFYRECOVER 141 -#define RSA_F_RSA_BUILTIN_KEYGEN 129 -#define RSA_F_RSA_CHECK_KEY 123 -#define RSA_F_RSA_EAY_PRIVATE_DECRYPT 101 -#define RSA_F_RSA_EAY_PRIVATE_ENCRYPT 102 -#define RSA_F_RSA_EAY_PUBLIC_DECRYPT 103 -#define RSA_F_RSA_EAY_PUBLIC_ENCRYPT 104 -#define RSA_F_RSA_GENERATE_KEY 105 -#define RSA_F_RSA_GENERATE_KEY_EX 155 -#define RSA_F_RSA_ITEM_VERIFY 156 -#define RSA_F_RSA_MEMORY_LOCK 130 -#define RSA_F_RSA_NEW_METHOD 106 -#define RSA_F_RSA_NULL 124 -#define RSA_F_RSA_NULL_MOD_EXP 131 -#define RSA_F_RSA_NULL_PRIVATE_DECRYPT 132 -#define RSA_F_RSA_NULL_PRIVATE_ENCRYPT 133 -#define RSA_F_RSA_NULL_PUBLIC_DECRYPT 134 -#define RSA_F_RSA_NULL_PUBLIC_ENCRYPT 135 -#define RSA_F_RSA_PADDING_ADD_NONE 107 -#define RSA_F_RSA_PADDING_ADD_PKCS1_OAEP 121 -#define RSA_F_RSA_PADDING_ADD_PKCS1_PSS 125 -#define RSA_F_RSA_PADDING_ADD_PKCS1_PSS_MGF1 148 -#define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_1 108 -#define RSA_F_RSA_PADDING_ADD_PKCS1_TYPE_2 109 -#define RSA_F_RSA_PADDING_ADD_SSLV23 110 -#define RSA_F_RSA_PADDING_ADD_X931 127 -#define RSA_F_RSA_PADDING_CHECK_NONE 111 -#define RSA_F_RSA_PADDING_CHECK_PKCS1_OAEP 122 -#define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_1 112 -#define RSA_F_RSA_PADDING_CHECK_PKCS1_TYPE_2 113 -#define RSA_F_RSA_PADDING_CHECK_SSLV23 114 -#define RSA_F_RSA_PADDING_CHECK_X931 128 -#define RSA_F_RSA_PRINT 115 -#define RSA_F_RSA_PRINT_FP 116 -#define RSA_F_RSA_PRIVATE_DECRYPT 150 -#define RSA_F_RSA_PRIVATE_ENCRYPT 151 -#define RSA_F_RSA_PRIV_DECODE 137 -#define RSA_F_RSA_PRIV_ENCODE 138 -#define RSA_F_RSA_PUBLIC_DECRYPT 152 -#define RSA_F_RSA_PUBLIC_ENCRYPT 153 -#define RSA_F_RSA_PUB_DECODE 139 -#define RSA_F_RSA_SETUP_BLINDING 136 -#define RSA_F_RSA_SIGN 117 -#define RSA_F_RSA_SIGN_ASN1_OCTET_STRING 118 -#define RSA_F_RSA_VERIFY 119 -#define RSA_F_RSA_VERIFY_ASN1_OCTET_STRING 120 -#define RSA_F_RSA_VERIFY_PKCS1_PSS 126 -#define RSA_F_RSA_VERIFY_PKCS1_PSS_MGF1 149 - -/* Reason codes. */ -#define RSA_R_ALGORITHM_MISMATCH 100 -#define RSA_R_BAD_E_VALUE 101 -#define RSA_R_BAD_FIXED_HEADER_DECRYPT 102 -#define RSA_R_BAD_PAD_BYTE_COUNT 103 -#define RSA_R_BAD_SIGNATURE 104 -#define RSA_R_BLOCK_TYPE_IS_NOT_01 106 -#define RSA_R_BLOCK_TYPE_IS_NOT_02 107 -#define RSA_R_DATA_GREATER_THAN_MOD_LEN 108 -#define RSA_R_DATA_TOO_LARGE 109 -#define RSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE 110 -#define RSA_R_DATA_TOO_LARGE_FOR_MODULUS 132 -#define RSA_R_DATA_TOO_SMALL 111 -#define RSA_R_DATA_TOO_SMALL_FOR_KEY_SIZE 122 -#define RSA_R_DIGEST_TOO_BIG_FOR_RSA_KEY 112 -#define RSA_R_DMP1_NOT_CONGRUENT_TO_D 124 -#define RSA_R_DMQ1_NOT_CONGRUENT_TO_D 125 -#define RSA_R_D_E_NOT_CONGRUENT_TO_1 123 -#define RSA_R_FIRST_OCTET_INVALID 133 -#define RSA_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE 144 -#define RSA_R_INVALID_DIGEST_LENGTH 143 -#define RSA_R_INVALID_HEADER 137 -#define RSA_R_INVALID_KEYBITS 145 -#define RSA_R_INVALID_MESSAGE_LENGTH 131 -#define RSA_R_INVALID_MGF1_MD 156 -#define RSA_R_INVALID_PADDING 138 -#define RSA_R_INVALID_PADDING_MODE 141 -#define RSA_R_INVALID_PSS_PARAMETERS 149 -#define RSA_R_INVALID_PSS_SALTLEN 146 -#define RSA_R_INVALID_SALT_LENGTH 150 -#define RSA_R_INVALID_TRAILER 139 -#define RSA_R_INVALID_X931_DIGEST 142 -#define RSA_R_IQMP_NOT_INVERSE_OF_Q 126 -#define RSA_R_KEY_SIZE_TOO_SMALL 120 -#define RSA_R_LAST_OCTET_INVALID 134 -#define RSA_R_MODULUS_TOO_LARGE 105 -#define RSA_R_NON_FIPS_RSA_METHOD 157 -#define RSA_R_NO_PUBLIC_EXPONENT 140 -#define RSA_R_NULL_BEFORE_BLOCK_MISSING 113 -#define RSA_R_N_DOES_NOT_EQUAL_P_Q 127 -#define RSA_R_OAEP_DECODING_ERROR 121 -#define RSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE 158 -#define RSA_R_OPERATION_NOT_SUPPORTED_FOR_THIS_KEYTYPE 148 -#define RSA_R_PADDING_CHECK_FAILED 114 -#define RSA_R_P_NOT_PRIME 128 -#define RSA_R_Q_NOT_PRIME 129 -#define RSA_R_RSA_OPERATIONS_NOT_SUPPORTED 130 -#define RSA_R_SLEN_CHECK_FAILED 136 -#define RSA_R_SLEN_RECOVERY_FAILED 135 -#define RSA_R_SSLV3_ROLLBACK_ATTACK 115 -#define RSA_R_THE_ASN1_OBJECT_IDENTIFIER_IS_NOT_KNOWN_FOR_THIS_MD 116 -#define RSA_R_UNKNOWN_ALGORITHM_TYPE 117 -#define RSA_R_UNKNOWN_MASK_DIGEST 151 -#define RSA_R_UNKNOWN_PADDING_TYPE 118 -#define RSA_R_UNKNOWN_PSS_DIGEST 152 -#define RSA_R_UNSUPPORTED_MASK_ALGORITHM 153 -#define RSA_R_UNSUPPORTED_MASK_PARAMETER 154 -#define RSA_R_UNSUPPORTED_SIGNATURE_TYPE 155 -#define RSA_R_VALUE_MISSING 147 -#define RSA_R_WRONG_SIGNATURE_LENGTH 119 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/safestack.h b/ext/bin/libcrypto/include/openssl/safestack.h deleted file mode 100644 index ea3aa0d80..000000000 --- a/ext/bin/libcrypto/include/openssl/safestack.h +++ /dev/null @@ -1,2663 +0,0 @@ -/* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_SAFESTACK_H -#define HEADER_SAFESTACK_H - -#include - -#ifndef CHECKED_PTR_OF -#define CHECKED_PTR_OF(type, p) \ - ((void*) (1 ? p : (type*)0)) -#endif - -/* In C++ we get problems because an explicit cast is needed from (void *) - * we use CHECKED_STACK_OF to ensure the correct type is passed in the macros - * below. - */ - -#define CHECKED_STACK_OF(type, p) \ - ((_STACK*) (1 ? p : (STACK_OF(type)*)0)) - -#define CHECKED_SK_FREE_FUNC(type, p) \ - ((void (*)(void *)) ((1 ? p : (void (*)(type *))0))) - -#define CHECKED_SK_FREE_FUNC2(type, p) \ - ((void (*)(void *)) ((1 ? p : (void (*)(type))0))) - -#define CHECKED_SK_CMP_FUNC(type, p) \ - ((int (*)(const void *, const void *)) \ - ((1 ? p : (int (*)(const type * const *, const type * const *))0))) - -#define STACK_OF(type) struct stack_st_##type -#define PREDECLARE_STACK_OF(type) STACK_OF(type); - -#define DECLARE_STACK_OF(type) \ -STACK_OF(type) \ - { \ - _STACK stack; \ - }; -#define DECLARE_SPECIAL_STACK_OF(type, type2) \ -STACK_OF(type) \ - { \ - _STACK stack; \ - }; - -#define IMPLEMENT_STACK_OF(type) /* nada (obsolete in new safestack approach)*/ - - -/* Strings are special: normally an lhash entry will point to a single - * (somewhat) mutable object. In the case of strings: - * - * a) Instead of a single char, there is an array of chars, NUL-terminated. - * b) The string may have be immutable. - * - * So, they need their own declarations. Especially important for - * type-checking tools, such as Deputy. - * -o * In practice, however, it appears to be hard to have a const - * string. For now, I'm settling for dealing with the fact it is a - * string at all. - */ -typedef char *OPENSSL_STRING; - -typedef const char *OPENSSL_CSTRING; - -/* Confusingly, LHASH_OF(STRING) deals with char ** throughout, but - * STACK_OF(STRING) is really more like STACK_OF(char), only, as - * mentioned above, instead of a single char each entry is a - * NUL-terminated array of chars. So, we have to implement STRING - * specially for STACK_OF. This is dealt with in the autogenerated - * macros below. - */ - -DECLARE_SPECIAL_STACK_OF(OPENSSL_STRING, char) - -/* Similarly, we sometimes use a block of characters, NOT - * nul-terminated. These should also be distinguished from "normal" - * stacks. */ - -typedef void *OPENSSL_BLOCK; -DECLARE_SPECIAL_STACK_OF(OPENSSL_BLOCK, void) - -/* SKM_sk_... stack macros are internal to safestack.h: - * never use them directly, use sk__... instead */ -#define SKM_sk_new(type, cmp) \ - ((STACK_OF(type) *)sk_new(CHECKED_SK_CMP_FUNC(type, cmp))) -#define SKM_sk_new_null(type) \ - ((STACK_OF(type) *)sk_new_null()) -#define SKM_sk_free(type, st) \ - sk_free(CHECKED_STACK_OF(type, st)) -#define SKM_sk_num(type, st) \ - sk_num(CHECKED_STACK_OF(type, st)) -#define SKM_sk_value(type, st,i) \ - ((type *)sk_value(CHECKED_STACK_OF(type, st), i)) -#define SKM_sk_set(type, st,i,val) \ - sk_set(CHECKED_STACK_OF(type, st), i, CHECKED_PTR_OF(type, val)) -#define SKM_sk_zero(type, st) \ - sk_zero(CHECKED_STACK_OF(type, st)) -#define SKM_sk_push(type, st, val) \ - sk_push(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) -#define SKM_sk_unshift(type, st, val) \ - sk_unshift(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) -#define SKM_sk_find(type, st, val) \ - sk_find(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val)) -#define SKM_sk_find_ex(type, st, val) \ - sk_find_ex(CHECKED_STACK_OF(type, st), \ - CHECKED_PTR_OF(type, val)) -#define SKM_sk_delete(type, st, i) \ - (type *)sk_delete(CHECKED_STACK_OF(type, st), i) -#define SKM_sk_delete_ptr(type, st, ptr) \ - (type *)sk_delete_ptr(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, ptr)) -#define SKM_sk_insert(type, st,val, i) \ - sk_insert(CHECKED_STACK_OF(type, st), CHECKED_PTR_OF(type, val), i) -#define SKM_sk_set_cmp_func(type, st, cmp) \ - ((int (*)(const type * const *,const type * const *)) \ - sk_set_cmp_func(CHECKED_STACK_OF(type, st), CHECKED_SK_CMP_FUNC(type, cmp))) -#define SKM_sk_dup(type, st) \ - (STACK_OF(type) *)sk_dup(CHECKED_STACK_OF(type, st)) -#define SKM_sk_pop_free(type, st, free_func) \ - sk_pop_free(CHECKED_STACK_OF(type, st), CHECKED_SK_FREE_FUNC(type, free_func)) -#define SKM_sk_shift(type, st) \ - (type *)sk_shift(CHECKED_STACK_OF(type, st)) -#define SKM_sk_pop(type, st) \ - (type *)sk_pop(CHECKED_STACK_OF(type, st)) -#define SKM_sk_sort(type, st) \ - sk_sort(CHECKED_STACK_OF(type, st)) -#define SKM_sk_is_sorted(type, st) \ - sk_is_sorted(CHECKED_STACK_OF(type, st)) - -#define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - (STACK_OF(type) *)d2i_ASN1_SET( \ - (STACK_OF(OPENSSL_BLOCK) **)CHECKED_PTR_OF(STACK_OF(type)*, st), \ - pp, length, \ - CHECKED_D2I_OF(type, d2i_func), \ - CHECKED_SK_FREE_FUNC(type, free_func), \ - ex_tag, ex_class) - -#define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \ - i2d_ASN1_SET((STACK_OF(OPENSSL_BLOCK) *)CHECKED_STACK_OF(type, st), pp, \ - CHECKED_I2D_OF(type, i2d_func), \ - ex_tag, ex_class, is_set) - -#define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ - ASN1_seq_pack(CHECKED_PTR_OF(STACK_OF(type), st), \ - CHECKED_I2D_OF(type, i2d_func), buf, len) - -#define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ - (STACK_OF(type) *)ASN1_seq_unpack(buf, len, CHECKED_D2I_OF(type, d2i_func), CHECKED_SK_FREE_FUNC(type, free_func)) - -#define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \ - (STACK_OF(type) *)PKCS12_decrypt_d2i(algor, \ - CHECKED_D2I_OF(type, d2i_func), \ - CHECKED_SK_FREE_FUNC(type, free_func), \ - pass, passlen, oct, seq) - -/* This block of defines is updated by util/mkstack.pl, please do not touch! */ -#define sk_ACCESS_DESCRIPTION_new(cmp) SKM_sk_new(ACCESS_DESCRIPTION, (cmp)) -#define sk_ACCESS_DESCRIPTION_new_null() SKM_sk_new_null(ACCESS_DESCRIPTION) -#define sk_ACCESS_DESCRIPTION_free(st) SKM_sk_free(ACCESS_DESCRIPTION, (st)) -#define sk_ACCESS_DESCRIPTION_num(st) SKM_sk_num(ACCESS_DESCRIPTION, (st)) -#define sk_ACCESS_DESCRIPTION_value(st, i) SKM_sk_value(ACCESS_DESCRIPTION, (st), (i)) -#define sk_ACCESS_DESCRIPTION_set(st, i, val) SKM_sk_set(ACCESS_DESCRIPTION, (st), (i), (val)) -#define sk_ACCESS_DESCRIPTION_zero(st) SKM_sk_zero(ACCESS_DESCRIPTION, (st)) -#define sk_ACCESS_DESCRIPTION_push(st, val) SKM_sk_push(ACCESS_DESCRIPTION, (st), (val)) -#define sk_ACCESS_DESCRIPTION_unshift(st, val) SKM_sk_unshift(ACCESS_DESCRIPTION, (st), (val)) -#define sk_ACCESS_DESCRIPTION_find(st, val) SKM_sk_find(ACCESS_DESCRIPTION, (st), (val)) -#define sk_ACCESS_DESCRIPTION_find_ex(st, val) SKM_sk_find_ex(ACCESS_DESCRIPTION, (st), (val)) -#define sk_ACCESS_DESCRIPTION_delete(st, i) SKM_sk_delete(ACCESS_DESCRIPTION, (st), (i)) -#define sk_ACCESS_DESCRIPTION_delete_ptr(st, ptr) SKM_sk_delete_ptr(ACCESS_DESCRIPTION, (st), (ptr)) -#define sk_ACCESS_DESCRIPTION_insert(st, val, i) SKM_sk_insert(ACCESS_DESCRIPTION, (st), (val), (i)) -#define sk_ACCESS_DESCRIPTION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ACCESS_DESCRIPTION, (st), (cmp)) -#define sk_ACCESS_DESCRIPTION_dup(st) SKM_sk_dup(ACCESS_DESCRIPTION, st) -#define sk_ACCESS_DESCRIPTION_pop_free(st, free_func) SKM_sk_pop_free(ACCESS_DESCRIPTION, (st), (free_func)) -#define sk_ACCESS_DESCRIPTION_shift(st) SKM_sk_shift(ACCESS_DESCRIPTION, (st)) -#define sk_ACCESS_DESCRIPTION_pop(st) SKM_sk_pop(ACCESS_DESCRIPTION, (st)) -#define sk_ACCESS_DESCRIPTION_sort(st) SKM_sk_sort(ACCESS_DESCRIPTION, (st)) -#define sk_ACCESS_DESCRIPTION_is_sorted(st) SKM_sk_is_sorted(ACCESS_DESCRIPTION, (st)) - -#define sk_ASIdOrRange_new(cmp) SKM_sk_new(ASIdOrRange, (cmp)) -#define sk_ASIdOrRange_new_null() SKM_sk_new_null(ASIdOrRange) -#define sk_ASIdOrRange_free(st) SKM_sk_free(ASIdOrRange, (st)) -#define sk_ASIdOrRange_num(st) SKM_sk_num(ASIdOrRange, (st)) -#define sk_ASIdOrRange_value(st, i) SKM_sk_value(ASIdOrRange, (st), (i)) -#define sk_ASIdOrRange_set(st, i, val) SKM_sk_set(ASIdOrRange, (st), (i), (val)) -#define sk_ASIdOrRange_zero(st) SKM_sk_zero(ASIdOrRange, (st)) -#define sk_ASIdOrRange_push(st, val) SKM_sk_push(ASIdOrRange, (st), (val)) -#define sk_ASIdOrRange_unshift(st, val) SKM_sk_unshift(ASIdOrRange, (st), (val)) -#define sk_ASIdOrRange_find(st, val) SKM_sk_find(ASIdOrRange, (st), (val)) -#define sk_ASIdOrRange_find_ex(st, val) SKM_sk_find_ex(ASIdOrRange, (st), (val)) -#define sk_ASIdOrRange_delete(st, i) SKM_sk_delete(ASIdOrRange, (st), (i)) -#define sk_ASIdOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASIdOrRange, (st), (ptr)) -#define sk_ASIdOrRange_insert(st, val, i) SKM_sk_insert(ASIdOrRange, (st), (val), (i)) -#define sk_ASIdOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASIdOrRange, (st), (cmp)) -#define sk_ASIdOrRange_dup(st) SKM_sk_dup(ASIdOrRange, st) -#define sk_ASIdOrRange_pop_free(st, free_func) SKM_sk_pop_free(ASIdOrRange, (st), (free_func)) -#define sk_ASIdOrRange_shift(st) SKM_sk_shift(ASIdOrRange, (st)) -#define sk_ASIdOrRange_pop(st) SKM_sk_pop(ASIdOrRange, (st)) -#define sk_ASIdOrRange_sort(st) SKM_sk_sort(ASIdOrRange, (st)) -#define sk_ASIdOrRange_is_sorted(st) SKM_sk_is_sorted(ASIdOrRange, (st)) - -#define sk_ASN1_GENERALSTRING_new(cmp) SKM_sk_new(ASN1_GENERALSTRING, (cmp)) -#define sk_ASN1_GENERALSTRING_new_null() SKM_sk_new_null(ASN1_GENERALSTRING) -#define sk_ASN1_GENERALSTRING_free(st) SKM_sk_free(ASN1_GENERALSTRING, (st)) -#define sk_ASN1_GENERALSTRING_num(st) SKM_sk_num(ASN1_GENERALSTRING, (st)) -#define sk_ASN1_GENERALSTRING_value(st, i) SKM_sk_value(ASN1_GENERALSTRING, (st), (i)) -#define sk_ASN1_GENERALSTRING_set(st, i, val) SKM_sk_set(ASN1_GENERALSTRING, (st), (i), (val)) -#define sk_ASN1_GENERALSTRING_zero(st) SKM_sk_zero(ASN1_GENERALSTRING, (st)) -#define sk_ASN1_GENERALSTRING_push(st, val) SKM_sk_push(ASN1_GENERALSTRING, (st), (val)) -#define sk_ASN1_GENERALSTRING_unshift(st, val) SKM_sk_unshift(ASN1_GENERALSTRING, (st), (val)) -#define sk_ASN1_GENERALSTRING_find(st, val) SKM_sk_find(ASN1_GENERALSTRING, (st), (val)) -#define sk_ASN1_GENERALSTRING_find_ex(st, val) SKM_sk_find_ex(ASN1_GENERALSTRING, (st), (val)) -#define sk_ASN1_GENERALSTRING_delete(st, i) SKM_sk_delete(ASN1_GENERALSTRING, (st), (i)) -#define sk_ASN1_GENERALSTRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_GENERALSTRING, (st), (ptr)) -#define sk_ASN1_GENERALSTRING_insert(st, val, i) SKM_sk_insert(ASN1_GENERALSTRING, (st), (val), (i)) -#define sk_ASN1_GENERALSTRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_GENERALSTRING, (st), (cmp)) -#define sk_ASN1_GENERALSTRING_dup(st) SKM_sk_dup(ASN1_GENERALSTRING, st) -#define sk_ASN1_GENERALSTRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_GENERALSTRING, (st), (free_func)) -#define sk_ASN1_GENERALSTRING_shift(st) SKM_sk_shift(ASN1_GENERALSTRING, (st)) -#define sk_ASN1_GENERALSTRING_pop(st) SKM_sk_pop(ASN1_GENERALSTRING, (st)) -#define sk_ASN1_GENERALSTRING_sort(st) SKM_sk_sort(ASN1_GENERALSTRING, (st)) -#define sk_ASN1_GENERALSTRING_is_sorted(st) SKM_sk_is_sorted(ASN1_GENERALSTRING, (st)) - -#define sk_ASN1_INTEGER_new(cmp) SKM_sk_new(ASN1_INTEGER, (cmp)) -#define sk_ASN1_INTEGER_new_null() SKM_sk_new_null(ASN1_INTEGER) -#define sk_ASN1_INTEGER_free(st) SKM_sk_free(ASN1_INTEGER, (st)) -#define sk_ASN1_INTEGER_num(st) SKM_sk_num(ASN1_INTEGER, (st)) -#define sk_ASN1_INTEGER_value(st, i) SKM_sk_value(ASN1_INTEGER, (st), (i)) -#define sk_ASN1_INTEGER_set(st, i, val) SKM_sk_set(ASN1_INTEGER, (st), (i), (val)) -#define sk_ASN1_INTEGER_zero(st) SKM_sk_zero(ASN1_INTEGER, (st)) -#define sk_ASN1_INTEGER_push(st, val) SKM_sk_push(ASN1_INTEGER, (st), (val)) -#define sk_ASN1_INTEGER_unshift(st, val) SKM_sk_unshift(ASN1_INTEGER, (st), (val)) -#define sk_ASN1_INTEGER_find(st, val) SKM_sk_find(ASN1_INTEGER, (st), (val)) -#define sk_ASN1_INTEGER_find_ex(st, val) SKM_sk_find_ex(ASN1_INTEGER, (st), (val)) -#define sk_ASN1_INTEGER_delete(st, i) SKM_sk_delete(ASN1_INTEGER, (st), (i)) -#define sk_ASN1_INTEGER_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_INTEGER, (st), (ptr)) -#define sk_ASN1_INTEGER_insert(st, val, i) SKM_sk_insert(ASN1_INTEGER, (st), (val), (i)) -#define sk_ASN1_INTEGER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_INTEGER, (st), (cmp)) -#define sk_ASN1_INTEGER_dup(st) SKM_sk_dup(ASN1_INTEGER, st) -#define sk_ASN1_INTEGER_pop_free(st, free_func) SKM_sk_pop_free(ASN1_INTEGER, (st), (free_func)) -#define sk_ASN1_INTEGER_shift(st) SKM_sk_shift(ASN1_INTEGER, (st)) -#define sk_ASN1_INTEGER_pop(st) SKM_sk_pop(ASN1_INTEGER, (st)) -#define sk_ASN1_INTEGER_sort(st) SKM_sk_sort(ASN1_INTEGER, (st)) -#define sk_ASN1_INTEGER_is_sorted(st) SKM_sk_is_sorted(ASN1_INTEGER, (st)) - -#define sk_ASN1_OBJECT_new(cmp) SKM_sk_new(ASN1_OBJECT, (cmp)) -#define sk_ASN1_OBJECT_new_null() SKM_sk_new_null(ASN1_OBJECT) -#define sk_ASN1_OBJECT_free(st) SKM_sk_free(ASN1_OBJECT, (st)) -#define sk_ASN1_OBJECT_num(st) SKM_sk_num(ASN1_OBJECT, (st)) -#define sk_ASN1_OBJECT_value(st, i) SKM_sk_value(ASN1_OBJECT, (st), (i)) -#define sk_ASN1_OBJECT_set(st, i, val) SKM_sk_set(ASN1_OBJECT, (st), (i), (val)) -#define sk_ASN1_OBJECT_zero(st) SKM_sk_zero(ASN1_OBJECT, (st)) -#define sk_ASN1_OBJECT_push(st, val) SKM_sk_push(ASN1_OBJECT, (st), (val)) -#define sk_ASN1_OBJECT_unshift(st, val) SKM_sk_unshift(ASN1_OBJECT, (st), (val)) -#define sk_ASN1_OBJECT_find(st, val) SKM_sk_find(ASN1_OBJECT, (st), (val)) -#define sk_ASN1_OBJECT_find_ex(st, val) SKM_sk_find_ex(ASN1_OBJECT, (st), (val)) -#define sk_ASN1_OBJECT_delete(st, i) SKM_sk_delete(ASN1_OBJECT, (st), (i)) -#define sk_ASN1_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_OBJECT, (st), (ptr)) -#define sk_ASN1_OBJECT_insert(st, val, i) SKM_sk_insert(ASN1_OBJECT, (st), (val), (i)) -#define sk_ASN1_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_OBJECT, (st), (cmp)) -#define sk_ASN1_OBJECT_dup(st) SKM_sk_dup(ASN1_OBJECT, st) -#define sk_ASN1_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(ASN1_OBJECT, (st), (free_func)) -#define sk_ASN1_OBJECT_shift(st) SKM_sk_shift(ASN1_OBJECT, (st)) -#define sk_ASN1_OBJECT_pop(st) SKM_sk_pop(ASN1_OBJECT, (st)) -#define sk_ASN1_OBJECT_sort(st) SKM_sk_sort(ASN1_OBJECT, (st)) -#define sk_ASN1_OBJECT_is_sorted(st) SKM_sk_is_sorted(ASN1_OBJECT, (st)) - -#define sk_ASN1_STRING_TABLE_new(cmp) SKM_sk_new(ASN1_STRING_TABLE, (cmp)) -#define sk_ASN1_STRING_TABLE_new_null() SKM_sk_new_null(ASN1_STRING_TABLE) -#define sk_ASN1_STRING_TABLE_free(st) SKM_sk_free(ASN1_STRING_TABLE, (st)) -#define sk_ASN1_STRING_TABLE_num(st) SKM_sk_num(ASN1_STRING_TABLE, (st)) -#define sk_ASN1_STRING_TABLE_value(st, i) SKM_sk_value(ASN1_STRING_TABLE, (st), (i)) -#define sk_ASN1_STRING_TABLE_set(st, i, val) SKM_sk_set(ASN1_STRING_TABLE, (st), (i), (val)) -#define sk_ASN1_STRING_TABLE_zero(st) SKM_sk_zero(ASN1_STRING_TABLE, (st)) -#define sk_ASN1_STRING_TABLE_push(st, val) SKM_sk_push(ASN1_STRING_TABLE, (st), (val)) -#define sk_ASN1_STRING_TABLE_unshift(st, val) SKM_sk_unshift(ASN1_STRING_TABLE, (st), (val)) -#define sk_ASN1_STRING_TABLE_find(st, val) SKM_sk_find(ASN1_STRING_TABLE, (st), (val)) -#define sk_ASN1_STRING_TABLE_find_ex(st, val) SKM_sk_find_ex(ASN1_STRING_TABLE, (st), (val)) -#define sk_ASN1_STRING_TABLE_delete(st, i) SKM_sk_delete(ASN1_STRING_TABLE, (st), (i)) -#define sk_ASN1_STRING_TABLE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_STRING_TABLE, (st), (ptr)) -#define sk_ASN1_STRING_TABLE_insert(st, val, i) SKM_sk_insert(ASN1_STRING_TABLE, (st), (val), (i)) -#define sk_ASN1_STRING_TABLE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_STRING_TABLE, (st), (cmp)) -#define sk_ASN1_STRING_TABLE_dup(st) SKM_sk_dup(ASN1_STRING_TABLE, st) -#define sk_ASN1_STRING_TABLE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_STRING_TABLE, (st), (free_func)) -#define sk_ASN1_STRING_TABLE_shift(st) SKM_sk_shift(ASN1_STRING_TABLE, (st)) -#define sk_ASN1_STRING_TABLE_pop(st) SKM_sk_pop(ASN1_STRING_TABLE, (st)) -#define sk_ASN1_STRING_TABLE_sort(st) SKM_sk_sort(ASN1_STRING_TABLE, (st)) -#define sk_ASN1_STRING_TABLE_is_sorted(st) SKM_sk_is_sorted(ASN1_STRING_TABLE, (st)) - -#define sk_ASN1_TYPE_new(cmp) SKM_sk_new(ASN1_TYPE, (cmp)) -#define sk_ASN1_TYPE_new_null() SKM_sk_new_null(ASN1_TYPE) -#define sk_ASN1_TYPE_free(st) SKM_sk_free(ASN1_TYPE, (st)) -#define sk_ASN1_TYPE_num(st) SKM_sk_num(ASN1_TYPE, (st)) -#define sk_ASN1_TYPE_value(st, i) SKM_sk_value(ASN1_TYPE, (st), (i)) -#define sk_ASN1_TYPE_set(st, i, val) SKM_sk_set(ASN1_TYPE, (st), (i), (val)) -#define sk_ASN1_TYPE_zero(st) SKM_sk_zero(ASN1_TYPE, (st)) -#define sk_ASN1_TYPE_push(st, val) SKM_sk_push(ASN1_TYPE, (st), (val)) -#define sk_ASN1_TYPE_unshift(st, val) SKM_sk_unshift(ASN1_TYPE, (st), (val)) -#define sk_ASN1_TYPE_find(st, val) SKM_sk_find(ASN1_TYPE, (st), (val)) -#define sk_ASN1_TYPE_find_ex(st, val) SKM_sk_find_ex(ASN1_TYPE, (st), (val)) -#define sk_ASN1_TYPE_delete(st, i) SKM_sk_delete(ASN1_TYPE, (st), (i)) -#define sk_ASN1_TYPE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_TYPE, (st), (ptr)) -#define sk_ASN1_TYPE_insert(st, val, i) SKM_sk_insert(ASN1_TYPE, (st), (val), (i)) -#define sk_ASN1_TYPE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_TYPE, (st), (cmp)) -#define sk_ASN1_TYPE_dup(st) SKM_sk_dup(ASN1_TYPE, st) -#define sk_ASN1_TYPE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_TYPE, (st), (free_func)) -#define sk_ASN1_TYPE_shift(st) SKM_sk_shift(ASN1_TYPE, (st)) -#define sk_ASN1_TYPE_pop(st) SKM_sk_pop(ASN1_TYPE, (st)) -#define sk_ASN1_TYPE_sort(st) SKM_sk_sort(ASN1_TYPE, (st)) -#define sk_ASN1_TYPE_is_sorted(st) SKM_sk_is_sorted(ASN1_TYPE, (st)) - -#define sk_ASN1_UTF8STRING_new(cmp) SKM_sk_new(ASN1_UTF8STRING, (cmp)) -#define sk_ASN1_UTF8STRING_new_null() SKM_sk_new_null(ASN1_UTF8STRING) -#define sk_ASN1_UTF8STRING_free(st) SKM_sk_free(ASN1_UTF8STRING, (st)) -#define sk_ASN1_UTF8STRING_num(st) SKM_sk_num(ASN1_UTF8STRING, (st)) -#define sk_ASN1_UTF8STRING_value(st, i) SKM_sk_value(ASN1_UTF8STRING, (st), (i)) -#define sk_ASN1_UTF8STRING_set(st, i, val) SKM_sk_set(ASN1_UTF8STRING, (st), (i), (val)) -#define sk_ASN1_UTF8STRING_zero(st) SKM_sk_zero(ASN1_UTF8STRING, (st)) -#define sk_ASN1_UTF8STRING_push(st, val) SKM_sk_push(ASN1_UTF8STRING, (st), (val)) -#define sk_ASN1_UTF8STRING_unshift(st, val) SKM_sk_unshift(ASN1_UTF8STRING, (st), (val)) -#define sk_ASN1_UTF8STRING_find(st, val) SKM_sk_find(ASN1_UTF8STRING, (st), (val)) -#define sk_ASN1_UTF8STRING_find_ex(st, val) SKM_sk_find_ex(ASN1_UTF8STRING, (st), (val)) -#define sk_ASN1_UTF8STRING_delete(st, i) SKM_sk_delete(ASN1_UTF8STRING, (st), (i)) -#define sk_ASN1_UTF8STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_UTF8STRING, (st), (ptr)) -#define sk_ASN1_UTF8STRING_insert(st, val, i) SKM_sk_insert(ASN1_UTF8STRING, (st), (val), (i)) -#define sk_ASN1_UTF8STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_UTF8STRING, (st), (cmp)) -#define sk_ASN1_UTF8STRING_dup(st) SKM_sk_dup(ASN1_UTF8STRING, st) -#define sk_ASN1_UTF8STRING_pop_free(st, free_func) SKM_sk_pop_free(ASN1_UTF8STRING, (st), (free_func)) -#define sk_ASN1_UTF8STRING_shift(st) SKM_sk_shift(ASN1_UTF8STRING, (st)) -#define sk_ASN1_UTF8STRING_pop(st) SKM_sk_pop(ASN1_UTF8STRING, (st)) -#define sk_ASN1_UTF8STRING_sort(st) SKM_sk_sort(ASN1_UTF8STRING, (st)) -#define sk_ASN1_UTF8STRING_is_sorted(st) SKM_sk_is_sorted(ASN1_UTF8STRING, (st)) - -#define sk_ASN1_VALUE_new(cmp) SKM_sk_new(ASN1_VALUE, (cmp)) -#define sk_ASN1_VALUE_new_null() SKM_sk_new_null(ASN1_VALUE) -#define sk_ASN1_VALUE_free(st) SKM_sk_free(ASN1_VALUE, (st)) -#define sk_ASN1_VALUE_num(st) SKM_sk_num(ASN1_VALUE, (st)) -#define sk_ASN1_VALUE_value(st, i) SKM_sk_value(ASN1_VALUE, (st), (i)) -#define sk_ASN1_VALUE_set(st, i, val) SKM_sk_set(ASN1_VALUE, (st), (i), (val)) -#define sk_ASN1_VALUE_zero(st) SKM_sk_zero(ASN1_VALUE, (st)) -#define sk_ASN1_VALUE_push(st, val) SKM_sk_push(ASN1_VALUE, (st), (val)) -#define sk_ASN1_VALUE_unshift(st, val) SKM_sk_unshift(ASN1_VALUE, (st), (val)) -#define sk_ASN1_VALUE_find(st, val) SKM_sk_find(ASN1_VALUE, (st), (val)) -#define sk_ASN1_VALUE_find_ex(st, val) SKM_sk_find_ex(ASN1_VALUE, (st), (val)) -#define sk_ASN1_VALUE_delete(st, i) SKM_sk_delete(ASN1_VALUE, (st), (i)) -#define sk_ASN1_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ASN1_VALUE, (st), (ptr)) -#define sk_ASN1_VALUE_insert(st, val, i) SKM_sk_insert(ASN1_VALUE, (st), (val), (i)) -#define sk_ASN1_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ASN1_VALUE, (st), (cmp)) -#define sk_ASN1_VALUE_dup(st) SKM_sk_dup(ASN1_VALUE, st) -#define sk_ASN1_VALUE_pop_free(st, free_func) SKM_sk_pop_free(ASN1_VALUE, (st), (free_func)) -#define sk_ASN1_VALUE_shift(st) SKM_sk_shift(ASN1_VALUE, (st)) -#define sk_ASN1_VALUE_pop(st) SKM_sk_pop(ASN1_VALUE, (st)) -#define sk_ASN1_VALUE_sort(st) SKM_sk_sort(ASN1_VALUE, (st)) -#define sk_ASN1_VALUE_is_sorted(st) SKM_sk_is_sorted(ASN1_VALUE, (st)) - -#define sk_BIO_new(cmp) SKM_sk_new(BIO, (cmp)) -#define sk_BIO_new_null() SKM_sk_new_null(BIO) -#define sk_BIO_free(st) SKM_sk_free(BIO, (st)) -#define sk_BIO_num(st) SKM_sk_num(BIO, (st)) -#define sk_BIO_value(st, i) SKM_sk_value(BIO, (st), (i)) -#define sk_BIO_set(st, i, val) SKM_sk_set(BIO, (st), (i), (val)) -#define sk_BIO_zero(st) SKM_sk_zero(BIO, (st)) -#define sk_BIO_push(st, val) SKM_sk_push(BIO, (st), (val)) -#define sk_BIO_unshift(st, val) SKM_sk_unshift(BIO, (st), (val)) -#define sk_BIO_find(st, val) SKM_sk_find(BIO, (st), (val)) -#define sk_BIO_find_ex(st, val) SKM_sk_find_ex(BIO, (st), (val)) -#define sk_BIO_delete(st, i) SKM_sk_delete(BIO, (st), (i)) -#define sk_BIO_delete_ptr(st, ptr) SKM_sk_delete_ptr(BIO, (st), (ptr)) -#define sk_BIO_insert(st, val, i) SKM_sk_insert(BIO, (st), (val), (i)) -#define sk_BIO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BIO, (st), (cmp)) -#define sk_BIO_dup(st) SKM_sk_dup(BIO, st) -#define sk_BIO_pop_free(st, free_func) SKM_sk_pop_free(BIO, (st), (free_func)) -#define sk_BIO_shift(st) SKM_sk_shift(BIO, (st)) -#define sk_BIO_pop(st) SKM_sk_pop(BIO, (st)) -#define sk_BIO_sort(st) SKM_sk_sort(BIO, (st)) -#define sk_BIO_is_sorted(st) SKM_sk_is_sorted(BIO, (st)) - -#define sk_BY_DIR_ENTRY_new(cmp) SKM_sk_new(BY_DIR_ENTRY, (cmp)) -#define sk_BY_DIR_ENTRY_new_null() SKM_sk_new_null(BY_DIR_ENTRY) -#define sk_BY_DIR_ENTRY_free(st) SKM_sk_free(BY_DIR_ENTRY, (st)) -#define sk_BY_DIR_ENTRY_num(st) SKM_sk_num(BY_DIR_ENTRY, (st)) -#define sk_BY_DIR_ENTRY_value(st, i) SKM_sk_value(BY_DIR_ENTRY, (st), (i)) -#define sk_BY_DIR_ENTRY_set(st, i, val) SKM_sk_set(BY_DIR_ENTRY, (st), (i), (val)) -#define sk_BY_DIR_ENTRY_zero(st) SKM_sk_zero(BY_DIR_ENTRY, (st)) -#define sk_BY_DIR_ENTRY_push(st, val) SKM_sk_push(BY_DIR_ENTRY, (st), (val)) -#define sk_BY_DIR_ENTRY_unshift(st, val) SKM_sk_unshift(BY_DIR_ENTRY, (st), (val)) -#define sk_BY_DIR_ENTRY_find(st, val) SKM_sk_find(BY_DIR_ENTRY, (st), (val)) -#define sk_BY_DIR_ENTRY_find_ex(st, val) SKM_sk_find_ex(BY_DIR_ENTRY, (st), (val)) -#define sk_BY_DIR_ENTRY_delete(st, i) SKM_sk_delete(BY_DIR_ENTRY, (st), (i)) -#define sk_BY_DIR_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_ENTRY, (st), (ptr)) -#define sk_BY_DIR_ENTRY_insert(st, val, i) SKM_sk_insert(BY_DIR_ENTRY, (st), (val), (i)) -#define sk_BY_DIR_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_ENTRY, (st), (cmp)) -#define sk_BY_DIR_ENTRY_dup(st) SKM_sk_dup(BY_DIR_ENTRY, st) -#define sk_BY_DIR_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_ENTRY, (st), (free_func)) -#define sk_BY_DIR_ENTRY_shift(st) SKM_sk_shift(BY_DIR_ENTRY, (st)) -#define sk_BY_DIR_ENTRY_pop(st) SKM_sk_pop(BY_DIR_ENTRY, (st)) -#define sk_BY_DIR_ENTRY_sort(st) SKM_sk_sort(BY_DIR_ENTRY, (st)) -#define sk_BY_DIR_ENTRY_is_sorted(st) SKM_sk_is_sorted(BY_DIR_ENTRY, (st)) - -#define sk_BY_DIR_HASH_new(cmp) SKM_sk_new(BY_DIR_HASH, (cmp)) -#define sk_BY_DIR_HASH_new_null() SKM_sk_new_null(BY_DIR_HASH) -#define sk_BY_DIR_HASH_free(st) SKM_sk_free(BY_DIR_HASH, (st)) -#define sk_BY_DIR_HASH_num(st) SKM_sk_num(BY_DIR_HASH, (st)) -#define sk_BY_DIR_HASH_value(st, i) SKM_sk_value(BY_DIR_HASH, (st), (i)) -#define sk_BY_DIR_HASH_set(st, i, val) SKM_sk_set(BY_DIR_HASH, (st), (i), (val)) -#define sk_BY_DIR_HASH_zero(st) SKM_sk_zero(BY_DIR_HASH, (st)) -#define sk_BY_DIR_HASH_push(st, val) SKM_sk_push(BY_DIR_HASH, (st), (val)) -#define sk_BY_DIR_HASH_unshift(st, val) SKM_sk_unshift(BY_DIR_HASH, (st), (val)) -#define sk_BY_DIR_HASH_find(st, val) SKM_sk_find(BY_DIR_HASH, (st), (val)) -#define sk_BY_DIR_HASH_find_ex(st, val) SKM_sk_find_ex(BY_DIR_HASH, (st), (val)) -#define sk_BY_DIR_HASH_delete(st, i) SKM_sk_delete(BY_DIR_HASH, (st), (i)) -#define sk_BY_DIR_HASH_delete_ptr(st, ptr) SKM_sk_delete_ptr(BY_DIR_HASH, (st), (ptr)) -#define sk_BY_DIR_HASH_insert(st, val, i) SKM_sk_insert(BY_DIR_HASH, (st), (val), (i)) -#define sk_BY_DIR_HASH_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(BY_DIR_HASH, (st), (cmp)) -#define sk_BY_DIR_HASH_dup(st) SKM_sk_dup(BY_DIR_HASH, st) -#define sk_BY_DIR_HASH_pop_free(st, free_func) SKM_sk_pop_free(BY_DIR_HASH, (st), (free_func)) -#define sk_BY_DIR_HASH_shift(st) SKM_sk_shift(BY_DIR_HASH, (st)) -#define sk_BY_DIR_HASH_pop(st) SKM_sk_pop(BY_DIR_HASH, (st)) -#define sk_BY_DIR_HASH_sort(st) SKM_sk_sort(BY_DIR_HASH, (st)) -#define sk_BY_DIR_HASH_is_sorted(st) SKM_sk_is_sorted(BY_DIR_HASH, (st)) - -#define sk_CMS_CertificateChoices_new(cmp) SKM_sk_new(CMS_CertificateChoices, (cmp)) -#define sk_CMS_CertificateChoices_new_null() SKM_sk_new_null(CMS_CertificateChoices) -#define sk_CMS_CertificateChoices_free(st) SKM_sk_free(CMS_CertificateChoices, (st)) -#define sk_CMS_CertificateChoices_num(st) SKM_sk_num(CMS_CertificateChoices, (st)) -#define sk_CMS_CertificateChoices_value(st, i) SKM_sk_value(CMS_CertificateChoices, (st), (i)) -#define sk_CMS_CertificateChoices_set(st, i, val) SKM_sk_set(CMS_CertificateChoices, (st), (i), (val)) -#define sk_CMS_CertificateChoices_zero(st) SKM_sk_zero(CMS_CertificateChoices, (st)) -#define sk_CMS_CertificateChoices_push(st, val) SKM_sk_push(CMS_CertificateChoices, (st), (val)) -#define sk_CMS_CertificateChoices_unshift(st, val) SKM_sk_unshift(CMS_CertificateChoices, (st), (val)) -#define sk_CMS_CertificateChoices_find(st, val) SKM_sk_find(CMS_CertificateChoices, (st), (val)) -#define sk_CMS_CertificateChoices_find_ex(st, val) SKM_sk_find_ex(CMS_CertificateChoices, (st), (val)) -#define sk_CMS_CertificateChoices_delete(st, i) SKM_sk_delete(CMS_CertificateChoices, (st), (i)) -#define sk_CMS_CertificateChoices_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_CertificateChoices, (st), (ptr)) -#define sk_CMS_CertificateChoices_insert(st, val, i) SKM_sk_insert(CMS_CertificateChoices, (st), (val), (i)) -#define sk_CMS_CertificateChoices_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_CertificateChoices, (st), (cmp)) -#define sk_CMS_CertificateChoices_dup(st) SKM_sk_dup(CMS_CertificateChoices, st) -#define sk_CMS_CertificateChoices_pop_free(st, free_func) SKM_sk_pop_free(CMS_CertificateChoices, (st), (free_func)) -#define sk_CMS_CertificateChoices_shift(st) SKM_sk_shift(CMS_CertificateChoices, (st)) -#define sk_CMS_CertificateChoices_pop(st) SKM_sk_pop(CMS_CertificateChoices, (st)) -#define sk_CMS_CertificateChoices_sort(st) SKM_sk_sort(CMS_CertificateChoices, (st)) -#define sk_CMS_CertificateChoices_is_sorted(st) SKM_sk_is_sorted(CMS_CertificateChoices, (st)) - -#define sk_CMS_RecipientInfo_new(cmp) SKM_sk_new(CMS_RecipientInfo, (cmp)) -#define sk_CMS_RecipientInfo_new_null() SKM_sk_new_null(CMS_RecipientInfo) -#define sk_CMS_RecipientInfo_free(st) SKM_sk_free(CMS_RecipientInfo, (st)) -#define sk_CMS_RecipientInfo_num(st) SKM_sk_num(CMS_RecipientInfo, (st)) -#define sk_CMS_RecipientInfo_value(st, i) SKM_sk_value(CMS_RecipientInfo, (st), (i)) -#define sk_CMS_RecipientInfo_set(st, i, val) SKM_sk_set(CMS_RecipientInfo, (st), (i), (val)) -#define sk_CMS_RecipientInfo_zero(st) SKM_sk_zero(CMS_RecipientInfo, (st)) -#define sk_CMS_RecipientInfo_push(st, val) SKM_sk_push(CMS_RecipientInfo, (st), (val)) -#define sk_CMS_RecipientInfo_unshift(st, val) SKM_sk_unshift(CMS_RecipientInfo, (st), (val)) -#define sk_CMS_RecipientInfo_find(st, val) SKM_sk_find(CMS_RecipientInfo, (st), (val)) -#define sk_CMS_RecipientInfo_find_ex(st, val) SKM_sk_find_ex(CMS_RecipientInfo, (st), (val)) -#define sk_CMS_RecipientInfo_delete(st, i) SKM_sk_delete(CMS_RecipientInfo, (st), (i)) -#define sk_CMS_RecipientInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RecipientInfo, (st), (ptr)) -#define sk_CMS_RecipientInfo_insert(st, val, i) SKM_sk_insert(CMS_RecipientInfo, (st), (val), (i)) -#define sk_CMS_RecipientInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RecipientInfo, (st), (cmp)) -#define sk_CMS_RecipientInfo_dup(st) SKM_sk_dup(CMS_RecipientInfo, st) -#define sk_CMS_RecipientInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_RecipientInfo, (st), (free_func)) -#define sk_CMS_RecipientInfo_shift(st) SKM_sk_shift(CMS_RecipientInfo, (st)) -#define sk_CMS_RecipientInfo_pop(st) SKM_sk_pop(CMS_RecipientInfo, (st)) -#define sk_CMS_RecipientInfo_sort(st) SKM_sk_sort(CMS_RecipientInfo, (st)) -#define sk_CMS_RecipientInfo_is_sorted(st) SKM_sk_is_sorted(CMS_RecipientInfo, (st)) - -#define sk_CMS_RevocationInfoChoice_new(cmp) SKM_sk_new(CMS_RevocationInfoChoice, (cmp)) -#define sk_CMS_RevocationInfoChoice_new_null() SKM_sk_new_null(CMS_RevocationInfoChoice) -#define sk_CMS_RevocationInfoChoice_free(st) SKM_sk_free(CMS_RevocationInfoChoice, (st)) -#define sk_CMS_RevocationInfoChoice_num(st) SKM_sk_num(CMS_RevocationInfoChoice, (st)) -#define sk_CMS_RevocationInfoChoice_value(st, i) SKM_sk_value(CMS_RevocationInfoChoice, (st), (i)) -#define sk_CMS_RevocationInfoChoice_set(st, i, val) SKM_sk_set(CMS_RevocationInfoChoice, (st), (i), (val)) -#define sk_CMS_RevocationInfoChoice_zero(st) SKM_sk_zero(CMS_RevocationInfoChoice, (st)) -#define sk_CMS_RevocationInfoChoice_push(st, val) SKM_sk_push(CMS_RevocationInfoChoice, (st), (val)) -#define sk_CMS_RevocationInfoChoice_unshift(st, val) SKM_sk_unshift(CMS_RevocationInfoChoice, (st), (val)) -#define sk_CMS_RevocationInfoChoice_find(st, val) SKM_sk_find(CMS_RevocationInfoChoice, (st), (val)) -#define sk_CMS_RevocationInfoChoice_find_ex(st, val) SKM_sk_find_ex(CMS_RevocationInfoChoice, (st), (val)) -#define sk_CMS_RevocationInfoChoice_delete(st, i) SKM_sk_delete(CMS_RevocationInfoChoice, (st), (i)) -#define sk_CMS_RevocationInfoChoice_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_RevocationInfoChoice, (st), (ptr)) -#define sk_CMS_RevocationInfoChoice_insert(st, val, i) SKM_sk_insert(CMS_RevocationInfoChoice, (st), (val), (i)) -#define sk_CMS_RevocationInfoChoice_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_RevocationInfoChoice, (st), (cmp)) -#define sk_CMS_RevocationInfoChoice_dup(st) SKM_sk_dup(CMS_RevocationInfoChoice, st) -#define sk_CMS_RevocationInfoChoice_pop_free(st, free_func) SKM_sk_pop_free(CMS_RevocationInfoChoice, (st), (free_func)) -#define sk_CMS_RevocationInfoChoice_shift(st) SKM_sk_shift(CMS_RevocationInfoChoice, (st)) -#define sk_CMS_RevocationInfoChoice_pop(st) SKM_sk_pop(CMS_RevocationInfoChoice, (st)) -#define sk_CMS_RevocationInfoChoice_sort(st) SKM_sk_sort(CMS_RevocationInfoChoice, (st)) -#define sk_CMS_RevocationInfoChoice_is_sorted(st) SKM_sk_is_sorted(CMS_RevocationInfoChoice, (st)) - -#define sk_CMS_SignerInfo_new(cmp) SKM_sk_new(CMS_SignerInfo, (cmp)) -#define sk_CMS_SignerInfo_new_null() SKM_sk_new_null(CMS_SignerInfo) -#define sk_CMS_SignerInfo_free(st) SKM_sk_free(CMS_SignerInfo, (st)) -#define sk_CMS_SignerInfo_num(st) SKM_sk_num(CMS_SignerInfo, (st)) -#define sk_CMS_SignerInfo_value(st, i) SKM_sk_value(CMS_SignerInfo, (st), (i)) -#define sk_CMS_SignerInfo_set(st, i, val) SKM_sk_set(CMS_SignerInfo, (st), (i), (val)) -#define sk_CMS_SignerInfo_zero(st) SKM_sk_zero(CMS_SignerInfo, (st)) -#define sk_CMS_SignerInfo_push(st, val) SKM_sk_push(CMS_SignerInfo, (st), (val)) -#define sk_CMS_SignerInfo_unshift(st, val) SKM_sk_unshift(CMS_SignerInfo, (st), (val)) -#define sk_CMS_SignerInfo_find(st, val) SKM_sk_find(CMS_SignerInfo, (st), (val)) -#define sk_CMS_SignerInfo_find_ex(st, val) SKM_sk_find_ex(CMS_SignerInfo, (st), (val)) -#define sk_CMS_SignerInfo_delete(st, i) SKM_sk_delete(CMS_SignerInfo, (st), (i)) -#define sk_CMS_SignerInfo_delete_ptr(st, ptr) SKM_sk_delete_ptr(CMS_SignerInfo, (st), (ptr)) -#define sk_CMS_SignerInfo_insert(st, val, i) SKM_sk_insert(CMS_SignerInfo, (st), (val), (i)) -#define sk_CMS_SignerInfo_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CMS_SignerInfo, (st), (cmp)) -#define sk_CMS_SignerInfo_dup(st) SKM_sk_dup(CMS_SignerInfo, st) -#define sk_CMS_SignerInfo_pop_free(st, free_func) SKM_sk_pop_free(CMS_SignerInfo, (st), (free_func)) -#define sk_CMS_SignerInfo_shift(st) SKM_sk_shift(CMS_SignerInfo, (st)) -#define sk_CMS_SignerInfo_pop(st) SKM_sk_pop(CMS_SignerInfo, (st)) -#define sk_CMS_SignerInfo_sort(st) SKM_sk_sort(CMS_SignerInfo, (st)) -#define sk_CMS_SignerInfo_is_sorted(st) SKM_sk_is_sorted(CMS_SignerInfo, (st)) - -#define sk_CONF_IMODULE_new(cmp) SKM_sk_new(CONF_IMODULE, (cmp)) -#define sk_CONF_IMODULE_new_null() SKM_sk_new_null(CONF_IMODULE) -#define sk_CONF_IMODULE_free(st) SKM_sk_free(CONF_IMODULE, (st)) -#define sk_CONF_IMODULE_num(st) SKM_sk_num(CONF_IMODULE, (st)) -#define sk_CONF_IMODULE_value(st, i) SKM_sk_value(CONF_IMODULE, (st), (i)) -#define sk_CONF_IMODULE_set(st, i, val) SKM_sk_set(CONF_IMODULE, (st), (i), (val)) -#define sk_CONF_IMODULE_zero(st) SKM_sk_zero(CONF_IMODULE, (st)) -#define sk_CONF_IMODULE_push(st, val) SKM_sk_push(CONF_IMODULE, (st), (val)) -#define sk_CONF_IMODULE_unshift(st, val) SKM_sk_unshift(CONF_IMODULE, (st), (val)) -#define sk_CONF_IMODULE_find(st, val) SKM_sk_find(CONF_IMODULE, (st), (val)) -#define sk_CONF_IMODULE_find_ex(st, val) SKM_sk_find_ex(CONF_IMODULE, (st), (val)) -#define sk_CONF_IMODULE_delete(st, i) SKM_sk_delete(CONF_IMODULE, (st), (i)) -#define sk_CONF_IMODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_IMODULE, (st), (ptr)) -#define sk_CONF_IMODULE_insert(st, val, i) SKM_sk_insert(CONF_IMODULE, (st), (val), (i)) -#define sk_CONF_IMODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_IMODULE, (st), (cmp)) -#define sk_CONF_IMODULE_dup(st) SKM_sk_dup(CONF_IMODULE, st) -#define sk_CONF_IMODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_IMODULE, (st), (free_func)) -#define sk_CONF_IMODULE_shift(st) SKM_sk_shift(CONF_IMODULE, (st)) -#define sk_CONF_IMODULE_pop(st) SKM_sk_pop(CONF_IMODULE, (st)) -#define sk_CONF_IMODULE_sort(st) SKM_sk_sort(CONF_IMODULE, (st)) -#define sk_CONF_IMODULE_is_sorted(st) SKM_sk_is_sorted(CONF_IMODULE, (st)) - -#define sk_CONF_MODULE_new(cmp) SKM_sk_new(CONF_MODULE, (cmp)) -#define sk_CONF_MODULE_new_null() SKM_sk_new_null(CONF_MODULE) -#define sk_CONF_MODULE_free(st) SKM_sk_free(CONF_MODULE, (st)) -#define sk_CONF_MODULE_num(st) SKM_sk_num(CONF_MODULE, (st)) -#define sk_CONF_MODULE_value(st, i) SKM_sk_value(CONF_MODULE, (st), (i)) -#define sk_CONF_MODULE_set(st, i, val) SKM_sk_set(CONF_MODULE, (st), (i), (val)) -#define sk_CONF_MODULE_zero(st) SKM_sk_zero(CONF_MODULE, (st)) -#define sk_CONF_MODULE_push(st, val) SKM_sk_push(CONF_MODULE, (st), (val)) -#define sk_CONF_MODULE_unshift(st, val) SKM_sk_unshift(CONF_MODULE, (st), (val)) -#define sk_CONF_MODULE_find(st, val) SKM_sk_find(CONF_MODULE, (st), (val)) -#define sk_CONF_MODULE_find_ex(st, val) SKM_sk_find_ex(CONF_MODULE, (st), (val)) -#define sk_CONF_MODULE_delete(st, i) SKM_sk_delete(CONF_MODULE, (st), (i)) -#define sk_CONF_MODULE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_MODULE, (st), (ptr)) -#define sk_CONF_MODULE_insert(st, val, i) SKM_sk_insert(CONF_MODULE, (st), (val), (i)) -#define sk_CONF_MODULE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_MODULE, (st), (cmp)) -#define sk_CONF_MODULE_dup(st) SKM_sk_dup(CONF_MODULE, st) -#define sk_CONF_MODULE_pop_free(st, free_func) SKM_sk_pop_free(CONF_MODULE, (st), (free_func)) -#define sk_CONF_MODULE_shift(st) SKM_sk_shift(CONF_MODULE, (st)) -#define sk_CONF_MODULE_pop(st) SKM_sk_pop(CONF_MODULE, (st)) -#define sk_CONF_MODULE_sort(st) SKM_sk_sort(CONF_MODULE, (st)) -#define sk_CONF_MODULE_is_sorted(st) SKM_sk_is_sorted(CONF_MODULE, (st)) - -#define sk_CONF_VALUE_new(cmp) SKM_sk_new(CONF_VALUE, (cmp)) -#define sk_CONF_VALUE_new_null() SKM_sk_new_null(CONF_VALUE) -#define sk_CONF_VALUE_free(st) SKM_sk_free(CONF_VALUE, (st)) -#define sk_CONF_VALUE_num(st) SKM_sk_num(CONF_VALUE, (st)) -#define sk_CONF_VALUE_value(st, i) SKM_sk_value(CONF_VALUE, (st), (i)) -#define sk_CONF_VALUE_set(st, i, val) SKM_sk_set(CONF_VALUE, (st), (i), (val)) -#define sk_CONF_VALUE_zero(st) SKM_sk_zero(CONF_VALUE, (st)) -#define sk_CONF_VALUE_push(st, val) SKM_sk_push(CONF_VALUE, (st), (val)) -#define sk_CONF_VALUE_unshift(st, val) SKM_sk_unshift(CONF_VALUE, (st), (val)) -#define sk_CONF_VALUE_find(st, val) SKM_sk_find(CONF_VALUE, (st), (val)) -#define sk_CONF_VALUE_find_ex(st, val) SKM_sk_find_ex(CONF_VALUE, (st), (val)) -#define sk_CONF_VALUE_delete(st, i) SKM_sk_delete(CONF_VALUE, (st), (i)) -#define sk_CONF_VALUE_delete_ptr(st, ptr) SKM_sk_delete_ptr(CONF_VALUE, (st), (ptr)) -#define sk_CONF_VALUE_insert(st, val, i) SKM_sk_insert(CONF_VALUE, (st), (val), (i)) -#define sk_CONF_VALUE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CONF_VALUE, (st), (cmp)) -#define sk_CONF_VALUE_dup(st) SKM_sk_dup(CONF_VALUE, st) -#define sk_CONF_VALUE_pop_free(st, free_func) SKM_sk_pop_free(CONF_VALUE, (st), (free_func)) -#define sk_CONF_VALUE_shift(st) SKM_sk_shift(CONF_VALUE, (st)) -#define sk_CONF_VALUE_pop(st) SKM_sk_pop(CONF_VALUE, (st)) -#define sk_CONF_VALUE_sort(st) SKM_sk_sort(CONF_VALUE, (st)) -#define sk_CONF_VALUE_is_sorted(st) SKM_sk_is_sorted(CONF_VALUE, (st)) - -#define sk_CRYPTO_EX_DATA_FUNCS_new(cmp) SKM_sk_new(CRYPTO_EX_DATA_FUNCS, (cmp)) -#define sk_CRYPTO_EX_DATA_FUNCS_new_null() SKM_sk_new_null(CRYPTO_EX_DATA_FUNCS) -#define sk_CRYPTO_EX_DATA_FUNCS_free(st) SKM_sk_free(CRYPTO_EX_DATA_FUNCS, (st)) -#define sk_CRYPTO_EX_DATA_FUNCS_num(st) SKM_sk_num(CRYPTO_EX_DATA_FUNCS, (st)) -#define sk_CRYPTO_EX_DATA_FUNCS_value(st, i) SKM_sk_value(CRYPTO_EX_DATA_FUNCS, (st), (i)) -#define sk_CRYPTO_EX_DATA_FUNCS_set(st, i, val) SKM_sk_set(CRYPTO_EX_DATA_FUNCS, (st), (i), (val)) -#define sk_CRYPTO_EX_DATA_FUNCS_zero(st) SKM_sk_zero(CRYPTO_EX_DATA_FUNCS, (st)) -#define sk_CRYPTO_EX_DATA_FUNCS_push(st, val) SKM_sk_push(CRYPTO_EX_DATA_FUNCS, (st), (val)) -#define sk_CRYPTO_EX_DATA_FUNCS_unshift(st, val) SKM_sk_unshift(CRYPTO_EX_DATA_FUNCS, (st), (val)) -#define sk_CRYPTO_EX_DATA_FUNCS_find(st, val) SKM_sk_find(CRYPTO_EX_DATA_FUNCS, (st), (val)) -#define sk_CRYPTO_EX_DATA_FUNCS_find_ex(st, val) SKM_sk_find_ex(CRYPTO_EX_DATA_FUNCS, (st), (val)) -#define sk_CRYPTO_EX_DATA_FUNCS_delete(st, i) SKM_sk_delete(CRYPTO_EX_DATA_FUNCS, (st), (i)) -#define sk_CRYPTO_EX_DATA_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_EX_DATA_FUNCS, (st), (ptr)) -#define sk_CRYPTO_EX_DATA_FUNCS_insert(st, val, i) SKM_sk_insert(CRYPTO_EX_DATA_FUNCS, (st), (val), (i)) -#define sk_CRYPTO_EX_DATA_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_EX_DATA_FUNCS, (st), (cmp)) -#define sk_CRYPTO_EX_DATA_FUNCS_dup(st) SKM_sk_dup(CRYPTO_EX_DATA_FUNCS, st) -#define sk_CRYPTO_EX_DATA_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_EX_DATA_FUNCS, (st), (free_func)) -#define sk_CRYPTO_EX_DATA_FUNCS_shift(st) SKM_sk_shift(CRYPTO_EX_DATA_FUNCS, (st)) -#define sk_CRYPTO_EX_DATA_FUNCS_pop(st) SKM_sk_pop(CRYPTO_EX_DATA_FUNCS, (st)) -#define sk_CRYPTO_EX_DATA_FUNCS_sort(st) SKM_sk_sort(CRYPTO_EX_DATA_FUNCS, (st)) -#define sk_CRYPTO_EX_DATA_FUNCS_is_sorted(st) SKM_sk_is_sorted(CRYPTO_EX_DATA_FUNCS, (st)) - -#define sk_CRYPTO_dynlock_new(cmp) SKM_sk_new(CRYPTO_dynlock, (cmp)) -#define sk_CRYPTO_dynlock_new_null() SKM_sk_new_null(CRYPTO_dynlock) -#define sk_CRYPTO_dynlock_free(st) SKM_sk_free(CRYPTO_dynlock, (st)) -#define sk_CRYPTO_dynlock_num(st) SKM_sk_num(CRYPTO_dynlock, (st)) -#define sk_CRYPTO_dynlock_value(st, i) SKM_sk_value(CRYPTO_dynlock, (st), (i)) -#define sk_CRYPTO_dynlock_set(st, i, val) SKM_sk_set(CRYPTO_dynlock, (st), (i), (val)) -#define sk_CRYPTO_dynlock_zero(st) SKM_sk_zero(CRYPTO_dynlock, (st)) -#define sk_CRYPTO_dynlock_push(st, val) SKM_sk_push(CRYPTO_dynlock, (st), (val)) -#define sk_CRYPTO_dynlock_unshift(st, val) SKM_sk_unshift(CRYPTO_dynlock, (st), (val)) -#define sk_CRYPTO_dynlock_find(st, val) SKM_sk_find(CRYPTO_dynlock, (st), (val)) -#define sk_CRYPTO_dynlock_find_ex(st, val) SKM_sk_find_ex(CRYPTO_dynlock, (st), (val)) -#define sk_CRYPTO_dynlock_delete(st, i) SKM_sk_delete(CRYPTO_dynlock, (st), (i)) -#define sk_CRYPTO_dynlock_delete_ptr(st, ptr) SKM_sk_delete_ptr(CRYPTO_dynlock, (st), (ptr)) -#define sk_CRYPTO_dynlock_insert(st, val, i) SKM_sk_insert(CRYPTO_dynlock, (st), (val), (i)) -#define sk_CRYPTO_dynlock_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(CRYPTO_dynlock, (st), (cmp)) -#define sk_CRYPTO_dynlock_dup(st) SKM_sk_dup(CRYPTO_dynlock, st) -#define sk_CRYPTO_dynlock_pop_free(st, free_func) SKM_sk_pop_free(CRYPTO_dynlock, (st), (free_func)) -#define sk_CRYPTO_dynlock_shift(st) SKM_sk_shift(CRYPTO_dynlock, (st)) -#define sk_CRYPTO_dynlock_pop(st) SKM_sk_pop(CRYPTO_dynlock, (st)) -#define sk_CRYPTO_dynlock_sort(st) SKM_sk_sort(CRYPTO_dynlock, (st)) -#define sk_CRYPTO_dynlock_is_sorted(st) SKM_sk_is_sorted(CRYPTO_dynlock, (st)) - -#define sk_DIST_POINT_new(cmp) SKM_sk_new(DIST_POINT, (cmp)) -#define sk_DIST_POINT_new_null() SKM_sk_new_null(DIST_POINT) -#define sk_DIST_POINT_free(st) SKM_sk_free(DIST_POINT, (st)) -#define sk_DIST_POINT_num(st) SKM_sk_num(DIST_POINT, (st)) -#define sk_DIST_POINT_value(st, i) SKM_sk_value(DIST_POINT, (st), (i)) -#define sk_DIST_POINT_set(st, i, val) SKM_sk_set(DIST_POINT, (st), (i), (val)) -#define sk_DIST_POINT_zero(st) SKM_sk_zero(DIST_POINT, (st)) -#define sk_DIST_POINT_push(st, val) SKM_sk_push(DIST_POINT, (st), (val)) -#define sk_DIST_POINT_unshift(st, val) SKM_sk_unshift(DIST_POINT, (st), (val)) -#define sk_DIST_POINT_find(st, val) SKM_sk_find(DIST_POINT, (st), (val)) -#define sk_DIST_POINT_find_ex(st, val) SKM_sk_find_ex(DIST_POINT, (st), (val)) -#define sk_DIST_POINT_delete(st, i) SKM_sk_delete(DIST_POINT, (st), (i)) -#define sk_DIST_POINT_delete_ptr(st, ptr) SKM_sk_delete_ptr(DIST_POINT, (st), (ptr)) -#define sk_DIST_POINT_insert(st, val, i) SKM_sk_insert(DIST_POINT, (st), (val), (i)) -#define sk_DIST_POINT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(DIST_POINT, (st), (cmp)) -#define sk_DIST_POINT_dup(st) SKM_sk_dup(DIST_POINT, st) -#define sk_DIST_POINT_pop_free(st, free_func) SKM_sk_pop_free(DIST_POINT, (st), (free_func)) -#define sk_DIST_POINT_shift(st) SKM_sk_shift(DIST_POINT, (st)) -#define sk_DIST_POINT_pop(st) SKM_sk_pop(DIST_POINT, (st)) -#define sk_DIST_POINT_sort(st) SKM_sk_sort(DIST_POINT, (st)) -#define sk_DIST_POINT_is_sorted(st) SKM_sk_is_sorted(DIST_POINT, (st)) - -#define sk_ENGINE_new(cmp) SKM_sk_new(ENGINE, (cmp)) -#define sk_ENGINE_new_null() SKM_sk_new_null(ENGINE) -#define sk_ENGINE_free(st) SKM_sk_free(ENGINE, (st)) -#define sk_ENGINE_num(st) SKM_sk_num(ENGINE, (st)) -#define sk_ENGINE_value(st, i) SKM_sk_value(ENGINE, (st), (i)) -#define sk_ENGINE_set(st, i, val) SKM_sk_set(ENGINE, (st), (i), (val)) -#define sk_ENGINE_zero(st) SKM_sk_zero(ENGINE, (st)) -#define sk_ENGINE_push(st, val) SKM_sk_push(ENGINE, (st), (val)) -#define sk_ENGINE_unshift(st, val) SKM_sk_unshift(ENGINE, (st), (val)) -#define sk_ENGINE_find(st, val) SKM_sk_find(ENGINE, (st), (val)) -#define sk_ENGINE_find_ex(st, val) SKM_sk_find_ex(ENGINE, (st), (val)) -#define sk_ENGINE_delete(st, i) SKM_sk_delete(ENGINE, (st), (i)) -#define sk_ENGINE_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE, (st), (ptr)) -#define sk_ENGINE_insert(st, val, i) SKM_sk_insert(ENGINE, (st), (val), (i)) -#define sk_ENGINE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE, (st), (cmp)) -#define sk_ENGINE_dup(st) SKM_sk_dup(ENGINE, st) -#define sk_ENGINE_pop_free(st, free_func) SKM_sk_pop_free(ENGINE, (st), (free_func)) -#define sk_ENGINE_shift(st) SKM_sk_shift(ENGINE, (st)) -#define sk_ENGINE_pop(st) SKM_sk_pop(ENGINE, (st)) -#define sk_ENGINE_sort(st) SKM_sk_sort(ENGINE, (st)) -#define sk_ENGINE_is_sorted(st) SKM_sk_is_sorted(ENGINE, (st)) - -#define sk_ENGINE_CLEANUP_ITEM_new(cmp) SKM_sk_new(ENGINE_CLEANUP_ITEM, (cmp)) -#define sk_ENGINE_CLEANUP_ITEM_new_null() SKM_sk_new_null(ENGINE_CLEANUP_ITEM) -#define sk_ENGINE_CLEANUP_ITEM_free(st) SKM_sk_free(ENGINE_CLEANUP_ITEM, (st)) -#define sk_ENGINE_CLEANUP_ITEM_num(st) SKM_sk_num(ENGINE_CLEANUP_ITEM, (st)) -#define sk_ENGINE_CLEANUP_ITEM_value(st, i) SKM_sk_value(ENGINE_CLEANUP_ITEM, (st), (i)) -#define sk_ENGINE_CLEANUP_ITEM_set(st, i, val) SKM_sk_set(ENGINE_CLEANUP_ITEM, (st), (i), (val)) -#define sk_ENGINE_CLEANUP_ITEM_zero(st) SKM_sk_zero(ENGINE_CLEANUP_ITEM, (st)) -#define sk_ENGINE_CLEANUP_ITEM_push(st, val) SKM_sk_push(ENGINE_CLEANUP_ITEM, (st), (val)) -#define sk_ENGINE_CLEANUP_ITEM_unshift(st, val) SKM_sk_unshift(ENGINE_CLEANUP_ITEM, (st), (val)) -#define sk_ENGINE_CLEANUP_ITEM_find(st, val) SKM_sk_find(ENGINE_CLEANUP_ITEM, (st), (val)) -#define sk_ENGINE_CLEANUP_ITEM_find_ex(st, val) SKM_sk_find_ex(ENGINE_CLEANUP_ITEM, (st), (val)) -#define sk_ENGINE_CLEANUP_ITEM_delete(st, i) SKM_sk_delete(ENGINE_CLEANUP_ITEM, (st), (i)) -#define sk_ENGINE_CLEANUP_ITEM_delete_ptr(st, ptr) SKM_sk_delete_ptr(ENGINE_CLEANUP_ITEM, (st), (ptr)) -#define sk_ENGINE_CLEANUP_ITEM_insert(st, val, i) SKM_sk_insert(ENGINE_CLEANUP_ITEM, (st), (val), (i)) -#define sk_ENGINE_CLEANUP_ITEM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ENGINE_CLEANUP_ITEM, (st), (cmp)) -#define sk_ENGINE_CLEANUP_ITEM_dup(st) SKM_sk_dup(ENGINE_CLEANUP_ITEM, st) -#define sk_ENGINE_CLEANUP_ITEM_pop_free(st, free_func) SKM_sk_pop_free(ENGINE_CLEANUP_ITEM, (st), (free_func)) -#define sk_ENGINE_CLEANUP_ITEM_shift(st) SKM_sk_shift(ENGINE_CLEANUP_ITEM, (st)) -#define sk_ENGINE_CLEANUP_ITEM_pop(st) SKM_sk_pop(ENGINE_CLEANUP_ITEM, (st)) -#define sk_ENGINE_CLEANUP_ITEM_sort(st) SKM_sk_sort(ENGINE_CLEANUP_ITEM, (st)) -#define sk_ENGINE_CLEANUP_ITEM_is_sorted(st) SKM_sk_is_sorted(ENGINE_CLEANUP_ITEM, (st)) - -#define sk_ESS_CERT_ID_new(cmp) SKM_sk_new(ESS_CERT_ID, (cmp)) -#define sk_ESS_CERT_ID_new_null() SKM_sk_new_null(ESS_CERT_ID) -#define sk_ESS_CERT_ID_free(st) SKM_sk_free(ESS_CERT_ID, (st)) -#define sk_ESS_CERT_ID_num(st) SKM_sk_num(ESS_CERT_ID, (st)) -#define sk_ESS_CERT_ID_value(st, i) SKM_sk_value(ESS_CERT_ID, (st), (i)) -#define sk_ESS_CERT_ID_set(st, i, val) SKM_sk_set(ESS_CERT_ID, (st), (i), (val)) -#define sk_ESS_CERT_ID_zero(st) SKM_sk_zero(ESS_CERT_ID, (st)) -#define sk_ESS_CERT_ID_push(st, val) SKM_sk_push(ESS_CERT_ID, (st), (val)) -#define sk_ESS_CERT_ID_unshift(st, val) SKM_sk_unshift(ESS_CERT_ID, (st), (val)) -#define sk_ESS_CERT_ID_find(st, val) SKM_sk_find(ESS_CERT_ID, (st), (val)) -#define sk_ESS_CERT_ID_find_ex(st, val) SKM_sk_find_ex(ESS_CERT_ID, (st), (val)) -#define sk_ESS_CERT_ID_delete(st, i) SKM_sk_delete(ESS_CERT_ID, (st), (i)) -#define sk_ESS_CERT_ID_delete_ptr(st, ptr) SKM_sk_delete_ptr(ESS_CERT_ID, (st), (ptr)) -#define sk_ESS_CERT_ID_insert(st, val, i) SKM_sk_insert(ESS_CERT_ID, (st), (val), (i)) -#define sk_ESS_CERT_ID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(ESS_CERT_ID, (st), (cmp)) -#define sk_ESS_CERT_ID_dup(st) SKM_sk_dup(ESS_CERT_ID, st) -#define sk_ESS_CERT_ID_pop_free(st, free_func) SKM_sk_pop_free(ESS_CERT_ID, (st), (free_func)) -#define sk_ESS_CERT_ID_shift(st) SKM_sk_shift(ESS_CERT_ID, (st)) -#define sk_ESS_CERT_ID_pop(st) SKM_sk_pop(ESS_CERT_ID, (st)) -#define sk_ESS_CERT_ID_sort(st) SKM_sk_sort(ESS_CERT_ID, (st)) -#define sk_ESS_CERT_ID_is_sorted(st) SKM_sk_is_sorted(ESS_CERT_ID, (st)) - -#define sk_EVP_MD_new(cmp) SKM_sk_new(EVP_MD, (cmp)) -#define sk_EVP_MD_new_null() SKM_sk_new_null(EVP_MD) -#define sk_EVP_MD_free(st) SKM_sk_free(EVP_MD, (st)) -#define sk_EVP_MD_num(st) SKM_sk_num(EVP_MD, (st)) -#define sk_EVP_MD_value(st, i) SKM_sk_value(EVP_MD, (st), (i)) -#define sk_EVP_MD_set(st, i, val) SKM_sk_set(EVP_MD, (st), (i), (val)) -#define sk_EVP_MD_zero(st) SKM_sk_zero(EVP_MD, (st)) -#define sk_EVP_MD_push(st, val) SKM_sk_push(EVP_MD, (st), (val)) -#define sk_EVP_MD_unshift(st, val) SKM_sk_unshift(EVP_MD, (st), (val)) -#define sk_EVP_MD_find(st, val) SKM_sk_find(EVP_MD, (st), (val)) -#define sk_EVP_MD_find_ex(st, val) SKM_sk_find_ex(EVP_MD, (st), (val)) -#define sk_EVP_MD_delete(st, i) SKM_sk_delete(EVP_MD, (st), (i)) -#define sk_EVP_MD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_MD, (st), (ptr)) -#define sk_EVP_MD_insert(st, val, i) SKM_sk_insert(EVP_MD, (st), (val), (i)) -#define sk_EVP_MD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_MD, (st), (cmp)) -#define sk_EVP_MD_dup(st) SKM_sk_dup(EVP_MD, st) -#define sk_EVP_MD_pop_free(st, free_func) SKM_sk_pop_free(EVP_MD, (st), (free_func)) -#define sk_EVP_MD_shift(st) SKM_sk_shift(EVP_MD, (st)) -#define sk_EVP_MD_pop(st) SKM_sk_pop(EVP_MD, (st)) -#define sk_EVP_MD_sort(st) SKM_sk_sort(EVP_MD, (st)) -#define sk_EVP_MD_is_sorted(st) SKM_sk_is_sorted(EVP_MD, (st)) - -#define sk_EVP_PBE_CTL_new(cmp) SKM_sk_new(EVP_PBE_CTL, (cmp)) -#define sk_EVP_PBE_CTL_new_null() SKM_sk_new_null(EVP_PBE_CTL) -#define sk_EVP_PBE_CTL_free(st) SKM_sk_free(EVP_PBE_CTL, (st)) -#define sk_EVP_PBE_CTL_num(st) SKM_sk_num(EVP_PBE_CTL, (st)) -#define sk_EVP_PBE_CTL_value(st, i) SKM_sk_value(EVP_PBE_CTL, (st), (i)) -#define sk_EVP_PBE_CTL_set(st, i, val) SKM_sk_set(EVP_PBE_CTL, (st), (i), (val)) -#define sk_EVP_PBE_CTL_zero(st) SKM_sk_zero(EVP_PBE_CTL, (st)) -#define sk_EVP_PBE_CTL_push(st, val) SKM_sk_push(EVP_PBE_CTL, (st), (val)) -#define sk_EVP_PBE_CTL_unshift(st, val) SKM_sk_unshift(EVP_PBE_CTL, (st), (val)) -#define sk_EVP_PBE_CTL_find(st, val) SKM_sk_find(EVP_PBE_CTL, (st), (val)) -#define sk_EVP_PBE_CTL_find_ex(st, val) SKM_sk_find_ex(EVP_PBE_CTL, (st), (val)) -#define sk_EVP_PBE_CTL_delete(st, i) SKM_sk_delete(EVP_PBE_CTL, (st), (i)) -#define sk_EVP_PBE_CTL_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PBE_CTL, (st), (ptr)) -#define sk_EVP_PBE_CTL_insert(st, val, i) SKM_sk_insert(EVP_PBE_CTL, (st), (val), (i)) -#define sk_EVP_PBE_CTL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PBE_CTL, (st), (cmp)) -#define sk_EVP_PBE_CTL_dup(st) SKM_sk_dup(EVP_PBE_CTL, st) -#define sk_EVP_PBE_CTL_pop_free(st, free_func) SKM_sk_pop_free(EVP_PBE_CTL, (st), (free_func)) -#define sk_EVP_PBE_CTL_shift(st) SKM_sk_shift(EVP_PBE_CTL, (st)) -#define sk_EVP_PBE_CTL_pop(st) SKM_sk_pop(EVP_PBE_CTL, (st)) -#define sk_EVP_PBE_CTL_sort(st) SKM_sk_sort(EVP_PBE_CTL, (st)) -#define sk_EVP_PBE_CTL_is_sorted(st) SKM_sk_is_sorted(EVP_PBE_CTL, (st)) - -#define sk_EVP_PKEY_ASN1_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_ASN1_METHOD, (cmp)) -#define sk_EVP_PKEY_ASN1_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_ASN1_METHOD) -#define sk_EVP_PKEY_ASN1_METHOD_free(st) SKM_sk_free(EVP_PKEY_ASN1_METHOD, (st)) -#define sk_EVP_PKEY_ASN1_METHOD_num(st) SKM_sk_num(EVP_PKEY_ASN1_METHOD, (st)) -#define sk_EVP_PKEY_ASN1_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_ASN1_METHOD, (st), (i)) -#define sk_EVP_PKEY_ASN1_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_ASN1_METHOD, (st), (i), (val)) -#define sk_EVP_PKEY_ASN1_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_ASN1_METHOD, (st)) -#define sk_EVP_PKEY_ASN1_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_ASN1_METHOD, (st), (val)) -#define sk_EVP_PKEY_ASN1_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_ASN1_METHOD, (st), (val)) -#define sk_EVP_PKEY_ASN1_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_ASN1_METHOD, (st), (val)) -#define sk_EVP_PKEY_ASN1_METHOD_find_ex(st, val) SKM_sk_find_ex(EVP_PKEY_ASN1_METHOD, (st), (val)) -#define sk_EVP_PKEY_ASN1_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_ASN1_METHOD, (st), (i)) -#define sk_EVP_PKEY_ASN1_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_ASN1_METHOD, (st), (ptr)) -#define sk_EVP_PKEY_ASN1_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_ASN1_METHOD, (st), (val), (i)) -#define sk_EVP_PKEY_ASN1_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_ASN1_METHOD, (st), (cmp)) -#define sk_EVP_PKEY_ASN1_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_ASN1_METHOD, st) -#define sk_EVP_PKEY_ASN1_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_ASN1_METHOD, (st), (free_func)) -#define sk_EVP_PKEY_ASN1_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_ASN1_METHOD, (st)) -#define sk_EVP_PKEY_ASN1_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_ASN1_METHOD, (st)) -#define sk_EVP_PKEY_ASN1_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_ASN1_METHOD, (st)) -#define sk_EVP_PKEY_ASN1_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_ASN1_METHOD, (st)) - -#define sk_EVP_PKEY_METHOD_new(cmp) SKM_sk_new(EVP_PKEY_METHOD, (cmp)) -#define sk_EVP_PKEY_METHOD_new_null() SKM_sk_new_null(EVP_PKEY_METHOD) -#define sk_EVP_PKEY_METHOD_free(st) SKM_sk_free(EVP_PKEY_METHOD, (st)) -#define sk_EVP_PKEY_METHOD_num(st) SKM_sk_num(EVP_PKEY_METHOD, (st)) -#define sk_EVP_PKEY_METHOD_value(st, i) SKM_sk_value(EVP_PKEY_METHOD, (st), (i)) -#define sk_EVP_PKEY_METHOD_set(st, i, val) SKM_sk_set(EVP_PKEY_METHOD, (st), (i), (val)) -#define sk_EVP_PKEY_METHOD_zero(st) SKM_sk_zero(EVP_PKEY_METHOD, (st)) -#define sk_EVP_PKEY_METHOD_push(st, val) SKM_sk_push(EVP_PKEY_METHOD, (st), (val)) -#define sk_EVP_PKEY_METHOD_unshift(st, val) SKM_sk_unshift(EVP_PKEY_METHOD, (st), (val)) -#define sk_EVP_PKEY_METHOD_find(st, val) SKM_sk_find(EVP_PKEY_METHOD, (st), (val)) -#define sk_EVP_PKEY_METHOD_find_ex(st, val) SKM_sk_find_ex(EVP_PKEY_METHOD, (st), (val)) -#define sk_EVP_PKEY_METHOD_delete(st, i) SKM_sk_delete(EVP_PKEY_METHOD, (st), (i)) -#define sk_EVP_PKEY_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(EVP_PKEY_METHOD, (st), (ptr)) -#define sk_EVP_PKEY_METHOD_insert(st, val, i) SKM_sk_insert(EVP_PKEY_METHOD, (st), (val), (i)) -#define sk_EVP_PKEY_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(EVP_PKEY_METHOD, (st), (cmp)) -#define sk_EVP_PKEY_METHOD_dup(st) SKM_sk_dup(EVP_PKEY_METHOD, st) -#define sk_EVP_PKEY_METHOD_pop_free(st, free_func) SKM_sk_pop_free(EVP_PKEY_METHOD, (st), (free_func)) -#define sk_EVP_PKEY_METHOD_shift(st) SKM_sk_shift(EVP_PKEY_METHOD, (st)) -#define sk_EVP_PKEY_METHOD_pop(st) SKM_sk_pop(EVP_PKEY_METHOD, (st)) -#define sk_EVP_PKEY_METHOD_sort(st) SKM_sk_sort(EVP_PKEY_METHOD, (st)) -#define sk_EVP_PKEY_METHOD_is_sorted(st) SKM_sk_is_sorted(EVP_PKEY_METHOD, (st)) - -#define sk_GENERAL_NAME_new(cmp) SKM_sk_new(GENERAL_NAME, (cmp)) -#define sk_GENERAL_NAME_new_null() SKM_sk_new_null(GENERAL_NAME) -#define sk_GENERAL_NAME_free(st) SKM_sk_free(GENERAL_NAME, (st)) -#define sk_GENERAL_NAME_num(st) SKM_sk_num(GENERAL_NAME, (st)) -#define sk_GENERAL_NAME_value(st, i) SKM_sk_value(GENERAL_NAME, (st), (i)) -#define sk_GENERAL_NAME_set(st, i, val) SKM_sk_set(GENERAL_NAME, (st), (i), (val)) -#define sk_GENERAL_NAME_zero(st) SKM_sk_zero(GENERAL_NAME, (st)) -#define sk_GENERAL_NAME_push(st, val) SKM_sk_push(GENERAL_NAME, (st), (val)) -#define sk_GENERAL_NAME_unshift(st, val) SKM_sk_unshift(GENERAL_NAME, (st), (val)) -#define sk_GENERAL_NAME_find(st, val) SKM_sk_find(GENERAL_NAME, (st), (val)) -#define sk_GENERAL_NAME_find_ex(st, val) SKM_sk_find_ex(GENERAL_NAME, (st), (val)) -#define sk_GENERAL_NAME_delete(st, i) SKM_sk_delete(GENERAL_NAME, (st), (i)) -#define sk_GENERAL_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAME, (st), (ptr)) -#define sk_GENERAL_NAME_insert(st, val, i) SKM_sk_insert(GENERAL_NAME, (st), (val), (i)) -#define sk_GENERAL_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAME, (st), (cmp)) -#define sk_GENERAL_NAME_dup(st) SKM_sk_dup(GENERAL_NAME, st) -#define sk_GENERAL_NAME_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAME, (st), (free_func)) -#define sk_GENERAL_NAME_shift(st) SKM_sk_shift(GENERAL_NAME, (st)) -#define sk_GENERAL_NAME_pop(st) SKM_sk_pop(GENERAL_NAME, (st)) -#define sk_GENERAL_NAME_sort(st) SKM_sk_sort(GENERAL_NAME, (st)) -#define sk_GENERAL_NAME_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAME, (st)) - -#define sk_GENERAL_NAMES_new(cmp) SKM_sk_new(GENERAL_NAMES, (cmp)) -#define sk_GENERAL_NAMES_new_null() SKM_sk_new_null(GENERAL_NAMES) -#define sk_GENERAL_NAMES_free(st) SKM_sk_free(GENERAL_NAMES, (st)) -#define sk_GENERAL_NAMES_num(st) SKM_sk_num(GENERAL_NAMES, (st)) -#define sk_GENERAL_NAMES_value(st, i) SKM_sk_value(GENERAL_NAMES, (st), (i)) -#define sk_GENERAL_NAMES_set(st, i, val) SKM_sk_set(GENERAL_NAMES, (st), (i), (val)) -#define sk_GENERAL_NAMES_zero(st) SKM_sk_zero(GENERAL_NAMES, (st)) -#define sk_GENERAL_NAMES_push(st, val) SKM_sk_push(GENERAL_NAMES, (st), (val)) -#define sk_GENERAL_NAMES_unshift(st, val) SKM_sk_unshift(GENERAL_NAMES, (st), (val)) -#define sk_GENERAL_NAMES_find(st, val) SKM_sk_find(GENERAL_NAMES, (st), (val)) -#define sk_GENERAL_NAMES_find_ex(st, val) SKM_sk_find_ex(GENERAL_NAMES, (st), (val)) -#define sk_GENERAL_NAMES_delete(st, i) SKM_sk_delete(GENERAL_NAMES, (st), (i)) -#define sk_GENERAL_NAMES_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_NAMES, (st), (ptr)) -#define sk_GENERAL_NAMES_insert(st, val, i) SKM_sk_insert(GENERAL_NAMES, (st), (val), (i)) -#define sk_GENERAL_NAMES_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_NAMES, (st), (cmp)) -#define sk_GENERAL_NAMES_dup(st) SKM_sk_dup(GENERAL_NAMES, st) -#define sk_GENERAL_NAMES_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_NAMES, (st), (free_func)) -#define sk_GENERAL_NAMES_shift(st) SKM_sk_shift(GENERAL_NAMES, (st)) -#define sk_GENERAL_NAMES_pop(st) SKM_sk_pop(GENERAL_NAMES, (st)) -#define sk_GENERAL_NAMES_sort(st) SKM_sk_sort(GENERAL_NAMES, (st)) -#define sk_GENERAL_NAMES_is_sorted(st) SKM_sk_is_sorted(GENERAL_NAMES, (st)) - -#define sk_GENERAL_SUBTREE_new(cmp) SKM_sk_new(GENERAL_SUBTREE, (cmp)) -#define sk_GENERAL_SUBTREE_new_null() SKM_sk_new_null(GENERAL_SUBTREE) -#define sk_GENERAL_SUBTREE_free(st) SKM_sk_free(GENERAL_SUBTREE, (st)) -#define sk_GENERAL_SUBTREE_num(st) SKM_sk_num(GENERAL_SUBTREE, (st)) -#define sk_GENERAL_SUBTREE_value(st, i) SKM_sk_value(GENERAL_SUBTREE, (st), (i)) -#define sk_GENERAL_SUBTREE_set(st, i, val) SKM_sk_set(GENERAL_SUBTREE, (st), (i), (val)) -#define sk_GENERAL_SUBTREE_zero(st) SKM_sk_zero(GENERAL_SUBTREE, (st)) -#define sk_GENERAL_SUBTREE_push(st, val) SKM_sk_push(GENERAL_SUBTREE, (st), (val)) -#define sk_GENERAL_SUBTREE_unshift(st, val) SKM_sk_unshift(GENERAL_SUBTREE, (st), (val)) -#define sk_GENERAL_SUBTREE_find(st, val) SKM_sk_find(GENERAL_SUBTREE, (st), (val)) -#define sk_GENERAL_SUBTREE_find_ex(st, val) SKM_sk_find_ex(GENERAL_SUBTREE, (st), (val)) -#define sk_GENERAL_SUBTREE_delete(st, i) SKM_sk_delete(GENERAL_SUBTREE, (st), (i)) -#define sk_GENERAL_SUBTREE_delete_ptr(st, ptr) SKM_sk_delete_ptr(GENERAL_SUBTREE, (st), (ptr)) -#define sk_GENERAL_SUBTREE_insert(st, val, i) SKM_sk_insert(GENERAL_SUBTREE, (st), (val), (i)) -#define sk_GENERAL_SUBTREE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(GENERAL_SUBTREE, (st), (cmp)) -#define sk_GENERAL_SUBTREE_dup(st) SKM_sk_dup(GENERAL_SUBTREE, st) -#define sk_GENERAL_SUBTREE_pop_free(st, free_func) SKM_sk_pop_free(GENERAL_SUBTREE, (st), (free_func)) -#define sk_GENERAL_SUBTREE_shift(st) SKM_sk_shift(GENERAL_SUBTREE, (st)) -#define sk_GENERAL_SUBTREE_pop(st) SKM_sk_pop(GENERAL_SUBTREE, (st)) -#define sk_GENERAL_SUBTREE_sort(st) SKM_sk_sort(GENERAL_SUBTREE, (st)) -#define sk_GENERAL_SUBTREE_is_sorted(st) SKM_sk_is_sorted(GENERAL_SUBTREE, (st)) - -#define sk_IPAddressFamily_new(cmp) SKM_sk_new(IPAddressFamily, (cmp)) -#define sk_IPAddressFamily_new_null() SKM_sk_new_null(IPAddressFamily) -#define sk_IPAddressFamily_free(st) SKM_sk_free(IPAddressFamily, (st)) -#define sk_IPAddressFamily_num(st) SKM_sk_num(IPAddressFamily, (st)) -#define sk_IPAddressFamily_value(st, i) SKM_sk_value(IPAddressFamily, (st), (i)) -#define sk_IPAddressFamily_set(st, i, val) SKM_sk_set(IPAddressFamily, (st), (i), (val)) -#define sk_IPAddressFamily_zero(st) SKM_sk_zero(IPAddressFamily, (st)) -#define sk_IPAddressFamily_push(st, val) SKM_sk_push(IPAddressFamily, (st), (val)) -#define sk_IPAddressFamily_unshift(st, val) SKM_sk_unshift(IPAddressFamily, (st), (val)) -#define sk_IPAddressFamily_find(st, val) SKM_sk_find(IPAddressFamily, (st), (val)) -#define sk_IPAddressFamily_find_ex(st, val) SKM_sk_find_ex(IPAddressFamily, (st), (val)) -#define sk_IPAddressFamily_delete(st, i) SKM_sk_delete(IPAddressFamily, (st), (i)) -#define sk_IPAddressFamily_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressFamily, (st), (ptr)) -#define sk_IPAddressFamily_insert(st, val, i) SKM_sk_insert(IPAddressFamily, (st), (val), (i)) -#define sk_IPAddressFamily_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressFamily, (st), (cmp)) -#define sk_IPAddressFamily_dup(st) SKM_sk_dup(IPAddressFamily, st) -#define sk_IPAddressFamily_pop_free(st, free_func) SKM_sk_pop_free(IPAddressFamily, (st), (free_func)) -#define sk_IPAddressFamily_shift(st) SKM_sk_shift(IPAddressFamily, (st)) -#define sk_IPAddressFamily_pop(st) SKM_sk_pop(IPAddressFamily, (st)) -#define sk_IPAddressFamily_sort(st) SKM_sk_sort(IPAddressFamily, (st)) -#define sk_IPAddressFamily_is_sorted(st) SKM_sk_is_sorted(IPAddressFamily, (st)) - -#define sk_IPAddressOrRange_new(cmp) SKM_sk_new(IPAddressOrRange, (cmp)) -#define sk_IPAddressOrRange_new_null() SKM_sk_new_null(IPAddressOrRange) -#define sk_IPAddressOrRange_free(st) SKM_sk_free(IPAddressOrRange, (st)) -#define sk_IPAddressOrRange_num(st) SKM_sk_num(IPAddressOrRange, (st)) -#define sk_IPAddressOrRange_value(st, i) SKM_sk_value(IPAddressOrRange, (st), (i)) -#define sk_IPAddressOrRange_set(st, i, val) SKM_sk_set(IPAddressOrRange, (st), (i), (val)) -#define sk_IPAddressOrRange_zero(st) SKM_sk_zero(IPAddressOrRange, (st)) -#define sk_IPAddressOrRange_push(st, val) SKM_sk_push(IPAddressOrRange, (st), (val)) -#define sk_IPAddressOrRange_unshift(st, val) SKM_sk_unshift(IPAddressOrRange, (st), (val)) -#define sk_IPAddressOrRange_find(st, val) SKM_sk_find(IPAddressOrRange, (st), (val)) -#define sk_IPAddressOrRange_find_ex(st, val) SKM_sk_find_ex(IPAddressOrRange, (st), (val)) -#define sk_IPAddressOrRange_delete(st, i) SKM_sk_delete(IPAddressOrRange, (st), (i)) -#define sk_IPAddressOrRange_delete_ptr(st, ptr) SKM_sk_delete_ptr(IPAddressOrRange, (st), (ptr)) -#define sk_IPAddressOrRange_insert(st, val, i) SKM_sk_insert(IPAddressOrRange, (st), (val), (i)) -#define sk_IPAddressOrRange_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(IPAddressOrRange, (st), (cmp)) -#define sk_IPAddressOrRange_dup(st) SKM_sk_dup(IPAddressOrRange, st) -#define sk_IPAddressOrRange_pop_free(st, free_func) SKM_sk_pop_free(IPAddressOrRange, (st), (free_func)) -#define sk_IPAddressOrRange_shift(st) SKM_sk_shift(IPAddressOrRange, (st)) -#define sk_IPAddressOrRange_pop(st) SKM_sk_pop(IPAddressOrRange, (st)) -#define sk_IPAddressOrRange_sort(st) SKM_sk_sort(IPAddressOrRange, (st)) -#define sk_IPAddressOrRange_is_sorted(st) SKM_sk_is_sorted(IPAddressOrRange, (st)) - -#define sk_KRB5_APREQBODY_new(cmp) SKM_sk_new(KRB5_APREQBODY, (cmp)) -#define sk_KRB5_APREQBODY_new_null() SKM_sk_new_null(KRB5_APREQBODY) -#define sk_KRB5_APREQBODY_free(st) SKM_sk_free(KRB5_APREQBODY, (st)) -#define sk_KRB5_APREQBODY_num(st) SKM_sk_num(KRB5_APREQBODY, (st)) -#define sk_KRB5_APREQBODY_value(st, i) SKM_sk_value(KRB5_APREQBODY, (st), (i)) -#define sk_KRB5_APREQBODY_set(st, i, val) SKM_sk_set(KRB5_APREQBODY, (st), (i), (val)) -#define sk_KRB5_APREQBODY_zero(st) SKM_sk_zero(KRB5_APREQBODY, (st)) -#define sk_KRB5_APREQBODY_push(st, val) SKM_sk_push(KRB5_APREQBODY, (st), (val)) -#define sk_KRB5_APREQBODY_unshift(st, val) SKM_sk_unshift(KRB5_APREQBODY, (st), (val)) -#define sk_KRB5_APREQBODY_find(st, val) SKM_sk_find(KRB5_APREQBODY, (st), (val)) -#define sk_KRB5_APREQBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_APREQBODY, (st), (val)) -#define sk_KRB5_APREQBODY_delete(st, i) SKM_sk_delete(KRB5_APREQBODY, (st), (i)) -#define sk_KRB5_APREQBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_APREQBODY, (st), (ptr)) -#define sk_KRB5_APREQBODY_insert(st, val, i) SKM_sk_insert(KRB5_APREQBODY, (st), (val), (i)) -#define sk_KRB5_APREQBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_APREQBODY, (st), (cmp)) -#define sk_KRB5_APREQBODY_dup(st) SKM_sk_dup(KRB5_APREQBODY, st) -#define sk_KRB5_APREQBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_APREQBODY, (st), (free_func)) -#define sk_KRB5_APREQBODY_shift(st) SKM_sk_shift(KRB5_APREQBODY, (st)) -#define sk_KRB5_APREQBODY_pop(st) SKM_sk_pop(KRB5_APREQBODY, (st)) -#define sk_KRB5_APREQBODY_sort(st) SKM_sk_sort(KRB5_APREQBODY, (st)) -#define sk_KRB5_APREQBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_APREQBODY, (st)) - -#define sk_KRB5_AUTHDATA_new(cmp) SKM_sk_new(KRB5_AUTHDATA, (cmp)) -#define sk_KRB5_AUTHDATA_new_null() SKM_sk_new_null(KRB5_AUTHDATA) -#define sk_KRB5_AUTHDATA_free(st) SKM_sk_free(KRB5_AUTHDATA, (st)) -#define sk_KRB5_AUTHDATA_num(st) SKM_sk_num(KRB5_AUTHDATA, (st)) -#define sk_KRB5_AUTHDATA_value(st, i) SKM_sk_value(KRB5_AUTHDATA, (st), (i)) -#define sk_KRB5_AUTHDATA_set(st, i, val) SKM_sk_set(KRB5_AUTHDATA, (st), (i), (val)) -#define sk_KRB5_AUTHDATA_zero(st) SKM_sk_zero(KRB5_AUTHDATA, (st)) -#define sk_KRB5_AUTHDATA_push(st, val) SKM_sk_push(KRB5_AUTHDATA, (st), (val)) -#define sk_KRB5_AUTHDATA_unshift(st, val) SKM_sk_unshift(KRB5_AUTHDATA, (st), (val)) -#define sk_KRB5_AUTHDATA_find(st, val) SKM_sk_find(KRB5_AUTHDATA, (st), (val)) -#define sk_KRB5_AUTHDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHDATA, (st), (val)) -#define sk_KRB5_AUTHDATA_delete(st, i) SKM_sk_delete(KRB5_AUTHDATA, (st), (i)) -#define sk_KRB5_AUTHDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHDATA, (st), (ptr)) -#define sk_KRB5_AUTHDATA_insert(st, val, i) SKM_sk_insert(KRB5_AUTHDATA, (st), (val), (i)) -#define sk_KRB5_AUTHDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHDATA, (st), (cmp)) -#define sk_KRB5_AUTHDATA_dup(st) SKM_sk_dup(KRB5_AUTHDATA, st) -#define sk_KRB5_AUTHDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHDATA, (st), (free_func)) -#define sk_KRB5_AUTHDATA_shift(st) SKM_sk_shift(KRB5_AUTHDATA, (st)) -#define sk_KRB5_AUTHDATA_pop(st) SKM_sk_pop(KRB5_AUTHDATA, (st)) -#define sk_KRB5_AUTHDATA_sort(st) SKM_sk_sort(KRB5_AUTHDATA, (st)) -#define sk_KRB5_AUTHDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHDATA, (st)) - -#define sk_KRB5_AUTHENTBODY_new(cmp) SKM_sk_new(KRB5_AUTHENTBODY, (cmp)) -#define sk_KRB5_AUTHENTBODY_new_null() SKM_sk_new_null(KRB5_AUTHENTBODY) -#define sk_KRB5_AUTHENTBODY_free(st) SKM_sk_free(KRB5_AUTHENTBODY, (st)) -#define sk_KRB5_AUTHENTBODY_num(st) SKM_sk_num(KRB5_AUTHENTBODY, (st)) -#define sk_KRB5_AUTHENTBODY_value(st, i) SKM_sk_value(KRB5_AUTHENTBODY, (st), (i)) -#define sk_KRB5_AUTHENTBODY_set(st, i, val) SKM_sk_set(KRB5_AUTHENTBODY, (st), (i), (val)) -#define sk_KRB5_AUTHENTBODY_zero(st) SKM_sk_zero(KRB5_AUTHENTBODY, (st)) -#define sk_KRB5_AUTHENTBODY_push(st, val) SKM_sk_push(KRB5_AUTHENTBODY, (st), (val)) -#define sk_KRB5_AUTHENTBODY_unshift(st, val) SKM_sk_unshift(KRB5_AUTHENTBODY, (st), (val)) -#define sk_KRB5_AUTHENTBODY_find(st, val) SKM_sk_find(KRB5_AUTHENTBODY, (st), (val)) -#define sk_KRB5_AUTHENTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_AUTHENTBODY, (st), (val)) -#define sk_KRB5_AUTHENTBODY_delete(st, i) SKM_sk_delete(KRB5_AUTHENTBODY, (st), (i)) -#define sk_KRB5_AUTHENTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_AUTHENTBODY, (st), (ptr)) -#define sk_KRB5_AUTHENTBODY_insert(st, val, i) SKM_sk_insert(KRB5_AUTHENTBODY, (st), (val), (i)) -#define sk_KRB5_AUTHENTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_AUTHENTBODY, (st), (cmp)) -#define sk_KRB5_AUTHENTBODY_dup(st) SKM_sk_dup(KRB5_AUTHENTBODY, st) -#define sk_KRB5_AUTHENTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_AUTHENTBODY, (st), (free_func)) -#define sk_KRB5_AUTHENTBODY_shift(st) SKM_sk_shift(KRB5_AUTHENTBODY, (st)) -#define sk_KRB5_AUTHENTBODY_pop(st) SKM_sk_pop(KRB5_AUTHENTBODY, (st)) -#define sk_KRB5_AUTHENTBODY_sort(st) SKM_sk_sort(KRB5_AUTHENTBODY, (st)) -#define sk_KRB5_AUTHENTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_AUTHENTBODY, (st)) - -#define sk_KRB5_CHECKSUM_new(cmp) SKM_sk_new(KRB5_CHECKSUM, (cmp)) -#define sk_KRB5_CHECKSUM_new_null() SKM_sk_new_null(KRB5_CHECKSUM) -#define sk_KRB5_CHECKSUM_free(st) SKM_sk_free(KRB5_CHECKSUM, (st)) -#define sk_KRB5_CHECKSUM_num(st) SKM_sk_num(KRB5_CHECKSUM, (st)) -#define sk_KRB5_CHECKSUM_value(st, i) SKM_sk_value(KRB5_CHECKSUM, (st), (i)) -#define sk_KRB5_CHECKSUM_set(st, i, val) SKM_sk_set(KRB5_CHECKSUM, (st), (i), (val)) -#define sk_KRB5_CHECKSUM_zero(st) SKM_sk_zero(KRB5_CHECKSUM, (st)) -#define sk_KRB5_CHECKSUM_push(st, val) SKM_sk_push(KRB5_CHECKSUM, (st), (val)) -#define sk_KRB5_CHECKSUM_unshift(st, val) SKM_sk_unshift(KRB5_CHECKSUM, (st), (val)) -#define sk_KRB5_CHECKSUM_find(st, val) SKM_sk_find(KRB5_CHECKSUM, (st), (val)) -#define sk_KRB5_CHECKSUM_find_ex(st, val) SKM_sk_find_ex(KRB5_CHECKSUM, (st), (val)) -#define sk_KRB5_CHECKSUM_delete(st, i) SKM_sk_delete(KRB5_CHECKSUM, (st), (i)) -#define sk_KRB5_CHECKSUM_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_CHECKSUM, (st), (ptr)) -#define sk_KRB5_CHECKSUM_insert(st, val, i) SKM_sk_insert(KRB5_CHECKSUM, (st), (val), (i)) -#define sk_KRB5_CHECKSUM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_CHECKSUM, (st), (cmp)) -#define sk_KRB5_CHECKSUM_dup(st) SKM_sk_dup(KRB5_CHECKSUM, st) -#define sk_KRB5_CHECKSUM_pop_free(st, free_func) SKM_sk_pop_free(KRB5_CHECKSUM, (st), (free_func)) -#define sk_KRB5_CHECKSUM_shift(st) SKM_sk_shift(KRB5_CHECKSUM, (st)) -#define sk_KRB5_CHECKSUM_pop(st) SKM_sk_pop(KRB5_CHECKSUM, (st)) -#define sk_KRB5_CHECKSUM_sort(st) SKM_sk_sort(KRB5_CHECKSUM, (st)) -#define sk_KRB5_CHECKSUM_is_sorted(st) SKM_sk_is_sorted(KRB5_CHECKSUM, (st)) - -#define sk_KRB5_ENCDATA_new(cmp) SKM_sk_new(KRB5_ENCDATA, (cmp)) -#define sk_KRB5_ENCDATA_new_null() SKM_sk_new_null(KRB5_ENCDATA) -#define sk_KRB5_ENCDATA_free(st) SKM_sk_free(KRB5_ENCDATA, (st)) -#define sk_KRB5_ENCDATA_num(st) SKM_sk_num(KRB5_ENCDATA, (st)) -#define sk_KRB5_ENCDATA_value(st, i) SKM_sk_value(KRB5_ENCDATA, (st), (i)) -#define sk_KRB5_ENCDATA_set(st, i, val) SKM_sk_set(KRB5_ENCDATA, (st), (i), (val)) -#define sk_KRB5_ENCDATA_zero(st) SKM_sk_zero(KRB5_ENCDATA, (st)) -#define sk_KRB5_ENCDATA_push(st, val) SKM_sk_push(KRB5_ENCDATA, (st), (val)) -#define sk_KRB5_ENCDATA_unshift(st, val) SKM_sk_unshift(KRB5_ENCDATA, (st), (val)) -#define sk_KRB5_ENCDATA_find(st, val) SKM_sk_find(KRB5_ENCDATA, (st), (val)) -#define sk_KRB5_ENCDATA_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCDATA, (st), (val)) -#define sk_KRB5_ENCDATA_delete(st, i) SKM_sk_delete(KRB5_ENCDATA, (st), (i)) -#define sk_KRB5_ENCDATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCDATA, (st), (ptr)) -#define sk_KRB5_ENCDATA_insert(st, val, i) SKM_sk_insert(KRB5_ENCDATA, (st), (val), (i)) -#define sk_KRB5_ENCDATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCDATA, (st), (cmp)) -#define sk_KRB5_ENCDATA_dup(st) SKM_sk_dup(KRB5_ENCDATA, st) -#define sk_KRB5_ENCDATA_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCDATA, (st), (free_func)) -#define sk_KRB5_ENCDATA_shift(st) SKM_sk_shift(KRB5_ENCDATA, (st)) -#define sk_KRB5_ENCDATA_pop(st) SKM_sk_pop(KRB5_ENCDATA, (st)) -#define sk_KRB5_ENCDATA_sort(st) SKM_sk_sort(KRB5_ENCDATA, (st)) -#define sk_KRB5_ENCDATA_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCDATA, (st)) - -#define sk_KRB5_ENCKEY_new(cmp) SKM_sk_new(KRB5_ENCKEY, (cmp)) -#define sk_KRB5_ENCKEY_new_null() SKM_sk_new_null(KRB5_ENCKEY) -#define sk_KRB5_ENCKEY_free(st) SKM_sk_free(KRB5_ENCKEY, (st)) -#define sk_KRB5_ENCKEY_num(st) SKM_sk_num(KRB5_ENCKEY, (st)) -#define sk_KRB5_ENCKEY_value(st, i) SKM_sk_value(KRB5_ENCKEY, (st), (i)) -#define sk_KRB5_ENCKEY_set(st, i, val) SKM_sk_set(KRB5_ENCKEY, (st), (i), (val)) -#define sk_KRB5_ENCKEY_zero(st) SKM_sk_zero(KRB5_ENCKEY, (st)) -#define sk_KRB5_ENCKEY_push(st, val) SKM_sk_push(KRB5_ENCKEY, (st), (val)) -#define sk_KRB5_ENCKEY_unshift(st, val) SKM_sk_unshift(KRB5_ENCKEY, (st), (val)) -#define sk_KRB5_ENCKEY_find(st, val) SKM_sk_find(KRB5_ENCKEY, (st), (val)) -#define sk_KRB5_ENCKEY_find_ex(st, val) SKM_sk_find_ex(KRB5_ENCKEY, (st), (val)) -#define sk_KRB5_ENCKEY_delete(st, i) SKM_sk_delete(KRB5_ENCKEY, (st), (i)) -#define sk_KRB5_ENCKEY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_ENCKEY, (st), (ptr)) -#define sk_KRB5_ENCKEY_insert(st, val, i) SKM_sk_insert(KRB5_ENCKEY, (st), (val), (i)) -#define sk_KRB5_ENCKEY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_ENCKEY, (st), (cmp)) -#define sk_KRB5_ENCKEY_dup(st) SKM_sk_dup(KRB5_ENCKEY, st) -#define sk_KRB5_ENCKEY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_ENCKEY, (st), (free_func)) -#define sk_KRB5_ENCKEY_shift(st) SKM_sk_shift(KRB5_ENCKEY, (st)) -#define sk_KRB5_ENCKEY_pop(st) SKM_sk_pop(KRB5_ENCKEY, (st)) -#define sk_KRB5_ENCKEY_sort(st) SKM_sk_sort(KRB5_ENCKEY, (st)) -#define sk_KRB5_ENCKEY_is_sorted(st) SKM_sk_is_sorted(KRB5_ENCKEY, (st)) - -#define sk_KRB5_PRINCNAME_new(cmp) SKM_sk_new(KRB5_PRINCNAME, (cmp)) -#define sk_KRB5_PRINCNAME_new_null() SKM_sk_new_null(KRB5_PRINCNAME) -#define sk_KRB5_PRINCNAME_free(st) SKM_sk_free(KRB5_PRINCNAME, (st)) -#define sk_KRB5_PRINCNAME_num(st) SKM_sk_num(KRB5_PRINCNAME, (st)) -#define sk_KRB5_PRINCNAME_value(st, i) SKM_sk_value(KRB5_PRINCNAME, (st), (i)) -#define sk_KRB5_PRINCNAME_set(st, i, val) SKM_sk_set(KRB5_PRINCNAME, (st), (i), (val)) -#define sk_KRB5_PRINCNAME_zero(st) SKM_sk_zero(KRB5_PRINCNAME, (st)) -#define sk_KRB5_PRINCNAME_push(st, val) SKM_sk_push(KRB5_PRINCNAME, (st), (val)) -#define sk_KRB5_PRINCNAME_unshift(st, val) SKM_sk_unshift(KRB5_PRINCNAME, (st), (val)) -#define sk_KRB5_PRINCNAME_find(st, val) SKM_sk_find(KRB5_PRINCNAME, (st), (val)) -#define sk_KRB5_PRINCNAME_find_ex(st, val) SKM_sk_find_ex(KRB5_PRINCNAME, (st), (val)) -#define sk_KRB5_PRINCNAME_delete(st, i) SKM_sk_delete(KRB5_PRINCNAME, (st), (i)) -#define sk_KRB5_PRINCNAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_PRINCNAME, (st), (ptr)) -#define sk_KRB5_PRINCNAME_insert(st, val, i) SKM_sk_insert(KRB5_PRINCNAME, (st), (val), (i)) -#define sk_KRB5_PRINCNAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_PRINCNAME, (st), (cmp)) -#define sk_KRB5_PRINCNAME_dup(st) SKM_sk_dup(KRB5_PRINCNAME, st) -#define sk_KRB5_PRINCNAME_pop_free(st, free_func) SKM_sk_pop_free(KRB5_PRINCNAME, (st), (free_func)) -#define sk_KRB5_PRINCNAME_shift(st) SKM_sk_shift(KRB5_PRINCNAME, (st)) -#define sk_KRB5_PRINCNAME_pop(st) SKM_sk_pop(KRB5_PRINCNAME, (st)) -#define sk_KRB5_PRINCNAME_sort(st) SKM_sk_sort(KRB5_PRINCNAME, (st)) -#define sk_KRB5_PRINCNAME_is_sorted(st) SKM_sk_is_sorted(KRB5_PRINCNAME, (st)) - -#define sk_KRB5_TKTBODY_new(cmp) SKM_sk_new(KRB5_TKTBODY, (cmp)) -#define sk_KRB5_TKTBODY_new_null() SKM_sk_new_null(KRB5_TKTBODY) -#define sk_KRB5_TKTBODY_free(st) SKM_sk_free(KRB5_TKTBODY, (st)) -#define sk_KRB5_TKTBODY_num(st) SKM_sk_num(KRB5_TKTBODY, (st)) -#define sk_KRB5_TKTBODY_value(st, i) SKM_sk_value(KRB5_TKTBODY, (st), (i)) -#define sk_KRB5_TKTBODY_set(st, i, val) SKM_sk_set(KRB5_TKTBODY, (st), (i), (val)) -#define sk_KRB5_TKTBODY_zero(st) SKM_sk_zero(KRB5_TKTBODY, (st)) -#define sk_KRB5_TKTBODY_push(st, val) SKM_sk_push(KRB5_TKTBODY, (st), (val)) -#define sk_KRB5_TKTBODY_unshift(st, val) SKM_sk_unshift(KRB5_TKTBODY, (st), (val)) -#define sk_KRB5_TKTBODY_find(st, val) SKM_sk_find(KRB5_TKTBODY, (st), (val)) -#define sk_KRB5_TKTBODY_find_ex(st, val) SKM_sk_find_ex(KRB5_TKTBODY, (st), (val)) -#define sk_KRB5_TKTBODY_delete(st, i) SKM_sk_delete(KRB5_TKTBODY, (st), (i)) -#define sk_KRB5_TKTBODY_delete_ptr(st, ptr) SKM_sk_delete_ptr(KRB5_TKTBODY, (st), (ptr)) -#define sk_KRB5_TKTBODY_insert(st, val, i) SKM_sk_insert(KRB5_TKTBODY, (st), (val), (i)) -#define sk_KRB5_TKTBODY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(KRB5_TKTBODY, (st), (cmp)) -#define sk_KRB5_TKTBODY_dup(st) SKM_sk_dup(KRB5_TKTBODY, st) -#define sk_KRB5_TKTBODY_pop_free(st, free_func) SKM_sk_pop_free(KRB5_TKTBODY, (st), (free_func)) -#define sk_KRB5_TKTBODY_shift(st) SKM_sk_shift(KRB5_TKTBODY, (st)) -#define sk_KRB5_TKTBODY_pop(st) SKM_sk_pop(KRB5_TKTBODY, (st)) -#define sk_KRB5_TKTBODY_sort(st) SKM_sk_sort(KRB5_TKTBODY, (st)) -#define sk_KRB5_TKTBODY_is_sorted(st) SKM_sk_is_sorted(KRB5_TKTBODY, (st)) - -#define sk_MEM_OBJECT_DATA_new(cmp) SKM_sk_new(MEM_OBJECT_DATA, (cmp)) -#define sk_MEM_OBJECT_DATA_new_null() SKM_sk_new_null(MEM_OBJECT_DATA) -#define sk_MEM_OBJECT_DATA_free(st) SKM_sk_free(MEM_OBJECT_DATA, (st)) -#define sk_MEM_OBJECT_DATA_num(st) SKM_sk_num(MEM_OBJECT_DATA, (st)) -#define sk_MEM_OBJECT_DATA_value(st, i) SKM_sk_value(MEM_OBJECT_DATA, (st), (i)) -#define sk_MEM_OBJECT_DATA_set(st, i, val) SKM_sk_set(MEM_OBJECT_DATA, (st), (i), (val)) -#define sk_MEM_OBJECT_DATA_zero(st) SKM_sk_zero(MEM_OBJECT_DATA, (st)) -#define sk_MEM_OBJECT_DATA_push(st, val) SKM_sk_push(MEM_OBJECT_DATA, (st), (val)) -#define sk_MEM_OBJECT_DATA_unshift(st, val) SKM_sk_unshift(MEM_OBJECT_DATA, (st), (val)) -#define sk_MEM_OBJECT_DATA_find(st, val) SKM_sk_find(MEM_OBJECT_DATA, (st), (val)) -#define sk_MEM_OBJECT_DATA_find_ex(st, val) SKM_sk_find_ex(MEM_OBJECT_DATA, (st), (val)) -#define sk_MEM_OBJECT_DATA_delete(st, i) SKM_sk_delete(MEM_OBJECT_DATA, (st), (i)) -#define sk_MEM_OBJECT_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(MEM_OBJECT_DATA, (st), (ptr)) -#define sk_MEM_OBJECT_DATA_insert(st, val, i) SKM_sk_insert(MEM_OBJECT_DATA, (st), (val), (i)) -#define sk_MEM_OBJECT_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MEM_OBJECT_DATA, (st), (cmp)) -#define sk_MEM_OBJECT_DATA_dup(st) SKM_sk_dup(MEM_OBJECT_DATA, st) -#define sk_MEM_OBJECT_DATA_pop_free(st, free_func) SKM_sk_pop_free(MEM_OBJECT_DATA, (st), (free_func)) -#define sk_MEM_OBJECT_DATA_shift(st) SKM_sk_shift(MEM_OBJECT_DATA, (st)) -#define sk_MEM_OBJECT_DATA_pop(st) SKM_sk_pop(MEM_OBJECT_DATA, (st)) -#define sk_MEM_OBJECT_DATA_sort(st) SKM_sk_sort(MEM_OBJECT_DATA, (st)) -#define sk_MEM_OBJECT_DATA_is_sorted(st) SKM_sk_is_sorted(MEM_OBJECT_DATA, (st)) - -#define sk_MIME_HEADER_new(cmp) SKM_sk_new(MIME_HEADER, (cmp)) -#define sk_MIME_HEADER_new_null() SKM_sk_new_null(MIME_HEADER) -#define sk_MIME_HEADER_free(st) SKM_sk_free(MIME_HEADER, (st)) -#define sk_MIME_HEADER_num(st) SKM_sk_num(MIME_HEADER, (st)) -#define sk_MIME_HEADER_value(st, i) SKM_sk_value(MIME_HEADER, (st), (i)) -#define sk_MIME_HEADER_set(st, i, val) SKM_sk_set(MIME_HEADER, (st), (i), (val)) -#define sk_MIME_HEADER_zero(st) SKM_sk_zero(MIME_HEADER, (st)) -#define sk_MIME_HEADER_push(st, val) SKM_sk_push(MIME_HEADER, (st), (val)) -#define sk_MIME_HEADER_unshift(st, val) SKM_sk_unshift(MIME_HEADER, (st), (val)) -#define sk_MIME_HEADER_find(st, val) SKM_sk_find(MIME_HEADER, (st), (val)) -#define sk_MIME_HEADER_find_ex(st, val) SKM_sk_find_ex(MIME_HEADER, (st), (val)) -#define sk_MIME_HEADER_delete(st, i) SKM_sk_delete(MIME_HEADER, (st), (i)) -#define sk_MIME_HEADER_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_HEADER, (st), (ptr)) -#define sk_MIME_HEADER_insert(st, val, i) SKM_sk_insert(MIME_HEADER, (st), (val), (i)) -#define sk_MIME_HEADER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_HEADER, (st), (cmp)) -#define sk_MIME_HEADER_dup(st) SKM_sk_dup(MIME_HEADER, st) -#define sk_MIME_HEADER_pop_free(st, free_func) SKM_sk_pop_free(MIME_HEADER, (st), (free_func)) -#define sk_MIME_HEADER_shift(st) SKM_sk_shift(MIME_HEADER, (st)) -#define sk_MIME_HEADER_pop(st) SKM_sk_pop(MIME_HEADER, (st)) -#define sk_MIME_HEADER_sort(st) SKM_sk_sort(MIME_HEADER, (st)) -#define sk_MIME_HEADER_is_sorted(st) SKM_sk_is_sorted(MIME_HEADER, (st)) - -#define sk_MIME_PARAM_new(cmp) SKM_sk_new(MIME_PARAM, (cmp)) -#define sk_MIME_PARAM_new_null() SKM_sk_new_null(MIME_PARAM) -#define sk_MIME_PARAM_free(st) SKM_sk_free(MIME_PARAM, (st)) -#define sk_MIME_PARAM_num(st) SKM_sk_num(MIME_PARAM, (st)) -#define sk_MIME_PARAM_value(st, i) SKM_sk_value(MIME_PARAM, (st), (i)) -#define sk_MIME_PARAM_set(st, i, val) SKM_sk_set(MIME_PARAM, (st), (i), (val)) -#define sk_MIME_PARAM_zero(st) SKM_sk_zero(MIME_PARAM, (st)) -#define sk_MIME_PARAM_push(st, val) SKM_sk_push(MIME_PARAM, (st), (val)) -#define sk_MIME_PARAM_unshift(st, val) SKM_sk_unshift(MIME_PARAM, (st), (val)) -#define sk_MIME_PARAM_find(st, val) SKM_sk_find(MIME_PARAM, (st), (val)) -#define sk_MIME_PARAM_find_ex(st, val) SKM_sk_find_ex(MIME_PARAM, (st), (val)) -#define sk_MIME_PARAM_delete(st, i) SKM_sk_delete(MIME_PARAM, (st), (i)) -#define sk_MIME_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(MIME_PARAM, (st), (ptr)) -#define sk_MIME_PARAM_insert(st, val, i) SKM_sk_insert(MIME_PARAM, (st), (val), (i)) -#define sk_MIME_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(MIME_PARAM, (st), (cmp)) -#define sk_MIME_PARAM_dup(st) SKM_sk_dup(MIME_PARAM, st) -#define sk_MIME_PARAM_pop_free(st, free_func) SKM_sk_pop_free(MIME_PARAM, (st), (free_func)) -#define sk_MIME_PARAM_shift(st) SKM_sk_shift(MIME_PARAM, (st)) -#define sk_MIME_PARAM_pop(st) SKM_sk_pop(MIME_PARAM, (st)) -#define sk_MIME_PARAM_sort(st) SKM_sk_sort(MIME_PARAM, (st)) -#define sk_MIME_PARAM_is_sorted(st) SKM_sk_is_sorted(MIME_PARAM, (st)) - -#define sk_NAME_FUNCS_new(cmp) SKM_sk_new(NAME_FUNCS, (cmp)) -#define sk_NAME_FUNCS_new_null() SKM_sk_new_null(NAME_FUNCS) -#define sk_NAME_FUNCS_free(st) SKM_sk_free(NAME_FUNCS, (st)) -#define sk_NAME_FUNCS_num(st) SKM_sk_num(NAME_FUNCS, (st)) -#define sk_NAME_FUNCS_value(st, i) SKM_sk_value(NAME_FUNCS, (st), (i)) -#define sk_NAME_FUNCS_set(st, i, val) SKM_sk_set(NAME_FUNCS, (st), (i), (val)) -#define sk_NAME_FUNCS_zero(st) SKM_sk_zero(NAME_FUNCS, (st)) -#define sk_NAME_FUNCS_push(st, val) SKM_sk_push(NAME_FUNCS, (st), (val)) -#define sk_NAME_FUNCS_unshift(st, val) SKM_sk_unshift(NAME_FUNCS, (st), (val)) -#define sk_NAME_FUNCS_find(st, val) SKM_sk_find(NAME_FUNCS, (st), (val)) -#define sk_NAME_FUNCS_find_ex(st, val) SKM_sk_find_ex(NAME_FUNCS, (st), (val)) -#define sk_NAME_FUNCS_delete(st, i) SKM_sk_delete(NAME_FUNCS, (st), (i)) -#define sk_NAME_FUNCS_delete_ptr(st, ptr) SKM_sk_delete_ptr(NAME_FUNCS, (st), (ptr)) -#define sk_NAME_FUNCS_insert(st, val, i) SKM_sk_insert(NAME_FUNCS, (st), (val), (i)) -#define sk_NAME_FUNCS_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(NAME_FUNCS, (st), (cmp)) -#define sk_NAME_FUNCS_dup(st) SKM_sk_dup(NAME_FUNCS, st) -#define sk_NAME_FUNCS_pop_free(st, free_func) SKM_sk_pop_free(NAME_FUNCS, (st), (free_func)) -#define sk_NAME_FUNCS_shift(st) SKM_sk_shift(NAME_FUNCS, (st)) -#define sk_NAME_FUNCS_pop(st) SKM_sk_pop(NAME_FUNCS, (st)) -#define sk_NAME_FUNCS_sort(st) SKM_sk_sort(NAME_FUNCS, (st)) -#define sk_NAME_FUNCS_is_sorted(st) SKM_sk_is_sorted(NAME_FUNCS, (st)) - -#define sk_OCSP_CERTID_new(cmp) SKM_sk_new(OCSP_CERTID, (cmp)) -#define sk_OCSP_CERTID_new_null() SKM_sk_new_null(OCSP_CERTID) -#define sk_OCSP_CERTID_free(st) SKM_sk_free(OCSP_CERTID, (st)) -#define sk_OCSP_CERTID_num(st) SKM_sk_num(OCSP_CERTID, (st)) -#define sk_OCSP_CERTID_value(st, i) SKM_sk_value(OCSP_CERTID, (st), (i)) -#define sk_OCSP_CERTID_set(st, i, val) SKM_sk_set(OCSP_CERTID, (st), (i), (val)) -#define sk_OCSP_CERTID_zero(st) SKM_sk_zero(OCSP_CERTID, (st)) -#define sk_OCSP_CERTID_push(st, val) SKM_sk_push(OCSP_CERTID, (st), (val)) -#define sk_OCSP_CERTID_unshift(st, val) SKM_sk_unshift(OCSP_CERTID, (st), (val)) -#define sk_OCSP_CERTID_find(st, val) SKM_sk_find(OCSP_CERTID, (st), (val)) -#define sk_OCSP_CERTID_find_ex(st, val) SKM_sk_find_ex(OCSP_CERTID, (st), (val)) -#define sk_OCSP_CERTID_delete(st, i) SKM_sk_delete(OCSP_CERTID, (st), (i)) -#define sk_OCSP_CERTID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_CERTID, (st), (ptr)) -#define sk_OCSP_CERTID_insert(st, val, i) SKM_sk_insert(OCSP_CERTID, (st), (val), (i)) -#define sk_OCSP_CERTID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_CERTID, (st), (cmp)) -#define sk_OCSP_CERTID_dup(st) SKM_sk_dup(OCSP_CERTID, st) -#define sk_OCSP_CERTID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_CERTID, (st), (free_func)) -#define sk_OCSP_CERTID_shift(st) SKM_sk_shift(OCSP_CERTID, (st)) -#define sk_OCSP_CERTID_pop(st) SKM_sk_pop(OCSP_CERTID, (st)) -#define sk_OCSP_CERTID_sort(st) SKM_sk_sort(OCSP_CERTID, (st)) -#define sk_OCSP_CERTID_is_sorted(st) SKM_sk_is_sorted(OCSP_CERTID, (st)) - -#define sk_OCSP_ONEREQ_new(cmp) SKM_sk_new(OCSP_ONEREQ, (cmp)) -#define sk_OCSP_ONEREQ_new_null() SKM_sk_new_null(OCSP_ONEREQ) -#define sk_OCSP_ONEREQ_free(st) SKM_sk_free(OCSP_ONEREQ, (st)) -#define sk_OCSP_ONEREQ_num(st) SKM_sk_num(OCSP_ONEREQ, (st)) -#define sk_OCSP_ONEREQ_value(st, i) SKM_sk_value(OCSP_ONEREQ, (st), (i)) -#define sk_OCSP_ONEREQ_set(st, i, val) SKM_sk_set(OCSP_ONEREQ, (st), (i), (val)) -#define sk_OCSP_ONEREQ_zero(st) SKM_sk_zero(OCSP_ONEREQ, (st)) -#define sk_OCSP_ONEREQ_push(st, val) SKM_sk_push(OCSP_ONEREQ, (st), (val)) -#define sk_OCSP_ONEREQ_unshift(st, val) SKM_sk_unshift(OCSP_ONEREQ, (st), (val)) -#define sk_OCSP_ONEREQ_find(st, val) SKM_sk_find(OCSP_ONEREQ, (st), (val)) -#define sk_OCSP_ONEREQ_find_ex(st, val) SKM_sk_find_ex(OCSP_ONEREQ, (st), (val)) -#define sk_OCSP_ONEREQ_delete(st, i) SKM_sk_delete(OCSP_ONEREQ, (st), (i)) -#define sk_OCSP_ONEREQ_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_ONEREQ, (st), (ptr)) -#define sk_OCSP_ONEREQ_insert(st, val, i) SKM_sk_insert(OCSP_ONEREQ, (st), (val), (i)) -#define sk_OCSP_ONEREQ_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_ONEREQ, (st), (cmp)) -#define sk_OCSP_ONEREQ_dup(st) SKM_sk_dup(OCSP_ONEREQ, st) -#define sk_OCSP_ONEREQ_pop_free(st, free_func) SKM_sk_pop_free(OCSP_ONEREQ, (st), (free_func)) -#define sk_OCSP_ONEREQ_shift(st) SKM_sk_shift(OCSP_ONEREQ, (st)) -#define sk_OCSP_ONEREQ_pop(st) SKM_sk_pop(OCSP_ONEREQ, (st)) -#define sk_OCSP_ONEREQ_sort(st) SKM_sk_sort(OCSP_ONEREQ, (st)) -#define sk_OCSP_ONEREQ_is_sorted(st) SKM_sk_is_sorted(OCSP_ONEREQ, (st)) - -#define sk_OCSP_RESPID_new(cmp) SKM_sk_new(OCSP_RESPID, (cmp)) -#define sk_OCSP_RESPID_new_null() SKM_sk_new_null(OCSP_RESPID) -#define sk_OCSP_RESPID_free(st) SKM_sk_free(OCSP_RESPID, (st)) -#define sk_OCSP_RESPID_num(st) SKM_sk_num(OCSP_RESPID, (st)) -#define sk_OCSP_RESPID_value(st, i) SKM_sk_value(OCSP_RESPID, (st), (i)) -#define sk_OCSP_RESPID_set(st, i, val) SKM_sk_set(OCSP_RESPID, (st), (i), (val)) -#define sk_OCSP_RESPID_zero(st) SKM_sk_zero(OCSP_RESPID, (st)) -#define sk_OCSP_RESPID_push(st, val) SKM_sk_push(OCSP_RESPID, (st), (val)) -#define sk_OCSP_RESPID_unshift(st, val) SKM_sk_unshift(OCSP_RESPID, (st), (val)) -#define sk_OCSP_RESPID_find(st, val) SKM_sk_find(OCSP_RESPID, (st), (val)) -#define sk_OCSP_RESPID_find_ex(st, val) SKM_sk_find_ex(OCSP_RESPID, (st), (val)) -#define sk_OCSP_RESPID_delete(st, i) SKM_sk_delete(OCSP_RESPID, (st), (i)) -#define sk_OCSP_RESPID_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_RESPID, (st), (ptr)) -#define sk_OCSP_RESPID_insert(st, val, i) SKM_sk_insert(OCSP_RESPID, (st), (val), (i)) -#define sk_OCSP_RESPID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_RESPID, (st), (cmp)) -#define sk_OCSP_RESPID_dup(st) SKM_sk_dup(OCSP_RESPID, st) -#define sk_OCSP_RESPID_pop_free(st, free_func) SKM_sk_pop_free(OCSP_RESPID, (st), (free_func)) -#define sk_OCSP_RESPID_shift(st) SKM_sk_shift(OCSP_RESPID, (st)) -#define sk_OCSP_RESPID_pop(st) SKM_sk_pop(OCSP_RESPID, (st)) -#define sk_OCSP_RESPID_sort(st) SKM_sk_sort(OCSP_RESPID, (st)) -#define sk_OCSP_RESPID_is_sorted(st) SKM_sk_is_sorted(OCSP_RESPID, (st)) - -#define sk_OCSP_SINGLERESP_new(cmp) SKM_sk_new(OCSP_SINGLERESP, (cmp)) -#define sk_OCSP_SINGLERESP_new_null() SKM_sk_new_null(OCSP_SINGLERESP) -#define sk_OCSP_SINGLERESP_free(st) SKM_sk_free(OCSP_SINGLERESP, (st)) -#define sk_OCSP_SINGLERESP_num(st) SKM_sk_num(OCSP_SINGLERESP, (st)) -#define sk_OCSP_SINGLERESP_value(st, i) SKM_sk_value(OCSP_SINGLERESP, (st), (i)) -#define sk_OCSP_SINGLERESP_set(st, i, val) SKM_sk_set(OCSP_SINGLERESP, (st), (i), (val)) -#define sk_OCSP_SINGLERESP_zero(st) SKM_sk_zero(OCSP_SINGLERESP, (st)) -#define sk_OCSP_SINGLERESP_push(st, val) SKM_sk_push(OCSP_SINGLERESP, (st), (val)) -#define sk_OCSP_SINGLERESP_unshift(st, val) SKM_sk_unshift(OCSP_SINGLERESP, (st), (val)) -#define sk_OCSP_SINGLERESP_find(st, val) SKM_sk_find(OCSP_SINGLERESP, (st), (val)) -#define sk_OCSP_SINGLERESP_find_ex(st, val) SKM_sk_find_ex(OCSP_SINGLERESP, (st), (val)) -#define sk_OCSP_SINGLERESP_delete(st, i) SKM_sk_delete(OCSP_SINGLERESP, (st), (i)) -#define sk_OCSP_SINGLERESP_delete_ptr(st, ptr) SKM_sk_delete_ptr(OCSP_SINGLERESP, (st), (ptr)) -#define sk_OCSP_SINGLERESP_insert(st, val, i) SKM_sk_insert(OCSP_SINGLERESP, (st), (val), (i)) -#define sk_OCSP_SINGLERESP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(OCSP_SINGLERESP, (st), (cmp)) -#define sk_OCSP_SINGLERESP_dup(st) SKM_sk_dup(OCSP_SINGLERESP, st) -#define sk_OCSP_SINGLERESP_pop_free(st, free_func) SKM_sk_pop_free(OCSP_SINGLERESP, (st), (free_func)) -#define sk_OCSP_SINGLERESP_shift(st) SKM_sk_shift(OCSP_SINGLERESP, (st)) -#define sk_OCSP_SINGLERESP_pop(st) SKM_sk_pop(OCSP_SINGLERESP, (st)) -#define sk_OCSP_SINGLERESP_sort(st) SKM_sk_sort(OCSP_SINGLERESP, (st)) -#define sk_OCSP_SINGLERESP_is_sorted(st) SKM_sk_is_sorted(OCSP_SINGLERESP, (st)) - -#define sk_PKCS12_SAFEBAG_new(cmp) SKM_sk_new(PKCS12_SAFEBAG, (cmp)) -#define sk_PKCS12_SAFEBAG_new_null() SKM_sk_new_null(PKCS12_SAFEBAG) -#define sk_PKCS12_SAFEBAG_free(st) SKM_sk_free(PKCS12_SAFEBAG, (st)) -#define sk_PKCS12_SAFEBAG_num(st) SKM_sk_num(PKCS12_SAFEBAG, (st)) -#define sk_PKCS12_SAFEBAG_value(st, i) SKM_sk_value(PKCS12_SAFEBAG, (st), (i)) -#define sk_PKCS12_SAFEBAG_set(st, i, val) SKM_sk_set(PKCS12_SAFEBAG, (st), (i), (val)) -#define sk_PKCS12_SAFEBAG_zero(st) SKM_sk_zero(PKCS12_SAFEBAG, (st)) -#define sk_PKCS12_SAFEBAG_push(st, val) SKM_sk_push(PKCS12_SAFEBAG, (st), (val)) -#define sk_PKCS12_SAFEBAG_unshift(st, val) SKM_sk_unshift(PKCS12_SAFEBAG, (st), (val)) -#define sk_PKCS12_SAFEBAG_find(st, val) SKM_sk_find(PKCS12_SAFEBAG, (st), (val)) -#define sk_PKCS12_SAFEBAG_find_ex(st, val) SKM_sk_find_ex(PKCS12_SAFEBAG, (st), (val)) -#define sk_PKCS12_SAFEBAG_delete(st, i) SKM_sk_delete(PKCS12_SAFEBAG, (st), (i)) -#define sk_PKCS12_SAFEBAG_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS12_SAFEBAG, (st), (ptr)) -#define sk_PKCS12_SAFEBAG_insert(st, val, i) SKM_sk_insert(PKCS12_SAFEBAG, (st), (val), (i)) -#define sk_PKCS12_SAFEBAG_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS12_SAFEBAG, (st), (cmp)) -#define sk_PKCS12_SAFEBAG_dup(st) SKM_sk_dup(PKCS12_SAFEBAG, st) -#define sk_PKCS12_SAFEBAG_pop_free(st, free_func) SKM_sk_pop_free(PKCS12_SAFEBAG, (st), (free_func)) -#define sk_PKCS12_SAFEBAG_shift(st) SKM_sk_shift(PKCS12_SAFEBAG, (st)) -#define sk_PKCS12_SAFEBAG_pop(st) SKM_sk_pop(PKCS12_SAFEBAG, (st)) -#define sk_PKCS12_SAFEBAG_sort(st) SKM_sk_sort(PKCS12_SAFEBAG, (st)) -#define sk_PKCS12_SAFEBAG_is_sorted(st) SKM_sk_is_sorted(PKCS12_SAFEBAG, (st)) - -#define sk_PKCS7_new(cmp) SKM_sk_new(PKCS7, (cmp)) -#define sk_PKCS7_new_null() SKM_sk_new_null(PKCS7) -#define sk_PKCS7_free(st) SKM_sk_free(PKCS7, (st)) -#define sk_PKCS7_num(st) SKM_sk_num(PKCS7, (st)) -#define sk_PKCS7_value(st, i) SKM_sk_value(PKCS7, (st), (i)) -#define sk_PKCS7_set(st, i, val) SKM_sk_set(PKCS7, (st), (i), (val)) -#define sk_PKCS7_zero(st) SKM_sk_zero(PKCS7, (st)) -#define sk_PKCS7_push(st, val) SKM_sk_push(PKCS7, (st), (val)) -#define sk_PKCS7_unshift(st, val) SKM_sk_unshift(PKCS7, (st), (val)) -#define sk_PKCS7_find(st, val) SKM_sk_find(PKCS7, (st), (val)) -#define sk_PKCS7_find_ex(st, val) SKM_sk_find_ex(PKCS7, (st), (val)) -#define sk_PKCS7_delete(st, i) SKM_sk_delete(PKCS7, (st), (i)) -#define sk_PKCS7_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7, (st), (ptr)) -#define sk_PKCS7_insert(st, val, i) SKM_sk_insert(PKCS7, (st), (val), (i)) -#define sk_PKCS7_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7, (st), (cmp)) -#define sk_PKCS7_dup(st) SKM_sk_dup(PKCS7, st) -#define sk_PKCS7_pop_free(st, free_func) SKM_sk_pop_free(PKCS7, (st), (free_func)) -#define sk_PKCS7_shift(st) SKM_sk_shift(PKCS7, (st)) -#define sk_PKCS7_pop(st) SKM_sk_pop(PKCS7, (st)) -#define sk_PKCS7_sort(st) SKM_sk_sort(PKCS7, (st)) -#define sk_PKCS7_is_sorted(st) SKM_sk_is_sorted(PKCS7, (st)) - -#define sk_PKCS7_RECIP_INFO_new(cmp) SKM_sk_new(PKCS7_RECIP_INFO, (cmp)) -#define sk_PKCS7_RECIP_INFO_new_null() SKM_sk_new_null(PKCS7_RECIP_INFO) -#define sk_PKCS7_RECIP_INFO_free(st) SKM_sk_free(PKCS7_RECIP_INFO, (st)) -#define sk_PKCS7_RECIP_INFO_num(st) SKM_sk_num(PKCS7_RECIP_INFO, (st)) -#define sk_PKCS7_RECIP_INFO_value(st, i) SKM_sk_value(PKCS7_RECIP_INFO, (st), (i)) -#define sk_PKCS7_RECIP_INFO_set(st, i, val) SKM_sk_set(PKCS7_RECIP_INFO, (st), (i), (val)) -#define sk_PKCS7_RECIP_INFO_zero(st) SKM_sk_zero(PKCS7_RECIP_INFO, (st)) -#define sk_PKCS7_RECIP_INFO_push(st, val) SKM_sk_push(PKCS7_RECIP_INFO, (st), (val)) -#define sk_PKCS7_RECIP_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_RECIP_INFO, (st), (val)) -#define sk_PKCS7_RECIP_INFO_find(st, val) SKM_sk_find(PKCS7_RECIP_INFO, (st), (val)) -#define sk_PKCS7_RECIP_INFO_find_ex(st, val) SKM_sk_find_ex(PKCS7_RECIP_INFO, (st), (val)) -#define sk_PKCS7_RECIP_INFO_delete(st, i) SKM_sk_delete(PKCS7_RECIP_INFO, (st), (i)) -#define sk_PKCS7_RECIP_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_RECIP_INFO, (st), (ptr)) -#define sk_PKCS7_RECIP_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_RECIP_INFO, (st), (val), (i)) -#define sk_PKCS7_RECIP_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_RECIP_INFO, (st), (cmp)) -#define sk_PKCS7_RECIP_INFO_dup(st) SKM_sk_dup(PKCS7_RECIP_INFO, st) -#define sk_PKCS7_RECIP_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_RECIP_INFO, (st), (free_func)) -#define sk_PKCS7_RECIP_INFO_shift(st) SKM_sk_shift(PKCS7_RECIP_INFO, (st)) -#define sk_PKCS7_RECIP_INFO_pop(st) SKM_sk_pop(PKCS7_RECIP_INFO, (st)) -#define sk_PKCS7_RECIP_INFO_sort(st) SKM_sk_sort(PKCS7_RECIP_INFO, (st)) -#define sk_PKCS7_RECIP_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_RECIP_INFO, (st)) - -#define sk_PKCS7_SIGNER_INFO_new(cmp) SKM_sk_new(PKCS7_SIGNER_INFO, (cmp)) -#define sk_PKCS7_SIGNER_INFO_new_null() SKM_sk_new_null(PKCS7_SIGNER_INFO) -#define sk_PKCS7_SIGNER_INFO_free(st) SKM_sk_free(PKCS7_SIGNER_INFO, (st)) -#define sk_PKCS7_SIGNER_INFO_num(st) SKM_sk_num(PKCS7_SIGNER_INFO, (st)) -#define sk_PKCS7_SIGNER_INFO_value(st, i) SKM_sk_value(PKCS7_SIGNER_INFO, (st), (i)) -#define sk_PKCS7_SIGNER_INFO_set(st, i, val) SKM_sk_set(PKCS7_SIGNER_INFO, (st), (i), (val)) -#define sk_PKCS7_SIGNER_INFO_zero(st) SKM_sk_zero(PKCS7_SIGNER_INFO, (st)) -#define sk_PKCS7_SIGNER_INFO_push(st, val) SKM_sk_push(PKCS7_SIGNER_INFO, (st), (val)) -#define sk_PKCS7_SIGNER_INFO_unshift(st, val) SKM_sk_unshift(PKCS7_SIGNER_INFO, (st), (val)) -#define sk_PKCS7_SIGNER_INFO_find(st, val) SKM_sk_find(PKCS7_SIGNER_INFO, (st), (val)) -#define sk_PKCS7_SIGNER_INFO_find_ex(st, val) SKM_sk_find_ex(PKCS7_SIGNER_INFO, (st), (val)) -#define sk_PKCS7_SIGNER_INFO_delete(st, i) SKM_sk_delete(PKCS7_SIGNER_INFO, (st), (i)) -#define sk_PKCS7_SIGNER_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(PKCS7_SIGNER_INFO, (st), (ptr)) -#define sk_PKCS7_SIGNER_INFO_insert(st, val, i) SKM_sk_insert(PKCS7_SIGNER_INFO, (st), (val), (i)) -#define sk_PKCS7_SIGNER_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(PKCS7_SIGNER_INFO, (st), (cmp)) -#define sk_PKCS7_SIGNER_INFO_dup(st) SKM_sk_dup(PKCS7_SIGNER_INFO, st) -#define sk_PKCS7_SIGNER_INFO_pop_free(st, free_func) SKM_sk_pop_free(PKCS7_SIGNER_INFO, (st), (free_func)) -#define sk_PKCS7_SIGNER_INFO_shift(st) SKM_sk_shift(PKCS7_SIGNER_INFO, (st)) -#define sk_PKCS7_SIGNER_INFO_pop(st) SKM_sk_pop(PKCS7_SIGNER_INFO, (st)) -#define sk_PKCS7_SIGNER_INFO_sort(st) SKM_sk_sort(PKCS7_SIGNER_INFO, (st)) -#define sk_PKCS7_SIGNER_INFO_is_sorted(st) SKM_sk_is_sorted(PKCS7_SIGNER_INFO, (st)) - -#define sk_POLICYINFO_new(cmp) SKM_sk_new(POLICYINFO, (cmp)) -#define sk_POLICYINFO_new_null() SKM_sk_new_null(POLICYINFO) -#define sk_POLICYINFO_free(st) SKM_sk_free(POLICYINFO, (st)) -#define sk_POLICYINFO_num(st) SKM_sk_num(POLICYINFO, (st)) -#define sk_POLICYINFO_value(st, i) SKM_sk_value(POLICYINFO, (st), (i)) -#define sk_POLICYINFO_set(st, i, val) SKM_sk_set(POLICYINFO, (st), (i), (val)) -#define sk_POLICYINFO_zero(st) SKM_sk_zero(POLICYINFO, (st)) -#define sk_POLICYINFO_push(st, val) SKM_sk_push(POLICYINFO, (st), (val)) -#define sk_POLICYINFO_unshift(st, val) SKM_sk_unshift(POLICYINFO, (st), (val)) -#define sk_POLICYINFO_find(st, val) SKM_sk_find(POLICYINFO, (st), (val)) -#define sk_POLICYINFO_find_ex(st, val) SKM_sk_find_ex(POLICYINFO, (st), (val)) -#define sk_POLICYINFO_delete(st, i) SKM_sk_delete(POLICYINFO, (st), (i)) -#define sk_POLICYINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYINFO, (st), (ptr)) -#define sk_POLICYINFO_insert(st, val, i) SKM_sk_insert(POLICYINFO, (st), (val), (i)) -#define sk_POLICYINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYINFO, (st), (cmp)) -#define sk_POLICYINFO_dup(st) SKM_sk_dup(POLICYINFO, st) -#define sk_POLICYINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYINFO, (st), (free_func)) -#define sk_POLICYINFO_shift(st) SKM_sk_shift(POLICYINFO, (st)) -#define sk_POLICYINFO_pop(st) SKM_sk_pop(POLICYINFO, (st)) -#define sk_POLICYINFO_sort(st) SKM_sk_sort(POLICYINFO, (st)) -#define sk_POLICYINFO_is_sorted(st) SKM_sk_is_sorted(POLICYINFO, (st)) - -#define sk_POLICYQUALINFO_new(cmp) SKM_sk_new(POLICYQUALINFO, (cmp)) -#define sk_POLICYQUALINFO_new_null() SKM_sk_new_null(POLICYQUALINFO) -#define sk_POLICYQUALINFO_free(st) SKM_sk_free(POLICYQUALINFO, (st)) -#define sk_POLICYQUALINFO_num(st) SKM_sk_num(POLICYQUALINFO, (st)) -#define sk_POLICYQUALINFO_value(st, i) SKM_sk_value(POLICYQUALINFO, (st), (i)) -#define sk_POLICYQUALINFO_set(st, i, val) SKM_sk_set(POLICYQUALINFO, (st), (i), (val)) -#define sk_POLICYQUALINFO_zero(st) SKM_sk_zero(POLICYQUALINFO, (st)) -#define sk_POLICYQUALINFO_push(st, val) SKM_sk_push(POLICYQUALINFO, (st), (val)) -#define sk_POLICYQUALINFO_unshift(st, val) SKM_sk_unshift(POLICYQUALINFO, (st), (val)) -#define sk_POLICYQUALINFO_find(st, val) SKM_sk_find(POLICYQUALINFO, (st), (val)) -#define sk_POLICYQUALINFO_find_ex(st, val) SKM_sk_find_ex(POLICYQUALINFO, (st), (val)) -#define sk_POLICYQUALINFO_delete(st, i) SKM_sk_delete(POLICYQUALINFO, (st), (i)) -#define sk_POLICYQUALINFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICYQUALINFO, (st), (ptr)) -#define sk_POLICYQUALINFO_insert(st, val, i) SKM_sk_insert(POLICYQUALINFO, (st), (val), (i)) -#define sk_POLICYQUALINFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICYQUALINFO, (st), (cmp)) -#define sk_POLICYQUALINFO_dup(st) SKM_sk_dup(POLICYQUALINFO, st) -#define sk_POLICYQUALINFO_pop_free(st, free_func) SKM_sk_pop_free(POLICYQUALINFO, (st), (free_func)) -#define sk_POLICYQUALINFO_shift(st) SKM_sk_shift(POLICYQUALINFO, (st)) -#define sk_POLICYQUALINFO_pop(st) SKM_sk_pop(POLICYQUALINFO, (st)) -#define sk_POLICYQUALINFO_sort(st) SKM_sk_sort(POLICYQUALINFO, (st)) -#define sk_POLICYQUALINFO_is_sorted(st) SKM_sk_is_sorted(POLICYQUALINFO, (st)) - -#define sk_POLICY_MAPPING_new(cmp) SKM_sk_new(POLICY_MAPPING, (cmp)) -#define sk_POLICY_MAPPING_new_null() SKM_sk_new_null(POLICY_MAPPING) -#define sk_POLICY_MAPPING_free(st) SKM_sk_free(POLICY_MAPPING, (st)) -#define sk_POLICY_MAPPING_num(st) SKM_sk_num(POLICY_MAPPING, (st)) -#define sk_POLICY_MAPPING_value(st, i) SKM_sk_value(POLICY_MAPPING, (st), (i)) -#define sk_POLICY_MAPPING_set(st, i, val) SKM_sk_set(POLICY_MAPPING, (st), (i), (val)) -#define sk_POLICY_MAPPING_zero(st) SKM_sk_zero(POLICY_MAPPING, (st)) -#define sk_POLICY_MAPPING_push(st, val) SKM_sk_push(POLICY_MAPPING, (st), (val)) -#define sk_POLICY_MAPPING_unshift(st, val) SKM_sk_unshift(POLICY_MAPPING, (st), (val)) -#define sk_POLICY_MAPPING_find(st, val) SKM_sk_find(POLICY_MAPPING, (st), (val)) -#define sk_POLICY_MAPPING_find_ex(st, val) SKM_sk_find_ex(POLICY_MAPPING, (st), (val)) -#define sk_POLICY_MAPPING_delete(st, i) SKM_sk_delete(POLICY_MAPPING, (st), (i)) -#define sk_POLICY_MAPPING_delete_ptr(st, ptr) SKM_sk_delete_ptr(POLICY_MAPPING, (st), (ptr)) -#define sk_POLICY_MAPPING_insert(st, val, i) SKM_sk_insert(POLICY_MAPPING, (st), (val), (i)) -#define sk_POLICY_MAPPING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(POLICY_MAPPING, (st), (cmp)) -#define sk_POLICY_MAPPING_dup(st) SKM_sk_dup(POLICY_MAPPING, st) -#define sk_POLICY_MAPPING_pop_free(st, free_func) SKM_sk_pop_free(POLICY_MAPPING, (st), (free_func)) -#define sk_POLICY_MAPPING_shift(st) SKM_sk_shift(POLICY_MAPPING, (st)) -#define sk_POLICY_MAPPING_pop(st) SKM_sk_pop(POLICY_MAPPING, (st)) -#define sk_POLICY_MAPPING_sort(st) SKM_sk_sort(POLICY_MAPPING, (st)) -#define sk_POLICY_MAPPING_is_sorted(st) SKM_sk_is_sorted(POLICY_MAPPING, (st)) - -#define sk_SRP_gN_new(cmp) SKM_sk_new(SRP_gN, (cmp)) -#define sk_SRP_gN_new_null() SKM_sk_new_null(SRP_gN) -#define sk_SRP_gN_free(st) SKM_sk_free(SRP_gN, (st)) -#define sk_SRP_gN_num(st) SKM_sk_num(SRP_gN, (st)) -#define sk_SRP_gN_value(st, i) SKM_sk_value(SRP_gN, (st), (i)) -#define sk_SRP_gN_set(st, i, val) SKM_sk_set(SRP_gN, (st), (i), (val)) -#define sk_SRP_gN_zero(st) SKM_sk_zero(SRP_gN, (st)) -#define sk_SRP_gN_push(st, val) SKM_sk_push(SRP_gN, (st), (val)) -#define sk_SRP_gN_unshift(st, val) SKM_sk_unshift(SRP_gN, (st), (val)) -#define sk_SRP_gN_find(st, val) SKM_sk_find(SRP_gN, (st), (val)) -#define sk_SRP_gN_find_ex(st, val) SKM_sk_find_ex(SRP_gN, (st), (val)) -#define sk_SRP_gN_delete(st, i) SKM_sk_delete(SRP_gN, (st), (i)) -#define sk_SRP_gN_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN, (st), (ptr)) -#define sk_SRP_gN_insert(st, val, i) SKM_sk_insert(SRP_gN, (st), (val), (i)) -#define sk_SRP_gN_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN, (st), (cmp)) -#define sk_SRP_gN_dup(st) SKM_sk_dup(SRP_gN, st) -#define sk_SRP_gN_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN, (st), (free_func)) -#define sk_SRP_gN_shift(st) SKM_sk_shift(SRP_gN, (st)) -#define sk_SRP_gN_pop(st) SKM_sk_pop(SRP_gN, (st)) -#define sk_SRP_gN_sort(st) SKM_sk_sort(SRP_gN, (st)) -#define sk_SRP_gN_is_sorted(st) SKM_sk_is_sorted(SRP_gN, (st)) - -#define sk_SRP_gN_cache_new(cmp) SKM_sk_new(SRP_gN_cache, (cmp)) -#define sk_SRP_gN_cache_new_null() SKM_sk_new_null(SRP_gN_cache) -#define sk_SRP_gN_cache_free(st) SKM_sk_free(SRP_gN_cache, (st)) -#define sk_SRP_gN_cache_num(st) SKM_sk_num(SRP_gN_cache, (st)) -#define sk_SRP_gN_cache_value(st, i) SKM_sk_value(SRP_gN_cache, (st), (i)) -#define sk_SRP_gN_cache_set(st, i, val) SKM_sk_set(SRP_gN_cache, (st), (i), (val)) -#define sk_SRP_gN_cache_zero(st) SKM_sk_zero(SRP_gN_cache, (st)) -#define sk_SRP_gN_cache_push(st, val) SKM_sk_push(SRP_gN_cache, (st), (val)) -#define sk_SRP_gN_cache_unshift(st, val) SKM_sk_unshift(SRP_gN_cache, (st), (val)) -#define sk_SRP_gN_cache_find(st, val) SKM_sk_find(SRP_gN_cache, (st), (val)) -#define sk_SRP_gN_cache_find_ex(st, val) SKM_sk_find_ex(SRP_gN_cache, (st), (val)) -#define sk_SRP_gN_cache_delete(st, i) SKM_sk_delete(SRP_gN_cache, (st), (i)) -#define sk_SRP_gN_cache_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_gN_cache, (st), (ptr)) -#define sk_SRP_gN_cache_insert(st, val, i) SKM_sk_insert(SRP_gN_cache, (st), (val), (i)) -#define sk_SRP_gN_cache_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_gN_cache, (st), (cmp)) -#define sk_SRP_gN_cache_dup(st) SKM_sk_dup(SRP_gN_cache, st) -#define sk_SRP_gN_cache_pop_free(st, free_func) SKM_sk_pop_free(SRP_gN_cache, (st), (free_func)) -#define sk_SRP_gN_cache_shift(st) SKM_sk_shift(SRP_gN_cache, (st)) -#define sk_SRP_gN_cache_pop(st) SKM_sk_pop(SRP_gN_cache, (st)) -#define sk_SRP_gN_cache_sort(st) SKM_sk_sort(SRP_gN_cache, (st)) -#define sk_SRP_gN_cache_is_sorted(st) SKM_sk_is_sorted(SRP_gN_cache, (st)) - -#define sk_SRP_user_pwd_new(cmp) SKM_sk_new(SRP_user_pwd, (cmp)) -#define sk_SRP_user_pwd_new_null() SKM_sk_new_null(SRP_user_pwd) -#define sk_SRP_user_pwd_free(st) SKM_sk_free(SRP_user_pwd, (st)) -#define sk_SRP_user_pwd_num(st) SKM_sk_num(SRP_user_pwd, (st)) -#define sk_SRP_user_pwd_value(st, i) SKM_sk_value(SRP_user_pwd, (st), (i)) -#define sk_SRP_user_pwd_set(st, i, val) SKM_sk_set(SRP_user_pwd, (st), (i), (val)) -#define sk_SRP_user_pwd_zero(st) SKM_sk_zero(SRP_user_pwd, (st)) -#define sk_SRP_user_pwd_push(st, val) SKM_sk_push(SRP_user_pwd, (st), (val)) -#define sk_SRP_user_pwd_unshift(st, val) SKM_sk_unshift(SRP_user_pwd, (st), (val)) -#define sk_SRP_user_pwd_find(st, val) SKM_sk_find(SRP_user_pwd, (st), (val)) -#define sk_SRP_user_pwd_find_ex(st, val) SKM_sk_find_ex(SRP_user_pwd, (st), (val)) -#define sk_SRP_user_pwd_delete(st, i) SKM_sk_delete(SRP_user_pwd, (st), (i)) -#define sk_SRP_user_pwd_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRP_user_pwd, (st), (ptr)) -#define sk_SRP_user_pwd_insert(st, val, i) SKM_sk_insert(SRP_user_pwd, (st), (val), (i)) -#define sk_SRP_user_pwd_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRP_user_pwd, (st), (cmp)) -#define sk_SRP_user_pwd_dup(st) SKM_sk_dup(SRP_user_pwd, st) -#define sk_SRP_user_pwd_pop_free(st, free_func) SKM_sk_pop_free(SRP_user_pwd, (st), (free_func)) -#define sk_SRP_user_pwd_shift(st) SKM_sk_shift(SRP_user_pwd, (st)) -#define sk_SRP_user_pwd_pop(st) SKM_sk_pop(SRP_user_pwd, (st)) -#define sk_SRP_user_pwd_sort(st) SKM_sk_sort(SRP_user_pwd, (st)) -#define sk_SRP_user_pwd_is_sorted(st) SKM_sk_is_sorted(SRP_user_pwd, (st)) - -#define sk_SRTP_PROTECTION_PROFILE_new(cmp) SKM_sk_new(SRTP_PROTECTION_PROFILE, (cmp)) -#define sk_SRTP_PROTECTION_PROFILE_new_null() SKM_sk_new_null(SRTP_PROTECTION_PROFILE) -#define sk_SRTP_PROTECTION_PROFILE_free(st) SKM_sk_free(SRTP_PROTECTION_PROFILE, (st)) -#define sk_SRTP_PROTECTION_PROFILE_num(st) SKM_sk_num(SRTP_PROTECTION_PROFILE, (st)) -#define sk_SRTP_PROTECTION_PROFILE_value(st, i) SKM_sk_value(SRTP_PROTECTION_PROFILE, (st), (i)) -#define sk_SRTP_PROTECTION_PROFILE_set(st, i, val) SKM_sk_set(SRTP_PROTECTION_PROFILE, (st), (i), (val)) -#define sk_SRTP_PROTECTION_PROFILE_zero(st) SKM_sk_zero(SRTP_PROTECTION_PROFILE, (st)) -#define sk_SRTP_PROTECTION_PROFILE_push(st, val) SKM_sk_push(SRTP_PROTECTION_PROFILE, (st), (val)) -#define sk_SRTP_PROTECTION_PROFILE_unshift(st, val) SKM_sk_unshift(SRTP_PROTECTION_PROFILE, (st), (val)) -#define sk_SRTP_PROTECTION_PROFILE_find(st, val) SKM_sk_find(SRTP_PROTECTION_PROFILE, (st), (val)) -#define sk_SRTP_PROTECTION_PROFILE_find_ex(st, val) SKM_sk_find_ex(SRTP_PROTECTION_PROFILE, (st), (val)) -#define sk_SRTP_PROTECTION_PROFILE_delete(st, i) SKM_sk_delete(SRTP_PROTECTION_PROFILE, (st), (i)) -#define sk_SRTP_PROTECTION_PROFILE_delete_ptr(st, ptr) SKM_sk_delete_ptr(SRTP_PROTECTION_PROFILE, (st), (ptr)) -#define sk_SRTP_PROTECTION_PROFILE_insert(st, val, i) SKM_sk_insert(SRTP_PROTECTION_PROFILE, (st), (val), (i)) -#define sk_SRTP_PROTECTION_PROFILE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SRTP_PROTECTION_PROFILE, (st), (cmp)) -#define sk_SRTP_PROTECTION_PROFILE_dup(st) SKM_sk_dup(SRTP_PROTECTION_PROFILE, st) -#define sk_SRTP_PROTECTION_PROFILE_pop_free(st, free_func) SKM_sk_pop_free(SRTP_PROTECTION_PROFILE, (st), (free_func)) -#define sk_SRTP_PROTECTION_PROFILE_shift(st) SKM_sk_shift(SRTP_PROTECTION_PROFILE, (st)) -#define sk_SRTP_PROTECTION_PROFILE_pop(st) SKM_sk_pop(SRTP_PROTECTION_PROFILE, (st)) -#define sk_SRTP_PROTECTION_PROFILE_sort(st) SKM_sk_sort(SRTP_PROTECTION_PROFILE, (st)) -#define sk_SRTP_PROTECTION_PROFILE_is_sorted(st) SKM_sk_is_sorted(SRTP_PROTECTION_PROFILE, (st)) - -#define sk_SSL_CIPHER_new(cmp) SKM_sk_new(SSL_CIPHER, (cmp)) -#define sk_SSL_CIPHER_new_null() SKM_sk_new_null(SSL_CIPHER) -#define sk_SSL_CIPHER_free(st) SKM_sk_free(SSL_CIPHER, (st)) -#define sk_SSL_CIPHER_num(st) SKM_sk_num(SSL_CIPHER, (st)) -#define sk_SSL_CIPHER_value(st, i) SKM_sk_value(SSL_CIPHER, (st), (i)) -#define sk_SSL_CIPHER_set(st, i, val) SKM_sk_set(SSL_CIPHER, (st), (i), (val)) -#define sk_SSL_CIPHER_zero(st) SKM_sk_zero(SSL_CIPHER, (st)) -#define sk_SSL_CIPHER_push(st, val) SKM_sk_push(SSL_CIPHER, (st), (val)) -#define sk_SSL_CIPHER_unshift(st, val) SKM_sk_unshift(SSL_CIPHER, (st), (val)) -#define sk_SSL_CIPHER_find(st, val) SKM_sk_find(SSL_CIPHER, (st), (val)) -#define sk_SSL_CIPHER_find_ex(st, val) SKM_sk_find_ex(SSL_CIPHER, (st), (val)) -#define sk_SSL_CIPHER_delete(st, i) SKM_sk_delete(SSL_CIPHER, (st), (i)) -#define sk_SSL_CIPHER_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_CIPHER, (st), (ptr)) -#define sk_SSL_CIPHER_insert(st, val, i) SKM_sk_insert(SSL_CIPHER, (st), (val), (i)) -#define sk_SSL_CIPHER_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_CIPHER, (st), (cmp)) -#define sk_SSL_CIPHER_dup(st) SKM_sk_dup(SSL_CIPHER, st) -#define sk_SSL_CIPHER_pop_free(st, free_func) SKM_sk_pop_free(SSL_CIPHER, (st), (free_func)) -#define sk_SSL_CIPHER_shift(st) SKM_sk_shift(SSL_CIPHER, (st)) -#define sk_SSL_CIPHER_pop(st) SKM_sk_pop(SSL_CIPHER, (st)) -#define sk_SSL_CIPHER_sort(st) SKM_sk_sort(SSL_CIPHER, (st)) -#define sk_SSL_CIPHER_is_sorted(st) SKM_sk_is_sorted(SSL_CIPHER, (st)) - -#define sk_SSL_COMP_new(cmp) SKM_sk_new(SSL_COMP, (cmp)) -#define sk_SSL_COMP_new_null() SKM_sk_new_null(SSL_COMP) -#define sk_SSL_COMP_free(st) SKM_sk_free(SSL_COMP, (st)) -#define sk_SSL_COMP_num(st) SKM_sk_num(SSL_COMP, (st)) -#define sk_SSL_COMP_value(st, i) SKM_sk_value(SSL_COMP, (st), (i)) -#define sk_SSL_COMP_set(st, i, val) SKM_sk_set(SSL_COMP, (st), (i), (val)) -#define sk_SSL_COMP_zero(st) SKM_sk_zero(SSL_COMP, (st)) -#define sk_SSL_COMP_push(st, val) SKM_sk_push(SSL_COMP, (st), (val)) -#define sk_SSL_COMP_unshift(st, val) SKM_sk_unshift(SSL_COMP, (st), (val)) -#define sk_SSL_COMP_find(st, val) SKM_sk_find(SSL_COMP, (st), (val)) -#define sk_SSL_COMP_find_ex(st, val) SKM_sk_find_ex(SSL_COMP, (st), (val)) -#define sk_SSL_COMP_delete(st, i) SKM_sk_delete(SSL_COMP, (st), (i)) -#define sk_SSL_COMP_delete_ptr(st, ptr) SKM_sk_delete_ptr(SSL_COMP, (st), (ptr)) -#define sk_SSL_COMP_insert(st, val, i) SKM_sk_insert(SSL_COMP, (st), (val), (i)) -#define sk_SSL_COMP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SSL_COMP, (st), (cmp)) -#define sk_SSL_COMP_dup(st) SKM_sk_dup(SSL_COMP, st) -#define sk_SSL_COMP_pop_free(st, free_func) SKM_sk_pop_free(SSL_COMP, (st), (free_func)) -#define sk_SSL_COMP_shift(st) SKM_sk_shift(SSL_COMP, (st)) -#define sk_SSL_COMP_pop(st) SKM_sk_pop(SSL_COMP, (st)) -#define sk_SSL_COMP_sort(st) SKM_sk_sort(SSL_COMP, (st)) -#define sk_SSL_COMP_is_sorted(st) SKM_sk_is_sorted(SSL_COMP, (st)) - -#define sk_STACK_OF_X509_NAME_ENTRY_new(cmp) SKM_sk_new(STACK_OF_X509_NAME_ENTRY, (cmp)) -#define sk_STACK_OF_X509_NAME_ENTRY_new_null() SKM_sk_new_null(STACK_OF_X509_NAME_ENTRY) -#define sk_STACK_OF_X509_NAME_ENTRY_free(st) SKM_sk_free(STACK_OF_X509_NAME_ENTRY, (st)) -#define sk_STACK_OF_X509_NAME_ENTRY_num(st) SKM_sk_num(STACK_OF_X509_NAME_ENTRY, (st)) -#define sk_STACK_OF_X509_NAME_ENTRY_value(st, i) SKM_sk_value(STACK_OF_X509_NAME_ENTRY, (st), (i)) -#define sk_STACK_OF_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(STACK_OF_X509_NAME_ENTRY, (st), (i), (val)) -#define sk_STACK_OF_X509_NAME_ENTRY_zero(st) SKM_sk_zero(STACK_OF_X509_NAME_ENTRY, (st)) -#define sk_STACK_OF_X509_NAME_ENTRY_push(st, val) SKM_sk_push(STACK_OF_X509_NAME_ENTRY, (st), (val)) -#define sk_STACK_OF_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(STACK_OF_X509_NAME_ENTRY, (st), (val)) -#define sk_STACK_OF_X509_NAME_ENTRY_find(st, val) SKM_sk_find(STACK_OF_X509_NAME_ENTRY, (st), (val)) -#define sk_STACK_OF_X509_NAME_ENTRY_find_ex(st, val) SKM_sk_find_ex(STACK_OF_X509_NAME_ENTRY, (st), (val)) -#define sk_STACK_OF_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(STACK_OF_X509_NAME_ENTRY, (st), (i)) -#define sk_STACK_OF_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(STACK_OF_X509_NAME_ENTRY, (st), (ptr)) -#define sk_STACK_OF_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(STACK_OF_X509_NAME_ENTRY, (st), (val), (i)) -#define sk_STACK_OF_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STACK_OF_X509_NAME_ENTRY, (st), (cmp)) -#define sk_STACK_OF_X509_NAME_ENTRY_dup(st) SKM_sk_dup(STACK_OF_X509_NAME_ENTRY, st) -#define sk_STACK_OF_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(STACK_OF_X509_NAME_ENTRY, (st), (free_func)) -#define sk_STACK_OF_X509_NAME_ENTRY_shift(st) SKM_sk_shift(STACK_OF_X509_NAME_ENTRY, (st)) -#define sk_STACK_OF_X509_NAME_ENTRY_pop(st) SKM_sk_pop(STACK_OF_X509_NAME_ENTRY, (st)) -#define sk_STACK_OF_X509_NAME_ENTRY_sort(st) SKM_sk_sort(STACK_OF_X509_NAME_ENTRY, (st)) -#define sk_STACK_OF_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(STACK_OF_X509_NAME_ENTRY, (st)) - -#define sk_STORE_ATTR_INFO_new(cmp) SKM_sk_new(STORE_ATTR_INFO, (cmp)) -#define sk_STORE_ATTR_INFO_new_null() SKM_sk_new_null(STORE_ATTR_INFO) -#define sk_STORE_ATTR_INFO_free(st) SKM_sk_free(STORE_ATTR_INFO, (st)) -#define sk_STORE_ATTR_INFO_num(st) SKM_sk_num(STORE_ATTR_INFO, (st)) -#define sk_STORE_ATTR_INFO_value(st, i) SKM_sk_value(STORE_ATTR_INFO, (st), (i)) -#define sk_STORE_ATTR_INFO_set(st, i, val) SKM_sk_set(STORE_ATTR_INFO, (st), (i), (val)) -#define sk_STORE_ATTR_INFO_zero(st) SKM_sk_zero(STORE_ATTR_INFO, (st)) -#define sk_STORE_ATTR_INFO_push(st, val) SKM_sk_push(STORE_ATTR_INFO, (st), (val)) -#define sk_STORE_ATTR_INFO_unshift(st, val) SKM_sk_unshift(STORE_ATTR_INFO, (st), (val)) -#define sk_STORE_ATTR_INFO_find(st, val) SKM_sk_find(STORE_ATTR_INFO, (st), (val)) -#define sk_STORE_ATTR_INFO_find_ex(st, val) SKM_sk_find_ex(STORE_ATTR_INFO, (st), (val)) -#define sk_STORE_ATTR_INFO_delete(st, i) SKM_sk_delete(STORE_ATTR_INFO, (st), (i)) -#define sk_STORE_ATTR_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_ATTR_INFO, (st), (ptr)) -#define sk_STORE_ATTR_INFO_insert(st, val, i) SKM_sk_insert(STORE_ATTR_INFO, (st), (val), (i)) -#define sk_STORE_ATTR_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_ATTR_INFO, (st), (cmp)) -#define sk_STORE_ATTR_INFO_dup(st) SKM_sk_dup(STORE_ATTR_INFO, st) -#define sk_STORE_ATTR_INFO_pop_free(st, free_func) SKM_sk_pop_free(STORE_ATTR_INFO, (st), (free_func)) -#define sk_STORE_ATTR_INFO_shift(st) SKM_sk_shift(STORE_ATTR_INFO, (st)) -#define sk_STORE_ATTR_INFO_pop(st) SKM_sk_pop(STORE_ATTR_INFO, (st)) -#define sk_STORE_ATTR_INFO_sort(st) SKM_sk_sort(STORE_ATTR_INFO, (st)) -#define sk_STORE_ATTR_INFO_is_sorted(st) SKM_sk_is_sorted(STORE_ATTR_INFO, (st)) - -#define sk_STORE_OBJECT_new(cmp) SKM_sk_new(STORE_OBJECT, (cmp)) -#define sk_STORE_OBJECT_new_null() SKM_sk_new_null(STORE_OBJECT) -#define sk_STORE_OBJECT_free(st) SKM_sk_free(STORE_OBJECT, (st)) -#define sk_STORE_OBJECT_num(st) SKM_sk_num(STORE_OBJECT, (st)) -#define sk_STORE_OBJECT_value(st, i) SKM_sk_value(STORE_OBJECT, (st), (i)) -#define sk_STORE_OBJECT_set(st, i, val) SKM_sk_set(STORE_OBJECT, (st), (i), (val)) -#define sk_STORE_OBJECT_zero(st) SKM_sk_zero(STORE_OBJECT, (st)) -#define sk_STORE_OBJECT_push(st, val) SKM_sk_push(STORE_OBJECT, (st), (val)) -#define sk_STORE_OBJECT_unshift(st, val) SKM_sk_unshift(STORE_OBJECT, (st), (val)) -#define sk_STORE_OBJECT_find(st, val) SKM_sk_find(STORE_OBJECT, (st), (val)) -#define sk_STORE_OBJECT_find_ex(st, val) SKM_sk_find_ex(STORE_OBJECT, (st), (val)) -#define sk_STORE_OBJECT_delete(st, i) SKM_sk_delete(STORE_OBJECT, (st), (i)) -#define sk_STORE_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(STORE_OBJECT, (st), (ptr)) -#define sk_STORE_OBJECT_insert(st, val, i) SKM_sk_insert(STORE_OBJECT, (st), (val), (i)) -#define sk_STORE_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(STORE_OBJECT, (st), (cmp)) -#define sk_STORE_OBJECT_dup(st) SKM_sk_dup(STORE_OBJECT, st) -#define sk_STORE_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(STORE_OBJECT, (st), (free_func)) -#define sk_STORE_OBJECT_shift(st) SKM_sk_shift(STORE_OBJECT, (st)) -#define sk_STORE_OBJECT_pop(st) SKM_sk_pop(STORE_OBJECT, (st)) -#define sk_STORE_OBJECT_sort(st) SKM_sk_sort(STORE_OBJECT, (st)) -#define sk_STORE_OBJECT_is_sorted(st) SKM_sk_is_sorted(STORE_OBJECT, (st)) - -#define sk_SXNETID_new(cmp) SKM_sk_new(SXNETID, (cmp)) -#define sk_SXNETID_new_null() SKM_sk_new_null(SXNETID) -#define sk_SXNETID_free(st) SKM_sk_free(SXNETID, (st)) -#define sk_SXNETID_num(st) SKM_sk_num(SXNETID, (st)) -#define sk_SXNETID_value(st, i) SKM_sk_value(SXNETID, (st), (i)) -#define sk_SXNETID_set(st, i, val) SKM_sk_set(SXNETID, (st), (i), (val)) -#define sk_SXNETID_zero(st) SKM_sk_zero(SXNETID, (st)) -#define sk_SXNETID_push(st, val) SKM_sk_push(SXNETID, (st), (val)) -#define sk_SXNETID_unshift(st, val) SKM_sk_unshift(SXNETID, (st), (val)) -#define sk_SXNETID_find(st, val) SKM_sk_find(SXNETID, (st), (val)) -#define sk_SXNETID_find_ex(st, val) SKM_sk_find_ex(SXNETID, (st), (val)) -#define sk_SXNETID_delete(st, i) SKM_sk_delete(SXNETID, (st), (i)) -#define sk_SXNETID_delete_ptr(st, ptr) SKM_sk_delete_ptr(SXNETID, (st), (ptr)) -#define sk_SXNETID_insert(st, val, i) SKM_sk_insert(SXNETID, (st), (val), (i)) -#define sk_SXNETID_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(SXNETID, (st), (cmp)) -#define sk_SXNETID_dup(st) SKM_sk_dup(SXNETID, st) -#define sk_SXNETID_pop_free(st, free_func) SKM_sk_pop_free(SXNETID, (st), (free_func)) -#define sk_SXNETID_shift(st) SKM_sk_shift(SXNETID, (st)) -#define sk_SXNETID_pop(st) SKM_sk_pop(SXNETID, (st)) -#define sk_SXNETID_sort(st) SKM_sk_sort(SXNETID, (st)) -#define sk_SXNETID_is_sorted(st) SKM_sk_is_sorted(SXNETID, (st)) - -#define sk_UI_STRING_new(cmp) SKM_sk_new(UI_STRING, (cmp)) -#define sk_UI_STRING_new_null() SKM_sk_new_null(UI_STRING) -#define sk_UI_STRING_free(st) SKM_sk_free(UI_STRING, (st)) -#define sk_UI_STRING_num(st) SKM_sk_num(UI_STRING, (st)) -#define sk_UI_STRING_value(st, i) SKM_sk_value(UI_STRING, (st), (i)) -#define sk_UI_STRING_set(st, i, val) SKM_sk_set(UI_STRING, (st), (i), (val)) -#define sk_UI_STRING_zero(st) SKM_sk_zero(UI_STRING, (st)) -#define sk_UI_STRING_push(st, val) SKM_sk_push(UI_STRING, (st), (val)) -#define sk_UI_STRING_unshift(st, val) SKM_sk_unshift(UI_STRING, (st), (val)) -#define sk_UI_STRING_find(st, val) SKM_sk_find(UI_STRING, (st), (val)) -#define sk_UI_STRING_find_ex(st, val) SKM_sk_find_ex(UI_STRING, (st), (val)) -#define sk_UI_STRING_delete(st, i) SKM_sk_delete(UI_STRING, (st), (i)) -#define sk_UI_STRING_delete_ptr(st, ptr) SKM_sk_delete_ptr(UI_STRING, (st), (ptr)) -#define sk_UI_STRING_insert(st, val, i) SKM_sk_insert(UI_STRING, (st), (val), (i)) -#define sk_UI_STRING_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(UI_STRING, (st), (cmp)) -#define sk_UI_STRING_dup(st) SKM_sk_dup(UI_STRING, st) -#define sk_UI_STRING_pop_free(st, free_func) SKM_sk_pop_free(UI_STRING, (st), (free_func)) -#define sk_UI_STRING_shift(st) SKM_sk_shift(UI_STRING, (st)) -#define sk_UI_STRING_pop(st) SKM_sk_pop(UI_STRING, (st)) -#define sk_UI_STRING_sort(st) SKM_sk_sort(UI_STRING, (st)) -#define sk_UI_STRING_is_sorted(st) SKM_sk_is_sorted(UI_STRING, (st)) - -#define sk_X509_new(cmp) SKM_sk_new(X509, (cmp)) -#define sk_X509_new_null() SKM_sk_new_null(X509) -#define sk_X509_free(st) SKM_sk_free(X509, (st)) -#define sk_X509_num(st) SKM_sk_num(X509, (st)) -#define sk_X509_value(st, i) SKM_sk_value(X509, (st), (i)) -#define sk_X509_set(st, i, val) SKM_sk_set(X509, (st), (i), (val)) -#define sk_X509_zero(st) SKM_sk_zero(X509, (st)) -#define sk_X509_push(st, val) SKM_sk_push(X509, (st), (val)) -#define sk_X509_unshift(st, val) SKM_sk_unshift(X509, (st), (val)) -#define sk_X509_find(st, val) SKM_sk_find(X509, (st), (val)) -#define sk_X509_find_ex(st, val) SKM_sk_find_ex(X509, (st), (val)) -#define sk_X509_delete(st, i) SKM_sk_delete(X509, (st), (i)) -#define sk_X509_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509, (st), (ptr)) -#define sk_X509_insert(st, val, i) SKM_sk_insert(X509, (st), (val), (i)) -#define sk_X509_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509, (st), (cmp)) -#define sk_X509_dup(st) SKM_sk_dup(X509, st) -#define sk_X509_pop_free(st, free_func) SKM_sk_pop_free(X509, (st), (free_func)) -#define sk_X509_shift(st) SKM_sk_shift(X509, (st)) -#define sk_X509_pop(st) SKM_sk_pop(X509, (st)) -#define sk_X509_sort(st) SKM_sk_sort(X509, (st)) -#define sk_X509_is_sorted(st) SKM_sk_is_sorted(X509, (st)) - -#define sk_X509V3_EXT_METHOD_new(cmp) SKM_sk_new(X509V3_EXT_METHOD, (cmp)) -#define sk_X509V3_EXT_METHOD_new_null() SKM_sk_new_null(X509V3_EXT_METHOD) -#define sk_X509V3_EXT_METHOD_free(st) SKM_sk_free(X509V3_EXT_METHOD, (st)) -#define sk_X509V3_EXT_METHOD_num(st) SKM_sk_num(X509V3_EXT_METHOD, (st)) -#define sk_X509V3_EXT_METHOD_value(st, i) SKM_sk_value(X509V3_EXT_METHOD, (st), (i)) -#define sk_X509V3_EXT_METHOD_set(st, i, val) SKM_sk_set(X509V3_EXT_METHOD, (st), (i), (val)) -#define sk_X509V3_EXT_METHOD_zero(st) SKM_sk_zero(X509V3_EXT_METHOD, (st)) -#define sk_X509V3_EXT_METHOD_push(st, val) SKM_sk_push(X509V3_EXT_METHOD, (st), (val)) -#define sk_X509V3_EXT_METHOD_unshift(st, val) SKM_sk_unshift(X509V3_EXT_METHOD, (st), (val)) -#define sk_X509V3_EXT_METHOD_find(st, val) SKM_sk_find(X509V3_EXT_METHOD, (st), (val)) -#define sk_X509V3_EXT_METHOD_find_ex(st, val) SKM_sk_find_ex(X509V3_EXT_METHOD, (st), (val)) -#define sk_X509V3_EXT_METHOD_delete(st, i) SKM_sk_delete(X509V3_EXT_METHOD, (st), (i)) -#define sk_X509V3_EXT_METHOD_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509V3_EXT_METHOD, (st), (ptr)) -#define sk_X509V3_EXT_METHOD_insert(st, val, i) SKM_sk_insert(X509V3_EXT_METHOD, (st), (val), (i)) -#define sk_X509V3_EXT_METHOD_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509V3_EXT_METHOD, (st), (cmp)) -#define sk_X509V3_EXT_METHOD_dup(st) SKM_sk_dup(X509V3_EXT_METHOD, st) -#define sk_X509V3_EXT_METHOD_pop_free(st, free_func) SKM_sk_pop_free(X509V3_EXT_METHOD, (st), (free_func)) -#define sk_X509V3_EXT_METHOD_shift(st) SKM_sk_shift(X509V3_EXT_METHOD, (st)) -#define sk_X509V3_EXT_METHOD_pop(st) SKM_sk_pop(X509V3_EXT_METHOD, (st)) -#define sk_X509V3_EXT_METHOD_sort(st) SKM_sk_sort(X509V3_EXT_METHOD, (st)) -#define sk_X509V3_EXT_METHOD_is_sorted(st) SKM_sk_is_sorted(X509V3_EXT_METHOD, (st)) - -#define sk_X509_ALGOR_new(cmp) SKM_sk_new(X509_ALGOR, (cmp)) -#define sk_X509_ALGOR_new_null() SKM_sk_new_null(X509_ALGOR) -#define sk_X509_ALGOR_free(st) SKM_sk_free(X509_ALGOR, (st)) -#define sk_X509_ALGOR_num(st) SKM_sk_num(X509_ALGOR, (st)) -#define sk_X509_ALGOR_value(st, i) SKM_sk_value(X509_ALGOR, (st), (i)) -#define sk_X509_ALGOR_set(st, i, val) SKM_sk_set(X509_ALGOR, (st), (i), (val)) -#define sk_X509_ALGOR_zero(st) SKM_sk_zero(X509_ALGOR, (st)) -#define sk_X509_ALGOR_push(st, val) SKM_sk_push(X509_ALGOR, (st), (val)) -#define sk_X509_ALGOR_unshift(st, val) SKM_sk_unshift(X509_ALGOR, (st), (val)) -#define sk_X509_ALGOR_find(st, val) SKM_sk_find(X509_ALGOR, (st), (val)) -#define sk_X509_ALGOR_find_ex(st, val) SKM_sk_find_ex(X509_ALGOR, (st), (val)) -#define sk_X509_ALGOR_delete(st, i) SKM_sk_delete(X509_ALGOR, (st), (i)) -#define sk_X509_ALGOR_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ALGOR, (st), (ptr)) -#define sk_X509_ALGOR_insert(st, val, i) SKM_sk_insert(X509_ALGOR, (st), (val), (i)) -#define sk_X509_ALGOR_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ALGOR, (st), (cmp)) -#define sk_X509_ALGOR_dup(st) SKM_sk_dup(X509_ALGOR, st) -#define sk_X509_ALGOR_pop_free(st, free_func) SKM_sk_pop_free(X509_ALGOR, (st), (free_func)) -#define sk_X509_ALGOR_shift(st) SKM_sk_shift(X509_ALGOR, (st)) -#define sk_X509_ALGOR_pop(st) SKM_sk_pop(X509_ALGOR, (st)) -#define sk_X509_ALGOR_sort(st) SKM_sk_sort(X509_ALGOR, (st)) -#define sk_X509_ALGOR_is_sorted(st) SKM_sk_is_sorted(X509_ALGOR, (st)) - -#define sk_X509_ATTRIBUTE_new(cmp) SKM_sk_new(X509_ATTRIBUTE, (cmp)) -#define sk_X509_ATTRIBUTE_new_null() SKM_sk_new_null(X509_ATTRIBUTE) -#define sk_X509_ATTRIBUTE_free(st) SKM_sk_free(X509_ATTRIBUTE, (st)) -#define sk_X509_ATTRIBUTE_num(st) SKM_sk_num(X509_ATTRIBUTE, (st)) -#define sk_X509_ATTRIBUTE_value(st, i) SKM_sk_value(X509_ATTRIBUTE, (st), (i)) -#define sk_X509_ATTRIBUTE_set(st, i, val) SKM_sk_set(X509_ATTRIBUTE, (st), (i), (val)) -#define sk_X509_ATTRIBUTE_zero(st) SKM_sk_zero(X509_ATTRIBUTE, (st)) -#define sk_X509_ATTRIBUTE_push(st, val) SKM_sk_push(X509_ATTRIBUTE, (st), (val)) -#define sk_X509_ATTRIBUTE_unshift(st, val) SKM_sk_unshift(X509_ATTRIBUTE, (st), (val)) -#define sk_X509_ATTRIBUTE_find(st, val) SKM_sk_find(X509_ATTRIBUTE, (st), (val)) -#define sk_X509_ATTRIBUTE_find_ex(st, val) SKM_sk_find_ex(X509_ATTRIBUTE, (st), (val)) -#define sk_X509_ATTRIBUTE_delete(st, i) SKM_sk_delete(X509_ATTRIBUTE, (st), (i)) -#define sk_X509_ATTRIBUTE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_ATTRIBUTE, (st), (ptr)) -#define sk_X509_ATTRIBUTE_insert(st, val, i) SKM_sk_insert(X509_ATTRIBUTE, (st), (val), (i)) -#define sk_X509_ATTRIBUTE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_ATTRIBUTE, (st), (cmp)) -#define sk_X509_ATTRIBUTE_dup(st) SKM_sk_dup(X509_ATTRIBUTE, st) -#define sk_X509_ATTRIBUTE_pop_free(st, free_func) SKM_sk_pop_free(X509_ATTRIBUTE, (st), (free_func)) -#define sk_X509_ATTRIBUTE_shift(st) SKM_sk_shift(X509_ATTRIBUTE, (st)) -#define sk_X509_ATTRIBUTE_pop(st) SKM_sk_pop(X509_ATTRIBUTE, (st)) -#define sk_X509_ATTRIBUTE_sort(st) SKM_sk_sort(X509_ATTRIBUTE, (st)) -#define sk_X509_ATTRIBUTE_is_sorted(st) SKM_sk_is_sorted(X509_ATTRIBUTE, (st)) - -#define sk_X509_CRL_new(cmp) SKM_sk_new(X509_CRL, (cmp)) -#define sk_X509_CRL_new_null() SKM_sk_new_null(X509_CRL) -#define sk_X509_CRL_free(st) SKM_sk_free(X509_CRL, (st)) -#define sk_X509_CRL_num(st) SKM_sk_num(X509_CRL, (st)) -#define sk_X509_CRL_value(st, i) SKM_sk_value(X509_CRL, (st), (i)) -#define sk_X509_CRL_set(st, i, val) SKM_sk_set(X509_CRL, (st), (i), (val)) -#define sk_X509_CRL_zero(st) SKM_sk_zero(X509_CRL, (st)) -#define sk_X509_CRL_push(st, val) SKM_sk_push(X509_CRL, (st), (val)) -#define sk_X509_CRL_unshift(st, val) SKM_sk_unshift(X509_CRL, (st), (val)) -#define sk_X509_CRL_find(st, val) SKM_sk_find(X509_CRL, (st), (val)) -#define sk_X509_CRL_find_ex(st, val) SKM_sk_find_ex(X509_CRL, (st), (val)) -#define sk_X509_CRL_delete(st, i) SKM_sk_delete(X509_CRL, (st), (i)) -#define sk_X509_CRL_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_CRL, (st), (ptr)) -#define sk_X509_CRL_insert(st, val, i) SKM_sk_insert(X509_CRL, (st), (val), (i)) -#define sk_X509_CRL_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_CRL, (st), (cmp)) -#define sk_X509_CRL_dup(st) SKM_sk_dup(X509_CRL, st) -#define sk_X509_CRL_pop_free(st, free_func) SKM_sk_pop_free(X509_CRL, (st), (free_func)) -#define sk_X509_CRL_shift(st) SKM_sk_shift(X509_CRL, (st)) -#define sk_X509_CRL_pop(st) SKM_sk_pop(X509_CRL, (st)) -#define sk_X509_CRL_sort(st) SKM_sk_sort(X509_CRL, (st)) -#define sk_X509_CRL_is_sorted(st) SKM_sk_is_sorted(X509_CRL, (st)) - -#define sk_X509_EXTENSION_new(cmp) SKM_sk_new(X509_EXTENSION, (cmp)) -#define sk_X509_EXTENSION_new_null() SKM_sk_new_null(X509_EXTENSION) -#define sk_X509_EXTENSION_free(st) SKM_sk_free(X509_EXTENSION, (st)) -#define sk_X509_EXTENSION_num(st) SKM_sk_num(X509_EXTENSION, (st)) -#define sk_X509_EXTENSION_value(st, i) SKM_sk_value(X509_EXTENSION, (st), (i)) -#define sk_X509_EXTENSION_set(st, i, val) SKM_sk_set(X509_EXTENSION, (st), (i), (val)) -#define sk_X509_EXTENSION_zero(st) SKM_sk_zero(X509_EXTENSION, (st)) -#define sk_X509_EXTENSION_push(st, val) SKM_sk_push(X509_EXTENSION, (st), (val)) -#define sk_X509_EXTENSION_unshift(st, val) SKM_sk_unshift(X509_EXTENSION, (st), (val)) -#define sk_X509_EXTENSION_find(st, val) SKM_sk_find(X509_EXTENSION, (st), (val)) -#define sk_X509_EXTENSION_find_ex(st, val) SKM_sk_find_ex(X509_EXTENSION, (st), (val)) -#define sk_X509_EXTENSION_delete(st, i) SKM_sk_delete(X509_EXTENSION, (st), (i)) -#define sk_X509_EXTENSION_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_EXTENSION, (st), (ptr)) -#define sk_X509_EXTENSION_insert(st, val, i) SKM_sk_insert(X509_EXTENSION, (st), (val), (i)) -#define sk_X509_EXTENSION_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_EXTENSION, (st), (cmp)) -#define sk_X509_EXTENSION_dup(st) SKM_sk_dup(X509_EXTENSION, st) -#define sk_X509_EXTENSION_pop_free(st, free_func) SKM_sk_pop_free(X509_EXTENSION, (st), (free_func)) -#define sk_X509_EXTENSION_shift(st) SKM_sk_shift(X509_EXTENSION, (st)) -#define sk_X509_EXTENSION_pop(st) SKM_sk_pop(X509_EXTENSION, (st)) -#define sk_X509_EXTENSION_sort(st) SKM_sk_sort(X509_EXTENSION, (st)) -#define sk_X509_EXTENSION_is_sorted(st) SKM_sk_is_sorted(X509_EXTENSION, (st)) - -#define sk_X509_INFO_new(cmp) SKM_sk_new(X509_INFO, (cmp)) -#define sk_X509_INFO_new_null() SKM_sk_new_null(X509_INFO) -#define sk_X509_INFO_free(st) SKM_sk_free(X509_INFO, (st)) -#define sk_X509_INFO_num(st) SKM_sk_num(X509_INFO, (st)) -#define sk_X509_INFO_value(st, i) SKM_sk_value(X509_INFO, (st), (i)) -#define sk_X509_INFO_set(st, i, val) SKM_sk_set(X509_INFO, (st), (i), (val)) -#define sk_X509_INFO_zero(st) SKM_sk_zero(X509_INFO, (st)) -#define sk_X509_INFO_push(st, val) SKM_sk_push(X509_INFO, (st), (val)) -#define sk_X509_INFO_unshift(st, val) SKM_sk_unshift(X509_INFO, (st), (val)) -#define sk_X509_INFO_find(st, val) SKM_sk_find(X509_INFO, (st), (val)) -#define sk_X509_INFO_find_ex(st, val) SKM_sk_find_ex(X509_INFO, (st), (val)) -#define sk_X509_INFO_delete(st, i) SKM_sk_delete(X509_INFO, (st), (i)) -#define sk_X509_INFO_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_INFO, (st), (ptr)) -#define sk_X509_INFO_insert(st, val, i) SKM_sk_insert(X509_INFO, (st), (val), (i)) -#define sk_X509_INFO_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_INFO, (st), (cmp)) -#define sk_X509_INFO_dup(st) SKM_sk_dup(X509_INFO, st) -#define sk_X509_INFO_pop_free(st, free_func) SKM_sk_pop_free(X509_INFO, (st), (free_func)) -#define sk_X509_INFO_shift(st) SKM_sk_shift(X509_INFO, (st)) -#define sk_X509_INFO_pop(st) SKM_sk_pop(X509_INFO, (st)) -#define sk_X509_INFO_sort(st) SKM_sk_sort(X509_INFO, (st)) -#define sk_X509_INFO_is_sorted(st) SKM_sk_is_sorted(X509_INFO, (st)) - -#define sk_X509_LOOKUP_new(cmp) SKM_sk_new(X509_LOOKUP, (cmp)) -#define sk_X509_LOOKUP_new_null() SKM_sk_new_null(X509_LOOKUP) -#define sk_X509_LOOKUP_free(st) SKM_sk_free(X509_LOOKUP, (st)) -#define sk_X509_LOOKUP_num(st) SKM_sk_num(X509_LOOKUP, (st)) -#define sk_X509_LOOKUP_value(st, i) SKM_sk_value(X509_LOOKUP, (st), (i)) -#define sk_X509_LOOKUP_set(st, i, val) SKM_sk_set(X509_LOOKUP, (st), (i), (val)) -#define sk_X509_LOOKUP_zero(st) SKM_sk_zero(X509_LOOKUP, (st)) -#define sk_X509_LOOKUP_push(st, val) SKM_sk_push(X509_LOOKUP, (st), (val)) -#define sk_X509_LOOKUP_unshift(st, val) SKM_sk_unshift(X509_LOOKUP, (st), (val)) -#define sk_X509_LOOKUP_find(st, val) SKM_sk_find(X509_LOOKUP, (st), (val)) -#define sk_X509_LOOKUP_find_ex(st, val) SKM_sk_find_ex(X509_LOOKUP, (st), (val)) -#define sk_X509_LOOKUP_delete(st, i) SKM_sk_delete(X509_LOOKUP, (st), (i)) -#define sk_X509_LOOKUP_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_LOOKUP, (st), (ptr)) -#define sk_X509_LOOKUP_insert(st, val, i) SKM_sk_insert(X509_LOOKUP, (st), (val), (i)) -#define sk_X509_LOOKUP_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_LOOKUP, (st), (cmp)) -#define sk_X509_LOOKUP_dup(st) SKM_sk_dup(X509_LOOKUP, st) -#define sk_X509_LOOKUP_pop_free(st, free_func) SKM_sk_pop_free(X509_LOOKUP, (st), (free_func)) -#define sk_X509_LOOKUP_shift(st) SKM_sk_shift(X509_LOOKUP, (st)) -#define sk_X509_LOOKUP_pop(st) SKM_sk_pop(X509_LOOKUP, (st)) -#define sk_X509_LOOKUP_sort(st) SKM_sk_sort(X509_LOOKUP, (st)) -#define sk_X509_LOOKUP_is_sorted(st) SKM_sk_is_sorted(X509_LOOKUP, (st)) - -#define sk_X509_NAME_new(cmp) SKM_sk_new(X509_NAME, (cmp)) -#define sk_X509_NAME_new_null() SKM_sk_new_null(X509_NAME) -#define sk_X509_NAME_free(st) SKM_sk_free(X509_NAME, (st)) -#define sk_X509_NAME_num(st) SKM_sk_num(X509_NAME, (st)) -#define sk_X509_NAME_value(st, i) SKM_sk_value(X509_NAME, (st), (i)) -#define sk_X509_NAME_set(st, i, val) SKM_sk_set(X509_NAME, (st), (i), (val)) -#define sk_X509_NAME_zero(st) SKM_sk_zero(X509_NAME, (st)) -#define sk_X509_NAME_push(st, val) SKM_sk_push(X509_NAME, (st), (val)) -#define sk_X509_NAME_unshift(st, val) SKM_sk_unshift(X509_NAME, (st), (val)) -#define sk_X509_NAME_find(st, val) SKM_sk_find(X509_NAME, (st), (val)) -#define sk_X509_NAME_find_ex(st, val) SKM_sk_find_ex(X509_NAME, (st), (val)) -#define sk_X509_NAME_delete(st, i) SKM_sk_delete(X509_NAME, (st), (i)) -#define sk_X509_NAME_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME, (st), (ptr)) -#define sk_X509_NAME_insert(st, val, i) SKM_sk_insert(X509_NAME, (st), (val), (i)) -#define sk_X509_NAME_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME, (st), (cmp)) -#define sk_X509_NAME_dup(st) SKM_sk_dup(X509_NAME, st) -#define sk_X509_NAME_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME, (st), (free_func)) -#define sk_X509_NAME_shift(st) SKM_sk_shift(X509_NAME, (st)) -#define sk_X509_NAME_pop(st) SKM_sk_pop(X509_NAME, (st)) -#define sk_X509_NAME_sort(st) SKM_sk_sort(X509_NAME, (st)) -#define sk_X509_NAME_is_sorted(st) SKM_sk_is_sorted(X509_NAME, (st)) - -#define sk_X509_NAME_ENTRY_new(cmp) SKM_sk_new(X509_NAME_ENTRY, (cmp)) -#define sk_X509_NAME_ENTRY_new_null() SKM_sk_new_null(X509_NAME_ENTRY) -#define sk_X509_NAME_ENTRY_free(st) SKM_sk_free(X509_NAME_ENTRY, (st)) -#define sk_X509_NAME_ENTRY_num(st) SKM_sk_num(X509_NAME_ENTRY, (st)) -#define sk_X509_NAME_ENTRY_value(st, i) SKM_sk_value(X509_NAME_ENTRY, (st), (i)) -#define sk_X509_NAME_ENTRY_set(st, i, val) SKM_sk_set(X509_NAME_ENTRY, (st), (i), (val)) -#define sk_X509_NAME_ENTRY_zero(st) SKM_sk_zero(X509_NAME_ENTRY, (st)) -#define sk_X509_NAME_ENTRY_push(st, val) SKM_sk_push(X509_NAME_ENTRY, (st), (val)) -#define sk_X509_NAME_ENTRY_unshift(st, val) SKM_sk_unshift(X509_NAME_ENTRY, (st), (val)) -#define sk_X509_NAME_ENTRY_find(st, val) SKM_sk_find(X509_NAME_ENTRY, (st), (val)) -#define sk_X509_NAME_ENTRY_find_ex(st, val) SKM_sk_find_ex(X509_NAME_ENTRY, (st), (val)) -#define sk_X509_NAME_ENTRY_delete(st, i) SKM_sk_delete(X509_NAME_ENTRY, (st), (i)) -#define sk_X509_NAME_ENTRY_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_NAME_ENTRY, (st), (ptr)) -#define sk_X509_NAME_ENTRY_insert(st, val, i) SKM_sk_insert(X509_NAME_ENTRY, (st), (val), (i)) -#define sk_X509_NAME_ENTRY_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_NAME_ENTRY, (st), (cmp)) -#define sk_X509_NAME_ENTRY_dup(st) SKM_sk_dup(X509_NAME_ENTRY, st) -#define sk_X509_NAME_ENTRY_pop_free(st, free_func) SKM_sk_pop_free(X509_NAME_ENTRY, (st), (free_func)) -#define sk_X509_NAME_ENTRY_shift(st) SKM_sk_shift(X509_NAME_ENTRY, (st)) -#define sk_X509_NAME_ENTRY_pop(st) SKM_sk_pop(X509_NAME_ENTRY, (st)) -#define sk_X509_NAME_ENTRY_sort(st) SKM_sk_sort(X509_NAME_ENTRY, (st)) -#define sk_X509_NAME_ENTRY_is_sorted(st) SKM_sk_is_sorted(X509_NAME_ENTRY, (st)) - -#define sk_X509_OBJECT_new(cmp) SKM_sk_new(X509_OBJECT, (cmp)) -#define sk_X509_OBJECT_new_null() SKM_sk_new_null(X509_OBJECT) -#define sk_X509_OBJECT_free(st) SKM_sk_free(X509_OBJECT, (st)) -#define sk_X509_OBJECT_num(st) SKM_sk_num(X509_OBJECT, (st)) -#define sk_X509_OBJECT_value(st, i) SKM_sk_value(X509_OBJECT, (st), (i)) -#define sk_X509_OBJECT_set(st, i, val) SKM_sk_set(X509_OBJECT, (st), (i), (val)) -#define sk_X509_OBJECT_zero(st) SKM_sk_zero(X509_OBJECT, (st)) -#define sk_X509_OBJECT_push(st, val) SKM_sk_push(X509_OBJECT, (st), (val)) -#define sk_X509_OBJECT_unshift(st, val) SKM_sk_unshift(X509_OBJECT, (st), (val)) -#define sk_X509_OBJECT_find(st, val) SKM_sk_find(X509_OBJECT, (st), (val)) -#define sk_X509_OBJECT_find_ex(st, val) SKM_sk_find_ex(X509_OBJECT, (st), (val)) -#define sk_X509_OBJECT_delete(st, i) SKM_sk_delete(X509_OBJECT, (st), (i)) -#define sk_X509_OBJECT_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_OBJECT, (st), (ptr)) -#define sk_X509_OBJECT_insert(st, val, i) SKM_sk_insert(X509_OBJECT, (st), (val), (i)) -#define sk_X509_OBJECT_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_OBJECT, (st), (cmp)) -#define sk_X509_OBJECT_dup(st) SKM_sk_dup(X509_OBJECT, st) -#define sk_X509_OBJECT_pop_free(st, free_func) SKM_sk_pop_free(X509_OBJECT, (st), (free_func)) -#define sk_X509_OBJECT_shift(st) SKM_sk_shift(X509_OBJECT, (st)) -#define sk_X509_OBJECT_pop(st) SKM_sk_pop(X509_OBJECT, (st)) -#define sk_X509_OBJECT_sort(st) SKM_sk_sort(X509_OBJECT, (st)) -#define sk_X509_OBJECT_is_sorted(st) SKM_sk_is_sorted(X509_OBJECT, (st)) - -#define sk_X509_POLICY_DATA_new(cmp) SKM_sk_new(X509_POLICY_DATA, (cmp)) -#define sk_X509_POLICY_DATA_new_null() SKM_sk_new_null(X509_POLICY_DATA) -#define sk_X509_POLICY_DATA_free(st) SKM_sk_free(X509_POLICY_DATA, (st)) -#define sk_X509_POLICY_DATA_num(st) SKM_sk_num(X509_POLICY_DATA, (st)) -#define sk_X509_POLICY_DATA_value(st, i) SKM_sk_value(X509_POLICY_DATA, (st), (i)) -#define sk_X509_POLICY_DATA_set(st, i, val) SKM_sk_set(X509_POLICY_DATA, (st), (i), (val)) -#define sk_X509_POLICY_DATA_zero(st) SKM_sk_zero(X509_POLICY_DATA, (st)) -#define sk_X509_POLICY_DATA_push(st, val) SKM_sk_push(X509_POLICY_DATA, (st), (val)) -#define sk_X509_POLICY_DATA_unshift(st, val) SKM_sk_unshift(X509_POLICY_DATA, (st), (val)) -#define sk_X509_POLICY_DATA_find(st, val) SKM_sk_find(X509_POLICY_DATA, (st), (val)) -#define sk_X509_POLICY_DATA_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_DATA, (st), (val)) -#define sk_X509_POLICY_DATA_delete(st, i) SKM_sk_delete(X509_POLICY_DATA, (st), (i)) -#define sk_X509_POLICY_DATA_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_DATA, (st), (ptr)) -#define sk_X509_POLICY_DATA_insert(st, val, i) SKM_sk_insert(X509_POLICY_DATA, (st), (val), (i)) -#define sk_X509_POLICY_DATA_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_DATA, (st), (cmp)) -#define sk_X509_POLICY_DATA_dup(st) SKM_sk_dup(X509_POLICY_DATA, st) -#define sk_X509_POLICY_DATA_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_DATA, (st), (free_func)) -#define sk_X509_POLICY_DATA_shift(st) SKM_sk_shift(X509_POLICY_DATA, (st)) -#define sk_X509_POLICY_DATA_pop(st) SKM_sk_pop(X509_POLICY_DATA, (st)) -#define sk_X509_POLICY_DATA_sort(st) SKM_sk_sort(X509_POLICY_DATA, (st)) -#define sk_X509_POLICY_DATA_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_DATA, (st)) - -#define sk_X509_POLICY_NODE_new(cmp) SKM_sk_new(X509_POLICY_NODE, (cmp)) -#define sk_X509_POLICY_NODE_new_null() SKM_sk_new_null(X509_POLICY_NODE) -#define sk_X509_POLICY_NODE_free(st) SKM_sk_free(X509_POLICY_NODE, (st)) -#define sk_X509_POLICY_NODE_num(st) SKM_sk_num(X509_POLICY_NODE, (st)) -#define sk_X509_POLICY_NODE_value(st, i) SKM_sk_value(X509_POLICY_NODE, (st), (i)) -#define sk_X509_POLICY_NODE_set(st, i, val) SKM_sk_set(X509_POLICY_NODE, (st), (i), (val)) -#define sk_X509_POLICY_NODE_zero(st) SKM_sk_zero(X509_POLICY_NODE, (st)) -#define sk_X509_POLICY_NODE_push(st, val) SKM_sk_push(X509_POLICY_NODE, (st), (val)) -#define sk_X509_POLICY_NODE_unshift(st, val) SKM_sk_unshift(X509_POLICY_NODE, (st), (val)) -#define sk_X509_POLICY_NODE_find(st, val) SKM_sk_find(X509_POLICY_NODE, (st), (val)) -#define sk_X509_POLICY_NODE_find_ex(st, val) SKM_sk_find_ex(X509_POLICY_NODE, (st), (val)) -#define sk_X509_POLICY_NODE_delete(st, i) SKM_sk_delete(X509_POLICY_NODE, (st), (i)) -#define sk_X509_POLICY_NODE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_POLICY_NODE, (st), (ptr)) -#define sk_X509_POLICY_NODE_insert(st, val, i) SKM_sk_insert(X509_POLICY_NODE, (st), (val), (i)) -#define sk_X509_POLICY_NODE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_POLICY_NODE, (st), (cmp)) -#define sk_X509_POLICY_NODE_dup(st) SKM_sk_dup(X509_POLICY_NODE, st) -#define sk_X509_POLICY_NODE_pop_free(st, free_func) SKM_sk_pop_free(X509_POLICY_NODE, (st), (free_func)) -#define sk_X509_POLICY_NODE_shift(st) SKM_sk_shift(X509_POLICY_NODE, (st)) -#define sk_X509_POLICY_NODE_pop(st) SKM_sk_pop(X509_POLICY_NODE, (st)) -#define sk_X509_POLICY_NODE_sort(st) SKM_sk_sort(X509_POLICY_NODE, (st)) -#define sk_X509_POLICY_NODE_is_sorted(st) SKM_sk_is_sorted(X509_POLICY_NODE, (st)) - -#define sk_X509_PURPOSE_new(cmp) SKM_sk_new(X509_PURPOSE, (cmp)) -#define sk_X509_PURPOSE_new_null() SKM_sk_new_null(X509_PURPOSE) -#define sk_X509_PURPOSE_free(st) SKM_sk_free(X509_PURPOSE, (st)) -#define sk_X509_PURPOSE_num(st) SKM_sk_num(X509_PURPOSE, (st)) -#define sk_X509_PURPOSE_value(st, i) SKM_sk_value(X509_PURPOSE, (st), (i)) -#define sk_X509_PURPOSE_set(st, i, val) SKM_sk_set(X509_PURPOSE, (st), (i), (val)) -#define sk_X509_PURPOSE_zero(st) SKM_sk_zero(X509_PURPOSE, (st)) -#define sk_X509_PURPOSE_push(st, val) SKM_sk_push(X509_PURPOSE, (st), (val)) -#define sk_X509_PURPOSE_unshift(st, val) SKM_sk_unshift(X509_PURPOSE, (st), (val)) -#define sk_X509_PURPOSE_find(st, val) SKM_sk_find(X509_PURPOSE, (st), (val)) -#define sk_X509_PURPOSE_find_ex(st, val) SKM_sk_find_ex(X509_PURPOSE, (st), (val)) -#define sk_X509_PURPOSE_delete(st, i) SKM_sk_delete(X509_PURPOSE, (st), (i)) -#define sk_X509_PURPOSE_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_PURPOSE, (st), (ptr)) -#define sk_X509_PURPOSE_insert(st, val, i) SKM_sk_insert(X509_PURPOSE, (st), (val), (i)) -#define sk_X509_PURPOSE_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_PURPOSE, (st), (cmp)) -#define sk_X509_PURPOSE_dup(st) SKM_sk_dup(X509_PURPOSE, st) -#define sk_X509_PURPOSE_pop_free(st, free_func) SKM_sk_pop_free(X509_PURPOSE, (st), (free_func)) -#define sk_X509_PURPOSE_shift(st) SKM_sk_shift(X509_PURPOSE, (st)) -#define sk_X509_PURPOSE_pop(st) SKM_sk_pop(X509_PURPOSE, (st)) -#define sk_X509_PURPOSE_sort(st) SKM_sk_sort(X509_PURPOSE, (st)) -#define sk_X509_PURPOSE_is_sorted(st) SKM_sk_is_sorted(X509_PURPOSE, (st)) - -#define sk_X509_REVOKED_new(cmp) SKM_sk_new(X509_REVOKED, (cmp)) -#define sk_X509_REVOKED_new_null() SKM_sk_new_null(X509_REVOKED) -#define sk_X509_REVOKED_free(st) SKM_sk_free(X509_REVOKED, (st)) -#define sk_X509_REVOKED_num(st) SKM_sk_num(X509_REVOKED, (st)) -#define sk_X509_REVOKED_value(st, i) SKM_sk_value(X509_REVOKED, (st), (i)) -#define sk_X509_REVOKED_set(st, i, val) SKM_sk_set(X509_REVOKED, (st), (i), (val)) -#define sk_X509_REVOKED_zero(st) SKM_sk_zero(X509_REVOKED, (st)) -#define sk_X509_REVOKED_push(st, val) SKM_sk_push(X509_REVOKED, (st), (val)) -#define sk_X509_REVOKED_unshift(st, val) SKM_sk_unshift(X509_REVOKED, (st), (val)) -#define sk_X509_REVOKED_find(st, val) SKM_sk_find(X509_REVOKED, (st), (val)) -#define sk_X509_REVOKED_find_ex(st, val) SKM_sk_find_ex(X509_REVOKED, (st), (val)) -#define sk_X509_REVOKED_delete(st, i) SKM_sk_delete(X509_REVOKED, (st), (i)) -#define sk_X509_REVOKED_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_REVOKED, (st), (ptr)) -#define sk_X509_REVOKED_insert(st, val, i) SKM_sk_insert(X509_REVOKED, (st), (val), (i)) -#define sk_X509_REVOKED_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_REVOKED, (st), (cmp)) -#define sk_X509_REVOKED_dup(st) SKM_sk_dup(X509_REVOKED, st) -#define sk_X509_REVOKED_pop_free(st, free_func) SKM_sk_pop_free(X509_REVOKED, (st), (free_func)) -#define sk_X509_REVOKED_shift(st) SKM_sk_shift(X509_REVOKED, (st)) -#define sk_X509_REVOKED_pop(st) SKM_sk_pop(X509_REVOKED, (st)) -#define sk_X509_REVOKED_sort(st) SKM_sk_sort(X509_REVOKED, (st)) -#define sk_X509_REVOKED_is_sorted(st) SKM_sk_is_sorted(X509_REVOKED, (st)) - -#define sk_X509_TRUST_new(cmp) SKM_sk_new(X509_TRUST, (cmp)) -#define sk_X509_TRUST_new_null() SKM_sk_new_null(X509_TRUST) -#define sk_X509_TRUST_free(st) SKM_sk_free(X509_TRUST, (st)) -#define sk_X509_TRUST_num(st) SKM_sk_num(X509_TRUST, (st)) -#define sk_X509_TRUST_value(st, i) SKM_sk_value(X509_TRUST, (st), (i)) -#define sk_X509_TRUST_set(st, i, val) SKM_sk_set(X509_TRUST, (st), (i), (val)) -#define sk_X509_TRUST_zero(st) SKM_sk_zero(X509_TRUST, (st)) -#define sk_X509_TRUST_push(st, val) SKM_sk_push(X509_TRUST, (st), (val)) -#define sk_X509_TRUST_unshift(st, val) SKM_sk_unshift(X509_TRUST, (st), (val)) -#define sk_X509_TRUST_find(st, val) SKM_sk_find(X509_TRUST, (st), (val)) -#define sk_X509_TRUST_find_ex(st, val) SKM_sk_find_ex(X509_TRUST, (st), (val)) -#define sk_X509_TRUST_delete(st, i) SKM_sk_delete(X509_TRUST, (st), (i)) -#define sk_X509_TRUST_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_TRUST, (st), (ptr)) -#define sk_X509_TRUST_insert(st, val, i) SKM_sk_insert(X509_TRUST, (st), (val), (i)) -#define sk_X509_TRUST_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_TRUST, (st), (cmp)) -#define sk_X509_TRUST_dup(st) SKM_sk_dup(X509_TRUST, st) -#define sk_X509_TRUST_pop_free(st, free_func) SKM_sk_pop_free(X509_TRUST, (st), (free_func)) -#define sk_X509_TRUST_shift(st) SKM_sk_shift(X509_TRUST, (st)) -#define sk_X509_TRUST_pop(st) SKM_sk_pop(X509_TRUST, (st)) -#define sk_X509_TRUST_sort(st) SKM_sk_sort(X509_TRUST, (st)) -#define sk_X509_TRUST_is_sorted(st) SKM_sk_is_sorted(X509_TRUST, (st)) - -#define sk_X509_VERIFY_PARAM_new(cmp) SKM_sk_new(X509_VERIFY_PARAM, (cmp)) -#define sk_X509_VERIFY_PARAM_new_null() SKM_sk_new_null(X509_VERIFY_PARAM) -#define sk_X509_VERIFY_PARAM_free(st) SKM_sk_free(X509_VERIFY_PARAM, (st)) -#define sk_X509_VERIFY_PARAM_num(st) SKM_sk_num(X509_VERIFY_PARAM, (st)) -#define sk_X509_VERIFY_PARAM_value(st, i) SKM_sk_value(X509_VERIFY_PARAM, (st), (i)) -#define sk_X509_VERIFY_PARAM_set(st, i, val) SKM_sk_set(X509_VERIFY_PARAM, (st), (i), (val)) -#define sk_X509_VERIFY_PARAM_zero(st) SKM_sk_zero(X509_VERIFY_PARAM, (st)) -#define sk_X509_VERIFY_PARAM_push(st, val) SKM_sk_push(X509_VERIFY_PARAM, (st), (val)) -#define sk_X509_VERIFY_PARAM_unshift(st, val) SKM_sk_unshift(X509_VERIFY_PARAM, (st), (val)) -#define sk_X509_VERIFY_PARAM_find(st, val) SKM_sk_find(X509_VERIFY_PARAM, (st), (val)) -#define sk_X509_VERIFY_PARAM_find_ex(st, val) SKM_sk_find_ex(X509_VERIFY_PARAM, (st), (val)) -#define sk_X509_VERIFY_PARAM_delete(st, i) SKM_sk_delete(X509_VERIFY_PARAM, (st), (i)) -#define sk_X509_VERIFY_PARAM_delete_ptr(st, ptr) SKM_sk_delete_ptr(X509_VERIFY_PARAM, (st), (ptr)) -#define sk_X509_VERIFY_PARAM_insert(st, val, i) SKM_sk_insert(X509_VERIFY_PARAM, (st), (val), (i)) -#define sk_X509_VERIFY_PARAM_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(X509_VERIFY_PARAM, (st), (cmp)) -#define sk_X509_VERIFY_PARAM_dup(st) SKM_sk_dup(X509_VERIFY_PARAM, st) -#define sk_X509_VERIFY_PARAM_pop_free(st, free_func) SKM_sk_pop_free(X509_VERIFY_PARAM, (st), (free_func)) -#define sk_X509_VERIFY_PARAM_shift(st) SKM_sk_shift(X509_VERIFY_PARAM, (st)) -#define sk_X509_VERIFY_PARAM_pop(st) SKM_sk_pop(X509_VERIFY_PARAM, (st)) -#define sk_X509_VERIFY_PARAM_sort(st) SKM_sk_sort(X509_VERIFY_PARAM, (st)) -#define sk_X509_VERIFY_PARAM_is_sorted(st) SKM_sk_is_sorted(X509_VERIFY_PARAM, (st)) - -#define sk_nid_triple_new(cmp) SKM_sk_new(nid_triple, (cmp)) -#define sk_nid_triple_new_null() SKM_sk_new_null(nid_triple) -#define sk_nid_triple_free(st) SKM_sk_free(nid_triple, (st)) -#define sk_nid_triple_num(st) SKM_sk_num(nid_triple, (st)) -#define sk_nid_triple_value(st, i) SKM_sk_value(nid_triple, (st), (i)) -#define sk_nid_triple_set(st, i, val) SKM_sk_set(nid_triple, (st), (i), (val)) -#define sk_nid_triple_zero(st) SKM_sk_zero(nid_triple, (st)) -#define sk_nid_triple_push(st, val) SKM_sk_push(nid_triple, (st), (val)) -#define sk_nid_triple_unshift(st, val) SKM_sk_unshift(nid_triple, (st), (val)) -#define sk_nid_triple_find(st, val) SKM_sk_find(nid_triple, (st), (val)) -#define sk_nid_triple_find_ex(st, val) SKM_sk_find_ex(nid_triple, (st), (val)) -#define sk_nid_triple_delete(st, i) SKM_sk_delete(nid_triple, (st), (i)) -#define sk_nid_triple_delete_ptr(st, ptr) SKM_sk_delete_ptr(nid_triple, (st), (ptr)) -#define sk_nid_triple_insert(st, val, i) SKM_sk_insert(nid_triple, (st), (val), (i)) -#define sk_nid_triple_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(nid_triple, (st), (cmp)) -#define sk_nid_triple_dup(st) SKM_sk_dup(nid_triple, st) -#define sk_nid_triple_pop_free(st, free_func) SKM_sk_pop_free(nid_triple, (st), (free_func)) -#define sk_nid_triple_shift(st) SKM_sk_shift(nid_triple, (st)) -#define sk_nid_triple_pop(st) SKM_sk_pop(nid_triple, (st)) -#define sk_nid_triple_sort(st) SKM_sk_sort(nid_triple, (st)) -#define sk_nid_triple_is_sorted(st) SKM_sk_is_sorted(nid_triple, (st)) - -#define sk_void_new(cmp) SKM_sk_new(void, (cmp)) -#define sk_void_new_null() SKM_sk_new_null(void) -#define sk_void_free(st) SKM_sk_free(void, (st)) -#define sk_void_num(st) SKM_sk_num(void, (st)) -#define sk_void_value(st, i) SKM_sk_value(void, (st), (i)) -#define sk_void_set(st, i, val) SKM_sk_set(void, (st), (i), (val)) -#define sk_void_zero(st) SKM_sk_zero(void, (st)) -#define sk_void_push(st, val) SKM_sk_push(void, (st), (val)) -#define sk_void_unshift(st, val) SKM_sk_unshift(void, (st), (val)) -#define sk_void_find(st, val) SKM_sk_find(void, (st), (val)) -#define sk_void_find_ex(st, val) SKM_sk_find_ex(void, (st), (val)) -#define sk_void_delete(st, i) SKM_sk_delete(void, (st), (i)) -#define sk_void_delete_ptr(st, ptr) SKM_sk_delete_ptr(void, (st), (ptr)) -#define sk_void_insert(st, val, i) SKM_sk_insert(void, (st), (val), (i)) -#define sk_void_set_cmp_func(st, cmp) SKM_sk_set_cmp_func(void, (st), (cmp)) -#define sk_void_dup(st) SKM_sk_dup(void, st) -#define sk_void_pop_free(st, free_func) SKM_sk_pop_free(void, (st), (free_func)) -#define sk_void_shift(st) SKM_sk_shift(void, (st)) -#define sk_void_pop(st) SKM_sk_pop(void, (st)) -#define sk_void_sort(st) SKM_sk_sort(void, (st)) -#define sk_void_is_sorted(st) SKM_sk_is_sorted(void, (st)) - -#define sk_OPENSSL_STRING_new(cmp) ((STACK_OF(OPENSSL_STRING) *)sk_new(CHECKED_SK_CMP_FUNC(char, cmp))) -#define sk_OPENSSL_STRING_new_null() ((STACK_OF(OPENSSL_STRING) *)sk_new_null()) -#define sk_OPENSSL_STRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) -#define sk_OPENSSL_STRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) -#define sk_OPENSSL_STRING_value(st, i) ((OPENSSL_STRING)sk_value(CHECKED_STACK_OF(OPENSSL_STRING, st), i)) -#define sk_OPENSSL_STRING_num(st) SKM_sk_num(OPENSSL_STRING, st) -#define sk_OPENSSL_STRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_FREE_FUNC2(OPENSSL_STRING, free_func)) -#define sk_OPENSSL_STRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val), i) -#define sk_OPENSSL_STRING_free(st) SKM_sk_free(OPENSSL_STRING, st) -#define sk_OPENSSL_STRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_STRING, st), i, CHECKED_PTR_OF(char, val)) -#define sk_OPENSSL_STRING_zero(st) SKM_sk_zero(OPENSSL_STRING, (st)) -#define sk_OPENSSL_STRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, val)) -#define sk_OPENSSL_STRING_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_STRING), st), CHECKED_CONST_PTR_OF(char, val)) -#define sk_OPENSSL_STRING_delete(st, i) SKM_sk_delete(OPENSSL_STRING, (st), (i)) -#define sk_OPENSSL_STRING_delete_ptr(st, ptr) (OPENSSL_STRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_PTR_OF(char, ptr)) -#define sk_OPENSSL_STRING_set_cmp_func(st, cmp) \ - ((int (*)(const char * const *,const char * const *)) \ - sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_STRING, st), CHECKED_SK_CMP_FUNC(char, cmp))) -#define sk_OPENSSL_STRING_dup(st) SKM_sk_dup(OPENSSL_STRING, st) -#define sk_OPENSSL_STRING_shift(st) SKM_sk_shift(OPENSSL_STRING, (st)) -#define sk_OPENSSL_STRING_pop(st) (char *)sk_pop(CHECKED_STACK_OF(OPENSSL_STRING, st)) -#define sk_OPENSSL_STRING_sort(st) SKM_sk_sort(OPENSSL_STRING, (st)) -#define sk_OPENSSL_STRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_STRING, (st)) - - -#define sk_OPENSSL_BLOCK_new(cmp) ((STACK_OF(OPENSSL_BLOCK) *)sk_new(CHECKED_SK_CMP_FUNC(void, cmp))) -#define sk_OPENSSL_BLOCK_new_null() ((STACK_OF(OPENSSL_BLOCK) *)sk_new_null()) -#define sk_OPENSSL_BLOCK_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) -#define sk_OPENSSL_BLOCK_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) -#define sk_OPENSSL_BLOCK_value(st, i) ((OPENSSL_BLOCK)sk_value(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i)) -#define sk_OPENSSL_BLOCK_num(st) SKM_sk_num(OPENSSL_BLOCK, st) -#define sk_OPENSSL_BLOCK_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_FREE_FUNC2(OPENSSL_BLOCK, free_func)) -#define sk_OPENSSL_BLOCK_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val), i) -#define sk_OPENSSL_BLOCK_free(st) SKM_sk_free(OPENSSL_BLOCK, st) -#define sk_OPENSSL_BLOCK_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_BLOCK, st), i, CHECKED_PTR_OF(void, val)) -#define sk_OPENSSL_BLOCK_zero(st) SKM_sk_zero(OPENSSL_BLOCK, (st)) -#define sk_OPENSSL_BLOCK_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, val)) -#define sk_OPENSSL_BLOCK_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_BLOCK), st), CHECKED_CONST_PTR_OF(void, val)) -#define sk_OPENSSL_BLOCK_delete(st, i) SKM_sk_delete(OPENSSL_BLOCK, (st), (i)) -#define sk_OPENSSL_BLOCK_delete_ptr(st, ptr) (OPENSSL_BLOCK *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_PTR_OF(void, ptr)) -#define sk_OPENSSL_BLOCK_set_cmp_func(st, cmp) \ - ((int (*)(const void * const *,const void * const *)) \ - sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_BLOCK, st), CHECKED_SK_CMP_FUNC(void, cmp))) -#define sk_OPENSSL_BLOCK_dup(st) SKM_sk_dup(OPENSSL_BLOCK, st) -#define sk_OPENSSL_BLOCK_shift(st) SKM_sk_shift(OPENSSL_BLOCK, (st)) -#define sk_OPENSSL_BLOCK_pop(st) (void *)sk_pop(CHECKED_STACK_OF(OPENSSL_BLOCK, st)) -#define sk_OPENSSL_BLOCK_sort(st) SKM_sk_sort(OPENSSL_BLOCK, (st)) -#define sk_OPENSSL_BLOCK_is_sorted(st) SKM_sk_is_sorted(OPENSSL_BLOCK, (st)) - - -#define sk_OPENSSL_PSTRING_new(cmp) ((STACK_OF(OPENSSL_PSTRING) *)sk_new(CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) -#define sk_OPENSSL_PSTRING_new_null() ((STACK_OF(OPENSSL_PSTRING) *)sk_new_null()) -#define sk_OPENSSL_PSTRING_push(st, val) sk_push(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) -#define sk_OPENSSL_PSTRING_find(st, val) sk_find(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) -#define sk_OPENSSL_PSTRING_value(st, i) ((OPENSSL_PSTRING)sk_value(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i)) -#define sk_OPENSSL_PSTRING_num(st) SKM_sk_num(OPENSSL_PSTRING, st) -#define sk_OPENSSL_PSTRING_pop_free(st, free_func) sk_pop_free(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_FREE_FUNC2(OPENSSL_PSTRING, free_func)) -#define sk_OPENSSL_PSTRING_insert(st, val, i) sk_insert(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val), i) -#define sk_OPENSSL_PSTRING_free(st) SKM_sk_free(OPENSSL_PSTRING, st) -#define sk_OPENSSL_PSTRING_set(st, i, val) sk_set(CHECKED_STACK_OF(OPENSSL_PSTRING, st), i, CHECKED_PTR_OF(OPENSSL_STRING, val)) -#define sk_OPENSSL_PSTRING_zero(st) SKM_sk_zero(OPENSSL_PSTRING, (st)) -#define sk_OPENSSL_PSTRING_unshift(st, val) sk_unshift(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, val)) -#define sk_OPENSSL_PSTRING_find_ex(st, val) sk_find_ex((_STACK *)CHECKED_CONST_PTR_OF(STACK_OF(OPENSSL_PSTRING), st), CHECKED_CONST_PTR_OF(OPENSSL_STRING, val)) -#define sk_OPENSSL_PSTRING_delete(st, i) SKM_sk_delete(OPENSSL_PSTRING, (st), (i)) -#define sk_OPENSSL_PSTRING_delete_ptr(st, ptr) (OPENSSL_PSTRING *)sk_delete_ptr(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_PTR_OF(OPENSSL_STRING, ptr)) -#define sk_OPENSSL_PSTRING_set_cmp_func(st, cmp) \ - ((int (*)(const OPENSSL_STRING * const *,const OPENSSL_STRING * const *)) \ - sk_set_cmp_func(CHECKED_STACK_OF(OPENSSL_PSTRING, st), CHECKED_SK_CMP_FUNC(OPENSSL_STRING, cmp))) -#define sk_OPENSSL_PSTRING_dup(st) SKM_sk_dup(OPENSSL_PSTRING, st) -#define sk_OPENSSL_PSTRING_shift(st) SKM_sk_shift(OPENSSL_PSTRING, (st)) -#define sk_OPENSSL_PSTRING_pop(st) (OPENSSL_STRING *)sk_pop(CHECKED_STACK_OF(OPENSSL_PSTRING, st)) -#define sk_OPENSSL_PSTRING_sort(st) SKM_sk_sort(OPENSSL_PSTRING, (st)) -#define sk_OPENSSL_PSTRING_is_sorted(st) SKM_sk_is_sorted(OPENSSL_PSTRING, (st)) - - -#define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ACCESS_DESCRIPTION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ACCESS_DESCRIPTION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_ACCESS_DESCRIPTION(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ACCESS_DESCRIPTION, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_ACCESS_DESCRIPTION(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ACCESS_DESCRIPTION, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_ASN1_INTEGER(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_INTEGER, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_ASN1_INTEGER(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_INTEGER, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_ASN1_INTEGER(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_INTEGER, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_ASN1_INTEGER(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_INTEGER, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_ASN1_OBJECT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_OBJECT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_ASN1_OBJECT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_OBJECT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_ASN1_OBJECT(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_OBJECT, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_ASN1_OBJECT(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_OBJECT, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_ASN1_TYPE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_TYPE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_ASN1_TYPE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_TYPE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_ASN1_TYPE(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_TYPE, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_ASN1_TYPE(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_TYPE, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ASN1_UTF8STRING, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_ASN1_UTF8STRING(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ASN1_UTF8STRING, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_ASN1_UTF8STRING(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ASN1_UTF8STRING, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_ASN1_UTF8STRING(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ASN1_UTF8STRING, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_DIST_POINT(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(DIST_POINT, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_DIST_POINT(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(DIST_POINT, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_DIST_POINT(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(DIST_POINT, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_DIST_POINT(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(DIST_POINT, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_ESS_CERT_ID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(ESS_CERT_ID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_ESS_CERT_ID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(ESS_CERT_ID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_ESS_CERT_ID(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(ESS_CERT_ID, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_ESS_CERT_ID(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(ESS_CERT_ID, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_EVP_MD(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(EVP_MD, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_EVP_MD(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(EVP_MD, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_EVP_MD(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(EVP_MD, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_EVP_MD(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(EVP_MD, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_GENERAL_NAME(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(GENERAL_NAME, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_GENERAL_NAME(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(GENERAL_NAME, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_GENERAL_NAME(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(GENERAL_NAME, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_GENERAL_NAME(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(GENERAL_NAME, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_OCSP_ONEREQ(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(OCSP_ONEREQ, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_OCSP_ONEREQ(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(OCSP_ONEREQ, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_OCSP_ONEREQ(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(OCSP_ONEREQ, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_OCSP_ONEREQ(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(OCSP_ONEREQ, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(OCSP_SINGLERESP, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_OCSP_SINGLERESP(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(OCSP_SINGLERESP, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_OCSP_SINGLERESP(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(OCSP_SINGLERESP, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_OCSP_SINGLERESP(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(OCSP_SINGLERESP, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS12_SAFEBAG, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_PKCS12_SAFEBAG(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS12_SAFEBAG, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_PKCS12_SAFEBAG(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS12_SAFEBAG, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_PKCS12_SAFEBAG(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS12_SAFEBAG, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_PKCS7(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS7, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_PKCS7(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS7, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_PKCS7(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS7, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_PKCS7(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS7, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS7_RECIP_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS7_RECIP_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_PKCS7_RECIP_INFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS7_RECIP_INFO, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_PKCS7_RECIP_INFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS7_RECIP_INFO, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(PKCS7_SIGNER_INFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(PKCS7_SIGNER_INFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_PKCS7_SIGNER_INFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(PKCS7_SIGNER_INFO, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_PKCS7_SIGNER_INFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(PKCS7_SIGNER_INFO, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_POLICYINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(POLICYINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_POLICYINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(POLICYINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_POLICYINFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(POLICYINFO, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_POLICYINFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(POLICYINFO, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_POLICYQUALINFO(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(POLICYQUALINFO, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_POLICYQUALINFO(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(POLICYQUALINFO, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_POLICYQUALINFO(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(POLICYQUALINFO, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_POLICYQUALINFO(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(POLICYQUALINFO, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_SXNETID(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(SXNETID, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_SXNETID(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(SXNETID, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_SXNETID(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(SXNETID, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_SXNETID(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(SXNETID, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_X509(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_X509(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_X509(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_X509(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_X509_ALGOR(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_ALGOR, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_X509_ALGOR(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_ALGOR, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_X509_ALGOR(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_ALGOR, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_X509_ALGOR(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_ALGOR, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_ATTRIBUTE, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_X509_ATTRIBUTE(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_ATTRIBUTE, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_X509_ATTRIBUTE(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_ATTRIBUTE, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_X509_ATTRIBUTE(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_ATTRIBUTE, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_X509_CRL(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_CRL, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_X509_CRL(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_CRL, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_X509_CRL(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_CRL, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_X509_CRL(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_CRL, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_X509_EXTENSION(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_EXTENSION, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_X509_EXTENSION(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_EXTENSION, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_X509_EXTENSION(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_EXTENSION, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_X509_EXTENSION(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_EXTENSION, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_NAME_ENTRY, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_X509_NAME_ENTRY(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_NAME_ENTRY, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_X509_NAME_ENTRY(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_NAME_ENTRY, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_X509_NAME_ENTRY(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_NAME_ENTRY, (buf), (len), (d2i_func), (free_func)) - -#define d2i_ASN1_SET_OF_X509_REVOKED(st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ - SKM_ASN1_SET_OF_d2i(X509_REVOKED, (st), (pp), (length), (d2i_func), (free_func), (ex_tag), (ex_class)) -#define i2d_ASN1_SET_OF_X509_REVOKED(st, pp, i2d_func, ex_tag, ex_class, is_set) \ - SKM_ASN1_SET_OF_i2d(X509_REVOKED, (st), (pp), (i2d_func), (ex_tag), (ex_class), (is_set)) -#define ASN1_seq_pack_X509_REVOKED(st, i2d_func, buf, len) \ - SKM_ASN1_seq_pack(X509_REVOKED, (st), (i2d_func), (buf), (len)) -#define ASN1_seq_unpack_X509_REVOKED(buf, len, d2i_func, free_func) \ - SKM_ASN1_seq_unpack(X509_REVOKED, (buf), (len), (d2i_func), (free_func)) - -#define PKCS12_decrypt_d2i_PKCS12_SAFEBAG(algor, d2i_func, free_func, pass, passlen, oct, seq) \ - SKM_PKCS12_decrypt_d2i(PKCS12_SAFEBAG, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) - -#define PKCS12_decrypt_d2i_PKCS7(algor, d2i_func, free_func, pass, passlen, oct, seq) \ - SKM_PKCS12_decrypt_d2i(PKCS7, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq)) - -#define lh_ADDED_OBJ_new() LHM_lh_new(ADDED_OBJ,added_obj) -#define lh_ADDED_OBJ_insert(lh,inst) LHM_lh_insert(ADDED_OBJ,lh,inst) -#define lh_ADDED_OBJ_retrieve(lh,inst) LHM_lh_retrieve(ADDED_OBJ,lh,inst) -#define lh_ADDED_OBJ_delete(lh,inst) LHM_lh_delete(ADDED_OBJ,lh,inst) -#define lh_ADDED_OBJ_doall(lh,fn) LHM_lh_doall(ADDED_OBJ,lh,fn) -#define lh_ADDED_OBJ_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(ADDED_OBJ,lh,fn,arg_type,arg) -#define lh_ADDED_OBJ_error(lh) LHM_lh_error(ADDED_OBJ,lh) -#define lh_ADDED_OBJ_num_items(lh) LHM_lh_num_items(ADDED_OBJ,lh) -#define lh_ADDED_OBJ_down_load(lh) LHM_lh_down_load(ADDED_OBJ,lh) -#define lh_ADDED_OBJ_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ADDED_OBJ,lh,out) -#define lh_ADDED_OBJ_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ADDED_OBJ,lh,out) -#define lh_ADDED_OBJ_stats_bio(lh,out) \ - LHM_lh_stats_bio(ADDED_OBJ,lh,out) -#define lh_ADDED_OBJ_free(lh) LHM_lh_free(ADDED_OBJ,lh) - -#define lh_APP_INFO_new() LHM_lh_new(APP_INFO,app_info) -#define lh_APP_INFO_insert(lh,inst) LHM_lh_insert(APP_INFO,lh,inst) -#define lh_APP_INFO_retrieve(lh,inst) LHM_lh_retrieve(APP_INFO,lh,inst) -#define lh_APP_INFO_delete(lh,inst) LHM_lh_delete(APP_INFO,lh,inst) -#define lh_APP_INFO_doall(lh,fn) LHM_lh_doall(APP_INFO,lh,fn) -#define lh_APP_INFO_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(APP_INFO,lh,fn,arg_type,arg) -#define lh_APP_INFO_error(lh) LHM_lh_error(APP_INFO,lh) -#define lh_APP_INFO_num_items(lh) LHM_lh_num_items(APP_INFO,lh) -#define lh_APP_INFO_down_load(lh) LHM_lh_down_load(APP_INFO,lh) -#define lh_APP_INFO_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(APP_INFO,lh,out) -#define lh_APP_INFO_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(APP_INFO,lh,out) -#define lh_APP_INFO_stats_bio(lh,out) \ - LHM_lh_stats_bio(APP_INFO,lh,out) -#define lh_APP_INFO_free(lh) LHM_lh_free(APP_INFO,lh) - -#define lh_CONF_VALUE_new() LHM_lh_new(CONF_VALUE,conf_value) -#define lh_CONF_VALUE_insert(lh,inst) LHM_lh_insert(CONF_VALUE,lh,inst) -#define lh_CONF_VALUE_retrieve(lh,inst) LHM_lh_retrieve(CONF_VALUE,lh,inst) -#define lh_CONF_VALUE_delete(lh,inst) LHM_lh_delete(CONF_VALUE,lh,inst) -#define lh_CONF_VALUE_doall(lh,fn) LHM_lh_doall(CONF_VALUE,lh,fn) -#define lh_CONF_VALUE_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(CONF_VALUE,lh,fn,arg_type,arg) -#define lh_CONF_VALUE_error(lh) LHM_lh_error(CONF_VALUE,lh) -#define lh_CONF_VALUE_num_items(lh) LHM_lh_num_items(CONF_VALUE,lh) -#define lh_CONF_VALUE_down_load(lh) LHM_lh_down_load(CONF_VALUE,lh) -#define lh_CONF_VALUE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(CONF_VALUE,lh,out) -#define lh_CONF_VALUE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(CONF_VALUE,lh,out) -#define lh_CONF_VALUE_stats_bio(lh,out) \ - LHM_lh_stats_bio(CONF_VALUE,lh,out) -#define lh_CONF_VALUE_free(lh) LHM_lh_free(CONF_VALUE,lh) - -#define lh_ENGINE_PILE_new() LHM_lh_new(ENGINE_PILE,engine_pile) -#define lh_ENGINE_PILE_insert(lh,inst) LHM_lh_insert(ENGINE_PILE,lh,inst) -#define lh_ENGINE_PILE_retrieve(lh,inst) LHM_lh_retrieve(ENGINE_PILE,lh,inst) -#define lh_ENGINE_PILE_delete(lh,inst) LHM_lh_delete(ENGINE_PILE,lh,inst) -#define lh_ENGINE_PILE_doall(lh,fn) LHM_lh_doall(ENGINE_PILE,lh,fn) -#define lh_ENGINE_PILE_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(ENGINE_PILE,lh,fn,arg_type,arg) -#define lh_ENGINE_PILE_error(lh) LHM_lh_error(ENGINE_PILE,lh) -#define lh_ENGINE_PILE_num_items(lh) LHM_lh_num_items(ENGINE_PILE,lh) -#define lh_ENGINE_PILE_down_load(lh) LHM_lh_down_load(ENGINE_PILE,lh) -#define lh_ENGINE_PILE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ENGINE_PILE,lh,out) -#define lh_ENGINE_PILE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ENGINE_PILE,lh,out) -#define lh_ENGINE_PILE_stats_bio(lh,out) \ - LHM_lh_stats_bio(ENGINE_PILE,lh,out) -#define lh_ENGINE_PILE_free(lh) LHM_lh_free(ENGINE_PILE,lh) - -#define lh_ERR_STATE_new() LHM_lh_new(ERR_STATE,err_state) -#define lh_ERR_STATE_insert(lh,inst) LHM_lh_insert(ERR_STATE,lh,inst) -#define lh_ERR_STATE_retrieve(lh,inst) LHM_lh_retrieve(ERR_STATE,lh,inst) -#define lh_ERR_STATE_delete(lh,inst) LHM_lh_delete(ERR_STATE,lh,inst) -#define lh_ERR_STATE_doall(lh,fn) LHM_lh_doall(ERR_STATE,lh,fn) -#define lh_ERR_STATE_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(ERR_STATE,lh,fn,arg_type,arg) -#define lh_ERR_STATE_error(lh) LHM_lh_error(ERR_STATE,lh) -#define lh_ERR_STATE_num_items(lh) LHM_lh_num_items(ERR_STATE,lh) -#define lh_ERR_STATE_down_load(lh) LHM_lh_down_load(ERR_STATE,lh) -#define lh_ERR_STATE_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ERR_STATE,lh,out) -#define lh_ERR_STATE_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ERR_STATE,lh,out) -#define lh_ERR_STATE_stats_bio(lh,out) \ - LHM_lh_stats_bio(ERR_STATE,lh,out) -#define lh_ERR_STATE_free(lh) LHM_lh_free(ERR_STATE,lh) - -#define lh_ERR_STRING_DATA_new() LHM_lh_new(ERR_STRING_DATA,err_string_data) -#define lh_ERR_STRING_DATA_insert(lh,inst) LHM_lh_insert(ERR_STRING_DATA,lh,inst) -#define lh_ERR_STRING_DATA_retrieve(lh,inst) LHM_lh_retrieve(ERR_STRING_DATA,lh,inst) -#define lh_ERR_STRING_DATA_delete(lh,inst) LHM_lh_delete(ERR_STRING_DATA,lh,inst) -#define lh_ERR_STRING_DATA_doall(lh,fn) LHM_lh_doall(ERR_STRING_DATA,lh,fn) -#define lh_ERR_STRING_DATA_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(ERR_STRING_DATA,lh,fn,arg_type,arg) -#define lh_ERR_STRING_DATA_error(lh) LHM_lh_error(ERR_STRING_DATA,lh) -#define lh_ERR_STRING_DATA_num_items(lh) LHM_lh_num_items(ERR_STRING_DATA,lh) -#define lh_ERR_STRING_DATA_down_load(lh) LHM_lh_down_load(ERR_STRING_DATA,lh) -#define lh_ERR_STRING_DATA_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(ERR_STRING_DATA,lh,out) -#define lh_ERR_STRING_DATA_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(ERR_STRING_DATA,lh,out) -#define lh_ERR_STRING_DATA_stats_bio(lh,out) \ - LHM_lh_stats_bio(ERR_STRING_DATA,lh,out) -#define lh_ERR_STRING_DATA_free(lh) LHM_lh_free(ERR_STRING_DATA,lh) - -#define lh_EX_CLASS_ITEM_new() LHM_lh_new(EX_CLASS_ITEM,ex_class_item) -#define lh_EX_CLASS_ITEM_insert(lh,inst) LHM_lh_insert(EX_CLASS_ITEM,lh,inst) -#define lh_EX_CLASS_ITEM_retrieve(lh,inst) LHM_lh_retrieve(EX_CLASS_ITEM,lh,inst) -#define lh_EX_CLASS_ITEM_delete(lh,inst) LHM_lh_delete(EX_CLASS_ITEM,lh,inst) -#define lh_EX_CLASS_ITEM_doall(lh,fn) LHM_lh_doall(EX_CLASS_ITEM,lh,fn) -#define lh_EX_CLASS_ITEM_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(EX_CLASS_ITEM,lh,fn,arg_type,arg) -#define lh_EX_CLASS_ITEM_error(lh) LHM_lh_error(EX_CLASS_ITEM,lh) -#define lh_EX_CLASS_ITEM_num_items(lh) LHM_lh_num_items(EX_CLASS_ITEM,lh) -#define lh_EX_CLASS_ITEM_down_load(lh) LHM_lh_down_load(EX_CLASS_ITEM,lh) -#define lh_EX_CLASS_ITEM_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(EX_CLASS_ITEM,lh,out) -#define lh_EX_CLASS_ITEM_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(EX_CLASS_ITEM,lh,out) -#define lh_EX_CLASS_ITEM_stats_bio(lh,out) \ - LHM_lh_stats_bio(EX_CLASS_ITEM,lh,out) -#define lh_EX_CLASS_ITEM_free(lh) LHM_lh_free(EX_CLASS_ITEM,lh) - -#define lh_FUNCTION_new() LHM_lh_new(FUNCTION,function) -#define lh_FUNCTION_insert(lh,inst) LHM_lh_insert(FUNCTION,lh,inst) -#define lh_FUNCTION_retrieve(lh,inst) LHM_lh_retrieve(FUNCTION,lh,inst) -#define lh_FUNCTION_delete(lh,inst) LHM_lh_delete(FUNCTION,lh,inst) -#define lh_FUNCTION_doall(lh,fn) LHM_lh_doall(FUNCTION,lh,fn) -#define lh_FUNCTION_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(FUNCTION,lh,fn,arg_type,arg) -#define lh_FUNCTION_error(lh) LHM_lh_error(FUNCTION,lh) -#define lh_FUNCTION_num_items(lh) LHM_lh_num_items(FUNCTION,lh) -#define lh_FUNCTION_down_load(lh) LHM_lh_down_load(FUNCTION,lh) -#define lh_FUNCTION_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(FUNCTION,lh,out) -#define lh_FUNCTION_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(FUNCTION,lh,out) -#define lh_FUNCTION_stats_bio(lh,out) \ - LHM_lh_stats_bio(FUNCTION,lh,out) -#define lh_FUNCTION_free(lh) LHM_lh_free(FUNCTION,lh) - -#define lh_MEM_new() LHM_lh_new(MEM,mem) -#define lh_MEM_insert(lh,inst) LHM_lh_insert(MEM,lh,inst) -#define lh_MEM_retrieve(lh,inst) LHM_lh_retrieve(MEM,lh,inst) -#define lh_MEM_delete(lh,inst) LHM_lh_delete(MEM,lh,inst) -#define lh_MEM_doall(lh,fn) LHM_lh_doall(MEM,lh,fn) -#define lh_MEM_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(MEM,lh,fn,arg_type,arg) -#define lh_MEM_error(lh) LHM_lh_error(MEM,lh) -#define lh_MEM_num_items(lh) LHM_lh_num_items(MEM,lh) -#define lh_MEM_down_load(lh) LHM_lh_down_load(MEM,lh) -#define lh_MEM_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(MEM,lh,out) -#define lh_MEM_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(MEM,lh,out) -#define lh_MEM_stats_bio(lh,out) \ - LHM_lh_stats_bio(MEM,lh,out) -#define lh_MEM_free(lh) LHM_lh_free(MEM,lh) - -#define lh_OBJ_NAME_new() LHM_lh_new(OBJ_NAME,obj_name) -#define lh_OBJ_NAME_insert(lh,inst) LHM_lh_insert(OBJ_NAME,lh,inst) -#define lh_OBJ_NAME_retrieve(lh,inst) LHM_lh_retrieve(OBJ_NAME,lh,inst) -#define lh_OBJ_NAME_delete(lh,inst) LHM_lh_delete(OBJ_NAME,lh,inst) -#define lh_OBJ_NAME_doall(lh,fn) LHM_lh_doall(OBJ_NAME,lh,fn) -#define lh_OBJ_NAME_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(OBJ_NAME,lh,fn,arg_type,arg) -#define lh_OBJ_NAME_error(lh) LHM_lh_error(OBJ_NAME,lh) -#define lh_OBJ_NAME_num_items(lh) LHM_lh_num_items(OBJ_NAME,lh) -#define lh_OBJ_NAME_down_load(lh) LHM_lh_down_load(OBJ_NAME,lh) -#define lh_OBJ_NAME_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OBJ_NAME,lh,out) -#define lh_OBJ_NAME_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OBJ_NAME,lh,out) -#define lh_OBJ_NAME_stats_bio(lh,out) \ - LHM_lh_stats_bio(OBJ_NAME,lh,out) -#define lh_OBJ_NAME_free(lh) LHM_lh_free(OBJ_NAME,lh) - -#define lh_OPENSSL_CSTRING_new() LHM_lh_new(OPENSSL_CSTRING,openssl_cstring) -#define lh_OPENSSL_CSTRING_insert(lh,inst) LHM_lh_insert(OPENSSL_CSTRING,lh,inst) -#define lh_OPENSSL_CSTRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_CSTRING,lh,inst) -#define lh_OPENSSL_CSTRING_delete(lh,inst) LHM_lh_delete(OPENSSL_CSTRING,lh,inst) -#define lh_OPENSSL_CSTRING_doall(lh,fn) LHM_lh_doall(OPENSSL_CSTRING,lh,fn) -#define lh_OPENSSL_CSTRING_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(OPENSSL_CSTRING,lh,fn,arg_type,arg) -#define lh_OPENSSL_CSTRING_error(lh) LHM_lh_error(OPENSSL_CSTRING,lh) -#define lh_OPENSSL_CSTRING_num_items(lh) LHM_lh_num_items(OPENSSL_CSTRING,lh) -#define lh_OPENSSL_CSTRING_down_load(lh) LHM_lh_down_load(OPENSSL_CSTRING,lh) -#define lh_OPENSSL_CSTRING_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OPENSSL_CSTRING,lh,out) -#define lh_OPENSSL_CSTRING_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OPENSSL_CSTRING,lh,out) -#define lh_OPENSSL_CSTRING_stats_bio(lh,out) \ - LHM_lh_stats_bio(OPENSSL_CSTRING,lh,out) -#define lh_OPENSSL_CSTRING_free(lh) LHM_lh_free(OPENSSL_CSTRING,lh) - -#define lh_OPENSSL_STRING_new() LHM_lh_new(OPENSSL_STRING,openssl_string) -#define lh_OPENSSL_STRING_insert(lh,inst) LHM_lh_insert(OPENSSL_STRING,lh,inst) -#define lh_OPENSSL_STRING_retrieve(lh,inst) LHM_lh_retrieve(OPENSSL_STRING,lh,inst) -#define lh_OPENSSL_STRING_delete(lh,inst) LHM_lh_delete(OPENSSL_STRING,lh,inst) -#define lh_OPENSSL_STRING_doall(lh,fn) LHM_lh_doall(OPENSSL_STRING,lh,fn) -#define lh_OPENSSL_STRING_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(OPENSSL_STRING,lh,fn,arg_type,arg) -#define lh_OPENSSL_STRING_error(lh) LHM_lh_error(OPENSSL_STRING,lh) -#define lh_OPENSSL_STRING_num_items(lh) LHM_lh_num_items(OPENSSL_STRING,lh) -#define lh_OPENSSL_STRING_down_load(lh) LHM_lh_down_load(OPENSSL_STRING,lh) -#define lh_OPENSSL_STRING_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(OPENSSL_STRING,lh,out) -#define lh_OPENSSL_STRING_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(OPENSSL_STRING,lh,out) -#define lh_OPENSSL_STRING_stats_bio(lh,out) \ - LHM_lh_stats_bio(OPENSSL_STRING,lh,out) -#define lh_OPENSSL_STRING_free(lh) LHM_lh_free(OPENSSL_STRING,lh) - -#define lh_SSL_SESSION_new() LHM_lh_new(SSL_SESSION,ssl_session) -#define lh_SSL_SESSION_insert(lh,inst) LHM_lh_insert(SSL_SESSION,lh,inst) -#define lh_SSL_SESSION_retrieve(lh,inst) LHM_lh_retrieve(SSL_SESSION,lh,inst) -#define lh_SSL_SESSION_delete(lh,inst) LHM_lh_delete(SSL_SESSION,lh,inst) -#define lh_SSL_SESSION_doall(lh,fn) LHM_lh_doall(SSL_SESSION,lh,fn) -#define lh_SSL_SESSION_doall_arg(lh,fn,arg_type,arg) \ - LHM_lh_doall_arg(SSL_SESSION,lh,fn,arg_type,arg) -#define lh_SSL_SESSION_error(lh) LHM_lh_error(SSL_SESSION,lh) -#define lh_SSL_SESSION_num_items(lh) LHM_lh_num_items(SSL_SESSION,lh) -#define lh_SSL_SESSION_down_load(lh) LHM_lh_down_load(SSL_SESSION,lh) -#define lh_SSL_SESSION_node_stats_bio(lh,out) \ - LHM_lh_node_stats_bio(SSL_SESSION,lh,out) -#define lh_SSL_SESSION_node_usage_stats_bio(lh,out) \ - LHM_lh_node_usage_stats_bio(SSL_SESSION,lh,out) -#define lh_SSL_SESSION_stats_bio(lh,out) \ - LHM_lh_stats_bio(SSL_SESSION,lh,out) -#define lh_SSL_SESSION_free(lh) LHM_lh_free(SSL_SESSION,lh) -/* End of util/mkstack.pl block, you may now edit :-) */ - -#endif /* !defined HEADER_SAFESTACK_H */ diff --git a/ext/bin/libcrypto/include/openssl/seed.h b/ext/bin/libcrypto/include/openssl/seed.h deleted file mode 100644 index c50fdd360..000000000 --- a/ext/bin/libcrypto/include/openssl/seed.h +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (c) 2007 KISA(Korea Information Security Agency). All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * 2. Neither the name of author nor the names of its contributors may - * be used to endorse or promote products derived from this software - * without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY AUTHOR AND CONTRIBUTORS ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - */ -/* ==================================================================== - * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - - -#ifndef HEADER_SEED_H -#define HEADER_SEED_H - -#include -#include -#include - -#ifdef OPENSSL_NO_SEED -#error SEED is disabled. -#endif - -#ifdef AES_LONG /* look whether we need 'long' to get 32 bits */ -# ifndef SEED_LONG -# define SEED_LONG 1 -# endif -#endif - -#if !defined(NO_SYS_TYPES_H) -# include -#endif - -#define SEED_BLOCK_SIZE 16 -#define SEED_KEY_LENGTH 16 - - -#ifdef __cplusplus -extern "C" { -#endif - - -typedef struct seed_key_st { -#ifdef SEED_LONG - unsigned long data[32]; -#else - unsigned int data[32]; -#endif -} SEED_KEY_SCHEDULE; - -#ifdef OPENSSL_FIPS -void private_SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], SEED_KEY_SCHEDULE *ks); -#endif -void SEED_set_key(const unsigned char rawkey[SEED_KEY_LENGTH], SEED_KEY_SCHEDULE *ks); - -void SEED_encrypt(const unsigned char s[SEED_BLOCK_SIZE], unsigned char d[SEED_BLOCK_SIZE], const SEED_KEY_SCHEDULE *ks); -void SEED_decrypt(const unsigned char s[SEED_BLOCK_SIZE], unsigned char d[SEED_BLOCK_SIZE], const SEED_KEY_SCHEDULE *ks); - -void SEED_ecb_encrypt(const unsigned char *in, unsigned char *out, const SEED_KEY_SCHEDULE *ks, int enc); -void SEED_cbc_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const SEED_KEY_SCHEDULE *ks, unsigned char ivec[SEED_BLOCK_SIZE], int enc); -void SEED_cfb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const SEED_KEY_SCHEDULE *ks, unsigned char ivec[SEED_BLOCK_SIZE], int *num, int enc); -void SEED_ofb128_encrypt(const unsigned char *in, unsigned char *out, - size_t len, const SEED_KEY_SCHEDULE *ks, unsigned char ivec[SEED_BLOCK_SIZE], int *num); - -#ifdef __cplusplus -} -#endif - -#endif /* HEADER_SEED_H */ diff --git a/ext/bin/libcrypto/include/openssl/sha.h b/ext/bin/libcrypto/include/openssl/sha.h deleted file mode 100644 index 8a6bf4bbb..000000000 --- a/ext/bin/libcrypto/include/openssl/sha.h +++ /dev/null @@ -1,214 +0,0 @@ -/* crypto/sha/sha.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_SHA_H -#define HEADER_SHA_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#if defined(OPENSSL_NO_SHA) || (defined(OPENSSL_NO_SHA0) && defined(OPENSSL_NO_SHA1)) -#error SHA is disabled. -#endif - -#if defined(OPENSSL_FIPS) -#define FIPS_SHA_SIZE_T size_t -#endif - -/* - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - * ! SHA_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! SHA_LONG_LOG2 has to be defined along. ! - * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! - */ - -#if defined(__LP32__) -#define SHA_LONG unsigned long -#elif defined(OPENSSL_SYS_CRAY) || defined(__ILP64__) -#define SHA_LONG unsigned long -#define SHA_LONG_LOG2 3 -#else -#define SHA_LONG unsigned int -#endif - -#define SHA_LBLOCK 16 -#define SHA_CBLOCK (SHA_LBLOCK*4) /* SHA treats input data as a - * contiguous array of 32 bit - * wide big-endian values. */ -#define SHA_LAST_BLOCK (SHA_CBLOCK-8) -#define SHA_DIGEST_LENGTH 20 - -typedef struct SHAstate_st - { - SHA_LONG h0,h1,h2,h3,h4; - SHA_LONG Nl,Nh; - SHA_LONG data[SHA_LBLOCK]; - unsigned int num; - } SHA_CTX; - -#ifndef OPENSSL_NO_SHA0 -#ifdef OPENSSL_FIPS -int private_SHA_Init(SHA_CTX *c); -#endif -int SHA_Init(SHA_CTX *c); -int SHA_Update(SHA_CTX *c, const void *data, size_t len); -int SHA_Final(unsigned char *md, SHA_CTX *c); -unsigned char *SHA(const unsigned char *d, size_t n, unsigned char *md); -void SHA_Transform(SHA_CTX *c, const unsigned char *data); -#endif -#ifndef OPENSSL_NO_SHA1 -#ifdef OPENSSL_FIPS -int private_SHA1_Init(SHA_CTX *c); -#endif -int SHA1_Init(SHA_CTX *c); -int SHA1_Update(SHA_CTX *c, const void *data, size_t len); -int SHA1_Final(unsigned char *md, SHA_CTX *c); -unsigned char *SHA1(const unsigned char *d, size_t n, unsigned char *md); -void SHA1_Transform(SHA_CTX *c, const unsigned char *data); -#endif - -#define SHA256_CBLOCK (SHA_LBLOCK*4) /* SHA-256 treats input data as a - * contiguous array of 32 bit - * wide big-endian values. */ -#define SHA224_DIGEST_LENGTH 28 -#define SHA256_DIGEST_LENGTH 32 - -typedef struct SHA256state_st - { - SHA_LONG h[8]; - SHA_LONG Nl,Nh; - SHA_LONG data[SHA_LBLOCK]; - unsigned int num,md_len; - } SHA256_CTX; - -#ifndef OPENSSL_NO_SHA256 -#ifdef OPENSSL_FIPS -int private_SHA224_Init(SHA256_CTX *c); -int private_SHA256_Init(SHA256_CTX *c); -#endif -int SHA224_Init(SHA256_CTX *c); -int SHA224_Update(SHA256_CTX *c, const void *data, size_t len); -int SHA224_Final(unsigned char *md, SHA256_CTX *c); -unsigned char *SHA224(const unsigned char *d, size_t n,unsigned char *md); -int SHA256_Init(SHA256_CTX *c); -int SHA256_Update(SHA256_CTX *c, const void *data, size_t len); -int SHA256_Final(unsigned char *md, SHA256_CTX *c); -unsigned char *SHA256(const unsigned char *d, size_t n,unsigned char *md); -void SHA256_Transform(SHA256_CTX *c, const unsigned char *data); -#endif - -#define SHA384_DIGEST_LENGTH 48 -#define SHA512_DIGEST_LENGTH 64 - -#ifndef OPENSSL_NO_SHA512 -/* - * Unlike 32-bit digest algorithms, SHA-512 *relies* on SHA_LONG64 - * being exactly 64-bit wide. See Implementation Notes in sha512.c - * for further details. - */ -#define SHA512_CBLOCK (SHA_LBLOCK*8) /* SHA-512 treats input data as a - * contiguous array of 64 bit - * wide big-endian values. */ -#if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__) -#define SHA_LONG64 unsigned __int64 -#define U64(C) C##UI64 -#elif defined(__arch64__) -#define SHA_LONG64 unsigned long -#define U64(C) C##UL -#else -#define SHA_LONG64 unsigned long long -#define U64(C) C##ULL -#endif - -typedef struct SHA512state_st - { - SHA_LONG64 h[8]; - SHA_LONG64 Nl,Nh; - union { - SHA_LONG64 d[SHA_LBLOCK]; - unsigned char p[SHA512_CBLOCK]; - } u; - unsigned int num,md_len; - } SHA512_CTX; -#endif - -#ifndef OPENSSL_NO_SHA512 -#ifdef OPENSSL_FIPS -int private_SHA384_Init(SHA512_CTX *c); -int private_SHA512_Init(SHA512_CTX *c); -#endif -int SHA384_Init(SHA512_CTX *c); -int SHA384_Update(SHA512_CTX *c, const void *data, size_t len); -int SHA384_Final(unsigned char *md, SHA512_CTX *c); -unsigned char *SHA384(const unsigned char *d, size_t n,unsigned char *md); -int SHA512_Init(SHA512_CTX *c); -int SHA512_Update(SHA512_CTX *c, const void *data, size_t len); -int SHA512_Final(unsigned char *md, SHA512_CTX *c); -unsigned char *SHA512(const unsigned char *d, size_t n,unsigned char *md); -void SHA512_Transform(SHA512_CTX *c, const unsigned char *data); -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/srp.h b/ext/bin/libcrypto/include/openssl/srp.h deleted file mode 100644 index 7ec7825ca..000000000 --- a/ext/bin/libcrypto/include/openssl/srp.h +++ /dev/null @@ -1,172 +0,0 @@ -/* crypto/srp/srp.h */ -/* Written by Christophe Renou (christophe.renou@edelweb.fr) with - * the precious help of Peter Sylvester (peter.sylvester@edelweb.fr) - * for the EdelKey project and contributed to the OpenSSL project 2004. - */ -/* ==================================================================== - * Copyright (c) 2004 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -#ifndef __SRP_H__ -#define __SRP_H__ - -#ifndef OPENSSL_NO_SRP - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#include -#include -#include - -typedef struct SRP_gN_cache_st - { - char *b64_bn; - BIGNUM *bn; - } SRP_gN_cache; - - -DECLARE_STACK_OF(SRP_gN_cache) - -typedef struct SRP_user_pwd_st - { - char *id; - BIGNUM *s; - BIGNUM *v; - const BIGNUM *g; - const BIGNUM *N; - char *info; - } SRP_user_pwd; - -DECLARE_STACK_OF(SRP_user_pwd) - -typedef struct SRP_VBASE_st - { - STACK_OF(SRP_user_pwd) *users_pwd; - STACK_OF(SRP_gN_cache) *gN_cache; -/* to simulate a user */ - char *seed_key; - BIGNUM *default_g; - BIGNUM *default_N; - } SRP_VBASE; - - -/*Structure interne pour retenir les couples N et g*/ -typedef struct SRP_gN_st - { - char *id; - BIGNUM *g; - BIGNUM *N; - } SRP_gN; - -DECLARE_STACK_OF(SRP_gN) - -SRP_VBASE *SRP_VBASE_new(char *seed_key); -int SRP_VBASE_free(SRP_VBASE *vb); -int SRP_VBASE_init(SRP_VBASE *vb, char * verifier_file); -SRP_user_pwd *SRP_VBASE_get_by_user(SRP_VBASE *vb, char *username); -char *SRP_create_verifier(const char *user, const char *pass, char **salt, - char **verifier, const char *N, const char *g); -int SRP_create_verifier_BN(const char *user, const char *pass, BIGNUM **salt, BIGNUM **verifier, BIGNUM *N, BIGNUM *g); - - -#define SRP_NO_ERROR 0 -#define SRP_ERR_VBASE_INCOMPLETE_FILE 1 -#define SRP_ERR_VBASE_BN_LIB 2 -#define SRP_ERR_OPEN_FILE 3 -#define SRP_ERR_MEMORY 4 - -#define DB_srptype 0 -#define DB_srpverifier 1 -#define DB_srpsalt 2 -#define DB_srpid 3 -#define DB_srpgN 4 -#define DB_srpinfo 5 -#undef DB_NUMBER -#define DB_NUMBER 6 - -#define DB_SRP_INDEX 'I' -#define DB_SRP_VALID 'V' -#define DB_SRP_REVOKED 'R' -#define DB_SRP_MODIF 'v' - - -/* see srp.c */ -char * SRP_check_known_gN_param(BIGNUM* g, BIGNUM* N); -SRP_gN *SRP_get_default_gN(const char * id) ; - -/* server side .... */ -BIGNUM *SRP_Calc_server_key(BIGNUM *A, BIGNUM *v, BIGNUM *u, BIGNUM *b, BIGNUM *N); -BIGNUM *SRP_Calc_B(BIGNUM *b, BIGNUM *N, BIGNUM *g, BIGNUM *v); -int SRP_Verify_A_mod_N(BIGNUM *A, BIGNUM *N); -BIGNUM *SRP_Calc_u(BIGNUM *A, BIGNUM *B, BIGNUM *N) ; - - - -/* client side .... */ -BIGNUM *SRP_Calc_x(BIGNUM *s, const char *user, const char *pass); -BIGNUM *SRP_Calc_A(BIGNUM *a, BIGNUM *N, BIGNUM *g); -BIGNUM *SRP_Calc_client_key(BIGNUM *N, BIGNUM *B, BIGNUM *g, BIGNUM *x, BIGNUM *a, BIGNUM *u); -int SRP_Verify_B_mod_N(BIGNUM *B, BIGNUM *N); - -#define SRP_MINIMAL_N 1024 - -#ifdef __cplusplus -} -#endif - -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/srtp.h b/ext/bin/libcrypto/include/openssl/srtp.h deleted file mode 100644 index c0cf33ef2..000000000 --- a/ext/bin/libcrypto/include/openssl/srtp.h +++ /dev/null @@ -1,145 +0,0 @@ -/* ssl/tls1.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* - DTLS code by Eric Rescorla - - Copyright (C) 2006, Network Resonance, Inc. - Copyright (C) 2011, RTFM, Inc. -*/ - -#ifndef HEADER_D1_SRTP_H -#define HEADER_D1_SRTP_H - -#ifdef __cplusplus -extern "C" { -#endif - - -#define SRTP_AES128_CM_SHA1_80 0x0001 -#define SRTP_AES128_CM_SHA1_32 0x0002 -#define SRTP_AES128_F8_SHA1_80 0x0003 -#define SRTP_AES128_F8_SHA1_32 0x0004 -#define SRTP_NULL_SHA1_80 0x0005 -#define SRTP_NULL_SHA1_32 0x0006 - -int SSL_CTX_set_tlsext_use_srtp(SSL_CTX *ctx, const char *profiles); -int SSL_set_tlsext_use_srtp(SSL *ctx, const char *profiles); -SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); - -STACK_OF(SRTP_PROTECTION_PROFILE) *SSL_get_srtp_profiles(SSL *ssl); -SRTP_PROTECTION_PROFILE *SSL_get_selected_srtp_profile(SSL *s); - -#ifdef __cplusplus -} -#endif - -#endif - diff --git a/ext/bin/libcrypto/include/openssl/ssl.h b/ext/bin/libcrypto/include/openssl/ssl.h deleted file mode 100644 index 593579ed3..000000000 --- a/ext/bin/libcrypto/include/openssl/ssl.h +++ /dev/null @@ -1,2579 +0,0 @@ -/* ssl/ssl.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2007 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECC cipher suite support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. - */ -/* ==================================================================== - * Copyright 2005 Nokia. All rights reserved. - * - * The portions of the attached software ("Contribution") is developed by - * Nokia Corporation and is licensed pursuant to the OpenSSL open source - * license. - * - * The Contribution, originally written by Mika Kousa and Pasi Eronen of - * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites - * support (see RFC 4279) to OpenSSL. - * - * No patent licenses or other rights except those expressly stated in - * the OpenSSL open source license shall be deemed granted or received - * expressly, by implication, estoppel, or otherwise. - * - * No assurances are provided by Nokia that the Contribution does not - * infringe the patent or other intellectual property rights of any third - * party or that the license provides you with all the necessary rights - * to make use of the Contribution. - * - * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN - * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA - * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY - * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR - * OTHERWISE. - */ - -#ifndef HEADER_SSL_H -#define HEADER_SSL_H - -#include - -#ifndef OPENSSL_NO_COMP -#include -#endif -#ifndef OPENSSL_NO_BIO -#include -#endif -#ifndef OPENSSL_NO_DEPRECATED -#ifndef OPENSSL_NO_X509 -#include -#endif -#include -#include -#include -#endif -#include -#include - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* SSLeay version number for ASN.1 encoding of the session information */ -/* Version 0 - initial version - * Version 1 - added the optional peer certificate - */ -#define SSL_SESSION_ASN1_VERSION 0x0001 - -/* text strings for the ciphers */ -#define SSL_TXT_NULL_WITH_MD5 SSL2_TXT_NULL_WITH_MD5 -#define SSL_TXT_RC4_128_WITH_MD5 SSL2_TXT_RC4_128_WITH_MD5 -#define SSL_TXT_RC4_128_EXPORT40_WITH_MD5 SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 -#define SSL_TXT_RC2_128_CBC_WITH_MD5 SSL2_TXT_RC2_128_CBC_WITH_MD5 -#define SSL_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 -#define SSL_TXT_IDEA_128_CBC_WITH_MD5 SSL2_TXT_IDEA_128_CBC_WITH_MD5 -#define SSL_TXT_DES_64_CBC_WITH_MD5 SSL2_TXT_DES_64_CBC_WITH_MD5 -#define SSL_TXT_DES_64_CBC_WITH_SHA SSL2_TXT_DES_64_CBC_WITH_SHA -#define SSL_TXT_DES_192_EDE3_CBC_WITH_MD5 SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 -#define SSL_TXT_DES_192_EDE3_CBC_WITH_SHA SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA - -/* VRS Additional Kerberos5 entries - */ -#define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA -#define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA -#define SSL_TXT_KRB5_RC4_128_SHA SSL3_TXT_KRB5_RC4_128_SHA -#define SSL_TXT_KRB5_IDEA_128_CBC_SHA SSL3_TXT_KRB5_IDEA_128_CBC_SHA -#define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 -#define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 -#define SSL_TXT_KRB5_RC4_128_MD5 SSL3_TXT_KRB5_RC4_128_MD5 -#define SSL_TXT_KRB5_IDEA_128_CBC_MD5 SSL3_TXT_KRB5_IDEA_128_CBC_MD5 - -#define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA -#define SSL_TXT_KRB5_RC2_40_CBC_SHA SSL3_TXT_KRB5_RC2_40_CBC_SHA -#define SSL_TXT_KRB5_RC4_40_SHA SSL3_TXT_KRB5_RC4_40_SHA -#define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 -#define SSL_TXT_KRB5_RC2_40_CBC_MD5 SSL3_TXT_KRB5_RC2_40_CBC_MD5 -#define SSL_TXT_KRB5_RC4_40_MD5 SSL3_TXT_KRB5_RC4_40_MD5 - -#define SSL_TXT_KRB5_DES_40_CBC_SHA SSL3_TXT_KRB5_DES_40_CBC_SHA -#define SSL_TXT_KRB5_DES_40_CBC_MD5 SSL3_TXT_KRB5_DES_40_CBC_MD5 -#define SSL_TXT_KRB5_DES_64_CBC_SHA SSL3_TXT_KRB5_DES_64_CBC_SHA -#define SSL_TXT_KRB5_DES_64_CBC_MD5 SSL3_TXT_KRB5_DES_64_CBC_MD5 -#define SSL_TXT_KRB5_DES_192_CBC3_SHA SSL3_TXT_KRB5_DES_192_CBC3_SHA -#define SSL_TXT_KRB5_DES_192_CBC3_MD5 SSL3_TXT_KRB5_DES_192_CBC3_MD5 -#define SSL_MAX_KRB5_PRINCIPAL_LENGTH 256 - -#define SSL_MAX_SSL_SESSION_ID_LENGTH 32 -#define SSL_MAX_SID_CTX_LENGTH 32 - -#define SSL_MIN_RSA_MODULUS_LENGTH_IN_BYTES (512/8) -#define SSL_MAX_KEY_ARG_LENGTH 8 -#define SSL_MAX_MASTER_KEY_LENGTH 48 - - -/* These are used to specify which ciphers to use and not to use */ - -#define SSL_TXT_EXP40 "EXPORT40" -#define SSL_TXT_EXP56 "EXPORT56" -#define SSL_TXT_LOW "LOW" -#define SSL_TXT_MEDIUM "MEDIUM" -#define SSL_TXT_HIGH "HIGH" -#define SSL_TXT_FIPS "FIPS" - -#define SSL_TXT_kFZA "kFZA" /* unused! */ -#define SSL_TXT_aFZA "aFZA" /* unused! */ -#define SSL_TXT_eFZA "eFZA" /* unused! */ -#define SSL_TXT_FZA "FZA" /* unused! */ - -#define SSL_TXT_aNULL "aNULL" -#define SSL_TXT_eNULL "eNULL" -#define SSL_TXT_NULL "NULL" - -#define SSL_TXT_kRSA "kRSA" -#define SSL_TXT_kDHr "kDHr" /* no such ciphersuites supported! */ -#define SSL_TXT_kDHd "kDHd" /* no such ciphersuites supported! */ -#define SSL_TXT_kDH "kDH" /* no such ciphersuites supported! */ -#define SSL_TXT_kEDH "kEDH" -#define SSL_TXT_kKRB5 "kKRB5" -#define SSL_TXT_kECDHr "kECDHr" -#define SSL_TXT_kECDHe "kECDHe" -#define SSL_TXT_kECDH "kECDH" -#define SSL_TXT_kEECDH "kEECDH" -#define SSL_TXT_kPSK "kPSK" -#define SSL_TXT_kGOST "kGOST" -#define SSL_TXT_kSRP "kSRP" - -#define SSL_TXT_aRSA "aRSA" -#define SSL_TXT_aDSS "aDSS" -#define SSL_TXT_aDH "aDH" /* no such ciphersuites supported! */ -#define SSL_TXT_aECDH "aECDH" -#define SSL_TXT_aKRB5 "aKRB5" -#define SSL_TXT_aECDSA "aECDSA" -#define SSL_TXT_aPSK "aPSK" -#define SSL_TXT_aGOST94 "aGOST94" -#define SSL_TXT_aGOST01 "aGOST01" -#define SSL_TXT_aGOST "aGOST" - -#define SSL_TXT_DSS "DSS" -#define SSL_TXT_DH "DH" -#define SSL_TXT_EDH "EDH" /* same as "kEDH:-ADH" */ -#define SSL_TXT_ADH "ADH" -#define SSL_TXT_RSA "RSA" -#define SSL_TXT_ECDH "ECDH" -#define SSL_TXT_EECDH "EECDH" /* same as "kEECDH:-AECDH" */ -#define SSL_TXT_AECDH "AECDH" -#define SSL_TXT_ECDSA "ECDSA" -#define SSL_TXT_KRB5 "KRB5" -#define SSL_TXT_PSK "PSK" -#define SSL_TXT_SRP "SRP" - -#define SSL_TXT_DES "DES" -#define SSL_TXT_3DES "3DES" -#define SSL_TXT_RC4 "RC4" -#define SSL_TXT_RC2 "RC2" -#define SSL_TXT_IDEA "IDEA" -#define SSL_TXT_SEED "SEED" -#define SSL_TXT_AES128 "AES128" -#define SSL_TXT_AES256 "AES256" -#define SSL_TXT_AES "AES" -#define SSL_TXT_AES_GCM "AESGCM" -#define SSL_TXT_CAMELLIA128 "CAMELLIA128" -#define SSL_TXT_CAMELLIA256 "CAMELLIA256" -#define SSL_TXT_CAMELLIA "CAMELLIA" - -#define SSL_TXT_MD5 "MD5" -#define SSL_TXT_SHA1 "SHA1" -#define SSL_TXT_SHA "SHA" /* same as "SHA1" */ -#define SSL_TXT_GOST94 "GOST94" -#define SSL_TXT_GOST89MAC "GOST89MAC" -#define SSL_TXT_SHA256 "SHA256" -#define SSL_TXT_SHA384 "SHA384" - -#define SSL_TXT_SSLV2 "SSLv2" -#define SSL_TXT_SSLV3 "SSLv3" -#define SSL_TXT_TLSV1 "TLSv1" -#define SSL_TXT_TLSV1_1 "TLSv1.1" -#define SSL_TXT_TLSV1_2 "TLSv1.2" - -#define SSL_TXT_EXP "EXP" -#define SSL_TXT_EXPORT "EXPORT" - -#define SSL_TXT_ALL "ALL" - -/* - * COMPLEMENTOF* definitions. These identifiers are used to (de-select) - * ciphers normally not being used. - * Example: "RC4" will activate all ciphers using RC4 including ciphers - * without authentication, which would normally disabled by DEFAULT (due - * the "!ADH" being part of default). Therefore "RC4:!COMPLEMENTOFDEFAULT" - * will make sure that it is also disabled in the specific selection. - * COMPLEMENTOF* identifiers are portable between version, as adjustments - * to the default cipher setup will also be included here. - * - * COMPLEMENTOFDEFAULT does not experience the same special treatment that - * DEFAULT gets, as only selection is being done and no sorting as needed - * for DEFAULT. - */ -#define SSL_TXT_CMPALL "COMPLEMENTOFALL" -#define SSL_TXT_CMPDEF "COMPLEMENTOFDEFAULT" - -/* The following cipher list is used by default. - * It also is substituted when an application-defined cipher list string - * starts with 'DEFAULT'. */ -#define SSL_DEFAULT_CIPHER_LIST "ALL:!aNULL:!eNULL:!SSLv2" -/* As of OpenSSL 1.0.0, ssl_create_cipher_list() in ssl/ssl_ciph.c always - * starts with a reasonable order, and all we have to do for DEFAULT is - * throwing out anonymous and unencrypted ciphersuites! - * (The latter are not actually enabled by ALL, but "ALL:RSA" would enable - * some of them.) - */ - -/* Used in SSL_set_shutdown()/SSL_get_shutdown(); */ -#define SSL_SENT_SHUTDOWN 1 -#define SSL_RECEIVED_SHUTDOWN 2 - -#ifdef __cplusplus -} -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#if (defined(OPENSSL_NO_RSA) || defined(OPENSSL_NO_MD5)) && !defined(OPENSSL_NO_SSL2) -#define OPENSSL_NO_SSL2 -#endif - -#define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1 -#define SSL_FILETYPE_PEM X509_FILETYPE_PEM - -/* This is needed to stop compilers complaining about the - * 'struct ssl_st *' function parameters used to prototype callbacks - * in SSL_CTX. */ -typedef struct ssl_st *ssl_crock_st; -typedef struct tls_session_ticket_ext_st TLS_SESSION_TICKET_EXT; -typedef struct ssl_method_st SSL_METHOD; -typedef struct ssl_cipher_st SSL_CIPHER; -typedef struct ssl_session_st SSL_SESSION; - -DECLARE_STACK_OF(SSL_CIPHER) - -/* SRTP protection profiles for use with the use_srtp extension (RFC 5764)*/ -typedef struct srtp_protection_profile_st - { - const char *name; - unsigned long id; - } SRTP_PROTECTION_PROFILE; - -DECLARE_STACK_OF(SRTP_PROTECTION_PROFILE) - -typedef int (*tls_session_ticket_ext_cb_fn)(SSL *s, const unsigned char *data, int len, void *arg); -typedef int (*tls_session_secret_cb_fn)(SSL *s, void *secret, int *secret_len, STACK_OF(SSL_CIPHER) *peer_ciphers, SSL_CIPHER **cipher, void *arg); - - -#ifndef OPENSSL_NO_SSL_INTERN - -/* used to hold info on the particular ciphers used */ -struct ssl_cipher_st - { - int valid; - const char *name; /* text name */ - unsigned long id; /* id, 4 bytes, first is version */ - - /* changed in 0.9.9: these four used to be portions of a single value 'algorithms' */ - unsigned long algorithm_mkey; /* key exchange algorithm */ - unsigned long algorithm_auth; /* server authentication */ - unsigned long algorithm_enc; /* symmetric encryption */ - unsigned long algorithm_mac; /* symmetric authentication */ - unsigned long algorithm_ssl; /* (major) protocol version */ - - unsigned long algo_strength; /* strength and export flags */ - unsigned long algorithm2; /* Extra flags */ - int strength_bits; /* Number of bits really used */ - int alg_bits; /* Number of bits for algorithm */ - }; - - -/* Used to hold functions for SSLv2 or SSLv3/TLSv1 functions */ -struct ssl_method_st - { - int version; - int (*ssl_new)(SSL *s); - void (*ssl_clear)(SSL *s); - void (*ssl_free)(SSL *s); - int (*ssl_accept)(SSL *s); - int (*ssl_connect)(SSL *s); - int (*ssl_read)(SSL *s,void *buf,int len); - int (*ssl_peek)(SSL *s,void *buf,int len); - int (*ssl_write)(SSL *s,const void *buf,int len); - int (*ssl_shutdown)(SSL *s); - int (*ssl_renegotiate)(SSL *s); - int (*ssl_renegotiate_check)(SSL *s); - long (*ssl_get_message)(SSL *s, int st1, int stn, int mt, long - max, int *ok); - int (*ssl_read_bytes)(SSL *s, int type, unsigned char *buf, int len, - int peek); - int (*ssl_write_bytes)(SSL *s, int type, const void *buf_, int len); - int (*ssl_dispatch_alert)(SSL *s); - long (*ssl_ctrl)(SSL *s,int cmd,long larg,void *parg); - long (*ssl_ctx_ctrl)(SSL_CTX *ctx,int cmd,long larg,void *parg); - const SSL_CIPHER *(*get_cipher_by_char)(const unsigned char *ptr); - int (*put_cipher_by_char)(const SSL_CIPHER *cipher,unsigned char *ptr); - int (*ssl_pending)(const SSL *s); - int (*num_ciphers)(void); - const SSL_CIPHER *(*get_cipher)(unsigned ncipher); - const struct ssl_method_st *(*get_ssl_method)(int version); - long (*get_timeout)(void); - struct ssl3_enc_method *ssl3_enc; /* Extra SSLv3/TLS stuff */ - int (*ssl_version)(void); - long (*ssl_callback_ctrl)(SSL *s, int cb_id, void (*fp)(void)); - long (*ssl_ctx_callback_ctrl)(SSL_CTX *s, int cb_id, void (*fp)(void)); - }; - -/* Lets make this into an ASN.1 type structure as follows - * SSL_SESSION_ID ::= SEQUENCE { - * version INTEGER, -- structure version number - * SSLversion INTEGER, -- SSL version number - * Cipher OCTET STRING, -- the 3 byte cipher ID - * Session_ID OCTET STRING, -- the Session ID - * Master_key OCTET STRING, -- the master key - * KRB5_principal OCTET STRING -- optional Kerberos principal - * Key_Arg [ 0 ] IMPLICIT OCTET STRING, -- the optional Key argument - * Time [ 1 ] EXPLICIT INTEGER, -- optional Start Time - * Timeout [ 2 ] EXPLICIT INTEGER, -- optional Timeout ins seconds - * Peer [ 3 ] EXPLICIT X509, -- optional Peer Certificate - * Session_ID_context [ 4 ] EXPLICIT OCTET STRING, -- the Session ID context - * Verify_result [ 5 ] EXPLICIT INTEGER, -- X509_V_... code for `Peer' - * HostName [ 6 ] EXPLICIT OCTET STRING, -- optional HostName from servername TLS extension - * PSK_identity_hint [ 7 ] EXPLICIT OCTET STRING, -- optional PSK identity hint - * PSK_identity [ 8 ] EXPLICIT OCTET STRING, -- optional PSK identity - * Ticket_lifetime_hint [9] EXPLICIT INTEGER, -- server's lifetime hint for session ticket - * Ticket [10] EXPLICIT OCTET STRING, -- session ticket (clients only) - * Compression_meth [11] EXPLICIT OCTET STRING, -- optional compression method - * SRP_username [ 12 ] EXPLICIT OCTET STRING -- optional SRP username - * } - * Look in ssl/ssl_asn1.c for more details - * I'm using EXPLICIT tags so I can read the damn things using asn1parse :-). - */ -struct ssl_session_st - { - int ssl_version; /* what ssl version session info is - * being kept in here? */ - - /* only really used in SSLv2 */ - unsigned int key_arg_length; - unsigned char key_arg[SSL_MAX_KEY_ARG_LENGTH]; - int master_key_length; - unsigned char master_key[SSL_MAX_MASTER_KEY_LENGTH]; - /* session_id - valid? */ - unsigned int session_id_length; - unsigned char session_id[SSL_MAX_SSL_SESSION_ID_LENGTH]; - /* this is used to determine whether the session is being reused in - * the appropriate context. It is up to the application to set this, - * via SSL_new */ - unsigned int sid_ctx_length; - unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; - -#ifndef OPENSSL_NO_KRB5 - unsigned int krb5_client_princ_len; - unsigned char krb5_client_princ[SSL_MAX_KRB5_PRINCIPAL_LENGTH]; -#endif /* OPENSSL_NO_KRB5 */ -#ifndef OPENSSL_NO_PSK - char *psk_identity_hint; - char *psk_identity; -#endif - /* Used to indicate that session resumption is not allowed. - * Applications can also set this bit for a new session via - * not_resumable_session_cb to disable session caching and tickets. */ - int not_resumable; - - /* The cert is the certificate used to establish this connection */ - struct sess_cert_st /* SESS_CERT */ *sess_cert; - - /* This is the cert for the other end. - * On clients, it will be the same as sess_cert->peer_key->x509 - * (the latter is not enough as sess_cert is not retained - * in the external representation of sessions, see ssl_asn1.c). */ - X509 *peer; - /* when app_verify_callback accepts a session where the peer's certificate - * is not ok, we must remember the error for session reuse: */ - long verify_result; /* only for servers */ - - int references; - long timeout; - long time; - - unsigned int compress_meth; /* Need to lookup the method */ - - const SSL_CIPHER *cipher; - unsigned long cipher_id; /* when ASN.1 loaded, this - * needs to be used to load - * the 'cipher' structure */ - - STACK_OF(SSL_CIPHER) *ciphers; /* shared ciphers? */ - - CRYPTO_EX_DATA ex_data; /* application specific data */ - - /* These are used to make removal of session-ids more - * efficient and to implement a maximum cache size. */ - struct ssl_session_st *prev,*next; -#ifndef OPENSSL_NO_TLSEXT - char *tlsext_hostname; -#ifndef OPENSSL_NO_EC - size_t tlsext_ecpointformatlist_length; - unsigned char *tlsext_ecpointformatlist; /* peer's list */ - size_t tlsext_ellipticcurvelist_length; - unsigned char *tlsext_ellipticcurvelist; /* peer's list */ -#endif /* OPENSSL_NO_EC */ - /* RFC4507 info */ - unsigned char *tlsext_tick; /* Session ticket */ - size_t tlsext_ticklen; /* Session ticket length */ - long tlsext_tick_lifetime_hint; /* Session lifetime hint in seconds */ -#endif -#ifndef OPENSSL_NO_SRP - char *srp_username; -#endif - }; - -#endif - -#define SSL_OP_MICROSOFT_SESS_ID_BUG 0x00000001L -#define SSL_OP_NETSCAPE_CHALLENGE_BUG 0x00000002L -/* Allow initial connection to servers that don't support RI */ -#define SSL_OP_LEGACY_SERVER_CONNECT 0x00000004L -#define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L -#define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x00000010L -#define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x00000020L -#define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x00000040L /* no effect since 0.9.7h and 0.9.8b */ -#define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x00000080L -#define SSL_OP_TLS_D5_BUG 0x00000100L -#define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L - -/* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added - * in OpenSSL 0.9.6d. Usually (depending on the application protocol) - * the workaround is not needed. Unfortunately some broken SSL/TLS - * implementations cannot handle it at all, which is why we include - * it in SSL_OP_ALL. */ -#define SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS 0x00000800L /* added in 0.9.6e */ - -/* SSL_OP_ALL: various bug workarounds that should be rather harmless. - * This used to be 0x000FFFFFL before 0.9.7. */ -#define SSL_OP_ALL 0x80000BFFL - -/* DTLS options */ -#define SSL_OP_NO_QUERY_MTU 0x00001000L -/* Turn on Cookie Exchange (on relevant for servers) */ -#define SSL_OP_COOKIE_EXCHANGE 0x00002000L -/* Don't use RFC4507 ticket extension */ -#define SSL_OP_NO_TICKET 0x00004000L -/* Use Cisco's "speshul" version of DTLS_BAD_VER (as client) */ -#define SSL_OP_CISCO_ANYCONNECT 0x00008000L - -/* As server, disallow session resumption on renegotiation */ -#define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION 0x00010000L -/* Don't use compression even if supported */ -#define SSL_OP_NO_COMPRESSION 0x00020000L -/* Permit unsafe legacy renegotiation */ -#define SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION 0x00040000L -/* If set, always create a new key when using tmp_ecdh parameters */ -#define SSL_OP_SINGLE_ECDH_USE 0x00080000L -/* If set, always create a new key when using tmp_dh parameters */ -#define SSL_OP_SINGLE_DH_USE 0x00100000L -/* Set to always use the tmp_rsa key when doing RSA operations, - * even when this violates protocol specs */ -#define SSL_OP_EPHEMERAL_RSA 0x00200000L -/* Set on servers to choose the cipher according to the server's - * preferences */ -#define SSL_OP_CIPHER_SERVER_PREFERENCE 0x00400000L -/* If set, a server will allow a client to issue a SSLv3.0 version number - * as latest version supported in the premaster secret, even when TLSv1.0 - * (version 3.1) was announced in the client hello. Normally this is - * forbidden to prevent version rollback attacks. */ -#define SSL_OP_TLS_ROLLBACK_BUG 0x00800000L - -#define SSL_OP_NO_SSLv2 0x01000000L -#define SSL_OP_NO_SSLv3 0x02000000L -#define SSL_OP_NO_TLSv1 0x04000000L -#define SSL_OP_NO_TLSv1_2 0x08000000L -#define SSL_OP_NO_TLSv1_1 0x10000000L - -/* These next two were never actually used for anything since SSLeay - * zap so we have some more flags. - */ -/* The next flag deliberately changes the ciphertest, this is a check - * for the PKCS#1 attack */ -#define SSL_OP_PKCS1_CHECK_1 0x0 -#define SSL_OP_PKCS1_CHECK_2 0x0 - -#define SSL_OP_NETSCAPE_CA_DN_BUG 0x20000000L -#define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG 0x40000000L -/* Make server add server-hello extension from early version of - * cryptopro draft, when GOST ciphersuite is negotiated. - * Required for interoperability with CryptoPro CSP 3.x - */ -#define SSL_OP_CRYPTOPRO_TLSEXT_BUG 0x80000000L - -/* Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success - * when just a single record has been written): */ -#define SSL_MODE_ENABLE_PARTIAL_WRITE 0x00000001L -/* Make it possible to retry SSL_write() with changed buffer location - * (buffer contents must stay the same!); this is not the default to avoid - * the misconception that non-blocking SSL_write() behaves like - * non-blocking write(): */ -#define SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER 0x00000002L -/* Never bother the application with retries if the transport - * is blocking: */ -#define SSL_MODE_AUTO_RETRY 0x00000004L -/* Don't attempt to automatically build certificate chain */ -#define SSL_MODE_NO_AUTO_CHAIN 0x00000008L -/* Save RAM by releasing read and write buffers when they're empty. (SSL3 and - * TLS only.) "Released" buffers are put onto a free-list in the context - * or just freed (depending on the context's setting for freelist_max_len). */ -#define SSL_MODE_RELEASE_BUFFERS 0x00000010L - -/* Note: SSL[_CTX]_set_{options,mode} use |= op on the previous value, - * they cannot be used to clear bits. */ - -#define SSL_CTX_set_options(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) -#define SSL_CTX_clear_options(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) -#define SSL_CTX_get_options(ctx) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,0,NULL) -#define SSL_set_options(ssl,op) \ - SSL_ctrl((ssl),SSL_CTRL_OPTIONS,(op),NULL) -#define SSL_clear_options(ssl,op) \ - SSL_ctrl((ssl),SSL_CTRL_CLEAR_OPTIONS,(op),NULL) -#define SSL_get_options(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_OPTIONS,0,NULL) - -#define SSL_CTX_set_mode(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL) -#define SSL_CTX_clear_mode(ctx,op) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_CLEAR_MODE,(op),NULL) -#define SSL_CTX_get_mode(ctx) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL) -#define SSL_clear_mode(ssl,op) \ - SSL_ctrl((ssl),SSL_CTRL_CLEAR_MODE,(op),NULL) -#define SSL_set_mode(ssl,op) \ - SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) -#define SSL_get_mode(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_MODE,0,NULL) -#define SSL_set_mtu(ssl, mtu) \ - SSL_ctrl((ssl),SSL_CTRL_SET_MTU,(mtu),NULL) - -#define SSL_get_secure_renegotiation_support(ssl) \ - SSL_ctrl((ssl), SSL_CTRL_GET_RI_SUPPORT, 0, NULL) - -#ifndef OPENSSL_NO_HEARTBEATS -#define SSL_heartbeat(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_TLS_EXT_SEND_HEARTBEAT,0,NULL) -#endif - -void SSL_CTX_set_msg_callback(SSL_CTX *ctx, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg)); -void SSL_set_msg_callback(SSL *ssl, void (*cb)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg)); -#define SSL_CTX_set_msg_callback_arg(ctx, arg) SSL_CTX_ctrl((ctx), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) -#define SSL_set_msg_callback_arg(ssl, arg) SSL_ctrl((ssl), SSL_CTRL_SET_MSG_CALLBACK_ARG, 0, (arg)) - -#ifndef OPENSSL_NO_SRP - -#ifndef OPENSSL_NO_SSL_INTERN - -typedef struct srp_ctx_st - { - /* param for all the callbacks */ - void *SRP_cb_arg; - /* set client Hello login callback */ - int (*TLS_ext_srp_username_callback)(SSL *, int *, void *); - /* set SRP N/g param callback for verification */ - int (*SRP_verify_param_callback)(SSL *, void *); - /* set SRP client passwd callback */ - char *(*SRP_give_srp_client_pwd_callback)(SSL *, void *); - - char *login; - BIGNUM *N,*g,*s,*B,*A; - BIGNUM *a,*b,*v; - char *info; - int strength; - - unsigned long srp_Mask; - } SRP_CTX; - -#endif - -/* see tls_srp.c */ -int SSL_SRP_CTX_init(SSL *s); -int SSL_CTX_SRP_CTX_init(SSL_CTX *ctx); -int SSL_SRP_CTX_free(SSL *ctx); -int SSL_CTX_SRP_CTX_free(SSL_CTX *ctx); -int SSL_srp_server_param_with_username(SSL *s, int *ad); -int SRP_generate_server_master_secret(SSL *s,unsigned char *master_key); -int SRP_Calc_A_param(SSL *s); -int SRP_generate_client_master_secret(SSL *s,unsigned char *master_key); - -#endif - -#if defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32) -#define SSL_MAX_CERT_LIST_DEFAULT 1024*30 /* 30k max cert list :-) */ -#else -#define SSL_MAX_CERT_LIST_DEFAULT 1024*100 /* 100k max cert list :-) */ -#endif - -#define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT (1024*20) - -/* This callback type is used inside SSL_CTX, SSL, and in the functions that set - * them. It is used to override the generation of SSL/TLS session IDs in a - * server. Return value should be zero on an error, non-zero to proceed. Also, - * callbacks should themselves check if the id they generate is unique otherwise - * the SSL handshake will fail with an error - callbacks can do this using the - * 'ssl' value they're passed by; - * SSL_has_matching_session_id(ssl, id, *id_len) - * The length value passed in is set at the maximum size the session ID can be. - * In SSLv2 this is 16 bytes, whereas SSLv3/TLSv1 it is 32 bytes. The callback - * can alter this length to be less if desired, but under SSLv2 session IDs are - * supposed to be fixed at 16 bytes so the id will be padded after the callback - * returns in this case. It is also an error for the callback to set the size to - * zero. */ -typedef int (*GEN_SESSION_CB)(const SSL *ssl, unsigned char *id, - unsigned int *id_len); - -typedef struct ssl_comp_st SSL_COMP; - -#ifndef OPENSSL_NO_SSL_INTERN - -struct ssl_comp_st - { - int id; - const char *name; -#ifndef OPENSSL_NO_COMP - COMP_METHOD *method; -#else - char *method; -#endif - }; - -DECLARE_STACK_OF(SSL_COMP) -DECLARE_LHASH_OF(SSL_SESSION); - -struct ssl_ctx_st - { - const SSL_METHOD *method; - - STACK_OF(SSL_CIPHER) *cipher_list; - /* same as above but sorted for lookup */ - STACK_OF(SSL_CIPHER) *cipher_list_by_id; - - struct x509_store_st /* X509_STORE */ *cert_store; - LHASH_OF(SSL_SESSION) *sessions; - /* Most session-ids that will be cached, default is - * SSL_SESSION_CACHE_MAX_SIZE_DEFAULT. 0 is unlimited. */ - unsigned long session_cache_size; - struct ssl_session_st *session_cache_head; - struct ssl_session_st *session_cache_tail; - - /* This can have one of 2 values, ored together, - * SSL_SESS_CACHE_CLIENT, - * SSL_SESS_CACHE_SERVER, - * Default is SSL_SESSION_CACHE_SERVER, which means only - * SSL_accept which cache SSL_SESSIONS. */ - int session_cache_mode; - - /* If timeout is not 0, it is the default timeout value set - * when SSL_new() is called. This has been put in to make - * life easier to set things up */ - long session_timeout; - - /* If this callback is not null, it will be called each - * time a session id is added to the cache. If this function - * returns 1, it means that the callback will do a - * SSL_SESSION_free() when it has finished using it. Otherwise, - * on 0, it means the callback has finished with it. - * If remove_session_cb is not null, it will be called when - * a session-id is removed from the cache. After the call, - * OpenSSL will SSL_SESSION_free() it. */ - int (*new_session_cb)(struct ssl_st *ssl,SSL_SESSION *sess); - void (*remove_session_cb)(struct ssl_ctx_st *ctx,SSL_SESSION *sess); - SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl, - unsigned char *data,int len,int *copy); - - struct - { - int sess_connect; /* SSL new conn - started */ - int sess_connect_renegotiate;/* SSL reneg - requested */ - int sess_connect_good; /* SSL new conne/reneg - finished */ - int sess_accept; /* SSL new accept - started */ - int sess_accept_renegotiate;/* SSL reneg - requested */ - int sess_accept_good; /* SSL accept/reneg - finished */ - int sess_miss; /* session lookup misses */ - int sess_timeout; /* reuse attempt on timeouted session */ - int sess_cache_full; /* session removed due to full cache */ - int sess_hit; /* session reuse actually done */ - int sess_cb_hit; /* session-id that was not - * in the cache was - * passed back via the callback. This - * indicates that the application is - * supplying session-id's from other - * processes - spooky :-) */ - } stats; - - int references; - - /* if defined, these override the X509_verify_cert() calls */ - int (*app_verify_callback)(X509_STORE_CTX *, void *); - void *app_verify_arg; - /* before OpenSSL 0.9.7, 'app_verify_arg' was ignored - * ('app_verify_callback' was called with just one argument) */ - - /* Default password callback. */ - pem_password_cb *default_passwd_callback; - - /* Default password callback user data. */ - void *default_passwd_callback_userdata; - - /* get client cert callback */ - int (*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey); - - /* cookie generate callback */ - int (*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie, - unsigned int *cookie_len); - - /* verify cookie callback */ - int (*app_verify_cookie_cb)(SSL *ssl, unsigned char *cookie, - unsigned int cookie_len); - - CRYPTO_EX_DATA ex_data; - - const EVP_MD *rsa_md5;/* For SSLv2 - name is 'ssl2-md5' */ - const EVP_MD *md5; /* For SSLv3/TLSv1 'ssl3-md5' */ - const EVP_MD *sha1; /* For SSLv3/TLSv1 'ssl3->sha1' */ - - STACK_OF(X509) *extra_certs; - STACK_OF(SSL_COMP) *comp_methods; /* stack of SSL_COMP, SSLv3/TLSv1 */ - - - /* Default values used when no per-SSL value is defined follow */ - - void (*info_callback)(const SSL *ssl,int type,int val); /* used if SSL's info_callback is NULL */ - - /* what we put in client cert requests */ - STACK_OF(X509_NAME) *client_CA; - - - /* Default values to use in SSL structures follow (these are copied by SSL_new) */ - - unsigned long options; - unsigned long mode; - long max_cert_list; - - struct cert_st /* CERT */ *cert; - int read_ahead; - - /* callback that allows applications to peek at protocol messages */ - void (*msg_callback)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg); - void *msg_callback_arg; - - int verify_mode; - unsigned int sid_ctx_length; - unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; - int (*default_verify_callback)(int ok,X509_STORE_CTX *ctx); /* called 'verify_callback' in the SSL */ - - /* Default generate session ID callback. */ - GEN_SESSION_CB generate_session_id; - - X509_VERIFY_PARAM *param; - -#if 0 - int purpose; /* Purpose setting */ - int trust; /* Trust setting */ -#endif - - int quiet_shutdown; - - /* Maximum amount of data to send in one fragment. - * actual record size can be more than this due to - * padding and MAC overheads. - */ - unsigned int max_send_fragment; - -#ifndef OPENSSL_ENGINE - /* Engine to pass requests for client certs to - */ - ENGINE *client_cert_engine; -#endif - -#ifndef OPENSSL_NO_TLSEXT - /* TLS extensions servername callback */ - int (*tlsext_servername_callback)(SSL*, int *, void *); - void *tlsext_servername_arg; - /* RFC 4507 session ticket keys */ - unsigned char tlsext_tick_key_name[16]; - unsigned char tlsext_tick_hmac_key[16]; - unsigned char tlsext_tick_aes_key[16]; - /* Callback to support customisation of ticket key setting */ - int (*tlsext_ticket_key_cb)(SSL *ssl, - unsigned char *name, unsigned char *iv, - EVP_CIPHER_CTX *ectx, - HMAC_CTX *hctx, int enc); - - /* certificate status request info */ - /* Callback for status request */ - int (*tlsext_status_cb)(SSL *ssl, void *arg); - void *tlsext_status_arg; - - /* draft-rescorla-tls-opaque-prf-input-00.txt information */ - int (*tlsext_opaque_prf_input_callback)(SSL *, void *peerinput, size_t len, void *arg); - void *tlsext_opaque_prf_input_callback_arg; -#endif - -#ifndef OPENSSL_NO_PSK - char *psk_identity_hint; - unsigned int (*psk_client_callback)(SSL *ssl, const char *hint, char *identity, - unsigned int max_identity_len, unsigned char *psk, - unsigned int max_psk_len); - unsigned int (*psk_server_callback)(SSL *ssl, const char *identity, - unsigned char *psk, unsigned int max_psk_len); -#endif - -#ifndef OPENSSL_NO_BUF_FREELISTS -#define SSL_MAX_BUF_FREELIST_LEN_DEFAULT 32 - unsigned int freelist_max_len; - struct ssl3_buf_freelist_st *wbuf_freelist; - struct ssl3_buf_freelist_st *rbuf_freelist; -#endif -#ifndef OPENSSL_NO_SRP - SRP_CTX srp_ctx; /* ctx for SRP authentication */ -#endif - -#ifndef OPENSSL_NO_TLSEXT - -# ifndef OPENSSL_NO_NEXTPROTONEG - /* Next protocol negotiation information */ - /* (for experimental NPN extension). */ - - /* For a server, this contains a callback function by which the set of - * advertised protocols can be provided. */ - int (*next_protos_advertised_cb)(SSL *s, const unsigned char **buf, - unsigned int *len, void *arg); - void *next_protos_advertised_cb_arg; - /* For a client, this contains a callback function that selects the - * next protocol from the list provided by the server. */ - int (*next_proto_select_cb)(SSL *s, unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, - void *arg); - void *next_proto_select_cb_arg; -# endif - /* SRTP profiles we are willing to do from RFC 5764 */ - STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; -#endif - }; - -#endif - -#define SSL_SESS_CACHE_OFF 0x0000 -#define SSL_SESS_CACHE_CLIENT 0x0001 -#define SSL_SESS_CACHE_SERVER 0x0002 -#define SSL_SESS_CACHE_BOTH (SSL_SESS_CACHE_CLIENT|SSL_SESS_CACHE_SERVER) -#define SSL_SESS_CACHE_NO_AUTO_CLEAR 0x0080 -/* enough comments already ... see SSL_CTX_set_session_cache_mode(3) */ -#define SSL_SESS_CACHE_NO_INTERNAL_LOOKUP 0x0100 -#define SSL_SESS_CACHE_NO_INTERNAL_STORE 0x0200 -#define SSL_SESS_CACHE_NO_INTERNAL \ - (SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE) - -LHASH_OF(SSL_SESSION) *SSL_CTX_sessions(SSL_CTX *ctx); -#define SSL_CTX_sess_number(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL) -#define SSL_CTX_sess_connect(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT,0,NULL) -#define SSL_CTX_sess_connect_good(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_GOOD,0,NULL) -#define SSL_CTX_sess_connect_renegotiate(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CONNECT_RENEGOTIATE,0,NULL) -#define SSL_CTX_sess_accept(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT,0,NULL) -#define SSL_CTX_sess_accept_renegotiate(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_RENEGOTIATE,0,NULL) -#define SSL_CTX_sess_accept_good(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_ACCEPT_GOOD,0,NULL) -#define SSL_CTX_sess_hits(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_HIT,0,NULL) -#define SSL_CTX_sess_cb_hits(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CB_HIT,0,NULL) -#define SSL_CTX_sess_misses(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_MISSES,0,NULL) -#define SSL_CTX_sess_timeouts(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_TIMEOUTS,0,NULL) -#define SSL_CTX_sess_cache_full(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_CACHE_FULL,0,NULL) - -void SSL_CTX_sess_set_new_cb(SSL_CTX *ctx, int (*new_session_cb)(struct ssl_st *ssl,SSL_SESSION *sess)); -int (*SSL_CTX_sess_get_new_cb(SSL_CTX *ctx))(struct ssl_st *ssl, SSL_SESSION *sess); -void SSL_CTX_sess_set_remove_cb(SSL_CTX *ctx, void (*remove_session_cb)(struct ssl_ctx_st *ctx,SSL_SESSION *sess)); -void (*SSL_CTX_sess_get_remove_cb(SSL_CTX *ctx))(struct ssl_ctx_st *ctx, SSL_SESSION *sess); -void SSL_CTX_sess_set_get_cb(SSL_CTX *ctx, SSL_SESSION *(*get_session_cb)(struct ssl_st *ssl, unsigned char *data,int len,int *copy)); -SSL_SESSION *(*SSL_CTX_sess_get_get_cb(SSL_CTX *ctx))(struct ssl_st *ssl, unsigned char *Data, int len, int *copy); -void SSL_CTX_set_info_callback(SSL_CTX *ctx, void (*cb)(const SSL *ssl,int type,int val)); -void (*SSL_CTX_get_info_callback(SSL_CTX *ctx))(const SSL *ssl,int type,int val); -void SSL_CTX_set_client_cert_cb(SSL_CTX *ctx, int (*client_cert_cb)(SSL *ssl, X509 **x509, EVP_PKEY **pkey)); -int (*SSL_CTX_get_client_cert_cb(SSL_CTX *ctx))(SSL *ssl, X509 **x509, EVP_PKEY **pkey); -#ifndef OPENSSL_NO_ENGINE -int SSL_CTX_set_client_cert_engine(SSL_CTX *ctx, ENGINE *e); -#endif -void SSL_CTX_set_cookie_generate_cb(SSL_CTX *ctx, int (*app_gen_cookie_cb)(SSL *ssl, unsigned char *cookie, unsigned int *cookie_len)); -void SSL_CTX_set_cookie_verify_cb(SSL_CTX *ctx, int (*app_verify_cookie_cb)(SSL *ssl, unsigned char *cookie, unsigned int cookie_len)); -#ifndef OPENSSL_NO_NEXTPROTONEG -void SSL_CTX_set_next_protos_advertised_cb(SSL_CTX *s, - int (*cb) (SSL *ssl, - const unsigned char **out, - unsigned int *outlen, - void *arg), - void *arg); -void SSL_CTX_set_next_proto_select_cb(SSL_CTX *s, - int (*cb) (SSL *ssl, - unsigned char **out, - unsigned char *outlen, - const unsigned char *in, - unsigned int inlen, - void *arg), - void *arg); - -int SSL_select_next_proto(unsigned char **out, unsigned char *outlen, - const unsigned char *in, unsigned int inlen, - const unsigned char *client, unsigned int client_len); -void SSL_get0_next_proto_negotiated(const SSL *s, - const unsigned char **data, unsigned *len); - -#define OPENSSL_NPN_UNSUPPORTED 0 -#define OPENSSL_NPN_NEGOTIATED 1 -#define OPENSSL_NPN_NO_OVERLAP 2 -#endif - -#ifndef OPENSSL_NO_PSK -/* the maximum length of the buffer given to callbacks containing the - * resulting identity/psk */ -#define PSK_MAX_IDENTITY_LEN 128 -#define PSK_MAX_PSK_LEN 256 -void SSL_CTX_set_psk_client_callback(SSL_CTX *ctx, - unsigned int (*psk_client_callback)(SSL *ssl, const char *hint, - char *identity, unsigned int max_identity_len, unsigned char *psk, - unsigned int max_psk_len)); -void SSL_set_psk_client_callback(SSL *ssl, - unsigned int (*psk_client_callback)(SSL *ssl, const char *hint, - char *identity, unsigned int max_identity_len, unsigned char *psk, - unsigned int max_psk_len)); -void SSL_CTX_set_psk_server_callback(SSL_CTX *ctx, - unsigned int (*psk_server_callback)(SSL *ssl, const char *identity, - unsigned char *psk, unsigned int max_psk_len)); -void SSL_set_psk_server_callback(SSL *ssl, - unsigned int (*psk_server_callback)(SSL *ssl, const char *identity, - unsigned char *psk, unsigned int max_psk_len)); -int SSL_CTX_use_psk_identity_hint(SSL_CTX *ctx, const char *identity_hint); -int SSL_use_psk_identity_hint(SSL *s, const char *identity_hint); -const char *SSL_get_psk_identity_hint(const SSL *s); -const char *SSL_get_psk_identity(const SSL *s); -#endif - -#define SSL_NOTHING 1 -#define SSL_WRITING 2 -#define SSL_READING 3 -#define SSL_X509_LOOKUP 4 - -/* These will only be used when doing non-blocking IO */ -#define SSL_want_nothing(s) (SSL_want(s) == SSL_NOTHING) -#define SSL_want_read(s) (SSL_want(s) == SSL_READING) -#define SSL_want_write(s) (SSL_want(s) == SSL_WRITING) -#define SSL_want_x509_lookup(s) (SSL_want(s) == SSL_X509_LOOKUP) - -#define SSL_MAC_FLAG_READ_MAC_STREAM 1 -#define SSL_MAC_FLAG_WRITE_MAC_STREAM 2 - -#ifndef OPENSSL_NO_SSL_INTERN - -struct ssl_st - { - /* protocol version - * (one of SSL2_VERSION, SSL3_VERSION, TLS1_VERSION, DTLS1_VERSION) - */ - int version; - int type; /* SSL_ST_CONNECT or SSL_ST_ACCEPT */ - - const SSL_METHOD *method; /* SSLv3 */ - - /* There are 2 BIO's even though they are normally both the - * same. This is so data can be read and written to different - * handlers */ - -#ifndef OPENSSL_NO_BIO - BIO *rbio; /* used by SSL_read */ - BIO *wbio; /* used by SSL_write */ - BIO *bbio; /* used during session-id reuse to concatenate - * messages */ -#else - char *rbio; /* used by SSL_read */ - char *wbio; /* used by SSL_write */ - char *bbio; -#endif - /* This holds a variable that indicates what we were doing - * when a 0 or -1 is returned. This is needed for - * non-blocking IO so we know what request needs re-doing when - * in SSL_accept or SSL_connect */ - int rwstate; - - /* true when we are actually in SSL_accept() or SSL_connect() */ - int in_handshake; - int (*handshake_func)(SSL *); - - /* Imagine that here's a boolean member "init" that is - * switched as soon as SSL_set_{accept/connect}_state - * is called for the first time, so that "state" and - * "handshake_func" are properly initialized. But as - * handshake_func is == 0 until then, we use this - * test instead of an "init" member. - */ - - int server; /* are we the server side? - mostly used by SSL_clear*/ - - int new_session;/* Generate a new session or reuse an old one. - * NB: For servers, the 'new' session may actually be a previously - * cached session or even the previous session unless - * SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION is set */ - int quiet_shutdown;/* don't send shutdown packets */ - int shutdown; /* we have shut things down, 0x01 sent, 0x02 - * for received */ - int state; /* where we are */ - int rstate; /* where we are when reading */ - - BUF_MEM *init_buf; /* buffer used during init */ - void *init_msg; /* pointer to handshake message body, set by ssl3_get_message() */ - int init_num; /* amount read/written */ - int init_off; /* amount read/written */ - - /* used internally to point at a raw packet */ - unsigned char *packet; - unsigned int packet_length; - - struct ssl2_state_st *s2; /* SSLv2 variables */ - struct ssl3_state_st *s3; /* SSLv3 variables */ - struct dtls1_state_st *d1; /* DTLSv1 variables */ - - int read_ahead; /* Read as many input bytes as possible - * (for non-blocking reads) */ - - /* callback that allows applications to peek at protocol messages */ - void (*msg_callback)(int write_p, int version, int content_type, const void *buf, size_t len, SSL *ssl, void *arg); - void *msg_callback_arg; - - int hit; /* reusing a previous session */ - - X509_VERIFY_PARAM *param; - -#if 0 - int purpose; /* Purpose setting */ - int trust; /* Trust setting */ -#endif - - /* crypto */ - STACK_OF(SSL_CIPHER) *cipher_list; - STACK_OF(SSL_CIPHER) *cipher_list_by_id; - - /* These are the ones being used, the ones in SSL_SESSION are - * the ones to be 'copied' into these ones */ - int mac_flags; - EVP_CIPHER_CTX *enc_read_ctx; /* cryptographic state */ - EVP_MD_CTX *read_hash; /* used for mac generation */ -#ifndef OPENSSL_NO_COMP - COMP_CTX *expand; /* uncompress */ -#else - char *expand; -#endif - - EVP_CIPHER_CTX *enc_write_ctx; /* cryptographic state */ - EVP_MD_CTX *write_hash; /* used for mac generation */ -#ifndef OPENSSL_NO_COMP - COMP_CTX *compress; /* compression */ -#else - char *compress; -#endif - - /* session info */ - - /* client cert? */ - /* This is used to hold the server certificate used */ - struct cert_st /* CERT */ *cert; - - /* the session_id_context is used to ensure sessions are only reused - * in the appropriate context */ - unsigned int sid_ctx_length; - unsigned char sid_ctx[SSL_MAX_SID_CTX_LENGTH]; - - /* This can also be in the session once a session is established */ - SSL_SESSION *session; - - /* Default generate session ID callback. */ - GEN_SESSION_CB generate_session_id; - - /* Used in SSL2 and SSL3 */ - int verify_mode; /* 0 don't care about verify failure. - * 1 fail if verify fails */ - int (*verify_callback)(int ok,X509_STORE_CTX *ctx); /* fail if callback returns 0 */ - - void (*info_callback)(const SSL *ssl,int type,int val); /* optional informational callback */ - - int error; /* error bytes to be written */ - int error_code; /* actual code */ - -#ifndef OPENSSL_NO_KRB5 - KSSL_CTX *kssl_ctx; /* Kerberos 5 context */ -#endif /* OPENSSL_NO_KRB5 */ - -#ifndef OPENSSL_NO_PSK - unsigned int (*psk_client_callback)(SSL *ssl, const char *hint, char *identity, - unsigned int max_identity_len, unsigned char *psk, - unsigned int max_psk_len); - unsigned int (*psk_server_callback)(SSL *ssl, const char *identity, - unsigned char *psk, unsigned int max_psk_len); -#endif - - SSL_CTX *ctx; - /* set this flag to 1 and a sleep(1) is put into all SSL_read() - * and SSL_write() calls, good for nbio debuging :-) */ - int debug; - - /* extra application data */ - long verify_result; - CRYPTO_EX_DATA ex_data; - - /* for server side, keep the list of CA_dn we can use */ - STACK_OF(X509_NAME) *client_CA; - - int references; - unsigned long options; /* protocol behaviour */ - unsigned long mode; /* API behaviour */ - long max_cert_list; - int first_packet; - int client_version; /* what was passed, used for - * SSLv3/TLS rollback check */ - unsigned int max_send_fragment; -#ifndef OPENSSL_NO_TLSEXT - /* TLS extension debug callback */ - void (*tlsext_debug_cb)(SSL *s, int client_server, int type, - unsigned char *data, int len, - void *arg); - void *tlsext_debug_arg; - char *tlsext_hostname; - int servername_done; /* no further mod of servername - 0 : call the servername extension callback. - 1 : prepare 2, allow last ack just after in server callback. - 2 : don't call servername callback, no ack in server hello - */ - /* certificate status request info */ - /* Status type or -1 if no status type */ - int tlsext_status_type; - /* Expect OCSP CertificateStatus message */ - int tlsext_status_expected; - /* OCSP status request only */ - STACK_OF(OCSP_RESPID) *tlsext_ocsp_ids; - X509_EXTENSIONS *tlsext_ocsp_exts; - /* OCSP response received or to be sent */ - unsigned char *tlsext_ocsp_resp; - int tlsext_ocsp_resplen; - - /* RFC4507 session ticket expected to be received or sent */ - int tlsext_ticket_expected; -#ifndef OPENSSL_NO_EC - size_t tlsext_ecpointformatlist_length; - unsigned char *tlsext_ecpointformatlist; /* our list */ - size_t tlsext_ellipticcurvelist_length; - unsigned char *tlsext_ellipticcurvelist; /* our list */ -#endif /* OPENSSL_NO_EC */ - - /* draft-rescorla-tls-opaque-prf-input-00.txt information to be used for handshakes */ - void *tlsext_opaque_prf_input; - size_t tlsext_opaque_prf_input_len; - - /* TLS Session Ticket extension override */ - TLS_SESSION_TICKET_EXT *tlsext_session_ticket; - - /* TLS Session Ticket extension callback */ - tls_session_ticket_ext_cb_fn tls_session_ticket_ext_cb; - void *tls_session_ticket_ext_cb_arg; - - /* TLS pre-shared secret session resumption */ - tls_session_secret_cb_fn tls_session_secret_cb; - void *tls_session_secret_cb_arg; - - SSL_CTX * initial_ctx; /* initial ctx, used to store sessions */ - -#ifndef OPENSSL_NO_NEXTPROTONEG - /* Next protocol negotiation. For the client, this is the protocol that - * we sent in NextProtocol and is set when handling ServerHello - * extensions. - * - * For a server, this is the client's selected_protocol from - * NextProtocol and is set when handling the NextProtocol message, - * before the Finished message. */ - unsigned char *next_proto_negotiated; - unsigned char next_proto_negotiated_len; -#endif - -#define session_ctx initial_ctx - - STACK_OF(SRTP_PROTECTION_PROFILE) *srtp_profiles; /* What we'll do */ - SRTP_PROTECTION_PROFILE *srtp_profile; /* What's been chosen */ - - unsigned int tlsext_heartbeat; /* Is use of the Heartbeat extension negotiated? - 0: disabled - 1: enabled - 2: enabled, but not allowed to send Requests - */ - unsigned int tlsext_hb_pending; /* Indicates if a HeartbeatRequest is in flight */ - unsigned int tlsext_hb_seq; /* HeartbeatRequest sequence number */ -#else -#define session_ctx ctx -#endif /* OPENSSL_NO_TLSEXT */ - - int renegotiate;/* 1 if we are renegotiating. - * 2 if we are a server and are inside a handshake - * (i.e. not just sending a HelloRequest) */ - -#ifndef OPENSSL_NO_SRP - SRP_CTX srp_ctx; /* ctx for SRP authentication */ -#endif - }; - -#endif - -#ifdef __cplusplus -} -#endif - -#include -#include -#include /* This is mostly sslv3 with a few tweaks */ -#include /* Datagram TLS */ -#include -#include /* Support for the use_srtp extension */ - -#ifdef __cplusplus -extern "C" { -#endif - -/* compatibility */ -#define SSL_set_app_data(s,arg) (SSL_set_ex_data(s,0,(char *)arg)) -#define SSL_get_app_data(s) (SSL_get_ex_data(s,0)) -#define SSL_SESSION_set_app_data(s,a) (SSL_SESSION_set_ex_data(s,0,(char *)a)) -#define SSL_SESSION_get_app_data(s) (SSL_SESSION_get_ex_data(s,0)) -#define SSL_CTX_get_app_data(ctx) (SSL_CTX_get_ex_data(ctx,0)) -#define SSL_CTX_set_app_data(ctx,arg) (SSL_CTX_set_ex_data(ctx,0,(char *)arg)) - -/* The following are the possible values for ssl->state are are - * used to indicate where we are up to in the SSL connection establishment. - * The macros that follow are about the only things you should need to use - * and even then, only when using non-blocking IO. - * It can also be useful to work out where you were when the connection - * failed */ - -#define SSL_ST_CONNECT 0x1000 -#define SSL_ST_ACCEPT 0x2000 -#define SSL_ST_MASK 0x0FFF -#define SSL_ST_INIT (SSL_ST_CONNECT|SSL_ST_ACCEPT) -#define SSL_ST_BEFORE 0x4000 -#define SSL_ST_OK 0x03 -#define SSL_ST_RENEGOTIATE (0x04|SSL_ST_INIT) - -#define SSL_CB_LOOP 0x01 -#define SSL_CB_EXIT 0x02 -#define SSL_CB_READ 0x04 -#define SSL_CB_WRITE 0x08 -#define SSL_CB_ALERT 0x4000 /* used in callback */ -#define SSL_CB_READ_ALERT (SSL_CB_ALERT|SSL_CB_READ) -#define SSL_CB_WRITE_ALERT (SSL_CB_ALERT|SSL_CB_WRITE) -#define SSL_CB_ACCEPT_LOOP (SSL_ST_ACCEPT|SSL_CB_LOOP) -#define SSL_CB_ACCEPT_EXIT (SSL_ST_ACCEPT|SSL_CB_EXIT) -#define SSL_CB_CONNECT_LOOP (SSL_ST_CONNECT|SSL_CB_LOOP) -#define SSL_CB_CONNECT_EXIT (SSL_ST_CONNECT|SSL_CB_EXIT) -#define SSL_CB_HANDSHAKE_START 0x10 -#define SSL_CB_HANDSHAKE_DONE 0x20 - -/* Is the SSL_connection established? */ -#define SSL_get_state(a) SSL_state(a) -#define SSL_is_init_finished(a) (SSL_state(a) == SSL_ST_OK) -#define SSL_in_init(a) (SSL_state(a)&SSL_ST_INIT) -#define SSL_in_before(a) (SSL_state(a)&SSL_ST_BEFORE) -#define SSL_in_connect_init(a) (SSL_state(a)&SSL_ST_CONNECT) -#define SSL_in_accept_init(a) (SSL_state(a)&SSL_ST_ACCEPT) - -/* The following 2 states are kept in ssl->rstate when reads fail, - * you should not need these */ -#define SSL_ST_READ_HEADER 0xF0 -#define SSL_ST_READ_BODY 0xF1 -#define SSL_ST_READ_DONE 0xF2 - -/* Obtain latest Finished message - * -- that we sent (SSL_get_finished) - * -- that we expected from peer (SSL_get_peer_finished). - * Returns length (0 == no Finished so far), copies up to 'count' bytes. */ -size_t SSL_get_finished(const SSL *s, void *buf, size_t count); -size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count); - -/* use either SSL_VERIFY_NONE or SSL_VERIFY_PEER, the last 2 options - * are 'ored' with SSL_VERIFY_PEER if they are desired */ -#define SSL_VERIFY_NONE 0x00 -#define SSL_VERIFY_PEER 0x01 -#define SSL_VERIFY_FAIL_IF_NO_PEER_CERT 0x02 -#define SSL_VERIFY_CLIENT_ONCE 0x04 - -#define OpenSSL_add_ssl_algorithms() SSL_library_init() -#define SSLeay_add_ssl_algorithms() SSL_library_init() - -/* this is for backward compatibility */ -#if 0 /* NEW_SSLEAY */ -#define SSL_CTX_set_default_verify(a,b,c) SSL_CTX_set_verify(a,b,c) -#define SSL_set_pref_cipher(c,n) SSL_set_cipher_list(c,n) -#define SSL_add_session(a,b) SSL_CTX_add_session((a),(b)) -#define SSL_remove_session(a,b) SSL_CTX_remove_session((a),(b)) -#define SSL_flush_sessions(a,b) SSL_CTX_flush_sessions((a),(b)) -#endif -/* More backward compatibility */ -#define SSL_get_cipher(s) \ - SSL_CIPHER_get_name(SSL_get_current_cipher(s)) -#define SSL_get_cipher_bits(s,np) \ - SSL_CIPHER_get_bits(SSL_get_current_cipher(s),np) -#define SSL_get_cipher_version(s) \ - SSL_CIPHER_get_version(SSL_get_current_cipher(s)) -#define SSL_get_cipher_name(s) \ - SSL_CIPHER_get_name(SSL_get_current_cipher(s)) -#define SSL_get_time(a) SSL_SESSION_get_time(a) -#define SSL_set_time(a,b) SSL_SESSION_set_time((a),(b)) -#define SSL_get_timeout(a) SSL_SESSION_get_timeout(a) -#define SSL_set_timeout(a,b) SSL_SESSION_set_timeout((a),(b)) - -#define d2i_SSL_SESSION_bio(bp,s_id) ASN1_d2i_bio_of(SSL_SESSION,SSL_SESSION_new,d2i_SSL_SESSION,bp,s_id) -#define i2d_SSL_SESSION_bio(bp,s_id) ASN1_i2d_bio_of(SSL_SESSION,i2d_SSL_SESSION,bp,s_id) - -DECLARE_PEM_rw(SSL_SESSION, SSL_SESSION) - -#define SSL_AD_REASON_OFFSET 1000 /* offset to get SSL_R_... value from SSL_AD_... */ - -/* These alert types are for SSLv3 and TLSv1 */ -#define SSL_AD_CLOSE_NOTIFY SSL3_AD_CLOSE_NOTIFY -#define SSL_AD_UNEXPECTED_MESSAGE SSL3_AD_UNEXPECTED_MESSAGE /* fatal */ -#define SSL_AD_BAD_RECORD_MAC SSL3_AD_BAD_RECORD_MAC /* fatal */ -#define SSL_AD_DECRYPTION_FAILED TLS1_AD_DECRYPTION_FAILED -#define SSL_AD_RECORD_OVERFLOW TLS1_AD_RECORD_OVERFLOW -#define SSL_AD_DECOMPRESSION_FAILURE SSL3_AD_DECOMPRESSION_FAILURE/* fatal */ -#define SSL_AD_HANDSHAKE_FAILURE SSL3_AD_HANDSHAKE_FAILURE/* fatal */ -#define SSL_AD_NO_CERTIFICATE SSL3_AD_NO_CERTIFICATE /* Not for TLS */ -#define SSL_AD_BAD_CERTIFICATE SSL3_AD_BAD_CERTIFICATE -#define SSL_AD_UNSUPPORTED_CERTIFICATE SSL3_AD_UNSUPPORTED_CERTIFICATE -#define SSL_AD_CERTIFICATE_REVOKED SSL3_AD_CERTIFICATE_REVOKED -#define SSL_AD_CERTIFICATE_EXPIRED SSL3_AD_CERTIFICATE_EXPIRED -#define SSL_AD_CERTIFICATE_UNKNOWN SSL3_AD_CERTIFICATE_UNKNOWN -#define SSL_AD_ILLEGAL_PARAMETER SSL3_AD_ILLEGAL_PARAMETER /* fatal */ -#define SSL_AD_UNKNOWN_CA TLS1_AD_UNKNOWN_CA /* fatal */ -#define SSL_AD_ACCESS_DENIED TLS1_AD_ACCESS_DENIED /* fatal */ -#define SSL_AD_DECODE_ERROR TLS1_AD_DECODE_ERROR /* fatal */ -#define SSL_AD_DECRYPT_ERROR TLS1_AD_DECRYPT_ERROR -#define SSL_AD_EXPORT_RESTRICTION TLS1_AD_EXPORT_RESTRICTION/* fatal */ -#define SSL_AD_PROTOCOL_VERSION TLS1_AD_PROTOCOL_VERSION /* fatal */ -#define SSL_AD_INSUFFICIENT_SECURITY TLS1_AD_INSUFFICIENT_SECURITY/* fatal */ -#define SSL_AD_INTERNAL_ERROR TLS1_AD_INTERNAL_ERROR /* fatal */ -#define SSL_AD_USER_CANCELLED TLS1_AD_USER_CANCELLED -#define SSL_AD_NO_RENEGOTIATION TLS1_AD_NO_RENEGOTIATION -#define SSL_AD_UNSUPPORTED_EXTENSION TLS1_AD_UNSUPPORTED_EXTENSION -#define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE -#define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME -#define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE -#define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE -#define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY /* fatal */ - -#define SSL_ERROR_NONE 0 -#define SSL_ERROR_SSL 1 -#define SSL_ERROR_WANT_READ 2 -#define SSL_ERROR_WANT_WRITE 3 -#define SSL_ERROR_WANT_X509_LOOKUP 4 -#define SSL_ERROR_SYSCALL 5 /* look at error stack/return value/errno */ -#define SSL_ERROR_ZERO_RETURN 6 -#define SSL_ERROR_WANT_CONNECT 7 -#define SSL_ERROR_WANT_ACCEPT 8 - -#define SSL_CTRL_NEED_TMP_RSA 1 -#define SSL_CTRL_SET_TMP_RSA 2 -#define SSL_CTRL_SET_TMP_DH 3 -#define SSL_CTRL_SET_TMP_ECDH 4 -#define SSL_CTRL_SET_TMP_RSA_CB 5 -#define SSL_CTRL_SET_TMP_DH_CB 6 -#define SSL_CTRL_SET_TMP_ECDH_CB 7 - -#define SSL_CTRL_GET_SESSION_REUSED 8 -#define SSL_CTRL_GET_CLIENT_CERT_REQUEST 9 -#define SSL_CTRL_GET_NUM_RENEGOTIATIONS 10 -#define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 -#define SSL_CTRL_GET_TOTAL_RENEGOTIATIONS 12 -#define SSL_CTRL_GET_FLAGS 13 -#define SSL_CTRL_EXTRA_CHAIN_CERT 14 - -#define SSL_CTRL_SET_MSG_CALLBACK 15 -#define SSL_CTRL_SET_MSG_CALLBACK_ARG 16 - -/* only applies to datagram connections */ -#define SSL_CTRL_SET_MTU 17 -/* Stats */ -#define SSL_CTRL_SESS_NUMBER 20 -#define SSL_CTRL_SESS_CONNECT 21 -#define SSL_CTRL_SESS_CONNECT_GOOD 22 -#define SSL_CTRL_SESS_CONNECT_RENEGOTIATE 23 -#define SSL_CTRL_SESS_ACCEPT 24 -#define SSL_CTRL_SESS_ACCEPT_GOOD 25 -#define SSL_CTRL_SESS_ACCEPT_RENEGOTIATE 26 -#define SSL_CTRL_SESS_HIT 27 -#define SSL_CTRL_SESS_CB_HIT 28 -#define SSL_CTRL_SESS_MISSES 29 -#define SSL_CTRL_SESS_TIMEOUTS 30 -#define SSL_CTRL_SESS_CACHE_FULL 31 -#define SSL_CTRL_OPTIONS 32 -#define SSL_CTRL_MODE 33 - -#define SSL_CTRL_GET_READ_AHEAD 40 -#define SSL_CTRL_SET_READ_AHEAD 41 -#define SSL_CTRL_SET_SESS_CACHE_SIZE 42 -#define SSL_CTRL_GET_SESS_CACHE_SIZE 43 -#define SSL_CTRL_SET_SESS_CACHE_MODE 44 -#define SSL_CTRL_GET_SESS_CACHE_MODE 45 - -#define SSL_CTRL_GET_MAX_CERT_LIST 50 -#define SSL_CTRL_SET_MAX_CERT_LIST 51 - -#define SSL_CTRL_SET_MAX_SEND_FRAGMENT 52 - -/* see tls1.h for macros based on these */ -#ifndef OPENSSL_NO_TLSEXT -#define SSL_CTRL_SET_TLSEXT_SERVERNAME_CB 53 -#define SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG 54 -#define SSL_CTRL_SET_TLSEXT_HOSTNAME 55 -#define SSL_CTRL_SET_TLSEXT_DEBUG_CB 56 -#define SSL_CTRL_SET_TLSEXT_DEBUG_ARG 57 -#define SSL_CTRL_GET_TLSEXT_TICKET_KEYS 58 -#define SSL_CTRL_SET_TLSEXT_TICKET_KEYS 59 -#define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT 60 -#define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB 61 -#define SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG 62 -#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB 63 -#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG 64 -#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE 65 -#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS 66 -#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS 67 -#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS 68 -#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS 69 -#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP 70 -#define SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP 71 - -#define SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB 72 - -#define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME_CB 75 -#define SSL_CTRL_SET_SRP_VERIFY_PARAM_CB 76 -#define SSL_CTRL_SET_SRP_GIVE_CLIENT_PWD_CB 77 - -#define SSL_CTRL_SET_SRP_ARG 78 -#define SSL_CTRL_SET_TLS_EXT_SRP_USERNAME 79 -#define SSL_CTRL_SET_TLS_EXT_SRP_STRENGTH 80 -#define SSL_CTRL_SET_TLS_EXT_SRP_PASSWORD 81 -#ifndef OPENSSL_NO_HEARTBEATS -#define SSL_CTRL_TLS_EXT_SEND_HEARTBEAT 85 -#define SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING 86 -#define SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS 87 -#endif -#endif - -#define DTLS_CTRL_GET_TIMEOUT 73 -#define DTLS_CTRL_HANDLE_TIMEOUT 74 -#define DTLS_CTRL_LISTEN 75 - -#define SSL_CTRL_GET_RI_SUPPORT 76 -#define SSL_CTRL_CLEAR_OPTIONS 77 -#define SSL_CTRL_CLEAR_MODE 78 - -#define SSL_CTRL_GET_EXTRA_CHAIN_CERTS 82 -#define SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS 83 - -#define DTLSv1_get_timeout(ssl, arg) \ - SSL_ctrl(ssl,DTLS_CTRL_GET_TIMEOUT,0, (void *)arg) -#define DTLSv1_handle_timeout(ssl) \ - SSL_ctrl(ssl,DTLS_CTRL_HANDLE_TIMEOUT,0, NULL) -#define DTLSv1_listen(ssl, peer) \ - SSL_ctrl(ssl,DTLS_CTRL_LISTEN,0, (void *)peer) - -#define SSL_session_reused(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_GET_SESSION_REUSED,0,NULL) -#define SSL_num_renegotiations(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_GET_NUM_RENEGOTIATIONS,0,NULL) -#define SSL_clear_num_renegotiations(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS,0,NULL) -#define SSL_total_renegotiations(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_GET_TOTAL_RENEGOTIATIONS,0,NULL) - -#define SSL_CTX_need_tmp_RSA(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_NEED_TMP_RSA,0,NULL) -#define SSL_CTX_set_tmp_rsa(ctx,rsa) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) -#define SSL_CTX_set_tmp_dh(ctx,dh) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_DH,0,(char *)dh) -#define SSL_CTX_set_tmp_ecdh(ctx,ecdh) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) - -#define SSL_need_tmp_RSA(ssl) \ - SSL_ctrl(ssl,SSL_CTRL_NEED_TMP_RSA,0,NULL) -#define SSL_set_tmp_rsa(ssl,rsa) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TMP_RSA,0,(char *)rsa) -#define SSL_set_tmp_dh(ssl,dh) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TMP_DH,0,(char *)dh) -#define SSL_set_tmp_ecdh(ssl,ecdh) \ - SSL_ctrl(ssl,SSL_CTRL_SET_TMP_ECDH,0,(char *)ecdh) - -#define SSL_CTX_add_extra_chain_cert(ctx,x509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509) -#define SSL_CTX_get_extra_chain_certs(ctx,px509) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_EXTRA_CHAIN_CERTS,0,px509) -#define SSL_CTX_clear_extra_chain_certs(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_CLEAR_EXTRA_CHAIN_CERTS,0,NULL) - -#ifndef OPENSSL_NO_BIO -BIO_METHOD *BIO_f_ssl(void); -BIO *BIO_new_ssl(SSL_CTX *ctx,int client); -BIO *BIO_new_ssl_connect(SSL_CTX *ctx); -BIO *BIO_new_buffer_ssl_connect(SSL_CTX *ctx); -int BIO_ssl_copy_session_id(BIO *to,BIO *from); -void BIO_ssl_shutdown(BIO *ssl_bio); - -#endif - -int SSL_CTX_set_cipher_list(SSL_CTX *,const char *str); -SSL_CTX *SSL_CTX_new(const SSL_METHOD *meth); -void SSL_CTX_free(SSL_CTX *); -long SSL_CTX_set_timeout(SSL_CTX *ctx,long t); -long SSL_CTX_get_timeout(const SSL_CTX *ctx); -X509_STORE *SSL_CTX_get_cert_store(const SSL_CTX *); -void SSL_CTX_set_cert_store(SSL_CTX *,X509_STORE *); -int SSL_want(const SSL *s); -int SSL_clear(SSL *s); - -void SSL_CTX_flush_sessions(SSL_CTX *ctx,long tm); - -const SSL_CIPHER *SSL_get_current_cipher(const SSL *s); -int SSL_CIPHER_get_bits(const SSL_CIPHER *c,int *alg_bits); -char * SSL_CIPHER_get_version(const SSL_CIPHER *c); -const char * SSL_CIPHER_get_name(const SSL_CIPHER *c); -unsigned long SSL_CIPHER_get_id(const SSL_CIPHER *c); - -int SSL_get_fd(const SSL *s); -int SSL_get_rfd(const SSL *s); -int SSL_get_wfd(const SSL *s); -const char * SSL_get_cipher_list(const SSL *s,int n); -char * SSL_get_shared_ciphers(const SSL *s, char *buf, int len); -int SSL_get_read_ahead(const SSL * s); -int SSL_pending(const SSL *s); -#ifndef OPENSSL_NO_SOCK -int SSL_set_fd(SSL *s, int fd); -int SSL_set_rfd(SSL *s, int fd); -int SSL_set_wfd(SSL *s, int fd); -#endif -#ifndef OPENSSL_NO_BIO -void SSL_set_bio(SSL *s, BIO *rbio,BIO *wbio); -BIO * SSL_get_rbio(const SSL *s); -BIO * SSL_get_wbio(const SSL *s); -#endif -int SSL_set_cipher_list(SSL *s, const char *str); -void SSL_set_read_ahead(SSL *s, int yes); -int SSL_get_verify_mode(const SSL *s); -int SSL_get_verify_depth(const SSL *s); -int (*SSL_get_verify_callback(const SSL *s))(int,X509_STORE_CTX *); -void SSL_set_verify(SSL *s, int mode, - int (*callback)(int ok,X509_STORE_CTX *ctx)); -void SSL_set_verify_depth(SSL *s, int depth); -#ifndef OPENSSL_NO_RSA -int SSL_use_RSAPrivateKey(SSL *ssl, RSA *rsa); -#endif -int SSL_use_RSAPrivateKey_ASN1(SSL *ssl, unsigned char *d, long len); -int SSL_use_PrivateKey(SSL *ssl, EVP_PKEY *pkey); -int SSL_use_PrivateKey_ASN1(int pk,SSL *ssl, const unsigned char *d, long len); -int SSL_use_certificate(SSL *ssl, X509 *x); -int SSL_use_certificate_ASN1(SSL *ssl, const unsigned char *d, int len); - -#ifndef OPENSSL_NO_STDIO -int SSL_use_RSAPrivateKey_file(SSL *ssl, const char *file, int type); -int SSL_use_PrivateKey_file(SSL *ssl, const char *file, int type); -int SSL_use_certificate_file(SSL *ssl, const char *file, int type); -int SSL_CTX_use_RSAPrivateKey_file(SSL_CTX *ctx, const char *file, int type); -int SSL_CTX_use_PrivateKey_file(SSL_CTX *ctx, const char *file, int type); -int SSL_CTX_use_certificate_file(SSL_CTX *ctx, const char *file, int type); -int SSL_CTX_use_certificate_chain_file(SSL_CTX *ctx, const char *file); /* PEM type */ -STACK_OF(X509_NAME) *SSL_load_client_CA_file(const char *file); -int SSL_add_file_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, - const char *file); -#ifndef OPENSSL_SYS_VMS -#ifndef OPENSSL_SYS_MACINTOSH_CLASSIC /* XXXXX: Better scheme needed! [was: #ifndef MAC_OS_pre_X] */ -int SSL_add_dir_cert_subjects_to_stack(STACK_OF(X509_NAME) *stackCAs, - const char *dir); -#endif -#endif - -#endif - -void SSL_load_error_strings(void ); -const char *SSL_state_string(const SSL *s); -const char *SSL_rstate_string(const SSL *s); -const char *SSL_state_string_long(const SSL *s); -const char *SSL_rstate_string_long(const SSL *s); -long SSL_SESSION_get_time(const SSL_SESSION *s); -long SSL_SESSION_set_time(SSL_SESSION *s, long t); -long SSL_SESSION_get_timeout(const SSL_SESSION *s); -long SSL_SESSION_set_timeout(SSL_SESSION *s, long t); -void SSL_copy_session_id(SSL *to,const SSL *from); -X509 *SSL_SESSION_get0_peer(SSL_SESSION *s); -int SSL_SESSION_set1_id_context(SSL_SESSION *s,const unsigned char *sid_ctx, - unsigned int sid_ctx_len); - -SSL_SESSION *SSL_SESSION_new(void); -const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, - unsigned int *len); -unsigned int SSL_SESSION_get_compress_id(const SSL_SESSION *s); -#ifndef OPENSSL_NO_FP_API -int SSL_SESSION_print_fp(FILE *fp,const SSL_SESSION *ses); -#endif -#ifndef OPENSSL_NO_BIO -int SSL_SESSION_print(BIO *fp,const SSL_SESSION *ses); -#endif -void SSL_SESSION_free(SSL_SESSION *ses); -int i2d_SSL_SESSION(SSL_SESSION *in,unsigned char **pp); -int SSL_set_session(SSL *to, SSL_SESSION *session); -int SSL_CTX_add_session(SSL_CTX *s, SSL_SESSION *c); -int SSL_CTX_remove_session(SSL_CTX *,SSL_SESSION *c); -int SSL_CTX_set_generate_session_id(SSL_CTX *, GEN_SESSION_CB); -int SSL_set_generate_session_id(SSL *, GEN_SESSION_CB); -int SSL_has_matching_session_id(const SSL *ssl, const unsigned char *id, - unsigned int id_len); -SSL_SESSION *d2i_SSL_SESSION(SSL_SESSION **a,const unsigned char **pp, - long length); - -#ifdef HEADER_X509_H -X509 * SSL_get_peer_certificate(const SSL *s); -#endif - -STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); - -int SSL_CTX_get_verify_mode(const SSL_CTX *ctx); -int SSL_CTX_get_verify_depth(const SSL_CTX *ctx); -int (*SSL_CTX_get_verify_callback(const SSL_CTX *ctx))(int,X509_STORE_CTX *); -void SSL_CTX_set_verify(SSL_CTX *ctx,int mode, - int (*callback)(int, X509_STORE_CTX *)); -void SSL_CTX_set_verify_depth(SSL_CTX *ctx,int depth); -void SSL_CTX_set_cert_verify_callback(SSL_CTX *ctx, int (*cb)(X509_STORE_CTX *,void *), void *arg); -#ifndef OPENSSL_NO_RSA -int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa); -#endif -int SSL_CTX_use_RSAPrivateKey_ASN1(SSL_CTX *ctx, const unsigned char *d, long len); -int SSL_CTX_use_PrivateKey(SSL_CTX *ctx, EVP_PKEY *pkey); -int SSL_CTX_use_PrivateKey_ASN1(int pk,SSL_CTX *ctx, - const unsigned char *d, long len); -int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x); -int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, const unsigned char *d); - -void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb); -void SSL_CTX_set_default_passwd_cb_userdata(SSL_CTX *ctx, void *u); - -int SSL_CTX_check_private_key(const SSL_CTX *ctx); -int SSL_check_private_key(const SSL *ctx); - -int SSL_CTX_set_session_id_context(SSL_CTX *ctx,const unsigned char *sid_ctx, - unsigned int sid_ctx_len); - -SSL * SSL_new(SSL_CTX *ctx); -int SSL_set_session_id_context(SSL *ssl,const unsigned char *sid_ctx, - unsigned int sid_ctx_len); - -int SSL_CTX_set_purpose(SSL_CTX *s, int purpose); -int SSL_set_purpose(SSL *s, int purpose); -int SSL_CTX_set_trust(SSL_CTX *s, int trust); -int SSL_set_trust(SSL *s, int trust); - -int SSL_CTX_set1_param(SSL_CTX *ctx, X509_VERIFY_PARAM *vpm); -int SSL_set1_param(SSL *ssl, X509_VERIFY_PARAM *vpm); - -#ifndef OPENSSL_NO_SRP -int SSL_CTX_set_srp_username(SSL_CTX *ctx,char *name); -int SSL_CTX_set_srp_password(SSL_CTX *ctx,char *password); -int SSL_CTX_set_srp_strength(SSL_CTX *ctx, int strength); -int SSL_CTX_set_srp_client_pwd_callback(SSL_CTX *ctx, - char *(*cb)(SSL *,void *)); -int SSL_CTX_set_srp_verify_param_callback(SSL_CTX *ctx, - int (*cb)(SSL *,void *)); -int SSL_CTX_set_srp_username_callback(SSL_CTX *ctx, - int (*cb)(SSL *,int *,void *)); -int SSL_CTX_set_srp_cb_arg(SSL_CTX *ctx, void *arg); - -int SSL_set_srp_server_param(SSL *s, const BIGNUM *N, const BIGNUM *g, - BIGNUM *sa, BIGNUM *v, char *info); -int SSL_set_srp_server_param_pw(SSL *s, const char *user, const char *pass, - const char *grp); - -BIGNUM *SSL_get_srp_g(SSL *s); -BIGNUM *SSL_get_srp_N(SSL *s); - -char *SSL_get_srp_username(SSL *s); -char *SSL_get_srp_userinfo(SSL *s); -#endif - -void SSL_free(SSL *ssl); -int SSL_accept(SSL *ssl); -int SSL_connect(SSL *ssl); -int SSL_read(SSL *ssl,void *buf,int num); -int SSL_peek(SSL *ssl,void *buf,int num); -int SSL_write(SSL *ssl,const void *buf,int num); -long SSL_ctrl(SSL *ssl,int cmd, long larg, void *parg); -long SSL_callback_ctrl(SSL *, int, void (*)(void)); -long SSL_CTX_ctrl(SSL_CTX *ctx,int cmd, long larg, void *parg); -long SSL_CTX_callback_ctrl(SSL_CTX *, int, void (*)(void)); - -int SSL_get_error(const SSL *s,int ret_code); -const char *SSL_get_version(const SSL *s); - -/* This sets the 'default' SSL version that SSL_new() will create */ -int SSL_CTX_set_ssl_version(SSL_CTX *ctx, const SSL_METHOD *meth); - -#ifndef OPENSSL_NO_SSL2 -const SSL_METHOD *SSLv2_method(void); /* SSLv2 */ -const SSL_METHOD *SSLv2_server_method(void); /* SSLv2 */ -const SSL_METHOD *SSLv2_client_method(void); /* SSLv2 */ -#endif - -const SSL_METHOD *SSLv3_method(void); /* SSLv3 */ -const SSL_METHOD *SSLv3_server_method(void); /* SSLv3 */ -const SSL_METHOD *SSLv3_client_method(void); /* SSLv3 */ - -const SSL_METHOD *SSLv23_method(void); /* SSLv3 but can rollback to v2 */ -const SSL_METHOD *SSLv23_server_method(void); /* SSLv3 but can rollback to v2 */ -const SSL_METHOD *SSLv23_client_method(void); /* SSLv3 but can rollback to v2 */ - -const SSL_METHOD *TLSv1_method(void); /* TLSv1.0 */ -const SSL_METHOD *TLSv1_server_method(void); /* TLSv1.0 */ -const SSL_METHOD *TLSv1_client_method(void); /* TLSv1.0 */ - -const SSL_METHOD *TLSv1_1_method(void); /* TLSv1.1 */ -const SSL_METHOD *TLSv1_1_server_method(void); /* TLSv1.1 */ -const SSL_METHOD *TLSv1_1_client_method(void); /* TLSv1.1 */ - -const SSL_METHOD *TLSv1_2_method(void); /* TLSv1.2 */ -const SSL_METHOD *TLSv1_2_server_method(void); /* TLSv1.2 */ -const SSL_METHOD *TLSv1_2_client_method(void); /* TLSv1.2 */ - - -const SSL_METHOD *DTLSv1_method(void); /* DTLSv1.0 */ -const SSL_METHOD *DTLSv1_server_method(void); /* DTLSv1.0 */ -const SSL_METHOD *DTLSv1_client_method(void); /* DTLSv1.0 */ - -STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); - -int SSL_do_handshake(SSL *s); -int SSL_renegotiate(SSL *s); -int SSL_renegotiate_abbreviated(SSL *s); -int SSL_renegotiate_pending(SSL *s); -int SSL_shutdown(SSL *s); - -const SSL_METHOD *SSL_get_ssl_method(SSL *s); -int SSL_set_ssl_method(SSL *s, const SSL_METHOD *method); -const char *SSL_alert_type_string_long(int value); -const char *SSL_alert_type_string(int value); -const char *SSL_alert_desc_string_long(int value); -const char *SSL_alert_desc_string(int value); - -void SSL_set_client_CA_list(SSL *s, STACK_OF(X509_NAME) *name_list); -void SSL_CTX_set_client_CA_list(SSL_CTX *ctx, STACK_OF(X509_NAME) *name_list); -STACK_OF(X509_NAME) *SSL_get_client_CA_list(const SSL *s); -STACK_OF(X509_NAME) *SSL_CTX_get_client_CA_list(const SSL_CTX *s); -int SSL_add_client_CA(SSL *ssl,X509 *x); -int SSL_CTX_add_client_CA(SSL_CTX *ctx,X509 *x); - -void SSL_set_connect_state(SSL *s); -void SSL_set_accept_state(SSL *s); - -long SSL_get_default_timeout(const SSL *s); - -int SSL_library_init(void ); - -char *SSL_CIPHER_description(const SSL_CIPHER *,char *buf,int size); -STACK_OF(X509_NAME) *SSL_dup_CA_list(STACK_OF(X509_NAME) *sk); - -SSL *SSL_dup(SSL *ssl); - -X509 *SSL_get_certificate(const SSL *ssl); -/* EVP_PKEY */ struct evp_pkey_st *SSL_get_privatekey(SSL *ssl); - -void SSL_CTX_set_quiet_shutdown(SSL_CTX *ctx,int mode); -int SSL_CTX_get_quiet_shutdown(const SSL_CTX *ctx); -void SSL_set_quiet_shutdown(SSL *ssl,int mode); -int SSL_get_quiet_shutdown(const SSL *ssl); -void SSL_set_shutdown(SSL *ssl,int mode); -int SSL_get_shutdown(const SSL *ssl); -int SSL_version(const SSL *ssl); -int SSL_CTX_set_default_verify_paths(SSL_CTX *ctx); -int SSL_CTX_load_verify_locations(SSL_CTX *ctx, const char *CAfile, - const char *CApath); -#define SSL_get0_session SSL_get_session /* just peek at pointer */ -SSL_SESSION *SSL_get_session(const SSL *ssl); -SSL_SESSION *SSL_get1_session(SSL *ssl); /* obtain a reference count */ -SSL_CTX *SSL_get_SSL_CTX(const SSL *ssl); -SSL_CTX *SSL_set_SSL_CTX(SSL *ssl, SSL_CTX* ctx); -void SSL_set_info_callback(SSL *ssl, - void (*cb)(const SSL *ssl,int type,int val)); -void (*SSL_get_info_callback(const SSL *ssl))(const SSL *ssl,int type,int val); -int SSL_state(const SSL *ssl); -void SSL_set_state(SSL *ssl, int state); - -void SSL_set_verify_result(SSL *ssl,long v); -long SSL_get_verify_result(const SSL *ssl); - -int SSL_set_ex_data(SSL *ssl,int idx,void *data); -void *SSL_get_ex_data(const SSL *ssl,int idx); -int SSL_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); - -int SSL_SESSION_set_ex_data(SSL_SESSION *ss,int idx,void *data); -void *SSL_SESSION_get_ex_data(const SSL_SESSION *ss,int idx); -int SSL_SESSION_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); - -int SSL_CTX_set_ex_data(SSL_CTX *ssl,int idx,void *data); -void *SSL_CTX_get_ex_data(const SSL_CTX *ssl,int idx); -int SSL_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); - -int SSL_get_ex_data_X509_STORE_CTX_idx(void ); - -#define SSL_CTX_sess_set_cache_size(ctx,t) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_SIZE,t,NULL) -#define SSL_CTX_sess_get_cache_size(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_SIZE,0,NULL) -#define SSL_CTX_set_session_cache_mode(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_SESS_CACHE_MODE,m,NULL) -#define SSL_CTX_get_session_cache_mode(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_SESS_CACHE_MODE,0,NULL) - -#define SSL_CTX_get_default_read_ahead(ctx) SSL_CTX_get_read_ahead(ctx) -#define SSL_CTX_set_default_read_ahead(ctx,m) SSL_CTX_set_read_ahead(ctx,m) -#define SSL_CTX_get_read_ahead(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_READ_AHEAD,0,NULL) -#define SSL_CTX_set_read_ahead(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_READ_AHEAD,m,NULL) -#define SSL_CTX_get_max_cert_list(ctx) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) -#define SSL_CTX_set_max_cert_list(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) -#define SSL_get_max_cert_list(ssl) \ - SSL_ctrl(ssl,SSL_CTRL_GET_MAX_CERT_LIST,0,NULL) -#define SSL_set_max_cert_list(ssl,m) \ - SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,m,NULL) - -#define SSL_CTX_set_max_send_fragment(ctx,m) \ - SSL_CTX_ctrl(ctx,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) -#define SSL_set_max_send_fragment(ssl,m) \ - SSL_ctrl(ssl,SSL_CTRL_SET_MAX_SEND_FRAGMENT,m,NULL) - - /* NB: the keylength is only applicable when is_export is true */ -#ifndef OPENSSL_NO_RSA -void SSL_CTX_set_tmp_rsa_callback(SSL_CTX *ctx, - RSA *(*cb)(SSL *ssl,int is_export, - int keylength)); - -void SSL_set_tmp_rsa_callback(SSL *ssl, - RSA *(*cb)(SSL *ssl,int is_export, - int keylength)); -#endif -#ifndef OPENSSL_NO_DH -void SSL_CTX_set_tmp_dh_callback(SSL_CTX *ctx, - DH *(*dh)(SSL *ssl,int is_export, - int keylength)); -void SSL_set_tmp_dh_callback(SSL *ssl, - DH *(*dh)(SSL *ssl,int is_export, - int keylength)); -#endif -#ifndef OPENSSL_NO_ECDH -void SSL_CTX_set_tmp_ecdh_callback(SSL_CTX *ctx, - EC_KEY *(*ecdh)(SSL *ssl,int is_export, - int keylength)); -void SSL_set_tmp_ecdh_callback(SSL *ssl, - EC_KEY *(*ecdh)(SSL *ssl,int is_export, - int keylength)); -#endif - -#ifndef OPENSSL_NO_COMP -const COMP_METHOD *SSL_get_current_compression(SSL *s); -const COMP_METHOD *SSL_get_current_expansion(SSL *s); -const char *SSL_COMP_get_name(const COMP_METHOD *comp); -STACK_OF(SSL_COMP) *SSL_COMP_get_compression_methods(void); -int SSL_COMP_add_compression_method(int id,COMP_METHOD *cm); -#else -const void *SSL_get_current_compression(SSL *s); -const void *SSL_get_current_expansion(SSL *s); -const char *SSL_COMP_get_name(const void *comp); -void *SSL_COMP_get_compression_methods(void); -int SSL_COMP_add_compression_method(int id,void *cm); -#endif - -/* TLS extensions functions */ -int SSL_set_session_ticket_ext(SSL *s, void *ext_data, int ext_len); - -int SSL_set_session_ticket_ext_cb(SSL *s, tls_session_ticket_ext_cb_fn cb, - void *arg); - -/* Pre-shared secret session resumption functions */ -int SSL_set_session_secret_cb(SSL *s, tls_session_secret_cb_fn tls_session_secret_cb, void *arg); - -void SSL_set_debug(SSL *s, int debug); -int SSL_cache_hit(SSL *s); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_SSL_strings(void); - -/* Error codes for the SSL functions. */ - -/* Function codes. */ -#define SSL_F_CLIENT_CERTIFICATE 100 -#define SSL_F_CLIENT_FINISHED 167 -#define SSL_F_CLIENT_HELLO 101 -#define SSL_F_CLIENT_MASTER_KEY 102 -#define SSL_F_D2I_SSL_SESSION 103 -#define SSL_F_DO_DTLS1_WRITE 245 -#define SSL_F_DO_SSL3_WRITE 104 -#define SSL_F_DTLS1_ACCEPT 246 -#define SSL_F_DTLS1_ADD_CERT_TO_BUF 295 -#define SSL_F_DTLS1_BUFFER_RECORD 247 -#define SSL_F_DTLS1_CHECK_TIMEOUT_NUM 316 -#define SSL_F_DTLS1_CLIENT_HELLO 248 -#define SSL_F_DTLS1_CONNECT 249 -#define SSL_F_DTLS1_ENC 250 -#define SSL_F_DTLS1_GET_HELLO_VERIFY 251 -#define SSL_F_DTLS1_GET_MESSAGE 252 -#define SSL_F_DTLS1_GET_MESSAGE_FRAGMENT 253 -#define SSL_F_DTLS1_GET_RECORD 254 -#define SSL_F_DTLS1_HANDLE_TIMEOUT 297 -#define SSL_F_DTLS1_HEARTBEAT 305 -#define SSL_F_DTLS1_OUTPUT_CERT_CHAIN 255 -#define SSL_F_DTLS1_PREPROCESS_FRAGMENT 288 -#define SSL_F_DTLS1_PROCESS_OUT_OF_SEQ_MESSAGE 256 -#define SSL_F_DTLS1_PROCESS_RECORD 257 -#define SSL_F_DTLS1_READ_BYTES 258 -#define SSL_F_DTLS1_READ_FAILED 259 -#define SSL_F_DTLS1_SEND_CERTIFICATE_REQUEST 260 -#define SSL_F_DTLS1_SEND_CLIENT_CERTIFICATE 261 -#define SSL_F_DTLS1_SEND_CLIENT_KEY_EXCHANGE 262 -#define SSL_F_DTLS1_SEND_CLIENT_VERIFY 263 -#define SSL_F_DTLS1_SEND_HELLO_VERIFY_REQUEST 264 -#define SSL_F_DTLS1_SEND_SERVER_CERTIFICATE 265 -#define SSL_F_DTLS1_SEND_SERVER_HELLO 266 -#define SSL_F_DTLS1_SEND_SERVER_KEY_EXCHANGE 267 -#define SSL_F_DTLS1_WRITE_APP_DATA_BYTES 268 -#define SSL_F_GET_CLIENT_FINISHED 105 -#define SSL_F_GET_CLIENT_HELLO 106 -#define SSL_F_GET_CLIENT_MASTER_KEY 107 -#define SSL_F_GET_SERVER_FINISHED 108 -#define SSL_F_GET_SERVER_HELLO 109 -#define SSL_F_GET_SERVER_VERIFY 110 -#define SSL_F_I2D_SSL_SESSION 111 -#define SSL_F_READ_N 112 -#define SSL_F_REQUEST_CERTIFICATE 113 -#define SSL_F_SERVER_FINISH 239 -#define SSL_F_SERVER_HELLO 114 -#define SSL_F_SERVER_VERIFY 240 -#define SSL_F_SSL23_ACCEPT 115 -#define SSL_F_SSL23_CLIENT_HELLO 116 -#define SSL_F_SSL23_CONNECT 117 -#define SSL_F_SSL23_GET_CLIENT_HELLO 118 -#define SSL_F_SSL23_GET_SERVER_HELLO 119 -#define SSL_F_SSL23_PEEK 237 -#define SSL_F_SSL23_READ 120 -#define SSL_F_SSL23_WRITE 121 -#define SSL_F_SSL2_ACCEPT 122 -#define SSL_F_SSL2_CONNECT 123 -#define SSL_F_SSL2_ENC_INIT 124 -#define SSL_F_SSL2_GENERATE_KEY_MATERIAL 241 -#define SSL_F_SSL2_PEEK 234 -#define SSL_F_SSL2_READ 125 -#define SSL_F_SSL2_READ_INTERNAL 236 -#define SSL_F_SSL2_SET_CERTIFICATE 126 -#define SSL_F_SSL2_WRITE 127 -#define SSL_F_SSL3_ACCEPT 128 -#define SSL_F_SSL3_ADD_CERT_TO_BUF 296 -#define SSL_F_SSL3_CALLBACK_CTRL 233 -#define SSL_F_SSL3_CHANGE_CIPHER_STATE 129 -#define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM 130 -#define SSL_F_SSL3_CHECK_CLIENT_HELLO 304 -#define SSL_F_SSL3_CLIENT_HELLO 131 -#define SSL_F_SSL3_CONNECT 132 -#define SSL_F_SSL3_CTRL 213 -#define SSL_F_SSL3_CTX_CTRL 133 -#define SSL_F_SSL3_DIGEST_CACHED_RECORDS 293 -#define SSL_F_SSL3_DO_CHANGE_CIPHER_SPEC 292 -#define SSL_F_SSL3_ENC 134 -#define SSL_F_SSL3_GENERATE_KEY_BLOCK 238 -#define SSL_F_SSL3_GET_CERTIFICATE_REQUEST 135 -#define SSL_F_SSL3_GET_CERT_STATUS 289 -#define SSL_F_SSL3_GET_CERT_VERIFY 136 -#define SSL_F_SSL3_GET_CLIENT_CERTIFICATE 137 -#define SSL_F_SSL3_GET_CLIENT_HELLO 138 -#define SSL_F_SSL3_GET_CLIENT_KEY_EXCHANGE 139 -#define SSL_F_SSL3_GET_FINISHED 140 -#define SSL_F_SSL3_GET_KEY_EXCHANGE 141 -#define SSL_F_SSL3_GET_MESSAGE 142 -#define SSL_F_SSL3_GET_NEW_SESSION_TICKET 283 -#define SSL_F_SSL3_GET_NEXT_PROTO 306 -#define SSL_F_SSL3_GET_RECORD 143 -#define SSL_F_SSL3_GET_SERVER_CERTIFICATE 144 -#define SSL_F_SSL3_GET_SERVER_DONE 145 -#define SSL_F_SSL3_GET_SERVER_HELLO 146 -#define SSL_F_SSL3_HANDSHAKE_MAC 285 -#define SSL_F_SSL3_NEW_SESSION_TICKET 287 -#define SSL_F_SSL3_OUTPUT_CERT_CHAIN 147 -#define SSL_F_SSL3_PEEK 235 -#define SSL_F_SSL3_READ_BYTES 148 -#define SSL_F_SSL3_READ_N 149 -#define SSL_F_SSL3_SEND_CERTIFICATE_REQUEST 150 -#define SSL_F_SSL3_SEND_CLIENT_CERTIFICATE 151 -#define SSL_F_SSL3_SEND_CLIENT_KEY_EXCHANGE 152 -#define SSL_F_SSL3_SEND_CLIENT_VERIFY 153 -#define SSL_F_SSL3_SEND_SERVER_CERTIFICATE 154 -#define SSL_F_SSL3_SEND_SERVER_HELLO 242 -#define SSL_F_SSL3_SEND_SERVER_KEY_EXCHANGE 155 -#define SSL_F_SSL3_SETUP_KEY_BLOCK 157 -#define SSL_F_SSL3_SETUP_READ_BUFFER 156 -#define SSL_F_SSL3_SETUP_WRITE_BUFFER 291 -#define SSL_F_SSL3_WRITE_BYTES 158 -#define SSL_F_SSL3_WRITE_PENDING 159 -#define SSL_F_SSL_ADD_CLIENTHELLO_RENEGOTIATE_EXT 298 -#define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT 277 -#define SSL_F_SSL_ADD_CLIENTHELLO_USE_SRTP_EXT 307 -#define SSL_F_SSL_ADD_DIR_CERT_SUBJECTS_TO_STACK 215 -#define SSL_F_SSL_ADD_FILE_CERT_SUBJECTS_TO_STACK 216 -#define SSL_F_SSL_ADD_SERVERHELLO_RENEGOTIATE_EXT 299 -#define SSL_F_SSL_ADD_SERVERHELLO_TLSEXT 278 -#define SSL_F_SSL_ADD_SERVERHELLO_USE_SRTP_EXT 308 -#define SSL_F_SSL_BAD_METHOD 160 -#define SSL_F_SSL_BYTES_TO_CIPHER_LIST 161 -#define SSL_F_SSL_CERT_DUP 221 -#define SSL_F_SSL_CERT_INST 222 -#define SSL_F_SSL_CERT_INSTANTIATE 214 -#define SSL_F_SSL_CERT_NEW 162 -#define SSL_F_SSL_CHECK_PRIVATE_KEY 163 -#define SSL_F_SSL_CHECK_SERVERHELLO_TLSEXT 280 -#define SSL_F_SSL_CHECK_SRVR_ECC_CERT_AND_ALG 279 -#define SSL_F_SSL_CIPHER_PROCESS_RULESTR 230 -#define SSL_F_SSL_CIPHER_STRENGTH_SORT 231 -#define SSL_F_SSL_CLEAR 164 -#define SSL_F_SSL_COMP_ADD_COMPRESSION_METHOD 165 -#define SSL_F_SSL_CREATE_CIPHER_LIST 166 -#define SSL_F_SSL_CTRL 232 -#define SSL_F_SSL_CTX_CHECK_PRIVATE_KEY 168 -#define SSL_F_SSL_CTX_MAKE_PROFILES 309 -#define SSL_F_SSL_CTX_NEW 169 -#define SSL_F_SSL_CTX_SET_CIPHER_LIST 269 -#define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE 290 -#define SSL_F_SSL_CTX_SET_PURPOSE 226 -#define SSL_F_SSL_CTX_SET_SESSION_ID_CONTEXT 219 -#define SSL_F_SSL_CTX_SET_SSL_VERSION 170 -#define SSL_F_SSL_CTX_SET_TRUST 229 -#define SSL_F_SSL_CTX_USE_CERTIFICATE 171 -#define SSL_F_SSL_CTX_USE_CERTIFICATE_ASN1 172 -#define SSL_F_SSL_CTX_USE_CERTIFICATE_CHAIN_FILE 220 -#define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 173 -#define SSL_F_SSL_CTX_USE_PRIVATEKEY 174 -#define SSL_F_SSL_CTX_USE_PRIVATEKEY_ASN1 175 -#define SSL_F_SSL_CTX_USE_PRIVATEKEY_FILE 176 -#define SSL_F_SSL_CTX_USE_PSK_IDENTITY_HINT 272 -#define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY 177 -#define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_ASN1 178 -#define SSL_F_SSL_CTX_USE_RSAPRIVATEKEY_FILE 179 -#define SSL_F_SSL_DO_HANDSHAKE 180 -#define SSL_F_SSL_GET_NEW_SESSION 181 -#define SSL_F_SSL_GET_PREV_SESSION 217 -#define SSL_F_SSL_GET_SERVER_SEND_CERT 182 -#define SSL_F_SSL_GET_SERVER_SEND_PKEY 317 -#define SSL_F_SSL_GET_SIGN_PKEY 183 -#define SSL_F_SSL_INIT_WBIO_BUFFER 184 -#define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 -#define SSL_F_SSL_NEW 186 -#define SSL_F_SSL_PARSE_CLIENTHELLO_RENEGOTIATE_EXT 300 -#define SSL_F_SSL_PARSE_CLIENTHELLO_TLSEXT 302 -#define SSL_F_SSL_PARSE_CLIENTHELLO_USE_SRTP_EXT 310 -#define SSL_F_SSL_PARSE_SERVERHELLO_RENEGOTIATE_EXT 301 -#define SSL_F_SSL_PARSE_SERVERHELLO_TLSEXT 303 -#define SSL_F_SSL_PARSE_SERVERHELLO_USE_SRTP_EXT 311 -#define SSL_F_SSL_PEEK 270 -#define SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT 281 -#define SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT 282 -#define SSL_F_SSL_READ 223 -#define SSL_F_SSL_RSA_PRIVATE_DECRYPT 187 -#define SSL_F_SSL_RSA_PUBLIC_ENCRYPT 188 -#define SSL_F_SSL_SESSION_NEW 189 -#define SSL_F_SSL_SESSION_PRINT_FP 190 -#define SSL_F_SSL_SESSION_SET1_ID_CONTEXT 312 -#define SSL_F_SSL_SESS_CERT_NEW 225 -#define SSL_F_SSL_SET_CERT 191 -#define SSL_F_SSL_SET_CIPHER_LIST 271 -#define SSL_F_SSL_SET_FD 192 -#define SSL_F_SSL_SET_PKEY 193 -#define SSL_F_SSL_SET_PURPOSE 227 -#define SSL_F_SSL_SET_RFD 194 -#define SSL_F_SSL_SET_SESSION 195 -#define SSL_F_SSL_SET_SESSION_ID_CONTEXT 218 -#define SSL_F_SSL_SET_SESSION_TICKET_EXT 294 -#define SSL_F_SSL_SET_TRUST 228 -#define SSL_F_SSL_SET_WFD 196 -#define SSL_F_SSL_SHUTDOWN 224 -#define SSL_F_SSL_SRP_CTX_INIT 313 -#define SSL_F_SSL_UNDEFINED_CONST_FUNCTION 243 -#define SSL_F_SSL_UNDEFINED_FUNCTION 197 -#define SSL_F_SSL_UNDEFINED_VOID_FUNCTION 244 -#define SSL_F_SSL_USE_CERTIFICATE 198 -#define SSL_F_SSL_USE_CERTIFICATE_ASN1 199 -#define SSL_F_SSL_USE_CERTIFICATE_FILE 200 -#define SSL_F_SSL_USE_PRIVATEKEY 201 -#define SSL_F_SSL_USE_PRIVATEKEY_ASN1 202 -#define SSL_F_SSL_USE_PRIVATEKEY_FILE 203 -#define SSL_F_SSL_USE_PSK_IDENTITY_HINT 273 -#define SSL_F_SSL_USE_RSAPRIVATEKEY 204 -#define SSL_F_SSL_USE_RSAPRIVATEKEY_ASN1 205 -#define SSL_F_SSL_USE_RSAPRIVATEKEY_FILE 206 -#define SSL_F_SSL_VERIFY_CERT_CHAIN 207 -#define SSL_F_SSL_WRITE 208 -#define SSL_F_TLS1_CERT_VERIFY_MAC 286 -#define SSL_F_TLS1_CHANGE_CIPHER_STATE 209 -#define SSL_F_TLS1_CHECK_SERVERHELLO_TLSEXT 274 -#define SSL_F_TLS1_ENC 210 -#define SSL_F_TLS1_EXPORT_KEYING_MATERIAL 314 -#define SSL_F_TLS1_HEARTBEAT 315 -#define SSL_F_TLS1_PREPARE_CLIENTHELLO_TLSEXT 275 -#define SSL_F_TLS1_PREPARE_SERVERHELLO_TLSEXT 276 -#define SSL_F_TLS1_PRF 284 -#define SSL_F_TLS1_SETUP_KEY_BLOCK 211 -#define SSL_F_WRITE_PENDING 212 - -/* Reason codes. */ -#define SSL_R_APP_DATA_IN_HANDSHAKE 100 -#define SSL_R_ATTEMPT_TO_REUSE_SESSION_IN_DIFFERENT_CONTEXT 272 -#define SSL_R_BAD_ALERT_RECORD 101 -#define SSL_R_BAD_AUTHENTICATION_TYPE 102 -#define SSL_R_BAD_CHANGE_CIPHER_SPEC 103 -#define SSL_R_BAD_CHECKSUM 104 -#define SSL_R_BAD_DATA_RETURNED_BY_CALLBACK 106 -#define SSL_R_BAD_DECOMPRESSION 107 -#define SSL_R_BAD_DH_G_LENGTH 108 -#define SSL_R_BAD_DH_PUB_KEY_LENGTH 109 -#define SSL_R_BAD_DH_P_LENGTH 110 -#define SSL_R_BAD_DIGEST_LENGTH 111 -#define SSL_R_BAD_DSA_SIGNATURE 112 -#define SSL_R_BAD_ECC_CERT 304 -#define SSL_R_BAD_ECDSA_SIGNATURE 305 -#define SSL_R_BAD_ECPOINT 306 -#define SSL_R_BAD_HANDSHAKE_LENGTH 332 -#define SSL_R_BAD_HELLO_REQUEST 105 -#define SSL_R_BAD_LENGTH 271 -#define SSL_R_BAD_MAC_DECODE 113 -#define SSL_R_BAD_MAC_LENGTH 333 -#define SSL_R_BAD_MESSAGE_TYPE 114 -#define SSL_R_BAD_PACKET_LENGTH 115 -#define SSL_R_BAD_PROTOCOL_VERSION_NUMBER 116 -#define SSL_R_BAD_PSK_IDENTITY_HINT_LENGTH 316 -#define SSL_R_BAD_RESPONSE_ARGUMENT 117 -#define SSL_R_BAD_RSA_DECRYPT 118 -#define SSL_R_BAD_RSA_ENCRYPT 119 -#define SSL_R_BAD_RSA_E_LENGTH 120 -#define SSL_R_BAD_RSA_MODULUS_LENGTH 121 -#define SSL_R_BAD_RSA_SIGNATURE 122 -#define SSL_R_BAD_SIGNATURE 123 -#define SSL_R_BAD_SRP_A_LENGTH 347 -#define SSL_R_BAD_SRP_B_LENGTH 348 -#define SSL_R_BAD_SRP_G_LENGTH 349 -#define SSL_R_BAD_SRP_N_LENGTH 350 -#define SSL_R_BAD_SRP_S_LENGTH 351 -#define SSL_R_BAD_SRTP_MKI_VALUE 352 -#define SSL_R_BAD_SRTP_PROTECTION_PROFILE_LIST 353 -#define SSL_R_BAD_SSL_FILETYPE 124 -#define SSL_R_BAD_SSL_SESSION_ID_LENGTH 125 -#define SSL_R_BAD_STATE 126 -#define SSL_R_BAD_WRITE_RETRY 127 -#define SSL_R_BIO_NOT_SET 128 -#define SSL_R_BLOCK_CIPHER_PAD_IS_WRONG 129 -#define SSL_R_BN_LIB 130 -#define SSL_R_CA_DN_LENGTH_MISMATCH 131 -#define SSL_R_CA_DN_TOO_LONG 132 -#define SSL_R_CCS_RECEIVED_EARLY 133 -#define SSL_R_CERTIFICATE_VERIFY_FAILED 134 -#define SSL_R_CERT_LENGTH_MISMATCH 135 -#define SSL_R_CHALLENGE_IS_DIFFERENT 136 -#define SSL_R_CIPHER_CODE_WRONG_LENGTH 137 -#define SSL_R_CIPHER_OR_HASH_UNAVAILABLE 138 -#define SSL_R_CIPHER_TABLE_SRC_ERROR 139 -#define SSL_R_CLIENTHELLO_TLSEXT 226 -#define SSL_R_COMPRESSED_LENGTH_TOO_LONG 140 -#define SSL_R_COMPRESSION_DISABLED 343 -#define SSL_R_COMPRESSION_FAILURE 141 -#define SSL_R_COMPRESSION_ID_NOT_WITHIN_PRIVATE_RANGE 307 -#define SSL_R_COMPRESSION_LIBRARY_ERROR 142 -#define SSL_R_CONNECTION_ID_IS_DIFFERENT 143 -#define SSL_R_CONNECTION_TYPE_NOT_SET 144 -#define SSL_R_COOKIE_MISMATCH 308 -#define SSL_R_DATA_BETWEEN_CCS_AND_FINISHED 145 -#define SSL_R_DATA_LENGTH_TOO_LONG 146 -#define SSL_R_DECRYPTION_FAILED 147 -#define SSL_R_DECRYPTION_FAILED_OR_BAD_RECORD_MAC 281 -#define SSL_R_DH_PUBLIC_VALUE_LENGTH_IS_WRONG 148 -#define SSL_R_DIGEST_CHECK_FAILED 149 -#define SSL_R_DTLS_MESSAGE_TOO_BIG 334 -#define SSL_R_DUPLICATE_COMPRESSION_ID 309 -#define SSL_R_ECC_CERT_NOT_FOR_KEY_AGREEMENT 317 -#define SSL_R_ECC_CERT_NOT_FOR_SIGNING 318 -#define SSL_R_ECC_CERT_SHOULD_HAVE_RSA_SIGNATURE 322 -#define SSL_R_ECC_CERT_SHOULD_HAVE_SHA1_SIGNATURE 323 -#define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER 310 -#define SSL_R_EMPTY_SRTP_PROTECTION_PROFILE_LIST 354 -#define SSL_R_ENCRYPTED_LENGTH_TOO_LONG 150 -#define SSL_R_ERROR_GENERATING_TMP_RSA_KEY 282 -#define SSL_R_ERROR_IN_RECEIVED_CIPHER_LIST 151 -#define SSL_R_EXCESSIVE_MESSAGE_SIZE 152 -#define SSL_R_EXTRA_DATA_IN_MESSAGE 153 -#define SSL_R_GOT_A_FIN_BEFORE_A_CCS 154 -#define SSL_R_GOT_NEXT_PROTO_BEFORE_A_CCS 355 -#define SSL_R_GOT_NEXT_PROTO_WITHOUT_EXTENSION 356 -#define SSL_R_HTTPS_PROXY_REQUEST 155 -#define SSL_R_HTTP_REQUEST 156 -#define SSL_R_ILLEGAL_PADDING 283 -#define SSL_R_INCONSISTENT_COMPRESSION 340 -#define SSL_R_INVALID_CHALLENGE_LENGTH 158 -#define SSL_R_INVALID_COMMAND 280 -#define SSL_R_INVALID_COMPRESSION_ALGORITHM 341 -#define SSL_R_INVALID_PURPOSE 278 -#define SSL_R_INVALID_SRP_USERNAME 357 -#define SSL_R_INVALID_STATUS_RESPONSE 328 -#define SSL_R_INVALID_TICKET_KEYS_LENGTH 325 -#define SSL_R_INVALID_TRUST 279 -#define SSL_R_KEY_ARG_TOO_LONG 284 -#define SSL_R_KRB5 285 -#define SSL_R_KRB5_C_CC_PRINC 286 -#define SSL_R_KRB5_C_GET_CRED 287 -#define SSL_R_KRB5_C_INIT 288 -#define SSL_R_KRB5_C_MK_REQ 289 -#define SSL_R_KRB5_S_BAD_TICKET 290 -#define SSL_R_KRB5_S_INIT 291 -#define SSL_R_KRB5_S_RD_REQ 292 -#define SSL_R_KRB5_S_TKT_EXPIRED 293 -#define SSL_R_KRB5_S_TKT_NYV 294 -#define SSL_R_KRB5_S_TKT_SKEW 295 -#define SSL_R_LENGTH_MISMATCH 159 -#define SSL_R_LENGTH_TOO_SHORT 160 -#define SSL_R_LIBRARY_BUG 274 -#define SSL_R_LIBRARY_HAS_NO_CIPHERS 161 -#define SSL_R_MESSAGE_TOO_LONG 296 -#define SSL_R_MISSING_DH_DSA_CERT 162 -#define SSL_R_MISSING_DH_KEY 163 -#define SSL_R_MISSING_DH_RSA_CERT 164 -#define SSL_R_MISSING_DSA_SIGNING_CERT 165 -#define SSL_R_MISSING_EXPORT_TMP_DH_KEY 166 -#define SSL_R_MISSING_EXPORT_TMP_RSA_KEY 167 -#define SSL_R_MISSING_RSA_CERTIFICATE 168 -#define SSL_R_MISSING_RSA_ENCRYPTING_CERT 169 -#define SSL_R_MISSING_RSA_SIGNING_CERT 170 -#define SSL_R_MISSING_SRP_PARAM 358 -#define SSL_R_MISSING_TMP_DH_KEY 171 -#define SSL_R_MISSING_TMP_ECDH_KEY 311 -#define SSL_R_MISSING_TMP_RSA_KEY 172 -#define SSL_R_MISSING_TMP_RSA_PKEY 173 -#define SSL_R_MISSING_VERIFY_MESSAGE 174 -#define SSL_R_MULTIPLE_SGC_RESTARTS 346 -#define SSL_R_NON_SSLV2_INITIAL_PACKET 175 -#define SSL_R_NO_CERTIFICATES_RETURNED 176 -#define SSL_R_NO_CERTIFICATE_ASSIGNED 177 -#define SSL_R_NO_CERTIFICATE_RETURNED 178 -#define SSL_R_NO_CERTIFICATE_SET 179 -#define SSL_R_NO_CERTIFICATE_SPECIFIED 180 -#define SSL_R_NO_CIPHERS_AVAILABLE 181 -#define SSL_R_NO_CIPHERS_PASSED 182 -#define SSL_R_NO_CIPHERS_SPECIFIED 183 -#define SSL_R_NO_CIPHER_LIST 184 -#define SSL_R_NO_CIPHER_MATCH 185 -#define SSL_R_NO_CLIENT_CERT_METHOD 331 -#define SSL_R_NO_CLIENT_CERT_RECEIVED 186 -#define SSL_R_NO_COMPRESSION_SPECIFIED 187 -#define SSL_R_NO_GOST_CERTIFICATE_SENT_BY_PEER 330 -#define SSL_R_NO_METHOD_SPECIFIED 188 -#define SSL_R_NO_PRIVATEKEY 189 -#define SSL_R_NO_PRIVATE_KEY_ASSIGNED 190 -#define SSL_R_NO_PROTOCOLS_AVAILABLE 191 -#define SSL_R_NO_PUBLICKEY 192 -#define SSL_R_NO_RENEGOTIATION 339 -#define SSL_R_NO_REQUIRED_DIGEST 324 -#define SSL_R_NO_SHARED_CIPHER 193 -#define SSL_R_NO_SRTP_PROFILES 359 -#define SSL_R_NO_VERIFY_CALLBACK 194 -#define SSL_R_NULL_SSL_CTX 195 -#define SSL_R_NULL_SSL_METHOD_PASSED 196 -#define SSL_R_OLD_SESSION_CIPHER_NOT_RETURNED 197 -#define SSL_R_OLD_SESSION_COMPRESSION_ALGORITHM_NOT_RETURNED 344 -#define SSL_R_ONLY_TLS_ALLOWED_IN_FIPS_MODE 297 -#define SSL_R_OPAQUE_PRF_INPUT_TOO_LONG 327 -#define SSL_R_PACKET_LENGTH_TOO_LONG 198 -#define SSL_R_PARSE_TLSEXT 227 -#define SSL_R_PATH_TOO_LONG 270 -#define SSL_R_PEER_DID_NOT_RETURN_A_CERTIFICATE 199 -#define SSL_R_PEER_ERROR 200 -#define SSL_R_PEER_ERROR_CERTIFICATE 201 -#define SSL_R_PEER_ERROR_NO_CERTIFICATE 202 -#define SSL_R_PEER_ERROR_NO_CIPHER 203 -#define SSL_R_PEER_ERROR_UNSUPPORTED_CERTIFICATE_TYPE 204 -#define SSL_R_PRE_MAC_LENGTH_TOO_LONG 205 -#define SSL_R_PROBLEMS_MAPPING_CIPHER_FUNCTIONS 206 -#define SSL_R_PROTOCOL_IS_SHUTDOWN 207 -#define SSL_R_PSK_IDENTITY_NOT_FOUND 223 -#define SSL_R_PSK_NO_CLIENT_CB 224 -#define SSL_R_PSK_NO_SERVER_CB 225 -#define SSL_R_PUBLIC_KEY_ENCRYPT_ERROR 208 -#define SSL_R_PUBLIC_KEY_IS_NOT_RSA 209 -#define SSL_R_PUBLIC_KEY_NOT_RSA 210 -#define SSL_R_READ_BIO_NOT_SET 211 -#define SSL_R_READ_TIMEOUT_EXPIRED 312 -#define SSL_R_READ_WRONG_PACKET_TYPE 212 -#define SSL_R_RECORD_LENGTH_MISMATCH 213 -#define SSL_R_RECORD_TOO_LARGE 214 -#define SSL_R_RECORD_TOO_SMALL 298 -#define SSL_R_RENEGOTIATE_EXT_TOO_LONG 335 -#define SSL_R_RENEGOTIATION_ENCODING_ERR 336 -#define SSL_R_RENEGOTIATION_MISMATCH 337 -#define SSL_R_REQUIRED_CIPHER_MISSING 215 -#define SSL_R_REQUIRED_COMPRESSSION_ALGORITHM_MISSING 342 -#define SSL_R_REUSE_CERT_LENGTH_NOT_ZERO 216 -#define SSL_R_REUSE_CERT_TYPE_NOT_ZERO 217 -#define SSL_R_REUSE_CIPHER_LIST_NOT_ZERO 218 -#define SSL_R_SCSV_RECEIVED_WHEN_RENEGOTIATING 345 -#define SSL_R_SERVERHELLO_TLSEXT 275 -#define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED 277 -#define SSL_R_SHORT_READ 219 -#define SSL_R_SIGNATURE_ALGORITHMS_ERROR 360 -#define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE 220 -#define SSL_R_SRP_A_CALC 361 -#define SSL_R_SRTP_COULD_NOT_ALLOCATE_PROFILES 362 -#define SSL_R_SRTP_PROTECTION_PROFILE_LIST_TOO_LONG 363 -#define SSL_R_SRTP_UNKNOWN_PROTECTION_PROFILE 364 -#define SSL_R_SSL23_DOING_SESSION_ID_REUSE 221 -#define SSL_R_SSL2_CONNECTION_ID_TOO_LONG 299 -#define SSL_R_SSL3_EXT_INVALID_ECPOINTFORMAT 321 -#define SSL_R_SSL3_EXT_INVALID_SERVERNAME 319 -#define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE 320 -#define SSL_R_SSL3_SESSION_ID_TOO_LONG 300 -#define SSL_R_SSL3_SESSION_ID_TOO_SHORT 222 -#define SSL_R_SSLV3_ALERT_BAD_CERTIFICATE 1042 -#define SSL_R_SSLV3_ALERT_BAD_RECORD_MAC 1020 -#define SSL_R_SSLV3_ALERT_CERTIFICATE_EXPIRED 1045 -#define SSL_R_SSLV3_ALERT_CERTIFICATE_REVOKED 1044 -#define SSL_R_SSLV3_ALERT_CERTIFICATE_UNKNOWN 1046 -#define SSL_R_SSLV3_ALERT_DECOMPRESSION_FAILURE 1030 -#define SSL_R_SSLV3_ALERT_HANDSHAKE_FAILURE 1040 -#define SSL_R_SSLV3_ALERT_ILLEGAL_PARAMETER 1047 -#define SSL_R_SSLV3_ALERT_NO_CERTIFICATE 1041 -#define SSL_R_SSLV3_ALERT_UNEXPECTED_MESSAGE 1010 -#define SSL_R_SSLV3_ALERT_UNSUPPORTED_CERTIFICATE 1043 -#define SSL_R_SSL_CTX_HAS_NO_DEFAULT_SSL_VERSION 228 -#define SSL_R_SSL_HANDSHAKE_FAILURE 229 -#define SSL_R_SSL_LIBRARY_HAS_NO_CIPHERS 230 -#define SSL_R_SSL_SESSION_ID_CALLBACK_FAILED 301 -#define SSL_R_SSL_SESSION_ID_CONFLICT 302 -#define SSL_R_SSL_SESSION_ID_CONTEXT_TOO_LONG 273 -#define SSL_R_SSL_SESSION_ID_HAS_BAD_LENGTH 303 -#define SSL_R_SSL_SESSION_ID_IS_DIFFERENT 231 -#define SSL_R_TLSV1_ALERT_ACCESS_DENIED 1049 -#define SSL_R_TLSV1_ALERT_DECODE_ERROR 1050 -#define SSL_R_TLSV1_ALERT_DECRYPTION_FAILED 1021 -#define SSL_R_TLSV1_ALERT_DECRYPT_ERROR 1051 -#define SSL_R_TLSV1_ALERT_EXPORT_RESTRICTION 1060 -#define SSL_R_TLSV1_ALERT_INSUFFICIENT_SECURITY 1071 -#define SSL_R_TLSV1_ALERT_INTERNAL_ERROR 1080 -#define SSL_R_TLSV1_ALERT_NO_RENEGOTIATION 1100 -#define SSL_R_TLSV1_ALERT_PROTOCOL_VERSION 1070 -#define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022 -#define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048 -#define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090 -#define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114 -#define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113 -#define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111 -#define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112 -#define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110 -#define SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER 232 -#define SSL_R_TLS_HEARTBEAT_PEER_DOESNT_ACCEPT 365 -#define SSL_R_TLS_HEARTBEAT_PENDING 366 -#define SSL_R_TLS_ILLEGAL_EXPORTER_LABEL 367 -#define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 157 -#define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233 -#define SSL_R_TLS_RSA_ENCRYPTED_VALUE_LENGTH_IS_WRONG 234 -#define SSL_R_TRIED_TO_USE_UNSUPPORTED_CIPHER 235 -#define SSL_R_UNABLE_TO_DECODE_DH_CERTS 236 -#define SSL_R_UNABLE_TO_DECODE_ECDH_CERTS 313 -#define SSL_R_UNABLE_TO_EXTRACT_PUBLIC_KEY 237 -#define SSL_R_UNABLE_TO_FIND_DH_PARAMETERS 238 -#define SSL_R_UNABLE_TO_FIND_ECDH_PARAMETERS 314 -#define SSL_R_UNABLE_TO_FIND_PUBLIC_KEY_PARAMETERS 239 -#define SSL_R_UNABLE_TO_FIND_SSL_METHOD 240 -#define SSL_R_UNABLE_TO_LOAD_SSL2_MD5_ROUTINES 241 -#define SSL_R_UNABLE_TO_LOAD_SSL3_MD5_ROUTINES 242 -#define SSL_R_UNABLE_TO_LOAD_SSL3_SHA1_ROUTINES 243 -#define SSL_R_UNEXPECTED_MESSAGE 244 -#define SSL_R_UNEXPECTED_RECORD 245 -#define SSL_R_UNINITIALIZED 276 -#define SSL_R_UNKNOWN_ALERT_TYPE 246 -#define SSL_R_UNKNOWN_CERTIFICATE_TYPE 247 -#define SSL_R_UNKNOWN_CIPHER_RETURNED 248 -#define SSL_R_UNKNOWN_CIPHER_TYPE 249 -#define SSL_R_UNKNOWN_DIGEST 368 -#define SSL_R_UNKNOWN_KEY_EXCHANGE_TYPE 250 -#define SSL_R_UNKNOWN_PKEY_TYPE 251 -#define SSL_R_UNKNOWN_PROTOCOL 252 -#define SSL_R_UNKNOWN_REMOTE_ERROR_TYPE 253 -#define SSL_R_UNKNOWN_SSL_VERSION 254 -#define SSL_R_UNKNOWN_STATE 255 -#define SSL_R_UNSAFE_LEGACY_RENEGOTIATION_DISABLED 338 -#define SSL_R_UNSUPPORTED_CIPHER 256 -#define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM 257 -#define SSL_R_UNSUPPORTED_DIGEST_TYPE 326 -#define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE 315 -#define SSL_R_UNSUPPORTED_PROTOCOL 258 -#define SSL_R_UNSUPPORTED_SSL_VERSION 259 -#define SSL_R_UNSUPPORTED_STATUS_TYPE 329 -#define SSL_R_USE_SRTP_NOT_NEGOTIATED 369 -#define SSL_R_WRITE_BIO_NOT_SET 260 -#define SSL_R_WRONG_CIPHER_RETURNED 261 -#define SSL_R_WRONG_MESSAGE_TYPE 262 -#define SSL_R_WRONG_NUMBER_OF_KEY_BITS 263 -#define SSL_R_WRONG_SIGNATURE_LENGTH 264 -#define SSL_R_WRONG_SIGNATURE_SIZE 265 -#define SSL_R_WRONG_SIGNATURE_TYPE 370 -#define SSL_R_WRONG_SSL_VERSION 266 -#define SSL_R_WRONG_VERSION_NUMBER 267 -#define SSL_R_X509_LIB 268 -#define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS 269 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/ssl2.h b/ext/bin/libcrypto/include/openssl/ssl2.h deleted file mode 100644 index eb25dcb0b..000000000 --- a/ext/bin/libcrypto/include/openssl/ssl2.h +++ /dev/null @@ -1,272 +0,0 @@ -/* ssl/ssl2.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_SSL2_H -#define HEADER_SSL2_H - -#ifdef __cplusplus -extern "C" { -#endif - -/* Protocol Version Codes */ -#define SSL2_VERSION 0x0002 -#define SSL2_VERSION_MAJOR 0x00 -#define SSL2_VERSION_MINOR 0x02 -/* #define SSL2_CLIENT_VERSION 0x0002 */ -/* #define SSL2_SERVER_VERSION 0x0002 */ - -/* Protocol Message Codes */ -#define SSL2_MT_ERROR 0 -#define SSL2_MT_CLIENT_HELLO 1 -#define SSL2_MT_CLIENT_MASTER_KEY 2 -#define SSL2_MT_CLIENT_FINISHED 3 -#define SSL2_MT_SERVER_HELLO 4 -#define SSL2_MT_SERVER_VERIFY 5 -#define SSL2_MT_SERVER_FINISHED 6 -#define SSL2_MT_REQUEST_CERTIFICATE 7 -#define SSL2_MT_CLIENT_CERTIFICATE 8 - -/* Error Message Codes */ -#define SSL2_PE_UNDEFINED_ERROR 0x0000 -#define SSL2_PE_NO_CIPHER 0x0001 -#define SSL2_PE_NO_CERTIFICATE 0x0002 -#define SSL2_PE_BAD_CERTIFICATE 0x0004 -#define SSL2_PE_UNSUPPORTED_CERTIFICATE_TYPE 0x0006 - -/* Cipher Kind Values */ -#define SSL2_CK_NULL_WITH_MD5 0x02000000 /* v3 */ -#define SSL2_CK_RC4_128_WITH_MD5 0x02010080 -#define SSL2_CK_RC4_128_EXPORT40_WITH_MD5 0x02020080 -#define SSL2_CK_RC2_128_CBC_WITH_MD5 0x02030080 -#define SSL2_CK_RC2_128_CBC_EXPORT40_WITH_MD5 0x02040080 -#define SSL2_CK_IDEA_128_CBC_WITH_MD5 0x02050080 -#define SSL2_CK_DES_64_CBC_WITH_MD5 0x02060040 -#define SSL2_CK_DES_64_CBC_WITH_SHA 0x02060140 /* v3 */ -#define SSL2_CK_DES_192_EDE3_CBC_WITH_MD5 0x020700c0 -#define SSL2_CK_DES_192_EDE3_CBC_WITH_SHA 0x020701c0 /* v3 */ -#define SSL2_CK_RC4_64_WITH_MD5 0x02080080 /* MS hack */ - -#define SSL2_CK_DES_64_CFB64_WITH_MD5_1 0x02ff0800 /* SSLeay */ -#define SSL2_CK_NULL 0x02ff0810 /* SSLeay */ - -#define SSL2_TXT_DES_64_CFB64_WITH_MD5_1 "DES-CFB-M1" -#define SSL2_TXT_NULL_WITH_MD5 "NULL-MD5" -#define SSL2_TXT_RC4_128_WITH_MD5 "RC4-MD5" -#define SSL2_TXT_RC4_128_EXPORT40_WITH_MD5 "EXP-RC4-MD5" -#define SSL2_TXT_RC2_128_CBC_WITH_MD5 "RC2-CBC-MD5" -#define SSL2_TXT_RC2_128_CBC_EXPORT40_WITH_MD5 "EXP-RC2-CBC-MD5" -#define SSL2_TXT_IDEA_128_CBC_WITH_MD5 "IDEA-CBC-MD5" -#define SSL2_TXT_DES_64_CBC_WITH_MD5 "DES-CBC-MD5" -#define SSL2_TXT_DES_64_CBC_WITH_SHA "DES-CBC-SHA" -#define SSL2_TXT_DES_192_EDE3_CBC_WITH_MD5 "DES-CBC3-MD5" -#define SSL2_TXT_DES_192_EDE3_CBC_WITH_SHA "DES-CBC3-SHA" -#define SSL2_TXT_RC4_64_WITH_MD5 "RC4-64-MD5" - -#define SSL2_TXT_NULL "NULL" - -/* Flags for the SSL_CIPHER.algorithm2 field */ -#define SSL2_CF_5_BYTE_ENC 0x01 -#define SSL2_CF_8_BYTE_ENC 0x02 - -/* Certificate Type Codes */ -#define SSL2_CT_X509_CERTIFICATE 0x01 - -/* Authentication Type Code */ -#define SSL2_AT_MD5_WITH_RSA_ENCRYPTION 0x01 - -#define SSL2_MAX_SSL_SESSION_ID_LENGTH 32 - -/* Upper/Lower Bounds */ -#define SSL2_MAX_MASTER_KEY_LENGTH_IN_BITS 256 -#ifdef OPENSSL_SYS_MPE -#define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 29998u -#else -#define SSL2_MAX_RECORD_LENGTH_2_BYTE_HEADER 32767u /* 2^15-1 */ -#endif -#define SSL2_MAX_RECORD_LENGTH_3_BYTE_HEADER 16383 /* 2^14-1 */ - -#define SSL2_CHALLENGE_LENGTH 16 -/*#define SSL2_CHALLENGE_LENGTH 32 */ -#define SSL2_MIN_CHALLENGE_LENGTH 16 -#define SSL2_MAX_CHALLENGE_LENGTH 32 -#define SSL2_CONNECTION_ID_LENGTH 16 -#define SSL2_MAX_CONNECTION_ID_LENGTH 16 -#define SSL2_SSL_SESSION_ID_LENGTH 16 -#define SSL2_MAX_CERT_CHALLENGE_LENGTH 32 -#define SSL2_MIN_CERT_CHALLENGE_LENGTH 16 -#define SSL2_MAX_KEY_MATERIAL_LENGTH 24 - -#ifndef HEADER_SSL_LOCL_H -#define CERT char -#endif - -#ifndef OPENSSL_NO_SSL_INTERN - -typedef struct ssl2_state_st - { - int three_byte_header; - int clear_text; /* clear text */ - int escape; /* not used in SSLv2 */ - int ssl2_rollback; /* used if SSLv23 rolled back to SSLv2 */ - - /* non-blocking io info, used to make sure the same - * args were passwd */ - unsigned int wnum; /* number of bytes sent so far */ - int wpend_tot; - const unsigned char *wpend_buf; - - int wpend_off; /* offset to data to write */ - int wpend_len; /* number of bytes passwd to write */ - int wpend_ret; /* number of bytes to return to caller */ - - /* buffer raw data */ - int rbuf_left; - int rbuf_offs; - unsigned char *rbuf; - unsigned char *wbuf; - - unsigned char *write_ptr;/* used to point to the start due to - * 2/3 byte header. */ - - unsigned int padding; - unsigned int rlength; /* passed to ssl2_enc */ - int ract_data_length; /* Set when things are encrypted. */ - unsigned int wlength; /* passed to ssl2_enc */ - int wact_data_length; /* Set when things are decrypted. */ - unsigned char *ract_data; - unsigned char *wact_data; - unsigned char *mac_data; - - unsigned char *read_key; - unsigned char *write_key; - - /* Stuff specifically to do with this SSL session */ - unsigned int challenge_length; - unsigned char challenge[SSL2_MAX_CHALLENGE_LENGTH]; - unsigned int conn_id_length; - unsigned char conn_id[SSL2_MAX_CONNECTION_ID_LENGTH]; - unsigned int key_material_length; - unsigned char key_material[SSL2_MAX_KEY_MATERIAL_LENGTH*2]; - - unsigned long read_sequence; - unsigned long write_sequence; - - struct { - unsigned int conn_id_length; - unsigned int cert_type; - unsigned int cert_length; - unsigned int csl; - unsigned int clear; - unsigned int enc; - unsigned char ccl[SSL2_MAX_CERT_CHALLENGE_LENGTH]; - unsigned int cipher_spec_length; - unsigned int session_id_length; - unsigned int clen; - unsigned int rlen; - } tmp; - } SSL2_STATE; - -#endif - -/* SSLv2 */ -/* client */ -#define SSL2_ST_SEND_CLIENT_HELLO_A (0x10|SSL_ST_CONNECT) -#define SSL2_ST_SEND_CLIENT_HELLO_B (0x11|SSL_ST_CONNECT) -#define SSL2_ST_GET_SERVER_HELLO_A (0x20|SSL_ST_CONNECT) -#define SSL2_ST_GET_SERVER_HELLO_B (0x21|SSL_ST_CONNECT) -#define SSL2_ST_SEND_CLIENT_MASTER_KEY_A (0x30|SSL_ST_CONNECT) -#define SSL2_ST_SEND_CLIENT_MASTER_KEY_B (0x31|SSL_ST_CONNECT) -#define SSL2_ST_SEND_CLIENT_FINISHED_A (0x40|SSL_ST_CONNECT) -#define SSL2_ST_SEND_CLIENT_FINISHED_B (0x41|SSL_ST_CONNECT) -#define SSL2_ST_SEND_CLIENT_CERTIFICATE_A (0x50|SSL_ST_CONNECT) -#define SSL2_ST_SEND_CLIENT_CERTIFICATE_B (0x51|SSL_ST_CONNECT) -#define SSL2_ST_SEND_CLIENT_CERTIFICATE_C (0x52|SSL_ST_CONNECT) -#define SSL2_ST_SEND_CLIENT_CERTIFICATE_D (0x53|SSL_ST_CONNECT) -#define SSL2_ST_GET_SERVER_VERIFY_A (0x60|SSL_ST_CONNECT) -#define SSL2_ST_GET_SERVER_VERIFY_B (0x61|SSL_ST_CONNECT) -#define SSL2_ST_GET_SERVER_FINISHED_A (0x70|SSL_ST_CONNECT) -#define SSL2_ST_GET_SERVER_FINISHED_B (0x71|SSL_ST_CONNECT) -#define SSL2_ST_CLIENT_START_ENCRYPTION (0x80|SSL_ST_CONNECT) -#define SSL2_ST_X509_GET_CLIENT_CERTIFICATE (0x90|SSL_ST_CONNECT) -/* server */ -#define SSL2_ST_GET_CLIENT_HELLO_A (0x10|SSL_ST_ACCEPT) -#define SSL2_ST_GET_CLIENT_HELLO_B (0x11|SSL_ST_ACCEPT) -#define SSL2_ST_GET_CLIENT_HELLO_C (0x12|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_SERVER_HELLO_A (0x20|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_SERVER_HELLO_B (0x21|SSL_ST_ACCEPT) -#define SSL2_ST_GET_CLIENT_MASTER_KEY_A (0x30|SSL_ST_ACCEPT) -#define SSL2_ST_GET_CLIENT_MASTER_KEY_B (0x31|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_SERVER_VERIFY_A (0x40|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_SERVER_VERIFY_B (0x41|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_SERVER_VERIFY_C (0x42|SSL_ST_ACCEPT) -#define SSL2_ST_GET_CLIENT_FINISHED_A (0x50|SSL_ST_ACCEPT) -#define SSL2_ST_GET_CLIENT_FINISHED_B (0x51|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_SERVER_FINISHED_A (0x60|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_SERVER_FINISHED_B (0x61|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_REQUEST_CERTIFICATE_A (0x70|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_REQUEST_CERTIFICATE_B (0x71|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_REQUEST_CERTIFICATE_C (0x72|SSL_ST_ACCEPT) -#define SSL2_ST_SEND_REQUEST_CERTIFICATE_D (0x73|SSL_ST_ACCEPT) -#define SSL2_ST_SERVER_START_ENCRYPTION (0x80|SSL_ST_ACCEPT) -#define SSL2_ST_X509_GET_SERVER_CERTIFICATE (0x90|SSL_ST_ACCEPT) - -#ifdef __cplusplus -} -#endif -#endif - diff --git a/ext/bin/libcrypto/include/openssl/ssl23.h b/ext/bin/libcrypto/include/openssl/ssl23.h deleted file mode 100644 index d3228983c..000000000 --- a/ext/bin/libcrypto/include/openssl/ssl23.h +++ /dev/null @@ -1,83 +0,0 @@ -/* ssl/ssl23.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_SSL23_H -#define HEADER_SSL23_H - -#ifdef __cplusplus -extern "C" { -#endif - -/*client */ -/* write to server */ -#define SSL23_ST_CW_CLNT_HELLO_A (0x210|SSL_ST_CONNECT) -#define SSL23_ST_CW_CLNT_HELLO_B (0x211|SSL_ST_CONNECT) -/* read from server */ -#define SSL23_ST_CR_SRVR_HELLO_A (0x220|SSL_ST_CONNECT) -#define SSL23_ST_CR_SRVR_HELLO_B (0x221|SSL_ST_CONNECT) - -/* server */ -/* read from client */ -#define SSL23_ST_SR_CLNT_HELLO_A (0x210|SSL_ST_ACCEPT) -#define SSL23_ST_SR_CLNT_HELLO_B (0x211|SSL_ST_ACCEPT) - -#ifdef __cplusplus -} -#endif -#endif - diff --git a/ext/bin/libcrypto/include/openssl/ssl3.h b/ext/bin/libcrypto/include/openssl/ssl3.h deleted file mode 100644 index 247e88c2d..000000000 --- a/ext/bin/libcrypto/include/openssl/ssl3.h +++ /dev/null @@ -1,684 +0,0 @@ -/* ssl/ssl3.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2002 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECC cipher suite support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. - */ - -#ifndef HEADER_SSL3_H -#define HEADER_SSL3_H - -#ifndef OPENSSL_NO_COMP -#include -#endif -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Signalling cipher suite value: from draft-ietf-tls-renegotiation-03.txt */ -#define SSL3_CK_SCSV 0x030000FF - -#define SSL3_CK_RSA_NULL_MD5 0x03000001 -#define SSL3_CK_RSA_NULL_SHA 0x03000002 -#define SSL3_CK_RSA_RC4_40_MD5 0x03000003 -#define SSL3_CK_RSA_RC4_128_MD5 0x03000004 -#define SSL3_CK_RSA_RC4_128_SHA 0x03000005 -#define SSL3_CK_RSA_RC2_40_MD5 0x03000006 -#define SSL3_CK_RSA_IDEA_128_SHA 0x03000007 -#define SSL3_CK_RSA_DES_40_CBC_SHA 0x03000008 -#define SSL3_CK_RSA_DES_64_CBC_SHA 0x03000009 -#define SSL3_CK_RSA_DES_192_CBC3_SHA 0x0300000A - -#define SSL3_CK_DH_DSS_DES_40_CBC_SHA 0x0300000B -#define SSL3_CK_DH_DSS_DES_64_CBC_SHA 0x0300000C -#define SSL3_CK_DH_DSS_DES_192_CBC3_SHA 0x0300000D -#define SSL3_CK_DH_RSA_DES_40_CBC_SHA 0x0300000E -#define SSL3_CK_DH_RSA_DES_64_CBC_SHA 0x0300000F -#define SSL3_CK_DH_RSA_DES_192_CBC3_SHA 0x03000010 - -#define SSL3_CK_EDH_DSS_DES_40_CBC_SHA 0x03000011 -#define SSL3_CK_EDH_DSS_DES_64_CBC_SHA 0x03000012 -#define SSL3_CK_EDH_DSS_DES_192_CBC3_SHA 0x03000013 -#define SSL3_CK_EDH_RSA_DES_40_CBC_SHA 0x03000014 -#define SSL3_CK_EDH_RSA_DES_64_CBC_SHA 0x03000015 -#define SSL3_CK_EDH_RSA_DES_192_CBC3_SHA 0x03000016 - -#define SSL3_CK_ADH_RC4_40_MD5 0x03000017 -#define SSL3_CK_ADH_RC4_128_MD5 0x03000018 -#define SSL3_CK_ADH_DES_40_CBC_SHA 0x03000019 -#define SSL3_CK_ADH_DES_64_CBC_SHA 0x0300001A -#define SSL3_CK_ADH_DES_192_CBC_SHA 0x0300001B - -#if 0 - #define SSL3_CK_FZA_DMS_NULL_SHA 0x0300001C - #define SSL3_CK_FZA_DMS_FZA_SHA 0x0300001D - #if 0 /* Because it clashes with KRB5, is never used any more, and is safe - to remove according to David Hopwood - of the ietf-tls list */ - #define SSL3_CK_FZA_DMS_RC4_SHA 0x0300001E - #endif -#endif - -/* VRS Additional Kerberos5 entries - */ -#define SSL3_CK_KRB5_DES_64_CBC_SHA 0x0300001E -#define SSL3_CK_KRB5_DES_192_CBC3_SHA 0x0300001F -#define SSL3_CK_KRB5_RC4_128_SHA 0x03000020 -#define SSL3_CK_KRB5_IDEA_128_CBC_SHA 0x03000021 -#define SSL3_CK_KRB5_DES_64_CBC_MD5 0x03000022 -#define SSL3_CK_KRB5_DES_192_CBC3_MD5 0x03000023 -#define SSL3_CK_KRB5_RC4_128_MD5 0x03000024 -#define SSL3_CK_KRB5_IDEA_128_CBC_MD5 0x03000025 - -#define SSL3_CK_KRB5_DES_40_CBC_SHA 0x03000026 -#define SSL3_CK_KRB5_RC2_40_CBC_SHA 0x03000027 -#define SSL3_CK_KRB5_RC4_40_SHA 0x03000028 -#define SSL3_CK_KRB5_DES_40_CBC_MD5 0x03000029 -#define SSL3_CK_KRB5_RC2_40_CBC_MD5 0x0300002A -#define SSL3_CK_KRB5_RC4_40_MD5 0x0300002B - -#define SSL3_TXT_RSA_NULL_MD5 "NULL-MD5" -#define SSL3_TXT_RSA_NULL_SHA "NULL-SHA" -#define SSL3_TXT_RSA_RC4_40_MD5 "EXP-RC4-MD5" -#define SSL3_TXT_RSA_RC4_128_MD5 "RC4-MD5" -#define SSL3_TXT_RSA_RC4_128_SHA "RC4-SHA" -#define SSL3_TXT_RSA_RC2_40_MD5 "EXP-RC2-CBC-MD5" -#define SSL3_TXT_RSA_IDEA_128_SHA "IDEA-CBC-SHA" -#define SSL3_TXT_RSA_DES_40_CBC_SHA "EXP-DES-CBC-SHA" -#define SSL3_TXT_RSA_DES_64_CBC_SHA "DES-CBC-SHA" -#define SSL3_TXT_RSA_DES_192_CBC3_SHA "DES-CBC3-SHA" - -#define SSL3_TXT_DH_DSS_DES_40_CBC_SHA "EXP-DH-DSS-DES-CBC-SHA" -#define SSL3_TXT_DH_DSS_DES_64_CBC_SHA "DH-DSS-DES-CBC-SHA" -#define SSL3_TXT_DH_DSS_DES_192_CBC3_SHA "DH-DSS-DES-CBC3-SHA" -#define SSL3_TXT_DH_RSA_DES_40_CBC_SHA "EXP-DH-RSA-DES-CBC-SHA" -#define SSL3_TXT_DH_RSA_DES_64_CBC_SHA "DH-RSA-DES-CBC-SHA" -#define SSL3_TXT_DH_RSA_DES_192_CBC3_SHA "DH-RSA-DES-CBC3-SHA" - -#define SSL3_TXT_EDH_DSS_DES_40_CBC_SHA "EXP-EDH-DSS-DES-CBC-SHA" -#define SSL3_TXT_EDH_DSS_DES_64_CBC_SHA "EDH-DSS-DES-CBC-SHA" -#define SSL3_TXT_EDH_DSS_DES_192_CBC3_SHA "EDH-DSS-DES-CBC3-SHA" -#define SSL3_TXT_EDH_RSA_DES_40_CBC_SHA "EXP-EDH-RSA-DES-CBC-SHA" -#define SSL3_TXT_EDH_RSA_DES_64_CBC_SHA "EDH-RSA-DES-CBC-SHA" -#define SSL3_TXT_EDH_RSA_DES_192_CBC3_SHA "EDH-RSA-DES-CBC3-SHA" - -#define SSL3_TXT_ADH_RC4_40_MD5 "EXP-ADH-RC4-MD5" -#define SSL3_TXT_ADH_RC4_128_MD5 "ADH-RC4-MD5" -#define SSL3_TXT_ADH_DES_40_CBC_SHA "EXP-ADH-DES-CBC-SHA" -#define SSL3_TXT_ADH_DES_64_CBC_SHA "ADH-DES-CBC-SHA" -#define SSL3_TXT_ADH_DES_192_CBC_SHA "ADH-DES-CBC3-SHA" - -#if 0 - #define SSL3_TXT_FZA_DMS_NULL_SHA "FZA-NULL-SHA" - #define SSL3_TXT_FZA_DMS_FZA_SHA "FZA-FZA-CBC-SHA" - #define SSL3_TXT_FZA_DMS_RC4_SHA "FZA-RC4-SHA" -#endif - -#define SSL3_TXT_KRB5_DES_64_CBC_SHA "KRB5-DES-CBC-SHA" -#define SSL3_TXT_KRB5_DES_192_CBC3_SHA "KRB5-DES-CBC3-SHA" -#define SSL3_TXT_KRB5_RC4_128_SHA "KRB5-RC4-SHA" -#define SSL3_TXT_KRB5_IDEA_128_CBC_SHA "KRB5-IDEA-CBC-SHA" -#define SSL3_TXT_KRB5_DES_64_CBC_MD5 "KRB5-DES-CBC-MD5" -#define SSL3_TXT_KRB5_DES_192_CBC3_MD5 "KRB5-DES-CBC3-MD5" -#define SSL3_TXT_KRB5_RC4_128_MD5 "KRB5-RC4-MD5" -#define SSL3_TXT_KRB5_IDEA_128_CBC_MD5 "KRB5-IDEA-CBC-MD5" - -#define SSL3_TXT_KRB5_DES_40_CBC_SHA "EXP-KRB5-DES-CBC-SHA" -#define SSL3_TXT_KRB5_RC2_40_CBC_SHA "EXP-KRB5-RC2-CBC-SHA" -#define SSL3_TXT_KRB5_RC4_40_SHA "EXP-KRB5-RC4-SHA" -#define SSL3_TXT_KRB5_DES_40_CBC_MD5 "EXP-KRB5-DES-CBC-MD5" -#define SSL3_TXT_KRB5_RC2_40_CBC_MD5 "EXP-KRB5-RC2-CBC-MD5" -#define SSL3_TXT_KRB5_RC4_40_MD5 "EXP-KRB5-RC4-MD5" - -#define SSL3_SSL_SESSION_ID_LENGTH 32 -#define SSL3_MAX_SSL_SESSION_ID_LENGTH 32 - -#define SSL3_MASTER_SECRET_SIZE 48 -#define SSL3_RANDOM_SIZE 32 -#define SSL3_SESSION_ID_SIZE 32 -#define SSL3_RT_HEADER_LENGTH 5 - -#ifndef SSL3_ALIGN_PAYLOAD - /* Some will argue that this increases memory footprint, but it's - * not actually true. Point is that malloc has to return at least - * 64-bit aligned pointers, meaning that allocating 5 bytes wastes - * 3 bytes in either case. Suggested pre-gaping simply moves these - * wasted bytes from the end of allocated region to its front, - * but makes data payload aligned, which improves performance:-) */ -# define SSL3_ALIGN_PAYLOAD 8 -#else -# if (SSL3_ALIGN_PAYLOAD&(SSL3_ALIGN_PAYLOAD-1))!=0 -# error "insane SSL3_ALIGN_PAYLOAD" -# undef SSL3_ALIGN_PAYLOAD -# endif -#endif - -/* This is the maximum MAC (digest) size used by the SSL library. - * Currently maximum of 20 is used by SHA1, but we reserve for - * future extension for 512-bit hashes. - */ - -#define SSL3_RT_MAX_MD_SIZE 64 - -/* Maximum block size used in all ciphersuites. Currently 16 for AES. - */ - -#define SSL_RT_MAX_CIPHER_BLOCK_SIZE 16 - -#define SSL3_RT_MAX_EXTRA (16384) - -/* Maximum plaintext length: defined by SSL/TLS standards */ -#define SSL3_RT_MAX_PLAIN_LENGTH 16384 -/* Maximum compression overhead: defined by SSL/TLS standards */ -#define SSL3_RT_MAX_COMPRESSED_OVERHEAD 1024 - -/* The standards give a maximum encryption overhead of 1024 bytes. - * In practice the value is lower than this. The overhead is the maximum - * number of padding bytes (256) plus the mac size. - */ -#define SSL3_RT_MAX_ENCRYPTED_OVERHEAD (256 + SSL3_RT_MAX_MD_SIZE) - -/* OpenSSL currently only uses a padding length of at most one block so - * the send overhead is smaller. - */ - -#define SSL3_RT_SEND_MAX_ENCRYPTED_OVERHEAD \ - (SSL_RT_MAX_CIPHER_BLOCK_SIZE + SSL3_RT_MAX_MD_SIZE) - -/* If compression isn't used don't include the compression overhead */ - -#ifdef OPENSSL_NO_COMP -#define SSL3_RT_MAX_COMPRESSED_LENGTH SSL3_RT_MAX_PLAIN_LENGTH -#else -#define SSL3_RT_MAX_COMPRESSED_LENGTH \ - (SSL3_RT_MAX_PLAIN_LENGTH+SSL3_RT_MAX_COMPRESSED_OVERHEAD) -#endif -#define SSL3_RT_MAX_ENCRYPTED_LENGTH \ - (SSL3_RT_MAX_ENCRYPTED_OVERHEAD+SSL3_RT_MAX_COMPRESSED_LENGTH) -#define SSL3_RT_MAX_PACKET_SIZE \ - (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH) - -#define SSL3_MD_CLIENT_FINISHED_CONST "\x43\x4C\x4E\x54" -#define SSL3_MD_SERVER_FINISHED_CONST "\x53\x52\x56\x52" - -#define SSL3_VERSION 0x0300 -#define SSL3_VERSION_MAJOR 0x03 -#define SSL3_VERSION_MINOR 0x00 - -#define SSL3_RT_CHANGE_CIPHER_SPEC 20 -#define SSL3_RT_ALERT 21 -#define SSL3_RT_HANDSHAKE 22 -#define SSL3_RT_APPLICATION_DATA 23 -#define TLS1_RT_HEARTBEAT 24 - -#define SSL3_AL_WARNING 1 -#define SSL3_AL_FATAL 2 - -#define SSL3_AD_CLOSE_NOTIFY 0 -#define SSL3_AD_UNEXPECTED_MESSAGE 10 /* fatal */ -#define SSL3_AD_BAD_RECORD_MAC 20 /* fatal */ -#define SSL3_AD_DECOMPRESSION_FAILURE 30 /* fatal */ -#define SSL3_AD_HANDSHAKE_FAILURE 40 /* fatal */ -#define SSL3_AD_NO_CERTIFICATE 41 -#define SSL3_AD_BAD_CERTIFICATE 42 -#define SSL3_AD_UNSUPPORTED_CERTIFICATE 43 -#define SSL3_AD_CERTIFICATE_REVOKED 44 -#define SSL3_AD_CERTIFICATE_EXPIRED 45 -#define SSL3_AD_CERTIFICATE_UNKNOWN 46 -#define SSL3_AD_ILLEGAL_PARAMETER 47 /* fatal */ - -#define TLS1_HB_REQUEST 1 -#define TLS1_HB_RESPONSE 2 - -#ifndef OPENSSL_NO_SSL_INTERN - -typedef struct ssl3_record_st - { -/*r */ int type; /* type of record */ -/*rw*/ unsigned int length; /* How many bytes available */ -/*r */ unsigned int off; /* read/write offset into 'buf' */ -/*rw*/ unsigned char *data; /* pointer to the record data */ -/*rw*/ unsigned char *input; /* where the decode bytes are */ -/*r */ unsigned char *comp; /* only used with decompression - malloc()ed */ -/*r */ unsigned long epoch; /* epoch number, needed by DTLS1 */ -/*r */ unsigned char seq_num[8]; /* sequence number, needed by DTLS1 */ - } SSL3_RECORD; - -typedef struct ssl3_buffer_st - { - unsigned char *buf; /* at least SSL3_RT_MAX_PACKET_SIZE bytes, - * see ssl3_setup_buffers() */ - size_t len; /* buffer size */ - int offset; /* where to 'copy from' */ - int left; /* how many bytes left */ - } SSL3_BUFFER; - -#endif - -#define SSL3_CT_RSA_SIGN 1 -#define SSL3_CT_DSS_SIGN 2 -#define SSL3_CT_RSA_FIXED_DH 3 -#define SSL3_CT_DSS_FIXED_DH 4 -#define SSL3_CT_RSA_EPHEMERAL_DH 5 -#define SSL3_CT_DSS_EPHEMERAL_DH 6 -#define SSL3_CT_FORTEZZA_DMS 20 -/* SSL3_CT_NUMBER is used to size arrays and it must be large - * enough to contain all of the cert types defined either for - * SSLv3 and TLSv1. - */ -#define SSL3_CT_NUMBER 9 - - -#define SSL3_FLAGS_NO_RENEGOTIATE_CIPHERS 0x0001 -#define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002 -#define SSL3_FLAGS_POP_BUFFER 0x0004 -#define TLS1_FLAGS_TLS_PADDING_BUG 0x0008 -#define TLS1_FLAGS_SKIP_CERT_VERIFY 0x0010 -#define TLS1_FLAGS_KEEP_HANDSHAKE 0x0020 - -/* SSL3_FLAGS_SGC_RESTART_DONE is set when we - * restart a handshake because of MS SGC and so prevents us - * from restarting the handshake in a loop. It's reset on a - * renegotiation, so effectively limits the client to one restart - * per negotiation. This limits the possibility of a DDoS - * attack where the client handshakes in a loop using SGC to - * restart. Servers which permit renegotiation can still be - * effected, but we can't prevent that. - */ -#define SSL3_FLAGS_SGC_RESTART_DONE 0x0040 - -#ifndef OPENSSL_NO_SSL_INTERN - -typedef struct ssl3_state_st - { - long flags; - int delay_buf_pop_ret; - - unsigned char read_sequence[8]; - int read_mac_secret_size; - unsigned char read_mac_secret[EVP_MAX_MD_SIZE]; - unsigned char write_sequence[8]; - int write_mac_secret_size; - unsigned char write_mac_secret[EVP_MAX_MD_SIZE]; - - unsigned char server_random[SSL3_RANDOM_SIZE]; - unsigned char client_random[SSL3_RANDOM_SIZE]; - - /* flags for countermeasure against known-IV weakness */ - int need_empty_fragments; - int empty_fragment_done; - - /* The value of 'extra' when the buffers were initialized */ - int init_extra; - - SSL3_BUFFER rbuf; /* read IO goes into here */ - SSL3_BUFFER wbuf; /* write IO goes into here */ - - SSL3_RECORD rrec; /* each decoded record goes in here */ - SSL3_RECORD wrec; /* goes out from here */ - - /* storage for Alert/Handshake protocol data received but not - * yet processed by ssl3_read_bytes: */ - unsigned char alert_fragment[2]; - unsigned int alert_fragment_len; - unsigned char handshake_fragment[4]; - unsigned int handshake_fragment_len; - - /* partial write - check the numbers match */ - unsigned int wnum; /* number of bytes sent so far */ - int wpend_tot; /* number bytes written */ - int wpend_type; - int wpend_ret; /* number of bytes submitted */ - const unsigned char *wpend_buf; - - /* used during startup, digest all incoming/outgoing packets */ - BIO *handshake_buffer; - /* When set of handshake digests is determined, buffer is hashed - * and freed and MD_CTX-es for all required digests are stored in - * this array */ - EVP_MD_CTX **handshake_dgst; - /* this is set whenerver we see a change_cipher_spec message - * come in when we are not looking for one */ - int change_cipher_spec; - - int warn_alert; - int fatal_alert; - /* we allow one fatal and one warning alert to be outstanding, - * send close alert via the warning alert */ - int alert_dispatch; - unsigned char send_alert[2]; - - /* This flag is set when we should renegotiate ASAP, basically when - * there is no more data in the read or write buffers */ - int renegotiate; - int total_renegotiations; - int num_renegotiations; - - int in_read_app_data; - - /* Opaque PRF input as used for the current handshake. - * These fields are used only if TLSEXT_TYPE_opaque_prf_input is defined - * (otherwise, they are merely present to improve binary compatibility) */ - void *client_opaque_prf_input; - size_t client_opaque_prf_input_len; - void *server_opaque_prf_input; - size_t server_opaque_prf_input_len; - - struct { - /* actually only needs to be 16+20 */ - unsigned char cert_verify_md[EVP_MAX_MD_SIZE*2]; - - /* actually only need to be 16+20 for SSLv3 and 12 for TLS */ - unsigned char finish_md[EVP_MAX_MD_SIZE*2]; - int finish_md_len; - unsigned char peer_finish_md[EVP_MAX_MD_SIZE*2]; - int peer_finish_md_len; - - unsigned long message_size; - int message_type; - - /* used to hold the new cipher we are going to use */ - const SSL_CIPHER *new_cipher; -#ifndef OPENSSL_NO_DH - DH *dh; -#endif - -#ifndef OPENSSL_NO_ECDH - EC_KEY *ecdh; /* holds short lived ECDH key */ -#endif - - /* used when SSL_ST_FLUSH_DATA is entered */ - int next_state; - - int reuse_message; - - /* used for certificate requests */ - int cert_req; - int ctype_num; - char ctype[SSL3_CT_NUMBER]; - STACK_OF(X509_NAME) *ca_names; - - int use_rsa_tmp; - - int key_block_length; - unsigned char *key_block; - - const EVP_CIPHER *new_sym_enc; - const EVP_MD *new_hash; - int new_mac_pkey_type; - int new_mac_secret_size; -#ifndef OPENSSL_NO_COMP - const SSL_COMP *new_compression; -#else - char *new_compression; -#endif - int cert_request; - } tmp; - - /* Connection binding to prevent renegotiation attacks */ - unsigned char previous_client_finished[EVP_MAX_MD_SIZE]; - unsigned char previous_client_finished_len; - unsigned char previous_server_finished[EVP_MAX_MD_SIZE]; - unsigned char previous_server_finished_len; - int send_connection_binding; /* TODOEKR */ - -#ifndef OPENSSL_NO_NEXTPROTONEG - /* Set if we saw the Next Protocol Negotiation extension from our peer. */ - int next_proto_neg_seen; -#endif - } SSL3_STATE; - -#endif - -/* SSLv3 */ -/*client */ -/* extra state */ -#define SSL3_ST_CW_FLUSH (0x100|SSL_ST_CONNECT) -#ifndef OPENSSL_NO_SCTP -#define DTLS1_SCTP_ST_CW_WRITE_SOCK (0x310|SSL_ST_CONNECT) -#define DTLS1_SCTP_ST_CR_READ_SOCK (0x320|SSL_ST_CONNECT) -#endif -/* write to server */ -#define SSL3_ST_CW_CLNT_HELLO_A (0x110|SSL_ST_CONNECT) -#define SSL3_ST_CW_CLNT_HELLO_B (0x111|SSL_ST_CONNECT) -/* read from server */ -#define SSL3_ST_CR_SRVR_HELLO_A (0x120|SSL_ST_CONNECT) -#define SSL3_ST_CR_SRVR_HELLO_B (0x121|SSL_ST_CONNECT) -#define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_A (0x126|SSL_ST_CONNECT) -#define DTLS1_ST_CR_HELLO_VERIFY_REQUEST_B (0x127|SSL_ST_CONNECT) -#define SSL3_ST_CR_CERT_A (0x130|SSL_ST_CONNECT) -#define SSL3_ST_CR_CERT_B (0x131|SSL_ST_CONNECT) -#define SSL3_ST_CR_KEY_EXCH_A (0x140|SSL_ST_CONNECT) -#define SSL3_ST_CR_KEY_EXCH_B (0x141|SSL_ST_CONNECT) -#define SSL3_ST_CR_CERT_REQ_A (0x150|SSL_ST_CONNECT) -#define SSL3_ST_CR_CERT_REQ_B (0x151|SSL_ST_CONNECT) -#define SSL3_ST_CR_SRVR_DONE_A (0x160|SSL_ST_CONNECT) -#define SSL3_ST_CR_SRVR_DONE_B (0x161|SSL_ST_CONNECT) -/* write to server */ -#define SSL3_ST_CW_CERT_A (0x170|SSL_ST_CONNECT) -#define SSL3_ST_CW_CERT_B (0x171|SSL_ST_CONNECT) -#define SSL3_ST_CW_CERT_C (0x172|SSL_ST_CONNECT) -#define SSL3_ST_CW_CERT_D (0x173|SSL_ST_CONNECT) -#define SSL3_ST_CW_KEY_EXCH_A (0x180|SSL_ST_CONNECT) -#define SSL3_ST_CW_KEY_EXCH_B (0x181|SSL_ST_CONNECT) -#define SSL3_ST_CW_CERT_VRFY_A (0x190|SSL_ST_CONNECT) -#define SSL3_ST_CW_CERT_VRFY_B (0x191|SSL_ST_CONNECT) -#define SSL3_ST_CW_CHANGE_A (0x1A0|SSL_ST_CONNECT) -#define SSL3_ST_CW_CHANGE_B (0x1A1|SSL_ST_CONNECT) -#ifndef OPENSSL_NO_NEXTPROTONEG -#define SSL3_ST_CW_NEXT_PROTO_A (0x200|SSL_ST_CONNECT) -#define SSL3_ST_CW_NEXT_PROTO_B (0x201|SSL_ST_CONNECT) -#endif -#define SSL3_ST_CW_FINISHED_A (0x1B0|SSL_ST_CONNECT) -#define SSL3_ST_CW_FINISHED_B (0x1B1|SSL_ST_CONNECT) -/* read from server */ -#define SSL3_ST_CR_CHANGE_A (0x1C0|SSL_ST_CONNECT) -#define SSL3_ST_CR_CHANGE_B (0x1C1|SSL_ST_CONNECT) -#define SSL3_ST_CR_FINISHED_A (0x1D0|SSL_ST_CONNECT) -#define SSL3_ST_CR_FINISHED_B (0x1D1|SSL_ST_CONNECT) -#define SSL3_ST_CR_SESSION_TICKET_A (0x1E0|SSL_ST_CONNECT) -#define SSL3_ST_CR_SESSION_TICKET_B (0x1E1|SSL_ST_CONNECT) -#define SSL3_ST_CR_CERT_STATUS_A (0x1F0|SSL_ST_CONNECT) -#define SSL3_ST_CR_CERT_STATUS_B (0x1F1|SSL_ST_CONNECT) - -/* server */ -/* extra state */ -#define SSL3_ST_SW_FLUSH (0x100|SSL_ST_ACCEPT) -#ifndef OPENSSL_NO_SCTP -#define DTLS1_SCTP_ST_SW_WRITE_SOCK (0x310|SSL_ST_ACCEPT) -#define DTLS1_SCTP_ST_SR_READ_SOCK (0x320|SSL_ST_ACCEPT) -#endif -/* read from client */ -/* Do not change the number values, they do matter */ -#define SSL3_ST_SR_CLNT_HELLO_A (0x110|SSL_ST_ACCEPT) -#define SSL3_ST_SR_CLNT_HELLO_B (0x111|SSL_ST_ACCEPT) -#define SSL3_ST_SR_CLNT_HELLO_C (0x112|SSL_ST_ACCEPT) -/* write to client */ -#define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_A (0x113|SSL_ST_ACCEPT) -#define DTLS1_ST_SW_HELLO_VERIFY_REQUEST_B (0x114|SSL_ST_ACCEPT) -#define SSL3_ST_SW_HELLO_REQ_A (0x120|SSL_ST_ACCEPT) -#define SSL3_ST_SW_HELLO_REQ_B (0x121|SSL_ST_ACCEPT) -#define SSL3_ST_SW_HELLO_REQ_C (0x122|SSL_ST_ACCEPT) -#define SSL3_ST_SW_SRVR_HELLO_A (0x130|SSL_ST_ACCEPT) -#define SSL3_ST_SW_SRVR_HELLO_B (0x131|SSL_ST_ACCEPT) -#define SSL3_ST_SW_CERT_A (0x140|SSL_ST_ACCEPT) -#define SSL3_ST_SW_CERT_B (0x141|SSL_ST_ACCEPT) -#define SSL3_ST_SW_KEY_EXCH_A (0x150|SSL_ST_ACCEPT) -#define SSL3_ST_SW_KEY_EXCH_B (0x151|SSL_ST_ACCEPT) -#define SSL3_ST_SW_CERT_REQ_A (0x160|SSL_ST_ACCEPT) -#define SSL3_ST_SW_CERT_REQ_B (0x161|SSL_ST_ACCEPT) -#define SSL3_ST_SW_SRVR_DONE_A (0x170|SSL_ST_ACCEPT) -#define SSL3_ST_SW_SRVR_DONE_B (0x171|SSL_ST_ACCEPT) -/* read from client */ -#define SSL3_ST_SR_CERT_A (0x180|SSL_ST_ACCEPT) -#define SSL3_ST_SR_CERT_B (0x181|SSL_ST_ACCEPT) -#define SSL3_ST_SR_KEY_EXCH_A (0x190|SSL_ST_ACCEPT) -#define SSL3_ST_SR_KEY_EXCH_B (0x191|SSL_ST_ACCEPT) -#define SSL3_ST_SR_CERT_VRFY_A (0x1A0|SSL_ST_ACCEPT) -#define SSL3_ST_SR_CERT_VRFY_B (0x1A1|SSL_ST_ACCEPT) -#define SSL3_ST_SR_CHANGE_A (0x1B0|SSL_ST_ACCEPT) -#define SSL3_ST_SR_CHANGE_B (0x1B1|SSL_ST_ACCEPT) -#ifndef OPENSSL_NO_NEXTPROTONEG -#define SSL3_ST_SR_NEXT_PROTO_A (0x210|SSL_ST_ACCEPT) -#define SSL3_ST_SR_NEXT_PROTO_B (0x211|SSL_ST_ACCEPT) -#endif -#define SSL3_ST_SR_FINISHED_A (0x1C0|SSL_ST_ACCEPT) -#define SSL3_ST_SR_FINISHED_B (0x1C1|SSL_ST_ACCEPT) -/* write to client */ -#define SSL3_ST_SW_CHANGE_A (0x1D0|SSL_ST_ACCEPT) -#define SSL3_ST_SW_CHANGE_B (0x1D1|SSL_ST_ACCEPT) -#define SSL3_ST_SW_FINISHED_A (0x1E0|SSL_ST_ACCEPT) -#define SSL3_ST_SW_FINISHED_B (0x1E1|SSL_ST_ACCEPT) -#define SSL3_ST_SW_SESSION_TICKET_A (0x1F0|SSL_ST_ACCEPT) -#define SSL3_ST_SW_SESSION_TICKET_B (0x1F1|SSL_ST_ACCEPT) -#define SSL3_ST_SW_CERT_STATUS_A (0x200|SSL_ST_ACCEPT) -#define SSL3_ST_SW_CERT_STATUS_B (0x201|SSL_ST_ACCEPT) - -#define SSL3_MT_HELLO_REQUEST 0 -#define SSL3_MT_CLIENT_HELLO 1 -#define SSL3_MT_SERVER_HELLO 2 -#define SSL3_MT_NEWSESSION_TICKET 4 -#define SSL3_MT_CERTIFICATE 11 -#define SSL3_MT_SERVER_KEY_EXCHANGE 12 -#define SSL3_MT_CERTIFICATE_REQUEST 13 -#define SSL3_MT_SERVER_DONE 14 -#define SSL3_MT_CERTIFICATE_VERIFY 15 -#define SSL3_MT_CLIENT_KEY_EXCHANGE 16 -#define SSL3_MT_FINISHED 20 -#define SSL3_MT_CERTIFICATE_STATUS 22 -#ifndef OPENSSL_NO_NEXTPROTONEG -#define SSL3_MT_NEXT_PROTO 67 -#endif -#define DTLS1_MT_HELLO_VERIFY_REQUEST 3 - - -#define SSL3_MT_CCS 1 - -/* These are used when changing over to a new cipher */ -#define SSL3_CC_READ 0x01 -#define SSL3_CC_WRITE 0x02 -#define SSL3_CC_CLIENT 0x10 -#define SSL3_CC_SERVER 0x20 -#define SSL3_CHANGE_CIPHER_CLIENT_WRITE (SSL3_CC_CLIENT|SSL3_CC_WRITE) -#define SSL3_CHANGE_CIPHER_SERVER_READ (SSL3_CC_SERVER|SSL3_CC_READ) -#define SSL3_CHANGE_CIPHER_CLIENT_READ (SSL3_CC_CLIENT|SSL3_CC_READ) -#define SSL3_CHANGE_CIPHER_SERVER_WRITE (SSL3_CC_SERVER|SSL3_CC_WRITE) - -#ifdef __cplusplus -} -#endif -#endif - diff --git a/ext/bin/libcrypto/include/openssl/stack.h b/ext/bin/libcrypto/include/openssl/stack.h deleted file mode 100644 index ce35e554e..000000000 --- a/ext/bin/libcrypto/include/openssl/stack.h +++ /dev/null @@ -1,108 +0,0 @@ -/* crypto/stack/stack.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_STACK_H -#define HEADER_STACK_H - -#ifdef __cplusplus -extern "C" { -#endif - -typedef struct stack_st - { - int num; - char **data; - int sorted; - - int num_alloc; - int (*comp)(const void *, const void *); - } _STACK; /* Use STACK_OF(...) instead */ - -#define M_sk_num(sk) ((sk) ? (sk)->num:-1) -#define M_sk_value(sk,n) ((sk) ? (sk)->data[n] : NULL) - -int sk_num(const _STACK *); -void *sk_value(const _STACK *, int); - -void *sk_set(_STACK *, int, void *); - -_STACK *sk_new(int (*cmp)(const void *, const void *)); -_STACK *sk_new_null(void); -void sk_free(_STACK *); -void sk_pop_free(_STACK *st, void (*func)(void *)); -int sk_insert(_STACK *sk, void *data, int where); -void *sk_delete(_STACK *st, int loc); -void *sk_delete_ptr(_STACK *st, void *p); -int sk_find(_STACK *st, void *data); -int sk_find_ex(_STACK *st, void *data); -int sk_push(_STACK *st, void *data); -int sk_unshift(_STACK *st, void *data); -void *sk_shift(_STACK *st); -void *sk_pop(_STACK *st); -void sk_zero(_STACK *st); -int (*sk_set_cmp_func(_STACK *sk, int (*c)(const void *, const void *))) - (const void *, const void *); -_STACK *sk_dup(_STACK *st); -void sk_sort(_STACK *st); -int sk_is_sorted(const _STACK *st); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/symhacks.h b/ext/bin/libcrypto/include/openssl/symhacks.h deleted file mode 100644 index 07a412f84..000000000 --- a/ext/bin/libcrypto/include/openssl/symhacks.h +++ /dev/null @@ -1,475 +0,0 @@ -/* ==================================================================== - * Copyright (c) 1999 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_SYMHACKS_H -#define HEADER_SYMHACKS_H - -#include - -/* Hacks to solve the problem with linkers incapable of handling very long - symbol names. In the case of VMS, the limit is 31 characters on VMS for - VAX. */ -/* Note that this affects util/libeay.num and util/ssleay.num... you may - change those manually, but that's not recommended, as those files are - controlled centrally and updated on Unix, and the central definition - may disagree with yours, which in turn may come with shareable library - incompatibilities. */ -#ifdef OPENSSL_SYS_VMS - -/* Hack a long name in crypto/ex_data.c */ -#undef CRYPTO_get_ex_data_implementation -#define CRYPTO_get_ex_data_implementation CRYPTO_get_ex_data_impl -#undef CRYPTO_set_ex_data_implementation -#define CRYPTO_set_ex_data_implementation CRYPTO_set_ex_data_impl - -/* Hack a long name in crypto/asn1/a_mbstr.c */ -#undef ASN1_STRING_set_default_mask_asc -#define ASN1_STRING_set_default_mask_asc ASN1_STRING_set_def_mask_asc - -#if 0 /* No longer needed, since safestack macro magic does the job */ -/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_SIGNER_INFO) */ -#undef i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO -#define i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO i2d_ASN1_SET_OF_PKCS7_SIGINF -#undef d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO -#define d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO d2i_ASN1_SET_OF_PKCS7_SIGINF -#endif - -#if 0 /* No longer needed, since safestack macro magic does the job */ -/* Hack the names created with DECLARE_ASN1_SET_OF(PKCS7_RECIP_INFO) */ -#undef i2d_ASN1_SET_OF_PKCS7_RECIP_INFO -#define i2d_ASN1_SET_OF_PKCS7_RECIP_INFO i2d_ASN1_SET_OF_PKCS7_RECINF -#undef d2i_ASN1_SET_OF_PKCS7_RECIP_INFO -#define d2i_ASN1_SET_OF_PKCS7_RECIP_INFO d2i_ASN1_SET_OF_PKCS7_RECINF -#endif - -#if 0 /* No longer needed, since safestack macro magic does the job */ -/* Hack the names created with DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) */ -#undef i2d_ASN1_SET_OF_ACCESS_DESCRIPTION -#define i2d_ASN1_SET_OF_ACCESS_DESCRIPTION i2d_ASN1_SET_OF_ACC_DESC -#undef d2i_ASN1_SET_OF_ACCESS_DESCRIPTION -#define d2i_ASN1_SET_OF_ACCESS_DESCRIPTION d2i_ASN1_SET_OF_ACC_DESC -#endif - -/* Hack the names created with DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE) */ -#undef PEM_read_NETSCAPE_CERT_SEQUENCE -#define PEM_read_NETSCAPE_CERT_SEQUENCE PEM_read_NS_CERT_SEQ -#undef PEM_write_NETSCAPE_CERT_SEQUENCE -#define PEM_write_NETSCAPE_CERT_SEQUENCE PEM_write_NS_CERT_SEQ -#undef PEM_read_bio_NETSCAPE_CERT_SEQUENCE -#define PEM_read_bio_NETSCAPE_CERT_SEQUENCE PEM_read_bio_NS_CERT_SEQ -#undef PEM_write_bio_NETSCAPE_CERT_SEQUENCE -#define PEM_write_bio_NETSCAPE_CERT_SEQUENCE PEM_write_bio_NS_CERT_SEQ -#undef PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE -#define PEM_write_cb_bio_NETSCAPE_CERT_SEQUENCE PEM_write_cb_bio_NS_CERT_SEQ - -/* Hack the names created with DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO) */ -#undef PEM_read_PKCS8_PRIV_KEY_INFO -#define PEM_read_PKCS8_PRIV_KEY_INFO PEM_read_P8_PRIV_KEY_INFO -#undef PEM_write_PKCS8_PRIV_KEY_INFO -#define PEM_write_PKCS8_PRIV_KEY_INFO PEM_write_P8_PRIV_KEY_INFO -#undef PEM_read_bio_PKCS8_PRIV_KEY_INFO -#define PEM_read_bio_PKCS8_PRIV_KEY_INFO PEM_read_bio_P8_PRIV_KEY_INFO -#undef PEM_write_bio_PKCS8_PRIV_KEY_INFO -#define PEM_write_bio_PKCS8_PRIV_KEY_INFO PEM_write_bio_P8_PRIV_KEY_INFO -#undef PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO -#define PEM_write_cb_bio_PKCS8_PRIV_KEY_INFO PEM_wrt_cb_bio_P8_PRIV_KEY_INFO - -/* Hack other PEM names */ -#undef PEM_write_bio_PKCS8PrivateKey_nid -#define PEM_write_bio_PKCS8PrivateKey_nid PEM_write_bio_PKCS8PrivKey_nid - -/* Hack some long X509 names */ -#undef X509_REVOKED_get_ext_by_critical -#define X509_REVOKED_get_ext_by_critical X509_REVOKED_get_ext_by_critic -#undef X509_policy_tree_get0_user_policies -#define X509_policy_tree_get0_user_policies X509_pcy_tree_get0_usr_policies -#undef X509_policy_node_get0_qualifiers -#define X509_policy_node_get0_qualifiers X509_pcy_node_get0_qualifiers -#undef X509_STORE_CTX_get_explicit_policy -#define X509_STORE_CTX_get_explicit_policy X509_STORE_CTX_get_expl_policy -#undef X509_STORE_CTX_get0_current_issuer -#define X509_STORE_CTX_get0_current_issuer X509_STORE_CTX_get0_cur_issuer - -/* Hack some long CRYPTO names */ -#undef CRYPTO_set_dynlock_destroy_callback -#define CRYPTO_set_dynlock_destroy_callback CRYPTO_set_dynlock_destroy_cb -#undef CRYPTO_set_dynlock_create_callback -#define CRYPTO_set_dynlock_create_callback CRYPTO_set_dynlock_create_cb -#undef CRYPTO_set_dynlock_lock_callback -#define CRYPTO_set_dynlock_lock_callback CRYPTO_set_dynlock_lock_cb -#undef CRYPTO_get_dynlock_lock_callback -#define CRYPTO_get_dynlock_lock_callback CRYPTO_get_dynlock_lock_cb -#undef CRYPTO_get_dynlock_destroy_callback -#define CRYPTO_get_dynlock_destroy_callback CRYPTO_get_dynlock_destroy_cb -#undef CRYPTO_get_dynlock_create_callback -#define CRYPTO_get_dynlock_create_callback CRYPTO_get_dynlock_create_cb -#undef CRYPTO_set_locked_mem_ex_functions -#define CRYPTO_set_locked_mem_ex_functions CRYPTO_set_locked_mem_ex_funcs -#undef CRYPTO_get_locked_mem_ex_functions -#define CRYPTO_get_locked_mem_ex_functions CRYPTO_get_locked_mem_ex_funcs - -/* Hack some long SSL names */ -#undef SSL_CTX_set_default_verify_paths -#define SSL_CTX_set_default_verify_paths SSL_CTX_set_def_verify_paths -#undef SSL_get_ex_data_X509_STORE_CTX_idx -#define SSL_get_ex_data_X509_STORE_CTX_idx SSL_get_ex_d_X509_STORE_CTX_idx -#undef SSL_add_file_cert_subjects_to_stack -#define SSL_add_file_cert_subjects_to_stack SSL_add_file_cert_subjs_to_stk -#undef SSL_add_dir_cert_subjects_to_stack -#define SSL_add_dir_cert_subjects_to_stack SSL_add_dir_cert_subjs_to_stk -#undef SSL_CTX_use_certificate_chain_file -#define SSL_CTX_use_certificate_chain_file SSL_CTX_use_cert_chain_file -#undef SSL_CTX_set_cert_verify_callback -#define SSL_CTX_set_cert_verify_callback SSL_CTX_set_cert_verify_cb -#undef SSL_CTX_set_default_passwd_cb_userdata -#define SSL_CTX_set_default_passwd_cb_userdata SSL_CTX_set_def_passwd_cb_ud -#undef SSL_COMP_get_compression_methods -#define SSL_COMP_get_compression_methods SSL_COMP_get_compress_methods -#undef ssl_add_clienthello_renegotiate_ext -#define ssl_add_clienthello_renegotiate_ext ssl_add_clienthello_reneg_ext -#undef ssl_add_serverhello_renegotiate_ext -#define ssl_add_serverhello_renegotiate_ext ssl_add_serverhello_reneg_ext -#undef ssl_parse_clienthello_renegotiate_ext -#define ssl_parse_clienthello_renegotiate_ext ssl_parse_clienthello_reneg_ext -#undef ssl_parse_serverhello_renegotiate_ext -#define ssl_parse_serverhello_renegotiate_ext ssl_parse_serverhello_reneg_ext -#undef SSL_srp_server_param_with_username -#define SSL_srp_server_param_with_username SSL_srp_server_param_with_un -#undef SSL_CTX_set_srp_client_pwd_callback -#define SSL_CTX_set_srp_client_pwd_callback SSL_CTX_set_srp_client_pwd_cb -#undef SSL_CTX_set_srp_verify_param_callback -#define SSL_CTX_set_srp_verify_param_callback SSL_CTX_set_srp_vfy_param_cb -#undef SSL_CTX_set_srp_username_callback -#define SSL_CTX_set_srp_username_callback SSL_CTX_set_srp_un_cb -#undef ssl_add_clienthello_use_srtp_ext -#define ssl_add_clienthello_use_srtp_ext ssl_add_clihello_use_srtp_ext -#undef ssl_add_serverhello_use_srtp_ext -#define ssl_add_serverhello_use_srtp_ext ssl_add_serhello_use_srtp_ext -#undef ssl_parse_clienthello_use_srtp_ext -#define ssl_parse_clienthello_use_srtp_ext ssl_parse_clihello_use_srtp_ext -#undef ssl_parse_serverhello_use_srtp_ext -#define ssl_parse_serverhello_use_srtp_ext ssl_parse_serhello_use_srtp_ext -#undef SSL_CTX_set_next_protos_advertised_cb -#define SSL_CTX_set_next_protos_advertised_cb SSL_CTX_set_next_protos_adv_cb -#undef SSL_CTX_set_next_proto_select_cb -#define SSL_CTX_set_next_proto_select_cb SSL_CTX_set_next_proto_sel_cb - -/* Hack some long ENGINE names */ -#undef ENGINE_get_default_BN_mod_exp_crt -#define ENGINE_get_default_BN_mod_exp_crt ENGINE_get_def_BN_mod_exp_crt -#undef ENGINE_set_default_BN_mod_exp_crt -#define ENGINE_set_default_BN_mod_exp_crt ENGINE_set_def_BN_mod_exp_crt -#undef ENGINE_set_load_privkey_function -#define ENGINE_set_load_privkey_function ENGINE_set_load_privkey_fn -#undef ENGINE_get_load_privkey_function -#define ENGINE_get_load_privkey_function ENGINE_get_load_privkey_fn -#undef ENGINE_unregister_pkey_asn1_meths -#define ENGINE_unregister_pkey_asn1_meths ENGINE_unreg_pkey_asn1_meths -#undef ENGINE_register_all_pkey_asn1_meths -#define ENGINE_register_all_pkey_asn1_meths ENGINE_reg_all_pkey_asn1_meths -#undef ENGINE_set_default_pkey_asn1_meths -#define ENGINE_set_default_pkey_asn1_meths ENGINE_set_def_pkey_asn1_meths -#undef ENGINE_get_pkey_asn1_meth_engine -#define ENGINE_get_pkey_asn1_meth_engine ENGINE_get_pkey_asn1_meth_eng -#undef ENGINE_set_load_ssl_client_cert_function -#define ENGINE_set_load_ssl_client_cert_function \ - ENGINE_set_ld_ssl_clnt_cert_fn -#undef ENGINE_get_ssl_client_cert_function -#define ENGINE_get_ssl_client_cert_function ENGINE_get_ssl_client_cert_fn - -/* Hack some long OCSP names */ -#undef OCSP_REQUEST_get_ext_by_critical -#define OCSP_REQUEST_get_ext_by_critical OCSP_REQUEST_get_ext_by_crit -#undef OCSP_BASICRESP_get_ext_by_critical -#define OCSP_BASICRESP_get_ext_by_critical OCSP_BASICRESP_get_ext_by_crit -#undef OCSP_SINGLERESP_get_ext_by_critical -#define OCSP_SINGLERESP_get_ext_by_critical OCSP_SINGLERESP_get_ext_by_crit - -/* Hack some long DES names */ -#undef _ossl_old_des_ede3_cfb64_encrypt -#define _ossl_old_des_ede3_cfb64_encrypt _ossl_odes_ede3_cfb64_encrypt -#undef _ossl_old_des_ede3_ofb64_encrypt -#define _ossl_old_des_ede3_ofb64_encrypt _ossl_odes_ede3_ofb64_encrypt - -/* Hack some long EVP names */ -#undef OPENSSL_add_all_algorithms_noconf -#define OPENSSL_add_all_algorithms_noconf OPENSSL_add_all_algo_noconf -#undef OPENSSL_add_all_algorithms_conf -#define OPENSSL_add_all_algorithms_conf OPENSSL_add_all_algo_conf -#undef EVP_PKEY_meth_set_verify_recover -#define EVP_PKEY_meth_set_verify_recover EVP_PKEY_meth_set_vrfy_recover - -/* Hack some long EC names */ -#undef EC_GROUP_set_point_conversion_form -#define EC_GROUP_set_point_conversion_form EC_GROUP_set_point_conv_form -#undef EC_GROUP_get_point_conversion_form -#define EC_GROUP_get_point_conversion_form EC_GROUP_get_point_conv_form -#undef EC_GROUP_clear_free_all_extra_data -#define EC_GROUP_clear_free_all_extra_data EC_GROUP_clr_free_all_xtra_data -#undef EC_KEY_set_public_key_affine_coordinates -#define EC_KEY_set_public_key_affine_coordinates \ - EC_KEY_set_pub_key_aff_coords -#undef EC_POINT_set_Jprojective_coordinates_GFp -#define EC_POINT_set_Jprojective_coordinates_GFp \ - EC_POINT_set_Jproj_coords_GFp -#undef EC_POINT_get_Jprojective_coordinates_GFp -#define EC_POINT_get_Jprojective_coordinates_GFp \ - EC_POINT_get_Jproj_coords_GFp -#undef EC_POINT_set_affine_coordinates_GFp -#define EC_POINT_set_affine_coordinates_GFp EC_POINT_set_affine_coords_GFp -#undef EC_POINT_get_affine_coordinates_GFp -#define EC_POINT_get_affine_coordinates_GFp EC_POINT_get_affine_coords_GFp -#undef EC_POINT_set_compressed_coordinates_GFp -#define EC_POINT_set_compressed_coordinates_GFp EC_POINT_set_compr_coords_GFp -#undef EC_POINT_set_affine_coordinates_GF2m -#define EC_POINT_set_affine_coordinates_GF2m EC_POINT_set_affine_coords_GF2m -#undef EC_POINT_get_affine_coordinates_GF2m -#define EC_POINT_get_affine_coordinates_GF2m EC_POINT_get_affine_coords_GF2m -#undef EC_POINT_set_compressed_coordinates_GF2m -#define EC_POINT_set_compressed_coordinates_GF2m \ - EC_POINT_set_compr_coords_GF2m -#undef ec_GF2m_simple_group_clear_finish -#define ec_GF2m_simple_group_clear_finish ec_GF2m_simple_grp_clr_finish -#undef ec_GF2m_simple_group_check_discriminant -#define ec_GF2m_simple_group_check_discriminant ec_GF2m_simple_grp_chk_discrim -#undef ec_GF2m_simple_point_clear_finish -#define ec_GF2m_simple_point_clear_finish ec_GF2m_simple_pt_clr_finish -#undef ec_GF2m_simple_point_set_to_infinity -#define ec_GF2m_simple_point_set_to_infinity ec_GF2m_simple_pt_set_to_inf -#undef ec_GF2m_simple_points_make_affine -#define ec_GF2m_simple_points_make_affine ec_GF2m_simple_pts_make_affine -#undef ec_GF2m_simple_point_set_affine_coordinates -#define ec_GF2m_simple_point_set_affine_coordinates \ - ec_GF2m_smp_pt_set_af_coords -#undef ec_GF2m_simple_point_get_affine_coordinates -#define ec_GF2m_simple_point_get_affine_coordinates \ - ec_GF2m_smp_pt_get_af_coords -#undef ec_GF2m_simple_set_compressed_coordinates -#define ec_GF2m_simple_set_compressed_coordinates \ - ec_GF2m_smp_set_compr_coords -#undef ec_GFp_simple_group_set_curve_GFp -#define ec_GFp_simple_group_set_curve_GFp ec_GFp_simple_grp_set_curve_GFp -#undef ec_GFp_simple_group_get_curve_GFp -#define ec_GFp_simple_group_get_curve_GFp ec_GFp_simple_grp_get_curve_GFp -#undef ec_GFp_simple_group_clear_finish -#define ec_GFp_simple_group_clear_finish ec_GFp_simple_grp_clear_finish -#undef ec_GFp_simple_group_set_generator -#define ec_GFp_simple_group_set_generator ec_GFp_simple_grp_set_generator -#undef ec_GFp_simple_group_get0_generator -#define ec_GFp_simple_group_get0_generator ec_GFp_simple_grp_gt0_generator -#undef ec_GFp_simple_group_get_cofactor -#define ec_GFp_simple_group_get_cofactor ec_GFp_simple_grp_get_cofactor -#undef ec_GFp_simple_point_clear_finish -#define ec_GFp_simple_point_clear_finish ec_GFp_simple_pt_clear_finish -#undef ec_GFp_simple_point_set_to_infinity -#define ec_GFp_simple_point_set_to_infinity ec_GFp_simple_pt_set_to_inf -#undef ec_GFp_simple_points_make_affine -#define ec_GFp_simple_points_make_affine ec_GFp_simple_pts_make_affine -#undef ec_GFp_simple_set_Jprojective_coordinates_GFp -#define ec_GFp_simple_set_Jprojective_coordinates_GFp \ - ec_GFp_smp_set_Jproj_coords_GFp -#undef ec_GFp_simple_get_Jprojective_coordinates_GFp -#define ec_GFp_simple_get_Jprojective_coordinates_GFp \ - ec_GFp_smp_get_Jproj_coords_GFp -#undef ec_GFp_simple_point_set_affine_coordinates_GFp -#define ec_GFp_simple_point_set_affine_coordinates_GFp \ - ec_GFp_smp_pt_set_af_coords_GFp -#undef ec_GFp_simple_point_get_affine_coordinates_GFp -#define ec_GFp_simple_point_get_affine_coordinates_GFp \ - ec_GFp_smp_pt_get_af_coords_GFp -#undef ec_GFp_simple_set_compressed_coordinates_GFp -#define ec_GFp_simple_set_compressed_coordinates_GFp \ - ec_GFp_smp_set_compr_coords_GFp -#undef ec_GFp_simple_point_set_affine_coordinates -#define ec_GFp_simple_point_set_affine_coordinates \ - ec_GFp_smp_pt_set_af_coords -#undef ec_GFp_simple_point_get_affine_coordinates -#define ec_GFp_simple_point_get_affine_coordinates \ - ec_GFp_smp_pt_get_af_coords -#undef ec_GFp_simple_set_compressed_coordinates -#define ec_GFp_simple_set_compressed_coordinates \ - ec_GFp_smp_set_compr_coords -#undef ec_GFp_simple_group_check_discriminant -#define ec_GFp_simple_group_check_discriminant ec_GFp_simple_grp_chk_discrim - -/* Hack som long STORE names */ -#undef STORE_method_set_initialise_function -#define STORE_method_set_initialise_function STORE_meth_set_initialise_fn -#undef STORE_method_set_cleanup_function -#define STORE_method_set_cleanup_function STORE_meth_set_cleanup_fn -#undef STORE_method_set_generate_function -#define STORE_method_set_generate_function STORE_meth_set_generate_fn -#undef STORE_method_set_modify_function -#define STORE_method_set_modify_function STORE_meth_set_modify_fn -#undef STORE_method_set_revoke_function -#define STORE_method_set_revoke_function STORE_meth_set_revoke_fn -#undef STORE_method_set_delete_function -#define STORE_method_set_delete_function STORE_meth_set_delete_fn -#undef STORE_method_set_list_start_function -#define STORE_method_set_list_start_function STORE_meth_set_list_start_fn -#undef STORE_method_set_list_next_function -#define STORE_method_set_list_next_function STORE_meth_set_list_next_fn -#undef STORE_method_set_list_end_function -#define STORE_method_set_list_end_function STORE_meth_set_list_end_fn -#undef STORE_method_set_update_store_function -#define STORE_method_set_update_store_function STORE_meth_set_update_store_fn -#undef STORE_method_set_lock_store_function -#define STORE_method_set_lock_store_function STORE_meth_set_lock_store_fn -#undef STORE_method_set_unlock_store_function -#define STORE_method_set_unlock_store_function STORE_meth_set_unlock_store_fn -#undef STORE_method_get_initialise_function -#define STORE_method_get_initialise_function STORE_meth_get_initialise_fn -#undef STORE_method_get_cleanup_function -#define STORE_method_get_cleanup_function STORE_meth_get_cleanup_fn -#undef STORE_method_get_generate_function -#define STORE_method_get_generate_function STORE_meth_get_generate_fn -#undef STORE_method_get_modify_function -#define STORE_method_get_modify_function STORE_meth_get_modify_fn -#undef STORE_method_get_revoke_function -#define STORE_method_get_revoke_function STORE_meth_get_revoke_fn -#undef STORE_method_get_delete_function -#define STORE_method_get_delete_function STORE_meth_get_delete_fn -#undef STORE_method_get_list_start_function -#define STORE_method_get_list_start_function STORE_meth_get_list_start_fn -#undef STORE_method_get_list_next_function -#define STORE_method_get_list_next_function STORE_meth_get_list_next_fn -#undef STORE_method_get_list_end_function -#define STORE_method_get_list_end_function STORE_meth_get_list_end_fn -#undef STORE_method_get_update_store_function -#define STORE_method_get_update_store_function STORE_meth_get_update_store_fn -#undef STORE_method_get_lock_store_function -#define STORE_method_get_lock_store_function STORE_meth_get_lock_store_fn -#undef STORE_method_get_unlock_store_function -#define STORE_method_get_unlock_store_function STORE_meth_get_unlock_store_fn - -/* Hack some long TS names */ -#undef TS_RESP_CTX_set_status_info_cond -#define TS_RESP_CTX_set_status_info_cond TS_RESP_CTX_set_stat_info_cond -#undef TS_RESP_CTX_set_clock_precision_digits -#define TS_RESP_CTX_set_clock_precision_digits TS_RESP_CTX_set_clk_prec_digits -#undef TS_CONF_set_clock_precision_digits -#define TS_CONF_set_clock_precision_digits TS_CONF_set_clk_prec_digits - -/* Hack some long CMS names */ -#undef CMS_RecipientInfo_ktri_get0_algs -#define CMS_RecipientInfo_ktri_get0_algs CMS_RecipInfo_ktri_get0_algs -#undef CMS_RecipientInfo_ktri_get0_signer_id -#define CMS_RecipientInfo_ktri_get0_signer_id CMS_RecipInfo_ktri_get0_sigr_id -#undef CMS_OtherRevocationInfoFormat_it -#define CMS_OtherRevocationInfoFormat_it CMS_OtherRevocInfoFormat_it -#undef CMS_KeyAgreeRecipientIdentifier_it -#define CMS_KeyAgreeRecipientIdentifier_it CMS_KeyAgreeRecipIdentifier_it -#undef CMS_OriginatorIdentifierOrKey_it -#define CMS_OriginatorIdentifierOrKey_it CMS_OriginatorIdOrKey_it -#undef cms_SignerIdentifier_get0_signer_id -#define cms_SignerIdentifier_get0_signer_id cms_SignerId_get0_signer_id - -/* Hack some long DTLS1 names */ -#undef dtls1_retransmit_buffered_messages -#define dtls1_retransmit_buffered_messages dtls1_retransmit_buffered_msgs - -/* Hack some long SRP names */ -#undef SRP_generate_server_master_secret -#define SRP_generate_server_master_secret SRP_gen_server_master_secret -#undef SRP_generate_client_master_secret -#define SRP_generate_client_master_secret SRP_gen_client_master_secret - -/* Hack some long UI names */ -#undef UI_method_get_prompt_constructor -#define UI_method_get_prompt_constructor UI_method_get_prompt_constructr -#undef UI_method_set_prompt_constructor -#define UI_method_set_prompt_constructor UI_method_set_prompt_constructr - -#endif /* defined OPENSSL_SYS_VMS */ - - -/* Case insensitive linking causes problems.... */ -#if defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2) -#undef ERR_load_CRYPTO_strings -#define ERR_load_CRYPTO_strings ERR_load_CRYPTOlib_strings -#undef OCSP_crlID_new -#define OCSP_crlID_new OCSP_crlID2_new - -#undef d2i_ECPARAMETERS -#define d2i_ECPARAMETERS d2i_UC_ECPARAMETERS -#undef i2d_ECPARAMETERS -#define i2d_ECPARAMETERS i2d_UC_ECPARAMETERS -#undef d2i_ECPKPARAMETERS -#define d2i_ECPKPARAMETERS d2i_UC_ECPKPARAMETERS -#undef i2d_ECPKPARAMETERS -#define i2d_ECPKPARAMETERS i2d_UC_ECPKPARAMETERS - -/* These functions do not seem to exist! However, I'm paranoid... - Original command in x509v3.h: - These functions are being redefined in another directory, - and clash when the linker is case-insensitive, so let's - hide them a little, by giving them an extra 'o' at the - beginning of the name... */ -#undef X509v3_cleanup_extensions -#define X509v3_cleanup_extensions oX509v3_cleanup_extensions -#undef X509v3_add_extension -#define X509v3_add_extension oX509v3_add_extension -#undef X509v3_add_netscape_extensions -#define X509v3_add_netscape_extensions oX509v3_add_netscape_extensions -#undef X509v3_add_standard_extensions -#define X509v3_add_standard_extensions oX509v3_add_standard_extensions - -/* This one clashes with CMS_data_create */ -#undef cms_Data_create -#define cms_Data_create priv_cms_Data_create - -#endif - - -#endif /* ! defined HEADER_VMS_IDHACKS_H */ diff --git a/ext/bin/libcrypto/include/openssl/tls1.h b/ext/bin/libcrypto/include/openssl/tls1.h deleted file mode 100644 index c39c267f0..000000000 --- a/ext/bin/libcrypto/include/openssl/tls1.h +++ /dev/null @@ -1,735 +0,0 @@ -/* ssl/tls1.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * - * Portions of the attached software ("Contribution") are developed by - * SUN MICROSYSTEMS, INC., and are contributed to the OpenSSL project. - * - * The Contribution is licensed pursuant to the OpenSSL open source - * license provided above. - * - * ECC cipher suite support in OpenSSL originally written by - * Vipul Gupta and Sumit Gupta of Sun Microsystems Laboratories. - * - */ -/* ==================================================================== - * Copyright 2005 Nokia. All rights reserved. - * - * The portions of the attached software ("Contribution") is developed by - * Nokia Corporation and is licensed pursuant to the OpenSSL open source - * license. - * - * The Contribution, originally written by Mika Kousa and Pasi Eronen of - * Nokia Corporation, consists of the "PSK" (Pre-Shared Key) ciphersuites - * support (see RFC 4279) to OpenSSL. - * - * No patent licenses or other rights except those expressly stated in - * the OpenSSL open source license shall be deemed granted or received - * expressly, by implication, estoppel, or otherwise. - * - * No assurances are provided by Nokia that the Contribution does not - * infringe the patent or other intellectual property rights of any third - * party or that the license provides you with all the necessary rights - * to make use of the Contribution. - * - * THE SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. IN - * ADDITION TO THE DISCLAIMERS INCLUDED IN THE LICENSE, NOKIA - * SPECIFICALLY DISCLAIMS ANY LIABILITY FOR CLAIMS BROUGHT BY YOU OR ANY - * OTHER ENTITY BASED ON INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS OR - * OTHERWISE. - */ - -#ifndef HEADER_TLS1_H -#define HEADER_TLS1_H - -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0 - -#define TLS1_2_VERSION 0x0303 -#define TLS1_2_VERSION_MAJOR 0x03 -#define TLS1_2_VERSION_MINOR 0x03 - -#define TLS1_1_VERSION 0x0302 -#define TLS1_1_VERSION_MAJOR 0x03 -#define TLS1_1_VERSION_MINOR 0x02 - -#define TLS1_VERSION 0x0301 -#define TLS1_VERSION_MAJOR 0x03 -#define TLS1_VERSION_MINOR 0x01 - -#define TLS1_get_version(s) \ - ((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0) - -#define TLS1_get_client_version(s) \ - ((s->client_version >> 8) == TLS1_VERSION_MAJOR ? s->client_version : 0) - -#define TLS1_AD_DECRYPTION_FAILED 21 -#define TLS1_AD_RECORD_OVERFLOW 22 -#define TLS1_AD_UNKNOWN_CA 48 /* fatal */ -#define TLS1_AD_ACCESS_DENIED 49 /* fatal */ -#define TLS1_AD_DECODE_ERROR 50 /* fatal */ -#define TLS1_AD_DECRYPT_ERROR 51 -#define TLS1_AD_EXPORT_RESTRICTION 60 /* fatal */ -#define TLS1_AD_PROTOCOL_VERSION 70 /* fatal */ -#define TLS1_AD_INSUFFICIENT_SECURITY 71 /* fatal */ -#define TLS1_AD_INTERNAL_ERROR 80 /* fatal */ -#define TLS1_AD_USER_CANCELLED 90 -#define TLS1_AD_NO_RENEGOTIATION 100 -/* codes 110-114 are from RFC3546 */ -#define TLS1_AD_UNSUPPORTED_EXTENSION 110 -#define TLS1_AD_CERTIFICATE_UNOBTAINABLE 111 -#define TLS1_AD_UNRECOGNIZED_NAME 112 -#define TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE 113 -#define TLS1_AD_BAD_CERTIFICATE_HASH_VALUE 114 -#define TLS1_AD_UNKNOWN_PSK_IDENTITY 115 /* fatal */ - -/* ExtensionType values from RFC3546 / RFC4366 / RFC6066 */ -#define TLSEXT_TYPE_server_name 0 -#define TLSEXT_TYPE_max_fragment_length 1 -#define TLSEXT_TYPE_client_certificate_url 2 -#define TLSEXT_TYPE_trusted_ca_keys 3 -#define TLSEXT_TYPE_truncated_hmac 4 -#define TLSEXT_TYPE_status_request 5 -/* ExtensionType values from RFC4681 */ -#define TLSEXT_TYPE_user_mapping 6 - -/* ExtensionType values from RFC5878 */ -#define TLSEXT_TYPE_client_authz 7 -#define TLSEXT_TYPE_server_authz 8 - -/* ExtensionType values from RFC6091 */ -#define TLSEXT_TYPE_cert_type 9 - -/* ExtensionType values from RFC4492 */ -#define TLSEXT_TYPE_elliptic_curves 10 -#define TLSEXT_TYPE_ec_point_formats 11 - -/* ExtensionType value from RFC5054 */ -#define TLSEXT_TYPE_srp 12 - -/* ExtensionType values from RFC5246 */ -#define TLSEXT_TYPE_signature_algorithms 13 - -/* ExtensionType value from RFC5764 */ -#define TLSEXT_TYPE_use_srtp 14 - -/* ExtensionType value from RFC5620 */ -#define TLSEXT_TYPE_heartbeat 15 - -/* ExtensionType value from RFC4507 */ -#define TLSEXT_TYPE_session_ticket 35 - -/* ExtensionType value from draft-rescorla-tls-opaque-prf-input-00.txt */ -#if 0 /* will have to be provided externally for now , - * i.e. build with -DTLSEXT_TYPE_opaque_prf_input=38183 - * using whatever extension number you'd like to try */ -# define TLSEXT_TYPE_opaque_prf_input ?? */ -#endif - -/* Temporary extension type */ -#define TLSEXT_TYPE_renegotiate 0xff01 - -#ifndef OPENSSL_NO_NEXTPROTONEG -/* This is not an IANA defined extension number */ -#define TLSEXT_TYPE_next_proto_neg 13172 -#endif - -/* NameType value from RFC 3546 */ -#define TLSEXT_NAMETYPE_host_name 0 -/* status request value from RFC 3546 */ -#define TLSEXT_STATUSTYPE_ocsp 1 - -/* ECPointFormat values from draft-ietf-tls-ecc-12 */ -#define TLSEXT_ECPOINTFORMAT_first 0 -#define TLSEXT_ECPOINTFORMAT_uncompressed 0 -#define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_prime 1 -#define TLSEXT_ECPOINTFORMAT_ansiX962_compressed_char2 2 -#define TLSEXT_ECPOINTFORMAT_last 2 - -/* Signature and hash algorithms from RFC 5246 */ - -#define TLSEXT_signature_anonymous 0 -#define TLSEXT_signature_rsa 1 -#define TLSEXT_signature_dsa 2 -#define TLSEXT_signature_ecdsa 3 - -#define TLSEXT_hash_none 0 -#define TLSEXT_hash_md5 1 -#define TLSEXT_hash_sha1 2 -#define TLSEXT_hash_sha224 3 -#define TLSEXT_hash_sha256 4 -#define TLSEXT_hash_sha384 5 -#define TLSEXT_hash_sha512 6 - -#ifndef OPENSSL_NO_TLSEXT - -#define TLSEXT_MAXLEN_host_name 255 - -const char *SSL_get_servername(const SSL *s, const int type); -int SSL_get_servername_type(const SSL *s); -/* SSL_export_keying_material exports a value derived from the master secret, - * as specified in RFC 5705. It writes |olen| bytes to |out| given a label and - * optional context. (Since a zero length context is allowed, the |use_context| - * flag controls whether a context is included.) - * - * It returns 1 on success and zero otherwise. - */ -int SSL_export_keying_material(SSL *s, unsigned char *out, size_t olen, - const char *label, size_t llen, const unsigned char *p, size_t plen, - int use_context); - -#define SSL_set_tlsext_host_name(s,name) \ -SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_HOSTNAME,TLSEXT_NAMETYPE_host_name,(char *)name) - -#define SSL_set_tlsext_debug_callback(ssl, cb) \ -SSL_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_CB,(void (*)(void))cb) - -#define SSL_set_tlsext_debug_arg(ssl, arg) \ -SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_DEBUG_ARG,0, (void *)arg) - -#define SSL_set_tlsext_status_type(ssl, type) \ -SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_TYPE,type, NULL) - -#define SSL_get_tlsext_status_exts(ssl, arg) \ -SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) - -#define SSL_set_tlsext_status_exts(ssl, arg) \ -SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_EXTS,0, (void *)arg) - -#define SSL_get_tlsext_status_ids(ssl, arg) \ -SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) - -#define SSL_set_tlsext_status_ids(ssl, arg) \ -SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_IDS,0, (void *)arg) - -#define SSL_get_tlsext_status_ocsp_resp(ssl, arg) \ -SSL_ctrl(ssl,SSL_CTRL_GET_TLSEXT_STATUS_REQ_OCSP_RESP,0, (void *)arg) - -#define SSL_set_tlsext_status_ocsp_resp(ssl, arg, arglen) \ -SSL_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_OCSP_RESP,arglen, (void *)arg) - -#define SSL_CTX_set_tlsext_servername_callback(ctx, cb) \ -SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_CB,(void (*)(void))cb) - -#define SSL_TLSEXT_ERR_OK 0 -#define SSL_TLSEXT_ERR_ALERT_WARNING 1 -#define SSL_TLSEXT_ERR_ALERT_FATAL 2 -#define SSL_TLSEXT_ERR_NOACK 3 - -#define SSL_CTX_set_tlsext_servername_arg(ctx, arg) \ -SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_SERVERNAME_ARG,0, (void *)arg) - -#define SSL_CTX_get_tlsext_ticket_keys(ctx, keys, keylen) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_GET_TLSEXT_TICKET_KEYS,(keylen),(keys)) -#define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \ - SSL_CTX_ctrl((ctx),SSL_CTRL_SET_TLSEXT_TICKET_KEYS,(keylen),(keys)) - -#define SSL_CTX_set_tlsext_status_cb(ssl, cb) \ -SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB,(void (*)(void))cb) - -#define SSL_CTX_set_tlsext_status_arg(ssl, arg) \ -SSL_CTX_ctrl(ssl,SSL_CTRL_SET_TLSEXT_STATUS_REQ_CB_ARG,0, (void *)arg) - -#define SSL_set_tlsext_opaque_prf_input(s, src, len) \ -SSL_ctrl(s,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT, len, src) -#define SSL_CTX_set_tlsext_opaque_prf_input_callback(ctx, cb) \ -SSL_CTX_callback_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB, (void (*)(void))cb) -#define SSL_CTX_set_tlsext_opaque_prf_input_callback_arg(ctx, arg) \ -SSL_CTX_ctrl(ctx,SSL_CTRL_SET_TLSEXT_OPAQUE_PRF_INPUT_CB_ARG, 0, arg) - -#define SSL_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ -SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) - -#ifndef OPENSSL_NO_HEARTBEATS -#define SSL_TLSEXT_HB_ENABLED 0x01 -#define SSL_TLSEXT_HB_DONT_SEND_REQUESTS 0x02 -#define SSL_TLSEXT_HB_DONT_RECV_REQUESTS 0x04 - -#define SSL_get_tlsext_heartbeat_pending(ssl) \ - SSL_ctrl((ssl),SSL_CTRL_GET_TLS_EXT_HEARTBEAT_PENDING,0,NULL) -#define SSL_set_tlsext_heartbeat_no_requests(ssl, arg) \ - SSL_ctrl((ssl),SSL_CTRL_SET_TLS_EXT_HEARTBEAT_NO_REQUESTS,arg,NULL) -#endif -#endif - -/* PSK ciphersuites from 4279 */ -#define TLS1_CK_PSK_WITH_RC4_128_SHA 0x0300008A -#define TLS1_CK_PSK_WITH_3DES_EDE_CBC_SHA 0x0300008B -#define TLS1_CK_PSK_WITH_AES_128_CBC_SHA 0x0300008C -#define TLS1_CK_PSK_WITH_AES_256_CBC_SHA 0x0300008D - -/* Additional TLS ciphersuites from expired Internet Draft - * draft-ietf-tls-56-bit-ciphersuites-01.txt - * (available if TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES is defined, see - * s3_lib.c). We actually treat them like SSL 3.0 ciphers, which we probably - * shouldn't. Note that the first two are actually not in the IDs. */ -#define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5 0x03000060 /* not in ID */ -#define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 0x03000061 /* not in ID */ -#define TLS1_CK_RSA_EXPORT1024_WITH_DES_CBC_SHA 0x03000062 -#define TLS1_CK_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA 0x03000063 -#define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_SHA 0x03000064 -#define TLS1_CK_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA 0x03000065 -#define TLS1_CK_DHE_DSS_WITH_RC4_128_SHA 0x03000066 - -/* AES ciphersuites from RFC3268 */ - -#define TLS1_CK_RSA_WITH_AES_128_SHA 0x0300002F -#define TLS1_CK_DH_DSS_WITH_AES_128_SHA 0x03000030 -#define TLS1_CK_DH_RSA_WITH_AES_128_SHA 0x03000031 -#define TLS1_CK_DHE_DSS_WITH_AES_128_SHA 0x03000032 -#define TLS1_CK_DHE_RSA_WITH_AES_128_SHA 0x03000033 -#define TLS1_CK_ADH_WITH_AES_128_SHA 0x03000034 - -#define TLS1_CK_RSA_WITH_AES_256_SHA 0x03000035 -#define TLS1_CK_DH_DSS_WITH_AES_256_SHA 0x03000036 -#define TLS1_CK_DH_RSA_WITH_AES_256_SHA 0x03000037 -#define TLS1_CK_DHE_DSS_WITH_AES_256_SHA 0x03000038 -#define TLS1_CK_DHE_RSA_WITH_AES_256_SHA 0x03000039 -#define TLS1_CK_ADH_WITH_AES_256_SHA 0x0300003A - -/* TLS v1.2 ciphersuites */ -#define TLS1_CK_RSA_WITH_NULL_SHA256 0x0300003B -#define TLS1_CK_RSA_WITH_AES_128_SHA256 0x0300003C -#define TLS1_CK_RSA_WITH_AES_256_SHA256 0x0300003D -#define TLS1_CK_DH_DSS_WITH_AES_128_SHA256 0x0300003E -#define TLS1_CK_DH_RSA_WITH_AES_128_SHA256 0x0300003F -#define TLS1_CK_DHE_DSS_WITH_AES_128_SHA256 0x03000040 - -/* Camellia ciphersuites from RFC4132 */ -#define TLS1_CK_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000041 -#define TLS1_CK_DH_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000042 -#define TLS1_CK_DH_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000043 -#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA 0x03000044 -#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA 0x03000045 -#define TLS1_CK_ADH_WITH_CAMELLIA_128_CBC_SHA 0x03000046 - -/* TLS v1.2 ciphersuites */ -#define TLS1_CK_DHE_RSA_WITH_AES_128_SHA256 0x03000067 -#define TLS1_CK_DH_DSS_WITH_AES_256_SHA256 0x03000068 -#define TLS1_CK_DH_RSA_WITH_AES_256_SHA256 0x03000069 -#define TLS1_CK_DHE_DSS_WITH_AES_256_SHA256 0x0300006A -#define TLS1_CK_DHE_RSA_WITH_AES_256_SHA256 0x0300006B -#define TLS1_CK_ADH_WITH_AES_128_SHA256 0x0300006C -#define TLS1_CK_ADH_WITH_AES_256_SHA256 0x0300006D - -/* Camellia ciphersuites from RFC4132 */ -#define TLS1_CK_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000084 -#define TLS1_CK_DH_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000085 -#define TLS1_CK_DH_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000086 -#define TLS1_CK_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA 0x03000087 -#define TLS1_CK_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA 0x03000088 -#define TLS1_CK_ADH_WITH_CAMELLIA_256_CBC_SHA 0x03000089 - -/* SEED ciphersuites from RFC4162 */ -#define TLS1_CK_RSA_WITH_SEED_SHA 0x03000096 -#define TLS1_CK_DH_DSS_WITH_SEED_SHA 0x03000097 -#define TLS1_CK_DH_RSA_WITH_SEED_SHA 0x03000098 -#define TLS1_CK_DHE_DSS_WITH_SEED_SHA 0x03000099 -#define TLS1_CK_DHE_RSA_WITH_SEED_SHA 0x0300009A -#define TLS1_CK_ADH_WITH_SEED_SHA 0x0300009B - -/* TLS v1.2 GCM ciphersuites from RFC5288 */ -#define TLS1_CK_RSA_WITH_AES_128_GCM_SHA256 0x0300009C -#define TLS1_CK_RSA_WITH_AES_256_GCM_SHA384 0x0300009D -#define TLS1_CK_DHE_RSA_WITH_AES_128_GCM_SHA256 0x0300009E -#define TLS1_CK_DHE_RSA_WITH_AES_256_GCM_SHA384 0x0300009F -#define TLS1_CK_DH_RSA_WITH_AES_128_GCM_SHA256 0x030000A0 -#define TLS1_CK_DH_RSA_WITH_AES_256_GCM_SHA384 0x030000A1 -#define TLS1_CK_DHE_DSS_WITH_AES_128_GCM_SHA256 0x030000A2 -#define TLS1_CK_DHE_DSS_WITH_AES_256_GCM_SHA384 0x030000A3 -#define TLS1_CK_DH_DSS_WITH_AES_128_GCM_SHA256 0x030000A4 -#define TLS1_CK_DH_DSS_WITH_AES_256_GCM_SHA384 0x030000A5 -#define TLS1_CK_ADH_WITH_AES_128_GCM_SHA256 0x030000A6 -#define TLS1_CK_ADH_WITH_AES_256_GCM_SHA384 0x030000A7 - -/* ECC ciphersuites from draft-ietf-tls-ecc-12.txt with changes soon to be in draft 13 */ -#define TLS1_CK_ECDH_ECDSA_WITH_NULL_SHA 0x0300C001 -#define TLS1_CK_ECDH_ECDSA_WITH_RC4_128_SHA 0x0300C002 -#define TLS1_CK_ECDH_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C003 -#define TLS1_CK_ECDH_ECDSA_WITH_AES_128_CBC_SHA 0x0300C004 -#define TLS1_CK_ECDH_ECDSA_WITH_AES_256_CBC_SHA 0x0300C005 - -#define TLS1_CK_ECDHE_ECDSA_WITH_NULL_SHA 0x0300C006 -#define TLS1_CK_ECDHE_ECDSA_WITH_RC4_128_SHA 0x0300C007 -#define TLS1_CK_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA 0x0300C008 -#define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_CBC_SHA 0x0300C009 -#define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_CBC_SHA 0x0300C00A - -#define TLS1_CK_ECDH_RSA_WITH_NULL_SHA 0x0300C00B -#define TLS1_CK_ECDH_RSA_WITH_RC4_128_SHA 0x0300C00C -#define TLS1_CK_ECDH_RSA_WITH_DES_192_CBC3_SHA 0x0300C00D -#define TLS1_CK_ECDH_RSA_WITH_AES_128_CBC_SHA 0x0300C00E -#define TLS1_CK_ECDH_RSA_WITH_AES_256_CBC_SHA 0x0300C00F - -#define TLS1_CK_ECDHE_RSA_WITH_NULL_SHA 0x0300C010 -#define TLS1_CK_ECDHE_RSA_WITH_RC4_128_SHA 0x0300C011 -#define TLS1_CK_ECDHE_RSA_WITH_DES_192_CBC3_SHA 0x0300C012 -#define TLS1_CK_ECDHE_RSA_WITH_AES_128_CBC_SHA 0x0300C013 -#define TLS1_CK_ECDHE_RSA_WITH_AES_256_CBC_SHA 0x0300C014 - -#define TLS1_CK_ECDH_anon_WITH_NULL_SHA 0x0300C015 -#define TLS1_CK_ECDH_anon_WITH_RC4_128_SHA 0x0300C016 -#define TLS1_CK_ECDH_anon_WITH_DES_192_CBC3_SHA 0x0300C017 -#define TLS1_CK_ECDH_anon_WITH_AES_128_CBC_SHA 0x0300C018 -#define TLS1_CK_ECDH_anon_WITH_AES_256_CBC_SHA 0x0300C019 - -/* SRP ciphersuites from RFC 5054 */ -#define TLS1_CK_SRP_SHA_WITH_3DES_EDE_CBC_SHA 0x0300C01A -#define TLS1_CK_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA 0x0300C01B -#define TLS1_CK_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA 0x0300C01C -#define TLS1_CK_SRP_SHA_WITH_AES_128_CBC_SHA 0x0300C01D -#define TLS1_CK_SRP_SHA_RSA_WITH_AES_128_CBC_SHA 0x0300C01E -#define TLS1_CK_SRP_SHA_DSS_WITH_AES_128_CBC_SHA 0x0300C01F -#define TLS1_CK_SRP_SHA_WITH_AES_256_CBC_SHA 0x0300C020 -#define TLS1_CK_SRP_SHA_RSA_WITH_AES_256_CBC_SHA 0x0300C021 -#define TLS1_CK_SRP_SHA_DSS_WITH_AES_256_CBC_SHA 0x0300C022 - -/* ECDH HMAC based ciphersuites from RFC5289 */ - -#define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_SHA256 0x0300C023 -#define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_SHA384 0x0300C024 -#define TLS1_CK_ECDH_ECDSA_WITH_AES_128_SHA256 0x0300C025 -#define TLS1_CK_ECDH_ECDSA_WITH_AES_256_SHA384 0x0300C026 -#define TLS1_CK_ECDHE_RSA_WITH_AES_128_SHA256 0x0300C027 -#define TLS1_CK_ECDHE_RSA_WITH_AES_256_SHA384 0x0300C028 -#define TLS1_CK_ECDH_RSA_WITH_AES_128_SHA256 0x0300C029 -#define TLS1_CK_ECDH_RSA_WITH_AES_256_SHA384 0x0300C02A - -/* ECDH GCM based ciphersuites from RFC5289 */ -#define TLS1_CK_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02B -#define TLS1_CK_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02C -#define TLS1_CK_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 0x0300C02D -#define TLS1_CK_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 0x0300C02E -#define TLS1_CK_ECDHE_RSA_WITH_AES_128_GCM_SHA256 0x0300C02F -#define TLS1_CK_ECDHE_RSA_WITH_AES_256_GCM_SHA384 0x0300C030 -#define TLS1_CK_ECDH_RSA_WITH_AES_128_GCM_SHA256 0x0300C031 -#define TLS1_CK_ECDH_RSA_WITH_AES_256_GCM_SHA384 0x0300C032 - -/* XXX - * Inconsistency alert: - * The OpenSSL names of ciphers with ephemeral DH here include the string - * "DHE", while elsewhere it has always been "EDH". - * (The alias for the list of all such ciphers also is "EDH".) - * The specifications speak of "EDH"; maybe we should allow both forms - * for everything. */ -#define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_MD5 "EXP1024-RC4-MD5" -#define TLS1_TXT_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5 "EXP1024-RC2-CBC-MD5" -#define TLS1_TXT_RSA_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DES-CBC-SHA" -#define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_DES_CBC_SHA "EXP1024-DHE-DSS-DES-CBC-SHA" -#define TLS1_TXT_RSA_EXPORT1024_WITH_RC4_56_SHA "EXP1024-RC4-SHA" -#define TLS1_TXT_DHE_DSS_EXPORT1024_WITH_RC4_56_SHA "EXP1024-DHE-DSS-RC4-SHA" -#define TLS1_TXT_DHE_DSS_WITH_RC4_128_SHA "DHE-DSS-RC4-SHA" - -/* AES ciphersuites from RFC3268 */ -#define TLS1_TXT_RSA_WITH_AES_128_SHA "AES128-SHA" -#define TLS1_TXT_DH_DSS_WITH_AES_128_SHA "DH-DSS-AES128-SHA" -#define TLS1_TXT_DH_RSA_WITH_AES_128_SHA "DH-RSA-AES128-SHA" -#define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA "DHE-DSS-AES128-SHA" -#define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA "DHE-RSA-AES128-SHA" -#define TLS1_TXT_ADH_WITH_AES_128_SHA "ADH-AES128-SHA" - -#define TLS1_TXT_RSA_WITH_AES_256_SHA "AES256-SHA" -#define TLS1_TXT_DH_DSS_WITH_AES_256_SHA "DH-DSS-AES256-SHA" -#define TLS1_TXT_DH_RSA_WITH_AES_256_SHA "DH-RSA-AES256-SHA" -#define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA "DHE-DSS-AES256-SHA" -#define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA "DHE-RSA-AES256-SHA" -#define TLS1_TXT_ADH_WITH_AES_256_SHA "ADH-AES256-SHA" - -/* ECC ciphersuites from draft-ietf-tls-ecc-01.txt (Mar 15, 2001) */ -#define TLS1_TXT_ECDH_ECDSA_WITH_NULL_SHA "ECDH-ECDSA-NULL-SHA" -#define TLS1_TXT_ECDH_ECDSA_WITH_RC4_128_SHA "ECDH-ECDSA-RC4-SHA" -#define TLS1_TXT_ECDH_ECDSA_WITH_DES_192_CBC3_SHA "ECDH-ECDSA-DES-CBC3-SHA" -#define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_CBC_SHA "ECDH-ECDSA-AES128-SHA" -#define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_CBC_SHA "ECDH-ECDSA-AES256-SHA" - -#define TLS1_TXT_ECDHE_ECDSA_WITH_NULL_SHA "ECDHE-ECDSA-NULL-SHA" -#define TLS1_TXT_ECDHE_ECDSA_WITH_RC4_128_SHA "ECDHE-ECDSA-RC4-SHA" -#define TLS1_TXT_ECDHE_ECDSA_WITH_DES_192_CBC3_SHA "ECDHE-ECDSA-DES-CBC3-SHA" -#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_CBC_SHA "ECDHE-ECDSA-AES128-SHA" -#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CBC_SHA "ECDHE-ECDSA-AES256-SHA" - -#define TLS1_TXT_ECDH_RSA_WITH_NULL_SHA "ECDH-RSA-NULL-SHA" -#define TLS1_TXT_ECDH_RSA_WITH_RC4_128_SHA "ECDH-RSA-RC4-SHA" -#define TLS1_TXT_ECDH_RSA_WITH_DES_192_CBC3_SHA "ECDH-RSA-DES-CBC3-SHA" -#define TLS1_TXT_ECDH_RSA_WITH_AES_128_CBC_SHA "ECDH-RSA-AES128-SHA" -#define TLS1_TXT_ECDH_RSA_WITH_AES_256_CBC_SHA "ECDH-RSA-AES256-SHA" - -#define TLS1_TXT_ECDHE_RSA_WITH_NULL_SHA "ECDHE-RSA-NULL-SHA" -#define TLS1_TXT_ECDHE_RSA_WITH_RC4_128_SHA "ECDHE-RSA-RC4-SHA" -#define TLS1_TXT_ECDHE_RSA_WITH_DES_192_CBC3_SHA "ECDHE-RSA-DES-CBC3-SHA" -#define TLS1_TXT_ECDHE_RSA_WITH_AES_128_CBC_SHA "ECDHE-RSA-AES128-SHA" -#define TLS1_TXT_ECDHE_RSA_WITH_AES_256_CBC_SHA "ECDHE-RSA-AES256-SHA" - -#define TLS1_TXT_ECDH_anon_WITH_NULL_SHA "AECDH-NULL-SHA" -#define TLS1_TXT_ECDH_anon_WITH_RC4_128_SHA "AECDH-RC4-SHA" -#define TLS1_TXT_ECDH_anon_WITH_DES_192_CBC3_SHA "AECDH-DES-CBC3-SHA" -#define TLS1_TXT_ECDH_anon_WITH_AES_128_CBC_SHA "AECDH-AES128-SHA" -#define TLS1_TXT_ECDH_anon_WITH_AES_256_CBC_SHA "AECDH-AES256-SHA" - -/* PSK ciphersuites from RFC 4279 */ -#define TLS1_TXT_PSK_WITH_RC4_128_SHA "PSK-RC4-SHA" -#define TLS1_TXT_PSK_WITH_3DES_EDE_CBC_SHA "PSK-3DES-EDE-CBC-SHA" -#define TLS1_TXT_PSK_WITH_AES_128_CBC_SHA "PSK-AES128-CBC-SHA" -#define TLS1_TXT_PSK_WITH_AES_256_CBC_SHA "PSK-AES256-CBC-SHA" - -/* SRP ciphersuite from RFC 5054 */ -#define TLS1_TXT_SRP_SHA_WITH_3DES_EDE_CBC_SHA "SRP-3DES-EDE-CBC-SHA" -#define TLS1_TXT_SRP_SHA_RSA_WITH_3DES_EDE_CBC_SHA "SRP-RSA-3DES-EDE-CBC-SHA" -#define TLS1_TXT_SRP_SHA_DSS_WITH_3DES_EDE_CBC_SHA "SRP-DSS-3DES-EDE-CBC-SHA" -#define TLS1_TXT_SRP_SHA_WITH_AES_128_CBC_SHA "SRP-AES-128-CBC-SHA" -#define TLS1_TXT_SRP_SHA_RSA_WITH_AES_128_CBC_SHA "SRP-RSA-AES-128-CBC-SHA" -#define TLS1_TXT_SRP_SHA_DSS_WITH_AES_128_CBC_SHA "SRP-DSS-AES-128-CBC-SHA" -#define TLS1_TXT_SRP_SHA_WITH_AES_256_CBC_SHA "SRP-AES-256-CBC-SHA" -#define TLS1_TXT_SRP_SHA_RSA_WITH_AES_256_CBC_SHA "SRP-RSA-AES-256-CBC-SHA" -#define TLS1_TXT_SRP_SHA_DSS_WITH_AES_256_CBC_SHA "SRP-DSS-AES-256-CBC-SHA" - -/* Camellia ciphersuites from RFC4132 */ -#define TLS1_TXT_RSA_WITH_CAMELLIA_128_CBC_SHA "CAMELLIA128-SHA" -#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_128_CBC_SHA "DH-DSS-CAMELLIA128-SHA" -#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_128_CBC_SHA "DH-RSA-CAMELLIA128-SHA" -#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_128_CBC_SHA "DHE-DSS-CAMELLIA128-SHA" -#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_128_CBC_SHA "DHE-RSA-CAMELLIA128-SHA" -#define TLS1_TXT_ADH_WITH_CAMELLIA_128_CBC_SHA "ADH-CAMELLIA128-SHA" - -#define TLS1_TXT_RSA_WITH_CAMELLIA_256_CBC_SHA "CAMELLIA256-SHA" -#define TLS1_TXT_DH_DSS_WITH_CAMELLIA_256_CBC_SHA "DH-DSS-CAMELLIA256-SHA" -#define TLS1_TXT_DH_RSA_WITH_CAMELLIA_256_CBC_SHA "DH-RSA-CAMELLIA256-SHA" -#define TLS1_TXT_DHE_DSS_WITH_CAMELLIA_256_CBC_SHA "DHE-DSS-CAMELLIA256-SHA" -#define TLS1_TXT_DHE_RSA_WITH_CAMELLIA_256_CBC_SHA "DHE-RSA-CAMELLIA256-SHA" -#define TLS1_TXT_ADH_WITH_CAMELLIA_256_CBC_SHA "ADH-CAMELLIA256-SHA" - -/* SEED ciphersuites from RFC4162 */ -#define TLS1_TXT_RSA_WITH_SEED_SHA "SEED-SHA" -#define TLS1_TXT_DH_DSS_WITH_SEED_SHA "DH-DSS-SEED-SHA" -#define TLS1_TXT_DH_RSA_WITH_SEED_SHA "DH-RSA-SEED-SHA" -#define TLS1_TXT_DHE_DSS_WITH_SEED_SHA "DHE-DSS-SEED-SHA" -#define TLS1_TXT_DHE_RSA_WITH_SEED_SHA "DHE-RSA-SEED-SHA" -#define TLS1_TXT_ADH_WITH_SEED_SHA "ADH-SEED-SHA" - -/* TLS v1.2 ciphersuites */ -#define TLS1_TXT_RSA_WITH_NULL_SHA256 "NULL-SHA256" -#define TLS1_TXT_RSA_WITH_AES_128_SHA256 "AES128-SHA256" -#define TLS1_TXT_RSA_WITH_AES_256_SHA256 "AES256-SHA256" -#define TLS1_TXT_DH_DSS_WITH_AES_128_SHA256 "DH-DSS-AES128-SHA256" -#define TLS1_TXT_DH_RSA_WITH_AES_128_SHA256 "DH-RSA-AES128-SHA256" -#define TLS1_TXT_DHE_DSS_WITH_AES_128_SHA256 "DHE-DSS-AES128-SHA256" -#define TLS1_TXT_DHE_RSA_WITH_AES_128_SHA256 "DHE-RSA-AES128-SHA256" -#define TLS1_TXT_DH_DSS_WITH_AES_256_SHA256 "DH-DSS-AES256-SHA256" -#define TLS1_TXT_DH_RSA_WITH_AES_256_SHA256 "DH-RSA-AES256-SHA256" -#define TLS1_TXT_DHE_DSS_WITH_AES_256_SHA256 "DHE-DSS-AES256-SHA256" -#define TLS1_TXT_DHE_RSA_WITH_AES_256_SHA256 "DHE-RSA-AES256-SHA256" -#define TLS1_TXT_ADH_WITH_AES_128_SHA256 "ADH-AES128-SHA256" -#define TLS1_TXT_ADH_WITH_AES_256_SHA256 "ADH-AES256-SHA256" - -/* TLS v1.2 GCM ciphersuites from RFC5288 */ -#define TLS1_TXT_RSA_WITH_AES_128_GCM_SHA256 "AES128-GCM-SHA256" -#define TLS1_TXT_RSA_WITH_AES_256_GCM_SHA384 "AES256-GCM-SHA384" -#define TLS1_TXT_DHE_RSA_WITH_AES_128_GCM_SHA256 "DHE-RSA-AES128-GCM-SHA256" -#define TLS1_TXT_DHE_RSA_WITH_AES_256_GCM_SHA384 "DHE-RSA-AES256-GCM-SHA384" -#define TLS1_TXT_DH_RSA_WITH_AES_128_GCM_SHA256 "DH-RSA-AES128-GCM-SHA256" -#define TLS1_TXT_DH_RSA_WITH_AES_256_GCM_SHA384 "DH-RSA-AES256-GCM-SHA384" -#define TLS1_TXT_DHE_DSS_WITH_AES_128_GCM_SHA256 "DHE-DSS-AES128-GCM-SHA256" -#define TLS1_TXT_DHE_DSS_WITH_AES_256_GCM_SHA384 "DHE-DSS-AES256-GCM-SHA384" -#define TLS1_TXT_DH_DSS_WITH_AES_128_GCM_SHA256 "DH-DSS-AES128-GCM-SHA256" -#define TLS1_TXT_DH_DSS_WITH_AES_256_GCM_SHA384 "DH-DSS-AES256-GCM-SHA384" -#define TLS1_TXT_ADH_WITH_AES_128_GCM_SHA256 "ADH-AES128-GCM-SHA256" -#define TLS1_TXT_ADH_WITH_AES_256_GCM_SHA384 "ADH-AES256-GCM-SHA384" - -/* ECDH HMAC based ciphersuites from RFC5289 */ - -#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_SHA256 "ECDHE-ECDSA-AES128-SHA256" -#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_SHA384 "ECDHE-ECDSA-AES256-SHA384" -#define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_SHA256 "ECDH-ECDSA-AES128-SHA256" -#define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_SHA384 "ECDH-ECDSA-AES256-SHA384" -#define TLS1_TXT_ECDHE_RSA_WITH_AES_128_SHA256 "ECDHE-RSA-AES128-SHA256" -#define TLS1_TXT_ECDHE_RSA_WITH_AES_256_SHA384 "ECDHE-RSA-AES256-SHA384" -#define TLS1_TXT_ECDH_RSA_WITH_AES_128_SHA256 "ECDH-RSA-AES128-SHA256" -#define TLS1_TXT_ECDH_RSA_WITH_AES_256_SHA384 "ECDH-RSA-AES256-SHA384" - -/* ECDH GCM based ciphersuites from RFC5289 */ -#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256 "ECDHE-ECDSA-AES128-GCM-SHA256" -#define TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384 "ECDHE-ECDSA-AES256-GCM-SHA384" -#define TLS1_TXT_ECDH_ECDSA_WITH_AES_128_GCM_SHA256 "ECDH-ECDSA-AES128-GCM-SHA256" -#define TLS1_TXT_ECDH_ECDSA_WITH_AES_256_GCM_SHA384 "ECDH-ECDSA-AES256-GCM-SHA384" -#define TLS1_TXT_ECDHE_RSA_WITH_AES_128_GCM_SHA256 "ECDHE-RSA-AES128-GCM-SHA256" -#define TLS1_TXT_ECDHE_RSA_WITH_AES_256_GCM_SHA384 "ECDHE-RSA-AES256-GCM-SHA384" -#define TLS1_TXT_ECDH_RSA_WITH_AES_128_GCM_SHA256 "ECDH-RSA-AES128-GCM-SHA256" -#define TLS1_TXT_ECDH_RSA_WITH_AES_256_GCM_SHA384 "ECDH-RSA-AES256-GCM-SHA384" - -#define TLS_CT_RSA_SIGN 1 -#define TLS_CT_DSS_SIGN 2 -#define TLS_CT_RSA_FIXED_DH 3 -#define TLS_CT_DSS_FIXED_DH 4 -#define TLS_CT_ECDSA_SIGN 64 -#define TLS_CT_RSA_FIXED_ECDH 65 -#define TLS_CT_ECDSA_FIXED_ECDH 66 -#define TLS_CT_GOST94_SIGN 21 -#define TLS_CT_GOST01_SIGN 22 -/* when correcting this number, correct also SSL3_CT_NUMBER in ssl3.h (see - * comment there) */ -#define TLS_CT_NUMBER 9 - -#define TLS1_FINISH_MAC_LENGTH 12 - -#define TLS_MD_MAX_CONST_SIZE 20 -#define TLS_MD_CLIENT_FINISH_CONST "client finished" -#define TLS_MD_CLIENT_FINISH_CONST_SIZE 15 -#define TLS_MD_SERVER_FINISH_CONST "server finished" -#define TLS_MD_SERVER_FINISH_CONST_SIZE 15 -#define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" -#define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 -#define TLS_MD_KEY_EXPANSION_CONST "key expansion" -#define TLS_MD_KEY_EXPANSION_CONST_SIZE 13 -#define TLS_MD_CLIENT_WRITE_KEY_CONST "client write key" -#define TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE 16 -#define TLS_MD_SERVER_WRITE_KEY_CONST "server write key" -#define TLS_MD_SERVER_WRITE_KEY_CONST_SIZE 16 -#define TLS_MD_IV_BLOCK_CONST "IV block" -#define TLS_MD_IV_BLOCK_CONST_SIZE 8 -#define TLS_MD_MASTER_SECRET_CONST "master secret" -#define TLS_MD_MASTER_SECRET_CONST_SIZE 13 - -#ifdef CHARSET_EBCDIC -#undef TLS_MD_CLIENT_FINISH_CONST -#define TLS_MD_CLIENT_FINISH_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x66\x69\x6e\x69\x73\x68\x65\x64" /*client finished*/ -#undef TLS_MD_SERVER_FINISH_CONST -#define TLS_MD_SERVER_FINISH_CONST "\x73\x65\x72\x76\x65\x72\x20\x66\x69\x6e\x69\x73\x68\x65\x64" /*server finished*/ -#undef TLS_MD_SERVER_WRITE_KEY_CONST -#define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" /*server write key*/ -#undef TLS_MD_KEY_EXPANSION_CONST -#define TLS_MD_KEY_EXPANSION_CONST "\x6b\x65\x79\x20\x65\x78\x70\x61\x6e\x73\x69\x6f\x6e" /*key expansion*/ -#undef TLS_MD_CLIENT_WRITE_KEY_CONST -#define TLS_MD_CLIENT_WRITE_KEY_CONST "\x63\x6c\x69\x65\x6e\x74\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" /*client write key*/ -#undef TLS_MD_SERVER_WRITE_KEY_CONST -#define TLS_MD_SERVER_WRITE_KEY_CONST "\x73\x65\x72\x76\x65\x72\x20\x77\x72\x69\x74\x65\x20\x6b\x65\x79" /*server write key*/ -#undef TLS_MD_IV_BLOCK_CONST -#define TLS_MD_IV_BLOCK_CONST "\x49\x56\x20\x62\x6c\x6f\x63\x6b" /*IV block*/ -#undef TLS_MD_MASTER_SECRET_CONST -#define TLS_MD_MASTER_SECRET_CONST "\x6d\x61\x73\x74\x65\x72\x20\x73\x65\x63\x72\x65\x74" /*master secret*/ -#endif - -/* TLS Session Ticket extension struct */ -struct tls_session_ticket_ext_st - { - unsigned short length; - void *data; - }; - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/ts.h b/ext/bin/libcrypto/include/openssl/ts.h deleted file mode 100644 index c2448e3c3..000000000 --- a/ext/bin/libcrypto/include/openssl/ts.h +++ /dev/null @@ -1,858 +0,0 @@ -/* crypto/ts/ts.h */ -/* Written by Zoltan Glozik (zglozik@opentsa.org) for the OpenSSL - * project 2002, 2003, 2004. - */ -/* ==================================================================== - * Copyright (c) 2006 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_TS_H -#define HEADER_TS_H - -#include -#include -#ifndef OPENSSL_NO_BUFFER -#include -#endif -#ifndef OPENSSL_NO_EVP -#include -#endif -#ifndef OPENSSL_NO_BIO -#include -#endif -#include -#include -#include - -#ifndef OPENSSL_NO_RSA -#include -#endif - -#ifndef OPENSSL_NO_DSA -#include -#endif - -#ifndef OPENSSL_NO_DH -#include -#endif - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef WIN32 -/* Under Win32 this is defined in wincrypt.h */ -#undef X509_NAME -#endif - -#include -#include - -/* -MessageImprint ::= SEQUENCE { - hashAlgorithm AlgorithmIdentifier, - hashedMessage OCTET STRING } -*/ - -typedef struct TS_msg_imprint_st - { - X509_ALGOR *hash_algo; - ASN1_OCTET_STRING *hashed_msg; - } TS_MSG_IMPRINT; - -/* -TimeStampReq ::= SEQUENCE { - version INTEGER { v1(1) }, - messageImprint MessageImprint, - --a hash algorithm OID and the hash value of the data to be - --time-stamped - reqPolicy TSAPolicyId OPTIONAL, - nonce INTEGER OPTIONAL, - certReq BOOLEAN DEFAULT FALSE, - extensions [0] IMPLICIT Extensions OPTIONAL } -*/ - -typedef struct TS_req_st - { - ASN1_INTEGER *version; - TS_MSG_IMPRINT *msg_imprint; - ASN1_OBJECT *policy_id; /* OPTIONAL */ - ASN1_INTEGER *nonce; /* OPTIONAL */ - ASN1_BOOLEAN cert_req; /* DEFAULT FALSE */ - STACK_OF(X509_EXTENSION) *extensions; /* [0] OPTIONAL */ - } TS_REQ; - -/* -Accuracy ::= SEQUENCE { - seconds INTEGER OPTIONAL, - millis [0] INTEGER (1..999) OPTIONAL, - micros [1] INTEGER (1..999) OPTIONAL } -*/ - -typedef struct TS_accuracy_st - { - ASN1_INTEGER *seconds; - ASN1_INTEGER *millis; - ASN1_INTEGER *micros; - } TS_ACCURACY; - -/* -TSTInfo ::= SEQUENCE { - version INTEGER { v1(1) }, - policy TSAPolicyId, - messageImprint MessageImprint, - -- MUST have the same value as the similar field in - -- TimeStampReq - serialNumber INTEGER, - -- Time-Stamping users MUST be ready to accommodate integers - -- up to 160 bits. - genTime GeneralizedTime, - accuracy Accuracy OPTIONAL, - ordering BOOLEAN DEFAULT FALSE, - nonce INTEGER OPTIONAL, - -- MUST be present if the similar field was present - -- in TimeStampReq. In that case it MUST have the same value. - tsa [0] GeneralName OPTIONAL, - extensions [1] IMPLICIT Extensions OPTIONAL } -*/ - -typedef struct TS_tst_info_st - { - ASN1_INTEGER *version; - ASN1_OBJECT *policy_id; - TS_MSG_IMPRINT *msg_imprint; - ASN1_INTEGER *serial; - ASN1_GENERALIZEDTIME *time; - TS_ACCURACY *accuracy; - ASN1_BOOLEAN ordering; - ASN1_INTEGER *nonce; - GENERAL_NAME *tsa; - STACK_OF(X509_EXTENSION) *extensions; - } TS_TST_INFO; - -/* -PKIStatusInfo ::= SEQUENCE { - status PKIStatus, - statusString PKIFreeText OPTIONAL, - failInfo PKIFailureInfo OPTIONAL } - -From RFC 1510 - section 3.1.1: -PKIFreeText ::= SEQUENCE SIZE (1..MAX) OF UTF8String - -- text encoded as UTF-8 String (note: each UTF8String SHOULD - -- include an RFC 1766 language tag to indicate the language - -- of the contained text) -*/ - -/* Possible values for status. See ts_resp_print.c && ts_resp_verify.c. */ - -#define TS_STATUS_GRANTED 0 -#define TS_STATUS_GRANTED_WITH_MODS 1 -#define TS_STATUS_REJECTION 2 -#define TS_STATUS_WAITING 3 -#define TS_STATUS_REVOCATION_WARNING 4 -#define TS_STATUS_REVOCATION_NOTIFICATION 5 - -/* Possible values for failure_info. See ts_resp_print.c && ts_resp_verify.c */ - -#define TS_INFO_BAD_ALG 0 -#define TS_INFO_BAD_REQUEST 2 -#define TS_INFO_BAD_DATA_FORMAT 5 -#define TS_INFO_TIME_NOT_AVAILABLE 14 -#define TS_INFO_UNACCEPTED_POLICY 15 -#define TS_INFO_UNACCEPTED_EXTENSION 16 -#define TS_INFO_ADD_INFO_NOT_AVAILABLE 17 -#define TS_INFO_SYSTEM_FAILURE 25 - -typedef struct TS_status_info_st - { - ASN1_INTEGER *status; - STACK_OF(ASN1_UTF8STRING) *text; - ASN1_BIT_STRING *failure_info; - } TS_STATUS_INFO; - -DECLARE_STACK_OF(ASN1_UTF8STRING) -DECLARE_ASN1_SET_OF(ASN1_UTF8STRING) - -/* -TimeStampResp ::= SEQUENCE { - status PKIStatusInfo, - timeStampToken TimeStampToken OPTIONAL } -*/ - -typedef struct TS_resp_st - { - TS_STATUS_INFO *status_info; - PKCS7 *token; - TS_TST_INFO *tst_info; - } TS_RESP; - -/* The structure below would belong to the ESS component. */ - -/* -IssuerSerial ::= SEQUENCE { - issuer GeneralNames, - serialNumber CertificateSerialNumber - } -*/ - -typedef struct ESS_issuer_serial - { - STACK_OF(GENERAL_NAME) *issuer; - ASN1_INTEGER *serial; - } ESS_ISSUER_SERIAL; - -/* -ESSCertID ::= SEQUENCE { - certHash Hash, - issuerSerial IssuerSerial OPTIONAL -} -*/ - -typedef struct ESS_cert_id - { - ASN1_OCTET_STRING *hash; /* Always SHA-1 digest. */ - ESS_ISSUER_SERIAL *issuer_serial; - } ESS_CERT_ID; - -DECLARE_STACK_OF(ESS_CERT_ID) -DECLARE_ASN1_SET_OF(ESS_CERT_ID) - -/* -SigningCertificate ::= SEQUENCE { - certs SEQUENCE OF ESSCertID, - policies SEQUENCE OF PolicyInformation OPTIONAL -} -*/ - -typedef struct ESS_signing_cert - { - STACK_OF(ESS_CERT_ID) *cert_ids; - STACK_OF(POLICYINFO) *policy_info; - } ESS_SIGNING_CERT; - - -TS_REQ *TS_REQ_new(void); -void TS_REQ_free(TS_REQ *a); -int i2d_TS_REQ(const TS_REQ *a, unsigned char **pp); -TS_REQ *d2i_TS_REQ(TS_REQ **a, const unsigned char **pp, long length); - -TS_REQ *TS_REQ_dup(TS_REQ *a); - -TS_REQ *d2i_TS_REQ_fp(FILE *fp, TS_REQ **a); -int i2d_TS_REQ_fp(FILE *fp, TS_REQ *a); -TS_REQ *d2i_TS_REQ_bio(BIO *fp, TS_REQ **a); -int i2d_TS_REQ_bio(BIO *fp, TS_REQ *a); - -TS_MSG_IMPRINT *TS_MSG_IMPRINT_new(void); -void TS_MSG_IMPRINT_free(TS_MSG_IMPRINT *a); -int i2d_TS_MSG_IMPRINT(const TS_MSG_IMPRINT *a, unsigned char **pp); -TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT(TS_MSG_IMPRINT **a, - const unsigned char **pp, long length); - -TS_MSG_IMPRINT *TS_MSG_IMPRINT_dup(TS_MSG_IMPRINT *a); - -TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT **a); -int i2d_TS_MSG_IMPRINT_fp(FILE *fp, TS_MSG_IMPRINT *a); -TS_MSG_IMPRINT *d2i_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT **a); -int i2d_TS_MSG_IMPRINT_bio(BIO *fp, TS_MSG_IMPRINT *a); - -TS_RESP *TS_RESP_new(void); -void TS_RESP_free(TS_RESP *a); -int i2d_TS_RESP(const TS_RESP *a, unsigned char **pp); -TS_RESP *d2i_TS_RESP(TS_RESP **a, const unsigned char **pp, long length); -TS_TST_INFO *PKCS7_to_TS_TST_INFO(PKCS7 *token); -TS_RESP *TS_RESP_dup(TS_RESP *a); - -TS_RESP *d2i_TS_RESP_fp(FILE *fp, TS_RESP **a); -int i2d_TS_RESP_fp(FILE *fp, TS_RESP *a); -TS_RESP *d2i_TS_RESP_bio(BIO *fp, TS_RESP **a); -int i2d_TS_RESP_bio(BIO *fp, TS_RESP *a); - -TS_STATUS_INFO *TS_STATUS_INFO_new(void); -void TS_STATUS_INFO_free(TS_STATUS_INFO *a); -int i2d_TS_STATUS_INFO(const TS_STATUS_INFO *a, unsigned char **pp); -TS_STATUS_INFO *d2i_TS_STATUS_INFO(TS_STATUS_INFO **a, - const unsigned char **pp, long length); -TS_STATUS_INFO *TS_STATUS_INFO_dup(TS_STATUS_INFO *a); - -TS_TST_INFO *TS_TST_INFO_new(void); -void TS_TST_INFO_free(TS_TST_INFO *a); -int i2d_TS_TST_INFO(const TS_TST_INFO *a, unsigned char **pp); -TS_TST_INFO *d2i_TS_TST_INFO(TS_TST_INFO **a, const unsigned char **pp, - long length); -TS_TST_INFO *TS_TST_INFO_dup(TS_TST_INFO *a); - -TS_TST_INFO *d2i_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO **a); -int i2d_TS_TST_INFO_fp(FILE *fp, TS_TST_INFO *a); -TS_TST_INFO *d2i_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO **a); -int i2d_TS_TST_INFO_bio(BIO *fp, TS_TST_INFO *a); - -TS_ACCURACY *TS_ACCURACY_new(void); -void TS_ACCURACY_free(TS_ACCURACY *a); -int i2d_TS_ACCURACY(const TS_ACCURACY *a, unsigned char **pp); -TS_ACCURACY *d2i_TS_ACCURACY(TS_ACCURACY **a, const unsigned char **pp, - long length); -TS_ACCURACY *TS_ACCURACY_dup(TS_ACCURACY *a); - -ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_new(void); -void ESS_ISSUER_SERIAL_free(ESS_ISSUER_SERIAL *a); -int i2d_ESS_ISSUER_SERIAL(const ESS_ISSUER_SERIAL *a, - unsigned char **pp); -ESS_ISSUER_SERIAL *d2i_ESS_ISSUER_SERIAL(ESS_ISSUER_SERIAL **a, - const unsigned char **pp, long length); -ESS_ISSUER_SERIAL *ESS_ISSUER_SERIAL_dup(ESS_ISSUER_SERIAL *a); - -ESS_CERT_ID *ESS_CERT_ID_new(void); -void ESS_CERT_ID_free(ESS_CERT_ID *a); -int i2d_ESS_CERT_ID(const ESS_CERT_ID *a, unsigned char **pp); -ESS_CERT_ID *d2i_ESS_CERT_ID(ESS_CERT_ID **a, const unsigned char **pp, - long length); -ESS_CERT_ID *ESS_CERT_ID_dup(ESS_CERT_ID *a); - -ESS_SIGNING_CERT *ESS_SIGNING_CERT_new(void); -void ESS_SIGNING_CERT_free(ESS_SIGNING_CERT *a); -int i2d_ESS_SIGNING_CERT(const ESS_SIGNING_CERT *a, - unsigned char **pp); -ESS_SIGNING_CERT *d2i_ESS_SIGNING_CERT(ESS_SIGNING_CERT **a, - const unsigned char **pp, long length); -ESS_SIGNING_CERT *ESS_SIGNING_CERT_dup(ESS_SIGNING_CERT *a); - -void ERR_load_TS_strings(void); - -int TS_REQ_set_version(TS_REQ *a, long version); -long TS_REQ_get_version(const TS_REQ *a); - -int TS_REQ_set_msg_imprint(TS_REQ *a, TS_MSG_IMPRINT *msg_imprint); -TS_MSG_IMPRINT *TS_REQ_get_msg_imprint(TS_REQ *a); - -int TS_MSG_IMPRINT_set_algo(TS_MSG_IMPRINT *a, X509_ALGOR *alg); -X509_ALGOR *TS_MSG_IMPRINT_get_algo(TS_MSG_IMPRINT *a); - -int TS_MSG_IMPRINT_set_msg(TS_MSG_IMPRINT *a, unsigned char *d, int len); -ASN1_OCTET_STRING *TS_MSG_IMPRINT_get_msg(TS_MSG_IMPRINT *a); - -int TS_REQ_set_policy_id(TS_REQ *a, ASN1_OBJECT *policy); -ASN1_OBJECT *TS_REQ_get_policy_id(TS_REQ *a); - -int TS_REQ_set_nonce(TS_REQ *a, const ASN1_INTEGER *nonce); -const ASN1_INTEGER *TS_REQ_get_nonce(const TS_REQ *a); - -int TS_REQ_set_cert_req(TS_REQ *a, int cert_req); -int TS_REQ_get_cert_req(const TS_REQ *a); - -STACK_OF(X509_EXTENSION) *TS_REQ_get_exts(TS_REQ *a); -void TS_REQ_ext_free(TS_REQ *a); -int TS_REQ_get_ext_count(TS_REQ *a); -int TS_REQ_get_ext_by_NID(TS_REQ *a, int nid, int lastpos); -int TS_REQ_get_ext_by_OBJ(TS_REQ *a, ASN1_OBJECT *obj, int lastpos); -int TS_REQ_get_ext_by_critical(TS_REQ *a, int crit, int lastpos); -X509_EXTENSION *TS_REQ_get_ext(TS_REQ *a, int loc); -X509_EXTENSION *TS_REQ_delete_ext(TS_REQ *a, int loc); -int TS_REQ_add_ext(TS_REQ *a, X509_EXTENSION *ex, int loc); -void *TS_REQ_get_ext_d2i(TS_REQ *a, int nid, int *crit, int *idx); - -/* Function declarations for TS_REQ defined in ts/ts_req_print.c */ - -int TS_REQ_print_bio(BIO *bio, TS_REQ *a); - -/* Function declarations for TS_RESP defined in ts/ts_resp_utils.c */ - -int TS_RESP_set_status_info(TS_RESP *a, TS_STATUS_INFO *info); -TS_STATUS_INFO *TS_RESP_get_status_info(TS_RESP *a); - -/* Caller loses ownership of PKCS7 and TS_TST_INFO objects. */ -void TS_RESP_set_tst_info(TS_RESP *a, PKCS7 *p7, TS_TST_INFO *tst_info); -PKCS7 *TS_RESP_get_token(TS_RESP *a); -TS_TST_INFO *TS_RESP_get_tst_info(TS_RESP *a); - -int TS_TST_INFO_set_version(TS_TST_INFO *a, long version); -long TS_TST_INFO_get_version(const TS_TST_INFO *a); - -int TS_TST_INFO_set_policy_id(TS_TST_INFO *a, ASN1_OBJECT *policy_id); -ASN1_OBJECT *TS_TST_INFO_get_policy_id(TS_TST_INFO *a); - -int TS_TST_INFO_set_msg_imprint(TS_TST_INFO *a, TS_MSG_IMPRINT *msg_imprint); -TS_MSG_IMPRINT *TS_TST_INFO_get_msg_imprint(TS_TST_INFO *a); - -int TS_TST_INFO_set_serial(TS_TST_INFO *a, const ASN1_INTEGER *serial); -const ASN1_INTEGER *TS_TST_INFO_get_serial(const TS_TST_INFO *a); - -int TS_TST_INFO_set_time(TS_TST_INFO *a, const ASN1_GENERALIZEDTIME *gtime); -const ASN1_GENERALIZEDTIME *TS_TST_INFO_get_time(const TS_TST_INFO *a); - -int TS_TST_INFO_set_accuracy(TS_TST_INFO *a, TS_ACCURACY *accuracy); -TS_ACCURACY *TS_TST_INFO_get_accuracy(TS_TST_INFO *a); - -int TS_ACCURACY_set_seconds(TS_ACCURACY *a, const ASN1_INTEGER *seconds); -const ASN1_INTEGER *TS_ACCURACY_get_seconds(const TS_ACCURACY *a); - -int TS_ACCURACY_set_millis(TS_ACCURACY *a, const ASN1_INTEGER *millis); -const ASN1_INTEGER *TS_ACCURACY_get_millis(const TS_ACCURACY *a); - -int TS_ACCURACY_set_micros(TS_ACCURACY *a, const ASN1_INTEGER *micros); -const ASN1_INTEGER *TS_ACCURACY_get_micros(const TS_ACCURACY *a); - -int TS_TST_INFO_set_ordering(TS_TST_INFO *a, int ordering); -int TS_TST_INFO_get_ordering(const TS_TST_INFO *a); - -int TS_TST_INFO_set_nonce(TS_TST_INFO *a, const ASN1_INTEGER *nonce); -const ASN1_INTEGER *TS_TST_INFO_get_nonce(const TS_TST_INFO *a); - -int TS_TST_INFO_set_tsa(TS_TST_INFO *a, GENERAL_NAME *tsa); -GENERAL_NAME *TS_TST_INFO_get_tsa(TS_TST_INFO *a); - -STACK_OF(X509_EXTENSION) *TS_TST_INFO_get_exts(TS_TST_INFO *a); -void TS_TST_INFO_ext_free(TS_TST_INFO *a); -int TS_TST_INFO_get_ext_count(TS_TST_INFO *a); -int TS_TST_INFO_get_ext_by_NID(TS_TST_INFO *a, int nid, int lastpos); -int TS_TST_INFO_get_ext_by_OBJ(TS_TST_INFO *a, ASN1_OBJECT *obj, int lastpos); -int TS_TST_INFO_get_ext_by_critical(TS_TST_INFO *a, int crit, int lastpos); -X509_EXTENSION *TS_TST_INFO_get_ext(TS_TST_INFO *a, int loc); -X509_EXTENSION *TS_TST_INFO_delete_ext(TS_TST_INFO *a, int loc); -int TS_TST_INFO_add_ext(TS_TST_INFO *a, X509_EXTENSION *ex, int loc); -void *TS_TST_INFO_get_ext_d2i(TS_TST_INFO *a, int nid, int *crit, int *idx); - -/* Declarations related to response generation, defined in ts/ts_resp_sign.c. */ - -/* Optional flags for response generation. */ - -/* Don't include the TSA name in response. */ -#define TS_TSA_NAME 0x01 - -/* Set ordering to true in response. */ -#define TS_ORDERING 0x02 - -/* - * Include the signer certificate and the other specified certificates in - * the ESS signing certificate attribute beside the PKCS7 signed data. - * Only the signer certificates is included by default. - */ -#define TS_ESS_CERT_ID_CHAIN 0x04 - -/* Forward declaration. */ -struct TS_resp_ctx; - -/* This must return a unique number less than 160 bits long. */ -typedef ASN1_INTEGER *(*TS_serial_cb)(struct TS_resp_ctx *, void *); - -/* This must return the seconds and microseconds since Jan 1, 1970 in - the sec and usec variables allocated by the caller. - Return non-zero for success and zero for failure. */ -typedef int (*TS_time_cb)(struct TS_resp_ctx *, void *, long *sec, long *usec); - -/* This must process the given extension. - * It can modify the TS_TST_INFO object of the context. - * Return values: !0 (processed), 0 (error, it must set the - * status info/failure info of the response). - */ -typedef int (*TS_extension_cb)(struct TS_resp_ctx *, X509_EXTENSION *, void *); - -typedef struct TS_resp_ctx - { - X509 *signer_cert; - EVP_PKEY *signer_key; - STACK_OF(X509) *certs; /* Certs to include in signed data. */ - STACK_OF(ASN1_OBJECT) *policies; /* Acceptable policies. */ - ASN1_OBJECT *default_policy; /* It may appear in policies, too. */ - STACK_OF(EVP_MD) *mds; /* Acceptable message digests. */ - ASN1_INTEGER *seconds; /* accuracy, 0 means not specified. */ - ASN1_INTEGER *millis; /* accuracy, 0 means not specified. */ - ASN1_INTEGER *micros; /* accuracy, 0 means not specified. */ - unsigned clock_precision_digits; /* fraction of seconds in - time stamp token. */ - unsigned flags; /* Optional info, see values above. */ - - /* Callback functions. */ - TS_serial_cb serial_cb; - void *serial_cb_data; /* User data for serial_cb. */ - - TS_time_cb time_cb; - void *time_cb_data; /* User data for time_cb. */ - - TS_extension_cb extension_cb; - void *extension_cb_data; /* User data for extension_cb. */ - - /* These members are used only while creating the response. */ - TS_REQ *request; - TS_RESP *response; - TS_TST_INFO *tst_info; - } TS_RESP_CTX; - -DECLARE_STACK_OF(EVP_MD) -DECLARE_ASN1_SET_OF(EVP_MD) - -/* Creates a response context that can be used for generating responses. */ -TS_RESP_CTX *TS_RESP_CTX_new(void); -void TS_RESP_CTX_free(TS_RESP_CTX *ctx); - -/* This parameter must be set. */ -int TS_RESP_CTX_set_signer_cert(TS_RESP_CTX *ctx, X509 *signer); - -/* This parameter must be set. */ -int TS_RESP_CTX_set_signer_key(TS_RESP_CTX *ctx, EVP_PKEY *key); - -/* This parameter must be set. */ -int TS_RESP_CTX_set_def_policy(TS_RESP_CTX *ctx, ASN1_OBJECT *def_policy); - -/* No additional certs are included in the response by default. */ -int TS_RESP_CTX_set_certs(TS_RESP_CTX *ctx, STACK_OF(X509) *certs); - -/* Adds a new acceptable policy, only the default policy - is accepted by default. */ -int TS_RESP_CTX_add_policy(TS_RESP_CTX *ctx, ASN1_OBJECT *policy); - -/* Adds a new acceptable message digest. Note that no message digests - are accepted by default. The md argument is shared with the caller. */ -int TS_RESP_CTX_add_md(TS_RESP_CTX *ctx, const EVP_MD *md); - -/* Accuracy is not included by default. */ -int TS_RESP_CTX_set_accuracy(TS_RESP_CTX *ctx, - int secs, int millis, int micros); - -/* Clock precision digits, i.e. the number of decimal digits: - '0' means sec, '3' msec, '6' usec, and so on. Default is 0. */ -int TS_RESP_CTX_set_clock_precision_digits(TS_RESP_CTX *ctx, - unsigned clock_precision_digits); -/* At most we accept usec precision. */ -#define TS_MAX_CLOCK_PRECISION_DIGITS 6 - -/* No flags are set by default. */ -void TS_RESP_CTX_add_flags(TS_RESP_CTX *ctx, int flags); - -/* Default callback always returns a constant. */ -void TS_RESP_CTX_set_serial_cb(TS_RESP_CTX *ctx, TS_serial_cb cb, void *data); - -/* Default callback uses the gettimeofday() and gmtime() system calls. */ -void TS_RESP_CTX_set_time_cb(TS_RESP_CTX *ctx, TS_time_cb cb, void *data); - -/* Default callback rejects all extensions. The extension callback is called - * when the TS_TST_INFO object is already set up and not signed yet. */ -/* FIXME: extension handling is not tested yet. */ -void TS_RESP_CTX_set_extension_cb(TS_RESP_CTX *ctx, - TS_extension_cb cb, void *data); - -/* The following methods can be used in the callbacks. */ -int TS_RESP_CTX_set_status_info(TS_RESP_CTX *ctx, - int status, const char *text); - -/* Sets the status info only if it is still TS_STATUS_GRANTED. */ -int TS_RESP_CTX_set_status_info_cond(TS_RESP_CTX *ctx, - int status, const char *text); - -int TS_RESP_CTX_add_failure_info(TS_RESP_CTX *ctx, int failure); - -/* The get methods below can be used in the extension callback. */ -TS_REQ *TS_RESP_CTX_get_request(TS_RESP_CTX *ctx); - -TS_TST_INFO *TS_RESP_CTX_get_tst_info(TS_RESP_CTX *ctx); - -/* - * Creates the signed TS_TST_INFO and puts it in TS_RESP. - * In case of errors it sets the status info properly. - * Returns NULL only in case of memory allocation/fatal error. - */ -TS_RESP *TS_RESP_create_response(TS_RESP_CTX *ctx, BIO *req_bio); - -/* - * Declarations related to response verification, - * they are defined in ts/ts_resp_verify.c. - */ - -int TS_RESP_verify_signature(PKCS7 *token, STACK_OF(X509) *certs, - X509_STORE *store, X509 **signer_out); - -/* Context structure for the generic verify method. */ - -/* Verify the signer's certificate and the signature of the response. */ -#define TS_VFY_SIGNATURE (1u << 0) -/* Verify the version number of the response. */ -#define TS_VFY_VERSION (1u << 1) -/* Verify if the policy supplied by the user matches the policy of the TSA. */ -#define TS_VFY_POLICY (1u << 2) -/* Verify the message imprint provided by the user. This flag should not be - specified with TS_VFY_DATA. */ -#define TS_VFY_IMPRINT (1u << 3) -/* Verify the message imprint computed by the verify method from the user - provided data and the MD algorithm of the response. This flag should not be - specified with TS_VFY_IMPRINT. */ -#define TS_VFY_DATA (1u << 4) -/* Verify the nonce value. */ -#define TS_VFY_NONCE (1u << 5) -/* Verify if the TSA name field matches the signer certificate. */ -#define TS_VFY_SIGNER (1u << 6) -/* Verify if the TSA name field equals to the user provided name. */ -#define TS_VFY_TSA_NAME (1u << 7) - -/* You can use the following convenience constants. */ -#define TS_VFY_ALL_IMPRINT (TS_VFY_SIGNATURE \ - | TS_VFY_VERSION \ - | TS_VFY_POLICY \ - | TS_VFY_IMPRINT \ - | TS_VFY_NONCE \ - | TS_VFY_SIGNER \ - | TS_VFY_TSA_NAME) -#define TS_VFY_ALL_DATA (TS_VFY_SIGNATURE \ - | TS_VFY_VERSION \ - | TS_VFY_POLICY \ - | TS_VFY_DATA \ - | TS_VFY_NONCE \ - | TS_VFY_SIGNER \ - | TS_VFY_TSA_NAME) - -typedef struct TS_verify_ctx - { - /* Set this to the union of TS_VFY_... flags you want to carry out. */ - unsigned flags; - - /* Must be set only with TS_VFY_SIGNATURE. certs is optional. */ - X509_STORE *store; - STACK_OF(X509) *certs; - - /* Must be set only with TS_VFY_POLICY. */ - ASN1_OBJECT *policy; - - /* Must be set only with TS_VFY_IMPRINT. If md_alg is NULL, - the algorithm from the response is used. */ - X509_ALGOR *md_alg; - unsigned char *imprint; - unsigned imprint_len; - - /* Must be set only with TS_VFY_DATA. */ - BIO *data; - - /* Must be set only with TS_VFY_TSA_NAME. */ - ASN1_INTEGER *nonce; - - /* Must be set only with TS_VFY_TSA_NAME. */ - GENERAL_NAME *tsa_name; - } TS_VERIFY_CTX; - -int TS_RESP_verify_response(TS_VERIFY_CTX *ctx, TS_RESP *response); -int TS_RESP_verify_token(TS_VERIFY_CTX *ctx, PKCS7 *token); - -/* - * Declarations related to response verification context, - * they are defined in ts/ts_verify_ctx.c. - */ - -/* Set all fields to zero. */ -TS_VERIFY_CTX *TS_VERIFY_CTX_new(void); -void TS_VERIFY_CTX_init(TS_VERIFY_CTX *ctx); -void TS_VERIFY_CTX_free(TS_VERIFY_CTX *ctx); -void TS_VERIFY_CTX_cleanup(TS_VERIFY_CTX *ctx); - -/* - * If ctx is NULL, it allocates and returns a new object, otherwise - * it returns ctx. It initialises all the members as follows: - * flags = TS_VFY_ALL_IMPRINT & ~(TS_VFY_TSA_NAME | TS_VFY_SIGNATURE) - * certs = NULL - * store = NULL - * policy = policy from the request or NULL if absent (in this case - * TS_VFY_POLICY is cleared from flags as well) - * md_alg = MD algorithm from request - * imprint, imprint_len = imprint from request - * data = NULL - * nonce, nonce_len = nonce from the request or NULL if absent (in this case - * TS_VFY_NONCE is cleared from flags as well) - * tsa_name = NULL - * Important: after calling this method TS_VFY_SIGNATURE should be added! - */ -TS_VERIFY_CTX *TS_REQ_to_TS_VERIFY_CTX(TS_REQ *req, TS_VERIFY_CTX *ctx); - -/* Function declarations for TS_RESP defined in ts/ts_resp_print.c */ - -int TS_RESP_print_bio(BIO *bio, TS_RESP *a); -int TS_STATUS_INFO_print_bio(BIO *bio, TS_STATUS_INFO *a); -int TS_TST_INFO_print_bio(BIO *bio, TS_TST_INFO *a); - -/* Common utility functions defined in ts/ts_lib.c */ - -int TS_ASN1_INTEGER_print_bio(BIO *bio, const ASN1_INTEGER *num); -int TS_OBJ_print_bio(BIO *bio, const ASN1_OBJECT *obj); -int TS_ext_print_bio(BIO *bio, const STACK_OF(X509_EXTENSION) *extensions); -int TS_X509_ALGOR_print_bio(BIO *bio, const X509_ALGOR *alg); -int TS_MSG_IMPRINT_print_bio(BIO *bio, TS_MSG_IMPRINT *msg); - -/* Function declarations for handling configuration options, - defined in ts/ts_conf.c */ - -X509 *TS_CONF_load_cert(const char *file); -STACK_OF(X509) *TS_CONF_load_certs(const char *file); -EVP_PKEY *TS_CONF_load_key(const char *file, const char *pass); -const char *TS_CONF_get_tsa_section(CONF *conf, const char *section); -int TS_CONF_set_serial(CONF *conf, const char *section, TS_serial_cb cb, - TS_RESP_CTX *ctx); -int TS_CONF_set_crypto_device(CONF *conf, const char *section, - const char *device); -int TS_CONF_set_default_engine(const char *name); -int TS_CONF_set_signer_cert(CONF *conf, const char *section, - const char *cert, TS_RESP_CTX *ctx); -int TS_CONF_set_certs(CONF *conf, const char *section, const char *certs, - TS_RESP_CTX *ctx); -int TS_CONF_set_signer_key(CONF *conf, const char *section, - const char *key, const char *pass, TS_RESP_CTX *ctx); -int TS_CONF_set_def_policy(CONF *conf, const char *section, - const char *policy, TS_RESP_CTX *ctx); -int TS_CONF_set_policies(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_digests(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_accuracy(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_clock_precision_digits(CONF *conf, const char *section, - TS_RESP_CTX *ctx); -int TS_CONF_set_ordering(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_tsa_name(CONF *conf, const char *section, TS_RESP_CTX *ctx); -int TS_CONF_set_ess_cert_id_chain(CONF *conf, const char *section, - TS_RESP_CTX *ctx); - -/* -------------------------------------------------- */ -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_TS_strings(void); - -/* Error codes for the TS functions. */ - -/* Function codes. */ -#define TS_F_D2I_TS_RESP 147 -#define TS_F_DEF_SERIAL_CB 110 -#define TS_F_DEF_TIME_CB 111 -#define TS_F_ESS_ADD_SIGNING_CERT 112 -#define TS_F_ESS_CERT_ID_NEW_INIT 113 -#define TS_F_ESS_SIGNING_CERT_NEW_INIT 114 -#define TS_F_INT_TS_RESP_VERIFY_TOKEN 149 -#define TS_F_PKCS7_TO_TS_TST_INFO 148 -#define TS_F_TS_ACCURACY_SET_MICROS 115 -#define TS_F_TS_ACCURACY_SET_MILLIS 116 -#define TS_F_TS_ACCURACY_SET_SECONDS 117 -#define TS_F_TS_CHECK_IMPRINTS 100 -#define TS_F_TS_CHECK_NONCES 101 -#define TS_F_TS_CHECK_POLICY 102 -#define TS_F_TS_CHECK_SIGNING_CERTS 103 -#define TS_F_TS_CHECK_STATUS_INFO 104 -#define TS_F_TS_COMPUTE_IMPRINT 145 -#define TS_F_TS_CONF_SET_DEFAULT_ENGINE 146 -#define TS_F_TS_GET_STATUS_TEXT 105 -#define TS_F_TS_MSG_IMPRINT_SET_ALGO 118 -#define TS_F_TS_REQ_SET_MSG_IMPRINT 119 -#define TS_F_TS_REQ_SET_NONCE 120 -#define TS_F_TS_REQ_SET_POLICY_ID 121 -#define TS_F_TS_RESP_CREATE_RESPONSE 122 -#define TS_F_TS_RESP_CREATE_TST_INFO 123 -#define TS_F_TS_RESP_CTX_ADD_FAILURE_INFO 124 -#define TS_F_TS_RESP_CTX_ADD_MD 125 -#define TS_F_TS_RESP_CTX_ADD_POLICY 126 -#define TS_F_TS_RESP_CTX_NEW 127 -#define TS_F_TS_RESP_CTX_SET_ACCURACY 128 -#define TS_F_TS_RESP_CTX_SET_CERTS 129 -#define TS_F_TS_RESP_CTX_SET_DEF_POLICY 130 -#define TS_F_TS_RESP_CTX_SET_SIGNER_CERT 131 -#define TS_F_TS_RESP_CTX_SET_STATUS_INFO 132 -#define TS_F_TS_RESP_GET_POLICY 133 -#define TS_F_TS_RESP_SET_GENTIME_WITH_PRECISION 134 -#define TS_F_TS_RESP_SET_STATUS_INFO 135 -#define TS_F_TS_RESP_SET_TST_INFO 150 -#define TS_F_TS_RESP_SIGN 136 -#define TS_F_TS_RESP_VERIFY_SIGNATURE 106 -#define TS_F_TS_RESP_VERIFY_TOKEN 107 -#define TS_F_TS_TST_INFO_SET_ACCURACY 137 -#define TS_F_TS_TST_INFO_SET_MSG_IMPRINT 138 -#define TS_F_TS_TST_INFO_SET_NONCE 139 -#define TS_F_TS_TST_INFO_SET_POLICY_ID 140 -#define TS_F_TS_TST_INFO_SET_SERIAL 141 -#define TS_F_TS_TST_INFO_SET_TIME 142 -#define TS_F_TS_TST_INFO_SET_TSA 143 -#define TS_F_TS_VERIFY 108 -#define TS_F_TS_VERIFY_CERT 109 -#define TS_F_TS_VERIFY_CTX_NEW 144 - -/* Reason codes. */ -#define TS_R_BAD_PKCS7_TYPE 132 -#define TS_R_BAD_TYPE 133 -#define TS_R_CERTIFICATE_VERIFY_ERROR 100 -#define TS_R_COULD_NOT_SET_ENGINE 127 -#define TS_R_COULD_NOT_SET_TIME 115 -#define TS_R_D2I_TS_RESP_INT_FAILED 128 -#define TS_R_DETACHED_CONTENT 134 -#define TS_R_ESS_ADD_SIGNING_CERT_ERROR 116 -#define TS_R_ESS_SIGNING_CERTIFICATE_ERROR 101 -#define TS_R_INVALID_NULL_POINTER 102 -#define TS_R_INVALID_SIGNER_CERTIFICATE_PURPOSE 117 -#define TS_R_MESSAGE_IMPRINT_MISMATCH 103 -#define TS_R_NONCE_MISMATCH 104 -#define TS_R_NONCE_NOT_RETURNED 105 -#define TS_R_NO_CONTENT 106 -#define TS_R_NO_TIME_STAMP_TOKEN 107 -#define TS_R_PKCS7_ADD_SIGNATURE_ERROR 118 -#define TS_R_PKCS7_ADD_SIGNED_ATTR_ERROR 119 -#define TS_R_PKCS7_TO_TS_TST_INFO_FAILED 129 -#define TS_R_POLICY_MISMATCH 108 -#define TS_R_PRIVATE_KEY_DOES_NOT_MATCH_CERTIFICATE 120 -#define TS_R_RESPONSE_SETUP_ERROR 121 -#define TS_R_SIGNATURE_FAILURE 109 -#define TS_R_THERE_MUST_BE_ONE_SIGNER 110 -#define TS_R_TIME_SYSCALL_ERROR 122 -#define TS_R_TOKEN_NOT_PRESENT 130 -#define TS_R_TOKEN_PRESENT 131 -#define TS_R_TSA_NAME_MISMATCH 111 -#define TS_R_TSA_UNTRUSTED 112 -#define TS_R_TST_INFO_SETUP_ERROR 123 -#define TS_R_TS_DATASIGN 124 -#define TS_R_UNACCEPTABLE_POLICY 125 -#define TS_R_UNSUPPORTED_MD_ALGORITHM 126 -#define TS_R_UNSUPPORTED_VERSION 113 -#define TS_R_WRONG_CONTENT_TYPE 114 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/txt_db.h b/ext/bin/libcrypto/include/openssl/txt_db.h deleted file mode 100644 index 6abe435bc..000000000 --- a/ext/bin/libcrypto/include/openssl/txt_db.h +++ /dev/null @@ -1,112 +0,0 @@ -/* crypto/txt_db/txt_db.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_TXT_DB_H -#define HEADER_TXT_DB_H - -#include -#ifndef OPENSSL_NO_BIO -#include -#endif -#include -#include - -#define DB_ERROR_OK 0 -#define DB_ERROR_MALLOC 1 -#define DB_ERROR_INDEX_CLASH 2 -#define DB_ERROR_INDEX_OUT_OF_RANGE 3 -#define DB_ERROR_NO_INDEX 4 -#define DB_ERROR_INSERT_INDEX_CLASH 5 - -#ifdef __cplusplus -extern "C" { -#endif - -typedef OPENSSL_STRING *OPENSSL_PSTRING; -DECLARE_SPECIAL_STACK_OF(OPENSSL_PSTRING, OPENSSL_STRING) - -typedef struct txt_db_st - { - int num_fields; - STACK_OF(OPENSSL_PSTRING) *data; - LHASH_OF(OPENSSL_STRING) **index; - int (**qual)(OPENSSL_STRING *); - long error; - long arg1; - long arg2; - OPENSSL_STRING *arg_row; - } TXT_DB; - -#ifndef OPENSSL_NO_BIO -TXT_DB *TXT_DB_read(BIO *in, int num); -long TXT_DB_write(BIO *out, TXT_DB *db); -#else -TXT_DB *TXT_DB_read(char *in, int num); -long TXT_DB_write(char *out, TXT_DB *db); -#endif -int TXT_DB_create_index(TXT_DB *db,int field,int (*qual)(OPENSSL_STRING *), - LHASH_HASH_FN_TYPE hash, LHASH_COMP_FN_TYPE cmp); -void TXT_DB_free(TXT_DB *db); -OPENSSL_STRING *TXT_DB_get_by_index(TXT_DB *db, int idx, OPENSSL_STRING *value); -int TXT_DB_insert(TXT_DB *db, OPENSSL_STRING *value); - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/ui.h b/ext/bin/libcrypto/include/openssl/ui.h deleted file mode 100644 index bd78aa413..000000000 --- a/ext/bin/libcrypto/include/openssl/ui.h +++ /dev/null @@ -1,383 +0,0 @@ -/* crypto/ui/ui.h -*- mode:C; c-file-style: "eay" -*- */ -/* Written by Richard Levitte (richard@levitte.org) for the OpenSSL - * project 2001. - */ -/* ==================================================================== - * Copyright (c) 2001 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_UI_H -#define HEADER_UI_H - -#ifndef OPENSSL_NO_DEPRECATED -#include -#endif -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Declared already in ossl_typ.h */ -/* typedef struct ui_st UI; */ -/* typedef struct ui_method_st UI_METHOD; */ - - -/* All the following functions return -1 or NULL on error and in some cases - (UI_process()) -2 if interrupted or in some other way cancelled. - When everything is fine, they return 0, a positive value or a non-NULL - pointer, all depending on their purpose. */ - -/* Creators and destructor. */ -UI *UI_new(void); -UI *UI_new_method(const UI_METHOD *method); -void UI_free(UI *ui); - -/* The following functions are used to add strings to be printed and prompt - strings to prompt for data. The names are UI_{add,dup}__string - and UI_{add,dup}_input_boolean. - - UI_{add,dup}__string have the following meanings: - add add a text or prompt string. The pointers given to these - functions are used verbatim, no copying is done. - dup make a copy of the text or prompt string, then add the copy - to the collection of strings in the user interface. - - The function is a name for the functionality that the given - string shall be used for. It can be one of: - input use the string as data prompt. - verify use the string as verification prompt. This - is used to verify a previous input. - info use the string for informational output. - error use the string for error output. - Honestly, there's currently no difference between info and error for the - moment. - - UI_{add,dup}_input_boolean have the same semantics for "add" and "dup", - and are typically used when one wants to prompt for a yes/no response. - - - All of the functions in this group take a UI and a prompt string. - The string input and verify addition functions also take a flag argument, - a buffer for the result to end up with, a minimum input size and a maximum - input size (the result buffer MUST be large enough to be able to contain - the maximum number of characters). Additionally, the verify addition - functions takes another buffer to compare the result against. - The boolean input functions take an action description string (which should - be safe to ignore if the expected user action is obvious, for example with - a dialog box with an OK button and a Cancel button), a string of acceptable - characters to mean OK and to mean Cancel. The two last strings are checked - to make sure they don't have common characters. Additionally, the same - flag argument as for the string input is taken, as well as a result buffer. - The result buffer is required to be at least one byte long. Depending on - the answer, the first character from the OK or the Cancel character strings - will be stored in the first byte of the result buffer. No NUL will be - added, so the result is *not* a string. - - On success, the all return an index of the added information. That index - is usefull when retrieving results with UI_get0_result(). */ -int UI_add_input_string(UI *ui, const char *prompt, int flags, - char *result_buf, int minsize, int maxsize); -int UI_dup_input_string(UI *ui, const char *prompt, int flags, - char *result_buf, int minsize, int maxsize); -int UI_add_verify_string(UI *ui, const char *prompt, int flags, - char *result_buf, int minsize, int maxsize, const char *test_buf); -int UI_dup_verify_string(UI *ui, const char *prompt, int flags, - char *result_buf, int minsize, int maxsize, const char *test_buf); -int UI_add_input_boolean(UI *ui, const char *prompt, const char *action_desc, - const char *ok_chars, const char *cancel_chars, - int flags, char *result_buf); -int UI_dup_input_boolean(UI *ui, const char *prompt, const char *action_desc, - const char *ok_chars, const char *cancel_chars, - int flags, char *result_buf); -int UI_add_info_string(UI *ui, const char *text); -int UI_dup_info_string(UI *ui, const char *text); -int UI_add_error_string(UI *ui, const char *text); -int UI_dup_error_string(UI *ui, const char *text); - -/* These are the possible flags. They can be or'ed together. */ -/* Use to have echoing of input */ -#define UI_INPUT_FLAG_ECHO 0x01 -/* Use a default password. Where that password is found is completely - up to the application, it might for example be in the user data set - with UI_add_user_data(). It is not recommended to have more than - one input in each UI being marked with this flag, or the application - might get confused. */ -#define UI_INPUT_FLAG_DEFAULT_PWD 0x02 - -/* The user of these routines may want to define flags of their own. The core - UI won't look at those, but will pass them on to the method routines. They - must use higher bits so they don't get confused with the UI bits above. - UI_INPUT_FLAG_USER_BASE tells which is the lowest bit to use. A good - example of use is this: - - #define MY_UI_FLAG1 (0x01 << UI_INPUT_FLAG_USER_BASE) - -*/ -#define UI_INPUT_FLAG_USER_BASE 16 - - -/* The following function helps construct a prompt. object_desc is a - textual short description of the object, for example "pass phrase", - and object_name is the name of the object (might be a card name or - a file name. - The returned string shall always be allocated on the heap with - OPENSSL_malloc(), and need to be free'd with OPENSSL_free(). - - If the ui_method doesn't contain a pointer to a user-defined prompt - constructor, a default string is built, looking like this: - - "Enter {object_desc} for {object_name}:" - - So, if object_desc has the value "pass phrase" and object_name has - the value "foo.key", the resulting string is: - - "Enter pass phrase for foo.key:" -*/ -char *UI_construct_prompt(UI *ui_method, - const char *object_desc, const char *object_name); - - -/* The following function is used to store a pointer to user-specific data. - Any previous such pointer will be returned and replaced. - - For callback purposes, this function makes a lot more sense than using - ex_data, since the latter requires that different parts of OpenSSL or - applications share the same ex_data index. - - Note that the UI_OpenSSL() method completely ignores the user data. - Other methods may not, however. */ -void *UI_add_user_data(UI *ui, void *user_data); -/* We need a user data retrieving function as well. */ -void *UI_get0_user_data(UI *ui); - -/* Return the result associated with a prompt given with the index i. */ -const char *UI_get0_result(UI *ui, int i); - -/* When all strings have been added, process the whole thing. */ -int UI_process(UI *ui); - -/* Give a user interface parametrised control commands. This can be used to - send down an integer, a data pointer or a function pointer, as well as - be used to get information from a UI. */ -int UI_ctrl(UI *ui, int cmd, long i, void *p, void (*f)(void)); - -/* The commands */ -/* Use UI_CONTROL_PRINT_ERRORS with the value 1 to have UI_process print the - OpenSSL error stack before printing any info or added error messages and - before any prompting. */ -#define UI_CTRL_PRINT_ERRORS 1 -/* Check if a UI_process() is possible to do again with the same instance of - a user interface. This makes UI_ctrl() return 1 if it is redoable, and 0 - if not. */ -#define UI_CTRL_IS_REDOABLE 2 - - -/* Some methods may use extra data */ -#define UI_set_app_data(s,arg) UI_set_ex_data(s,0,arg) -#define UI_get_app_data(s) UI_get_ex_data(s,0) -int UI_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int UI_set_ex_data(UI *r,int idx,void *arg); -void *UI_get_ex_data(UI *r, int idx); - -/* Use specific methods instead of the built-in one */ -void UI_set_default_method(const UI_METHOD *meth); -const UI_METHOD *UI_get_default_method(void); -const UI_METHOD *UI_get_method(UI *ui); -const UI_METHOD *UI_set_method(UI *ui, const UI_METHOD *meth); - -/* The method with all the built-in thingies */ -UI_METHOD *UI_OpenSSL(void); - - -/* ---------- For method writers ---------- */ -/* A method contains a number of functions that implement the low level - of the User Interface. The functions are: - - an opener This function starts a session, maybe by opening - a channel to a tty, or by opening a window. - a writer This function is called to write a given string, - maybe to the tty, maybe as a field label in a - window. - a flusher This function is called to flush everything that - has been output so far. It can be used to actually - display a dialog box after it has been built. - a reader This function is called to read a given prompt, - maybe from the tty, maybe from a field in a - window. Note that it's called wth all string - structures, not only the prompt ones, so it must - check such things itself. - a closer This function closes the session, maybe by closing - the channel to the tty, or closing the window. - - All these functions are expected to return: - - 0 on error. - 1 on success. - -1 on out-of-band events, for example if some prompting has - been canceled (by pressing Ctrl-C, for example). This is - only checked when returned by the flusher or the reader. - - The way this is used, the opener is first called, then the writer for all - strings, then the flusher, then the reader for all strings and finally the - closer. Note that if you want to prompt from a terminal or other command - line interface, the best is to have the reader also write the prompts - instead of having the writer do it. If you want to prompt from a dialog - box, the writer can be used to build up the contents of the box, and the - flusher to actually display the box and run the event loop until all data - has been given, after which the reader only grabs the given data and puts - them back into the UI strings. - - All method functions take a UI as argument. Additionally, the writer and - the reader take a UI_STRING. -*/ - -/* The UI_STRING type is the data structure that contains all the needed info - about a string or a prompt, including test data for a verification prompt. -*/ -typedef struct ui_string_st UI_STRING; -DECLARE_STACK_OF(UI_STRING) - -/* The different types of strings that are currently supported. - This is only needed by method authors. */ -enum UI_string_types - { - UIT_NONE=0, - UIT_PROMPT, /* Prompt for a string */ - UIT_VERIFY, /* Prompt for a string and verify */ - UIT_BOOLEAN, /* Prompt for a yes/no response */ - UIT_INFO, /* Send info to the user */ - UIT_ERROR /* Send an error message to the user */ - }; - -/* Create and manipulate methods */ -UI_METHOD *UI_create_method(char *name); -void UI_destroy_method(UI_METHOD *ui_method); -int UI_method_set_opener(UI_METHOD *method, int (*opener)(UI *ui)); -int UI_method_set_writer(UI_METHOD *method, int (*writer)(UI *ui, UI_STRING *uis)); -int UI_method_set_flusher(UI_METHOD *method, int (*flusher)(UI *ui)); -int UI_method_set_reader(UI_METHOD *method, int (*reader)(UI *ui, UI_STRING *uis)); -int UI_method_set_closer(UI_METHOD *method, int (*closer)(UI *ui)); -int UI_method_set_prompt_constructor(UI_METHOD *method, char *(*prompt_constructor)(UI* ui, const char* object_desc, const char* object_name)); -int (*UI_method_get_opener(UI_METHOD *method))(UI*); -int (*UI_method_get_writer(UI_METHOD *method))(UI*,UI_STRING*); -int (*UI_method_get_flusher(UI_METHOD *method))(UI*); -int (*UI_method_get_reader(UI_METHOD *method))(UI*,UI_STRING*); -int (*UI_method_get_closer(UI_METHOD *method))(UI*); -char * (*UI_method_get_prompt_constructor(UI_METHOD *method))(UI*, const char*, const char*); - -/* The following functions are helpers for method writers to access relevant - data from a UI_STRING. */ - -/* Return type of the UI_STRING */ -enum UI_string_types UI_get_string_type(UI_STRING *uis); -/* Return input flags of the UI_STRING */ -int UI_get_input_flags(UI_STRING *uis); -/* Return the actual string to output (the prompt, info or error) */ -const char *UI_get0_output_string(UI_STRING *uis); -/* Return the optional action string to output (the boolean promtp instruction) */ -const char *UI_get0_action_string(UI_STRING *uis); -/* Return the result of a prompt */ -const char *UI_get0_result_string(UI_STRING *uis); -/* Return the string to test the result against. Only useful with verifies. */ -const char *UI_get0_test_string(UI_STRING *uis); -/* Return the required minimum size of the result */ -int UI_get_result_minsize(UI_STRING *uis); -/* Return the required maximum size of the result */ -int UI_get_result_maxsize(UI_STRING *uis); -/* Set the result of a UI_STRING. */ -int UI_set_result(UI *ui, UI_STRING *uis, const char *result); - - -/* A couple of popular utility functions */ -int UI_UTIL_read_pw_string(char *buf,int length,const char *prompt,int verify); -int UI_UTIL_read_pw(char *buf,char *buff,int size,const char *prompt,int verify); - - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_UI_strings(void); - -/* Error codes for the UI functions. */ - -/* Function codes. */ -#define UI_F_GENERAL_ALLOCATE_BOOLEAN 108 -#define UI_F_GENERAL_ALLOCATE_PROMPT 109 -#define UI_F_GENERAL_ALLOCATE_STRING 100 -#define UI_F_UI_CTRL 111 -#define UI_F_UI_DUP_ERROR_STRING 101 -#define UI_F_UI_DUP_INFO_STRING 102 -#define UI_F_UI_DUP_INPUT_BOOLEAN 110 -#define UI_F_UI_DUP_INPUT_STRING 103 -#define UI_F_UI_DUP_VERIFY_STRING 106 -#define UI_F_UI_GET0_RESULT 107 -#define UI_F_UI_NEW_METHOD 104 -#define UI_F_UI_SET_RESULT 105 - -/* Reason codes. */ -#define UI_R_COMMON_OK_AND_CANCEL_CHARACTERS 104 -#define UI_R_INDEX_TOO_LARGE 102 -#define UI_R_INDEX_TOO_SMALL 103 -#define UI_R_NO_RESULT_BUFFER 105 -#define UI_R_RESULT_TOO_LARGE 100 -#define UI_R_RESULT_TOO_SMALL 101 -#define UI_R_UNKNOWN_CONTROL_COMMAND 106 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/ui_compat.h b/ext/bin/libcrypto/include/openssl/ui_compat.h deleted file mode 100644 index b35c9bb7f..000000000 --- a/ext/bin/libcrypto/include/openssl/ui_compat.h +++ /dev/null @@ -1,83 +0,0 @@ -/* crypto/ui/ui.h -*- mode:C; c-file-style: "eay" -*- */ -/* Written by Richard Levitte (richard@levitte.org) for the OpenSSL - * project 2001. - */ -/* ==================================================================== - * Copyright (c) 2001 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * openssl-core@openssl.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.openssl.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ - -#ifndef HEADER_UI_COMPAT_H -#define HEADER_UI_COMPAT_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* The following functions were previously part of the DES section, - and are provided here for backward compatibility reasons. */ - -#define des_read_pw_string(b,l,p,v) \ - _ossl_old_des_read_pw_string((b),(l),(p),(v)) -#define des_read_pw(b,bf,s,p,v) \ - _ossl_old_des_read_pw((b),(bf),(s),(p),(v)) - -int _ossl_old_des_read_pw_string(char *buf,int length,const char *prompt,int verify); -int _ossl_old_des_read_pw(char *buf,char *buff,int size,const char *prompt,int verify); - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/whrlpool.h b/ext/bin/libcrypto/include/openssl/whrlpool.h deleted file mode 100644 index 9e01f5b07..000000000 --- a/ext/bin/libcrypto/include/openssl/whrlpool.h +++ /dev/null @@ -1,41 +0,0 @@ -#ifndef HEADER_WHRLPOOL_H -#define HEADER_WHRLPOOL_H - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define WHIRLPOOL_DIGEST_LENGTH (512/8) -#define WHIRLPOOL_BBLOCK 512 -#define WHIRLPOOL_COUNTER (256/8) - -typedef struct { - union { - unsigned char c[WHIRLPOOL_DIGEST_LENGTH]; - /* double q is here to ensure 64-bit alignment */ - double q[WHIRLPOOL_DIGEST_LENGTH/sizeof(double)]; - } H; - unsigned char data[WHIRLPOOL_BBLOCK/8]; - unsigned int bitoff; - size_t bitlen[WHIRLPOOL_COUNTER/sizeof(size_t)]; - } WHIRLPOOL_CTX; - -#ifndef OPENSSL_NO_WHIRLPOOL -#ifdef OPENSSL_FIPS -int private_WHIRLPOOL_Init(WHIRLPOOL_CTX *c); -#endif -int WHIRLPOOL_Init (WHIRLPOOL_CTX *c); -int WHIRLPOOL_Update (WHIRLPOOL_CTX *c,const void *inp,size_t bytes); -void WHIRLPOOL_BitUpdate(WHIRLPOOL_CTX *c,const void *inp,size_t bits); -int WHIRLPOOL_Final (unsigned char *md,WHIRLPOOL_CTX *c); -unsigned char *WHIRLPOOL(const void *inp,size_t bytes,unsigned char *md); -#endif - -#ifdef __cplusplus -} -#endif - -#endif diff --git a/ext/bin/libcrypto/include/openssl/x509.h b/ext/bin/libcrypto/include/openssl/x509.h deleted file mode 100644 index 092dd7450..000000000 --- a/ext/bin/libcrypto/include/openssl/x509.h +++ /dev/null @@ -1,1297 +0,0 @@ -/* crypto/x509/x509.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ -/* ==================================================================== - * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by - * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project. - */ - -#ifndef HEADER_X509_H -#define HEADER_X509_H - -#include -#include -#ifndef OPENSSL_NO_BUFFER -#include -#endif -#ifndef OPENSSL_NO_EVP -#include -#endif -#ifndef OPENSSL_NO_BIO -#include -#endif -#include -#include -#include - -#ifndef OPENSSL_NO_EC -#include -#endif - -#ifndef OPENSSL_NO_ECDSA -#include -#endif - -#ifndef OPENSSL_NO_ECDH -#include -#endif - -#ifndef OPENSSL_NO_DEPRECATED -#ifndef OPENSSL_NO_RSA -#include -#endif -#ifndef OPENSSL_NO_DSA -#include -#endif -#ifndef OPENSSL_NO_DH -#include -#endif -#endif - -#ifndef OPENSSL_NO_SHA -#include -#endif -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_SYS_WIN32 -/* Under Win32 these are defined in wincrypt.h */ -#undef X509_NAME -#undef X509_CERT_PAIR -#undef X509_EXTENSIONS -#endif - -#define X509_FILETYPE_PEM 1 -#define X509_FILETYPE_ASN1 2 -#define X509_FILETYPE_DEFAULT 3 - -#define X509v3_KU_DIGITAL_SIGNATURE 0x0080 -#define X509v3_KU_NON_REPUDIATION 0x0040 -#define X509v3_KU_KEY_ENCIPHERMENT 0x0020 -#define X509v3_KU_DATA_ENCIPHERMENT 0x0010 -#define X509v3_KU_KEY_AGREEMENT 0x0008 -#define X509v3_KU_KEY_CERT_SIGN 0x0004 -#define X509v3_KU_CRL_SIGN 0x0002 -#define X509v3_KU_ENCIPHER_ONLY 0x0001 -#define X509v3_KU_DECIPHER_ONLY 0x8000 -#define X509v3_KU_UNDEF 0xffff - -typedef struct X509_objects_st - { - int nid; - int (*a2i)(void); - int (*i2a)(void); - } X509_OBJECTS; - -struct X509_algor_st - { - ASN1_OBJECT *algorithm; - ASN1_TYPE *parameter; - } /* X509_ALGOR */; - -DECLARE_ASN1_SET_OF(X509_ALGOR) - -typedef STACK_OF(X509_ALGOR) X509_ALGORS; - -typedef struct X509_val_st - { - ASN1_TIME *notBefore; - ASN1_TIME *notAfter; - } X509_VAL; - -struct X509_pubkey_st - { - X509_ALGOR *algor; - ASN1_BIT_STRING *public_key; - EVP_PKEY *pkey; - }; - -typedef struct X509_sig_st - { - X509_ALGOR *algor; - ASN1_OCTET_STRING *digest; - } X509_SIG; - -typedef struct X509_name_entry_st - { - ASN1_OBJECT *object; - ASN1_STRING *value; - int set; - int size; /* temp variable */ - } X509_NAME_ENTRY; - -DECLARE_STACK_OF(X509_NAME_ENTRY) -DECLARE_ASN1_SET_OF(X509_NAME_ENTRY) - -/* we always keep X509_NAMEs in 2 forms. */ -struct X509_name_st - { - STACK_OF(X509_NAME_ENTRY) *entries; - int modified; /* true if 'bytes' needs to be built */ -#ifndef OPENSSL_NO_BUFFER - BUF_MEM *bytes; -#else - char *bytes; -#endif -/* unsigned long hash; Keep the hash around for lookups */ - unsigned char *canon_enc; - int canon_enclen; - } /* X509_NAME */; - -DECLARE_STACK_OF(X509_NAME) - -#define X509_EX_V_NETSCAPE_HACK 0x8000 -#define X509_EX_V_INIT 0x0001 -typedef struct X509_extension_st - { - ASN1_OBJECT *object; - ASN1_BOOLEAN critical; - ASN1_OCTET_STRING *value; - } X509_EXTENSION; - -typedef STACK_OF(X509_EXTENSION) X509_EXTENSIONS; - -DECLARE_STACK_OF(X509_EXTENSION) -DECLARE_ASN1_SET_OF(X509_EXTENSION) - -/* a sequence of these are used */ -typedef struct x509_attributes_st - { - ASN1_OBJECT *object; - int single; /* 0 for a set, 1 for a single item (which is wrong) */ - union { - char *ptr; -/* 0 */ STACK_OF(ASN1_TYPE) *set; -/* 1 */ ASN1_TYPE *single; - } value; - } X509_ATTRIBUTE; - -DECLARE_STACK_OF(X509_ATTRIBUTE) -DECLARE_ASN1_SET_OF(X509_ATTRIBUTE) - - -typedef struct X509_req_info_st - { - ASN1_ENCODING enc; - ASN1_INTEGER *version; - X509_NAME *subject; - X509_PUBKEY *pubkey; - /* d=2 hl=2 l= 0 cons: cont: 00 */ - STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ - } X509_REQ_INFO; - -typedef struct X509_req_st - { - X509_REQ_INFO *req_info; - X509_ALGOR *sig_alg; - ASN1_BIT_STRING *signature; - int references; - } X509_REQ; - -typedef struct x509_cinf_st - { - ASN1_INTEGER *version; /* [ 0 ] default of v1 */ - ASN1_INTEGER *serialNumber; - X509_ALGOR *signature; - X509_NAME *issuer; - X509_VAL *validity; - X509_NAME *subject; - X509_PUBKEY *key; - ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */ - ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */ - STACK_OF(X509_EXTENSION) *extensions; /* [ 3 ] optional in v3 */ - ASN1_ENCODING enc; - } X509_CINF; - -/* This stuff is certificate "auxiliary info" - * it contains details which are useful in certificate - * stores and databases. When used this is tagged onto - * the end of the certificate itself - */ - -typedef struct x509_cert_aux_st - { - STACK_OF(ASN1_OBJECT) *trust; /* trusted uses */ - STACK_OF(ASN1_OBJECT) *reject; /* rejected uses */ - ASN1_UTF8STRING *alias; /* "friendly name" */ - ASN1_OCTET_STRING *keyid; /* key id of private key */ - STACK_OF(X509_ALGOR) *other; /* other unspecified info */ - } X509_CERT_AUX; - -struct x509_st - { - X509_CINF *cert_info; - X509_ALGOR *sig_alg; - ASN1_BIT_STRING *signature; - int valid; - int references; - char *name; - CRYPTO_EX_DATA ex_data; - /* These contain copies of various extension values */ - long ex_pathlen; - long ex_pcpathlen; - unsigned long ex_flags; - unsigned long ex_kusage; - unsigned long ex_xkusage; - unsigned long ex_nscert; - ASN1_OCTET_STRING *skid; - AUTHORITY_KEYID *akid; - X509_POLICY_CACHE *policy_cache; - STACK_OF(DIST_POINT) *crldp; - STACK_OF(GENERAL_NAME) *altname; - NAME_CONSTRAINTS *nc; -#ifndef OPENSSL_NO_RFC3779 - STACK_OF(IPAddressFamily) *rfc3779_addr; - struct ASIdentifiers_st *rfc3779_asid; -#endif -#ifndef OPENSSL_NO_SHA - unsigned char sha1_hash[SHA_DIGEST_LENGTH]; -#endif - X509_CERT_AUX *aux; - } /* X509 */; - -DECLARE_STACK_OF(X509) -DECLARE_ASN1_SET_OF(X509) - -/* This is used for a table of trust checking functions */ - -typedef struct x509_trust_st { - int trust; - int flags; - int (*check_trust)(struct x509_trust_st *, X509 *, int); - char *name; - int arg1; - void *arg2; -} X509_TRUST; - -DECLARE_STACK_OF(X509_TRUST) - -typedef struct x509_cert_pair_st { - X509 *forward; - X509 *reverse; -} X509_CERT_PAIR; - -/* standard trust ids */ - -#define X509_TRUST_DEFAULT -1 /* Only valid in purpose settings */ - -#define X509_TRUST_COMPAT 1 -#define X509_TRUST_SSL_CLIENT 2 -#define X509_TRUST_SSL_SERVER 3 -#define X509_TRUST_EMAIL 4 -#define X509_TRUST_OBJECT_SIGN 5 -#define X509_TRUST_OCSP_SIGN 6 -#define X509_TRUST_OCSP_REQUEST 7 -#define X509_TRUST_TSA 8 - -/* Keep these up to date! */ -#define X509_TRUST_MIN 1 -#define X509_TRUST_MAX 8 - - -/* trust_flags values */ -#define X509_TRUST_DYNAMIC 1 -#define X509_TRUST_DYNAMIC_NAME 2 - -/* check_trust return codes */ - -#define X509_TRUST_TRUSTED 1 -#define X509_TRUST_REJECTED 2 -#define X509_TRUST_UNTRUSTED 3 - -/* Flags for X509_print_ex() */ - -#define X509_FLAG_COMPAT 0 -#define X509_FLAG_NO_HEADER 1L -#define X509_FLAG_NO_VERSION (1L << 1) -#define X509_FLAG_NO_SERIAL (1L << 2) -#define X509_FLAG_NO_SIGNAME (1L << 3) -#define X509_FLAG_NO_ISSUER (1L << 4) -#define X509_FLAG_NO_VALIDITY (1L << 5) -#define X509_FLAG_NO_SUBJECT (1L << 6) -#define X509_FLAG_NO_PUBKEY (1L << 7) -#define X509_FLAG_NO_EXTENSIONS (1L << 8) -#define X509_FLAG_NO_SIGDUMP (1L << 9) -#define X509_FLAG_NO_AUX (1L << 10) -#define X509_FLAG_NO_ATTRIBUTES (1L << 11) - -/* Flags specific to X509_NAME_print_ex() */ - -/* The field separator information */ - -#define XN_FLAG_SEP_MASK (0xf << 16) - -#define XN_FLAG_COMPAT 0 /* Traditional SSLeay: use old X509_NAME_print */ -#define XN_FLAG_SEP_COMMA_PLUS (1 << 16) /* RFC2253 ,+ */ -#define XN_FLAG_SEP_CPLUS_SPC (2 << 16) /* ,+ spaced: more readable */ -#define XN_FLAG_SEP_SPLUS_SPC (3 << 16) /* ;+ spaced */ -#define XN_FLAG_SEP_MULTILINE (4 << 16) /* One line per field */ - -#define XN_FLAG_DN_REV (1 << 20) /* Reverse DN order */ - -/* How the field name is shown */ - -#define XN_FLAG_FN_MASK (0x3 << 21) - -#define XN_FLAG_FN_SN 0 /* Object short name */ -#define XN_FLAG_FN_LN (1 << 21) /* Object long name */ -#define XN_FLAG_FN_OID (2 << 21) /* Always use OIDs */ -#define XN_FLAG_FN_NONE (3 << 21) /* No field names */ - -#define XN_FLAG_SPC_EQ (1 << 23) /* Put spaces round '=' */ - -/* This determines if we dump fields we don't recognise: - * RFC2253 requires this. - */ - -#define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) - -#define XN_FLAG_FN_ALIGN (1 << 25) /* Align field names to 20 characters */ - -/* Complete set of RFC2253 flags */ - -#define XN_FLAG_RFC2253 (ASN1_STRFLGS_RFC2253 | \ - XN_FLAG_SEP_COMMA_PLUS | \ - XN_FLAG_DN_REV | \ - XN_FLAG_FN_SN | \ - XN_FLAG_DUMP_UNKNOWN_FIELDS) - -/* readable oneline form */ - -#define XN_FLAG_ONELINE (ASN1_STRFLGS_RFC2253 | \ - ASN1_STRFLGS_ESC_QUOTE | \ - XN_FLAG_SEP_CPLUS_SPC | \ - XN_FLAG_SPC_EQ | \ - XN_FLAG_FN_SN) - -/* readable multiline form */ - -#define XN_FLAG_MULTILINE (ASN1_STRFLGS_ESC_CTRL | \ - ASN1_STRFLGS_ESC_MSB | \ - XN_FLAG_SEP_MULTILINE | \ - XN_FLAG_SPC_EQ | \ - XN_FLAG_FN_LN | \ - XN_FLAG_FN_ALIGN) - -struct x509_revoked_st - { - ASN1_INTEGER *serialNumber; - ASN1_TIME *revocationDate; - STACK_OF(X509_EXTENSION) /* optional */ *extensions; - /* Set up if indirect CRL */ - STACK_OF(GENERAL_NAME) *issuer; - /* Revocation reason */ - int reason; - int sequence; /* load sequence */ - }; - -DECLARE_STACK_OF(X509_REVOKED) -DECLARE_ASN1_SET_OF(X509_REVOKED) - -typedef struct X509_crl_info_st - { - ASN1_INTEGER *version; - X509_ALGOR *sig_alg; - X509_NAME *issuer; - ASN1_TIME *lastUpdate; - ASN1_TIME *nextUpdate; - STACK_OF(X509_REVOKED) *revoked; - STACK_OF(X509_EXTENSION) /* [0] */ *extensions; - ASN1_ENCODING enc; - } X509_CRL_INFO; - -struct X509_crl_st - { - /* actual signature */ - X509_CRL_INFO *crl; - X509_ALGOR *sig_alg; - ASN1_BIT_STRING *signature; - int references; - int flags; - /* Copies of various extensions */ - AUTHORITY_KEYID *akid; - ISSUING_DIST_POINT *idp; - /* Convenient breakdown of IDP */ - int idp_flags; - int idp_reasons; - /* CRL and base CRL numbers for delta processing */ - ASN1_INTEGER *crl_number; - ASN1_INTEGER *base_crl_number; -#ifndef OPENSSL_NO_SHA - unsigned char sha1_hash[SHA_DIGEST_LENGTH]; -#endif - STACK_OF(GENERAL_NAMES) *issuers; - const X509_CRL_METHOD *meth; - void *meth_data; - } /* X509_CRL */; - -DECLARE_STACK_OF(X509_CRL) -DECLARE_ASN1_SET_OF(X509_CRL) - -typedef struct private_key_st - { - int version; - /* The PKCS#8 data types */ - X509_ALGOR *enc_algor; - ASN1_OCTET_STRING *enc_pkey; /* encrypted pub key */ - - /* When decrypted, the following will not be NULL */ - EVP_PKEY *dec_pkey; - - /* used to encrypt and decrypt */ - int key_length; - char *key_data; - int key_free; /* true if we should auto free key_data */ - - /* expanded version of 'enc_algor' */ - EVP_CIPHER_INFO cipher; - - int references; - } X509_PKEY; - -#ifndef OPENSSL_NO_EVP -typedef struct X509_info_st - { - X509 *x509; - X509_CRL *crl; - X509_PKEY *x_pkey; - - EVP_CIPHER_INFO enc_cipher; - int enc_len; - char *enc_data; - - int references; - } X509_INFO; - -DECLARE_STACK_OF(X509_INFO) -#endif - -/* The next 2 structures and their 8 routines were sent to me by - * Pat Richard and are used to manipulate - * Netscapes spki structures - useful if you are writing a CA web page - */ -typedef struct Netscape_spkac_st - { - X509_PUBKEY *pubkey; - ASN1_IA5STRING *challenge; /* challenge sent in atlas >= PR2 */ - } NETSCAPE_SPKAC; - -typedef struct Netscape_spki_st - { - NETSCAPE_SPKAC *spkac; /* signed public key and challenge */ - X509_ALGOR *sig_algor; - ASN1_BIT_STRING *signature; - } NETSCAPE_SPKI; - -/* Netscape certificate sequence structure */ -typedef struct Netscape_certificate_sequence - { - ASN1_OBJECT *type; - STACK_OF(X509) *certs; - } NETSCAPE_CERT_SEQUENCE; - -/* Unused (and iv length is wrong) -typedef struct CBCParameter_st - { - unsigned char iv[8]; - } CBC_PARAM; -*/ - -/* Password based encryption structure */ - -typedef struct PBEPARAM_st { -ASN1_OCTET_STRING *salt; -ASN1_INTEGER *iter; -} PBEPARAM; - -/* Password based encryption V2 structures */ - -typedef struct PBE2PARAM_st { -X509_ALGOR *keyfunc; -X509_ALGOR *encryption; -} PBE2PARAM; - -typedef struct PBKDF2PARAM_st { -ASN1_TYPE *salt; /* Usually OCTET STRING but could be anything */ -ASN1_INTEGER *iter; -ASN1_INTEGER *keylength; -X509_ALGOR *prf; -} PBKDF2PARAM; - - -/* PKCS#8 private key info structure */ - -struct pkcs8_priv_key_info_st - { - int broken; /* Flag for various broken formats */ -#define PKCS8_OK 0 -#define PKCS8_NO_OCTET 1 -#define PKCS8_EMBEDDED_PARAM 2 -#define PKCS8_NS_DB 3 -#define PKCS8_NEG_PRIVKEY 4 - ASN1_INTEGER *version; - X509_ALGOR *pkeyalg; - ASN1_TYPE *pkey; /* Should be OCTET STRING but some are broken */ - STACK_OF(X509_ATTRIBUTE) *attributes; - }; - -#ifdef __cplusplus -} -#endif - -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#define X509_EXT_PACK_UNKNOWN 1 -#define X509_EXT_PACK_STRING 2 - -#define X509_get_version(x) ASN1_INTEGER_get((x)->cert_info->version) -/* #define X509_get_serialNumber(x) ((x)->cert_info->serialNumber) */ -#define X509_get_notBefore(x) ((x)->cert_info->validity->notBefore) -#define X509_get_notAfter(x) ((x)->cert_info->validity->notAfter) -#define X509_extract_key(x) X509_get_pubkey(x) /*****/ -#define X509_REQ_get_version(x) ASN1_INTEGER_get((x)->req_info->version) -#define X509_REQ_get_subject_name(x) ((x)->req_info->subject) -#define X509_REQ_extract_key(a) X509_REQ_get_pubkey(a) -#define X509_name_cmp(a,b) X509_NAME_cmp((a),(b)) -#define X509_get_signature_type(x) EVP_PKEY_type(OBJ_obj2nid((x)->sig_alg->algorithm)) - -#define X509_CRL_get_version(x) ASN1_INTEGER_get((x)->crl->version) -#define X509_CRL_get_lastUpdate(x) ((x)->crl->lastUpdate) -#define X509_CRL_get_nextUpdate(x) ((x)->crl->nextUpdate) -#define X509_CRL_get_issuer(x) ((x)->crl->issuer) -#define X509_CRL_get_REVOKED(x) ((x)->crl->revoked) - -void X509_CRL_set_default_method(const X509_CRL_METHOD *meth); -X509_CRL_METHOD *X509_CRL_METHOD_new( - int (*crl_init)(X509_CRL *crl), - int (*crl_free)(X509_CRL *crl), - int (*crl_lookup)(X509_CRL *crl, X509_REVOKED **ret, - ASN1_INTEGER *ser, X509_NAME *issuer), - int (*crl_verify)(X509_CRL *crl, EVP_PKEY *pk)); -void X509_CRL_METHOD_free(X509_CRL_METHOD *m); - -void X509_CRL_set_meth_data(X509_CRL *crl, void *dat); -void *X509_CRL_get_meth_data(X509_CRL *crl); - -/* This one is only used so that a binary form can output, as in - * i2d_X509_NAME(X509_get_X509_PUBKEY(x),&buf) */ -#define X509_get_X509_PUBKEY(x) ((x)->cert_info->key) - - -const char *X509_verify_cert_error_string(long n); - -#ifndef OPENSSL_NO_EVP -int X509_verify(X509 *a, EVP_PKEY *r); - -int X509_REQ_verify(X509_REQ *a, EVP_PKEY *r); -int X509_CRL_verify(X509_CRL *a, EVP_PKEY *r); -int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r); - -NETSCAPE_SPKI * NETSCAPE_SPKI_b64_decode(const char *str, int len); -char * NETSCAPE_SPKI_b64_encode(NETSCAPE_SPKI *x); -EVP_PKEY *NETSCAPE_SPKI_get_pubkey(NETSCAPE_SPKI *x); -int NETSCAPE_SPKI_set_pubkey(NETSCAPE_SPKI *x, EVP_PKEY *pkey); - -int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki); - -int X509_signature_dump(BIO *bp,const ASN1_STRING *sig, int indent); -int X509_signature_print(BIO *bp,X509_ALGOR *alg, ASN1_STRING *sig); - -int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); -int X509_sign_ctx(X509 *x, EVP_MD_CTX *ctx); -int X509_REQ_sign(X509_REQ *x, EVP_PKEY *pkey, const EVP_MD *md); -int X509_REQ_sign_ctx(X509_REQ *x, EVP_MD_CTX *ctx); -int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md); -int X509_CRL_sign_ctx(X509_CRL *x, EVP_MD_CTX *ctx); -int NETSCAPE_SPKI_sign(NETSCAPE_SPKI *x, EVP_PKEY *pkey, const EVP_MD *md); - -int X509_pubkey_digest(const X509 *data,const EVP_MD *type, - unsigned char *md, unsigned int *len); -int X509_digest(const X509 *data,const EVP_MD *type, - unsigned char *md, unsigned int *len); -int X509_CRL_digest(const X509_CRL *data,const EVP_MD *type, - unsigned char *md, unsigned int *len); -int X509_REQ_digest(const X509_REQ *data,const EVP_MD *type, - unsigned char *md, unsigned int *len); -int X509_NAME_digest(const X509_NAME *data,const EVP_MD *type, - unsigned char *md, unsigned int *len); -#endif - -#ifndef OPENSSL_NO_FP_API -X509 *d2i_X509_fp(FILE *fp, X509 **x509); -int i2d_X509_fp(FILE *fp,X509 *x509); -X509_CRL *d2i_X509_CRL_fp(FILE *fp,X509_CRL **crl); -int i2d_X509_CRL_fp(FILE *fp,X509_CRL *crl); -X509_REQ *d2i_X509_REQ_fp(FILE *fp,X509_REQ **req); -int i2d_X509_REQ_fp(FILE *fp,X509_REQ *req); -#ifndef OPENSSL_NO_RSA -RSA *d2i_RSAPrivateKey_fp(FILE *fp,RSA **rsa); -int i2d_RSAPrivateKey_fp(FILE *fp,RSA *rsa); -RSA *d2i_RSAPublicKey_fp(FILE *fp,RSA **rsa); -int i2d_RSAPublicKey_fp(FILE *fp,RSA *rsa); -RSA *d2i_RSA_PUBKEY_fp(FILE *fp,RSA **rsa); -int i2d_RSA_PUBKEY_fp(FILE *fp,RSA *rsa); -#endif -#ifndef OPENSSL_NO_DSA -DSA *d2i_DSA_PUBKEY_fp(FILE *fp, DSA **dsa); -int i2d_DSA_PUBKEY_fp(FILE *fp, DSA *dsa); -DSA *d2i_DSAPrivateKey_fp(FILE *fp, DSA **dsa); -int i2d_DSAPrivateKey_fp(FILE *fp, DSA *dsa); -#endif -#ifndef OPENSSL_NO_EC -EC_KEY *d2i_EC_PUBKEY_fp(FILE *fp, EC_KEY **eckey); -int i2d_EC_PUBKEY_fp(FILE *fp, EC_KEY *eckey); -EC_KEY *d2i_ECPrivateKey_fp(FILE *fp, EC_KEY **eckey); -int i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey); -#endif -X509_SIG *d2i_PKCS8_fp(FILE *fp,X509_SIG **p8); -int i2d_PKCS8_fp(FILE *fp,X509_SIG *p8); -PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_fp(FILE *fp, - PKCS8_PRIV_KEY_INFO **p8inf); -int i2d_PKCS8_PRIV_KEY_INFO_fp(FILE *fp,PKCS8_PRIV_KEY_INFO *p8inf); -int i2d_PKCS8PrivateKeyInfo_fp(FILE *fp, EVP_PKEY *key); -int i2d_PrivateKey_fp(FILE *fp, EVP_PKEY *pkey); -EVP_PKEY *d2i_PrivateKey_fp(FILE *fp, EVP_PKEY **a); -int i2d_PUBKEY_fp(FILE *fp, EVP_PKEY *pkey); -EVP_PKEY *d2i_PUBKEY_fp(FILE *fp, EVP_PKEY **a); -#endif - -#ifndef OPENSSL_NO_BIO -X509 *d2i_X509_bio(BIO *bp,X509 **x509); -int i2d_X509_bio(BIO *bp,X509 *x509); -X509_CRL *d2i_X509_CRL_bio(BIO *bp,X509_CRL **crl); -int i2d_X509_CRL_bio(BIO *bp,X509_CRL *crl); -X509_REQ *d2i_X509_REQ_bio(BIO *bp,X509_REQ **req); -int i2d_X509_REQ_bio(BIO *bp,X509_REQ *req); -#ifndef OPENSSL_NO_RSA -RSA *d2i_RSAPrivateKey_bio(BIO *bp,RSA **rsa); -int i2d_RSAPrivateKey_bio(BIO *bp,RSA *rsa); -RSA *d2i_RSAPublicKey_bio(BIO *bp,RSA **rsa); -int i2d_RSAPublicKey_bio(BIO *bp,RSA *rsa); -RSA *d2i_RSA_PUBKEY_bio(BIO *bp,RSA **rsa); -int i2d_RSA_PUBKEY_bio(BIO *bp,RSA *rsa); -#endif -#ifndef OPENSSL_NO_DSA -DSA *d2i_DSA_PUBKEY_bio(BIO *bp, DSA **dsa); -int i2d_DSA_PUBKEY_bio(BIO *bp, DSA *dsa); -DSA *d2i_DSAPrivateKey_bio(BIO *bp, DSA **dsa); -int i2d_DSAPrivateKey_bio(BIO *bp, DSA *dsa); -#endif -#ifndef OPENSSL_NO_EC -EC_KEY *d2i_EC_PUBKEY_bio(BIO *bp, EC_KEY **eckey); -int i2d_EC_PUBKEY_bio(BIO *bp, EC_KEY *eckey); -EC_KEY *d2i_ECPrivateKey_bio(BIO *bp, EC_KEY **eckey); -int i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey); -#endif -X509_SIG *d2i_PKCS8_bio(BIO *bp,X509_SIG **p8); -int i2d_PKCS8_bio(BIO *bp,X509_SIG *p8); -PKCS8_PRIV_KEY_INFO *d2i_PKCS8_PRIV_KEY_INFO_bio(BIO *bp, - PKCS8_PRIV_KEY_INFO **p8inf); -int i2d_PKCS8_PRIV_KEY_INFO_bio(BIO *bp,PKCS8_PRIV_KEY_INFO *p8inf); -int i2d_PKCS8PrivateKeyInfo_bio(BIO *bp, EVP_PKEY *key); -int i2d_PrivateKey_bio(BIO *bp, EVP_PKEY *pkey); -EVP_PKEY *d2i_PrivateKey_bio(BIO *bp, EVP_PKEY **a); -int i2d_PUBKEY_bio(BIO *bp, EVP_PKEY *pkey); -EVP_PKEY *d2i_PUBKEY_bio(BIO *bp, EVP_PKEY **a); -#endif - -X509 *X509_dup(X509 *x509); -X509_ATTRIBUTE *X509_ATTRIBUTE_dup(X509_ATTRIBUTE *xa); -X509_EXTENSION *X509_EXTENSION_dup(X509_EXTENSION *ex); -X509_CRL *X509_CRL_dup(X509_CRL *crl); -X509_REQ *X509_REQ_dup(X509_REQ *req); -X509_ALGOR *X509_ALGOR_dup(X509_ALGOR *xn); -int X509_ALGOR_set0(X509_ALGOR *alg, ASN1_OBJECT *aobj, int ptype, void *pval); -void X509_ALGOR_get0(ASN1_OBJECT **paobj, int *pptype, void **ppval, - X509_ALGOR *algor); -void X509_ALGOR_set_md(X509_ALGOR *alg, const EVP_MD *md); - -X509_NAME *X509_NAME_dup(X509_NAME *xn); -X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne); - -int X509_cmp_time(const ASN1_TIME *s, time_t *t); -int X509_cmp_current_time(const ASN1_TIME *s); -ASN1_TIME * X509_time_adj(ASN1_TIME *s, long adj, time_t *t); -ASN1_TIME * X509_time_adj_ex(ASN1_TIME *s, - int offset_day, long offset_sec, time_t *t); -ASN1_TIME * X509_gmtime_adj(ASN1_TIME *s, long adj); - -const char * X509_get_default_cert_area(void ); -const char * X509_get_default_cert_dir(void ); -const char * X509_get_default_cert_file(void ); -const char * X509_get_default_cert_dir_env(void ); -const char * X509_get_default_cert_file_env(void ); -const char * X509_get_default_private_dir(void ); - -X509_REQ * X509_to_X509_REQ(X509 *x, EVP_PKEY *pkey, const EVP_MD *md); -X509 * X509_REQ_to_X509(X509_REQ *r, int days,EVP_PKEY *pkey); - -DECLARE_ASN1_FUNCTIONS(X509_ALGOR) -DECLARE_ASN1_ENCODE_FUNCTIONS(X509_ALGORS, X509_ALGORS, X509_ALGORS) -DECLARE_ASN1_FUNCTIONS(X509_VAL) - -DECLARE_ASN1_FUNCTIONS(X509_PUBKEY) - -int X509_PUBKEY_set(X509_PUBKEY **x, EVP_PKEY *pkey); -EVP_PKEY * X509_PUBKEY_get(X509_PUBKEY *key); -int X509_get_pubkey_parameters(EVP_PKEY *pkey, - STACK_OF(X509) *chain); -int i2d_PUBKEY(EVP_PKEY *a,unsigned char **pp); -EVP_PKEY * d2i_PUBKEY(EVP_PKEY **a,const unsigned char **pp, - long length); -#ifndef OPENSSL_NO_RSA -int i2d_RSA_PUBKEY(RSA *a,unsigned char **pp); -RSA * d2i_RSA_PUBKEY(RSA **a,const unsigned char **pp, - long length); -#endif -#ifndef OPENSSL_NO_DSA -int i2d_DSA_PUBKEY(DSA *a,unsigned char **pp); -DSA * d2i_DSA_PUBKEY(DSA **a,const unsigned char **pp, - long length); -#endif -#ifndef OPENSSL_NO_EC -int i2d_EC_PUBKEY(EC_KEY *a, unsigned char **pp); -EC_KEY *d2i_EC_PUBKEY(EC_KEY **a, const unsigned char **pp, - long length); -#endif - -DECLARE_ASN1_FUNCTIONS(X509_SIG) -DECLARE_ASN1_FUNCTIONS(X509_REQ_INFO) -DECLARE_ASN1_FUNCTIONS(X509_REQ) - -DECLARE_ASN1_FUNCTIONS(X509_ATTRIBUTE) -X509_ATTRIBUTE *X509_ATTRIBUTE_create(int nid, int atrtype, void *value); - -DECLARE_ASN1_FUNCTIONS(X509_EXTENSION) -DECLARE_ASN1_ENCODE_FUNCTIONS(X509_EXTENSIONS, X509_EXTENSIONS, X509_EXTENSIONS) - -DECLARE_ASN1_FUNCTIONS(X509_NAME_ENTRY) - -DECLARE_ASN1_FUNCTIONS(X509_NAME) - -int X509_NAME_set(X509_NAME **xn, X509_NAME *name); - -DECLARE_ASN1_FUNCTIONS(X509_CINF) - -DECLARE_ASN1_FUNCTIONS(X509) -DECLARE_ASN1_FUNCTIONS(X509_CERT_AUX) - -DECLARE_ASN1_FUNCTIONS(X509_CERT_PAIR) - -int X509_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int X509_set_ex_data(X509 *r, int idx, void *arg); -void *X509_get_ex_data(X509 *r, int idx); -int i2d_X509_AUX(X509 *a,unsigned char **pp); -X509 * d2i_X509_AUX(X509 **a,const unsigned char **pp,long length); - -int X509_alias_set1(X509 *x, unsigned char *name, int len); -int X509_keyid_set1(X509 *x, unsigned char *id, int len); -unsigned char * X509_alias_get0(X509 *x, int *len); -unsigned char * X509_keyid_get0(X509 *x, int *len); -int (*X509_TRUST_set_default(int (*trust)(int , X509 *, int)))(int, X509 *, int); -int X509_TRUST_set(int *t, int trust); -int X509_add1_trust_object(X509 *x, ASN1_OBJECT *obj); -int X509_add1_reject_object(X509 *x, ASN1_OBJECT *obj); -void X509_trust_clear(X509 *x); -void X509_reject_clear(X509 *x); - -DECLARE_ASN1_FUNCTIONS(X509_REVOKED) -DECLARE_ASN1_FUNCTIONS(X509_CRL_INFO) -DECLARE_ASN1_FUNCTIONS(X509_CRL) - -int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); -int X509_CRL_get0_by_serial(X509_CRL *crl, - X509_REVOKED **ret, ASN1_INTEGER *serial); -int X509_CRL_get0_by_cert(X509_CRL *crl, X509_REVOKED **ret, X509 *x); - -X509_PKEY * X509_PKEY_new(void ); -void X509_PKEY_free(X509_PKEY *a); -int i2d_X509_PKEY(X509_PKEY *a,unsigned char **pp); -X509_PKEY * d2i_X509_PKEY(X509_PKEY **a,const unsigned char **pp,long length); - -DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKI) -DECLARE_ASN1_FUNCTIONS(NETSCAPE_SPKAC) -DECLARE_ASN1_FUNCTIONS(NETSCAPE_CERT_SEQUENCE) - -#ifndef OPENSSL_NO_EVP -X509_INFO * X509_INFO_new(void); -void X509_INFO_free(X509_INFO *a); -char * X509_NAME_oneline(X509_NAME *a,char *buf,int size); - -int ASN1_verify(i2d_of_void *i2d, X509_ALGOR *algor1, - ASN1_BIT_STRING *signature,char *data,EVP_PKEY *pkey); - -int ASN1_digest(i2d_of_void *i2d,const EVP_MD *type,char *data, - unsigned char *md,unsigned int *len); - -int ASN1_sign(i2d_of_void *i2d, X509_ALGOR *algor1, - X509_ALGOR *algor2, ASN1_BIT_STRING *signature, - char *data,EVP_PKEY *pkey, const EVP_MD *type); - -int ASN1_item_digest(const ASN1_ITEM *it,const EVP_MD *type,void *data, - unsigned char *md,unsigned int *len); - -int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *algor1, - ASN1_BIT_STRING *signature,void *data,EVP_PKEY *pkey); - -int ASN1_item_sign(const ASN1_ITEM *it, X509_ALGOR *algor1, X509_ALGOR *algor2, - ASN1_BIT_STRING *signature, - void *data, EVP_PKEY *pkey, const EVP_MD *type); -int ASN1_item_sign_ctx(const ASN1_ITEM *it, - X509_ALGOR *algor1, X509_ALGOR *algor2, - ASN1_BIT_STRING *signature, void *asn, EVP_MD_CTX *ctx); -#endif - -int X509_set_version(X509 *x,long version); -int X509_set_serialNumber(X509 *x, ASN1_INTEGER *serial); -ASN1_INTEGER * X509_get_serialNumber(X509 *x); -int X509_set_issuer_name(X509 *x, X509_NAME *name); -X509_NAME * X509_get_issuer_name(X509 *a); -int X509_set_subject_name(X509 *x, X509_NAME *name); -X509_NAME * X509_get_subject_name(X509 *a); -int X509_set_notBefore(X509 *x, const ASN1_TIME *tm); -int X509_set_notAfter(X509 *x, const ASN1_TIME *tm); -int X509_set_pubkey(X509 *x, EVP_PKEY *pkey); -EVP_PKEY * X509_get_pubkey(X509 *x); -ASN1_BIT_STRING * X509_get0_pubkey_bitstr(const X509 *x); -int X509_certificate_type(X509 *x,EVP_PKEY *pubkey /* optional */); - -int X509_REQ_set_version(X509_REQ *x,long version); -int X509_REQ_set_subject_name(X509_REQ *req,X509_NAME *name); -int X509_REQ_set_pubkey(X509_REQ *x, EVP_PKEY *pkey); -EVP_PKEY * X509_REQ_get_pubkey(X509_REQ *req); -int X509_REQ_extension_nid(int nid); -int * X509_REQ_get_extension_nids(void); -void X509_REQ_set_extension_nids(int *nids); -STACK_OF(X509_EXTENSION) *X509_REQ_get_extensions(X509_REQ *req); -int X509_REQ_add_extensions_nid(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts, - int nid); -int X509_REQ_add_extensions(X509_REQ *req, STACK_OF(X509_EXTENSION) *exts); -int X509_REQ_get_attr_count(const X509_REQ *req); -int X509_REQ_get_attr_by_NID(const X509_REQ *req, int nid, - int lastpos); -int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, ASN1_OBJECT *obj, - int lastpos); -X509_ATTRIBUTE *X509_REQ_get_attr(const X509_REQ *req, int loc); -X509_ATTRIBUTE *X509_REQ_delete_attr(X509_REQ *req, int loc); -int X509_REQ_add1_attr(X509_REQ *req, X509_ATTRIBUTE *attr); -int X509_REQ_add1_attr_by_OBJ(X509_REQ *req, - const ASN1_OBJECT *obj, int type, - const unsigned char *bytes, int len); -int X509_REQ_add1_attr_by_NID(X509_REQ *req, - int nid, int type, - const unsigned char *bytes, int len); -int X509_REQ_add1_attr_by_txt(X509_REQ *req, - const char *attrname, int type, - const unsigned char *bytes, int len); - -int X509_CRL_set_version(X509_CRL *x, long version); -int X509_CRL_set_issuer_name(X509_CRL *x, X509_NAME *name); -int X509_CRL_set_lastUpdate(X509_CRL *x, const ASN1_TIME *tm); -int X509_CRL_set_nextUpdate(X509_CRL *x, const ASN1_TIME *tm); -int X509_CRL_sort(X509_CRL *crl); - -int X509_REVOKED_set_serialNumber(X509_REVOKED *x, ASN1_INTEGER *serial); -int X509_REVOKED_set_revocationDate(X509_REVOKED *r, ASN1_TIME *tm); - -int X509_REQ_check_private_key(X509_REQ *x509,EVP_PKEY *pkey); - -int X509_check_private_key(X509 *x509,EVP_PKEY *pkey); - -int X509_issuer_and_serial_cmp(const X509 *a, const X509 *b); -unsigned long X509_issuer_and_serial_hash(X509 *a); - -int X509_issuer_name_cmp(const X509 *a, const X509 *b); -unsigned long X509_issuer_name_hash(X509 *a); - -int X509_subject_name_cmp(const X509 *a, const X509 *b); -unsigned long X509_subject_name_hash(X509 *x); - -#ifndef OPENSSL_NO_MD5 -unsigned long X509_issuer_name_hash_old(X509 *a); -unsigned long X509_subject_name_hash_old(X509 *x); -#endif - -int X509_cmp(const X509 *a, const X509 *b); -int X509_NAME_cmp(const X509_NAME *a, const X509_NAME *b); -unsigned long X509_NAME_hash(X509_NAME *x); -unsigned long X509_NAME_hash_old(X509_NAME *x); - -int X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); -int X509_CRL_match(const X509_CRL *a, const X509_CRL *b); -#ifndef OPENSSL_NO_FP_API -int X509_print_ex_fp(FILE *bp,X509 *x, unsigned long nmflag, unsigned long cflag); -int X509_print_fp(FILE *bp,X509 *x); -int X509_CRL_print_fp(FILE *bp,X509_CRL *x); -int X509_REQ_print_fp(FILE *bp,X509_REQ *req); -int X509_NAME_print_ex_fp(FILE *fp, X509_NAME *nm, int indent, unsigned long flags); -#endif - -#ifndef OPENSSL_NO_BIO -int X509_NAME_print(BIO *bp, X509_NAME *name, int obase); -int X509_NAME_print_ex(BIO *out, X509_NAME *nm, int indent, unsigned long flags); -int X509_print_ex(BIO *bp,X509 *x, unsigned long nmflag, unsigned long cflag); -int X509_print(BIO *bp,X509 *x); -int X509_ocspid_print(BIO *bp,X509 *x); -int X509_CERT_AUX_print(BIO *bp,X509_CERT_AUX *x, int indent); -int X509_CRL_print(BIO *bp,X509_CRL *x); -int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflag, unsigned long cflag); -int X509_REQ_print(BIO *bp,X509_REQ *req); -#endif - -int X509_NAME_entry_count(X509_NAME *name); -int X509_NAME_get_text_by_NID(X509_NAME *name, int nid, - char *buf,int len); -int X509_NAME_get_text_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, - char *buf,int len); - -/* NOTE: you should be passsing -1, not 0 as lastpos. The functions that use - * lastpos, search after that position on. */ -int X509_NAME_get_index_by_NID(X509_NAME *name,int nid,int lastpos); -int X509_NAME_get_index_by_OBJ(X509_NAME *name,ASN1_OBJECT *obj, - int lastpos); -X509_NAME_ENTRY *X509_NAME_get_entry(X509_NAME *name, int loc); -X509_NAME_ENTRY *X509_NAME_delete_entry(X509_NAME *name, int loc); -int X509_NAME_add_entry(X509_NAME *name,X509_NAME_ENTRY *ne, - int loc, int set); -int X509_NAME_add_entry_by_OBJ(X509_NAME *name, ASN1_OBJECT *obj, int type, - unsigned char *bytes, int len, int loc, int set); -int X509_NAME_add_entry_by_NID(X509_NAME *name, int nid, int type, - unsigned char *bytes, int len, int loc, int set); -X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_txt(X509_NAME_ENTRY **ne, - const char *field, int type, const unsigned char *bytes, int len); -X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_NID(X509_NAME_ENTRY **ne, int nid, - int type,unsigned char *bytes, int len); -int X509_NAME_add_entry_by_txt(X509_NAME *name, const char *field, int type, - const unsigned char *bytes, int len, int loc, int set); -X509_NAME_ENTRY *X509_NAME_ENTRY_create_by_OBJ(X509_NAME_ENTRY **ne, - ASN1_OBJECT *obj, int type,const unsigned char *bytes, - int len); -int X509_NAME_ENTRY_set_object(X509_NAME_ENTRY *ne, - ASN1_OBJECT *obj); -int X509_NAME_ENTRY_set_data(X509_NAME_ENTRY *ne, int type, - const unsigned char *bytes, int len); -ASN1_OBJECT * X509_NAME_ENTRY_get_object(X509_NAME_ENTRY *ne); -ASN1_STRING * X509_NAME_ENTRY_get_data(X509_NAME_ENTRY *ne); - -int X509v3_get_ext_count(const STACK_OF(X509_EXTENSION) *x); -int X509v3_get_ext_by_NID(const STACK_OF(X509_EXTENSION) *x, - int nid, int lastpos); -int X509v3_get_ext_by_OBJ(const STACK_OF(X509_EXTENSION) *x, - ASN1_OBJECT *obj,int lastpos); -int X509v3_get_ext_by_critical(const STACK_OF(X509_EXTENSION) *x, - int crit, int lastpos); -X509_EXTENSION *X509v3_get_ext(const STACK_OF(X509_EXTENSION) *x, int loc); -X509_EXTENSION *X509v3_delete_ext(STACK_OF(X509_EXTENSION) *x, int loc); -STACK_OF(X509_EXTENSION) *X509v3_add_ext(STACK_OF(X509_EXTENSION) **x, - X509_EXTENSION *ex, int loc); - -int X509_get_ext_count(X509 *x); -int X509_get_ext_by_NID(X509 *x, int nid, int lastpos); -int X509_get_ext_by_OBJ(X509 *x,ASN1_OBJECT *obj,int lastpos); -int X509_get_ext_by_critical(X509 *x, int crit, int lastpos); -X509_EXTENSION *X509_get_ext(X509 *x, int loc); -X509_EXTENSION *X509_delete_ext(X509 *x, int loc); -int X509_add_ext(X509 *x, X509_EXTENSION *ex, int loc); -void * X509_get_ext_d2i(X509 *x, int nid, int *crit, int *idx); -int X509_add1_ext_i2d(X509 *x, int nid, void *value, int crit, - unsigned long flags); - -int X509_CRL_get_ext_count(X509_CRL *x); -int X509_CRL_get_ext_by_NID(X509_CRL *x, int nid, int lastpos); -int X509_CRL_get_ext_by_OBJ(X509_CRL *x,ASN1_OBJECT *obj,int lastpos); -int X509_CRL_get_ext_by_critical(X509_CRL *x, int crit, int lastpos); -X509_EXTENSION *X509_CRL_get_ext(X509_CRL *x, int loc); -X509_EXTENSION *X509_CRL_delete_ext(X509_CRL *x, int loc); -int X509_CRL_add_ext(X509_CRL *x, X509_EXTENSION *ex, int loc); -void * X509_CRL_get_ext_d2i(X509_CRL *x, int nid, int *crit, int *idx); -int X509_CRL_add1_ext_i2d(X509_CRL *x, int nid, void *value, int crit, - unsigned long flags); - -int X509_REVOKED_get_ext_count(X509_REVOKED *x); -int X509_REVOKED_get_ext_by_NID(X509_REVOKED *x, int nid, int lastpos); -int X509_REVOKED_get_ext_by_OBJ(X509_REVOKED *x,ASN1_OBJECT *obj,int lastpos); -int X509_REVOKED_get_ext_by_critical(X509_REVOKED *x, int crit, int lastpos); -X509_EXTENSION *X509_REVOKED_get_ext(X509_REVOKED *x, int loc); -X509_EXTENSION *X509_REVOKED_delete_ext(X509_REVOKED *x, int loc); -int X509_REVOKED_add_ext(X509_REVOKED *x, X509_EXTENSION *ex, int loc); -void * X509_REVOKED_get_ext_d2i(X509_REVOKED *x, int nid, int *crit, int *idx); -int X509_REVOKED_add1_ext_i2d(X509_REVOKED *x, int nid, void *value, int crit, - unsigned long flags); - -X509_EXTENSION *X509_EXTENSION_create_by_NID(X509_EXTENSION **ex, - int nid, int crit, ASN1_OCTET_STRING *data); -X509_EXTENSION *X509_EXTENSION_create_by_OBJ(X509_EXTENSION **ex, - ASN1_OBJECT *obj,int crit,ASN1_OCTET_STRING *data); -int X509_EXTENSION_set_object(X509_EXTENSION *ex,ASN1_OBJECT *obj); -int X509_EXTENSION_set_critical(X509_EXTENSION *ex, int crit); -int X509_EXTENSION_set_data(X509_EXTENSION *ex, - ASN1_OCTET_STRING *data); -ASN1_OBJECT * X509_EXTENSION_get_object(X509_EXTENSION *ex); -ASN1_OCTET_STRING *X509_EXTENSION_get_data(X509_EXTENSION *ne); -int X509_EXTENSION_get_critical(X509_EXTENSION *ex); - -int X509at_get_attr_count(const STACK_OF(X509_ATTRIBUTE) *x); -int X509at_get_attr_by_NID(const STACK_OF(X509_ATTRIBUTE) *x, int nid, - int lastpos); -int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, ASN1_OBJECT *obj, - int lastpos); -X509_ATTRIBUTE *X509at_get_attr(const STACK_OF(X509_ATTRIBUTE) *x, int loc); -X509_ATTRIBUTE *X509at_delete_attr(STACK_OF(X509_ATTRIBUTE) *x, int loc); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr(STACK_OF(X509_ATTRIBUTE) **x, - X509_ATTRIBUTE *attr); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_OBJ(STACK_OF(X509_ATTRIBUTE) **x, - const ASN1_OBJECT *obj, int type, - const unsigned char *bytes, int len); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_NID(STACK_OF(X509_ATTRIBUTE) **x, - int nid, int type, - const unsigned char *bytes, int len); -STACK_OF(X509_ATTRIBUTE) *X509at_add1_attr_by_txt(STACK_OF(X509_ATTRIBUTE) **x, - const char *attrname, int type, - const unsigned char *bytes, int len); -void *X509at_get0_data_by_OBJ(STACK_OF(X509_ATTRIBUTE) *x, - ASN1_OBJECT *obj, int lastpos, int type); -X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_NID(X509_ATTRIBUTE **attr, int nid, - int atrtype, const void *data, int len); -X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_OBJ(X509_ATTRIBUTE **attr, - const ASN1_OBJECT *obj, int atrtype, const void *data, int len); -X509_ATTRIBUTE *X509_ATTRIBUTE_create_by_txt(X509_ATTRIBUTE **attr, - const char *atrname, int type, const unsigned char *bytes, int len); -int X509_ATTRIBUTE_set1_object(X509_ATTRIBUTE *attr, const ASN1_OBJECT *obj); -int X509_ATTRIBUTE_set1_data(X509_ATTRIBUTE *attr, int attrtype, const void *data, int len); -void *X509_ATTRIBUTE_get0_data(X509_ATTRIBUTE *attr, int idx, - int atrtype, void *data); -int X509_ATTRIBUTE_count(X509_ATTRIBUTE *attr); -ASN1_OBJECT *X509_ATTRIBUTE_get0_object(X509_ATTRIBUTE *attr); -ASN1_TYPE *X509_ATTRIBUTE_get0_type(X509_ATTRIBUTE *attr, int idx); - -int EVP_PKEY_get_attr_count(const EVP_PKEY *key); -int EVP_PKEY_get_attr_by_NID(const EVP_PKEY *key, int nid, - int lastpos); -int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, ASN1_OBJECT *obj, - int lastpos); -X509_ATTRIBUTE *EVP_PKEY_get_attr(const EVP_PKEY *key, int loc); -X509_ATTRIBUTE *EVP_PKEY_delete_attr(EVP_PKEY *key, int loc); -int EVP_PKEY_add1_attr(EVP_PKEY *key, X509_ATTRIBUTE *attr); -int EVP_PKEY_add1_attr_by_OBJ(EVP_PKEY *key, - const ASN1_OBJECT *obj, int type, - const unsigned char *bytes, int len); -int EVP_PKEY_add1_attr_by_NID(EVP_PKEY *key, - int nid, int type, - const unsigned char *bytes, int len); -int EVP_PKEY_add1_attr_by_txt(EVP_PKEY *key, - const char *attrname, int type, - const unsigned char *bytes, int len); - -int X509_verify_cert(X509_STORE_CTX *ctx); - -/* lookup a cert from a X509 STACK */ -X509 *X509_find_by_issuer_and_serial(STACK_OF(X509) *sk,X509_NAME *name, - ASN1_INTEGER *serial); -X509 *X509_find_by_subject(STACK_OF(X509) *sk,X509_NAME *name); - -DECLARE_ASN1_FUNCTIONS(PBEPARAM) -DECLARE_ASN1_FUNCTIONS(PBE2PARAM) -DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM) - -int PKCS5_pbe_set0_algor(X509_ALGOR *algor, int alg, int iter, - const unsigned char *salt, int saltlen); - -X509_ALGOR *PKCS5_pbe_set(int alg, int iter, - const unsigned char *salt, int saltlen); -X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, - unsigned char *salt, int saltlen); -X509_ALGOR *PKCS5_pbe2_set_iv(const EVP_CIPHER *cipher, int iter, - unsigned char *salt, int saltlen, - unsigned char *aiv, int prf_nid); - -X509_ALGOR *PKCS5_pbkdf2_set(int iter, unsigned char *salt, int saltlen, - int prf_nid, int keylen); - -/* PKCS#8 utilities */ - -DECLARE_ASN1_FUNCTIONS(PKCS8_PRIV_KEY_INFO) - -EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8); -PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); -PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8_broken(EVP_PKEY *pkey, int broken); -PKCS8_PRIV_KEY_INFO *PKCS8_set_broken(PKCS8_PRIV_KEY_INFO *p8, int broken); - -int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, - int version, int ptype, void *pval, - unsigned char *penc, int penclen); -int PKCS8_pkey_get0(ASN1_OBJECT **ppkalg, - const unsigned char **pk, int *ppklen, - X509_ALGOR **pa, - PKCS8_PRIV_KEY_INFO *p8); - -int X509_PUBKEY_set0_param(X509_PUBKEY *pub, ASN1_OBJECT *aobj, - int ptype, void *pval, - unsigned char *penc, int penclen); -int X509_PUBKEY_get0_param(ASN1_OBJECT **ppkalg, - const unsigned char **pk, int *ppklen, - X509_ALGOR **pa, - X509_PUBKEY *pub); - -int X509_check_trust(X509 *x, int id, int flags); -int X509_TRUST_get_count(void); -X509_TRUST * X509_TRUST_get0(int idx); -int X509_TRUST_get_by_id(int id); -int X509_TRUST_add(int id, int flags, int (*ck)(X509_TRUST *, X509 *, int), - char *name, int arg1, void *arg2); -void X509_TRUST_cleanup(void); -int X509_TRUST_get_flags(X509_TRUST *xp); -char *X509_TRUST_get0_name(X509_TRUST *xp); -int X509_TRUST_get_trust(X509_TRUST *xp); - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_X509_strings(void); - -/* Error codes for the X509 functions. */ - -/* Function codes. */ -#define X509_F_ADD_CERT_DIR 100 -#define X509_F_BY_FILE_CTRL 101 -#define X509_F_CHECK_POLICY 145 -#define X509_F_DIR_CTRL 102 -#define X509_F_GET_CERT_BY_SUBJECT 103 -#define X509_F_NETSCAPE_SPKI_B64_DECODE 129 -#define X509_F_NETSCAPE_SPKI_B64_ENCODE 130 -#define X509_F_X509AT_ADD1_ATTR 135 -#define X509_F_X509V3_ADD_EXT 104 -#define X509_F_X509_ATTRIBUTE_CREATE_BY_NID 136 -#define X509_F_X509_ATTRIBUTE_CREATE_BY_OBJ 137 -#define X509_F_X509_ATTRIBUTE_CREATE_BY_TXT 140 -#define X509_F_X509_ATTRIBUTE_GET0_DATA 139 -#define X509_F_X509_ATTRIBUTE_SET1_DATA 138 -#define X509_F_X509_CHECK_PRIVATE_KEY 128 -#define X509_F_X509_CRL_PRINT_FP 147 -#define X509_F_X509_EXTENSION_CREATE_BY_NID 108 -#define X509_F_X509_EXTENSION_CREATE_BY_OBJ 109 -#define X509_F_X509_GET_PUBKEY_PARAMETERS 110 -#define X509_F_X509_LOAD_CERT_CRL_FILE 132 -#define X509_F_X509_LOAD_CERT_FILE 111 -#define X509_F_X509_LOAD_CRL_FILE 112 -#define X509_F_X509_NAME_ADD_ENTRY 113 -#define X509_F_X509_NAME_ENTRY_CREATE_BY_NID 114 -#define X509_F_X509_NAME_ENTRY_CREATE_BY_TXT 131 -#define X509_F_X509_NAME_ENTRY_SET_OBJECT 115 -#define X509_F_X509_NAME_ONELINE 116 -#define X509_F_X509_NAME_PRINT 117 -#define X509_F_X509_PRINT_EX_FP 118 -#define X509_F_X509_PUBKEY_GET 119 -#define X509_F_X509_PUBKEY_SET 120 -#define X509_F_X509_REQ_CHECK_PRIVATE_KEY 144 -#define X509_F_X509_REQ_PRINT_EX 121 -#define X509_F_X509_REQ_PRINT_FP 122 -#define X509_F_X509_REQ_TO_X509 123 -#define X509_F_X509_STORE_ADD_CERT 124 -#define X509_F_X509_STORE_ADD_CRL 125 -#define X509_F_X509_STORE_CTX_GET1_ISSUER 146 -#define X509_F_X509_STORE_CTX_INIT 143 -#define X509_F_X509_STORE_CTX_NEW 142 -#define X509_F_X509_STORE_CTX_PURPOSE_INHERIT 134 -#define X509_F_X509_TO_X509_REQ 126 -#define X509_F_X509_TRUST_ADD 133 -#define X509_F_X509_TRUST_SET 141 -#define X509_F_X509_VERIFY_CERT 127 - -/* Reason codes. */ -#define X509_R_BAD_X509_FILETYPE 100 -#define X509_R_BASE64_DECODE_ERROR 118 -#define X509_R_CANT_CHECK_DH_KEY 114 -#define X509_R_CERT_ALREADY_IN_HASH_TABLE 101 -#define X509_R_ERR_ASN1_LIB 102 -#define X509_R_INVALID_DIRECTORY 113 -#define X509_R_INVALID_FIELD_NAME 119 -#define X509_R_INVALID_TRUST 123 -#define X509_R_KEY_TYPE_MISMATCH 115 -#define X509_R_KEY_VALUES_MISMATCH 116 -#define X509_R_LOADING_CERT_DIR 103 -#define X509_R_LOADING_DEFAULTS 104 -#define X509_R_METHOD_NOT_SUPPORTED 124 -#define X509_R_NO_CERT_SET_FOR_US_TO_VERIFY 105 -#define X509_R_PUBLIC_KEY_DECODE_ERROR 125 -#define X509_R_PUBLIC_KEY_ENCODE_ERROR 126 -#define X509_R_SHOULD_RETRY 106 -#define X509_R_UNABLE_TO_FIND_PARAMETERS_IN_CHAIN 107 -#define X509_R_UNABLE_TO_GET_CERTS_PUBLIC_KEY 108 -#define X509_R_UNKNOWN_KEY_TYPE 117 -#define X509_R_UNKNOWN_NID 109 -#define X509_R_UNKNOWN_PURPOSE_ID 121 -#define X509_R_UNKNOWN_TRUST_ID 120 -#define X509_R_UNSUPPORTED_ALGORITHM 111 -#define X509_R_WRONG_LOOKUP_TYPE 112 -#define X509_R_WRONG_TYPE 122 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/include/openssl/x509_vfy.h b/ext/bin/libcrypto/include/openssl/x509_vfy.h deleted file mode 100644 index fe09b30aa..000000000 --- a/ext/bin/libcrypto/include/openssl/x509_vfy.h +++ /dev/null @@ -1,567 +0,0 @@ -/* crypto/x509/x509_vfy.h */ -/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) - * All rights reserved. - * - * This package is an SSL implementation written - * by Eric Young (eay@cryptsoft.com). - * The implementation was written so as to conform with Netscapes SSL. - * - * This library is free for commercial and non-commercial use as long as - * the following conditions are aheared to. The following conditions - * apply to all code found in this distribution, be it the RC4, RSA, - * lhash, DES, etc., code; not just the SSL code. The SSL documentation - * included with this distribution is covered by the same copyright terms - * except that the holder is Tim Hudson (tjh@cryptsoft.com). - * - * Copyright remains Eric Young's, and as such any Copyright notices in - * the code are not to be removed. - * If this package is used in a product, Eric Young should be given attribution - * as the author of the parts of the library used. - * This can be in the form of a textual message at program startup or - * in documentation (online or textual) provided with the package. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * 1. Redistributions of source code must retain the copyright - * notice, this list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * 3. All advertising materials mentioning features or use of this software - * must display the following acknowledgement: - * "This product includes cryptographic software written by - * Eric Young (eay@cryptsoft.com)" - * The word 'cryptographic' can be left out if the rouines from the library - * being used are not cryptographic related :-). - * 4. If you include any Windows specific code (or a derivative thereof) from - * the apps directory (application code) you must include an acknowledgement: - * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" - * - * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE - * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE - * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL - * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS - * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT - * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY - * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF - * SUCH DAMAGE. - * - * The licence and distribution terms for any publically available version or - * derivative of this code cannot be changed. i.e. this code cannot simply be - * copied and put under another distribution licence - * [including the GNU Public Licence.] - */ - -#ifndef HEADER_X509_H -#include -/* openssl/x509.h ends up #include-ing this file at about the only - * appropriate moment. */ -#endif - -#ifndef HEADER_X509_VFY_H -#define HEADER_X509_VFY_H - -#include -#ifndef OPENSSL_NO_LHASH -#include -#endif -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -#if 0 -/* Outer object */ -typedef struct x509_hash_dir_st - { - int num_dirs; - char **dirs; - int *dirs_type; - int num_dirs_alloced; - } X509_HASH_DIR_CTX; -#endif - -typedef struct x509_file_st - { - int num_paths; /* number of paths to files or directories */ - int num_alloced; - char **paths; /* the list of paths or directories */ - int *path_type; - } X509_CERT_FILE_CTX; - -/*******************************/ -/* -SSL_CTX -> X509_STORE - -> X509_LOOKUP - ->X509_LOOKUP_METHOD - -> X509_LOOKUP - ->X509_LOOKUP_METHOD - -SSL -> X509_STORE_CTX - ->X509_STORE - -The X509_STORE holds the tables etc for verification stuff. -A X509_STORE_CTX is used while validating a single certificate. -The X509_STORE has X509_LOOKUPs for looking up certs. -The X509_STORE then calls a function to actually verify the -certificate chain. -*/ - -#define X509_LU_RETRY -1 -#define X509_LU_FAIL 0 -#define X509_LU_X509 1 -#define X509_LU_CRL 2 -#define X509_LU_PKEY 3 - -typedef struct x509_object_st - { - /* one of the above types */ - int type; - union { - char *ptr; - X509 *x509; - X509_CRL *crl; - EVP_PKEY *pkey; - } data; - } X509_OBJECT; - -typedef struct x509_lookup_st X509_LOOKUP; - -DECLARE_STACK_OF(X509_LOOKUP) -DECLARE_STACK_OF(X509_OBJECT) - -/* This is a static that defines the function interface */ -typedef struct x509_lookup_method_st - { - const char *name; - int (*new_item)(X509_LOOKUP *ctx); - void (*free)(X509_LOOKUP *ctx); - int (*init)(X509_LOOKUP *ctx); - int (*shutdown)(X509_LOOKUP *ctx); - int (*ctrl)(X509_LOOKUP *ctx,int cmd,const char *argc,long argl, - char **ret); - int (*get_by_subject)(X509_LOOKUP *ctx,int type,X509_NAME *name, - X509_OBJECT *ret); - int (*get_by_issuer_serial)(X509_LOOKUP *ctx,int type,X509_NAME *name, - ASN1_INTEGER *serial,X509_OBJECT *ret); - int (*get_by_fingerprint)(X509_LOOKUP *ctx,int type, - unsigned char *bytes,int len, - X509_OBJECT *ret); - int (*get_by_alias)(X509_LOOKUP *ctx,int type,char *str,int len, - X509_OBJECT *ret); - } X509_LOOKUP_METHOD; - -/* This structure hold all parameters associated with a verify operation - * by including an X509_VERIFY_PARAM structure in related structures the - * parameters used can be customized - */ - -typedef struct X509_VERIFY_PARAM_st - { - char *name; - time_t check_time; /* Time to use */ - unsigned long inh_flags; /* Inheritance flags */ - unsigned long flags; /* Various verify flags */ - int purpose; /* purpose to check untrusted certificates */ - int trust; /* trust setting to check */ - int depth; /* Verify depth */ - STACK_OF(ASN1_OBJECT) *policies; /* Permissible policies */ - } X509_VERIFY_PARAM; - -DECLARE_STACK_OF(X509_VERIFY_PARAM) - -/* This is used to hold everything. It is used for all certificate - * validation. Once we have a certificate chain, the 'verify' - * function is then called to actually check the cert chain. */ -struct x509_store_st - { - /* The following is a cache of trusted certs */ - int cache; /* if true, stash any hits */ - STACK_OF(X509_OBJECT) *objs; /* Cache of all objects */ - - /* These are external lookup methods */ - STACK_OF(X509_LOOKUP) *get_cert_methods; - - X509_VERIFY_PARAM *param; - - /* Callbacks for various operations */ - int (*verify)(X509_STORE_CTX *ctx); /* called to verify a certificate */ - int (*verify_cb)(int ok,X509_STORE_CTX *ctx); /* error callback */ - int (*get_issuer)(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); /* get issuers cert from ctx */ - int (*check_issued)(X509_STORE_CTX *ctx, X509 *x, X509 *issuer); /* check issued */ - int (*check_revocation)(X509_STORE_CTX *ctx); /* Check revocation status of chain */ - int (*get_crl)(X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); /* retrieve CRL */ - int (*check_crl)(X509_STORE_CTX *ctx, X509_CRL *crl); /* Check CRL validity */ - int (*cert_crl)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); /* Check certificate against CRL */ - STACK_OF(X509) * (*lookup_certs)(X509_STORE_CTX *ctx, X509_NAME *nm); - STACK_OF(X509_CRL) * (*lookup_crls)(X509_STORE_CTX *ctx, X509_NAME *nm); - int (*cleanup)(X509_STORE_CTX *ctx); - - CRYPTO_EX_DATA ex_data; - int references; - } /* X509_STORE */; - -int X509_STORE_set_depth(X509_STORE *store, int depth); - -#define X509_STORE_set_verify_cb_func(ctx,func) ((ctx)->verify_cb=(func)) -#define X509_STORE_set_verify_func(ctx,func) ((ctx)->verify=(func)) - -/* This is the functions plus an instance of the local variables. */ -struct x509_lookup_st - { - int init; /* have we been started */ - int skip; /* don't use us. */ - X509_LOOKUP_METHOD *method; /* the functions */ - char *method_data; /* method data */ - - X509_STORE *store_ctx; /* who owns us */ - } /* X509_LOOKUP */; - -/* This is a used when verifying cert chains. Since the - * gathering of the cert chain can take some time (and have to be - * 'retried', this needs to be kept and passed around. */ -struct x509_store_ctx_st /* X509_STORE_CTX */ - { - X509_STORE *ctx; - int current_method; /* used when looking up certs */ - - /* The following are set by the caller */ - X509 *cert; /* The cert to check */ - STACK_OF(X509) *untrusted; /* chain of X509s - untrusted - passed in */ - STACK_OF(X509_CRL) *crls; /* set of CRLs passed in */ - - X509_VERIFY_PARAM *param; - void *other_ctx; /* Other info for use with get_issuer() */ - - /* Callbacks for various operations */ - int (*verify)(X509_STORE_CTX *ctx); /* called to verify a certificate */ - int (*verify_cb)(int ok,X509_STORE_CTX *ctx); /* error callback */ - int (*get_issuer)(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); /* get issuers cert from ctx */ - int (*check_issued)(X509_STORE_CTX *ctx, X509 *x, X509 *issuer); /* check issued */ - int (*check_revocation)(X509_STORE_CTX *ctx); /* Check revocation status of chain */ - int (*get_crl)(X509_STORE_CTX *ctx, X509_CRL **crl, X509 *x); /* retrieve CRL */ - int (*check_crl)(X509_STORE_CTX *ctx, X509_CRL *crl); /* Check CRL validity */ - int (*cert_crl)(X509_STORE_CTX *ctx, X509_CRL *crl, X509 *x); /* Check certificate against CRL */ - int (*check_policy)(X509_STORE_CTX *ctx); - STACK_OF(X509) * (*lookup_certs)(X509_STORE_CTX *ctx, X509_NAME *nm); - STACK_OF(X509_CRL) * (*lookup_crls)(X509_STORE_CTX *ctx, X509_NAME *nm); - int (*cleanup)(X509_STORE_CTX *ctx); - - /* The following is built up */ - int valid; /* if 0, rebuild chain */ - int last_untrusted; /* index of last untrusted cert */ - STACK_OF(X509) *chain; /* chain of X509s - built up and trusted */ - X509_POLICY_TREE *tree; /* Valid policy tree */ - - int explicit_policy; /* Require explicit policy value */ - - /* When something goes wrong, this is why */ - int error_depth; - int error; - X509 *current_cert; - X509 *current_issuer; /* cert currently being tested as valid issuer */ - X509_CRL *current_crl; /* current CRL */ - - int current_crl_score; /* score of current CRL */ - unsigned int current_reasons; /* Reason mask */ - - X509_STORE_CTX *parent; /* For CRL path validation: parent context */ - - CRYPTO_EX_DATA ex_data; - } /* X509_STORE_CTX */; - -void X509_STORE_CTX_set_depth(X509_STORE_CTX *ctx, int depth); - -#define X509_STORE_CTX_set_app_data(ctx,data) \ - X509_STORE_CTX_set_ex_data(ctx,0,data) -#define X509_STORE_CTX_get_app_data(ctx) \ - X509_STORE_CTX_get_ex_data(ctx,0) - -#define X509_L_FILE_LOAD 1 -#define X509_L_ADD_DIR 2 - -#define X509_LOOKUP_load_file(x,name,type) \ - X509_LOOKUP_ctrl((x),X509_L_FILE_LOAD,(name),(long)(type),NULL) - -#define X509_LOOKUP_add_dir(x,name,type) \ - X509_LOOKUP_ctrl((x),X509_L_ADD_DIR,(name),(long)(type),NULL) - -#define X509_V_OK 0 -/* illegal error (for uninitialized values, to avoid X509_V_OK): 1 */ - -#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT 2 -#define X509_V_ERR_UNABLE_TO_GET_CRL 3 -#define X509_V_ERR_UNABLE_TO_DECRYPT_CERT_SIGNATURE 4 -#define X509_V_ERR_UNABLE_TO_DECRYPT_CRL_SIGNATURE 5 -#define X509_V_ERR_UNABLE_TO_DECODE_ISSUER_PUBLIC_KEY 6 -#define X509_V_ERR_CERT_SIGNATURE_FAILURE 7 -#define X509_V_ERR_CRL_SIGNATURE_FAILURE 8 -#define X509_V_ERR_CERT_NOT_YET_VALID 9 -#define X509_V_ERR_CERT_HAS_EXPIRED 10 -#define X509_V_ERR_CRL_NOT_YET_VALID 11 -#define X509_V_ERR_CRL_HAS_EXPIRED 12 -#define X509_V_ERR_ERROR_IN_CERT_NOT_BEFORE_FIELD 13 -#define X509_V_ERR_ERROR_IN_CERT_NOT_AFTER_FIELD 14 -#define X509_V_ERR_ERROR_IN_CRL_LAST_UPDATE_FIELD 15 -#define X509_V_ERR_ERROR_IN_CRL_NEXT_UPDATE_FIELD 16 -#define X509_V_ERR_OUT_OF_MEM 17 -#define X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT 18 -#define X509_V_ERR_SELF_SIGNED_CERT_IN_CHAIN 19 -#define X509_V_ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY 20 -#define X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE 21 -#define X509_V_ERR_CERT_CHAIN_TOO_LONG 22 -#define X509_V_ERR_CERT_REVOKED 23 -#define X509_V_ERR_INVALID_CA 24 -#define X509_V_ERR_PATH_LENGTH_EXCEEDED 25 -#define X509_V_ERR_INVALID_PURPOSE 26 -#define X509_V_ERR_CERT_UNTRUSTED 27 -#define X509_V_ERR_CERT_REJECTED 28 -/* These are 'informational' when looking for issuer cert */ -#define X509_V_ERR_SUBJECT_ISSUER_MISMATCH 29 -#define X509_V_ERR_AKID_SKID_MISMATCH 30 -#define X509_V_ERR_AKID_ISSUER_SERIAL_MISMATCH 31 -#define X509_V_ERR_KEYUSAGE_NO_CERTSIGN 32 - -#define X509_V_ERR_UNABLE_TO_GET_CRL_ISSUER 33 -#define X509_V_ERR_UNHANDLED_CRITICAL_EXTENSION 34 -#define X509_V_ERR_KEYUSAGE_NO_CRL_SIGN 35 -#define X509_V_ERR_UNHANDLED_CRITICAL_CRL_EXTENSION 36 -#define X509_V_ERR_INVALID_NON_CA 37 -#define X509_V_ERR_PROXY_PATH_LENGTH_EXCEEDED 38 -#define X509_V_ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE 39 -#define X509_V_ERR_PROXY_CERTIFICATES_NOT_ALLOWED 40 - -#define X509_V_ERR_INVALID_EXTENSION 41 -#define X509_V_ERR_INVALID_POLICY_EXTENSION 42 -#define X509_V_ERR_NO_EXPLICIT_POLICY 43 -#define X509_V_ERR_DIFFERENT_CRL_SCOPE 44 -#define X509_V_ERR_UNSUPPORTED_EXTENSION_FEATURE 45 - -#define X509_V_ERR_UNNESTED_RESOURCE 46 - -#define X509_V_ERR_PERMITTED_VIOLATION 47 -#define X509_V_ERR_EXCLUDED_VIOLATION 48 -#define X509_V_ERR_SUBTREE_MINMAX 49 -#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_TYPE 51 -#define X509_V_ERR_UNSUPPORTED_CONSTRAINT_SYNTAX 52 -#define X509_V_ERR_UNSUPPORTED_NAME_SYNTAX 53 -#define X509_V_ERR_CRL_PATH_VALIDATION_ERROR 54 - -/* The application is not happy */ -#define X509_V_ERR_APPLICATION_VERIFICATION 50 - -/* Certificate verify flags */ - -/* Send issuer+subject checks to verify_cb */ -#define X509_V_FLAG_CB_ISSUER_CHECK 0x1 -/* Use check time instead of current time */ -#define X509_V_FLAG_USE_CHECK_TIME 0x2 -/* Lookup CRLs */ -#define X509_V_FLAG_CRL_CHECK 0x4 -/* Lookup CRLs for whole chain */ -#define X509_V_FLAG_CRL_CHECK_ALL 0x8 -/* Ignore unhandled critical extensions */ -#define X509_V_FLAG_IGNORE_CRITICAL 0x10 -/* Disable workarounds for broken certificates */ -#define X509_V_FLAG_X509_STRICT 0x20 -/* Enable proxy certificate validation */ -#define X509_V_FLAG_ALLOW_PROXY_CERTS 0x40 -/* Enable policy checking */ -#define X509_V_FLAG_POLICY_CHECK 0x80 -/* Policy variable require-explicit-policy */ -#define X509_V_FLAG_EXPLICIT_POLICY 0x100 -/* Policy variable inhibit-any-policy */ -#define X509_V_FLAG_INHIBIT_ANY 0x200 -/* Policy variable inhibit-policy-mapping */ -#define X509_V_FLAG_INHIBIT_MAP 0x400 -/* Notify callback that policy is OK */ -#define X509_V_FLAG_NOTIFY_POLICY 0x800 -/* Extended CRL features such as indirect CRLs, alternate CRL signing keys */ -#define X509_V_FLAG_EXTENDED_CRL_SUPPORT 0x1000 -/* Delta CRL support */ -#define X509_V_FLAG_USE_DELTAS 0x2000 -/* Check selfsigned CA signature */ -#define X509_V_FLAG_CHECK_SS_SIGNATURE 0x4000 - - -#define X509_VP_FLAG_DEFAULT 0x1 -#define X509_VP_FLAG_OVERWRITE 0x2 -#define X509_VP_FLAG_RESET_FLAGS 0x4 -#define X509_VP_FLAG_LOCKED 0x8 -#define X509_VP_FLAG_ONCE 0x10 - -/* Internal use: mask of policy related options */ -#define X509_V_FLAG_POLICY_MASK (X509_V_FLAG_POLICY_CHECK \ - | X509_V_FLAG_EXPLICIT_POLICY \ - | X509_V_FLAG_INHIBIT_ANY \ - | X509_V_FLAG_INHIBIT_MAP) - -int X509_OBJECT_idx_by_subject(STACK_OF(X509_OBJECT) *h, int type, - X509_NAME *name); -X509_OBJECT *X509_OBJECT_retrieve_by_subject(STACK_OF(X509_OBJECT) *h,int type,X509_NAME *name); -X509_OBJECT *X509_OBJECT_retrieve_match(STACK_OF(X509_OBJECT) *h, X509_OBJECT *x); -void X509_OBJECT_up_ref_count(X509_OBJECT *a); -void X509_OBJECT_free_contents(X509_OBJECT *a); -X509_STORE *X509_STORE_new(void ); -void X509_STORE_free(X509_STORE *v); - -STACK_OF(X509)* X509_STORE_get1_certs(X509_STORE_CTX *st, X509_NAME *nm); -STACK_OF(X509_CRL)* X509_STORE_get1_crls(X509_STORE_CTX *st, X509_NAME *nm); -int X509_STORE_set_flags(X509_STORE *ctx, unsigned long flags); -int X509_STORE_set_purpose(X509_STORE *ctx, int purpose); -int X509_STORE_set_trust(X509_STORE *ctx, int trust); -int X509_STORE_set1_param(X509_STORE *ctx, X509_VERIFY_PARAM *pm); - -void X509_STORE_set_verify_cb(X509_STORE *ctx, - int (*verify_cb)(int, X509_STORE_CTX *)); - -X509_STORE_CTX *X509_STORE_CTX_new(void); - -int X509_STORE_CTX_get1_issuer(X509 **issuer, X509_STORE_CTX *ctx, X509 *x); - -void X509_STORE_CTX_free(X509_STORE_CTX *ctx); -int X509_STORE_CTX_init(X509_STORE_CTX *ctx, X509_STORE *store, - X509 *x509, STACK_OF(X509) *chain); -void X509_STORE_CTX_trusted_stack(X509_STORE_CTX *ctx, STACK_OF(X509) *sk); -void X509_STORE_CTX_cleanup(X509_STORE_CTX *ctx); - -X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m); - -X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void); -X509_LOOKUP_METHOD *X509_LOOKUP_file(void); - -int X509_STORE_add_cert(X509_STORE *ctx, X509 *x); -int X509_STORE_add_crl(X509_STORE *ctx, X509_CRL *x); - -int X509_STORE_get_by_subject(X509_STORE_CTX *vs,int type,X509_NAME *name, - X509_OBJECT *ret); - -int X509_LOOKUP_ctrl(X509_LOOKUP *ctx, int cmd, const char *argc, - long argl, char **ret); - -#ifndef OPENSSL_NO_STDIO -int X509_load_cert_file(X509_LOOKUP *ctx, const char *file, int type); -int X509_load_crl_file(X509_LOOKUP *ctx, const char *file, int type); -int X509_load_cert_crl_file(X509_LOOKUP *ctx, const char *file, int type); -#endif - - -X509_LOOKUP *X509_LOOKUP_new(X509_LOOKUP_METHOD *method); -void X509_LOOKUP_free(X509_LOOKUP *ctx); -int X509_LOOKUP_init(X509_LOOKUP *ctx); -int X509_LOOKUP_by_subject(X509_LOOKUP *ctx, int type, X509_NAME *name, - X509_OBJECT *ret); -int X509_LOOKUP_by_issuer_serial(X509_LOOKUP *ctx, int type, X509_NAME *name, - ASN1_INTEGER *serial, X509_OBJECT *ret); -int X509_LOOKUP_by_fingerprint(X509_LOOKUP *ctx, int type, - unsigned char *bytes, int len, X509_OBJECT *ret); -int X509_LOOKUP_by_alias(X509_LOOKUP *ctx, int type, char *str, - int len, X509_OBJECT *ret); -int X509_LOOKUP_shutdown(X509_LOOKUP *ctx); - -#ifndef OPENSSL_NO_STDIO -int X509_STORE_load_locations (X509_STORE *ctx, - const char *file, const char *dir); -int X509_STORE_set_default_paths(X509_STORE *ctx); -#endif - -int X509_STORE_CTX_get_ex_new_index(long argl, void *argp, CRYPTO_EX_new *new_func, - CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func); -int X509_STORE_CTX_set_ex_data(X509_STORE_CTX *ctx,int idx,void *data); -void * X509_STORE_CTX_get_ex_data(X509_STORE_CTX *ctx,int idx); -int X509_STORE_CTX_get_error(X509_STORE_CTX *ctx); -void X509_STORE_CTX_set_error(X509_STORE_CTX *ctx,int s); -int X509_STORE_CTX_get_error_depth(X509_STORE_CTX *ctx); -X509 * X509_STORE_CTX_get_current_cert(X509_STORE_CTX *ctx); -X509 *X509_STORE_CTX_get0_current_issuer(X509_STORE_CTX *ctx); -X509_CRL *X509_STORE_CTX_get0_current_crl(X509_STORE_CTX *ctx); -X509_STORE_CTX *X509_STORE_CTX_get0_parent_ctx(X509_STORE_CTX *ctx); -STACK_OF(X509) *X509_STORE_CTX_get_chain(X509_STORE_CTX *ctx); -STACK_OF(X509) *X509_STORE_CTX_get1_chain(X509_STORE_CTX *ctx); -void X509_STORE_CTX_set_cert(X509_STORE_CTX *c,X509 *x); -void X509_STORE_CTX_set_chain(X509_STORE_CTX *c,STACK_OF(X509) *sk); -void X509_STORE_CTX_set0_crls(X509_STORE_CTX *c,STACK_OF(X509_CRL) *sk); -int X509_STORE_CTX_set_purpose(X509_STORE_CTX *ctx, int purpose); -int X509_STORE_CTX_set_trust(X509_STORE_CTX *ctx, int trust); -int X509_STORE_CTX_purpose_inherit(X509_STORE_CTX *ctx, int def_purpose, - int purpose, int trust); -void X509_STORE_CTX_set_flags(X509_STORE_CTX *ctx, unsigned long flags); -void X509_STORE_CTX_set_time(X509_STORE_CTX *ctx, unsigned long flags, - time_t t); -void X509_STORE_CTX_set_verify_cb(X509_STORE_CTX *ctx, - int (*verify_cb)(int, X509_STORE_CTX *)); - -X509_POLICY_TREE *X509_STORE_CTX_get0_policy_tree(X509_STORE_CTX *ctx); -int X509_STORE_CTX_get_explicit_policy(X509_STORE_CTX *ctx); - -X509_VERIFY_PARAM *X509_STORE_CTX_get0_param(X509_STORE_CTX *ctx); -void X509_STORE_CTX_set0_param(X509_STORE_CTX *ctx, X509_VERIFY_PARAM *param); -int X509_STORE_CTX_set_default(X509_STORE_CTX *ctx, const char *name); - -/* X509_VERIFY_PARAM functions */ - -X509_VERIFY_PARAM *X509_VERIFY_PARAM_new(void); -void X509_VERIFY_PARAM_free(X509_VERIFY_PARAM *param); -int X509_VERIFY_PARAM_inherit(X509_VERIFY_PARAM *to, - const X509_VERIFY_PARAM *from); -int X509_VERIFY_PARAM_set1(X509_VERIFY_PARAM *to, - const X509_VERIFY_PARAM *from); -int X509_VERIFY_PARAM_set1_name(X509_VERIFY_PARAM *param, const char *name); -int X509_VERIFY_PARAM_set_flags(X509_VERIFY_PARAM *param, unsigned long flags); -int X509_VERIFY_PARAM_clear_flags(X509_VERIFY_PARAM *param, - unsigned long flags); -unsigned long X509_VERIFY_PARAM_get_flags(X509_VERIFY_PARAM *param); -int X509_VERIFY_PARAM_set_purpose(X509_VERIFY_PARAM *param, int purpose); -int X509_VERIFY_PARAM_set_trust(X509_VERIFY_PARAM *param, int trust); -void X509_VERIFY_PARAM_set_depth(X509_VERIFY_PARAM *param, int depth); -void X509_VERIFY_PARAM_set_time(X509_VERIFY_PARAM *param, time_t t); -int X509_VERIFY_PARAM_add0_policy(X509_VERIFY_PARAM *param, - ASN1_OBJECT *policy); -int X509_VERIFY_PARAM_set1_policies(X509_VERIFY_PARAM *param, - STACK_OF(ASN1_OBJECT) *policies); -int X509_VERIFY_PARAM_get_depth(const X509_VERIFY_PARAM *param); - -int X509_VERIFY_PARAM_add0_table(X509_VERIFY_PARAM *param); -const X509_VERIFY_PARAM *X509_VERIFY_PARAM_lookup(const char *name); -void X509_VERIFY_PARAM_table_cleanup(void); - -int X509_policy_check(X509_POLICY_TREE **ptree, int *pexplicit_policy, - STACK_OF(X509) *certs, - STACK_OF(ASN1_OBJECT) *policy_oids, - unsigned int flags); - -void X509_policy_tree_free(X509_POLICY_TREE *tree); - -int X509_policy_tree_level_count(const X509_POLICY_TREE *tree); -X509_POLICY_LEVEL * - X509_policy_tree_get0_level(const X509_POLICY_TREE *tree, int i); - -STACK_OF(X509_POLICY_NODE) * - X509_policy_tree_get0_policies(const X509_POLICY_TREE *tree); - -STACK_OF(X509_POLICY_NODE) * - X509_policy_tree_get0_user_policies(const X509_POLICY_TREE *tree); - -int X509_policy_level_node_count(X509_POLICY_LEVEL *level); - -X509_POLICY_NODE *X509_policy_level_get0_node(X509_POLICY_LEVEL *level, int i); - -const ASN1_OBJECT *X509_policy_node_get0_policy(const X509_POLICY_NODE *node); - -STACK_OF(POLICYQUALINFO) * - X509_policy_node_get0_qualifiers(const X509_POLICY_NODE *node); -const X509_POLICY_NODE * - X509_policy_node_get0_parent(const X509_POLICY_NODE *node); - -#ifdef __cplusplus -} -#endif -#endif - diff --git a/ext/bin/libcrypto/include/openssl/x509v3.h b/ext/bin/libcrypto/include/openssl/x509v3.h deleted file mode 100644 index b308abe7c..000000000 --- a/ext/bin/libcrypto/include/openssl/x509v3.h +++ /dev/null @@ -1,1007 +0,0 @@ -/* x509v3.h */ -/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL - * project 1999. - */ -/* ==================================================================== - * Copyright (c) 1999-2004 The OpenSSL Project. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions - * are met: - * - * 1. Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * - * 2. Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in - * the documentation and/or other materials provided with the - * distribution. - * - * 3. All advertising materials mentioning features or use of this - * software must display the following acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" - * - * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to - * endorse or promote products derived from this software without - * prior written permission. For written permission, please contact - * licensing@OpenSSL.org. - * - * 5. Products derived from this software may not be called "OpenSSL" - * nor may "OpenSSL" appear in their names without prior written - * permission of the OpenSSL Project. - * - * 6. Redistributions of any form whatsoever must retain the following - * acknowledgment: - * "This product includes software developed by the OpenSSL Project - * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" - * - * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY - * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE - * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR - * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, - * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT - * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) - * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, - * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) - * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED - * OF THE POSSIBILITY OF SUCH DAMAGE. - * ==================================================================== - * - * This product includes cryptographic software written by Eric Young - * (eay@cryptsoft.com). This product includes software written by Tim - * Hudson (tjh@cryptsoft.com). - * - */ -#ifndef HEADER_X509V3_H -#define HEADER_X509V3_H - -#include -#include -#include - -#ifdef __cplusplus -extern "C" { -#endif - -/* Forward reference */ -struct v3_ext_method; -struct v3_ext_ctx; - -/* Useful typedefs */ - -typedef void * (*X509V3_EXT_NEW)(void); -typedef void (*X509V3_EXT_FREE)(void *); -typedef void * (*X509V3_EXT_D2I)(void *, const unsigned char ** , long); -typedef int (*X509V3_EXT_I2D)(void *, unsigned char **); -typedef STACK_OF(CONF_VALUE) * - (*X509V3_EXT_I2V)(const struct v3_ext_method *method, void *ext, - STACK_OF(CONF_VALUE) *extlist); -typedef void * (*X509V3_EXT_V2I)(const struct v3_ext_method *method, - struct v3_ext_ctx *ctx, - STACK_OF(CONF_VALUE) *values); -typedef char * (*X509V3_EXT_I2S)(const struct v3_ext_method *method, void *ext); -typedef void * (*X509V3_EXT_S2I)(const struct v3_ext_method *method, - struct v3_ext_ctx *ctx, const char *str); -typedef int (*X509V3_EXT_I2R)(const struct v3_ext_method *method, void *ext, - BIO *out, int indent); -typedef void * (*X509V3_EXT_R2I)(const struct v3_ext_method *method, - struct v3_ext_ctx *ctx, const char *str); - -/* V3 extension structure */ - -struct v3_ext_method { -int ext_nid; -int ext_flags; -/* If this is set the following four fields are ignored */ -ASN1_ITEM_EXP *it; -/* Old style ASN1 calls */ -X509V3_EXT_NEW ext_new; -X509V3_EXT_FREE ext_free; -X509V3_EXT_D2I d2i; -X509V3_EXT_I2D i2d; - -/* The following pair is used for string extensions */ -X509V3_EXT_I2S i2s; -X509V3_EXT_S2I s2i; - -/* The following pair is used for multi-valued extensions */ -X509V3_EXT_I2V i2v; -X509V3_EXT_V2I v2i; - -/* The following are used for raw extensions */ -X509V3_EXT_I2R i2r; -X509V3_EXT_R2I r2i; - -void *usr_data; /* Any extension specific data */ -}; - -typedef struct X509V3_CONF_METHOD_st { -char * (*get_string)(void *db, char *section, char *value); -STACK_OF(CONF_VALUE) * (*get_section)(void *db, char *section); -void (*free_string)(void *db, char * string); -void (*free_section)(void *db, STACK_OF(CONF_VALUE) *section); -} X509V3_CONF_METHOD; - -/* Context specific info */ -struct v3_ext_ctx { -#define CTX_TEST 0x1 -int flags; -X509 *issuer_cert; -X509 *subject_cert; -X509_REQ *subject_req; -X509_CRL *crl; -X509V3_CONF_METHOD *db_meth; -void *db; -/* Maybe more here */ -}; - -typedef struct v3_ext_method X509V3_EXT_METHOD; - -DECLARE_STACK_OF(X509V3_EXT_METHOD) - -/* ext_flags values */ -#define X509V3_EXT_DYNAMIC 0x1 -#define X509V3_EXT_CTX_DEP 0x2 -#define X509V3_EXT_MULTILINE 0x4 - -typedef BIT_STRING_BITNAME ENUMERATED_NAMES; - -typedef struct BASIC_CONSTRAINTS_st { -int ca; -ASN1_INTEGER *pathlen; -} BASIC_CONSTRAINTS; - - -typedef struct PKEY_USAGE_PERIOD_st { -ASN1_GENERALIZEDTIME *notBefore; -ASN1_GENERALIZEDTIME *notAfter; -} PKEY_USAGE_PERIOD; - -typedef struct otherName_st { -ASN1_OBJECT *type_id; -ASN1_TYPE *value; -} OTHERNAME; - -typedef struct EDIPartyName_st { - ASN1_STRING *nameAssigner; - ASN1_STRING *partyName; -} EDIPARTYNAME; - -typedef struct GENERAL_NAME_st { - -#define GEN_OTHERNAME 0 -#define GEN_EMAIL 1 -#define GEN_DNS 2 -#define GEN_X400 3 -#define GEN_DIRNAME 4 -#define GEN_EDIPARTY 5 -#define GEN_URI 6 -#define GEN_IPADD 7 -#define GEN_RID 8 - -int type; -union { - char *ptr; - OTHERNAME *otherName; /* otherName */ - ASN1_IA5STRING *rfc822Name; - ASN1_IA5STRING *dNSName; - ASN1_TYPE *x400Address; - X509_NAME *directoryName; - EDIPARTYNAME *ediPartyName; - ASN1_IA5STRING *uniformResourceIdentifier; - ASN1_OCTET_STRING *iPAddress; - ASN1_OBJECT *registeredID; - - /* Old names */ - ASN1_OCTET_STRING *ip; /* iPAddress */ - X509_NAME *dirn; /* dirn */ - ASN1_IA5STRING *ia5;/* rfc822Name, dNSName, uniformResourceIdentifier */ - ASN1_OBJECT *rid; /* registeredID */ - ASN1_TYPE *other; /* x400Address */ -} d; -} GENERAL_NAME; - -typedef STACK_OF(GENERAL_NAME) GENERAL_NAMES; - -typedef struct ACCESS_DESCRIPTION_st { - ASN1_OBJECT *method; - GENERAL_NAME *location; -} ACCESS_DESCRIPTION; - -typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; - -typedef STACK_OF(ASN1_OBJECT) EXTENDED_KEY_USAGE; - -DECLARE_STACK_OF(GENERAL_NAME) -DECLARE_ASN1_SET_OF(GENERAL_NAME) - -DECLARE_STACK_OF(ACCESS_DESCRIPTION) -DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION) - -typedef struct DIST_POINT_NAME_st { -int type; -union { - GENERAL_NAMES *fullname; - STACK_OF(X509_NAME_ENTRY) *relativename; -} name; -/* If relativename then this contains the full distribution point name */ -X509_NAME *dpname; -} DIST_POINT_NAME; -/* All existing reasons */ -#define CRLDP_ALL_REASONS 0x807f - -#define CRL_REASON_NONE -1 -#define CRL_REASON_UNSPECIFIED 0 -#define CRL_REASON_KEY_COMPROMISE 1 -#define CRL_REASON_CA_COMPROMISE 2 -#define CRL_REASON_AFFILIATION_CHANGED 3 -#define CRL_REASON_SUPERSEDED 4 -#define CRL_REASON_CESSATION_OF_OPERATION 5 -#define CRL_REASON_CERTIFICATE_HOLD 6 -#define CRL_REASON_REMOVE_FROM_CRL 8 -#define CRL_REASON_PRIVILEGE_WITHDRAWN 9 -#define CRL_REASON_AA_COMPROMISE 10 - -struct DIST_POINT_st { -DIST_POINT_NAME *distpoint; -ASN1_BIT_STRING *reasons; -GENERAL_NAMES *CRLissuer; -int dp_reasons; -}; - -typedef STACK_OF(DIST_POINT) CRL_DIST_POINTS; - -DECLARE_STACK_OF(DIST_POINT) -DECLARE_ASN1_SET_OF(DIST_POINT) - -struct AUTHORITY_KEYID_st { -ASN1_OCTET_STRING *keyid; -GENERAL_NAMES *issuer; -ASN1_INTEGER *serial; -}; - -/* Strong extranet structures */ - -typedef struct SXNET_ID_st { - ASN1_INTEGER *zone; - ASN1_OCTET_STRING *user; -} SXNETID; - -DECLARE_STACK_OF(SXNETID) -DECLARE_ASN1_SET_OF(SXNETID) - -typedef struct SXNET_st { - ASN1_INTEGER *version; - STACK_OF(SXNETID) *ids; -} SXNET; - -typedef struct NOTICEREF_st { - ASN1_STRING *organization; - STACK_OF(ASN1_INTEGER) *noticenos; -} NOTICEREF; - -typedef struct USERNOTICE_st { - NOTICEREF *noticeref; - ASN1_STRING *exptext; -} USERNOTICE; - -typedef struct POLICYQUALINFO_st { - ASN1_OBJECT *pqualid; - union { - ASN1_IA5STRING *cpsuri; - USERNOTICE *usernotice; - ASN1_TYPE *other; - } d; -} POLICYQUALINFO; - -DECLARE_STACK_OF(POLICYQUALINFO) -DECLARE_ASN1_SET_OF(POLICYQUALINFO) - -typedef struct POLICYINFO_st { - ASN1_OBJECT *policyid; - STACK_OF(POLICYQUALINFO) *qualifiers; -} POLICYINFO; - -typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; - -DECLARE_STACK_OF(POLICYINFO) -DECLARE_ASN1_SET_OF(POLICYINFO) - -typedef struct POLICY_MAPPING_st { - ASN1_OBJECT *issuerDomainPolicy; - ASN1_OBJECT *subjectDomainPolicy; -} POLICY_MAPPING; - -DECLARE_STACK_OF(POLICY_MAPPING) - -typedef STACK_OF(POLICY_MAPPING) POLICY_MAPPINGS; - -typedef struct GENERAL_SUBTREE_st { - GENERAL_NAME *base; - ASN1_INTEGER *minimum; - ASN1_INTEGER *maximum; -} GENERAL_SUBTREE; - -DECLARE_STACK_OF(GENERAL_SUBTREE) - -struct NAME_CONSTRAINTS_st { - STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; - STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; -}; - -typedef struct POLICY_CONSTRAINTS_st { - ASN1_INTEGER *requireExplicitPolicy; - ASN1_INTEGER *inhibitPolicyMapping; -} POLICY_CONSTRAINTS; - -/* Proxy certificate structures, see RFC 3820 */ -typedef struct PROXY_POLICY_st - { - ASN1_OBJECT *policyLanguage; - ASN1_OCTET_STRING *policy; - } PROXY_POLICY; - -typedef struct PROXY_CERT_INFO_EXTENSION_st - { - ASN1_INTEGER *pcPathLengthConstraint; - PROXY_POLICY *proxyPolicy; - } PROXY_CERT_INFO_EXTENSION; - -DECLARE_ASN1_FUNCTIONS(PROXY_POLICY) -DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) - -struct ISSUING_DIST_POINT_st - { - DIST_POINT_NAME *distpoint; - int onlyuser; - int onlyCA; - ASN1_BIT_STRING *onlysomereasons; - int indirectCRL; - int onlyattr; - }; - -/* Values in idp_flags field */ -/* IDP present */ -#define IDP_PRESENT 0x1 -/* IDP values inconsistent */ -#define IDP_INVALID 0x2 -/* onlyuser true */ -#define IDP_ONLYUSER 0x4 -/* onlyCA true */ -#define IDP_ONLYCA 0x8 -/* onlyattr true */ -#define IDP_ONLYATTR 0x10 -/* indirectCRL true */ -#define IDP_INDIRECT 0x20 -/* onlysomereasons present */ -#define IDP_REASONS 0x40 - -#define X509V3_conf_err(val) ERR_add_error_data(6, "section:", val->section, \ -",name:", val->name, ",value:", val->value); - -#define X509V3_set_ctx_test(ctx) \ - X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) -#define X509V3_set_ctx_nodb(ctx) (ctx)->db = NULL; - -#define EXT_BITSTRING(nid, table) { nid, 0, ASN1_ITEM_ref(ASN1_BIT_STRING), \ - 0,0,0,0, \ - 0,0, \ - (X509V3_EXT_I2V)i2v_ASN1_BIT_STRING, \ - (X509V3_EXT_V2I)v2i_ASN1_BIT_STRING, \ - NULL, NULL, \ - table} - -#define EXT_IA5STRING(nid) { nid, 0, ASN1_ITEM_ref(ASN1_IA5STRING), \ - 0,0,0,0, \ - (X509V3_EXT_I2S)i2s_ASN1_IA5STRING, \ - (X509V3_EXT_S2I)s2i_ASN1_IA5STRING, \ - 0,0,0,0, \ - NULL} - -#define EXT_END { -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0} - - -/* X509_PURPOSE stuff */ - -#define EXFLAG_BCONS 0x1 -#define EXFLAG_KUSAGE 0x2 -#define EXFLAG_XKUSAGE 0x4 -#define EXFLAG_NSCERT 0x8 - -#define EXFLAG_CA 0x10 -/* Really self issued not necessarily self signed */ -#define EXFLAG_SI 0x20 -#define EXFLAG_SS 0x20 -#define EXFLAG_V1 0x40 -#define EXFLAG_INVALID 0x80 -#define EXFLAG_SET 0x100 -#define EXFLAG_CRITICAL 0x200 -#define EXFLAG_PROXY 0x400 - -#define EXFLAG_INVALID_POLICY 0x800 -#define EXFLAG_FRESHEST 0x1000 - -#define KU_DIGITAL_SIGNATURE 0x0080 -#define KU_NON_REPUDIATION 0x0040 -#define KU_KEY_ENCIPHERMENT 0x0020 -#define KU_DATA_ENCIPHERMENT 0x0010 -#define KU_KEY_AGREEMENT 0x0008 -#define KU_KEY_CERT_SIGN 0x0004 -#define KU_CRL_SIGN 0x0002 -#define KU_ENCIPHER_ONLY 0x0001 -#define KU_DECIPHER_ONLY 0x8000 - -#define NS_SSL_CLIENT 0x80 -#define NS_SSL_SERVER 0x40 -#define NS_SMIME 0x20 -#define NS_OBJSIGN 0x10 -#define NS_SSL_CA 0x04 -#define NS_SMIME_CA 0x02 -#define NS_OBJSIGN_CA 0x01 -#define NS_ANY_CA (NS_SSL_CA|NS_SMIME_CA|NS_OBJSIGN_CA) - -#define XKU_SSL_SERVER 0x1 -#define XKU_SSL_CLIENT 0x2 -#define XKU_SMIME 0x4 -#define XKU_CODE_SIGN 0x8 -#define XKU_SGC 0x10 -#define XKU_OCSP_SIGN 0x20 -#define XKU_TIMESTAMP 0x40 -#define XKU_DVCS 0x80 - -#define X509_PURPOSE_DYNAMIC 0x1 -#define X509_PURPOSE_DYNAMIC_NAME 0x2 - -typedef struct x509_purpose_st { - int purpose; - int trust; /* Default trust ID */ - int flags; - int (*check_purpose)(const struct x509_purpose_st *, - const X509 *, int); - char *name; - char *sname; - void *usr_data; -} X509_PURPOSE; - -#define X509_PURPOSE_SSL_CLIENT 1 -#define X509_PURPOSE_SSL_SERVER 2 -#define X509_PURPOSE_NS_SSL_SERVER 3 -#define X509_PURPOSE_SMIME_SIGN 4 -#define X509_PURPOSE_SMIME_ENCRYPT 5 -#define X509_PURPOSE_CRL_SIGN 6 -#define X509_PURPOSE_ANY 7 -#define X509_PURPOSE_OCSP_HELPER 8 -#define X509_PURPOSE_TIMESTAMP_SIGN 9 - -#define X509_PURPOSE_MIN 1 -#define X509_PURPOSE_MAX 9 - -/* Flags for X509V3_EXT_print() */ - -#define X509V3_EXT_UNKNOWN_MASK (0xfL << 16) -/* Return error for unknown extensions */ -#define X509V3_EXT_DEFAULT 0 -/* Print error for unknown extensions */ -#define X509V3_EXT_ERROR_UNKNOWN (1L << 16) -/* ASN1 parse unknown extensions */ -#define X509V3_EXT_PARSE_UNKNOWN (2L << 16) -/* BIO_dump unknown extensions */ -#define X509V3_EXT_DUMP_UNKNOWN (3L << 16) - -/* Flags for X509V3_add1_i2d */ - -#define X509V3_ADD_OP_MASK 0xfL -#define X509V3_ADD_DEFAULT 0L -#define X509V3_ADD_APPEND 1L -#define X509V3_ADD_REPLACE 2L -#define X509V3_ADD_REPLACE_EXISTING 3L -#define X509V3_ADD_KEEP_EXISTING 4L -#define X509V3_ADD_DELETE 5L -#define X509V3_ADD_SILENT 0x10 - -DECLARE_STACK_OF(X509_PURPOSE) - -DECLARE_ASN1_FUNCTIONS(BASIC_CONSTRAINTS) - -DECLARE_ASN1_FUNCTIONS(SXNET) -DECLARE_ASN1_FUNCTIONS(SXNETID) - -int SXNET_add_id_asc(SXNET **psx, char *zone, char *user, int userlen); -int SXNET_add_id_ulong(SXNET **psx, unsigned long lzone, char *user, int userlen); -int SXNET_add_id_INTEGER(SXNET **psx, ASN1_INTEGER *izone, char *user, int userlen); - -ASN1_OCTET_STRING *SXNET_get_id_asc(SXNET *sx, char *zone); -ASN1_OCTET_STRING *SXNET_get_id_ulong(SXNET *sx, unsigned long lzone); -ASN1_OCTET_STRING *SXNET_get_id_INTEGER(SXNET *sx, ASN1_INTEGER *zone); - -DECLARE_ASN1_FUNCTIONS(AUTHORITY_KEYID) - -DECLARE_ASN1_FUNCTIONS(PKEY_USAGE_PERIOD) - -DECLARE_ASN1_FUNCTIONS(GENERAL_NAME) -GENERAL_NAME *GENERAL_NAME_dup(GENERAL_NAME *a); -int GENERAL_NAME_cmp(GENERAL_NAME *a, GENERAL_NAME *b); - - - -ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); -STACK_OF(CONF_VALUE) *i2v_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, - ASN1_BIT_STRING *bits, - STACK_OF(CONF_VALUE) *extlist); - -STACK_OF(CONF_VALUE) *i2v_GENERAL_NAME(X509V3_EXT_METHOD *method, GENERAL_NAME *gen, STACK_OF(CONF_VALUE) *ret); -int GENERAL_NAME_print(BIO *out, GENERAL_NAME *gen); - -DECLARE_ASN1_FUNCTIONS(GENERAL_NAMES) - -STACK_OF(CONF_VALUE) *i2v_GENERAL_NAMES(X509V3_EXT_METHOD *method, - GENERAL_NAMES *gen, STACK_OF(CONF_VALUE) *extlist); -GENERAL_NAMES *v2i_GENERAL_NAMES(const X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); - -DECLARE_ASN1_FUNCTIONS(OTHERNAME) -DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) -int OTHERNAME_cmp(OTHERNAME *a, OTHERNAME *b); -void GENERAL_NAME_set0_value(GENERAL_NAME *a, int type, void *value); -void *GENERAL_NAME_get0_value(GENERAL_NAME *a, int *ptype); -int GENERAL_NAME_set0_othername(GENERAL_NAME *gen, - ASN1_OBJECT *oid, ASN1_TYPE *value); -int GENERAL_NAME_get0_otherName(GENERAL_NAME *gen, - ASN1_OBJECT **poid, ASN1_TYPE **pvalue); - -char *i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, ASN1_OCTET_STRING *ia5); -ASN1_OCTET_STRING *s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str); - -DECLARE_ASN1_FUNCTIONS(EXTENDED_KEY_USAGE) -int i2a_ACCESS_DESCRIPTION(BIO *bp, ACCESS_DESCRIPTION* a); - -DECLARE_ASN1_FUNCTIONS(CERTIFICATEPOLICIES) -DECLARE_ASN1_FUNCTIONS(POLICYINFO) -DECLARE_ASN1_FUNCTIONS(POLICYQUALINFO) -DECLARE_ASN1_FUNCTIONS(USERNOTICE) -DECLARE_ASN1_FUNCTIONS(NOTICEREF) - -DECLARE_ASN1_FUNCTIONS(CRL_DIST_POINTS) -DECLARE_ASN1_FUNCTIONS(DIST_POINT) -DECLARE_ASN1_FUNCTIONS(DIST_POINT_NAME) -DECLARE_ASN1_FUNCTIONS(ISSUING_DIST_POINT) - -int DIST_POINT_set_dpname(DIST_POINT_NAME *dpn, X509_NAME *iname); - -int NAME_CONSTRAINTS_check(X509 *x, NAME_CONSTRAINTS *nc); - -DECLARE_ASN1_FUNCTIONS(ACCESS_DESCRIPTION) -DECLARE_ASN1_FUNCTIONS(AUTHORITY_INFO_ACCESS) - -DECLARE_ASN1_ITEM(POLICY_MAPPING) -DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_MAPPING) -DECLARE_ASN1_ITEM(POLICY_MAPPINGS) - -DECLARE_ASN1_ITEM(GENERAL_SUBTREE) -DECLARE_ASN1_ALLOC_FUNCTIONS(GENERAL_SUBTREE) - -DECLARE_ASN1_ITEM(NAME_CONSTRAINTS) -DECLARE_ASN1_ALLOC_FUNCTIONS(NAME_CONSTRAINTS) - -DECLARE_ASN1_ALLOC_FUNCTIONS(POLICY_CONSTRAINTS) -DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS) - -GENERAL_NAME *a2i_GENERAL_NAME(GENERAL_NAME *out, - const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, - int gen_type, char *value, int is_nc); - -#ifdef HEADER_CONF_H -GENERAL_NAME *v2i_GENERAL_NAME(const X509V3_EXT_METHOD *method, X509V3_CTX *ctx, - CONF_VALUE *cnf); -GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, - const X509V3_EXT_METHOD *method, - X509V3_CTX *ctx, CONF_VALUE *cnf, int is_nc); -void X509V3_conf_free(CONF_VALUE *val); - -X509_EXTENSION *X509V3_EXT_nconf_nid(CONF *conf, X509V3_CTX *ctx, int ext_nid, char *value); -X509_EXTENSION *X509V3_EXT_nconf(CONF *conf, X509V3_CTX *ctx, char *name, char *value); -int X509V3_EXT_add_nconf_sk(CONF *conf, X509V3_CTX *ctx, char *section, STACK_OF(X509_EXTENSION) **sk); -int X509V3_EXT_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509 *cert); -int X509V3_EXT_REQ_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509_REQ *req); -int X509V3_EXT_CRL_add_nconf(CONF *conf, X509V3_CTX *ctx, char *section, X509_CRL *crl); - -X509_EXTENSION *X509V3_EXT_conf_nid(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - int ext_nid, char *value); -X509_EXTENSION *X509V3_EXT_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *name, char *value); -int X509V3_EXT_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *section, X509 *cert); -int X509V3_EXT_REQ_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *section, X509_REQ *req); -int X509V3_EXT_CRL_add_conf(LHASH_OF(CONF_VALUE) *conf, X509V3_CTX *ctx, - char *section, X509_CRL *crl); - -int X509V3_add_value_bool_nf(char *name, int asn1_bool, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_get_value_bool(CONF_VALUE *value, int *asn1_bool); -int X509V3_get_value_int(CONF_VALUE *value, ASN1_INTEGER **aint); -void X509V3_set_nconf(X509V3_CTX *ctx, CONF *conf); -void X509V3_set_conf_lhash(X509V3_CTX *ctx, LHASH_OF(CONF_VALUE) *lhash); -#endif - -char * X509V3_get_string(X509V3_CTX *ctx, char *name, char *section); -STACK_OF(CONF_VALUE) * X509V3_get_section(X509V3_CTX *ctx, char *section); -void X509V3_string_free(X509V3_CTX *ctx, char *str); -void X509V3_section_free( X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *section); -void X509V3_set_ctx(X509V3_CTX *ctx, X509 *issuer, X509 *subject, - X509_REQ *req, X509_CRL *crl, int flags); - -int X509V3_add_value(const char *name, const char *value, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_add_value_uchar(const char *name, const unsigned char *value, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_add_value_bool(const char *name, int asn1_bool, - STACK_OF(CONF_VALUE) **extlist); -int X509V3_add_value_int(const char *name, ASN1_INTEGER *aint, - STACK_OF(CONF_VALUE) **extlist); -char * i2s_ASN1_INTEGER(X509V3_EXT_METHOD *meth, ASN1_INTEGER *aint); -ASN1_INTEGER * s2i_ASN1_INTEGER(X509V3_EXT_METHOD *meth, char *value); -char * i2s_ASN1_ENUMERATED(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint); -char * i2s_ASN1_ENUMERATED_TABLE(X509V3_EXT_METHOD *meth, ASN1_ENUMERATED *aint); -int X509V3_EXT_add(X509V3_EXT_METHOD *ext); -int X509V3_EXT_add_list(X509V3_EXT_METHOD *extlist); -int X509V3_EXT_add_alias(int nid_to, int nid_from); -void X509V3_EXT_cleanup(void); - -const X509V3_EXT_METHOD *X509V3_EXT_get(X509_EXTENSION *ext); -const X509V3_EXT_METHOD *X509V3_EXT_get_nid(int nid); -int X509V3_add_standard_extensions(void); -STACK_OF(CONF_VALUE) *X509V3_parse_list(const char *line); -void *X509V3_EXT_d2i(X509_EXTENSION *ext); -void *X509V3_get_d2i(STACK_OF(X509_EXTENSION) *x, int nid, int *crit, int *idx); - - -X509_EXTENSION *X509V3_EXT_i2d(int ext_nid, int crit, void *ext_struc); -int X509V3_add1_i2d(STACK_OF(X509_EXTENSION) **x, int nid, void *value, int crit, unsigned long flags); - -char *hex_to_string(const unsigned char *buffer, long len); -unsigned char *string_to_hex(const char *str, long *len); -int name_cmp(const char *name, const char *cmp); - -void X509V3_EXT_val_prn(BIO *out, STACK_OF(CONF_VALUE) *val, int indent, - int ml); -int X509V3_EXT_print(BIO *out, X509_EXTENSION *ext, unsigned long flag, int indent); -int X509V3_EXT_print_fp(FILE *out, X509_EXTENSION *ext, int flag, int indent); - -int X509V3_extensions_print(BIO *out, char *title, STACK_OF(X509_EXTENSION) *exts, unsigned long flag, int indent); - -int X509_check_ca(X509 *x); -int X509_check_purpose(X509 *x, int id, int ca); -int X509_supported_extension(X509_EXTENSION *ex); -int X509_PURPOSE_set(int *p, int purpose); -int X509_check_issued(X509 *issuer, X509 *subject); -int X509_check_akid(X509 *issuer, AUTHORITY_KEYID *akid); -int X509_PURPOSE_get_count(void); -X509_PURPOSE * X509_PURPOSE_get0(int idx); -int X509_PURPOSE_get_by_sname(char *sname); -int X509_PURPOSE_get_by_id(int id); -int X509_PURPOSE_add(int id, int trust, int flags, - int (*ck)(const X509_PURPOSE *, const X509 *, int), - char *name, char *sname, void *arg); -char *X509_PURPOSE_get0_name(X509_PURPOSE *xp); -char *X509_PURPOSE_get0_sname(X509_PURPOSE *xp); -int X509_PURPOSE_get_trust(X509_PURPOSE *xp); -void X509_PURPOSE_cleanup(void); -int X509_PURPOSE_get_id(X509_PURPOSE *); - -STACK_OF(OPENSSL_STRING) *X509_get1_email(X509 *x); -STACK_OF(OPENSSL_STRING) *X509_REQ_get1_email(X509_REQ *x); -void X509_email_free(STACK_OF(OPENSSL_STRING) *sk); -STACK_OF(OPENSSL_STRING) *X509_get1_ocsp(X509 *x); - -ASN1_OCTET_STRING *a2i_IPADDRESS(const char *ipasc); -ASN1_OCTET_STRING *a2i_IPADDRESS_NC(const char *ipasc); -int a2i_ipadd(unsigned char *ipout, const char *ipasc); -int X509V3_NAME_from_section(X509_NAME *nm, STACK_OF(CONF_VALUE)*dn_sk, - unsigned long chtype); - -void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); -DECLARE_STACK_OF(X509_POLICY_NODE) - -#ifndef OPENSSL_NO_RFC3779 - -typedef struct ASRange_st { - ASN1_INTEGER *min, *max; -} ASRange; - -#define ASIdOrRange_id 0 -#define ASIdOrRange_range 1 - -typedef struct ASIdOrRange_st { - int type; - union { - ASN1_INTEGER *id; - ASRange *range; - } u; -} ASIdOrRange; - -typedef STACK_OF(ASIdOrRange) ASIdOrRanges; -DECLARE_STACK_OF(ASIdOrRange) - -#define ASIdentifierChoice_inherit 0 -#define ASIdentifierChoice_asIdsOrRanges 1 - -typedef struct ASIdentifierChoice_st { - int type; - union { - ASN1_NULL *inherit; - ASIdOrRanges *asIdsOrRanges; - } u; -} ASIdentifierChoice; - -typedef struct ASIdentifiers_st { - ASIdentifierChoice *asnum, *rdi; -} ASIdentifiers; - -DECLARE_ASN1_FUNCTIONS(ASRange) -DECLARE_ASN1_FUNCTIONS(ASIdOrRange) -DECLARE_ASN1_FUNCTIONS(ASIdentifierChoice) -DECLARE_ASN1_FUNCTIONS(ASIdentifiers) - - -typedef struct IPAddressRange_st { - ASN1_BIT_STRING *min, *max; -} IPAddressRange; - -#define IPAddressOrRange_addressPrefix 0 -#define IPAddressOrRange_addressRange 1 - -typedef struct IPAddressOrRange_st { - int type; - union { - ASN1_BIT_STRING *addressPrefix; - IPAddressRange *addressRange; - } u; -} IPAddressOrRange; - -typedef STACK_OF(IPAddressOrRange) IPAddressOrRanges; -DECLARE_STACK_OF(IPAddressOrRange) - -#define IPAddressChoice_inherit 0 -#define IPAddressChoice_addressesOrRanges 1 - -typedef struct IPAddressChoice_st { - int type; - union { - ASN1_NULL *inherit; - IPAddressOrRanges *addressesOrRanges; - } u; -} IPAddressChoice; - -typedef struct IPAddressFamily_st { - ASN1_OCTET_STRING *addressFamily; - IPAddressChoice *ipAddressChoice; -} IPAddressFamily; - -typedef STACK_OF(IPAddressFamily) IPAddrBlocks; -DECLARE_STACK_OF(IPAddressFamily) - -DECLARE_ASN1_FUNCTIONS(IPAddressRange) -DECLARE_ASN1_FUNCTIONS(IPAddressOrRange) -DECLARE_ASN1_FUNCTIONS(IPAddressChoice) -DECLARE_ASN1_FUNCTIONS(IPAddressFamily) - -/* - * API tag for elements of the ASIdentifer SEQUENCE. - */ -#define V3_ASID_ASNUM 0 -#define V3_ASID_RDI 1 - -/* - * AFI values, assigned by IANA. It'd be nice to make the AFI - * handling code totally generic, but there are too many little things - * that would need to be defined for other address families for it to - * be worth the trouble. - */ -#define IANA_AFI_IPV4 1 -#define IANA_AFI_IPV6 2 - -/* - * Utilities to construct and extract values from RFC3779 extensions, - * since some of the encodings (particularly for IP address prefixes - * and ranges) are a bit tedious to work with directly. - */ -int v3_asid_add_inherit(ASIdentifiers *asid, int which); -int v3_asid_add_id_or_range(ASIdentifiers *asid, int which, - ASN1_INTEGER *min, ASN1_INTEGER *max); -int v3_addr_add_inherit(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi); -int v3_addr_add_prefix(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi, - unsigned char *a, const int prefixlen); -int v3_addr_add_range(IPAddrBlocks *addr, - const unsigned afi, const unsigned *safi, - unsigned char *min, unsigned char *max); -unsigned v3_addr_get_afi(const IPAddressFamily *f); -int v3_addr_get_range(IPAddressOrRange *aor, const unsigned afi, - unsigned char *min, unsigned char *max, - const int length); - -/* - * Canonical forms. - */ -int v3_asid_is_canonical(ASIdentifiers *asid); -int v3_addr_is_canonical(IPAddrBlocks *addr); -int v3_asid_canonize(ASIdentifiers *asid); -int v3_addr_canonize(IPAddrBlocks *addr); - -/* - * Tests for inheritance and containment. - */ -int v3_asid_inherits(ASIdentifiers *asid); -int v3_addr_inherits(IPAddrBlocks *addr); -int v3_asid_subset(ASIdentifiers *a, ASIdentifiers *b); -int v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b); - -/* - * Check whether RFC 3779 extensions nest properly in chains. - */ -int v3_asid_validate_path(X509_STORE_CTX *); -int v3_addr_validate_path(X509_STORE_CTX *); -int v3_asid_validate_resource_set(STACK_OF(X509) *chain, - ASIdentifiers *ext, - int allow_inheritance); -int v3_addr_validate_resource_set(STACK_OF(X509) *chain, - IPAddrBlocks *ext, - int allow_inheritance); - -#endif /* OPENSSL_NO_RFC3779 */ - -/* BEGIN ERROR CODES */ -/* The following lines are auto generated by the script mkerr.pl. Any changes - * made after this point may be overwritten when the script is next run. - */ -void ERR_load_X509V3_strings(void); - -/* Error codes for the X509V3 functions. */ - -/* Function codes. */ -#define X509V3_F_A2I_GENERAL_NAME 164 -#define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE 161 -#define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL 162 -#define X509V3_F_COPY_EMAIL 122 -#define X509V3_F_COPY_ISSUER 123 -#define X509V3_F_DO_DIRNAME 144 -#define X509V3_F_DO_EXT_CONF 124 -#define X509V3_F_DO_EXT_I2D 135 -#define X509V3_F_DO_EXT_NCONF 151 -#define X509V3_F_DO_I2V_NAME_CONSTRAINTS 148 -#define X509V3_F_GNAMES_FROM_SECTNAME 156 -#define X509V3_F_HEX_TO_STRING 111 -#define X509V3_F_I2S_ASN1_ENUMERATED 121 -#define X509V3_F_I2S_ASN1_IA5STRING 149 -#define X509V3_F_I2S_ASN1_INTEGER 120 -#define X509V3_F_I2V_AUTHORITY_INFO_ACCESS 138 -#define X509V3_F_NOTICE_SECTION 132 -#define X509V3_F_NREF_NOS 133 -#define X509V3_F_POLICY_SECTION 131 -#define X509V3_F_PROCESS_PCI_VALUE 150 -#define X509V3_F_R2I_CERTPOL 130 -#define X509V3_F_R2I_PCI 155 -#define X509V3_F_S2I_ASN1_IA5STRING 100 -#define X509V3_F_S2I_ASN1_INTEGER 108 -#define X509V3_F_S2I_ASN1_OCTET_STRING 112 -#define X509V3_F_S2I_ASN1_SKEY_ID 114 -#define X509V3_F_S2I_SKEY_ID 115 -#define X509V3_F_SET_DIST_POINT_NAME 158 -#define X509V3_F_STRING_TO_HEX 113 -#define X509V3_F_SXNET_ADD_ID_ASC 125 -#define X509V3_F_SXNET_ADD_ID_INTEGER 126 -#define X509V3_F_SXNET_ADD_ID_ULONG 127 -#define X509V3_F_SXNET_GET_ID_ASC 128 -#define X509V3_F_SXNET_GET_ID_ULONG 129 -#define X509V3_F_V2I_ASIDENTIFIERS 163 -#define X509V3_F_V2I_ASN1_BIT_STRING 101 -#define X509V3_F_V2I_AUTHORITY_INFO_ACCESS 139 -#define X509V3_F_V2I_AUTHORITY_KEYID 119 -#define X509V3_F_V2I_BASIC_CONSTRAINTS 102 -#define X509V3_F_V2I_CRLD 134 -#define X509V3_F_V2I_EXTENDED_KEY_USAGE 103 -#define X509V3_F_V2I_GENERAL_NAMES 118 -#define X509V3_F_V2I_GENERAL_NAME_EX 117 -#define X509V3_F_V2I_IDP 157 -#define X509V3_F_V2I_IPADDRBLOCKS 159 -#define X509V3_F_V2I_ISSUER_ALT 153 -#define X509V3_F_V2I_NAME_CONSTRAINTS 147 -#define X509V3_F_V2I_POLICY_CONSTRAINTS 146 -#define X509V3_F_V2I_POLICY_MAPPINGS 145 -#define X509V3_F_V2I_SUBJECT_ALT 154 -#define X509V3_F_V3_ADDR_VALIDATE_PATH_INTERNAL 160 -#define X509V3_F_V3_GENERIC_EXTENSION 116 -#define X509V3_F_X509V3_ADD1_I2D 140 -#define X509V3_F_X509V3_ADD_VALUE 105 -#define X509V3_F_X509V3_EXT_ADD 104 -#define X509V3_F_X509V3_EXT_ADD_ALIAS 106 -#define X509V3_F_X509V3_EXT_CONF 107 -#define X509V3_F_X509V3_EXT_I2D 136 -#define X509V3_F_X509V3_EXT_NCONF 152 -#define X509V3_F_X509V3_GET_SECTION 142 -#define X509V3_F_X509V3_GET_STRING 143 -#define X509V3_F_X509V3_GET_VALUE_BOOL 110 -#define X509V3_F_X509V3_PARSE_LIST 109 -#define X509V3_F_X509_PURPOSE_ADD 137 -#define X509V3_F_X509_PURPOSE_SET 141 - -/* Reason codes. */ -#define X509V3_R_BAD_IP_ADDRESS 118 -#define X509V3_R_BAD_OBJECT 119 -#define X509V3_R_BN_DEC2BN_ERROR 100 -#define X509V3_R_BN_TO_ASN1_INTEGER_ERROR 101 -#define X509V3_R_DIRNAME_ERROR 149 -#define X509V3_R_DISTPOINT_ALREADY_SET 160 -#define X509V3_R_DUPLICATE_ZONE_ID 133 -#define X509V3_R_ERROR_CONVERTING_ZONE 131 -#define X509V3_R_ERROR_CREATING_EXTENSION 144 -#define X509V3_R_ERROR_IN_EXTENSION 128 -#define X509V3_R_EXPECTED_A_SECTION_NAME 137 -#define X509V3_R_EXTENSION_EXISTS 145 -#define X509V3_R_EXTENSION_NAME_ERROR 115 -#define X509V3_R_EXTENSION_NOT_FOUND 102 -#define X509V3_R_EXTENSION_SETTING_NOT_SUPPORTED 103 -#define X509V3_R_EXTENSION_VALUE_ERROR 116 -#define X509V3_R_ILLEGAL_EMPTY_EXTENSION 151 -#define X509V3_R_ILLEGAL_HEX_DIGIT 113 -#define X509V3_R_INCORRECT_POLICY_SYNTAX_TAG 152 -#define X509V3_R_INVALID_MULTIPLE_RDNS 161 -#define X509V3_R_INVALID_ASNUMBER 162 -#define X509V3_R_INVALID_ASRANGE 163 -#define X509V3_R_INVALID_BOOLEAN_STRING 104 -#define X509V3_R_INVALID_EXTENSION_STRING 105 -#define X509V3_R_INVALID_INHERITANCE 165 -#define X509V3_R_INVALID_IPADDRESS 166 -#define X509V3_R_INVALID_NAME 106 -#define X509V3_R_INVALID_NULL_ARGUMENT 107 -#define X509V3_R_INVALID_NULL_NAME 108 -#define X509V3_R_INVALID_NULL_VALUE 109 -#define X509V3_R_INVALID_NUMBER 140 -#define X509V3_R_INVALID_NUMBERS 141 -#define X509V3_R_INVALID_OBJECT_IDENTIFIER 110 -#define X509V3_R_INVALID_OPTION 138 -#define X509V3_R_INVALID_POLICY_IDENTIFIER 134 -#define X509V3_R_INVALID_PROXY_POLICY_SETTING 153 -#define X509V3_R_INVALID_PURPOSE 146 -#define X509V3_R_INVALID_SAFI 164 -#define X509V3_R_INVALID_SECTION 135 -#define X509V3_R_INVALID_SYNTAX 143 -#define X509V3_R_ISSUER_DECODE_ERROR 126 -#define X509V3_R_MISSING_VALUE 124 -#define X509V3_R_NEED_ORGANIZATION_AND_NUMBERS 142 -#define X509V3_R_NO_CONFIG_DATABASE 136 -#define X509V3_R_NO_ISSUER_CERTIFICATE 121 -#define X509V3_R_NO_ISSUER_DETAILS 127 -#define X509V3_R_NO_POLICY_IDENTIFIER 139 -#define X509V3_R_NO_PROXY_CERT_POLICY_LANGUAGE_DEFINED 154 -#define X509V3_R_NO_PUBLIC_KEY 114 -#define X509V3_R_NO_SUBJECT_DETAILS 125 -#define X509V3_R_ODD_NUMBER_OF_DIGITS 112 -#define X509V3_R_OPERATION_NOT_DEFINED 148 -#define X509V3_R_OTHERNAME_ERROR 147 -#define X509V3_R_POLICY_LANGUAGE_ALREADY_DEFINED 155 -#define X509V3_R_POLICY_PATH_LENGTH 156 -#define X509V3_R_POLICY_PATH_LENGTH_ALREADY_DEFINED 157 -#define X509V3_R_POLICY_SYNTAX_NOT_CURRENTLY_SUPPORTED 158 -#define X509V3_R_POLICY_WHEN_PROXY_LANGUAGE_REQUIRES_NO_POLICY 159 -#define X509V3_R_SECTION_NOT_FOUND 150 -#define X509V3_R_UNABLE_TO_GET_ISSUER_DETAILS 122 -#define X509V3_R_UNABLE_TO_GET_ISSUER_KEYID 123 -#define X509V3_R_UNKNOWN_BIT_STRING_ARGUMENT 111 -#define X509V3_R_UNKNOWN_EXTENSION 129 -#define X509V3_R_UNKNOWN_EXTENSION_NAME 130 -#define X509V3_R_UNKNOWN_OPTION 120 -#define X509V3_R_UNSUPPORTED_OPTION 117 -#define X509V3_R_UNSUPPORTED_TYPE 167 -#define X509V3_R_USER_TOO_LONG 132 - -#ifdef __cplusplus -} -#endif -#endif diff --git a/ext/bin/libcrypto/linux-armv4/libcrypto.a b/ext/bin/libcrypto/linux-armv4/libcrypto.a deleted file mode 100644 index 7dd87bbbe9ffb2e80904d0b47ed5e82c4e3a0129..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2608484 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�%EWU!qiQ%0L)_~w8Nb_->) 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%0Aq^HkN8j*F6hrJ=#LD~^|G>S)Db=tV-nx+ z^xz%FD&P)nsE!rGtZ<983zP>#v^x#qNGr;MIBA>=o*Zp5+zH-LuLe8AbdMk7o_{sRimK&s7d+@{?;i(0(*6=| zstwM?ZNHOPB{`wJ!R z0DhYZj{(kcW#q6+!_HuEFZ7Q0D_ZOU9r_LY&QG{B91A~;EBAkeI`hDN1Kf|`cLILn zOwo(C;de$5V+wHS4o|Y(P}gMfPVLup-YYoBPo$4J$38CjK)b>;_EQr-x4@ra$xF&5 zidRTK!p|e9dk_4myH)cvf_{xVe}cH%24fcTe>~TC*Y#%9 z!=nMbn=SJ~NM19Kx63x0i8AoMAcm!158Q*$5A)u{Q`rAdZP1Q-W?tCN{`{?R55=9J zwe;T94=FwDMZ4xWL^+2#)Ft@MF^GLvJ4>6M0$#g>&NLY2SZxQ-)L6QdVK5ICqF*pg zj*AZX+kKFWkT&gf=L;I_`GCgTgStR`_5k|27ySpc8u-Dm$4PH;Lt6}Ky&My+6?><= zgM;mjdpmE-xY@SJiw^)}Am5-Ly{Py=XhC^cA54>d)7&p6ihRwYTqkt2PBCX}7xR(1 zjMboH+(_dcl|Pn`d49r_XSzk_`F@eVOT)c@56V2lZe8U0fPk!ncG@AM4%);2MmOYn zm*lw>ZJ1*``TidKC{vO5??mckX84~)JgROCfAmMu2AE&f9%1*K{wj5_-NC-s0Fh1~ z?1{ylChX%Z4{6zkExmj<6n4aDE99>Qewg2kc^UY0i~-cs8~txEjYhct-*8Xv-Zk(9 zpqg*K19SN;{??FrJ z5^mUUilifCNk7JYxL=2IUp#;Jz{M-^{;nA3e%3b)eEPlje-CLlUkaHi*mn)+IksH| z+~dDvK*?8Y;BJ?1SzB;62yLKcX$6U4*unsjVWF2pb7 zgRU(De*2aWbH6dh+4DquX%A15?Y%(YI0KFFTuXC&sRT?z+H7+;mvVBl55K`5$e73{ zWjpMxOIpw*m4I)QFVO#S-){)_>D`61(SzfEk>GPEoP)RoA0X$9mTsAFbIE;n@K?&H zw~6t~EPwwI^vn}@6rO-Esy{U`e@L5YGLP}hBl3Xz?nNB2GJfWb@-OESH81@|##sm& zqrAaz!Qk({T>MsJ(;2cb#;Lzy{cDA`+yQ-g98QrYYDv(8XW`Dy0Su9RVyd}YsVi{@4uoPITEVY(;OQYp{%M8mUmdh;jEQ>75 zEo&^-SgyBhv~00#wcKIZYuRUc*z$3ebxu8 zk6NFx9=5(}ebf4$HEca$J#GEm`jypUbJ&t>S+-(ZiLJ&~YiqDI+Rn4hw#~6!Vw-DQ zYFlAjWxLY0*>;O5Hc_P%Yv_KEFt+t;>lZBBcvJ;6TG zo?$Pr7uv_#o9r$2Hv1I&bo*@kW%dR3PW$!twf4>SZT4OEz4rU;kJz8FAG9B_zhZyY ze$3uyKV|>c{+-?Ch;_s{5*;ayR7ZxR&{6Ctcg%2H9Pc_#I6ifJ?Qq7#$0Ww2#$?Cj#gxR9$27(?$D9{4 zC1zU8%$V6Rm&A0$Tpe?L%=(y(F}q^+#O#fEDCVh{12KnVUWqvx^LEVpF`vYI5%YD- zw=uEKBxkm>&{^wjbDr;FV_Bl^EKXQKIbhr{+DXtt>o~zJR?5c7#xtd)wTr*vBT$j1#x;kAeT9f-l-Oyp(_?4H z&WW8HyEt}5?3J+_V{eMRC3a`*-q`zMABsH^`*v(N_EhZY*w16Xi2XJ;$(`-aaaXwO z-Hq-k?u*>>+zZ@`+{@i-+}F6TcdvDCbZ>TVbMJ89;oj}O&;5Y=arZOsgYH+|Z@UNF zC)^*oKXHHRw#6mJrNm{#<;4}pjg4!HJ1=fV+(mJh#dX9jkGm%BrnoI}+v4ts+Zp#n z+*5If;$Dh-HSWE*zPJzLK9Bo4&gqHsBzg)w<(>*pv*!}eT+ckuQqL;Sm7evUn><@R zw|RDX9`!u#dCGIZbHo$&40uj?KJk3v`PyTNx5X#KC&g#S=fs!9kBx7PZ;GEDKRdoN z{_6O(@f+he#cz(^62CY8f%qrlpNT&b|3dsL@kis2#lIUr5Pu^6)A(=Wzl)C@mO3nJ zSkAD*VdcYWhBXX3f7nIC<_x=R*y3R;hOHTP-LOr=ZW(slu${vm8TQ1mr-mIG_WH16 z!`>bC(Xi9Qz8dCCh)al1NKGh6C{CzIXh}FPVOqlUgqaC*5-v$tl(0DA`h?pO_9X00 zxF_MEghvw|PdJe9dcx6!w-Y{0IGyly!nX-FZ-O`5o8v9;mU!#Ejov2j3~#4*mG^4z zHQtThP2R2EZQfnpz21G^hrN$@4|orHU+|vre&YSq`>ofJ7?+rmSeQ6Au|Baa@w~)2 ziE|SdBz7h)Ph6Y0K55`x5U-d?4{q;^D;C6W>fck$5`s^Te+cl(c0|I6q!B42MvllBQ81!v zME!`y5p5%;kC;88bHvgS%SWskv2DbT5xYm+H{#(DkB@j}#Gw(djyO8v?Gf*e=o>LG z;?#(bMtm{is}ZrO38{Ihg{f7k&8e5AE=avH^_tWzskf!>Ox>NjFZI#Xr&6CyeIfOw z)MKfAsUN0(n)-R_cd5>_q_nKGnzY)qhP0NnDQVNvW~VJmTak8U+I4Byr)^BTC2eQg zuC#m79!h&O?WwebX-CptPkS@%?X>sP2GUNYeV+DhTFS_bkrgAWMz)QdGIGYqOGaKj za_z`%BX^9vW8~hE_l=A9-Ztt0UhX`O(O4N7~XI>51v7={f0n>0{H&(`(Y3 z(x;`*NbgKvoPJIEb?KYZZ%W^meoy)X=?|qplKxcs3+b<>A4`8TJ)Hh&`q$|=S(lNQ zQIJudQIS!b(U8%cabCvsjM*7;GCDFAXROM&K4X2x){I>l_hdYqaX91kj5jmh&N!X% zMMi99Qs&6a!pxG)v6)qwjhStk=VwmOoSnHUb8Y74%q^LBWbVz}m-%?+6PYh$_GNyW z`Bi3YRz_A%R$f+3R()1eR&&<*Su?XP%UY1tnYAKoP1ZG8*JW+Wx+&|ntUI!HXYI?n zC+pFyC$bJ_y_xlHR$tcVSzl#YMma~tjY=AoI;vn)$*A&CjiaWFnl@_ssHLM;jJj#m zEu(H5wP(~rqYjKZIO_1IBcom#_1>uPsMDjq81?NaOLlyALUu-WefE^>^Rs7UFUnq% zeNFbp?5){5vhT>=mAxV zq0iM9=pA~eex-h$ev`gOe?Wgke@Z{3AJ)VA3H>AewEngJogSZ)lv9(_oHHe7dd{4j zOLFGstjf7AXJgK7IXiOpA4GX7v-+XU6Xr#?#A3rxm$C0)bew6z~ zt}QP%FD|bzuQ;zfuPU!5uPtvz-psr?c?a< zFE5;TI`7lGuksxEarvqFBlC;%8}pmef06%nzNNrfkW?_Tps=8#ps}E(;QWH=1*;0y7Hlcl zR#UPF6b-xqTs6n$LP4x38Pa+7mh9-T{F62bkpebN6#ER zXLQHt&e6+9Uo(2`==Gy-8NGA#?$Hm8esuJq(JzdCY4owt?~Oh^`t#ALg(C}V3Tq3e z70xW2T{yRJapBU!RfSg;USD`y;m*Qch4&ObT=;0=Q-uc$4;Q{(7%n_rXe)9S#TO+N zWfWx>df=-s0Ci#{s) zqR3Y4C{8TSDb6cyDn76Hvf_^7&f?|8Yl_zwZz{f}cxUmR;(Ll8D1Ns1Q1P+iH;co? z9~OU9{AsaeOwyRFF$H7F$4nnHd(7N19b*=cSvqFbnDt|B8nb!KjxoE&JT>OPn8RaU z8S~zl@R(C$J{j}%n52@zl8Tb5lE#vzlJiTZm&`8dELmEzyyTjaEhRfj?kL$?vajU6 zl4nX@DLGMcs^rs>uS&ixi7ibiO)bqUEibJptuJjZy{L3fX=mw`rE5z!m2NBDUHVYz zqoq%jzEt{Z>AR(UrQy;KOHY@6SLz&_H8y)}!`POwQ^rmkJ8x{q*cD@M8oO)kp0W3h zeRS;OV-Jr#GWO`$_s3ewY-P@}__C2@*<}S~W6P?_YRl@&n#wLJyQFM++0|v&mu)QD zR<@&TSJ~dOePxf7JyCYB>`>V&Wk<_Sl$|Pbl*g9Gl_!=LmKT>dm$#LlUp}pTM)^hM z%gfi4Ust}ie0}-8@(0QvEk9KLYWeHs@0Pz;exm%N^3Th^D!2IJeR;lOU#+jfH`_PI zcZqM2Z-wt_-*vu?zOBC7e0zQO`JVDU>pS9m$@jYNP2c;z0pDrg*S>Fkwu;z_krg== zg%x8f>ML3*+A7YkxU6Dc#iEL(6{{+)uh?2~N5$@n`zju(I8AoXX287gR2;Twb}R^2*9#O!u?X7yK>Zz)O zRWDT?tvXfpN!7PimgaEo~s&`fItA4op zK=ljNN2~j)KdJt%I<_XYCaY#_O;t@pO>@nRnvR;~H7jbathuJ?0o_S4!gY8`cPbvboabv1R(b?4QcUpKSvqPn?t9d*m=R@7Zr zcT3$Jb@$XgQFplRg}PVkj@7+c_g-CJUAXSMI!k?4eO`S*eQ|wxePexd{j~Z^>KE5v zU4LEu`uffFTkCJD-&wz>{+{}W>mRK@Q2%WGEA{Wy57eKkKVAQIy={Eb_>}S4;|s@^ zjIS7f{`eW=FB!jJ{G#zo$6q~u)A)Vk?;HQb_*cds8{ap6VEn1^pN{`_ysaUzA)_Iu zA+KR3Oqf1l=7dWobWB)0Va0@v6K<>?8=D$i8kaY&YFyKJb>lUS8ymMa?r7ZA z_(0>sjgL1TXgt{XLgTBApEf!s#!gI_m^d+OV&25!iRBZkCN@vJXySs29TTsdxOU>E ziF+nKHSw8=&rUov@$keKCcZiG-HCk@PfR>L@w6NCVP46{**mSDtlcsN*GWr41`J|RfGbhcSbjhT7lU7Z- zZqoWm8zAgweNuNw|wj{JWT`&#a6dAQ~AmS}huaRc9clXqIt%|Fe+V8r4%i%M(4lECs}Udc z+}iW7BT*mpmEwab&Jg?3=ZlOpkWd(j@T7wd6`BzPhaOXW-9TY9fACX&GvI{0btxaxRVV~d(LpB{ zDFeORK{t;-SVg}Wn{ty&H8uCfY*0f}W?oG95)57s%|uO?5vcUeYrCLj(%c2}mMme&MIFmJR*D;w$vAn3v&kx1 zni5OnWNBZlY=g}eVq6z}w)$aP;M_*rO!jTsP+m)j4e19ZUdlFtjlao+nDA~Sgt5qj zgxEaccxOdpdS1d0=$>WV>&^It%`a?HCu5+e4dWdKN{*n;wq!nc+zj^`5hvy{3kc&Iwl|?e{gQ%*lsj2eS z)EoCfnE#Kf#(fc06+ixN2;S?8FJhA%k8O0meVOlvy{snRy@LH1-lk0Bz9IK5X)AJJ z_J;mC`IeW6;bSLy4?cg44b2Fj%cc{w$Jizi24ZX+PtX}`3kkbpY*!KX#Mm|v`kl5O z!eET;E<&%%b}!-n7~7MCL6@zUP;BZQX=Hr|m{UpVRhRLivF= zwjl5hK%Q-YJ%+6p@Nz(&ZCC{OSHLR(zXa?Abb<5B0E+;B2{-`|Hfy%2fXe}S@BCuG zC4fr+uLWEU$g>b#fZG9A0NxF_6!1wv^-a3q!sZKFHO@Yf%lu7`4h(fSU+0eq%wYzf z9T@5^=e$VV@;L>DoxiMdVaEa^9{j!nla>g}sS>XYM1C_0($n3z5Z9pNY)E&&xyzQ% zoezOw0oWFCTiLNdJg~rb7AV%J*Pj`t?c#P6d+wAAX0=^-LGx4*=DeR&E~T_VfAyPz zhT!sSPsD%K@+H6Oz(qpyP_gE4gYI+Ztwbdc@mnD-_#KRccPJV8mU2?1At()Ti^xur zM&Ni70^-(c%48yqA$~$?8tSfiqUct2F6~-k3agGdF~6jd_!<1ApCNb*UZO-d9$G>g zoe%&a)C{Jru8CUO)mb?oZJF__dR2m+={*hMFHSVgTe+xGU$R;UglRJBao$4RoWT6f zML0^OuU@`fU$T7JB8{R{$3h))>lJ#(uR50L$km!9YtUUVZ+8AlpMSOf>yDMnwT@*A zmM`pFwn#T#=g^GCp)X&iqlvBVT%gN{@%YC)hV5L|wPv-xZ24-WzHrTg4pcYXAcJ-; z)R%NDTeKQ2PvI!YBJz~f^Ym3{94mQ03EHDXw{T#xV@ztLpYtnOUCOzYA+ zSBazyVOwM2md;ytwcfd!;vq;@4Z5xFSlYFG<-C%W?}vXe5pDC>WnzGh{|k}|=y zviVpzl&xG&JZEpRnNazJ^D1oBhy z6#$1g6!~sMe3XY7AH%Bn%JG}=s`&gE)6JiXntA4Lh-2a-9pzT_F+TdYNa&Luyw@sE z{w5#||1hKp2q3-&Lk>`A#P3qLAQ_C1#z#7ehU#Nn{1WkJ%8s@KbnM^iQ*?ypB8E_S z9gZHjLktpp@dA=}=J;scM_#K>#iwuu&F=qx{f>jlm_FnDu;L{-22s%T*@O;(4wI3v z1v!S8Dt`9>5;uQ5KRh)2P^Q~NOBf7s=K14TZLIWWd*FJ!d5~P><)SEDOl%My)phb1 zS8-M7+{@Q2TVSkWiDBMe#X*DD>MdE0H-HQ(41b0jsf}lf7#Pljlm@;^)F02)L7Wxm zMN0v*&?v||E7-vHX$5mx&xFYmlAd_JgbYWVGS z;RXqBmTAzHmV}o|xKP3+60Vl;S_wBuc(a7tCA>?*yCr;3!p9_hTEgcf zd|5)sNtmn8vKGN@bZ5J#u5w&moi4r~J|9`+0JBVMkvQ}Ro`2E0gMI6IX!ks+pYJtW zgZQmY5$70i4yzAmZu+#G8&6pF)0Q4*oAiyxErHi=m!ZBD`JcWhlh?RT!&7{Yx!#~Ft7>WqQKKdax>z7clG_YC}R*h|Lx z3_DcXmnz#=yJp;l?S>oINpz>Js$IvqEzpa1I;R`&AKPJr&9Yhjbf4C*1yH6g*mt*M zZ3X*J7yM@eCIFs~y#1-0Wk!4zpy^o~QnsxuudpTcw)c+*9rI1Q{a78eNRxgW9zmJ* z@SNAikOO|qbDZ=eEp15MT{nb=xWi4Q5ursm@`JYfOows1yNo!U@T0pHG;ICpXNSEk z-EH0*z*D3V41`z)5iZyh^3cxJe`Cm=bNdN<#SI~={+o~$X9w&#H=ICIxD#(;qmE%` ztFJ>H;msj^{qg@FcCCVsxOWW8>U32u@|@*l+%Ldh)y(U2{bm_hM&?oRig)yVjJpxh ze){;1Za3?OXS#gBqgt0?gKzhBAG5$l8Dsf7R>Z+Hoj51t><%VgfHEoG@H`t9kV)i; zX1oQQuKer>*UkIWaGxK~rfui}pR_rBkV9UyBR$9kXaloozmGOBi#EwG@?4ze#hp=l zurD6`WV*Z$%HnSoeZiyOIAE{Xc4C$O-CtnG-Dl~UVs&a4_t|@Hq`k21eelkSbd~)y z+`{5)1l-665g%-t|4rB=2m6kK7tAN!c@D>-`TLX5*Ic+e3~~(4m(1yd8fi$rc&`}g z-$GcGU*c~tu0)n`Mqlzd!r*M)NyQ)b`3IxoI0W1sl~tZR~U|C8QKqK;C1>SwfU+fCsLoFh^T?>sPn^y628KeNnwE;`Qr z3`59|ba}>4@t=PDtCvtX;@{45q&o$E5GA_IbU#KGeHro1QGozeIS8#L_YlM}>U=O4 z2;MLoUilm8M!p^t{&WNzjL+mGeyVhc{QG6mGw-r7$A9KsG{)qqXec`>S@SJ8QdVR; zP#?=xq!2*jtOxZG|A|5XiDN#}7#C#+#94MoPvrBF-&Q}?T^Qi$4I5)MNUL?X7J zgbxvDAl9s0)%mLqhQ(f%$#>0siOAPUWx5z1=Fh8^IfB*(SRIuhh>c)Sw-(e!wgYGQ86zYdB^@!X&xR1A4KqlOp$Zu;26s!$IGl ziO!aZa2FG%fu0ciOB)C=;XEe&#r_TA{eU>~_ZcDL5qG;Foiub{hVw}X=FD5Q^bFZ` zoX@O5H+~B}dL8WBeyr@e9TPOZh#p|F%u{h3p#KyVv1e51j46oaO?)t$AN4 z*1tVu_pig9j&Khm?)|~=wmlDoJdCG(AJ4{z9l<+8nin!L&QH05>jqx)ztZQ?K)?Ti zemmaQ*yi6Ciqp1(W?#Rp{a?c#ZQX#k_vU`eX~zN& z)RS88g>VP2bd*iVTfw8n~}+o!Za%J;8O5Wq1~OZ9mI9 zAj*sL)kx1Cz#Xk!TaWK(*%;dKvjU_CK7p^6-b?$z_v4gRxE2t1p~!L}uLI(a6O;+% zeBI{za~MtB&G)@Tn!s<(T@Tr}`vW`N#BX0W?t0{(fhPm^0_WRV%ol0WfM>#8$DOJ; zzl=J$G>rHyh~qf(qvCYIALsAV$>T4vkHa1dxlXs>9SR``+5g>W8(@h~jI z=-WeYp&e_!`}$+|qb&NZA%|}-XwiQ4n+I$`lmmPab&9r(bI<9qkk7f^VEeJRZ#{0; zwjXEy@lI$+^CAC;BMxz}%`&`Qzxg=J%X_mabDG;O&)0Qng11K-$e-S$Vd!Pt;2(I+ zHj2BmalYRXSQv^4ED33WZnRUp4;KJ$+C{&~gX~>p?+qr#_&dOtCHU(e;CpK>(74V) zBm6<<0gcB*Iqt`eZeNw(e0t_{*57LfbDTpu3g)Pu?=lP(m2p2ExwJpq+z(2z_t+DY?Y-em}d{% zj{Mv@V5V_)!QTgepW*L7zAW0tTxVAg+6?%NIB*Am5g)?40yl%l$g3ajpd$~R7^_Hg zTPxB;IQnzlM}O9XEr4-NLmFBzk2Efpt7}Kd;YV8jjkz%awrjrI*PY9J%>O2 z$m`@N|77H!X{7m$dexB67|m4g2uJ^9=}&(DP&vr!@5=|vd9HGZGQj^_e4s!1%sy~7 zKG8o7{zKX~_?RZksoHnuIm)TpciN9AC-d=r`DB~Sraj<8NucoDZ84>=BI!jEt2nf-N^6ErTC6XS%aZ{M~MX++;cIP*Bd`o_8S zGyA9C7|S@0u&&H~oON^7a>{X)brbC`_$2*VH_`q>#wk<(&qsM!=L|ojPUSeG>Pw6> z7^}_WGV6zPgc=i_U8pk?KSg~-`J4GI>MP2hJdg0(O+hps1Lz! z)PZ?CJR85v{5~7M&NVKV3Vv-5F^oA5!G|t6-gO!Iupw_h#IGS`F_qUR%bRwN@``?@ z%FFfz`2jM7m@m!km~F2bdCp`!I(QqnA@|n2^&zX)6SC=OgZg^(`E{W>$OIFR=EoK( zV^G%W{l}6q*oG-*3>kyLvwu_>L$vSc_KY?n#tyU*A#<{gnCEWxT~j+?n>Y7uv!7SC z5zZAuXk`BuvW$|cIMznD5jo~_uC}2)c+ftW=X14@G_;XSwh<+V#-ojN8?xPY$Z3>8 zF)w{^E9B0YAl4!Ku~z-v10n7ca6iKd{dkOaAv6|{cOl<7^gBa#=+EPNDf@Gr)y7+T zclJYP;pW=Ps^2B#L{~56*{vdvidWm045o3{-AKcaG}@WQY@{*Ef;qhM|FHKi@NrjV z{{MH9NjgmI7GJLG{@wG+b)M<@7Ic9r-XuHkSzU~$~Wq^+y`!B4x7y{Q#$cm3u#+sW^7bC!M-qD zI}PAiWO1BhaftVux_bjSPPI7ZI2;348s7g#>W+OCrmcU#mRaM#8?U=}8yvS5IxUU{ zaJZ>>Ox^8E-?we(?G{I~#nDXttG-2#X#=r!@Yj+1T{V2u^%W1E1>YL% zcV4E{Gc1_|W$)9h)rfTwb|QJ zgFLe@$TRIYXmn|m`?Utg4TUwrVcU@MyVo)c)PKg(!8(w^(MJ7ChF6~4I3t`jG0A@D zeJaY#^VSWP*&fE3^KClkDIMBKoVt;Wsk*ssAIAvI8_uwKo@>jk!-x?gSk+2 z`N7rk<+)Ds(M1}&-eh&z>fe8U{cwJ~mvepYt$gz{--q(ekGGTha_{AvpZPw4Z+_g5 zy)Jh;-~7z?d3^IT-@F}jIKQ2eht}}T&wSs)H$U@zH{bkBc?hJQ)Ep?qp=KNVk;&Q@jY;Ye5<@3T1Sk&_MYSH8tlJ*!tl78h>Ga!!WZr*y!fe6v1d@_m?1CmJW; z^f{B3`kc-8^~2@c%4de=6lDuOmiY`mmhTMTYk+R)l`8vQBjwvnTDz+Kz9*SDOB>?1 zQ~B%Xo1gjq7T^5X!_t>~fp300Rrl--Ih-HglC}JHr+c^mk@ku72Q~w+JZg-bSobQM zj+npCLvHjVPvIi`CR%$nP-a^Im+T5Fa|Azy-&?piVH8JDM)(f#Kh1yn>8Je(4!1l; z`D?EFG{*UT5F2Txt+NTYFZ)C~!FRfg1a$ZWs{-yb-|m^U@xAR6S;N^h#__Uo_{t9U zBk2A=xlg1OLbUIK?0Ncr9w@u&@ipwd*4_zpCd!A(J3|4r0u}yL;N95c7T-eb+N)k~ z?W!0So4iFd4u$^|_8IIyXd#a5$Q<5M7MyjSPE9GO3rTP$U?97M=V%& z;bk31>S(jS_rRXt8*$%3`{XH8W5(=#&+J2_fvM>*pq2hx>(!ty(_4+Y!<2c#1FTQ~ z%SSlcy=y+>Y6u<4mJ@S&XCushKGx84p0_sFnPE*Aor_ruOkKat%WNohp+mXhj%)DC zlx~Sca$4WK@$UO_Z-QSd+?Xs-VOb}=0o{t1!~e-I0Z|oIHD4o5EW%g^?ue^!$b9 zm{087iW=q>GoGhd^+& z_~nAd3(h&;3$bm+tC{B2)<#03Lv>Y5Zzo;)@e8{boCEA$=EEiKt9$X~-Cpp}4rxwW z(9KbRb3V$ses2;dnHEnv{-jfm4lo`fb`cXv~qBz)#^| zBgSY?QP9Xw26<%2m@`tiHo}3cJVuy3NYl0J;}*0m*Xd3~-K z|7>4d-i(lsg2uL&zhL~!b!-pxW!i1=W0)$m^<{u7UP$_u|BtY z4*n;!m^iU3@n=ubp&zpTH{*XA{xhuqHTa*7|MAxUHvG@P|2W@26dGHMT}zmGgqiM# z@#asA#*S`@R^hk$EW#eslFQ(hO|(R7=M(PemK;1KPm3Gzr@ikUe7%}5G4}5_4`hom z#tLNWUq+Hwql>tjxl$}w6`jC*>5yC~c5u$wzo5O>gb5Qy{&Hvk^)CmiZ`lz}PRxx; zwB%}m5#VUxXkdh}@{7Uu!o<~n_~Sp&I{EAi-w``;1ZMZnlaBlFN&Cd{RP#gg`oDn( zCPa3*&v{-lX43zU4@0#qpd#(KYd-IKK0etG+R4g!C4kb(N=!SR}W z`DE|I$>UBs`Q(`#9=~wmg7o~PR|kvL>Fx6N)-qR}Jp9S5j>++TKAAOBRTGdh>lvT) z0utQR>>_ONdJBJ6?`KC{YrMA<=ciYU6s7}dCLX=LbVAI&e33{N812nV0G07rwJ9oY zm|m;+O4Lt>7nd^Mj3^BkCvIM38CR6M37_y!R_XQ%(G@~t<6@FNRwzTOEn%MK`ahI)KmNs`c2JpdGlJoEpuyPJWs6m?a>xJuElbTVpqs z+Tu5rR>X9&j#t;b?EQK%quyf#>~Orgbe`~G%Kaqm z_mfc8Z@X3flxfDN&C#L0RQ~o(E2706OF8G0l!4lD9WNZtGT*d$@6>WTf46Zv9kNhGUxl!&9>!ngg{~`TB^sFSV!)N+KGMlG;@AR^{BDC$XJ%3E)054-Ku@x9D{7fvuJu(wfg z{W#Fq3=ZXkwrtASl^s@dyV`Vz1bg69-enVX|4X#jqGQnb()XgWL&(rMm@g}xyT$=k ziXRTxC5>-!>Lly08})n>q*mozQz7j$sszmLH*k~@nNZcVB-MjV3qMKo2OFFJPvv?z zKlx4PCx6DXvXQ^qh4L5YC;#9Ig!~uqb4KJ9h5fn;`$p_9@zZT# zO7DRR|A7ko_bTi^tgy2~qimEugJ0RmzN>8W>0?Jp*~tITWt;CG2~?5%qZM{`&y5_+)BWaqjb@_O4Wt)77N% zWl=-Go*f;$nbh2vg@;=#G1s_oZSjHqvqi8Ky25@rwE#t5 zn;`KzEnFi=_`3v2=Rra8^O7Lpw+Ryd6~TkKO{WHU2y_V&Z@M6KFA;=}Zb9hi6~uqN zAo1_Aa6pj!<^(4~9{or5Wzm^*+>b+Y^Em57ixP@19V>!9kN3Sk5_UQ!QEhUQT z#p5h*CJQyHQ6vSpyrR) zkEzbp#C$oDmt(iHn0rLB2jjbk%vf>*Q4W{m`$!=F5=7Z+6Ck0HJT4c2p{e{ zj`UAQE>GpWepak#7GD1~(42jaCiJ2=kS%I1QV))r40%bjOC`n5k0g-OmY&yRcC6KN zJ4l#sojml?I+fc)IGx1pAuKSlq7>C`Ty|`cm#1suGYZx5$BL1p=Gr}+&OIg1qVS8F z2h}Sd-UWql{|T%bF3(lpe+^}`A}3ip9Q!)@o1Q`qWi=+YX8V|EX1h+ns@^n*jesK* zJ+`2-2~jTL=>FSy*Si>E&ZU!$X7!CZt;#Y?St<_Y^BiK5jn_AFJZK|qF&tlBa&u3W zt>#c3DHj56A(G&fJzD$oDaj!ZhtNysa@r&IDu1Nw*Ro|tRVHJZH4;5=OV4RbrrN?sg~ z4bEl$VCQSnFO0%{5_2Cf(^m*(vg3XOz2P_~xgTvcoWZI*h-@QaP3j%NFHl$q<- z5$>d4`~m3)=l0|$^b9z;31+98ziBRQ=5CZ}RmRU(xt!3CP!2{v8kKOLqae~)uiLbDlE5lp133sE_i?&&a z-mW-3*;`8Rn_=~w(l>gT<7kjZcS(FNLAoR0D8~nf;s*7jVVh26x-&-5m1?!8inLm- zuCogIL)qQS>oW4zm|02tqFqr&uG}uh-Rna);H@pR^sO{y5sR-a)W_Ev-BcC%)eH5F zeSZCi(<=+&c?ZS&3h(nW$52PJ4)O+yNUi8CeY}E+=-?~K(xhVRjPxWK$C1^0=RDaStz!wMgAGF8!fnR>A`$TLoU3R(D zaTA!q^B($5#C{(Me%-pn;#Sdv&id#ozTs{Bl;3cCmC=*PuQo<{l!wy|Ne^&v0Iz6H z#8k3hj+j+Al}RuxI;kd3fA0*TGYjh28QW<0nL-#o@9;7ws#6!?`Ql?+BTWEQDskino|@Hd{SXZ<8gGHqD}dH6<+s{wWD7$;j)DL1b7Vn;4txt z2mdqv8T>zG{TZuvs{b#g|99i=$4M5HXVd?)w1Mm%`hS-G&(HOLrwbDv6m7^OwD-iS zlK7dc7Y~|#j9q-K%=j#?;>;-N>7|O;vBJZVtVDFPlPikLzw5L;eSJMq3&5 zoT2Xu+M%g^b;HJ3{V2`)7_QHsQFN!#PWkmKP=>FHz83}b38nuF}#+`MI0lVnd3nsqt z{hutin; zu{Qu^zq2BIfbq60kgnw1Wf$vic(+f_SM;Ar+_gxVr zb&m!F(lh(4b|*{toI0xfD$TH(E~gJGhuY1-sk??#ft6!f6_~q+OzBHa<(}&asH~KE zciB0i{JY~7-s!UJZd^H)(eIWQAw*Yq!Qw?uc_*9IJF%lUMm_4Lvdd{_x}mJk!mWaA zugeJ{(1=MkvnbUdi2lmxd(dB*8^{{bFUeiZls2w-Y(Oya%#CBr{u8njZ=PT?`WHd; zB3D@0YoU0QZux!4+6OFr(!!SoV^+@te9hXW?>TS+dNQEW?-YdYq#)@Vy$|X2%6JE$RzboUJr3^Xr5WCOuyCHB%12P;V_~m_cL^TMi!p-eqr|gSUTWs)^UGUZ2K7fr z4X;0HpEiwmQDpY6Ka%bbGem!s)}9h%&rrh7QIdUy{gRnuB+q|`8+n=YJx8<`M|n|h zfMPF361g226#Yk4jhFG#>`|$S_vEA(I<`KWKemxy3v<-?0CqKfCm+Va%Insco&ng;Pk%zU0Sp~hwA}@wg zTS|=J%uik@RmWZ^)h>bNrK|E)sa5&vMXS)atdh znZaGkzKip#l#Lax-9-YraAN1Qmm5I zzng7@ck`311Oq7> z`5jue`Q@T^ps@9jqVVso@Sk2`pH*R>UtxEHL11~0*Mb-xBq{_Y4_wbV|022CS7!La zLGR7*wQ%X;1J||@N#P(?f%W9!T!j%)SgD)}Q>j4|FH=sM09v&%a+yG(VOLYpTn=KKsXvWDRq6YBH zVsro6@xSEz@cqsx#yszy->_foI`qvS2CfGl01OSF{~K8QLX2N{Ap02K->C*-{|=(t z&WK0;7-wev4E@%J{k@__S8MZG12lf@kGwkPk4u*k{#?eGrPCOfa^%D6nWP7cF%FSN zsTN2YrNj4|iyl<8%`GlAw9PFpGqlY$w6#K4o289!LmT$*z;g^P+zc+p7f6F4~yX!r!EtN`gP`9b@hFecT_lL8U1E6<*E~5TAz{r zRby>)d}Aq2TEV#JHtS-94N(Ut3J+;CsN8J$VAzB4Z?R#I;TwHyu|B)D)R9?R>P)RI zb)`8`k)_W2))tyG;7LJ48kr}F3_+g5(YFps+vqS^yEq(Nt{sJvD+{%xZS!!GJQ{45q)sb#TW+QptNS?`Kb|W_}0OQ=UYwOUgl|j3! z!(*w#fj+hMY*Fzda5LWnN$Q)hYNv6+tNw!Z@h!r%k*?}a^{6(Z zx~mzc?j9g)s|~Aq97uBNtPkC>sh9CX@N%=h39I!y`q5zB^j%eGaCDUG=5wWA+q$`x zvN8D`NOFtC+R`E55lvy}apgdrg|5dvLf9zf@ogI?m_OBdBl&P~dI?|0+EZOd`!?qm zH%WJH>q_~rVjVG(S(<|%6k}1<#oChG%{s-vf?O;?|H`Z_jn1;}(YMz0f$Bsy-`2mj z#Mrg7g*?@G=j6Oty5Pm`$Th_1Bk-5g$a{nEP`->&O)9_o_~M+Gyp)@hKbJFmv5nk+ zO7SE3hrI40`h+^Q1;tUj7Jt)g4IyqHu7@tIvxbtrg*;^@eS5HtoiWy!T>)HjP*@q{nIUtSk-|xKRU9{mQMi4X!@Neg zLx|^$aOgL~Lg#*vFTXi!nZC+7jKZ~-Lk;Ew@pH(WBT2X=!-P}XRRQ-66x;xgV{qHk z9A++_zX`+>p5aW;{V$orh>k(y@A=d##=Z$+SAPF`dpOnBG$%ROB?Z(RW>SUyJr(v3 zRM=-%*w3o4Ur=Gcw8H+03VUCLeN%;#xC%F!Pdy9s;-QNkRPkEPT+qYrm}gJ=(wE3_-#fy)MjFeb3Ha2aj!| zO)bw|IY~I&zPdc=|Z+CdKuRBxedY_xS>=X6Rz8~ zS4VH!t{cNb+TRzwa(kFLvG$%-@k$l)(bHk}%?KY&{=oWD75d()DDel@ES%_5IoI*DnFFvVgyv%Rld;cZ!btnjRw2J$TfZ3ma08GMxM;(Z!<&Tto-MIVfO#|d$eZdZ(%-a=G^i1 zFTnC&)ciwx5xo?9Fb2RAy>WX;d-$R~ep#SfuBR-Nk8rdX8Cv^lPA?whT~$DyzCV;X zy71IG=4Z?e7!&XD`Z@bD>-z1|1BWs*s*WK2$o;~lc(aOT{xGnD*Y0$a`+}Tw%-{Vq z`+=gX3Samqqg&qe=>9Wuqr6o))cxe=yjAx$l0T{1ErP&CGYB;ERT+=cS}Mt2p)1!*brEJ=;TG zV*gll!T#Q(;F{GI^=9=Ppu8~O;ymQsJWY~wS>Sv0`t6bBJ-P3^Ih)VEN#(TC;!EYa zLj8HVF2y;E`No3%n;*@N?HZdM>qW0b?!BJhgdF9`eB3Vsx~swI4QwclgzuN+L+way zhq`_aU7~F}>ql%mY7=4h&6xds=rGu8S$K3lWt(1J_}p2@Yp{5l(&VEcr#*Ysr4gkLWwTuCz;QEZVb0 zJ7#IAE|fmGFv0Uaq+4lLpF>}0Uy-A&7sI(J;5xe~eZfJoY_aN5+A#AXFUQ_V@9p{f zXva19#hBBE^Sn;TdPXSGTc}E|$~7kUdm$8?T|j?xcqn~5ee`3+7%z>muF#}#u)!C( zu~+*fpXMyB*}K%j8pbZ|(If4c_Kt}T_I@?Ss!QyX+}S*!Jx1ALPc&Q9dPLN&NBI3V zTVy`G^D@Q-nOEtr)#|S)@gL@D$of?ozs$neO`LSHa2)jO9A<=bm*7RuF)M!zG{I9; zHXrf^ZlYb?P^zDBd#UHqH95_44{?z(l`_uI5?dnmtd`f>=4_}iVLkDGPW-;n zetg==XvGtbT&OU51A76%v7f`i%{IajiMDC467BbfQcs+`N(aK3J48|2hB=QnBL7=m z(tarMKJCHu%Y*q-TCV{4cFpNtrG5M5i%uw=4gH7O73qD2vQ{~ZFScp@i*gHP%$`5= zSZj^G^J2<2$vjQ*9rP&kvvJovJDk`6zr3lW+u^Dby*cf*u4Zn1rs18e=_OW|)K1Kp zLj6=jZ^-OdX8s*rq5a=aYrnGFgE*D2Va^(gH%bRL=4kN`_7r>9fHw*6&Q^QZT?cEN zT^zINy6uOmoKm#uqqgySER=H;FTpU_8=hWWM@Bn-&)(f9& zqdoL&Z_d&0aI25@7WNxx%XtGm+hfpBg&Siib<>us@_M#Q=MnO7L*G_K;|}2_npqz# z)Q~=X`Ds%&amu9s8uq%Lth1_5>uja!m;N%OZfWj2wYM5EhyK3*Ht`+ySyM-T{Yoz- zoma4aU0tYt+tla8!zkNeJ!@a`M(Vgamdz*QF1~qP%Dmd?W&L$e^{whY>Lo+pN&7fj z$KGCQrN4wynL=&I;^lm64eOWfqB9|V>71gzL%BHx`unj|%7;Af=F+v_MsF3$`1~gt zC)_OQdg~5~!+$1N{zIKsd1Lc;KpWy4dNQ3C=*fl0u6#oLN96(ihlg?}(MLapPI0Dr z$w}e7cQ}fj+WSUgZ0~#lhAL^D`UbE8jnmGYpQ$wCrR_Z6_ zY$NBNF|-kLaVVZgShL^jX(WBL&{cYBZVGq=J}j%H1ncvUH* zXUbP+{WN2gZA@jG$rK{PmMyZ=uw{GWUs$$t_pxl}j!?F9^VJ#3HlwngYsz+!E!!(? z+0NXjvK@*?WvljU^t3VfBjsw^Zz7w=&y?wZP@aEMnZl#yz@tL=wZWUzX0;yE8uRNR zN*{4;U+XDPQ~yD?7;fLGaBIeGpu(*Mx3A+SeI+lqQ4c2==dN=+Ue@*@@>`e9o4MobL^O+`bsi}hT3WGR*pN9@U6s`uHDO0E|R@-oEP%OK~HYnemM_X z=M}4SlX8p+FV^&F%!lvyYwbtto?k0%qMW~!$>uW$EoXkXa(j5-;ZpV3_1nh`)aOEs zy=o(CK653q&B^(yOz-ykoM}6G%@ws~5-0tR4COUJ^|aC8(>lSI2q%21yQ&=VV%hws zp!aIZk-JQG-c=!gZm8G~^G(929lE|>2mSteC|;VJu!6CE__5lLv!>MM`8sXW{}RYz ziR?Jmgt*Ds%-0NmQ-7I=n`8@}qfppmm2SX(Bz7kUm(S^>)UGJYT*=ypjYHdEuG-{fv`*-|$xriX$&)qE7LEtjPKF7m zvsh*>o%YXNg>0CrEVM$WXmPkb&R*1#zRtwdfM2)`tU|cjfHPH|VuTpH{yO z!6SA?NZaMLiu`dqbIIgc{Ea+@vXps-{HHdSU~+)}^ zW4^sl^6s=rj7|TG<=ub#zP}Hnm%7m0`oCM=6e`3`TGpb9X5rs zlE2R|^7nup$F8z-P?N^xa|W3jPHjH*4^!mjY$(`a9!Y z@u%3sF~5$CY_B?U{WZb(g1?8kg~92w{3P2~Q8#Kw%|>;j#-?6UoBD6@pGkY||V@82jI2G?Bgmv*QwDCf`XnW`TdvcGV7hQ@ht2m-193LD% zv_>Cv*S&DU$9-u{=C)|Qg|`maY~`_XU>!S$;s<>kKVOM~SBPUfd|x|tPyHRnQ+ zanpRq*h>T6D(G>vYag53RA=RKqbxd=C)$~4bMz>Ti>LAyZpqd&RaWV2k>wRrR^s)l z2P2nLUSq)Vc7?ZnR{0+jqb%Y3!jB%?l%?Wmzm~h_4SeM?X358-Hwt|fX}=gOLq{X` z02DO7xiVK>iKqMv1pT;BS z&NyV;gYD>T(3-J*bv0$!O}TeFnUi!CS9>BP`-caRp^-WW&uM=Nd!`UU=N0SI z8%x^L{iomfJYKji0avSV<=7Jf&BApFxRfu^ZRpA(KV-AxF2MZ{^fj5?_+!fQM~mbC zPx^^fl#|B7|1SN+SSDl~Dq!uckJt5lojhY+NNrp?dCzltu|BJpXCCFDH%Lk^&;EbH z9W;R6;ApECOEP!$#^>)!!28tBnGe<`*W|oe%by5&8TLZW^Yvl@eLVdeaSy#GdNHrv zg!{I8=`VQpIONfvC=b&vqO6TDKhS)@^%?O!&Jah!(Fcv69GXrCHTRwz3Kdphbxymb>>a9cH5=B4FOzunXrOK@KgA`g@ccpILPY82w%c} z3pn~13rslHFOAtsINEU8D4f~{Itc@XS7saG4)H(De}&Oc?L*L+QU1ENvzGl*xR8gm z^H8{UX8}4KYKtzf^6n&DIZ_~;!n?dGTt5R(9O9Li7(eAB%8xnV5PUf@F)0wyrAx3O zCg}dx+S8-`3cm5r=xzzvk>9)ygtDN&&Z;=O{I5`EjPc`N8L-QL3*5#xzW+-ByYWYH z6!hO3u*-j`n1C^U{B*!B|NGd(;Tzxop@3cfF}PUJzcpZ&e_EZx7(f0M0lV`N9Bz-3 z+J#JlU&s^Z8Z^~x_z?aA+2?TKm$L{K|=CqMZ;N!yV> zy2!GT{|Wqb#&`!%{->3F{dTw*yXt$1#sBdN|5X+C>niNGVOM*2#m4Wi@E^e5MmFbJ z|1A~%FICugR@na?yV}zn8^0E)_M_7=agx7{Zfw7cMC zH+Jedx1oFAf+2=b$8qs)7o{9XjzdFTy!5ig^Dp`6f^sb_qxuxY?cy7ZTMk;rkiK~7 z$0yr5GU521EJxZ*nD%Avwxd1jjPm1x6Fe_N|1xKO1rZ9K0anrOI7DjBD(@0(1p$3u z;i7`?;3r6YjTu!iuX(Z`#-2Vw!pBAd5gu}a#M9ng#WQD=i5G)c=uEUZo6H2-oK2oY zAAkplj<_I9FD-buKlX^OyJRQ)LxP0wg-0m-8bQK8E(l(YMGF6_?9e3vNOUz=*lJ;y zg*ybHvz`IG8R0}PNhzIH3nMW2<|)Xfg707)fY+FG1qpwbAo+U8!Y3_!9w<6?$qpT_ z3PMK&CZKv?7nIk`riFwcc;^YW!>6r%y&&;!6C~b)*8fTC|FU2kKX{kIwFnZfLlFFP z1;M{m5d0ZI!d)pyICf5%^d7YSTLgs<<+H&jNVrZx%4en^c$NxI1`qH+(&>|3^&+V9 z7kn4_7CfACg?B1^ry${G3Q~WK@KBXwOz@qamlEvsWdW7j2HBxEE2#VnlAk99q2nb% z(tk~mcrEZ?;qMd#e;6Jt{Plw1pDqZ#nS$U;34*U%P~{^CzN{elBy)(4ob1HgAxOMe zEc95QlD$!o@|iA3J{Jj64p#`qz+>&t3zE(bLDG3ukoaNxkYLopPC*nZNkQ-~5+rx_}Db${3~ex&$d#`2I!bUuvIXiw*8!ojh%XJ*@51Ci@R% z?0pYw7v+K(vWM04ZZGK-FXLmsX&M;cogyxOcLlzaeCs7qv&WNlkEPlxkYv8Ad2}k9 z&xEcMOVoTezkZy(hl=@bEqh<3H8mt9UTXDia$izy!$*^arzQxOqlO9@Oo>X|&N4amY_z3a5Bx|K+Ek$>hv2TjI%Cvtf0;~t> z{eUPi3Tyy20BZ+k6gs183vd_C@1v`U8~tlt13IoyOu9bS_Si=d_RM~&rh4|b)n_he zzZCj|7;75b3CMkG+g@WnuXA@^oU^Qym6t}Bl({kI^?jjGmD!LR)%V3*RaWbNn~m zwt`2mS4TYU&Eo}F+;kpr7jeSiZj&A|b8{K*)`K_aYaJcHYUt5@hjo1GwN%j;M<-V0 z-JIJ(*irr2{8Q|Q?dS(jlsxcqX?1i{Zp$H?^HJz__N@~(=iPUG>bl&c%18Rng3@b1 z|6P^3F;|`bLaq)t1{jLnlzZY4!o=?_Y`JqYYfkHOW0apwgWs=`2d$w;`zg->e$v_X zQ>O#eXNJ1;sK*p_7+Xm>=c;KlbN+2rvRP_eBDu*rUJ(U;{85 z>ji4h$gCpz-?97CFQPHoXBTTY*TxXZegxkh#?BDj6tVVd?DUzYu(cC^Torb$4XO-i zo8z>vmOfC_8n)9(%l-~)XWhon6aBA+{_`%}MA*#%Py2TZ1^aXF9{Tf~hT;2j zqGhl@_XhfNYk06f!)V@6fBuESt1ifE?l0`my6dws&K-sH>lty|uj$9tF~46o(yyy& z7p7mc|JL1;TR)*Ex1a0Rl%eU@?8Q;Pj#8g9)VJv`>euLeP5-F!F3Wk*?S(oonHv** zG^hUjYG`x5IYZy34m;?BPacGRo<8RFZ7RfLe&24$U0>Sb(YJdx=VSC~_4NoiMuS8B zJpvxJ3FpSXB=nztzt&midi87Y3TGp@Ud?RIZ^eHr_*%iIzVG601)uskuYs4{sxsH* zUL|~eZeuACUt5|^_-AitjkjepIKNnMd_ugz@U6^T_{CGXDE(P{DwKjpR1=ndE?(i$ zw?p*p!M=Vfef^1C1NqoWAFuc5^ThL_K3`yQi1LD$+%d>ITp2bJ=g~*Brg2@)@QAy> z51sY&`!cT}UO4CTfV$Xh_{U?pMtH?8c#(Adx;r>Z9XP%bfloAeD@)uPT3U0-?Inix zr#UK7{bBmnq5x0mhJTELUmT?|l6J^Cl;H`HjF*eR6C#-!;2Y-&jqnEUpESIoF~A!T zlbRZ+XYmI3)VTjHUh$R+Ua>!R@ylL#U{Cu(!!N5Xzf}H>4m*=7eAUJqMSn1E@RVwJ zN+a&#DcWaK9na;v_JF5FYbchldhy5Lt37!y!`TJm4#1Cm`NMzVSL`Xsm+smFUrM}X zc)rwj=pbLZE5Mf;Y6tle`i(clmli9$+5>zE9nN1QXE?sp41a2dKSkhAsbS=f<~_(A zQOBQXmqEEBMSJ&B+2UOI#Jtqn($};iGOV$f>B`8lKR*S^FY=9+f>KH@g3O@PurB>q7b(vP&az zYjGciyOCWsA>Z`FZ{d+!NKgDB3@wsXsw^L=1CD{8BrQ$4k3q7^oc^_??}|?#2W^EH z8NQYR2l=T*P8fxpAX!SXOEc+ig$HdpXLDY1i;+{n8v?I*Q!U@4_;zV|)-M7N6W)5# z43XxRn$3Barud&;f)~!w@F&*Hb0N|cpRR?^jDpWNeiOky8hgF)O@Qb3u{RCgWq4zF zbKb~vl7kNM`J?!{cw~@QicZN!j&DZbqgyAEHf~!fcQ17+eDw+ZPeq1$!tmb+-=p~s zWp2tT|AwzpUWN}-HX+JJbuOr~+6pZyFIR5j>03x+j0xwLm#Y`aYmz;~@Xj5}ZZAD4 zUavB$f)=Hryi}wie8Oe$QkMF5X_@iFmb*)%-m@}k)W_$>0tcNe>7aAhSfR3Mri`7N z+HV!(W;Nrc8$TpdYV0s_X#CEC8#5~5*3S*fn_JAcKaOkxr>kR)UG7`yyKf_x!V4sm zMh2+&9OF|8S(G+qWYnCMPZ@6-y_KB7Us*cNjyZGS`I*3&)619>35+?Bzw(&V%-GXx z$DZcE*u#{ysnL!-@ceOqtFh>2?h^>gtv6uTSabzrNR5Zwey}gMt4!QD^e=WCV&6h} z99qrY2e%PdlvdiA7+ed+rt>u zIKmipIXp#UlGle!mEDkQ(b&}g#X>B09ciIkpbzT4n-<0$^~agO8H_vP#jWsnjR$TH z*@mAR54Pejxw|#TIAnQrBF9)aadUo7dShuiVe3;?{!HJAyiZyS88_f%TNe4Uw)ni} z&yEjk?&>jqMF?9?M`10`*ZwJ&md3hW;OZc)`iiu+#w7bPzlXju9_ZD6BJCM+>4|sO z!Pg}-M=2x6?~yAN=7%99(zPIFy8XrLZ66HX042|qDlMwHQu$6UX*q# zJrOUWljgdd^hPSH7;Y_Tz84WbOS~_TZh#K;RnaGT)5#4kA3B%OnG-MLEa?EabIdI> zq!)u8WTts`oL|cLdUs%)-@!PKez82ab#Cd#`55DUjQqC%TY#;=R#P4~QYQW! zw9U!^heKnll>x@Yvg1&RH?>$hd+)}fLT-v#JNpI4vG1y>+1im)#to4nun&1!&zhQNUGsi}M8=_s*bs=-0qs^PMHqyu2b8=q$s@#MTWR8TlwxGT`%In+FMZfLn z-&ne%103*+nemOKY%hCKyR-Q_af{%lbG*y1xiY`vldFxJ-j11r+sr6(M4J2g2p7d| zE^guU#?qJ8`*F3GbRKT^-Gwarpzqd*TMD;pzkW@A&8=4%e9gEm!Yy;})%oQ%4e_oe zxM}{{+2^OBw_=v!)|FjbN@RRD$v|n`L_-_jGtxf2(sj*=ZY=eDeMMe$X)mkJGcUh& zb-w4`75RDiiH-)`8|8it?w?$dU&MDaemV!Z;+Mr`%SY5Dhh@=AXZW8cjF zwWXdhEAmRa75^n3_P4FbcVlnEp6tVZ1pYDT8IPW9f^_ z-{$Yp-ULiUSC;qE*3xIyUtfVwDxCVPpmawbx;K`xm^-gxd_W%$uMGpkK;69}{a!t= z9vB5ifek>d4>STBfz3e8!(zY~um#uxYz1oUXakCe$ANKR2e1R!3G4)R0lR<+U;^mH zxLXBXe8S$P!E$6%7k5W!T!=ECdN=k?YkxELY1ligeLw6hBXZ8p5C10YEFU(tSvx#y zoZ-#ZJ_ftt&DPFYUY|Ex`)KTjH(NV%C!aT4dwG6m?PXn~wbu~d@MdcdV>i6n+N-e} z-fZoI>k>Zw!F7ojDtPk`tbJ^N=W?f99SebG?p6igd>lrvHAdZie>sq}%uoCiC+~TF zqwEi0+~8qm=NM~0#+Y!p)nn67MsC8%vc35^x8~~I!@X_|?QV#1_Wv5<`ugk6&icR* zGZWmDrTMw^AggSK1jZs7opEWoFumYn3xoM7jKVrULAg1jG~^b<5lmNc<>%;D*kIZu z<;gFYAGtZh`mQHG&J>r8+?=W5Lw?#j!!mn$&z_^%g;V4pjb&tk5BWRVD`^e{D}Rb^ zmzT;slmi7mlnuWpiIzjPw^B^I4hxZ6J0?+;dZpj-Pwb5$<4)a-G+dQIr7r(1q(0mCLKNd z#7PUfyO*7R&PTf!U;0MM=^z5Dti_LII{4ki-W6wDpI~dtkbU*_N5HeFc(#q1_zEXJ zJ<-}--_!o~pmFs|bQ6AW;Y5$(xHcwycRQkRcb{>-NAq(=dv-M5h(7TxN1tSO;Zt~- z%!J|h)gOnSqgCPVBwWxqzf*7|4{7J8aP7_lbm25UxxC8zdBQE$hczyopv$Ygrnf*V z#B01mo-p}{0+rVwzHStpHv}R&d;}X}g6@BZw$0L6Xin+4`*a= zuCTXM*xM`Y@2#-w-4NZ|xq+Y3n_J<(7`xhYFAQG(AH}ZrI})@+$IF?UR;1PIXu8d3+;>D2+a~R>$At_Dv=`07f1eWch3`2AE zs@SWmelHlau+2j87r8G1YTvT>f%ac-u=Z~VGGTv}_TKy+@X$X6pBJRV>g1?s~R|H9C zLz9p1K0(EA29j<@kn}WmDxKRb%vwmv7n^o~$GP)FcC7Z; zbn&gb)X=Zjbq=75M0ch;^SD2&5C$@z`la-z=u9ZNQ;Ht(Xo`H#DUzi+g;yBxu{X!R z<1o%SWZk)D_i^Z59O)9Z7gzUH6xj>;JL%AKNAkuzd%y>DN1N6W2}8W>!t1>S#lfwhJI36-f4YxB@%}F6Sbw8=Rm5)xrZG@g z#=MRH!Ffx9aae6xZVIk&u!7y@Rb2sGc$=_-NAOd4*qJdSg^S}W6oN7ecZmOK{>x84 zx@;M@Jm$+WV4U@XxRGYsc`4k!%!B#}ce;xNboc~m$7ORD$fG!-vovL+a*5h+msbUT z5RWzbu*TtYb_av*e~o#N!z-xsut6g^KWKFR6?Sb*mj9BwV#enGQ@*BF*kOfbBme3A zvi#!w6h8@cM*j2pZQ%#&HU8Z|XXIaIct*}+5I=A6MT?g$=w3WOEn!1L^iUT@b~(EH z@$I$voc=3^ci%Q-*?R7ROS{oZn3I0HIVx}ha+;~wMS@JQdIb@v9~Y#cUK509c=W=H zFB&{djpr3!R_1sx6|NP|TE?o!zrs;1x^S$5pu6StE!bfU0 zyf|Z8^C{2Wa{gQ1fA@d2e1Cq=;CS(?vH6_epBh^^`|F>5;T@yWH{N*RdG%9I z`p`Evgn!$;H1hNzmmcQmcJO}{{f!f@nA~^v2PRE>_C3YVeypu=zg5+@9@cZm%cJi2 z%$L7&)~<_Z&VK5rM||(!ZP_(*B|4-akJ@W-0y_+{6garJ%oEOGgE z@E|4$Fx^yZbH z&u@F;-amY4&5uV<`O(|gtj~RD;)0FO7JqnX(+_`r!EfLB$J&3pI4xKf{>;P^ro?8=I^swF@0g1pdL?w!njb!Lde76L@1C&k zi+Y;zi@W?ogdgxzv9bxC))eQG=KK=?N5FBTTkrx{UKlc z#HXe`bLF?*eBg0keSPj3-#Ov=QU7wp(R1#3<}(+5>X8}wtqsqd{lhnBj>>)Ert!c2 z-L1ve+D$K9^VRRXc-bG4_q_M&gC5!S%eOvr|DEGrnD^qTPrW?pcQ;P%{Pd0=UDOp` z5`N!j&VB!k)UWq{rnD+mzv8Q+6x$ffq z|6JPE`LQd$^2NzNTeJ0Bk8ip3YwZue=gG-mS-bH$ult}cJaYAG$Ny^LW&eKt1$VWa z`|f)e-gd^eKP>4u1&IY?u=h>!uOtB_0FD^Kl$Uv6Fz;%!0H_zUoxfoS7-j@-L*$_{o#Q- zF8}<6hmU*p{nKAP@@MV)<+|_v$h6~b+HrGs;#rR_`hD|vA|F_J;D6pb}?>QkHU zecrU`Ffsuq*zefL;FG0lWM!57^~@ zWxy`~H37T)ZwuJVpL|HyCjUWGgZ|4mDS+0P-vQKjhM(+519SWa_{lDPWLA~JPxeb> zr@k}ReiinZDjhfZZ<1X)8Y*A*ugQ*nMh!#upxOQIyGmVQ#QTAbpgNOoZ+ifN+SzaU z$&OWGkbBn^WKXB~ij`+Lg zCue`~#N*~4HLY{flxgi#yrItR@yQ)>KT7UXrcRz_gSSteG7Wdu^@h4nj&}&p2|WHiF-%8$I9ybW#=w5SupBLWkK4_bI!kL z@;Mg`t%Yc&%Be7L|>Zr?<8_-UH| z9cyD+6EpW|Yt0O{T&Fj(Jao2U>0~{Bt?X^sbsjGi_wVXRu(Yo|eky6G_&=GJZbvK4Ep1wLR{VnV#5K zn$d?}D*GI)!_UV6Z$=C>7wS{~n-`*0Yi{PfGQRzEPAyVj4Ckkrw|U&!pUyD4Z?E59 z2UPgZsO~P|e(*T!a)c4i&ucxAySZUuO{8Vk3>DVhP2UxWbE^%jyPI?$d2Q6c&z(Kx zK0V-3IqAM|?v=>b#_inhUKi*0uK7Pcd z4u{15jZIg$b#B5hpJb6Y7kRTs?-HD>JFCj+b0*4`p?O24dLR&AcayU(Kkx2ZSKHB> zlFFCx%irPuf!wnjON>3`cJ>Tz;ke%QIoZ4;Xf){v zztYlMe)?A1(mOD+^Y*;C(_L@n)j*5NQFT~Hyr0nS)@U8q;!v4h7PO~1$AP^*4NbJ0 z9}|AEZPT0`;9M-Y`UcmTpCc{N!@WADkBF9!5w5yzC*Lyr#$F3$X>W^NUa>Xx{ zAzxYE4@IHEPe`a`hk@&07S#%cD4=uQCqn?{$d* zooS*TSU;b^w`*@*anA2}Yj@Nq{IzvcCia~c-aQzsZ_=c#4%$=M{0rFsF6KmkqxJR~ z6uvX?Q)70U3sHk98mYuJfJC-o=R#Kma0!vZ%2dvUMhX`vtl|jDC>-slY~-h3<$C+= zBc%I5!osUHY#XC+`!dJbLb!cdZ{Nnok}VKK@tB{=CCX3bM7m}3AP#R6;noB`os)q< z_rKO0M~DabRh4T)E}{>v5irB8zfTDGD_`%ZuurY9A6sER6Z-%^?TwX;9^7;MYu z$bOBp0A;_i!oIP>eqV+CfeQP>7548`*q^DeZ^gcWirWGdy}zpP|3ig6M1^UOTh4|b z6!^>>z>0tDnOb%}H}EsmtAW1F0emQ>FE||fIO|sc?*q;+rKDZlX!Wv!`$>Ga&-3& zyK9tp59rSTpwrBgw0~hbWu^TKDM18uyu4-xE6L8X_Y30RNZD#%p7uIxUxW7E2+pvu zTW~Dr90ZxXJ}!vRnzQyWZBF)>ApV_#OxETJBAaIf*|)dB+V2x&zg^DSUloL&FzrEf zHwrdFhahxlzqa7zg3#Y5NOhc<`gy0xDUBuYxMTgnT*|L>`f#K6T~7@ zyx-NhH2!V6n++L4ICx)Yr{c}FVUU?P zJMa4ozrrwI*{K3CWq_Os4Qy8A+%0ztN}j{3PP9%>_;2h+l=tL%{5dP@tuM*X(d@A= zQFxKpo5BiD8K@km$5$cS5RW)*7B5ZPzr!cY^=x!tHe$9g1T4ZYAPdJMfO?v0=hbZ43ToZKi`t`@n;(5vu<-cz8rm;0!oH+BQ( z+x_#fH1j&ebMdEBuBM)F6I5FeboJjw*@$+!N?jtl-qeTO6h`HBpN+3?m#2E0*0Yo! zzn$*va1MLk)Kgzccm0OFp)gAO4J9;3$rJ|bB3X>;Z5l&|f5$HN9SY0*I3FV2X5Q@< zJ)%=#V-;cJ(TqtiZqw_q_6}?BwDwMGH+4dJc3}^tkjKGWMOrEYlMdzU-wUvkvf-Ut zZ_YUAuBI)RckHN3)BfA&Z*AQBi2%pG?c;C8C^TTk=FY`o#Gvnk#@zjP_fJkYp zj1m@l1AQgsS$(@Pq4$Y-V;y>;$k^&99fVciQ`s~R+|FGE+2V!Njrv+N(3g}B^WUAf zl7=w>yv_TFcf}s?etsCd`$}*B9`N2j4Boxbt1`Hlw-MDwRSu44xVEcuFlE3SPOfZY z3GoYmFY<6@`pN9~`Mdt9H{zs& zh@h8nZqMT;U6FJZ&h7iS@y_!O-Se=N{-gW3k2QI}u2k(M^GEUhN7|j*-zC)VVzs^Y z!SPJ#a!+%aXFaC8bH|A4NqQX3^&?S#3{iP~-T2>Z{2$_5G;)tnIsOB<#cVzI^DP}y zb0Ge`#$V-ia`A4yEAx$BY-qmiy!=MW(&U-(DV)iU<&8OX0=eS3ri|B_ygrVb>Ki#B z@5**HZr>q{<3lO~^}k4f4}DWOFdA6&o~U_86gfie-0<3THXqBNA7VuV5zw?N(NFLu zL`CY@AJ-8h>vT^~m_G2Iq^tX@NAaz(PBr@rHpT$G)u!=4 z?aq8B%-FQE9_S5dY?xO>T%{fGb~Wu0`Kzg(Z|=;>Gxjt^`BpncUqgM~M%mp~nr!-} zKdws_)Z1_RiPrzFG$n&@vdAynK$>R!buygfFZkBJ%4G2P>ZLu|>_BW@f_BWk2au;pn{&x<_)=Vq>Hj50_N?SE~4amvTyT_r?@j1zx zl9R`5_W8!gZJ()>lM}Wb%l~NFaiyHx67WA3e>dg{zuK^qlb@hnex0BCo|l|u<_yRt z{u)IF`4IZUjAQC^Ey@dhsUsyB^3)oOS>K>d`0pXlDTd%*pM++Qaa!Y(%1P;eWq@}nZ8>Ep4~_{z9;80&c+m9J4d#9K z>2@w>`ax!-dCS~lggO)tQTv_FomJBl8dv6^ljp8~_+}(VSw`3GaC0m5Z{%{;nk47X z(YdU;(cb!BnDz?4tEQfmZ|cJ6qNR&us}+?sJ~4!CK|i(~KdZYu5PU1xY! z7j(tB!^zx}L^+_Jgyjy-!4ibkd#69Ajty^@A7y7`blMSPVqI61d%t2gmB;-XadUTp zIXOo%PJ`{=*V;CAzpZ1npKk=(nELukm7lH4C%~t>n%vwh28{}%ve&%K@dgJ~r(yE) zHE^iCI=aKmD=r3?>SZH-!F(!?o2wvW?d%BjRnga6LEl+~aq~5;t-NILd7j$5+PisI z6g~z&326+|y{U!{WCXOAb?Vo~?(;e`ACg`CNBPj0B3WB!_L!?MM<1L^)0@nkSK*=w ze||h9Y@n=^mdZ(C-5fR;&*eem9Y5rSzLNO3c(`k$MqW)`hm7I(&$)rJSxngkd9T{2 z*(`-*-8QQ9@kDsGRpbec zo0+q!tW|H~g`JikpdKsp1M$L{7VoEN=PK(&pdC71sJX1l_fLWHRrpH2to-Th=fMbB zG6xDGA2}Mj68?Ny<>uwCgGbCW{CJ+F;Zv4|v8NI)Pp6QkzjlaP%nq$l8 z3QNz7y_Av426@(uwNn{u6>qq*VLaJ+iY=R9UG0sIuf0J!TpcOiNOYWQ=~z%vCNuU@ zCf$D_Es8f1Eg!SAEZav~)Lsg-m#AbenXEFaN^B>_Gj?SHy z&g(6m;;W)_9(0<0H^?-G&sWg66B;kIG*-50#}|V%IzI2pO>u{#M|@u8cBkkG@WFYO z4{BcK4RG&vKqmY(wEWQ0G7=w5Ss4R9T`m*F8IFeES{fdxpkdJnyjXSiJ7~Df($F7M|2ym_~$-Tkea}h!JC>cqzXM}WB@0Z7pb49?T zd8%N<(mPzd%rNn)DX(BWyY9Hq6yD#(U4R!aTF|{<(xu(Y+9!4V^{)eDebb{H%eyB! z_>LejJ7b&CZs!TQCea;f$TWTvU*VXmdK0Z(-9<)kVg`-Uk~xB(!tX6yoG^+rnV*dC zq0cBAr7QpUTd43dGYEHx|7rd!jD9mLG>-hcU1bAz724Xi*o95Ck+zR6vkbX{Cx9D=I2#v{cceVx=uws`(&- zh#so+h&7e}eb2}4?3;j`^FP-)=XYIau59l2nR#aBnP=vm@0qvLUYpD;%Q^{#UK<^r zrZt-O|Czlu%*Tj{u~45y5{cB(o%gs&Bi(sNo2Kc$-Jt0|TNfVXKgXcyUTe_w&%FZD z$nbX?G~Kypz;w?+`O`GrhZ!`(4;nPx>kOLiI}Docy9}D{jVz$T$nAumR>0X0Do9P}jXb}}^ zYtxAuyV>3@eo z)7^&-v^3KHRD-5F@3Au7Ei8s;n(lQ5&G73Dn(nFCA0v$nKh2=&zRaNMzrmn||5KEA zRsPcqn(k{1n*P@tG~KzMMj9DEzfY`by6-S(`rmEPictXf!jV5>!UbJe9nbj`UG!K7 za4(tMLL)<@8|!mzNDtNokTmOOZAg#Dk6|?e8Q#^}5lHtL_-%swAt2pv1ZqR~#hL(; zz8}90s9^bul79n`=e0Eb2I$QO{W0h!(AkRr08kr-$9NAI?wDW_d!}@F{Xx4?-)Z^+ z&{+n3IcSeT&jLNnpqGO78uZhk3qaQ*UdrDDS{usqHfYwbI=)Xp^By}*9|XM{^i=TD ze7k%mpB5_q%RsaK^eK8eXx5jSz7;g<$7UeIUkcQQ@^RmpHl!bO z&`&$)mmTyQ4thIi*0;?Fi}5jD)~^MMJ_NcMbd92uk@iBo1e(qSy$!VHzX-IA##YnQ zs4LLBmH#r(te?HmBjXE#)`sa>2AcKrLBvb<)u34)=fREi@)Uh9Xl-mftOf1HU~4{}sqZI1uLM0z(Z6%>{}uEO z!~J`QyA|%}XBJzTC072(qR|s4O!gJ=lBIb&WGw)R#O<2JBp?k?=fUtC==uxMs^@paMcU09PlP+3;Nn8lvmvdW60 znUz&@qkaAa3qz?cEiJL;md>3KxGBo7N4iAGP2QsN(uxRUB$cB_1tQi$B_feg)+YBL zhp19lqenUIOG>Y+DmC;sV^-;mIYlL9)ibcmxvZiXm$`>!oG~}R>^Y7-&t%cX%kahG ziqP_>7Uks@=89`sIbJmFm^7yyL+WH1DT$q&1V3JfP7a12)7dv+%w>h*T?!|as*Ds< zB$^gCqJ$dSs5G;*WS+<$8I*pbBo&F3o|T>QEU75ZQLmG9XXG`Nc(G^l-4+EY;_!<= zRpso`88zJIKBE#MBG+)6U6Cppl96gXE=ERGJQML8Be0|L$ifwg@uvc!R9*6z0db3b zSZ^iM%Oix?PA|%*j1rsoi)*^j672E%iZ>wQnZ+_3?A+oxrAm^pWi_hQE^V=&ANBE# zm*tKs;@vdX zd*1P#;Y0iiOO$)La-Xm0S|G#OL3%Rwiq1m&Nq&yG$zP-BT19VF^iD;4FlUi53+*$p40=)MQ#eiGEQK`+HxXw; zPU0M-OVQ1W9)?N9jB=baQ0P~koGqWP$B0YXum_z7W&qLA4vN`Mb|6jTm$W!6>X!hO@7WX&_1N- ztqON4d!Fs-dpF7{Fax-q^u5R*%yaf#f$y2j2ozP%4V3GXI{KVW4sK!X>VDRNLvn`U z>Q*cF=c37rF1^ngduFi558+J_Zi#S9H{AYg#Pt!LxraJC>@LH84`I99a^1$|#`+TX zIbq-Pi&&TD{w3~d7H7t>Rz@AfhOqC}A8L{Nl;!@N0^=--6%56oh^1Kdt6O90G1B!t z(8~3tWY7IA{gi$h)OrqHRmhI~2!wih#PgMHD5fbcx6F$g&wYEeUd;Sp9H?$k(x-_0 zV7gfzl7KuHj#INjA53qJmM!RO#r__|H<|l{`@{r!22ArKUxP9~bli1_o99)SC*in* z&{A#Z&KQJQLfl2hB4G%zr0u7Tm-g_y`ltdrBO5^xj0C ze{eyrTFBc?%Z9X|`NWzg*H0(4&BZhMbzI#*r&(*;yCEE&+en5#h9hKyU)<*{?gaqf z{%pIhm1i;NP8~2F-pk(&{_q`0S!Wiu zXFX`@EFHYe-!Q*A3-JNd2|Y19rq@O~nO^dzL6_p}gW|=R2wC<~_7bp$4jrW=ctb5k zu&;w3hN1Nvjt6q#-V34IP2ekUmizmthdAhAD)(eGnix~6D!&%Ycf!rHL4G_WTM?*I}qzfdJ$(FQ3rJ)=%HzOdv{Fn>-S2d6*Tg_G4jm!Da?bk^SkpbmtLIRDQLPAZQ~^IJq91* zS|j4Zw@cx!b;q`Wy1M}FCwdlbLMF%=2{XDrq`yqIPbg!qCbVggmv%|EY;(=9*e>yX zlWvi7KcB;%^(5_C##!dHuCcHFsIu)c-007Yi|3y7`@=Fp_ZrWgt=tEt&(mxJ59OhI zk|SPpPg!PoZfJkDwM5(vBxLf0P>(KYXBpw%>YqyUGb#>eno+)vn&w9hKQ-<`Wqa~w|l|I`i5t&oI1S=Zl-RScD`$-ZgA3~v(*06Kws9H$NL@D@eAKB^Cnd0#?bH%chFBM5AZ{~XuO^RImNC|e zJb%VI$CP~{c$oHByx$h(hr2FMW8p@<(XW}VeAv7EOIlfWDX+6UT?BWw$8>X+m7#Fc zWuD(oG37lEZZ>3LT3O$ivSh(c%aVXRFx^n6h103u3-%Grbf$wRUFlJOvqhv+)j>T` zJ_XIb0_w|N;7{~o4-me?n~w5>Z^u9fvfkD5XL}Y!y(9Q=Ysw0Q!~U7rpXfuI>|NU) z6M#R|Q*psiOIAJFJb$RyMC3W!RdfncT%pCHo=dSpEd?mU)QQf6NMAR)y<#0B&Wo{s z#kLc5Ao~MsbJ#{x#uT@F&-FVj`?^!bd7*T~$@r)*XPh{@BHQER2$Od@v40nX{_~&k zoE=;&-nHZ|!rcyce&?Kh4-B6WJ<6ORI|9PrRYE5#Ri6~YxD*%Cp>;0yhI@UjJeT1O zEpA7=ZRi{CkLokC&GU+Tx%#jj%jUU8)#t(4?>@sqkRfz)E8-vgDg8p<)PslvaS44P zjz+B;ct#y5@&szTd&n?8z!(N?VWf}a4fRByr%#&dyZy?R zXVa2Y-wk~rp#!v$`#CI+ndzqN=DYd^ z+<9)6?_VO^;ytpy5P5~P;LMB|^YPt?Mg6AjpHu!s8FYlXQMvJcJBDdnJ+;j|&zFudCgeLSma-wPxPD8UW59>> zp$~rho*#}JxqxM$0CCmkE^Wp;yq|5D3;RvuPzKpv48%L7%N57}F}}&IN#49xj$yRD z)y(p7dV3x0lA6+xu4%1@SjIefhAx>Fms^e#@lN*X0eQ6F{Y;w|WmVa+-KHNDMKKnT zd{^V_zSP;He(LH9agHmYcxkiCGnD*Dlaz<@;cSOE4^O|WV|1U|vRAe9{j);LF)qRx z8>CU!N$9@{Ie3;##2La_+R*ae)v!lH(t>(szsq_E{SkTI6jQ9olU3n%6>}6g+xCzM zKgNypcp~kDI70_s?asD1iU;rhtI$_E(vEy%eyq+2EN@3yX-N;j&KGJ+4`Od`5Pcuy zQIduEubvO>)jGr&GbI-FPCUwAlDD=Mb^2=F8S^X1L0w|6J7lB&FK@#>Z)Ec-(T9rl z<6Y_Z&|ayJdLcXY!M-Bz_oJ@nAzfAz_z_-0n0Jln_p?4?|M+f%Ntq~*@C&;ouuD~T z%7{C9TwzNDJCj^yT|3P<8YYmRZz;CB`{S^o#drKqu+Yh3$u& z(2d=QJNoD<7sUU*mTiGfZ$kefQdyCKq@9jI+(zq1bet62v#Zl;szc42;q z`H}!T-t|a(lz)+asUw+g`cD8~qQQ4Y7kuemgopiHox)>V!M>Q*Ir}s$Te^=E4_cpj z!}NLzWNh=gYuj-rgJ`Q_peJ1xaOSIz-3YySLoH{*ozLt8ovxmF{(gXZj>EHCJ(IsL zo>~9Dfr0uz@$+I1gLAdiALnS<4xrD_5({1|Z>7Wpa9^c`zP6fE6*2^Uq8?&@HXA&A z|7fofeJa!yD!3m!AJO)T_L$**3Ym}UAK~MS zP>MIec>s*HF>i_YxQ|Ee{htZFLunU>Q}V$+m4)9)B4dU z+8~6-@Xa}isQXPqK5?HG+FB8Zt8wv(ER#A;SN)wQ4g$^bCi@p6jgS+0+UqnSoAj3s zf0(BT`%8zv(N2GAOoVc}U&qJ3kIPz&_9}Ac$6)wF_-*V5>bWz<8{@;ef-f`}@8o{! ziT#vp)khqz=1S22M<1~nb4FU$siLpPei*~}Liy#GJlleu#u1!aN#cg@SX%Z0F5Cz!l=hkB!*)#nrNvcHp#bPD|`J)n&2ryM#Q z)*;!R#jR!-IFlbGQ+gLNy$PQ62up;`@`pL;Um{-W;VDB->WlS7wg>YWMw)(W#KE+r zcaav=cUr`YcZOwx^PwDjne%6y6Uj%O>O9eC1&w#QG4jm&cEUU; zYb?jCzg+c;T3II8ek3Cu%sV|t#<^W{ehp_;aE93GL;h~ych0Gyj62Fn=Q%Z9_P9R9 z^22yJCK2g{Twg1_X_=BBQ!;rC-J+a`I){Gi;Fohe+W)6;gI>bodeW0mZz^KV9YY!BnL9qMG-S)$%o^U#ee@crK9 z?YDIG9@R(Q9kb5Id9Lt##BUkvcPh(x&NiMY3%_rSc~`tkvR*$Q&zw68uSJ3<4|eIW z3$H=K4*SQ&`^R?bDm-ThKaqEZ;baLv5j(ak1x<@vvtiG2%y~w>YkYTg89fs`nZh5= z!ol4vhyCG}-Nd;*o^zYjwg5WIB<&_Wu`K{vrld{q!`+Rz^f=&B<`=@#@rkux_)CEw#>Fz3qvq&YmoTpd zJwcWk+9f#bSmsS0Av5cD%p+p_gZVw&!-Ddfjd{dl$-fJ{TK){^neCcWeyjn7d8mVA zw|wW#G_p^l!^uK8Y>S-Xa6Ga^y@y(#U4_ND2_06t2&=PBp8!u8!is}D*;XCq;AOes zSdaY!ucxjZ^Yl26FUt!t@~kipc=ZRGJtnRL1{5ij#lm!liNLpSO!+u>Ge#KAn`TymBpj+x+b`RYU)$UNfv zVy5?6xKnnPEwi4Vs_YrA&I?hN@ZMf-#H;h2-vl?)Rsf!C_|^GEea0YNCeI~CII<6c zG&;iJ96jY@JWQV{JKmi*&eOXve&M@}al$7Y%gFiFUTqlv^hrkO=KsSp$DO z-ZhzTk-O!v{?g|ZM_FV)fc+m+b{p|70w2p5)2VfH7yKu~UdwFiG!A~)uVX!f_){%GueP&U zr(q5U?NYC)cxL@XIW=1KzE>N%C^=8*|lCcpF=ymQ)2u`{jhK8a?7-7K16_b z;(_p72j}M5x30n76qZBkLD!!c6ZEm_VF!2Ve~OqJ=KDfA5%u&-O&GI755Gpd*Fir` zYWxL%VL5~@u?|{eAr3?4y~wY+(4z3#gi}_`-$u!**E_^G!y)TV@G{M)m%`&`)}ORv zUx)I>K&BYA4{D9IsGa=^kuD$h-2_5CQE&B$M|wY0dCKou%X{$TvCaq3$@t%B!u!c) zK)U}G=dVl4&(+^^llb3y7CY~>NG_>iey6k8^*K13h60SaNNz*6$cH|KMX#h$*9kM< z2#XfF2;f~6{6EEqXoMg1RfS=AYt%DA%ZD+VILEA=HegbA7YNE1kDrzga}Ods)FZ;A zoi2G4DflSkSp0|#m&Ogg0rFA&ryGBT3WX*9jRc=*$U{?tAJU5Mn>6IZ+(+1GzMinr zI-z3?_-evjGES1@*E%7cj!xx4B(yu8QOAjN*g(|PQQ;+_(yXIGl+p2OTBB+IpE=u2 zy+@4vmRo&-wvpe8TVv3eGqw)#pD@zB!=U+i82etOk?t<+Yt=N}(@^1Rn(^~4dQH>a zAI?DOzr>*Fo`bR_jdUMo&~*12wB{rp>sxRvt6hDYjp0QMUL?cBMU`ZR&o?V#;?M*! zk7=04JexL5J*O$!2h@fb?)x0{K?nT<=q>Q;RsK%_^4vf+>=_=RM zztKUz0S$(`}8%v7W78YJd;WH*Bt(N&R84DBklrH7NkFeJKuMH z(}MoLckuT`K50Y#T+n>~x2p6`a=2dwn)}lCDEAtN`vTBgGf-X;7UR3u;l2tqzv*y5 zrRPb9`(_9ImV^G#LGJ>6u)nP98DAX2)rRS@9rSR}tiN_DeN1t&U&>FZn5VI#9p%~3>g&aMPx18=Ja)xmd_9Ga z(Jb=(rSo*0d0H=;|EEsDsl$!olZ!m0r|fui(Ggfx<-CA6=qgW^MZ2n_q4F>-PVH6C z5+_?DhijwRuM>f(lY){xnn8xw^?|v_5j2O+mF(3u#Z@&rAqawxj?dBXz-DO$4%$T> z6^<661ZVG*&+_V7Wix9A7F|EDY{ndI$*<}}S@0V+Q5MphvWpI!nRu)Niio(P0zx}7 zL8^tvBBg>w)PFh z)FYw+hw$ojFd;=iuQi=Q=>vr2(e0*Vdhike38oTIu-PB zLvi`MQk*IkC#R3^EN--XvScv=S$iN%5*4M_74syok}7iKI8v|5^TC!I^>JUcBkaHR z{W;orU`9Xm6NsqaeWE(&~uk;Ov~jkiv}$)6srqoQtz)M5JdE5$Wk5 zo`-e^?GNP}M)aWFB|#7xAeumKp0_I@*I$k9xM9Q%ln-3nb8IFWV}bI^Aqf^WXE4-p~nW@XRs zTV)J^K8fH95aDlwvfrv`7y5v-Pa`7zA>#Sy8xtXK8X9QQk}91-QBoQQH!OT+?8NZD^9des@wT*v{M`Om>c-;oFh z$ndfidKH!{3@U6;*i1xvFaas#KBUlx0XEN!rk*In6K6dOP#zS``>U8P-h;w)Z6ao& zFGw7N@=QcJ*Y^TKo}4s^1quVibMc-KJt%(|v$C9V?8@}y;K%YjjtKb*iO{QGVURc$ z{)v!dJrQy=5ywHlM1F6gDUf zDcq=Vv%=j(HVPJtYdA>&GnABk6? z91>BkI7hLnudwv`CI?IuzW#A!$uo>^bz5s|(^BHZQ^5neqJzeXbX4ic|{ zKctc6jcMhNb1#gSb1bpF@<+T>j-O*M zMmZ#Xp`2fc9VW-gv1cG2+ULpkHWr>nkRFP7iO>z4tk|i@7vfnMuM#IAUx=8n^Aj(Z z^Leo-le0)qK)psBkMc$Qg&fDlj)ERZqYTs$AuQ*b=T=tKbUM3?1Ik^UT^=%M*l~Z) zocA2SguiFbv&&*Xus75avg+0S%Gl==RBJ1ktM~Z1&rB6%9QcThfajh5>p{N6d& zF1g+!)(^m+ig1was12g`tcZQt@E@;u=|``Je9n0{YBdqYU>;tV4u+ zNKd2u_910Vfs9<=)!$sVARpH0cuu)bNbS)KfuA~{Y~6gJ7W&6}vs~*4;LM9Z)blm) zCm{o{RXe2t(*q=cgxfK9^^0)_W;qp*a5%gZN$0i{Q6# z78v`?mmQmE1_R=?T&KmwL7Mr;f7SW@yIWR8;fvVZtPLO9s!-kUbthP z>s@!MFrD`Z>$q8v8E#w?$}YkcXM`X#x^W_Gu0hN2YsFo@lwbR0_+udVqT`U;89rX2 zsPOf7SIn?SA?(`Y2wUq!-2HFJj{Aq(DLcxn*aKziXC%U={C6COe)RbPmX{bG%CzI1 z{i$-tHFcTq_+}K&7KGIPm?Y>x+lSP5dW5^Jz8!*i_)f1^-;zOI$I)H;Sr0!kQjZLG zAKxp=7U4lX10K5lzqCdu>g^dQnE$s%Xl-=y4V6YeqB)FOxhOzinRig8!X99e4`s_b zP0?{cnr0n&OwOT%@w0rFA&Cl7yx3WX*9J;}%nLmrwE{E$|5A%r0xx*TDn z`Ow~mbwbD8;HwF9$v8=pU+aW)5Xz)(y5pI7#dO&C;a!dj&kqJ{tP2|*Z`eXTnD+lw zYlJ1?K;;@7%a1g24bdM?kXpkt=o7%W*`S$cTMU}+ocEAM`p+n}E}Z`-*9fUY&iSMJ9X8DOf-oh^fzLtv9dx*0!k+$bbhy_#=+zGT z*A9A@}7j(Ek?4VzD&|Le{hT;FqK}X&dncu@9t2X4H=%8s#^;OuB?V(bAFbus5VegbZuG;hn)YfoVZ zPS9g=I80-fn6$Ev%tOPDYdTmY6T`&oD(99~g;%dcsK;8{=|VJ0WvqG`DTrF8LcGQW zmt9SAN3kmgBeX78W~4mPPKKYOuE>}Uf?q8(Vrm^1XmY-u@)~O>22%-cY%CEBGpj1+ znp!l4mI0Pl2;R;PT+-}pYb;$FsW9bGi>5N&dWj;O>DoeF6v|ar5sq35P!UFj!8N6> z7A9p3#)?x{p1WAsie@ub&bo4l&NwBPTEH@wM7#3ag;pY~G3G6((Vn?_a;yc!Xl|ze z__-tTcV73>xgC{A2LF?+omZW>!Wu27y5iJfd90OnbKNZ3Tjv!tb9pbCSEM+4=@9j5 z7JeCM1ieJeXR^J^z#LV8i226_M7Nx?;v8g%bbqvM!~s}KA;SM*VkUlU=T5^M8xi&+ zhzNHa@pQCzK+f$gQ10Bj!#VX0z`mH%Yf|>Ri12rS_UQZ{CVdX%MY|;C7KwVPX0~jfIhV*bjdPG`M64C16VVZe7mIV8 zZsLV%4s(Q>!@Nk%VPa0xL-$M69Hv*zVdkni%u8i{#*S2Tn0aarGhfYNj#6`&So`oZ z9CZFlh-1_oCgv>5Nn=pMau7RC&0&sLbC@}54s$TlNp}p68i){TB@t^LoZG|-e&@N( z;a$&d<_sNl+;f`;pi`KrxlPU~;2gKur_TN2X_$k;Tps53LcL=Ap}4p}sD*Qr+|Q1_ zJ8)7Pinlnk$N85;%)jV43k!D2EPd$ayi&r)_Auznyo*BzpAOcg(GM{NXhDLopbxiutMpJ7SM~?{g4o*x*^*PWwdo;oNT$^uaS9!oMGR6%H%< zeoXF>H_vjLVJ9K%l`3rP!I$&GoD0XjD!A9DPdviKIZ9z~`kUoh7Y}*jF=yOKUX&%_ z_E8sZ!;~A&U8k&8`SdRGX)*H2t@Ft*%OK7k3!PH0PO|}L*f)5BOgnh~-`Sfl>XaEs z&Hv52iTxQmUuBgj=W;lQqfLg5wgqixDl7nEo(E;N)4bb)IPF6sd1;*UZb#!olOV#6 z6~55EBfK^0nV{uE6A?A2g z7Tq6kxIgBgpLWo{chK)S=r0}gzdLB$^BFdjKhr^9=%6P$=;;o+%0b`mpzm|gkAh}- z;JeK9JNM@Q5$+=lcP<`jLwTKh?@uvaF1lafpr<-$=U#i~yx5Bl{y#eCZyhwp71}WV zNLiQV<64LNG6(&lgT|ryuwi%{cW6U8!Kf2RpX#7F9?^#G6CHGkgLcl7MLOqs(1(wd)zuwk0v zsZqVKGv=0}2m6KtKSzSeB^ieJu9FTTYI4b(W{Yy@a^gpYfAonT$-qgI|C_Oje7whz zN&h!vg+nF(u^Fp8)M*)*kMR?+v1l1FUCl>f{~`M>v8ed6&~EVC5nT5nAKP2b4kG4pxaPxouQZ|?Z4t2_=1++IF@Hj2c*FtdC=$U}M?|Vh=Xt67y1Lzzy|%Y?dXy?Z`cDnWWD`dWh(ZXA>d!Fks(vaBWA1lr3{2m8l7r45%V_?)rv*u9Z`yTD6on>a0tSR#e5c= zEbf`ZpA|b?%`aho%1avaQ_PRp5o&(vA~nB+`Kf8N$NZF^=vDJexzHQwOV#|+NHxEN zK-hPV%~$hFn0cuqjSe#2m>D;OXOS>>H2C}>Lk4?>4#8|uS9|0J4jnkiEzD1U-@`^8 zz=Y?Kx=&LxO>0^CoMfH?;9t^+Hm<`6JHgCND+1o!bATqy27 z`O-ZC`?@gSgksyrN(r^N@mp+pvA@dKhH=DQ3|G%R@L9)$JK0jWM^48TjtBD#xOb_K z_Jg^G7To=|U(*)mY5oQ}oEFF*i}djR1}oS(E!+#o`L6`T#qY3-_z{OQEjoP0$2-dY zSB$~&Nv^r2_@v#r6_qum=Z?N?@;T@w-~`jTxf92qTU=99RW==8>@vIIBGZrc53fIZ zrqSOd&!&YkE`_LGqQrF9P@Gw{K_uEBfosLq$B6jxgL-L zl5-Q(3+pF7>$Kw0It+)8`JjxBSJN6z`~S?CmvTgm85-rm+ie(*Nln9V6?5!PvmHN< zVKN0J|1n*tHp7N=UYL^UzS==oI_TRR^a{|7%a0%9dlIM(!+%2)K+?L>6g~Lx*XXeD zEBj*lGlI?~N0XE159LSf!snT!Hy$P|EuB+TUW`$I`uZsBWaKoUfw8Z%uVmH|?Wu#*EpENRt?Fi4OEFfaCB1lAr*Al@WB7(n> z2=^w1dx$9D`-tFkp;%;`XjyI|_|OhvtP*L6!tKyezB4sEXDD`Y)BJQhgiF?F!tGEh z-VD8u7Ik^cZJ6hc!5nWU=6KUE$D5A(q4i!=*2#K5DgzOFyiw1)g7xj<-e=qkD%!F@ zs0HN?cPHnf{hHKPhIS{FclL^Xx|7?oP{>Af?)^cz4Yme(2n39p1Kh3?s5O3HO>>;{H7as_F}EWa?fhz z9lkOCMXgpn)=*%V3fYh)xbt#KO9}4ijRSA8d+T1#m&YT%-!;lME2e%)EB&o(9MBwR zUDc9nSub-P=OEh27oSLT31Ae>by7ukh*X=s=+{+4X?QMA$_r^L=pAVWM;pT#`SXL&sr3O^aYA^7#j&m;EE;|u`S z@6dLpJO;UV2ccy*w`D@EfDs1X`Zjp^gljV%-Y@0j-r~t^C`)+bdB2}e>=CCPhXShv9^V9mu;8j;T5E(6nYDe zz&D5>8_TCoYYF?PxJ!!f5N3+vaJEC#0hp6S5QS~1PE+de4p?q{v&nrQ-W|k)cZ+h@ z;(c}5zs1=Nej{sIOAzl1?@)K4d{D3TtQT-kI_ivGo~Gr!=i&Q8{NBZG_|^Jm{tUC0 zxBmdUJmgpNsq5OC&&KaUbuT>Jd9PzE{3faU#b04Op-@{&6Y>gm(1_6T_5xrI&iqcnCC#qTU9GNQUF#U6JJBj^S=O}nPTaG3f0DIkG2?GIWgYU` z$2%$SaQi}cpiW-c3vJ?{9=r#H9 z-@EXUz_wV}p{-uQGZ^sS!aQUAa=m%kUdn;@tj*^GbNXVnU%__|8u6$B@>7CcFpu@x9u(mx1aj||Fg|IV_7Up>e zo=1phwD)-Tr&$OWc6r-Sw!NVi);Vk^^O*m`WO;WXA1O1-`bfle@cd}r>%m)!^DeBT z(!F?(4SqN1H2iG*a^RQ!5Tv<{_qTA>ZTmR5ry}2PLVm?G)wc2;Y}OCFS9Ju^>Uv}0Ue*bz0~hY)yXA^mwwG~CgPV5eCwj=tlY)agNQ4ba+}#MN z_MFnr@+ElUrlNmioyD?3eaGM(kY($xJvgH!%T_Sdf=iy!J|kRw7aQ~e=O56==&xj z|4E*51h4tWvhE@_^H zxKXB=zBX6WUF}WyUW#Qs*nU8LGlhL&-o?ngr4GQ}&brQWKPc;lrj_lk#-%9sXoGRj z@({Q&Ephk`M4S)xB;-#IgTiu;erh|v|1kp3 z{00@?-xPi?p=4{Mu4mcE$Wdj(cy|ksH+dn{EBNu7U?Y%TzT2z^azSSrVdNr=U4vy9 zi3p#0o(R74!8Z=N9O0)<*Fuk|n=Dx-_??FJ@I!fY-m@GezbESwhM{?NyaN!P=4YHG z@J~N$ez&e2V+bK*1D?(D*QUPl-rB-6%inP3kY)_Q5ZvnNwIFvn@!hXPr5Y?O_|=$D|3PHE#9mGM1(Nh8|$ z>rPAsAHUndIPs44VOr5AX{mSXewqA649CYYjbmHUKiHoX#JdamsIvfcru`&1^n>pv z^wGSmA4|c@c(fhzun%RSPLS7e*PtBgu)^`HZ#Q27zszU4GjAy)<4YVE(F?|WeOgud zrn}IW@;?gx%`-NZGOxy1)@%5^j^FR_y92)u5-scBfIQ>!6mT$*9o$L4q4=GQAICv? zjhK`0pf%mA)k8Ey7sB3@~9@G`S z+V-T_+AmyqPQ@8%^xfL*`r7t1{L(=)-8%pI{f1VS0qhUO+#KFZ>86owK9)X&E)$iW zwBMPq*WYDB9iNh@{IcJ9C$=waK)b~@$n6Q;VdHyR(D5Dd?$8RhD_L&z4KNSGyXPMp zi1`%Qt+3*n1HIYrxTEz0jCa`Y;5U>-e30V=q>*<~v#)@8kCxbli}zL`-ZVeL3PERn zj2j#I&hr~VQ(MZE-1Kku9lk@}+GtOy?=80M-?8pIggQUXkML0@;t?MG#Rm~4!b=1% z?MOTK(u!{%A};m~q;3i!AI7as(c}FF)uu=uU)veH=eet~idTl?vNoYS``S2`*1C0$ zqq@4geuN$iLuM<0ALNG4T6Um3XP}Kjn<@GiOnVj5-J$CEc<_oegP-Z#3Vz$qd5A02 zc#7Y%k>fA&xvUq$@{v!M8J8u);arPIYrU^^4)x;?wcuX#{Vby{#H-7}0@x)qVjnJa zA1<3{PuK?t(-#qQQ%w@Lt#Je8b$I z`_fi^N5SL9xGaFavKKs%mv>@w-*SRS=b^8yH^St1w9Gi!UrqL+j0F&uC}&ezur`6a z-ciTe4X7XQ-y_0<4EipHqNKKJgSeB$E)B6e%pqqI|!JsEYF$RPe`W82fp$qS>CrQ9!v31e(JSC zhSib}Oom-D2Cqp2zx5N6(;I5oUKoFN46p*Zgt0S(Wd3rZ~n6J#koeVO+)SVibt2BerYYQ`I`M+Xcb7e_!P4R#0J>v&X zj%Wn^L}5P5b}MIxOXgm>3Il zZNd!0|5!*5F~t58X&WQtrkkew;em7$WYzq8!g5Rg!v=jWcuB7TYX16g!Xy zbgjXkrVA(Jqx|UxO?h`xp~6UaHy6znP4|`IaxUGs7&P5^2b(mec3Cdsg+8>a+$|rW zxGrs)&gTK(+{?^60JI_hYzKY4gTBo{FLThV9P~2| znqwT62i_&l^!>%*e!xNV&H!yFpDSFJr9LB#!9|vEzY2;`)6_VwWz#uhPXO7eBEuQyJ>Nh z75CusUR1}u#EMg%Y9Co7?_V{do#4yAY|^B0VxvJtwQ)zQ@KID$Tv|N6tY}_YN!bmQ zoGIXfePkbl*x!3yX+>#OaZP0v?enJ=<>eOUipy`=-f^dHWDm2Jfm;yFBg*iogv0%| zVM3kV*BhPZmd>4lOMS!6;sA7*D#4lHFk#+m8+|%A%n~^(HX@p31(8Lj3P5F zopwwkP`R&zTXQR`N=n6b-IQD06&=wE(=9^M+MHE{PdSalvy_p#7Zf_?xb+?;|o@DzF(VJ{z{t^C?Z8y=MY!4$grrJJYQ>tA; z+>vU}Ct{^a^f&60?GWiuvb~Aem~3w+HYMBph&z&P(NAbbxTqs7Pj{Pp*m2^}_7M*z z+cm--tEIv|#b(`V*(vreqC3StB-}A=h`Q18rr4}oEnkv7pXg7rMIYIdWH*wwyW8B~ zX?c@u)}_{tZZ_*uE0APo5bYlJ2%@)#&AQZb_ps*^{XJ~njbH_O*xQJ~9`+t$eGfYg zb*B~TVdoGVd)TaNtzfDhB-W?eD}{Ti-AMGM*xQMI$W8Pn*l8$-mM_6(9gEAv?PHquKBrP$5H#uWRYpcCv= z)V)?C(o1YgvU3DNZ$x*JT|(TEVlNPwWY-hzRC~Q}Pqnuan-XkHf+3%g4&uQS+vec6 zImyl<>_X#4Y2&(>|I1}H+v7!*Udg8 zu!rqJ8-R=8Y!A^&vwVxXH{NAxDzjYMCfy_4wfZi|7CKhb7e zg3H$JEMhRx_6qD~PbJnPJYopp5gQZjWx^h-n8c<;dz*0YW*;E#NVL=WA~qu&;=x3l z_n=z`Q|&sU7v+H1*v;NRZ0crjA~tukw-XO`vzv)ls(pwU!257M#OCgHfapuLYl;3;yMb8W-QGY9q}seM-D*U+Cx*J)yNSwFLxTrE*8q8c zI_d;F6>VJ!&<(r~m;;;#^a1Y%mIH49E&$#LYyjQ^+yq^xJ_Of!d%CUpS#?RQ|a9@z%%*<9(A0 z^NXf%I0I8MsH`Y|q_4QD82gM%tB_S;yRoLN;;SmVp}3}WY$;TZ{=@`$EgGADWsz^< zn9B;$=@!qq6LZH8D!kH{PaearC@+8Hggn?PyNP422wRzU`IkvHZ8!PS2%BLSW>a>I zagdLZ%XlNw^AsdbLx9g|S2QyqWb_$n)!c%=lRbSPoTAIdOe(}}WqIQGq6{Nq$0LlL z>~M_HX~(0B!mcQH(q#kXAY{0M;xZzs4@BD^2X$K;uXowFU+4fsdG3;6P2M{ zb$AiGL1N5f`ZIlKSNPLo!tm$^cB4lP8ZRzu8$Drs{zMdj2`B(X<0p?R9OD~zB?3hs z2Rz|T?CNaftkM~Cib~3=XW&?BSw%52rAt1>B#%fs-79C*3=)?%QErD{VLu2QM{_&M zCtbP>M|`H_Xm?vh(j_Ft3_(?Cb#-Y8CJr!sM8f3Z8X=#$!c5+$rtV(TvPZe8yVkmN z5}MS;6?J6a}0!9PVou9N7a0E8f6tV8fnZOHEPUd`9&iq zOqiHA=Ca(v{7IsyJ9H+)rp~&k1|0g6VN-v{7q-ZWqg5M@utlz*)t;C?X;OY(XQ^dA zi3}74!AVEgx73N`dnxO3Lgl#_?6rr)GQtw1lw z;Jqw=O3|o^6UK`;ZHdS&|9d6KX4 z9NE9pcFZaDtbCLfkww{w6su>|(-HDAJVDDoiwK{w2IfsKFPp&-x-8kkuPD&Ymk)8s zg3kF_sbfjcz_f1^9WGnaos+w!JM+EsOC=S0TztkXGs8O86_;jsYSK8I4##%{P5a6U z-2;i}BkEYb8Lq6(nIAH}kuoUhNYxkNiBx+LJLb;u=;f$=tOj7&j#ONUn$2>;czF6%j3WZgQCa)$H%u3mLm%% zjzbidNf%8jWK$Zp%gcvPjFU7EyrRjC(4r47Y$A4(#*7AsWffOf40Ovgr}BAT#hi-D z8!OzRgJD_I%dW#pl)G|Xjk|KDyQ;Y2x>9TUyqPmgtK2n}mG0`f#pU8%HF~nq%!mVH zK{xKQoD&F-8r?IC%gX0fp>CBuTrB};qqFZWt9IX9T7}^-`vz{&6?NlXaZkU=&6+t9 z3dZJTrR60;r1Ih_$avk%L37l3TpFCckzotE_NiB`+L~8p4F>lCtYc zt83gfHw8+=cB0o`R)HyqNc<|R!aOr8t1yKTahHmd3sqWXqseruCNu0GjQ~gOZnhbk zKiq^WZn#xT{bCssW^P$^HNcyZI)$5e-{c%)1D?a7IPB(oK9gmkLHE z3L0M~MN?mPv!G>3b@L;rA}m7$H!2m_1&TS?a#zeNFON9V-YAiSq>{qrQe>LD7?D@- z@}3&@eWV=HMlL2R##^gJ)hvNhv%ax=3Rkv6FeAUojD-@FQP2>B=x7y3l!h zV^t-zD`JeK0i{sdE1&;k`<|*w%g+@Ho##%kuC~st`tRTSGz@yw#-$#dd!I&NF(M0Y zoEqgcKlwOKe5Rr~^-jZl+!ik$#XlY1X`ndmt4#^Q+YCO2N549}^YF}Yb$B_P6E_Uw zrs1Ryp9hhEAs^S&v|)I3AF0rz9JtSGfO;m7hd(wHL~Tw;*H03)+cc1nP4vO&LOwCE zB-z4YP!yd8I(fk-DtiYX!{u^^HvA@`8CU0}-N_i+dfifqhXZsJmFGf#sLTavBRIlb@KTkp4(# zDx`nX!XI#iqVp7vQ&^~w<&^v-3dAVaGb(Ih0_$4C@fc4qi})3T7}CL zHYi-9aJ|Bf3O6a-qHwFi?Fx4)+^ukr!UGBqDeO?lwNjCOg}nERbcVuAh1m*o6mm_K ze0d7TDJ)btO<{?`a)mVt7bvV%xJ+S#!ZixlE8M7Xlfo?uw<_GOaHqoE3il{Hpzx5w z4uvkf10wwj(-ew($dEp9{}@o*I|j^A?jscDDdZY4!zolaO<{?`a)mVt7bvV%xJ+S# z!ZixlE8M7Xlfo?uw<_GOaHqoE3il{Hpzx5w4uvk4O20y}?+5AN+BMUYsW4k%jzX?! z(|w%6LWNx8rhSRRa)mVt7bvV%xJ+S#!ZixlE8M7Xlfo?uw<_GOaHqoE3il{Hpzx5w z4uvkX{gg9RVVc4Wg_#Po73L@$p)gP3IE94@rztE^Sgx=};R1!V3YRHtP`F0ndW9Pm zZc?~KA(|1ssS*UYF-H60ldr!dVoa?~>;Rd^j7my!~?UCs<3HwYzrXd9<-` zTNJ=K45vHJ5#_;+_o86noigOed14=o<-^%i+T%NqNjM8(g>Vj?=Te$hv?qJicM5PO z#D_D2wuNsr;yf&5!ugy~+cP)^)1b~jQ3jq(N$|=2H9S{l90SPWj3EM$ivWNx&T@o$?d@d4I_na7Wq0eKqp@R~qt;c_`v&^0l6; z!WU%)aj-lIH@^>ewBY<7WX2APaQT{me7;qkh0?lcG|mU5p^R@-=YZ&*i}31|drH03 zPYU$IGh|8lH9|i@@Uy(I{OB;JDL*VDlt=59XR&y$k#?2vOFwxn>)Pp$NIr@z9ohqzm!+n$Cehb{Usk@Ax zhCB=1DF4cxax)&DL1S8&A2_qw!g4C&7x@)AbBBAAM49Yn&uHeEJI(XDlCi{)!DGm< zNy%7XxZ8&NM!2KSvYt=me|%RG_yAt4wZK2&_X&P);rA+j@8fqWUj73>TuuTbzn$W- z&iTUPeIiYvxE?4YBXP&gNZfnEyKYc{q)?uiiFY(x-W4c2D@1)@qmGNmxwcgAqkEH@ zmbJR<+uL#Oxz9-G+he`D?`NoQ7()~K8y*xqnpFJW04?@^;hAHHH$l7O@c`q;?{}ct z2GIENV?QTL4NvMo{~q*agMJG%_r%gP;`cUaJ$zwbcpK;t(oExmUfu!iR|Dc~(C>oI zMj~mZg8l>O4n+q+vw!8K;4tiqaPjH!9i>n*B&G#_BZeoBauNhe7`t^k$5yY1k+G3+M%> zL}>0MEW}uvhWi3P2A$4H4H)jR{sgoboGJRRpgS_?im?^kDRUn7;cEJCphMV4PBRPc zpMv)Hi_jZE=M0cE`%+JV-eu5FgIt|F5OB07Ifwr z5&C)1yA+*@a{2=3Wm(ca2lR`eOE@_LLwYml5obl{S3swoEot_dwtzmYX!ea>1$`)6 zy0Z`T8t5!k>NGn+zYe+(jRZ{x=+8iJ@JO0_%$q@*`OO2_X8CCaZR)EHwE2E=++e;> z?V!^J%J9b_{LeuL6;r95`s-v->9(R1IHs)wO%)O#c4OgDW?zX@6#MX49h=_c-CZd6x2bL)K>-ON)PR z#*1vXtTU!O(lZ?Iq?4Mi?Y1*2rlrMayg4rZ+q+Vp`1ff&4rX8e>E9P#^ZZve9lslQ z=UyF2QJI*|1cXsL2SLWVz z%`a#FYS*<>&b;IE9|k@C-j{E9&v@b9*-OS>@b&cxKL(3_H#YAQ1b7>MuUVN@3B8_w zj55%$suGWIGY#6yjhH$nMEn=B1?@53gIebLUgPFa2k}^@|6dpLO>?s7iAPtDYOsd`9wmE$HP=aikt8tYK&wur{^ieDuSWUoL%e${Ax^Gsj=`kGQ&* zt%3n6AK^7xc{fOAVK41GiPK^8OgunM_n)1cdr#Idb8+`FlPTyaB z`0W1X@>?D{@4UHduE=`4Hh0F3-mfjn@!tMK-N)CSw^m06{PFZ}I!->JY}D+UPye-C z%hy-Q*Oh?u3nAO*9;a}f+2XB7@~<8|{@|+5JRMn&l&!z+i#>sPzd7O7(jG6oxPF>- zYtp)}ZhJZB(%awt;m_Z-o$_5%ljj!y%FruC+`aFQ2a0RoJ@}jJZ&>&2 zcabu{CX}qNUY|31)t}z(*q#6Uy2oC6@}AiZOVRa=HimpL(JoA8*!;LDKIP6-*K<$) zBX`ghzP!d4|ML2-m(S=neB^-1M>f6KBlXoen_j)Y?u^JmmO|J{He#`XW~^Y=#13tg2sx+L#U3s>D~-HL16Omots&6^Ki-0N>==1-e; z)ujG4ZC?X5RY!?pHQW4o$!R{l(o9V;}1H>pAadeSGCN z3$H%u@X0F+F8Jie(;wSfdd>PDI(qa>+VHQFHx>N)&cajHjNWn25BAQ@PMKbQdiUqg z6of8({g2l!+c7jZSHGWZo|!j~4Y_ajW2ZcNb6;!8?CYx6-+uFZ8*yF1F^$L%ovdSW zN=GMu$8!VEd%X4Hy?a*P9Y3e-@HwZX_gz!*ps@=)Halb?C@6`RjaN&bh`KVzL#Pyc`C7Z$cVtAN2}iS*1gtn!@3V= z`hHRm|Ga$B;yYeH?}0hDZI3DVF8NnGE`0u-%}dsde)^Tl7k_r|u##k*U%I~c)<+B7`&;@wfX^dF8MDqY9khK%Nx%40+Sdg4p78h=PgZ4m#{9VX(*tje zdg*A>qlSS+cIYUrQdvdW7!8^ytAaK z>Z!8Ig1BFl)_mBv?1ck2Uw8KAvyv|Q=9|XaTfPYV_S4=*1V0u%`*`N=VD6%VU4QE& z^VYIic|$&ZZvNI6rv2v1pPe;jM*Qk?4ZnQ+Ntyefc+s1~uZn;7@k=jydiy)0{g3aQ ze%hQrm7R3UnKv%9-ny#qBlFKcY3lO#&tCeAukY@EPx=GHesez=+)&7M5=xyt(A;ufC7}-A7ZWTy)79KfHS3h?kyt=9Vw_?fD|*nx`wg zh3`)478+If+^qEX`_CEP@rPf={{3l3yboWydfhek*Z=V0#MA5Q*LHKJYu~1rlU&J@ z;@-V5xN7Cu&FlWK`ty?$kIJ8n^HlZ4<6rl<;WX%rZo-gw`Hn(hBIBaRM(tz&yP9R zzmRh04T~OWnD^1^kE%REa$s%~|BpXir%j3f=UJYah0h-PL)@Pq_dS++T1@QDm5WdQ z_~qVD&b|1$Sx?`c{>ptHd|*v$SpDc*9~Vs8@wxw%!-dbj<16~&s*@5wUvkgz)Pya4 zC!hUP|H=z1KiIRhVqxv7XVTlgD*skWBE+Fo4_@s(O%bz*)!+2^jdrRiwoD?ifKf2<)t$~8W~>XKWw9VXAzep9ap_IWY-fHtl0b9 zm#4|yiOPjxVdw{jJy0~)4p(oQ4|1xCy8z)%5 z%JQ6X)6}nPKOA`NN9l{S9zNcF;I85AmAJ9g8Gq9cy>CeJfBN^Y59zVVHO}~FtxEsv zfm^TY{^!q{o|yc$b^jN?Iq=Y#zufuy(B>=CC&c{f=GnhI{oQN-ao&5IPa6H8_1shM zT=wCQ*Nsc~{Qj3;?yKUDNt*vq<^#{Hh{VsSHO3Pj(yqMvqo-c}q~E3s9^^WRX=1u3 zK5}aE<8!X)mzR6bw?~$p7T6qna?=%d-Pjo~z4i8)C(ZxoxY&%f4^%i2*c%jU71P{tFsPo*&;?79qk;t%j>83)Xp} zOicH<_61C9PyheOdmH$g%m07;eYP_@W^uG(SamQrX*gz> z@~OF>3Hcx@pv{vL%a&S}Hh3a1`RJja zuew^llG&osll9*mxv@&Zg>mzz$3Ne0+%rvvojw~?L+N74N?PB>y5^;&x-JZfb4I3% zDO@^fpNapbe=3J7SX%G zsNKQ1y+@uqtaL%J7Tfyby|=8s^8ER~sZa3R1<{+%Z|wVI(vAFP?-i7G|2nsMX>eG2 zi+xA8hP=Fd?2$Y7JpS9=R|mg#I52DFij^;SSvYNB@~DN$59iLvo%%wO*5$$PI-h^- zja5(gyMC=~ch!Q+cU+kpsA|rQ8ws1JgV%nP2w%Uj5WtmZv@Z@#~MDcUGuJKHc&xTAg`I z&(2u2vR_uo#NTGdFF00p(e9UO{xH*`{rN}F_fLGZaoy%uHqE$w=#E(*d{};{b&rB@ z%jG#cQfpkfKj)R~A0`~T{C@iM;R7ZeD*CuYYh1Sa=fd{4?!9#8nY-(K_3)NA9refj z_C@`m3gzO{OZQJ(+V$?ePgH-Wryt$7ZB>Q7U;Ew9PS}5>Va=QBZW(dufqv~j{Nmmh zew;t5ZnbK=?%kKQa$10UjrQ5Q&n#?u;G4wu4>f;d-k71a%g%56^|mgxU)2u3J-cqp zz)`ycFFjN5p-1+FztFF3$gAlOEwy~HyiIcON7l`Eo;>!);XRgLR$Oh`F!9)z*+$(h z54@aQUrP$xd*G+l2Yuy$V-;qNKRvx!W|ZSg|G)QSu}q42XWrcpO|EzG&YxRd4u5jQ zhPoe){Us#v>G9`ZNpE8LZouqwr|NF|t;WCyM(t|4ao?JYi_We|F8;ut{QHULw7d#| zRC#*nKWptcF#eBv2QN;3`3F^Y7zgT~b8y{-hsSpMNA+iW#rATn|IWI`#n&yB%-@Wc zMH`v%(6Q_`(GM@K+UVWE4en`kkK^>`&*KFtei>jT!GU~-W?Iuom$a2MQys(Md zg`Lhh*=kW%!@%2`1b$ikE#pO_@+MCp{)_iMc_03d^5#y@+Zz|WH23u6ss%4BXu9!@ zubS*i{BZBg=9vTQI@=zd+S+El*fMF&ca})IbK%Lh_RVihxz@V*uuryS4!E$#;Z;FA zJTU$GC$ru@eMjVN8@1!P&#O2@!IA0huN|%^!2WDS{9i_vpuh(A@a?ebwZvM{yP~0s6Ge?K)-acg9^BZ1URM+FYZ_mm|Ya&PN< zrmz1c=xT??OSXMqShB3|V)vFG&b9op@%DiaZC;yKTC(cOzMcE#zwQ_iIBIm#^{DX3 ze=a?7;Eh`Xw)UIwTR_|D-*0(j)b!n97k=orbIz@o4c&+ANX{2_Sdn&Z*`mVQL#@qc zoqy%cV3o(Qh&S`tUtNQBWs~Q%`adbXULk+u!J?&INX=Z@^MhCJetlt$iTMqx|5B5n}+|?u;uG-4vhcubU^#=ma?p%YP0%u-u%vOo8PzI zxi&T}x7Fj1ZD@KTreEgiGxoA0so9-Rf84*;rnT#53?6YV;ZSk2v2r5k>wLXW*Hh=d zao~(2zWT0#vmg9d*~vXad!@|XUVMA%m#Pdg9hrvltKZr%=;}A?rZ@OU)x=)=dUqb) zpxS>^+FG;*&wsf4r*&sjdObDeo|!$yKKxDRmKQI5KdMLi@2kJr+;sO#&#ru9(j%?1 z56&34sjutR)-%JBQZ2(0()Jg8|7Opzp=lXYhNpFnJa+%ZX}9&>a>w-`t!M*V0XGqv46KYsDOx=SpBH}y>_ z*uONcU*9`^=+!s=>xla8=6sa#PQc_(tK7V>SV}j2^TMr{+63=R-7u@;GeNE9&dJ!< z{_y&mlT{f_K)U|DcIa=ECe7OT?{NJ$@>l}KZ`(NJiTidu60xH775jb1H?Lj4QoHrw zfwZW+1WSJ8hA!?W^OwC5bfU)*XYZ|FY+3y7SMPM_*<!vx6U~u>Bc9wU(?1dihjE1^rFpOUwyIf&UgR$ z+oV^IzU|mjZ{~}y)sL|{cMqwX|EpzRV)(rmKYi}+l-IBbSINbvMjU_h@r~a-{&1(b zx1EQ2m4DMA?)JxzZB4m8ZRvL?w8ub)ia81nq(8oR%n+5Elt$~(9&7k#~K-?ufN8#?Nb@YS!T16;yt8G|py7|dwzPZwH#WXG;I>xQc^|B)U3#(K_(tD%te4RAwfc)b7+Sec@HTGV zhZE^vMBEs-YO*b8O~mL%^KSq2`?b&3zU}ls`sI8xe(ocu-)(iOPY;!+YL51G<+*c` zpFFh$2RH8iR+s*<8yXhpu9$K;X7}>8$NG2HKI=ET%E72xI^Kx;w3p-UeZ40~8;S%zL9fk$Nk{YqMD5F^Ok*F$co-i?3!P_$;9v0WPcpI zZglS-M&^IKukoXCg#q;&&Hv%6bszf@{?A`~m(;5F-L|Fn7c1-N`uyVIl$X4-r;B6S zJ-6Mjj=|42`Q#t>HeR3X3C>!V)T6BV@#MFv2mV&2&Z@JkOXL2WQ2*-CgzIM$k{aI? zaP`W}S%Z34JND(Gh9~;>m~wUTvG+a?`e)lAp|u{Yb0*>JeU~Oay6_*rJQcLxr{nc{ zKZVz*8FFJq81^Bl_O}kwcsy2gDz)K4!C>w9iSO=wvPw$)?58_y-@jt!3U{xKr$4Kv z4Li~!WM@YBvBy4W^J=rx?|ysjTuAYapS2~mKb${m)!W+D3y*Hycq;AEor{a_AGAuF zuwlU37O#B&%{y<^o}Iq6UCH6QULTW;%_bJ@i2;*Wp4;$i_@LF_+!a#yiz?Tfyy8ng zuI00B=@Ygmsi`-Q2exYZ)Z+X+*jF|ImS!Ud%p5hU|A;Z8f5}WLX%gRbY{oOc^&dW} zWw-N#?$B~4jM`$Wzx>JP4kr!&zznT~EN4z0W>-y@29~F+;z3kn8ig7j9y{NP3 z&nBL4bw0{lE_W6mPN|h=@auaFu*BP&P3t{v+Naw_jtd)kri)`@)4mIDSWZS%aafl$ z+worD+fi#*N8B}Q@mDLgkB09WV~MN!#ViB}OYA(67ZO z`ATQks8@5x-H~VT>w65aWLtuJBv*aBVMBZJBbFbo5%bD@wNAAkmRQ>NSeLE~k1gnavd(;qtLlmIaW6IbKIwrDb<$T1 z8n$Z4>UQJD{425e#aZ9pIhwr)hlf3 zxw+Y${>*^~hM#EAvSwQBGk5)--?hW<*P7q=)rh6fXbb=RGALqs=W5EzMjy}2 zZg8aKjTR3cEO_tW#D^NRdfHc>)x7avy`J(m274y{)A9cKEyMC|rmNVX6JxOr3Z9kJ z`qsOg#U`?8j^LRS3i&!O(|zm@;;L2}91hi1(WoY(*KZRv-8a!vc_zH`4` ze0FS;CC9Tq`ZTA{OD|2#Soi5m=_7(16}76-yYr2bp3QqMySV3@k;lFL1>?o?)BJ^1 zt$x^`%FnPSqnb9IomWwU4~cknc3P$ldU4e6#~ZCmUXwGT@qqzhuLX~6k}-W-a?*)Z zSNk)WomPB#Vc#Qfd~koOFI(PsWm^AvZ*`m0D)7v{ZM~XZ-QTBB%i4Xkhi6{w^{HR~ zQ``3K`PRR<*EvEH*9Rq!YLnRQwM%b#?s?_uZy$`F_|mfB$+MFN{Pz3!h7av-V=P@L zXB{Uro7Z@4>#}P<)aoA9zlG`t882?hd?t8;H@`}5U-$jAtBy{2zL->e67jM$T97kx z%&4j3Mo#@L_r%neJO{AA3!G0W>tduQF4F8x+-zSghGLkAc9QupI? zZ*|&!yi?6%x5c}EJ-xqov$cH|KHjlxK(#+l2dIU%4^^9fIX!f51+%&5tzRGhq43_T1&=POo_Ism9d1*s z;;+s3#YA=o)wIVwk6*Ya^_~0Q*n4?xpYI#i*wSobi_SZz+!Y;Pwf8&w-kSf1Lz_72 z{AYK)QTD~GMVoHKmNZ{G&>i^gr*}_yO}lUPuY2uy|4Mt6}GFv41u3`z4zF)2u`;>+O-3J@3v{?>P59@F1>yDlMQ_R8n;Te z^wU20qG))s1#5ralGVEBvk|}cJ8|?xo?~A7hf)h#)bCfVYi%v(gJyZT?H&kRvHQdv z?Y-|-mJfVBr0}sWTOy}F_WY3-a+lt|etMs4zf2st{e$=pX}1r2WODpYt?ta={0G;R z9v<^ujns}0N8fmF#=YC$zW!0l!{0pIe^kq1YskQDz_~VwM6{xYTMJX&DRGFeYQ=DPx1`WzS$#-FpVX7)Tl9;y&O~ewjKYH zqt4;($+NnT8kl_X$z)IW+HZ~ey3zB+$;p2t71n-fWb*Taq9&E@uRE(}yZi1q`ODki z1rO{0_VU?b!xnGomN%@!j@aZTwiOFK1ft{MaSyv{5I2EWY^Xrs+q1 zitE&FOjyg>cYkr<$0*AWYsVfvw(8W$;G!7~JG{PS<$!OC=iQm)PPp~is-_$Fs(V&;D3CcHYOy z3!@z`o?X%Ru_lzj=R$#2vps`oY+SCr>Us-E?Pz2>~U4gpEnnX5Rbydq>|He(=y6L2LRC zT6t~qBhf>G)(*eB+l{y`U!1x!>#KPW9NBn#^I+HZ8b=x-mn~XhzZNgOHfhV;o`)9= zJMih20WJ6R`y#OPs~Y#r_;~tz3r<&kHU5Q*txtdX#n8i}d}+nY_R>(n^1SKr?;cDe zOG~{+9=dSLH`l5+N_@?lJ!aUVc^!r}%HH)#^rhyZue|r!_rE%}oLyaI|C0}APdKwL zJ!$k0_THr{_ARv^-imiQvmdS1Wys5a)PFc>-j>9(^B-yd{b$FHtZF{$sRtfkGkjbh z*T(NB*SF7DJv{D?w+;or-z4JJ8b!l8j(X|olJu`HS8dYp`W|=v&J+^%JZRm+@j{UDK418(AlGODd4$K+Wv0Hs-^s?@U zw;i8%a>wyI#tymT-lb!{|9s1i#8%5^%r4ouX85o%Lmq9PrUk~w-t@20M`6Fe6|~TO z&x4;VX}jS1C%4p&`~Zty_dl-6UkxN7$GZG^4c?7bFlJ~OIeq$uY8zITAN5?A}`H9qpg*KmOXdGuXt+_s=v8OFVjKhj{q&q;R|0zrczPCQX#0 zmUCwY);rYxv@a~q(<+4}!o8Naw4%&^gG{08oF*M~OQi{rW#4Cuic60Ty8nH=&r)$$ z`xT8*=d&Sj^YXHB|H^;+-b7VCI8J9O_{O)I7OyMqHyv~*!~ftm{*rs9fkQr8b_Z-y z=F>}`7S!KAf9b|-rH7i6RVb&L=1`t1%lmgWx1*%^H4Mg|xkVLf=Gl)|XLbE>CtLXQsMx42grn}xPd3#(HaLbafOV2mx{WxhrEA-O~^Fy#l%$> z=Z~+Q^Co=$bo9sUN5>9+qT(lPT)^ZfY~Co-s`r(Ud)1k5sHw!+-PfAoyuhy;G2$92acj=_*#&YK` z|J&$kP=VQxOn+?RZY_~Y{sg!4r-fcuOiAUJ^Co%L+8?tYeLMII-7C|NzAy@lR*#7uB{Jn5v zoO)yRSMvNOrk`+Q+UpI_U&(9Z)a(CW^0oDo)_%fm)9&xZBi3I9@z*8zDGr)HK7Z}4 zA3lH0w@=<=hwO^{HnsR@Wlz_D%n_}6_UhKEZ~EBm%;~Z~Hfp0hwr<p zIL!YY-yFm>T>9Nx|08#B#p4X6GU`mvG$P??zpnS;hS zIf6s~r}#)!n$X4873qSA-hyXruN3jMgECEw@~-s69w9D>N~7c{tfIJ{z>%ro^0j{@eI`a_a` zHZafBE4&PtXX+Jx37BWq3c}0`pA0!X1Hmre0weFwfNQko=jzJX5dm3}Bw2-X+~11LhfOrT=Wd_<56m<5Ob7C}0_GX<4N_h= zV4kU0cqlN>)GIs@m}lzOO8y1FJX5do>uF$~saN<-V4kU0_%mRhsaN<1V4kU0@&5&w zXX+KMX4TKsE8GB>XX=m3@Y@6POub5v-oQLlA1mWG0+?s&dH)0BI~|y3>XRg13d}S0 z*;3w9z&r!5@bkbt1F!OT3oy^PZ4w;D!nc|5T_)VYgu9t=ZxhZm;n^m< z$b?@t;de~fc&{b(|H0(`s|nlCmN6|dz^lH0sb3nUZXXmVH5(sv(0IonCrZ4^xOcZy zEKc-q?awl%l4VSsA5K_S=4|KeRas^`ryuXItn9r*Ol9vFxk^jUgrxGYG;4{uab-TN z1_(ZbS4{fNR+!ZbtHB*o+r_Bl=@66b-?mL9Ud&;Vb)iNHw5=?GwtghEZ6_s&9O{zL zsecS|sEskxe0HWzTWavq2!H%a!Qz0LHw#Iz) z*&6dv+O}8uSV3-w*8b$e){k7+R+fv|^dMsi(?c_tJD+W3x#n^wdE3YMk&8LBKijqy zOSvuq^J71}m<`JU$ti29uDW=P6NO4VcJMv6))mHV6pa+7oT)v#>WLt2;%F1g+f()L zSXBNFg#5HEFYCu6X8$q6$5-GteU8^FN_<||_+eZ;tB>^Rfr$(C#YZs27bm8ICtauEerRf{^H&Vo7=*aG-=~r925YZElr}jN_in?6Us4!8 zB`Z58OMd%cGWv)_{3844UCh7@36r zh8Q$Q(tJr*Ny_`9=w3uR5MvTj$m8UO@_7GKWHQETq=O)j6yfJfx{-9SekT^~dDl|p z5R7w3A;*Dn5^0j8DWs4)n)CsTsigg8NqK)$F=sPJVmNW%pZ_;5H^GW-) zl5&m{fN{ULt1>~K(-6a2*oTtBK3rl9Nd=CQI9lRZi91T%Rbu7~{UgbQJg6dYhQ!$t z=SVzD;(Uo0OT1j-wGwZTc(cS?CEg+NE{XR_d_dx(5+9fNoWz$Uz9z91`O0(%C1w02 zj+B_?hwdDI(mhsUmM7w_5+_QWBr(VDbkC4DTjCsvXGxqd@nVUWOT1R%4H9pbc&o%a zB;F(gJ5=TlLC2_RGEcfK+yh+4g;zWs)BuOB^Y2l*G{z$4cB$;;s@WO3eC9d92SO|0T|rI7i}H66Z_2SmNapua$U%#G57F zD)A19cS*cg;sX*NmH4>C=On%?@imF9RvCX%#$RH#E5uO}M@!6ihWu(?r8`}5acgU* z(`oqME;iQTh;g=q9nD|g>1u^eFy3zkhhjc;p%d;qjPF-!+uyqs_f(c>ZciAR(GaVq z-^-||mWR7iT^>tNn#Y3aKJM-G-6_g@RIv^dVs))3=bfWymP7chVZq~&_dDu5^@bJc zcVTYA9g<^lhvY1I7bfJ2dmz2xX@kU_sKHVX%0-nD_eSF7_gTue?O#%QVa|J}`Wa+S zh0JCqnWu3tB>Cx&x*{ygaoj;EWI#`=L%QJ(NKCy$tVOF3kCd`jc-A1Be2k9`e4$RH zQPGleYrOAXS}aEhS?c@B8txahqh!!=Ck1M zVc_os{uId{oTlqo#5*qW%)2lL8+a#zSKXC~_=&i_44#q2zVyxmPblRX?hsv1c`)8` zHv-^)>^l_yv)`bwq0LeT)lnGp`gabNBv!$NdoWQRMgMLCZ7i`~#q{Cq7_L{{Dly9%*JBzO+?ftoit`#`yr%FPVhokN zhIot@>FJnj!gEb{sR=)A!kbL^Jrmwz!lfo`Y)GQgwJ0&u(5EE&*9zr4YI08cq#Vv~ zx+D$eOvE=4(?5x4{En1w>Vprsc|X*~4`aBe!+L!bDc0%ZNo(lqZT$AeVq#Plj=Lj~`5Q>FzRq!W zWH`<@kiwng=SXy{HWax?te1Br#kx4(wM9l?K1K?@JW{NObG%A?NK%eBiCK07&_ z7vBP`G>&Lv7(wWx34I(9+eW_{{%?#UI7fo1IF9Ji;IIpm@ zdR|`V-E+2-aJ+-053zx7E%Y2=(i6!o#v@kfq3hr(MZbW*Fqx zfr>xI8fg2x<1FeNN}cDucZ&WQKNTO|uZ{bp&v?f|NV`)QE1ZWN{W0uI#`qx*7{9cWJ(SVE$RO z{L&Qo&C@(3&nW-MBUFhH-qTI}tnga}el7O>$1RTjr8V4^(oUsEPX^nMp45szD!14_ zDi6RN+PpJ6-|@*w`k{Utclpvp?=Rf(dO5QdEh*KCJ!RJ7=yEL{eBcd8Lq57>UhqEe zc#j2DL8PNq-bv0l=y7Lx(eEc`IWY;GAOsgn8!w2P-yqV1rk=|7uYL9IsS~%{y#M~+TaaHf0w_}fYI$~TyN2h?p|QP zbWig}Sa%<7z{)4-e{!rv9XZyDG6cYMZEwQeOt`NJV|h@ctYZ8qZycyHls8=gP~y2J zyuyT^GvRH(Os`^4%I8>%>60e$_n^v9{z(NuiG7{Edbj5t!{}e1)z`cAA&_o^FV$*Y z`VVm>^~J|-v$H3R;OI#%jZ6EAVmVzG@B0Lg&h08v0_2H%KwG=3ag#gk%el_BvgQgl)Uq!?SR zl9XjQ0F#eh#290pB85LzbdI&6NioI}V=(v|Obj}j6qEf~q-gwD)+vX3HyHkIQpn+2 zATh`I#N6{h|1A6D&ybXBa*^m{x%S2}AMeMH#9jpSLHw+%8oD{ucYUzG(eD}%KI_v~ zAH4nb8c@QWh^JxfCcf)~v73gm0LO1j*nB&em-AaPsITbX2b4kekN{Bhr-5jCLI&?% zSI%#VJcBiy$>{SF{)lmr`Wb85@^Y(_>qZ00 zM!-#TEW>mEvNSwfoqQfpHVn@;2YLFJp-w`-Cxm?>?KSea%6gLDLHqt?=%~T3KX)O& z{+$kejG5;uMY#yEF-+*rFoX>72puu@d5E%vPP(1D{W^Tx#wEUIGg?0P!nb0`V|6q9 zL1iz(PcX(2nv9#~c9q6iw2)BeN}(&V7X142Qao4Rr?1OA4gOKk!v?wPTP&K#Qx*~r zS(Vnn28%T?jz@*ArZqA1_lEGcpe&nlG3d1tX}<9jgyr&u&pa$>r-vVur^^m$nGW*XIx5cL(j8+{kvCl1iZIBS1{oLH`qE`I z+(nvumX%+oec@BcmmwvnibrA$vX{c&cIi*aehGeeeXQ%p@B_iKT=HO?FVfS7IIjbr z$HbQ{`Ish*%L?#_^hX|lD$@5UQFh43auN-@4Eeke&nb8oVZ!YphbPeW@wy=VYB8=>R_h;IWS4Xg&enFd=8 zezM@_`!6fz`ErAMI^1pAQ=%@t1)W9w>`#?jDBtOM)8h1?yKoV#w+Ys_7zZ&f0o%!WW^>$`F zo>^Cfe2=S?`jAhwXON-U|5bk7ZYia^@Q?Uv4y*;k591Jmcrq-d-(=Kt=3_3t8^-)+ zJ~|BF4D*H+kMhX$k7xQPm90m(8q(f|b~sS$SJIAo>sXG@j|?bjgJ-tS{MMF}&&Ug` z8R64LQg5WoPuFkAwn%S#nVzSmoz?EMJ1*^P2D=};eq~<4?-4Iw<$PQWz1QL!VvHx_ zcni{`qx^mt)8X^$XhRI{o!}m6aQ_JI2My&iAMV%W`aS)>3wLAOwt3^>i|-q-WBYT~ zAct+*Rw;+=DP?i3`-=R27j-3%`hFMPJqYWl!JWFg4Z1wRJVGAZwH10Eqc7n+Hx%Em zV?O9@y#9>7v)*!pEUx{F?{~>M{4iwY8r+#~Rzq0R;7*+^g$qloq7Jsk=b6G0F7vWE z!t}mtK!3$~I?EEvAJi1wI#z44)g9Z=IY9Qmce}}(*$lR zf0<_Lodoq80QVw;yU2fo|89^Uq{^ntQ+5D&xq+YQBHl^Jbm;*123CwvV0gZdXC!YR zVSmNX0(5#7DHVnkUSj_g+MbY@_gOONq}fWxHl|Y%S-v z4mtk#1M3)8ln1C@FI+>~VO@dar%*g=x{Ond8}+9CP7$7~RIEw4#5$G*!$i>rXCUkd zN1>?im2=}X=_Pf9ULm99 zGv3>UWJ`Td81&`(ScY?XEzLO}LsPyd^n@Xfj7Om6Tu`gb7?-}tOIN?rSiavxo<4>& zcn0#3W!P4KonG%zj)`NrUbmEET*`Bm{Rn+oUW~Gs z&Xzp1{dx0rzvx$TFfJ?#k+RZUrPG0}Zq)6(`H(ZH41GXYGwP|W6mpR-Qmz^M%BYs- zYY$QS%O8Qvw7Xeu2bW-7C1kJ)4|zj zpF-Yh4o^u0+|*cvZlQ2nBi*ib(B0Iyi)(lX>Z-V6TMj|IpTdb_NWVY-EB}A z)`jZrM;I#K&=!X{rH->$cASW(Q|1@a%c{*Qe*}8Xrk|>+47f@s!Y=$Xy=`2J_;+%k z?~-#NhBXEJsvf?AFj5?{t+2l#+lqePwqk$ox*(fHt7q)%tjLq~i2ruTWc&lQK_wG_ zqwGscn>m)0Mmv{?u?WlFTF75+lez)h;I}&B9ffZ&YRfvp0Q*RT{d(AUw6h)USBCy6#Foc;Ik;>so;eoa{H%uaqcWRw zF8a2D@_4jiA`MYivE~%Q_CS2A6zwp&0r4GDy8Hiz>rla?(ya2gVF#D7eyhCDkT-=! zjIcz#K|U~FtoUhL^nCLAfnJSJCs>!CKJO`0b=k@JSuwsh>elnQ8p<wS%JbNWi6`96w zgQr-|so369&PKzWYCYUJme`Q9F6a`*y(@vYN`95zxso6CM~r(%K)1d!j+AMG%p`-% zC6IynU0EdRR&?HyQhrQF3rM43WcQ67eH=$>NG z)n?GOGj#1|NNeWbDZ_jxMy46(fofdGwJVP4C|8Z^wi^62hMy4VZ@0^N2Xwb<^Z98B zQSZ&^3H}iBha33A!G8zhxmnJ|n9eNgiH2~(5Kf`Now`RG+^fMoN4l$W6l!q)Fb%k$%ovBI(0^8m z-tQ|JV(x~rqT0$*>S~fxEXV4q%(DJ;lsqawb{NL)vEPp2SHU69XqMb$t0iIsk;xX?x; zo=(aCF!-6rW`3*WFPCZ38Vb?GfpYF@L0mX@<=Xf9Yr5{3n1xu;?z$Z!{m%0JLJ;hz zC-)1m%v$lR=BtU&;eGg@4jsChbfBMR($7WcpvoorbHN`De#S2ddQdL*Mu@!YFZJY^ zN6u-(siPBVk>)8W48V81(T@cn4b-?(q%UNIYD>!T&L||vA)ZS)W=KOjN7;ghe!#N; zJe-SmB8}(TOj6msc(%#;Al`ih*?_IGZNkz*2>U3?;TV_i9oAiCI^>JI?GN`*j59;E zCr+^~(;WHb{}A%H_K5F|t8paCK`8uiZWgM6-&qL%1JIu_?26??y?+sUBOW&RbJ8E@ z1Ks@?Cbqh(X>C4A(&V@0*7iomN zZYB7V%R*fkhsV#a^-tsp%T*-WyC;xu?Bl}??JmoL?iXWt#EE6?3d#iikbgGv`MAty z@?l*=$U6icC2yC({fu>uJcci@xg&+lQ^P-12P6Cj92(_auHf_+{WX20yWn3F$1> zjPg7sSOfN!GtLJ>WtnS+XM3P5yDnGh5atWqLRn7a9QX3A>&pAI^ppj=F&}g1b^dgs zzV}Mx2il}Xln4GQC_lmu`F|V6Y(=uKE<(JRewz(r0km&rR=2(foPJn`3lNU(KdG!5 zWCp`d?eEDo$m#-FtZ%B#(p*??LHbZ0>p$o1)Fs&A(}(X|?4IR#Us11&Yx)76dZmfb z5%tYG&J4voemdL&wdJS79m~r@oG9-e%o*_0^%?~1DQSRfW7$q}Ty?0yy7FR_Qx)$J zx2L9-=BbIgR$w!x}k58)ED{R0`UpOdKS|Iam5&SSvk|C2I{b_Xffu)b9LRpi?*m9>mTbBbz*o| zWSM5#GLBs1W?pg5d&nW!?Q8sQK?lWeb2S2Ojvx0b*8{x@Y6aE%ZT&sDCCyWU1=JAgry(tl z%RU?RLhM~EbjY+ry2GpJ_h#93JGOPIug->!s^4S#LVZ=aXFeoIKP>lbN9ev2;jxay z8sdw!(lgQ0{bv1QF?iT-tA6orD8{~#>lp0EQO`=)M>?Rd=6t-IeG22l_MU6cT0Hxi zB%Fs}yz}+7C$uT#VVu|paP67nRGY&$R<$|U2e?WxOoJ?}Imged^%HbSllm4SKFpsa zLwwkNtN7C07+)=3uhS*qVR}SC4tZD}?NWxSV~4=g2l1ro4mw0UyULiC7Q~lhuz)mA zNmE1oqC|Z3eiUs%h^>gvDPli_=0I6Q-4J!L$d^}Ik*gG2H;`_qi;jPtusA-%8c)7x zV~zREvMKuFBE2t0`Kg7xtCvx%=j|$)7K0g&V$3Jv^?HT1Wp8?r$6tEjOpBf#kVPJE zdKlz<2c8KsJw}7(;HRGflI0p{(vk5%+*I4+J@bP4tLu+E)Lda2(oM_rgjw=DfgHDL zZmxq5D#QDDZyQTFVtpp9V!OpM#5FUdS5Ot_Tnr@V1y#}XdciY2%-6-pSH@u_;$rNZ z(HqJ(Z63xjdY{03#2F4>JB@Xu5)EwybPGeA>v4QZnUuw{W~@8Gkioj4>JNFCzN#!S z&J5>U@T`$(_c-V>{POWbxfUke;@kI!wpPrIU?uiuaUVD0EDZV%v1duSMMD6_hQi>z zkJx9Z+_?YC=!SRK+@>UC?gACnS7Q2AZrqDx^oKn4x`{pFz%K! zc6iq=4E?Q@&$MH>41c4vQ-prEDj+HCcKfkAYO*8rr^^KsA9cB6vZF3SDTBQo&sbv@ zMiOxz*RFtpH_~KBogF5>3^&TeM-kjVCJg8e7(OT9w?P#Y;fVQ@;**$RaL<`A2ET)0 zQDpMlRq;u7`b{v|QNKi!9odgU7R80C0)l7yr*XiJ);uRo!@0dOmxSTFS!JkGwzS`5vd@+FTr*IH{P`x?v{SOxUbzvlehdNzy<`J#bq8{2KGyy-}Pv71>J0-#n*SYc*I}L{}rl#j)_R7RS)15vkeOzV^T<|<)cy`tZVXaL~ z&z_Rmk~alp=(hvVzpyjKM_#2)+ITJ+F53p$3 zhzTRpN90VHM7wnShT|s={DTU=Nz>i*Fb=;Q{ZSi>%>`p)@WbX3cT2=zTqfv<(b%Aw zGi?IxCghCHoJ2albNb{gL=t(4bEg`?v+bzf)K! z7>z-dYO~45a@`m|7I#_wv>byhSPM5&%<%;OU-89CKdMSm-Yn$_Zc0BVo}rG{xDqri z51yzWx;Vi{{Zv1K;v&q2Cg>Xs^^@`ldr3;UGR}P*De0yg-95*EDKF1}>EDJCm~Nzh1E%`{ z1E&9@1{^K%IXEbN;;>;(H@dvt226ST4Vdx{7%<(B8Zh094Vdny44Cfc44Ceh4Vdm% z44Cd3_Im3^*UxIebPqLP`nMY}-6IT`?%X@B8$G?F44CfC44D3%22A%@1EzaN1ExFg z$dk8$n@o|62{1?pLspO*guGGfb!yru#VqrhLu8e>8gf6gvbEnC=%0nEo#`z&~Mh z`C3CCrh9ZFA68GKJc~kip9#`>0C2pow}(Mm3NXh;xuCp9j|~;a^~${vm}7Z`Ujp8R zp9??o?*!$TUAcb+%yBxJFX4Uyl;g)piLZbb889|KiE*7%x;F>r_%2-H4!{oJ1c`?L zbBw3lVeK_M$6PVK!Cp5${GEIFvLIg>J07N)@LUsq#)RK8Vct`z4CQ@o!beQ_lnI|V z;Xh0`6ltjp6K-q5_nYv8!0b;s z9%FuU-G=?A!jA&8zf^c5F#AV^KLKWcsPMPI?Ee%#4b1*d;cLLkP+wedBKkY!ew$j% zfE(TK0%m`w-0uZu|E6$%VD@JUX8^PRQg|vb`zwVDfZ0DOyat&4(O!hb_`eFw{%51a z9{{tz*^hca_pgDKp?)V!_@W8_3C#Y8<(~el8=5@&Z)CzT!0ew6!HxV~=|Dz8P-Js7Vv1xOqc_ zWK9(oF-9KK6dqS2rRMOe2;Zz8x7kgk-Oc9f72OSUcI8lE(Lh-mRt73s$pr%cmgyP8 zZ?1>WQOST!&hTtCqfgDq9Qkh}BH7inT=7@D2BUB1`%@EgE(uLIx;(bl;P}WrvZIhr}pfV)U8Li{;4?=QaksdW5wf|0`VBAexaiG zG-w6C6|VN6BI-Isw>oz!#8fdw zK9!e`_|BU`Wy-+G)rv`^G>Z|EbZ=zzbB&_7I*}_OsbUSqo6=bA89gB*b;3wW#%}CMX~Z?;-!q7Nm=73jLS;TPQ^M7)>Tjwcu{2PWG?z->J>sLt1tI>!=Yby=J=fS z3cf2i^8~4$s}-#ENQy!r@+m7PbDW;90;2qM>yl)!5bn%j;hZ$Y)lGL~K|>*nL1FWy zBGt;s93>C+`fgWIDJw3tL}@aXkcz$)C-MNWyNINoB@uMX;`Ke z&56m%5Rh?&SC?$GK`HR9082?m8-pN(>06%l>gcnQ@$xO_Qg&ZtpYiZH?6B0V0^*|x zL5lPF6)7T1D_acVL$-O7GWCP^(o-c3d=?Y*r1q{PXT?ll%6f6d*o)?^Ldxnk-X-u< zU}Hz;g{p({TKFj*UN>VQgk@r1R8r8&RX|x9in6kjt&W0y1|}wYWvB|H96R+HLbpVW zQFt$F8YwnTWsqWxpKE=*SN0U?Kn!y*-Xi7u9P)9F&UpEIoh05x3OQW!3>b@f z1u6KQpyW>>g*(?g>3&GM+pv%niI*i2q~npFq%h5A{=GYq;(|O46>9j+T_) zXo;MIawqYA(nl~SCY_7?uciBsmeeI_j-)tEDfHV+nvZfyIuCPLX>YHsyE`T2T7SSl z&>l*Pk5UWlB27g4NW7MGEXot;Z4>o(0Q7f=c!Iv>PkdaubB&+)f^_GaKJhi_&NX~u z8z}vA&7L@%cnR`XVh8b3q`Sn?#0Z~j@Z^sphJUWP6L%$sf3C3;yNKbRYwE-)#PH8G zbmGy(@Xs}K;(X9Z_}@Z`_O*x9VMq&Mkm^e?379~|{S(Jyo)g&v8dPoX^_ zMR*0IYY-oa_e**~Qajd4$mf(aNzxoi^GG3=YyQ-8IVto!PJ8Hijr0NJ7Zxa3Pohb4 zk?y3Bn?^be=}QVZYo+}T(&>l?>C=e!ZJ@J}&!o@5KPmj@NV;6ot)#Qzj}-oGx9fbo ze~0OvAhBE0<&y4~^n#>(N5S}9BSm}$-=X`@CWW5MNfAE3DMVZ(@o`D{4uk$Llfr+T z1AHqWhx945!=&)PRnkL}9tS0Vd;_>6-?B;55DqE$cS(9m(#xRak8TKe#5-Hk&7_o1 zIt=xa^g+Z&+B+KQ?oLqpw`riz7sX8AD2Zbwj+fXaaf-y*5+h56{{o4ZOT0niEfN<= zykF7-q?=G)BtAv@GR6fGUn7N(PzxyZMSbrH(n z#MdO&0${%x@gRkJI4SgxlDHWu@*z%Qjzg($qQtyoiu`F3XOM!Q?;R*FmlXU35-*l` zt;8OQw~)f$c1ib2dO*^1q>y)k6!GIYm)J(S5#>Z;-nAEi%yml4@h{UmLE=PG_)n8K zgY+fnD{(F<{9{FAZ02@T(a%#K}-Hv^s zQP?NQeW5&C(+m3m#hyp(Uj;k%cY4Y!u*2CF?61r(kHoz)R{U)Eh2m$&FWjDwvwivH z4m@+;Aou#(u`jkyk$%SSZMg^0CikjRKJUV!7Tkx+FvWQq?8UqW9jK4eA>5<`_Xz(T zJ%oSkJo)?p&vf$@%5A)l!*TU6S3<4HMA z=F9x@_VjCC={;{iY?Jqf)f9493b`zc;tn(H(MDCoep@}wcwSwECuQ0ovmtp6GKoWh zx$irO&r+|ZcvgPv;@RPvU&``DJ4ZbEleiBYcbaHtY>xcWP&>{kdG`eKd=TnK{Bprp z4bN3^cA?FUR=5+%RT^l=y)=-8^Jet|kw)C>E6#qPUT`1r@5pC6bPuOqj+LlaE3sd9 zKJa|t`M~qbxd&e9$Md3)CF1cF?3bZD*fmet8z@8EyQ}v4L$)YWJn!SLeqA=zFAUc! z)N$5j)~_Jw@2{?_dM@Xo&)MLEmu4@f@?(vEdI5_Ks;%PUoRi#xzj&OQIK zXr7OlXBzVi#&`y)8`4dkbL)&}ksfKT(kgi#OIw9;jwINFJ9%-haxm;M1PTdtvAhf{ z>p}lGOHtumk4Hb>!g51}+5YjLR>4!7W^}e8A=0zu8`zX=}y0HCmLTBFZ#k$@C&q4;$0BNtElTH(NKZvyV z%8&P0?BM18|0)idK1Ht5-mqgFLyLG0B&7`PNWE(%`o8+t5jWoDbb;rWihbu6eCaz7 zcfaW8U>FXTch2mVXOZZ44E(D5x`ZC_`kgOqb9o-XW8h`|E|BM>H1Lt1_g^#bZ0@{L z)>Yhbpr4h(xdR~&`m^t({&W|1NS_9A7}f^zpzNwR@_QbZcu(0&pg7-v zbHT_9haMks#)4RWg-$59HrT0rq#b`eSI7Hic#eZ@is1G5&M@*U8`}bLW~Y$-Eb4=5 z4^Rf~L^>gjg@54}=TcZ!S+|K=#tIyg+_zzSYbR^^@Ztk2Yk{{JfcACS(} ziF_dr+s{2 zhO+i9!ZMHDm>$Oa19_Hsi_l%ljxQAF1bL2?=L2|7pXO~)t5#TkJH`TWVjRajC@g1L z(8o}Eo>6z|sGo<1EX@-ZhrTA%3cIw}|WqJ-?><^!klQ~(a|9AeO-O^ZH@cKlU zSo|-zMFJ4iV_`4`5qr`l)QVuSKM)xR3;HJ?>bKTdVmJxIb$z2DFU?)}k^iswFpd!N zV?b#r5958WVYrlepQPlc*$uu%`lI+y9{v&}6_)sS_9prbh8uKq8~Iu*0IK4Fxsf*x zbmq5MM)N@$#Yc)_>NOb{=(v#Rn6GFJ@MAn+CDK@>381zW>(6Lhy++CNTF3{Z{eNZO zKl9ONEEOSpE}6caJw<#H(!!&t*>h%vtxyb;JV z^1HmQdN~|x!ZS^Hp$V@v;pa_wrwM;y!bgBvewKq$pA(=gFI%O4Kb!c2yk$+-_f`{j zm~aadzQ=^Sm@vnY$}qhi1ZMf~peTT{YAaEMoReVkWk2diC2ApfaYQfv^1rN2usNx>U ziu*o&8dPYVnKKwD(w-Hb5Vd7>YvE4}^Y{oNua|3SO2B&uIl+;P= zcS^+urc{oOw7%F4G+;oY;2l3Xv%(fnsiG3jSdEyV@AA~Q&{fzxsaxq=&g3>$#a&@f zsN9l8LDW$SRN8U-rcexSQWnF_z`kRt&J=g*q)f40lMZsLXC~h{P#!-{S3w8vaMX|5 z!gW&m_zeCVW%z~(zZ?fAm1q=DA;$c+tB~$ZU(@I1jP~Ad-9h4raYAPqUmZ|oMo~Xp zOtF4GB+i)n--;?Dh&Yi)mrQXt`55_M^XNNgbwNxizk>c2lOe8#%z{kp?G)R_p^S>X z*FrBdW`21hTP3>kWwb^@RPrTu)m8FT$(GT~96v(rw4JO96%(<^JPM%#=&m+nr|CU_@Gip4y>+l_37wx1LOuN>0m7;ll@rN7gSjMm4`lv_l5_%9}f z{|lt>&j|zl+eqP`?`G+r?`Cg{*!3m3hg^7{JTk=`a9Q1Oj>pjL*6b@Or(yI zVzCwjPc0H1Y&a?8^Id5q7R^1R?eGqnw2?ker=C}c8=}ud-x1jo;gQ0fXPBt}22zB- zm6YL;LjS#_kbj62`WKTze~#}d*N$-${c}7|oIs552b10n`K0%te<$q-eMs@H_%i9e z7(6!CMDQZG{Iv78iqYe^xO^8$ubOxy{2kRqIGr0^de4B8p_NeVehq>#_E zG?bSw?YBxQ_6|ayQ^b&GwSjhlUZn8vk~BxsRg&%^g}-wWTQUBM>>=C!1zYebEFB#-w;sf&GU8CJC+o3yOM(6C22NkPmEnj???KO z_QD*R6!GBsYf@`9Q237^g}f-zMCeHx4|$-}HN zV<^h=5R@lS?m3-Bnu2_jnDZ>kJtXlt=`Qvbfv~AnYAT7fT zO1aj{H95XR4RB*ED-G-RSc~QwF5bN!cjFEE*w*G*p!gVC1`!N8j!d2=LBfq^##dm+;B%fN3me%bhG&f+pRs8NQ$ z@a*yWJ9nj%zi`Yv{^Y3m8N>4@%gD!f`&wE*anB;xV^Ma(FxL?2OFr-WEv}>Dy(aUe zz&@`u#W7E$7r!@;3=?bcobJSnYFk9Z{~Z&TeBK zM?iO7Pu-6B9c{2f`3Q@5K3NOjQ>w+a`FPwDC*A{N9h_^?Vr|`nx)6`LfOukG1dby5 z){%wmG*{^r#D{5t=Es{BDowOJ>gQXZM*4~Sthsj0dMVy@#jCr>Ts-PnPjegm;7(TD z4d>0HV`3e8o>;$DaYOowcYP6>j4$#JchZGK16z>3f)Dp$LjN${Co3@X!tJr(-o_AX znx|wx>@VQ^BH~_IV6L^RHF)wmCS2&-N-*z;Y8uy-NNVSfPfSQaCohtd9+F)uuxntTV&c=4V;Z(g{N7ioGK6n>Gn zlzAJ|0C9|Wa344dcOf~djw3GU>P_ie zai4%O-Iy=Ld{4*seSH7Zf%{}22YUfRBGBjHeT;DD`ymkrxM42=_Sf9pFVaTjC*>9x zbVJ&RzJh5_c~*pXj|>lcXS{xxZz`O@7ZRkNBkau;^((P)N{DunR&!Af#Fn0 zyp!K+8&H;vc(DvK-5DS8{x;rM_b`+MFWdG3WrOi-1FzM-z}wDt6n0OSM;Pq5?~C<` z^;zW!!(kn=8R}2~?5wga36gr)m3tcMQko~MG3vJFTvJXRS$@LdzF3TL_$?THoTH&l zW*raLVCMjz3K#aZV6Xf~z;6Nk^7|z$M;s$DP1u%1z_0kOiSi43=p^iO9FOvTaBp0a zplgNvVZR4nmJ7z0agXBO541CUw%QkY(~JAQm<|yJJM?|tG=9O*rZ6rxC+{EihnWh%_<=xsMUEm-4L;ii* zfd~6T{HD>{(%zh=Tckbft1(SC!9Egsz%pa}j?D(xGyftDy5>t=!5RAA>#P&GJS+k&xw0XIb{RKSZQiJo-+Tr)DkWjWx|vLVJ$K(Z7mubAStFE)Vq? zZV~amc8KLC7-2APgdF*9pW|=VBcDC{S*;%J*p~!3;O3;PCFK`7y?5$IeD8pAg8ay# z9^CJ%+OI&j3=3m7_8B5v`16i^^IWA4mS2oBRKLqMOV`g;#(71>x+}g>7RYf7b%-$V za*RYfq_-Gzuzgf}p6qxYjy*x^;Wh^2J-(M$d-626VJ>pUA;*N|=?osV?~%H&E^$oA z@!(^qTBckXlUU-|V@aFJvW;PPa#;Fbst#G)u!CM4 z+cF=?&-th&Uaz|WC_4dev>izMz%*akMPFP`m3fu6Y#Uk5XwP~Z?1aCxCFL*v$@;)6 z(Dgc^^JCnAGOg+)zpKLa6V^Kmek=L!f1&ZNFO7h5J-T$c+tI9R=J2fa@s8M*?OL{J z(K`07N$#xHcj{2~t=4c$ElZui2uoc{y@2|G zk(S#7qAgm>$qz?zpnWWRv>S+?L9L>qh#fBiU*4}dXID5sp~O6M0KM^ivwzGl2s^X?Q-?XjBon3zp>nD?Ti53wao? z3PX8o%t9WPVTFmp`X70ep*-r?OH#_Eae@zZ z-fPIiAI77CDu)63dZL0}w+z@Iu5RT(KJ*n{qtb=RrP73s`QXd(a{0m{ze*E2H$x-h zL`1PVr(D`^Njli27vMz^FD#6fR4rw{fxe!08|9o=%kfkGk1Iz|x?jO>Gk$LT=)aC3N$7qDa3p>X>E6}k?gH+JAJd8c zxqn+3`p*L%jbB$h(|tXjH{%y2@lHG|L;g>I_Z!^Nv1pg^YX&#^=lMrv$j^N*k@zY1 z+wt5LzwK}%e|J19Lw@uAmO5abvoJ3)^E_ z;?laDmTk33nK>=n#kOt7Jvzo~x=cGbOs?WqsmZD1(#K}X4H0Jl`t4vDSyQ=lLsxqIAZ|6DL(*1Wrw#G|4}++>hdw3ha+r?4b}Z==Gb%xZ#9*X-o>}7ie)a0B-Th z8b2~?d{&OwC_}4h*cjvAgM6(I?#ZL6x?wAkDF9uM3j8JxT?K}$%M!b5Ogy?2$zyWU z{ZnyjBB+T&_kDAh5n>NdM%LsJxG6ttd^&c4LlSrTU<>#pFTiex3faUgl6;xtGt{GT zqmbBX)W1Kr^I-ePq)E8M->+t3Lx+CL8svGe-81p(@${F8#*&C#ANqD3QyKQ!Gq9U& z<1vNE9ZFD$#N-0u#;r`EFrr>nV&ipwhP_BeMIm@fg)LC#Lg>|4Y*iVF%+Ev-Mv+7g zVI#h%SLOhzgV&$Gq|y`7e;P2Z;;RjaTP6Vm9-lcXJtu2wra2^Ckbl+8yn6W~ueUCW z6mw6=o*u(eG<?}Zc1C45JJ+G z*4wx)ZQc9O{ za?;O9lVsIIWKS0iZHMAfsKao@7q{ba?rT7X)QjBlwGqc?7fMOOU~SS#Tcd3!*i6Rj`M#7qDpt z`QsZZ`<5=j+1O=Rs51|Q?-aa{ag!kFJS|8%6$`6^D5qW%B)ufxIAaeZNccGx&KEo# zI}1Vh*dj>0BNjd*NcBV9qt*_Xf*YJRBjn}x&2h=t}XG4LlD2#S8Mg+~O*fAZuI z_6Q;u%_E!eqj-a+?r==m^lr*a_?h7xpy{e`?$vY!VdS0(0{(&~CVpLl@1gw&o*mAi zn$Dts5soLU2Td&O^$MOA&Y_wvryPV|8qN`$`mmQ0el_h*5WBH{K_+}_1hG>a6ntMe z$7>?8A>r>L|AKksEqE>US#SyEDfsi@m|k{S+l9{z?XhIId6Yd?&*b)4=bzVe!e^@- zY9kTP9!qDdNN3-iV;xQF4$@hob4(P_VU|MOrF4)+|HyhhO@%e9hwIW;N;j`HNA&k* z?b@w5(%nq3`;gw$t(~~A()%l{)&c$XO06L}8m(DL53e;br6Jv@OXF`nx?}NyEybu$T7Px>ohOr{uCJEh!Ozmd(E1M@)+5HkvAj5QiEP=l|6Qi zTknzG5wxuBnY?sV?jKKALYoieS!=D5i(j|6Khn@9q3!T!wN{^IUDl`lKD1h=mwgCp zj*)z2Ba#fTXUJglQOS*W5>MO75B@-QiHW)8FOsh>H_c^TE(@Q*jIlSM|7>=247cW{ zAV;^dqouRL`Y-1~u-BF)Y-cj!ug@^KE^=|gtPeFFg1=cQ}Estdsf9Am-v}bnI z>D~_q(CZ%F*4&QzLe@j3!&}PcQ+I2sz0d`wSjYW)dg>Z`%u~Nr7}c6fs-1Kt>$cz> zV`@99PomeonsT3xoAx`)t(4e-?cL3^LsRw|D@Og&J35|zb97Kva> zEd!ne7w<{Zode#qN@qUouFH?Mdw6OAy9M&xU4*v03whj7F0#&K`Vo^R@>cmbldfMU`K->2!V>3V;#6Pa($>4uR~(YH%Fx6I zzd87&4?OI*PtmInP#L7N)@A})^#MMe>zhS4E!*guxz}^jzJfEOOn9{w^#kHX=_F#| zW#iQNaEI7 zvNlGf5kDtL;ha5_YzAmsjkZLc|AFjcpfUL$&5uv#oDQ1rM+@H7T*ky&3B|N zxNdAA@5#b5^%i&$-^udB2hUPm$oM-d6KnTJ9hsrNM&+Tt!_{4E!?5oSWlz1C*;!OS zRK`Zm(R`rxVZu$b_$KP7r5XDd-c3A=fv1+rCsV&?PR*6a*5mH-A(^PXP05CJ@h@4! z$5zb5F%&jz1M^@jw3ccioNX9>xpiiLbx6)6?vy zlc934n!%iupXQ%uSe$;sJehDlWwDS}$T|E(e>^(PK@~sh2=gdDKT4%5f2NxTie67Q zM6|`|5siMDvkJQB8b2}|o!@fa;f*dTd_*_bAwWk*JBjij?-F#H@4Cm)2{t)L;C=>2 zMI0pRG(Y7-ka^97_*b1F>#SN2XZmg4`z?-IA$Su0Uu+5e zuK}+{^(I{JKIq|iM~~LGMc;Uc#CuNUyb9C<(IdI7jIdCSABy4h>(L|nJ0mQl|9A}l zR1E)I4F6IL|0ehrD)bsEjn??INIGWUFZdzrZub8&IWI_mPdY}A5A0@uCVbGsF50#5ehbY$ zT;e+@9DU^Lf_xy`>AXAXD7yq%N7DXV!Mq^pY_qVJkEZadAOkqFFP8PDcG_PjaE@Sx zZ;9Y+^umJB8NK*vVL#i1o7(d%3Qg^H79BFBtb5zn9Hke%aB{uqg+GE`vdA9eI5ln$IMh~n*X44F#0rw)A;gbGafX&%=otD1wGcdco9#|?pXT| z#1GXm;zxQA!%r?hPBo19k=<&XAF6`kC!IT*AMv4hkVj49V@kaCG|fs07o>%Q0F9iBTMu(n!_s( zZtNc*^ZRW)Q?n!ECuK_)HxbX*=91UZ@(jMW?9aM;yz7)b^{&&xa|5-f^e)^*cMJ22 z^t?UHiI{)Fo5uAe#{GuJLVo-V{4?Oxo5Rc>$EFqd!Ph0YP0N?ZUb5$#evkP=#hqzc zvf*QA-G+1GMtQJuL|qH#qb9xB9v<=2ZuOfjq}@W=no}w5=sa6^l-^eI&>RZcguGKP zwa3QQ#h#PNV}`ntMP~m*- zx+Lzuh1)i0OBv2$q`aClqSrP2KO-K6jEsTt}+p!!h0wvr$} z*!+|KxxY%-sic!8jj5!uLvevC&HH%ori1w&1*7LbfV6KjUe5#RF3q^VJqwh~Kr5AgA|-L){W-sm(XqSlE7gX+LJ4u?hD{Lu+J6Tc&$w zFV(|!wPWL^z6YECMjY%(AiQuv*G^r0E*`p26OVA)Cxmr|cEKme%wG*HJh-?eYsD#d z_pb8sahF~izTBS1wEACU%jbl;m^bIb{y`<2W51Fv*B(F)2mE~$Ikh#)hI+4kj)o8N z&gUko%OP(euL(3%YyjX?>zI- zO1MAQ@zvw;h2Fx{H^onTJN!9lr6&-r>P@Rht23olhx9En`z~`T>mBAi(pJ(JujuW^ zJF`1Dj~5+3KgT!KZKlz4*>V)W)OTpZ{#m*{?L+;X$#Wjv@s4^H*#Oy}&G&&e9?By> zw!paCew{qFfUE3o{sr{imM%dabhf+GL8HeDWmw3MFM@t5^oBQN>-rM)2N^GJ^*hNd z?TdUQ`OycBMd6_3TN~})m&}e-_SF9xxry$OCpRNc&(E(H;!o-Rk!{~9Lw$=JPYU~l z7k0#p_Yiao?Ag#tS9PxF`J+2D`By$%IVfJ*iP^iRxEFhI`}KnTzvlevg~adj)b7Ro zzwlR_W#DWISM_493Yp(o{9HR}*I64mCws4-$m=~kzghKLeU9Yj@-3M#d}S=7I~%H0 z`*O3|jmlLp`+rdfv&X4}N%E!i)vu`@(l;Je4}&+UcdSzw+5L5;T>G{ymz*a%SLRx$ z27(9+ZabLxS9r@cfJdYlp@17(;!pkIs)X zl?caswk{}dCa>U>Nx1)#zFlKI@!y(m>>0y?yUrBo%R&BLo$Ji`!zVWyyDk#@ZG7xDsQg3C^dA+f-M;5a4o(bjq&2VDoc1kU@E-4~T^NYw z*Q?QUZ(^6;8T}b<<9;`?3v?{sMS{2AbWsMl@RA_7hO4eQRWh^ilFX{XTQ+Q5JG5pU zUOy%43P0IBe#_B+yN5ZRdE#pfZ46%b=+6s%m7E34o=JQj0^Z4m`o%n{rSMy)-$^S|V z6|bH_8WK@Pk7)E;W})-=1a$r*8a@5|kV(-X{1e?=hX5TNx(U%mPX#)kKSw9%WFlhS z9hzYx`ZnGrGv$N+$tHATF@WEBiLmn=93zxg-KMX8+_`TrUJ^WGdUEsZz{`0^W zz!zD3FR%l-IsX0}JOjSQ`hOcJxjO$E_=s?uKk=)x3d1MlcbA91hKKMjFMm%eGV_G= zdp&##@d_{Cul%)x>we-lEUxt0)%lqx4Bz45XFxB!AAcv$A==GQ4DXBK*TwMFF?=Y756AFN#PCnY@Gr&i12O!2G5jB5_`k>S zljytLqx}AS3_mA^UlPNwjo}}R;e#>!t{DD_82(!^{10RJpT%$)L%K)&|4R&?Lf`5h z`TtxD&&Kdv49~~#TVnWTiw_d_$r?d;1I(^f!G^*9mAGhRsZ*IZ^qbvTMIE2KdT8Td zpktQtcN+=Ut=+U~?fP3*vguQ+Kpegt^lw_Ie(L?4%53szVj}r)N1ns1 zw=b26A(ZcxM?1|^YJNHqdoE_{uy$TQ;>w2;f-5y2xbl*v7pz=*`DIrxT(a`=t1rDq z8%?vE8qZ14*IazX$_+PtXx{p@Y{k1izcMc=^DcMx@b$0UwDy*@{W`fmB8PMyL4xJy zXD?j2VDV+wEYa4xY;eg{OII#kd&~NPjhC;#d4rdREjzaiZI7aMCyCqjbMJU~!(HP{ zb?uvT$5&4{t2+Vw5##ZFjo6BsgOZjb+G<84G_YzQJuMhy{S1OcYHA*LtRm@o~= z)zs7cbr(nVE^M(I!kn2C<<&}vDHJfQcmkN=GYQhOZuenhZlPaB+ zAXu=l-@-K(>N_s~qJ>WYO@1w`2wub3-r`lkJo_UBnUp2@GBIUb!Q; zK0)%aOc1^bg5=-Wi7aDIAsi?>ky+PSdys|J9^`uV!OEZVIwJUf^2r>jb2;-mLDKIO zq@3mpet`G|2|p+ZU)wFNxtH>}PxuYkWeDDgycp{1JaWyQRi3?qze0TwgnzS7^n=7J zd?oP;7T{YDdG8WjW%rNX6z(5Y`c=6Dj|jq_CWf8(cM9S@-@?U$t0`COzuCH*bL62b zTlc4c;{Skf_+F70 z+@BFndaqb`L=gAa1s4%7b4mGk3F4l!xaOeZW0&yt%;N+}cb~;y6ePV@1vgMHnS&}H z9fHK06C~cnf<@W^Q1Owhff~CCZx`$g*V3ELfmZm>AveLd!M5*DcYb3ols7YGVc>axdcmr_M3MH&#yrPAUtevEXM)|5?2xp6)SS~=3;Ol^i1u<}%MrXh9Y3l=suP#Ig<4^4zot2urp7}*C>_<*Sdx7iG7FXb~ZGKKB5`2G>AKL(> zQm*|i`uFG2zu%WB*B0aFY?){owf*puw7fmfyXe1V>32Y{yR{v?);9J+lc0=0+Y|(k z^ZQMHdfF=^b*)<@3R>?PVT!fe+|w-?H07~JVjV+kOgYv|AvZFSjZua*2iCDT6EIxM zmK@wVSep3SbGnanSuKs-1z)-eG8I4W9Q{1Jik`KSv99zU*%pOsAKCnPkYRsJ=I&FI z{3wGN?VJTq86=4Fka#aD96XvcRf%&8;hV^ZDNp#(ZCG;F)5_hWhDX+1 z++JGAxhYp3qgkffGLq2})`(Q^t~Iu4?ZJZ~59~<}IAc@1wrd{>yde*79Zhv~_;bkR zvyNZYfiFP+9r)W0e_5{%sLp8JrX5>6rRd*7!=XTfI z%iKdt+cR~d6t4ZL4FtuIUu>SnsNWZvy`9M3uP<3!SK2DFy`avJmn8Bw%Hl6<)0zCZ+MUYZm9b!J+S(kMy2Ba2wjQ)|pRIY%h4(`=L94#Qt$%+5-tLFD z`1-fj$IeWMqi}6dYtrhw%sP8c{me4$_X>F`u-?wTs}{-B@j<;ydi7Uz%(XGC@frRz zVSN`r9d_OFyOtk+-BPlV0jD0xN9|5+Cy^uH$Tv^hG35atd|KGgggCbk zu}A19yOvj>lDUWaWgfm?6V}SMQwdaVra!|^badpw8T?d@r~~GC&5KJ8wu&9KmUk>V zjZqZFevZr?PlJlcK90XEIDL2YbkT6~VB$|KIQ}%oQGE0G>CxCfW8T7lqLcrX7Ajsn zCFo8MU(J8f=%=xepnEF^bIy_(v)cIDqkP%5D-TzBc7T^{c%}c8=dXJ5jEAqV_+F2` z7zr|rzoEZR1h+yb+^6qWA($tm&wBV~+=cH1I(h8%{Kd~c55L#q+dcY4QQHdR&wKbT z=!C1nMe%$7I7g4xx+IUr6A>CGt#wWG4+r6n{zTTgKIe#ms+W}*{>>Qvatt>g3hSou z{}S_0M0F>O|LrmS9Wh)sgziy%=f&_}isAA7SU1P~H^*@8rE!nqe>8^wW(@zm82*(Q z{;e2(IEMdQ44)d+7s zI&X70p+gjwqX#!ezWoH|2s-C)w4M$@L&s+~@-wPP-@)lSLsjIPsA)qTBO3dw`ph~+ zOtT&8e{D8=mG(r|4Z2N_Z6|Ig~Cn z(zeFb*V2dfho>h_&{1Qiq_qa4A68hS9d-*6PIc_?_^M5m9*Ym2Zry2yBNpV~l(P+8 zyT(S+oEoJm^`yX0_b{rj(*1qvdvxC2ZVR8Xuwvm079O;)jXJ4&{^nb_9N09Qc!U$r z6M|=>pAsbgmw>a*;X5Y0o4F@-SoB$7CzJ0!K|Tb7g6KcC2xjTi1xZK!x#*v^@QB>` z$Qr#UAN(Bsv*_}I=ke_p?4geYDqLAO`r*BT@Taq*rAJKD4=Y@!ApYvtMZZ`$`rv{f zN)+iurPtXGoP|DkR5;-(K+#u)LvQq;@8cUyH!D3~Mv(A1LFg9)MZZQka@Z+|er&IG zZ$-Y^FV-eFD{S9Q%n&<-&m=y_8(t|}jR%6z?ZDtvF zAL51QPp+?d@4UHaa`YTuUt^f`^fl)EE#?=R<6z@D*2J7AD1>tqGrwR?^DgEO(j9z= zc}l=MMDA|xF@?MBC>CR1YTU4OM6A&s1+^zP`~JX&cOniGg$b3VoI@_4NHMW_95 zPf<_Ub~LWLuGl+Rzs$`oDR-)JbZ?yWQCEP=hE->^l#rq0X-M^BgfvV1iu~YL`$bgV z$x+$E28Ua6*cn690!<4vEzm5$zXktRbXcciUoJhv!^nN-dmFm5piEh@p9=XIdtH;} zQTx@F8-M1}Moz62?ZH@K+}f;L5PZPk(SE$+>}k_pGo?A*hED;Xl6@}sRHbt486z*P zMh3IB)3ilpJk!gfIodmv}FRWikc-Pka1JZ+DN|&vGhdLprJlCJ)3<7yq*GL+w_F zk)zxdZ%#JojXI$^M16Rcb4XrJP_CRsba*N}OciaBGmoHEotR4c+WV&P!c~VpY;fpA zTMFG10r8^qBU&p(`s(txk(K|+I=scBxzEEY5AwKD8qx8wY(s&LYrVx+Pb~-@mlfL$a ziEgUTUt@phboK)_kCtcq^sUHSe$AX)gWp`=Pj&oQe(Gb67~a#HV&JJxe)M8vE7QhZ@l=gQj&7nr}m+ z^WB>0JCtsgbourfH^rUAJ%by+QKdZZjGxV2p*yEtH10_%KIVY`s;EneAIPx^IA*~^|zXZ9x zyRzds`q!_uS9Uzl9O_RVrCbz;bm6pVlm4Q_p86uzc2b#FeqheYE8oZ7hZU;h3A0z1 z^ujRt+P$PB8r7q=;D)ic!yDiCnM(Tr`ptyb-nQ62;9l-)Q=4lYeXRab-qqfJ4H&hV za(?_a@~=21e0SiVb{^Hmr-(mZj|lVpuJoSg=_CF`^=?3Ei9gz>&ZLs;R1fE5|IFmU zm5Jong1^fbYd0qRb%fVgMRQGteP;cSMJ}`cw+ws*zkYs${D%3J`8~~VFTef#4)D{M z5?Kc?@?%J9*8YyT@mhiLTAq4aY@G!hKh98-0F7LZ2bH*mQrTAUCc3`kSvkVh4xu$}P zS8ZCm$;0y;UcP?Ay0xnYFA6XXTQ@*N3ogoJGK9U@!pjEC^l8J!%p6VTHV$msG|>O< zivrL6cI@{&AJoQ;Fl+9(Y2#YaU$c=J@I{&6k_|VnT0OKuuk177i#RaQFaFQS&f9D_ z|EbV9|M<_P>QRB&hkndFaXs_XROFH7uxzQyMz6`YFgSysaJ-z(tm5r6XkWeY{Gr;iWz>EWySFB<(8S!f*jcMEj>BN{!+`N3P!Ap8>@ zQ`YElbc}VQyvlPIbZa82FioMN=NlM3RT^iN1e84MTSk6r-%JN5#8)AK|Lp~I=|VQ) z@!kJ3df|y;NCZqjgV893gyBP8gMP)qMA z|HjkOc;)Rx&aG0p=n>C4hiSIK!he!;cMR`|;Y{nJNAy=jSlAD*jNyKni~eIVf5tY^ zBmd9v6K|vZ#NQWy?vejD_(`7nF3A5y;C}Fe#eV>FkLX|Lr~3-FO%3Va=807P9WneD zWB5fe{NfmXbqv?ON%tuJbus*&7``Khe=df{^{UFNdldg)#qhYEwaIHEqCYi;pA*Bc zj^TwEE?t&;6yL{U_`@+=_8IOG{TE_*V+|v$KhMSdUj|qE(Dz^E?R{9gR!Q?~Rfxuj zcje98q=JF(CQP6Qxm$!+sUroAMl>>MouH(|G;^-CQ#YiMhSu0rhY?%j--fAmNHpQn z8Qz5fQJOX)E#PjNz%@w2PS+Y9uUu&^SX_DgTCOwVs4>wTZJs>Q1bZ?oSkHp` zcsA3K!K~D&9B#JZW^sAd!exuD=`%MRg|{dfYj)x?BJ@pfLmOM20j6*bW<1+lX{2R^ zz6qo6h8^}K)R$d~;Jiq%Id|ig3GOSor)I!d9ee57(aS_acdd`E%GtD*TXk;Uu+cF3 zCdTL!IoQM~XkwglSvkn6z(n2rM7#2J1M8?@CchtH2d**eZZLb3hI@7$V3HD61q#Q; zI{!=hQk{2}6+AVxhtv6D`gZGFGJTtMuGeNkl#*&QIv?ywK?W+LK-t6X6Ha{l1&OaJ zNPGtciSKnm;%lY3DZV*^=xvQ1G4V++uJ{T-#V0#rh1(`bIAcdl`o@kJ`WLPLA?vSw zT#8Tox5Qsg@HA$|f(%Z~{V`qeC!BO%5o7@Ms)cV@X!PW`XBaQYKWkx5kad8(;92Om z1?Pn0GU=;#2|pWszJ;R}8a+Dh`z_v@gzg-xH|N7BJ7ekfWmhb{{uT?9e1@gpZx^I+ zx&`M#C&&P8v*3AFFWy6W2$$a8!j~+RO@Z9g=(>&G-oizK==IJ0FBcG>@LuvG*hPGT z@b!!!d>Ol6^!jal^Q7O;S~z5(vFF8ouf<;%yomB{1-=h?3KEa8-_0=Cv-oc7Z|-$L ziB=U(`bPvwUxPG->k%YAW2Z}e8tz|g*v}Z?%ORK zv2dq_vICa?ZVSs6K4IaL7CvR+KA>p_f@%kXw1Xppv)N}VsQS-%O!ZLXGQ~fzx=1&+ zX{b1FUXKfA7!Q&d=J;&)QDdUXIgtXe?gaIe*^VpS7KzwVj`}ofBz0 zYAjycxqWEuAdM#)v%Pn6n~@9Ndm&18J;%2hsfKL)Y|IwQA(#!+IKzz=el})1_LxoM zLihM%Gv_AgyZ?B{Y^JfS4pJJ#ZCD*$c-WZn&`9QHv)pbN{eN!{w;-P1d*T*X%b8K} zM6JhITwzJ0ljmf)l*?(Ql3Q+A#p4ugyE?i|RzNczW1+>Z(m5#08}}ZJG*A+@M<538?OOt9*w73^fzuKuwa%7}ZWEEl4Sg)xOi z(P5Rb$}CI5S9<$2LsKn;l_$yztG0Umgp82H|D-p*+eeL3LPpHZmIJgiTI# z@3d*`_Tr+fqZN2p)~7(H4n@{@>O+#W$);e*jHVoMmas4^!()MdrTAFAZ$#D=YFA6J zBnnb%$lr@L{zRrcwy4MEGau%&4a>XMAS_>3ehP0a>hk4gX6L*cInD^OUq2O#(HVE* zCJO@BS1by)8B2(%daJb)!M>MYO=P& ziebiG#HISBv>lWMlzW$Tk@~+I#Ru{<^$>bl)&wK2@64-hVX@lBj?_)#&6(eQ=>P9e*+Zc2xNjTM6?v?V`N$`riYm^Us#oQ29^ALiJ8lezp&w{(O{r`8So&dPL#-34aJnAk$Cf zL%Jc=-Q3sfPXhlrM!VP22DUD)g+}S>WLzx%PS$N?x|u*XSL$|%q%1PCcO&wpwdS0; z1$1T$`Ot32&Gz;Jmyd#tTk#zr{EC==&hyu8x{dnw{@P_;KKt-fAEbDUB_5~nH>*xO zdu6qaI)T=WIzx18s^!H;;)vy1cExW3! zvQ>R(!;M9UR9m`G@n(*Umu7g2=1>Y$a@&a2gi~*Qy=bYrGBR}cTpd%jp{>F zhWbDlQy>z`M1|0{=bon6o=mo%}MkKU2Q3#5&wYeHQ;%z#TSqn|SlQ zt6yTPzBvi}B;e`%Tt5}$mX6C(DKQe>oRP~vR%ekU6%_umo+y2tcCnoNET7SY+Z5iD zyf0RC+0Em$_4DvEZi&K_ar*3;>O<%UfZUu)m<09Va^MZ@_|`Y`7I?auI{1QDht>bO zerm6+>!MR#ebUk;3t?TArPHG9z2lUxxy8YhdDN#Z5Bsz%eOi`2EqnJVNxmg44#3ZK zH7r4AXspvhScP+t(}nBqUHyZse90KR-#0ExP~QsgJ-EA5@fC;Ysb61i_4ro)j<|MH z2>b91efS|;znu&Y#AvWkJ3JNM^u0FnxF*~w{VOrq?Tm%{?}U4YwY+w57h^P^Q$0Y2 zjeIVvaY}qNj(rS&mGv1W-}lpB-d9!L-3kB7Cp)pZ$sxQEz{~sZs9s!vj76KwK4|*y z@SFZ%G}hw8WR*kekgdax&;9P3Y~`fe4ouuw%q96QJ)|)XeBX}ylq};SD<74KtaA-* zAwSMZ4t%#l*|lVB|A%{`P@ch!urr6ebZ@16@?P8dW8xl&$=L1sM`mWMF$#@~Uum10 zaJ=;CJ5%3>Ms4j{+Sk4OZshkFezLA`bD7m5_%W}nY-FSKQL8H(fBcqgIzh%gT2auW z6`5(~E&SI~`Y(WyFXBCL^L(Ic+t z>E%OP#bG)wTA5Kk1SMlXz79rvz7>v37qSVD?|ytOfS-cWOBy~J5r&p(Ial~dPJH%x z_(|Y8fhl}K|5rU+{(X^beeRUrTW6^zo@DvMz#)1h$15T%l&e{f&F1X6ONL7;jzZUcVvl#x@G5jB6_&aC|?os+)N8DvBx!BH$-4B~d*A)i` z%*lWan`L&XV(PPYJ)1-^o{F8BXw9HllirA-O?a&%+f~iMlIvwWW!>zRj@lq=%(rmX zEsmRR+b9aX+RGR9%5{<}Z@Yc%>RX*3WG2d6H*Q$3V?;4KnqdBA6EOy7VQhn&)~vl5 z+p>w#aIk3PaQmj)ZwjLs7`S!i;HpiWIk<77e~u!yLn~L^%!!@@z6c~JvoOQ7#kYUsWt5;iCNEc$sfZ5dvC=ZeV_08MU39}@R*?R(S8xXP-NL+u=#Gp# zb7o`FF(QaXM_G``!V7}$WXvtdAbAmWR8SVBvY2|x!u^7bRJEg5mLH1+VZxkj$e`R< zCZUKrD0jlCL)XoTiv+>@1vA7aNVum3XVac6ZY+yV!=j6}s(kedLZ|*%J7srT{0YG> zz9WKscrz_P@;^tA{P$S6T<}cN6FdXUFIfU%5-}=Byv8yJIUEp<9A2~TnW>@w96|E6 z+2Y1RNcj~`xTggPR}m!so%9Qe{~1B(^qmmjvg8q7w(w~|=wB6t@7Dz3TZ0P0PQiDF zmNl}-S}vUMTP)lO)DG*XE&h^)hXmp4bwT**AZ^9dEqHbi-dssM+k}&^rv=uHT5mnaUoCo__<1JRcNfu1 z<*dGY^k{we5RywWw$@nN!Jv#T)4FM1;oc|e!O;;Ac17u4bMuPk6PllzF+1}Kie=^m zU3pB`t@*y27bdNKn&FMviL@B7)VQ_1Y73}2c%OBWVoKlQxw5tPtdmmXp+^{B~DqSX4F(aCze zJVo3_&z(i5oh{F3M(4r}Mn?Z`;(!;I7CXsO>`V*iSyq>f9(QKTNO=rD;~v+k&T7%F z#~^iIC7j1U!Tel0)gCv08wux0_uKIIdUU?Nl=3$7DfCo_RUxH^NS2n2o10ThW%LY7 z&?i{EX%W3d+3HP4kJg+1flcFacv%B4n2#9_-l^r z>Yc(Xtgly+?zEyC9y8LLmYVMJ^rzB`YMwkD9qJ~hLme&8xPy3A_KM3vwH5a+9fW&# zI*4ltpaZuQ5HT%GBvei=m#hm0gCd=t-Ni zYxK#PTt`}Z0NpBUJXS|4-EyLM7kblD72W5U`2RPrKJ-x^)_6LmhHP)FO-E0<)s&HK z6ZvvY_3%Iz-*^G{xS@^`u)`P0uteVO#^?erPyqokiu-{<C|drRBX^sUQkl7aM|>Sq&Gen#KAZ0u-#>#{M`skU-|^=#={ zU7gAeYrToSqEt=f!tf`dSGBsjP7QMqhTs>L^90`u)lzy49$^JC08EJi|w*Q@sryT1ZFr!a?XiNeZ{`je7=SL-3oX@4vd>RE4$<+a1Lzd}RL+UDg`@^~$#3zfc4`HbsXuaCtY zt$oIQ--Rs9SCMcB0 z*5U5!UX`w|d)2sR44U0u+>-kiH#V^Hlic0dOW`$6Q-7trs}FJg75eOy`mi_CC4U8) zY%D!@Dvi_GN~f(hc|L9Om-*e#?+$)<@^fSD)gt&Ws*immrOby9-(B;>^|3oO?`6Iz zQp6UBj&WeX^vd9jJIs>}=NA@h=qJy?MfAs`%R;00=ke2{_?Q+&kJ6QYTpv3hy3-@7 zkVbTiEWPtuc?|xRLjZ3@pND48JReKM=!rfvdc<>rC-~A?E)-Vt8EN`by0IpJTY! zk$U>ndF$Rg`x?G@-=!lD%uT$ zA09w$x(dB)BVDrvRXW(X@^pe;)~HDvVmQ8@6iyo(G@~OAtxolr`qGg5=pv(-^0blu z|DE>K*NRS%=rL8Q@P%$mKRV8=puQu5=->J*%v-p^LguVSf4W@|J=<DiM#bhtMCnCoPtu?2BwOj(%nncVam$6n&t^ez^?TC0nVp{CW~V3m z)H$@3&P;ext@z#|9KN?%xYNRC1ZUI#37&>tk~XZJq=y8F?}#AzNVWjUN4FsEc?*sH z6h3!b-0aN6-`u=HxNfUA?G+?`v$K-;&CW{2L%SCLRiNT+YYkzCApGYA;eWXx{P$aE zc2Ap-gxt=s|Tt zpE=>aFjDWxJyu^_d8Dp6ELAEMogioR` zZIsO?NaNRReztk?QrWnZl!Btl=AGu2h-BfBdOu~8F=cc8SQm2=m5-s#g|;{Ty9rx- z=Q#2<YDVMzxrb;pWm}-#q;uJb^!@G$yOyJETC#K=Wr*nB%p68^bg@Uxp$5IU@HVu9=kOD~^F9`xzO!@z(Hu&2 zCo+fH4BhF3bC2TCZ;^%0{WFdM>mV9E%lY9|GzkAhcOrAB1JJE;fq*VPLE2&TwDbLY z0Y^R!jA4&Ghhm{7xWYvOo%b5Wr5E4*KQo6?IX0ezxlLeSFvse+k|)+$5xN&(t*gTQaOwIvp{*|1JLWb<U4E?Inc>vY>O<@gc&I)-cA9hOIxmC|%PPMd^B^gSuLYi*zvxjFqieO#)I^?9wmw0JZs z2S+o4yVJdQ6n@6xR4FRQYanf+QVQ9Wrqs61M4&OR`f z&+Mr8kkvF|My^|sYb$Z&$d6=@#7(@&hNFY<%CpH&4m%R|5iqwq98@1+ zt@V+5uJTwtOMI>1iOh4gM5S#!S$?G6RM|e(i+daHY8z83+f94S!edXFxf_1DN|=t5 zNe6Qa^)s#yNW#moJ+Ztm7#>HiHNRf5A0oBLx~Gtz?We+Sa<4vEg*amw~}>pdBXN8l_-^KvO92L7eTio7Pbes#n#R63ZLJDN9{|R zz@NUO@R*0kzoriU0DtpArovsw?*e|ZKbFq?Y<}nPlf95`Pz=iK%b`s-6FxDDtqJu< zc}`5r*M5Uju+!AH_H?5h|B(HJauZGSboQS@V`PN=6ZQ$szeF;^#h-C6HQHb>qO`)W zZ=ABH{>EvXPF`g1VX<`aH*O2}q?j<2AA2Te1cmY#>PiL^`5HqcY{A|?_Fnb~seU=z zuaG`pW4)jKjKuHp+5_!5?B}7*)NY}E4QKedb?#i%*iSLlIefN9vjCbxjK<}~LD@Ye zNsqFN>WJROi|VJjF_L}d?KZDD`2P~NB5Bss9WMi*9`P5SkZb zG~b0reRfkY0~?s&n0*m*yy%;vZ;txi`1iV%`suzcR0;aaYK=AM!@Zfu>MeYu&XOD7 zYW3r?ad~^T8QYGYD4-~1x35ZD91bX`13#f z;qN4|*>QQ@NL~+7*R`Kg;U9;O$30oB#Xs8PWaXtkN4&W-#dkA&YwVeUN9BR`LbYFF z>d&r9BfSq3-)5Vh@~t%4M}By-N24-Y7NgNVZI_>&`P5#^WBIY}ZrbQ$jMpFH z_ZR&BjNg6yqP98WwaxOxw)xFT+U8%z+Gek7o7gR=ZK6vsZPV4&poHv@pDC}=M%(P3 zv8TS5ydS%5-Z(>jI1SUZ%~oJ9b_d$)tNr86|GekXCA6#g49@28)6Lc8wjlUwC9K=p zcd2%^FV@Z+FAi$2q1u_+o$HHT8>HS$+RmP%ok`!PdZlz!hAU#}sGSASC{BIrr)8;= z)Vrjud+Ki%AWN5SD>Oz%xW5m6;{6PD?aSZy(i|pDw>Q|;t#6Q~pPu47IEkBdoN>CB zanrtbmnYTTZLxmg_n|pfzc7XTIsT8?FBBSM&dK@(onxSWSMjt})UN5b)1`}_J^8Y# z+!N{TX3zE1piq_kx{#mfg7n~cb2?%60P{Vh3SL`NJ=Aws{>{j?Idk9#*v(OQt{r2) z_k9WW1~WBI1*KKhIkJCTFly>rTb208dm{ZnwW&&)&i=7_r`adYo?7gf@2<8G)}#$> zBksK7{*$S>@>oB4`K%{T^)0=zc78K7pZ91~kK7H*u1tRg8pa)CF9HJ|wc8%Psm*!y zm)LibmYY8N7Np}8-Vw6lg!?(V|^=c2)~sj##Bb- zmDl_=#Z4%+Cy2iVsBdTj_!;2lePJJXGi^ilsNigUZ6D}(aZqC^wL#T+)l2cKcR}jo zSdSf3%g@rbZwm^SNDohF3-k{!2kHK!+QA71{t_J8IU>!umfvY5i}({HlsQdbUNnddqG#!
KV-o@fPnqTPX>MS3@y&XzbV;-g87 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

xy)n(@W+Vmu=IV1j>v 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

}ERh-J@cZb|p~ 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

-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⪼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%0DX7%1hpZ!$=bIXP@7K+tW~?-2ElJ?QN@I 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%0ARrpn#JM4cVIAi4= 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 diff --git a/ext/bin/libcrypto/mac-x86_combined/libcrypto.a b/ext/bin/libcrypto/mac-x86_combined/libcrypto.a deleted file mode 100644 index 5974df77ce14675d79eaac54f0e02bf75a16dc4d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3207784 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 PQ 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

*rKMud>s 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%0ATfeL4)v)4NNIH2ec2P(aLxe!A33J1S-ob{h_ za5+$Xih%XNd=3hWmeb{2QG6DZq|+@M&LQXxj@y6#^P)^$AUZ8(VYQYj{D9dLZOcWw*Wr|TnIcD zcpUI7;BesCz&~-KVtZ8Q0_~Ba<2tW1ResE`x}Q@_h*4}{|Qj;8-Q}33;ZOo z@G#z6b@}=3p`p;bMci}+ehX0iR{-T-%c=5zG*JGBM{@oB5x>fZyMeX1mpS{>g%; zp!ohi-`aoZ;MKrSfWH{1@FxSsZ#b|Hxc4B7e-+)CY>_xy&VSks*P&?QKRCt?!qKg6LZvy9YgK=N+ z)%`9C=W)!U`x#JlUk5G+-UJjs;+o^{Lh#~W4!jCT-yWLDZx+8Me$a=O@_U7R)|=$& z>)r{>^kZ5u6kdH^i8HJJJUzhEx1Qz9d!xkBnbn7@tmU_>lrh_xHAXIV=J{u!q9VU_ z9(eCjq0sN0`Dx5s$XDU-pdV;;=B=1NPk9U94$mJsd>8mL9ljj=#~r>1{5j673yh9( z=DkORLJv?5;?sqBpEJLNS!V@>--@}+naeTjc%1Mx@NcC~$-L$0Q0Pt<=O*I(QD-hc zlB1>0yq9o)==^TM?=vnAPlJEOnP0-Z#?drEvx+)w;&xIf^n#1S)5PIQXKus%-;U-b zXpVPb>5_w&96kh}uR45`xE<;EN5MBcn!P86LT2wcX?glk`YoWs-HZ8E>V(X9P*!^P zL1taH7~DlP|1k2?;kSU7v!MaDQ-313>CEgl9OS0&2=IYQ`i3!pjTfWr&Yx2o4IsjpjFQx{y_Zk^$!2j*LJ#eqjbz zmIQl(fw|ToD{x&?^UA&A}IJhOGuSZr$9qdI&bM$WzD1(;8?*wM>XV7x-x3n|`cTuF%Y+}jjW8}$) zhT0qpE*MFNlz&h+_8rL)Y2A|A29Blf>r+OH?8mD#6l-tm$Q3-zQ`f>NSbgPl2S=@G zHgz%TA{ON zA%aWmU95U5!&l4*vfZF*V?hn5O}i^%yz8ZP$&ObrVo$J=;GS8#^B9KM{gt0w<=dK^Y({c=3{6&eXrhYmxk}1YTdtD zC{p7-Ej8(o=DWg|w0dgw9PdNzs-CRGRQof7)8pvGO`DL1OJH~eoOzvX*KMTEnmn(1 zUX8mEJ)KMnSEnQP$sVaKbB#2^&(PKUGP@{CHXWD$$+K4o(J}F**OgU4gU);@bjBcK zjK;==rj=UHmikMY>S|*qZI)vCU`4GSG7_8t=_*yF3z@-0#N^z)Uvi2}0l8x!?LAhE z&vy8{qcO*4-m6Z-+1~kg?-EZWYR7^a1LykvMFT}1L59HQ5lO#+oOcw2XETTQV|&SuCD6cnB=rP-Tw;pJQhvrB4QzbMWWZ63;qQ1>*oG&H$}2gRLQ7ia zPV}dYxzup2K$@lZFDsH^@#ehv7FM3znbO7-$gJ5r8z_>nzgeJ_#gR!wdzY~pnMiP1 zLs^TX&?YJu|8S+DAdBBmZ>0`hFJALZY=RPAJ}5RyA%2UAB{l>y@*1I37h`P%S!dT7 zXS}pe%DpvxUw%~}|3o97VmVThR;DA^*G6DVrZ$WrXW?|1y52_ljF9k=2uYU@`Ue^* z`l>?BX;2*$wgZ`Zne*i2KG?apAf2{W*yZ4Ap!^$w;zviVHeWarh)SvuovP6sMndo9peFyBR$>{9ee+tLXgTW>V)9yzzkI>^o>MpN=f?Z3{1|ujAxTCRkpq z%bQ}8>K8Y)WYH=Y(=~f+xsJ1w{B87?<1LNPiiGSASVTUnq;`h<83*&|lu>{B%d>C?eQae@Q#u;otvt zf4PnK*Vv+5w~hWP>|YCP|GEHP*HfAP)pU@jLR9}+(5II&{j1+Uh4PB6yy7f*W;a?QaL=ZM_Z3ye8upP_eR4z z6^pCiZmuj*V==Z1b}wCEgW;#Y%yg?$^I}o;d~+nu_S?m}D-P1hB3;_|OVdw(tz8bo z%ZFjpOjw=S|!99I+jL#<;SF1eWlKal3Uv<N97ZT3uywnjR@vnM-5)Fl2mi z`XBf9(~q0ZTpfGV_Tw%8NB#Kq)SW6@Fc^2@G{1rL<3V`!<7#Vk*E##~yYbU_b_-Br z@Lc`4!UhlM4*k;o?mik(YGaJ9wKv^_#=Yq=leHa9^Yuq#hM@p~gd$jTu*wx5Bx&^)4;|9^vp(Af#}dwP0!xb*Vt6+?!`uxjV``*hx?6j z<0qK$U{LNFk8ZErHO`7eZF;&ubNzG|T@`$SLAh(prr$vNjon;$mHT`ObA|$X<-WbM zeHC8)$sARL_Y2Y>QZR<>;v;+*?rRui7Vr}0symic!@KPic1M0XM}f}4%!%1?DI?W` z88VH=V0#puQ53^X?QhJ-h&V4^z?>D~JwqOXlWvJ45v<*5!OulNPE^U{X=7P5@@BTodwst<*?(6U(jSzyF26);n!pDdM?R%|>CBt+AV(huSF@NU z%XO~^dMSdfsYeySyT@*7`P<|lOJSLUe+N(U@Ah-th|A{Rh}5}*{g%HBjMa=ade>Hs zxNud0X$4b}MAk1Q>#d1nOxB65Oi3Y}Vm?&(=FL;o^+n3xj-7^e@$lqiyRicQA^5Wk zq(`Rm`5-f$kSVF2fA{vD*qnd)zU6OUu^0RPRjveh6>{&i{K@5Sx4o}0LE7y;PrEZ; zC-mr~9(`>`DJ8%Xy*Mbbl$n$U#pXbgV|cwL(B@^w3RA}@fSqSdqyBWmz%+`oSg`~3@*3m+ z$rk3d3cAggfBTf`K~!1SiQ{9tDEfDxNS9@gb+ASM9JDyE?Gu7SX%^3sg$iYw*HIa^ z`w|KL3%W=A??L7;t|V+5tocdLeR^BGIgZN@iNmnP)OV@s`&jCYyiG_PpvcZ5vhuC* zCodbu9f#Al#y`VroU2@3^@+W0QBK2{pRBg^ONc`WLA4@QAG}D<6gJuH9&|bR*0X0H zc5!|X+tUm77j}6NYzj#*cIV`4M9(f|A4!f{QhXwI>Dn5??(CwDYel(K2MSwLdg8qo zPcnV7@}mHxZbT%uh)g8g2BmH=LFpmp&I;y?L7HNC^;YCpm;bfx{hpjB?^GfVv3VB@ zx;p!!1d^uXfs}oYb9I9DY2NN46F(KQi1w$AD(YQF(f*2Qe>!Bv8iBvH@DrmD?*`0gk<*z0?fA9PYNkQ>fklKl)R{CgdF6mSJ3)Lf-;=fzrb|A$o z#IF=zy;D|-FTlr3aTWIV3|Nd#hXTx}Rg`dSM$SuAa&>VZe2FG{JizPJh1=5BiMSpp$9;tT#5V{j<;8rkn35UFlhH zBu?e5wY;7a&6V?rn=Em3?Q|ga5IVlH?VHTbnNdcd&5r58hAPe_dDPs9pf?Zl2TkLR zoe~iZH#EXNDe@``9?Sy^9|mHYUw9V~-F9I+kY2j*BH*FGoq(8q7Rm;cF=*ijK<0mi zw*xUFEX4k-Q)69z>vx6L;r!5!FO5Swme<)D=`#JXqOoGM# z6i|FR9ADwC0rEjFTn0P@I16|%a10O=*FxDJ%Ksm96N0~X@GhYEosHg*3Aj~$r9j0y z5~z4~0VJCWJzXnu3mN_^ISOR@_2mi&}BloX?hX9`i9t3>Axt9WI#f9es z#aH3zvcFV5KSa2~y$F=Q?qZZ%Izki9(NA*pEmUk2|4l&g{}?F#uK~rs+R-m?bf+sA zqG5>Q)7!2&<66pFI#uBtc47|Z=u$Yg!)ti(`yimxrtWq8QQDyFG)-9eCp-G8JoJbT ze~0=A^oSM6KiKg{X(#^^$cOe5hrdHOz08uij^`PNYf^Th!!?)Y&+q_3eMklPSDl~e z_Y+2Z`rYB-uX*^X9(uRdzONJ;z$haXeOkWs7+FZi;IfF^vYpF-qnj`&TP+y+Sl((4YNirr!S!SC?kxT(rPoC#Yf>fGDrJODgD^#j(Yvqyc z6Ih5gEJyzvXyZ)8VHz`yNxVd*vzJwP89~j(gGw35n5KmnSIb47C9gY_?+p4qz2Jg$b><1) z_krlSg79>uk@@t|hbj_J&qWtt^ogqw&i5&jqW{%5C6|s$Yox&gx|^{zxL5QZ#ML%+x7_jc*RdSkeg{ZnPjHOH#+; zMSMyxHzoz%e$ic2(*)}h#_W%fWVvzyVIK&yb}>7z`3 z%$y^w(+a~6&k+&JK~0!Exq7<^Zso<6BGUe0R91hn>-yF(?I3b9oJjVuiLTY8m&!X^ zaOgwoUE71hqr$UuFhXOphb`A|a+M$Esxr^;Z<3DIu*lr2glZbjvHpo&5_2+g`!94i z={YJ#Zl!hBu77lMIL<1vb2@a$`9_Bv#=lGZ$~KGPzvytyQ)CAudIjaEJ5>!2_y>+B z3jQ;PcTt9~I{Y2*+Z?WWin=R>)qc-g9IiQ7+~I4%l_tXj)Vx6WTAFBxkF z@0vrnd%J_FfySqvZ(zr)@nd+SIJ}qCHnzFJTxg}78H^Bp;*w1~TOS&*BF^>;-NC?L zw$fR{ej+f#R_7%vetYq`8C0ijsyIBZad&7DsSYUmX&Laoy*r`x9^M~D=ssQ zP+9gdJV`Ibr=|OY>?}d@$}GzCwc^Iy#G7rT1$x71yX>Fo)o++ECUg(|-9OvkxVt=9 z*mvV@+MGY|{!ho<-{qZF0~h>H#@#`9iMg9TguXBLxLbM?yh<5&tB=h!?p9bm>dSWY z=j=vgk7De1-)Dr%x)+1!4kOC<=L@G(9d(9dXqWxy4)O=~g#(p;-nQk3=@{quveFy+ z4-frE^68A4{F0B+S`-0}a`_4usNZEw$|zxzy|Y04I*&`IPxce2y~~u}JuY0|{ACrM zLm~HvjNtmQPrJ%1^)bS7PMvQ2m+s-e+X0de5#ujxl67`hxLgU>1)1g8Xs3Syl$b zfBO#dFW*7_FK(MZENzXuRmG|E+l7@9{fdr5g6#E zH-I1O=uu#e!)F6;aQG@9!NM`(o=)Z#XnEvaGMg#0SIL*~V(>>Cz6Jlg9R4D>&QB1J z^y!No-VEOE@O9uvJ6zwU_X2)o?(6V(fSF4jA-^3b`djLP5v)c? z-VoG{Yt6Vx7Q03)IK>2 zJTh|_P=my$a~k+$hje@B1ad__6fHXO4Ay6q}!5BL_o|G(C)_os{27(ZK={UWq%U37opJ9C6z+h6#o zH7kjoniy*|*%ul{X|lgXeKO`TD(lllH7e^3Py==KiBQpkezE;TwAFXXW9)X7)mOt7 zD62nZFuZMLwa@)L+|qYGsZiTgR{Np833s5ZPJmlwwJ}2q?7g-*>LabBIFix;#~38( zLP~38%Ru^JQ!Y}3AFI?2++K3m)aQ(SjllCsUNwt3l~%3$C(%ciq<$wjl*n>gI5smk z-;M(M+X&cpIZ4SE)I}5AxfIae`x%s%nUI{UB&Zy z()+T?%vkw-NLPT;dqS=y2&oyN=UwBab|d^fW&z@7U`n^KoXWKC%t-GIiXkv4+paxd zrD@rAQQ{26m9xF&O4;H4r^mB*>toNiB`}YiM{#b~p6`yZ;2x4{{v(VkHFE}79Um{nRl&W;Bkh_{QOCc@7i&Zl=u^tNs*9$jQcET5scgvEQ(-?#F= zvlJ_vZhRxzvL>fKkZERD+ix(OUNl2IZ^~x!BQ_lDvE~C-HMMLD^(om{KBb60yYk@n zEAk?-g7z!&Bi7`uXIECM^lGhxi+g{~ZLkwHYo?FVOGFwYsmc7amfd!_$=PE%oq<+h zW4pDl2xMvk&OBODPmxs3*S)pjk!FJcmf-eKe?BJ@wDQ(|rAgV9ffQ24jtFE7MFx2~ z-!KeGT$$gqyL{ZDbV`Pid}v}PDX+i9RsMS0ki?~Vx!=GqkrQPrA?TLU?ve;LA=tcS z^j|uYA?I4!#R@}&4TAlxrP=YxXo|jq6Z0=*6qn%c2?S0f!&T1glCmy|os^*4W~H6% z?k$N~wvs`w_^IqDc}a>o^zr0+Ul>RARC38SbT)p(j@P2(Yay2=??^sP^$DB?G?z=> zZ;UP}!cj#Xo$#dYfPfyQB3@}OmRM`URcx*>^{>7e0BWuCETH5c4AffZaG>J3nG{dd4oK%JW?`UXe8(a|peN_RAKXrxo~1%B(F<$F*CUFjJP zRQlX`l0)9a?;zaw02S`GA?a|R(&D}fUEvl24*|{xD!o-e$vMHf3xJaI8ezo$J)r!x zHZ1;SKOh%K@M&t&=Jso2s{}0b>QK^M&O~q`9PKbXrSst zIy$+f|51HB4-{Q%#iB2D^z$9P+R@3I$sfTDpKLje9*X+D1ETN+l!?wV5&jPTfzGRo zvMzJ{UGNX348&7GeIM-b+2Bns?1p^wbB@0md>wI$e-%$W;33@34qpXtm&3P^hSiS0 z0@{c`4(+Jf(N)kmFT^@@IZ(0|Bl%c7VU);c5>7 z-D*>6V@9us&Y~qy1NsZuzIUM6L4&j1mF%o=q0+~rhw(c-j*`%4!5V&}oe4d&maHr1 z&6_iQ(i!ur!-GPb+gdqYG1r21nm5OSwI5NYxobLDdL=u|Pfgm_tW5V^zgB6bEn3s; ztUs4|7OmOwr|nVGLDKPuzS+Tcz*IGt+|W`Lx#-JEO#=HXj*!9W-dN3h2{~Ydp1w-jt@jn7=)+mHRprV-Dl_t>8gy5Z#D?s zaO7rSBQTea&m|>dWWci{KWC4}jbv{3k~TvyWFCjIX%DG6-Y{A|je-Ay+{Dnb4^BFg z@5rSiPSVoLr3bff9U42Tee1}!qaUk+p{I1nYfKiolC$-&$7YLg;7K>b*f!!ZeKLA> zf2>Skm-el(wjqyUdBx>w%nmg2yjU@@4T&LR4c9@NC2HuJKEM`9osK_#lNnaJ$oFpF z+Is0hO2Lr!t$Vf|u=;sbNzXwx#(i-TvS$y)RoDZ|dWLQP|v|61j=OV{`+61Dlw3kn00|I_^= z*Wf1@yjPU7`3>Z~n&`r-$-GH{KBka6pnq3*hE+st0@n+b2#wzBli)bTl;1!49}Ov}fJwSYTH0YiARdtX9V(R~h~ z(>e=MkOw1H>(9h=k=jFph!lKq@9(j#sL=G<_b=|p{~?6-S`qeQWhcVezuJTpCZ>;o zI@G9Bc4F&5@9)_|Z{+LZ%Gl0aqzM?@`wo7g&MCt`x*h+LzW#O&Y-;4(WczximqCp@ zNJgoVX@JxeqmE?@I!c@SASB!WhyQUpNppt7)V$5ZR4%Cl#5Xm6vu=$cG?(Crns2BD zM80D4R3<|5F->vv)Dr88S}@vzQ5KA|pwxm10?DaXH-$c!q^U)ueu!!l$-8czs%5fB z{PP|zG&Pz7vnL!KO$D7Dclv8+7?pqua-*Uv(wlVFW59ZeMNqLFsc}`!K znn_T$-gmWsKB#SvOs}zcrM1XeYf>X^6W7-Rm5A+}L}L`x0G^0j3AQX8ZN)!l&K1L020`=$N46`TT)6;Cq$s!GJ_ z9#dbzBS-lyHT=accRiPzF>kD zbQd}}1nBDkz4Ad3omi1yrUO*QQ65y->!`#z17RPh!K_Ygh7f+mec6MDy>}aHx#<_VI-IG&{&q5NN%KrV7e<|Mn zUIz6C8o#W5|1_GS$>Q0R{)oit8U_{&DmqH0;lWLc3j{_azdr*yxzyPY1+w_i*g`!n zjT>E0B=rJX@kDE0;-->C_{MK4sZhY{N|pfHKN;M%Pm)Va5v!&TD&5;`Vl3@B+H^SW zpA2d{KG{+7x|)IG>L^)fU50pF$xm^?BEc$5wX6Bk-7{qB^lxp~_=>v5w&#=cSP^1V2&JNO01Yav_a(FDc#S@?sD$ry@i{dn1r$Z`I+8v0 zwgw#C+yz<|)zL59RHBhVd>6IuNqI*5sn$M{gcaE1bIE+MMv*{sIcd*kYqvX2IHn&Gjv{y~D|;s0Tp;ZQDZVjC9eGshxE=cG)lVq#9G;Q- zJ9=)uZ`h^UzJLxZn%G^bJd_SNxvHed#8A+_QJ0shJTnS>l-l;VEY4!bnX}}-LWHu2 z)RSIgaq|tE23mqS6QQW%ODdt8*J02gJ+x|3iX>jkeDa?fFCD!WtLCbA-#iqrNPKyo z)|Fr_IA5$;Z*m?%5<{7Ww9S^@{=9x$(p+T~d6HlUIz(P+-FcS@Iz{(SP>grK3_;5_ zM}|VT+4`;^jJ}SpfBO!h=>j=AR0%soGU&U{hNQCut;8NM>e>Mo7| z=1O#ZjzoWEwezl^F3Kz@(~rC%O?o)b3D10L#KwbufsaH~v%m+8zPPiS zG?I4d5d3=VVmnN0#k9HmhcJZi4-8XMm*T-y?@1XOnzDeo&M+s=h$M>QPapAO+wpqk zhwDo^BODH#3{TJgdesli^f(L;yT--mVq#)OBuC)E3cR-hbJmwHwfi4t1T(B#=g``v z3wzd-z9)fQZpQcaXN2e(E>T793w#$84O;bRz?*wKlHI<$_|^pNyG?cB+V@#V^V_#3 z2VVQWBD31em#Tyy|NHiRIS~cz`(<{}?r8hIoiJX*)qcvp?RzCm8SQ%sgdFYrbjWJo z(}CM+-+rR^hnFgJ?OU6f2pN3RP5b`zZyD`7yFV|3DczqxYWwp?ZGV1~?a!~X{duqb z{P*e4xm7vn&wK6Xzf0BUdi~7){H8wrc>(V~DNI~%60-A&*V(Rn=XA$?0^XVJYxVmR z$*Ao@<1ZvuHPIsU(Kq>+fEOPm^Le_bM7<~D|uR(aGckbthFvf>?r9Ji~Y!$j}n!3(}#NZ*YvLV61z4p*<2kV2B}$+ zHG_JF^;Qd=oN9upeADG;=^ao_*WgYR$6q?i<@yAraRjdzpHd|;7)pbH2rpGtlwnooqT zA^nwLUPCf(+)v=+b5%j#mzb8v=iIEk@fCUYNPZf2_PaQUA&mW!mJ0 zh(bV=!n5b|m|L^$faNHvHy0kR$Pp$-I4NWHY$KT@y8p zPieDvNvb_HNSR1h2cN-R>ANVo%t6?taGS456_JpQ3vts=95?yI^C-p7;#)4ene3R& z1B5LYZe?V=#^V$r!Fysp=WaPTcTr?a%m&*K!xO8HQO%NYg^v?`>MwK}T|Gwz#WpyH zlqcX(6MfY1hKt+o`FK>qHE%vPi!e0WXS?F{GQx@7{oXvkPJZfBb*>FrN-cz-EjVocK z1P#Wtm(}lUrP6dc^I?r9Rz1!f#q`#i6w*I$1yByDnG(O*^)04rNc^$|LRDy4;+~Q%lEj&)YSe*5l107uo;iv#n-)Jm@`%EB>nI>*4{d5Hqtv}r zfQ(l3zwDu@NWVVn5%W2~Z)xCnKYrahl}X+TwUj21`nEzW4;qybaxElPC{d~S!ZGzl z)}8lNK{uwp0A3SS_xEkvELyV;B#855#d(AEK`T#uM?=9knp|}+MMzyY{L@wKZ=EuUr*hJaGhHoF@qx-_-tTZ`*EVZ*;5b zTz_c9#VM;h;V9o!lr;Jg#X-U6$>UlDeX{-X$e^|riE2Z-R3uf##FErfa0acl@*?Sd zs%kQI^({R41gc8ogXp|Xy{XKPmB(phn%#%}%#6pBz0q?b&v>4(s+eOk!UX+v&MDh3 zyG`kaW%|9$GBt0^4=qpFi22;A5%alyef1M+=k{~k0h>RbuF!7Da9`PCeA_j24$h$E zRCC{d3jPnNwhWU$z7EFcnf!ZgN8U%NZO8Yk&_AI%kp{1F_@))?%+b0=9SQM&hoMJ5 znzf#xKvuH~|AetnDeytyF~DyCj|Hv(jt8F09q2RR<+uI@lxU|zKLq;Gz$oxWw7^FK z*8q<^_mM^E^eX;?d6eFrf#ZRHK<#ln@JZm|z;6Q;ZxX2bUjkJ9 zzgw8DpSKISdzwe#zwgoahju5A_@i0$LC}@Hx9OABKJEt|1pFaT`MC+G{I>&@uVp~x z>jI$4<4B;wz0T-Ba_$1Mpir3HHJ!i9py}>-$*TrR&Yr+Az)$EvjsX4&sQf+#RDN#( zD!*%h%5S4{PX#I;2LTmdFP*yLe+8&?KMPbmKLsk?cLEh(5~y@v0aUtA0V>?qd@JWk zpwfLWXHW+1=r(9y;t~H`k3It05n1k?p{d;eGAvymGgz$r6OZ!o3Q*~uo#n5)#T9NB zkN(%Zh*{`VyhjbS;YR>f4!>b&p?v=gD7l?L$vwu=IZHB3zvOTSdf3m%t-I+}PWJ*; zK6Stn;HmHh`7VHV9FOE{fk*NFYbP7-uMYkhsB(S{I0|@=qpt%Vh5JU}!N4y8^}cb| zOJ^52zxD4AW`8QU-pez9l7AXd=^6o4yxLzX`ZMsVUFa_E!-1_p@#$YiT4*6&@%B%7n znZWZVWwRS$CI175E04N&Ui24vx1NJfHh0ZD8yv2g_g5WW3jQUB7lSWx_!i(X4qpYV zaJXc^7TOccarleCcSwigD&^fOA|1kuNkd>`SV3F+LBPZN)9CPG+U|VEziQ7&|M7=#P2$ zQy$NH(izCV%j41dYe4@d=?w6XJ^rUWT>H)g9=(SF{wpu8=O703m>2e151;PwlzUVJk6^cE>}k?|wT%t6nU{|mb2eFL)?aE2C4v6&JsCI68lGI2^=2N^qutZt@k2o- z%$0f`+1?Wy8ck*$fQmrwRp0KV#2Kmc3STMkoE~bU#r(4-xO`Yq8S_q4RMsD(JQ*m4 zZ+=`hlkdM<;hzr-AT8cH^iI)=7pcoqj1vtDu( zgG{Azo1kWkx0kf0H?sTgbhWrpDjH(sj@ji|x6+zO!$#@Y8y1;!XET!@mKisOlgiBY zMNvY|bt|{=u}#^vQx$vP%fm!<5&HKsnqyDX`LT(>{BlRHS5}Z6yvSKWGVc@5Xo!8i z(~0wM0`C*Z_Y8xS>6-NLqU7u_fw5`G?yd>0spH0HzdgF!gjZ*zkTZ@p|xH2o_Zd;Iw0#+D%@_q~-9jvMdT*|&~;UZb;`%XOZV7JVa8+kba~=K8(G zH(zVef_(DLL-%if1F@HDbK&_UMYII`j6!DE%Wd1%P2n|;d6+qh|6>Rn{*;~(Jg+j3 zT?FjdHxhXt28J1Z_Nz0_(^yaQ;eLOO$U#J(pRqMci9DZ8n$g55`H3-!IeDn)OHlC? zOW%m%#GDbCSk+F#PY~N&e0Q;dw3^DR^P95F!t zhaLaN*syu|P1`ydl{xJ{sxLs|ns1BWyb0&KkdK>?m@1{$+PCpOTTGVSFF( z;Zx3L?NEH5xlsEIFuupcZ}NA!3;8xCV(l`;8c_bU)l{kcz6lk+Fa4IMu1T@+6}pg3 zI~3pkE>yW6pZUHdWF<;U4#bD0k+FQ)?Nvj3T@s}-9_@SI5FZ6p+a) z41b>s-;J%?Q`@zBjs1&zMl#kMH6zzDgJJh8>Ep+J!pXk1su5tw~fdMkN>J_!~>GQBY)9m#=lh z#MOJc@cYQ$934_5Eb}~@ZS+^#GA;SPadvBc+GAFIwu#@=XQd1I9TRe({m0oZRKoz{ z`$8DsOAOGI(qnVQmwx}U(rZGQ^saZ||B7YUz}tgVdy4g86Uw!R9QAVx{<-Q$M+Pdq zY~5`AGzlAU{T%JWm;3Si{Z&?eU!!-k^|M|WG52EsG4T98>_RYt|y z`d!d(bo4JnJC8^F+{F>n_k;G?Aj{7k7oFb@J={({&mFF~` znLM+2X7ilRqqWw#Jo9+Y;5mzDKF`@a=kT1%a~{w6JQwiP@GRh|w$>LG^nbRGC)Vxi0Yo%t6#oMFbxw;(KksV7;ak8Dad?`X55 zYyDfM(xR6_Q=2k8$m@0Z2Ex7N@Y&$|Ib3H_zvc2<4E{%#mv!X#5{Gw@uX`L`3Vo8p zXG4F%$%!KKK8JUa2Ko(?hS{W3_v0u%I#2fJ4v#|r)a7>-^cNjo41T}E*HI3VtFT(v zS05u>YxC-(gs(%+`3{#d{YGe_FMzh(;pp-sySp^YLRo9N;#mbQ<9H*7IREX+p#uDN z`0+Bo<2?Lv59i$vd9;%<;D3)$0e&*F0{j$@XJ-%Bdlv9q?BQBY2{F+QRI@P40TjXAibjTYhh8;xu@!z4^0qX?qDZ_Dfz#vA z3bw})I4wtJx-1(fP}?Qn#m#=iB8$Qq;<>yVM9}Pa6<~iXEBIwNTCF?_U^|R z5HdJ2g^DGVGW*oYbH|5?PP-J|y28MoGnB5v%*b&-$lwS?g!K`|Up={I_8F5-tv=g` zG0j9l1DQFz{Zg!+JiDdg5)L#uwH{LpR}OuM5||cbq7EYpla`Aiqr5Z3dcnLD7^=ym zJy4})QNxAxt$|?(OY5bqWG`GwS{F9NxH8n9pHk&B1tHQeOh7SmRd*Q#m3Icgtkee- zTV>Pd&OM`gPEF;^s+zggbEa3OMW|%NGa)Rzv@7iwX4ZNdXWEy`P0y@R1x}wiWmcA) zZTO{&ZTj-XO(tA$n9LXxPsF7xO9mzs_617|Fo8{i`ZflyaT$(uTk9_eS-H)OKGQRu z1e1rfXF46}!pfqlZMnpyd2H&8oA#(eHC8}D!C05yAyrPUX`p?nz{c0~t>?5~fK8~$ z%#e|9n-=wFgoO>wRHy=ml+a;XS?E$D%w!fN^qxC?s!h3(BeKfAvMtt>E>aHP~7a&V!x_Yu(n{|hAFt*sy`@qJPW!(qH zp>6(wN4e}b8uf9H+Hbbm&xAAkCtK)i;A;UgyfhEP1@jw-{f6ds3eRvR@^8j~8bje& zC7@qT&BE4Ji#m5z<-E!?LGdn1J3|bS;ct6)7AOrzlK2;u2=B)bG5iUa4M+zzCd%L4 zK+Ua4a%cmhID<$0ej0EN=$Ah4NQ*k{A0L0|?#T@rh$e2jrcPtlU-bS#OFqeK=96=< z{N#oPVRnO+iX!z8CK)=whSQ9a8zvF9=fmU%O{#mklN(kG{yw?khl0OJZqWKe&r8V- zTLhm;ZrF`N=-HUuAYEvZ zxgo+JvS)R2!{Na0OGrs_!*N2F8gzzG?ORW7_>#~w47y(EDF%I7=*b5CqtI~%{g==q z40<91zU~7Ix>4w!2K~Lze1m>0^fRn7k{gbtQoH|V(5XWIY|u8LZyI#H(3cFVNoDs_ z2K}edM+_=eSN8^kE*5&1L3dLW-!kaALUpfjaznWoIt;p6)RhLkTGZtReL!fPLEjTP z-=Lofong@3nKX4zGU%~F#~XB^P@S7Zp$k38ptlI!%b>d{y}KIpIZ<`5aB{;3LjQ@C zMsmY`G?4E14EjZ(Z-cUz7+s3a(>3}8=?~E58C}3);BuZzc&^~NisyQsZ}8mC^Ie`F z@o0|!bDn2-Ugde4=RKZ(@~H9e%Ci^GK|DG_WIWF#o*6vzdFpsH&y#I#2hR;W-{R3? z#s;28c%I_X;>epkf9ClckMuOU2Wd~919*<$8OL)n&nY}-@H8!rv@Ne)*jOKpHANW( zMXlLk)H{$ai^21WGUV}m7uDCbtZa_?VGnPOYE)huYip^`!Abc3Ihq#L2dQCX*4R)N zWpoztqYp(#Wn`)-5SWfIr21hRTBFOGV$qdkl}kb!7MUP@h<=DAwXM7>J8em+LomlhPNIOX|9bei8j_RzYu`sFN1!vMP;t2tFK=~9L+6FD^^Aa#^vSM zHZWPpUs}ItbhNp#zP7bKiY=_kd2KUdo3U3{4K~(ZNcpt3H8(f4#4_t58rao(l1Vw%C#;?!H|atzEt- z8gTK#MH?1j5zX0@G|YauU6;{ntni~4urKs^C8Mpi_QLw;qNaLVHVw<`8ryig{VeER zrdqt_qE@B%IcJZwgk(0V#N2(o)EbuCt>inhjR=G8K@n|(jVW3~jMg0XFQlqZgp!qx zG-!CH8&G3vXq6>-MizIBySa&)Tj_o{_4C#f$4(6pzVST~l*?=M_cM!o7!6H>P?%XzSTbIATY5;9G!CD-x_JIZ&}t5Q}cu^ z#vCttNkdbkX=4%I71d-eFP+uzy;iNXp5+b8+LoCHwybuA!POOq%|GK+$O;}cr=t4r ziYaN^31suOu3R3gU6CO!o7=Id*vt!V1ljk-bmkG;rMt#_D4jR@R@OnZSCQX(1`Yat zc9wW=Tgtjx4d(L=jQv~ zxv%Huo8LLqb2AR;{5zwjAU?(hoj>>7j2Ak!A1v@^4AFTlBeKBFxT15C=g(N9bCKt- zb)LOFH)E2{CXb(SO6Pu_o3Tsh=U)C9&vgFAb2G;2{DJ3Y+|zl5=VmO_$zIDaeTKX1vv@yA*=(jKMn1AiGlawYO{1MZhu64u$?ArfCFK@mjsh&G&uCAS^^r4-`q#Ohs16XvUV z@f(Gu_Yt^ziwxVj=GY6)394%UtT)!e9*Sv+SV=|l3=ZeYZ#jj-aEcS{BPbwjVGrOe z6JyUG$NuY^n!L}>=U|tjsu$Zo>22E+!&rMz=jf8&uf0qE(Q`=IGizR6QPlp)uq&fW ze=#C?-A*#I2>A+1dQZ;}POh=BwEto&drZtBCdU&&d}Gf`I zW3&}Tij&?%yph~-9@l=HW1}N4&4E!{HK(3tllOG|X<|v|Kd@UohufdX(VAygjB5XQ z*p<62-8drIG5CF&f=s#-Um1zq_KjO*_of_6mmm+FA!3X8AysxFuKR9?f7dt%Rjm?J z7r8Q*Vs)6hlU?696JkDPTa}#IOEFipf1KYkAB#)Q^ik(c`R+^k>J)ktn{){}bCYA_ z|J7EyImZDvUq(3eyriHz;ARk^I8$g?e7vdG_9w<+hivP6qOEVDp4a~8e^cYLlQVji zh)byCXrf&fDz1{FK_Y%49Yj!y?H~7Y+HCtnl#fc8sPpf!QJY466}&Q4Eb4ej)G0;- z`BYWOfrDrV9|@t5R&a{&u%a7YfJ3GI)19``pBlf9rsNHdarC6lXG)!btVC7GdBTs8 z+$jYlt&W2!+us?q^XB$n4vt@u7e5A;`J5OISfGP_t4bEdrwo@>KxEZr#M`zY$W_~j zWP1#{9Ip{{1${I8_AJMV_C!}B(Q7T2!VrI| z`%tw|o$;bn=5eG|gWCHCn>RKaIz-xZv33)gGg%8rOfe-I<%F$|HV%r7 z_-LbqR~X@s**zcK54gP_YfZ{4@(60%vvtde({p?Mi*%wi^b)J%REA9P>19nVKxksh zsEsLVa&Y^Wos8Dg9O0hcClG{BOj$%4N3~CgwAoYB_b292(z7O}>qWP{4KLkNV(7^k z-G}Vw=o209FM@`*uUHg`>9nvB^ee@QIqKSs`Ez`DNlHyxFY!bA-kY~MojzM%h$u-k zFH(co8_0VVrG1j%Do#Qw_RkQ4JULFwTSQ_wj<7`MtGdIRPKP9~>4F;{(ifuq<5+di zbBUoynt-Gsi`OQGn&5}p;D>N6s0+QP3%#oit%gtNVLdOnRGSLto5-6jKmAtm_P$NO z7W{(mQx|lNQNQ9m>@WvgBIy5wzS_}onxE+U*mpQLQJA0Th0xobJBTU@!+y|z>gb^6 zC%Sa`KXGo;TEHb|JoGh=z9Ja2)J5u=mN8XoKvx)zAR7i_BUml|*zd(|WvSO`bbjQ_AM1<%`nJi`%pUJ8y0!+7Tlm68VsH(FO{; zfd>MA4IBx)-_d{Q=r=oh6_7F>f^DC<>+M6*FZXT0eF!%d$oR4FWCu~(cWT_hZ#{N) z5!vJIkN>~1m5YK0^p9}+eDA?4Ie%~vTfI)%cm({i^-_8-@xqOyk{3beSc}4Ozyp9K zS^m2F4BfKsKI>cyE_n)9kj3``G{z-`zW^#7*eZqbi(ht3dqKYdy2eC-9O-%Yg?>Er zAV1><NOvo&?GtyQa`zy5-AwRPN0leF?O)c$81Zr6K<)XkWw~l!x5<3P~`h~x_{w%ukRpE&52}R*yHdG$W$Ig zkMbPMBYXjJzUb&L0_z>V0KWpqGaH@>4sQl;cRXvM@fXg&c;Bpiphg<<({CeBfUCa= z@UMCJLWlu)-4t)$oHORmtI@dxi|QBGwlxL|=ygl# z>y|P%Ym-HY4)HMOT7aMzYQw0(OeSq$)RH<9gO!6UYH2nhIKToi=2Q<)2r0;YhJ}rT zBPYUBHFBP{GU<#dn#r20&m`WRS>m1FVFiVU8o-o3N5o5raw9c#a8^Z_$5Q`@iI5r; zk&$2vEzncfa56^vmN8en0e`F|rbVU*?$#Kp+u9Z~s7vvdVHo5*-9aU$5-2)-Y~)9k z)RZ+fEUI0Otr`b5Sd#BUHTS#DUsjs?e1@@O$BeV5IV{-492L`;aa~x>dyNJ%FaJ01 zpXSwq`poFzl`+48%*!8i;T7g-0;>%pV3mM=+nWz7JpFp)D~j0r(G`Th8hbOI=gyql zzlaR=Yqudo;k1Xs53hjRyBldMGL(lWveIF@bV;x>`PN4+Lq6Ze$h*?{5RvBKvw8H> zJFW+DMl~n?{(dWv6Z8o_kJ;bFWxkvb!MWFW;>F-|G~>uo8a(Q__r1*Ybz+I;R+5k^ zC+$74_K$aJt4Te^_*rAc2Y^gfhNSKhfmub|3!rfXN40*vt8Fqu^cB$9TVDae{3RCV z)eE|*Og&Q8=FwYk`{%@BuK>0e#t0-ON|HDo6Jt>z3$J9XcAbjHS-8s8*x#G zzA6dMeRgBtAIoENw~p=3l~J`5=y^?oE~A%ea;)3Y&4p`P<4<2iz{#aWYp#dcMjjRz z6eCBltT$Eek`tR=*1OhAjn?=nu?|(LCT6>f&zN}Rlr%N9MYCG+)%IVh{{cO;7yFd< zt&MHd*7ROcm3kRc_gqRZSJoC0M|ZRzPgF{g?w$Jalwzs-Pb7_*D~W7WEFa)>XU+Co zpOckX>hnawZPw>LaBQ@UMw-d`qX(5=CbRo z`aB)FU!RrY+g5!>ognH{cOzxh=U_^mrXa;bAQw< z-kv~PZ~>vs!P-WDWBZhxjW;z;oKL}#IucA1;B`o)cvAb~F8hE6Ft6-`_+L@<<%yan z{!NLUn9&ZW$1An7ccZ4$c@fp-0?IP?1uuMTk-xRH@Ww;S( zAwWdmxPkt@3oq|xp~lE$V8|Sx<~37>L^}12;|g18)|0mYI{NU!Pv~~}o)zkBO=`99O(0(f?eQ}H zGA~nn+T$hq1whH44OF`Kcm8=mzI}z-yTUiLa3e4u_%M*qX5m_(=7mQB72n=K#a95N zi!1CQ^YVWKsC;b#ihey%@vQ=r{geFr zJ`b!zz6q3^Mb14NsCnsBpyqEU12yj)>-@>P!cki0)1SwDF7j6h`s(QS6&}q~x_}}H z*BoS-!}VUB08R9DenJ;_z(;n{TD~-Hpc7=@7 z>6rOwm~O`Rni~Y;c$sP#znc2xmqc`Zv4Q>b<(}T8L({ZI^kN4(HiyB(&YGy9G=z+|aUZ*qB zd`Xag$ULSq03XPF=^__iVLIvXYJl`6s|57h-h4^nE8sicd~y}S{^&}=-}dH9_aI{w z+$)fwaJSL1+O9DavEBL7tH@9u)@7xGzBl|yw&p)iBmYof2Ok*e^8EP{eYE;%lMX~0 zyH!BW-xJ88===QA=V37E&_;iK_W4}ruY;A(wdALMtvSYKU0oU*mHKZvhB27<0%L{f zW+`0>wW8qX65o@rAhIeym9Yd47!EF~QITFal7wubjYP%q%@w>v00Gi2M5eRuwLgOFC zf06nnC633WT*Hlrs7C3ODyTTD>Z&Hx#V`i zHiiro>S%K}$O=4=T8hv};wC|Bl3aCLO31nte8 zPpde%B84Otusxy9eXP-)U#55p2!F+4HLu1k@!l;#;5 z6Bla*$q22@6sq?${%mTa*j^|76I|7q`OvL+GEuMS*~Og4lZchfn?hdZ=}Pod^Amf6 zkBt8gj?<8?Lmy`YhsXcUT6+O)Y8ucS`$&0^pW2+z{>{NN3#f<#eWGf}mL z=vjIA*n@>^6{wVI-sZYAh{X{lh zk24v_O4mJ*)^x4BTUqY@4vEit|4n%)1^?SJncO#S-6gxGYsKh(%cICJ5PMZ@S63c# z1l9b#%xb1_M^bMxQ{g5a^HNlEuWcT!NaN6;9v;<9#$4PvJTar#yAbJ4JmMSU&j-SP zm?>QSb?QoZf)=iVDO&T4M7vh^lgtn%IWv?TS{%Jro7ejLw(b%bDT_V5X1%*1wVi}~ z)5B}n81(S}NN4ZVR6u@!ZHLedtmEpN`de5ZJ`E|Cn&?S;&Q znyhsaj4Vx@5`S;a%V?d(6?ObxH8z+#aBhR2J8&lD#VeJNQk*E@)Y?Jx_L}b^FkhpD z+_TDN%b91oY1ciM5@*kZTyiRNa1T}rUB~m$R)f<=bM=k-=(cLSN>@Ljj@;TFRFPj& zq||904H#UgW%Bz|B*f`1?*ZaxI{2P-sc+-d8xVf4%vXU=?Re%b((k3ezZWF5x~&hZ z`RLUtNmKK2?vcFyc+wxVxKr>j>cZ{{ur%0cmGk9Z~aKV-jz-ax18 zX%$|LFCR{jlI}XXFVa_e?V#=pK-<}CMS+cMD^8We7ME2(QOCJtRT>d$Ab+ds zJkPYH)LvqFa?J-t9eTl#R}tsZB~%@8GVw9z)5WWG=3riO@*pS*{TY0zw~dd~v>o5Z z-F|t#w8^82I#J2y%uh(z-5H8YJ%b~Q8~wsBQrNL zrXa#TP5)v7LC;$x=oMIV9!;#(piZhqjqBmP-V(C9}65+b6%qO zA?hPizRRV9_vx}a9!)J3!6}p8%Ea@4^@4?^4qx4xa7&E1ZAS(RI&?bVR{DHV@+_d4*bcJ_x9zCgpyM{!uzCS=orLvt&d+5vX{E z0~P-#bYF`9U7+YmAfJ!IF98n*E(eP5ETGDt3jjMg+f2XpHG?=m33pJwavuaAda1%* zaOt)_!q#D}$Nvl5H+XK=vO6`O3*=2E9DhTO=AX*(Gd$$}04QDCyFlsM-ULb)cn?tZ z&ucyp}2MD(ZyadR_~2UXl35fGb^x0#y&-VfvK}%^8U=FVMBotc;stH4vcr zA{~|8QyA#pencSQdbjk}3RnEkI=l<|YYx}8&_6m{@7~sc2l_4uS6H>-DxlHfK|e=0 zb*8qcGQeqm<2}5~!^vC7L%oIg3mz^Rft;&7TxA&08$G<*!^IHre8I!Vc=%U6e32LS z4G&-K@%XyH?|M8(dbqD^{E-DChlO#ebPA9bduV$4$2Df{NC6aQieZIN>_oJLaV)rTiivqD-)l|gt}N~~qMF1d=J{2!vjpJc0Fe-!zL1K09#(03AN zXk($g=;0fu@36j6{r(;zpr6lxF+FFgNnYJX3N)T)Y?yy89E???0IM^6YV#CRc$-Z! zH&3w>yD6qVHc!zv3L|!P^#Ddo0?I%H`+?~L2{VFmF1E)b8Tsy$xM2=u6pVW3|g3i$DAhlJXc*o+JIg(un`y^I<&1E}|zUX}o;cfccQBRt46#O}#os$(XT`A#C z<&Ia$Aj9Kmq9%XW`S~AhDvk}?Tw#jjqfPlmYaWpItm61@+y5{q{=4=+aaA}`?zQG+ z8E6+r+IEUhQ<{e)W)1JzoquW1;l^{g^&HW&M`9K`0eXX=BYG8dgz=qL(378-R)9r1 zmyS2(#h2u@|NgT$giU#|oi|sQYASnX*I5P760=6G`N*W<0Go!9k+$&C*MmrGd}CP` zi5OxA`|VE@n5jvQ{HNfJ%rE8& zrk)ePd-mEq)wDVaLo>5!1*;xYd)Kv3_`ZklhbaV$w?7BdP!R z73@cGHausYIa>{jYlWF>lW;Si-z;q*5kD@7;W_3*MGtnhKar=~P0TNx!=FiN^3eqr zP(?ex6n|m$3#&-g;(z^O)v%(f597@Rrlc?M_Xgzu>qTaMc?VTmKO-@ehqyfU9fbVO zHebodtGKWYof1T}a`?>G85QxazX5UPDAkMv4*2l-~~Yc>Pe{Xpj@)@Z1Y z`YEcZ^-XvOnyPw5^HlriG_6}8TSnB3MpH3Oo?K~8zd|oTM>Ey-MN@5GG}ZP+Q*B=~ z)%Gi<)$Nl=zC(mTk|W4*twyzJ_CA;t1rfcCmaS)Ga?L-KGK%e&xS8xHm1^^z?CTQd z^lLvhTDhP#gfEZ({@D5|*2Wf<9`~;A936mS5`m9!%39ru)ayyAld&#n9arysVtskuIZ%nYjPU|T4N$Auva*1 zh*B2`411fG*0qk0v@UB{R&NgwY;A3`ieCg4L zMl3gP$N$bOf3k1B`9b&}W%=uy%_lmP4;s-qkcTn1n>IAksqqKD^+!OP#B&Jr z=rUwWADzXg{ho)yH`t?V``afxnk)ZqNTgF^5`ODNe--xv&;1NE&GjD;-Ni4y1kYj6 zX8=opm7c%sYByGq)YO?$)ogMnMI!ty##tG@E{=jJd6(DS3v1zP6A37avV_c76YlTAx}^# zjExGlRY>7)14_4Z6HxJY01pN(14`~9;32^I=n{hTPK35AkK{%9XXFFL$9{>B?-?@J z$s_vBph0-1$%@P93N**pSeD;<(O2;xI&Xo46%Ixn1Q>sf?_Pva`wvuJZwV(2s*9Av zRquoGXRk~|ZDMEWnzKi7S36ubILAX1eJ#A>kSn|ks5@MRFMvmDZ^AdgbGGA=a{p?_ zvyOOi8XiF8b%$@ke~ZJTgpE186#9!!W(4{BID7#-Ee`Jj|G?qJ@Z9O}ccA~+#TzAG zPazX8^D6`i@Y6gxbrjOq6E@)asYk!j3)|)4x{Ej9H)oQWn0S{xx&}M}&mA6qxQ9RH z;Xm;3D?K@G;+kg1A! zdbSkwnH*04GNtlPUmZHD_|7S%Um0v6P;(RdhjNM8wo#zd9PDKoV#bxUe;#bhGk16^Oc zyp2sE=C02g7qfNP%_7=IqJ1MZljc@e&Y3)|X7Y^LHB)ACyrkXHA3pI=1p5CKTFL2bp$MoYlf7j6WT!WvWK3{r3&2J!jk5_ot6`t-a zQcRzDq(WxuJ+`TDc$M&%5#&4sfJW5EXQ>UgYb!OI1WzFB>q><8lf2+3Tz%%<$QRTe z7WIj~zCroc1B*!mI{F>{`Fpn+&}#Y6Or{gVlG^g1bvVYW$*ayHA`Q8pW3ZK&YOFV` z$2rd9et8hMJ=mt*VbWsf7k2Od1<9+HkT1fGlBm^$0B60usACh%tYpvEdRPN=XxCpv zc9A$CS&;|ZxUx5x29zYP`pAkXOM8&-MB7>y(CKBU_tad_Vv`*Rr7;DoLB6YQqXGssU=E6q?NA7TGTdy(l zojh8by49oK46U7qv1{Q{kFJ;NR37?>!lOL8#*sS1Qu4cjTFd(lsPX;YVWlTWePJn&)&fU)@xalL-h#S32muCcK8A*+q449wUZ_c8bt0hRV( zOuZKTdC}pEg8$v&3&5u-EKuY0IpF-6-y#ox7fL|)$FRG2JT5;b?DswXZ+W<61akCE z3Gihe-r?bMJzVPNfWO|u?Fi(|u{By=G0nMVVN;V^|H&Y;`-GLL?AODbpq)Ml-VC)h z+RYr`vJMoEiV&)iR*tyRWD}RMKyS;iJy#;_@m1zjChy7yw_1b^e4iv{U0-0&#@;3u z2W#ibs>xiRfNr5G7$mvarc9bO>$K|1nd$POGpU}+5%-!fG>o|q@fD_}|{RZi5<5)V3eB_gufxjKyTXE*OmK@*Lwp#&x54e-vI} zw(`NF50Yb*fPUMvJy-a5;oHjl3>x`=XnP;{s;l~s{|+uVao0O^+EmOdP8~wH!9+mR z4L1G+!UQz@J0=^lK$z@KP*JDb7}v{HD)VclDYi<>%E}DW3PeHEOiNS4lFI6?t7%q> zqVapa&gXpYJ$Jj~Pru*q^Vr?{ocB5BectE)Iq&m6=WKw9;R@({``U{tBy2POUxNwJ zxQ9+e{fPVROOL({8V`_;S>%KJiJt$-toFMT;@V?+fR1exVcfZ){OG6r(D*O61O3wX z#CWqpsis|7A?2{>Or-B6njlKJo{@zQ)^IG*?c-*m75#)1wlsw_dS7BCVD#79uP+QF zt}1AKj-fj*ZRvz9 zv8Tcb9b+<#;4%RhrhzD>#hWYIx8-N?8~abZ^&>VyE<|lBUMEhCID3%C{Ncu4QIcpa zNa{{+W`fVfYj%k;@scyU-wZU+<7T<@S>TBCWef@p0t;t zO?Lkb^Kh(5X{z;_-$fF)YlAT}zYEEhp5Fy!gNi@Dnw9zNo1g0n`<` zeTYkZv+ULN(fVv38ZfiGh(^`rC|URfGL|W5B68C)_a`@+i;F~FIPquh2{(pCb7vXo zQ;p17zU=Biqh-rjsvA8XJtyu(Hyj%$=jtT886k|lLCNk(co!)J`dp->iz~SSqebkT zx4gBbu_3^nO1e6!!Ml>FD!|SL6L)(P6DC6g=v>DH74E?nA^x90dC|f{+!br!BS5<4 z(073Jy`j69Ppfa|+bH?Lt=M(rnQy-l`v%7@-6YYIP80Ppq`4kFN$7n72yO*x9zuL8Q+hkT-#h8}8S6Q>tZ07ou z>vVoE3J=sgLHh>^qwjTozIm-qnD2JXr#fb()2A7A%-1_+ZysqT-;-y| zuVckJV>S=U^g@`~HuJo`GyOoFCY-&z+wdN-I^8y%zE!86NqsK@=2jsS-~LYEZCu_I zo=NHQ7HM|%O^DKfGo4YLxkx>LPfrQVuxVwaX=jgl4|~A#jQAC98I9IYgHL2%I$IskD8O^A8oKjoO!q(0F6MU!^s9i~2qe0R$ekzC zXR6;c>jmk;mhkKETMr$YZlBMSaSlt$;S%PClMqxEGb>8|nb|}6j`m##ul#JHb0Qqu zX(_X-dVrKgDK&81dvzk8Q;i-8Yn^zad6K#ZvSKnB1{I1l|nRzx-JSYSe zAlXI~Q<<7Rqc|T`i-&>nOwTKH8EaBvN>l`nLF1(u%>*ON^pT8wB+U>Z6ckbH;9Bvc9$oyU3UmAFvC*8D{0Q8owg ztKv>RVJDvE_KU5V^kwBIGv4BOxtRQ-NN+9Q)4n?xzUgZaNOZnV6>##@P}RLSB)PnO z_n`1i8io>`Z)AJZ956Y}cx%11ecPa)tD>ax+qVVHNs`%*nxe??lPQlfhE`J^uk=?Q zx);Zk2gxpum1Qn;an?!M>3cc$3?*U;RD69;Giu#Ya}E?LI8xYpgK`jeRb?-=tgzO} zo4Hr$5wP4GTx{}TSV?lZTqI(}d>Llcd5TkWbCq8UAr-I22fzHv6q+SlqO*r)((`$o zbX@i`#9)NBTHO`cxT95mNq#8BD>Q(-vplgnPsV!?HBQAZ`MbI66z|Xrl>^HGrDqU2w(J|IryL| zF*Q%TYFFcB{G_hR75h!Zp8Fu)jh3(f6SNKNR_M6byTqqOw1J{|VY>BBD%taVY-_4Y zIZ`Lyo)ib?Vd83=dX7+ejT~>EDUEG~Q_eP#ta#fUbcH^{Cz*)I#4l(ejC%!1jeS5* zQkJ}#tdBkE9ieMA0m$e7poCuFb7hrxVd&%bHK@i}GaI7Zs9Ee=FiwO?Blh+gUD#0#;l=2fp;TwR`ntI-Zu z!^IVq7cPqvZ4Mu%>IHEvf2*e%9&!<12l1XWadhiX9W^99K5Rwn${!!Pj%JE!veFYQ znDOCWJka}UeDFFYQySemgG59gw)X*50nkc4kH;ERT6tQ`A1rbf6-8S4-FkPZBRv2{dRJMl4f!=WOehg z4ms-LB((P4O)}I4QaNv|_A9=!(69KnLrG!^UYU~=r%!+C$&D^0f=KL{_>}xOcfu3% z$rMc~WR$o0^kR}_nFcu(dP@4$GkR{7vpIXM5hSo@UU6)DV(k;mC5&h9db%yRB!?;x zL?C<#umpl;4~)=+vK2I$(ve6y=ja4-tTZ+yKXwLLrmnD(K&nj<5yrcsOFky=>hg!E zyZSD++_~a+Q(Xk|bEOU6HCEgJeV*{3Xvb(V!>Eg;y^@Ld8=B zPJ6AJu~QS*luQaln@#cJSb`%LY{x4#Z785UigRx#6mo+_Zad`Y^|fkIg~5GN%sb>M z!AbH@Iv+`Q{5!!4c1vHtz;5YXsku)1`SCr3WB>8pE*hRX^wHFyN+XuzRwQnm)4IulXBrkI}fZ5aaDw=6;dkbHjEBv)IdMCV*qehbC zQJ{_rGc0~_$s}&3sNPD|)Vfu*EIm!~vlwVP##5nXD#s}5Qz_VCDpOUIPMsg!CQSU+ zOQ^UMkda?rAv_f#g0i^L`8E7YdRtXYy)B8)kY4+-@q_vQ3EF8X`BGwfOtsBm$(|Q- zSHIif6pn*xEq?XOBQC#Drscq@d+F$o^P(%}_&)IsHF5dzv_COSd0?jSK+WeBL%tu= zEly1T_irzzVdnh;Qe9-bmBRR^i{dl#Azl!l>&=3SNJBg7*7jaNtCOAOzhE!^O-U_C zth<$7o`{06>ALnU9|eCX(rL-!;e!~_*4H$AnVKJ?DWrss{HUjJSPGwMWx zHX{?usJ~qJq4tzYt|S&JP^l^s(;PLb>3CLYRr}2TK|`K;TfaehBLWSog3zWxmBw$? zezxDBh6$hUVHa=cIRu2$zx3?>XSO}n%f17L73LmxZ z^R2zY+Fv<@_phw~mzd5s@;e1OyP4++>I|^>Yv)|K&)-OJtN4k(OMs$3)WR2-E6IKX z@C@9q0-gq3Z1K~9XJQ{|-G^Iuz4>)I`1kU?@UH;n?@^%Wd=sdATmw7>I2$P4>Pp~P z;85Ukz!ZX*QsB!6alYK9YdyG!`JDiMF;L<4#+LXT1}wwAn+b;Ode1=cY2c^8KWgoF z0w-XpX%TzfJZhH(tV60fIL>yEqM*!#y45V{|>z9KL->) z3wyb9r(^epj(@!gApg44QT`7C4hO!=U?YBi3sgD%0^M-QWBho&310c9{h%?xD}V}r zB2f962UPlBf+ykc2A&Mm-HpoMI1pJ(NctyA2YM>q6_&nqzxA}R!i@!100#h74$`4G z3;5dsnRLtlv;5@$%fJZm79jHRP!xDP@EjnrQ*+0o^84?|;{E)-n1ud_UnTgB;43X3 z!rx-?*ML96!Cwwua;7|O$h8g3a$AP1<|H#_EV&NK~ z_`47>md~HUOV(cr{v_~zeGvXAe&VAD2;HE@SwXVjK!AbeK-!DZN!0rc(s8Nf_mMSA zSNt#n3BMCu#G2cv$J$eq4!qj)L~B-GaE|q(eyYKm)nDmMf#|3|yTzI#m@k2b^kWL~ zuQHQ)C+$-@Nir`4f4;>>hIsOH;Wv}elPvxo{Qm)*@OqDLx9=Z6!+biJb@p6-3cdDd z%*u;379XJ<-D$%X(l^C?`o#N$Zw6m(Y2E|Pl*PXT{#9#!9`l3N+>CiAaS(<1-gV3m zIOc?7Ugnq=63`EOuVcOk9(??*j=8`wOPAL7^L@uW)1gm0PWw60@$&5FvUFwZa+J8Gn%%N|%tfW%VZUbf zycu(5*Dd1COQ>_Iow#inOf^&HTcTz!CTl;X&l!gE$JQx7q->$`ELdY2gk7ac-kBS?@*WV2zShhJvwLX8l7N z{ic5QjOwfyq!;GJ(z4X>YNltN7iME})=Pk%UVkP#y&Wfqr!<``>bj0Jx69m`b9=kg z`MC6(v-U{|GDCT8cW3YajMk5h#<1h%NL{se zz+oZod85m;51pyuvHYeCCRW6UdM{nJ{EGhefc-t!Iu?Xg@Gyj*wA1YY~9=T6Z{LYdN z8Ce29jns}kf(y&vV_{v)ndTyAor_;1c-Ik^9+vx#k+-hLub; z`g;?$t@$~^CS5oO2WP-R>kuufmzgUK%>A?OI$!%NrDk8!tkstz#GEc6W~pH?e2eC9 z+*yz%2exAAWKi*LH@g$919e!%Q9n!~PD2oMF67OTkXIyL(>V^^KZ|7Y(H_mZks)ZZ zEXdr>6G~Ni(7zRNIM(Es2~_@`Imv+#qBP#Vm2&V&Ux#BZLd$ayIv2mL{$Jt?kBX9i zwj-|Uo!$^>|F(^Vj8?reXFIZmz-^!d2XJ=d1-A4gjmyeUHqA;mrS_+&u;X0 zwnNok`J~!F@g&c+bi}sNxvNy=cRsaE&GGapGxqj9*vnD#R(%H=PJNO8DSmxs@UO0^ zuA5nNLEU-ts;1TStET4#;J=EC<%>DPVR_i-pW#4_B6KZhHGKSP{4V0hk|;FO!A}P_ zk{{JEbcln`2d6U~R9ADR<8qJBjgJwp&U7?8cAe=^C%|XizfCxuowxzWS~1juyZSHR zo%`2}yY5?~zY3KAj|LV2>5oFY@W_1G=$Og-z_$~*()G?pun3V@UO=M+h^DPb?cfB*+ z@uP5l*lQf~WsaF8cG^$YtlrL;o5n=FMT@trNKYg+@3UUqyS%)+!m^GxYY~uM72)C? zXzsO~5`IOqoz2Qk^xcykdPE>cTg`#XoUkw}5dwNkuUw&fEjRjl@pRoX-prAY9NxT{ zXvUvsXBMj2<VG2-XXoZ(g9;(q&@Xa1XjYDbcVxu59ypUmpV z+L%XbUKnJce+cN#5#>ie*inCH=AD28`kcMV1?BHCiQyGAo>4!9?XhKvwjRi9n68Qy zn9~mGY0Mna=nNbeAIP=qxO;c?vd{ZnW?u1u+kyuLV*lOy0fa9?$=^g=t@)b2VQHpx z8Qm-IeyBCpgwbN-#z^}&gcj4qx%c@Y2QOXu)lCK`|2=-1OX7#TcG zFVq2E{=_S7*UVk$e?sh6bgMn{ZB*N|GSZ+O=YtENPunc8^3S095B`D?i0EJFOE@g|F-2+;lZHHN+j4UM7qK*Rl9o@7=%e3QkL z_Q<+f>}VaQc3R6%A8p<0EfKUDpb3KcIyas^iZmRIMvAVn8=2QzKhBKt zwT8pG1lqvJNs1Wjt4kL0ip5ff&f-MZ7pY8`3KL!Td#0e#_%)J~0u?x1FarqNh2&ka+ z4KwHx(<-0m47dNGOZK=ucpuy@gi3~6r4n13+sPSjZ3Y-_M`m;D%#rkvL|NjiQbo_q zQA`Q8pS>q~Nqnt1qx=t(FzpS58ZnEB9&V;5!IJjva9XiU{41PRC=>q*58^i`AKPsG8yp+mHanOXZ*TCjusG2kR5?%;z9J27 zi;wD+ABpsmox-M@&(eKmX6g)|G?z455|gFA$|a2pas^(j)ROYgdZ`|+R1YP9O5$Q8 zwagXDZ?OuMdMX}QYLtJ>pp(BruZcHe?^f+`Ee)ouQHey9n^Crp0}F%*ylWjtuIvI=J-L%zZ(4Nk*09RQxHbp8$o!> zt)k&|n-smNKey3cVk%6u-{+b7tv~OhRz=e~J+20J4Nv35&-HGqsm(`sY)(ASD2-8x zsDMUGkBX!OC4WZ1)UEb5Pck|lmy@4|x61pS=9bQU9dS`-YDw*> zE%N#puXNJ-$Xz=T*{RN&1XrQu^N$o(w0xhYJd^ zqXN$ zOh-|rQlsRHEF8Suh*0rWy!{}>%$sV3xJhdnH@uoU?A?coexa8?QcJCD|8w|f3bC!a z1As6Fk!%5x3| zZJ=nf$8RF=KlQcE{O;qolV33zDmi2CPyYVD_!O5u)<~MGE|R%4-_x%u1hS3@4FpR5 z`x2vR1o$|Rb$RF~z~g~m1tJp(-2jxo3ZUf6AJG*S1KWWlVbIk;$%`)lO5dv*D7o=? zpy(WK@sfQAFTFP5rN1WsS6F-fpg_0grFW>4DOg{@>4_@-~3&6K2R^pZaIlcV-2b|>l+)di8`Lgft zN$^Vl*TMVgSNN}B_tP(XJwNeR4iq1s#NE%&6a`oeUVIev!oSNtLYrcPFZq*vUFqj- zuXOmC;C{l-q`MdXPVnLnxp|sD`Cp0M=TG+Y`Kf$P03HwgghS`sL|y=1^jTY{;}!lN z{6zmb@P7J*e*(KtU-lLJlzz1>rN6|XqqPTRZ_-cQ?{34)w^4X{sdRj@ui-Zm^lIP< zz$kDOP;G5Aa2aqMa0##s*Z>?0TnIc3crlO}fm!2!3OFD81Yj-jWZ*2|2;g+!DZpxA zDXV0^FnzSr7pdreGMb99V2&k%fg87Fd{X zVbDT=^gjy@p}uN=MRn&0nJJex+&*c|%JXqD^HX`$_0$f8f7w{;p#tZ`1f1 z$9$Dzmad^6*45ja?BK1;h*0QHIQV%E9oli4j)qsCrY^hj%`Z59=x@{bA3J_jmwf+c zlaIbx@0|PQ;~ev8j(LP**8R-BfA%TU<~qkb-!bbgDc}FQj(M$P{-b057oL6pn;iVh z4qkE)-_L`NA6H-SOAh{*j`>!{tUEh=I_md)b9(cNEfj4qdHY?BJgL*)wv?mOB+VV8 zAE*7S%zdqdOyB+LD4Cs~R;u%~2vG_2)Ce7l+T!w*>3SjSmo?R+B$h+@&5})D2Aj2Q zmP@lwaj=WDyrF)jQF-(9o-!I}$_cYWW<+S24KvG;5^bD`$lUfIyte~o^bh6kpL0m( zE^(Gi+0jEV@sKa=gQ2Eq6!jqHUz6*kJRQQJ?}_{HZv=s2BK@Qgbp3lFjL{JXVsFu{ z4^rF2oW20U*qYPUx@K-`Ug7zvU*_EvN zAMDm2;_yRyo3#fjKdmS)9~Uv7k)JlNT;9L@R5JHK#B0C(?H{%pS*o%FXa9kUhCQ2g)rqQP*M{zOmX z^=f3R%&`MHFR+?)AA(u)2KN&!{g@N=`$eIn?Ct&8wPR9v-F;CZiO^H{Wbs($ohL2O z0`*0+7HXZG=nTO%QJ9>AacOUF!dv_$8jj_WPfb**s?-=dM+9$O7} zJOc}9^2KSgMTyRcN1`zC9UZdnEjy7kBFznJvGhF$5yi&Yckxq%**lwxsCJ0fmZ<`r zwS~uFMxM(?q-39|;YL`HJ_{+@W;H6Q27YvZFmV)$g6xlBhyIl04>3&G8eYGYhL7ZWM{^fnD&OU=7WaMeH%j!x&j}dNhr1Q6 zFeB@-XDQwCu0vvA-Z6jQ$N~`+jOWN;8T+!QAtor&8SLrW8ZM5{*73|L5+bq%eyim-1Yr5|GERLM;FH4_^~$M!X3ZIN#+58IJW_WJMOjiyg+L- z(d9FRBqBf2wUFq0bc!K9RRSs_tFy^N2tf@&U#@R5e*>D!7u$CR-Q*d;6LQFDNHGoT zv1HHv`1F!7IL%@7Y|EYAh!KaK4~yQ+{CFNGZQ;w@F>R`SQ3+fWQfK!h|0(I_)}Eg` zUKO~P_v9};Z<@@FOY0K==4hYX3DTA9y29^*e{0U zW)0NhQ>o_BLrJM=Qca*zlW1If&M!<=C?(|U$%z}Y^7Y0!enA)U#xEgE9;60&+472C z>#eMPQW9OM|gjsOJ>zIZ&dAMkT&yLh`V8qHBZ~sw~lUzGo^)bk%yMNTRFK zGY!k^MbPaoP`}b3DdyI2VvlI5e*jl2dF6IuP<=0j7ws9DQ^_%S8iOlkIbJDMx}H-= zLLIG8%3Ay!Dl@pjz|PIFWVoi<+#)W5B#fNxcO7c1r7qL`?ZNAfW$=J*~h6gj!_Mv2m;NAsxZdQVnE6P@-$iGb9 z&)MWN#@qERxpL)hldXMnMMY(@|5m~}xzZ-9R{(O(jub|NSpdzec6!C`n89Y4mGG)0K^)(UqELdY$_IrWZAe>qOjAN@fXrt?R{)vsgw6rV zU%9mp0kWPB4FEFd3B5;GAUV&QKx8?gSAfVkLcEgLE!}*+jc-Emr`R=r^X)&xKFP7) zkNqgeemC~Xj$Q8ziND1_@%I^^_&Xga{v_{|{XOIl;_n|o@%Ja7`1=J=?hgRP=N&-t zdHtYlKBL%OzCMfH1q9&6|jAVm}U5xtx81$k%p#g4yu*j>7kEik)8EzDEeQ)?w6nJ zpTq8_L-woqDZb@E(Z39LO?>$_%6$PpxoaJu_^Nx+LuQvnuhjaNyzfkY>RR97C)tzC zn<*@SF#`fWvF4qW<1ifLrmv2lZ~m5JUgwy<#sRZDeb z6Me-$##$AcqSkw^xa6z9&Q99{2fALsO&5%Rd&ST=p)Y8AI#aPH2L=NQMj#g=OcZhW&R z)v;bP2l@PWiE`^>l}93{mGLj)9giz7D;rl)!TGpyUm?rL6I!Fo{@=+Hu4aQl@&rMe z!2!z?_8_QLc$!Keh@kxgAeJ@(ef!dbQh2EvbRA>7r~lD~rN4d26Pn;%ZTp|SXwX-u zKhcvs;k6Su+YelQvUhhk{YP4!ApiPF-k>&G#;?EcS?DOuy+3z-d67|4D(l>=Nmzh= zRHojqF{Sa|pbdBQfMsG*!HoMbxowu4QAznFE{XPkkvEz;ZD%T`K93cgy1(Qd@~0i) zYqex;zm8kK3zO|a)@bJ2u~mK$`BcPf5pE9(SBTQI-M zgTW?2tF%=@K<=pNpzjX!+~RrIuYf5n+Ly#W-rtDy9ua53-cD8QZ-|(d{KI&U35d=> zz9zG+qVg6i`Fu_LFPD$>4T@Rvlb)Hl_0naDdoMqq#sZY0$yd>wh%axMW~@ibI@ov2 z$JVaLo%J4(436%Ke+KOWW}?Lub|Eq)Zum0`#6;{Js#pNr_JKgm(YE zT@9~+1zxz}hK#OhQkb>}6-JY57R5K&Fq>4o3T)&pW`2xPLN)J8Z;oC_TF6#Yam|@E zGfO^Hc{GLKl0)oWkMC-gysZ*L2~lo@T}GE`mp6Ad;-k!ZZZGk_z$!iy|5n-d8UJc0 z{?8G@i@!@@bI0%LzL92a0!mzgfG>Jo@;rqAnYcdh=1;cm{#3Z;zv0_hqrcO3c3JBu zZ=RM{5Sg^P^@#TE1GM6^I%mn_2$d>yF(EMI>)^IY2L(`{(-M#3d!N-|uG-rG3%RxS zuTZ)um}P=Cf4>hE?^LAGn=^$t3|?D@aEI(_Ua=Sud*3b38}aYmrzRd+v_j=dK3c?M zZL(qbSf0;_e!l|P3>2QbUH`FlkhbfROHW5L5k}A#+*(f*^og_fJ zn584we`}@9qS!2$X`FA!zD-T@cQU<`8kdV5zvpp_`CIZ2#e0ETp!wpw4)Nma{+Kpm zlpEtK@+EVdL@R)oio{yodTiPVGOtUap&n8*;KbVhb6l#e3w!jq-08TSVqGM_ORW8> z<5Fl{&N43dI4w zC5ryR-&?lG=1Wc2ZnCivS_5tJITq?DcO9~Qpysl+=kf~J8^8=ImCEiF zY09Kgt*>qyEQyB{8cPya>?wabtqT}?F8pv!p6b@AG)8XO{$xDf3HQ21^^rg&iX=~^ zj&a(v-$CG#TnKxK*?Bbxt~RwXYY2BpgNGJ6EJoXyjH`C$10%M>Q%T;IyywuZlOnCT zpXlMKdx$O4H@0K5##1-GcevPc+H7L`NzY#(Y{sMZ5AwpD?=xVU+?g~g-1!nw_DOC! zzcT6Vg4Y8}Z!_^{r+13dOIpvzrB7PhV8o>NIx+h{q&JXBuezT}6T_V$QrahRWLS>$ zeUq|3u=H)<^2+S=>EyN2cNH%Er|-|C^M6TS1gf???}fx8c_q;K+LrK5o3Ztb)db=n z6aEnmZkw9NbM~rX%vOdmOeIxcZy-xhcrB#?cyiIAlH_w-ipiK9Ni5GZ^`U%E&kl{u z88UlB1`=~0#kdI7~g6LKV_QB zq$2!q^=Q+`w9Kba4)0s-b?o0TP)W-gOw4Ll+uJ6M4n$Wcf}`mM%zXb%?x95H`i>D| zj`(lhb{tCb-e&L|8-942n$*5%e+vpz=Ro|KR4}e>DF}?%m6s%+r;*Q^+7-2pR~~I= zju;uxI+n5ch;%kFeZhyOC8=`w?K5ZB%p*0GAg82*WO6q7Des!jVuB}+_spfK+FW$Z z%!L9mGZ{OBd7FDCiQI(#vu7?%#9w5{pc0t%$S=WaQ1>tY%^uI$Fku%~C4WC$YB<*t z#Gt47ZFu)>~UXS9DexJEpG*H zUO!rr%ymPsw*MvUTR)w*ZSsJL?T-(fHna7&bb`fsTeem0>F18;D%c>_;0i&T;Qw+_ zraMQe%uWvzq_WPpqT|&>e}mV=Eq`YHsl0e$mrcV4rQyf8smYv#g<+tWi4%pK8ksBK zmlA!C)RY+_s*z>w4CX(zZt&C^yWbgp_!6^jdm3*wZM!E%{}F!pI+jV{4vn}SJ63-} z1r%>PkL-+B-@zEtX2y_0R#ZxztjUuNKi>7u$6$_ajeXeh>+GN#(m{)2W>d`sjlG=w z`#S{qkRllZKKYt#kFR?r`23_HD~AH_o-`=j^&NO=+j{@HSJu7Iw&nS@4~B$q8cRcz z?e4Y@@UUJU9>0Ix3q8kx*C^llG>jKTD@JUKmFK?i*Ds(e3F{ZoB}AVopj`RcEZ-#D z4Rtc16dPrfJO*>>G2a%#mWzr)r*2~W^w0m6XzKg=+a!J)C2FR{)a{6{PlKg-AAWPe z>E)X{o{kP_`(Si*kev+az^*%9nDtDdnE+j62@pSpXSmL{FnAt@WV06?Q7o28SC$_O z9yRm!{~qkM9!;!g$dT1kp-wj0`G4%Uv0p(~5|e=G6BC@flD>eM(|a96nc^r=;3qrZ zT75DuW|!{6e}EyQ-W7Z`_IUCr)#5GMC~e)6nx`0F#)(^crj+mChMwZ=`GfZQ@bVB| z+Q;X$9u}_+#y&`Dl3*{-9*XmnUXDH2enarcaOXM*aRfz+uMUjuXERs3NjPK< ztw$x=zmBL*oZJH4*x>S~iF76Y{a$qyXdMf>K$~rNyBs@SJ`wl!mYeCz4aG_ZQ|IMxA0!G zrsfJAXVgRowQ}GZSnd{=NACJv2f0tc2&P`c4jBk?+NRXILdqNbl3Q@fJ{uQrA3^*k?giv! zl)NMdgA<81`2`V*mNZkYtsuvPQ@=Gy6BuBn>~=)w^phq^a9-e1NOu#Wgy#}@PF5LK z!yQ|&kc0@Ml^)`mgk&+?`6H0+A9JeZdMZi}J47NrU0DO11uO*CDhl9yAi5|+z05Pc z!W(}#Y?+wacLl?p>d{Rsct2BPQMgNb@O169H-6yR50`y@$*dbc^z2$0GYOcEpu_n8 z7ys7{UN<{$-T4F7T{=(+A(?@m9sCpNo?l}S(;XW9RCw*X28M5aOjzEfIg+v}pYV3{ zQ$3pHnE)G&)4nwCcN!6!OlIa>zOHLo?S*CT6k#IER6lP%Sg%zn7ImH$m9P%>{bjC=i_<5G zhh;iF*;~;Ya7~U7R^sL>M|`|3I8r&~-(H?P$Fx*3@|;BVvF5FqMD-*y-!sdBC)IL$ zk~D$0qGKn#-Fj;BH7tf$NuGD#n!S_l33=KaJqhAPv=oB<01OH9E?XNvpEa<3YGE*SU2IFdsz@W* zve?x{d#Z|4OUr*<{+`=^$6ng!-bXWe$%$~`L^8$uPSJN{P|Rgo&O5^^S0fC zRt;`{{OQ!88)Uy*_LJHlzyILBGbj0}a&2A3_;vHg=e1WB4oDp|VOMKDk(oN8Ecg0n zZ+`8)#XzMbjYZ}Zr&-4g`l~m#pnt3_xkZ8bbI+>@Os$$VuO<*(+1ePmAaHfyf|_}O zs~cMai|d!QGzMk|mIr3f;bqf)FJLPxA2YV%v~j18pHMYJHg$=PxPA{{4BbdO7NAU3p@iD zwD#g7JpK!g$nY=!kMcVOf5>gSn@J1bM&XAIWbx_#r@* z=f^|6_}&0ANe{gORC)g#DEIFJ#{-vG`)7dSZ#q!^PPF*LEq(}aEcgMy(}3?VWQ_y< z5Gek?S(r)hQgCL7Wu@ulf@LivErQ&;Bc*@?|bi{GP_U z6MlLWt`NNVdhZa={nbOV-PeFu_|X==HpKJy1Kyc%>8u4WI?JqkbuV}6{VV=oADkWT z8{idgy>)Nsxm3U?<^bfdl8KPGJ>z;6S73dp+>-4!;!KMU?Y>}NXm zFJrHE?5pr&(rv?k(h0w25c%eWmmR&hba>g{VIHb-cntVy;Ddt$-Q||P-0!vc+rf`^ z@arso4fs(Ge!0b82L2QWKi}e~gD-LL6D@u;_>hB-SbP!qh=U(&@gEKfbPsdzZ^Eni z-wFO`2mfn}-v++e!Eds7^zFJ2cko}e_|JpSckma2KN0%8qha!EIB+EPVxaOrA9x~m zy`OOc@C~5O566JQUkfY+&IBsI2U+~vOgc-j{~mY}@SDJsfvrG=TMCr_3BVJ8BY~o; z^S^RW0p+gU5xIXGcr5T5p!ixoAd`*-;G_p9{6z46e(S97Xvd%IALB{s`?rOEwNPjD zg#SK}zd>KLcAae${#pxLfZ|INEy1A{zCuSJ``y5)z^j2%fDOP=z**?0`TYn@UTwy- zkBEh*0>|*1$WJPxcax7gf2uy}M=}%7X8O?0)?7xv|Ex7@TzJ`+Mnl)Y?jam9` zZQl5u)_1#^ID{`Gj*Zq_i&?s6!YiJI7XKjj)z-Wjv+_cIng;~}-?iq2w9_Z7c_(I_ znUx0>p;6rByw z*lo>)_&wgzEQJ2?*8c|Z2l@Czx$6}FIGHbm!8bpEKi_=4WB#IJPD01`^EZbM+aGEC zyAJ*g2S3&^pX-=OayslEoVeyWc;+%`KVNpjRy+7w@(m~R?QrK%3(&kefIyDadGmaS@g|z=Yj(_(I>=O=tz2pB#htB(sp904mbj-B3bX@8u ze4bMnd^2;*w0Vo;NBxuU$9Y0OvR&)V-9cs-w z(kVsA)|MrG-rC60iL`2iY4UZgiiB4nJe|{F-Ssb8TR2^FwBC zq4Rw~%iJpqRMWj+NvSrCAn^P)j2iBcN1E%tJBAfO^~!3>ar`Zb_3MR zo=TA$JHr4~AxydGP+y0_Os?yB?VPoFb)#{3KFX3U;Cr><(sl$v?->;=YN ztu`dR!{LS%J$}(Akrt^_wY|?~t57m&H#uYJ*K?8KjM}Q|>bb-jsFSs+nR;$3+?*-% zYv$M4%MeY?GPNfQow->t3++|p95*^shn7%y=7kQoUbM6Ezdb# z0ddn|Z&1#vrlYYnG*MfX)wb$!mb!6ygHDs1@}rKLDhjlj-_(57xVlA`(Rc3k{^Wl2 zmB;$WpCi&&=7wueT{)2J{^U0_T1C9Rc#X_CKGRRzzL=?n(N{J&%=>fx*$>Z9lljb6 zrDvsUH+sT4e=Wa-{2K;5gkLQ`_mjJR|I4?PKniQ-MIvAxTw1oGzQOOXy&k0nC!6oN z-%05w-z!cZQxP$r(G%w>7<=$saq;EK|NS|Ct~0&T_ZIZ?pW)Md`;-6oGEemN#qVJ~ zS*egt{-ZCh8vzVG{j001u9{z!wg$Rw_)$czvbu+YDakk+)4p`h6*h&>he(6_iJt%Y z^buIR_qP3_xx`eT_lJzgR2#s4GyxNnlXCu2AH@Hy+RKmHf&gMYnovbX%#GC3Fjy4x-n z|4GaL2kfEba(}89|K1xX1-;9ESW=aa{Z8w@-~9iaiKqYiv(AgJPyM-|AO03t{wMU~ zKE4VFYPiU+BV5V3BQbfmX|}GK7~o~rJJZvdgC|J z`Rj1UL*#+B9kkhTpUe}_m=Ny#DyH^5`QffFVi@?)&z=M9`D=V~kk_33jf`s`o?4xa zTP$2dd}R>5fJ@?62if2{KR!4f_QOoYot^l}oDhi5335$l7R6G9J}DblB-~-yxB$3z zb0z!Y4VS^0*8BR+=C|HL+3(?}^hy81=#zLUN9zstMze`m0)HpD{Cz{p-`qao@#k~B z0j!NLt$%nvy@hU;%x~Y7zv@UYW69IPfe)=k3QuOm&JD)$F5SvfS!WdY`V)VU(`(W} z_VR-9p|QgFP}FTc%wKhwS4#(WY!H<_JL6Tst%xUe?sc!f^xdLV@UP)l)!`|lcO5+* zK8x8p(&N^Jv9cJ7B2~fdW z9spN}EK>9U2KT7rPez61-C*;{Up_zK{%mo6KIq+FhI{kL&lKF{&;KsPzEhF#sa@-? zMfa=4ea`&pHFGtc4%Ae$9GE-*0%LJ!%mLRjFEGu#N4ab^mkG558b+^(E@@mT3+9!J z7mXh?##$O?&$Fi06=h{r4Gr8KqyP;~E19#eSb4Q|ZER@bgm=`pwk~g4ykg}Qa~oS$ zw60v#I74R?n-({*>T4L?RGT5Qvhi{rk!)Pq*f66yu$=g-T3VVe=c&v9OAAXadUbQ7 zZgBF}VgU`lBas!38Wgx!<;=Hn1aKLdb`tpWfs&=`ja$Jaa5(Tq;Ar5(7JoZX{%-=F z2s{yZGVs`enLUeqaED`WQ$->k*(Gxwfj?wN_v)Ql;a>r#2g1bHqYi!(xUca$1$^AW zuLHM~Un%&R4&HwYO7xEbZ_9n7WU>SKiT>`q3|_K6$zMeO83+FqxNq|l{kVhI{BkKj z(Z2}1>ah4<0B#CD(MJ}S#*YVg0zc6|#KGr-OA%1?pJAK8r}GrJZ}SuVuYmW<=MHe~ z{6zm+2QPW)B7UMj)4@;o{2Ka)IQV?9t@5?o?ogT>Fcu-f94hT}Odt#=O; zt^{}j_K3A>9TUN>Guv|ih&V)d7f|*j5V>=~8`l0Jumt<_*1j1S!Ty-FKVa?mS-a9M zdbe47hlNp#UjiIO_y&ugZ|$|#UTI+&P;`h}bLxVK#TNpP$If)z@TYZO^}X1JeFu1<^%KE=sWrFZ|0ruN!`x)~+yGQw z=#2~2JL;1c7cgecn}L6}<~Hb`Y2&IS3`XN05KtM4Pay|eKbwJ06ASN?^AQ zk1?P-Sn+1Q+Z^)%$GpoitMBmr{{n+=-r<sv6+++fKcJYxlo@Ln#H^h>K zL|EVqfL^Rwm<(liJnSW0@}3Q8$dWkq@?wN(E(t3W63;FgpOgp@Sr+_h}S1fmpR9GO_BG`jG(43`q7P=Z-3-e%e1EoZH1Z6-s4{s z@&M#i3a_zoJn_@*1e)2f&KC{m+n1cGh|R!D;bA8<+)woUZ(nyKtR$@BJ&QEBA45?3 z6TM=7o8Yku_(X)gSrX2iBrWq~h|@4w7NBr=QdrqGuJX}lAQO#ivy$eKu%APiGI;(K8xf!k63ZW_`{MwEN zt@7W-oLq9SIiiq$KX{2mER#5{P={f{lVr^LBVaZ)Jspq*vLV32UX=rU@XH>-;eh1H zge!k9Rm?(qSiEg8)lJb#m04#W-B*3BZo8*jUzhv`;vl?I{?Q5)LZ?eL_jlkp_;iaj zIH()dln;mU5?ysFpK3~_>pagCNzL6GgI{tOTnkP7mVyfOyhZk@8e9odk@jf*?Cbja zdcgC=8SgKvbkjw6w#QoM%aAcoGlx5#mC-4sVb;q-;8pK5$7?@}w_mtw1@8a8)%6>9>K0d2H}pEz<3Wxr)4=x*d2J# zy>Fj@IQ7A_rw#=oB8sRKB2$trhHC4tQgvCfIP$tc?GArA>yG3YO2b+)lcAR^5q-TH za*QH>GQ3`Qftp99`zxc=m|QM5KsWdG2-oAHtYTG_KFal7q*-uEr9&Swi=W$Y!M7=K zrPw1CgbvpscKr>hJ}DW7I($comQeAIk_9RuZe_u!MOHk&{R0Gurbe#6 z^)4!A-UoaB$RURcJaH}Jtu#VqMxv_|Q;+l(;+4U8r5<;wp#7S&u8FQ6%5fvH=5l;Q zjvYAWB72t{b(oisJeD+`5>lT+0`oO1Ht)>%;pCR++M*D;z0gOyTz*52%^tZvT>cbC zXeZ|)Ve>BSoF3%P%nOhXa`a;}9B$K5lb>=teovxHdY2@<6s}HeEKr9(MNyR>l2&isR)!b4g%P5+?sWC0UM{zd0Ol_+z%#Y@x+;MzZ?ntvW2lwpao z*!A!r9%@?eO0|+JxaFIi@rasS*?_yBd@onthO5*ysI0eM5`K7K_~Ds(;fLo92tV91 z5O?Y37g1We*R~+h^|Vr;<9VV?ioN^}8p`7w%Ek@O;4qSC`<-Ga_G3+S{l&`%N<=Qo zSKYOU-(lvpvx+m;n>yEe$c;~^QkrXOlP}|izFg~^3;12d?+g4Mzaxxyv>_5GiiB>lCl|EQ@z^Nz{_JYtPO^R~fx{Pf#w5T9vAmRNiZZd|Q>lLADF| zJCNM@DdVq<@pBjnWP0|oO2!nglkyIA9XIeMHBiko0?8trd%kW$)rr6@y&||-$g72% z>C~=qCP2uE=2>ne@XBeRUxD%y-}`}lEb|!omgj@goH8Ko#dl12j)QOv_Hk_X91p^A za39Bcp5wtd=J#DIpm)Q#fg(ax7MSB&YnXUh^sZyurN!1Xt%^I#pU;pLvVwKQo0HeieLBVKnA^69dOAf0&v|{qv?e zIc6+sMofW*1Cp(TNa;8c$DVH=lBv~~fcNGrHZR!Q#FtKMi8XaW8XDCp^kGk1zvN-| z-jbgn^NHUiXEjcRzTG&Fcbpf=St}%R_}awUGcry;)%qtn1$Uel zCe}{LI3+&?mOHjKM{~{@b{t=hdTsCAXnNW=< zugXk^yoL(Aj0&t_ltGVjz4qd45UeCQ$v0N0Ya!_dWf~+72 z2~n9TpOdpedsEFjWj$L~Zw|X2yM|p#WCU1BYrHC2Vwx^uNFFH^GuSHTyU_+5ixX|n zQn}=1#Ot0XBFUH5XtGDQ3B1aE0-UI%l+8)sm%wd<2g?kR1(I99iD;g(`XO1k9DF8$D-dxA+Za}K7-nE5kGhD)@#3`=ow12 z&Hn|w!*&D^XrI6`>my7w=gN4M7T^Ujia4h03AXZjU=_Q(;f{s!LEl?QPL=#r3oxzI zl#NFIKzeQAm4QmmvUeMV*Qq&~X$2)XPFQnRca%&-QX;5($xZb=QZ|;qhXT15o&Nrl zgih|!1p=mfk(&8AW72NJ|a+{LXDum&rUGe8)WG-GjMp|#qRb#3Ms2X#Ppsg{VBux2^)MdH+ zUzfxGKe%O}dzEE(%}3KD60%u5q`VJ)O{WGB) z4h@{R02PuMwGn^wc~aAIc9fgAdVFqr6FR~!bUNONx#R7HcDd-~WO&l`=&&UKXU66+ zH!r^nCNvqyF__Sy7XE=5ob2BMGW>*iC(T=be*})j z{tQs@JqTp4EhM#^f&T{-zYRd;|9RH_mI{Tx-ve25gq{TwMd+(Q<>v~Z!c_t34$seq4+0Rd>Qyz4*pn+9}0f5gWn;ZNzdKDiSYXc&S*+j&$sb4CdXaimG1L^6M(aT zs%Mjc3ReuAg#F+6mHVH7jGLj)1F4dswFd{fi!8m18NIK^{=SW0_PO}0z@H}c@_#z+ z*E{Z~f~RSOP5^(HL+4oQU&=fR_h(iWg4-;--@^44>K=Q!&$W;xPxqk?y)uhObkN=8 z#GjA-ua5m+2L-wxb?iyfFcP{?14W#(nP z>?cCwROoV+)SMmvaBzmdTZ86IX?N86mz_QRH2<=5>7RM~;9KAqIR383?&q`oEyLew z#4`(64jgIWCv13h8oDoc!at9_!Lfg9P#_Q?9D3F1dMCP_*iUo(U5ovbj(rLCTF1^C z3PwMLw-dTYIe7GsvcesO-LLnG=c8bzUd#SEcI{iK9Atk9yBqK4v0r7&U+zozss5u( zny&x6#~PRoUiJTvjH{~OuK-p5Hv?7wW7fVJsCLi*ls}zsWBVyI7B~tx4EQPFPH3J5 z)FN5^!+k)7Ltn|9#lH%u_^Jm4y6Y`};zMUhmpb<0;1rK^Pt@KdJQM%uC#CscM&e%r zFM4+Y<^MLI`0oJnH>lP^y+I(pbQOpA`jD`)zYdiB7eMj(UDPiYTRud;n?IjV*}sh4 z?_Xr^;HP+(1I6b#7FJq3bzd@9r&Z#cMe55s3GS&^ZW^EAaU5PM1>Gr)~&20r{{4;pzz<@SpfYJ4m{|D*& z?y&x!ryu%^_45vR)f4H)X#Z6=hAO)>Vx_;O% zI{up-vqU<+pH|2JPKO_fKzu*cqqKRQgLmIL{i#F8)x$Z_3A@wrCWoKzIe6-7nx^y-efp<6{@-=*S||B_20QqFJMrpl zw(qCNG1oY8eaXUGJT9K{c>tX zon*!G#$`>*Gp}IO`$u5?Gpc$hqh-1Oc!*A?tz1;k>zhlKDodiSzDqiuG!c&e5TJh1 zQu(i2Y|cr#x+eZhALdOG`#wpAH}5qLWr%S%Zy@m6pueM3izK4!=?v#~Loiw31WH^SGP|}{9dSFf}nkbZy=X(#?W*u4t*UxcAT&z#aeBbks zSs3>aq{D)$;{R_aUfn!5x@4K^;=Rx79mRB6^A62A`D_c+!*~nN?827{RCd+1CoxsC z{G^%ZcePsePhrZ@TeE5@OP_-N)B&CMD<5Az#vJ!E=Pb>8!1kmi#Q1WZ_uC&ms_)Q` zNe@bpVfujes6K1MGn5C`@Xt(P4n&WN@an5|ma7ry@01wFO284Z!SvJZQsk5T{FQ_k-hn7!3Qx92PBhHIr%;&_O?mM zRq;Uk=3+#>l|gJv;-zf8C7-|#Y0*uU5nus#+LlUWZX~xx`M}i9L z=GbBItvRp1t`fJ!xwu^^F3CZc+lk@?ierH0ksvfs&ZsU~;@tY567cPH~ z1LbcukoFZ?2xOWc8V_WOA5uM%yXKJ!zZxidmsz`bmJA7bQn%VZ-^Nk=I~BXyv2Ryt zOZF52LQ>CH83=8)O>@>j>oKikBA#1%Ey8-tnBT$eNtvO$jNc2^A0TkEW4_uk!-wKA z-+ae>g=1dinD2DVYD|7u^)+qI@hd)TQ1VKTj*wu z=2or{(3FT7()qP@ElcXlJyUhl<-EFXRkkf9GsAI*UvK>EJHbm|7Lv^@18w?+dqc)` z?r*>qEkD!&kEdhCjVp7;)B2^2SMPH?U8cf_cx56zzg*uXR4kn{5v1;#pFf`Mk6!Ws z8y*nQd6&_OIvK{0LW^khO_g;TC zs&eHdMV;r5nR@4S<+F8Gf$^jF&Gu!Z1O8}ke_MEpKr;}7J0(A zdzY=JbrL+C*h|?_o*v^~>67tRrYDted6rnq_axRflRqS_B(e4?&s3UNd!1*BpuRS& zjFF;EEJ}AqB;GLNM0~k+ti1sob=YK#m?rQ*M1$Ik_#mr@$w@(HE=y`cK^WEfiIq+s>Yh9%1DV@4~u7!sol|EU3R zd)w{-t;h3>*|CJuButdeBumt;#oqH@{;@54+vbiv;V*9Kc&hc#wmkzLmDh0R$NX14 z__}C8^DeFvXv#xV$G z1&~fLx(=jQJNv^DZBj&0>Y=E%liZEYZTVY0Z(`Pc`BW`)U2V^w!RO*i15xite(ce> zPxQWxS)0n-{fwf%xktG)5FMNRg7BJnoSs}KBN`RaQKq($F;{_6o7sL46+jQ5rLUXXo|1_ZdYi{P#mH&~} zzd8X}%aSWI%oJP?Qu8o zMLUj|E$h0u-a<%3V!GX{^$G*+MPa@G(#TK#2kD`LSZRman=5e1$YqQus8Q{3cIy?F zv6=6Q3+;^3`0G6nWm?)>QkS{5Y-Y^`GpfC_lHPq~q-q&=uVo3|JQ0%I z<@RS@s`Cw+mkQEO&5!=aeETymZ6~b4s|$FZfLco($h=hhVrvLeKv-A^JP0BB$*gZ* z^HK$zN{Dqn<2JPD`Jc?1m%amiwc!WpTr~esA5_avpZw@Y|802a%?Idxe(t<9(WTy+ zL0f9XqcoH!x^xGrhVeKj;54;(mU)imt?g$7cuS#6TaR+aiE%TZ9y5@7#hn1y0_Ln+YGC`;poo?xx`t)@QIeDMvxrW`wu#&b*a>Pz_sqHH z=>gn{N{P{Q+Z*AP6ipQwu=B)OZ(V5TU6y5Dc!kTlr|M~DckMaud732u(7nGOcU3hd z9eU=TC%pqKI;JmG8NWh`lp*>|Sz=KisZaIpK)#scd8{QWoXDu|pJ{QmbT@V9&8wPL zQ&(FvcgCFRz=@|I0h+xc8kyY4r6G+IBY{y7W3O7w)gV}xuZVh1G8rWFu7xlK72-aN zdo8aUmw=ncPxFD94t_c~jR_iGk8$uC>lx?G{A36BO!#zO0rxOJ%{%S`Y94VLp9hjY z^Ip*&;W`*;^Qf_Ip-Ji1iSI*1wM$BQyrWqI3 zRL`HmrJwczdL6&-TfzFGjAX{^56kRB3i|C!^;6&ev@hlRvt*>gnypc+1VF4^Yy-Wv>I#&Kea3V0ug8w8K0Sd%un}vcj;4j9nVkq<%q^+pN|ZQeac={ z8Kg7ztOz)tYn55;{1xacuh8K$yyt4?^6R&Cj0g02?cBVI$uSqb%2^nnQPI97Xl0S{ zq1>cbbVk)ji5Ug0@5YKslE1Ls0MoOcpJBGqk)8s6{F!@^PR1aR z=Phq(Zd{}b-x>la@2AZ(8?TN`S#d=(cRn|@GzJ*?9NUyC*KJCb<5abHanrJ=GL;lWrp%ocSZVCC%2vCw>8hq>jh8n@KGPIk(y+3A)$#x{ z6Aza`Rb{2L%1x=!aWwtw81j*F45@BX&LO%Tm9g2L6kKBM4HjN(p~exps}B{NWns02 zl@_YK$-TnDQ5Ke37_m@&v;3(|3l>_ax+FWlG##o>pS?oq_G#`}4W!zcxg@~spN2`; zQh_&W);2kP*yK*v@WG|A^!!g| z_1$GGltuz8sE8dP-M-t_Mah9BYnD9rfIoW{7U6|uM@AW^9Yn|kUQr;d6GESB=&k$&8lc=Xcp81LTcKKDMS z@2!4}{(o=$pKIdjb++E&M^AXEV9Dt$dD2n+@Hb2T;r|0Rl5(X_(5bwjdnpqlZO#^OVAX3G=xJ$u*#9PQzV^B{|3B2ddtlVX z)&IZ1DnSwx6_wVgt40kQlw0 zt*t(-RcmRr6+{KAZN0U%Ra><_?WWNdeJu6X@_oH$=CeDyNkseo{r>oVU~^{9oH=vm z@|n+E&YUr-IHvk@+rKMAq#aFT*4^?&G_DD3&B+LJ1-DzC$Xlgvncl8^2lEzNe|VLk zd)xXjnv;3k$l7GxyO|e9=4S|sy;rsJvjg$!f=AzdNH8kVfz_jqNkrwu_i{R^IE5@* zJn<(ueab%XTafbF7~3`K!$PSm2-RjVt5TtO2j;jk`_Aln5`8WN6Cb~3s@@cxuLU(l z9CZ`7cDln@fG9UiI)0(m(CEPf$=D71-jQ?-2_xIPPPX^3a--AVD!S-Q!gSRro(i(f zZu##B#zKjjmPwnEcmfnP%m#Y8H@M%R42#k6N#>R9eULYfqp*4CRD~5XkW5v`1U{<{ zE>Viu8%VA-A`+^N&$GZL*O~$qhQ;F3z-+690iD$5-f5(^-syU zA<|x8P3vr+b+YeIScH~obsW^gQ?}pYmFXL>$pqrACV`;IY{C+b#E~tYpp|CZ2C=Fb zttAn2X{+CVCu&WC9Yp05Ge%w~!$sn{jqcobw{@wrK%lko3%bWXW70d{=*MOEhwghu zres1S-7oJiX4tI7i%&0>nuRM}-BkerP{4pgw`n3SVuIN1j%zZ0N9 z{so@=hl`cok3jx?3>V4|`9D@AP#?XZZePZbjYN0>n90Wz!lv^v1bX!?FY}R9F7)6G z>7GdKaq1n{xM_FK=0OPR;p0Ezcb3BiX>Z6$TVpK$sdRqR-w+@;4cunp&6zi&wt+Lo z25No&Y$j7ozD|xD*}5=NTDJVi)_G%?HWKoA&N_f@9~+t5ZWimWu%w}uh3%oM2n=|=fPc!vZwGfbzeB($JiN|fE#@cw*rZ68$2@S={KS8fhpzy41V8Z~>EX4m z+c(7We~SH?pj@|uyN#d9V?B_y;DT#`M*wAe`f%V(;E_Pt4pRBCM$&Wa2vv*KA2|@b z;%gm6^dD*8#S8y4{$o79m2Uu5o|gcLy2t52m8a&*N{2AR_hBI7hc^K!((qkC z<{kMx&VRFmT|m(-2QstB+Sd{Nd`CA8NP6KK2bGTEX*MGMYI5?=Dm$ZuCD|7IH_OyOA(QMI>v9+%B1LM$K%i`4=Ll zqi5;Hn8;55#M_ArJ|m6JG1#tKn$Gaa?6n2aGKafNnDGW-1MjP8AJ9;QEO3kd3$u|K zM(${qi4v65g7zlL*FTjO+~3$wX}h0-xS`O&LUW5{7Tb>2rMec;FS5)bI3H_sX5$*Y zAg}VWutv}C1nSsF>Mn?+;7RhC@$U5l$pu6xM3DwFGOwxRXOb&puw z+Ev_QD?&lUaKe_I=)^&bzT`^x7_(hYQZwOaYGLPxkN>r{iwWGM^AX)s0*s44< zz2_iTLgxDlyQaw*lqwk*3)w>|6=l1d2Ge<3WnuS;IHrmd1#q(~fT3czmHL_`8*(Sn z_~28fqDe86Mu3L$onrE9LNt|s4y+o*BaA9A+BYGD7JA`>o0H*gy$aAT#JUv?#mwEH zzf)YcC9Vv^wuWGni=<(Ko$;x8q(s>wnATD(@2+>1o7R#Bl&*WHkj};HiCh^(o@J@J zwdYKeY>2H2hdT07y2A~#bn$;cTMyS%sSr#^3%j<6AJbzuJuh_0$nXf0#U3Rs9rXB~ z_>_y(Tk>s

>}ZRl(rd}Q-BI;zg_k>O)_s9H9qw{eeO~cN&m}tG=&++>j_z@EpQ8sH z-L+jA=|>ohE0(?C=9`x-y=Cbe<{o1#edF>KFLjL3Z7c5gJ;oSHjxi?Zb&z}-8+5dZ z=I3=R7rijAqf4|fucKSEcV36uVa5y{dqj)#Iu41J=5;(NdTd_Dr0Dp(j?HpA zcZwWmX1k=`(DKqT&ar-Ubl32haZAsh%R|{1Lfj=w`WbH>>5eY8!HnFO?b|UxCu>Ll z;IMj!JNx?CVKU0zlYznAS#?*2`*zX;t>RI(stiY_$0o0`TX${SX7{96;ejLk4a}@V z%zWQR-M^h9cuQCa#sA-*A#L=eEtz$nx6VtB{cs*`ZIhQf+rO* zEoZ*P*3jZAL%r#H2`g;s&!8SP?|FwI@uU8Xd&llSR}*mEeRaC z50}3cOKnrNFXPaxo{TkTO#J_uevHbRzUwr{hU&W}ywA}CjvjLKh@&J=aLaA=yM7ZI z!ny9b#mrqq^u5=&=3DS2&>d=hYa44)GUyL=KaAGwP#4TTYkxn9?$R(iMb>H5vu=g; zjEgc(&)DKU{WW6Q748InBt^C^fHL_lnwMAvEg-J)O z!O0v%ekn!uYhr!S^p)r?mvN3ModkHMsPd%+?W{A4So^BGV$B^s1=e{g%)P9G8RyK& z;^UP!;y#sI&HnjKxO>Z^sB4>6uqQjKH5;tIFmcIn&jvC{jwZAIwfAE)sb0>C#7zh5 zGSh{!cpdKkn`NXYh*NMv@VqMUpYUKyK@$`kxt5+X7VLP zx>$dv%G|GOC3tTQ-lvhFLKCm8 z?cGEkux7DDy0b=SMd9&E=ds5tv^SLQyUQb@nLj2Dca`VmOILl9wQ^+MBF0VUQ<)cy zIdN%{PTHp#YcQLJNgJip5b-#owNFJGX77eHTBP${mm7cHUT%ZxF59{Cm5gj!nIj*w zhqbnOCY38KXd|EUm_<5Im-l+gX1YZF^4@%GZ-pUFQ)XgsrG-z z#y6Rl7ZPc%z5O-mZSrz|g*#R*o0r(l%FDwEx!?LX%1ed+%ah#ELVByr5@n!D|@Tg4aT-jFS>8ul-F;qaF;o;0)rRP9Fa}qjJqEM!Au>MW$!M@5B(Y|vn z(3jy>>tma<_FUgIWuo?c*+(k6pL!EvF=c}=ufmV;j9b|&EP50kg+bxbnza3dN#XNh zQXN(qjSBk~`tYO)hr;x|!jli;LMy(I^^flS(?^KkKHWF|#SeW;h_Yzdz}F9+u)S*xxzM#gg9wMMO(ce9Qef9rCr#q8C3QtQtr zoj=->ptbtSr+ZyKg=^iEx2hWrG>~CjviM=*fgkO>NBAxOI(Wygvf}bk5Er#8Ma8GL zG~G%*vle=~K5yd^w~w^%^lO?VV;=r0E=zbwVwCT1Vxt?y6I|__eymZ|W6E613~w{RfW2OjuRt;;@pA zTH8I~%8Zv;$kArtzm+*v);f9J;S~D2#PQ6_+jw(U_W5i=PS{3#6ML1ppC&-MBT4lr zA{|s8RBwp0IrCZhru0z!RqoFIOSKNE+}V0-%boHgEN_gtXVeg4}Fii zUac37noR$WJXD$R`dOX?gsbufTJ#a!p5R`svJ9Xty3c*N`uz znzCO}+fg}o)mO9^r>5*h$W)dgV|A4aAh!)*e8fEdbX}-H^vnAX1Cn=xghx*1k7b=QM z4|5*;WBz-aclAf>-nWtF;aX;RO`F#q@Z1YeZM#@fpYpulyZu!Y{)vids|%`QcHO(` zP28`~Pt~)Gr>TW=r&7%ebOyZ6&Aof>JUII6pKW9hh}y${Aiq5y`!J@} zpS;D57dW#GIqVleZcE^=ctXFG2Wsz|9Zv&c@jUEBb7#vH6tAXP;UY{5kNn8EFrh!0 zGfa|&x`pPiP-gvmllB2Aty-feOuMT*ngpi^v)0VZuRj#klPk=q?klffiHsEOklGr~ ze=9S0(WG|q!?cgOKk^;q$v~q0RQ~Fl(~@C7VDnYV_j=kby2u;LskXffQf z?YB|!HFsbt?WrqZ%D$y(g+H?8UD229mb}c^D?s|uZnoMo%{{2N7Y_-IN>i% ztBz<*jQW5%>R}uHF3Gxcx#)K(pD8otHsU2&%5yJMWrDRcM(+JCZsfAsF}R-V~$s{B`28|N@(ei2(NnWMMLw$FYhiY%scS_~H#QvT~OdGvf@j%C+wvlXq zo#NC%-MPRxUSUL!_6fz8vFal3BE|itGIMoJ5oIXKehK}>AG6o=uIVM1wG@%ld;1LS z!THt#@0tHusg^NwcgdoZ8zX1oS3k^@t?|MP<6O?+Lw@#~_+e#h9FIPvoV$i|;;_@c zSsRZ-jBgIk$gTxDnaRGMy^-|)KHri(M3~+(eJ$s6`a2Qek?{Ap>c8b>*F>9H8tnxJVGBtUi+%ow{<(T^p_&r~~zt%cQTSLF;5cb5kJVD*l zKH&qnRo}|`H&uSp$yD3rWlGjSwq$e|y|`!3@OhbSc7CO@oL`9?@0a@F>~}LfD*~R{ zZ_-p*``zdVm}iheOaC~^@FWLKd%{9o4pPP`pwPJ9O_+(NB-Ey+UEl-dp1ee*lR7beQfwk%1rZE_fG~`?zW0hYZx!-6+!e?*1F zJXU@|gA9k|bW4Ec{zyC_WZjnnEc=xxiR@$TI|FRo2Uzk;0haw_fMtIoz_M>eQDGk| zKO11#pY;oNh+p{BM-8TYRLzn&t@(fRs7R#Z*20>-ls#Ik@r@tVyS*{8_3*<9{P6_- zFA4nX3H&rz<#__CxwPL&*ncg7{|v11{iNgnE2zrz3Wxt5>K}#oJ03uV7m$Q1-=2Rl z_$>GkcJe=Y&+6^itGs*uw}X#?eRzvtm3Mtx<^B=y7&r@*R$!rHTS9PHEc z%?bD23H-BQ)gP@bk^7;9z0PV<{W3|nC2+Nq+TIswtCn8_nqa`ebu;?l!H9i4X@^RRMo zmX%v?bOVcVM#nf0ws^x$(ZJxgK9=_MFy*cVME*8ivomb<#@j14Eq?%1@c%Q5*yOIR2m!<}``y@_}r zK==IGTR^R)^e57`ZpI0vbLL)ew zD^naCM`+|^_)_WCv^jTkn^t+`RTbH5nY;npSg}^T1~_tg=g5QJ0u$@T1b&3#$qKhx zL$h-rX}E2e$}o#nn-yjm_7Ah~H0j=EG}l&97nSqW<*Khrl378K;jEy@aCT5+Ix8qL zoD~!q&K(rl5Hwcd^q4&egic1bCTtt-V{wi(%Jq!w8mnEm2xG2?<%Jx-9h7`yYRhBN zbc{@?HFN71d+uk`2&Y{;zhcwA-QHBW?h3h%r5xR1n#XN(?Sr*#_0@DZ)JE%ELG^7! z^N#9UD11SbJ$`HX*6aRat;^M2L|Tul`-hK-!lyoq%+*&Bj%eFOn;mU+RO6ny>yabO zWZn@`+?^D~AMG`hKiXp^^Ub38vquzpC1-xz;Zu&9J*U`fkD2(iw@mJrII8iJ{4EIM z&wkOLbmuYBF?q)EX&fcKlcN0eZ4-Yh-z4#`6or346!{ugiN7cc?|zvxz&45+!|_=|8ru=O?;> zba!;6qg{>;h{8W63jaQ5egG=@6OJBo^pxy3(Z3Pxrq4mAMB(Xlv>PgShlSyr6ooH$ zrN!N%;C-U^*l}JRX?I2#IXU`$q8i^x&Y199;fG%RcFMWv&*Dz@&2?ZGnm3^f)+}pU;E^sB zovr3W&KX~Wf49?yXuZ}$fA;1Xt;2hEqx7b_x98xwx~79OTDPV7mILTpo6!YF=yaR; z)gQBZ=qEXUt?qU36*cek5V~yqDLpcCU>tp|)^TxuozBy1Vjhn5ZB5P4{})=f=pg65 z-BX^2F8T1UzGkYK`%-j{n!=jpEUd2Eo~UTujOJrB|6<~hfR_^th z;rGxJl~+W+c`pBpKhC<4+h=r^)+?f?&OM#`<>@HPd2s0Nk7Z9yKb`x~^j)~CLrycg z{D;1BaONWG$Fkhb!Wxls^Z3D;`rcE2*+`hqvR*8mwR4M;t4I^(Dd0)fllJi%zEWZ4 z4yh=aBQSFly;E2dzNyC+qR*n1|6G}(``nScNF&mRc?HcEFn7nD*`&z<&Xa3mZsDIy zx^y#_Y3F%0PoOzVpB7rrrZCklvgx2SJIZ`R-E+)2aF(R-!#w1ohps$0!<=C`on_sC zofrHo$&GpoGqRJJ((f_c`(l5TcH-izqv)5Jyc}jh$ai=@g5^BgJUt%FqA3O_~^J&fgyw(a>UVmql&N5SacyrBb&dX^oC7NNrWBS6XFP_U1 zrn9}FTYK-2ccc6DB*Wj8=FRO~H{~gibtSS6J6VlI>+S$~LRpH>Y)r~YX;vak38QpQz|gH~Fjet`oT@8pg4s?Q39N zUV{%)BX*q6)}XSv88@7p*RTcLn0?sr^dh4-TP>@~!+4&UH4m?3u14*w6Qgpr0 z(%5+>x{b5;5^q-DHFjnB1h3;4%Il^t(t(-eQ7$9-D|t6MDl^xRE5+35``K$S4`FC4p{-;cwg`0`2=kJXpZu$2G z_$T2N9wMTie@cmF9?Snifa%wmyKc`xJ%2dArT9MEU>x%=717)o+zIvkEpgef@>>J^ zznFU;_^OWc&ihCR5VD%cK{y1<%}tF{nvh#z%MNL2b1}k(8pAb~9g@&WG7?6yfE!8J zI7=HP!46GuBiq;^DM@Y<+R&7ybi;0`m$Yh3Q<^0$ZAjzwdQ%}mUzYNA>F1?g+L!(G z{e5SiId|@nh)H(erst!p=lte*=9!si{+yXPb7rtdE`#M{*R-VD?x-Vtn-pJsi-iBm zmBrK3GDMO%2L@YlAMgitPdy6wqq--50{(>V$&X1FM9PMtiHy#sk6Q<%qK=J2`W-i zH=h?KzAF0l4X(bDbDNa(CwjbV*3A)3v?Zm%{Oz~idPg$Y{V1WsWx5@zbKxFNbWDAB zCtZS#E>>Z>R#W(oXj-{Pn)F{2(1}fnN{OGTa~q&^_a_@QPdAus?A^LCSyNoTTC??< zHq>{@gT2W{P4jI?bX;8TmaR$O)(u0Fc5~TGSlirxG#_VEhLdLzvr~rXRgi8XGtBf& zHPKi-rMS^%`oc8it4}QwOKoPj(V0EjNLD1BOnYzH+Uee(Xu^{4tqbMzp81Z2Dg*2x z)^2ni^ez55T>DmQ^Cj0W_gV>;pn4!2LQeA(bt*pWmDU2)gMSaS)$d8lc_>YKFv4e^ zkaJNA(A(5rLDd0p^M#skIc#_oD*Osm^M>{lRi-x? z?l;OjBm6z0%+HKMwLtecR1Y5B)iM9$<{R~5{)+MI^7EmRUj>!E z_0V@J9>(uC{s^?7bV8SE-Vl1H=7pfk^jv~U-F;VPw8LIT@vF7Yi4^@15 zexje}WUXw*ML2RwICq8TSM40%zSU~3tQo8hkeY&RLwz=BrP-)--s<+L=dBjCF{8!x z>ho55xO1iRR@W&OZZGrF+Hv=t<*>#&WsNDjG*>h-_AN#CWj8j{TH3mia?R@*Qx!FK zE#0j%E;OFZ`8D!o%{L*}n$!0s%yG4rzoPN!7pCjXT-{HbuJbRF5$2+_?pt##j7im1 ze8K6KJDB@F{oJfEjVn*P?@@Hl0B)LJ(Hw*ihwwOGxLo7ILub&Zb=F_fT)}z9rnN8M zJD#pn*81eyhWjRJa^>HxeM|WZtX0o9`addzy!~=_QKG*=zi#p)XH0imba-O{(_o zrHpbZ|EtC`MV0k}x#1r<%JD7wfvuRkGlT`x3m%uMk&}NlIW=2OAC#*o1vmR!_aA-y zRQ()vj`}wk0y2jHR|+f4QY@#YH@$+Kx`1gKVD1;=-KkV1EaZJv^2{SrP9I7W4$fZK zrOEC?T9M=(%Pwy03gHGEXzc#|k7w%Kcr)m##M-;i|Bf%#Q^gnSqZl7>oz##1&yPCf z|B){8J6vG$Aza}007Sv7GPqm#q`9M?{(ZQRPa8qk+0s+_fsU1{+-uFw(qlZO>Gp_J zUfTPP25#Zqwr<_R0u!6`!ar6Sx?$N)Pfk&3QKqhdY7oBzsz!`FY|$k4KBGsVGTLRR z+VFa1AnQrgmaF!bx`%B0p0q93NmWz5gOJ-b@7;4jVd<)B%hg_<=l8>#=lR!fw`hOD zMZM$7wp(M=Pq`~=Tzi2W{<7_s9@|w{sE65h>uPeX@{J!T7jiedJO2+JzihkJ8Od-P z!p*i@$X!djH6podX}9*P5j!c_S8KP1WWV=GE?gmg0S6kp{~+y_s#J8v+Gv+wz1?au z-{ddtin`zF1&?+KUf{nc<@)jwRan>ZbZ*t_!%l7G$kLI}{)EOt4a-z*$drC)m||fI z_a+&hxZI>R<&lAhZtv_K+!A*BO52KeOx;#2zIE|6w-vk_*Oj&vui*)yxq8=D!0~hH z=ecFRI(654dwOs3Er^)ByEl1vZ}RTmyL*#&_a@&F$-8@#clRdm?oGZF z$-8@#clRdm?oEDoB=7D`-rbwLyEpj*k-WP%d3SH}?%w2&Me^?6V&zR9)FwY4c)(72%gNXUo`04C0^)(G|PQ`&DYb4x=x^f|k8{V~4f(Ir=zUv0Ru(jOCd3$jXKJ!=f0WugN`E?6-9azl$TcV824- z7VNhwatrqBFgL=o+jOou4!0-r%Ps!HK7z=FaEBtf5blo1O``7FX>NOjg1(U{cTz1QUQbgY!W4)3qyo{p+8ifdP{UdDmV=2u}@kV*HWnl#kK!p#27 zqV7Nt(MJZi2__r#qH+V&?K-V-oI8g^wD8kX-Tyf zX3G7MA?M4Yo(x*twP(8v9B9EO+}lVb36771wD*-*H2On)2OIUxc^y08&hz@A?CZ>& zXSk?aT-iSRMa>kAN{+UW;*K2c)-8sqZ(Qw>F0fUNNplTXlWQ|SK@D=OwG3B?U#lF# zvjN_roAk5z(H4jJEzv!3&{VFwm>)bGA|)5(fcF?hFV{ge)HnNE_a7O4RP4xm^5-<@ z(G_?-a#OTRfrZ?n07Qe_^DO#IB$(;6P*dA7rdRxu{%zzh}yazx=sg6&cTO4s2Ni9?wdDd44WHBMkp&gyD}y82<4H z!#@#W_@^Qa|D_1SAB!;jGZBV=A;R!4Mi~C(2*bY;Vfb}vq4)L=eW;Lsq5l-}w>gr> zf9OjEelEjb5Mjb!7-9UkMHqhQONH3gL%-R|x-5B#-|i5yt<~ z2*W=XVfe=*4F6<=;h%~y{8u6je=NfA&qWyig$TpH6k+(6BMiUN;QR7fmp%Y|`@^>l z{z^SM$Q-isAK1cr#pTA5OGH_N@n%uRj|&Xr&Vz$C4?dJ}Vzc2MQO1T)_#Y5uJQ(;- z2{Q%^`aUl_Kf?b(_==(#_}>s-AxxWszH!ku;h;}2y_f^9PEYkim;L?YYw{YAhU9;m z0Cr|Bsy;GVliXNi0Wa`>Jj1_Tcy7e!o7`~Wze9MwXz;%=!`~*{8u51tWAh;YtHLWH z{AJ;e2!BnuE5hFr?vL;p;q4Lr2jQI&o~gVTiSX-%_eJ=}g%3pd?ZV_uh~Em~(Fk*n z;)w`v5vKhP@*fgD6XEBCFGhI3@RbOEMVLGZ{=X*N9AUn}%|-Z(@WKfHqwwMg*Q+eI zNBBm{c7)$5ygtG|Exakh_XrO~c)jp>rLOo`v`h3)6lD{ERT|RlvV4O#2k@3&ONV z0sp!1@d%$0J{94A79NZ6b#=Zy3I2J{Px}$@+k|N^0)D6PT=83E^XpaL)(B(&fHw$_ zMR-W~ScE?!O!)}%dxUpK`18W02p<-v{08|Kg%?NoTf*=HUyHuo74Sb8#<5Ai=}{jR zd}9XRmcc7BxH6#|cEENcXd4yllf(CGsg55>rz7VoR~uhfySedqXWvlo=G3E9twn=W1-Ryg7o2 zc*(c){?&`TZcwb)zul|w-OIi-^wgx45GzhjO$y!1#Eet5vM|$;Mm{(=Um>5;2nL6Y z5dVP>?GAQx_MH zfGS#2m+Dyf!dFpa*eS7sncBo~wSrJoD=JbKZ;?=xQ#FB~NfORhysLEu$5dUY1XUV? z7;ZkML9qNEGJFIq|3?iU z1Izz$!zaP=f6DMHVEG?2d=4!C7Yttl%l~D=iJsH=uM;JHjbQn2GR$)v|1E~+gXMpL z;a0Hxw;5gnmj8m`6=3;aWw-+@|LY8Qf#tu)a6ef7ONO_D<$s6aonZOjWq1TE|9cGY z1IvHe@By&=A2fUzEdNIgkAmg@nBfy(`9Ep+C9wRzV)zVL{?8e{2$ug#hOdC-pYas- ztQW;U<0psB?sK8<^Zj_-+YA?sUo;%bUBBV&#;082e~)2TeuNJh9yR_6!;}l;DG!9_ z@?W^l;@u1t&KYhsTrk=WE&H(taxVYAw#Gq*+o0mN8)l3F zf1Tm=#_u;=GXAjPozP#Gy$!Rk5Bd%mK4|!;;Zf+9l@7zFpueGX7(NI6O{K%|73de0 z4)wi>KWlo?pEEokD*Lt>UJR9eR~TLel|IG}`0s+sf5|ZGIPkyI@Gj%;HN4O8LBofj zvd@OigH?x>gtZB`-9Gi&gm<*w(R!_GQps9{TW$)VEy}fJqjA;FY zy=%uk?DNasx$IxAH5Pvx_V4xn{Qjy}v%^h_d$ZZ$$92!1o!Fs8_t-&mE&2wSZ_7s% zU(Q__uAMD6?DBV`<%tiOZFb6EY@3FRZ5rigj`V45tAV!JW!0M^|NS)iiCmLx6Usxf$lHeWQ-<=Q*x|VBz+UwGa^;D!j2*&$_@te3 zLU~cV=kdKKd#aLOq^m}H^xgY;zUk(hSKRqdS`l*l#p*nq@o5SJ_u3Y%H6E^f&zmS* zean8DavJu9<-2LME;`5MGhUa{+n7^2b6=Zi%zfl6`?rQT;2*u;k{jtcIO@~WC--=7 zRCIqsGL%=YnmVOJt5)rI z;N&HfBu|``z2`lk{jW*uv$EMzr8C~E+MP+{lbDofKf3O7YrwT${qzi-Pjel4V&!Cx zzT?%5<3#fJpZlch&-pX53Ev5{>DQ!Rmwp%J7Q%Oa6-R9Jj>ty0MmBP?1@f_8*dMw);mhPs%AT_gGBVcbf`?vW6x#MFeLtC z;;*V|2RmFlTgf-}>(?0wW-rbN2!5ZF-_YhLT`mmT#ShewdcQ88^pj8SI}?RR+n03t z^n~v(>McFk=top9iECq&M!qc}eOWi+^*T#8`2+s&8+|?7ZfU12rtE3I>3OXd_d)SK zqPWkG(v4r9bF}H99p-sJJ$=s7Eu@RSN8E>? z-C|FPx~{!v8?}E7XE-Q7XaAUVB#GbKg7YwxR_&|s#JKY9OTnG~3Tb9<5YD5U8PceH zV?UXq<=cMQ^mk;_B~jSq8*NyWX2?VITuZswZ)w!A!%uk;)^%|1VRj#ih=BE0+Q^QnvX zE_W_Ro%Ze_9PARx$PUt0E{8WjH*<=@qJmG3{+J-K$zHQMq{#k1v)e0v_sWz(zJvMJQ5cA6R`dcd;LFe8J;-tA5D8np~@7@S{GtyU?fSae5Iy z`0q4|Jl7e?-Ry7Oe`NTrFzOujZ)Wv^04D=)oqmd2iF+>Ou4UcbV##gtUfh4eA8u&J=vlp(QFW^99_a9{49r37Kes2))A^q4pgnZqP zgS%>6yy5xF^N$25dGsBPF#eB482<4H!#^2e_@^QapLtGydHrJnTKuj=*rg{mijN=j zx&HG0nP&_b{T-n&TKu~r41Y11Pb@FC%l{;y`_|2TvH3at81xy1k92rm#mVEBJ#)eR`TRIG4dcCG6Ta%kLE#KI@jkMgFhL;BNe@eQOtw@V9389~7qjz2Nr%*Ow$16g+O{hiCakCj_CZjILIu*xUH z<=sB(UNX*+C)WOCxNh-CWqA*)B(f52wM9k5!K{owF=4~d_9!&x=Crw_yRUcf=aAXK zvH4==uD&hW83{Yx-}msA-kx^3b#8QyY&x#H9&a;{+d1FuMXs&M{Z8pFezu%J8zi+l zRqcHb>q8+^*0a_05lF~}hx)cAC{nt$Oa11~hqi5Wcn}mg=CWm5zmK7do8SH3<)8BI zR^_2jdey>;U`|rFa*OhZu$OPyFz|ROM5|BEogo?}&VTSSkM{O!_atwJDj8>gWU5k^ ziol6Xn7XHy@3jKe!G~M8%3O;&t6V9R9PQwYDzJQ6hhHv(xVFFQ>DAUKn|gg=VmqqT z!TX5UmSm#4wEtm!Vm7pCGr=ayA1rp>+wL=V-R-UK=v=z$?lo&+#Ti)flcpvTrZ}b9 zFu29(lv`(y%lwBPcOR0uGSsf6Y7ZN1AjZSB(m5b41l@lhUFa?7lL7MQ(w|VKY z5-#Cvv1MY5I-QuE^uSIXZXdE#$=cpWIkrS!-_d~h7&*UFF{*d6Gndz?#uL?5xr@Z`p4jVr60Un<2CRa zrQ7gPu+nt`dY{q-U8Z>I+0wFB^PEuWXPiSimp~Pc+v7{|XM9tuI1U-zZghvyVWT^Z zGX6pTVW{Fa29^FxP-RM^o?$mVp!Hj#E?nq?$}i}g$sSR><3l)+@4=b-!8Dy zw;L+V_=@lD*3RS!qf8qZE_#x#pRCcOYzviY5 zTF)ce(yRDFWsg?qM&&Q`Vf8Peo7883Dn9F>cPGg(RQgAtO4q326QYE72`s%=pwe5f zeh>bbA82`>`jAk?XTISD&_|R{(0-K*=v}f8RN?G~ZdU(O6#a+5(mQ7SW{vwO2b|s2 zvQ_yERr&6Kmi#yoe%l~1h^mC?Hi$1Qs1RYX7svp#{P4<9_Ux03r9#QlR zg9lU|p&A%5j>P>qSb8r*<{#y*|eXhenwstE2xu>;$<{A0Fe?rA> zUR~iCtplpo*JN00Lo)jO{^Oh@e4ck%@*8CJUaq0p(u^DNI?dd&BH5%L;~h17?gDcK z-h45{c9)8t8}qA~byt^o;a=4@$$4kDcSU7>$vcuaTsDNqj!#!zt>oP^TmWUVf58ed{hPae7{^)lF z-ti1C7mVbzN^b^Z-}a0f;T1D(QtS3?H8m;8%As$k`3-r8KKguIyF79ES~j=cawGo8 zA2v6_yIw!8W9Am}Ep~GP_AgC`l+mW(+@;?|lwHF$m2GGT;|o<6GH&pL-(NOimv%Ei zoX1VUC?NLwlf|Z7z|krEPh|)8AdWBW%38tr!md{`Zt#P?Ad3j&nE3jB z^o4hOaXRLkzTk#Fp1s*C#AU=7#HG#Tp4NRRZ-tCs(iYMil1Lu6XXN0mH#hQ_3%8-j zjWBRy43@nr@3%Y$xdT(k9nQERm$f}^Q^n;-#xEfqGq+$r{9da~Uzx%$^`VYoIm z69(lagc0=7rmo89BaC(CMi~n6>&nQ9m25J%INx?mAs5ntA1=b!oslCQq5X{0F_MuZ z9s4qFq~nmeg?5`~!_kbKoUVGEFxjVxh%VyzO2$8KQp0E$`S-vHj=r=i~tFP22t?r$V4`+>n8OSh*Q?Yw+@Ug7}JsFmZ z!#&II$vOx3l|4jyW1rh94L$etKECu}9f6(o0B?;>z0jK&ZPZrrwq`&+EWQa3ed1Febk%h{BGT zAz*Z^930%%JFs+1&;2^&th;~pw#^T@{MIJjgY59P!M|B_FMUJ%UWb~m8Mv!&U~s6z7c;q;#Hv23sI$$|j*hh} z?|h(R`Td$-v-+jDr7vd)rx$yLsPP(9S0!HFuF_noGn&)e+`XYnhkqMXabmAS%8x{m zO}1^RxF|gTf-V#0Hl2K|!vQuZ+k)4`>m|L9=!gJEyN&ifqMM$4NoS$pt{D4xJ9`VI zc6_Aw@pk3VqwY0LC5nmMt=LvuB#oa6JhphG_Yu84hE`RTL~k8kK5eD#@L^kCYR~jX zHj{teW)@0sj}*!vJ^8*VOHNN-J4U`w>6chsCtcc1Gg0ae@AwpEDQyu{UKC4}0q0vR z_MeMg+w22c)l4XC-dhs~A79>kd)>WNPc6wsFWQk$ zOQ`drwqVjzQt8S(O{MwY#QNSJ?w*~jCkYq*IIiqk-$QRv-(2pD0}w}!Zrm+~=~Hqs zw;5jnzEzIMznWZ|WbhNl6X-i`eMdRFaG|aG&Em$cxdfnjNaDwkDa3Dy?$LLveq2Sp zoH%8DJTP+b?=gyAuKDVC-t2GPe`NS|7Ncej6s5}=a-^ysIwmI4F0MFEJSi;MZV zU=#3m$+^k|&=usM!6vx3sH0229MkBvwM$2nC^m`pt$$OJ+!q-t=#yC06}$f+YlpFW zQ5#{ds|ce#m3{lltv6ERtTV^+aFgn(od6U|z8( zNA`d#h|X8$`uv}syhpf8c!BZXFUp)*v*AyO?u+nm2{RWJIFxi^4(w zMPcS=4jcbRWY96;z<;xFi^ggpem^VRFWh7D?-D*4;jO~F^9bQRA~}_&U`s_Am*2*3t583AiAg!kWqETfWPVC&h z&95k|o^gt$mu7p^F*6;{(fy7Y?NL8HcCVU+iWzIe5Rvgul=^D-5ZyJCCaGdwQ%+UI z0@?Yh46icetYSC=p`>cu z2sli@#d@3pQ5FhU%#{1&>8)5Gja^)nYzIsVWhIp^HzN*Z)YckDu2aoXp z$H{4SW9zH9hO(o`Pcz%P1dopDj;gk+b}W{=6UHNNRGTNNkQ zikU)#p#`gU^{tn=rKM}I(sX6pG;6gcCDc@88m6FlQln&yv}C#l$sDU1qf{`O4iC$b z(|Y5Itw~PN));5%cE*^K+L(%arFjSePp;Oqf*}G|ZC54Y*`+;}Ef}B{1&Pt$>)T)~vpp+=;)3NMZc3gB)!e&Q6Z#(Z>=)ehqv&&0TSE zUpfRWOIN=;4Zt)^+Oo5Hch1RQTC8qgepjlVMfV}_5Xk+@?|WeR>Sb;dP`5IlIHtiy z`-!SgHeWy1mM<{6&}ggCC8C^5U4#k@LA6$xF*oN_yYYk83bWSFom&kRZig1s|AsF0 z^H8-mR;<0l!WC|l9i+LC&o|l-xSQn@n!V@J_=chRcQz8fHBq;T$*olHoIkFBwjhCxpjZ zLF8Kuvpx{K*f47X!5xNs43`WK8{TbrpJCSaq2I0JlmBCe-P%3jF~b*4{)*v7jXwx) zE>!;cMgrVsm^A{px0^fb>cCxw`wj0f?Dk9)pScC}>^J^l!=r{z8Xhys+(K=y#$Sdn zLpQ3N)p}EJ;n6(KmzJ}WkuYk5IUk$H^ZqoSGa0#mLh7IpD{vN}uzpCx? z>#NXz(C|^?k3to{lZH=0mF{y;jZ?3fyN1;+9QI8^Pc!s=sxO8YK)aOxhL=ElRW1z| zq3@Nw4fjCr^=pUFw;e2fyNu8JA@DxKWvKKYGR)c<_^j>0|8c17`jTPh0N`IR%-R{^ zlPFEd^9@L?CIa30?ZR`xvJ-Ow@E1ZQzr-+e0_ZCm?tm&jJ%(AULipPa?|{lb>rl|g zIup`gHoPCI^dB~S1giKPH_Unw;=>vd{EtE3t$8QIm!SGqrA}jY_(nkA?t&`3lHnof z{hCiPybCJ*dkwp9Vif*C!^}0*K9D4%hL1seG@oerC8+$LGkgKsp?YGNNq5rI1XcW+ zp_^4t4D*dm?SrZ(hWXY8eX9%?p$f0da1ZodswalGLnY5QIOyLEl|A+uE<92z-J`aabY!yV8q zswajwK_5~*F}wr%^Gb)|5vbx*Hq19d=yTr)DLzNQs&{-VMEp)brSBEPV^Hbi3^Vwb zpq)yG+B9%IRB!O-8s@z3+FwvTG29AOdidrD`F7|ddX5=h2UYww8SaP5UONmAL*J+R zZg>y0PtOm-2aJEj@KLDjdBX5XsN~N;l^2)I{R&j^YHSo$yqci0YtHa|sLD;7;l)tt zU14|?w4{1sxC^QmA0@*>hIbm?Wq7aQeb5c6Cx#C}6`xVV$Dog>o*3pEs#?ADKWF#? zRByYlK$Vs{&5uJlU!C;iph{1h;l)sOw%oT>;`6P0?JAWc<8OlABfA?OhW?z|DZ_iA zD-~bEhoCDIU&F_siZ9>eb`K4OPpWe1p2zQ)`kSg-?`XZ|J&)=0=t}oIzAmXx8vQ(L*r!M*bK`z91uEqb=DDj{BJ>n1VTH^nI zN-o6r-^4q9Ej`$*>9-`mMay~ecdvfnZG-xt{gEWUbnU%)l}4M`b*1MT|GiOiHTumk zdB!ipIM}6boV#w+e>E%V#dD-Agd5_>=~0&4Vp!c*cO8y&;Sk_kb&ve3$+emvC>Q!} z_P6do`uM%WsB_f6?}UKNAwX4a!c>dqFXR>lAR6SZ*L{c^?0VHnb)(WN$U%K|^(^}5 zj8*jbaJIoNO?Dsaqks3$k;kCVYpMK?-G7jG>S`*ZE7nH(Lauue-igN-?;Kxa4&)X4 zlPrh?NSB7pE*}Fwwh?>`4GsK{>pon#e_p@2`UU=f3`|k@U)L|EU*P{Y-G>YQMg11& zhYsR5JxU^c&QU9fA_M={4FBhZH%0vHIcdKn{z%0CbjJU`7d|3>h~J-O_#9@?g$a@uAH+rt*RF6h5+| zu}n{IfA3JQi+T`?og!`8bYfAJT*YB3sZOOJie@St+^^;*GDejj+^^Wunm%Qu$*Pu5okNPMVqV1! z_M5B{zrj)|cap9AGwUWb)aqI$H|bw9R1IDWRE@`c==e$1SfBvkj zFrl_X=K%OU(3^4}o~Uo#IquIO&^P+pGd=8EpMI0CeE^c=$+Mi1z@Ff%M#~ews{M_Z z=BoGTuTz-X3--K=S*zdsyDriB41QmL@97@;x5=3NjcVWJ9>aC|)$7-&Uz2`>-C})g!XM+Mzj5J<_VhAUZ~lj8*tTr_|Zrgs*vT%_QS6x*D6{3+=?e%$f-$7 zFX9JZuSy(6p6i6N_dl)@zjflNsVc>C*V13l$n0};#bTO`xiu7XstR?ao^rZrJ6TAN){dMxOa@8c7ZgB62yjzXS=iRA* z=a(al|NRlh|B(p8=XvEX@Bc!8vJU)95yt=gG*OFGUzW?}}o6WlZS9 z=N(eaAB`~nUx_gB8;dafx-?&W_>B>UzdgeE-w|Q>J0mQZUW|v}SFXw9qY7`T@l<_U zN60h!-_+l5QO*_yAPT-SgNwrWRrkR8U!UP?>MOnQ{~`Uz{~-TV%Jup`Crth?){poc z%J9FI!G9%8c?j|o8UEi3Qy$ty(Kjv48y_CyuW%8+w+K@{g8bqP|88N*N26rXcYlW8 zB|NHM&iI2F{zrw!^uwy@Q6t{1w&f4_E>eHWLnUE5jOHq_ZWFtBwX3A<^s)1rHI?pEvJiVNB^%O1i`n$;d~ z#ih9X-cGISaexgsorBXGT+uBDacii&YS=W;k!A=Kgy*XS5O{jd0Q(PO-Dgy6}mU`xY+t zfu_VeI7^bI2s$?9zvX6)$D#9W9C3@S0k}!;V&s0)k0(i4w042&0r)Mx{RWQ-x2RxW zfG_!r(6_0st4y~1q;IEjXZ(-*dffG}qfF+>E{h@?%UjJ zL!2;&-geb}$rioc4{%<6d~;aiC|y8|V+Rv*&eb}0}lqWRyapNE`XTH?se7{%i>&x_EH6A*x^FA~-(l{V__k>K; zz@B9A7|$>ks(JaT@rxhz=ao4>8uxryQl71NjO&~g zcMc8w13K$M`^z;Tk3+Q;c*hm3+>0OfUGbI1>YZ&acw*pM@Kg z*IaH)DgS#p`=v|v7Qaz(+>_JUck<8JEX0R%t2jSzPwq2kr_0^x8!e7&E>>qcJvDwn zV=Es&fA$n^oX3J2_nudrkUd`1bNl7sMn3FSK5$0U%Kzc*@hPSEDW%1o|2U>`nx#c! zRJ~*Ix@PNaALM!@*J^2&T~1?9!a^@}uHxnLKgZcno=1N0jNnpPNiJ$^P5Rw=HPT7G zSH@DsarFz_xo(V`LYX6PC?nTNK7>Uchct7Zm&RqY>+mag;sT#B?nR|_iN;#Q^@H;N zuylnqAg6OJ&xbR*;FGW6?4mlw4H?djYp_o6zbHS+%W#HIZC9o2BFkBbDwqxXM!kJE zOXnw~Gn^TQeUKxbVSa$PCX&P5oeQTj_m3)b$S{VSkt?6R9$uj`*3_9h=dr0PS6!;3 z7FX&fb+4vjj;n*{Ait+e2W9HB76x?!9$`{`IjfVgZkjIXn>MU?mAnjcoC~SuM1LI< zYMvWr%72;%U7869PNC!@}|Gq*}U+-ZgCGRGO7Z!-JpapLSxd77!Pm~#j=P+j|$ z+H|*{WH#S4J=c)a8FJWhzS^B_?(9O%WfaS&^{Bq4JPY;hZ_T!kD-KU9Ph8ugxen=a z`9nG>BOzXK-u(GB?MX-*XSTLj z+w%e0;+JHL(6*?qxb&01(^O$y8rJY!zJJ`EVK}1ltTfafDxdzm;xkL(I(wNv^`0h@ zuJVgB3gthVQ7ZqDhUMS*qMZdu-q*BJ|DKX9{2Wt#>u1igM`umfldlW$qYUue26K*= z%H0cuF+mGD&$IzabuR zuN#@Id26*ts(Zhtu<(z3i08f59)M@bU41uS9!7q7T=nz?{5>mwipPZFbNUt2K{#=} zeQ=6;n+s>7NeB9$A+54OC?_9PIk}>CcaHiO1LB1;PP}UyW=|yL^6A-%yYg%z*q*wl z^5WxI`sn!cIx`L3>KnK^O?&qRvjg+&HKpz2JU6A|HreHLR}_x&*_}N)t;x+@>zv%D z^y!<~M*70}naQX>r?(x=oqith9uFg~D;^T`rlnG2izeu(Jppw)*YyTpCv|?F%4u+ zJkd~4xe<@NpdF%2Q+Ib?Ke^r6k-BwE{FUk#>80E`ztZy;%FArOq7dqU(u5r61LH64 z@0ImTQh$%LBuPK*?W|n+^mAAI^W{5ouN!%Tufx*uE%`?eaz4(*3EAT1P(P-u!}7=Z ze1wai+J-mK_PR4-sgG(OQk^puHg)JP314-b`WJL(+db8<7k*WGslRcZ4t-t1`sFBG z>KkV%Q?IF$W!*2#)S>WvBwqOcq-5f{K?R|1q|bY$qegmbrEl7B`SgOaoe8dIJ$V^y z#Pj8%g|)}(;u-7nd6@@X-iNeOhq-rs8a?|tpLM3$f;MPIPHAXWyHWPfS8UZHzS1av z-k!>1*G`2ve3!hGPB48C>2%K`J(I^Nn}w!%e0ryFmcGg%%MZ#OXS9ZR z(wBPF&if`^8*BpiteuVR7<0Kk<*?$R=bdagjrNhY<(^2}&+Q9fL#EJeR{eV!9IEVO8l~2^Il9jD5C=b4@JXjyb6S4tm{X@xwb9s>=pB6{u z@38p9pZHR?+Q@H(r@n4lW@?HmZ>8b0-;MHgx-#en{oH%Xg8XZKp;mfox_o_bc9tI1 z_t`4H^ECc)b)B(UwtW6bly~7d>ujp$EOoumGiNintzrLMeuX**;9FI6FPtWHfo$0f4)aN1d3il}8T<;I^fl#|eZp$(p4I$fJttneD``N~`l*1g7w^uC<qPzFGwC7&*Xt?&(ufp?S3U}+IIAEHgarp;!7K8 zZQ6NkPa0d*e|K_+isQ@+g!I72-SrFXo<7HQIi;si$s6Wm^z8TsW#-E&GsKs?2=f}~ zxK956Qh7mH(HzM6KeYP8d@$_>_Nf_GevJ4qrQhWT>A-(BFEp1>l^1$|xV)hM;@UCu zM_z<|aw*+{R!&~$!7?c&#ut6Z>FV@_S}x#_eIjk#y0&&_>A?Zk)m7=MqR zmmSmI=;~?*&viF9i9L8GqmwxR*`Wb9(&^mP-cDDaj(G&071T4HLAigXtvWz)`G#KR2!meQ zEtxAFE9iN2^*J!}|J}&H!gO_*=L~h$J!h1zTE$gm|Maxsial;tIFuDvh7)sF{AydP z=WuCfkaITZ(!8bmA&e1d7u`H?@LQ_%6J{n4oSs?m_Q8L6{;aTi8s>Q8Gw*q>v_|}; zic5>t@L<4 z=y{o5B|Sju=}5~(ZS7Up0-cO>;Tc&jd3WoAElZNC$+b!jKbi+~7jmlC=|%kDztbr4 zT$d%MI+9+<@LORtFm6;!6<^43tk?Juvt5aBn8aXiB4I}u^{ZF+e4%lls( zVfgG<7xPa=82*SJj4_|@NCS3!GRs|F|G@~uKct6|zdZj~gyCP*i<_8#Il}OdQJCE2 z{hx|3{NtL%^_TG@41Y)u$(X+*!tm=gu!#9h5qA0`jD1f=82(~jF1pKyza+x&=cjeu z^IIbfzbnG%?};${JrNd6FV;rEuUu)yI;U$nD|>y#vn$)Z8N4-vw`cH&Gx%c}{A>n) zA%nl1!ACRrPcnEcgD++9YilYFO}b?rM!3N5$lziI_hs-$Gx*aP{KX9Zy$sHtef^i> zQ-60WF076EuNnFOp27bhOnqKu@{GB|MSA9B@LPoEs`1asANrSM`0W||3mLpsnD&8u z#{Y*h{7+@@mooS(!hGk?dPV$yGs8b8O#4Fn2ER6Kt8A^BFzrjT(g6QW8U7s^{4*JR zR|fxl2KQy~M>6OxAAKT1+ zZ_V)EnZen!uYX>A+E3OCp?^z8{sS32lEGidV9vgF?XBti;|%}18T^mPtNlG-@{LiG zMEd4u@K0y(do%d441PL;e@&S7e2<0qA2a;F$YA!8pnV@zT(FN`E~gjqdy6pbJI{3Z zcL>v-)6Rek!nEIQhSvzwUN1HrEvTw&D9Aa#VZou!?RIOf_`++Tk3FHZrM|k??krwy zo<7i>U*y&lx&y4W)Ag3YA#ELB%HQS|GZJc&AmgLw%RG! zeo5Sr_5#nG8t!$tqpDeK7j3`h*4=4qb~}~#{*E`S=8k05aocPiH@K2hLNR*l>=y&+Lj7E5*y52VHeiwMBN3{}6IOXRd4a`RZe% zoye4*Ny4cp55}F+HLaC!W!P{&bp^8Ze^~q)4taM)&(%72m!46LFDudmcDxKF!8X^6 zBf|Hc&Jr%3m4n)yoBP5J2_3wEN{2CkLol>_*q>fQAq*$TBkHoJYJDsbP|j@a=?(F4 z#cT86!wTB(qUQo|y5lUY-qtfJL@qjtfIt4hju2PaR%m=2IQZPDbfr}mh!5Bxrd3Y< zi1f+M9E;%s=nSWpS9?=(TRYRBs(GOdvy_|0WWd@DLaB;sh-tNVr+R9Zj?7TB`g+nx zRjDi4p*k-0Q|PSXhe#4B*WNo{+mv7av>*plz%!;rgW@7o51@YN?HVsb@6eiF=-btQ zf=c)Z^d0_NW!4Ng>Y2vAYxK?FcNlhSlrexWYP_btlMBb_Vo~&UfbZcAhNwEs!^YnWmEKXP{4-ug{w45g*+qR8&K_@t z%6}VF{)@Y_0We@&Y>Hm7pn4n6ndBT zqk&3}eU4gs{60tcFMws2At>>I_9}f)@lQhWr+zqRzUQDSXA7YZ%RW%~+hx@42PFIK z6|UVReb7Fo3%THrVE-NL(5y)U-z7%bXNR-ow?m0PRCZ$D9Q1Jh26l31nk!s)rn&6W{2I@1 zgUWpqRQ}yr=CaQL!-qvFS4W_-!%?X0FeXYly8zv+{^Jqmrl^g{=f zUZ~>Hc)jSL;s;fJw?T)LKTws+5>(-g7(EPCJ|7n)UKhZRs&Umghj5#qk4Ya?;r2u2 ze+a60mZ3`DsJWjIMbA0#hMb=r1aN4Ua+<&PnJm zsa`>)=L%GM>Y7ERXD(F!=R@Vc&G05D@f0OKd%%j%0jTthLZ#<8RC>ms!%9C?dXhOF zH$oMDGgSWCq0+nFa0x0s+o9647y2Q!4^Zhl3YET-hA%Z(bd~J;deQBQCsg%hH}pQm4|==o36=kg(EDY- zxgNJdRsWdxL+?7U{Fk72>v;iPtnve0q30P?dXGS*_X1RUo8I7Q3zYgSioT+`GcO3< zX?U+;*QXm8NH--&zu9@m)O!-V{nk4c=iK$`-|Spe+0m7Lv-2Z*ld)K9z~>jVRxa7& z-xKQ{e-Jt{Bk$$}%QNyXfe+2dUxJR#$TO#|hh07g9h;F~2)#HX zzXY1h%&&qr&CIWZb~WVb*Ce@_`Q6agnfd+D!p!_JXmMu#476)zK2bj-X==zfLrXLB zd|RbW74vP-k(v1pXnAJd&Ep@EKJe(w`~m1m>4T2V%#T4Y&dgtiCiVF`^*6LhVtzg} zSD#-DZLQC{bHWSt`5thwK0oaE4fzr1#aa0SP%X(g2JNcP({IrxiTO*=;rcvtWjg#a zProH8*XKK+hwAe~(9!z*9_Y#X{9))=ef|{mVtxKHwA7H#slTDOSos2UxFNqD+B7S_ z1Dcza-wSP>m1p11q%bQ_e@-5JjS@||-c~-s%ZI%6@ zhi2t>LPuxiN1!KX<;zgJHY7>@pz!aAj*6B=UlHvQy)4=*+N}P_M$uMLHQ)JlqIw+V z*$4AWqC=v3EaiD`@mr$%Mc*gNK9_nt=Ep=;=JLE~(_?`j*49r}2d_~JhuGz#;)SXOmnUYMwwlE<80<;&(Z#dk-^cDk40rX9-fUwZfQ_LX-p zzh4F+Os2p>_}u%+vk#E)bnK5^@jLj&7akc65Q&iDxgHMZ}(nt?aWK^wz z`jD#M)ciEDReU?oBAs`$Fx|9Tn8)$@GIJ}=4q+MvyD!h22kK@_oprs=lwURRHWe>u zor;%E%enBUoVu~}Rr4yTC;yhOesK9JogC5L*}k-6Y3It-D?6M%KQrOOy?c2_Yv;1% zYdconwQ||g4$T6uShI2&C$M^c)$F9XIX}y-?sRs%yQor%ZJcaxI1Vz>zjpb9YovVT zn$@X#;^*{G)|a{)?0m;#!E91y>hEePld@Li~HK;%T^Xws?M)meb<^! zPJme1*}mKzr{Qcf6<_=0uYGsX+pb!-pE`2s?(6aXtHQ3DTAGSKc|xo@emW30jowu8 zgCC-IHT^DnZn8hvpgNAk!O8e$NHbxQBR{Lt%GtHD{o^`hdrCd&4BHg(@DqEX#!t>8 z&!?#%Tvz%vov8`a%7GRZrg+Lx?a;ZYmuR}MhV)+(OYAL;BX>2Tm2jfjqj z?i+Mx5F1-H3SOyupj+>rt|sNmO^#=UYh!}n&4aoAJ{`Q}tjhrH*AtW z&r@87avQZfqAP>u#`~E_G?jJkcnA;2-X0gWvrp_7nY3NJ6|}3iCb`&Q&k(%E3KSA4Vj$5uji4E@HXpY`R<2%{p+M$ zx(jV8r&{22c+cK%a2p7Q@^dSCi2J)0KSA z$^@UAdve+Z#Fdpafmexj?y-TbN>lKuK6+K^s=0cRp`5UUyM#$Tc5@lhx51aqit(#t zs#PXidQ~vCZt1m3lu#VHJ?P2FT=dmQr!OYKPQLepn_6+l!$w0KDqq^_4pxTePxSVF z2e*~rD6oxN2XaH3`Uah`-RniwL0^SjI4ZGQbaJyo#XTyjU^_G_=Z)ay%^=ESk6p(5 zdYw~PzSAn~Y7-?Wc#hrDlHqlvvJ`!HMzy&|<|aOA|CW1qGs3%4X`55xt^`PG)zN2#x4QYoTX>U%MiThN{d(JjB<1GietY{V`x4S_;EYr z*1+a?QC`tGIJ9-3x4IZ7X`3)byOQ#J@uHf>JjXz8^_XIdIVGN{;Icu3M& z8CM{4#80d$|0@4i^_OWkV)a!z(z0hE#PJia)W;EcYOq2CVtyq~j}3H}DtWhUi^FLn zaFwPZsq*zhTkAZa!^B+?$UihVnB)ik_18PMk+F8w8NE?d(-P^mQ*)y^Ar0x18vT%~ z*Y76`PZQ%6f{AETpEO1xr?5Wp9uQE9kOYWCke1&k=%TaMF1s-yX0uT*y*L%5?vr}^YDXPdJ z@1_lncX>|Y*7RwLBYCZUq@zhcY!_^z+hnfnHioP1RM|rR% zsd!C=sk>E>czD(z60(W6F>8Fh0qJ?ZPobkFqLZ=d@8Wp6PYki^P3Ps=bEvibob3aqlZ{(D#RRh3BU0(dhR1;k!NdB^yb?J{#J%roeZ8 zPn?xZgT4ivNV$^T;di}SK(tTEMNX}{xf%A8d z`u!-L&^LGexoBUOf|upH#txHtPBKd+6MwU;Jr>Tp6zU)6@caqic_t&;S55m7D$eZ3 zm2|Bgcl%8h`L^2a1vc+;oEG=Z;uB}})NBaf73$m9^xJH`yqkEVY{B=s|E#z?WAQkW z`My|v3w^KqpuRcR%SXxny~#eG(>{h7S@*4|;?5J@}~svKEBshHu>_EroB`g*WP9G0-h z|4DvZv|q+W#glZ9o@`oV6Zb9hcPuTf*r|A*uRBVU;?%H8-{v+YPmI^74ou6HCkj!y z&MCjBD>6d^;gT27oZ5nx46miQ^DJ>}m2JZ}Id!fq?sGaS<#FE><#FE><sPdWNk+;Ov!qA)d0JzyFToG%J6aAY&!jU+-aDawc?0`7z;}5edFA5^>~|3F2|;_4 zbWt9jGr8i#9r8Ob4rsS*V zC~NhyCGA`*`!W<17yENPkR&hU zM)#a$PuKZPPmNE{NoT8MY@ZJ7y-a(N(1y%U6koNW`hI`nI%HHn>k7V%PM0o?>t9|V z9lPJ8Gb~gG33Gw={UXhY^xhuD1-);RJmJzFE!19PF5Ytgar7uGaJ%-_TB!SibOt`< zcR}*h**BTK*za8VRonkP<4V}XHSA;Cthf@-g*hK4ZHda_dCDSf*C(6G6I+z#_!&(6 z;<6ZY(I&L2t)cCw{G@w7s9jXuZK%sVe>NE%(=*rS1$%16wpMrhD`f=_SXG*Z=Q&KLU?x#G_Mh#cmC%w#= zSJ(AvrSrjw=C0@Ggt$-^cz(QFZ4r5wx);i)S1CWqr(B74?Okg7)sD-JeLw1Rp}$6- zBbgUuv01-tc9Fd_WtWi83sg4iT0eajxki;M`gc7lCrQbk%gRSRj~aSL{T@%Z$u@Pe z4g2-QHr0MD4Z-HON@j*+W@hXz8@?Qet>;pM8m04fwy)Lm^7n-NU5@Ndd&zz&Jd23) zD@~s}`%2Ersh*XTPvXx0GsHWm=Y2?=QrxoKD-YF8`eVpk%hG zyl_1y`Z@jh-ZW?J5oKb5%Fy)Wez*V3e6PQ@LYVkS+<8?-}J2PXyvC+ zWM8#!{Hg8Vu~)YFtZcI)vW=2^UUAhPIzFD1kp(Ax{SNy>lF996z(+9m7=wxKO@RBIn^b<>Lsc1YqXz{#>nY2g7|H+dPiHsxblRx zX`gQL^>)IMVJC&-$ikRQI3p?SksQ<^;ZR+UkDLvBPwz9y)t`S32Hq z`&c5gJs0n%sjB@>>{$UG~VwlpqY=7eMxMDZPvOt!svQ8JIIfO5T0^xgU~E@J%9 z)T(D%LFKY=v+M8I$R5*_C(fp$t{r=My4=2~@SCLD?a3DUa7s(qvlcrt7GNxNnK4&k z?KtgaO{skPN0l#5pW0_VgK91hf3-fX&&pe{vWc{p-1^`1r6@)_mUR@%!L-2ortCDBTrV%A5M;7t~fUzeCwh zx|9~ls{Ev5Egy#Kb2RX5B_7jr<fnjD9hlBwf6I)&^)rImDL)3#9MCY!cft|EJjWQTKJ zPp|{_!Mz}N^(X!|c7LPkem>)l`~u03ICnpfCYzr7Ej_J%LS_GL`h8LNU(k=SG-Y%? zZP$qMR(VMIt1bII##S7%=e^3V)?GI+=KX8-Rbw2~Rj%14w*z(7H}>m-`U@XR`;ptlE6Ht|cumPi-S{!|vuYOHI9}6Q7VF8gEu|;*jCgW7 zWrj9xTC4Uq)A+7N{^ZX2kKe9Ko_GDekOx19tmXg?h}MfoU)k{rgrz=ccs?m^(!=;n zd-VGDbZ+S9$c;Va)c1Amo9)SXnt1Ts2s$YHJXim_d*<77O=Gvkl53=osb|i0x?eX+ z-($V{J&D_Ub-Kb%lm_be5{*M^lhVYmh(|u}QM*yoc;f`^bz`f>H`4L@;?=IYahx$< z?W`NwQ*mBxa^nPjKAxBO!+-qjpiOAjp7HckH!3{(saLA@fqu|Ezp2Bog#F*U{P`^N z)uyp0^h>snH2!zV|Ix@l^JdmcHCs7!vctvkRq}g-JvYgV zVdX{ZBDG!iOhQlFA64@D7sYRi_)m!chRFX`@h{pll`wu${1C5ZJp)RL+aq#g{6HSm z72f1+GFlw}l;Rhji!JJNkfsn1JyTD&SlscqPi>~x+c8m88r~zFe>UppF#DB`k0>6S zqIkSFibtc)a9t`t_sZ>V^YeuK@UEfKAMouaWkl@Ry5EKj6+9{%cKy=-2go zyWx+E+Pj<$PT+^O7UqY$4raYN;o;Jpg1fToV0Np~IqqLNX|+LR-O4Sx2kSB8u8~L= z4rb~}`~F=`uGRd6^)1M$O-nE0ht78zMV^bj3vc$f?msg8Rv2}T`uB%diQhW$l!j6) zwnrFT<+D}0f!Y%Y9BfGb?*5m;yAKOEo+&!lp) z;n@IJ_+A+g8E3=G0j}^T^)igJ;bQ@=@PtXTbvC>qz!iS443&(t;rjwy;dxaS<7{{# zz}0TFkGcT#^47j(>nwe1fQ#SCwC;v)U-faed0##@%g2>Ro~GLmG0F&>?2RrD@GQ?) zMtECO?@!{b^rS2HPW&qO z2H5ibYZU&|2%ke54 z8-YsikAZ4$1sDDlcoAIbC|tHM-YLJ~-OIx3(!Ri!zcIp_Bm9a8Z;S9P5k45<_eA&u z5&qc-KN{iRj_|*U@c$j*rh|6^PZS-eyH`@z+J zEv4Q_{)eLQZ$$VHBK&!9^>2Gz{_27*MEuW+@be=4QgHQuI!j0CZ;Ha-7vVc2d@s2A zM_>Ow6@`Bh`~cxkkr(m*vnc%g5k48={~Y19K^LgowWr*=bJ69UL6)8ED_Zt}AL2Wx;Ywzm{$&VFVT75&tYtIyRckoj3l9mAR0h;sNfV{Z&nT|k2g#I`>cjlS)cwVbb;O%|=UAH7UPp^3Onj0;r^o6kFMVoI7 zZqi6!^}t%~{0s7@os>~%Dku2|S@0*~MdXH=*}548NC0Vl9Nb|t3$Z(ZaLetczNiG( zv{cS@G-=vqAX;rJYu|Ev`}(ylCVq?A4lQ}F)hUo^`E@R&Ie4tq7|wYlzraLA&mW9hT3J$pA8w-Xk?SOLcV$X5Z4*=Ufyeswrv5-zWJ~O zCbD+SS59MGMFD%a3=j3#N?ldKZM!skZA`7Vg?rA(F({$Gi7b> z*;$dq$gP=&3euhG6|EAfIu9g~?D-F~kh^DPf zI~-G4X6LOcv)NHoIqS4q7J1v5QiJFR+0?gP?N;TnIjdw^P0H-OQunHx#ZBW`weG5G zH*7TT)DZM;FZK0Q=&E`I^}bae>HsTT)W}1$Qh7`wwnkLNHx*KORYS1dziTuqqsh-u z=Z@~qfgtBD#P=FDLD$vUZE@y^h?%4wWmnDGHvqG_$>hy^XVNakRB*GePn}wS$reJN zATMUqIhjV^V-9Ear;l=gWZdo0oN-P1z18k3XgViJI)pDVXPzWY=bE!f41P%d=b`^_ zP-BqV^X(j^_AJK8j0qG!C%DXx!E{%8Q8@8-IjFHiQ=W6x1TSDLBZ#8oMHjC5bS(>e z8Nss{j{|k?;Su1%OW8Lh9R9LD*ZE5tV~daM%okq9IGQo2%Ck<8bT$7LpFZcW^LBKH zy3X6txotWpQ0E@%yd9l;D7)>Z0zbxrim&;(;g4a_{!5gSIg5<}X6G*)0UAQ?Xa5M8d z<_S8_aE0KzvHN$hLy&kQ4obgKi*ee$g2?}<{3(~t*^!)&2_okg1Swax9{3y7Q$g~x zT<|@}Rj{3UDoDCz2agE8i~1pW9{dD5;3r5qv&=ViKA+CdQMvMh@LeHD`a1=QHzG(m z%MRChIr4uBsC;Ko@G0L7f>*;=koU1jkbD;eyU3>?@;B!SBL7{&;rp;)H}6XjzUF*E z^6{d>rN^o5Va_Q?dQCv3w@#3JZWBaKeS$Y5Pr+@}YZpE$*h_vL{(>O%O|Rugd~>cK zaGh}RasGP+NynToNca;j{Fn>h!+c5kl^#j?Iw<@a<{5&#m&XK`kgnh@?)*UBUqcq0 z_hrrv?4y1Nr@T7_;kRFKJMkSp=3w2KHhhVLIu}ssb_nn1Jqhyu?-fL@M+DzTeHG_V_-}Uf=3GJO`<%b_B#QrjLHr+f z{zsg@Id>5M$DRMP&cCk_`uEd+37*4y6}$vGLHegL2bmE)pcYm4f7Jo#1#^$5s*O!YES=ItKJNp5xmD9ZI z-<-I$ebx`_u$|9zXuWoi)~=_t??&rWS`X#KF=NXuT;N&O%+`VSk;tJer&DyH`JzrxlN_z5(?Tg_318nbpEW6bv z%F}?oRJUvevHPpR-iR_fd!x#_DfS|>ux+p3A^WqCup0!4bZsv1fH(}rQRF) z(dOw1s`<6e;alpN5EeXwRb1%*YOUQ3rR?q6(ar#8xRUHi6HOlsh1QM~UU9Q4k35~u z+L2@-r!=JtU1Bi%Phos&QYZXfDaP1==j$VUM}+T=@Q1*amg<($`*IZiSKxd2)lpQ1 zAB)0YjBqw5rB3--65(%)aBokbNTSy~&pY9jjtO0>Q>$9NgFAOGxNTsyJ?zG47t&e% zj2hOH&7(C954of>=Bgx}GPBz6v=k$ibmLP4r7sBeX%)&D^hN=(*Kf(oW++t{d94YT z8kC0pRVYRq;556^9Apr26Jz4}f(TsoP3H`>ILMG9X=3cSO^~sh+D2_7<4@p1#zF_= zPvj$lj3Gt^7cl-1r1Q-3KAZUHtrT2n+qB@2@L#cQsg}mC@^;NM?zn8`amS^XT$r=& z)cb(P$O|qVchqYV`=9)cGgs(@XS8r|&UT&Bw2Xs_dX`lRJx_p8YrIWONM6tG-nyqg(3u<$-ddo9P>LG5$Ue zqPs!=0_Vfl;1_;_M0YyhpuNy-nt`AAhTotP$OwM==BWPH@l#(De}hgyr|-OXK7Stf zF!Vq5Hz>@B%IV*N<)&{)=w_MRReW^biEk`j=7GcK((Uv9bnic#Gt4$B1q#X1DTeq_99cHe@j?i^*#lmF{NLdJ7{`Z~d>)GIOnT$MDJc zA%m*j$eCz2^6BtqZaJkLin78s`7Ksv8FWbXbshVsG$MbCdC7JslqpMo|LkVcm(?h> zLOXfb;r+lA7N_I2dB=k?Q(KG`w#qDP?cbohD))yd^D5#z99ZRftICf!nq7`&C>p8j z2Hfue+?hWNcr*aAQR+AR;0d8 z=~ivce*8PFVdhgiV#_IcT&s6clB{l+oXgIgR?2+s>}J5~QafV3MP$vA%!GENBKsPC^BT+S zbj7ki+i{nf0m@o7wA$6XeI?6bW^$8fkRPm3Q_Ep`IvTp&0h&o3s&&7tR=14!Nd*V@w9%= zry*!3FmRrB18WDnZjn|U`#+@pab&ZLbWhgS<231YO`1wqyz0gtd5*lMx2pf9$t#};iSrbI9#?gd^#zZsf9kOPllpf0lS%b!Nq)~1W5W6-=<1Gq(#X1w zodcQVW9hC(>J_^oK2_B>@R3;XysHB$&nn8}cYWD!UE3tq`=)RBYS1_QG5P#$JGxhZ&raym z^Y@eAJE76ez1?ppRX7|hSmwnr!4$Wi0@`ma`N^%u` zZR2s($^612Q%$4%RG*5rKT-djDL%+%N86{+2GWxS>e7=1Y#(ZO=aSd_ z1DrCjhkV~ONt>I+n8)qhHK(%7t0P?gI*EYaY}K=T&>la+yHL9b+qiF!HO0RMBlT!^N516ukk?=a+1t-baT@EF7&(a<*$KTec;v}Q(A8Ut@b_>-mWp@zo zFQ43JcdJpqKTCK6bwD)Ym5km`9ln3+r5ydW-+>1mb@#_FvBThbc85Iw7XRI1cLHgh zPW&?Qvz+Xq@20+gjahrjhy0Y+Y+>)zOZi8p&@xUo=J%TX$e(t0e8laFxf^+YhWE5B z*cGGtuJKaMv-BO>{Y$thdjXBE+Q5jFTeiT7B#eb5PxVWgyz*klM&Ev20lCxGv*q3M zFMRaDS81+TctSX-5amSf@=!YS(JA$H%6BFy*d3|7^MZK? z_EZ(6>)+wroSxk&ER+w~ek)tL``eAl-QOlp-&sMPl%Ge)Pb2x!x7pLHJ}7*J zJ_zlxsISq^&lg<3CVqE96P|p+&bi~yj9LEo5`Guq2gPITzNvC_i(0PD$g&eN$`xfp0f;FCEA3vpe|w zZnI9_UtRtoPE%nw*a-b_`GKi=Cx7be_?OsCC0y;()QKW}We4A8zPaxq?ku3{w7$X2 znitg3&x)VsAdSfZ`V8cJ#LWXnixXLJ7OB!cVzFtPtT5<=Df);r^2j#mBMuPWIQkjJ z75wM}#CLUbb^p)^O+(EiQ-|mu4*C9p6`9{6om0jAkl}CnHk|bcr>`6^eFFU=V+#A7 z%Fz#8>~>UrkoWg#-rq|4fedm`ot5k)n{2`kKH}*_mxkiqQ?r$R)_$WEW@zwlWyTHV@iqTo$02G1nk&?hmX$kcA>%yx)vm+`sT=xkN!HrQZ~K?xbx9#g{ zxSfZJ@Hu`r(8m7&_z=H$;r|8T^+3J@M(asEO!X*TJpX5F26cAxH0_{0!TINMlJk=i zjC0bA$;GQ+&+`FWL7-M~5T(&kNs~suQ>9rqIMeK0ndB?w4&^@~t>eN4qrq zcxBc>$DAp3K7T9lQ5?Tordu0hI)z{5=)_lUK6Gc>NAq7a`V}2Cp8R{;N%Gf07-cAh zbQgF8C|+`ko|cv8K0MM$;GRw}Ei2E@p>fYM_*Ge$gPl}U*~nn-87~azJU>qsD|wcGlVOLmnkpsxOBFTq}S&`PMoc{&avV{IN6}He8l= zo?hXqhaMOIl>x5sdjnkIvaqwx=I^-xS2!jERpHC|;8lJuUlw@QS^mcu z@OoU~Syg=FZ202=uJ9)VT>P7u_*!SvUlia9eAw@hwjxlX`5fj2pm&P@kqCb@ z!oM8h-;D65B77{uW##Lg()($I|8m-w*!tHT;qL%fdsRBh|BX@jZ4v&V2)`%7ABpha zkMKW^@b5-=Fc4Z~mfKfvyrFG%E4Q#}eO9LB?de@dRhyZn?@%(t8~lAiT9dbXY^uE4 zjfJ{a-Pic5-OLWAS6I|nM%MTXhum7d-SITz;(f*XT^0c{amR%H!u~Dqbz6smT~^bx z!9u@0jk$b!$%x(2V>Sp>??p0RvYB_=c-;OJ8T^|~Kgu~v?p(oWH$kLVRcT9+*)CDZ zY-)H=EiRX#t9x#5(_KL`23C9ClHS0UZuL1C!Jx^OHWn$TaVBTld^7{6bQ98yJkn5! zwK}%;RkWA1{b_nw)m3*!NY}1zThrF=>=^u>E+m}~?!gqV$lSqg`>{JWl%h#YH}!=T zRr_9)iED?rmJC^^8)JMxHMPy1sqe^cdhSihW-ge&*;3XUX3K^4L#d*s9{#>d?X9W! zrrV}sI=?B(ZG_^2#`POFu4^||B7;3XG~J<+rfGci%BqVN+{?FWjoDP@uRJu{QRHVY z%1L*pRJY@FN03<0*lNvYB5kD`-mYfAg<`{YbCb!MyWq&S@3gGWH}SiR5}!9uZr(h3 z)8#xSXX=|}4O2%-#rUhr*vQ}}KuKZ^uc@||}0kc0ajJnEpv(zS0#Z7=u^@+C-qw1ZlFG?q4U z0WMsHm9g{J=@Ih(s{B_o=5hWSJIj9w-+U7vD14XjD-*jb1-=?1%l|3)Q{E-aX++=Q z-~k79o3qOQn1dWyYjB-Tq4F*jBwj&~^6qqaS+EuP3L@_@!L`T-bDQp{0&wT1(8Qt z@IB;15P3W&$RPbCLGqhpf+2jRU@KOrf}~dxB>j5@Derzk(myQN!Fv=$KAG16JDCFu zLcdZF`ZhuM?-JZXd_nk+3PLyL;0Zza=I8+Azf_R)R|w+2+4=8s@PLDwGf58Ww&+x* z+t-}L8h&|x#q!g&uhEGQxYR05*6`9Xn-k><=!Q$Ii=&H_UQ53O9rKIm2$SN26X^Tq z-GPowYa>m0fAZC)$w9)ioG#gr)mrXGt?kWg$nSXrx@9cSIcX|~{xgrxvxAeeIT2TU zb?Wwq(SJ%0Dw->$Z|1aolO}5npC`UPa>ZR-nNC(}mPQJZvoUX^j@#*x6j=U33>oz7YHRLxrQpu~)7OtDe3i-b;Oe{KjY%1 zdVOT_F~X!n_9wcDum5qUIcuHHqCQ)kpvt7Dcq^@jBlmq1-B~I>mCwAF4s0lp zM}zoU5A$pD%7@}gAO47oo9)0BC|^FawxfJz;|R~?@|ky#57Eu;D31?A_ZI;_<)_Z& z$LrOV=MzqMEg5Wu=3~TBo_(6L$*=h7bhEz=_=(or@OXZ=Li4?VW)(F10^RZs!ao^> zmt43{PqONU&aXer-d7&)2iN=c?>2?VKxJ2%6<_a0d3`7JH%94%I&PitM!#Wq&J@&^ zH>f`tpH)I3o z{f-*&N$s)`FYTmJnrg$;oq0N?eO3qQY2BZ6X;bqk!>nY4dRNeC*Ys1^xX|U+`;$XW z+bgP_?wz^_{{@N7Tb)_A-8+?(cTd%g*fq7M$a@3p$5r_!ZkD(z-(2#qzRZ@5(+fNH z%C@CC|I|0Wm{YS8<&*UvPIKSo)($>EeYq3aY;*6=*8zJ%w(WBlAT#nd`$yPs_|tS1 z@BPHfyLffvNqLy!ot){`vP7f06WZixmyVSm8)$3niAq{W)DEPE+&w@nYuc{)M* z@YJ1;}#LuLl-7jqtw&*Si=Z?|L7TQTTCi)t7ZZh0hM^xXLR#IPZin0ayK5!n5ep z$%4NX^p$lUMtR|m2QiuqseR;Wj>D0zV|8x{{nJ`)EON)ctX^AeNs7kXi`cN4vWY-6H)4{qj1?bkRmj6A(AsV+u1VEWj)zHH zxlnGBQz@E)gzbqaVYZDDI8@C>S?ayjmuSPP^)2nC!JgsneohzS@SQ3pv}X~VS!5IQ zXBJiMgp$fyda(g}18YT_bkg@`&Y^L~T&?jcXrr%2Xcrh^Ry4SJozewX6QabcVxOMZ zW%OX?L`Utmnoph5ZmSi7jkeR*PWXF;ztQQd-sE;&LHxM<-^@CcATydKs-x)hf_x}d zr?m@fkKjW12(pHMP>>JqA;BE;Z^5(BF9^N`eSqNE^qYdD_mUv->!|yRKVNVWKS4gU zIl;H07ZZfu=&R0QeMUG?-xuwMUm^%@PFDeH-A4Gs4oXiY{7J!cna>N7?lD2qeL)aD zIohk}^j)asBitq&d6WdtXY?m{7Wr`DS|itK0wu zAo$Y`>N`@qjC=`_ZkBJXZsj#&wZXw@`hrU@n0Y_W#TQ?4+WLZ$9qd%;3lhem8Y3cE zgb_R^!E?6qyu#claNPuRfqB^1>L$MNr`@oWR2%n#I;Wh9BKZbN1MBch-hP1TD&io#rrf%1q>?*s1mu>tq)@r#P5TaHqpY$sW~SHB4VabN zFB3NhkqtI>*;Ti`nR#GgY+h2hlU`;cWhEXq<&sGz{|RFguCliw581YAeyaTYUxE&U zZV5Z%2dCDJ-Z!y_IuYNJMfb;zi}oh1XDDNxkyBu!NS#5h^QepFcGCZjJU-`Su_Ac4 zl35!vlYO}K8`1-a?lAnk%xpcW>`Rl}RA-CIe}Q=sGJqN!`UoS)iTQFB!4t!Qef0~zA{J9$-} z%jEYU`7K`b=+x{2^KEn-qT_^!<8z6tXZ@aZ@oJu|#QQw)=11{li|6C1eyt`g?GMp& zf#>J2`4m6x@0wjIpGjU8>_)F7KcidZeKtaGXo#b_T2s1bVvfs;=I2=6jSJW90I5H^ zM&?cI3sZY?eN0Dr{29t9Ug7ONK8|kZ`gP)jHz$eKq)k1#m@r?Dme*p7m=Ed*d850p zPja7}T1VfZ+kI5;vd;coa{X=O^J1i1(jExC_bZ(JvFJVw-BXUv&--2v~}NU(|DGJZY$WV0hX z9qn^bpQe3V{+p@#s_$k(eOEtYWK3BYqSQZ@b#16W5 z>~My##vKZH$-{|ynm+1eba@wte$_b9@$E^S@+Y3LKI$lRXQxz_Ms%%?-Ut2dN%FTD z0?JSd=`QdH(3eBHBwtnqXBfwB(}Q!KP7raWu80C>gv?8iLwhpv)4W^5;E7Y-N0FAw$yCER8-J-sUAW%0bvFE< zM_u@#02lv}w9uBn=6%-L_?oYIT-pOXX_g>lFSlyujegezh)m_VJi@PxaP4XEPV}eJuW4_S>catOmELEg_}_?d z>CaR@`W*c+@crOVI6S^(p+2okR=@a$2tO~v-xlF*;Hq!gI-9?nqwrl3zB|Ho8?1Md z$Co1fD-r&!2>(ume?P+6tYzwZ202K6Iyu%mr5AiC7a3d1?hAX{opo4GZ)s>l&-;dZ z2Hjcf=9D4`y!lu_Afq!KZ2XE*b!hf<0;98=u9CvWE97r%zbaIz=^++v7swtgpsg~X zRC>l{u-n=OcI)hUcVcse-SCc*jv4`ZXI? zt!vlm?;9(}bsH1Ts4PMLO|TB#@n@D-oh@!{6$3HY@)}#ULGzlo58jNuq&T84Xv>~bOxKo(AF8$se~r1#~I4D-Cn{7 z(EE1T^Rg;-ccHLlROwETl3vx@So+kRA`|17{_Y-MOYEyOb=kah^UYp}elbIHsLk1a zVBuR>&vQ5`$z&m&DnTZEiE#9XOC8<{l%DSXhdeK^9;(3lgs+n77|Y#g|^Rmch$jLG-9vOOXEaDM2Ps&kHVh`cC-hyQz4K z1ff3+l)au#mzKTWQNhd57Ybg^TD>5Aa&+13j!Dd@^-F26hdCq`zDc|AJrvxd|dKqYqsLU*T8KZwtcbu!Ez5gg+^WyvGEQ z_X~pXeNm8dy(CDvnr8E(Ty27+XY{4Ovcr!Eu14?c@RuCS%)uZ2<}_;fFBRSbA3@^p zbkNuXf*X6lb11+3$@d8t-pDvZ^eY_HIHZ>M(IU78`3fS>b%Mxu7f|W$6C~ZTAaXh4 z{2zDzFA83TTry{KdC1$7!+f zl)e<)&d({!zcII!UhS$;=Eux`znrVK*HB(`4v7RWo4li>RZ~W`1$0&W9+`Uf$Rkr@ zMQ8UlQk?h>^4o=uO|qO-D1T4(QD4Jv8-ASoF#Z|xqcSuW?wd$DtUl4t{RL&OHivwn zzZsWpo@iy4_gm;nJe_o=C|iGAWD` zDPQCwLQvk zIxk&FeH(GZTVXTk=8}Z7HgY!48MFUcdfz*z>YP2ydBmGbUKXL3tjpb*mVXicqL&U` z;hYPCzGSz}>*$!VBdo{2CP&?qYy-I@CFT3>sjcwPP3WpqJX4=OHBndMW_0S)@2WoS zyJxBv8gJ8;96|Sabs1mB-3ld*93BN7XhsOJ_g4#n1C^bUH!NdfwbXef-vd?kl5bgD9>uID!Xs9MrY;TDRzvrsk)c?BE=_>9K;y$i^BZ#YY8`b+mS$pP) z&Ti2y@eO%*gDm~c|A(H`=S%77m!Lyb+nk-FKgr8hPA5^9$HQ|U$X^Yg@C6D}9Iu1d zdr%$r{(^N`TW<9;zoGRi*1@vqY;}YE8Oa03ICH|BCsWr^>1%!+I@!}QUd691*-tCxJG zI%@K!zCvM=Pg3B_7Wy0CmyPVxSrcvJNm>0$a=GfQzN7ZtTsNU_>~l`j>hphwyItmJ|3ZKN;jN|GIqd z*ufm{xcJ_&WFPgmgYSEGWK8Rgv+^TjJ}>&Nh;DZNZsV7fZG7*qbxR`)_nps-T3q!` zXIO-Nu8*T{oRy#DHGAxb^shghsvG^`R88)OoaOgJ^6*32-?FjV+){ol|L4!*S3CAH zeKd1xW2>z(h05aBiM~Kt_d1=wJ?X zpLa@E>Bsu==b<~>6FC~uwYp~?^g0zFaH5gh%#Xa448lLrG3891r(+zQmO+69=(eR) z6}`IX5m)N=QV8uMmL66-R1Vt8G<~`Dyu8f|iEy7Tk5w-8|9{b!hcZd^bno-4Q+*;U9|d2O|9Q5k4B>KZGV$d{l5`DCup+@pC94pM|k+*K>^J! z<;s58McqkzduLDQmfrT^-tOL8Lu*VKfo{=;b(FhYG$k)vGsN++Nyp zOZV0bWtaOipA%4Yl1FJ9ycAToLBe2FRbhL--Tz-5C)fxsZ7}C2T&Sx6wWLwum97q) z)ByLDteU;?af#Z{yW{3iy3-Awi&v}(?4$j@c4z4vD)05?T6($$ZZ8dmSBY95Up->$ zFK20Tv) z@?jbiTu6MuUx5j2U3{cZmVaK54^XRMj~QhV(hnOxK-~tJ6I_Zs1o`kT5k#IvpyXE) z%(HeW2%l#hd{K}=mC-X3-Y^H8fu8JhrGM91TGHdU2$JqP!M7q;!Haosf-D^G6GZR* zwBQQr!CWBeY<93Dh`-S%Q%?>HXVUwW3x7rs{$qldF&4`JiNDA}bIT#|rAL+?eV2p# z9W=KazK#0gaM?^~zq{F&4!`BX;nyuly_9XR*$*#B_`^WStHcuHaF5qYql>=i(u*&? z=z>cwJ<0y%3okr4fy$fNoUJ4V2r4-D7a`jP6u-79{Aom0m-R zbC7c*9KT#1_jei8bWmpUtGw2cPx55!GNl_~s!%_>Am00pJf)BG^8OdMzgBdle(l7|c~01mJ^J)iK0z0YK4CV`(ksjX%0_K2 z5S@?FGc**WM{AozU$tO9`Y`F?sg^ijPIHqQ*_Q5*{nG9{XqDBM*~?-!d66Ee0i8*{-#QqVHw8H@85?tG;m9Dh;goaprJ^-k%EXFMlA2Hn}7$kB+d)jj*5*Ua)y7W({c z1|_KELq*5uBXyom^XZUE}R zlj}WJT#dP{tR?lZx1C9L*4gl~M=71+9}Mtc;#p%B>umUv0QVt+nv;vZ;t)>YPG?S@ zb@a-k=4=eDQm3#bDQ4&3&ETR{pCfucwW$;RmHgWH75ORrI-ttu>Ct;9NBHgIr|?^V z-YNb7zXC5M1625jfUV$sI}H92U?J1Qh>o z1KYrtI^2KY{g%U0dfQp`-aj{qv%%KDXTy!fwrj0{jO{gzv53VnMS2T3QbvA}{~*)y@CVD^3- zHyrY3sOmC+oYPE}87R+bw)(8O%}a!5=QbAvb90;3hb6@`nui1nXEdv>Ci%I|hYUWq zc~r1CxA_@^&uKnk@Hx$O$cF=%ni~a6bD9?kj?8IZDVRN@xlJ&4M)NkoeRG;+Ba?K@ zZGKp=G`CqcGRer?X3c3B2sdkwAchsqF9;r)+bp>!qjQ^0|M1k@<`&^&hO;0RE*Gj{_u$Kf3{F9P-e3&5?w4&X3w zC-7#V<}~yV&0huf0-pfB7x*lY{-^mE@K)eUz}tZH8LZv`Tn_957J)l~9l+axdx6`5 zW#A6rQQ-T5PXX@)J_p$!bxOZ)mYH?*%^zc%#`X~V#^>)U*q?bnmul{dDxU3>K!qn4E>#*X7$zW zYp*G8AR`+sZ|k@I+V!i~Y^=}}uU)rx^^FxgED#Y>UK`t1wQbrM=5_V8*AzFkt?{W? z+H2QeY4YCPv$b=$kG*NKtde`B%Tnsssx<6xYsyt^iE zdyq8D)GpPCB-zs0oh#kaHF#;xC~FOFpID=%4)kvA?dlxr$yvGN7$Y!F!FBZy_jTvE zr89@rbG~)O{x+xdd%2;(oa%m#(N9iwx`%q(-NW6U+j_cl-sBd(J%fWe>U~ai34Lcy zdGM(!EcEwz^O@@1f$?!Kxf<^4%a!^`s>kHj``h|ySo)}?;ek>=&5?oJ;9%#?JvrCN zbK83dw|5S8@yX%)phh0}SX^Zv=%N1XP+4~LS4zRN3ZA2mZZG9*RkAYnB{S8|7b~d_ zLmslZcA@Uwz;TejA>_BU-wV*zol3^&o^I8<;;@TccYn{Ic|E2SVVU_ZxlTy0Zn%_Y zBawV;&RnlU*>%_}WgjN#Ej_vZ9hAx(h%33+Lf$^u)rq{_OE9H1371GlSGhu`#*_>2 z!Oq-{P6QMPnYx=B-Z3;lLJ}wAQCHR|kBC7Q^~yvtyn`OBr!>^LrLTwgZ91jl9fQNA zQvU#4a@&z4{rEud&^A8xj3hoZ4|BmFgfqvC8YxC{ez|T+jp_8Rlykyyy!NH%) zJr~O*DCg=NjP)P6*D)j|Ov8E&Yekpgcdo-Vl$2BB8P#~zInQq~_!-_4Sb*OV=)_NP zJ-=q2#nF z`|4|F*1JGf<$OBw{Mq#+vyGmk!qDnLyew5(vKzQr#?C?>WfHC-$6C_SbI#!bF`;v! z_zb)QH_Oz7ipO-l$Qh|Eg6f0x0;?+ICNDQcIGv1{^m;u3-$xc>+qVwy=wj^Suz{Y= zK}Kw5eYUT^vs;5@sQ5NnKT+GWa-4UC(v#`^=@xO#RdtK_QlQR7k?d-Dk*c4y)E&_Y zHaaMJ;fowpJmD&z;7SKu99-vMn}e#KqU(0B&%q%FcR9Gn!FwIt@8AIk4?1|*!J`g7 z=HTNFKI!1o4nFJPa}GZ5;0q4EI79K6@T{SF><@UVkN9em8e#~pmq!KWR3*1_i-eBQwq9DK>a zIvTt3DV=~|ql2>15H1~o;8F*dJGjz8=?)aW&OzzGglj!iu-m~t2ZtQo<=`F%?{#p$ zg9jWu=-^=ok2*-R8R&Um`|wb2pE=aWub-_r$^F_FU6MzOBzJ0E(ZjZ5t6D!pVWD-C z;~vUpS?3Pu-a>45&3T(O+*kY*C4`Cihz^%QBUoJvz^tK2>hx(D=h^NUh}dx>wST&%cQCEXjkQ`_mqUPZt$|^jMSI2oMDtL&&p;; zSl23R-IH}wt-tM?0G}sZXRR22>Vn=k>u8xq^ob3AZ8fj+E%tCHtX<=DXR{nXU8ptI zM%L6+CZDd>OMU#RcF;v<_6usq`Y`>1cXjR|9y2asaBz$;x+T8Ml`)>ig2MfH=E;B; z-X=`&e173r@MLuQriz~*3yO|UZ|amkg~w}V&q8;0N@Zz8*XrnfknX|^ooM8wZ>9_- zgYZvur!yAJ6KR`|1oZp_!=$7K&69bJkx}=bbS!v?!QqFzFav%(Rym)JJb(7FU|p3= zmFs!%LBHx;jS1i7Q5UZ7zjZeJghyR?Db17(9|~~s*Z0&q8-6Un6|V1L7~UG-K16U< zGTY?0;)iepH+^h5eJuJ$N3S}mv8Lue-l@K6O-*4w{2Ct!RQP)w>;o!3y6)5|d~b?b z`U4UEC2+~t^ZzrR_we)le#EnP;&;p=K;bX)JHgM#&mv3tdHkGIwwC_w!uk2|Ha+w6 z>GdkyIq`pAgx?9S_vzz5#Iwdz|y;JMfn-8tzr{@gsTXBWg z@jRcOr*Gsr$8U)XU&OO_ilg;J?}V!^ss8x*>HXM*DSQWE#UOkS&)zBg)8Jau@$ogk z^-ke`4&D)jk4NDzfo}`K!?k+FU!cw=2wxhsd4<0Nd?(>vKG#IyH-Ya9;`c}4nj2LH zdBF_HYq`Aw#n^75++TAQXRxBIv0B>eWT7f$s!_63(GcKiAa9S9rlBIfd$=UZ(90~r zR-4K~p*$(QSKy_jj8ea1nAtA=0cv4~df3kdV!a_+9n3a?#qA_$3H*1}R()V?wt zRYr`AK-R2ov+K`6xhmAoQ^{M6a+PRPKK_09B6$JXH~|xL^%U>f=S^9i$&VFjGb0uw zo^1}p6Df=wSxw<)C3N-EN}xEXj8O-Q@YajW>#BGLWtAt#WvpM@5|cXL>9j~~23q+} zr|m);h(^0_h6rg;b*zZe^X%^F>lx~iFg!uv<2YymCm`@>HUD-Ua3ZN(Z>1vCe%}}J zk!j$0A&oc>l+A2GkinJuP1$_z1lH2v4+_VIRdaLM#*PUR{yb3OF98>xP5(zfDceqC zn|ls(MB&is+bg;Q!q3BYQ;hq?f-CIY zb0HtWKH)3r`vu>TBqPA40;~SQuaKVCbTejUP1XnLT=L?X?G7%u?9xk4cP^>^5mz;r zG-tgQIqMaBK-n0eV>D-o>TZQ3XKffY-dC6z_hXNsIf|Z-K;xe);j+~$kDulE?0W?o z#%(685;Qf;gJNDf)9HJx(eUt?b?>hbHdS|m#~@N z+S_Bp*K1vbpupdZ?^g%wM)WPiy#qbnFdZ~Ze?jL+jkF{0GzXE3=SasGWHRHsxc@}A2D}I|w1V**>11?y7st<$M5q45JEf~6;yKb$Jn2GGCmQ`)9rOWzE6>1r zbTfXGq2z-^cRF(xc1cxsNMepBVh@{9H5V+{9adnSYjk6;xS z`oCIpq!TIoko&7UCsAF~7?|!ob&`YTB;E;M;}M|nn<6}(lYBG^|4f7*j_^N^@TVgD zxd@kD*gNH?`r{CdLCqJ#oDUy-PW^yWHwGAjt^RX;is9jm+^U9M8mG-jm5!;ZhGG>` z<%L6VhMdiZ9jU(37)v9dN_51~$gc_g$s$44dX@^ZAf!HB>k2K-f1M!f3VM&S6;zuM zeMyiB@`xbJ_6hPadRUM##!*4&9us_%J-bf(D4uox#~eHXtVPMH_aykDgD*L#h9v(w z2Qv;fIGA-%-~7SS4Ep00Gk^0hUUA83>yPJ?KCbGUFI)N3)tkPO?sna1dGel9=rED4 z(Mgt!PSWo8kp8x|!+x{t*x#VD+x4x^bnKZb@$F9ayDqMH5PsalS4-c02l>DE6!}l{ z@-xWnm2}Myk>*EFk>;zdYyLgbyzdlgdR=q&XDDYj&~IlWo%**(^W&#TQ~GP8xBeN@ zYz)$DjMDrOX@2AsX?h*`tJMbn7ikWkB2C{0)aJB4qdKKK(Kx?-oH6SxzQ+u4t}}NP zf~V^>tkt}MA&?m(<6pI2Q&V7{5N$&1Hdk=A$Iwag@Xw~*=-Y2)?em~Ib~<^WE?4Ct zTs!f3XyQB#bD$2|=FU#+=Gr5tvBrOzjZ#I?S%Bu&(YFAZ>oOLt_Q4KD|{ z!n5gQ&4xDyxWX$sbQ``m3V$)cB|GWJt+V;-;{|$L;b!lH@vz}1qVN|2T(w!1Iv+|0kZk6FpoM-Pu|JextLvYn+AOCwiAL8fZALH3O z#sBvRe+_k2_1(vR3(rmbeEds!_D=DyittWwwFe*nR-UzfLwce!m;=?zA?*V5TY2xny zKLD=0iQhfoI%n6X{|LC+laK!u@Emx_(f#+SBCIU&6C@ z%I~G%CxYse@J zLa&o8+`&w$nTVOTNSQ>^?HqQml3&kCw>@|d6G4ouwY^aZIo2r)Jkxk8fL9h(>22Kd zT}mjPGZGRY-BL;@junNGv_DK4z^U&{YAgM*KBeNGa&LAye+laDmR_ld#92VHOD{k7C6->EVsDN z7@!!bvN7c&^69>!)pnrp;D1vgt2}0uoZCfIl>jP9v;3QSN=Ip8pT-(+8cA7I#8+Mj zo<@GE)!>;TXz@2%X@-q_V^J$Z1f`3=(_^JUGenINsp1~22Ro*LPsq!!3p*;0h9q8e zGp-fq_#Wt7oxI>;r~iGcotM=9inS%uxkdXGexB9$E@VLX82CaWjme)0*9pOk_%U|T z8nMRvir*%jwOzATd@0{q7q0QX!k-Y%;(}Q#ejDQo#tw?F@xH=W3V(-PE7rOEvP)68 z#`_A_*hJ^pj|#44&03IfjrSG4h;O<0FBgP=halk^?<>6Q!jHJ{=UlkP`zAi$Ruf;4 z_}c`DzZ0l%bG|?PpLO9GzJ&_cH(22X;YHR%1+QbAB_}!!jT)5RPd+_NsYXISz_+@CpFUZT5I{kmi z^5wbQ#h0u=b1rvk`)b(-;!^$i>sTp!aSgWA=%-7Zi7S1bbkj-lNu#6ISwgcpQ%39E zS8|qp@vKLuiqOqE>;8Wfo&3{tx(nq=mMPF%b6$`;UtRn8>pZUKi-mM%Q-zjM=pXy=8&f90+~I}d-rsz_x{e3;*3{GQotk2Kyc?df)sY-# zDo-on(`3lIp({0Q)W{Ecc^Z{p_A+Tt3_)!{StE#0{_f2qUb0ajl(w-Aw_6Lh{DZj;oRdlCq=d;mF4cJD# zeM`>(%-Yh;%r+0J+#Yyg>>)PeW~Ik|UX7LYsAn_ez19tJz5S238EV_O$}n@~)VAi! zRgii{bG8um$$EBJ_wMNG8}9DuUPjHT5!2wZWJAw; zd%7Iq4V~Eg?YP;*+0b)qe^;kunY*oXK-z>EzjW{0~CgR=kI6paQ{Fq+%KGN zB+m7Av#VJ~Py=K)86r=Eon3~hc7&ID2DbMOY4yr5kU% z1$k@#09&;U9kMxxAS3nu;ejr8rQ5ySowxFqwcFY9lWi4urI8jf+y-b*nkJpwa=S?d z5|dvNti)sR+p|L^x~~{bnPgCkAp3W8_L;Y%yee9SRpmf{Ej>t%iOt|pf4>pK^xRkF zKiAc{L!u+zw$2^h91W1`9`0e^d~Wb|O1Ir?cQ?m0{M^=O;(gg{(;n!z8?`N5#$L}0 zmMu?~b@gxGu3hiTC{fR{tJZJ&HB=j2w-jbFEWV!Kz94USo3sQqo>4i}pUR1DzI`}?}7|A3kUNXW5=wE_}o*!gYF7*G|*NJAE?^}hT zT}K&7nc8)bqX9k-;x_*>DW&qhKfo2P`IU8PM1yJ%xWX%LPQvRqPIaYbTKKHg#;w(a zhZ2&!G7-P(mpaRQNiBce z2-kSYJH~Na6A}JWg#S_?V$q));a5cXjS)T=;UA3f`y>4KBK*%I z{O=?DUn0CAsME^t;s}rLL%lW%?}+gDeEJVZ;j%;bPU(F>6Y$^VHcT<^s@ z#rJx1J9+ndbG`vO{b+k zkv=-qU!OcuMcrIg{7Qr>1IsF9U_~VztDsHns)DPCGb)W05S(aMr8J&F3oLRs_KhVq zqgGe+)AhIVl_IwH!drD5)*63#tKTTXP8+>&WWB?jf8Sq9x7<`ofB~LS+)B$?k(d;X z>^5QGzBP?zR!}M= z*gcE#*IZHiT8;?9XH2k(fAkN+vktCwaGisiS1DX`E5V%(jsUfvWse|67n*Ykzt=(O zFoo}T@L>myPLt0_+2IErJmlbE2ah=T1W@N_8r>)9KPMdcydZagMLD1)vJHg zS@rV;q00%LZTBCVv*Lv>cDho++l0S0v1i+(NGQ4RU4n#5hidNd6g-#tw%~d0jQjHw zt5aQsPSVkvK@&R|+3;(CC7}wT3PK5eKz~Eqt$o_X;vd-RJOwK;`SO;3e)X ze+F)kJO3vI(U}|FG7!asxy#@s7p}38_%}G1b&z1|?_i^YY7(Mf@%j{Q@`>|GO$&>DYqJCqe|!1a?0fx3TBXP#5ljUG2aS4KBt z?yjsOPLjKOs)2LVeO%pb$r#hblO8R-#}2;CF^qqmr|165I&)@x82_#*WX8E7=&d>5 z!q{(<|2g1F!|R!rI~&pWIeW+@dGuJE|Bf!pl;eM*Bdg?T&(vRYX1ny9x})*~v^Q)gft9xYGGZuP@1PZ?;G zC*{N2gxZwt|IjXzp3>0OdE0fM*Z1iTf(GZGbx`MUi0^y{n;gtJX!LJ|;A~%#%uDB2 zu;;m`E^t4u(ZQkzH8R6~c#?S$wdq0LIrpa`10zH1P=7$#vfR;IL!4RAFAvHl{a$$P z%U?me8@gfW!gF7wbM?L&PyEqwdmW)gHao3?e zBPG-E;8fZUvMO8KxYm2PGx+OX9w(@Ws)PSZIqq=f2<4{uz8sR9KYvDTyixCga?#yZ zo%2HH2~Xy1e9rx~cSazq8tBoNi;X zXNona1?npnx-`wY5BWe2rtg&fcn$BXw#54#v2{poZ9er=`Dg8sB8H5SR0cf%bZ^tq&O_y=hz9i=D#KFX}LB=Zqh zZtZXN@|P|jnVLRuHv0nRlNPc~*K6eWoVm~ShDp{WQkgbE_xIp_-9~x(Z{+Dm@Oqn* z(Gu+0x%XszNq)raw^)k3eLiQOm-D>BJ+I`s;GWfHOuIyuYUh%tkpq1#!l-DWCJk_{SG2NDn$}_X@m}X4 zXH$n%mnF+RPL}>YVA`sA557M8H4?QW^&4t$b;a^{{Jr@HWTv{j!^uqjlPQ0}<%#r_ zC-tX3kJJ;hrsDgft)u119WFn)8QNDZVGTLg-xSM}y2IDBo1pFJ`!Bj}j;X+J;zvJBJKSSN&`?^4Pn6DrYA9H0dQFecC zyuPU!?y;>!X0xaZKCaTsaL1|o2;JkYJ6?6qwc2h884r(^C-;(mKk?sBUgEw+W$Zge z8D9%cSVqb)?|+crxSW!;Z$~O8cLtkwBw6_~{%I@3gNYhKG+2Pkm<;AC;u3(_tBWALz$J{$2U;kj+Eo`|Rbd za;WdqyYla;g>l=G!+}pkB2UN2Xf&t>dS%tDh8q z^)0RNzm5E=orLYM1^?S!IV1y>-{*;G-U7YXVfNO%pLcaT@A>hSm3N`KD>=|6Yi7g4 z#;eFzW7O6T+jq7=+v@sC#cOfT>jM9E_$hw{wc~rfajb>7!o^o(A^L`KrkM4rTZN^S zbQ!`_f6IN=Va43Q!FEomE@Ok%kdT8wdK?MTE+Wn49fR0^4t%;}LiM_;Z5|5;+GTiz{j?aS`#6vE zUI$(HjxME~weXe6VPfE(giAC@i zeR}sfWjq^Msh&yJYCB(1THtfQ=YY>Cm&bn}zpxJU@ea<6{GP(E0Y9awvUV)7ZB=p4 z;GT5JLUP%v`oE&mzQ6m^myg$zUOnm6limZ+FCVpeUqRmU+;P4JfU+$r z;m@~k4)tL9$Ro@%@0;RI+K;Z_n`!cyD^C11R~}`v_j4Ec{ZlpBJFxfSu6giV-?4k5 zj^_-|4ctqY;kl0I`NY-OHyOQu>P_VH;5m<`ccslIeN)GayT=~qYNL1O_5J-e-(KDo za6V-->5dd9zD&CFvo0Ux_jkc1^KksCcSQZH*-TmH^PV)X_!M-8N2xf0J`f)AzfR*~ z>klvXf7CZQ|5^C^Iw`sQK4H0&gnfZ9&$U|*1FAWdJTj(U~eOs4Z zkkSY_UggT=Bnf_{A^~uy< z@>=*QV{?}_ec`yip~C4CzB4P?Z|4lW15~>Uj(yv<@4dXso$xDPT&Z&z>RX01XKM45 zZ-KAFhZfs9?AyFAm(N2Jb=SzDqc|~uT;51pz8=)TN9jyapBwX^oZ_1^8R~gxYc>C> zHthOQy~DfI7E9FqqU~GN-e>1%m-$K`mQcRmB(1-8b?!p=&Y^sw@%cs?)yiTfx0&?yry)|1mo|oD=ja}Oyi?dEsJPlys?~KWJ z+1j9q=NZVw_#rpSvY_s9`@T!?);IRZMV0rR<^_I=^G(K1>W@@6hM?W!Xn7~*{q5wP z{ZT+8ejScReWG}%kK6&B&jU9OP5mBypf49~eDdPIvgr)CJT*BU`YtKndx+n_^SWgsKz^}>ZV@2WqdYlBX8F3H+@kmBdOx)l?wd4Y9_G$p z?}7f=Z&uR0l{819H2Llv_x+3N)jv>%EOhmGne%{&HyfgERe`9jbl*WX< zj%LA4SkAP~`bNf6b?}p)@|u3vh^x7*Eo-GMiI?)Q&Xr$jGml;H=fOMLMcy96Hqy^Y z=92#;u{?Y^^nPpb7yqz7X3ntSsXwd8L%d1>uNP?NM}u(Hhhh-^JmH$BtjqCUI?9v2 zUr|4&e5;(kUif#TG5Es&c=>pT)XtPiL$IG-?`Ulcaa(D6l zc>q0d<=bCJ9sCwFN<;75#6wn}{^`pLzCl`Zi{ap6&-Mp_s(lz=v^tBpanR1Pk$A1T&wb^?n4luXOb3WWbp!OAB$4~2Ib^ONg z`#$&*p0$VXcliAT{Ga*#D$i%~dz9b*QY6LT;uMwarqC-7_CWRY9~m6Hl+51c1?epQJ@O_bF;y- z=5{}?dr@9QN$wqEIpboRyA^rXuNh47@lI$CiReI+#SW(l7`K#3TIfV8hkl^SmhNP9 zBxCrqd}^HNMm-aJl&;WsIw*R%=NX)xZ6D2l(dgIepz-A2>zL(*&a>W(CuJ!4Fwrp= zPo1aZJ0iN&6`)fe;+>}xq?<_HUKTe;5Z-I>QB_kpviz9GSMkf7L%2Mh^ZY#SVd(#} z+rHH$e47GSlf2$xi(p)fFvbbT_&LsQ4>@_fkQgb9f6- z6+nHk!j=BPAinrj?4xXWc!q+)wf=9N4KD|{!nN)nhMx#Oz@oQ;1|fGa$wmtvd^ zUlQO7e=NY2f31UCXXTY=(ByH2uLy9(Z$r^)ol8H!6~1?Fb-3hdo#p>xfSdP+Jj3vj z09Ux=ABOAhc#kVwcgTBO=`U5|HqPd6d4MZ?f7(x^FV0ZwOb3NmTv~ABbvkE`Z>mH# z?P6Pm?~L$|NBE-={(BMrhY|i45&lesACK^#MEDtj2-J>$69^u;~{Pqa{XoSbMi@!y<+LPL!(qqvwb;{3oz}23LE}X@HMD3@~ z;WXORiC*Vcs{LpjC4RpWg)ffqWf6WcxZ2kN7k^z8z8PHYYsiJ)0626?Ca zJQ(4>1Fmy(6ejw|!27@(9R5S_odNzo!S@8X&LrOlPE-^BoV2g7JTH&%^%1T!BD_-` zdLsOT5&nq?*I3g##sAX?|6zpdj0o>U|8L-G-z_|={IWUnPT}W*A0>Q*XN6x0uJ*1j zL->2ZR|dGwglGZBKE#Co7WiiHG7~1z{}H%%;{VME|6YXu_XtP9mpaA&Nrb;P=u#BE zIKtl^;cFv&Q-pU#`1>RL?g)?1kofH={3{Xu-3ZrRzTPSS{~F;sufjWpFOBfk5&o_S zzahd^*S!6st~-UjQ~o+4{I&?+6XBnZ z@Xts1A4K?{M)>z5{O=0!lTLUqRy%to4Ie5n`tq(UewLar(4}I8tq+M3?@@$|D4Wm zoH66QJNtm854J*M`y zVn?Tw7s$&kRk;Xgxma~tP;eo#jNjeiBxxBGTZjD`6MZLlYpL&y^22N?eLM9wCi_$v zU1eL9q)52)IgF(wQp@$KmzP!!|9&B@iYjhf`#QPGFlJ~~F{*%Zh_9)!e^srG10xgi zaHm6>$xUrnu5ddOKJH*P1#;eD_EqXv;A&pEi5sx3st3ldKe(0J5C^*>lz?_e z#Qw?~aV3WSt=*l|YebMMnb>z%H!-4CiPXG;@RILPbjqXKVp$bQ{;BnS7(totQWeJ9 zpQHMf_)<1>lOBW zs3his6*ZpzE$_W>M{jqshL(O!OS`#;+K9jH#^M@nSCJ6HT_cJOb01-lox4^}_LS|) z))aB?+HOuwN;9qk!!N}pyCC!FMh{a!lZ|*6i7$E;i%Oy~^GFO;vD_|~o42c8nSDKj zJIrp3tyL{RA~Bu$jQO!`V%mv9@-}SAP+BTi`V=>D?Otw4rOJPXZ7w38VVjG*)4nJ! zf4Kj}SB>dgU&JEy^<;D|gH@kGd)0NjdSvbY(VL(i^_efO?t9n%Ci9In?doS#6*H<#k zYSoJtk$K0i>kEpZTquX`4s%OpT1XnHYA}%c8XC$Ql$`#F9pK(aD%Q0cq9}Xe+f!#? za#O`P$dh7T*~{*5+x+6w+d^JO;DeovXXo?NUJ=xOX0OO{!8|%3K@^K6L6n@Dk86)e zSrDQlf*0F!B(&$^S>YJ|yd;QHt&aI<(`AXdXSnuU=ETC^#-19%mGBdU&g}gmoOO0{ zU#i*rgYvN~oJsIe(Q!z~V}dAC&0e1Z=?VuvE4b?aXYXCWt1PZP?sq3U5HZ>)u_BGS zEm2WXHy0Hx*2qOs5yMqfDnSwrHNchxMayZU0#b`LDk3WC)^b`@+R`I!sl_%`Y|(OB zRJ0t$nhQ~i*wRW*X-n((`_ElCMIL_`~H7 zU+t}t{Yf4+4rlNjQ3`aWLcHa=|f_tKeAH zG@Sn?2Q@D=`V@q3G4m>gFBc?y+Tp_;J_)GwRtTR&zMcO@!OM_S@N&va@Cx`bZ!zay z2~I|jf}}HEkPW_*1+QeCMUea~28#c3;mEN{5IMFA5^tyArR@CzD%@TN%a~8dzg%z% z^-{1J{({7-7o5s^15oi6Ik-~(SFv|UkZ?LnSbVfFE^Gdv{G(bo$Sf0H1c!WO~nNKbG!YjA?p z;}Y6z`9-8B*g(A#Y(y`DbI^<6_2^d+{!0W&f4Ly(uN5Ty&CY+T^WWqA%UH*eK6IC< zV5Q&<$S*h-zJjCRCx{%YoPUepjmR%}6Z#QE55)%qk)u?Q^m_@Sx4we(YiYsHQBMTt zk)9y!r%sS~a|MyVNs#!<1(AP^;J>i$DEN8mpWqi*FJVF3$n9XYpyCU{Z?j+%?Y|Uw zGwnd|7V4+qt@Ou&^C^G91?({tTuA*9yp3t$zP)&`D+rqgLDMZ<61%Vx=HZM^sj=*n>-XqzDoqrTZJI`=_hz62~5IyVAhVp+UJwfQh9h@xqRqC%G<&zO4KXV0%mlY)ZO2PiTZv_WXuLQrw z?{I!<2ZDr~EJ!`A5u`uYw-@zO%N)!)xWd6z4z6}^je{)?u6J;QgPR=O?Vz(=V2&{T z>KoZ5>GnvTk^Yc-&(9n%h_m|S{`R?iD-J<#!5+zjqXW$uZ;970Zcky$j(uNS;w)?- zGqUBt&a*PxHn`f_pBP({wCvF4W0$hP+WTO8!kfAi)zKSUTWp0hVX~~nw z*+!V*L6~z1({(?=lFluJiAu4tgXa08x1KLy`|_G-xM_@|F6URv&+n_!ew0G=n?T^7-am!|H4s8Aqqs8WE z_QqiQs51?_`lAp0ml-{G$L127#yp;qU0UAeM{&txq4rJb?!ToZU>y6QcDemMN!k6R zTRWmko5y7Oj!v3P57`Y(KyK*^KWod2ZP^jZYqiQX+EGZ}y*-y~uDT(QaE3Rg43qdt zUy1a>cFAJx_$O*F-V;9Fhoz%@DU9E_aYaXm zl&k9Pn4a1PBAY7NHj&q!iOOst&DiW4Os1r_R#Pt|k7TZDx((Z8{MoZ8Kib3-rtHz3 z$~;QR-fOIpNqZW7yf6;=eLAXaHG2uPUqkJs*xQITS7{$)?_{;gcw)!zDWfQRAJ3O} z?9el1Z*+(J+VjKSS7h;La5j_YaUHGrmy|wW@^54#EahzKO%i|a_e=OmMxEui>k{pU zscIkk=Edz5)NS;T+beiH`tWxeeH>o2#U92Uv(nm~eU|z#JC*HttcCJ-`-GDj>_V&f zp%Y&=N%U3K)7tBL8$0P|h3^OMd}h1XS5#fq?(2PmH0kzwP(H@aP3g@fy$D;)CrMN7 z{6V1l0@1F9w$0f}7Lkvf9UQW#zS9=iN9WoqVGFbWe@og`tCtIpH33~vZ18iv_-3FQ}mT(Za=J^ zwTC&x{j+JSE-bG&+Xq&5jeh_#%J$Qj>v8BRnQHDFdgLALDeUTtv9FhXZIrsZGnuxw zy5d_BVPh}7W~sZxSNRwo$f@wBQQsBrM8Yh`2J#xh)S|CN*i}l`Dr?>|Cf$Al2fwy>?eFpF$ew)%!I4@hT zLmufw&qj|0juz^28hj;tyOyDtF9N3#sR5p+kt7PPowMTbw*~|8(w&p+VSc|?0Lv` zyhi>@qc61=l6Sw~moP^DG98Vb6dq;f|_Is1wQN3uxDjVq# zJ+&3UGtoppld*f2WusccGbeR*lmg56ssB2IIZ!foy-R^d0aHMR z(Y-5y)aOFVml5ei_gui}cWlQj=uObohUiP!mt^aQ*Jr82rR!d_f4%RtFTV(#b&s02 zSGe*q?H*Z`HvL);?O85s!S1}2zL$L`rM!bwXRw_$b+w4PO8v_5In?oC*k|@-Z$)3l zq*+`l8{H+?!shpZ$ktzaQU0|*M`iBo5&lI_<9DsIXTF!RyN>c0Lftj(fIKSfdiX0| zNyd$Nkkj{n=A8qdC*V`;Y>KajPd$8gyD zN8X&`cJrg)WW9@K8>;T?}nH9E~URmx^1ayM+b*} z5gEp}+V(FQW)W9sNJOpd-Kn(tx|O)nVS z_bAWieU! z-?1r*9w_2G1C5s&2R?Fd<5Q0;NPg>{`wUOo>W}GX)xMI|%R2S`D0F>?jo-xC0t;Gm z{W|GrEFfI(QrYfH-xa*)D*Cv+ki63m;GKXRJx|SMdoq3Q{T;`%jJ{BO%d}4znG)IO z*NYErmvn7DyQfUw)8@;u`-h}YpUU{0HqU;iV)CZ)?p1k5!5sDR=-=m${-sd|iPkai3xEgC=Wz8PyY~kwk`h+iwO5z^4pSZNsT)H0?x0tvG z?lRByQmPSls?v)u$Ofl&_aF0 zZx#3|cv5z4ibp-}Na9~yX~S!5VfC2pIR7pBX~t-blRB=Z-Kt;fM*S}$?o`vyHmj}n zqz&w-cI|#T>7PsbW$^Ygi08Ym-KX5kOEzvpcplELieELqMt&?48N0UCK;4a$2Db8R z;YT};j>pgJS+A!3!I!#i<)y!59G2kS--9}6+Gi3u&ybvi@%2`1O8eM%!)q_U68fKB z{8Ib|@#{L5pQgLdnbfC@{lZyY=OyFk z&q}`39+eC&?}uo)1D7HEQ|t-&$DYYMoX+37qu}yj#?1|Q$wOh~PU5HVe=FP|!YB?+$T;!q<(>t+d}?!{eB1ljb}0D}Gbf+gulO-f zF|HYY`j+OM_z7i9X`uMZZ7tpZeuMGQg6Po)gbSUg)!<29GoGe!EDPqG52vLwuM-i| zc&Lx@&W989IuUI%quYp%gys0?NPfzPM3GKHew$eY(fMrNd43-EF!cX>_8TZ4d6zJD zq{8cA?Drc?&LxtF6kasz5)tz`gKq`;@Rhj?+wl68B6D8f1$esh4c-Vm+jTSQ2Ya&rs{IS)KKRE zko~;)=Uw;wBTxID?VHPp38%Aw7X~p@4<3u*Psi{VV)&~uyfudZK87cPEGxZ_#qgtI z_$e{`tQbBlhL4ZoSH*DMf#{vmzbS?(-g;P!UKPV9$MBjMep3uz5W| z@08yIf=)+xMGQYPhF=oH>tguA7=C{YUm3&W_VYiB(YM6#oiRMA4%9ixe^d+~1g`#| zA5i5pDn^$*y?2V=5W~L|!KPQSG^-&c9@=F<1?4@4Qu0!%SmUCysXS=v6lw z8J%sOF}3Sz!7IvevrX365Cv%%L!r!esQCMrYOROs8arbgBuxZSmZaD!c_($)_NT?|L^Yev=^a zvku=NNP4=fP;|XRjV+oW@za7RvraI@N~j?DSRu$l#cIJ%F|HP5qP9u!Z025q@T*|n zqVR(SNw-Sy)9@4IV?dK2;j)gtPOy?Ol;FA8cnA(?(k~C^O@HOGQn&Tq&^ti zJ1W;^;e3pct)0@|iO4B$Vb^hxF@!#aa8=E-z7@Ii!OPD;1PcK3I2MOXo()o{f{u$>#-}yH?e`6y@ z_!j5C(fMx|#D9dp@>i5}@3 zg+aZEv8L|U(5pI5CXCUe`6g`6ST<(?8NZAT z=jnV8?UY@O*4aaPlJ5t1pf8<;?88P)IzMxMC(R%iz8Bv&(Ji(mHhw6F`1-gh;!zg8 zl?T4_=JKF#k-lv8eOBM}lIiD6p0JPFq53g5RyPh+eA4uF;~AA5@lr0HzWa-(()Lig z!WL;qKg#`jQx|NxKaSsjRiAz#-neppUE9aBXj>b_|n?ZA;-`M>Z-rwR zWBBvBF-~KmzV2B-@+p0W9R@1Aoc1yFv5)4z!ss{BLF384Q@sGrLt*52T}rl$LHMU| z48?NJhdTtHkVQ2}T`rVOQ>elRYK>OXG48^HS1IcPHXo%x={V%K3?=>ACk8Ee1k1b7 z|G#UUSURxIuDkL|&f$93Gf0>!;?}ezjA=&J6zBFmhclEKPP24{@$7V$M9(}{Btop zeh$i`G5VSq{(KDI7{lL;;rn#jtc%%2u!$qaUU1%JW>rGF(z>o6xgFqLSAdw329eBC z#wD5Bnd8Qd8a~}Dm<3e791*N_n7L`Vu3~qw1zW{UV7nA%0>_uBP|6z?>~}wLmaMmpyo_kE6`d)Mvyt+ zTtVg%^91`MpCFykGQks>GYXQw7C~Nyn*{s0JHHtCnKgw|lsNvRn-(Oz))1tRYUf`k zh&)Y#=pieJp47KWPg+|LWXw}P{VH<}lNssf_8EN0T}%Vhg9d%nIf2$0a9!pEX~ym4 z&NkTEP*|HPjpI14+1OVlot>2#-(!ElJHm`7s~9I1FlO~*PU62(jGdJq1IorWN(J_} zjE@xtdk&W4{dm!)p)qzjHiK#GHYB9x6HT&rtb_++?gV@eB1{uwNu_s?uz%F130 zZ$Bp*MBE|#bRWBPMjClr9B-FL-bTjw=uRjv@1Wq>&!Z?$qo-o*_+?u!9Y`n2gYIYd z>8dYD&$VM$ZbEOIK8-!b&gCp-8qC$yzcqK*9Pkn!q8JySJA7EUw2R~C z4hmOoS(yKlPdwvu2iYt13BoCiej^?9q)Q1GIxpWOJRxN~P2u``1n9$QOdPUU1X8!3 za0(x)ViTQ6D;}CV@G3Cvu@o4eJ7_)fM?Nv=!6R7Sh5mof+(G4-cL`(rvLxqW4y*4n zH{f+--m^A{rEd?yi>~*fb&ek3qL=3sV(AqDF8Y!HcZ>|s+(PucLz#j5D02(xT5cIX zjiq^==bUK1zR6Sg2t7C_oF(I&6V8%q&Izy1VK#oQbHZQrMt(}Wil5S70Q64uyZ9M> zqBGGS^F*NNUytF>#_*S7_`5Ou&oNwc3-83gZw!}B$##C~^Ci#N82!o^J{?@;InRZ^ zB}RWBhI2ocQ+ zbo8tvO6tvr%5W->55J!|g0T_UkH6*)Qb*0485s(rMkj~h)URnAn-cuEn+Gty9WK0= zod;-qul`cF>PqhJUtT!se+pPXUn76U$Ln3V%?@sJ^gY5E_fsv+xL`Tmub_$vC*C5#V;OflT=q*E|F08-kNPpmvDv{b4sLa@)j^H-6>c|B^Mxe! zU-N}tz#~aV{hjD32M3AHi*Se_;YSG)ezG9p&Ab4Z5zf3~k>JU;UlbpGdlX#mAoBxV z-JF{s`1wKq{`>!CF!;2=A9;R|BpqCr`9X%UpX{#-82=SkyKydKKE`T=8P?IG^d|1i z8fWeWNbp?CGj*bO0nZIQ^X}|j$g^zO`E0^|Bkqr3-0R1C@Yp^RT6buQKa1z2i?2AS z*^F%!u2=ez&R&csi&7fLnsKAyL#cL%Zlvd*WY%0}5@D5&<}JK)&G(H2aTAO`jX&%C zyvoh@3gH^Fi%$jVR0QeRu=%}oxo|E)iZ$9Z!j6$Q_%z|ow9<~P*@H<{H0dj@mmyK< z<^oyr)0AJ+H}fX;pJ<`XlZRJWE6{JZ zw9TK@*?*6I^}MGOJ{;S6=w4JDIy)s@$}t8x)Be}Pxg?mPoo?DVH!!oi{28XA${qa z(oSUZ^G?kNNw1J5-CO06yGxj7qc`fyCtW_*63_UxRJGH+ntAt1??)YjPfz&dzVGN; z%-b#YK0@skxtsa&7gG7XA_e$mi0|`MGv+<5`_;V-Mzz4d`JLzYjiOy#%<;=w)n&=9B7E4nl6?=IW5j*3SX8Z!!%}-`16$ z^dKE;j>z2A>LrB^=!@_x_WMti%uaqP->7P=+4o$COmwqGPpjc;begGZXB@I`zd&7L ztepGirZQ5Sv}MD7818?O9KxkDm3cMtNmkP?{J!tX{MiTWTWM1rtn_kI#@fHFd`WNp zkV$o^sFHOM{Cr-+G<;iBf3ugL>ag}@N}q+qqo2s@6aMf@B=M81s>eqDO5|tHn&eg= z=hKPnly;FITp{0gd+1ySrBqA-bw^Zux$-cV+$Hw+Jq4kOxz)gj-B<%dqaEK$|I^+NBGA?SDr<*B+Mc~!=$+g|U2 zDhq|p)oJP=_%taCg(FRg9qS!pP&>aKXG4TS#w-6TF?KdUyPKB*u22%XnU$uWUm z&}DSUBSo0e*t~&DH%do(LPtI6hk7$aHF}bcH16o4Bef-0*67p5r4MJAn;ScL-6&7e z4SkW>gH9dd-rjuPmEXDOLV0S$U-_C0?(^-(EYgShK2M#IzQk8yyuaS*sz>7E>y`H7 zc|O!1^X$WGoNW7xyvDR2SNHxFWV3B`=uG$X8NHw*y;J=2ML|BJ41F3hb#LNVt#X-w zjY9Nz4Pj{Q4uinMc{p8u6bJ8Q_+7o=Vj_UI$p4#`?gSg$$ zdvS`i(!QSO+u6DxkLK(U_A#1$k3pImSNb$LXQYQu)2!Pz*?Ke&KB1gp9L|#I8Yh!& z+f3b4eI7-;WJ-H{@9FgKC#@aJhM^yH)n`vH1~+9>m2Kn9k{$YvSLN#OBw&quR_XXL zgZ8mUw6A1kpH7Wa#=CKfDHrrfc@?p?L_efE8OLbZqX6Gr+5w$^N>&ubOQ|Hv{gx#r8PNw=1<6fcHnsaFI_XQE+OyEF|IN$zGl7)k7Y$PN~mg5 z3P-z)j&(TmP2*&189IfPW2vBvz0HS(OA}6U{2Hdht?^9oSGq#aaZusqMlwk3V;{|b zh0$-MgT|A8*Agytp7kU=$wS7|6t2HVfIb{!i7spAI-js^Kj9RfcTLW1WAL~d`(XMt z!&mvhYo9f9o%c4`7XoyjE{|PY=>PYunM;nmOGI8RTCdW+N9Gj9UfqUC7`a9BxabX1=#qdIfYpM^8#G)wMJx}rEd&y(YFS;`0G1~b(Vi+fQvpPr$WgEX&fQvpjz!h~!fQvpkz(I3P z-#|pqyPRT;*GKsV^2vN;(~cMi=bYNr1v$*NvoSGT?OpY`k)OT^d^SeEA%@=(!Xia)jl&W{MZ;>>(OeTp5GT@^ao=2N^rH;tmF5?82zU){OuV22XM9LUgS&i z%O2D_$$wM~KP`rz2d?&>cJVKd(Pzc*Tfo)+W#6Op?u*eMj^W=0SAWoiEDHa6jQ(B> zFQY8fKUBEzx<^X=fyX}$uJ-ToV4zrGc90IcWb}DvPn+)Mkm=lLQEc=5>4MSc+0C5h$_Q-jX3m+RZI!uOPRunkp$%R>nzxI~i>X0x z7s0CR2>l}beSXXyImV}qb9Fmx&R?4v-B>)-Pu|;IXJS&5uOH~!!MQfWX|v{t(dS<< zdc>5gZe+acks!49GO~9yR@~24M90i*)%5aCIoc6UL8Sd&8Gga}PqCR}jp6x3!->bDv>zC1IvFn$Wlp zpWL(CP>U5@!@ifLxS5a(s0r4-?EI`q@~gI3-0ffvWmMa-*XiU$$<3sw4vn+&7aFLk zNy9mMsE!YrQsvt%jp8aw&RtK!22juLLt=)^bMvy$GdDpCJ@=idssGfzM7_h!K0iSQ z0IPrngBaHd_QSSO{-@hDdhJ)#yIT9%lJt=ZuXmkrjbjx)B}n`VhYu2+_?3cen5h>0 z6z>?pA@1Aj*}Nl!W58{`z2d)7_&N5QtN5F5sv4m1PEb1fwpvih_)(DbN}PWRsPqO4 z4rT5lNc;+t=&;2JlJPm>_==R16b!l9S-f`r%jS>ZN0DElLY-{SCHz})`M5sYW( z^A%6yYQ-BYNcbTRuM+)y%@@S&;OWI9&5#`7d{H4N&_nHwuo!MoN%+uuBlW znlBWL~XGb^tYir1-aMEAv!s&bw zh1==yV#Z;@`w1f7C6CypzJl|dfN zv&(~dc6qSR`8*ih#a|!9H_tA&9jSdpY!pBr)B3*$zEZ; z<&`?Se4XjecADN1-`MnBt)SGNhi<<6@ICWbXl3l-EvvkTbC~VE>7Ns)uk$x{`Pdd5 z3Z6_6rj+xS;iGfM{h8y-tlaOG@m(m*ccH~C_6*@Aq&1&(o1l9e5qj$m?G?`iVHOZZ z-#&d9@s|yU>`X4?EMxImNEmY#v9mQ1pLW9dGl+d!;aQ~O^B;s!J2-|hrrepp{`{mX zogp4o-Nk(w*+PB)EKV;dO0r~Mh`(SFkXMqiMbS4e<*hj4J_-Ce54^`lTNcJ1i1Ve{ z3oV+xk0V*B=kXm!oA^~7Wl?mykIOK!N3)BoaQW|@$Ww`KxpPDNKa~IHTe2NX$^Xsd zU$!M)M~b7oDa;RCm|F=W8v`FkI@&}S<@4V^_~3SheZhsjg|MYTSn+$_=}LN%x=Q&q z@_@XN)~`x{mHa$y7Z1E*jibJp`Gu$LCKAIZ<9hL5{gkKGGrkp1xnh2E`FYw}2#}3a zdNuq!Z4D10ZDc?j1uf*+FQA$E3AminOY!qO_wpRZQ<{{0&Mk6JMGlI#BuC9ZWZk3q z$|>AR^VF5!TIc71!nJrLfE(O%$ZvB%|67k+U4T&TZ84tG#m@aOl1@S=88rtCo#JXf z7&_^$CG_A~bx89?IUk(1VCIaWpXx|D7EbMUi1WKkfpIB*!=0bjnDtn}Z=~~c03TYP zL%wJ*TMm;0KRqfRHDM$dc7HnX`SrmS*XzamNe5nL?K4kK}x$ z`}xk#j~5xr?sKE0g6l{vcPF%Y?sEMybXEzpU?><|zH9vb>2ad@Yd>xHF@_$PjdN!X z>r1SQH7HGg))i+JM|JG8lHc@(hB>Tr_)p>v*Eeat?bic?8+YybQr?gL2BUiMxH`NJ z7u=t<<R>Uu7s$zp{lHKYCFd| z-1q6#0WV0o{^BH_75;C98|32n{#^W)_(;&ad}*F}ujgFz3A`zZB>B`|dijR%EP4I6 z_1#2j4%(-}3BAZc@s*p;RI87DH2)Pwzwr(lPyT&PQ?kH$);0JccE*zwj_GmE`EZBe z6J*cKLrvpxA$>SOuM?5x@$tF}1Ga;BzL%f!p*~7F3Hfb2GK!Aqj;C{;pT|86{r|hZ zt*gAPv)@uxHXhfv_cD*7S*cO)59{o=`IJW;y&}LBzh8hWzArnKl<0$FbkzmxEPc2~ z9siL5uJ}~}F8(Te>umhV9(D1n16=Xz0$lOy16=fcIotftjnSI|T=C}zxZ*DkaM7Cs zT=ZoDF8cBS7ky=bi@qwrMQ;gk(KiIR=vxC^^wt0ueRqJ1zBj-{_wQnrm*{1=N@(@# z#~hxXiqZQ8xZSkQ!^hY7(mKn(I=~e_KZdaM{CnKW*A#>o|0Myg`1%fMosFLj zaM4!;xZxaeyGT=aDTF8cZa7kxv3i@rI)Mc)$OqPGUP=-UEZ^j!fi`tAT1 zU2FN)S^enSyvIea2yn&k8{nc332@Pe2e{~y0$lXT0WNw?fQw!i;G*l>fpu2C#sC*x z-xNZ6Q-F)UD8R*kae#}yEWkxy9^j&{2yoF?2Ds>J0$g;>o2;|-CvFR*Zy6zddw?tc z&Hxwx{ENWmzc}||u>8vdT=7!@uK4;kVx5iOFTh2Q+al@Pi4QM&Wq^zS@BkNmRDg@F zZ!OkY`6dUr=+yzP_;mp;y5^+T+4zkCF8bU6SNx^`7hT_Wth4bK2e|0X0j~JV16=fM zfQ!B|z(rpb;G(YyaM9NWxachbF8cZa7ky)Zi@qtqMc20|>umY82Ds>ZG-xo+()F## z;~JL;PtoRO8>jFUxv^cYBQU{b+a!A471=Z22-X)*o$-GXa5=c%@xt|qO8tx8DZ(!V zYP~`4K;e^sDo-DOCb-(i5J$fmxQ6&1zYkpfyAQt_yduD#1K0b<(|OD}*Z9B_@P^}70+emZJ2~!lT=si#(L7y;bx0Q;F9p~5#^Zg!HJ9(I z;N`y)JO%FMm2FfS-1C1NT=mP#qqfx6wuXIYdqljZv$Tu;HvAZ13XDx*ZbXv zKMY*&b1%=a;Cg?1`sv_$UwgW2r}TdI^2&Bf?_)3TOz^(oo_;g9-nX8vIhNk9p8wat z>jL~~@WufDcW}KgefTzTy&t_iyTSE7^z;OMjoyEreh|2H=;b*QTsrgeoD8n_nWyV} zx!zx%ei3*I-1DCb-Y>v!0N4A-)9(P+`^V!tcUkWnFAp1h%=^XDUj$eG<8cl`GVc$M z?*P~P!sEJAK<@|7??C#_Y(P(euL|(fz}4UT_!ok!fA@GbxcYO?Zw`1Xct6Tm?csKC z?-XWf41Y9+e=~-+fVUD)`aL8niZ+9<5AY7~l>xrT#rNS0c^51W=!b!e=IMG@WCDC3 z_}~CP8(jU94}S@`cgoLaV)*PBeoG9$JBB|P!@m*3e-y(v#ceSpbq{K34ULIWn;V3yixsYQ#DdYo>0JX+vd4Ap^FASn% z^70{sxfH@cSYg^gq6u;N-ftMu6lOnsu6AjO#Pfc*_z)uT?6mI%S4jjS3Js+3s7qLA zJ`smGny+bIgd9$S{@Is#4);>zJR}MceA(n|{c;|GtU13x;4XenvYcOD^w7(N3Yvw_ zLgYb4*-cOM@k|GvIP z#C^TJu%h^{4ysKd9z5rm`<^4m)_a5u!@eXZeiu)%4n1=GyLjdj>Ef%D_Iss8cy5jj zV2pOVTKJk)9Nx3Bk0@NK5$4>XUHeizO{1e2?PFL&tWT~!S~S-jeAF>6X4pGGtGZ;= z1;Z{gCfQ&{+DnFwA2FV)I#&HNo?T8Y^?`hr#Nwi1VQ~YS;e@=G!ri z@G|^`YYZSf<#5f>g!gm!AmI<%@q@xwI()dJk8*gG!zVd>vcqeHXYG2d;%6K#;e^j~ zc$32yIb7o#(U%DSSG%4ne1-6@+3}I^b;2LF>!k(v+i_IER~WC$|4F+}TJSLQUEyE1 z>!J#`2VCJw7}Fj3P4og(xL(3ZPwSuJ-&Z*4Y3wJwQaI@i7rxAXgDiNA@w@yd97PI)UF@(*$0DqXno@<;wj!U*y;SzS_~(IDCU}+^%q%<0)J(pyb#3o5EEHM}DohN#3+@M3hhLM!7YT>oVuvpi4!`9NUm+ZRD;>UCIQ-T) ze4TLkwK#l(aQJO>_!i;t+v@OL!1Aq>dlL92`4^WoepZ|6{YDHz()#ir=7U)lLg>%y6K zPdwA!3AaW5zoyawck7x%A zIXqJRCA?|JgfDZr+Oy>E>+pVpyU2&bD+LK($g6fLeszM#GuPqs1b4gk2)$W2 z<=QYi)8#;Ee_q@Gd#_CR-`p|NKYhj-AJx`)JqCujoUQReScUDvzHSgUb%|B~HMkOy|&a#~w}o{>*6;hPa%))8_pY zt|*nq^$gwEIVyZNcqojCTdgxh=C>B5u5JzE>wJtHPI!ea$HvjxOLjf?x}5W`%iu4X z!VSVEa2Ga#CimFbaTZ(8U7Y`>vv`#Es0n#EBPvmqEsUzOg{)g+E;qKLpgNnNKj=~5 z(%Xt&ZjxR&lj-2frlIT4&9=>Vw5YnOT{&5E9=U+6dQ+qy4vT|uBJ!uD3-Q0I$^un2P3X`nPwqYwt4P*@C z&Y7V$qpPt!sTV!bRbfFE`75zgUd=g6P1&||GiRybkNE-m8bjD|J*i?mbGLman>d_j zlfKU50WU(ItifA9^wkYN0$V&&)!v6+|LUst1Igbh9&h5zDbD07#;>?Jn@D;8X3jRm{{Z|y;r*lw{G>0H*#Qw{kDQ#t z(iW|D`A3H((36fj>?MGp?d0>V*1|D&*$OGIUo+8)~C>E*y!RrcFiJ#0Z|1W*O%W zy{7h*raeVXLkpwqn3jaAvl-fql+16{tvF#*Z=e^u&ceM9hThLiU33&Uq;dP+$ z55uVs5lD42qXlU!{AV zaFjRB)l2kCo#ad)`l}4~;Y~)zg@<~*R%R0)b9z<1C;~swXzd7lW&AsQi1R_N~VeVfYT(+qVl}Pkg&5;oLi=rB6)vl5M-sYA)?Y(n<* z23H*eFG9cFklXiHhDN#J-`m$8uRG~h{F2qymOiRps&PlpP`~z`Ia}xd8D-L0Uq(-r z*|t99y>ZMV=6<&%`wdLq(Yf{#l!EJBpcg==@82=c(fb8->SAyD@DAN0H`&n#2Xyu}s7`d~?9w5QK0Khm2%Wmpq4V0x z9la``Q-2EKVcvntgL+4urK$dIWAsQ7XJQtwujK4T^2H1%S02Zp7u`uHf3FXfQLmU^ zIexm6FbsDDe(9Ls$MG8y^V55HWXw2i*>nEph6~$511k_K?_>t>sp7oQH-wIwxaegcDtAwVXoWiZ7 z6IVX;lapT^1DO<1KRNmJ>=6XO7L@zx}=ur+@az#@2)TzjgAS z;pgn>dE$((&VB5u-w!#d+gWd3@m}G;x*NCO*7DdFE_&!sZ!Wm?)P);BsNvGxvqxp47Oe&!D>B zZ@YZ?v?tHHx?;t(_x$Je$G&&|-rIlpwWAxOS01|KI|DX+>goR9YuL2@2U`}uHQ@2@ z%)4Rmw$8sEI_vJQG+uVd4`v+o$0cvS*4TL96(|4j&|g=NJm=~=Kb@>g4w?Cj?Ozx? zVCnBp+4;i6*C)T)^DE!lc*MKAet7ilXFpN(`|DqS{<~j#_0ev9J0ASquMfNLYprKA zeeC5cHEF6xiSKXz+0*qu8~$F|gFk=wjZeSc>x-8! zTz&j~hxgxdeDizbKD+uGiS)Ur4t}Ha;BgOsz1xxx_B?aO(`R3Q)SMT7dERl=|F(7W zkB-aCdwI>Do;&^S`2~YsIBoaEceZ@BdFyvSSooti@4RE#jy3l@e);NGkH4$irt*=Q zW3GSm6KlWui}s&oPMCW1d+%H^X5pis>hsuh&Dl$q{@eYZX}Nav`IpV>`_&hJaCF(; zFQ4+qFaI+6#XsBTH`A?>?A+w1t}?mzB|r=KZ(;JQV> zc>A`m9Xe!o??mx2kEdR`<)SZ_{-t&A6>kjd|72%l_LBDE_VfPZ>6S$Y+))3SsW)AE zc-!|&QlC4#*GWf@t@-SRPd5}?zon-5_W$Vir&E7>?XO?%eca0(KYM8Eu@|;3S$xzl z1|IOn;&1%^$)9X%`|5&^-S^bLlyv*drPuAay~l6fn3P=b=bbfAm%sJoF%wn}ys0XA z(BT8We)9S!ZomA?vkxmR`qQ#r$Gv=5=V$NTG4FzV&+K*hq(8g)9c0J`o`ZTm#w>S^l2s6%vicK z)BS{3AO8N>1*wVeUsb;J>tEU0=QFjpPWgGoUsj&;@#zn|GNJtRk*_Z+`r))k*UpQc zJ^PAnJI7qz_ky>NzG&Vd6_0%5UmyA6<$u0*@UP$dZnxdvnf$?l*S>egSAR8h)b1aD z{>rPa|Mr4yBc2^IW5#K1mz+^H<##iBoRt2=u(SUCsUz-NDAxy6RBrsgHt>IK;D22k z@NMD#{@wns5By))2m11V@#VAr?;Z3Hcn4`L+VH`J4uz~&)5`akO+0Z+@pGRmPi|a(!nmImHjKXQ zn{VILnQT73dg|P#PW}BGf9_ZKr=2g)IsT@vUHLDsuCDlYpAq9n-mquU+XEiDqW5`+ z-`4$mFaP%Dn)+ckrJlL|<4u3=bJm*sUi{PzW!DZrs_&6s`}A|Kp1bL?hQ<$eztN-d zpp`qWyl>|{H~w+L+ItQ>b?M{1PT2m$pI-fQQSYmtI_u*P9DZ;0&sSgb-S?)SS-idK zFUi**ANhrUKd67A%KRu!0D^=CsK6}aC{r7hN^=(Jg zerNVKPo4C|o>%_z>fb*2z=Z?OedF3y-~Z!jFa5RS`k!Ci=Yb3E`B<;R-v9B?ip7t; zv-sij@4E7XqYExS<%Dmq{ne?re_`zp9`CsDxOumJU%&TT&%bf=t>e!>`#Vo} z9QbhcgJoa5@p~J-HR$F|yRO+e@AiVXwr>CA1K*$Uou*-XHf2B6Jn66#ZmQmP(c?cJ z^UI$eKXbyAOQu}B@raA2KK|<;G>uwy|L!CI^^Na;ZpGmXPyFq-ZaV(V?|pN~ZyxIC z_HN6mNB;PcD~4Tv>t6?t`O5=O%)D>+PdA_1Qa`(B$h!CHc3yh$)mQ)igy$FZ`uXQh zcyPik7kuVh)4#s^%Rl?hYvZS``NdB@^U~{ItUhw`1z+CwrSDa>Z+W$~^~ZO=)^p^i z2ETIij-`!nHNJLz?Xk;8^?&T)1BZMt=eDV{tG7RY=bw7)8MyqlJD&Rb_j-Ku*Z#ZD zH0ly-p3&g`XR@@+d64}F@d<+Oe(5t$7aW*A!}t$K57P85>VMim>=GEi=An!=58&z^KV;X>!ros1{4WjsycSU<`+AC9%rTpmQ6M7a7~C@Y&#g;zi5 z-9{EuS`nV9d~^~&<)f6}0sOp9c#KvZ!}jdJ!>21+=tBSh_j^~1O!?&b*}X2pck$ES z7ZuM=c^GH+%7|v2rR&?a$5r0?#_e&%U#7{3aW;N7z(rrjnuv9l-V)%VFBeneYbpbw<=Xn7>hUex0pThHs0H49L){i{D&+)u5z;EZdHNcng zygR_Z%Cpv%eEc=wT4z$ZOWqfODHS3f!ZFQ=Qs~Fi`7|DBZ3&X0cPFgYl~kz|{u9E{ zR})aU_R45I$;X#Hgw~QE8oKNuw2stbyb6sygw~Ln91h62!l;`m|C|SS=n73s&im|p zj`IOVE+0bmd@<>JCp><);))nu_E+91{4+89=P|rBhQAZT-;d$la&^_V!y{sNAMjnI zTR}YSJvb#s*SW;1?<#ZAFO1RSdvhko=-0&Xh8TWx43~XJF?C_Eljpt|{W0)L3cuRX zzaFE@{zL6=v6ENl9P11O*|SLgS7PCRDV+MY#D)KDjQ%I^B?0{)Wa~?3Ci@xjJ1*$M zRDLIet9`dRew8tL&d|f`CD7Y{*wp%IQ?Ats!q?86b;HbSMn_l8 zXBvF=tT~w}W^mAjdRm@nMhqgFpk~~V!_4TROT+>Bh-OHU3u*=yc}&BLE)n~m=}ryK zg^^T&UrzGV0#758B#iq>&bXhX4g7KpLr=p{k_Q2epXA@ik6buEt|8@^SFGi^#lzh@ zI%8^m{j6#3g3_zF8$>74UOe2K{yKdoX0E~;>ZbNL55uQlQ`^vZ0sd2J=LS9#G7N%h zqZzd`IDpo(w&u-5x3SKfK67flkLFUCR$n`HCic#{A9ec70atO!;#f|eRi&6CPs1YT z#Stx>v@%8K{zB9FwAy{4Oj$5vRt@|OHxW%_s7hpZ4pX2RbL#U64HXCZa@20#cdiaw zuCEOQIyX<8RzIDaMZF-3+c4)UL!QVfGFRU?WvF3j?tPs(6M9HH*U^-%X?3;JuAO44 z{*-G*PvKDEsWT*wPI(sH91ZL)d!cQ(^PkO_Lics{qn+tK&f$V5+i_4iAIYkOGZ?ED zOuPL`40M`=Gw4$Ppzv8i{8u}uccIRV+#on8iZ%&i_|YoJhnk@7)A{dp zxb`bcFQtOSPYDvgpCEc2BuILr1mR=sM$u=D!y5&OKTi<7E*3j9L8GJG|AwB=1DU*H})_oEZzOark@( zS2(CKa{+a1tMH2%qd1s6(Bi!uG-t*_uXOl$2Q{Wvd^wdb)yUvv&%hGrU+VBO2YWgH za)+lJtZ@E)9Zr=te5itkKUK@%sLDW!$oN+}e7J)no&P9@S2;M|!8!-$IoRyr3J2FZ zxY5B@2X{NDvAFWBk;U~_-?-1&wF6Gu|Jk)?oRR*>_YZHE(gJ(Z5@vV1`EI|f=;UAB z^Xzl2&z>`^_15&Qtp(|6bYJ5-XolEQV)N6I?OBq^9uj3Td1F-@@}P%i3gjlBk~FGm0j5d@R$wy}0uA!~5Ne9ir^?DxWXwe%&&j z7aF?!xGi1kmCi)wmCk~e zS2~Zod376i_`+*^M{$$*kVX^X)3>(k97oQe?1<9OlgDSaAN9ehZBffhvVqjOjXNez zm@q*KDV0qE_86tuBP6j2kj+7{gY<+3FLN-7O-yN}v9Z}98#?4~i_-8!53-L+q_T%l zS9_#*J^*_|inT`%o+(=HU;Z8U;4W-eIP3=Uc79FVlbC9KC92H6auE4zxegnZ%BM$!qUq6XrbMcVz<-Mc1@qgVQ^a8s1(|x}Y@~@k=8Mc`Rsom1)M< zjzVNCYA5lgvm7N!;+zD48o7(hw?a9>8 z_Tpz38(IP3(+c}6Hf@BZOYBi-c+T!9RM^sU+lzm+*w6|y)tzrjwie}OJi5<5m1rq> z3>z}+{5b!UGAc~H`i`MRW50rJ1-2sN+GwLM7Pc&CElMF{bSPn`wNmGdjb|ciLLTli zEM45L^F;B#CsEz)mV#(y*lc0DSS{N-(gUqJIJX1J{^-$_hw=@*^x=PdPdtgnDX*=VYc4Q@BEnjTw0&nPg)9>jOKTe zH_A2J=JS#!FTP#L-`Mz6W;?7c8F$jqXzV?>RqYA%L|f>|>$7(scZaC-K)KW2nsYWo zy#x7_fBJ(q$*Zu9uADg)|e`wH1qQ!lFxWXGHsd9@>Vye761PB*0Z3wD}(Dr&PB}(hE9E`Eh1$Cqo#c zH!qubtBmEZbO*ciZ8}+R1nDS^UsK8+(ztiNy$y4BTC;B?%C4c7p=4AAM$w#q+ zteP3T%t7(D1ZA^1K9l@+I7hYr;6)C_gri-fg#aGSsCF+>dSM(#}6R z8H@2}+-CeG|NG8Ai9b^n(`HN`;q{5!eew78QjN|iQ`rLFh&PN0k&~Gy~?@^Mvm$TA|kKPKSiR^Qj zkM8D!&+jbbS6VtByXyI!>Lan|boEblX?|z2YDtmmhxQuv;{B+4c908W>Kye&?^N$s zTy-yeEDux0sXWc|HhB;H`>~He?`F@#L%+YNpG(){)FbXcx3W-&I+9i7N3tTP^jH8? zSq_&Cd(hwiSL0KYmrBMWlw(n4wv9g0l&AXdhkki+ds1bIztYy&u%L-|*!Ldl+eReJx*E;6twQ6rYV_13TDBu` z7UfI5oNp3aR8_jE2RytQ*VziUn2#}anZA<=5Wtj-pG*7#lC zHW{e4SxWjlxwBdKcaOvGz?AiqJf__=TfD=Cxri`|qi_ndssAIq2ky|EhJ6G}Iv@V@ z9qlEI=cDKf^S&D^o}^P4W!qkMJdoS$d(!)r@-ul?z9jePlkaFBeKvOy5Jz>q7h~gc z#=TK9@6JH)N5NNdbZ^1(LVGs9aQ{4nwtK+I`|cHLf~V0neTv3CVI1-DdvsK8&$35n zqGYaGMEhQ1-|~WdHBR`3+KKe2I91s;?la$!02dE**2didviWZF^~H=&s5`zaybixkxW3dC-622N zkD=+i)h87*-qAjz6!|KtLjTqCJAX=el`2A_HE z&|$+zoOk}n3og89)WxGOsTwnO-1rF-FP(JRS*&dOXjyPV?O4FNY-IPieCHN^E@4V<( zheI-M3%rKAX93UeB%T%Chby=1E(&6tc*>>u>6ztc;}k9oDt@AC`BzZk<@yn*k9{=% zMbnS>se#6mf0u;J0@@^=ku4L3W9c>L#7mBON-ht=o8VWc2j_e^L8@uaZD0V@itq>G zQ^8O9kSO%yUHGkJ1LcAsqUT4jE-v){e{V~W{7_qhB#dQCz&okSImnV*H0$iQec@(} zknk$sA>b9r?&DAPg$-Tts{@>6YlE)<`tZ5R;=*e^-nxXjGg$bNAbfK`7yo4eewo8p z2jO?o*;r@g*&X1@ug+Hp>G|{Ktv-6G@*8L4rvhB@w@V1)EM0eVd0g~mxprpxd8%r_ zbcdV^lx;xhbZ)8Q=Uq;4Im!Q* z7_M(`s-OMvSNg{XeU8G%&oMnaMjsx-FNxt-fcIiBBO3_upB1Cu7{ham{Kl4`aZ2N? zt4<#zLjrv_ox`W%DVZBMJ#KbwZPW;uHACbsG~JcjaJ~J`YQ7;)F(16mcUQi})=!;Q zJB2UO#A}>-Rei0#%kJlsvipv1DDIQ7KGW9CR(SVOJNB)8!g;zSS?7G^Zy~lf`{pkv zo<5T-G#cS14n23=2=k3wWPiOe&n8WYYeQHOuAP#Zm5Gx~#&oxGgS}bVU9)WNQZ|Q( z$wTqENrVe!Cyk#ne5kp4*=k1@)aJiJJ8~>_eX8b0Vrf1ad+zArQ!)*;b82Sc*T}88 z|6i;M6!&kN5J(TxX4hhdFa;xl=~qvu1`IV{;Ju-MLKxG6xhk6f!e(GUtW05Ipn!pd z;(8+rwHVq%0ewOlu)Knw;IX{d1dp@rMQ||qk-#STGx#>&y!*Pdjfk(aQRJ^PQ3Tfu zo5`;ca5We#r)H|+#N#ttb{jkRoJehC1f=t|t>ErYbxm=KV z6@nGW>F~*dq*EuzfM%|PD+Eb*y&&;63o_{1>fko#uXm=>Pj-XO0+ac6Ot>=P#4C5u zoK3`FW{7ao87_D_eYW5ke3KWXGj0|<(|v1(&uZak@oip^g{|F!%2#(F`5h$)UgPk& zg5+QKn<`(M1j)xv2UEr1=%Z2)J&Y7QmYI#8>Y6mldETWii%kYzZl=!s@!l#5h zNv=vkM% z>F*WfLz4MM%wV_pK=4ZV2%bwh3m(rmbHSnL-QlAgK3Q-WdJ`OuZH3?o%;X(hBZz+1 z38J6%g2=zo!Oae8Oe48VOQ4@ee=c}F`4${Wy%)TIc!KcR?BG_x3;AXtNIr@W0+RkR z2iG~6JlOiD1xHX`f}>bz5xf|=1<}hQhp!hz?u`!a7DV5J8Cxlxk%FXCBS^f(g5*nM zFXdyogVSbAotFEcoZ>t3z%x!eZD9X12AsM7Z^{GD95{erxW9cLs_YnWMKl*&U+jku zi1a=6kb{}yGXJe{>kIns!fVj3Pp4ZuO8RS!i?t2+ZNYwnwR7N&(fsz5Ta#HFJg*9# zcLvXq<0oGF#{1vF%g9z~zw?&#zpFDto)S?*hhI0t{x`SQo-yBzt?Y|S=bQB+)>YaT zM+?k4(<=PBfvs@KqHd^v$^ibsqH-T>) zd{5z7Va)mrYj#P8YmL+U!MC?LZw7fv`ZptI1L+qF(6{c6odVZ%Id z27<}o;?(?hn#1dfmJuer){hg>OWR8L-rPhwndmof7e>#%Q^?x=rq-9*qUcKKO;6$X zU48d0A{=W)y|)h83~gLTH^LRA=eL%kyDyc#()o!f+w(T`kSI;HeyQ}iPU%$jl_qP_ zH0hPTY|^_Kd9N!az0ww!-pe+<(wm>cuWNdP_f7A~6zQ?%cv~sw6{L=7eKPf2r`EN! zW@mJS{=DuI=p)qKo#;bhrQ;%W7T5o6(m!qw=WS`-)0AJ!WTiVLP9FI z>wFf)E6Uu4Jw$D*!Ua!2%9>B^o zzC-m*->8UZ{7c%Fb{0ifwvD9S9GuqqVKZC5P}+)~#&+zaPEfaAe=lM!72PMWsjz$| zbew{JVN}L9O8O4Bp1uqDcA|qqt;HLghJssGw+J6Yn&a32lG);DZ;X?sqn^5f;PrC)qLLFI=abwN_o9f-($#Q;+AHUcdez5ziYAb?(96` zc`ryMOx{ny&co(?QZDbsdfO{6uIBJqA7ter5;pmW}V;xRKH!c(Kl83^|oy1S!!*D5Z z?|iyxJQRnayK&;Dc-|?T=nPp6RCqa!+xyr@^Iu`~qhB!4c=GST50NjvKC5saWqo!d z;p#l|AT6a`5crp&xC|cjn`Vty`OrFubnJD)V>F-f?B^BPx!}=z85sKiJ?pcfPNgBq z<#j1sbUVIOa+cnb6V%c*=d>=AM)`^FC5z+9+&x1n7$i(>a;yL!WxY}LQ%*8!{im_6$1sbS6uzmT88j^wBCR{*^eeYQt{!f)X>kDtm(;U5Gx@vCz9<3R5e{@eUE@ms`C z;hzI~C;Bfu0u=t+7`_Kw?W>+TqWA@YN)`UF7=BU=zaWNJ#c-`3s=W5XOZ=|^Zy|G) zF1^_bPhDoJYUq*c6f34`k?f}0*|Vlhzy6dn&KT4`8g}uy!*bgxx~^4e?Pb^nRU=1? z&F=`w1^2r*Vu8H(B~>Fvj~h42?7v_&E1wKYMd>Nirf2F{qM6n>H%~B2O5uW9KB-xm z8_gn8Ak4J=_+7^Ygj zZjfsl>-;7clW7~?B;mHem}j%q#iqXZD-1>w_A@RQVS=U?ai=L`06>sZLYgu1DCs{{$JzNUcsY0k)o zPl{)yTO~-mMGl&EEBsr96Rs~We8rELEGV2=KZ1Xnx-I_GW=xqnqqecm&&~b3d|-HL zuzj{?2M;{$bTcjg2=j8c#-5v(A55>BVl1ZlaT#`T8V~cFU<|tB^W;xI?~47y{|``= zOl&X7)Xt=ZrG%%X1a=zzbBuZZvG+dr3Up32GEVQ8aQst2y;2$RdZzdM@bS+mXrWVB zx%l|!!@}tur8qPX;}ovmJqvjG)E|WMX+1WDUkN`RO*qLrgrE5N@sw%z;NFR!=odLC zzH*!S(R^}FVf0gfBk0{9{DXs@M$O_qp8wvha35tn)fWbh0Z-3Q(Cb9xjW938lV!e$ zH3pMk^_lVU)K)ThKK|Z$ejfKQ^#6OtQ__3hC5%kMRR;S0Oc!gOC8O}rX}olN=wV7Q z@1gNfS2~?p;6BQ|j3)-+CBtBct8VGuvwX*BK9K3{Z{LgNN$)fBwq-0}URk*flZHIC zVP^j+>QGp>hu@JDi1eZNmB}wKEu21C^``*w>4!7>?T1+f?VnDEy|L+s2b_7vNA8Ck zZ6oQ@4|l`fIn7#LA?pX48W+ zM=L9}HdpG$v70w*d?lKLGq)~bZrOF6&)WOHOJARCfe&*~g-a05&p-Lfz9ode6AGylJD?mM|}LYfClgi}{_ah{bu z(yb8A9iV+b=MY1_*W?pNT4|kpZ+9M#Q9k|S&mGvdFJlXLs;hVJD*j3Q%msF=%O7X) zvv2w~=^GmSOiytSExe=bwpV%AUlnKY7(T~1KK#1#Se)n<{PXb4flC=y9orOkJqfE0 zuk^q_TDjP!2i^rfT4`0T)dPR3y6(g}G(IY`t1*lIN)!8bY{uR)-pa>#!_BO8Z^b;^ z{kw+E<0|*EuCcUikLj${8Cy60m@#Sb>kl?}TbppDoXKXlN?$Aw>FUgNdCzMY->t-} z3~{~QS9ph>UTj4h&6}v?3q5txczt0m!W<}lZyozN`pjMkyfyp`JI%(b!B~mAQ989p z5#FN+b z;q`z0f+6^t99%vRxqh+0CR`+~o|`;_it~Ga#7v>Nrh6h*TDe@m_*J^Yq*WeolG5o6 zaOdsQ^E%Zp#vlkE~0Ur5j2=ZRt(rPKM~eNyxi=~Cx$ z69f`9?Qu%?JNkthe#J8(y*x=D6GiJAO6ECQAY53pN zFWyjv^odr3UOPWn3&(9t>;G>ev;v58GfGOR~den;q?rE%dqCvoz~%Ch7V=oB8d&&?h<^q>W8DKn3p=6fG zNSVZBiaRerQ=K-pT%#N}KinfC6Qgh(ouBRS(jPR}K(>gEiI<9queoq(yv-daBDPXu z#!Z2W)|d{gyu(8$&Ww)F%uKaAVI-{mK?OFBQCx(^TAYQ}vgC^>8_Y#N8}_v1ZqCXm z=OhQQ@sQlZy%dsr!#=LA~nE(?A8g!U@Bl>EQnwby?A z&Y2`s;r4&;e?HmSzxCK_uf6x$@5ed&(!R-o;WsUQLw)+!bm7{@wM}c+tXorG-zcQ` z|N8p1jq5I2E%<8}8?$)OnD3STQ@X0!mFDN_UVE*ndZBL1W2TC3`=ux5c74)R-F%a& zy0zQ7cW*aU&b?>MRMG8gw(k9Bn5y4=(}}sezGSM7<^IRpP1VoA%|GkCMqK>|&HUHA zud-{p#LUmSi<`~-%Wg9BH@>6Xz5N+8KkIg$X69e_7BheR6DQ_wKEupE5qHPC%zV1f z&NK55)L8fBd(Hggx$j(K=0AO@ng8ranX6v-q^Vv#Vyd@%I(0oCG}TwF4epvNO!c+% zO!dG+*6rG5s_B0DlFIJ>H<{|Jdt|YxK2dkXm}`j^P%* z>@DVm-Fa^^3y9S-AU;&BFJ*(z@U2HVb3- z7oRc<|N6e*9)HR#JeGU<9PNHjkmpSPd z|N7_WM!s!MIuZ9@5U+C|dDNVAEcZtbnUkFR^WQcn{ommJ(Ob+3yUo9C z7G>SrE-;Je2CfM1S3Y4Dz2_e5{{9-X=tx`Y{`GdV=zpU-dHp@+C2_es&B-s7`;{H$ zWamCoZ%%&jL+0d14^?*0ZZIdSTYPG_@$THUW^wE=Hd%Z;xBkz~;;g$Iat0tb>)!DW zvzTuDEoSlLj$^xbK42El-f0&9+OS#tz9F;t0|@h>UbFbaT|a;K$D7RJPnFE#KRaX= zKky~9_;dTs;)m`pcYgtV)_n!xzCQ7v(>=G^oU-t%=9H5US$F2JIpq}(r|xy7<};By@P1QsEcf_o zQ}aUH;d)c^BD*Ea22GiJ#U`_){$I?JbsvA}-QG#FkdC^mi%CzS@M$?$1OeO60>yar_IvS;J@O%X6d@O zSl97&v$XS3v-Hh3nWfvdn5BK&&C=m{|NGpojb`Z`%`e=2xZ5nvx_h5DOX==kn7S__ ztNOONAf7kRx=Zdb%d)Pe z!7Mvb*SXIuJC@sir&&h#_SM$q51C~@i@WVUv+QSazp>ve`+2x~cAI4{wma~bW*OZV zKXhX5E9=a%tizhYvaI_Sd(COT^!Cc` zkAB;nM)x;})43n~f;sI)a;H~+$((-DBf%}NF{jVvUh@-kdhFiNXil%>E`HLSK9_4> zZ%%)q?rqnY)8}%-(05{4WjD3MoKE*kZRYfMnHR@>5P5RfzMqf#6w(sAKVNB1|4;1d zY9`E_?({oN-CXYFB~$0ztDZJ>um0}O$6a!Zsr!$*O_v;rtbd+_rO9^_tz+|6LsHu*3@O)kNQm=-10@g`SWorH<;y>+-q+#%VW3td9(cI z<*>K9d@lF)XU+2AH=UTf^^eW+*!?>4-T(wv3$^|J=y zhL@VN#x6)*5%KK0-<Xi_BU7r@G%cWX^ga?)O%ivySKPztf!c+5N5ES9kSp z&5ccs=0?T`t}7Zv?97*PgEx*5mm8SO_m%RwfxeNE{=R|hDzR9;V=xTni>1l&8_R?g zj~`FWQZb&GVXkdV z$9$!9smu=w%kk)yL{K4$FAM7ka|L3)%oQ)gM)bKvFy6s@|J2U%*hkTHj1Q;~m#agQ z`FsXt`CIEtQljPJ>FgGxg?;CT- z!Tz1na%8k6ni^-&%szy^u9zF>cM=LkDb0c5Jlg4TFPN+YrO6S;=7W|YaznoEAwA=} z@;RuTD~t_|JJyNui4>kH4htgZIH)hnDu&anA&1KlG%5MM8;$jHyYiDon79kdWW#(0 z(EvFV^FM=%xN?QjiIMy$DsUf5yh5NkIK;Rza#4KQs91S3TpBwmg|Wf>ZWpH%EhI1l zGeH!TreI*CuUItg-Q6&4w2|8I!FbR$6@4>YK&xGv+KDE|H5fZbONCJs&)_>UC=a5P zla{Z0zXj$&HQ==EE1Q)kjwtD?|YLqMUROo<2EP zDju_A8bhMdjE|La!+j$`)KK4Kt~gN`^MYb{ z^;jvAV(7ovW9B9YC;OP*4Ois0v|QP4t0XF}M+}a$3jJS#aHLqFgTp7Mx!lo-*T63+vJEVUe8tH>=d6cUu0WpqIt%sy7 z5Xh!TJ~iF)O-n&7wjso9h&IEceQ48)V@>GNOT!kNxGsOA1+UuF(cRg#b!(^1?EuYo&US#3i=;&_K(%$2TApB-WJeVJtym6wGgIYqD&Uq}w zxx!+Y{6IfC7oiLPz)=6XETX9l(VX&(5A`=?P#D}~QT>HnVP`&(m4&CqZkWV;$tj-z zPRnvrU^+D2HVyp)K9-5e!Yoi@KMOf-rA1|8F#`jmYgfB4)*^}~COLJa;&@VN61}O@KOyZd6&*q45RX1~n#=R>fq}s@P0g zQ{EiFwW~9domEt#mFtnDQ>DjALhYlvPC4XRZs+LKNGZ3vA6?Pzb!&~FxE7T`1uk|8 z87_xnR2V;k*K$ap2o|{(-moP%Rh;TK^f?5Eub@JMC@>%~??4whf#DtJcQIyk9215c zFbXR}4q&OI#7RR+3&89fug&gO>JSQ27ILz9a?}(7lXkYOXT zbRbHA(ow=wSX8k2M-jt?ox?6L#g#FLjDUp}G-Z0Q!ja-|VW^b5eyV_l!35WoB8%5c z*^G@Llw*W#r%Y72f+)uy#jEupsLS|bWhEz|X8CRxM#(~LOxam!!aH6uTC{!ChM}*UL_3AWTCqmvFAP%%{Fd0! zPl9jffSBp!?OR$m$esg{XqsRVSZ5mQLtDx+wFcwy7TlR1%TIFPYng%cb9xAIQ+iZL z#2r;%LP5 zY8OMGF}^^fow675%S>V7iAXQs*gPsNSM%=X3LMBD2|5{GNbJ;KTH2|!3897nQ{>Yd}*d6E9W z#hqe($ZXuKi*}cQ$sC<1X#0e=2!P;_7<6ULHg~}!c{wpYa$|EJHmn>1-_1mN1Qm%H z2(!pyoHnPnbTrdqI>T_lk;Op{HUOj8!I(r0h6L6o+($$K34@M2JOip^LI<3UkVcX4 z6vs!fRDV5&P-U!vl!TyJX)@5rHDbvSb=%h7COoHtyv?GqAXE{Jm7xmUT&<~qUehcM zzQo2X&cYhZ)3IzrF#)zpcvyAy&5>)S7|0>59&rO@*sf0w4P3aUd95aT9VL~c*EX$Q zT>-ti@nVdT%Yl-8 zj*06%63dVngID&0X2vyJ>5ibe=Bn>E1=0O`@U#z*`slDC?~75NkqqI zX~Yl~>+MM>Vz7laMr`|zTw6HZO+zB%|}_116@>>!FU9 zg6Ih}z8Qi@!rmN)kxnk4zU#1mGlU7KWV6Or3CT%=3rDj?9!Qoa$UdA37~^cVbYq0K z!vG(6us>)Z8z!D21t7{GtI@GyVI2LvG`T_CoJ^5^QozR(G$&Ieh>=}^j*%M{wCq%^ zh>^lhn6WfoA)BNhL{`}1)qR*kaR5UfQxC(84fSW zu+hfsQR*QaTR9q$)(Bf^EX5_X0$`N!3iC3LLDsFL7g(B(#mIL}m(o_rnSz zOK`TEbonMItrXT|xmc#sA|h5Dc%q=3fVIiWgs6^1a-te0Sep?+(>Q|iDi#H)WX};f zEslsFdCt}h`C&(=GHh@u6I59v5n-bQ2zHJHM6|T=LzC(Il(-Ly@lsK4*wV5Q2P`TK zV30>bR8{1=Y%J5Q=TwkXH?7AfEvA2}Fj6Y$$OI=^TuV$1upe(bymX8x_81ysF>6_p zLSWlAV=^e%z{G{D49bSXLS>~*5PIL=t=8^g(wKJ0q- z6$_EdB=Z2yoJ8UG1LUsmj_obI?VH=LwkxdEKA^BP3!OH1wRGcjNpE|1k7G)3maCj6 zV8F5C;@sNiT^F+172{+uI2uJ+uQ@5N1p4U=s|cV6s2VE$5hXLQGb+i36JZ zGrIbyNVaEXNE$0AM}AtQ@s|g+YnCcY8#+14ps2FSZqve8lc|}D0I6`ZBR38tsW65U z#&Ra05>?vdthz*&=Ye3$bByRDYi+j{C{r#}6#A0%$j`l96S=RvKCcsx)sE#!-R8b}U>Jl722r@Lgt>;5(f_ zkjQMRGqP-tB-Y01el{u_kU3vAJ`K{#hH-)9$8iBwHjs-*(MT>}{lG1t{OB&AtfoxJ zT!XnRFH?1*yyXLkAkAjsu{f-5@hBr3x-!j%3j@DwsJSU~jR~_7m|yXrFiU41*->Fd zy9qNI1e|O5A#0%7RwyIR+AN!%a5f4o;bas#Ti;xBHO$W5SsxvMuA`iz9LZfU-!ejs zg|k746&3wNaeSbpBa{>`Wz-C6hF@|H3r3T99P-6=kFffZtz#L*UzZR=@~{bU?#?c<>XojF(n%?u}6*{0gl)XHDDi3=_aY7H?7 znjaV}_T}7Y(lNP1*CEDoOcJ--u(knuIxcrDJ|z;A{@np#1fv)oVK~T2(OWYv*@d0h zhLZa-mW=IH9AM>+y>cib;*UNPHfUQI;xK{{Iv@r!Orht&k z!y%J>K<)Z9hA4||lp%*V`4a)qc~dURnN2WyyOJvXaFhth(39|OJzL!p_27s}prHXQ z;krPi#9?TTnS_v~f)zQmYAk{fI0EeeO87>``!R1A86Uq6Lp)+8`bxw7H=+lc6p-?H zpdS@_sDL$Q-i9I@Hp{SKE+W8@kfnW>3Xpg1VtFc42eOvkNC@q9FbG zaU3eywh^N%Ry6E6U!!WU^i7lF=|>+3MCket;~R0I_WS1wL|7kL9xNu2=_d%_}3WisX_yK+tJwC8oVm}xg zEC494hb>wgn^4&P^B4Qdu5V{ZbM1_L(+nkqtx`A>HZ>%05$CN?do0tC&Gex` z9D~447H?MOaQhN#)T9Gl93G#-=37)=sG%CFC>7jC!c#g3#Q0dxt%MNS5H;Y<5i;#6 zj>+)HskvalQ(ax5{sD#@Tu!T!RyR4{>yXeMnr@f6&+ z;BYS6nTP#sv}kWDWBjs6DNqcZV4_6gzw4)PPDKI;jmA1RMPkbBoWg(*XO?UpGDE53 zL|?&X9?mMGpmt&@LBtO7t77>vq)-jc@JXwHJd`FI@F32l!szjZDoD>>4YizvG2hW^ zLB!#L5Rqc!@Nddbjti5_uK9(?gaKtlpBM8SvyCbT%Xb_cI)KR@#IoEHh{g|aYRpsE zP6ETEh~4(|wzO{cUH8avZg8B}q3{9om+Q*-V{?m9c+0tHqj6-T&#Fl^BC=$yiQ=|R03Ev?Kl}yC-V90 za=7&wVjRosM(P|?8%-K4;H>x&93#j`34{!@fJ{W-2tiYP$|{f@D@jl*cS;2b1j|&h zyL^fR&ZG2pu^zjWvXbD64+yKGnwTBu$0!LTHYB%-#uLktuFYyAx1?F7G0v*bB?8BU z-l~0jSFT-lpE`J~I)EE^T20_K*|qXy3ueh1oMuD7RQWuddQOj)7qnMg(WB-kIn_7_rQVSy_tl<9v@YabH|~Tr_rm zll$O#TJqS-$?lT}U=_=I&;0b4a|IgYYZ1W0x1wb6Q&2s4VlgnWJO!6IWIZI`9P z0C#b9oL87cj6g+Ma78>8lJf$7(LAt?;$aHDp)^r}h8>-`@Ie4_y)i&|+JI@3IHf#v ziP+{g-!%wy+mYK{!+`Y-vBIrL_b`JLwtZBMZDKh#!IUeU*ZbAuBavQ%wmr`gDGLcOJ^f%BaG%g()lLae z31_w#7umr%vdXs8HW7%+8ne3wU7;}^8<*x-mvgmA9#PS_y@9nB%(6V*7Nr%h6;kdB zV;!7J{7@k3>$4Q8iCHF>h!9jax&wkY%_<^kWO!CWN55$RW>6&>PR>VtVWe$ELZ<7C z*eg?P#fXq*P?-s^3TClFOko*Iyc8PoMk}J3LQ17XdS@j? zq>MD^lP!Lq3=Jiv!PgM5%N;2ob&=CA?gqvLDcN#<*)#;ZgwslaS!2P@U6D1m9T*&J z!f8(|9OC2>Uprxp<&-TQZF5lY@JIzpK{k z5K+n}nytwR25TAA#zLqSgrtEAHa6$vMGVWds~MpLnPC+|JIAVX2*~025NjhG zBWi}`MoB%05j5xloE435av&py3(cj3-iHIIDLo7K zC3NB4(9xUg>FstG&G`aC7H?0YWU(x0au=EhtkfVWXddAzgtswm>uv4r;7fIU<}ri9 zoJ-yXRHYm%p9vIs4gqD#5IXd?c-#YT?{4YrcuRX*HnJ?q3(pdmVmqCvEYmBIjX_{9 zR-jPe0=irmfMw6ayOKg;Ldgr{@vM+m6$yuNpuHnBg1N__JQb3#Cd%V3VEg4*$wd9N zA{+uzHf-TFOngXiC8S)8nWvJ4W1C~~7V8k+I28$pCC zEBZhy<7HlK>)nW@vwUg5e&IO8K%}(vS{!m+x+nwvcD*M(E2*o&q7R+{khk_|4 zgor)GwMY&T;smE<>)N(~11&pL=ekjXW*+DyRb&M2giTt-n87Kb{D~eG7gUL09`h7^ z66rKq=4HgFpTuUu`16vYjvklv--#k11}z8(TX*}LrRICUrG|K>J!l(HPJ@66ng?8>iARSB14`oepc@Hg zuxLGLeH%J1M{~um*6`W66))ld^%nObVWo!RHc)p5UNdw$d!$}<2%NqK3QGn4l!1bA z4@B#OgbBGIpf8*#&LmTa59JfMLLLc+FQSMesLejKdrMR`g^O0bo0V1$TMiA`QsuDR zopBQhtn3LwIiMzn*L>(%*nG-eazjd6VUv;J3h20e1_(AzdPp@%KE3_}>!U!2CT`n~ zKxzRXTJ>Q?t0--Yg)y$jOS)`pEZo}O-J9!b!Q0M}x*q406fVfjG7**Vh@_At3L;OO ztelTB=FF?D?-XA4}}PegZxBwSKHwQMOZVk1^~K_3$`F<< z`8Q~ry!U;)W zb{hl3Ppbb{U6)=t!KRtofzpdR@+exO$z=5r&tFz_m z-u4~6VDaCMEQRkEH>^$`OqjSxVd+pSp=`LaOLY)w9!!`rizQZ42AKrd-qF*6^_Ez2 zf=ZY(&5D(tK_&sTX;L+G$uKSi4ID?Gpb}{vEo)*%4<<~#Ynx&w4<<}L?_<^sG6}#% zh?qCP3EP%!ot-wZ{7OjiGMHtFF$rsEuq2JJkNd%4g)%4Z-L;9%}174QsDD;6Hwkt0?H>vi``2N zMIV@@+&xEJuz@F(V!%a3=tH~m%4E77SH*2h=rO#mmPy(NS?vrgKI0>nOwLD?B3gNas6YzBGlX*RsBAHKLRtzQoh<}UaAn{TX%TpIC;^WO1>jLWDVqPD5M{r| zN$z_n$$XEE^4{a3toJyV^B$o)aA>o{vi(fMAvWMANZMQQ*rwZ8$s#sp5s89Z+S)hz zuwC3T<-o?CNwOWc+eXde$Tx-`u9GX9DQg9^443#SNhN;Hl*p(L)Zi*y!^Jr0$I zCM(Mr-#ahQLqY0aJpl`^09L|DJjVq znc@k^Okro`F`+xtY8J-W4k5f48{UdPN z!Qyc?NglMOkwz%3wmqfFQj@cJzW9o`$y&fu^*Fccad`z3*o%I&0@H=d>J}uI7)HWc;Q5EzV*sqIMT@_Byk~Be*3YUioHhn z<8M|VZ*AcRDFv|WpY{x<{sIaxJoN^E_=96_#k?M1}OS#>IhIeFVmm zu>4Y`zr!e4l%KpQ;7649)@3j+xrFJdk^svRM?$N0O+J4PB+-D$oRerb@ZGhBSf-^Q za3U-lQ&@)4LLh^lF)f#daFj}2BQfRGBrnN)eK&o)vXLM!RNX%#F}hmcm#1NNNiL_e2i z*!S|{k{)MOBqZ?!YZ6UB*qBmkyMjUstW*T?Dlw?#Ih>l7L-h<)TA~l{b-ZqHs9EZ> zPl5Z57ZyRpm6Bo(gy|3N|ww zs_E@8>2BiMgRzyo#)qE@wf$2}ltE!1+VMF^a|e=J;AN4CJOn~}y=xAUa>d+}d$97= zZm(rvbxlqY7i~aGVYPAX03V-GA{VuBEQRrhXmCph_rUG-b*~wI4ny|RA`!+D_u^A)Ja3IBx5~o>)@u+c9A1^%Z0XmH|8*R7nIz#S%BB z$Qd$|R7oYl%VR#}0TAEhNYbV<*W{!Cp6$XD1Q;BYhtk6UJj0zKBKc@2$MN_uE)8)f zwww+toB$nH?JZvgmgLx1$Xg_2Zi?#&vf`L}Io6udgm}BKQGrmg=-rSq!!H|38C;mN z2JP90XV@mDCMU*uy>bi}?a}pT$jHp5IgJU~Xs^g*0x?~4ki@j(hXo}lvD&rCp?LdL zu#n^!HO?SIU{*Iqqv}^8i3M2#8t$k72)SAiip3r-iLBSfY(+#r^e%e2iH87I6L!s( znef?ieVL2K@XP>zAhYq2I8 z1PUO zkMk|b#GFP;?W|xIB$KziNHn!Tq-7eNQymp4DJh?(GD0MZg_wrQXp)q2 z6qT<*8DSn@L5?roNRG#4q{<>0zZDuhqC>gBZ8w^ z6$M2lY>FD`AX5lY^@Job)mXIJLX2{;C%GS_N+M(xRhpa(A+#)kP@z^d_b?avQU|kq)Dxx?% zRT><>VJzX24W>94)KBK^8W?CDG{on40}<2oo%u<-1D6pe=c{d`c96>k8lwc963$Ev z#5QDXnPrcLi9tq%VI@VEjme3OM(`*FUX-*i{KnR+1dhpp#uJxgc;zKdOcer|a$#^ci#5q#CAoJUk4ujhbZkzrW@Lqi$pol)211s!;ye{}c1FjRJu{mWls_D8 z#S*8FIZNhvH82MOtNry5d-p}Ik;%HLKVTYA8NS(-F3abfwQTt`pOHeBJ9mp}3QIk*|3cju(gWnda3IQ)-c_B$~gf9ot#QH)OVNNK(wN9NV;J9= zL!{@o|H)Lo? zlIY=@bDj=Ko}3hFZ}+yIUYR!PBD@V`(QLn>*4ZQRJG*=cJ`zCAs3QoRS*9><$$2KW zk!~r|B9mnri$c>D%RY^KWN(y@2~BSN#JQYMGbNDFG979eEiBC> zB#Mms;e;m7%-V_#j%2K? z-(?hO%F3~rg!c1XgV}}lRW=C2sW=GQRfa==v7#(0}<5*4`%D#@l*Y zF4tR6NL&^VtEqr>W>ZcQyQzTQb)hUyTsLL##rrwAz5z_NiW7v#in&7Hn%oF}Kiy>; za|XKyV}pH@@wQV$#_&~FI$ZMfy`-o_Sl*dTfM6#CYD%%h@j6_XoTzk&io>C2cOWB) zKuW-?^th&D`)~~(ra&=*;{eqct0Q&;vKUmOdn(MAxeZ2(l%t9T zKCUcZ9bGMLZQboXJt>si(i+~&R*~++lAc$#MTXY7Q4^lvq4wPP@e($2ws3s2wHHr5 zOWCs^6A5Jq9;o6_Gv<93^;=3VvGUI z$nTM3XNi2aD~UKFf&ka-#9?|Qp>ZHV_&{YDV~%FzFHeq6OlVzBfJw4vAU?6D)!h+3jM8%h38M z2Vrf)--WT_R=tN@jz*D{BV93+Q6#U+v4~inRkOcCf#>`Rt!mp2E z%NhWNUIpCn%k_=j$Qf=~%aW6Gc;uu6953Q8`1I_+#6}h)aazeWUKS~4Xg`r2`M~dv z2CV%NQp>=!IS!XjfyJtnBI&ePnvTPY?^NJj%mgttGL9e9u_&}LD3Oesimbp#Sx9Yh z_n4b_bZzbIXuUeOWouizyH>gtKV;k9jjI5Xuq_@$lDGAsDG`JvMlcIlWW9MC9;)(B zf@E->E6X7;sJs%}v9Y5Sulz_*K8YcER3d;ssK-o>^dXpuJfI{tf|aBa&!MarEl?0G zU@AI7QM7;+L`!i8u`KdPEWwP}fD*9;D~Y86;|K$O;S0Y)tUn~k$;IG=v^894;R|UI zRkE}Ko+W@WX5e(WpFx5z@Yn*1;FKB~_=rW2;H#j6luIT);-b(QP=vW+E0<`CBb6w) zATa|<$19~(L7J38MjCOEv=p?`Y%3$}6>`5gj0?TKof_0tj;?LpU0ZwP885$<5aHq# ziv(Sia^@fcOL{>>G`Wn>jdqk1Vd6DvyAsiNomq04z=( z$7PG}K4iv(-p+R8I)B3J4S0FS8YqJBw_@@R9OfZWkc1UKlZNyA0g}A;Fg9*>;SM|w z$VRz=D>SZ;49Z(%l4}-Ko-u;Yq}}3dTbaAErK^jrn-pdShZr&#MgaZwVAv>LYLzPj zDVJQYQB>K2NCkX|Cgx6~!Xyi$d;E|c_AjKpidk(wmZ2p{Wmv@KhIc*NHuQG4>!dr2 z1YcQL>XhYEJy}t?LgBUS>fX8oZ_o1mAn7kXVhfj*RnJg99qm=iP`s{|pbQ;huFncYAe!EdN> zy%lGmiFILwLxPmJ3n+9f{>0&VFpWvJ5;&NP1#qib$Qnf8SO=>;yMMKA+qNpZjnyrQ zxq4vjPx_CT&uS1YcE?1SehNo<1VR&Lzb0B1bPCNyX5CbIB#(j!Jwa7QynYI6D|j|z zQdeEe80-PnL_3=zku8}TC)v^@a+_p-zzkJYe&ke|3JY*_mHuS%79mJUgimWg7M34u z+tLN{eL`gk8>57TSkb#I7?&Qn?Q#REZK$P))vk)PaeL1jq#;qeaIm z1Q|Xek}(70Z<*#p0E-E*UEZ)THgx357FV1%(xCmSl*KS3ZSDmQIc8zOSf2=Emt-x1 zHAiENICNE57Lw2s+cevfROqUXE%@zRN8m=5C@P48y}lxIGa1>GVeJZ48G5QXX;YI> zSW7EYm_EHKlY}7NZo(vJ3X0H?mZ^9pl*bz_W{F_LgX1-7;angr?6jLlLbYOwY`%CW zF~QlND@<|0j$BAFLD}6(0!#IYFkE@_KR#v6cB(K^DvW97;3rMGaF-T8X)-o0%j<=m z9%HrE&1P9Wk!?%6@yi}aHgVfJF2|!UI(mpPo&%40bzj|;usD?G!MmATa_w8Tw|7FH zSXfH%{18B!#434Ku19-byt~uUWxHU>9;k_aEAB*KQ2L`avC2vwGnh!&+Ji){-CJ1B}%!C6I89uZ5L ziiFb{aKs&@B4)L5-f2cq@Fi;t_({J8SqjX{l7Mn%aZS~GATUJZlj6vhS*n;HfT=9$-CZ$IM;_oT^iN^78U%`lC?0!n5kC!_ zSS1LkPEv3ZH3rr8R*n@Biq+XoVovf)#<}8XVKhI`=T4GI?xv_njAxEsgOIqAM<}kZ(yJcuNm7p?qmw8XH$ywm-X?i;84E5Z>Qt#Y1!D0 zz+rrYL^+&V7%B-q*OZ{6u@xS%(6U>5y0&n+ zhWk01$wUv~m)pk%N8}eXVTFY`X)fG4kp>&HhiM{FyyZRu0@eu?OI_j!93C$g$S7Ue z2r``i*)UZ(sR>k;2q%NEob8D;h%Db8rFYDHw!!{fkaCN?vT)Y z%F?W~80~Svy4+zMtv~In!3k~@w-Ulic?Jp)`Y6u+e-m)K--%zv|-uIO{FLXkzw0;aASQn)L zlQ`ojA2;E5;=`9e`M0@y!x}t&j`I(0mX%=8ro`}ut!?_$ei=6A3@w*u6O`k@I3BI3 zO^9$P!qHndwYP5W!7l?yQia2#98XIZkEH|#3n$d9whSRS$AwMY&Dh5dLKNZYn|m`d zdKKe1`0ib+tRM#=0q3}oyiArjjN@=6z|!=2h9Z&Z6Ql_87|l2j`)u+Un=dJtO4USr z7MDhk2nq5ir#}&_FtN^M2u7D8nTUX~i3qSuM8HTQGGHpzCL*wCA_BrEBA_%8(j6rU zU~3U0B&q}{3Gf(AfQNkoJjNy<1yiY-0MFtQ;1MAK9_11+fk&gJ@K$v`k5zL09-nZZ zXyWmkj(E{WNxZe}zU44I}Vpmy)rG|G8~sLN|6_@0;FdTJtB!wlp5e~!^sm_{HX#X zp#QZ&W8UzF`WN)Ky4kT`yBH%1{1_*G!#w=<+Xdrq0D5v@wMF4aw24_PZ9SS@01~|E z!nKWSo7S#gy|%u7O=BZ)_W!2F#{f1yZD{$og1sFs*L-qGV@JVBs3z`ncq9qCW{?E2~h`}ThFTu{ti zE6VA2Tb#&0xS*PB_`9F~9cbErV6PBdeh4%v3i#_1w{;N2ecN=@j@J@!$vFs)NlYWm^x52&6t-ONK3EfV(Zuf6?!z%@N_>$+PGLN}IV?fVbxUA+QY zub|d5tF5AY_Lp9_=ZUGUP-n$#Z^O!4|FW9V+>HQ+am_5J7L0Kp^@6ZPBvB}RCk8M} zkSSYnMok6QeZ-`v-8|8j6oKfMAx^?RP!T{HdD zRqs4)w)(dyWcuM1Z`Itpi?K}~InU+m%tQCT0+@@x^3KPFgzTwyG#kv?%k3)(@!t@Ge(W{As1?9ZU!r?HX(TKfDfEx690|q;Z|^ z;yB;o)jaNI(5c@W+J|zZZLmC9TcvzktY4j{U)@j(Pl7e=7b#)~&~Js*St-B$rIVQX zN1xp1GX2b>hYrq1Kr_=?9hZv;vdUG<_mOXjyy>SeMNys)X>G9fM&$W=2A2bw5YZK!UIijGMr?8UorN;Cu*J4*`wS4`1rb{Vt}G0S~}uV&8%~ z1AozLEL=^iLSj#bCwkqr3SY?7m(4u><40#uFROThMS65O^`!Dh%z7q@31T9V7%^NmBSABx$YRN2KCqOPVjEQ7 zsmye5Wus)OKwH7&A5U+{S%LN!A@^L3kcU^}KW$K@J=+cgsGD70Pi;|yXCB-0#E%cv zwm*jU{cV)rR5@SDvbV2s`peUJlqTXa-%1x8pex=N|-gMH5~XAKi8 zZ&NG32G-32EWx@TMNxLCt*ClRV{pt&4fF6!+^6Ipxv5gSiUt(7&WhLS-P1b%O<(?2;1 z>u(Je{~B0`b`0RHc|~QRJ`pqD|1o;922`xF{69|cy%R?zsngFNo%%EIE;`#rW$Qz0 zR3BE_@rI1|j=XP1K?Iqz|JlhbiTWRC*t8!yvYXWWy_>~VyQk;*qerRevkXyQygr>r zD)x7SHdOUo@tsp#b7~N*rZ*Wx zV%(EqT>7%NQe}^epq&1bmheV+wh?Ro28*G?OY2C>6o28R@H&$p+sP*+rwS%Nz_jEC_%Uqy$Kc~wKF{Uh z?v726d=3>RiiZC+qdc>JZvtWyTqj&F+|_UcaHDX$;NA&04fiW>``|tdcQ@RT;AGxN&PDPM&^0-t1no6!P@%f#-`@R3mezeuj+PrfPa55T`hvuN zO}a+lVDj+qR5+I>gvnRrhyFP}`YsJ5eH8`ueJF+G7|zzHAIpwuh~+&D;wu&aseewM zgPkAatIZEsZTw%l+Clko41}vCpBfN?dQ{(D@W0@@K7!dEHAe8ofY$@2WQM;6a90HXGT>_?_%6T` zfSvr$0=_kZ9|ycI;{P$=I{~x)Q+^$cX+OSQ_$I)I05eZW-w620i2gRf-v{jUD**=o;3YdAx@TZy|9{o+g%Rr~4kbW=VdcZEe&oI3HErb6M;6~6d!Z-O30iFQdpzyad z{6_%a2|C*l@;{TIKL_{_=-*WOvdCl^-#e8{tk@`fuR73+@dH|1Q37g=4e9_zvKEAKYmQe-q#L!Lja>{!@IrKc;UH z3gZxP>?=usB@0LYNIx$FH)Y_1q=?m-!leh0oMQ21|9 z_+uIVdja2xhW4W>?*YJFFs46O_-lZdp>gX(8BpH$GU1=gz}4C$5Pd2wGaAq7Fb12l zc|H_|jpLDiKG*B;9OIN@2XO&vavU#oId-z~Fo;KRS2zt@8s^{%7al!N{Ef3fJMl)? z1#24Dt~L^oM|APaF%uIa2MLCko+7M~wj|Jp##%z4x;)`>|;y@oBB;Y7@d}_o8q3XD+ ziEy}Qi9^L(d4y03$Uf&%yiP7M!_#x*mdV;ZuLOb}zewu>`>YHng54shnJ!B`eP`94YbGGjig@YmJ_B_!tW*w{`V1vULRNbr_&3mp+*ZYRD85heQ;OfC z@UIi@#F$OtPtk{*FDv{Hq(lC975^;ZD`C$VaFg#0_{@iM2_xQ12!p>v>Dvgyp7Kh+ zS?Ry7@NdzFoR1L?d;6sNPtu2-{eV8~?(u95jxgtV^y}4cP=A&BFh!xG3X6{-6Mvohm#V*B z{WkTHRlffRMKK0+P z{)g26i28S`kM7+aQK;viKc{e!JE4%CQ&`)yM$bbW|C~Z6%8-A|L(X<|VdaW z@vFAYMP>Ql3Vzs&C|+t<#&mSz@B(&Ak)Arlx^mAmFo^onqS?zN`ENqH7R|09AXbv$EL>-Ok2d4fbx% zXYeZU#=(z1iX?JhoO|Nj59dyBIENzp@U(bv)I*sikimlG0RTkFsF;~j=RiJ{WJZB~ z6>=TLwhzx*_;W)qRr;ypOO$@5^97{8Mk)sKDtm53>r;)?uVc_>m(v{NsMAHVO@#tn zb~ga~M-(CocZIJ8wEvqM>a1vKu3+l9 zJx5D#-SbT8DpY}tfw; z{O2_p?ZInLkwAdedgg$rDW`z!L7SP!w3sf1x^2*N)AYlg2d1CyWGX9pbEo0I>!1~Wdj!7d3wq?>_UDL1#IGf*6=1wUdRbcsx<;(wQ^Ugu; z^8^DMy*g?1A~|Gt?cSxLcBHcO)1u6`URdtN7UFZ4Eo7X#r90-zTLiaC9UkIg7;FDL zx5N`1H^UO_`6Yi|3HjQHT6qr4`qw_j{Cj5R`^ew(k)Gt(j!n-q$lPz1r{{I(=DNzQ zU(`o0npnM*_y}@UN_~+{*UT40C`#-$5#_oVS{Dn3LReadb4b+CzBi&8*WU4Fe7k}^ zM}xV-W}J%{gc+h#6h4OHWV4BI}?NO)f95VrJP z%xWG!W;TTg4W&N;E(8dFY-ah#Aawkzm;bTXi*fJ3i?Pef&C@w{TCuhIvu>x#ehSmF zP}8vRT%y`aF`ub^JWV z#6JhG2F#(Bg`)xhj{CFm-+YlAFx+pw0^u8hx(<%}Jv@(bC%)gP@Vfy&8Nt5~xE_vn zNB)QK&HY2#65+qYH}?ZCQ22R#)1VxDHohC-MwPxE-*>|OuEN{!&HcHJ3J;SG*wJ^9 zj>J0pyGRGjGGY9`19*P~KLGeiz*i{!3Bc};Y#(qs62W*wrX`vuW#N(=6{tg5 zJ_nJ(eY<>1iop?G;wlo;kRemuHcGsoM|%)9UY4|D)=&4q4JrR_H%MA9B8~{vv!6UP>SIZR!^l&$A#BUj0WDFMCD!=GhGiPoLq{FDibw!uP2E zu=@X?be;>Fhk@k3DSjUM4azx1{W|q|E{yoi@X7yX!iayT`jhJ4tp2;yzeD{GsQ+K- zBkjMV@ZAdkzQTW~@VDtBzULHQh5n21IqJWTKH|Sv{cZFyuANl>mlS^+eT2J5@v^7% zdhB5+{>RF<0R0{1U8MeH^bu|s{CVj3A5!=^rO!iuNcvXwx6w!V0rfwi{)d(RDhxJ7 zfBK9^{ZaKxO8*1(4=a8?#<<*jJe@u&Q!@&%de*b?k(EMRcYL19XnZn9uCr ztFSl4u?6|+72iM~eA1rw@AUf!$J;}|oyXOyWw+t@dkE{!KqUA>H25puL%>|KT9(n= z9Wg2$tznXmspFzq^SXI2{HuYr^M4WaI2I&U$CNWX?R>Rl~{bY!|1()wAnYV0H_p)kl|2 zhs$~XuGh-DC>(R}JSNRGLnsIM%yRnGFQ*?}J;D{edd!R$Ngy&zfC2Jl=1c*F$^uZd z_FVilFCUiTyJRb%TfGy3CEvnhk_8Vw_*8XazhuE-WWirSfH@DTpI7zRTf-XjwwbS8 zwSDFbJ-0pG3Co!^Z=6?q`#RXjGqPM*RlDbn0QO$funGwJlQo{M~TR~@5#RfrO);KG+^%8OK7c%MF4 zg|!e_DC3cI*rbqWx7W;$$tAGfhE*1W4_R9K26F+d20GR;>+WY3oc9w--&_4gAN@8n z{rT#>?>hSY^UweI(X$Vob1VKzhi4vo@Vm=?|JGZ%yYkT9ZS!i|zB{{pnb|-6jrr$& z0||pr8{eNXu}Iab^A2D9NbRpZg@qLx(NlXhd!UBPo|(sI7f(M_z4tbW?aOCBVq^R6 z%!3aecCkIU_X@=JWkmJ(d@Jek^9~*UL&&}DVcHR{)4t8_x$WJ^%XKs$n{w8(I$O_{ z&8}x&Euv||ua?r6*=lYj%qv~Q!3a5OUROB;`YIbj zqf)!4{Wd)TiJU~Mm6q;5@<)1iit%!-l7j!%MvzqnosG6Q&sWvn-ig?2-^*F_^z-vd z7f(MwzxMW9ZNQqBRo2WmS=5a8kJxO<9>MQbl@87>XOgj4{MqU6Vrz3oz^VJDADJhc zCsgdzj9hI?z1$=38rr8hU3+^GC9t=IOx8;2x@Z&zdQ=a8}(#;j`Ff5zOxcbcoo2U$(z?=EOWO=}zp-<>lyC}LV&IVNA^hp%$=*6twh`C{#!Zz6LKZ+3Wz zzzIL-chio1*zXan)D36Y9%@uQvl3RlGtOhl4==>#%gh16VoUE*lp!|)ku}~n-+^S= zP_7f9X=580#aM?SfW0n^`a~Gfu5iNw?)hNT@wz?#1bVyD+gIGO z*bM=We0_Es^JK~F2BmHwRlDOOkIinV!)^k$i%PXK4|-i&$Wx~pJUZKAc~)h4&cL~W z^U?W(4uY;!wZm#`E&b2C4Y4pN43=owu;vu>PVzfgPoS70Fw zz;2<57bL}Y_Kw)fs8z~$4zV>lQ!nk{TLM}N*3P-Xq}d{ObJxyJ&@7fuZ(LDjInby% zj@eetD_GSkD-wSiahWxw=iDvu*kdAQQ3 zq+(JMuaM>ocbGqb&=?}DbopU3n|pYnIKEJtoZZb@xP1C@R~&ZhO=>Bsu8b9Y{jH0O z;qVek5d$yBO>h8)sUVRVc^O{F&CIXk4nrY%AsK>m&O=X0ATK zGW+DYk_05>J|qT7X@p9e6giH9IUNMLL>#`}8b+uuXv}({2CGIFs>>$S=q2c;PIkpq z140}69IZ2GzqB8KZYSP;%`%_0{W?~nZ10NRV+Kj_qZUk~IbW*2i)n?j9HoTfs+(P3 zkAc8~r@r@-kkHtUlN8u|&y3b+&u=@?d_NNMoo#&^3jbPUP}lU6@0|Wg72a-nxJ{0k zpua|I`UB0#(o>ukxpH_xnYYmz>v87qRxzk5JZlHmR!~woyI(4zQ>R#07109_`q{ zR<3%%lg95b4?)b?j(s$0$Bt#1hZ{nQxic!TTH&A#%cKUHh zVSwY!U1K{%)#fBZt9A*1uiB+EW>(DXt`5`+C4Trd$TN&bZ*REOM!xJe_;N+wngJ_gUPH}j#FX#;(KT6))XW1bllSeVO1zIWO~PQm2t{ z{7Ef`&xt!{FM zqh-&_kZ)(i==kV!*ysLMuo;6=r@+%s$!q4Z%MV0q#Nt`LOc;A>i+$a=csN&t>@kDg%EN@U3_qkbCP)5AQGThho>m zC!BpRVO~_{ssBlU*P}ArsNti|QO~RhrgKwE&nEnW%9ULaNSqny&$0K)S&p`?EuEdY zmhQ{V=&;;xXJ@B0VYk0`Bq0XJabhCZH@VY9$gCLNk&k3p4TkwEOL;R`DE9FoBm7Q- z-oIzhj9+yi8keF+3y}_TR%Cn8KYkLyl2WTAUnm}8DkTTuGmrTc zvDZCh&CrB|;SX@30Q5&F#Fq$&h|lcA-#9=sz6~2wZ4X|3Qmk$ zn{Wx>J#K3x4x?vrs4O2wwpYAauyKrp1LI^K&otn-5lx(vWO1i;40<2*0cfk(H`D*5 z`j5~@oBy})=V3r|Sn)rgk9zoT#G}7G8Fh?&JVQyoOXn7^Wr z@zB?l{!dC@2$`fWr(cgT3jMQ<$_ARbR{3(24VPq_{8(P3h}qnNBBpGhkKIn zD*KKR`S@lB)4v!#>93{_{947!`4r%{6Ml`JQvv)-%J*x^_khAYFG+ddA`HGG>OZS~ zH9Ak?>*yn%Rq)B*toU}q&~LNC1N6biJJ00%6@@>n@E<7rIfXw@81m)rGyJa;kMj6i z#eY}*e^LK5^k3v(slJ?B0emT7rgxj-M+u*Yb1@447JZb}M~R0$eVQ=J?F)o4@O_j% z_@5>o`g71i{ket3_)by(RQ1m${d{9yt8kqdpQ(}%qOm%1~7kE^QN|D+8i zKp_KkXJYZ0A0g?}un!mn?gWqyX`n=HRr>IA;6w&rQ+ zvA@RZ*GoTzw%Y3dNBXIxgVjGKJ@#LdN;nTBZRF2LRHf^Q(i4u;r6(L0TJx)<$DbRm z`PZ!Zx2^f3mjA8gcSyybSFHJP`U~bgQRUxg=?Uk_RzFpG!nr^y_Et+Je7#ox8LNI1 zRrc?ap78!udcymh^n`b(H6L{tdcqqJ`$~`e z9n$08Hmm=Q^n~{nsn|P^{*B~DqAFZE4O#wHN{_#Dq^DdoS#^~0JI`73H!XiC9VGEbpvs*Sq$fP3RzFR8;+ef1#{H$%e62O_m7eh4 zBt8CoOM2YHkNhXCdXISA zz1Qj=x9YF0`l>bmo7Imz9C-#{V^QVKc3Of~q$k{WNKd#o zN&Nuzy?D~&1*`r=Jn8Y8^tfMe1bW;($f{$lI$kRNT!SjPo2BPHzAiofY?dB>wp#Pw zS^lqi9{;{2J^p}f^SLf)MPPg%HpZo4AC-3*S`|cZ-3aam+_TAmHcvNUqV4odl+TSBdRy8%jdTh_` z;pr24b`ML>>)BnHUemMtfO`@cZ(PM6b{}c^*01TDgCbrxqS5H8B5b0=^@`>>UR7=gxO6n^Zcf zEFLZ^3(t%%)ft?VLvuOYRT{Xmsi&8gp3a>PT#@P-F4gs`;f{8l`x??wq;x=&M#BK1 zYjsJywK>$;8c8>IB-;$lxtig~O3sQkV+Fh2y0*UY^ziYgayRX%rdNF`N3R|qS{99l zOKRPYY_F%@1hbec&gU&?te&?ZU_5XBVor^Pn8UrRwe{8WcwA7|IJbU&xMcq1a7i4Dlbirn;trfGIiGHCz>OL67FRdTUEEO373b&AZ>*JP&indmPHJjusw)q0R(>uQ zw+?1!%`9(&ZJJ$OCRe@3@+niZnkiiJS-bY-*|1RCD>4N1xY_eLjD7 zedC;l`STg?87s5Q7?J1y?wL#P>_oD*nR8LLoDP1a2m7PiHb0dgss#V1vvD?{quasA z+nXaQLVds04@cF{tUY><<}cNY`JKXF$ve3)j$9>&>@RH9QdH4YMdl~D>+G`>nF(iE z)ydrjStbMflfTl=v#Q+H?|JI(67SLcm5h)-cX_xAsFih2)2#UKAS1~wvocbgoK(E> ze;3hTe-$0wC;ywYQ9LV-gI?)OqO;-L&$;LHP7U(^%G{-MN9s^#kJ9}LEx{9-DBh{i zoY5HOS@ojy428^3^`7*>-%xXZCs_er&&=ISLe={}Z1ptJ{!e_iA&Q2Ub~R6`m|9io z9;&>D(@IN29G4xBtg(uJZFtV4gg2*IK>Sa}S*dChq|UMG0;@))@+vK;!|0#2S^ecw z33#tm?0wSmH=;`JW~=|2HNVTMTP*(ws^lKCdcGktMP-|+RDx{5iVA+XJBgIf@*di9Fu z5kv^lF%n^2i;D@o-C@le&evje7&Gsa^buOt-9Y$!`)_2nTyfCAqMj`URlmRdT$)sq zm)N51uef#n0oLRRROL(4@K$?jVYAenL)^nU#C@^dyU+XS{tm6z6=famc`$5FugJ>T zh0x51;`I?4?SZSad+TnMm#hi1U4QHr1>wh@*Q(AGltPtrf}o;ooN*Q=OZcarP`WMdxwpWza2W@SszvOwRu)2ER6ia(9-$7Z6H0u-zm6VRtL7S)|w0av*xo0T})Vydjy4Q)LTT5_zeMp3S<)PXqi ztirQpGAJ>rtmv}M*7TH2>DK8cc^o&ZFg@m0CxjO&6`v~zKQ%SI0>BYaZoj}{2ihJMi!co+e8|$O9-e$HI_wGVV zo~pHlS=tFTJu_<*N^NG=NQLY}L%*LN8(#V2hL4O*sJ>KD)vIgG^;UQi z3YbtI{u(Dus+i!*eaYy(t39=_MQWg83MTpTp~K?GHT6^GRaH(K`e(B3MCY`aqn!d_ z82FwG!TxwY@O4|CsXkHVj-|p4R9pcUDR)%dV=lBG65Ms7-e{qzz^4(94KFU?3xmu< zoQ(2Paj!}c^Uv#Ty-;^$w1PDIt zU2szNwB3Wk-kX3+nZnPRmSgP;3c?*YF=XbW@%92iL{6kgFB&Mf@zHllA=@rS_Z_Yc z9lVfsoq0#y@GTa>*z>sD=Twy|;(en(M{W0N-`P5hY)9Xziiq_6Zcj?p6KgL-f@bpU zqJb~#9uN~8)cg|V2gWo(R4(2|Tra*ec8?9TYoRXIkeFZ<_8sWr1&{D%$61t|{qYEy zz1ASDL`^W8mTfYlR(BpzPWtaQW%HrpUVYsvk6-_1)BKmYY5vAu(_HHaWlwV-(L1I0 z9wYQlQT%VDcbA{uI!kV-^p4u}9%<8C!Fi{^FpsgQZx}rZ|04o2oGn2v8@Tiz*dEC5 zx#>P~$7wd*_vPU`rTg-{bl-6)jy7*tXmXt?^mAwfTPQ5CzN6M}FYaB)+Y#O+FJ7Px zjcj0N$JThSGC19P@sW=X9Rb-YfX~1BX86?rXGr8&1?)=o7?Yrn=BxLGuaWDEb}KFeuvdI8mjZOd-CD zaJ9b)$!)IEur*OOZy5PyY~ZigRM7gqgAz~xc_WY(v%xNc6U_S9J4Q{-zmpj zl9ywsDXMYSR;2#k-La<6LoT02ZH0SN%q3nz& z9`rn(XPvM&4ztn7hWn;#jK%kSW4S^wZSK9??{S5>$8NvI6$8E5$Q^i8{`~9V)$9Fp z;q|vomn%~DFTg!EI|ai1fEUyK_y2qGtu5pKWcUx2j}-U+)9_Do`DG&Qfi}075-@!x zWsU+}zlogU9r4B%c&gYr=?Xe1x%W`={RsJ}lzcQDyAw0oERS1!%Stoi&d$)X&{?r9FB-OhR|Njg5$$7!Ij!H}Y28PT} zCOjb%9KRmkSG@K8^ZA4OBUR${?WGqQh38weMoSn!XzyMrm1UT5fYz&Hh`6~T=BEDd zZ}0m5aIV~Snn1Nb(Ce&C}e(ARxxf1Wu z{B?43(COLzPO@`$PVdaHZo=z$$!WdG{hXZC;9PTzG4d#0>Ja#&f!;%LtvGS-%3~;v z;o5*j=bp@hzaan5&ov)l!XfwAxs9u*(ygFl_C=H`MG?gDlu&9DNR;nF#D z^HEi1BB-)|F{;cw`Qf2vo;9}B`^)@N)LYQMfF0?tva-(o4U$Kbu;#a+SEpq>isbJ^ zRk_q?Mf%OslTlu_`t9gdX3OzI=Fg#5dHyr1^ugaybK@@~5C-#r_B9p+tSFv}^7Q&9 zy%YZXR(@Qb`NTZEy65gE_p0;sbJ1%;P4nFHza!85GW22It<9Qir0;%m@5_1m@8;>Z zHjxR|0endGSk;^OW{A1uj-##I$7wbR2KRmrWneaRCfYh%L;Ay(KXX!Ch&_kqsuSao z-1Z(Y<|!U&@9JFKl}>Pj=29IlXZCCQqUID(IiOvfx-TWs9^=Hhpk1svA8g}c^x7S$ zgV%f)IKnGOZ~b;V3gv+l*WEE)ZMxbe=gt-#7#0vQSI)3Lti7N1Y8iVOjO@F+XY7W> zfb)wLJ8|6zxz}rE0zU0U+H8JgPo%%q(QWwjPA<#tv$Xpr36i#28f!c|>t?sBzaiAR zkrQ=p!(|}$ETva;(P1h3mf3`|yh~^82+gx%wSgRB)~SY3!Cg)Ml=^k4G@6>B*Iqf@ zL!-Tl$4F&iPV>|S)Mq*`qku|xiTE&m3Cpjse81&CVfovv`X#9}6q}@CU*%KwpR&C6 ztBc=l^=8i|=Boe1&qS5H_M0mlODwPZ_QYRldEHkdbM4uby+2sRq{H^QhPmPQhD!A@wn&qcJ_%so;_{ik^iRj_;2=n5^t|tUT2kwKMYm&kC%%4 zRLj>$Pgu^j>U{AhvNuY4aEVmpuMm$r8?F9f>Bj;3dNMx>Rpuv2B^|4!l8!5-5}qrh z65eZ2C4Zar$Uh{N^nFb#awBPr6rQ6|hn>V8Rq2smDLwK!TTJfXX8Es3PdI)omA=&r zmVZlnss`(`gB=I^1+m-#HIgeQio{E?DMdaV{efinp$zh3&2nN_p;Pg(UYskrxu%yI9h zmVeIjJ1zf~<%?+hh_DYKXg5~eA{JoZc-15&`{?C^G zt5wZj$>H?3XjA3R0;#y)f-3jhE&mbAUvK%(TK+3m{f1QBdC=-dYi}a%j7OC_lcdM} z8J0iK@)uhE605dL#hqTO|GQM&8AY2ecXTGd+^LcZKiBe&mcPWR?Na5A)qg=M^7o+1 zo%<}m-SXP&D1N~5yRG`RRNNU&A42|CNX4DmsFI&&`K6X$Y5B`6|1qmxBNcZp31N?X zb^~dw{5VeK7F9o`J6;%-;$&2^g;5EHQ5g;xHQH&~Ww*6&pZg9@E9Jr-^V|2CdiUUm zeii2Lc*Yt8GVptC3!49{5$vG5r~mCwI?WiA=FAWEbe@S?|EIXr?>HbilEwULt?Cq| zg?=XirN_SHCL$yEN`ZcIuf#lge`F?1v8u=N4U~JZs$}#d%lLjuFS$BB*q@V=8hpPn znr=9SnXGE^l-`*tHpjhNkUIg+{hWJF@6;f_?=fRAB=XP2n&;Z!{Yi!Xm{K;?=MTBe z9W}Qbwsu5fi*09%uafwVDiu07zBC$3ME&f)&-_1iO6h**|2yo9=j8wYqWtcK+ohhD z{?Z)>l$I_<_9mB~-}fe$pWh|7Klwd^T=1tb>6f41CAUBMeH0m|6WM*`_ip6qCip++ zuTR*AApf7p?;)Fcqap4w&1PZpr@uqHa_HS-Rpk}?or_<$Z{wxjc-~xfLH5V)0q@KL zdvaLj0kaTQ_4D)rJr5RL=p83!%~*;0)F#;CyEk39MNa%*l?KgP{s&qBKI$?#-L+fO z(N_WYb1gvrY^8R!hY?avQZ7&npy&5ny(>AFqYwUEOK}RM$_moy&2J4Ge!u=$N)6SfYYHm>+8ZDv}x^~pmDLigP}VtG~n*n5@cSbG_3 znO|-E?Q=i)-sZQ9C;Tq)@|~v-3-#BH=y?biUfleTVG~~IUtEy+N8;&Q7<9;^{%P;t zyk|7_Cj9;f$DH}dyAxaOi#R`bJ<(r#z_I-kyEi|tZ3>wecMWX*$Fa+I#xg(OxZ}3I zNt@p)nlRu;{^PqRJkZ~J+Hd~Cf^+Y%>)3j6=Izu}#aDiu5H8>TI;(|+_hqiS>Z(lj z=>FOx3N|ilZf;IIeJvR*Q$31Ul}n^qp^bo_Z+z%Gw|(5BhLcRg$Bx^)`;ZB{GZ!e~ z3p3{y?RvR??7KI=b-;wT6agj&DCrNF@IdB?<=dw%e|p-4ZLIYbW~vKK+Tfbe&Z#yKn zKW&F@dcKA5@2l;&ig?k8$NdyHL;ZsMf1>ShJ-;sEOKk^}aOTT%^%bO7Z`S=x8rw=d z+dM35Q?0%@61&8|_QIn=)+8zW*Wtd}gpS1wR7rkAK*)lzNXSaV!^?zk~UhWbab#LYQCzJ!3?W;V0E#Q_O_tqEOn_PZ*mfZf7 z=O^?0b>%0&JWFnW%JW_1+fB&st32ywrSk%QJAVU|c?|OZiSn#)>Q@I;ewoA#H2}I_ zMz8wR{gjSV!4lxi&*s_vWNr&=wz%tb6HYR5A2jN2oJcAzD)1OEZ4Vgx&)(N)st=ao zh1WNXCH|Rup{$~8>i*UX(@8`9_Es;jV~i%*|00OP`KIWLp!BJI{)ZKrhx>-pl`)(A zI7#&FJ?RnacYdp&OI-^8WN2f$HFOkS<$g<)_XP@HfY1%7#m|XYpRNs3+8o7J@YZpa z#l7FfzP<+eI;wH9@09f~vBPrgRtOzpcr}07&|F0N7<26*&u~(_%1CDG_lHr|GB3XN zRpW=->3>9KgxQ$8+`UES0d}@-PoLcLz#;5iD^j6Wr?zi+&nCZf(l`9!ZnKZju!L0` zQ3v0=$^8)ncd&yy=lut^=}VZgeWe+Dy0mm#DJA$*TDEE6PIjQ0cNz(U{#KO#!tt|C zdU8KgUeM%^pDStW8{qdiu#41}O6w*&NXw!}%LqHfpGQ|jYsyskDub+N*&@%l|x{h?Hf=kKK+%BrYT#>q$Wp2HXn)=Ncx zsZ{KDaBx&-D%-j9$M;oxnYWv4tMKr?`*x%7L%+S(;ofy7I_7!g7TtP3(W^Tbj4L&R zIO;lWqE>pC4?C<{6!-LnZBhdtGs&TeTmCESr1SM|_GjLg=lnWp17%cwgMHOWH#&!` zy0DxFm~$X}^*r4pzP_G2Z|`(MT@OZR_nej9%1x3@BWs|@)v@nCOj zv68?ny8buz8;;bw*q_o-zx*;fn!G5peU;Hg#&-74-pZ)toSCHEb1Bb?OsV=wZhy+? zdLy0vBRBNR?>9(pf6C|*%IF4URYvvB3ZLFzdZNPrY4_A|zRnAKKs2ZbN<$aZUbyuJ-cRYGpYnp_Tprn*oce9bSNoEi zXx($=LGBGz9yEU^f88(Q9<1uj^2>wd>H@M(PHM2t`e#;fHHvaS=bqC$HOTL~JOo3c zICHV)xi-{}g>2@HhE`WjjdlhWa`%;w%PLRX?^Cw!vO#hAIDZXyVbgi%muzfBgt^30s9;#kjm0tH8U*5ek z(Au-7@P3~5B#*vF`TYC9gnRQVhpl^I54~^ejO1UrzvmyJuF>m$gv|8rKNffYy|`1U_ z8PW5`i1g7tZwyP1T=zVS8vj`LCxZ3%y65-2u;-P`tC>G9{?LVPHN^XZt!z`-_Wnan zfHxjjm>O1GW*1BBT1dd`gu^y0+R*dN@UC~?w5WLFGY6#(FD`3rc)hsnl)`cEVLF1< z^(}JFIdH#RwW7x}e^AJ5ZqfU$d13<-F7Fx`;jPI`KjU5Lx45q1SkEeEEmJQ zAT?v%vp93Wx;OQg3j>N@*#sU1+riV|kKiS+6YP2N<=lUtefkd@_zbpii~GV}^CpC& zX+z(z{;@?HUM;@!-Ca8~Tmb5YXJO`frkMKXj?9c4*SAo2GxCAIPLV0%A}^GYeRX3| zM)lQ&QAYRGjYAo;XJJw1FXqd5twqUwh9qwun0i;wo1yfohtIqbPNd*0w+xy@U= zxtq|W)S9+*WGQMo>8UO5X~;bZB3(-+m-qeCn3EFX*Xh%Fo*bxJ)ZXit-xn%9aR0_D znuiVkTpOV=u3p<2?@dm1N-%tqJ0Reo%=A;+pni$_%_e+uUy!`~)pLH`zXtbChj%~c zp44ECTZz=dF--5Z~SMnO8K7(H47U^41)!toT^=nW&(X+yB%&$h>fL>!W z$=`;$4gGAZ|2ArvU_1XGM(=(mPx%c}D%%H(a2TIyrF<$GOQ*8)E(rvpkL9(_hxesJ=!~RgdmF_>3a18De^dx#GUrMSRrD z6;f33BlkSxpO({vw7F~ANFPKM>eX3&vkUtc6=g>E^=vN4%r5l#z}Mc{3H(jziG7{n zt<%E_fqzeB;WL!cjGYi)|Mcq7w;JQlaBvRaefwdG`>XE}P0-^}N;at+sckZD5~(y(wFsn$RiUbodVq0%|4dSehQwc;p1t+?mbN zB>N1;8w1ua6qlt0n+8YUE?0E_X)TYVxNg+6L2m6}OZsHZ!>h^lRC-;=Rd zQ<|=ZxipTp)KiTOwPe1HCht1$BTVzwL{g30(@-?9-Zeoz+tQYSJT>;VeH^g zcu))+gZJ(QCl5ELiP`)(ls|gqQC7_52k&&5iJli+@TAk>PAcGw2s6oq+x_PkWXxoM ziT5hg)?^-DJAcOmq(5I#o2t0y;exF-CPQqkpF>BYqH??@ZPEA45RHCS6pdlBktqYe(Ei`8U85hd-kQeRU zo6Q@%z_EqLMI#-V=`6dCAVW^ijN)%CGqVRu%`_Bp+|UD=7QXR!4g`Z84BzdFjO^Q! za98d4GFxz%_q8|0nmmisBgiYv2L~O}d#kO1y9Fi3U7Ym@GP*YpNIzdr*mO5L$W&vL zk{2tqO!qrd)0Vj6-j~p1cF{v#YYr$G!`*YE*1ZtwhD}rI0*R!Ia68iL_Y|+!H7k9q z3)gcxO>ysMq?ta_$WrQWRft^V$x^$_I}3Gvn6`_(lW2|1XBTqcZg1^AM90XS1mGAP zePs7euD(QoOlXUHU)JM0gjIRihIPw6L~oF}7uFl!Q8e9Y!kO;cyT|FdCVc6}cMv(* zgo`!ay#}9Lsqm!P)DgA^F4AsImzJF%wr_7T583bOTM0CGN00~YVGuvmbVJDGmr`TM zh7%oTVJ>wfL0R(k>RMBnh;wC2S>aS5m)=n0MIozmF2o zZ!jt)3P$xEsk&+X_SJ{?6;=Hx%^keDX7nyI=IATxYw&`H7tg3LDiiN zPjT=6NS;Oos{4ht>z*?ux}gwqJeTD)j8welL_TZsobdN0EDrrDi`}c(wv}@# zy;C`I>*;;hQ|^e4;`LLhs7?DUx4e3HpY8LGE)5aYZW2-|fQzUAuA{yi(AY_; zbN=q<W_BQFKaBBWu@u(Wg>FascnBdE(vQPdtX3ji~{#77^!V2mmL2uR?keg2Q3UjnWI8uR`R)%_IjFE|aV^snUU z-^$Y;7zmQ&4@0k0F{be>_urRiuG8l_!N;xn8F}V)d3t?~?|yQBVV-`8^t`sZE%Hyd ztht}$d-C*sdHPT1>D6s=KiU5d`c5L(%^_^gGuM6??KwGtG?M?n%rk#hdXnKcC^CN| z&-{Quo|b=ypx;1-DnU;2`M1{vD$ZDkxf`pweb7y7)+E)DOvhu3o7+QXtiHIl#cc9e zoLrxe1a{4+A-)H@Pg#qH+RVShTcVD#?ZSz zOebpuPv+os3#MSq&1}A4LZWZKfA+s(#&ewlQevi4__2A z{{#--ASae3lD%bZg;F;A@|yp_++K;s7xd(#0`g?9Rj-yxzPb)|*y!xZ>vvl7?~7-= zsJcYKJYXlKFAGhxFL*l>T_W6|?+D!~^Ybk=!lP(;j_I`V;tE#_}&q z9p||rcXUv+!Zk}O_U1^XL0N<<^NTIN)atves#BFDf1~ug+vlzN1@R}b=R|t&UFng# z*Xm!e>XCG?bYj8`RLPxf^=($)W%V~&{Vi6%#p-`-^)FlfPOCp=gy-IIsB*v7>UH~q z^vkTi!|Fd~^`Ef%uUq|ht^Qf5CvxJG4nWEXz5MF{?H2nO;<|MPq|?OyAr< zdAZ_FrU?m{!09Q>$7$Oe3rWL_?YiP*9R}Gy_O!>}!hCx1HwT8dBF0FWTf_Ho`Xg&qAO3mf_f@;r{)(aDF=d-} za+-BPdRXQ~CXCF-8D%f&L}k&#(mUA4eI5?Y>A!3bb2W3AP#KE{(|0{l{LNi>K4v(F zOb#5*Tr>}3*6+Du3Zv|?J+BlnQ&X6EjRS1uCmub+P;qSWH!m7DXE>vG;|xJ}UP?dk za?Y6Fe(M$HZ%gflcmY%DslKW&gvM z6My}M5BL^unM8r6-@PBR?`zp*f|(zEb1xyphJg{?VR)kDM}NWY>{>myW7>v~T68*S=JI z!=~a-JTQJ+@qL^6D#qy>%N~~6y=;vCDgzXnQ8-w{jP2;YqcYo0Dd;-7XLmv0%EG=i zh3R)+(W#5dntHghY$~FKxWUA&_TK7b>GY+2N0X6fkQeoRgbA~iFsJV;+)U`7!aW87 zyPp4jGYfH`s_%TJBfIW16C?vSQ%=xb-#2e$=8;oojqJLb*Wg{&=Dy30B=Z^ffIa3M zWY0Za&{EN7?%Tk#>6)~yq8cXKhi!6>v+8)O(jXD%_Mm!iDrXB7xC#pWe5o`6sDXll z6!U7uy^AsLJ4XkqpW1icD55}fa78-6Y_GP$-pwE8n-e2l_)gN}ihDJ%>q{{O>^VN- zoy5l%_x?oUyeyG=;#P$_lv$(%DZEv0k?|+q(tZtv^f*r%r}syCyeCbp?vM0DPukQ~ z`v^%-bo5_Ygz0&(;=&KPW`&3xRQ{^*SrMF&8b}uV-uZ79)GO>ky+Y^fX+$dBR2_lP zJn$Cz6DI2L=T(|{TgRFu2@X`(cfVde;pBDWiw-|#{+FtMqQ3Gedx;WOibErnS5?a7 zC}EeQQvA8lD;hB=I)=D%64?aP)e+YsjH`ue`hxCdrMgaXFW_=?=0%#c!Qb+Drw@}c z%uO8qXBT7+RZuAZvooW|v0OWf$68cxtG&ua`U}pV%tHe=zC-=!(kF(4!SvbD$@}N6 z5o*n>?CEuXndlW#dVgG_L49G{y28HRann7cBIa2F8MyeGM-Y9uw(wXl{`x925AiYQ zxNz~^+jbV7UsT+Chn!+2m#spyyASY{=fP~r+F84*ps4HB?l&i;2g-K#KAJwg`0g16 z{mBAGFMV_Q9(3Ez+H(uS>7#7@_%QZHIJWE6-c6amc1<%LVS7`0rU~dpUNpM+AyZB2 zq2ExjV+wC<>Uri^ch*)HguBL>kPPeH)b$t7m8W^!*oXAG2NemXZ)1Y=!TcZ{q4(HA zc!meVlfK8ev!esA^eu$W>CgGrOnHzCt(ppZ-Y7_)e??r|yTUzh3^(CQPc@&f4ay+F ziwz#?8_o`}J$ugD{LK3fdU0Tzsn0Jdx<_St;CWk*`|B7P#0P#x$MH*jGe*(~Wggo6 z{Aku4&ZI>wdzu_KR`&1F$qB`GpT@$&F3tzwV1~`Rhv}pI{*jG6TZV6bcKC!xGMj(? zr?S6s$H3UGZ5+?PT5;+20N{SBsnUq+MO&wb35qg@D>tS{8FMi*b!p?1OA7KxC$ZH( z%fBbP7U=B+AbseTu|T-eee1vQ{LIhJD|?hyXCl2_-fm2K#uaB%g zPoEij{O$g+-$FY^B^bZxaZaa~d-;LsQ~KKrGH+MCymoupqZG8Kvi z(+&L-Zw{r1V|w(w?u#?naOl175exw`Z&kgvb~~wfi{}oj!PoO`q1S6tUszrb^lb3f z)aMX@7PaM%kpg|GQCbjvK#!M?Yh_WjcPDAtci~8L?K~2K^RX@ zm+je5eD_g3+>ld{o~*^#&p~IlvEttI%-Vyt^lmTCXwGHbTjaEYRnyk*>6*6r4+lCc zU61u{U-PJaPi_rbuhXXGIMREFr7^^cNi*f|^?TCFj71D_y%?D2;iG4Kv+la1SBtO2GosGu;jRv{#*Ww3DA$fV5pQ)< zR*_aPPz$xY%z1Cj-Fpy}^?P``Yac|S;3BhsW;8ZT@nMbZ+AX-KTcXC`r;Cprhe%_c zpu}-`*Koa!7qQyE6QeAu=auu`8GBQjUTw!CxQifhX0j2!o40q_DD%X|$A0pYpX_>W z^Pdk`{=gF)NwZ@bo)%m_Zpj3~ykmPHI0V;Z!yRe4X#!E)TdGu2KnR3+V`4%6Wn3a$ zG%ohxsgejLz>YU@R}t2r2=kM_c>PA4-ciUO#XIq|WCHeg{MeH=C2Yq|-KmxBN)suU zV7%i`{ITU`VcB-GOs-=YDtq1zrR(n3d#^ocV5Vu0GQaCn&feJ#bY9w1_ zhWjro$h=nd*4m$yQHi8EvSn;$o1GT$-1&2s@=BV!apUs7-f_Kpwe+~ozPrYC>+zy- zt)y1k)SRn}*PlvCns$OM9TgZZK(<2V?HdTwrIBVPA5z4z{I@wFc%47B9t!kN3w_&PhkQQSKXhw#_LF21>_ z(G^7b^BX%xNtS$wzk|jHalI*a29M8oJV{P8?}vHO2>F2=Z^x6@jTHYN$uIjNGY`4a z;uZ1_;4gMABAgdtf|&2UagLs#v+C87$U*pVLvs7M1veIv?G}->)zapKgNg#me%H#w zj$>7ZG=JoEd&rSXl-9U+5xG>e0o3fc)B;nBDMQCs2|u}Y8vg5|TgB(}{M>5Bi<&Pg zqAjj*xm6A@R4VTMaKH(hTl1VqU+i@iB>g?4&(y?L@s+=k#fs^h|1`YsdXrJvY*a)b z);(;dL~I>FUE$8&dxE!FLJq!&+#4hJw)8yM%KQRxRO{v6U_SilPUYY9*>0LeKA0=N z0`dgF&+q3M`QqNOq+X7l10h^~@YBd8U@%`0w_DbJxNN6)Nfdj7Oi!w8r#4Yd^74fG zQzou$-kq*A4fLr-vI}X)Fl2-Iwrr?aV*(S#o51As}!OVg9<#;LGR{V zifoBvpOML%J+^1nyy1S;WkdEir>Vaw7i@ns`In*ko9PjpKk=>R4fHp6=JYq67ekCs zy*_p@{9#j2$bmWGHw7f8HTY-4uRQL;|J=a86nlK>$`Y9GlrXsOaBGlMa9j=X}BjKiav@4lNubCLGZ;wt2buN#l_GTDvIH#s5G`F@q z)D|m8oq{?g)L2syN=88{Qr8|$uIWrCI@;w#iIqG*k#0dd$k13HY}hcPPBu$w>zYEH zOXCtiTiqUmD5;rI6Y>P6^u z5HDIcgkdbPES^f|xL^_^;KJlktmT~en(Ad-p`ni(LWz3-!!{Alxm5XOlO}5=PUEFwROfL8{XhcO%57N_D$rC zq~(nXxCj$)F-p9uP`oXYXswRLlJQiElBRD*qUo+=JZ4fp+QFxW?db*D;=%VBsmQW; ztx2np(vuUN7jUqem;Lx67%C#Wp(tOTw8q<)#Tz22)T)kTEXQT%TYNQc$KtV?cru-6 zPH;p>ygJP}(M!A1@l>;w3Jd)YaAzgINP&koa*nTrA3l;?44tO)9#~V@ycCGNomiOH5BUL~>HW zD6M0uhz#{u3)RsY6P2xO45KPTE|)0hOs#PBiYSVc%YF?r&Z(VQZk#c~)-CINnQ_UB ztK1k;?0GTNo|?fiSqqb`*%%iQ7So<;jIXqZxa3G=X)9L~$x=CzHPzv)iSH=eTBvA( zem2Gp=R4QX(VB>^$q~URkF`Qgsn#ay$#~M_SwHccn&!|#hz}bBUY{JKy2BT7gcmbS z@fBThYRG_jHf!RPH6;Tqas_U+DQt;Y3AR#QOE2MDDQc~YD zA4)k#NyS8z;*vFpCR^uqwJpsCucmQM*fP=VE1O78P!`qb@DhQ7>Lq~8B7A<_p+=aX z2HtGOOcO;*n@t3vQ=N!TRiex&Z8D=gp;HkOh52rap{E(vd02sdY-qO)cc&4BNTYN~p2Ep>A$% z*;FEuj{w_ZdeZ9;!8=D9YrNM?M!lDm-fQNj*k%rMUd5R6ax&MeNv{`coKqJ{cD0Aq zETmh)bYD8v z^+|ka!JMY>`SGQ$3J|AK=`|l5RFy!NBUodoaK2ziEZ*cbcA*-c!%kybPC8X-%Di5q zu0%~~IKb%C(WZ2yjjt}3h161peO()MQ7m512b10t6_K6@GhT(}CZfrXR7W#4bFwRy z4$mRC`u?`1nr77mL~Io|i`pU5{$)L(-BI)i``o3!>SGl zo8qb?$7Shnf}uT-!#lqBLJ@GL>}JQhAO}wZ`84 z@_KUt|5UFG?Vl&QJicZ|WSQwsRW`LGJG$u7kZHxKE;VYhRSJhtvN6*Mmm=Ex9q)>UG&o|6R3dZD=(WZ=lu6cdH zR@13^4%b9FBTEwuK-4-Y9yK8HEW2p*#zf+RW1@T+Re?bn)2~rV<|aOjafUprMNdqNWeKN13=9M9+S)u5X$jN~9>daW%{(OFLp~LU7@^ zMjxJG^(70N485=^$7E4e$&}MVi>fA>ztJ}DFE%*wR7)jo zbS->MG@X5pL;}yP%d(niz(T5XMZh4P$ZBx6B-)nBB@}tSXOigPWd0nYEw!v<<>V|E zO_%TydYmRVhf}JkgP%iob}em9q*_!+a`**J3zSZ|TWHZqqKRvTl zCq1lqu3;qNLhdr4|DqUCADHQjIgzDt?x%FAfk|6y-RjOrdu%opKhpp?W;TSg>9pkV z#2OjP4$p#)(WQ-a+Soz5|^Ey>*43VQJs66#!@SnX<<6(-9j%wKr(8WFEviME;8p_d^$F;l7| zQKPJ2S`RYn)l71)tR%j=lW}1pT~b-;JSi*DC8mQ&U$ScQ5Rx8gDyn3g$&+5CWdfte z<;(?jCOeuFt#RvDJ{xd?k4Olp1XkE)RwKit3*`_7S<4YO_hD=}ca-&+z-#MNAkrPt z4pULcp^j+E_f7fB+2Bi-@=_)dmnJ&e;tX=4rY@V|bf&oqt%#C+(`F`(AzZX1(na^J zj_z@KjkM`Vk}pZrZH+`!b0j+$Hl>y>>nurhYWijdeU#-MK`q?T-qF_4m1pp&wazD|2K+H&pd~;)*Tic>tW(Rq5I01Ukv1$1 z$(kI1Gs*Z$&9!y5B$=|YlCCt6fX#_yn`Nn>r8_^8NUIjJEIpZJ45Q}KIBPnBcS**V z)uicKdXMgvEh|&ME_R&SW8%V&8nRBP253;T>(Yd9o2mWmCfVogO{zNz>jz3t*=$Efs4~hAB}u z+8bAAd9Ev#Me3>&3T3)0_l~Z*bOQ3_k(Y@&q1v&cQ$u$kUlxi0HLPY7DMEmka zdOM7PbIH6g*{rK@sh{1Mj@XFlXs559WP}=Nb^R|2s$w}lzj;O?$!q`)i|TBRMDw|2 zCYGIqT}zqYT*CV`7F2UQI~lN;t$a zL!MklEadacs5ng)lMuD8Nq5>m(~6#3)3k;Qx>uL1EHe>Bzc}jUbehHzim!Wlt0j~s z2}0b%=(i(^`s&)S%6@h_qPljmsYfHRu&GMTRHB9_z7yUgq8YLHoRtdhQ&G=_H+@icBrADX>Rt+Y=sfF98H2& z$>wN=nh6VIU9%l4^4v6-UPs|!5GqO7$ta}|n3=X(#etd(^zh1Jen6xjxgRv)T0bZFkfIdkx|6ITbRcrqiq%(DLO^hTBcb4Xc_fkqKuQ`3gS9uGehUeLLpJ(5Fo_+Uu_TA^% zcVF_(eaTz*%co5B!>?!OzMh@?dUo#X*}1Q0=f07*?i+dBZ=v5&Zx=(U&&@37Y&bg4 zWGGfhHK%0QJW1-ocxaHMVe=$wSR(Z%g$B#Z%+46)2cS{Wj%2((&&0TG zs}%Fh(v{|pX$iDTfjT8>PA8gv_%H5i!(bTZ2R1u+@1;c%Ge%3VF|!!0cCW!g8n7UIWp-MPjODrunFJ~8xI$IdG88^LXZRubh zvdvWZN&o%5et=mqbWyUvTWqq?b)MGOiAHByZKfZ6t!d?C-ol`70aY=+w#RJ zj?mbcDGwKJ5;;A$Bc{pVm>CKLi5ZLo8{<)}-RI^OWuWrYLT!tzX*<(mMl3bI+CD{f z3WI$nBXvX*N;I30S;Evr3U32367e@7xSpK%{%sx1B@cR|PFl-k{%huC2jhHjmrJD8 zHuINg`N7445>(Ss-gK2W1PLweO0=qzYTSr5RhwyHdT%MX*7%$_`&)dfYiT+ekI!Xw zv8}5upN*^zvhLNgU58lxf=1n!qLx@=@D4vkO(T(FhDwV7rR>F_^Bl+}-n?x~DrDx| z=gw{lIi{qAOH>GFD$6jLtkOl}(-L1@(n-l;O|!&q=x}sfS8F;UGv9!YaXe|}wasgp z+{xIzi?ia_n6A3+WdJ2nbphB0Viq*QUVlJ5Q4GU2Gnas=dJyKpYpgw& z=-bOm6xHqt$+xzY&IBvr@wEE9)$>fB*VlQ2QeQj2y_G~WqKw8>H(H~5{~?E!W+AP+ zHZ)m@+4F1b+qrncYE|y&%Ccy)Oao=lIgeb)fM_p#o;*t=CZKF7@Wa94H16hvrewj4 zCTE^&=6SdxYi@%z6tO4}NaJf($b}=|tD~|))zK9-kz`D*-Q1KGu@v#yHx3Azs38`D zZ{Z83vV!7O)(n&5pJDPm405?v^So@( z2o*mA(Q2tcB+Q7Uqb=33wnTfbWRTAZlG32w%O%-Zm>aKNF_>+PFPlj>nUu&%4i1xL z@s>L*a(3~;$1`CM#*~!_>628Z#Tm;-T88!96?K{>IjSG`j?KK)ta{o6i7n`2U=(1xO6R1i;iL@n@+%!o{Dn#1T zVQ*6q-IH)cyp>|dhUrGe14MPZX-eb>lXcPMY_jp3jILyYh3Ru%AkrFUyP5w!k|^<7 zHzsrFi=(fR13DavYAHxXi5t^7cQPi3t_m@>%#=1|v5WqKX`T$5HZ$ck_`d77P)8f; z970w5-Ru($v(CRD8eFA!lBT2uIvGB1-Zv*KUZGU8?}WU;4EZ~|`j3$Y9wo{Nk~13X zJJT#{G|LfQM(1!_Fx>Lji1kmgX7e+LV7EU&Mrp~n(J33nvJX)Te4)rIl);<{)jKi9@r zdf{ZcC?1Z*&HPx7WQplqmDE=+s4f9|B}>(^0iVg0EKyDVWJbT8DXOIAjk6|av-2&h zJ1@b`@vL?(gN}Go9f|-suVW=sa%Lk(?cAAW&vG=zY8;;hEUE2hYS#K3F@< z$Y7^3=vrmaHEZIz=9yU6JQM3$r5CO8U3-<8JSlTbrDHr9w+q@6)Q_zyAq4*>Pby@vf<5t)=VYa zjfg|-q(m7!Uui`qS5`;_Wv?Pr$|%z<5tO}(l$RS$-GVhZxrJ zR%URYlkvTw75gtsm{$+2qACR?tLWJiCqv9zYAGNU>S)&jKq{2(^wdtPM$0?fmzGVP z%=DxGSe|{HY#&e4{A9E|jcip}@KLgsm28J6P?3F{!XsXkmsYN_E_kz{#+o-9>OWc+ z#99~h=v+9h+_->alS?a{W0R+7YSnl#d8+S4#pJRid-vnf&a$%dz?14`xbjNJ@npHF zrOU02sin@8Cu>?&ZcRy_?30xvds&W@wcM0)8-jFM*<_D1PsY7;nG2tJvfR|ko-1jR z!`a};npXK7Paao3+1cR9+91NLE9I5GX{9r*D0QYhSsPPME3-Cug0s1a)zCJkWXV&j z(yghz(36Ljt{9r0GBiDPX!^9F>B^z$s-fw!(!KC|c_B(V6_@RA*t$oxmu0-J;M_>3 zb_Dy|>OI4-PgAuemQuClJ48JvJ{)jxeq?!Td=1m!!nd;Z{c$6x!wKWkjgyzVz5}I(&kx(NOlu+A}BOxM3!YwZ3_~LDZcj3TMZ;!kS z2Skp99Lr+6+dKHkdepL?gt8$QEK^f1lfQB9?&SaA7|wix5uEg+?@jmKEySto;AR7@$vO2*;4fF-vZ=1F*5s2^ zoMlPn55p*b8b13A69h zd^F|jaMas`sfB<00fk+*P}|K|ClyU37BEauFM=WTOofB>H>I@OASf-V7|<%oj5e@< zsM&jcE5+JJ&bneJRl3#-a!9Y+5wNX}2wkUKM%|WNMqL-TSzVvqxM$ms32JdIpp{br zt=wVhbMY$Pda<>fqsR8DmPE3(vxDt(-kbnkQv1Yo} zm6esCCjylXW?|Ymxx(W_gpHstCfn?~D+}5$EiueshfC$K=*lWjzPz%m;4j;f6+&^0SappuK>w8#Ey2aba(ZXjZVQB44bk zB2P%sQnG+eiDqM36WxE}NG`ZA4r%CxV=p#+L$lp87@CsE40@f`17B?EU?w2uha(y_ zu~=2XgP&ZAeEXScPtAWSha5N(;oJ*IJ1tyrI8 zEMCKm3L90}Uck!*7S_*Bptm06WBD-RiRPGB-BN8IUKMYUf#J+3&|z3D)3ZPLk0o8&J*A zJ^Lw=zcq?Hus;VOBE)wR;a48fq5Beq<5qSjD7<*)TFc8tr1k zy=JN6)vbJnp*3Jv(R+)x*)}K?tq!zE*{?&g-?!?6tzdJOZ^GAI=DTIvsAnD z+PqJ`$$#1x*>HYieaSg>=Y(q1oJCa;$;4|*X4TB~=Ovc$u}RjXCSVfHF;NS{(xcg- zZ`&Z>8QPdd@l{opVOdS!bm4L*wsYS(^-JM3|;eFGnPQD`ppE}N+HM5K@W6kCh z^Co5~8k(9kO~$s}1}5R$+bmkpa?;NjZ@%o(B@Av4VTD7Vr>iamC=tg-G zrXNJYx$#0^f2TBkSzsY0`CVWffIoai#z~Cz$XdQ zYSc@?8gLot0+$2b8KkohuO>`Is7pW#SOrc7)qukxL!T#{H-VeM=YUR++5ip$hXCCj zaWI&G>~wHDGPi(R!ENA&aQ_21ILF+Jqa$*EgrEB9B>YQx*6~XB0G;jlVW3<5jswSn zexUOgb@$DEU^!R~J_WA9-#_C=lIK5y=fU5=ow)Hqki`6a)Hb;Hf|tQXaNohsUEupb z$1Z*id>woPd=u!tj30m>g8RU?z@6aR;BN3ea1Xc_+z(dZ<{xnTJNWf3o`1mejXZx5 zv*GA3;5mgl74-(pbeGOYcpae_;6G0<* zFSs4K_n{sO!r(aYE$n>*d=uOW{seUY$#$>?^Npy*sFk1!oDR+ay1)8NFb#YFRDjdK zxnMS^2WNwGz#MQMm<7tfbWjaufErK>>cC8J7MKg>f%%{Tl!K{Y3OETY1mnR1a56Xy z985T)U@3@!Ye5_|gKzQP-N>v3qrp1R13m(d1ij#+U_CerTnR>C@587ys53zws0Dp+ zSA%{q5`6+(0$RYi_;Uw&@j#yEfe(VSK?9f%nm{9%4eG(UU=g?goDb%Lh2T7}0L%fi zz&YRu{JRnL@8B&^2quA(!D--BFcC}z6<{)`1SMb!I0ck}axeRHB?-!I41c z#J&r>2OI%LgLi|Yz|r6sPy{}R{R>eK0!u&yTm*Cs{Kep#xO)KVFmNa+28V%B;CkZc zM(|niX>bVKGB6x`0efErRXk4vXMqoZGr@Fl1~?te0M#Ib{rgdV4W0tO1+Ri9!SBFt zz>8o9cp1C|{tW&AUI2dqe*y#GIq*FABX}D83OoUR0e%Ty0lx>&fM>xb@EX_&c7eZv z{{?>quY=9t4R9aW4t@@{fuDiLz~RK<^{9tID9-QZ2|1>)r~-1!S?9Q~D2@$VX*PlP`Sj0fkT9|r#yp0DS*3H+Al z-+-HWeg^d?;3e>LFag=+;BL$&gSBvPfZgCt@FKVh{z~vs@G^%)y3C|AHm7o)|*HB*o+koy( z`Y!7Cz}?{Y;1TeB@I!D9*b43iIBAXseGlpnz-VwJI0n2M91X^RqreT|RPb@^4Pfy@ z_;WG%6whA;Ej%YcDYzb)PlL~Z&w`u4&ERw3^I#oVfLkk(y#c##qyG+gA9xfz0Gct| zfZB$-3H4`S1a^9nU&Ay1L(lQ&v#2Ma9uLNW&!fLkc97c)bW-#d@E~{yJPfviN5G@t zN8rccC*U*KeF`^p(DYBi&%ieDIM@z;4t@cC34R5B4W0l`f~UaK;5Xp6;CJ97xYbTr zK8BjW?R6l<^9sy{gAw2g@L_N{(3#Tfz(+tgH~}Vqh$o4o(M0fnsn5mOf{fEsWtI1?NL7J*5i0h|iX1?PkFKrN^PVQ?Hc9?S%@z-({=7zf@D>cP9g;ot+{ zEbtys3Z{a|pb0Dh6<`Wj2+juQfD^$a91IQw2Z16m z5tM*Kz-TZM911Ey6*vMM2^v8;_z<`Nd=Oj&E(8~Y3i89lk zJpUE-f5D}2mw-?3yaaVAh=3oXe?M4{>?PnUxUmZTU0^llr@@thPM#l!>p<;7{StEj z1AY%)055_a;2H2NcnE?l73upy}pa@*w%^!ZM6Vu=TApUdR z{NcCSLVg|uzSPYhejf#DCk_PSzuCC4_w+X2I5+`i#<`2JTf!f=H zf%qSF^M~IsUi3h42+w-wpLg?zpXw}OB+q*1Uv%?_-$`)l;~dJf-uYME{NblQ&1v8; zp2a`e%^!a1uc@!5_!j@0ZvOCVgj)zk@htxL-TdK~fLjjU#k2V5y7|NJayYebhx07{ z`ELI3Q+=+w{0N>E*DrSSho9=)o%t? zzTEPv15}T^7hZYj49lzTQ@!>+%TKqw>J`;F$6CJ5@+#+15Vri;mR}B+2FJk%e`*Il z3XX?VUYT#@uZ6o2oDdY|`BpfU_i=grci?^i-Vd+${h)Pc3*3*viFxurhkF{Fl*g<5 z4}kG`{A+N#zyx^3&r<9DTX4h4I44_vndLRkQ{8b&o;&I*XgoC$Ug2!D@)|>F{8nP! zNn2ihaE%2g<+-E&kf8pF+*xDglW;;Qobtmu%WF&|s9qHRG0Sg&6Ur_BNz2~^C#e4? z`I{{N6*xilxcDzx{%$y7isipy`K@rmRLg(Q@=wAEs;lMBCdfrOR67j8Rfgd^L9mRtT+xHo~uO5)ose=wOZ zjDCUTS6Ds_KOIhe8Of(De=7VE^ygWAmF3Tb*FB==TmDkZFN0eF7Fqtome-x4H-HN) z-);Htz;(lY(DFT&{}H_I9la1<@%d59KLPi9a1mVa_b0fQz{Nq5=hxxh0w2obhf&xL z1dHLxs-bJG`y=6w1WPRcNy{GxHy%XbgTGVZP6tbaB+qqlvq6++#peyy9o>z(5X3D1 z8OvV`C&Vp(v*pna`D;e@7EG1_xqpk5za0Kb&;m#H4c%_}PrwNYD}RUOKMyBdV)?IH z{)=$Ja?5|i^18eA2cQ*R>2jy#AAo`m}YXb+M+zXZ1nbmZ{`I4X3)%l(bk z{iD%@!3sE%GqlC>6XB+SBwXb>G$jUE-y8x)KDR+Km`DJh`K$n&OmF3Y6 z`MV6+3|NIJ#Vqu+mH!OfZD2JVuNQjO@?U}bHdq4}{B4AL09+a*dHxaHc5qo9{}kNs zz~%7rcZYTVZ*aT8hvC!@dByUF(6Jp0u7FcM*=_l$aKc(Rx$_Upp8+Ry!zq4-_wa{b zHQXGaYFzJiu;nj->jJVa{&35G67KUrTJi6;{MX=q2zo7lyybri_cT~<`I9Zb18x)C zM*)waa?8Jl=8x#FwEQ&7{{#L&BH${^&$RqFxRXJ~@(q@s4Odj)%>l{%4_ba6`~uJi zN3@1wmR|vPDYzPLIB2u{r{F#h`YqpS`McpB0@qkRW%*yi{T5scul%{v@~^@bjP%xc z6rRg0e+=9N@Nqct>n%SWZam@tgypZb{5*Kg%YM@GpSJu(@NM8a%inJK4BV%|r!4<< z%ijejTn|ssLf^Ce58#9wEdPMze+DPqX!*x1|7$qm)0Th2^1p)oPf)D<_ z4R^21AQhe_EB`p$GvE%(Uu5~e!4)3ntt(1CZuw*2P6S`E^6i$N23H5Z3a@xuW%&r4 zZg2UTm0xH1OW}mC!w&}^v;0~(;Tx9kw|pO*@J)EtGaD@baX8^ymcPOBH^6-r+zGGv z{G8<(G$km)s)8aY!pef$g0ir(u$q`6tO&XZYJ#%Z zx-IA?=sdfNnkgHPN?*RbMA{ImFB za)*dt$$NR5@khxWCz|B^zJ4A*L+&K;l$`gsE%oxpYa^~0gKj0V2EfJgL z{W|^;zf8_NBj?xaPxwpa%y00Ybhw@9`b@-E!s+_%HG4`|6rYyp8`3 zpDAbB@TqImp~s1G<{fqWbsvB~SI)ePABJBoXWqk)!rv)pw&Rb$KPhM4$7kc;k~4qA zpN#L+YimBhpN9Xd+M0I!LVTZons4zTz6^heocRcU5#FD%n~(8V;r*Gn*@3?SKTYE> zpWy58XUmyS@%Q8NG!FA8{G)h(MrAtiPvQMJwfPLc1%HXgZT^gZ9luF!&0p~E;%`%1 zvlIUbzD;e-U-6yz-E!t{_;2x#YaHh9_+HnjLyxU;rc>SCPWHurC}%#$55a#cXTHE6 ziXYHl+nD$gKLI~V&g{Y;gFjBr`~#nhKUL2B6F(P!o}Bp#e-8dCIn#wN#osDtzQ$ML zH_DlB@K@l&I;fa$@z>$A<;-sUZTLbt^DlfoezlzW4*xKIgPi#{{z-g`obf@>>;F0Y z%bLemMNrk$0 zCu_Q2;r}gXd`@rw9X@G*#w~m=fPGSpp7iJ|XL{rN;`_^)KKTCl!E&ZAelUKxoY_l0 zMdKZgKT^)@jXw;3vYhcf2W~$eUnpnN@JHcS%9(xfQ}I{I8Q&Y>@tlZXD`)!SPsQIS zXME3u+n<4Nk~0JG3-Qm(nf>sk`0a9L5dH%EKjch0{$hNefm)YhfBcpBgXPR%{I&S; za^?X1&G=*F%n@uhOc-&3b(c^|}IC})P@AH!cQXTtcW@VCgB;rQq9 zcgq=nCzPV`zl?uW&Wymnf!`u$M&jSWzbj`B#(#+aL~fTj1pgU6X+LcX!rwckXu6-{ z50uL=_^3uFH;!nj7l{1s@XW%Egt?>7C zUJncLC&-y2@um2)<&3}EbNdVME96WT{$hNMoH+`ACH_`9b2R>1{5^8U_Y$RQ{5Rtt zmoroFcj130XO6+&kN-^09E;zG@0G57syGh+1pWXyla2ok{zy4975@_cWH~bp--*@~BIIQ{@Ra|-@2{CGJt3qKxzyquYhKMH@QoXNva z#V?aHr{Yh<|5(oWdt=YfsrXyu%v}5#_x;bGkkwJvjqP+ew3Uk!GDcELeBU;0>8e&>!YhBN6wswPsN`uw?v$e-xpscS1ro$ z`{Qfm?h;GoQ#I=0_($b7iDmdv_-Ex_5Xd#&aA|j;;)u77vd}M*U7CD7vV3(|5VOY$%nKaR^uO( zGrkWlNxlaEq})!OZ(ky>%cQ^!_!s0~7MIHF|G-W7SLNOit7u<~|GnJ1;xc)kzTblX zK<+bfxxDA+HvE@zUE&J-o%qC|I`gg?|8loZRu^$M^^F zr^uPr_($+_+Nm)ALTw3YvnyZ@8Q3dGdIZl{j~$1e4x&G#f|u# z_(^i+Cj2gZj-08L_x$X}pD1^hxEZg17CZ7-DR+&y1)s1s>VG2FS2KPqJ_#RN59{Rh ze;@__GqrzA+$QPupNiisXKt7Gb<^JX7CCbVejxrsIa7xpg71_wcglPHjKF^@XYRs} z#`hYg^AqtC{6ze|a%MgLNBALf=5G9S{GoE@9{kDp33BGA___FFt!CB9B>gTY^hZA}`x5#Z1Kf~XIZ z?ZlrXXEw=ux?kdF$(bkQy?uUzpC@OYl=thNaD$%oSR!YBh3|u3C1;xO1MoMsfZr)+n(>S9 zpUau&@MZYOjc*6(^MCw>_%u25JiZz~Sk7$0UxyzjXI{Xs!yhYWUc}#npDSlx!Z+ZH zw1AUX3kJ{Lb;&a~m@;HSx%ckuJ^r^%Uj@#o?T<;;8da{N*`vmJj4{&G3< zK7KX+208Ob{EhhA7I{ZU&rX7DD{+Dv*L;ObkW;yc_{z?3ca^_=vGyY9EvjhJM z{$sZlpWwIQzmPMZ;{S*bjnwNU{)F$q_meXn_%HAoa^^GqZu~KF=Fj+EH$}I%Q{~KG z@M-vS<;+g}VEhU>^H=;xe2tv>8-5)AHaYWmd=|c5&UE6Z;eRP-KF80*zbt3Iz@LWy zK+b%LFT{T?XLjMw!~aXp`~zQ!Pdr%15Ajd@<@kYe<}3L`t+E>YD7lHEOFl{ddi)eQ z^R;|0`C9xeIr9zvcKkVV=399mr`F?F%9-8x`|&r*nSaT9ejdW#CuhFHKY~}2AAD?7 z+c6>aN{C*MG}8W;^3RB%yvP4I{&#YJ5Wa`o{t5hNawZYqg#SX$gz&${|4T0Q5Un%( zZ}4F`(+mF`ew3U^miO##!Dq>t6nqQ*1Ucj1gSh=xe7>CNjc>&-k~4kq+wkYh8UKF7 z<7vZJ$r=Bq#C|*e207#3rP#OQ*UOoG@H_C2$(b~K2mWO_voC%p{zEy_58sLZQqJ_p z@51*wRO?a^Jv2jBc}c!E$CKJ_~=8oH-aj1%Ha1IRu}LKS$0SiqFB9 z%b5&(F8(SxBSh_A#iku#IG@J)%bhl%w+s({3CKE3txkOUd|kaUyFZR&iMCw9)B&qL(cpNzYhPkoSA~J!}l4b zeUP?f61DGaJ7HUnytu@E!Q;<;mbY%b7xa z2L4Mqvk*T99~!IaiADHK{C;v~F@6$$jGQULXW@^PGsXBR_*3M}x%h1SIdWzRJ_mo1 zoGHQQ;%|~OrTCfn`{c}d_&oe3IdeXK9{zPXQ-&|VZ;4i{oEoUn6tMGMlW+nbg{6li) zLi`&1GjeZ;i{yK0KCj1rBKM`J!rzQfI$Y-};$r+A_)&6G#3lH<@pI*h#ijWB@t4V& zRr21>AH>(n8UG&9{t^7Wa^`aUWB6aonJe&5;9r(A)%d6IZF1&H{4@B!%9*R={dzrz z|Cd~^OdSK{Q{-R7?;~ec%csh}h94<6N?a|kOO?Rec>QzEfo!n`--geVD-+k?-@(_& z-6?A1duu%J;vbirsTFfAeh0ou{snQJe9y<5avzB6_wYOAz7}iu@V&3!fC-3XEzug>N z>KEk9ZTQdet#ame`D8WSg@0S_6LE*UU*B)>i4(Nn6Lt8+TcYD1A$Nqh6W<3vRqj-A zm%QhvKfY9MmG}wm_rur7-7410d;2*M|FGPX;%@w*_}Ap#5%=IT@t@1>7C*%wg�c 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%0A-lRY3ElnmxCw5OEZClp08L4BbSN{lVFgJ8% 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%0A+4j7F*)`HlH;3=M`iQUOv)QE#$j zd|(_kQpC<3jH~D*b9__nG9Ts2=I&jb01DWZjkK}D22)YxAjQE{l&hFE3@mI642Q-t zv3~|rRApi(4yLGF*;#Q$lZh*$gN%0|k*lhK1qmjjipTC6Oh&ni(NC|kshl&tivxq1 zkpt|t!N{ttI$vT<++vUSHfAFDRaL1MTSZU>6l0fOl~cvYG(Ipg8S7FnR)VS4I4XG; z=liB6TvcsiB+{#5su*?}1H+E7E_6_7~K@ zxx)wu1zs`Ly_;??N>-8KqFN?68Fi(1#*2nKMS0pn(|ZW)e*i4O$MbxMCQgm@Y7 zonR1k1c7ylTmS^tCE|N|nOcH$`}Mr*m-Tzfh797K3ibUra3=FLtVW9pORoFtZ!B4j zN39^tUw^5+#<`F9 zRo6$WKVmCc{W<@04}1P=r!U-htN7f2uQET3^$ijBTQs+#RU^+}Ws;4TVLq1}{5+?5 zR)Njp)IDv{S6Io|K}Iw*53#N{U3;}f+1jGP+M<~j?Tb&f#YeQoyR~B-+7}Bl@!9x2 z?eN>$qH#8D(MWtVeiI*a4>@bs(z;6f;#KX7{o3IJ+TnM!#jh~Rq8r-qF&E+MAJzk} zyyYPWW3-L2mcMh~{%)cmv>r%LT08u%w(6EAog+wA<~l)_8y9a$;_!tV#DPQ;eQq2| zW+GBM{8sH)bB2rD4`qHUp@=mW#5V8o?lZ?lmS$oXxu47=#fRS)M7P~!Eq_;gnAc`$ z%ly%3$^Ej(xU=%ir-Xc*t>|pUxC~tREvmew5ZW-A8-EC!I)j@{_PkeKN-ve&H01MKK@p zqjznmTUf&(V(5a0SQl`_YSZ>GpiK57CL4-Gm^7T3wskjNMCz`+p-g$flTOaWFcj6Z zF=ir8rj^BgiG!O(q}Y9a$@l5`F+q}oKP2uz??5YNR`K;u=CqB$(QZ#VEAXiwrOVV> zXus$yCmY$=U3*<``ojGKz--Achp@`^es$p#80qvLI{1m_gta#CwG-tPEd5w#KwExY z`^RY&(Kty~F!sZMzkvk^Bp85@2;^+bpWq8`|Ag-_RDCE%XMlGf88*_Uv*3poIpeDG zixT?KBSa}5a!B{gwlN{PSFj$E?|WVM?aCK&1-wDQ6>rEG)SO_;f3R)c_plAc@_t3m zkgA8sSTBIVP0qV(znPT z)2#1Om_iF-^AL;)o&1m!H-%wB#|zn_v!reM6(lJb0>=116V{d(ZV=aoK@U;9@1UK( zIDidB(vwpEn8j;bH^x{0zijA9E6#Y{wxsX5aKL*xeRt$vaYigmxNRHIyq#lLob%n0 znJkpALhU&YL;Bps3!9eQ>m1j-z&-D-1@mUla?e}5$T?^65+?@zd}rNF(&M8`Wy)uJqXtCU6_1$}{o+N>It|c>gKF##Dw^`6m|e$g-e1H5XBY%hBMDqOWi2`|y-^HAOA%q!ZW zXn1N%KMU6boM{h)iM%RI^i^TBtHSiUDoo;4VUmquv@@@QpcGA~MLV+_#PsvLnyH;> z-^IyJjwycSo_LF3zKh^ay!nm5L_7Yti^Iaz7zjDaJ*Wq?u-ksa5!!mg?};J zi|O7$_cI;T%WG%$Xp3P4dDhuT;q_MFGqf{DVGlJ^TQ$K>1H&$J5cBhV%Hz26kwwYJ zFTr{r!UT7uM8lD1l9qk^3>~orNVg^u0g-nh@-F+>2S3QwIX*`wW^EooZpU01?K%!dsA@f(h9Jf$^fpOP7 zf4zjU^Lpm51%|Ykos zcwWsH`ceiH59F@yfkO9d$x`WwV{t%aRxZgpPTVULBGja&*{=}}Z2k%0=gWt`nL>S+0@lDLJzKOkQ;|`Qh%=aE} z=XhW9?BuOcT%uw5hTWFj2q`%!V$iKNU!35~8#?L6aK2hzahuP46dO<* zxY#OrhQ5{fhZYsTo46fyImpk_Q76WFkp^}|8~P9WjSszn{Rl$!D z40;f*_;Kfyf1|am0Ul@;thm5Hptbnuw*c)_^`s#5b_g!P$GbWn+Ah z{g&?1O;lN+-&Xt`{gw(YrXu?-TJBYykI(uY)J%`51)YxBH#Qd)P zl^4XYXdUu~Vh#Z8lkBf@Ol4-zGZ;!qrXv~s8g99Pnf`5hG853$YediWc8DT?c0*Ts z@K2~;&o}6~kKhIA-6CcT(-6Xoa@avc&&7q=fnftZHw%8^o*z+fdW*mr0shPA4s+Hr z7816g@?|6tk&og{5aXqxp`Ai_G^JplehUtWF8b@7>+G=qjyNd91aw-QV1rJ}%xa_Q zr1w@%ZYJk?ySDc$SWOM6CcZ%fP?GPC5v4LMK8-D0wXl@5GfB zBUZ{ma1xJbBzQB+z}E`LF_7sMiP(^1k)AYY5-#-PuUbMeX5zgs!VLmcj|w*$4t!V7 zC=-3k&n$a094*e&qrwq_4T0xo5a)ygX=KtYFL`Lz9o>VjO3k=>46n*bK%@KLBYPVY zyZUSrLq#KCC^T|WGQz(CQWo!HNPy)SV8UG{ywZe^GT}D@UyI*N{Fwf&CjU7moK}45 zVg4)eJB!~N;4$NqPW8~A2CeEL{-iZes3vHK>ELL z!apI7N~d0s;V+r|Ls6lH@E?sd>EFjt!A#Ey{C-pm`9y#2rc@981B(`M88enI^Puj< z33AuDi_=<^C}t%DsgU<$jwG>0gp~f9M{Fk03<3=Mf_Q!xDd%5an(s z1by!lqWqr|qWt0LBcx*(A-W@{;Ss5<>#8?a1;wy+*mJrUUlr^XRMJn3W05P1_8af7i@D841s09IcwWS zChOsnm7IbF@!M@9g`nJ4mv3-=1>dDYeIskUbv3?`_1?PrPVbz+8U`74fIVyk`bw>> zE|8)jnU1=82I{E$zwCVrcvRK3|0Ee8Ky;!;jT$A$s6nDmV8BTebpi>A5;aIvR4hRf z3>YB71koZyXNGb-4yG2ZwpP(vtJNx6s@7Ibco<)`JgTBpMXQxzK=Fl$kNkhX{Wx>x zBvJJ0|9-vqp6{DkXYIZA+H1eo-g}*O_6bT*MIg60D~}fU^4ppaa6T5Q+~?P0f6|Oa zZKK)b4PntISB(nNw&98J;KW!Z3sML|TZui9Wg?1oQGkKs-+Xs27R)x20G5VQcqStwvgAQXd9mW+kPm?guCc^+3n(2@fnR%i^ z5D~u8o#t7}kBgb3-6EnoL<>uRGEhvAa-%Qp1F75R$STl)HZuq)wgk3y{#^(&XSt(0 zJkia(JtGreXIompjQXlQd8Z2-k1iZ^Bfwa5Ja@-#?6Fvf&ZI*U%r^_&@Ug&~ z;z6<1OQ>vc9=x=>r zj>q`otf)W~-xuqPR*CsfDZz0D*X@sc>_Gx%nYReLk+NL#P>}l2bBdo@xG!FvW2N9+ ztKz2?eMmZEj@vvnShNe9_G+(x;f1ln$4P+-EhJPXebj^B^FRjnJU)ym3^Ue9mbKe6 zbA}Z?leRN$UGXZ<4ITYo0QmVT@wKzTFB$G(cwMgqA7NhfXRs+PnGY#B&cG}X%M-al zkW%iYj?Fm4xWdg{6m5oZ?m#_=O)Q!~RDbNuFOaFP=$WBU6}1~54u1X94THD!{}A25 z#}A7xhQvtbZ!@c}&NNG}HbYmtRgsYlZ@^!j)ma|KJVLT43K`~t*@Zanb@Pl+)QvFA z$qb9~-DaHK7R?H`yYVGX-=cfa<@~YA&pWoJ$FibiQ~dXZhtOtVy00?iiJ_;CC-ck~&w_SUo(*$$)K$gWfxGRM0ybWVx6 z`FXsqj5Iv2&kS#s^xH_!wy$yHh%iAeJ~u4;u{x1T1S49;Kt7aE8U&Jd3)=Uh8?Zmc z&{UMzYtyt~4LwhkU$-r4PrR=8u;-vd(_-7rW<$*yDu!TQ3^Chi2_1z}6&Msbf9uJ} zjon9@bPPVZx!}jbmTVv2D)eDdliN#Ci#!33kA`a4wrB&|aswFpwCAE{^DFiX2b!0m zhvP*`BtstE)P5+h`2A1-jHJaQrJOARd;TmQI}{rmnFPXXN>?MD{NklmH#nt??OqMx zK9u`^Oa@ygp~3hu?!^7FJxW^Kp6E<8BFY~uY0g|U4>#4KNboHSw+B&G+2-h6gz#1! z@|B4r%%}&`4J$iOt+*J=s5kMzdRp73cev zZ9?-WnMLOzuxMA@10V%e`bFC)cs4dvfEX!Iht#A>{lP|2+R3JI;bajlU(foi+w3hg zr8HkCy~1YzJTyT*kH|%p=cB5#k#*MFQUp0bVatLTSZql#%t277BS^KUJ5^szC004? zt#p;iyY<$empbz9?b-Cwp(Dy%O3t+Y&zKXi2dDs$n;&lO)x}> zvJ{Xu2Dx96fh-qoIBocyiXY=o2hHe!oWkjBmibz8LSc*<7h30U2*N@EaWX zatHo^0~fD@t1$9wcf>#Ez+ZOYZvk&b!&LxM{*N5-pF8k=wgzKCS&gaV>K=S{!Bi^RCV5FHgXEvUPTYiL= zQO7#EUt4@Mv?8>%MMEn>9roYbscm+15e-h-jAS!D(SS33*1U!}bH!H;q=?ARv7jtBHFt_6SiQvlP5s!PS7I+erLq>_`>< znZom+)EQq0$oNu)S1bG?h0js=<%C0UiXS2DhQA|((Y%B8f(e%WrFpvLV)BjlrlN0g zD&O5`D_+{(bY;lv`u_d$rYV4AW*M%yv#G>AF74bP8DpeXW8YOf$6WX4p_u!zi5;e(3(Voan zgqvH+m6JkeB_~r?;yL9L&_gye5RYuTWs~>?>|~yY=ebd?OsrF_^)HNIryDyxPweb? zZx9X#zbwlWnU1BkQL6SKrCuJDt5<&U)2(HH^#$|-uPmOWAVpq6h?h*>9IpeiGY$tMYXtr2CbB(Uo(5$!C zaqiZ{Td1c0z*BhNgI>~?XnY{fb?K5m7~crT5XEfQ`?{1TciJz}wGc22Kc>Zy6jyI_ zKE#qgAurPPwB9U6oK0+TTC7N*{&bvky~$H$Pqh(hIzqeX0SLYmVNfM5sJUL(n+2$s zI>hTs^V7J7_VDkr-qd^u`Hawh*-zm;6B%(mg6YM&*rrEXm|XuAI`Du4=ekT^Oka&( z4S3%QNdD*ONI=GGB`Y3@LE8?$XqNc0LUT)q-&vR~j+nh@`YeWHR<%DCj903EQ2Ta5OTekj>h3xL7c;QLJ6Nm6cIu_UZTR+5@Ifs3zy;6 zBw)RpH=<`hLwx&j)ZY3T>bEd^n**-e&XoYpNpAzdQSzs1)VJ&_@dcbJ5LgRV+yQE^{xyAO(c%w*-!4Ir!bL{0z?7<;N9b z6xAd})krGvE;LWeg30h8BggI}N%KND;Ppp(Dair4_?V&9n4qaMmpjbKK*?=8CtzL<6-n0p;%Q=W+EtP~JERdiU@nPo3EWDiI8WG}sH4ST)xwUcWP7^sUhkfM>Z+x z`7EweEqwqnvPDP9oF<`r9-(dF1KaHH*@50ixaYb%@Q=DJIMcKA5t*P4Wnqt-#K{P- zkrPz>0fbI#WA|jbMQ0#Q0BN}32Ti?7Q>)VObZJ-oY=p}85Oss@f>7(x&7-WP_${y& zi)SMBv`T^%%{!u_W7=@V_a_TczB&~@NyRsc_*@wedo;?B>$ye3Sgq?Tbf!AbuiHHj zuk$?I9;-boEmrPIL*OLTaASN6xN*%y`hZFo$OXw)h_3G`T`eLe#;-;?bh{wB+(fKa zo088uO3f-c)NF2o#wrxNR17sft$HZ9VX()NQye{x8 zxdbC0m0X4XhKGi@D`n3F6f-^`XLjn6AU(UQ5eZHO;8g8dMh!X%I$*OWvK&OMcx2^j zIS=tw%n4_{f;x=%QPMn1xOhUnm!cSt00w1Uz|dTdhZ7JV%_zD=QtX!Nz&jYf3=Nm; zXTkMf>6A=mDorO%#pUc%Nd}=OSsF?Y!~Mk=UliOB4xU;AdLmT}pX4pbnB=WXWQ14C zuNYZAm7yI>#M)r3pcbma+xVLGwb@9AS)&TaAwxGCZ-~#EAi$lr8Ci&$$3vFz<}N&6 zDE@TeJ4hNZKF6Tp2Z(CPDE>DLeiXmJDCNv5MS2QVDyGLf87bwePs*jXN0<_XT%vnX zppBmEXh1`kD>S||-Y_;I19zI`=1ECj?+Pc&D@Orbs5dLj{@E1{bL z_lsszO+ zfHgVa?I7E)+edB3%pSK=rS9!)!J>K zIey$rMiso75bb_DA@-DiQ1H(Ru2rxR{h52s8wt^G|4E2(eJDCUq3|aJG>L=H{e;+q z?oWFpD!q{q18OHB?5i801jvuRbL2;x0>e)vggtlyA?(Jq!I1xI1v9Y^B0iW9`HUpQ z#{WDOo=y8K;>Rl(B0SLLx3id-CF#I?LFI2FT5a}~fC$#&1$#Ot0?4|9mtS9ZM zcr&l3clL@bgX%ZGv)(osm5fX8rL%@5j2$yc;{-O~=FWQ;qeH!AH{7@n#?Reu%@KTQQR-2C6lD-pT9Z(dR-3 zm$4)5t|*<|ANFu2I2VG-!=YPq?1>y`T=D{rU!YAhJK zNVq0TI+@5lkM4+Q~WGyxD*u_Sa4|k zS=RZEG^|SKdlD$dvegs&69S3Fa_%;NgjbSYmmi@t$H7}CbdK@5Uh5q&6sM7Nd^xCN z$6>LoW5aI_8X8AdGmzDbOpd&UzG!SSzTCK@sIU!5_j^1aoQM9+h$HNsqNcVl;GKuV z&tU-gqdCy{%6PV8&!CQNhv8ES;I$r&5*P+iH@;WoM{-Z(d^FD!WI^sjUobw{_-@gH zwl9Rx*YXo;C~+w^%Yl|z=0MUI&&K?BgQt0NlB=<2<2Jm4SslB?%~E4sRZ8BA!1gcX zJ@h%_731@b|Js-^jws4DuY|e1C4|mYidr7%kWlh!c@nFoI&6s4vS=Y+RIIZcot%D7 zSj7rLV*;I>?0!xd^H>PWJVV!l3EyeWV@nyI87~{p8DDjLKByycSS;s|@LPk1z8ZZd zcHSV*sjnF8H~#z2l)dBgK10_R`EN45+V~#UkRiOV2BUb$T@<>Bc8h>{TBfvvz$Vc0 z0BS2weCChhTm4$?Ng$f)q?0dP4G~h_eJp2PpW%+TV4a74kA4OWXYKr4?#k-S^!Os& zs(yn0U9=11on9lQhT;!#N)5H3grC)FPek~FVyOwQJ{)LKG67xvNN8m|4%mjx3HSa; z?>9?KpYDHIHyTglScI*4rklFM)v+Tx{Ei3DUY$%QffmMNU{V{fm-b00HD2oh~ z4fkuM@cmL1op?!!5q}7aem>`r`i7s*37}v5p?!@Ppu39KT{*yb%2;Q7XuNJbhge^6 zS*GXO8&O-r>-9+R^`ZLrH4BQ`g`Zf?RU>kKYSaqlT0GXh=sj}+xeP*vJ`BL&x}9>a zGIACpjvkt;pqIcpxl3)L>m zHwog-hlgXx6L}5Y2v*isltgzq^IC~o$=L&=q(chGKi_P2XUuU!IhD*sN2IF&2Gm^l z!d&wJl>T9`g3an`0+xz?ry(Rd1G>z!^kamAM@a9i0L31cJsb5;N(A|s*gObW!1NEt zVD;m+l;*w{@LD!QYlqWj>4PbDDf=wuLiqG0(v6qNJT@!M9AM@=2#Ug@4aHkS8D`Es zs9JycsdToK=oQu2z0=H(Upa?{K9v1@0dk~~#Vt4Gv@BT4pd}qX`l;;`UNgzqBs)9y@5#;{dNJO>4X|un z$hrXHQQl@0pRT;A)~3~ohcQpe{!t358cY%sQLS~TphDm@p?Lvmf-5j9P@2#c*qGxv zsM^(QC_F>+Kv`f2&roi%lNJID!VB<;Sd}Kcrc}wU`*(#a97t=qmuWzT1qJR3jifQ? zhSiB@rA@IG{SNO2q<%fwP{s>mbvThe|5D6i`6x$0B1`dy5n=uXFnLI)P}Y~V67fXp zsh4>A8C8sxW#~DC@hNOJxY7SzsGnrImV1TErP5oF*0QA}d3d4&z&oCSKP8BD#t!E( zA6kZnbDE>7)p{d{9Q|frRP#99rW&G#JMnd~zNkg}V`fzCH~O`9swJ9KrK++L8{1IC zatK2I>uh8!ZCSc5pGy3`O^I#OA7-N)FA_waU@PpvER^6d#OHsdzjN08vC=;v1k15d zrLpxf+_iRW>BG+RDA%bdWua&pIS$OMlh<#Ht`B90Kku_BGgjRP9?Z7{V9!DUxrlrN zw1vnf{AE|mZ$PtfWcc&Gp4-}CyIZ!Z|GG$fOECs<0PNY_LaO65>lVNmk;<`FG8Jh% z)6pDViPfkRZWU=X#O_4E%o!58!-O{bI~WzU3s%r{ST!UbOKs1y&n@cWnz$M*+Nk>o z7-xQp-U=wz$FYfN>Z`n3KC~#L_e8kl#F=m6Aqk%{Ed(x`*gwC??2GjTr_Cn({B0fY z;9KUQ(>mVj!wp<326d^}0k9ug{oV8zVBP;h=-^@)Hy7>;srY5_KnzON|CexQa@~(a zSor(7@b`DM+*JJeqRZe*v20cG=U0yYx(Zt2s33CJ{S@mYW4EZR$cC23&@N37pKU~U z|9S{4x*6{4bUhfIi6?*uiZ*n*#fh5`vG{Y(wfuG*s+#&KS-(y8`hD_0u6`HoRsC}D zX77MsTffb!e!0wP6k1-6hk7+0?DhO`PxU;9_52VgV(a~rWPPXf=U-xT|39%m8{ekB zf584+_a9fkd)J>M-==%$$>PgZvqV)!lHh4z|yq zV^ikOLOp-_I47!gq@F)LoIm@;vI;PLHYTUfEgGMvIc$R(u3yEV2^+d0SjF?9G zyu1qK&xE{p%1WUEv7X2MLRwdvSeH*I$p7y&S)}JRg0Bqtszb*QfDw- z>4tPwC0BAbz-l?jioz2;GZ$|T7I!Y(pY>sTkF68?i6%UW!7`j_E_Zvb;~UCI5)5~x znZC}xTo^7qKEYr*M>Z5WMapg=>U_={f+tDgj9nb6!6OMMEfIeb6EIGcstN#2PsOi z&niT8IWnrgl41w((2ehkRUx*}Jl5O~VWliP@G3Cot7%+q*8&d$ucFw%nRhVSweaAg zcD(NvbrofW&8(}7vKDifwYz1z&I}^)g{f*!bQ;vT(Gl)A0&56QRY%9}K4w-JoVe-n zVK)}tDP`m~Dk5BO5Dt?e&ay(lWr##VB*7Z)J-K+JS4e@OMgq#fQ=+Of$dQ@KlCmNq zpK|Ll>{I$DxnQSb8(;;J@3}6H2>Fht=;tVsFmWzC(%R}K`r$01ZQK{h&2C7vw{bSN z0zthea-(l92Uo*dr?>Qh+!#Np0~u}_q>>w?Sgjlsw&h=(Ps_2cx>okzzGi0-&l`g`A|&%kO4UCyF+fY;R54YScz3~0O?A@>vyb=8+$t58icc`L2WdJzd%#_ zhhXnNB4;s-fbR_I52Kz@z4!|>l(D`9>zkHN6Ujk7$#@#+w;F{9VD(j)X1EWEKL~*^ zvlc>ZSDYvB=;c?@X53{l7_iqBYW#B~fpC^lD*gZ-pNrLMV>}ZbqNCnh*eCASRH`lG zAM@F~J=whoXcNY0zD~uh2_N+eC7_|$>YWH_pumz%AwNAsF|d@&!O{Xj0x% zY#HQu0Z`bl!ATx=2f1NRLk5}JH3^;dTPb8{U(HX0irbUF;6WNa(q*5+G2=_PjGF4I|^NcK{)=vxg z!9y@_+?5VJR3s%RK;58EC)4nNY4QyR(mhN0{s|Z~qAl}r%hXMvmQK$|2#bNG{##{2 zE`A!tR#~{yiO1m<%_PaMz<3=!fL64>3lrK4Mh716uQQ%49s~0k54I5Ivt!JI&0+Y2 zAB?ibOLG61vv>qdW72+BQt4js9=0y{+6QfDhtbfcwp}LeXFo+ab>O-MJK>Hu!M*TM ztxGae-=jqw3klOqewvxajnyg~NFH;iuiuSPneU19!T3O(h@yegD~g9fhw^6{YNSv# z@^vH7>G({;(n9#GFSMdaOVgt*&7l}1s9v$vOdZN0a6^pyr-Zi6X5z3mcDZDy_C!DB z42}5^dQNs8QRCcbNeze4I-w%T5A0lqnst*TvVO7YN~KdJNc>L6_s~uKA~zI{-5H|! zRD0vL5RYY8dFT_!TA1`udHFcK7J3vRmfjLVu~fFIIbNppvpb@y-R$OCa8~!ejK>2p zt57N}=>5o%qPXq!uS2!CcM(Q0&0q=~d>5s@oRU-+5?a36SQA&e7lrYM=M)B%|$pYbN^3U7qd-i$7ug>i!& zIYtY{3gYvHx%sDhybOUD`P$s9#*59~Tr!s9#j-c&_hxU#cp-0$8JL=r^RJkfop$DY z*qK=%B=AEto-dFptltvWD}>#H$`*tB2ng%d!eYE8?cxqOy0~q6+ zY(3ZQi<+iUHjPU(j$N!pN{c*8=`D$l(Zi6u6h!Q8&LJ7+OZ}MFM31wzWfOvFW4{nN zvHqO#)hd1)+Z=5jzmX1o&@iaP_!Oyi>Zonx`X<@4qB%$z--pT1bx&)HKfgz2V9htZ z?9ca;+D7Pr|4H^HF6Zq!5|#Nw+MC4sCm#!gATlb|>mCiixAjlHUjJy$8X||)A-Ry@ z0t71(L(H~%8gJP*xr|CYAl6SjlQ&a#BigKK)I~=Yip%O&Ezc!7EkB2;s8ahyHOYPh zHw@uJL*FR4UAW*v;R@nchF>{;75LTQHy*!Q{LaSjhxKc7oJ=Uu@8N_(oUsMbS#I%| z88C?7CHeSMmrxP7clx_E7Qp`tl{Elyy52Hzf0V*8U5o3!e08IM7?-#oh9Bv_iOvTa z@*j>LFY;ra`eGb^rznUSPh9Q!vMdU90Tovz{z*^1;u_qu{~X(wbox3DboNWfv5)97 zFrIXEyiu2?Bh<1ns(Fa~A}`#7M0r>*tZTUBr0@$KEzdPWu(&iojcaHR|1SP>l!I3g zzci~iFog1OL?o~7?)Ucyl;Df!u=vv{;}La2R;sXHVX9$ zDvjxxPG6*-h9CW`_$~tDuh5ZzjOYBNFXGp01dup4=B+5!7C@$_oOKukhpYS^2d*#D z{|&!Z6!RjL->A3kM{c+pG*;C?s*Nn!Uc*6<*!{gb9mBHd zm*3TCjE>VDElPEWq=hr1lrlly6dWfB5Z5wW2M$;qK;V>=2U(^tnLE2_Uc=-|Tc*es z0YB|bItT623u#I)kH%zcJ%j#2U&;g_`upwB0mL68ME_2MBBc-JK7>$0X9K47LqApU zG6k`>lGZ1@j)NY(S-2ToJfd#W+D9golFknie$L>%Mvain4VGlcm# zYmyLh6oEJC%K%9~fjH<72T#%uB?SFcLdbbLA?P0jB>igQppT(WNPjaS=$|9Rq9YA? zkbXZv(hngH`W=Lz|BMjyBT#0Rr-cx|2qDUUn}Uxi_=1AJMjXri93krM4MODezJm8) z;g^0Cd~YE$<4-3<{hf?9Wxi(;vKgEGN@X3X&JWHX3 z5cFdRK|e)>&n5)jJ%oeNF9<;wCj{MR3ig9+#7`hZd8QKLcMBovrd`3?P&VR!Aw=0W z5)Q?B1AU0)$t6U2h7%&+vk4*hl?t{IBA?|7u2Aqj!ed>oebH9T|5!q#JDCu9M+lMc z3I*RLL|xv3JeltbLgc$n!2y^fn68WvGL8piyH6#Kc0Ue3rYj~yyI(?B;BwtT$a*J) zob80HcS6=XA#Cv_pUp@lyy<-vN#%q{rkjYx-R4)1OJ7=#jnnMEe3G z@re^$-|Q3ZM_#<-TByL~^of3SJ0?kSXsP@*;-eu4&Nq$i@$U zGnXNb?<@o0o#i%Sc-xZzuX!?XOqO|x+bn^tH-`p+dPZ3eh4aVYF~lthLKHL=qUbs# zOwH0>ie2LZ@NGpDUUDX1zWxaypG(N^svr%vv&71J@^V9$g%@UKdzStLso_4?FLqj~k#1JHVTQ^zV6myp zG)8Bdm03J-u`=5joo!a;7^8Dc9FB@J=_>P#(RpTNzA-xAtn?bAy=G;BF}lF4EHp+J znw36dw9l;c8>9VZWxyC6Fe^)q(WPc(&?s|kx@qq$liiVHS{3$d+galG($`MkULc`~r!4#Tmgp{Yy@Znok3Jo96Rj1HQ zL`Y2v4ISlbg}@*bGS?wwVhT+?LMEl~X+%g}3QZG2>XS5#qnUJpx9O^jf?eqPuq*Pb zF|>f98)mV3X#$Y8TEyu<_R)Ms3VXh^Ai$)T^XVp|WAM69*AITBe}|cd{!)gc2Hj?v z=qqKSuat?tQYQLJndmEJqOX*RzEURoN}1>@WumW?iM~=M`bwGTD`ldu;4^S$S&-Zh zdX#c@j&&25GlD#m_E)^UqI5+zJY%9uiJTu;fum|Y(W{7@=3lWde6#19Gkh!diSB5b zZC+8h0-ptGnP#3}uwo#Ne7Vp(&AVa%Xll(F`78Q^W}JCNUhK5o6`3GA#XLWEML&>@ zGRJ?hqAy<2JK8Ca^NHueMcbS~OHzZ`1muSmfr zr#2K1_T*z4*)0@%$rpLv2_p3j|Ee_j=>}Zz4W=%OOGhVA|94{ zsh4h-IdnvpkXg!8N?rXM7gJ zplQQ-%Hg$cBU@>bosVJOat+-RI#AjCJAq0)BhFMkxo8Jo4~Yn+96N(AJa~(Cpgj4g zj#dz+QSsF6x2HqK~fJM)ac@M4~)b7q79N)O0p!k zq2$(z1cwN2=0Z1b(su8cWQ*#-yW8N)Onc&sT%{~v#Ysi8%IwZ6Q{@H&U{lYml4T^T z9tsQ&ETGB+lIiTSx@VUKVoI$lR_9oNN@3N~pBN9iJ$J53Lz&yHiozM*Dq~eNQF*O) zc_@NK)3o2VVQ7TI&|k-!Jy(c5Uvtds&M`09RZvl=B1dnwH_`&lC%-!%jv!VXghTOr;v>qH(!?yJw>vAZ z>U&_dpl4R1Kq+lSRt4Qz@tGVYlVb`k)Cv(HoNc(GLakcU-HqG|yK^fH?{VQQg6nu7 zk0<&I{6CJTI9-o{rz^HVJow9l_RY!yPA$9~5Vm-?QR?m5fb~n>r<(?EHC7GYi36?o z^k0RefBWK*nvrIX&ct#G9|tqaGR@K11`f#{onw^o%wVG|2WKA}IN^JAzEPHEj`kX5 zcxZ?(!g^6(S(X1#e@v3& z%*MQjGC?!ioS*wpKhPAL%{dSC1&zaJGQv{h)O|S=!(L8CSOWW z^QNdxR+h2$)7Rp^#j`U|iozwA;5gC-9OJho^A$A_!;BCgfQMzDu8X;Ydy|=L6l0aq z`RRtM-bDqvu6m3A#@haS;zNb=Ii@F%AUgAOb_!lyRF)xAWxCCWPjBfij$nLnLasR&vt*i z`ML!2bwAJ2B}n$|=WF!)@cWsb$PAn(XR4m7UO-a>^2Ni%DA)zTT31fx260pO+Q;EU<3|drPsWvKLy^#$L=v zDeO~bR>hQ#VSJ;=((iuFw!-urb zau&x{#NKp%q0spWrSpa8mf6J}xOMfHkt$K4~$CP-KPb?NLnR;8nkEl1i~Js0E()q;^MbZU)W)7tf?N}A~338Qkc?(VA zi3Xj@1+N82dk~w9eQ`P3*REV(4Enaq(#Ob)Yg4Kf-kXiNP%9(N`CLnOwG^7oTub5` z$~a^VYsqI?4mBI8O?I^GXU^wBva6-LHc8ONvhrxKqnthHlV?Ey56(;4c?f{8aS1t~ zDEo*)p>WzTqnD96LZy77REi+Csg%pXFun(H_!=k$7vti3*B;GCsqn-sL;m3S1^J-B>;Ds!d#fy zJt_4F^D6H-X|+z8)jcWKVL>E?%IiVQ?CuGuJ*cyKE?16B@Fe%1_QK`hXp0lL&5F6# zy4Zo#7-3aAXI%DOYaUF>B)4q^JUHO2t*7C;- z9X91+-Ts#@XyH1v!C-LZj~DY;jvqJb{PA+;D??r4gKYMDXp^tK7>_K)#d{R?YcIy@ zym^lb``U}~D2}*zk44wlUW^wC94UB@rQ6qDE)eH}mOoyUjq5qC0r}&l<>kGd8F78F z4j5;zFI_LBArEK$*!i-I&ic^hW_p&%S$?9{q|R!d$uh zMW)~O&zX@F_gnniTdjNMl#gX)jIK{R?v$T#I*j+aK6(>K(~>{w^`-eZp_YfT=s2e3 zWlv9B%j=9|9t`89^VhT**Swta|G+-H4Nb>?e~!CwXAtGn{W%Ey9Qb1Bi{p+L+$~a0 zS_>T`#~|E)M0$=}>XxGvu6xW)HeQGlW1esrex&~+4`eBqJ^Z`+?Q(&e1FmVPF}TUNxN+8a z5pWttHC_&!4>mP^F7A10d&j62HD3*SUL1GyTfG@L+h5}=falxrPT=IN z<6j3JwBhuVtpVN!8OW~>>Ox=SyN?6sH-_}Zc)szdFXF=-xcGFgB4B*EBmPX_EdSk@ zkeUBv;BA=9-a%Cm=fQ%l@RO=g@+|_s4nAy)QRj@e9HgeY;Cy>A-9+gxHMx0mQSoqR z(D32@Zb2hQIfF(7x>1cBUgV@g5ZzvnA5}D}*roIAfezdxozDjzO12)d7(Q~8pc@$& z>9gn%=*$;okaQ>dMkeXH7YxOhbR$m;SahOJlnkl>R-6*l!j(WtTxM+HDg%1SUfdA! zsiMu9KC?koeGkE`{+@zS$R2`OM?D0yiV-XdLH}ljYk%HZvk*uE;p`0WIrvNqpW(Ue zDJh=_vwXKx9keaZN&pLIW7u<6#j)a9x$KdyG$;@1cf!F6QV$X@Q!u9B4S@XC)!hnz zl=u*r>s^I!SMgb3Ec^t~@97s>4M=_yi60Fei}8_;x%COc0+-8+@x%B+K=MCD;b#&D z|3wOqsQ5bxz3}J7#FqwsYYCBl4gGJy_f$5|Hszi5~^ORN{#L z2_f)*sQ7;}9`d}e@Gjzz=Y)M^dOslJYY8FGyHFbB(?tmWe?`So9{SM|-$oqq?-K{i zg07%Een7_85J&zO5l4I@A@Dz`_{SNK{MIRa3vtNPrEoWVG8ykBggoU3ND9kTE#aJ zLY^ReR7p39{q#5t!Da;_$!l`$ki@oElzIy2pkGSjqxVy~K96JU2ZPaU=)Y<6eU2YTGZ;@fwC7)1oVjt2a6yV#$J#7wL|Zx8k31 z{1q!G0`YeP18tW^p{lGr8BMxVd!QpdhMRRYL(rYTxYp-LU^!Sf&b5CXA`FDIL_Z)a>eLB#wzmTUP=R;Gu*|(HyJoS%!e1Y$Jr|363J-R08+4J^_9{rm1=*D|R z--_xXJ-Yf{(WAGJz7;jSSM=?u7Sf~3?iGEjqz|G6_lmww(ziS55uCiVed-y{t9J}; zT;*T$)J10NKl9cPO+O>^nv0(gr4M}Ku95?Ob>#TdGB021cfa=j4Tt>kZ$BDym~YsC znIBHhIq}RlN6wr%epSWW(Lc?*=*J76`nY;@{H_ysTr#k0(!(G3ePqXbflEF=-?;6! z_uuB-Z^5`h|30-~+W75nUvSbY*MdiHpZa8Z2 z*2@ZW_g$Rvt7F18b5DMH zM*UfXhUFgoll-i|ym|1sS4_FE>9YPy+8=vm>|2>{ow+>p&b>urHec|?mM^oHj=Oq& z{yl>;(+-_ey8rKf`tO&QT>8uG#~-`k=$ls`lRM+%w@MFP*64ruz=5wG6^=i9>_4iv zZvM-v&F@a~R5Q-(Ib z@Yc%@JbKt`^9DCp<*n=cvtwRdasE9&U%Bn3*mbXUEbe;bpKW)wUw8V)BcJi7N3I{W zde6!Y3!0Da_{TpVsylk@>(8_tG4G_uPJDcK*RsBUxOKw5?`#g7Q07a!f5nUmJKB!f zRCMq!j#;tzd?WYOlQ$>+{;QlF@kA~cH#llg~FL}aqc*P@K6VG2e?jQXg8dg^O`{%Elx$w!VH#g-x|Kkmw z))Tk?6V_gKC$0HVNo>;SP?w^YuD|veO!?9m)bcF`}?#XMusN8YXyj?%P(>p({p-s|pZFqj%_~P9dA$41j0OD;NSu53p+k0d`saR8-?Ytl z$++j9UVK70`r4jfk6Uy{`%kxC-Z&y-#|5wbsPC}SPyTqv{JUlzd%*5f%6A|4M$x`o zLif%XRq>0hH!nZx!jAfn^44aKjUN8ly;X-?xMSh%55AcF_`-KjpS$OyOI9E8_d6O# zwvGKb@zdL`5B48pR^>IlyyTaz<6nF)FzlH__POhe^jVcROnkfYoXg_Bztvas*1U6; zz47#*bGEkrdDf+M&$PaF(~gaA=y9*%|Be6u8~^`n#{cs{ukQC6{$Kz9U)2Bm7Tv7d zUBmxt|NoEe|Dz4h>U!7ke^ve8_j?|nmva3_m4C=we&r(N`u{5bzb9Okk~xs?HUA%t z%GdmVSUc7a`)qtJHl+HZt%8@+p5=!w@8lfG=XI!Hi!_;;~;VG}Pe2*PK!USbpqMiAok6%YnG z6oPmyaR}RrjEOe^rDXz$z$3(Ad1x0weO!F4h?a#`g|7sp<)BXC0M^z0Y^+opIqh=K zDe57Bw4=RcrIz)$9XR`hj^|lXbvFD^;B7XXuimxW@G9UtZTMv1`S@vm^Kf5d!;?m? zsjjoeju|m>_^8P>XPtU_#pD2hl_k|;U|tFo8co|c=9=U&a|nb2-3R9 zBG4#!(ezovFPhZ@0n5@uFpJVdFiX-yFbmQ{Fw3EXg}72C7Ndt?lmh($eGp@xx`^kJ zj8^zKh0js=PZWNK!tYi128C}{cskmd{00J&AN?bUmnfY655zCg_^iqEi$@eS>jy~R zWbYg?e1tsSWG~J)+1eLE;nMcbo}V98!S$Bk0pii^{N7*?zTt%@(a{p_&i;k&NPFlY ze9<0(Ao9T}nBRd3@S)NA-LUB3$sm9|O^{@%&K2+np z2w_k~hPmLCXLN!lFT8aslIA3iZv#y(gvvBZdH%CJF9P=>4Gy)>SvU$G7`W>5tq?IZ z2H8S2*s|wW0IcH=TK*UhV)~S3TS}tkkiNS|BMxU*+GHwfkMD;-@jUEo<8L^I6JK<~ zb1^tiQx=^Z1*^jW)A+L13^QYwD=jp&XjdCP6GpLx{g@S@L`F4cQ%X@eO){R{O+UNB z2`?ux4YZ{_>_I$FQ=j~?y^kQ6SYF00M&cEmmmup(^H9d>LQzEd^&$B_LwNfnv~4w- zaz2vOpgH+|Q7y_=kEWQ2rf9_Bz0nN|`-w8O;Jkm(@{2+>ps7XtM0|#5b(>YaU7pB9 zNX@S?)dA{oK(u5)wz0TZ=Qs27Vjm!?)QosrSz5Q(*uC`z_yeL24#5`?@H|j6L1Psr zTBYB!Vnw!SpB0F!6LCC+J>}aFp=DMa+5@@T z(s?2wv_IklJ@fTMYVGml?MUy}@$$iCoijd1#@B`CXSqW8$cax<`G~U{r8u-#mM|MM zd>qO{S$d>>0yXk=@wXx#tQC^3ZElo^epGoafD8J<76XoZzLKud~RMjiWkNEH+ zcUnt7vmd^h7P?FnffbBz#M=qQC(&iwAs?X}m>(LREibzVlUd!_6Kz7>#6N;#s5r}5 z4P&D-elvoserK$W{|tC|QI@MEthy2y%K@ea;BaPwC&`d0DL5-WDG%kKJWwN+JW?%$ zD8M`yp0A4Z(&d!~!zY~xL$@qkx{fS2c@yUHHV7Eu;2oD<8 zDDgy_S>x032R)(+WjqxxL_iYnjMGN-ANd^p1T_b;9=T@bMdi!2v%Z2@d)8qTu(CNA z*h6`Ll)~9Tcs1L25f?ofa2S5}eMfI}Tw{_yAurM$CvU|+{Ulijl$+&X-4M6)E5I5(S2IDJ?G{+_vWI`y{X{;PJOh^L zj$C?ru1+6YUWXwK*YhJJD*joH5(i%8!1-KVU!*@@BY?!GIq*vz_~j1#rw;r!2hO$P zPRM#3Dwp!EcEmsHz+Z9TTO4@8fq&}2>C>Cv2k&93`r&>40l@(`<89jOGl%^&UXt#pN+6O^7 z3uq@r(gpx+JKRQ|a@FBTpOV%xxewQW7v!38Z}-8GP|n5t~{*xhDYAAETc5 zUHWE1^z{XV&;@rBLIbZL#9I9|LeT9dgbg4Y^-6dmA@=Z73DI%Fgcy`Ol!a#-{#C(E zD!vqhkonXSA|I}q2%8kVnGk$mCWI~IBSQGudC+f&pFjxwOoh)Tgq$}M!hdcpA^hUr zQMd;Kn`b$mKzImzB?&>dh!FCcgpgnOPC|~A!~wSwq8uLdA=1%zl5)=`L_J(d2su|O z{7b?E;4=>W!}MMS8>UWfntqYq+2kkBZXDIi*^MJc`2&0D8@Fi)8UvT!+csFGT+I{_|lCCBAEoq)@;@qu0i7NC4_GA z)eo_FL`t>6!-}t4s?oiqN<7WAG54f6uo8lJQ5Noj3Q(SanP%2BqYmpzGD4+2an-WS zcgP~PdTbW)Au6$_3=l&G{Ok(9;FMC&J@M8OJ9#JWK>x7hWgnot%q)PWWgjS|+)a?X z8FH8R#9PbFx!7KZLhgL9@`8>0h}Od(ah3FKc@)e`8H&tU7Jf8|Wyw#LrRVn2<#6Ve zxE>8`oz2l}{WtDS{nII~TRFa``gihX{lgWPABXa>@>$vS5ON$Un;%i@*7bB{&+8^+ zcufJ+4f-GJQr2U^1zm4VYwL-Pu16=E#3M?cXR5FuXp_-Dk5Wm{gt4OrBrPiAe zsSWZ3ggzk8U>yUyw)8R{wOmeK_yBDW?b~aAowPUob#6C#*#m!={_4ytwZE34`Gsu{ z0`QaD+;>)Ch;Z*Izx|yCg;`_POyp-2Baj>2qw4G0qPeHCb+Zym+Z)E?%94I9E2uS* z4F`TTGNvM^f*@36#lP(Ej#KV{nMFeYWb?M&YFlZSc9R>2g|DPnrh{$4Iv7VQ9VPEaUCfj2oI~FGOUGQe4%9`^iB;@?Umkf<}dV4VxKnq z72f`>%U`;;sH7vx-$aeW`c_)o{c3!1?^ z%MMskqbGJJ4$E!_JS(^H_4a#eag4u`Z|EI_57fyT>RlaAF58WG`K}zDOX=+HnFJA=p@J{Lzu6w(BKDT4A41kUipwQ`Qphw9X?j4*o>N9DNYjlvqN!84kLiUzK0di$ zk@hL!XMm*&w?f<&Rr9&xZ;{;Wheqt57~e(%VCb~siJ2{*umx(q;ZAwVGja*6-3{EH%@hSYtH0jft5?O}2Tkk!|!7 ziJ@tQn*pG*XVKo12lbwVGSFN{izdx@JU!2Ajx9wQ4$_^hb8IQ{!52A#1o#3*p8SUB zCZx?lx@@G$4ddNAVUNS;+Couz4hW#=5olvkEcAx4rJ)0nUncUhp6MGu4kjKf+MM`< z>=CginU5adu`zjA{<*PC^lE{ORs4K#h~MA%Nj|^7A;!34eJ9fMaVuMj9h%e zKH7{neiY$d@vq==p!63PNqt4m@GOxTmoisy=ijJ3LPayudz61OA6^`V)aH(0XlV8Qn^EtxDr8o$St@$fbynUyMI7j&yT&dLlO? z45cZI{{wChx>3SUcg2^`=|bs=6#e`qx|aFlOne|GvJAKAZJ8HHs5LZ~W;%=2p2)30 z4PR%Firdv06jZTbrlIB;4nlR?ImRbw#`q-&khXJ-R1sr>3`Avhos$U_GSE`>_%3!* z&&R)6&kMz9Q;3N_p$uYP0L)@0ER)vr-Kc-6sZ;g5phLHC(#PpBIEKC{bd3c^2l9aIE&umN*FlZrw-Dk(-lF24G}PLu=4r8U32 zoC$vHt64@CzxqJtHYXF-PmJRg-(Uh{BI$3(M0m2J5{mY7rq%tyzFzS}ZbXfl{mft% zTBQ%VP}e$hayeA_z(l_4KgLJNl@M1lvUBXhx?{4tvr_a6ELIM3EVUF}44)6vT?O9? zQ@8jG7_zfsPztQ;xSSFzJ8L~B7Fcci`47BeFu(G{T7^7Lwg%^wVrW1~qBROj(nF(k z(*jx@LEFP;uw&S|4Q7ZnrDEzUY4S>cyU-3J9_}c|R;C~{%)F45&^K`y>@K~Pzq3LV z9`#&k&MoKa=N04vwd$46pP+NFdSrh$)_Nk3LnWfm6qx5^n+vlz2HQQ6yBWw;Us*X6 z??BA$cpk`g!srsN6H4Y|olt@`LZYX#=}y~yjSwG1tyb&JN3vd*2B zis8lLfUAW0S>}XttP#ePo1;*ysL-OXLHI(m#?4wko?=(HnR+x+r)uN~t@ET-vumuv zYH6leX~l~9J62(J3&x86$Qm8v3;(3lWmNdgF@B@MZ;lBV6#-9V2UAz1bRV`q3;J(F z0SXmmj<&f<85O0WGE{S+Ilk0*&ODV-Lgs4AH!d{T91}Dug6vrwSL|rD=y1Ut)la&% z;AStL`E~DT@#~?CRc-y73R~;T3L$BH1H&v|H>1KGx2|UNQGJvL}^{| z>Ynry*KfH{8(hET6m713di~vDUw=v8 zxEipRvK`LQ&J9F7iCazNm{Md4gJHraZ zY4M)uIMggw+l$-4O7|*VVTnJ29=xn@l~gR8;x$N#_?`-=_Y<>GBdO{rekf82z0p&; z(WFP$?p`tRx6nsa^ZfM~kfrQrJrNEH^I&`yh=Yq}ZJUnom&jweZTgKn-JbRPv1)5B zpD%%|YaIom2GnUZ{5qX~sClj)eR7hjEY+0?!N~DGa1>FFS)mOdI6@hsrKqPk|HS^^ z6TOr;|Ktp^n$N4zm1(=8O$&Y4>i-2Mm;5j;N&U=qrhNo#HZiOCu_iyeq;IIWr)KD_ zf1>1isNC3A{CenTVl1JKHbARK64GCzCx*SXYXXKl<%2Wz2X@|+FOMBRH#Dc{_#)Tw zQ)kbd*)S{QI)2vdP{Z++XPkZ9+|ZP%m!MJh_8J62jB&iZBd;LumCp}D#9|H5>C3qj z%f~vXM7Sx5^wf^@aXd=l8GyX1Y`lmIEebdcKhl2_9apK8Z#aIu$d7sIi*fv&q9Eyc zjR)Ov@>cw7x+-A2*VjUad^!$pS(a?1CEY}w2vE}zVpU^ZZK!~nKJpzhmXGCS9a82D z{PeZuScL0JN1*1X<2AI0e;1!m&4+Mr-r<7#nYd^*qYvfbfRvwQAwCK)--e%od)7JE zaEzY@7{pK0^BG1BemedJ+}Gi!!p2p618`Q}OA5aR_!b*}Kk#;RMjgKq_;NJ5#yK-@a%nMn@~QU9kv2EeSL{v%Xs)co~7{Rz?*^V@;u6TRFuZoF})3c7kCW@qmKUy z_)g%bD}MWHg#w)QeWU|F9(ZtnsS7AiDez|CC#&=q0AFFlL%??epRD4q1734L5~mO6 z3gDlq_y>XOi}^pvco_6vz&-QZ2)y+`oXe>2cO3LQTQ2_~oa?CK)6v%YBEJE^>um9d z178mOZnP8mAM2n$(SeV4;HNwA^Bj1c1HS}#%^^5X6#ba_&3DAN0_U06k3v?)$AH&i zvUot@zjDz326%QJ&MQSblKw&9K})+aQ$0 z>n}>mBOK$kaH1ZiXlS|FbLywh!U2ABCs&RgE}BkCCmLPI?;x_tC;CfIGH(`%D~>|d zH(WfYp~sP*^Z-ewpNv;5ChM`Hqe_3M89c*Li8B+~%$~|B(|NEW zGSp$|DN{oj6?i=(wPhHKzS&??XB-=#>+Ka3+xsTG6_rD_ z$yAiwYF;9U<|s-I8a0TefSQA@W*M3)W_^pJS(9oQ%vl?kp%lqnlT|H>oNREbQOR*R z=FN1>KQAd*hqIt35HS}1)4-hCnTyIij*ScWwa@!J)A2`~+H@fLBs7`AVY zj2}%1e$5IlSMU(5i5PwoAk&>n9O>>N^rM_Ae5VTUhc!<+7HuaI23@Yp6wE#t_!zuD zM_7*apMu9L_#*|!DtMNH*AZ5@T)!h6i}j1bvvPq~;=Er4%N3kPcm(!=gk>(*FBN>4 z@D!J8gM!-#k-jh1OoW38t6Z*9LgX_akmZdKM|tldJPq&oD7cFdB;~}UrikJvk6ajxt=8i@3#qu>CKH@x(MA z5b0_NgD%&_3N9c-`r8P{yIhYbxRVg{1z7tLUPTE0e;hX~GFE*G2{7D*j^? z@5b7Y^v#6G=K(_S`!nH4mpDv>xIYaz`dEk%ZJL!1hn0MkRBhN;by z=gw?y(r;r~=S<**tC8YJa`|86^Nkwi$Gci57Ww5t<==cx`MTpFA1-8rtH8C7IH^V; z;_p%Z+kCN1nAy!BJajzE+C2}q<9vlI*s8M;oCC9YZn&cgk5Bj&T)xnp9ae7^!N{oI zy}+|~K4`EKAaP!JbrtM%c_I-Li-eid$%oG_>4`v(wEUQOi0h6CuN-NmY!96j8_OgJ z%}pBfLdV3$7Rt~pX9`oh_8fI98BmAG#fn3~C_A zvFJMG@JXN`pk7sou0W>%K7ny}$pXN5JsUP&X<)w?chcmI)CV&!*p8+A`XPO&1zoEe zjunS7T1wy+5+obuEao9NvVM4=2x%FJil?MTj&5N2m>`}Gn&dNhW3BNNYseG5A2#^- zJNUyHB(DQl?=JFLF~wtzO~SKc*+zUAEZ*I~gBLt82^}1pP{pzumTaDgkBzj8kCVGR zH*~aQMj+w~XhJ+@y<0R7PVTsoIF8;&v!Z@B0gG%1)iT69U7hlt(7u_vZH=8hwX7&_tQg@rB77*|zY+Vn=;`zuQH>P3UmR+XxCe3^ z!Cd{`qFq7~)TS6KD(leCBhR!9nARrA7q?xtTCn0%?9!Av-x;6AI$wfsXOoZO!LMw~ zG8k(^{ZY0W(KJQ7;sJIIJ|vgVLXy5hR^{3hMQn_v9XiJZQGFPX^a<=Ky`=+CEG4aK zEi`Vv<(26072vaL;S)ut@@j8AAAtP|`JgVFFtiJqCp#bK0<>F`?g5O~y$|V{j4Uro zDLs6Ie}S*1zG!n1y@d+MBZVG(F$Sra3z1H$sIJg4P!0v_-wVH&7RoW*kAUK1og2bh zw(E+AE4{HvJQ;`DhD-raE(_zJnKUs}#Fw*~EhKi$I}91ugD$PTc-3WlVugJAT@cGz zOPN5F*#YGRC{>s>nvACmIIp}*xk27ZV%Pc|Mk1U@3+-oY0>4i8Vg}-4y)7T3e);ZS zeJtmGj2pfd*jUuAp8c6wKgIi<;f_LMKzNlK?|HtLfj0(kSc|5xNn7$%Xu9S zi{3V?U&j}UL;cL@O#681KyFz}A&NG~&xcyTc|}cVOTHhAL4yW$L%M8Kym@ff^$~E# zn7kqJ0?My_HAHs4&7#SvlA1ix7x6SXelEDNo02(vo6L!BlqFgNoq-(c_z=6bP4Ej< zn&-Gh4}wP(GnJXUyVg-<)Kljn9`x*FiiDa7WL<5Ng(q?n$j}4)>7K>oWETFvu=$l5 zt4j7fijMP!pa<;; zCP*}9tU3je;Z0m%SY%MotC$4Zr`>C$ri5h4ObaL8O zU8!zG*!hX>ZxFf#g-8{zCTC=V8VnR|Mw{_npSr|8I324PUEQ;o2iYO(M$`XG^BnpK zzGL=_oxv9k*nfQZNsl$CVH6q)5;?HC+X2mku~HH;HzAhwLD^BYq*VRPa{K{9kowRO zHN$LCKr)qGGBleEbH9OM=u~(SwcaGe5OalOE1HtMPV~5t7rvq>nJaz(YZ)y-<-mYs z3$*+bRe?&07vMvvycPO0ekd^drdDH83qqCEpz6vIT?_TVca+3CNtkaCEN2?jM)VJ0 zjmZ(id^P&3p`LBqAZkV`NQB{Dxl@Y!LOs;sD(Z<0VSDs7Tjk2g6X7_BovT+Wd=Dav znX}`qLnEP+dLr+mT;VHl+R{M0A{&4LIR}YI0)m3rSS~JQLN<}596gbXAuIBd!w-|g zF~mX3WFjLuFqpZ$=SCJGKhRA?r#}|3&^!p#*%XUwfJ!$22h>DBEW%Xdo{n~%#A%5~ zBieHncrsV60<*{!xpHxqPcAm8qon7%#QBiIs%rc40*Uj{P~G45;&gj%VSK%97=aJ0 z5ONNgA))(sgtkGX^Ge(Wy?R;}-A-=<3wtZE!XYbOiw)(+&UGu%c?LkTwb)V>vNujb z%^hd<4R_`u5f5DB!dQEM>NSohaxkdX{6iU#hbumiVVEyv6NyU4&;**SFZK;Jq&$(0 zRN#U>pV{>lEyc`as!6&tsRS)I#&1W8Hqj?_!7(eWHCB6~Ud{+SBut!#C%cH~i)<&+ zOOpEG0+7XDMgqBh1}mYq0ImAgN~^c}jt>G46GtgTcZCj<-O4Sxm2LI=ryYZJ+N z+Cpb82d9zj>Cwk2&C{UO^Bu>x9MAfl!-;B~*FZy6nU@67qYf1dk)FCz8xq@AkS#CC z4bMwxAylZSJR3w0wg&mCP=T$3^Zll5!HYvvtw>RZ0!+|wlm}&j<`dn4vKM$FGtmJs zfr>mB5}$;CHr&w}h3{--Ir*Wptu!wP$_>comf!c(7Uin%PjmEr>@zMSe_14JAHtp) z{}(DXS)cmcz&g|;ebnnAP7PYG3H2$?4W#C?>&)}epApAJzTi$h%1>IsaR)2a=!cL5 z@1^WAMb9)_)fT|dI`Kq4fvQ3|yddhO#_eYdO3!rEBog~nX2vQ{B!}6Z9;8oDRyQqC<0cx^5Ui8Udp zxv;XjrS`eL0U3*?iJQ1HD@5KIs9%}4n?l(-{6~~?o=kzBS&bU5;p~K|eIid@RQkeE zvBHRw`1`cBScTN)EJ_Gnh20Jtar8J@8c%e82rWG75tpw!ABvBe2LJh?YcSlrhFb13 zB;EpH5$KCmvI}aSqNb1yd7}s32U5PeSSos{nE0|-Le?jQ0F|GylmcN$;fXHcprykV z%8P2`ux58j-M6*Jcd;9id$>~$0l49_ud!&HfWVo}SwJbVbOR?#46a2uU?_yB1wqL- z3Ba!)ekyMC`X6gMwgjm;%*Z^M3Je2Ea_opa(Z{GLAE8{bzQsaOrK4=3w4(QTB5fd3 z${0CtD=oRB1XSco`Wc{#|CZ`><l%C@Lx{DrUs27%*WL6f+8_Bjz=(Ijvz0n6qNUoYovMtjc1}+5h`ichB?;qwD>? z-*@kQp8Kzd;q<9Gb?Vfq*r!56e5o@qLCT=`;aO^7pu@BAP4ZwwTe*3`m$L)aR7MQ( z$SLcIH`y`H1~biy z!wTw42GAah-INZeLVPokT8K=Vg`|^d=402@5J`ZFXVi_11tVhybg?&4e`FdXM?qtj zQS6yEr{jx@6@}+TB55_v~Bd3jsOxF>S ztfuWmI<{nV2o_T(QHOM~&(H`cj?Br}=R(b*Crr5j0;$GgVuSN-(C2quTw(Z1a~4q( zBt^*?WWOZog0dN9j+IiP?n(YbeYGX)lMq~PzdZYfJ<_O=E@-F99%?&iL>``Sb87wk zamOQ_l{pBl)21_SF^6);9Hlv%GYB4vq$*g!x$RngxWRZAk!63-9TC_ci1C>vq4Wpr zz<51ee0sjoSab!W_|+YOH0c2yA{jdZw#usUjpRnoo!W6Lnc6H- zoi9YRGc|eEF3Tog)J_cidNz7R0xOgMAGLGV3Qo|;nAJ=%k9e_9X8*Gcb;e6nW$E>U z-H)pNM8qJ>3pDhXs=UHN)!N#yeS(HrVM=CoojsS**i|`H1}hQFJ=%f+Dx%a_gdUib zG$`O)f-d%r)Lx(iMQl{lwJCrxVZQPm(%J4cTFL*m9p!$}sW+Fi(vHfj~K zQ6z&g4#E1Q8vddjlvYSpDVo&9HkT;%pk&`CI!<(&h%7oZbxul2q&^_!)lLo=X{5s* z>;_Ep_*ffBM&?-X0KFI{4JrX|vq@t92^vMcF-dkpFR0>DG3#P?NDWug9sDt^pbAMQ zw?G_RlW6qdWE`znlu{9hg6gkgL&2e5ja(FZ(y0ZjMOvwL@zMh^J_y!kH4FzAB%Uk? zW4GmgCPeiq@A%c+Ji2|n`JV^PZnT@)`fo@34U@m4ZUb_61e_ z*+%M2U`T#3PkLb>3B^DX1=22PKf{qBc0O(6=etBB5zM{2<0Ye??>F#u(Zw!B8$}e} z=&i^Y7eYTaCY4`L_`&WQcLUN&O9dspz5<&ixY6T*QRg2A5scJ!%bjP|H;3pTSX|+Er>lh$==e3aN}>?9SXc zPU0;oqAa-3N-Xv4f(s_l)Q8eP22hMHR1@l#QdN~Aj>pUehdG&hSA(p4JaY!adzV5* z2aXySbGVmuS1KFZa8yWqAHWKYG~+=!;K2zMmm&M5UdEZqwy4PDN4~7s5>F$&C|X50 zw4+0a=&FkwfQ}@E7tISj)MjsET@Sk0BBYXZ!6Ul7O&-*W8B`uCsEgPS(jeysYBCd) zZ0Mj?lhHgWGvox%#E`W~t=!m^piEf@QH4G3-}nwO@#UTMM!sTOgBjmODIgWmnab9in82d zj!JVB@pftI_76!zAoWG-hD4*%=Q4G;I!QYUY2q_XqGKfyw{4g*VOIHqCF!U~b>&m# zS17QIiA-IWMD|Up5u`RI0a+nf;A~DpCk9o4Uzf%~x0on9&B)A#gYg=CGesA-T3@VP>$gvPPvQaa>7`9DwNLwcPDnzTm>UNyFyPytbdweOKj1G&~k`zGGKhC|o@+H5E%qzz`@|>r>9a z!!+MBBpD7-gSxn}?4gg~AKHn(8`k_Hr+6HX8S10a%{Y)c7WO7N2}hKLF_{ZWGJ_B? zb+$ZF{@MPOm_x?O4tY(RPsH84;w~-Kp0)p_{VKn_Uq%#!*`^s`?=!^@G|0`7+kliu zv#oIw3$ZH>EkN3Oqh9~P`mU(o{;1z#^@nx)J}3=V=A-hZIAYc*)nHJe)>~WAjc`@3 z5ncnwNg5r9{BrGO&Cg6@;oTB&8LiaDFFm zRx}vfnq+V{8bd|jsT2=|3Pr?}bc`*^Q^+UX`Op@gKwV>wN<9iYX6nk+>&Bi&1ttk} z$*WAHS}t|a#tO^!v_hg2mo{MTpn&sh%m`fe6syBi3frJioYelXzcmJ3cVLXXlT}?m(d(jS(vBa1DXgfW zN^ObxV56Iy42i@?xpb2+@zIt8XY2_)N~@BI=%!KAgd_?S8+}}LvBN<%sSaN*I3B5# z91(`@&a^939;lJ4mO|m|z0xQ%!h>5gr2bVGJB_lys3z!PUBSFyQVUMt#SRT!+(d*= z6>FR>MyY7DcZu*f3x6w9PK#?FG3KrCV5 z&i_fX#WJH9x%eL82&IUO3gsa;E~Ku*8fwgGL>@uNX%7b`>}L^Mp2T|rvQG(xRY*10 zNiS7#H=!Pc8%$xsK5ZCBW2or2QfRsFYPtSehE>QJT#S3RJ0rqR9H;8)^T9tM{ofx{ zr)JGcdRJTlP*U$z)~l?y-qYQ~)4jZV1-)z2urB(*juDc78LyHWP1%7%dPj8Z1Q;O4ca|a#e!|?{;$d73% zj$!=Olp%Xby2YSl9aNlNey9eh&PVd7Nm0_goq7VTpbc9MC7enQGw7AAiK_0P688 zF5?{l6-OHGd1{QGJAR}e1E@HLPr@%6zwY=k{0~6IF?>CKFYt@PkKsvxypyk#jHd!B zj`Z*GTa0ji|A_S5@S!+{b90yCi2DKeM?po(^sNCCQJyF+5r3Eky@5E&(L)Yj1Kb~Y zL;RTDNelX`7C6m%ieviEEbvbjxLB!>BaohVDJqV5K?~dsIM2sjMV=^63ybi+!24yv zT_H$^;RcKFbr$$};E6Z~H%aDq-y-}U;JgEX-+v-MF%-!HQofw>t^qb2v3dk6r`2_vjkoVeZLK2O6m& ztuU4@TmXwmer(V@Ro=c}#$0A)PQ~vP8r5NTVS{J{U@$1r<`|7q!rwv(%zx67wJ_SBNYsw1DOW zQrsT~bWVGx1LTy7Sd>X*FX>P|eC66;A-|LWtEYVb1M?Z#8(*=H7-*H0dXlc`040$= zVck0NCJVXTr1Ye@s}|$oJap~+rs75!CdrV;S?FI_hE-%Zi7=qI!z(hp zFGJtl2!|ZC2*GP9A<{oei1eECo&vyOgvk3+LWCDW9pyRrnuNe75kk(JvOi6K#9PZS zo)CF_NC^5Y`2oS#SB8USxQr0-UJ-&WFY-V-4?@Vij}ZC1Aj1sE8}pf!5WfO4EGfeZ zGUUAm3~wOARx*qsM7|cv@URT;$S@0ZLwPF6usb1s;+_L<-1{cu8njjFZwMjeT#dHM z{N5#m{29K<2pnFKz06&x^+kas~$X!DN2>FH+LcTKT0MQm2B8>NC`0D{HqMQi5HJUZD zo^Q#}k#ay@2gKI~NH!R4b?Mzji#CI*q|u_!L9^6o>*Jk~5Qv_zF8T+;TD&a+5W+xA zjkcO(tI(p&qN!@M=-W`GG+OjQs4^OD73p0|i#`TPYP6M*Z$i|amV^~Fnzn@H@t#WP z0euo?l58AWB+`pGbl#5;d5Iu|aIu70aNiE0qjX|zi=mTZb1l7tVV#gCQirz(s-bXcsymuz_6Raulg6ww5#ZeXL`)GP%;=h5C)?l(8M91>OKnWykG*-8V|ye-L%U`QuVi1 zj<#S2f4jYes&=C!mHHd@XJK*4uy8RbJZ>0fG0Q?wsq(bM`WN!SHN#+4F7fE5i)+TU zBB4M%)mgmS@JlTr|oO#22DL9pnTgf9fd&FAV74@RRSklV9#9}SNXa9dK$ zVlXi)LE%Hz@iA#iQ1~zmH9~coFQSdHCKOXjRIrJt5kG4&$<4MXMR=vH91vJAkHEnP z<5fCRe<0tdV-)q7q6Lq{B%`p1#jiY}{VV$gjP#}oXr%sW*3{b{ptk=heo8eo*M@)?b{lC$PISy!T7zxfF{N_uK;=f*gb_dKLKNIA}eCP!r z=x_8y= zDrMO$tcubF_da(K`_BL7Z;b-Jy%_MG?ti{@uN;+k2L3J0cHEs%- zQ7pxSH`J;%A?5ieOISZ9P)TKVEkKHC9;Ax%!!>{(2K;E%PD)5+^0%syv?~kdWU8eL zYXRo@kQZI0I6u*zOpta}R0?3Bs~11b6K3eIulF$jzfNsR-^%inxfl{D+5anP+GQ>- zjG43RAuYXGc>ZjmTD=Nr9xd&{o_ev;oK|GRd@U9u2If)n+{#9_E!n`*k_>-BehbY8 z9cfEK;7eqj`%#E@$M`_FnlOh(bA%8!Esi6!<$WN89ZrjWop-!uA%sn=3?caPTNkv| zH77*;#f0E@n-G)P53;`#`epJhNeCNPI3eiA5yG~(fDn`91VW^HicpWW48p=1jWfnb z($|(@Cql%VCF7e2!T%;<3D`oJf7sA`DL>>KLjR(;3z)E&Y%44-+X`J|TVWB|RtTFX zvMOwS5LKhaBnzTwv>2p8Dr|O~cWE)Xb|b_;cfvBVtq?Y8AL8X?TOk7diNgjMKnR;= zAR%mnEeXA3TVVx_CX~3hY%7G#vpaDx>qQ9Lbw5Jb8Y2iR%eF$;HpdgkBzYJNLL~1MVIc|v!*f{YK z(L5eEV8SlY0K3%dN}G#Uf;HazrH`P=HWb)d+8A$ibyIETwQ5a?bM0ahxqn&QV>5jf#W7uI5(OiNbcGCT0Ky1?D%mK~j->Q+LXyT$sqDv$e1!y1_EUZxZ8d3GaInpPe@8 zBb2s2oKaA2!lO2z2cDDI4z7yPLV+fGQ$$Tk={&7xG(<4^hiCF5J>5+NV2Cw3 zhVfTRhDtyNc|1~Z($J-`A%U*B6eRvDbc9MC7~pR&&1*2d`l$^m85x+XC=Ij|BeOz!2-{&s+^?vvcQ{K;QXYt;z)04L)vH&e#!!WYJsP>=yNRha$D}z=3Z>Y zG5w7e_)QD^nFTI71epQj=Tx;Z;+__GkOkh}0=Kj&nI^|+ZA6?iTiA$%m)X{1c?Yu5 zI%2+^RkoX`cJit?C_9s-PkC`yvIvw60%q+yC*fL5p zj>rH^O!PN@pZq~0+`x;7mV7-uy@Xjv;V0v1$SQc7lS#NGS$Q9GZZd93R>9N5j2m$| z6DmCk(~z~i{V?E%78#YqB6~%7#vB!B+N-nv+RJ3@d_50agW< zf_@^nOz{6(cT^`1{x7obNOK6eJ7j{uYd`Jc)x#12s=kO#t7nn5Ta8|Bm`YL z^xX_^KnOcQb3&}ybtTM!bsR$2O`-v{u)8cK4tvj9!ra*ZLkK?C2x0g6n-KJ`0kyFE z2)hvY^IMg)_XxWX!g-#DdzplN2=)|VAA)~p`onJ1oAej}hY-Sl9R2l3k2vy?N?1g; z(-gI^(-f2KG=*h54JLNNP6K-mSctt;E`+Y~o-WvJ+=!Qw?KGIsin%I0edv!#rI>5N zZsSiJcAEe~ciB$kA=_zSw`og%*lj`y!K4de1=&smyG<|Ru-o(_1oH?&*ll77F%KV4 zh>P~j952RJM1ZtZxJxQ zZyF9oa9@`nUV-sS%o{+IJEM3L2seyy1B`K7OlHGXZnZij*#i(s`B?ZPzNgCH@WH#h zbdv`@3jmu&0BjrLMi1!~Rh_gR{DTlI-A>NU9gxBJHl7&aY`6;Jh6|igDj^8BQ)^K4=GJQ%RL5$tlsxFZpSu`2FWn=;8+Pm7Q<8|D)%K z|7X5eZn3U4VLqJjBd+E* z2LYGir#OY5f-6w%|6h5pQ}__tYS8Jc9QOvG+YpX@5Z@cnJsKV5W?!Z_;+F4i?UX=3 zhWE!W6u;Z}kstde#W8%If&dcVWPu;Gz?Du-e3Dc8TqP#G#xIacpJnA2N-a+O;S7?I z+VrhTWFE+{DoZj zNi!x1muwO?XcQQhG&ZOll?hQ8A%qx{qX`j6{V{wEA;!exgy@r=5Q6R_Arz@aMIoM^ z5b?4QBAz=T;$dvSYk_HSFpdqr*1wPE>si553=O|9HuS<6PN$3wnM8|~{P&=AFCoSuryw7 zVm6j=e;{wGa>pt_If>Y5nH1lQ51F7l{%(?Hq+`rs7w*E_269dOKquUBRRNcbW3MXj zDUzjzT^ARiF*aMf7z9WYc?S^`n=eKV5^zc(jS>(?@Rl~UZoxFexIfvNyb}=&2LAE>Iu~|1`D?j3lvkkI#yr=?i>XE7kMFOZ{|*ay zpy3LF0+4@R*Zcwu@Z~E%-Pl0z@<<$SSJiM5YY4m>%m?Uk?5v{>d5>dB-i8$u= z#UA7l2OuzeEVE(=kZ`*xgmxlaWG>YM=_wJ+uOs?V6x0-tcT(NpC+6B>c4BsuB)-c9 zjh&Jc1Ym;Hhlm3$LroKaq6dX;e3Ha4m%15pygPs^b+V#j$MG9RCnK^VJg{_I7q7y{ zgeq!Zt&GywP09xnd{`+!H;KgW4k4BU9!g%TjQmGr!BS5~Jh|iZ7O>mvwsD8=hC?a4 zfK(pt5~Le<15Zra;FH4p;H|EWRj1r&2$l*<`D$7V;P>E0Kba58_*j<&f*CGb2==(_ zA(-!yNZ?R8V?=-KmI;_=x%62ViK zx<+pAIbtejj9h?9>6@sS>}`Z;jHuO=oBh}nw;4*7fSTIgKNyZ4cxVG=LGW_egE)YY5(3I=QS>J-l|RUNGN6m7S6Gx0ak*#BNP{&@5QI*$ zn@L^&2>>^73-nj;TMd%sg&i&2%JKAhs$Bn8^ojA zipXs^Dec!jWa>9<(XT%TCx3+#R#RPhMQ|dnQc9KTO^hWy76&B_V0D`7j>Du&IfIQU z2bfhz)FDx&@KK9#q?{<#eyJ^>Gc`&BJ-Vcn1&Lf=(Oa=vZe}|~L)Csorxut5)nboi zY-v;`bcbFZ?>wGDrD9?SH8jSv3n|c#4o}&Khp9;aFkrl$r;^DkXHnC4>*2WzTr`8r zR4Ih|xY=n_y1_-Nltu!Z9X8nw&K2{a)@Hj+wu7_8e8`dK20mzKxXyPssLPM?ptJEZ zkx6Po7xM}Hn22ti_#VYXk$^$&%u_0&PeRt%h%pX1#``RUaBF3tz)GMw|c@IJz&AEHDd2CgjE`o7TBeu2-D@JmB4QW_vN1omQ}2X7PWrH}#! z&==6GfdlVO|CDSLl&`V8G8msvWOu}=H3pFYe$6&LbPRc-l44yZG6Eb&!!GRgzlDOs54Skhi4!^Em8pGf(GCQefY8BV~T*m4KlTj588_kaK{c791AR& zt>zLCj~l54aoz>NQrIEZFG1mZRX3LVf8;8I3L{q%L;A?GNWo1E@-Cpzq=e(zREVCY zGvm7vv&7Df9hbGS3E{zH0vIYoe;IZmOvxfK7XyJ91dt(7Pna3RGOHgcpU{Xfr@{Cf zs2ihY1E4~riV{#cf}g|KDk(aRv;h)7Nm{G2ri{TY>_QDlS7aR}BaMRCz8i~f}i&;v1btm0eUc`j(Aj4O9N1%=H99Ss4Wp_ zPf@5@0k*tb9<$Mu6-b!L7_unU_<(L)0VuXKWI*Owvr!`WQj<2xZWR!gi9>l+WyWXh zlu5YUyXDozI#VKN1RxOyr0)tSbwlyFFjvQ&?cA$kY%-{oqQ!75^~;U%2EAU;ppl5! zPm9R5u#CaSO*gIyi(Hb*kUpg|Fnppk3KP4TQeR`W)Kex%MJ9#_h%bsZWyKF_b#(}q z@)yS`=n(p1zvpF8I$d723>H??fq$BT-7K=Rs_KB)So%yd^+4LDh#4@40K60Mt7Vt* z;lJT7Zm8vfx|rwi$CH~bhC^Ju-DV`jUdJxpZX^1CxkT6xh;9>|V2s~Jt#0giQcHCj z+HEV(;SkX=-fj~j@^Vi{7vR#CA4~%xIS10DR+h;*+<+97$O*)laP0UZ%Ghp)NL?P( zjp;{tqq!ogAL8sHBYfT0aNw_dzE=jUk2$JMDa!&yuTSoh_?uGv;AeP-md*PbrNVmr z4rCLhvF;h@X(V-36vj`pBIgi?rwrwOEaDI};v$m7aO7gR3|?+XpB*IoR@56;jcz<` zTO3f>TY>>T0Bd*~zeP+?Qp1rDH@CS~&M{|T8?bYax0|cm=jVj&VL^ruhEE3`7kYmk zI1IKKLb zFBQrqh8RKwIR+1dvbc;zg%<;+JJ*8Fg60L9WXb?2Wh&pN@D7h+ie}FCxWocLMn|H6 z!WuKFb^ucG18V0FZ)1z#Rl1@c=wf;A7s-1_(d+>Der2?2p!Yw7FRa7g;GX1f=fGfp z{s(X*b&|i-5BTShJae;xqj+U~vha1WG@`_@&k)^@E_OXqHTX$13Y2C5UWkqsE@{We zMHkEOW5hSNW3PFaB=YPVEdBMA0>c4kv0_p?xKI^6CK7or#N7K3bI?g3C~bdu988CY zAk-xPm_+*nk8L4dAhYiWdfkR|coZ5?CMOtgj7q}qC8Wi@8Q5U@ZK`8WDge)O2%6-v{ERtHxK!FOVd!BZ3%!rYlM zpci3kVR^3|JOqJw4=^K9U*L>7?St1LzBc(7Gj=1Qylg<5C~xGQ4d*)8U9FXj8|NM0yM_klz$}(oAAyS4eTN=Lka#TV-b>o(R7IR#&+YER8w@k zhMGB0_#8Bt>1ZjFj0s^H0WXcN)>XWXqH?9Y!fX#*`H3-irIMhP zn@N&@7@#o=Hx(_u4$5#B>uwmg=!YgM)+aec z7n5;}ZNlAD@uG(q>Hsa*V}C@)#z+31_|cIL%UedrF#f8^ko0s9L1%5PgWF9yJ%S@1&Y4qQZ}1YNz)9 zudLf*DNhrP-%|W+AaxNyw%#!^j_o2EfBY)RIDpY{UAHE%M9}xJk>VQz@xU|RYR7fq z#VYCH4%>w6pvEoR-RY3rWAF#mBTHrS<@DvODy#<~QdE=h(Mp*0Q zI&)Uwieq~G0Jh?YSFphO-C4ykyp09k-2xwIfe*F7E%)cnvn@FS zJTS`$kr81X1~;r;o9qZXbniGQjO>&^E;@7ly;jQ(0o8-6i#u1v1^4n5uDrOkS6|#) z3L5D?Pn8Ib8rN#rtXYtds?WeMvnybY^vc;|<8_v4E{DZQN!)YETP&r;`AB71UJ;rb zW{s=)V!LR!us&e}I!5#rw*Z^=;3_h5#b13w)hG;)UK$bkw6k(-xp!Fa&bSBI7%VoD z8ZooGQq{Mpnjg+I(wh#93cdeCuiHaGD*zU@Gl-;C|A+1G!)OX(NM*9Ns zAV9|F+A`x$An&jvY@VG&HaP}U5eLkRy1grLg}9z0uHPlkO6k-xcsESDuROpxIY zh8M$`AL5Yn0ddG#1UhAT)+Q{j(KIA1fxVT4u9$=qLQmHL8Sg1^#486sai*9M`PxKS z607TkD6d<9q<>2sdCP@3EWcueNZVJ&#l52NpFkXZl4Sp@GF`F^UlLN^sJl$Jh78*i zLO*{JLN7;TJSTWjU!jEfZIt0F8P>*rTk3ZVAoVpthSOy@o8hH!W`q!YU&zo2x+3l- z!$28!kzuq93(Da$W+sVoruepmMJd z0r^kupG@-&mjCutUFsVlq9V0Fo>3%5hbk`|ij&=-##Tbbeqs4h0CY{lq57Kbi42ha z6`;`ZU7Gyd)0tnY%d5|G#=uoYVvJod;Ek4Ljp(9l1k8_b|_@TM{ zbWh}B(4k8)I)$InLw->E|NGopEeYjUv@0=7dq0w$@jZnxITz#PhLsz85V4Q1SKp3Z zI$%u1hkJVT=_YQ^76&wxy07f4^KrLc^F2Mi<*jx9zUw+dRp?13mB^P%SMnh4X?z6wK{%Ypm09*MBb#7`9T21gq_@%6?KWMdbT=-_)b^1%+$ z%Qsav_eg9J;_(jFVyuz6^ou(_Dr-s(r~ymW;H-;ni>hTfc;KF0{O@GwdlDAPF|2O! z9A`8z>_{IuhVct4{JPi}D4TEOVl~@6zNuY&lmqM$q~#iXz@%U&CqRBtTxH)zT-bqE zLGj3*SPT~Qput+6(G9)+@w1 zj%;Y*wiI4CNwtd4Bz|w48z!|levE~t6ea^mB?`MIJ%HP7AXJ%uQrJT(5j<#mGDcwy zv=#+^{s^MQPu>ZJ{0A!HQc$tY1<;@vN1-VcJ&mKZ2TDdd)#Z>VL@!}HRT)&xY`oGI z9LD!k;^Wz0@Py%8Nr%b{MLiHECD}wBbGWVHg)qU2ooPZb<~!Yfl21{gna}TXPL;d^ z`cVfdnYo;U`ZU^y$Gmm13HT4(6>9K;Sd@xh8t@%vKv6n(X7^$kVdcxeMJ!cldUl*H?X&t0oa+L|BxenC?Ui{iM z#Z*=Xb+J3a69GZ2?h0@12MVR)n-oz9d32AjAr|QbA7l1(ahX-M3M~G$PNi&6**z_n z->XY`OjCEkSQHST8}*RV6xjqKm9be}{$cg6C|NySkpZc^lqN+hqFjB^O&rz5H3svP zC9tmks2+`$#avIQZel~EG-wdy?GbVd7J8HI)e&W|Bp0B;sxJ6Lt=#_M!y-bhDR~Zs zqZp!faZ`U_-~C|@ndV8U zykOa>N1u)ZhN$bEwel}7>A;NG3Qucf8lzsVG4{45h1L3RmD0%DLa)|{t;p+ZEp;PL zEAo1lw-&>iyh@Rosm!Dcb9p^|tgto8VNUDiF4YAy#y_B~P|-@cS*c$h*7RkKuA$DJf)!m`Nw>WBujRwbS_82* zBv`2q8f$dcIvOi<*1B&Kzk$k7WVNf+WXw>vakH?_s0+TwS z!Wb%llBSn2O`rd8noRdcE)jEDf4;xS?f~#a8RyLBAj4s~qYK9G5b$Ibei(SP{8~R8 z;YWb$VS%F~ew6ewz8rWG@WoGrs_- zf#r#gw*p?kZ?TNiV*3|xe^{L8Xt})zJXyx0fpeR}Vp!woi1X`Fp|BFttpa|9@oAct z@vFe~u&&YZh7g`W*TCvV$9+fFiOVJk;x~xH`bNjqrklV+^#T?6E#QfTC7kcZyx}mq zs0rtZ_t0VzJ|5xgfa{B!aPDnNR^c0fFQ$11E&=phk@R4kG>IsK>x{dKmOQ{jeiZP%#LG$e zV&MCL>pdj=81VhTLp>$@1@Jq-6U$3@ZnTqR;Og?e%WzfwxySg$Bzo%WK5&0P#XSI? ztZGlZIly1MssMujL*R)r-W~WO;OhGDnDnapkiu}9zu=~V{wZ+1w}kHi{tS4cjJwI{ zN}-_AtA#1a9}m8mvugg|8^*aLF0GnH_dZf1#~b8&XKh%= zBTR};oxV_0i55$;8q;s)oY+3oMY9y+JC-;Yl0#RT^5|1KDOq%)3x7@FI%zB?bm%~_L=Q{C*y{zJFc`Ez9gOgTzx5Z zQ~K;uME48nN#Cm9!Cy2;56h-m8&ju{oJ0l|I4}1`=;@R zd1V}3Lx-<$Ycuw2>tnucHl$`xEVFd_t*1j{!08*)k6e~H-&CI^a_^!@WDXVmP(Gm_ zqjcG>zVPz+^04ywH{hq1=lf;bJaf)(-u-QVt5fs#e_VgJ{j)F2qR*AgbJH!X7^?-kgZPR)h8dQ4LKmE7p4u|RoR0G3N`0dlU3`n1S>oRkR z%rVMG$4rPv#8W%G8Lu5ED1POiy{2-IkK6sBOQtW^E*#|U{pRhh1|xTCew+BQg2$Ab zPs0z68QUyZ`9m-K8mYbvtlja+`OcrepK#u`Ic*w>{uKF~nw@^&mgDlQhl9q2IKF`A-(xHk9bK4V0yo5!=+6>U;+=#kH!vaYDAH^)AfSpV0F$RaJ$%B=RW zlz->Exe0SO7fmjaVY!ltCYGW~I%h^yj-LHATkd-O^|@7Q{GTmK)V1r{p!HkZ@w+rl zZzgz^tdw^QpgF_ypt0Yn$A=$HvX=DD>$M!~}mst{9q^vKVFv2E!`x~zUE6#8H zC%M;%dF9IWo*&}6GPZi>b2;~o_3|IHX8g7GPs$NkJ>#WZhxJm$j2en zTK!exLCC**|5T)(1*X$1snw=@gBNq}xPNh7(qnnIln4DHSL;TGW!biUd0Wj$hec0E z?eeNI=EUdA@9*b%pO~<>)x8t-Z#3`SQGN41MZEd=!jq1%Ctj@XKWNd$_on`fQv%Ar zx4&1NxtEf@+^n^A(XyR?PU$%#{)mzX1*#4W{ z(a%9e?mRqQGjefj`#N0$E{&cWry1#G}}?Kxl!hf>$O&|Mz?YPkZVq0 zrR#%>FFPF8Zu#dgS+Y8;`kHG?;2&|pdFIzSH|4X_#T|+;GW@n{{mq9P0vA`_f1&-v zbKcdfTMDGKZ+AI=%PLIoxh&7pp#?OCp4|p6A2amy+JP24Em2Ws3SY}WE4U^7m(3pK zR^F@n=)s)H>B8@SD3d35f%$#Djjo=}HiyHM#@WZUJ{saXX+qia3rfWud-~UtQqR|n zJ5gj`e7cI0HzpN)tzQ?>r$FUS@hj)eY4yH(@|fUKKFw`jwcFpkWUorW?R^Fe%DCM- z*X??>CGc6^=5EgUddC*S zw8<|s+zrX&+vLf}--bCiP25{~<9_=J1MiHl;^y`8d96Yh!y8w_t6JRT^xN(1Qcf?d zda`TLnOkbi?=spqUA3)+Ke%oP4R26o*OL0}2S0z*%Jo};10|MzUv;~D;N}ByJ!{PS zIC7-N!N2!*)#mms*)!_*%87PuCv@22HX`4(Id22%wwM>tJ=cc4xk^;+>Nfk?fVu78 z6!$;Uc&E17I{S_l{Q8YuI^dxH_Ch73V5% zJ-)**zs~yIeYY2!=F>%flT>Q6see<(5BFN@`yQ)NuFKOFGhP20t^en4;aQg~%0=CW zse=^%FI@_!%k%gA=tsJhDSr-daj*Mr$L%KvYVX{bd(x^b3GP$h4d1U%t+`~p=FRtv zU&nlR%4VOZ^vv(au19rt%K9|i<@BY29|tcfI3$o)3>e+q+aJ7hgdg9y<$|mHHX-Ff zseg+69;?gVvsrXL^VEDwhb@#V1DM# zU6%hn$I-XaQs?g1nmt>(>(Sl1Q8ixO9^B(>%5g*DfOS3k2HMsOi#T7P$F?U!yOrKi z%Av}uR|&BrQu=MWol}*-w+G*ojCKs8KdzQ~?U6IZME0(Wc_vW^qy^npIJ>kTlz|}Pq)Cmmjbk5^gwHh(Qv(V-ta^Nkp#VkA9B3l`GzPeZ?iYkO6` z`O;AR+~wfuIU-N=Uwxz8rV#}y4(S+oaE4n(-KSZ8H&>1Bb*lW1E~TG-On2z7mMyAO zEAe@6Wxt(kHjGGp{2(P`yY+qigHJTew77Qg=I*)A6bbkJa&nl>%k>uNE^Pn%qIOgJ ze?H%|`1q*{WD82#{5{^Hb+*gU%=Sd(=(%%BCoekr`$K07PT#+O|MmQJ9Q9{+&lbIQ zf4h`N|@9z(1w^DCIX|V1)COZ(jYkWsDm%cFBy$zxFQ`({*G@xKZN&ujj8=i*%n# zxpxiT_~xYT<&}+>ITq8}T%0p5*R@?a|Lk40Tle*obMKyh_N=DujNg|Yy%yN)+{4h_ zAA&a?Z`>iJwX^+0!xUe~^m__4FTJiv-^zW@K8Wu#I(F`c-1ndMdM!yJ#G!<<+oe|D z{71Usel-i%ZW`9aGJkq_uznt1;O#K>k=<`SyGGs3zM%N_(The-B@a0mKynga(|`Cf zy3v_JzJF*}0?vl`v6aqnB+QS&B0O073sx6rxtner{dJ=&i+ zxy`?O#r;iiLQu$OoZIht_-WnBTnl4g?>uqvOXp(7yc&g5J@89Yv_H_q2UCT{=~2-? zjjv}R-}X;AS(hK-FgY8o#(jJ-$3Gq=ed{v+aZCMs&EtI!{<>G(J|K5|a!OKB&4Pg) z`&M}KXAb)-6*?WzX;!$pml)FWS?qa__J8FbtLW(3sV5VB|L%*gWLu`6_&MhwhtS(E zpS@Auui9Cr-+gZG8&5{I&V2b!;+p13nwcr9pUf*c?Bag!lT#$;mlpT3dree9iryB%-ZmqDgCU-A=5Fw-p^_C*ScNT3va13 z`<`rWRdk@uY`-L5hLzzVg#)TjdHsE2v3@&jawUd1jj!K%=h38+&QTx#s;(Km>tmri zbIKpq&Ci{^X6Kl>_7nSzTsBctXyCEz_476Sc(<`)ld|zBId1%84)gt9P(Jm@91HCc7QQd)7V@(qiqvp!-v_QwmSF4Y_&s z)yKvj>%z(uotbZQ*H!5QU-TY3#D9f%?}f$NrKGy(6#2A0f|r)Jo40z3xm*fH`RMq5 zPyJcQ!XR4-~w&wY&Ml*xI$GYwvf3Nn1 zs8aXrvv(|W`sS95f6fTMUh>4W_mw`j+;Gjd$Lv|N|Ey^kYzXOQ2pJVMG-}Wv!J3-w zZ`63cVbh!iO}>4(e=NiJH-$dL*qVBPz%|p6_9P^e4VPTPcpWV!K03Boc7$^tbLkTL~Av< z;-;hyoin>hkGuWf5Az>)JHv!ytFzu2rqz7?TzCJ&L#r08UAJav!8Ut_A2|5;RgXI3 zb7qWBuP=0Oa*R7jWJb0$+ zA5X`2%abY7;i{*5%pPphZ=UA(?uCXD7cU1@99e2pT+cSn_n&WnSD>czdd;}%Du@kv-9#i z2gBcH3|i3V`MQq9wKtlLc=9;U_V>Ext-BpAvFh}^mlIOwg(M$v3iFTEW2=N+>!3q&a&=8t)cxU}fSsPO7lvMj0ZRbRjKhTXizTrx}JelgEl zP1i0XZ}%$iHfmyqqPtrbu3WydKIKe}(ciLm7%^q)I?bo!cTTR2$-cX=@5|kh9iE5n z@hueZ{ozCE!2VyG$7?k`9hT>@t&l$I?>N_e`zK_2{-N8-6W;y%j?{i|YHFeE>?skC z%1!7|#I`_j+q2166oHlgM=8H(B|zhEd@?>*ur&Jr%7eD#;%%$Ot&T|ZS={JFrJWn!)WH;>`8#2o)GW7>4Kg{wuK2pC^2Z{^XQ zUXK5}+3DgPiXI3V>O8JT_Jo6LU0T+4_12!c?xV}U&|}inkL~RLuF?1L$XbbybJw2p zpj9XDhF)1a4!%{SRob`al=WrLMGh|B?)#`2wF;&$=t;>z?u0j#j-_EZ;C8&tms#CuV;gRLgzQ(iNivTfZw_ z)uZx|rEk-H^er}N`>m;We`_?cU&5UyWuF$?(R}3E`O)|8&iQb9-|4X%_04R%br1gL zk|Y1lDGx7h%51ZxN#FN26|&q)7}IUYvFtDI)Y>;X+Z)yJB@blJr~1wc{qoy{sm^We zN)3O$ZnId;Qp%r8W-NbeZ57^WU9{2bzfYr{< zqf_Bb|C@BK)f8TF@Yu6Oscq~39$9%IIk-TBghJoic>O)w_GYox zV<%*dZW3a<{?E`M4TEpN!pfc8U>F( zH^rw(qe6G;H}b!bJD>OHLtS>+3{2vswLfs$duuNLk?nPP`+Xgj5BFP`u3XIME~hJA zTbfnaEtUEkh}gf@fBhgCGjBV21=`H>|0JTd>9c)RtLfGDjLALA0+o$bf7ji|MHssX2$-uDc!?5*WDXzIg>DP_xWAEb?XfJJSV2+F!9zy?<_3J~7jy!KH~$7P$`%{(iLJ7ftU8ZVT!TNn9JSer2P5yLY}H zu>R&YeL~)0D>vlxv~xe!Do^Y??dhN#RbM78`;|JIJ$K`~FMsd+VDq$9H>QoM?z7GP zYW=@2`}!1|c6&?PZ-b|F9`2-7+6T*zJWDNZ`My$?@_z<~>pI#w9jP=bdr_xl&94~$A?O(R#SmSFY z?mikcfAW(ud2ENh8d&3c=Xt$PegC$-N{=fOdzJV@Gk^DqJkcMT`4)csM{JF%HFqUU zXwhlfhAFl4ZCbUtS%GqPaR=r(-+S4lPtjX`c>_yq$T#6Yo3vwwdGAN;VaGGMzc-&V z&>`Kt+}(@D6->G{e~EK}lqyXkF87HUld`+qGmvm)Pk9-C3&cGDV~<4s1SzvPnH@4HV@ef_r64f-y)c+Gx8k2y1IJ5?Ft zx#(1ti1E7eyC2)0)IKR%IA5!->;5TFZQT2RS_ZCvvHip%b`X-&KGYo>lRv4!`V9vZ zFYC}!{$`_t(q#@%UO`$qF2A?vt5x~64x1MaKD^Ok-?hl@`C?d)?$uW>2fr{Pwo-Wg{#n0|O{mg4f|Q>w7k+(U#Y;0z2;uED4<6nqIWv7*{}Bs(cbuCwY*xSet5S|<(zLr?C*!^@ zIc`rrP=38@%I+&)o@7k^{z@~+`QX@YbGB(dzKGwl>T&4nk`t5bwV0#nyS&-_GV5+# z-nG?vM8_@OcdwP+*fRv1rL>yq%?8eXvix0+7IQC`&Y0&+`ftV839*d!FRo9p|7w{1 zL~sdX{b*jU#P1Vhqv4;{*=Sw6HXGKhThq=xyT1(!zFXYCM0l5l@0)h&R<_pj7KJoX zeY+(%b*|p$KZ*ON@68FS=^Ysr)J=1?Y{A%u%O?l^gPpkOqSiQSzG7oC=$gBM3 zkL}Bs^n8?MX{{43x&O)XF*^5We^sJ(OS4QpG_~8Y-*)dbdmm8h2jv&zXaDErp1T<9 z_rBz7ZF5Ge_?RATwEj-6gBuJUoV2}b@9bUwsj2T@qLJad_EGNidb>%kd-mFHbD2Lk zcj@61&(GEz>U6lL)+fWJ?Wgj&o@zaAde3z+UtOaXj=p#N{(h%iHEWLT)H}!P8!vK& zUMpOwYW~+lpVS=Db%NfMn5J>#i8~gBxw<5Wj~3&;5~P+N+qE>w&6<=s8mq|PxZC=u z-i4wSVl!x??WMJ^6Ov(Cks?kZ)AA3#GIH?B!H*t28g;V&x4a*VpN$=2c>a9SmR9dN z&$y=ZTvsjU#%dd9c-Y5hb@5xlt$lNKoYkV;oK|za`}F)P zD0$`ZE7^vn-P{o7n8R5jZVq||S2Neldzwtk!1rj^ZSru-c1xbR}@ zP7e#0%^K>pu=Jw}GdCEeK;p^uIf8PD=&dgR%UJOk<6V<$7iP+SM1<$V- zs?jyynm7HU$-f_(VB6uX{%S(5(fc<3vD=~Ji2D#kyX#}y*+q{G>s9!A+3#iAUmCyn zQvZ>K%PlY^$|ptt%KPzO^?x^ZE+_i$)bD?u&@S3MiU|{&#yqtSE$oK}dt|Frdxyi+ zZXs`L)~GtE#JI?)Y%QYJ4jN+T@aoz1*V7ZSJ$=5}x19SM&*6^CUKctPbGXQwiOwyi z_nY(Sx3a@C&idXkcNw%UimP2;xK8c@#mpVQmxyM8>^aH^)qv72=k$9a7lbYZ7v`<3S&Z~HCM zI|eOH7t*bKP^}HGw=S-{Zo!rIZv9vP)+uB}aI^QH`V<*?th~DRp&t76b&V@F-{bz5 zJ2`8+G?jOFnwKB9885W&Yb?LJ1sB~K{83*$+FIV|C-SE)IxeDX&u)WycOCRT>fxYm zJ?7@>+V$bMuD!=~J=$|o&l!0J?^@KeW|O&Vzcfid^3u4sd5%2UT7AcZ>RE3W@bC97 zf@W^EGo1 zkGe~8ziaaF=EG=xT*Z+c#+S+0BvXL1CgOl=bd+~%+gZmRj@InGG5hc4D>6=52{PM+hN4xLxMr&Igr z;+cXM-OM*Vu`>InOCc>v{kb;U^k7q_?X+9Ds!iG2@p|{U&H**k$$Pq$_R9(%gkR|j zb@kg#<6E00<;xt6wyFekPgZq0ZAiCnJ;UnjBO6udvs$0)TJ4bGwYxPBc{wv=ac$?V z-7XYeksK28Ie4n`>aHOxTDT0jcP`KHy57|aJ$k$ChJCxH+h&Z&-frUZTG8!%_jrXA zcbGLUqIBnykJ3jM%`@Jw*yPuCgS$O?n*8$XnjzPp`BeArnZ2xYr85_wx@hmr55IYP z&f`b+i9?I{ZcLcn>`HQ6$>4s0*$U2|`Fco!t9G+|179~f z_9pXBm&!Y}=l#r@FWGWk^vpQ5mfN6=EuWrtKXxnqJU_2mJ{6ZWyyUpGZmzorvzCcH z-{nofhxc{H+V#{p#odc+Hu~nN`v;m2{p57;MdHCRA+?WeuIC%H=TrQF@FI^M8B$8@ zE8N%S?&s`1J7|Vg-MIJWu1=S(Zb~<=X^Yuk299xSm2Q5gO0~ZG)I9U}!|?NQt*@^t zSjxWf4&C*lC~>W3YLhanHw;LKse5fgyNgK)&B~r=a>n-Fd0pk9M~3Vjmy%(<{~s?s zQqG=fbFG^((`FBf{if^>j=|mUI5oI8>+}?-Yg@3+HX=S}%~pSY&NnJJ zE+Hs&?3jwTj^DmMr&PD!TTh$UsdvN1t8NX<=QMO~C!a!FuiEb~o;#Z^v7KMH)eG)+ zyznMN@gm<&^vn0)t*%bX{tYLL+x_Z~md_^^estt{N|<+{UM1%y9;}maY z47RKLPU^7qVDpG}ezo$syZu)C+V%%=kM=w$6yB;()hRu1olMvhRBp!55qDS3>(s7i ztN4nc8e4y_AO00Rl>O7zbcTMF+aH}&VcfT)nVs_=fbp;1G_}?g{p#S!`8R(?hqZ1q zXNhXN4jHmM)AHGWUpm+?Dt#`^oBH)$J~`Mqi$he~)KfW?_4u#*r)}u{kJ+r##FhIi z=$O8ERKGHReI&wu^v~8jz(P7jc{f6{YXKo|Mumr6~izUh5V>JX0t|dNw1T}=Q}rc%Bo&z=_DUTKIQ$>to~~> zdWGqa;#>DG_=DP}VKUZSW_7)L`f+%`jYTf{U0+tV|Bv0uGXNjGPjfSm`c6$ROE4-C&?*u0=~Pc%@{eF;j4Lw$W3O9FW##GX;dbzw6eo0 zUho!lgr)IgJ^MF0chHcZeB4Syehcj3Av>na@R~AI>PB>Cj71e?A^^SoSPf8}kDy@b z%p3DT9Vq#zk7x2_`gF+w#v^0`XBdBoE}-zlzs$9iCkc{o}7e2^Np(9lC zz@XuEFrFgMj(Dz(ALV12Fb`^eUoi3G*)zo{{1jY)YX5(~RY;uz)3XzDkQdJhYK^r< z;-2=Fq4dJ0`z?Vu1<)0t5(h(%8l} zmI8sKZBiOY+t5x5NX23%$~XkNSbSMQyNb#px+sWe1+h;9I!vCiYeZLAS$8sDiqCI_~f{gX`|;Qw~1~Tz4sNbM)Q;uDhom*Xzl;d+PDa zz;*ZZ78m|naNRxi<@HhU;G`V>MR46c_5M4+b@$ZcKUDlva{2!ixbB{MdF)dLJr-sj zKN4JbPoH<`>sct>J@xXKC;W6Q47&VX1g^WMwGQ6^uDhpQ4o`#Y?&+YTw-sD>MLn+l z0NoY!<$H(XpUItA7ye#w-37hQ;onwx@NEtUgx{3Bo>TondGI5`>r;OzD`GE!ck;WQ zHZ1%Ap#LiQaaatmis7<6=|6>kTMVBc!_SN1D`WU&F?=M3eZnf(tqOTnHc`7 z7``ukmH!l8R@JQGw3UH@J%a-ql7URC$)rb5=i>SAoYR9DoyGOV92*K88=8uQ#IZ2s zjJgGdG-uQmiH>7o^qCEX(Xp}M9A&e^F^^-MORTsQhQn@+2^Wcqd78Kr_GgUKvY9ZPD!>5xUaCSk!nLc1NHjV|!VD`l(6QPJ(0Y#({Ei}s`#$5^{ zH@V0Wf*5uw2#1?ZBoYpzE(PImv*B!sg~G`z$DC`l9CNPGa&)d|`EtyoJF~tRU0jRM z#kG(wc3;km)-an|yx!$p3+cw|oeO(bLlL@Idnx96W_~TV6tLt{BrJAYT!oZzl^)Bw z`PpPDmH9a{_p{zIjNKGEDU74^%x|+oa4t=9X_Uca8B$&`JTRCXSZh1E4RWopB4*5-we*{u#q8Qa%j)^fJDgdN(ehOQ4`la~Ev+t-?O zLpp^|YFmopC?v1Q%U7)$SSwrMSc%5MRI+~qFKG`c1MD?@Q0s712isDl{?w*pJs?fkTKeh|DY9C#$-zu-*4bL}2SDTDB%!ht^) z>|ov{_)g{*f(uzYFuy8Y6a>>9)WK-s%?@@t*yrGtf}Pd|hv>@Ii|8J}Jg4+sm=zIR z%zRl8euf?VydZ1De{}dS1-qE~F+UKUB@TYX!EXq@I|yEJ_>qjOrAwhJcpmEqLE_OgRl+?eJQMGxagyn;qWfaI#>+!;tb5 zhu`M#I~{(H!yjAf6C!McKGuSf5G9ub@;0em%SpBe?jHn;nN*n?eJQMYx=#q zf8}L+Yqz+5=8VQF^S!a%;%<1-*J%FNpjJSTk#FRM4ot~5^Y&90c01eZU&EqnJFh@> z@=jEXUP%5vl{!7$o5AIme^QABDMNvICos9jn4@*CyXo1hoAJxcDbvrNi9k0dK{4^^ zAAmDvdvcMxxZDgl? zWM{_?y?|US#f^~^qgG7`YtoyzVbzu#=X%}!OT-|RT9dEZ>ZtY7)J@JW(`nwln_{y+ zHJ-4{(V8a^L#ZV%jN(e1s7N?5dH|aDczp2k_q+k)*(cH6+ZU-tj?h8&K{;&xT_aZJ|r9A(WIK`Gyfeo z|9N^I_b}@Im*|N-9YMXk6#b+pHWe91m8JAVDnI{;Z_}WhgK$(_;U}CaYxoK83o)DT z^)dXtF+3f^KN`bti{W33;X7lv=5PKJKSu9k1|IC``!$gniTpZf^7m;>u%5nw4J+3V ztYQ7J*1Rob*DAd7v(7EHV#_7BywY1X?x$ZBMb=H>GRLiX;t%44{_e4$Fwy17o`JQj ziUyKbdGaD*+DR!5MdedUWmCD7qEDCnOAo+4p&*4VeWPB?k=*o>$PF3Ke_yY|`>Cj?2!!Bjcvkw?*LAg*jBGFA zd4#7QDO+YjlX9~+dyY7ovvrKFW-xcG){kf3ij#XnbnJl>m73;BnocB{Co#3qT#39d z3ujACK4Z%c;)&YC{AafRamwhk!-vQU_JitW3<$p>2vm-AU6Y_98T@n$OWBksQaI!)2#9hw;Gy%(j(-jU_mv-V! z?=Y?&duC*34R2m}`L_4A?RE;#E&7J6M; zvQ;ge3LAM%z{$6su-%B!1uau{qv8d3rN@u#AZ0*c6M*`45vb{YZGW&bsH<-{qw&lc zXEn{7HM_NK&fI`*>90KRiSF6g|F7)X-xL|-&G1;6i)a8 z{zO;l>(kn?*j%g&KZWz(F+L&Z;QiurF@@{%k$^s&pwEN6Wn*;$v2i#R^PU}`C{cDbEmJjj(q{s4SW-Hb< z7!sOTh3`A^8+WwiIiiqr0mErp+iJlwvB2YmqaEd z=wLSiHSfAj5cdb1`%dTnPr_M%976eOzIUR7D+QVF89gC%q$d=e`vfWUe-os^y(~z) z{U{I3|K2PJeu5zLK+cStmk&Q6$UIW|H@yre8_MEmDh*70P6vwqTtVDd2~G=wje^ko zpo6e$!c)Y{H>|Dq)5ogteXIK7?_1T+tjAoxzBkqrHJzqZUT^-`%z#+ST&9Kbxsh?X zjY&rxgJYAlL^@)^#DGb!fodVb)w={49>CUIpw*~=GOcBPCZI=WlC5ZQ-jUg_{zd7E zZm`h|8OWPi;_F0D9y9vlaB0a|W{y?MoS_cB8kvtajqGd==c9Sdz*M;$fMr@wMfE+I z{XA#&rkTf#yim&oqz)lflW)BqUqjxTD5EMSf0t*b@#xrPnI)*8l6^=Xw>ds3!d7Gs zqDb`6SGps76^ZcsChiSN-ahi&pY>?@GZ3z(z^fo!GqSVR=+FElhP=0yCkIJk;`33x zTK%&mV~QPE?sM`n5JLuT(tyNURvmWpz9Op<8>?`Yw!ac&H@P@!{^#?+pKL9xCpEZ>GFz5N?Ms8qRE|EGNbMkt8*_EJQV=+)vlXocD ze$+L!?BZO1i1fTvJVd%X5~)QlA{h(imOWe%?-f^)r!6s6p)duX@_728MCy0+%g1%0=~OwrYePF&O(+_S$zGws)t1+l#hjs7B1NZCuJ3%}>hy`IkxFm_uDyJi?cVK=vpq`>>|TVy^J+vhnu1 z@JucG`$?Ga6{twDZ6t~r&l9N$#2FWQdV6Nd=y$FupSeA8{YChDsQ|-Dk(P{)LS$*9 zy-+1LeqPbxwHS5j9h%yGLdC0Y&GeTaB64OyGo#mGChZERQz8ImP9Uh2f6At88acgO ztYXlfx2Icqw?aQv zBAIs6i+_lpCT-WvC?aV?E|L1OvN5-U^qBE5W@*ZkOQXVzEmO|?NTCRVe~cGHFOe!& zIiMqjnIc(bV9+w4!odBwoOe5bER^; z!TKq;UOYwWXZAwh9}%da?afj}KNIGQd9uC=vePEG9&}xb?TnYwyD^Wr5Vl!m5Q7Y9;2VG|i|~n@GJwgBLI8#<*xxZrN(7 zP3NYwV7#SFcs&SxmYVWW8mzT$V7OAF)-I)003_&SZA&ESbkO_ki2G-X4k0k!i!l?;#1JVeTO3*Y;=)i z#?Md?6Q9$%+@Q#x6^7Ls=)Swtt36hLKWU&=hJO=)Q`Z0WlJC%q>l zt(3G=PBWF0bN*^pT6)F)8^JPDQ%tha#y4>nAqwh{^!deN`av&yg_fRFjIe*Kb@}$X zxH_YYqjf5A+d4nUFVs74%N&iS=1k<$M4U3oXe_D~wNZ-e-*QqzCy{(0z2C%r#n|@+ zz9p9NiNBB4ulz!9b-9j5dma6ouO|gjnkAr6|Mu?lmZqOxlHM`$0=lk5>a*(UN-5@d zjO-~%q~>Zy>`E8MIl147(Z%xPefpP8)<<>@y0`A#x_>s^SaOH2k-3P&->}9ky}+o1 ziPT5X>Uswz<`067K8sRl7dtRomOiZlLP4Y*f()v-NHxspG-ISz`nu?v0t`@&(fxW< zc`Qdr;o4WMPUl}G+{hS9g`ZQFNIlBt7HsFmPM7+O_>8Fsb!wu&hu30d?n~ltZ8}0t zUi0)6`T7ALnGCQ`pa*;0&4Qj)$y zv&XzFYvh?n9L6d}o?5j%1@)yh2kR-I5p2#MWW1S6eHwvz~%%eqye zI*`+<`tem;M#j;1j#z!?p0aNmedj?Vdr;Y(M38SvXQJ#!)MyNV>De%MF2cF?Pgbci zk7~t)pbH6B0G9#Ff!$uPP;i1{^#)yAl(>pkc_OtGsj#~1PM7n4S!Q;5y1k75NVhB9 zS#HL=b>)vh(6okeu9(F@{8OQsQ?YB}EITKyyM3sJt`sUec^i^LY`R!{koN%qdiX zkrfp$jkH&=wbo*Yw@PSb1o3Hzz`2%whiO0fx0rfOif!~~6=ba~?WczwV&3R%TRa8) zN!z%E!Y6K%i7OHK7DOfg*dLizhP^mRQ3v`WbpWvz-5|7Gfhlm2RvyBFZ-XZB%CDed zM2dwld3`O*)SW6sUw69LJER);6mi!yq{*gasoO$Lq%MVWW?qFvHDK#OxmgSQjEyI+ zCaPvIcI9FEtsH|=A!p`kr&3iS*H@0G=T#h=YyycVthv9`SOr- z;3Fa*ieJYnTe4&50`mBc#-D5y&JO3&Rqrl43##HRMDE~ckiC`G@p}6I%L$|$70BU8 zDEoe3Z#&`9tEnJRd!2d}uOHcO!k|fqK8C2}Izl0a#63B2noQFZs#E(e-mX0~o6c3; zW~5tZw5r3Mo{LcJiP1AA<%n*_BoyaJH5~?8#6Wh6#5c*X`Pj>a!{*T%{TN4JNu9dy zq(;B{2CAll3bhvE%AcVimdMb&ip1#qY;R{I43}@*4wgWOfJKUAG67_z%`G0qx3;*< zvfriE_$aILTbi%?@hmD+*=3V*H)&GWlav|bm<{qXEPQJGt~sUy4#%-<69J3_(+@G; z&nZugPE1k|N-leTzCNyl^_lKHnVU|mRom$G+oeOv64)qC5~-i+XR8?-zR%Ct?4651 z$E)|Bg2te=!n2B?%Accx15Gs_TWzN*ySM*oil5d|+$=xtBC@INxyXz{qelF$Od%3h z0$-xzmJ^k^$vs=R&-yJ`pC}6^TRUG&&NmCm7INCmayfSyDu0}aCe*3~;JzTCXD9AP zNai#w`>j618adxh!_Bl--p*RCfn43reD*y!Auw@mSz(S{kw~3^H^hrh1SUP|GxOmM zb>i?qJE03zfMgp1Mw?M0^(5)0e~{kg6M^GOinn4?;^O}z@jtg>q}NWUa=8qPRVDLz zE0}`j=^H^@VAcF;?Mv2JxRl4o< z1fdX)$wjO+%MGtWer}16@2Yev5h5r?`J_3yR6OPMQqed{ExS`9+8AV(GK($S{exc_ zMbO-G&V;pAX75qty#4KH{7KXNB`uwR1?4np_P$O8Cpf3iSz7-j8ry2bShu^yGKGpz zTR%8WG8yDF+cajFq-+|#?V4U1*;$RIvKTv8S=p66C|G9LwQ(k)p>-KIB8z0~%E>6X z)LD1h^I~+%jZEDSXYgs1!k6rg?5xd_{nwGR?+?Be<5P!vYIm4(?B-nJ%D|a3nX|BK z*1|>aoIk6>xybaxtk$kMi?PTuzqP09yhYAq?)*6&ZS&iFuy-$BI)}5QorHep9D?fr zYv+PIROVKe&gz=8V9xo$W%a>j4Z&q+1Z#riRYU#3s)7E&zApV*9;^tA4TFvS>o*Ln zTWh^Y$k<#6RxIDpA7CP(e|@lW-Kym)lk3(88^Dat6FCToVneI@r4EbR|S!PL&GZwVjNFfw|4gO4Fem3q0^E>{?}0WYh7|R zObnd{9n4P*owjoI^7TE*E7l?EypR6LoI8FFs4i8X8lTQ?d%r4vME#~m{Ce@D=QW?Y z&olY+@wUa{sl2`4bNpc0X})RvU&NoM)5{N^o@jRS=i_Nh-n0VT)a)+fZ*M=fi|8jh zo1zZ{Gb5#74cY{GH`)fiapO<`QygyJI0p^Q@mAoo^W}WwB;KMNwrGK+? zlYI1vf1N)q_T3V5RQ%gwZi;_r%uV&-D=|08UK_ajeA*g&ziC_w|0%6UV$O1Vrihy+ zO2xin{J-h~N*S(C{O{)&lAC^tf1OeApVHOWg4`wg>x#&K8*VDXCyMwfuK%KsuPW{7 zE*Ri|{3Pxt$$x^Y&HcC%$JpKW`V*yK7f2`YCKkXI^XT*;O_3 z7QXwWs>ahAPn%KIz`dZlGwRN)s#)CMSJl2eY28n4JP9k}8?IWDT)qOBTyNoO|LYBH zbpG$$_c@{_ms2wqgC5D>{yFDhdJA^-5GKdpO&yRtB-`U1?u)fMLJP03Z#jkE3japo z>IfszH}I!V^fYPppML7E)j?nUva9#JCyrkgfBN3RUo;5ZQi z1Q$r4?(_6K?qSsZf8xH6vR{V(-*x_|Von7{5a`%mR5yM-2a63@?Fq|0(_=GUa1J`aE9p$Ve-C&I z_>ZUuqCXT1pNipIVz_K{R?(P$2W`dwlJGZUOO$pZ{J~iGr(^hk#PHW*_(6UW4t?=| zL<~PIhR=!N%VPLY41Z4y|4(0^YsKh%llU3>k1++ zg=z(PCRYpwei_}<*S{*4NuLQ9$fyhExA`yw4eKy@+Zit1!^^7n(y1=W&RM*;XJ|Ot z)4zT_8iUrw=XZ83vW6YqZ+C@uUBf_eQbn%E7FanM>R+2&zINT3f#rieC@N4Lz=<`2 zf*xY^y1t%ut5nkS<~FS9*&uC1zb$ZN>5NL|V#xeu5~CwU$r;<2N}OZ%cW zV>Hu9$9m|VuQi3aX!f~1>sDOauy(*$aLKUNuEm>IK zGk;;%oOyE=_axW#%wA|N8DqI6de=BF6pZInw5BxYVcl{~|C*IUSLJ*q6H|bg%3SNT zK|QP1tzVN161iwhii)seU=sQbk!S_xGb6Ryiz4C#Nt1_xWd9m(3^c0SD(YtV$mzer zFrk91hY*vt9mB<>zG2MHoW9N`P@u+BD*4S;wKkU>TZi*<%D;@4F)Gq3)Dk1+V2xyHYjaw=Y;wk->-^3+7F9E(2{zCabJbWh`uZcn9Y8zJkv*&m9MBJj;t1D(xR=gE&g*L0`h9@Q1 zV->a0G-%6CYa7jsDUCdbkl#ho1XO4ySR@ywsl**~^)FI0Odywcb(nXf!+CF_IhaLS%wc7(pb}WhglMiH{+k{AiQrMJhnYK<9*uo0LHyt2 z;1?a#y9uSoVDki6a%>PB%bG;t^nQWdwZ@VA&z!sLW6Hfz@c1Cm9KVz~+iVBV7d$Zt zH1`&rR~?+n+_SVM2&x>cb+APceU9eBr6&i$Izi%JA;?1DZ=C!6g0<*znA3@Fi-R{h z_^5+YJjwrHLG&;u3!WGRA9L=HIryrB2cm2##m+*9An~qs@Kb`P2f+)1b*%ZM13~U* z0wwoW;mCbNus#SL6hzMdE{H-aaR3ncpC$<3n*^bMgWws^6>Ma$K)Mv*Ne;F<*yrH& zf+)JH547Rd2twx$2OkuK{}%;oc?S~>LtQw zvL_(?Z9%ZX;ThrQ1i^f=q+&gD&f$(%;6c~(EEh&`9bgv;m~``;Sn(=UPF^@%=#2`H*nrG%kqz9u@2if*%UL3!MXtX}R}0 z_%R2cba0=k*8gBZ^m?s8@w-Gg{BIOIgLdrPuMRp7k2gp-%b4xB>ravm!e}A#Q%Q5Q<1aaoFMp<;8N0i3-CO2 zWPzwhHI(pPc*e1Xs|{y%o3;JBWf8(vAfCkh{aT z3Bu!#96W@&EWFdf4>|adgL@oopzbT&kb{pp_^RLq=h@RA_7$>9$>xW~a-#vX-R>EP9ZtApU zT`ZvL+X;e{(+s)8*SW&sYo#E3eN+&7pAn=iz5rDGyM@mT=xD9~TLdo-g0~A^#<(d+ zdE5XL-A@W141#}l?tc;_eEso2=wIsKHV3y0wxg49cq4s{!rkuR4;?&&u}b~HQ9$)~ zr#rk+IQ*>^B;E$+ex-B&igT}|PRakL!q?b+n3D1!pg9=6VKWfk=m0t-;kP;bE{Bgh`~?SJ61-ghES)kzaM}Kl{A9mVxNf`(*Iu6R7KgV9u6OSh z;lE5cd=EPRA?Lr@;VI{Tr^D|O+(19=@SP5S%HhulCK-nv{*s{hEd`QZnczD3b@(*F zA^Hi2*9taMzGGTtHTbK{a;^KH$#?H&uVh! zvG&3~)~n1h^rILVF1gH!H=^{l)63j2NSYBAZGk!Kyw}q zyeiXDm3D`FMJiF8)V`2P@304>xb}$^A>|i)PMqJ=ojX}_@;1r5C8rM2JG?kOCfOlt zvN39ndy2)mAv>JU+>vY+k+&8n!pz$eF^4PbI9yrF;mXkT826Ccsyjy>se-<}FK3mkg)+E`YtF_UjULZI<{K%TE=TD5g_6)E!12$HHX(LOol1CRdUPAaPnw(pnke4&Of+Plt=A;zcDv6)URjFJABbD^sN6vHpQr=Fn^Qv;0#2eX_s`V(Boq zk%4;4Xdye{n`6TES%!Fsmo2V2ATop;`xK1&wN^wP#M_{8#DBK18e z={Em&#OKvzGCB4wIdQW}P1g2+yXwc~@qLAfW`JI$S{L!d!txc^T^fCW2%MI-M9it_ z8vA<_r=!(LCCvr=TGIij2gy;=$>$e|j=ecqTyR9VicwAADlUx8XOvN=UX}J2$@o2S z#-!($eeL}PM57JVSkEgk+id$QpDd7+{wutv+NghUsI1i>Yh4V}wKvg`5$#x3Q*S2t z#OVaCC6JAv!2$UaxSUAw2+vc{CMbP8+NB>drUBLcbmN?TH~%#L=hZjWG1WKKvt!g{$ueXjrQK;; z4P3qY6}&iRW%@;@LoypGxRn1sVw;gNuVN&xgs^Ot`wXr&X7`d=*J&R|d@)Ysf~Ke% zCt{RLI&#H_F6sF6h6nCQMrx@?UIy3G2@>;3MOjjcMT%cwy>d z{ik$7n^Awq7Vh6OWNVTl+v+XqL#`sU`kTvvnRyy-N6mP<2y;>h(7Id?#mspU-jUA2 z*8NIDWttm^FBn@}6^gW{3Ils*W&cPpo$Fts_Qn__dm`TO~^ zuTOI;lDCk*?8$^N<>ss6QW^-8z;d6GZ*I&GbXB}h#de+&&r3?L>tx&I$Cc2zmAc+J zcPe&e_sz_ko}N2BmlqWz60+y{!=m&x>?`<0d&cbVp=&dcn}4b1)?rBE^s!bIekChD z^&=rM)eBV$xC!r3jgDWl&xj1}Q|0pJZN@}wZW^aMPq|s$SZg>lMhv2;2P@ip$F6@#P3eT1@3+zgw#pa^L$Y@uKUeF@QG}Z52 zEmaCB3%}GQUFNfaA~~O>U~s8nGb+Xm;U^w3?UTkJ<2|p#Aceo|zsDlUg|`Ax#+XrE%;RD)HSRn3p*PdHxY8;sDBgJ}`KQ}|Q(Hwsrr7}0Cs zPoL;T`H-LfP@Nd4@cM=chgv%Pe7JU8^xJ=*j`8RH4km!-O<@&onU4hY;RIPuhu=L! z94C`nOe=rNuiCPBj?zmWhMzPF?(_6K?qSsZf8tECrz$JNdntKepLSd?{wO z@K@{br-A+xU%%pSoWE-Rl%AO`@LQk!^&&tL#9z4@xch`xg7?z+ z)gOtT-re<|{7(blhW`$ip3WruPyVxG_=PcC<~;nT@Ec=z3VevhbTfWRe@o1NTMWMw zyz)Tyhh6xu#rz)zzYG8Soc~W_{yM`vL}UHB^Un>0oNdu*B2LM0dd8gOjJmixhEi_p zyiOR>-ZG3i_w=t_X^z~PV}lB-b7}>S=D-mL;=-eFj%s049p4LSxubGXr=j)z46U4s z?C;@0w#d1;A|9TdA}654WuCKVh+Ox$bB}$?lgs_7OI|9uOw!O>C$qX{nIntF-$`g- z?S}sKNeL$}b|i*UjK&bIGlHQ=a_1O}A6;@ODPDe26no6BkK?(~2==I%DLl?v%evQeS zb#sU>>YQYXJXx-EZ8mZzTXCB76sp*z=H}QnwWjz>=wX&74Py^;TCUX|iax2nSAoK! zb+)T>j?=A@ zxgdG;^I@4afJf|D zFCJl{gO*!KxtmuHZ4u=NOxGRv;l*9RzCxPY42;F4q~Z?SeJzfeN0)JVNkfcNPu* zX8LlS8S4-v9o>IXysro{;n7$idd~?mxju~ftNdlfO>nb=Ul%0&vx1x@IFRvO{woDZ zU-vSU{+M7LW0hb%d-;M)^zU)-p9Ps1y(kD@`|k&YuNFb*^$8Mw$iWW_GC_Sv@XR3i zjo=K4e}A>%z!5EI^#1-kbEr{B;01f zw;>-v_}e20-D!;Pa<3DF-!{RMICB8h-ti5>&*4mmAQOds4gj`rHcpUo-XKW4YXph6 zRd7}id|6QZ2_m|>UwmYMO7AnmN$(qignv{J`acw`;x4El z>Hk)64sv3=SG-ezrR}^GD+s-D=l-~JpU${ndM@|h1o2-X*oItyihsRu;y)+&cFqd1 zhEllW1PS-00C)&zvIM6hSJmSqi7WbZwWe<9*}zo*zxy4&4K>N$cYR%bT@yRvReQ1b zJx;sS=l8xV@>Z30z7y;~+2?dW=skEYpbmxN)^RBxt?qF;x<^?+uFGhj@3rL2`e!F9 zj4ozmN6E~8*?1B<^ybXIQVeFgZk5STY1Urr96}ZN6YM)*cyZ4~Y=5I-0x{}g<3h6N zLdwyFX?JxhM5eJdF@0o5JF2PakeG^Ly=mw$*!V8DYAWq@cjSVPZ0|Nf3O8GGy0#+p zyC|Y3ZCA^~ABc+AGI3)QF=eJ2*49g{KZi zc20Gf-oelMacqisU68dMUJXB$N)g4nQrFhSG-O^2jYG$lSTlsV#Lh)6e&|?hQVAk! zui!aj^fi-A@`!79Tt}Hhw2VC$=gn>|1!`oiL`Xn}x6QsyB}s-Z`L*REtK& zrL&`3%&DqPia8VBxxI@n^3nofvqwg9+OKcVENMXne1wSvD+L=yTk?4xewuAv)ZC9K zL6^}8B>&ca5E{CNl2UeQuSW+9Djgl1v`=LBoT!X-Zs)-Z?M1@ZphlOP)xUm&OSTsW zQ(p}|Q?8-1nrd1@xqMX>AYYgM>5&~qK8$BM4`f-)aP)of}`QqX&~5evz7x82t$xWX?m@ ziP1awDHZ*V1f%fiPb19veJG?vaJ zUP*G~;b|kgrWs1HmS%Q`R6&T^ikZh+kWrlxR$}yGZA4Tl z3C@i0_OmVjUaECxCP{s;^s~+qw{LCMJ)dx)ch=@SB;ES=*A?l7jWjW_1#y z=D7q?$HelD!r5JVm#r$bpwW$I%WJa=I;;{8Cy%wgWRtRK`y@RirHs33Gd#yvf*Ri& zQ3NLQ)YZPe%x*b zh4TSye#1vE5wu<0M}#3Fc4uy>-VD>^d^KItCW1sp8uONP(nuv7v%=A*8&bWHF;ACc zu-TnyGNE%VXtZ{UdM)}ZQwbBPL2$~=R>2&EX={fPKYrV4X@5t1uofSWFzu1w9g*K{ z<~JjWX$sOWGI*;S8_-W^QF-ago^%13#pb1bL!SGeI8jaN7D({*2_+UCTN`Z;Y2 zN-cC8CeN9b)P z+1FH7Xw3FRMVrYD1Yg^7Jq0UvX4;@_CTN8XDw<|C^4b>Dc@Ruif5zr%E+VGdO@a}o zegieRhs;Q75&!SYp9W)#Fy4Lo8%W?AzxrG88FGK0Z(fDGT|rgMwkpKRh_@NNzv}kn6;_5FA)^|l zT3;b)zpd{Y2~dY5~E*M6@EE+qLw3S0FAacR8xH#uW(}S-Q8lKc4Wsi zr9lz+TAKP?G`w^7<46_!X<#tVh=ynXpw6nW1?Egai zLYndMQqz6ORMR@i*~%7Kt0TUZq$D716O3JL#o)o`h|cRkS8A6C1ER-ZdAUlF1gPLzJYw-NIooQ zrzzRU8aA?Ujnpt$BstdS?vQqF{p{kmQ&&xnG|BTn?bOL(yIQ+NVpnUg1$`E*wqVeL zAvzfzY9JNU-xcSNb(Bv+rK;d&Ub1RSE_{?9x88Mp|1zDi-Y+(%;5iVqF6|Ud3dN+v_yl2e0Cv(b{M~fewc*LzoN#l|9j^UKAjQOWzXHjsf z(w`EHRL6;1&H7|IZLVr$JQN3W$dTP8J6tn0N7t(0L?dY9*aka4@Ld!wQ}ctdtM$A? z`M&(5V+?yX$c*fnk{EpscVahqhx05ruY3Pqc_Jvs7J$apFKRXXk)Be1EFNuDS zLK>TE3TUh~EKc>FzgM>ACdaO}8mF-8B~sEejD5gl`wOmm=B=Q?0kg}-wC-YA^(>niI~{`867E%vARU*&$+0ogtY zzpX6(cY}#Pwh~ObO0Ste(NlPR&4(2~=QRgEh4bG4;i8}Si=XpSxOYba`f!3i5AxnN zEeKi=23szMZ^=cnRvx@e_!&IM{?f_Hfcrc>k9!z(|4Yt!nLZI>l5L5Rn5Qg$A`IX> z#gtssf4{&Nv&I^o8&UZxKl&3sA6UiTMGn6VxS2ndgZxuK|0$08sk`{27>)lIf&P>K zcK)8@&&U4}zx^lw|KP6@p{xdqetASd@|WLc{%&&qvQ1e<0iEpdu2}e9@J{@jfTDMG z%>TnNd|M3vLJWT*hCds_|2>BP8hi^CLw5_6{yve)r2JHXZ=;xgMmYJO81vT?16%gP zCZ@}u&UN`u@h=9iqJd0-hT>ly^M79qkK3Zuy;=W>-oxN^?8BYTZ_(3z*}*j}CuVEc|lt7WOLHo;BgGjros( z_u{WTebLjoD*q|HZ^rO%3!h54x$r-W`Ts74>y-%qiC%7VbY-x~aoydxsRpS86@?_7z+EoK<2a;FCea)$$4Lxg?U&hG`a|k6K!rD;l8`!858;0;2 z%(n@TC1e9`xO{zHK=7XB>(>_#?9SeVRKbe{_D7c@r$%CFo8v|1{FF70AM>^ZbchDq zQK2ZvkDRXHJWHIts64_$I59~QU1xbVB$uyGD$4~2dtUE6jtk$v*4Us^RC7edIqQf@ zEDJi4gs(u%Cw9Wg2$K^x1;J!FE^_QBn#CAJ#SU}r59wshuLT|8&(^+5BBq@ zfhnUHZCmy7!pB0`)Ybkht;wmlFh%35`HB+*V<9XLll$0Hb$tUHR`Nu{z}n?&4W+Qz z6=|Qj2Ib7Lk@DK%HL@zWAucf+R;6JZA3+W2p>=~-HHh|#wLSe;4slqlp?FkN#bQ}f z*WjJvr!c+y>g5~zd*YsU9$3P}<`nwc(nC4NF;y2W3M-=T=@3WWIM0V~@_)Xv`Cxxei_=2))Y%IluJ{LFj(hL7goY z{ZjgV(Lcz+BOE-z!A?Qalf7c4H!4Vae=k_YxGD(Ua>fjWs}{t4p@Ww>c O>=GpW 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 z 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%0A%aBZvO31M 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%0DI-b#q+^$Z7jy)M3yPasU@|1%mE0n`J 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 WQ1wVKpfJzC3oe8;Qs>())Y$s diff --git a/ext/bin/libcrypto/linux-x86_64/libcrypto.a b/ext/bin/libcrypto/linux-x86_64/libcrypto.a deleted file mode 100644 index 2dfbb7fd47a9d6deb8874c0914b1024e8a4b6974..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2378528 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ⅆUT4*j&9e)Z`D|4bc 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

DUZ&yYMjn9Im6*2xkZdNY>L%|r2efz9ku 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 z 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∈^|Vk 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 z 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