diff options
Diffstat (limited to 'dep/include')
49 files changed, 11988 insertions, 10821 deletions
diff --git a/dep/include/Makefile.am b/dep/include/Makefile.am index f9cda557ecb..2259d115d2d 100644 --- a/dep/include/Makefile.am +++ b/dep/include/Makefile.am @@ -1,6 +1,6 @@ -# Copyright (C) 2005-2008 MaNGOS <http://www.mangosproject.org/> +# Copyright (C) 2005-2009 MaNGOS <http://getmangos.com/>  # -# Copyright (C) 2008 Trinity <http://www.trinitycore.org/> +# Copyright (C) 2008-2009 Trinity <http://www.trinitycore.org/>  #  # This program is free software; you can redistribute it and/or modify  # it under the terms of the GNU General Public License as published by @@ -9,12 +9,12 @@  #  # This program is distributed in the hope that it will be useful,  # but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the  # GNU General Public License for more details.  #  # You should have received a copy of the GNU General Public License  # along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA  ## Process this file with automake to produce Makefile.in @@ -62,6 +62,7 @@ EXTRA_DIST += \  	mysql/config-os2.h \  	mysql/config-win.h \  	mysql/errmsg.h \ +	mysql/libmysqld.def \  	mysql/Libmysql.def \  	mysql/m_ctype.h \  	mysql/m_string.h \ @@ -167,32 +168,31 @@ EXTRA_DIST += \  #  Sockets header files for Win32 builds  EXTRA_DIST += \ -	sockets/Base64.h \ -	sockets/Exception.h \ -	sockets/File.h \ -	sockets/IFile.h \ -	sockets/Ipv4Address.h \ -	sockets/Ipv6Address.h \ -	sockets/ISocketHandler.h \ -	sockets/ListenSocket.h \ -	sockets/Lock.h \ -	sockets/Mutex.h \ -	sockets/Parse.h \ -	sockets/ResolvServer.h \ -	sockets/ResolvSocket.h \ -	sockets/SctpSocket.h \ -	sockets/SocketAddress.h \ -	sockets/Socket.h \ -	sockets/SocketHandler.h \ -	sockets/socket_include.h \ -	sockets/sockets-config.h \ -	sockets/StdLog.h \ -	sockets/StdoutLog.h \ -	sockets/StreamSocket.h \ -	sockets/TcpSocket.h \ -	sockets/Thread.h \ -	sockets/UdpSocket.h \ -	sockets/Utility.h +	sockets\Base64.h \ +	sockets\CircularBuffer.h \ +	sockets\IFile.h \ +	sockets\Ipv4Address.h \ +	sockets\Ipv6Address.h \ +	sockets\ISocketHandler.h \ +	sockets\ListenSocket.h \ +	sockets\Mutex.h \ +	sockets\Parse.h \ +	sockets\RandomNumber.h \ +	sockets\ResolvServer.h \ +	sockets\ResolvSocket.h \ +	sockets\SctpSocket.h \ +	sockets\Socket.h \ +	sockets\socket_include.h \ +	sockets\SocketAddress.h \ +	sockets\SocketHandler.h \ +	sockets\sockets-config.h \ +	sockets\StdLog.h \ +	sockets\StdoutLog.h \ +	sockets\TcpSocket.h \ +	sockets\Thread.h \ +	sockets\UdpSocket.h \ +	sockets\Uid.h \ +	sockets\Utility.h  #  VLD header files for Win32 builds  EXTRA_DIST += \ diff --git a/dep/include/mersennetwister/MersenneTwister.h b/dep/include/mersennetwister/MersenneTwister.h index 708b675eed4..0fbd9242e45 100644 --- a/dep/include/mersennetwister/MersenneTwister.h +++ b/dep/include/mersennetwister/MersenneTwister.h @@ -238,7 +238,7 @@ inline void MTRand::seed( uint32 *const bigSeed, const uint32 seedLength )      initialize(19650218UL);      register int i = 1;      register uint32 j = 0; -    register int k = ( N > seedLength ? N : seedLength ); +    register int k = ( N > int(seedLength) ? N : int(seedLength) );      for( ; k; --k )      {          state[i] = diff --git a/dep/include/openssl/aes.h b/dep/include/openssl/aes.h index c9198db7dd3..450f2b4051b 100644 --- a/dep/include/openssl/aes.h +++ b/dep/include/openssl/aes.h @@ -7,7 +7,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -58,14 +58,18 @@  #error AES is disabled.  #endif -#define AES_ENCRYPT 1 -#define AES_DECRYPT 0 +#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 OPENSSL_FIPS +#define FIPS_AES_SIZE_T	int +#endif +  #ifdef  __cplusplus  extern "C" {  #endif @@ -84,56 +88,61 @@ 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); +	AES_KEY *key);  int AES_set_decrypt_key(const unsigned char *userKey, const int bits, -    AES_KEY *key); +	AES_KEY *key);  void AES_encrypt(const unsigned char *in, unsigned char *out, -    const AES_KEY *key); +	const AES_KEY *key);  void AES_decrypt(const unsigned char *in, unsigned char *out, -    const AES_KEY *key); +	const AES_KEY *key);  void AES_ecb_encrypt(const unsigned char *in, unsigned char *out, -    const AES_KEY *key, const int enc); +	const AES_KEY *key, const int enc);  void AES_cbc_encrypt(const unsigned char *in, unsigned char *out, -    const unsigned long length, const AES_KEY *key, -    unsigned char *ivec, const int enc); +	const unsigned long length, const AES_KEY *key, +	unsigned char *ivec, const int enc);  void AES_cfb128_encrypt(const unsigned char *in, unsigned char *out, -    const unsigned long length, const AES_KEY *key, -    unsigned char *ivec, int *num, const int enc); +	const unsigned long length, const AES_KEY *key, +	unsigned char *ivec, int *num, const int enc);  void AES_cfb1_encrypt(const unsigned char *in, unsigned char *out, -    const unsigned long length, const AES_KEY *key, -    unsigned char *ivec, int *num, const int enc); +	const unsigned long length, const AES_KEY *key, +	unsigned char *ivec, int *num, const int enc);  void AES_cfb8_encrypt(const unsigned char *in, unsigned char *out, -    const unsigned long length, const AES_KEY *key, -    unsigned char *ivec, int *num, const int enc); +	const unsigned long length, const AES_KEY *key, +	unsigned char *ivec, int *num, const int enc);  void AES_cfbr_encrypt_block(const unsigned char *in,unsigned char *out, -                const int nbits,const AES_KEY *key, -                unsigned char *ivec,const int enc); +			    const int nbits,const AES_KEY *key, +			    unsigned char *ivec,const int enc);  void AES_ofb128_encrypt(const unsigned char *in, unsigned char *out, -    const unsigned long length, const AES_KEY *key, -    unsigned char *ivec, int *num); +	const unsigned long length, const AES_KEY *key, +	unsigned char *ivec, int *num);  void AES_ctr128_encrypt(const unsigned char *in, unsigned char *out, -    const unsigned long length, const AES_KEY *key, -    unsigned char ivec[AES_BLOCK_SIZE], -    unsigned char ecount_buf[AES_BLOCK_SIZE], -    unsigned int *num); +	const unsigned long length, const AES_KEY *key, +	unsigned char ivec[AES_BLOCK_SIZE], +	unsigned char ecount_buf[AES_BLOCK_SIZE], +	unsigned int *num);  /* For IGE, see also http://www.links.org/files/openssl-ige.pdf */  /* NB: the IV is _two_ blocks long */  void AES_ige_encrypt(const unsigned char *in, unsigned char *out, -             const unsigned long length, const AES_KEY *key, -             unsigned char *ivec, const int enc); +		     const unsigned long 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, -            const unsigned long length, const AES_KEY *key, -            const AES_KEY *key2, const unsigned char *ivec, -            const int enc); +			const unsigned long 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/dep/include/openssl/asn1.h b/dep/include/openssl/asn1.h index 759b8a590e0..424cd348bb5 100644 --- a/dep/include/openssl/asn1.h +++ b/dep/include/openssl/asn1.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -83,82 +83,87 @@  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 +#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 +#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 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 */ @@ -168,68 +173,75 @@ struct X509_algor_st;     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; +	{ +	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; +	{ +	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 */ +#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; -    unsigned char *data; -    int flags;  /* Should we free this one */ -    } ASN1_OBJECT; +	{ +	const char *sn,*ln; +	int nid; +	int length; +	unsigned char *data; +	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 + * 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_NDEF 0x010 +#define ASN1_STRING_FLAG_CONT 0x020  +  /* This is the base type that holds just about everything :-) */  typedef 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_STRING; +	{ +	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_STRING;  /* ASN1_ENCODING structure: this is used to save the received   * encoding of an ASN1 type. This is useful to get round @@ -237,41 +249,41 @@ typedef struct asn1_string_st   */  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; +	{ +	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 ASN1_LONG_UNDEF	0x7fffffffL -#define STABLE_FLAGS_MALLOC 0x01 -#define STABLE_NO_MASK      0x02 -#define DIRSTRING_TYPE  \ +#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; +	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 +#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 @@ -287,41 +299,52 @@ typedef struct ASN1_VALUE_st ASN1_VALUE;  #define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)  #define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \ -    DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, 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) +	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) +	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(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_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_NDEF_FUNCTION(name) \ +	int i2d_##name##_NDEF(name *a, unsigned char **out);  #define DECLARE_ASN1_FUNCTIONS_const(name) \ -    name *name##_new(void); \ -    void name##_free(name *a); +	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); +	type *name##_new(void); \ +	void name##_free(type *a);  #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) @@ -347,7 +370,7 @@ TYPEDEF_D2I2D_OF(void);   *      ...   *      ASN1_ITEM_EXP *iptr;   *      ... - * } SOMETHING; + * } SOMETHING;    *   * It would be initialised as e.g.:   * @@ -377,7 +400,7 @@ typedef const ASN1_ITEM ASN1_ITEM_EXP;  #define ASN1_ITEM_rptr(ref) (&(ref##_it))  #define DECLARE_ASN1_ITEM(name) \ -    OPENSSL_EXTERN const ASN1_ITEM name##_it; +	OPENSSL_EXTERN const ASN1_ITEM name##_it;  #else @@ -397,7 +420,7 @@ typedef const ASN1_ITEM * ASN1_ITEM_EXP(void);  #define ASN1_ITEM_rptr(ref) (ref##_it())  #define DECLARE_ASN1_ITEM(name) \ -    const ASN1_ITEM * name##_it(void); +	const ASN1_ITEM * name##_it(void);  #endif @@ -408,9 +431,9 @@ typedef const ASN1_ITEM * ASN1_ITEM_EXP(void);   * MSB set characters   */ -#define ASN1_STRFLGS_ESC_2253       1 -#define ASN1_STRFLGS_ESC_CTRL       2 -#define ASN1_STRFLGS_ESC_MSB        4 +#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 @@ -418,37 +441,37 @@ typedef const ASN1_ITEM * ASN1_ITEM_EXP(void);   * quote.   */ -#define ASN1_STRFLGS_ESC_QUOTE      8 +#define ASN1_STRFLGS_ESC_QUOTE		8  /* These three flags are internal use only. */  /* Character is a valid PrintableString character */ -#define CHARTYPE_PRINTABLESTRING    0x10 +#define CHARTYPE_PRINTABLESTRING	0x10  /* Character needs escaping if it is the first character */ -#define CHARTYPE_FIRST_ESC_2253     0x20 +#define CHARTYPE_FIRST_ESC_2253		0x20  /* Character needs escaping if it is the last character */ -#define CHARTYPE_LAST_ESC_2253      0x40 +#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 + * to UTF8 first    */ -#define ASN1_STRFLGS_UTF8_CONVERT   0x10 +#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 +#define ASN1_STRFLGS_IGNORE_TYPE	0x20  /* If this is set we include the string type in the output */ -#define ASN1_STRFLGS_SHOW_TYPE      0x40 +#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 @@ -458,27 +481,27 @@ typedef const ASN1_ITEM * ASN1_ITEM_EXP(void);   * the usual escaping options.   */ -#define ASN1_STRFLGS_DUMP_ALL       0x80 -#define ASN1_STRFLGS_DUMP_UNKNOWN   0x100 +#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 +#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) +#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) @@ -486,315 +509,318 @@ 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; -        } value; -    } ASN1_TYPE; +	{ +	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 struct asn1_method_st -    { -    i2d_of_void *i2d; -    d2i_of_void *d2i; -    void *(*create)(void); -    void (*destroy)(void *); -    } ASN1_METHOD; +	{ +	i2d_of_void *i2d; +	d2i_of_void *d2i; +	void *(*create)(void); +	void (*destroy)(void *); +	} ASN1_METHOD;  /* This is used when parsing some Netscape objects */  typedef struct asn1_header_st -    { -    ASN1_OCTET_STRING *header; -    void *data; -    ASN1_METHOD *meth; -    } ASN1_HEADER; +	{ +	ASN1_OCTET_STRING *header; +	void *data; +	ASN1_METHOD *meth; +	} ASN1_HEADER;  /* This is used to contain a list of bit names */  typedef struct BIT_STRING_BITNAME_st { -    int bitnum; -    const char *lname; -    const char *sname; +	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) +#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_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((ASN1_STRING *)a) +		ASN1_STRING_dup((ASN1_STRING *)a)  #define M_ASN1_BIT_STRING_cmp(a,b) ASN1_STRING_cmp(\ -        (ASN1_STRING *)a,(ASN1_STRING *)b) +		(ASN1_STRING *)a,(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_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((ASN1_STRING *)a) -#define M_ASN1_INTEGER_cmp(a,b) ASN1_STRING_cmp(\ -        (ASN1_STRING *)a,(ASN1_STRING *)b) +#define M_ASN1_INTEGER_cmp(a,b)	ASN1_STRING_cmp(\ +		(ASN1_STRING *)a,(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_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((ASN1_STRING *)a) -#define M_ASN1_ENUMERATED_cmp(a,b)  ASN1_STRING_cmp(\ -        (ASN1_STRING *)a,(ASN1_STRING *)b) +#define M_ASN1_ENUMERATED_cmp(a,b)	ASN1_STRING_cmp(\ +		(ASN1_STRING *)a,(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_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((ASN1_STRING *)a) +		ASN1_STRING_dup((ASN1_STRING *)a)  #define M_ASN1_OCTET_STRING_cmp(a,b) ASN1_STRING_cmp(\ -        (ASN1_STRING *)a,(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) +		(ASN1_STRING *)a,(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) +		i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_OCTET_STRING,\ +		V_ASN1_UNIVERSAL)  #define B_ASN1_TIME \ -            B_ASN1_UTCTIME | \ -            B_ASN1_GENERALIZEDTIME +			B_ASN1_UTCTIME | \ +			B_ASN1_GENERALIZEDTIME  #define B_ASN1_PRINTABLE \ -            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 +			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 +			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 +			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_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) +		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) +		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_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) +						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) +		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) +						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) +		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) +		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) +		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) +		(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_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) +		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((ASN1_STRING *)a) +		(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((ASN1_STRING *)a)  #define M_i2d_ASN1_IA5STRING(a,pp) \ -        i2d_ASN1_bytes((ASN1_STRING *)a,pp,V_ASN1_IA5STRING,\ -            V_ASN1_UNIVERSAL) +		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) +		(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_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((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_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(\ -    (ASN1_STRING *)a) +	(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_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((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_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) +		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) +		(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_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) +		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) +		(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_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) +		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) +		(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_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) +		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) +		(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_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) +		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) +		(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 +#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); -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); +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); -ASN1_STRING *   ASN1_STRING_dup(ASN1_STRING *a); -ASN1_STRING *   ASN1_STRING_type_new(int type ); -int         ASN1_STRING_cmp(ASN1_STRING *a, ASN1_STRING *b); +ASN1_STRING *	ASN1_STRING_new(void); +void		ASN1_STRING_free(ASN1_STRING *a); +ASN1_STRING *	ASN1_STRING_dup(ASN1_STRING *a); +ASN1_STRING *	ASN1_STRING_type_new(int type ); +int 		ASN1_STRING_cmp(ASN1_STRING *a, 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); +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(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); +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); +			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);  #ifndef OPENSSL_NO_BIO  int ASN1_BIT_STRING_name_print(BIO *out, ASN1_BIT_STRING *bs, -                BIT_STRING_BITNAME *tbl, int indent); +				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); +				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); +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); +int		i2c_ASN1_INTEGER(ASN1_INTEGER *a,unsigned char **pp);  ASN1_INTEGER *c2i_ASN1_INTEGER(ASN1_INTEGER **a,const unsigned char **pp, -            long length); +			long length);  ASN1_INTEGER *d2i_ASN1_UINTEGER(ASN1_INTEGER **a,const unsigned char **pp, -            long length); -ASN1_INTEGER *  ASN1_INTEGER_dup(ASN1_INTEGER *x); +			long length); +ASN1_INTEGER *	ASN1_INTEGER_dup(ASN1_INTEGER *x);  int ASN1_INTEGER_cmp(ASN1_INTEGER *x, ASN1_INTEGER *y);  DECLARE_ASN1_FUNCTIONS(ASN1_ENUMERATED) @@ -812,9 +838,9 @@ ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s,time_t t)  int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str);  DECLARE_ASN1_FUNCTIONS(ASN1_OCTET_STRING) -ASN1_OCTET_STRING * ASN1_OCTET_STRING_dup(ASN1_OCTET_STRING *a); -int     ASN1_OCTET_STRING_cmp(ASN1_OCTET_STRING *a, ASN1_OCTET_STRING *b); -int     ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, int len); +ASN1_OCTET_STRING *	ASN1_OCTET_STRING_dup(ASN1_OCTET_STRING *a); +int 	ASN1_OCTET_STRING_cmp(ASN1_OCTET_STRING *a, 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) @@ -844,10 +870,10 @@ int ASN1_TIME_check(ASN1_TIME *t);  ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *t, ASN1_GENERALIZEDTIME **out);  int i2d_ASN1_SET(STACK *a, unsigned char **pp, -         i2d_of_void *i2d, int ex_tag, int ex_class, int is_set); -STACK * d2i_ASN1_SET(STACK **a, const unsigned char **pp, long length, -             d2i_of_void *d2i, void (*free_func)(void *), -             int ex_tag, int ex_class); +		 i2d_of_void *i2d, int ex_tag, int ex_class, int is_set); +STACK *	d2i_ASN1_SET(STACK **a, const unsigned char **pp, long length, +		     d2i_of_void *d2i, void (*free_func)(void *), +		     int ex_tag, int ex_class);  #ifndef OPENSSL_NO_BIO  int i2a_ASN1_INTEGER(BIO *bp, ASN1_INTEGER *a); @@ -862,7 +888,7 @@ 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); +	const char *sn, const char *ln);  int ASN1_INTEGER_set(ASN1_INTEGER *a, long v);  long ASN1_INTEGER_get(ASN1_INTEGER *a); @@ -880,11 +906,11 @@ 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); +	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); +		long length,int type);  /* PARSING */  int asn1_Finish(ASN1_CTX *c); @@ -892,33 +918,57 @@ 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 *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 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, char *x); +  #define ASN1_dup_of(type,i2d,d2i,x) \ -    ((type *(*)(I2D_OF(type),D2I_OF(type),type *))openssl_fcast(ASN1_dup))(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 *(*)(I2D_OF_const(type),D2I_OF(type),type *))openssl_fcast(ASN1_dup))(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 *(*)(type *(*)(void),D2I_OF(type),FILE *,type **))openssl_fcast(ASN1_d2i_fp))(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) \ -    ((int (*)(I2D_OF(type),FILE *,type *))openssl_fcast(ASN1_i2d_fp))(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) \ -    ((int (*)(I2D_OF_const(type),FILE *,type *))openssl_fcast(ASN1_i2d_fp))(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 @@ -927,14 +977,26 @@ 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 *(*)(type *(*)(void),D2I_OF(type),BIO *,type **))openssl_fcast(ASN1_d2i_bio))(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) \ -    ((int (*)(I2D_OF(type),BIO *,type *))openssl_fcast(ASN1_i2d_bio))(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) \ -    ((int (*)(I2D_OF_const(type),BIO *,const type *))openssl_fcast(ASN1_i2d_bio))(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,ASN1_UTCTIME *a);  int ASN1_GENERALIZEDTIME_print(BIO *fp,ASN1_GENERALIZEDTIME *a); @@ -961,37 +1023,41 @@ ASN1_METHOD *ASN1_IA5STRING_asn1_meth(void);  ASN1_METHOD *ASN1_BIT_STRING_asn1_meth(void);  int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, -    unsigned char *data, int len); +	unsigned char *data, int len);  int ASN1_TYPE_get_octetstring(ASN1_TYPE *a, -    unsigned char *data, int max_len); +	unsigned char *data, int max_len);  int ASN1_TYPE_set_int_octetstring(ASN1_TYPE *a, long num, -    unsigned char *data, int len); +	unsigned char *data, int len);  int ASN1_TYPE_get_int_octetstring(ASN1_TYPE *a,long *num, -    unsigned char *data, int max_len); +	unsigned char *data, int max_len);  STACK *ASN1_seq_unpack(const unsigned char *buf, int len, -               d2i_of_void *d2i, void (*free_func)(void *)); +		       d2i_of_void *d2i, void (*free_func)(void *));  unsigned char *ASN1_seq_pack(STACK *safes, i2d_of_void *i2d, -                 unsigned char **buf, int *len ); +			     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); +			      ASN1_OCTET_STRING **oct); +  #define ASN1_pack_string_of(type,obj,i2d,oct) \ -    ((ASN1_STRING *(*)(type *,I2D_OF(type),ASN1_OCTET_STRING **))openssl_fcast(ASN1_pack_string))(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(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 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); +					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 *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); @@ -1010,6 +1076,16 @@ 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); +typedef int asn1_output_data_fn(BIO *out, BIO *data, ASN1_VALUE *val, int flags, +					const ASN1_ITEM *it); + +int int_smime_write_ASN1(BIO *bio, ASN1_VALUE *val, BIO *data, int flags, +				int ctype_nid, int econt_nid, +				STACK_OF(X509_ALGOR) *mdalgs, +				asn1_output_data_fn *data_fn, +				const ASN1_ITEM *it); +ASN1_VALUE *SMIME_read_ASN1(BIO *bio, BIO **bcont, const ASN1_ITEM *it); +  /* 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. @@ -1019,216 +1095,232 @@ 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_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_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_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_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_SET              187 -#define ASN1_F_ASN1_VERIFY               137 -#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_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_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                167 -#define ASN1_F_PKCS5_PBE_SET                 202 -#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 +#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_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_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				 207 +#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_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_SET				 187 +#define ASN1_F_ASN1_VERIFY				 137 +#define ASN1_F_B64_READ_ASN1				 208 +#define ASN1_F_B64_WRITE_ASN1				 209 +#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_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_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				 167 +#define ASN1_F_PKCS5_PBE_SET				 202 +#define ASN1_F_SMIME_READ_ASN1				 210 +#define ASN1_F_SMIME_TEXT				 211 +#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_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_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_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_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_MODIFIER              186 -#define ASN1_R_INVALID_NUMBER                187 -#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_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_MATCHING_CHOICE_TYPE           143 -#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_STRING_TOO_LONG               151 -#define ASN1_R_STRING_TOO_SHORT              152 -#define ASN1_R_TAG_VALUE_TOO_HIGH            153 +#define ASN1_R_ADDING_OBJECT				 171 +#define ASN1_R_ASN1_PARSE_ERROR				 198 +#define ASN1_R_ASN1_SIG_PARSE_ERROR			 199 +#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_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_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_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			 200 +#define ASN1_R_INVALID_MODIFIER				 186 +#define ASN1_R_INVALID_NUMBER				 187 +#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			 201 +#define ASN1_R_MIME_PARSE_ERROR				 202 +#define ASN1_R_MIME_SIG_PARSE_ERROR			 203 +#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				 204 +#define ASN1_R_NO_MATCHING_CHOICE_TYPE			 143 +#define ASN1_R_NO_MULTIPART_BODY_FAILURE		 205 +#define ASN1_R_NO_MULTIPART_BOUNDARY			 206 +#define ASN1_R_NO_SIG_CONTENT_TYPE			 207 +#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			 208 +#define ASN1_R_STREAMING_NOT_SUPPORTED			 209 +#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_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_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_TAG                 168 -#define ASN1_R_WRONG_TYPE                169 +#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_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_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_TAG				 168 +#define ASN1_R_WRONG_TYPE				 169  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/asn1t.h b/dep/include/openssl/asn1t.h index bf4ea43fb8e..ac14f9415b8 100644 --- a/dep/include/openssl/asn1t.h +++ b/dep/include/openssl/asn1t.h @@ -1,5 +1,5 @@  /* asn1t.h */ -/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL   * project 2000.   */  /* ==================================================================== @@ -10,7 +10,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -83,10 +83,10 @@ extern "C" {  /* Macros for start and end of ASN1_ITEM definition */  #define ASN1_ITEM_start(itname) \ -    OPENSSL_GLOBAL const ASN1_ITEM itname##_it = { +	OPENSSL_GLOBAL const ASN1_ITEM itname##_it = {  #define ASN1_ITEM_end(itname) \ -        }; +		};  #else @@ -97,14 +97,14 @@ extern "C" {  /* 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 = { +	const ASN1_ITEM * itname##_it(void) \ +	{ \ +		static const ASN1_ITEM local_it = {   #define ASN1_ITEM_end(itname) \ -        }; \ -    return &local_it; \ -    } +		}; \ +	return &local_it; \ +	}  #endif @@ -112,90 +112,93 @@ extern "C" {  /* Macros to aid ASN1 template writing */  #define ASN1_ITEM_TEMPLATE(tname) \ -    static const ASN1_TEMPLATE tname##_item_tt +	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) +	;\ +	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) + * 	ASN1_SEQUENCE(stname) = { + * 		... SEQUENCE components ... + * 	} ASN1_SEQUENCE_END(stname)   * - *  This will produce an ASN1_ITEM called stname_it - *  for a structure called 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: + * 	If you want the same structure but a different + *	name then use:   * - *  ASN1_SEQUENCE(itname) = { - *      ... SEQUENCE components ... - *  } ASN1_SEQUENCE_END_name(stname, itname) + * 	ASN1_SEQUENCE(itname) = { + * 		... SEQUENCE components ... + * 	} ASN1_SEQUENCE_END_name(stname, itname)   * - *  This will create an item called itname_it using - *  a structure called stname. + *	This will create an item called itname_it using + *	a structure called stname.   */  #define ASN1_SEQUENCE(tname) \ -    static const ASN1_TEMPLATE tname##_seq_tt[] +	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) +	;\ +	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) +	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) +	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) +	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) +	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) +	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) +	;\ +	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) @@ -204,101 +207,101 @@ extern "C" {  #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) +	;\ +	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)  /* 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; + * 	ASN1_CHOICE(chname) = { + * 		... CHOICE options ... + * 	ASN1_CHOICE_END(chname)   * - *  the name of the selector must be 'type'. - *  to use an alternative selector name use the + * 	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[] +	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) +	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) +	;\ +	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) +	;\ +	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) } +	(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) } +	(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) } +	(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) +		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) +		ASN1_EX_TYPE(ASN1_TFLG_EXPLICIT | ex, tag, stname, field, type)  /* Any defined by macros: the field used is in the table itself */ @@ -328,95 +331,99 @@ extern "C" {  /* SEQUENCE OF type */  #define ASN1_SEQUENCE_OF(stname, field, type) \ -        ASN1_EX_TYPE(ASN1_TFLG_SEQUENCE_OF, 0, 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) +		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) +		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) +		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) +			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) +			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) +			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) +			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) +			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) +			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) +			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) +			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) +			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[] +	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\ -    } +	;\ +	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) +	;\ +	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 +	static const ASN1_TEMPLATE name##_tt   /* This is the ASN1 template structure that defines   * a wrapper round the actual type. It determines the @@ -425,13 +432,13 @@ extern "C" {   */  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 */ +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 */ +const char *field_name;		/* Field name */  #endif -ASN1_ITEM_EXP *item;        /* Relevant ASN1_ITEM or ASN1_ADB */ +ASN1_ITEM_EXP *item;		/* Relevant ASN1_ITEM or ASN1_ADB */  };  /* Macro to extract ASN1_ITEM and ASN1_ADB pointer from ASN1_TEMPLATE */ @@ -443,40 +450,40 @@ 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 */ +	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 */ +	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) +#define ASN1_TFLG_OPTIONAL	(0x1)  /* Field is a SET OF */ -#define ASN1_TFLG_SET_OF    (0x1 << 1) +#define ASN1_TFLG_SET_OF	(0x1 << 1)  /* Field is a SEQUENCE OF */ -#define ASN1_TFLG_SEQUENCE_OF   (0x2 << 1) +#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) +#define ASN1_TFLG_SET_ORDER	(0x3 << 1)  /* Mask for SET OF or SEQUENCE OF */ -#define ASN1_TFLG_SK_MASK   (0x3 << 1) +#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 @@ -484,36 +491,36 @@ struct ASN1_ADB_TABLE_st {   */  /* IMPLICIT tagging */ -#define ASN1_TFLG_IMPTAG    (0x1 << 3) +#define ASN1_TFLG_IMPTAG	(0x1 << 3)  /* EXPLICIT tagging, inner tag from underlying type */ -#define ASN1_TFLG_EXPTAG    (0x2 << 3) +#define ASN1_TFLG_EXPTAG	(0x2 << 3) -#define ASN1_TFLG_TAG_MASK  (0x3 << 3) +#define ASN1_TFLG_TAG_MASK	(0x3 << 3)  /* context specific IMPLICIT */ -#define ASN1_TFLG_IMPLICIT  ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT +#define ASN1_TFLG_IMPLICIT	ASN1_TFLG_IMPTAG|ASN1_TFLG_CONTEXT  /* context specific EXPLICIT */ -#define ASN1_TFLG_EXPLICIT  ASN1_TFLG_EXPTAG|ASN1_TFLG_CONTEXT +#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 + * 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) +/* 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) +#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 @@ -521,11 +528,11 @@ struct ASN1_ADB_TABLE_st {   * relevant type   */ -#define ASN1_TFLG_ADB_MASK  (0x3<<8) +#define ASN1_TFLG_ADB_MASK	(0x3<<8) -#define ASN1_TFLG_ADB_OID   (0x1<<8) +#define ASN1_TFLG_ADB_OID	(0x1<<8) -#define ASN1_TFLG_ADB_INT   (0x1<<9) +#define ASN1_TFLG_ADB_INT	(0x1<<9)  /* This flag means a parent structure is passed   * instead of the field: this is useful is a @@ -535,26 +542,26 @@ struct ASN1_ADB_TABLE_st {   * ASN1_CHOICE_END_name() macro for example.   */ -#define ASN1_TFLG_COMBINE   (0x1<<10) +#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) +#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)*/ +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 */ +const char *sname;		/* Structure name */  #endif  }; @@ -564,7 +571,7 @@ const char *sname;      /* Structure name */   * For PRIMITIVE types the underlying type   * determines the behaviour if items is NULL.   * - * Otherwise templates must contain a single + * Otherwise templates must contain a single    * template and the type is treated in the   * same way as the type specified in the template.   * @@ -578,7 +585,7 @@ const char *sname;      /* Structure name */   * selector.   *   * The 'funcs' field is used for application - * specific functions. + * specific functions.    *   * For COMPAT types the funcs field gives a   * set of functions that handle this type, this @@ -602,19 +609,19 @@ const char *sname;      /* Structure name */   *   */ -#define ASN1_ITYPE_PRIMITIVE        0x0 +#define ASN1_ITYPE_PRIMITIVE		0x0 -#define ASN1_ITYPE_SEQUENCE     0x1 +#define ASN1_ITYPE_SEQUENCE		0x1 -#define ASN1_ITYPE_CHOICE       0x2 +#define ASN1_ITYPE_CHOICE		0x2 -#define ASN1_ITYPE_COMPAT       0x3 +#define ASN1_ITYPE_COMPAT		0x3 -#define ASN1_ITYPE_EXTERN       0x4 +#define ASN1_ITYPE_EXTERN		0x4 -#define ASN1_ITYPE_MSTRING      0x5 +#define ASN1_ITYPE_MSTRING		0x5 -#define ASN1_ITYPE_NDEF_SEQUENCE    0x6 +#define ASN1_ITYPE_NDEF_SEQUENCE	0x6  /* Cache for ASN1 tag and length, so we   * don't keep re-reading it for things @@ -622,12 +629,12 @@ const char *sname;      /* Structure name */   */  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 */ +	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 */ @@ -638,7 +645,7 @@ typedef ASN1_VALUE * ASN1_d2i_func(ASN1_VALUE **a, const unsigned char ** in, lo  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); +					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); @@ -648,29 +655,29 @@ typedef int ASN1_primitive_i2c(ASN1_VALUE **pval, unsigned char *cont, int *puty  typedef int ASN1_primitive_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len, int utype, char *free_cont, const ASN1_ITEM *it);  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_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; +	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_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; +	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_FUNCS;  /* This is the ASN1_AUX structure: it handles various @@ -683,7 +690,7 @@ typedef struct ASN1_PRIMITIVE_FUNCS_st {   * 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 + * it is assumed a fatal error has occurred and the    * main operation should be abandoned.   *   * If major changes in the default behaviour are required @@ -693,78 +700,78 @@ typedef struct ASN1_PRIMITIVE_FUNCS_st {  typedef int ASN1_aux_cb(int operation, ASN1_VALUE **in, const ASN1_ITEM *it);  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 */ +	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;  /* Flags in ASN1_AUX */  /* Use a reference count */ -#define ASN1_AFLG_REFCOUNT  1 +#define ASN1_AFLG_REFCOUNT	1  /* Save the encoding of structure (useful for signatures) */ -#define ASN1_AFLG_ENCODING  2 +#define ASN1_AFLG_ENCODING	2  /* The Sequence length is invalid */ -#define ASN1_AFLG_BROKEN    4 +#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_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  /* 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) +				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) +				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) +	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) +	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 */ @@ -773,66 +780,66 @@ typedef struct ASN1_AUX_st {  #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) +			IMPLEMENT_ASN1_FUNCTIONS_ENCODE_fname(stname, itname, itname)  #define IMPLEMENT_ASN1_ALLOC_FUNCTIONS(stname) \ -        IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname) +		IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, stname, stname)  #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)); \ -    } +	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) +	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));\ -    } +	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));\ -    } +	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));\ -    } +	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) \ +	stname * stname##_dup(stname *x) \          { \          return ASN1_item_dup(ASN1_ITEM_rptr(stname), x); \          }  #define IMPLEMENT_ASN1_FUNCTIONS_const(name) \ -        IMPLEMENT_ASN1_FUNCTIONS_const_fname(name, name, 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) +	IMPLEMENT_ASN1_ENCODE_FUNCTIONS_const_fname(stname, itname, fname) \ +	IMPLEMENT_ASN1_ALLOC_FUNCTIONS_fname(stname, itname, fname)  /* external definitions for primitive types */ @@ -857,7 +864,7 @@ 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 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); @@ -884,4 +891,3 @@ int asn1_enc_save(ASN1_VALUE **pval, const unsigned char *in, int inlen, const A  }  #endif  #endif - diff --git a/dep/include/openssl/bio.h b/dep/include/openssl/bio.h index 960b77ba101..cecb6a72077 100644 --- a/dep/include/openssl/bio.h +++ b/dep/include/openssl/bio.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -73,64 +73,65 @@ 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) - -#define BIO_TYPE_DESCRIPTOR 0x0100  /* socket, fd, connect or accept */ -#define BIO_TYPE_FILTER     0x0200 -#define BIO_TYPE_SOURCE_SINK    0x0400 +#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) +#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 +#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 */ +#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_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 */ +#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 */ +					  * 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 */ @@ -138,7 +139,7 @@ extern "C" {  #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 */ @@ -146,55 +147,55 @@ extern "C" {  #define BIO_CTRL_DGRAM_QUERY_MTU          40 /* as kernel for current MTU */  #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 */ +					      * 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 */ +					      * was exceed in the +					      * previous write +					      * operation */  #define BIO_CTRL_DGRAM_SET_PEER           44 /* Destination for the data */  /* 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_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 +#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 +#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 +#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_PROTOCOL_STARTUP	0x40   */ -#define BIO_FLAGS_BASE64_NO_NL  0x100 +#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 +#define BIO_FLAGS_MEM_RDONLY	0x200  typedef struct bio_st BIO; @@ -204,55 +205,55 @@ 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)) +		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)) +		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)) +		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)) +		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)) +		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) +#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 + * 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 +#define BIO_RR_SSL_X509_LOOKUP		0x01  /* Returned from the connect BIO when a connect would have blocked */ -#define BIO_RR_CONNECT          0x02 +#define BIO_RR_CONNECT			0x02  /* Returned from the accept BIO when an accept would have blocked */ -#define BIO_RR_ACCEPT           0x03 +#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 +#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	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) +#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)); +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); @@ -263,172 +264,172 @@ typedef void bio_info_cb(struct bio_st *, int, const char *, int, long, long);  #ifndef OPENSSL_SYS_WIN16  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 *); +	{ +	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; +	} BIO_METHOD;  #else  typedef struct bio_method_st -    { -    int type; -    const char *name; -    int (_far *bwrite)(); -    int (_far *bread)(); -    int (_far *bputs)(); -    int (_far *bgets)(); -    long (_far *ctrl)(); -    int (_far *create)(); -    int (_far *destroy)(); -    long (_far *callback_ctrl)(); -    } BIO_METHOD; +	{ +	int type; +	const char *name; +	int (_far *bwrite)(); +	int (_far *bread)(); +	int (_far *bputs)(); +	int (_far *bgets)(); +	long (_far *ctrl)(); +	int (_far *create)(); +	int (_far *destroy)(); +	long (_far *callback_ctrl)(); +	} BIO_METHOD;  #endif  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; -    }; +	{ +	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 -    { -    /* 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 */ +	{ +	/* 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 *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; +	char *obuf;		/* the char array */ +	int obuf_len;		/* how many bytes are in it */ +	int obuf_off;		/* write/read offset */ +	} BIO_F_BUFFER_CTX;  /* 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_set_app_data(s,arg)     BIO_set_ex_data(s,0,arg) -#define BIO_get_app_data(s)     BIO_get_ex_data(s,0) +#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_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_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_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) -#define BIO_set_nbio(b,n)   BIO_ctrl(b,BIO_C_SET_NBIO,(n),NULL) +#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_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)?"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_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) +#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)) +#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); */ @@ -438,17 +439,17 @@ typedef struct bio_f_buffer_ctx_struct  #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_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_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_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) +#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 */ @@ -459,60 +460,60 @@ typedef struct bio_f_buffer_ctx_struct  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) +		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) +		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) +		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) +		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(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); +	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); +	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); +	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_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_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) +				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_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) +#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_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) +						   cbp)  #define BIO_set_info_callback(b,cb) (int)BIO_callback_ctrl(b,BIO_CTRL_SET_CALLBACK,cb)  /* For the BIO_f_buffer() type */ @@ -549,7 +550,7 @@ int BIO_ctrl_reset_read_request(BIO *b);  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); +	CRYPTO_EX_dup *dup_func, CRYPTO_EX_free *free_func);  unsigned long BIO_number_read(BIO *bio);  unsigned long BIO_number_written(BIO *bio); @@ -558,39 +559,39 @@ unsigned long BIO_number_written(BIO *bio);  BIO_METHOD *BIO_s_file_internal(void);  BIO *BIO_new_file_internal(char *filename, char *mode);  BIO *BIO_new_fp_internal(FILE *stream, int close_flag); -#    define BIO_s_file  BIO_s_file_internal -#    define BIO_new_file    BIO_new_file_internal -#    define BIO_new_fp  BIO_new_fp_internal +#    define BIO_s_file	BIO_s_file_internal +#    define BIO_new_file	BIO_new_file_internal +#    define BIO_new_fp	BIO_new_fp_internal  #  else /* 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 -#    define BIO_new_file_internal   BIO_new_file -#    define BIO_new_fp_internal     BIO_s_file +#    define BIO_s_file_internal		BIO_s_file +#    define BIO_new_file_internal	BIO_new_file +#    define BIO_new_fp_internal		BIO_s_file  #  endif /* FP_API */  # 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); +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); +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); @@ -599,10 +600,10 @@ int BIO_nwrite(BIO *bio, char **buf, int num);  #ifndef OPENSSL_SYS_WIN16  long BIO_debug_callback(BIO *bio,int cmd,const char *argp,int argi, -    long argl,long ret); +	long argl,long ret);  #else  long _far _loadds BIO_debug_callback(BIO *bio,int cmd,const char *argp,int argi, -    long argl,long ret); +	long argl,long ret);  #endif  BIO_METHOD *BIO_s_mem(void); @@ -635,9 +636,9 @@ 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); +		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); +		       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 @@ -671,7 +672,7 @@ 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); +	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. @@ -687,13 +688,13 @@ void BIO_copy_next_retry(BIO *b);  #  define __bio_h__attr__(x)  #endif  int BIO_printf(BIO *bio, const char *format, ...) -    __bio_h__attr__((__format__(__printf__,2,3))); +	__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))); +	__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))); +	__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))); +	__bio_h__attr__((__format__(__printf__,3,0)));  #undef __bio_h__attr__  /* BEGIN ERROR CODES */ @@ -705,72 +706,71 @@ 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_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 +#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_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 +#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/dep/include/openssl/blowfish.h b/dep/include/openssl/blowfish.h index f57474eb60b..d24ffccb65f 100644 --- a/dep/include/openssl/blowfish.h +++ b/dep/include/openssl/blowfish.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -69,8 +69,8 @@ extern "C" {  #error BF is disabled.  #endif -#define BF_ENCRYPT  1 -#define BF_DECRYPT  0 +#define BF_ENCRYPT	1 +#define BF_DECRYPT	0  /*   * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! @@ -89,35 +89,37 @@ extern "C" {   * 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... - *                  <appro@fy.chalmers.se> + *					<appro@fy.chalmers.se>   */  #else  #define BF_LONG unsigned int  #endif -#define BF_ROUNDS   16 -#define BF_BLOCK    8 +#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; - +	{ +	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); +	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); +	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); +	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 BF_KEY *schedule, unsigned char *ivec, int *num);  const char *BF_options(void);  #ifdef  __cplusplus @@ -125,4 +127,3 @@ const char *BF_options(void);  #endif  #endif - diff --git a/dep/include/openssl/bn.h b/dep/include/openssl/bn.h index 08962f7df00..f1719a5877f 100644 --- a/dep/include/openssl/bn.h +++ b/dep/include/openssl/bn.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -58,13 +58,13 @@  /* ====================================================================   * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.   * - * Portions of the attached software ("Contribution") are developed by + * 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 + * The binary polynomial arithmetic software is originally written by    * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories.   *   */ @@ -120,23 +120,23 @@ extern "C" {   * 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_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  #endif  /* This is where the long long data type is 64 bits, but long is 32. @@ -147,111 +147,121 @@ extern "C" {  #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_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  #endif  #ifdef THIRTY_TWO_BIT  #ifdef BN_LLONG  # if defined(OPENSSL_SYS_WIN32) && !defined(__GNUC__) -#  define BN_ULLONG unsigned __int64 +#  define BN_ULLONG	unsigned __int64  # else -#  define BN_ULLONG unsigned long long +#  define BN_ULLONG	unsigned long long  # endif  #endif -#define BN_ULONG    unsigned long -#define BN_LONG     long -#define BN_BITS     64 -#define BN_BYTES    4 -#define BN_BITS2    32 -#define BN_BITS4    16 +#define BN_ULONG	unsigned long +#define BN_LONG		long +#define BN_BITS		64 +#define BN_BYTES	4 +#define BN_BITS2	32 +#define BN_BITS4	16  #ifdef OPENSSL_SYS_WIN32  /* VC++ doesn't like the LL suffix */ -#define BN_MASK     (0xffffffffffffffffL) +#define BN_MASK		(0xffffffffffffffffL)  #else -#define BN_MASK     (0xffffffffffffffffLL) +#define BN_MASK		(0xffffffffffffffffLL)  #endif -#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 "%lu" -#define BN_DEC_FMT2 "%09lu" -#define BN_DEC_NUM  9 +#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	"%lu" +#define BN_DEC_FMT2	"%09lu" +#define BN_DEC_NUM	9  #endif  #ifdef SIXTEEN_BIT  #ifndef BN_DIV2W  #define BN_DIV2W  #endif -#define BN_ULLONG   unsigned long -#define BN_ULONG    unsigned short -#define BN_LONG     short -#define BN_BITS     32 -#define BN_BYTES    2 -#define BN_BITS2    16 -#define BN_BITS4    8 -#define BN_MASK     (0xffffffff) -#define BN_MASK2    (0xffff) -#define BN_MASK2l   (0xff) -#define BN_MASK2h1  (0xff80) -#define BN_MASK2h   (0xff00) -#define BN_TBIT     (0x8000) -#define BN_DEC_CONV (100000) -#define BN_DEC_FMT1 "%u" -#define BN_DEC_FMT2 "%05u" -#define BN_DEC_NUM  5 +#define BN_ULLONG	unsigned long +#define BN_ULONG	unsigned short +#define BN_LONG		short +#define BN_BITS		32 +#define BN_BYTES	2 +#define BN_BITS2	16 +#define BN_BITS4	8 +#define BN_MASK		(0xffffffff) +#define BN_MASK2	(0xffff) +#define BN_MASK2l	(0xff) +#define BN_MASK2h1	(0xff80) +#define BN_MASK2h	(0xff00) +#define BN_TBIT		(0x8000) +#define BN_DEC_CONV	(100000) +#define BN_DEC_FMT1	"%u" +#define BN_DEC_FMT2	"%05u" +#define BN_DEC_NUM	5  #endif  #ifdef EIGHT_BIT  #ifndef BN_DIV2W  #define BN_DIV2W  #endif -#define BN_ULLONG   unsigned short -#define BN_ULONG    unsigned char -#define BN_LONG     char -#define BN_BITS     16 -#define BN_BYTES    1 -#define BN_BITS2    8 -#define BN_BITS4    4 -#define BN_MASK     (0xffff) -#define BN_MASK2    (0xff) -#define BN_MASK2l   (0xf) -#define BN_MASK2h1  (0xf8) -#define BN_MASK2h   (0xf0) -#define BN_TBIT     (0x80) -#define BN_DEC_CONV (100) -#define BN_DEC_FMT1 "%u" -#define BN_DEC_FMT2 "%02u" -#define BN_DEC_NUM  2 +#define BN_ULLONG	unsigned short +#define BN_ULONG	unsigned char +#define BN_LONG		char +#define BN_BITS		16 +#define BN_BYTES	1 +#define BN_BITS2	8 +#define BN_BITS4	4 +#define BN_MASK		(0xffff) +#define BN_MASK2	(0xff) +#define BN_MASK2l	(0xf) +#define BN_MASK2h1	(0xf8) +#define BN_MASK2h	(0xf0) +#define BN_TBIT		(0x80) +#define BN_DEC_CONV	(100) +#define BN_DEC_FMT1	"%u" +#define BN_DEC_FMT2	"%02u" +#define BN_DEC_NUM	2  #endif -#define BN_DEFAULT_BITS 1280 +#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. +                                      */ -#define BN_FLG_MALLOCED     0x01 -#define BN_FLG_STATIC_DATA  0x02 -#define BN_FLG_EXP_CONSTTIME    0x04 /* avoid leaking exponent information through timings +#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 */ +#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)) +#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!) */ @@ -276,69 +286,74 @@ 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; -    }; +	{ +	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;   /* least significant word of Ni */ -    int flags; -    }; +	{ +	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) */ +#if 0 +	/* OpenSSL 0.9.9 preview: */ +	BN_ULONG n0[2];/* least significant word(s) of Ni */ +#else +	BN_ULONG n0;   /* least significant word of Ni */ +#endif +	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; -    }; +	{ +	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; -    }; +	{ +	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); } +		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); } +		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 */ +			     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 @@ -358,183 +373,194 @@ int BN_GENCB_call(BN_GENCB *cb, int a, int b);                                  (b) >=  150 ? 18 : \                                  /* b >= 100 */ 27) -#define BN_num_bytes(a) ((BN_num_bits(a)+7)/8) +#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))) +				(((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_is_odd(a)	    (((a)->top > 0) && ((a)->d[0] & 1)) -#define BN_one(a)   (BN_set_word((a),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) +	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) +#define BN_zero(a)	BN_zero_ex(a)  #else -#define BN_zero(a)  (BN_set_word((a),0)) +#define BN_zero(a)	(BN_set_word((a),0))  #endif  const BIGNUM *BN_value_one(void); -char *  BN_options(void); +char *	BN_options(void);  BN_CTX *BN_CTX_new(void);  #ifndef OPENSSL_NO_DEPRECATED -void    BN_CTX_init(BN_CTX *c); +void	BN_CTX_init(BN_CTX *c);  #endif -void    BN_CTX_free(BN_CTX *c); -void    BN_CTX_start(BN_CTX *ctx); +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); +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, BIGNUM *range); -int BN_pseudo_rand_range(BIGNUM *rnd, BIGNUM *range); -int BN_num_bits(const BIGNUM *a); -int BN_num_bits_word(BN_ULONG); +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); +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); +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); +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); +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 + * \param  n  0 if the BIGNUM b should be positive and a value != 0 otherwise    */ -void    BN_set_negative(BIGNUM *b, int n); +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); +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); +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); +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_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); +	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); +int	BN_print_fp(FILE *fp, const BIGNUM *a);  #endif  #ifdef HEADER_BIO_H -int BN_print(BIO *fp, const BIGNUM *a); +int	BN_print(BIO *fp, const BIGNUM *a);  #else -int BN_print(void *fp, const BIGNUM *a); +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); +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_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 */ +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_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); +	const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx);  BIGNUM *BN_mod_sqrt(BIGNUM *ret, -    const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx); +	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); +	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_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)) +	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); +	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); +					const BIGNUM *mod, BN_CTX *ctx);  /* BN_BLINDING flags */ -#define BN_BLINDING_NO_UPDATE   0x00000001 -#define BN_BLINDING_NO_RECREATE 0x00000002 +#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); +BN_BLINDING *BN_BLINDING_new(const BIGNUM *A, const BIGNUM *Ai, /* const */ 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); @@ -546,28 +572,28 @@ void BN_BLINDING_set_thread_id(BN_BLINDING *, unsigned long);  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); +	const BIGNUM *e, /* const */ 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); +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); - -/* Functions for arithmetic over binary polynomials represented by BIGNUMs. +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); + +/* Functions for arithmetic over binary polynomials represented by BIGNUMs.    *   * The BIGNUM::neg property of BIGNUMs representing binary polynomials is   * ignored. @@ -576,49 +602,49 @@ int BN_div_recp(BIGNUM *dv, BIGNUM *rem, const BIGNUM *m,   * be expanded to the appropriate size if needed.   */ -int BN_GF2m_add(BIGNUM *r, const BIGNUM *a, const BIGNUM *b); /*r = a + b*/ +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 */ +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 unsigned int p[]); -    /* r = a mod p */ -int BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, -    const unsigned int p[], BN_CTX *ctx); /* r = (a * b) mod p */ -int BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const unsigned int p[], -    BN_CTX *ctx); /* r = (a * a) mod p */ -int BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const unsigned 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 unsigned 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 unsigned int p[], BN_CTX *ctx); /* r = (a ^ b) mod p */ -int BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, -    const unsigned int p[], BN_CTX *ctx); /* r = sqrt(a) mod p */ -int BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, -    const unsigned int p[], BN_CTX *ctx); /* r^2 + r = a mod p */ -int BN_GF2m_poly2arr(const BIGNUM *a, unsigned int p[], int max); -int BN_GF2m_arr2poly(const unsigned int p[], BIGNUM *a); - -/* faster mod functions for the 'NIST primes' +int	BN_GF2m_mod_arr(BIGNUM *r, const BIGNUM *a, const unsigned int p[]); +	/* r = a mod p */ +int	BN_GF2m_mod_mul_arr(BIGNUM *r, const BIGNUM *a, const BIGNUM *b, +	const unsigned int p[], BN_CTX *ctx); /* r = (a * b) mod p */ +int	BN_GF2m_mod_sqr_arr(BIGNUM *r, const BIGNUM *a, const unsigned int p[], +	BN_CTX *ctx); /* r = (a * a) mod p */ +int	BN_GF2m_mod_inv_arr(BIGNUM *r, const BIGNUM *b, const unsigned 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 unsigned 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 unsigned int p[], BN_CTX *ctx); /* r = (a ^ b) mod p */ +int	BN_GF2m_mod_sqrt_arr(BIGNUM *r, const BIGNUM *a, +	const unsigned int p[], BN_CTX *ctx); /* r = sqrt(a) mod p */ +int	BN_GF2m_mod_solve_quad_arr(BIGNUM *r, const BIGNUM *a, +	const unsigned int p[], BN_CTX *ctx); /* r^2 + r = a mod p */ +int	BN_GF2m_poly2arr(const BIGNUM *a, unsigned int p[], int max); +int	BN_GF2m_arr2poly(const unsigned int p[], BIGNUM *a); + +/* 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); @@ -635,7 +661,7 @@ 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)) +	(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 @@ -682,20 +708,20 @@ 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) +	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 @@ -703,35 +729,35 @@ int RAND_pseudo_bytes(unsigned char *buf,int num);  #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) +	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) +#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) +#define bn_fix_top(a)		bn_correct_top(a)  #endif  #define bn_correct_top(a) \          { \          BN_ULONG *ftl; \ -    if ((a)->top > 0) \ -        { \ -        for (ftl= &((a)->d[(a)->top-1]); (a)->top > 0; (a)->top--) \ -        if (*(ftl--)) break; \ -        } \ -    bn_pollute(a); \ -    } +	if ((a)->top > 0) \ +		{ \ +		for (ftl= &((a)->d[(a)->top-1]); (a)->top > 0; (a)->top--) \ +		if (*(ftl--)) break; \ +		} \ +	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); @@ -763,66 +789,67 @@ 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_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_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 +#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 +#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/dep/include/openssl/cast.h b/dep/include/openssl/cast.h index ba2bc25047c..1faf5806aac 100644 --- a/dep/include/openssl/cast.h +++ b/dep/include/openssl/cast.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -69,38 +69,39 @@ extern "C" {  #error CAST is disabled.  #endif -#define CAST_ENCRYPT    1 -#define CAST_DECRYPT    0 +#define CAST_ENCRYPT	1 +#define CAST_DECRYPT	0  #define CAST_LONG unsigned long -#define CAST_BLOCK  8 -#define CAST_KEY_LENGTH 16 +#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; - +	{ +	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,CAST_KEY *key, -              int enc); +		      int enc);  void CAST_encrypt(CAST_LONG *data,CAST_KEY *key);  void CAST_decrypt(CAST_LONG *data,CAST_KEY *key);  void CAST_cbc_encrypt(const unsigned char *in, unsigned char *out, long length, -              CAST_KEY *ks, unsigned char *iv, int enc); +		      CAST_KEY *ks, unsigned char *iv, int enc);  void CAST_cfb64_encrypt(const unsigned char *in, unsigned char *out, -            long length, CAST_KEY *schedule, unsigned char *ivec, -            int *num, int enc); -void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out, -            long length, CAST_KEY *schedule, unsigned char *ivec, -            int *num); +			long length, CAST_KEY *schedule, unsigned char *ivec, +			int *num, int enc); +void CAST_ofb64_encrypt(const unsigned char *in, unsigned char *out,  +			long length, CAST_KEY *schedule, unsigned char *ivec, +			int *num);  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/comp.h b/dep/include/openssl/comp.h index e99c87b238b..4b405c7d49e 100644 --- a/dep/include/openssl/comp.h +++ b/dep/include/openssl/comp.h @@ -11,42 +11,49 @@ extern "C" {  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; +	{ +	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; +	{ +	COMP_METHOD *meth; +	unsigned long compress_in; +	unsigned long compress_out; +	unsigned long expand_in; +	unsigned long expand_out; -    CRYPTO_EX_DATA  ex_data; -    }; +	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); +	unsigned char *in, int ilen);  int COMP_expand_block(COMP_CTX *ctx, unsigned char *out, int olen, -    unsigned char *in, int ilen); +	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 @@ -57,11 +64,17 @@ 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/dep/include/openssl/conf.h b/dep/include/openssl/conf.h index ac59b96f93d..8aa06bc5ecb 100644 --- a/dep/include/openssl/conf.h +++ b/dep/include/openssl/conf.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -72,11 +72,11 @@ extern "C" {  #endif  typedef struct -    { -    char *section; -    char *name; -    char *value; -    } CONF_VALUE; +	{ +	char *section; +	char *name; +	char *value; +	} CONF_VALUE;  DECLARE_STACK_OF(CONF_VALUE)  DECLARE_STACK_OF(CONF_MODULE) @@ -87,18 +87,18 @@ 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); -    }; +	{ +	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 */ @@ -109,11 +109,12 @@ typedef struct conf_module_st CONF_MODULE;  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_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 *hash); @@ -136,11 +137,11 @@ void OPENSSL_no_config(void);     If that wasn't the case, the above functions would have been replaced */  struct conf_st -    { -    CONF_METHOD *meth; -    void *meth_data; -    LHASH *data; -    }; +	{ +	CONF_METHOD *meth; +	void *meth_data; +	LHASH *data; +	};  CONF *NCONF_new(CONF_METHOD *meth);  CONF_METHOD *NCONF_default(void); @@ -159,28 +160,28 @@ 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); +		       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 */ +	 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); +		      unsigned long flags);  int CONF_modules_load_file(const char *filename, const char *appname, -               unsigned long flags); +			   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); +		    conf_finish_func *ffunc);  const char *CONF_imodule_get_name(const CONF_IMODULE *md);  const char *CONF_imodule_get_value(const CONF_IMODULE *md); @@ -195,7 +196,7 @@ 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); +	int (*list_cb)(const char *elem, int len, void *usr), void *arg);  void OPENSSL_load_builtin_modules(void); @@ -208,47 +209,46 @@ 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_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 +#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_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_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 +#define CONF_R_ERROR_LOADING_DSO			 110 +#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/dep/include/openssl/crypto.h b/dep/include/openssl/crypto.h index af624679b93..0e4fb0723ce 100644 --- a/dep/include/openssl/crypto.h +++ b/dep/include/openssl/crypto.h @@ -7,7 +7,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -58,21 +58,21 @@   * 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: @@ -87,10 +87,10 @@   *     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 + * 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 @@ -102,7 +102,7 @@   * 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 @@ -110,7 +110,7 @@   */  /* ====================================================================   * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by + * ECDH support in OpenSSL originally developed by    * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.   */ @@ -145,106 +145,112 @@ extern "C" {  /* 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 +#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); +					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); +					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); +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; +	{ +	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_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_NUM_LOCKS        39 - -#define CRYPTO_LOCK     1 -#define CRYPTO_UNLOCK       2 -#define CRYPTO_READ     4 -#define CRYPTO_WRITE        8 +#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 +#ifndef OPENSSL_FIPS +#define CRYPTO_NUM_LOCKS		39 +#else +#define CRYPTO_LOCK_FIPS		39 +#define CRYPTO_LOCK_FIPS2		40 +#define CRYPTO_NUM_LOCKS		41 +#endif + +#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__) +#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)) +#define CRYPTO_add(a,b,c)	((*(a))+=(b))  #endif  /* Some applications as well as some parts of OpenSSL need to allocate @@ -252,27 +258,27 @@ typedef struct openssl_item_st     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; +	{ +	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 */ +#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 */ +#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_THREAD	0x2 /* a bit */  #define V_CRYPTO_MDEBUG_ALL (V_CRYPTO_MDEBUG_TIME | V_CRYPTO_MDEBUG_THREAD) @@ -281,22 +287,22 @@ typedef struct  typedef struct bio_st BIO_dummy;  struct crypto_ex_data_st -    { -    STACK *sk; -    int dummy; /* gcc is screwing up this data structure :-( */ -    }; +	{ +	STACK *sk; +	int dummy; /* gcc is screwing up this data structure :-( */ +	};  /* 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; +	{ +	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) @@ -304,34 +310,34 @@ DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS)   * 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 +#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 +#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) +#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 */ @@ -341,39 +347,33 @@ DECLARE_STACK_OF(CRYPTO_EX_DATA_FUNCS)  /* 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) +void CRYPTO_malloc_debug_init(void);  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) +#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 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_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__) +	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__) +	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) +	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__) +	CRYPTO_malloc_locked((int)num,__FILE__,__LINE__)  #define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr) @@ -383,7 +383,7 @@ 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; +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) */ @@ -392,13 +392,13 @@ int CRYPTO_set_ex_data_implementation(const CRYPTO_EX_DATA_IMPL *i);  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); +		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); +		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) */ @@ -413,19 +413,22 @@ 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)); +					      const char *file,int line));  void (*CRYPTO_get_locking_callback(void))(int mode,int type,const char *file, -        int line); +		int line);  void CRYPTO_set_add_lock_callback(int (*func)(int *num,int mount,int type, -                          const char *file, int line)); +					      const char *file, int line));  int (*CRYPTO_get_add_lock_callback(void))(int *num,int mount,int type, -                      const char *file,int line); +					  const char *file,int line);  void CRYPTO_set_id_callback(unsigned long (*func)(void));  unsigned long (*CRYPTO_get_id_callback(void))(void);  unsigned long CRYPTO_thread_id(void);  const char *CRYPTO_get_lock_name(int type);  int CRYPTO_add_lock(int *pointer,int amount,int type, const char *file, -            int line); +		    int line); + +void int_CRYPTO_set_do_dynlock_callback( +	void (*do_dynlock_cb)(int mode, int type, const char *file, int line));  int CRYPTO_get_new_dynlockid(void);  void CRYPTO_destroy_dynlockid(int i); @@ -447,10 +450,14 @@ int CRYPTO_set_mem_ex_functions(void *(*m)(size_t,const char *,int),  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 (*r)(void *,void *,int,const char *,int,int), +				   void (*f)(void *,int), +				   void (*so)(long), +				   long (*go)(void)); +void CRYPTO_set_mem_info_functions( +	int  (*push_info_fn)(const char *info, const char *file, int line), +	int  (*pop_info_fn)(void), +	int (*remove_all_info_fn)(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), @@ -459,18 +466,19 @@ void CRYPTO_get_mem_ex_functions(void *(**m)(size_t,const char *,int),  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 (**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 *);  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 *);  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); +			   int line);  void *CRYPTO_remalloc(void *addr,int num, const char *file, int line);  void OPENSSL_cleanse(void *ptr, size_t len); @@ -489,8 +497,8 @@ int CRYPTO_remove_all_info(void);   * 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 + * 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); @@ -506,6 +514,9 @@ void CRYPTO_dbg_free(void *addr,int before_p);  void CRYPTO_dbg_set_options(long bits);  long CRYPTO_dbg_get_options(void); +int CRYPTO_dbg_push_info(const char *info, const char *file, int line); +int CRYPTO_dbg_pop_info(void); +int CRYPTO_dbg_remove_all_info(void);  #ifndef OPENSSL_NO_FP_API  void CRYPTO_mem_leaks_fp(FILE *); @@ -521,6 +532,61 @@ void OpenSSLDie(const char *file,int line,const char *assertion);  unsigned long *OPENSSL_ia32cap_loc(void);  #define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) +int OPENSSL_isservice(void); + +#ifdef OPENSSL_FIPS +#define FIPS_ERROR_IGNORED(alg) OpenSSLDie(__FILE__, __LINE__, \ +		alg " previous FIPS forbidden algorithm error ignored"); + +#define FIPS_BAD_ABORT(alg) OpenSSLDie(__FILE__, __LINE__, \ +		#alg " Algorithm forbidden in FIPS mode"); + +#ifdef OPENSSL_FIPS_STRICT +#define FIPS_BAD_ALGORITHM(alg) FIPS_BAD_ABORT(alg) +#else +#define FIPS_BAD_ALGORITHM(alg) \ +	{ \ +	FIPSerr(FIPS_F_HASH_FINAL,FIPS_R_NON_FIPS_METHOD); \ +	ERR_add_error_data(2, "Algorithm=", #alg); \ +	return 0; \ +	} +#endif + +/* Low level digest API blocking macro */ + +#define FIPS_NON_FIPS_MD_Init(alg) \ +	int alg##_Init(alg##_CTX *c) \ +		{ \ +		if (FIPS_mode()) \ +			FIPS_BAD_ALGORITHM(alg) \ +		return private_##alg##_Init(c); \ +		} \ +	int private_##alg##_Init(alg##_CTX *c) + +/* For ciphers the API often varies from cipher to cipher and each needs to + * be treated as a special case. Variable key length ciphers (Blowfish, RC4, + * CAST) however are very similar and can use a blocking macro. + */ + +#define FIPS_NON_FIPS_VCIPHER_Init(alg) \ +	void alg##_set_key(alg##_KEY *key, int len, const unsigned char *data) \ +		{ \ +		if (FIPS_mode()) \ +			FIPS_BAD_ABORT(alg) \ +		private_##alg##_set_key(key, len, data); \ +		} \ +	void private_##alg##_set_key(alg##_KEY *key, int len, \ +					const unsigned char *data) + +#else + +#define FIPS_NON_FIPS_VCIPHER_Init(alg) \ +	void alg##_set_key(alg##_KEY *key, int len, const unsigned char *data) + +#define FIPS_NON_FIPS_MD_Init(alg) \ +	int alg##_Init(alg##_CTX *c)  + +#endif /* def OPENSSL_FIPS */  /* BEGIN ERROR CODES */  /* The following lines are auto generated by the script mkerr.pl. Any changes @@ -528,24 +594,26 @@ unsigned long *OPENSSL_ia32cap_loc(void);   */  void ERR_load_CRYPTO_strings(void); +#define OPENSSL_HAVE_INIT	1 +void OPENSSL_init(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_INT_DUP_EX_DATA             106 -#define CRYPTO_F_INT_FREE_EX_DATA            107 -#define CRYPTO_F_INT_NEW_EX_DATA             108 +#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_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_NO_DYNLOCK_CREATE_CALLBACK      100 +#define CRYPTO_R_NO_DYNLOCK_CREATE_CALLBACK		 100  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/des.h b/dep/include/openssl/des.h index 31ec76509ee..92b66635998 100644 --- a/dep/include/openssl/des.h +++ b/dep/include/openssl/des.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -59,8 +59,8 @@  #ifndef HEADER_NEW_DES_H  #define HEADER_NEW_DES_H -#include <openssl/e_os2.h>  /* OPENSSL_EXTERN, OPENSSL_NO_DES, -                   DES_LONG (via openssl/opensslconf.h */ +#include <openssl/e_os2.h>	/* OPENSSL_EXTERN, OPENSSL_NO_DES, +				   DES_LONG (via openssl/opensslconf.h */  #ifdef OPENSSL_NO_DES  #error DES is disabled. @@ -83,12 +83,12 @@ typedef /* const */ unsigned char const_DES_cblock[8];  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_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 @@ -101,117 +101,118 @@ typedef struct DES_ks  # include <openssl/des_old.h>  #endif -#define DES_KEY_SZ  (sizeof(DES_cblock)) +#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_ENCRYPT	1 +#define DES_DECRYPT	0 -#define DES_CBC_MODE    0 -#define DES_PCBC_MODE   1 +#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)) +	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)) +	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)) +	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)) +	DES_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k1),(iv),(n)) -OPENSSL_DECLARE_GLOBAL(int,DES_check_key);  /* defaults to false */ +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 */ +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_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); +		       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); +		     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); +		      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); +		      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); +		     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. */ +		     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 :-). */ +/* 	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); +		  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); +		  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); +			   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); +			    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); +			  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); - +			    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); +		       DES_cblock *out_white); +#endif  int DES_enc_read(int fd,void *buf,int len,DES_key_schedule *sched, -         DES_cblock *iv); +		 DES_cblock *iv);  int DES_enc_write(int fd,const void *buf,int len,DES_key_schedule *sched, -          DES_cblock *iv); +		  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); +		     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); +		      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); +			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); @@ -226,14 +227,14 @@ void DES_set_key_unchecked(const_DES_cblock *key,DES_key_schedule *schedule);  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); +		       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); +		       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); +	int verify);  #define DES_fixup_key_parity DES_set_odd_parity @@ -242,4 +243,3 @@ int DES_read_2passwords(DES_cblock *key1, DES_cblock *key2, const char *prompt,  #endif  #endif - diff --git a/dep/include/openssl/des_old.h b/dep/include/openssl/des_old.h index 5961dae089d..2b2c3723549 100644 --- a/dep/include/openssl/des_old.h +++ b/dep/include/openssl/des_old.h @@ -42,7 +42,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -91,7 +91,7 @@  #ifndef HEADER_DES_H  #define HEADER_DES_H -#include <openssl/e_os2.h>  /* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG */ +#include <openssl/e_os2.h>	/* OPENSSL_EXTERN, OPENSSL_NO_DES, DES_LONG */  #ifdef OPENSSL_NO_DES  #error DES is disabled. @@ -122,116 +122,116 @@ extern "C" {  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]; +	{ +	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)) +	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)) +	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)) +	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)) +	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)) +	DES_ede3_ofb64_encrypt((i),(o),(l),&(k1),&(k2),&(k3),(iv),(n))  #define des_options()\ -    DES_options() +	DES_options()  #define des_cbc_cksum(i,o,l,k,iv)\ -    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)) +	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)) +	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)) +	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)) +	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)) +	DES_ecb_encrypt((i),(o),&(k),(e))  #define des_encrypt1(d,k,e)\ -    DES_encrypt1((d),&(k),(e)) +	DES_encrypt1((d),&(k),(e))  #define des_encrypt2(d,k,e)\ -    DES_encrypt2((d),&(k),(e)) +	DES_encrypt2((d),&(k),(e))  #define des_encrypt3(d,k1,k2,k3)\ -    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)) +	DES_decrypt3((d),&(k1),&(k2),&(k3))  #define des_xwhite_in2out(k,i,o)\ -    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)) +	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)) +	DES_enc_write((f),(b),(l),&(k),(iv))  #define des_fcrypt(b,s,r)\ -    DES_fcrypt((b),(s),(r)) +	DES_fcrypt((b),(s),(r))  #if 0  #define des_crypt(b,s)\ -    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)) +	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)) +	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)) +	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)) +	DES_quad_cksum((i),(o),(l),(c),(s))  #define des_random_seed(k)\ -    _ossl_096_des_random_seed((k)) +	_ossl_096_des_random_seed((k))  #define des_random_key(r)\ -    DES_random_key((r)) +	DES_random_key((r))  #define des_read_password(k,p,v) \ -    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)) +	DES_read_2passwords((k1),(k2),(p),(v))  #define des_set_odd_parity(k)\ -    DES_set_odd_parity((k)) +	DES_set_odd_parity((k))  #define des_check_key_parity(k)\ -    DES_check_key_parity((k)) +	DES_check_key_parity((k))  #define des_is_weak_key(k)\ -    DES_is_weak_key((k)) +	DES_is_weak_key((k))  #define des_set_key(k,ks)\ -    DES_set_key((k),&(ks)) +	DES_set_key((k),&(ks))  #define des_key_sched(k,ks)\ -    DES_key_sched((k),&(ks)) +	DES_key_sched((k),&(ks))  #define des_set_key_checked(k,ks)\ -    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)) +	DES_set_key_unchecked((k),&(ks))  #define des_string_to_key(s,k)\ -    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)) +	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)) +	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)) - +	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)) +	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)) +	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)) +	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)) +	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 @@ -241,92 +241,92 @@ typedef struct _ossl_old_des_ks_struct  #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)) +	_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)) +	_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)) +	_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)) +	_ossl_old_des_ede3_ofb64_encrypt((i),(o),(l),(k1),(k2),(k3),(iv),(n))  #define des_options()\ -    _ossl_old_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)) +	_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)) +	_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)) +	_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)) +	_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)) +	_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)) +	_ossl_old_des_ecb_encrypt((i),(o),(k),(e))  #define des_encrypt(d,k,e)\ -    _ossl_old_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)) +	_ossl_old_des_encrypt2((d),(k),(e))  #define des_encrypt3(d,k1,k2,k3)\ -    _ossl_old_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)) +	_ossl_old_des_decrypt3((d),(k1),(k2),(k3))  #define des_xwhite_in2out(k,i,o)\ -    _ossl_old_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)) +	_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)) +	_ossl_old_des_enc_write((f),(b),(l),(k),(iv))  #define des_fcrypt(b,s,r)\ -    _ossl_old_des_fcrypt((b),(s),(r)) +	_ossl_old_des_fcrypt((b),(s),(r))  #define des_crypt(b,s)\ -    _ossl_old_des_crypt((b),(s)) +	_ossl_old_des_crypt((b),(s))  #if 0  #define crypt(b,s)\ -    _ossl_old_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)) +	_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)) +	_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)) +	_ossl_old_des_quad_cksum((i),(o),(l),(c),(s))  #define des_random_seed(k)\ -    _ossl_old_des_random_seed((k)) +	_ossl_old_des_random_seed((k))  #define des_random_key(r)\ -    _ossl_old_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)) +	_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)) +	_ossl_old_des_read_2passwords((k1),(k2),(p),(v))  #define des_set_odd_parity(k)\ -    _ossl_old_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)) +	_ossl_old_des_is_weak_key((k))  #define des_set_key(k,ks)\ -    _ossl_old_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)) +	_ossl_old_des_key_sched((k),(ks))  #define des_string_to_key(s,k)\ -    _ossl_old_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)) +	_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)) +	_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)) - +	_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)) +	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)) +	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)) +	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)) +	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 @@ -334,60 +334,61 @@ typedef struct _ossl_old_des_ks_struct  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); +	_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); +	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); +	_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); +	_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); +	_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); +	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); +	_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); +	_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); +	_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); +	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); - +	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)); +	_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); +	_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); +	_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); +	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); +	_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); +	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); +	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); @@ -395,9 +396,9 @@ int _ossl_old_des_key_sched(_ossl_old_des_cblock *key,_ossl_old_des_key_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); +	_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); +	_ossl_old_des_key_schedule schedule, _ossl_old_des_cblock *ivec, int *num);  void _ossl_096_des_random_seed(des_cblock *key); @@ -443,4 +444,3 @@ void _ossl_096_des_random_seed(des_cblock *key);  #include <openssl/ui_compat.h>  #endif - diff --git a/dep/include/openssl/dh.h b/dep/include/openssl/dh.h index 9913b4d41c1..10475ac4b3c 100644 --- a/dep/include/openssl/dh.h +++ b/dep/include/openssl/dh.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -72,11 +72,13 @@  #ifndef OPENSSL_NO_DEPRECATED  #include <openssl/bn.h>  #endif - +	  #ifndef OPENSSL_DH_MAX_MODULUS_BITS -# define OPENSSL_DH_MAX_MODULUS_BITS    10000 +# define OPENSSL_DH_MAX_MODULUS_BITS	10000  #endif +#define OPENSSL_DH_FIPS_MIN_MODULUS_BITS 1024 +  #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 @@ -95,114 +97,119 @@ extern "C" {  /* 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); -    }; +	{ +	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 +	{ +	/* 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 +#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 +#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 DH_CHECK_P_NOT_STRONG_PRIME	DH_CHECK_P_NOT_SAFE_PRIME  #define DHparams_dup(x) ASN1_dup_of_const(DH,i2d_DHparams,d2i_DHparams,x)  #define d2i_DHparams_fp(fp,x) (DH *)ASN1_d2i_fp((char *(*)())DH_new, \ -        (char *(*)())d2i_DHparams,(fp),(unsigned char **)(x)) +		(char *(*)())d2i_DHparams,(fp),(unsigned char **)(x))  #define i2d_DHparams_fp(fp,x) ASN1_i2d_fp(i2d_DHparams,(fp), \ -        (unsigned char *)(x)) +		(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)  const DH_METHOD *DH_OpenSSL(void); +#ifdef OPENSSL_FIPS +DH *	FIPS_dh_new(void); +void	FIPS_dh_free(DH *dh); +#endif +  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); +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); +	     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); +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); +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); +int	DHparams_print_fp(FILE *fp, const DH *x);  #endif  #ifndef OPENSSL_NO_BIO -int DHparams_print(BIO *bp, const DH *x); +int	DHparams_print(BIO *bp, const DH *x);  #else -int DHparams_print(char *bp, const DH *x); +int	DHparams_print(char *bp, const DH *x);  #endif  /* BEGIN ERROR CODES */ @@ -214,22 +221,25 @@ 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              100 -#define DH_F_DHPARAMS_PRINT_FP               101 -#define DH_F_DH_BUILTIN_GENPARAMS            106 -#define DH_F_DH_NEW_METHOD               105 -#define DH_F_GENERATE_KEY                103 -#define DH_F_GENERATE_PARAMETERS             104 +#define DH_F_COMPUTE_KEY				 102 +#define DH_F_DHPARAMS_PRINT				 100 +#define DH_F_DHPARAMS_PRINT_FP				 101 +#define DH_F_DH_BUILTIN_GENPARAMS			 106 +#define DH_F_DH_COMPUTE_KEY				 107 +#define DH_F_DH_GENERATE_KEY				 108 +#define DH_F_DH_GENERATE_PARAMETERS			 109 +#define DH_F_DH_NEW_METHOD				 105 +#define DH_F_GENERATE_KEY				 103 +#define DH_F_GENERATE_PARAMETERS			 104  /* Reason codes. */ -#define DH_R_BAD_GENERATOR               101 -#define DH_R_INVALID_PUBKEY              102 -#define DH_R_MODULUS_TOO_LARGE               103 -#define DH_R_NO_PRIVATE_VALUE                100 +#define DH_R_BAD_GENERATOR				 101 +#define DH_R_INVALID_PUBKEY				 102 +#define DH_R_KEY_SIZE_TOO_SMALL				 104 +#define DH_R_MODULUS_TOO_LARGE				 103 +#define DH_R_NO_PRIVATE_VALUE				 100  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/dsa.h b/dep/include/openssl/dsa.h index 6341a71cd0e..702c50d6dc8 100644 --- a/dep/include/openssl/dsa.h +++ b/dep/include/openssl/dsa.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -85,10 +85,12 @@  #endif  #ifndef OPENSSL_DSA_MAX_MODULUS_BITS -# define OPENSSL_DSA_MAX_MODULUS_BITS   10000 +# define OPENSSL_DSA_MAX_MODULUS_BITS	10000  #endif -#define DSA_FLAG_CACHE_MONT_P   0x01 +#define OPENSSL_DSA_FIPS_MIN_MODULUS_BITS 1024 + +#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 @@ -97,6 +99,25 @@                                                * 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 OPENSSL_FIPS +#define FIPS_DSA_SIZE_T	int +#endif +  #ifdef  __cplusplus  extern "C" {  #endif @@ -106,142 +127,147 @@ extern "C" {  /* typedef struct dsa_method DSA_METHOD; */  typedef struct DSA_SIG_st -    { -    BIGNUM *r; -    BIGNUM *s; -    } DSA_SIG; +	{ +	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, -            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); -    }; +	{ +	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, +			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; -    }; +	{ +	/* 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 DSAparams_dup(x) ASN1_dup_of_const(DSA,i2d_DSAparams,d2i_DSAparams,x)  #define d2i_DSAparams_fp(fp,x) (DSA *)ASN1_d2i_fp((char *(*)())DSA_new, \ -        (char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x)) +		(char *(*)())d2i_DSAparams,(fp),(unsigned char **)(x))  #define i2d_DSAparams_fp(fp,x) ASN1_i2d_fp(i2d_DSAparams,(fp), \ -        (unsigned char *)(x)) +		(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_SIG * DSA_SIG_new(void); -void    DSA_SIG_free(DSA_SIG *a); -int i2d_DSA_SIG(const DSA_SIG *a, unsigned char **pp); +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); +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 *); +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 *); +int	DSA_set_method(DSA *dsa, const DSA_METHOD *); -DSA *   DSA_new(void); -DSA *   DSA_new_method(ENGINE *engine); -void    DSA_free (DSA *r); +#ifdef OPENSSL_FIPS +DSA *	FIPS_dsa_new(void); +void	FIPS_dsa_free (DSA *r); +#endif + +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_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); +	     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); +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); +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, -        unsigned char *seed,int seed_len, -        int *counter_ret, unsigned long *h_ret, BN_GENCB *cb); +int	DSA_generate_parameters_ex(DSA *dsa, int bits, +		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); +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); +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); +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) +	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 @@ -249,6 +275,11 @@ int DSA_print_fp(FILE *bp, const DSA *x, int off);  DH *DSA_dup_DH(const DSA *r);  #endif +#ifdef OPENSSL_FIPS +int FIPS_dsa_sig_encode(unsigned char *out, DSA_SIG *sig); +int FIPS_dsa_sig_decode(DSA_SIG *sig, const unsigned char *in, int inlen); +#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. @@ -258,29 +289,36 @@ void ERR_load_DSA_strings(void);  /* Error codes for the DSA functions. */  /* Function codes. */ -#define DSA_F_D2I_DSA_SIG                110 -#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_NEW_METHOD                 103 -#define DSA_F_DSA_PRINT                  104 -#define DSA_F_DSA_PRINT_FP               105 -#define DSA_F_DSA_SIGN                   106 -#define DSA_F_DSA_SIGN_SETUP                 107 -#define DSA_F_DSA_SIG_NEW                109 -#define DSA_F_DSA_VERIFY                 108 -#define DSA_F_I2D_DSA_SIG                111 -#define DSA_F_SIG_CB                     114 +#define DSA_F_D2I_DSA_SIG				 110 +#define DSA_F_DSAPARAMS_PRINT				 100 +#define DSA_F_DSAPARAMS_PRINT_FP			 101 +#define DSA_F_DSA_BUILTIN_KEYGEN			 119 +#define DSA_F_DSA_BUILTIN_PARAMGEN			 118 +#define DSA_F_DSA_DO_SIGN				 112 +#define DSA_F_DSA_DO_VERIFY				 113 +#define DSA_F_DSA_GENERATE_PARAMETERS			 117 +#define DSA_F_DSA_NEW_METHOD				 103 +#define DSA_F_DSA_PRINT					 104 +#define DSA_F_DSA_PRINT_FP				 105 +#define DSA_F_DSA_SET_DEFAULT_METHOD			 115 +#define DSA_F_DSA_SET_METHOD				 116 +#define DSA_F_DSA_SIGN					 106 +#define DSA_F_DSA_SIGN_SETUP				 107 +#define DSA_F_DSA_SIG_NEW				 109 +#define DSA_F_DSA_VERIFY				 108 +#define DSA_F_I2D_DSA_SIG				 111 +#define DSA_F_SIG_CB					 114  /* Reason codes. */ -#define DSA_R_BAD_Q_VALUE                102 -#define DSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE        100 -#define DSA_R_MISSING_PARAMETERS             101 -#define DSA_R_MODULUS_TOO_LARGE              103 +#define DSA_R_BAD_Q_VALUE				 102 +#define DSA_R_DATA_TOO_LARGE_FOR_KEY_SIZE		 100 +#define DSA_R_KEY_SIZE_TOO_SMALL			 106 +#define DSA_R_MISSING_PARAMETERS			 101 +#define DSA_R_MODULUS_TOO_LARGE				 103 +#define DSA_R_NON_FIPS_METHOD				 104 +#define DSA_R_OPERATION_NOT_ALLOWED_IN_FIPS_MODE	 105  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/dtls1.h b/dep/include/openssl/dtls1.h index dbeceab9453..f159d371102 100644 --- a/dep/include/openssl/dtls1.h +++ b/dep/include/openssl/dtls1.h @@ -1,7 +1,7 @@  /* ssl/dtls1.h */ -/* +/*    * DTLS implementation written by Nagendra Modadugu - * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. + * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.     */  /* ====================================================================   * Copyright (c) 1999-2005 The OpenSSL Project.  All rights reserved. @@ -11,7 +11,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -57,8 +57,8 @@   *   */ -#ifndef HEADER_DTLS1_H -#define HEADER_DTLS1_H +#ifndef HEADER_DTLS1_H  +#define HEADER_DTLS1_H   #include <openssl/buffer.h>  #include <openssl/pqueue.h> @@ -67,11 +67,13 @@  extern "C" {  #endif -#define DTLS1_VERSION           0x0100 -#define DTLS1_VERSION_MAJOR     0x01 -#define DTLS1_VERSION_MINOR     0x00 +#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                     32 @@ -83,120 +85,124 @@ extern "C" {  #define DTLS1_HM_BAD_FRAGMENT                   -2  #define DTLS1_HM_FRAGMENT_RETRY                 -3 -#define DTLS1_CCS_HEADER_LENGTH                  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  typedef struct dtls1_bitmap_st -    { -    PQ_64BIT map; -    unsigned long length;     /* sizeof the bitmap in bits */ -    PQ_64BIT max_seq_num;  /* max record number seen so far */ -    } DTLS1_BITMAP; +	{ +	PQ_64BIT map; +	unsigned long length;     /* sizeof the bitmap in bits */ +	PQ_64BIT max_seq_num;  /* max record number seen so far */ +	} DTLS1_BITMAP;  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; -    }; +	{ +	unsigned char type; +	unsigned long msg_len; +	unsigned short seq; +	unsigned long frag_off; +	unsigned long frag_len; +	unsigned int is_ccs; +	};  struct ccs_header_st -    { -    unsigned char type; -    unsigned short seq; -    }; +	{ +	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; -    }; +	{ +	/* 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; +	{ +	unsigned short epoch; +	pqueue q; +	} record_pqueue;  typedef struct hm_fragment_st -    { -    struct hm_header_st msg_header; -    unsigned char *fragment; -    } hm_fragment; +	{ +	struct hm_header_st msg_header; +	unsigned char *fragment; +	} 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; +	{ +	unsigned int send_cookie; +	unsigned char cookie[DTLS1_COOKIE_LENGTH]; +	unsigned char rcvd_cookie[DTLS1_COOKIE_LENGTH]; +	unsigned int cookie_len; -    /* records being received in the current epoch */ -    DTLS1_BITMAP bitmap; +	/*  +	 * 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; -    /* renegotiation starts a new set of sequence numbers */ -    DTLS1_BITMAP next_bitmap; +	/* records being received in the current epoch */ +	DTLS1_BITMAP bitmap; -    /* handshake message numbers */ -    unsigned short handshake_write_seq; -    unsigned short next_handshake_write_seq; +	/* renegotiation starts a new set of sequence numbers */ +	DTLS1_BITMAP next_bitmap; -    unsigned short handshake_read_seq; +	/* handshake message numbers */ +	unsigned short handshake_write_seq; +	unsigned short next_handshake_write_seq; -    /* Received handshake records (processed and unprocessed) */ -    record_pqueue unprocessed_rcds; -    record_pqueue processed_rcds; +	unsigned short handshake_read_seq; -    /* Buffered handshake messages */ -    pqueue buffered_messages; +	/* Received handshake records (processed and unprocessed) */ +	record_pqueue unprocessed_rcds; +	record_pqueue processed_rcds; -    /* Buffered (sent) handshake records */ -    pqueue sent_messages; +	/* Buffered handshake messages */ +	pqueue buffered_messages; -    unsigned int mtu; /* max wire packet size */ +	/* Buffered (sent) handshake records */ +	pqueue sent_messages; -    struct hm_header_st w_msg_hdr; -    struct hm_header_st r_msg_hdr; +	unsigned int mtu; /* max wire packet size */ -    struct dtls1_timeout_st timeout; +	struct hm_header_st w_msg_hdr; +	struct hm_header_st r_msg_hdr; -    /* 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; +	struct dtls1_timeout_st timeout; +	 +	/* 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 retransmitting; -    } DTLS1_STATE; +	} DTLS1_STATE;  typedef struct dtls1_record_data_st -    { -    unsigned char *packet; -    unsigned int   packet_length; -    SSL3_BUFFER    rbuf; -    SSL3_RECORD    rrec; -    } DTLS1_RECORD_DATA; +	{ +	unsigned char *packet; +	unsigned int   packet_length; +	SSL3_BUFFER    rbuf; +	SSL3_RECORD    rrec; +	} DTLS1_RECORD_DATA;  /* Timeout multipliers (timeout slice is defined in apps/timeouts.h */ @@ -210,4 +216,3 @@ typedef struct dtls1_record_data_st  #endif  #endif - diff --git a/dep/include/openssl/ec.h b/dep/include/openssl/ec.h index 6952d9739a1..8bc2a235b1a 100644 --- a/dep/include/openssl/ec.h +++ b/dep/include/openssl/ec.h @@ -10,7 +10,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -58,13 +58,13 @@  /* ====================================================================   * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.   * - * Portions of the attached software ("Contribution") are developed by + * 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 + * The elliptic curve binary polynomial software is originally written by    * Sheueling Chang Shantz and Douglas Stebila of Sun Microsystems Laboratories.   *   */ @@ -98,25 +98,25 @@ extern "C" {  #endif  typedef enum { -    /* values as defined in X9.62 (ECDSA) and elsewhere */ -    POINT_CONVERSION_COMPRESSED = 2, -    POINT_CONVERSION_UNCOMPRESSED = 4, -    POINT_CONVERSION_HYBRID = 6 +	/* values as defined in X9.62 (ECDSA) and elsewhere */ +	POINT_CONVERSION_COMPRESSED = 2, +	POINT_CONVERSION_UNCOMPRESSED = 4, +	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; +	/* +	 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; @@ -186,13 +186,13 @@ EC_GROUP *EC_GROUP_new_curve_GF2m(const BIGNUM *p, const BIGNUM *a, const BIGNUM   * specified by a curve name (in form of a NID) */  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 +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); @@ -204,27 +204,27 @@ void EC_POINT_free(EC_POINT *);  void EC_POINT_clear_free(EC_POINT *);  int EC_POINT_copy(EC_POINT *, const EC_POINT *);  EC_POINT *EC_POINT_dup(const EC_POINT *, const EC_GROUP *); - +   const EC_METHOD *EC_POINT_method_of(const EC_POINT *);  int EC_POINT_set_to_infinity(const EC_GROUP *, EC_POINT *);  int EC_POINT_set_Jprojective_coordinates_GFp(const EC_GROUP *, EC_POINT *, -    const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *); +	const BIGNUM *x, const BIGNUM *y, const BIGNUM *z, BN_CTX *);  int EC_POINT_get_Jprojective_coordinates_GFp(const EC_GROUP *, const EC_POINT *, -    BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *); +	BIGNUM *x, BIGNUM *y, BIGNUM *z, BN_CTX *);  int EC_POINT_set_affine_coordinates_GFp(const EC_GROUP *, EC_POINT *, -    const BIGNUM *x, const BIGNUM *y, BN_CTX *); +	const BIGNUM *x, const BIGNUM *y, BN_CTX *);  int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP *, const EC_POINT *, -    BIGNUM *x, BIGNUM *y, BN_CTX *); +	BIGNUM *x, BIGNUM *y, BN_CTX *);  int EC_POINT_set_compressed_coordinates_GFp(const EC_GROUP *, EC_POINT *, -    const BIGNUM *x, int y_bit, BN_CTX *); +	const BIGNUM *x, int y_bit, BN_CTX *);  int EC_POINT_set_affine_coordinates_GF2m(const EC_GROUP *, EC_POINT *, -    const BIGNUM *x, const BIGNUM *y, BN_CTX *); +	const BIGNUM *x, const BIGNUM *y, BN_CTX *);  int EC_POINT_get_affine_coordinates_GF2m(const EC_GROUP *, const EC_POINT *, -    BIGNUM *x, BIGNUM *y, BN_CTX *); +	BIGNUM *x, BIGNUM *y, BN_CTX *);  int EC_POINT_set_compressed_coordinates_GF2m(const EC_GROUP *, EC_POINT *, -    const BIGNUM *x, int y_bit, BN_CTX *); +	const BIGNUM *x, int y_bit, BN_CTX *);  size_t EC_POINT_point2oct(const EC_GROUP *, const EC_POINT *, point_conversion_form_t form,          unsigned char *buf, size_t len, BN_CTX *); @@ -233,13 +233,13 @@ int EC_POINT_oct2point(const EC_GROUP *, EC_POINT *,  /* other interfaces to point2oct/oct2point: */  BIGNUM *EC_POINT_point2bn(const EC_GROUP *, const EC_POINT *, -    point_conversion_form_t form, BIGNUM *, BN_CTX *); +	point_conversion_form_t form, BIGNUM *, BN_CTX *);  EC_POINT *EC_POINT_bn2point(const EC_GROUP *, const BIGNUM *, -    EC_POINT *, BN_CTX *); +	EC_POINT *, BN_CTX *);  char *EC_POINT_point2hex(const EC_GROUP *, const EC_POINT *, -    point_conversion_form_t form, BN_CTX *); +	point_conversion_form_t form, BN_CTX *);  EC_POINT *EC_POINT_hex2point(const EC_GROUP *, const char *, -    EC_POINT *, BN_CTX *); +	EC_POINT *, BN_CTX *);  int EC_POINT_add(const EC_GROUP *, EC_POINT *r, const EC_POINT *a, const EC_POINT *b, BN_CTX *);  int EC_POINT_dbl(const EC_GROUP *, EC_POINT *r, const EC_POINT *a, BN_CTX *); @@ -269,10 +269,10 @@ int EC_GROUP_have_precompute_mult(const EC_GROUP *);   * used to represent the field elements */  int EC_GROUP_get_basis_type(const EC_GROUP *);  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); +int EC_GROUP_get_pentanomial_basis(const EC_GROUP *, unsigned int *k1,  +	unsigned int *k2, unsigned int *k3); -#define OPENSSL_EC_NAMED_CURVE  0x001 +#define OPENSSL_EC_NAMED_CURVE	0x001  typedef struct ecpk_parameters_st ECPKPARAMETERS; @@ -284,7 +284,7 @@ int i2d_ECPKParameters(const EC_GROUP *, unsigned char **out);  #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)) +		(unsigned char *)(x))  #ifndef OPENSSL_NO_BIO  int     ECPKParameters_print(BIO *bp, const EC_GROUP *x, int off); @@ -297,8 +297,8 @@ int     ECPKParameters_print_fp(FILE *fp, const EC_GROUP *x, int off);  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 +#define EC_PKEY_NO_PARAMETERS	0x001 +#define EC_PKEY_NO_PUBKEY	0x002  EC_KEY *EC_KEY_new(void);  EC_KEY *EC_KEY_new_by_curve_name(int nid); @@ -319,10 +319,10 @@ void EC_KEY_set_enc_flags(EC_KEY *, unsigned int);  point_conversion_form_t EC_KEY_get_conv_form(const EC_KEY *);  void EC_KEY_set_conv_form(EC_KEY *, point_conversion_form_t);  /* functions to set/get method specific data  */ -void *EC_KEY_get_key_method_data(EC_KEY *, -    void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); +void *EC_KEY_get_key_method_data(EC_KEY *,  +	void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *));  void EC_KEY_insert_key_method_data(EC_KEY *, void *data, -    void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); +	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 *, int);  int EC_KEY_precompute_mult(EC_KEY *, BN_CTX *ctx); @@ -344,12 +344,12 @@ EC_KEY *o2i_ECPublicKey(EC_KEY **a, const unsigned char **in, long len);  int i2o_ECPublicKey(EC_KEY *a, unsigned char **out);  #ifndef OPENSSL_NO_BIO -int ECParameters_print(BIO *bp, const EC_KEY *x); -int EC_KEY_print(BIO *bp, const EC_KEY *x, int off); +int	ECParameters_print(BIO *bp, const EC_KEY *x); +int	EC_KEY_print(BIO *bp, const EC_KEY *x, int off);  #endif  #ifndef OPENSSL_NO_FP_API -int ECParameters_print_fp(FILE *fp, const EC_KEY *x); -int EC_KEY_print_fp(FILE *fp, const EC_KEY *x, int off); +int	ECParameters_print_fp(FILE *fp, const EC_KEY *x); +int	EC_KEY_print_fp(FILE *fp, const EC_KEY *x, int off);  #endif  #define ECParameters_dup(x) ASN1_dup_of(EC_KEY,i2d_ECParameters,d2i_ECParameters,x) @@ -371,156 +371,156 @@ void ERR_load_EC_strings(void);  /* Error codes for the EC functions. */  /* Function codes. */ -#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_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_COMPUTE_WNAF				 143 +#define EC_F_D2I_ECPARAMETERS				 144 +#define EC_F_D2I_ECPKPARAMETERS				 145 +#define EC_F_D2I_ECPRIVATEKEY				 146 +#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_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_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_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	 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	 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_POINTS_MAKE_AFFINE           136 -#define EC_F_EC_POINTS_MUL               138 -#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_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_O2I_ECPUBLICKEY                 152 +#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_POINTS_MAKE_AFFINE			 136 +#define EC_F_EC_POINTS_MUL				 138 +#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_O2I_ECPUBLICKEY				 152  /* Reason codes. */ -#define EC_R_ASN1_ERROR                  115 -#define EC_R_ASN1_UNKNOWN_FIELD              116 -#define EC_R_BUFFER_TOO_SMALL                100 -#define EC_R_D2I_ECPKPARAMETERS_FAILURE          117 -#define EC_R_DISCRIMINANT_IS_ZERO            118 -#define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE        119 -#define EC_R_FIELD_TOO_LARGE                 138 -#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_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_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_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_ORDER                 130 +#define EC_R_ASN1_ERROR					 115 +#define EC_R_ASN1_UNKNOWN_FIELD				 116 +#define EC_R_BUFFER_TOO_SMALL				 100 +#define EC_R_D2I_ECPKPARAMETERS_FAILURE			 117 +#define EC_R_DISCRIMINANT_IS_ZERO			 118 +#define EC_R_EC_GROUP_NEW_BY_NAME_FAILURE		 119 +#define EC_R_FIELD_TOO_LARGE				 138 +#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_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_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_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_ORDER				 130  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/engine.h b/dep/include/openssl/engine.h index a0dc2d08fd4..f503595eceb 100644 --- a/dep/include/openssl/engine.h +++ b/dep/include/openssl/engine.h @@ -10,7 +10,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -57,7 +57,7 @@   */  /* ====================================================================   * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by + * ECDH support in OpenSSL originally developed by    * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.   */ @@ -93,6 +93,8 @@  #include <openssl/err.h>  #endif +#include <openssl/x509.h> +  #include <openssl/ossl_typ.h>  #include <openssl/symhacks.h> @@ -102,32 +104,32 @@ extern "C" {  /* 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_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  /* Obvious all-or-nothing cases. */ -#define ENGINE_METHOD_ALL       (unsigned int)0xFFFF -#define ENGINE_METHOD_NONE      (unsigned int)0x0000 +#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 +#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 */ +/* #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 +#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() @@ -136,7 +138,7 @@ extern "C" {   * 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 +#define ENGINE_FLAGS_BY_ID_COPY		(int)0x0004  /* 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 @@ -149,17 +151,17 @@ extern "C" {   * 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 +#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 +#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 +#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 +#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 @@ -174,21 +176,21 @@ extern "C" {   * 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_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 */ +						     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 @@ -207,35 +209,35 @@ extern "C" {   * 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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 @@ -244,14 +246,14 @@ extern "C" {   * 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. */ +#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 @@ -262,12 +264,12 @@ extern "C" {   * "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; +	{ +	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); @@ -277,7 +279,10 @@ typedef int (*ENGINE_GEN_INT_FUNC_PTR)(ENGINE *);  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); +	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); @@ -334,6 +339,9 @@ void ENGINE_load_ubsec(void);  void ENGINE_load_cryptodev(void);  void ENGINE_load_padlock(void);  void ENGINE_load_builtin_engines(void); +#ifndef OPENSSL_NO_CAPIENG +void ENGINE_load_capi(void); +#endif  /* Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation   * "registry" handling. */ @@ -433,7 +441,7 @@ int ENGINE_ctrl_cmd(ENGINE *e, const char *cmd_name,   * 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); +				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 @@ -459,13 +467,15 @@ 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_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); +		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); @@ -494,6 +504,7 @@ 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);  const EVP_CIPHER *ENGINE_get_cipher(ENGINE *e, int nid); @@ -526,9 +537,13 @@ int ENGINE_finish(ENGINE *e);   * 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); +	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); +	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 @@ -578,10 +593,10 @@ void ENGINE_add_conf_module(void);  /**************************/  /* Binary/behaviour compatibility levels */ -#define OSSL_DYNAMIC_VERSION        (unsigned long)0x00020000 +#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 +#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 @@ -596,35 +611,35 @@ 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; +	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); +						const char *,int);  typedef void (*dyn_dynlock_lock_cb)(int,struct CRYPTO_dynlock_value *, -                        const char *,int); +						const char *,int);  typedef void (*dyn_dynlock_destroy_cb)(struct CRYPTO_dynlock_value *, -                        const char *,int); +						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; +	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; +	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. @@ -637,9 +652,9 @@ typedef struct st_dynamic_fns {   * 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) { \ -        if(v >= OSSL_DYNAMIC_OLDEST) return OSSL_DYNAMIC_VERSION; \ -        return 0; } +	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 @@ -657,25 +672,25 @@ typedef unsigned long (*dynamic_v_check_fn)(unsigned long ossl_version);   * 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); +				const dynamic_fns *fns);  #define IMPLEMENT_DYNAMIC_BIND_FN(fn) \ -    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; } +	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 @@ -701,86 +716,86 @@ 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_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_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 +#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_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		 192 +#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_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_VERSION_INCOMPATIBILITY         145 +#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_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_VERSION_INCOMPATIBILITY		 145  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/err.h b/dep/include/openssl/err.h index b0329919484..dcac4152310 100644 --- a/dep/include/openssl/err.h +++ b/dep/include/openssl/err.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -74,74 +74,77 @@  #include <openssl/lhash.h>  #endif -#ifdef  __cplusplus +#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) +#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) +#define ERR_PUT_error(a,b,c,d,e)	ERR_put_error(a,b,c,NULL,0)  #endif  #include <errno.h> -#define ERR_TXT_MALLOCED    0x01 -#define ERR_TXT_STRING      0x02 +#define ERR_TXT_MALLOCED	0x01 +#define ERR_TXT_STRING		0x02 -#define ERR_FLAG_MARK       0x01 +#define ERR_FLAG_MARK		0x01 -#define ERR_NUM_ERRORS  16 +#define ERR_NUM_ERRORS	16  typedef struct err_state_st -    { -    unsigned long pid; -    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; +	{ +	unsigned long pid; +	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_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_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_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_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_JPAKE		47 -#define ERR_LIB_USER        128 +#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__) @@ -171,86 +174,89 @@ typedef struct err_state_st  #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 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) +#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 +#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_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_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_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_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_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 +#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) +#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; +	{ +	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); @@ -258,15 +264,15 @@ 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); +				      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); +				       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); +				       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); @@ -274,7 +280,7 @@ 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); +			 void *u);  #ifndef OPENSSL_NO_FP_API  void ERR_print_errors_fp(FILE *fp);  #endif @@ -302,6 +308,12 @@ int ERR_get_next_error_library(void);  int ERR_set_mark(void);  int ERR_pop_to_mark(void); +#ifdef OPENSSL_FIPS +void int_ERR_set_state_func(ERR_STATE *(*get_func)(void), +				void (*remove_func)(unsigned long pid)); +void int_ERR_lib_init(void); +#endif +  /* 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 @@ -311,9 +323,8 @@ const ERR_FNS *ERR_get_implementation(void);   * the application's "ERR_FNS". */  int ERR_set_implementation(const ERR_FNS *fns); -#ifdef  __cplusplus +#ifdef	__cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/evp.h b/dep/include/openssl/evp.h index 66838b36323..79c097181f4 100644 --- a/dep/include/openssl/evp.h +++ b/dep/include/openssl/evp.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -75,48 +75,52 @@  #include <openssl/bio.h>  #endif +#ifdef OPENSSL_FIPS +#include <openssl/fips.h> +#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_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      32 -#define EVP_MAX_IV_LENGTH       16 -#define EVP_MAX_BLOCK_LENGTH        32 +#define EVP_MAX_MD_SIZE			64	/* longest known is SHA512 */ +#define EVP_MAX_KEY_LENGTH		32 +#define EVP_MAX_IV_LENGTH		16 +#define EVP_MAX_BLOCK_LENGTH		32 -#define PKCS5_SALT_LEN          8 +#define PKCS5_SALT_LEN			8  /* Default PKCS#5 iteration count */ -#define PKCS5_DEFAULT_ITER      2048 +#define PKCS5_DEFAULT_ITER		2048  #include <openssl/objects.h> -#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 - -#ifdef  __cplusplus +#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 + +#ifdef	__cplusplus  extern "C" {  #endif @@ -124,33 +128,33 @@ extern "C" {   * 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; -    union   { -        char *ptr; +	{ +	int type; +	int save_type; +	int references; +	union	{ +		char *ptr;  #ifndef OPENSSL_NO_RSA -        struct rsa_st *rsa; /* RSA */ +		struct rsa_st *rsa;	/* RSA */  #endif  #ifndef OPENSSL_NO_DSA -        struct dsa_st *dsa; /* DSA */ +		struct dsa_st *dsa;	/* DSA */  #endif  #ifndef OPENSSL_NO_DH -        struct dh_st *dh;   /* DH */ +		struct dh_st *dh;	/* DH */  #endif  #ifndef OPENSSL_NO_EC -        struct ec_key_st *ec;   /* ECC */ +		struct ec_key_st *ec;	/* ECC */  #endif -        } pkey; -    int save_parameters; -    STACK_OF(X509_ATTRIBUTE) *attributes; /* [ 0 ] */ -    } /* EVP_PKEY */; +		} 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 +#define EVP_PKEY_MO_SIGN	0x0001 +#define EVP_PKEY_MO_VERIFY	0x0002 +#define EVP_PKEY_MO_ENCRYPT	0x0004 +#define EVP_PKEY_MO_DECRYPT	0x0008  #if 0  /* This structure is required to tie the message digest and signing together. @@ -164,258 +168,287 @@ struct evp_pkey_st   * routines.   */  typedef struct evp_pkey_md_st -    { -    int oid; -    EVP_MD *md; -    EVP_PKEY_METHOD *pkey; -    } EVP_PKEY_MD; +	{ +	int oid; +	EVP_MD *md; +	EVP_PKEY_METHOD *pkey; +	} EVP_PKEY_MD;  #define EVP_rsa_md2() \ -        EVP_PKEY_MD_add(NID_md2WithRSAEncryption,\ -            EVP_rsa_pkcs1(),EVP_md2()) +		EVP_PKEY_MD_add(NID_md2WithRSAEncryption,\ +			EVP_rsa_pkcs1(),EVP_md2())  #define EVP_rsa_md5() \ -        EVP_PKEY_MD_add(NID_md5WithRSAEncryption,\ -            EVP_rsa_pkcs1(),EVP_md5()) +		EVP_PKEY_MD_add(NID_md5WithRSAEncryption,\ +			EVP_rsa_pkcs1(),EVP_md5())  #define EVP_rsa_sha0() \ -        EVP_PKEY_MD_add(NID_shaWithRSAEncryption,\ -            EVP_rsa_pkcs1(),EVP_sha()) +		EVP_PKEY_MD_add(NID_shaWithRSAEncryption,\ +			EVP_rsa_pkcs1(),EVP_sha())  #define EVP_rsa_sha1() \ -        EVP_PKEY_MD_add(NID_sha1WithRSAEncryption,\ -            EVP_rsa_pkcs1(),EVP_sha1()) +		EVP_PKEY_MD_add(NID_sha1WithRSAEncryption,\ +			EVP_rsa_pkcs1(),EVP_sha1())  #define EVP_rsa_ripemd160() \ -        EVP_PKEY_MD_add(NID_ripemd160WithRSA,\ -            EVP_rsa_pkcs1(),EVP_ripemd160()) +		EVP_PKEY_MD_add(NID_ripemd160WithRSA,\ +			EVP_rsa_pkcs1(),EVP_ripemd160())  #define EVP_rsa_mdc2() \ -        EVP_PKEY_MD_add(NID_mdc2WithRSA,\ -            EVP_rsa_octet_string(),EVP_mdc2()) +		EVP_PKEY_MD_add(NID_mdc2WithRSA,\ +			EVP_rsa_octet_string(),EVP_mdc2())  #define EVP_dsa_sha() \ -        EVP_PKEY_MD_add(NID_dsaWithSHA,\ -            EVP_dsa(),EVP_sha()) +		EVP_PKEY_MD_add(NID_dsaWithSHA,\ +			EVP_dsa(),EVP_sha())  #define EVP_dsa_sha1() \ -        EVP_PKEY_MD_add(NID_dsaWithSHA1,\ -            EVP_dsa(),EVP_sha1()) +		EVP_PKEY_MD_add(NID_dsaWithSHA1,\ +			EVP_dsa(),EVP_sha1())  typedef struct evp_pkey_method_st -    { -    char *name; -    int flags; -    int type;       /* RSA, DSA, an SSLeay specific constant */ -    int oid;        /* For the pub-key type */ -    int encrypt_oid;    /* pub/priv key encryption */ - -    int (*sign)(); -    int (*verify)(); -    struct  { -        int (*set)();   /* get and/or set the underlying type */ -        int (*get)(); -        int (*encrypt)(); -        int (*decrypt)(); -        int (*i2d)(); -        int (*d2i)(); -        int (*dup)(); -        } pub,priv; -    int (*set_asn1_parameters)(); -    int (*get_asn1_parameters)(); -    } EVP_PKEY_METHOD; +	{ +	char *name; +	int flags; +	int type;		/* RSA, DSA, an SSLeay specific constant */ +	int oid;		/* For the pub-key type */ +	int encrypt_oid;	/* pub/priv key encryption */ + +	int (*sign)(); +	int (*verify)(); +	struct	{ +		int (*set)();	/* get and/or set the underlying type */ +		int (*get)(); +		int (*encrypt)(); +		int (*decrypt)(); +		int (*i2d)(); +		int (*d2i)(); +		int (*dup)(); +		} pub,priv; +	int (*set_asn1_parameters)(); +	int (*get_asn1_parameters)(); +	} EVP_PKEY_METHOD;  #endif  #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 */ -    } /* EVP_MD */; +	{ +	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 */ +	} /* 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); +			    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); +			    unsigned int m_length,const unsigned char *sigbuf, +			    unsigned int siglen, void *key); + +typedef struct +	{ +	EVP_MD_CTX *mctx; +	void *key; +	} EVP_MD_SVCTX; + +#define EVP_MD_FLAG_ONESHOT	0x0001 /* digest can only handle a single +					* block */ -#define EVP_MD_FLAG_ONESHOT 0x0001 /* digest can only handle a single -                    * block */ +#define EVP_MD_FLAG_FIPS	0x0400 /* Note if suitable for use in FIPS mode */ -#define EVP_PKEY_NULL_method    NULL,NULL,{0,0,0,0} +#define EVP_MD_FLAG_SVCTX	0x0800 /* pass EVP_MD_SVCTX to sign/verify */ + +#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} +#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 +#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_verify_method *)ECDSA_verify, \                                   {EVP_PKEY_EC,0,0,0} -#else +#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_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} +				(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_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; -    } /* EVP_MD_CTX */; +	{ +	const EVP_MD *digest; +	ENGINE *engine; /* functional reference if 'digest' is ENGINE-provided */ +	unsigned long flags; +	void *md_data; +	} /* 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 */ +#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 */ +#define EVP_MD_CTX_FLAG_NON_FIPS_ALLOW	0x0008	/* Allow use of non FIPS digest +						 * in FIPS mode */ + +#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 M_EVP_MD_CTX_FLAG_PSS_SALT(ctx) \ +		((ctx->flags>>16) &0xFFFF) /* seed length */ +#define EVP_MD_CTX_FLAG_PSS_MDLEN	0xFFFF	/* salt len same as digest */ +#define EVP_MD_CTX_FLAG_PSS_MREC	0xFFFE	/* salt max or auto recovered */  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, unsigned int 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 */; +	{ +	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, unsigned int 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_MODE           0x7 +#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_MODE			0x7  /* Set if variable length cipher */ -#define     EVP_CIPH_VARIABLE_LENGTH    0x8 +#define 	EVP_CIPH_VARIABLE_LENGTH	0x8  /* Set if the iv handling should be done by the cipher itself */ -#define     EVP_CIPH_CUSTOM_IV      0x10 +#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 +#define 	EVP_CIPH_ALWAYS_CALL_INIT	0x20  /* Call ctrl() to init cipher parameters */ -#define     EVP_CIPH_CTRL_INIT      0x40 +#define 	EVP_CIPH_CTRL_INIT		0x40  /* Don't use standard key length function */ -#define     EVP_CIPH_CUSTOM_KEY_LENGTH  0x80 +#define 	EVP_CIPH_CUSTOM_KEY_LENGTH	0x80  /* Don't use standard block padding */ -#define     EVP_CIPH_NO_PADDING     0x100 +#define 	EVP_CIPH_NO_PADDING		0x100  /* cipher handles random key generation */ -#define     EVP_CIPH_RAND_KEY       0x200 +#define 	EVP_CIPH_RAND_KEY		0x200 +/* Note if suitable for use in FIPS mode */ +#define		EVP_CIPH_FLAG_FIPS		0x400 +/* Allow non FIPS cipher in FIPS mode */ +#define		EVP_CIPH_FLAG_NON_FIPS_ALLOW	0x800 +/* 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  /* 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_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  typedef struct evp_cipher_info_st -    { -    const EVP_CIPHER *cipher; -    unsigned char iv[EVP_MAX_IV_LENGTH]; -    } EVP_CIPHER_INFO; +	{ +	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 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 */; +	{ +	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 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; +	{ +	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, +		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)) +					(char *)(rsa))  #endif  #ifndef OPENSSL_NO_DSA  #define EVP_PKEY_assign_DSA(pkey,dsa) EVP_PKEY_assign((pkey),EVP_PKEY_DSA,\ -                    (char *)(dsa)) +					(char *)(dsa))  #endif  #ifndef OPENSSL_NO_DH  #define EVP_PKEY_assign_DH(pkey,dh) EVP_PKEY_assign((pkey),EVP_PKEY_DH,\ -                    (char *)(dh)) +					(char *)(dh))  #endif  #ifndef OPENSSL_NO_EC @@ -429,25 +462,37 @@ typedef int (EVP_PBE_KEYGEN)(EVP_CIPHER_CTX *ctx, const char *pass, int passlen,  #define EVP_get_cipherbynid(a) EVP_get_cipherbyname(OBJ_nid2sn(a))  #define EVP_get_cipherbyobj(a) EVP_get_cipherbynid(OBJ_obj2nid(a)) +/* Macros to reduce FIPS dependencies: do NOT use in applications */ +#define M_EVP_MD_size(e)		((e)->md_size) +#define M_EVP_MD_block_size(e)		((e)->block_size) +#define M_EVP_MD_CTX_set_flags(ctx,flgs) ((ctx)->flags|=(flgs)) +#define M_EVP_MD_CTX_clear_flags(ctx,flgs) ((ctx)->flags&=~(flgs)) +#define M_EVP_MD_CTX_test_flags(ctx,flgs) ((ctx)->flags&(flgs)) +#define M_EVP_MD_type(e)			((e)->type) +#define M_EVP_MD_CTX_type(e)		M_EVP_MD_type(M_EVP_MD_CTX_md(e)) +#define M_EVP_MD_CTX_md(e)			((e)->digest) + +#define M_EVP_CIPHER_CTX_set_flags(ctx,flgs) ((ctx)->flags|=(flgs)) +  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); +#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);  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)) +#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)) +#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) +#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); @@ -458,129 +503,133 @@ 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_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_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_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)	  #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) +# 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(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) +#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); +		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)) +	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)) +	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); +	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); +	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); +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); -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); - -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_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_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); +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_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); @@ -597,7 +646,7 @@ 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); +		const unsigned char *i, int enc);  #endif  const EVP_MD *EVP_md_null(void); @@ -631,7 +680,7 @@ const EVP_MD *EVP_mdc2(void);  #ifndef OPENSSL_NO_RIPEMD  const EVP_MD *EVP_ripemd160(void);  #endif -const EVP_CIPHER *EVP_enc_null(void);       /* does nothing :-) */ +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); @@ -766,15 +815,23 @@ const EVP_CIPHER *EVP_camellia_256_cfb128(void);  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() +		OPENSSL_add_all_algorithms_conf()  #else  #define OpenSSL_add_all_algorithms() \ -        OPENSSL_add_all_algorithms_noconf() +		OPENSSL_add_all_algorithms_noconf()  #endif  void OpenSSL_add_all_ciphers(void); @@ -790,16 +847,16 @@ const EVP_CIPHER *EVP_get_cipherbyname(const char *name);  const EVP_MD *EVP_get_digestbyname(const char *name);  void EVP_cleanup(void); -int     EVP_PKEY_decrypt(unsigned char *dec_key, -            const unsigned char *enc_key,int enc_key_len, -            EVP_PKEY *private_key); -int     EVP_PKEY_encrypt(unsigned char *enc_key, -            const unsigned char *key,int key_len, -            EVP_PKEY *pub_key); -int     EVP_PKEY_type(int type); -int     EVP_PKEY_bits(EVP_PKEY *pkey); -int     EVP_PKEY_size(EVP_PKEY *pkey); -int         EVP_PKEY_assign(EVP_PKEY *pkey,int type,char *key); +int		EVP_PKEY_decrypt(unsigned char *dec_key, +			const unsigned char *enc_key,int enc_key_len, +			EVP_PKEY *private_key); +int		EVP_PKEY_encrypt(unsigned char *enc_key, +			const unsigned char *key,int key_len, +			EVP_PKEY *pub_key); +int		EVP_PKEY_type(int type); +int		EVP_PKEY_bits(EVP_PKEY *pkey); +int		EVP_PKEY_size(EVP_PKEY *pkey); +int 		EVP_PKEY_assign(EVP_PKEY *pkey,int type,char *key);  #ifndef OPENSSL_NO_RSA  struct rsa_st; @@ -822,18 +879,18 @@ 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 *	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_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); +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); @@ -854,23 +911,41 @@ 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); +			 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); +			   const unsigned char *salt, int saltlen, int iter, +			   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); +			 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); +	     ASN1_TYPE *param, EVP_CIPHER_CTX *ctx, int en_de);  int EVP_PBE_alg_add(int nid, const EVP_CIPHER *cipher, const EVP_MD *md, -            EVP_PBE_KEYGEN *keygen); +		    EVP_PBE_KEYGEN *keygen);  void EVP_PBE_cleanup(void); +#ifdef OPENSSL_FIPS +#ifndef OPENSSL_NO_ENGINE +void int_EVP_MD_set_engine_callbacks( +	int (*eng_md_init)(ENGINE *impl), +	int (*eng_md_fin)(ENGINE *impl), +	int (*eng_md_evp) +		(EVP_MD_CTX *ctx, const EVP_MD **ptype, ENGINE *impl)); +void int_EVP_MD_init_engine_callbacks(void); +void int_EVP_CIPHER_set_engine_callbacks( +	int (*eng_ciph_fin)(ENGINE *impl), +	int (*eng_ciph_evp) +		(EVP_CIPHER_CTX *ctx, const EVP_CIPHER **pciph, ENGINE *impl)); +void int_EVP_CIPHER_init_engine_callbacks(void); +#endif +#endif + +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. @@ -880,92 +955,105 @@ void ERR_load_EVP_strings(void);  /* Error codes for the EVP functions. */  /* Function codes. */ -#define EVP_F_AES_INIT_KEY               133 -#define EVP_F_CAMELLIA_INIT_KEY              159 -#define EVP_F_D2I_PKEY                   100 -#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_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_OPENINIT               102 -#define EVP_F_EVP_PBE_ALG_ADD                115 -#define EVP_F_EVP_PBE_CIPHERINIT             116 -#define EVP_F_EVP_PKCS82PKEY                 111 -#define EVP_F_EVP_PKEY2PKCS8_BROKEN          113 -#define EVP_F_EVP_PKEY_COPY_PARAMETERS           103 -#define EVP_F_EVP_PKEY_DECRYPT               104 -#define EVP_F_EVP_PKEY_ENCRYPT               105 -#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_NEW               106 -#define EVP_F_EVP_RIJNDAEL               126 -#define EVP_F_EVP_SIGNFINAL              107 -#define EVP_F_EVP_VERIFYFINAL                108 -#define EVP_F_PKCS5_PBE_KEYIVGEN             117 -#define EVP_F_PKCS5_V2_PBE_KEYIVGEN          118 -#define EVP_F_PKCS8_SET_BROKEN               112 -#define EVP_F_RC2_MAGIC_TO_METH              109 -#define EVP_F_RC5_CTRL                   125 +#define EVP_F_AES_INIT_KEY				 133 +#define EVP_F_ALG_MODULE_INIT				 138 +#define EVP_F_CAMELLIA_INIT_KEY				 159 +#define EVP_F_D2I_PKEY					 100 +#define EVP_F_DO_EVP_ENC_ENGINE				 140 +#define EVP_F_DO_EVP_ENC_ENGINE_FULL			 141 +#define EVP_F_DO_EVP_MD_ENGINE				 139 +#define EVP_F_DO_EVP_MD_ENGINE_FULL			 142 +#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				 137 +#define EVP_F_EVP_CIPHERINIT_EX				 123 +#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				 136 +#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_OPENINIT				 102 +#define EVP_F_EVP_PBE_ALG_ADD				 115 +#define EVP_F_EVP_PBE_CIPHERINIT			 116 +#define EVP_F_EVP_PKCS82PKEY				 111 +#define EVP_F_EVP_PKEY2PKCS8_BROKEN			 113 +#define EVP_F_EVP_PKEY_COPY_PARAMETERS			 103 +#define EVP_F_EVP_PKEY_DECRYPT				 104 +#define EVP_F_EVP_PKEY_ENCRYPT				 105 +#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_NEW				 106 +#define EVP_F_EVP_RIJNDAEL				 126 +#define EVP_F_EVP_SIGNFINAL				 107 +#define EVP_F_EVP_VERIFYFINAL				 108 +#define EVP_F_PKCS5_PBE_KEYIVGEN			 117 +#define EVP_F_PKCS5_V2_PBE_KEYIVGEN			 118 +#define EVP_F_PKCS8_SET_BROKEN				 112 +#define EVP_F_RC2_MAGIC_TO_METH				 109 +#define EVP_F_RC5_CTRL					 125  /* Reason codes. */ -#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_CAMELLIA_KEY_SETUP_FAILED          157 -#define EVP_R_CIPHER_PARAMETER_ERROR             122 -#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_ENCODE_ERROR               115 -#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_INITIALIZATION_ERROR           134 -#define EVP_R_INPUT_NOT_INITIALIZED          111 -#define EVP_R_INVALID_KEY_LENGTH             130 -#define EVP_R_IV_TOO_LARGE               102 -#define EVP_R_KEYGEN_FAILURE                 120 -#define EVP_R_MISSING_PARAMETERS             103 -#define EVP_R_NO_CIPHER_SET              131 -#define EVP_R_NO_DIGEST_SET              139 -#define EVP_R_NO_DSA_PARAMETERS              116 -#define EVP_R_NO_SIGN_FUNCTION_CONFIGURED        104 -#define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED      105 -#define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE          117 -#define EVP_R_PUBLIC_KEY_NOT_RSA             106 -#define EVP_R_UNKNOWN_PBE_ALGORITHM          121 -#define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS        135 -#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 +#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_CAMELLIA_KEY_SETUP_FAILED			 157 +#define EVP_R_CIPHER_PARAMETER_ERROR			 122 +#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_DISABLED_FOR_FIPS				 144 +#define EVP_R_ENCODE_ERROR				 115 +#define EVP_R_ERROR_LOADING_SECTION			 145 +#define EVP_R_ERROR_SETTING_FIPS_MODE			 146 +#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			 147 +#define EVP_R_INITIALIZATION_ERROR			 134 +#define EVP_R_INPUT_NOT_INITIALIZED			 111 +#define EVP_R_INVALID_FIPS_MODE				 148 +#define EVP_R_INVALID_KEY_LENGTH			 130 +#define EVP_R_IV_TOO_LARGE				 102 +#define EVP_R_KEYGEN_FAILURE				 120 +#define EVP_R_MISSING_PARAMETERS			 103 +#define EVP_R_NO_CIPHER_SET				 131 +#define EVP_R_NO_DIGEST_SET				 139 +#define EVP_R_NO_DSA_PARAMETERS				 116 +#define EVP_R_NO_SIGN_FUNCTION_CONFIGURED		 104 +#define EVP_R_NO_VERIFY_FUNCTION_CONFIGURED		 105 +#define EVP_R_PKCS8_UNKNOWN_BROKEN_TYPE			 117 +#define EVP_R_PUBLIC_KEY_NOT_RSA			 106 +#define EVP_R_UNKNOWN_OPTION				 149 +#define EVP_R_UNKNOWN_PBE_ALGORITHM			 121 +#define EVP_R_UNSUPORTED_NUMBER_OF_ROUNDS		 135 +#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 +#define EVP_R_SEED_KEY_SETUP_FAILED			 162  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/hmac.h b/dep/include/openssl/hmac.h index 2387f704cee..fc38ffb52b3 100644 --- a/dep/include/openssl/hmac.h +++ b/dep/include/openssl/hmac.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -66,23 +66,23 @@  #include <openssl/evp.h> -#define HMAC_MAX_MD_CBLOCK  128 /* largest known is SHA512 */ +#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; +	{ +	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)) +#define HMAC_size(e)	(EVP_MD_size((e)->md))  void HMAC_CTX_init(HMAC_CTX *ctx); @@ -91,19 +91,19 @@ void HMAC_CTX_cleanup(HMAC_CTX *ctx);  #define HMAC_cleanup(ctx) HMAC_CTX_cleanup(ctx) /* deprecated */  void HMAC_Init(HMAC_CTX *ctx, const void *key, int len, -           const EVP_MD *md); /* deprecated */ +	       const EVP_MD *md); /* deprecated */  void HMAC_Init_ex(HMAC_CTX *ctx, const void *key, int len, -          const EVP_MD *md, ENGINE *impl); +		  const EVP_MD *md, ENGINE *impl);  void HMAC_Update(HMAC_CTX *ctx, const unsigned char *data, size_t len);  void 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); +		    const unsigned char *d, size_t n, unsigned char *md, +		    unsigned int *md_len); +void HMAC_CTX_set_flags(HMAC_CTX *ctx, unsigned long flags);  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/idea.h b/dep/include/openssl/idea.h index 6b7cabb1c48..a137d4cbce2 100644 --- a/dep/include/openssl/idea.h +++ b/dep/include/openssl/idea.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -65,37 +65,39 @@  #error IDEA is disabled.  #endif -#define IDEA_ENCRYPT    1 -#define IDEA_DECRYPT    0 +#define IDEA_ENCRYPT	1 +#define IDEA_DECRYPT	0 -#define IDEA_BLOCK  8 -#define IDEA_KEY_LENGTH 16 +#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; +	{ +	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); +	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(const 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); +	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); +	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); +	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/dep/include/openssl/md2.h b/dep/include/openssl/md2.h index cd58a8cca55..d59c9f25931 100644 --- a/dep/include/openssl/md2.h +++ b/dep/include/openssl/md2.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -65,22 +65,25 @@  #endif  #include <stddef.h> -#define MD2_DIGEST_LENGTH   16 -#define MD2_BLOCK           16 +#define MD2_DIGEST_LENGTH	16 +#define MD2_BLOCK       	16  #ifdef  __cplusplus  extern "C" {  #endif  typedef struct MD2state_st -    { -    unsigned int num; -    unsigned char data[MD2_BLOCK]; -    MD2_INT cksm[MD2_BLOCK]; -    MD2_INT state[MD2_BLOCK]; -    } MD2_CTX; +	{ +	unsigned int num; +	unsigned char data[MD2_BLOCK]; +	MD2_INT cksm[MD2_BLOCK]; +	MD2_INT state[MD2_BLOCK]; +	} MD2_CTX;  const char *MD2_options(void); +#ifdef OPENSSL_FIPS +int private_MD2_Init(MD2_CTX *c); +#endif  int MD2_Init(MD2_CTX *c);  int MD2_Update(MD2_CTX *c, const unsigned char *data, size_t len);  int MD2_Final(unsigned char *md, MD2_CTX *c); @@ -90,4 +93,3 @@ unsigned char *MD2(const unsigned char *d, size_t n,unsigned char *md);  #endif  #endif - diff --git a/dep/include/openssl/md4.h b/dep/include/openssl/md4.h index 89209898b67..ba1fe4a6ee8 100644 --- a/dep/include/openssl/md4.h +++ b/dep/include/openssl/md4.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -73,7 +73,7 @@ extern "C" {  /*   * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   * ! MD4_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! MD4_LONG_LOG2 has to be defined along.            ! + * ! MD4_LONG_LOG2 has to be defined along.			   !   * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   */ @@ -87,24 +87,27 @@ extern "C" {   * 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... - *                  <appro@fy.chalmers.se> + *					<appro@fy.chalmers.se>   */  #else  #define MD4_LONG unsigned int  #endif -#define MD4_CBLOCK  64 -#define MD4_LBLOCK  (MD4_CBLOCK/4) +#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; +	{ +	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); @@ -115,4 +118,3 @@ void MD4_Transform(MD4_CTX *c, const unsigned char *b);  #endif  #endif - diff --git a/dep/include/openssl/md5.h b/dep/include/openssl/md5.h index 29989eb1c4b..0761f84a27b 100644 --- a/dep/include/openssl/md5.h +++ b/dep/include/openssl/md5.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -73,7 +73,7 @@ extern "C" {  /*   * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   * ! MD5_LONG has to be at least 32 bits wide. If it's wider, then ! - * ! MD5_LONG_LOG2 has to be defined along.            ! + * ! MD5_LONG_LOG2 has to be defined along.			   !   * !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!   */ @@ -87,24 +87,27 @@ extern "C" {   * 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... - *                  <appro@fy.chalmers.se> + *					<appro@fy.chalmers.se>   */  #else  #define MD5_LONG unsigned int  #endif -#define MD5_CBLOCK  64 -#define MD5_LBLOCK  (MD5_CBLOCK/4) +#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; +	{ +	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); @@ -115,4 +118,3 @@ void MD5_Transform(MD5_CTX *c, const unsigned char *b);  #endif  #endif - diff --git a/dep/include/openssl/mdc2.h b/dep/include/openssl/mdc2.h deleted file mode 100644 index b6203882a93..00000000000 --- a/dep/include/openssl/mdc2.h +++ /dev/null @@ -1,97 +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 <openssl/des.h> - -#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 -    { -    int num; -    unsigned char data[MDC2_BLOCK]; -    DES_cblock h,hh; -    int pad_type; /* either 1 or 2, default 1 */ -    } MDC2_CTX; - - -int MDC2_Init(MDC2_CTX *c); -int MDC2_Update(MDC2_CTX *c, const unsigned char *data, unsigned long len); -int MDC2_Final(unsigned char *md, MDC2_CTX *c); -unsigned char *MDC2(const unsigned char *d, unsigned long n, -    unsigned char *md); - -#ifdef  __cplusplus -} -#endif - -#endif - - - diff --git a/dep/include/openssl/obj_mac.h b/dep/include/openssl/obj_mac.h index 52aa57b25c3..ad5f7cfc104 100644 --- a/dep/include/openssl/obj_mac.h +++ b/dep/include/openssl/obj_mac.h @@ -11,21 +11,21 @@   * 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: @@ -40,10 +40,10 @@   *     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 + * 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 @@ -55,3355 +55,3721 @@   * 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_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_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_wap_wsg		"wap-wsg" +#define NID_wap_wsg		679 +#define OBJ_wap_wsg		OBJ_wap,13L -#define SN_identified_organization      "identified-organization" -#define NID_identified_organization     676 -#define OBJ_identified_organization     OBJ_iso,3L +#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_certicom_arc     "certicom-arc" -#define NID_certicom_arc        677 -#define OBJ_certicom_arc        OBJ_identified_organization,132L +#define SN_X9cm		"X9cm" +#define LN_X9cm		"X9.57 CM ?" +#define NID_X9cm		185 +#define OBJ_X9cm		OBJ_X9_57,4L -#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_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_wap      "wap" -#define NID_wap     678 -#define OBJ_wap     OBJ_international_organizations,43L +#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_wap_wsg      "wap-wsg" -#define NID_wap_wsg     679 -#define OBJ_wap_wsg     OBJ_wap,13L +#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 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 OBJ_X9_62_id_publicKeyType		OBJ_ansi_X9_62,2L -#define SN_clearance        "clearance" -#define NID_clearance       395 -#define OBJ_clearance       OBJ_selected_attribute_types,55L +#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 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 OBJ_X9_62_ellipticCurve		OBJ_ansi_X9_62,3L -#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 OBJ_X9_62_c_TwoCurve		OBJ_X9_62_ellipticCurve,0L -#define SN_X9cm     "X9cm" -#define LN_X9cm     "X9.57 CM ?" -#define NID_X9cm        185 -#define OBJ_X9cm        OBJ_X9_57,4L +#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_dsa      "DSA" -#define LN_dsa      "dsaEncryption" -#define NID_dsa     116 -#define OBJ_dsa     OBJ_X9cm,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_dsaWithSHA1      "DSA-SHA1" -#define LN_dsaWithSHA1      "dsaWithSHA1" -#define NID_dsaWithSHA1     113 -#define OBJ_dsaWithSHA1     OBJ_X9cm,3L +#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_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 SN_X9_62_c2pnb176v1		"c2pnb176v1" +#define NID_X9_62_c2pnb176v1		687 +#define OBJ_X9_62_c2pnb176v1		OBJ_X9_62_c_TwoCurve,4L -#define OBJ_X9_62_id_fieldType      OBJ_ansi_X9_62,1L +#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_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_c2tnb191v2		"c2tnb191v2" +#define NID_X9_62_c2tnb191v2		689 +#define OBJ_X9_62_c2tnb191v2		OBJ_X9_62_c_TwoCurve,6L -#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_c2tnb191v3		"c2tnb191v3" +#define NID_X9_62_c2tnb191v3		690 +#define OBJ_X9_62_c2tnb191v3		OBJ_X9_62_c_TwoCurve,7L -#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_c2onb191v4		"c2onb191v4" +#define NID_X9_62_c2onb191v4		691 +#define OBJ_X9_62_c2onb191v4		OBJ_X9_62_c_TwoCurve,8L -#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_c2onb191v5		"c2onb191v5" +#define NID_X9_62_c2onb191v5		692 +#define OBJ_X9_62_c2onb191v5		OBJ_X9_62_c_TwoCurve,9L -#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 SN_X9_62_c2pnb208w1		"c2pnb208w1" +#define NID_X9_62_c2pnb208w1		693 +#define OBJ_X9_62_c2pnb208w1		OBJ_X9_62_c_TwoCurve,10L -#define OBJ_X9_62_id_publicKeyType      OBJ_ansi_X9_62,2L +#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_id_ecPublicKey     "id-ecPublicKey" -#define NID_X9_62_id_ecPublicKey        408 -#define OBJ_X9_62_id_ecPublicKey        OBJ_X9_62_id_publicKeyType,1L +#define SN_X9_62_c2tnb239v2		"c2tnb239v2" +#define NID_X9_62_c2tnb239v2		695 +#define OBJ_X9_62_c2tnb239v2		OBJ_X9_62_c_TwoCurve,12L -#define OBJ_X9_62_ellipticCurve     OBJ_ansi_X9_62,3L +#define SN_X9_62_c2tnb239v3		"c2tnb239v3" +#define NID_X9_62_c2tnb239v3		696 +#define OBJ_X9_62_c2tnb239v3		OBJ_X9_62_c_TwoCurve,13L -#define OBJ_X9_62_c_TwoCurve        OBJ_X9_62_ellipticCurve,0L +#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_c2pnb163v1     "c2pnb163v1" -#define NID_X9_62_c2pnb163v1        684 -#define OBJ_X9_62_c2pnb163v1        OBJ_X9_62_c_TwoCurve,1L +#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_c2pnb163v2     "c2pnb163v2" -#define NID_X9_62_c2pnb163v2        685 -#define OBJ_X9_62_c2pnb163v2        OBJ_X9_62_c_TwoCurve,2L +#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_c2pnb163v3     "c2pnb163v3" -#define NID_X9_62_c2pnb163v3        686 -#define OBJ_X9_62_c2pnb163v3        OBJ_X9_62_c_TwoCurve,3L +#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_c2pnb176v1     "c2pnb176v1" -#define NID_X9_62_c2pnb176v1        687 -#define OBJ_X9_62_c2pnb176v1        OBJ_X9_62_c_TwoCurve,4L +#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_c2tnb191v1     "c2tnb191v1" -#define NID_X9_62_c2tnb191v1        688 -#define OBJ_X9_62_c2tnb191v1        OBJ_X9_62_c_TwoCurve,5L +#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_c2tnb191v2     "c2tnb191v2" -#define NID_X9_62_c2tnb191v2        689 -#define OBJ_X9_62_c2tnb191v2        OBJ_X9_62_c_TwoCurve,6L +#define SN_X9_62_c2tnb431r1		"c2tnb431r1" +#define NID_X9_62_c2tnb431r1		703 +#define OBJ_X9_62_c2tnb431r1		OBJ_X9_62_c_TwoCurve,20L -#define SN_X9_62_c2tnb191v3     "c2tnb191v3" -#define NID_X9_62_c2tnb191v3        690 -#define OBJ_X9_62_c2tnb191v3        OBJ_X9_62_c_TwoCurve,7L +#define OBJ_X9_62_primeCurve		OBJ_X9_62_ellipticCurve,1L -#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_prime192v1		"prime192v1" +#define NID_X9_62_prime192v1		409 +#define OBJ_X9_62_prime192v1		OBJ_X9_62_primeCurve,1L -#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_prime192v2		"prime192v2" +#define NID_X9_62_prime192v2		410 +#define OBJ_X9_62_prime192v2		OBJ_X9_62_primeCurve,2L -#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_prime192v3		"prime192v3" +#define NID_X9_62_prime192v3		411 +#define OBJ_X9_62_prime192v3		OBJ_X9_62_primeCurve,3L -#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_prime239v1		"prime239v1" +#define NID_X9_62_prime239v1		412 +#define OBJ_X9_62_prime239v1		OBJ_X9_62_primeCurve,4L -#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_prime239v2		"prime239v2" +#define NID_X9_62_prime239v2		413 +#define OBJ_X9_62_prime239v2		OBJ_X9_62_primeCurve,5L -#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_prime239v3		"prime239v3" +#define NID_X9_62_prime239v3		414 +#define OBJ_X9_62_prime239v3		OBJ_X9_62_primeCurve,6L -#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_prime256v1		"prime256v1" +#define NID_X9_62_prime256v1		415 +#define OBJ_X9_62_prime256v1		OBJ_X9_62_primeCurve,7L -#define SN_X9_62_c2onb239v5     "c2onb239v5" -#define NID_X9_62_c2onb239v5        698 -#define OBJ_X9_62_c2onb239v5        OBJ_X9_62_c_TwoCurve,15L +#define OBJ_X9_62_id_ecSigType		OBJ_ansi_X9_62,4L -#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_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_X9_62_c2pnb304w1     "c2pnb304w1" -#define NID_X9_62_c2pnb304w1        700 -#define OBJ_X9_62_c2pnb304w1        OBJ_X9_62_c_TwoCurve,17L +#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_X9_62_c2tnb359v1     "c2tnb359v1" -#define NID_X9_62_c2tnb359v1        701 -#define OBJ_X9_62_c2tnb359v1        OBJ_X9_62_c_TwoCurve,18L +#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_X9_62_c2pnb368w1     "c2pnb368w1" -#define NID_X9_62_c2pnb368w1        702 -#define OBJ_X9_62_c2pnb368w1        OBJ_X9_62_c_TwoCurve,19L +#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_X9_62_c2tnb431r1     "c2tnb431r1" -#define NID_X9_62_c2tnb431r1        703 -#define OBJ_X9_62_c2tnb431r1        OBJ_X9_62_c_TwoCurve,20L +#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 OBJ_X9_62_primeCurve        OBJ_X9_62_ellipticCurve,1L +#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_X9_62_prime192v1     "prime192v1" -#define NID_X9_62_prime192v1        409 -#define OBJ_X9_62_prime192v1        OBJ_X9_62_primeCurve,1L +#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 SN_X9_62_prime192v2     "prime192v2" -#define NID_X9_62_prime192v2        410 -#define OBJ_X9_62_prime192v2        OBJ_X9_62_primeCurve,2L +#define OBJ_secg_ellipticCurve		OBJ_certicom_arc,0L -#define SN_X9_62_prime192v3     "prime192v3" -#define NID_X9_62_prime192v3        411 -#define OBJ_X9_62_prime192v3        OBJ_X9_62_primeCurve,3L +#define SN_secp112r1		"secp112r1" +#define NID_secp112r1		704 +#define OBJ_secp112r1		OBJ_secg_ellipticCurve,6L -#define SN_X9_62_prime239v1     "prime239v1" -#define NID_X9_62_prime239v1        412 -#define OBJ_X9_62_prime239v1        OBJ_X9_62_primeCurve,4L +#define SN_secp112r2		"secp112r2" +#define NID_secp112r2		705 +#define OBJ_secp112r2		OBJ_secg_ellipticCurve,7L -#define SN_X9_62_prime239v2     "prime239v2" -#define NID_X9_62_prime239v2        413 -#define OBJ_X9_62_prime239v2        OBJ_X9_62_primeCurve,5L +#define SN_secp128r1		"secp128r1" +#define NID_secp128r1		706 +#define OBJ_secp128r1		OBJ_secg_ellipticCurve,28L -#define SN_X9_62_prime239v3     "prime239v3" -#define NID_X9_62_prime239v3        414 -#define OBJ_X9_62_prime239v3        OBJ_X9_62_primeCurve,6L +#define SN_secp128r2		"secp128r2" +#define NID_secp128r2		707 +#define OBJ_secp128r2		OBJ_secg_ellipticCurve,29L -#define SN_X9_62_prime256v1     "prime256v1" -#define NID_X9_62_prime256v1        415 -#define OBJ_X9_62_prime256v1        OBJ_X9_62_primeCurve,7L +#define SN_secp160k1		"secp160k1" +#define NID_secp160k1		708 +#define OBJ_secp160k1		OBJ_secg_ellipticCurve,9L -#define OBJ_X9_62_id_ecSigType      OBJ_ansi_X9_62,4L +#define SN_secp160r1		"secp160r1" +#define NID_secp160r1		709 +#define OBJ_secp160r1		OBJ_secg_ellipticCurve,8L -#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_secp160r2		"secp160r2" +#define NID_secp160r2		710 +#define OBJ_secp160r2		OBJ_secg_ellipticCurve,30L -#define OBJ_secg_ellipticCurve      OBJ_certicom_arc,0L +#define SN_secp192k1		"secp192k1" +#define NID_secp192k1		711 +#define OBJ_secp192k1		OBJ_secg_ellipticCurve,31L -#define SN_secp112r1        "secp112r1" -#define NID_secp112r1       704 -#define OBJ_secp112r1       OBJ_secg_ellipticCurve,6L +#define SN_secp224k1		"secp224k1" +#define NID_secp224k1		712 +#define OBJ_secp224k1		OBJ_secg_ellipticCurve,32L -#define SN_secp112r2        "secp112r2" -#define NID_secp112r2       705 -#define OBJ_secp112r2       OBJ_secg_ellipticCurve,7L +#define SN_secp224r1		"secp224r1" +#define NID_secp224r1		713 +#define OBJ_secp224r1		OBJ_secg_ellipticCurve,33L -#define SN_secp128r1        "secp128r1" -#define NID_secp128r1       706 -#define OBJ_secp128r1       OBJ_secg_ellipticCurve,28L +#define SN_secp256k1		"secp256k1" +#define NID_secp256k1		714 +#define OBJ_secp256k1		OBJ_secg_ellipticCurve,10L -#define SN_secp128r2        "secp128r2" -#define NID_secp128r2       707 -#define OBJ_secp128r2       OBJ_secg_ellipticCurve,29L +#define SN_secp384r1		"secp384r1" +#define NID_secp384r1		715 +#define OBJ_secp384r1		OBJ_secg_ellipticCurve,34L -#define SN_secp160k1        "secp160k1" -#define NID_secp160k1       708 -#define OBJ_secp160k1       OBJ_secg_ellipticCurve,9L +#define SN_secp521r1		"secp521r1" +#define NID_secp521r1		716 +#define OBJ_secp521r1		OBJ_secg_ellipticCurve,35L -#define SN_secp160r1        "secp160r1" -#define NID_secp160r1       709 -#define OBJ_secp160r1       OBJ_secg_ellipticCurve,8L +#define SN_sect113r1		"sect113r1" +#define NID_sect113r1		717 +#define OBJ_sect113r1		OBJ_secg_ellipticCurve,4L -#define SN_secp160r2        "secp160r2" -#define NID_secp160r2       710 -#define OBJ_secp160r2       OBJ_secg_ellipticCurve,30L +#define SN_sect113r2		"sect113r2" +#define NID_sect113r2		718 +#define OBJ_sect113r2		OBJ_secg_ellipticCurve,5L -#define SN_secp192k1        "secp192k1" -#define NID_secp192k1       711 -#define OBJ_secp192k1       OBJ_secg_ellipticCurve,31L +#define SN_sect131r1		"sect131r1" +#define NID_sect131r1		719 +#define OBJ_sect131r1		OBJ_secg_ellipticCurve,22L -#define SN_secp224k1        "secp224k1" -#define NID_secp224k1       712 -#define OBJ_secp224k1       OBJ_secg_ellipticCurve,32L +#define SN_sect131r2		"sect131r2" +#define NID_sect131r2		720 +#define OBJ_sect131r2		OBJ_secg_ellipticCurve,23L -#define SN_secp224r1        "secp224r1" -#define NID_secp224r1       713 -#define OBJ_secp224r1       OBJ_secg_ellipticCurve,33L +#define SN_sect163k1		"sect163k1" +#define NID_sect163k1		721 +#define OBJ_sect163k1		OBJ_secg_ellipticCurve,1L -#define SN_secp256k1        "secp256k1" -#define NID_secp256k1       714 -#define OBJ_secp256k1       OBJ_secg_ellipticCurve,10L +#define SN_sect163r1		"sect163r1" +#define NID_sect163r1		722 +#define OBJ_sect163r1		OBJ_secg_ellipticCurve,2L -#define SN_secp384r1        "secp384r1" -#define NID_secp384r1       715 -#define OBJ_secp384r1       OBJ_secg_ellipticCurve,34L +#define SN_sect163r2		"sect163r2" +#define NID_sect163r2		723 +#define OBJ_sect163r2		OBJ_secg_ellipticCurve,15L -#define SN_secp521r1        "secp521r1" -#define NID_secp521r1       716 -#define OBJ_secp521r1       OBJ_secg_ellipticCurve,35L +#define SN_sect193r1		"sect193r1" +#define NID_sect193r1		724 +#define OBJ_sect193r1		OBJ_secg_ellipticCurve,24L -#define SN_sect113r1        "sect113r1" -#define NID_sect113r1       717 -#define OBJ_sect113r1       OBJ_secg_ellipticCurve,4L +#define SN_sect193r2		"sect193r2" +#define NID_sect193r2		725 +#define OBJ_sect193r2		OBJ_secg_ellipticCurve,25L -#define SN_sect113r2        "sect113r2" -#define NID_sect113r2       718 -#define OBJ_sect113r2       OBJ_secg_ellipticCurve,5L +#define SN_sect233k1		"sect233k1" +#define NID_sect233k1		726 +#define OBJ_sect233k1		OBJ_secg_ellipticCurve,26L -#define SN_sect131r1        "sect131r1" -#define NID_sect131r1       719 -#define OBJ_sect131r1       OBJ_secg_ellipticCurve,22L +#define SN_sect233r1		"sect233r1" +#define NID_sect233r1		727 +#define OBJ_sect233r1		OBJ_secg_ellipticCurve,27L -#define SN_sect131r2        "sect131r2" -#define NID_sect131r2       720 -#define OBJ_sect131r2       OBJ_secg_ellipticCurve,23L +#define SN_sect239k1		"sect239k1" +#define NID_sect239k1		728 +#define OBJ_sect239k1		OBJ_secg_ellipticCurve,3L -#define SN_sect163k1        "sect163k1" -#define NID_sect163k1       721 -#define OBJ_sect163k1       OBJ_secg_ellipticCurve,1L +#define SN_sect283k1		"sect283k1" +#define NID_sect283k1		729 +#define OBJ_sect283k1		OBJ_secg_ellipticCurve,16L -#define SN_sect163r1        "sect163r1" -#define NID_sect163r1       722 -#define OBJ_sect163r1       OBJ_secg_ellipticCurve,2L +#define SN_sect283r1		"sect283r1" +#define NID_sect283r1		730 +#define OBJ_sect283r1		OBJ_secg_ellipticCurve,17L -#define SN_sect163r2        "sect163r2" -#define NID_sect163r2       723 -#define OBJ_sect163r2       OBJ_secg_ellipticCurve,15L +#define SN_sect409k1		"sect409k1" +#define NID_sect409k1		731 +#define OBJ_sect409k1		OBJ_secg_ellipticCurve,36L -#define SN_sect193r1        "sect193r1" -#define NID_sect193r1       724 -#define OBJ_sect193r1       OBJ_secg_ellipticCurve,24L +#define SN_sect409r1		"sect409r1" +#define NID_sect409r1		732 +#define OBJ_sect409r1		OBJ_secg_ellipticCurve,37L -#define SN_sect193r2        "sect193r2" -#define NID_sect193r2       725 -#define OBJ_sect193r2       OBJ_secg_ellipticCurve,25L +#define SN_sect571k1		"sect571k1" +#define NID_sect571k1		733 +#define OBJ_sect571k1		OBJ_secg_ellipticCurve,38L -#define SN_sect233k1        "sect233k1" -#define NID_sect233k1       726 -#define OBJ_sect233k1       OBJ_secg_ellipticCurve,26L +#define SN_sect571r1		"sect571r1" +#define NID_sect571r1		734 +#define OBJ_sect571r1		OBJ_secg_ellipticCurve,39L -#define SN_sect233r1        "sect233r1" -#define NID_sect233r1       727 -#define OBJ_sect233r1       OBJ_secg_ellipticCurve,27L +#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_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_sect239k1        "sect239k1" -#define NID_sect239k1       728 -#define OBJ_sect239k1       OBJ_secg_ellipticCurve,3L +#define SN_id_smime_mod		"id-smime-mod" +#define NID_id_smime_mod		189 +#define OBJ_id_smime_mod		OBJ_SMIME,0L -#define SN_sect283k1        "sect283k1" -#define NID_sect283k1       729 -#define OBJ_sect283k1       OBJ_secg_ellipticCurve,16L +#define SN_id_smime_ct		"id-smime-ct" +#define NID_id_smime_ct		190 +#define OBJ_id_smime_ct		OBJ_SMIME,1L -#define SN_sect283r1        "sect283r1" -#define NID_sect283r1       730 -#define OBJ_sect283r1       OBJ_secg_ellipticCurve,17L +#define SN_id_smime_aa		"id-smime-aa" +#define NID_id_smime_aa		191 +#define OBJ_id_smime_aa		OBJ_SMIME,2L -#define SN_sect409k1        "sect409k1" -#define NID_sect409k1       731 -#define OBJ_sect409k1       OBJ_secg_ellipticCurve,36L +#define SN_id_smime_alg		"id-smime-alg" +#define NID_id_smime_alg		192 +#define OBJ_id_smime_alg		OBJ_SMIME,3L -#define SN_sect409r1        "sect409r1" -#define NID_sect409r1       732 -#define OBJ_sect409r1       OBJ_secg_ellipticCurve,37L +#define SN_id_smime_cd		"id-smime-cd" +#define NID_id_smime_cd		193 +#define OBJ_id_smime_cd		OBJ_SMIME,4L -#define SN_sect571k1        "sect571k1" -#define NID_sect571k1       733 -#define OBJ_sect571k1       OBJ_secg_ellipticCurve,38L +#define SN_id_smime_spq		"id-smime-spq" +#define NID_id_smime_spq		194 +#define OBJ_id_smime_spq		OBJ_SMIME,5L -#define SN_sect571r1        "sect571r1" -#define NID_sect571r1       734 -#define OBJ_sect571r1       OBJ_secg_ellipticCurve,39L +#define SN_id_smime_cti		"id-smime-cti" +#define NID_id_smime_cti		195 +#define OBJ_id_smime_cti		OBJ_SMIME,6L -#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_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_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_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     "id-smime-mod" -#define NID_id_smime_mod        189 -#define OBJ_id_smime_mod        OBJ_SMIME,0L +#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_ct      "id-smime-ct" -#define NID_id_smime_ct     190 -#define OBJ_id_smime_ct     OBJ_SMIME,1L +#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_aa      "id-smime-aa" -#define NID_id_smime_aa     191 -#define OBJ_id_smime_aa     OBJ_SMIME,2L +#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_alg     "id-smime-alg" -#define NID_id_smime_alg        192 -#define OBJ_id_smime_alg        OBJ_SMIME,3L +#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_cd      "id-smime-cd" -#define NID_id_smime_cd     193 -#define OBJ_id_smime_cd     OBJ_SMIME,4L +#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_spq     "id-smime-spq" -#define NID_id_smime_spq        194 -#define OBJ_id_smime_spq        OBJ_SMIME,5L +#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_cti     "id-smime-cti" -#define NID_id_smime_cti        195 -#define OBJ_id_smime_cti        OBJ_SMIME,6L +#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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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 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 LN_friendlyName		"friendlyName" +#define NID_friendlyName		156 +#define OBJ_friendlyName		OBJ_pkcs9,20L -#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 LN_localKeyID		"localKeyID" +#define NID_localKeyID		157 +#define OBJ_localKeyID		OBJ_pkcs9,21L -#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_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_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_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 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 OBJ_certTypes		OBJ_pkcs9,22L -#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_x509Certificate		"x509Certificate" +#define NID_x509Certificate		158 +#define OBJ_x509Certificate		OBJ_certTypes,1L -#define LN_friendlyName     "friendlyName" -#define NID_friendlyName        156 -#define OBJ_friendlyName        OBJ_pkcs9,20L +#define LN_sdsiCertificate		"sdsiCertificate" +#define NID_sdsiCertificate		159 +#define OBJ_sdsiCertificate		OBJ_certTypes,2L -#define LN_localKeyID       "localKeyID" -#define NID_localKeyID      157 -#define OBJ_localKeyID      OBJ_pkcs9,21L +#define OBJ_crlTypes		OBJ_pkcs9,23L -#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 LN_x509Crl		"x509Crl" +#define NID_x509Crl		160 +#define OBJ_x509Crl		OBJ_crlTypes,1L -#define OBJ_certTypes       OBJ_pkcs9,22L +#define OBJ_pkcs12		OBJ_pkcs,12L -#define LN_x509Certificate      "x509Certificate" -#define NID_x509Certificate     158 -#define OBJ_x509Certificate     OBJ_certTypes,1L +#define OBJ_pkcs12_pbeids		OBJ_pkcs12,1L -#define LN_sdsiCertificate      "sdsiCertificate" -#define NID_sdsiCertificate     159 -#define OBJ_sdsiCertificate     OBJ_certTypes,2L +#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 OBJ_crlTypes        OBJ_pkcs9,23L +#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 LN_x509Crl      "x509Crl" -#define NID_x509Crl     160 -#define OBJ_x509Crl     OBJ_crlTypes,1L +#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 OBJ_pkcs12      OBJ_pkcs,12L +#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 OBJ_pkcs12_pbeids       OBJ_pkcs12,1L +#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_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_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 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 OBJ_pkcs12_Version1		OBJ_pkcs12,10L -#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 OBJ_pkcs12_BagIds		OBJ_pkcs12_Version1,1L -#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 LN_keyBag		"keyBag" +#define NID_keyBag		150 +#define OBJ_keyBag		OBJ_pkcs12_BagIds,1L -#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 LN_pkcs8ShroudedKeyBag		"pkcs8ShroudedKeyBag" +#define NID_pkcs8ShroudedKeyBag		151 +#define OBJ_pkcs8ShroudedKeyBag		OBJ_pkcs12_BagIds,2L -#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 LN_certBag		"certBag" +#define NID_certBag		152 +#define OBJ_certBag		OBJ_pkcs12_BagIds,3L -#define OBJ_pkcs12_Version1     OBJ_pkcs12,10L - -#define OBJ_pkcs12_BagIds       OBJ_pkcs12_Version1,1L +#define LN_crlBag		"crlBag" +#define NID_crlBag		153 +#define OBJ_crlBag		OBJ_pkcs12_BagIds,4L -#define LN_keyBag       "keyBag" -#define NID_keyBag      150 -#define OBJ_keyBag      OBJ_pkcs12_BagIds,1L +#define LN_secretBag		"secretBag" +#define NID_secretBag		154 +#define OBJ_secretBag		OBJ_pkcs12_BagIds,5L -#define LN_pkcs8ShroudedKeyBag      "pkcs8ShroudedKeyBag" -#define NID_pkcs8ShroudedKeyBag     151 -#define OBJ_pkcs8ShroudedKeyBag     OBJ_pkcs12_BagIds,2L +#define LN_safeContentsBag		"safeContentsBag" +#define NID_safeContentsBag		155 +#define OBJ_safeContentsBag		OBJ_pkcs12_BagIds,6L -#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_hmacWithSHA1     "hmacWithSHA1" -#define NID_hmacWithSHA1        163 -#define OBJ_hmacWithSHA1        OBJ_rsadsi,2L,7L - -#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_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_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_pkiArchiveOptions     "id-regCtrl-pkiArchiveOptions" -#define NID_id_regCtrl_pkiArchiveOptions        318 -#define OBJ_id_regCtrl_pkiArchiveOptions        OBJ_id_regCtrl,4L +#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_oldCertID     "id-regCtrl-oldCertID" -#define NID_id_regCtrl_oldCertID        319 -#define OBJ_id_regCtrl_oldCertID        OBJ_id_regCtrl,5L +#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_protocolEncrKey       "id-regCtrl-protocolEncrKey" -#define NID_id_regCtrl_protocolEncrKey      320 -#define OBJ_id_regCtrl_protocolEncrKey      OBJ_id_regCtrl,6L +#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_regInfo_utf8Pairs     "id-regInfo-utf8Pairs" -#define NID_id_regInfo_utf8Pairs        321 -#define OBJ_id_regInfo_utf8Pairs        OBJ_id_regInfo,1L +#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_certReq       "id-regInfo-certReq" -#define NID_id_regInfo_certReq      322 -#define OBJ_id_regInfo_certReq      OBJ_id_regInfo,2L +#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_alg_des40     "id-alg-des40" -#define NID_id_alg_des40        323 -#define OBJ_id_alg_des40        OBJ_id_alg,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_noSignature       "id-alg-noSignature" -#define NID_id_alg_noSignature      324 -#define OBJ_id_alg_noSignature      OBJ_id_alg,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_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_noSignature		"id-alg-noSignature" +#define NID_id_alg_noSignature		324 +#define OBJ_id_alg_noSignature		OBJ_id_alg,2L -#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_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_cmc_statusInfo        "id-cmc-statusInfo" -#define NID_id_cmc_statusInfo       327 -#define OBJ_id_cmc_statusInfo       OBJ_id_cmc,1L +#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_identification        "id-cmc-identification" -#define NID_id_cmc_identification       328 -#define OBJ_id_cmc_identification       OBJ_id_cmc,2L +#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_identityProof     "id-cmc-identityProof" -#define NID_id_cmc_identityProof        329 -#define OBJ_id_cmc_identityProof        OBJ_id_cmc,3L +#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_dataReturn        "id-cmc-dataReturn" -#define NID_id_cmc_dataReturn       330 -#define OBJ_id_cmc_dataReturn       OBJ_id_cmc,4L +#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_transactionId     "id-cmc-transactionId" -#define NID_id_cmc_transactionId        331 -#define OBJ_id_cmc_transactionId        OBJ_id_cmc,5L +#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_senderNonce       "id-cmc-senderNonce" -#define NID_id_cmc_senderNonce      332 -#define OBJ_id_cmc_senderNonce      OBJ_id_cmc,6L +#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_recipientNonce        "id-cmc-recipientNonce" -#define NID_id_cmc_recipientNonce       333 -#define OBJ_id_cmc_recipientNonce       OBJ_id_cmc,7L +#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_addExtensions     "id-cmc-addExtensions" -#define NID_id_cmc_addExtensions        334 -#define OBJ_id_cmc_addExtensions        OBJ_id_cmc,8L +#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_encryptedPOP      "id-cmc-encryptedPOP" -#define NID_id_cmc_encryptedPOP     335 -#define OBJ_id_cmc_encryptedPOP     OBJ_id_cmc,9L +#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_decryptedPOP      "id-cmc-decryptedPOP" -#define NID_id_cmc_decryptedPOP     336 -#define OBJ_id_cmc_decryptedPOP     OBJ_id_cmc,10L +#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_lraPOPWitness     "id-cmc-lraPOPWitness" -#define NID_id_cmc_lraPOPWitness        337 -#define OBJ_id_cmc_lraPOPWitness        OBJ_id_cmc,11L +#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_getCert       "id-cmc-getCert" -#define NID_id_cmc_getCert      338 -#define OBJ_id_cmc_getCert      OBJ_id_cmc,15L +#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_getCRL        "id-cmc-getCRL" -#define NID_id_cmc_getCRL       339 -#define OBJ_id_cmc_getCRL       OBJ_id_cmc,16L +#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_revokeRequest     "id-cmc-revokeRequest" -#define NID_id_cmc_revokeRequest        340 -#define OBJ_id_cmc_revokeRequest        OBJ_id_cmc,17L +#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_regInfo       "id-cmc-regInfo" -#define NID_id_cmc_regInfo      341 -#define OBJ_id_cmc_regInfo      OBJ_id_cmc,18L +#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_responseInfo      "id-cmc-responseInfo" -#define NID_id_cmc_responseInfo     342 -#define OBJ_id_cmc_responseInfo     OBJ_id_cmc,19L +#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_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_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 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 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 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_postalCode       "postalCode" -#define NID_postalCode      661 -#define OBJ_postalCode      OBJ_X509,17L - -#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 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_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_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_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        1L,1L,1L,1L,666L,2L - -#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_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_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_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_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 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 SN_id_cmc_responseInfo		"id-cmc-responseInfo" +#define NID_id_cmc_responseInfo		342 +#define OBJ_id_cmc_responseInfo		OBJ_id_cmc,19L -#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_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 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 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_postalCode		"postalCode" +#define NID_postalCode		661 +#define OBJ_postalCode		OBJ_X509,17L + +#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 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_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_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_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_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_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_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 SN_id_aes128_wrap		"id-aes128-wrap" +#define NID_id_aes128_wrap		788 +#define OBJ_id_aes128_wrap		OBJ_aes,5L + +#define SN_id_aes192_wrap		"id-aes192-wrap" +#define NID_id_aes192_wrap		789 +#define OBJ_id_aes192_wrap		OBJ_aes,25L + +#define SN_id_aes256_wrap		"id-aes256-wrap" +#define NID_id_aes256_wrap		790 +#define OBJ_id_aes256_wrap		OBJ_aes,45L + +#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 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 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_set_brand        "set-brand" -#define NID_set_brand       518 -#define OBJ_set_brand       OBJ_id_set,8L +#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_setct_PANData        "setct-PANData" -#define NID_setct_PANData       519 -#define OBJ_setct_PANData       OBJ_set_ctype,0L +#define SN_set_brand		"set-brand" +#define NID_set_brand		518 +#define OBJ_set_brand		OBJ_id_set,8L -#define SN_setct_PANToken       "setct-PANToken" -#define NID_setct_PANToken      520 -#define OBJ_setct_PANToken      OBJ_set_ctype,1L +#define SN_setct_PANData		"setct-PANData" +#define NID_setct_PANData		519 +#define OBJ_setct_PANData		OBJ_set_ctype,0L -#define SN_setct_PANOnly        "setct-PANOnly" -#define NID_setct_PANOnly       521 -#define OBJ_setct_PANOnly       OBJ_set_ctype,2L +#define SN_setct_PANToken		"setct-PANToken" +#define NID_setct_PANToken		520 +#define OBJ_setct_PANToken		OBJ_set_ctype,1L -#define SN_setct_OIData     "setct-OIData" -#define NID_setct_OIData        522 -#define OBJ_setct_OIData        OBJ_set_ctype,3L +#define SN_setct_PANOnly		"setct-PANOnly" +#define NID_setct_PANOnly		521 +#define OBJ_setct_PANOnly		OBJ_set_ctype,2L -#define SN_setct_PI     "setct-PI" -#define NID_setct_PI        523 -#define OBJ_setct_PI        OBJ_set_ctype,4L +#define SN_setct_OIData		"setct-OIData" +#define NID_setct_OIData		522 +#define OBJ_setct_OIData		OBJ_set_ctype,3L -#define SN_setct_PIData     "setct-PIData" -#define NID_setct_PIData        524 -#define OBJ_setct_PIData        OBJ_set_ctype,5L +#define SN_setct_PI		"setct-PI" +#define NID_setct_PI		523 +#define OBJ_setct_PI		OBJ_set_ctype,4L -#define SN_setct_PIDataUnsigned     "setct-PIDataUnsigned" -#define NID_setct_PIDataUnsigned        525 -#define OBJ_setct_PIDataUnsigned        OBJ_set_ctype,6L +#define SN_setct_PIData		"setct-PIData" +#define NID_setct_PIData		524 +#define OBJ_setct_PIData		OBJ_set_ctype,5L -#define SN_setct_HODInput       "setct-HODInput" -#define NID_setct_HODInput      526 -#define OBJ_setct_HODInput      OBJ_set_ctype,7L +#define SN_setct_PIDataUnsigned		"setct-PIDataUnsigned" +#define NID_setct_PIDataUnsigned		525 +#define OBJ_setct_PIDataUnsigned		OBJ_set_ctype,6L -#define SN_setct_AuthResBaggage     "setct-AuthResBaggage" -#define NID_setct_AuthResBaggage        527 -#define OBJ_setct_AuthResBaggage        OBJ_set_ctype,8L +#define SN_setct_HODInput		"setct-HODInput" +#define NID_setct_HODInput		526 +#define OBJ_setct_HODInput		OBJ_set_ctype,7L -#define SN_setct_AuthRevReqBaggage      "setct-AuthRevReqBaggage" -#define NID_setct_AuthRevReqBaggage     528 -#define OBJ_setct_AuthRevReqBaggage     OBJ_set_ctype,9L +#define SN_setct_AuthResBaggage		"setct-AuthResBaggage" +#define NID_setct_AuthResBaggage		527 +#define OBJ_setct_AuthResBaggage		OBJ_set_ctype,8L -#define SN_setct_AuthRevResBaggage      "setct-AuthRevResBaggage" -#define NID_setct_AuthRevResBaggage     529 -#define OBJ_setct_AuthRevResBaggage     OBJ_set_ctype,10L +#define SN_setct_AuthRevReqBaggage		"setct-AuthRevReqBaggage" +#define NID_setct_AuthRevReqBaggage		528 +#define OBJ_setct_AuthRevReqBaggage		OBJ_set_ctype,9L -#define SN_setct_CapTokenSeq        "setct-CapTokenSeq" -#define NID_setct_CapTokenSeq       530 -#define OBJ_setct_CapTokenSeq       OBJ_set_ctype,11L +#define SN_setct_AuthRevResBaggage		"setct-AuthRevResBaggage" +#define NID_setct_AuthRevResBaggage		529 +#define OBJ_setct_AuthRevResBaggage		OBJ_set_ctype,10L -#define SN_setct_PInitResData       "setct-PInitResData" -#define NID_setct_PInitResData      531 -#define OBJ_setct_PInitResData      OBJ_set_ctype,12L +#define SN_setct_CapTokenSeq		"setct-CapTokenSeq" +#define NID_setct_CapTokenSeq		530 +#define OBJ_setct_CapTokenSeq		OBJ_set_ctype,11L -#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_PInitResData		"setct-PInitResData" +#define NID_setct_PInitResData		531 +#define OBJ_setct_PInitResData		OBJ_set_ctype,12L -#define SN_setct_PResData       "setct-PResData" -#define NID_setct_PResData      533 -#define OBJ_setct_PResData      OBJ_set_ctype,14L +#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_AuthReqTBS     "setct-AuthReqTBS" -#define NID_setct_AuthReqTBS        534 -#define OBJ_setct_AuthReqTBS        OBJ_set_ctype,16L +#define SN_setct_PResData		"setct-PResData" +#define NID_setct_PResData		533 +#define OBJ_setct_PResData		OBJ_set_ctype,14L -#define SN_setct_AuthResTBS     "setct-AuthResTBS" -#define NID_setct_AuthResTBS        535 -#define OBJ_setct_AuthResTBS        OBJ_set_ctype,17L +#define SN_setct_AuthReqTBS		"setct-AuthReqTBS" +#define NID_setct_AuthReqTBS		534 +#define OBJ_setct_AuthReqTBS		OBJ_set_ctype,16L -#define SN_setct_AuthResTBSX        "setct-AuthResTBSX" -#define NID_setct_AuthResTBSX       536 -#define OBJ_setct_AuthResTBSX       OBJ_set_ctype,18L +#define SN_setct_AuthResTBS		"setct-AuthResTBS" +#define NID_setct_AuthResTBS		535 +#define OBJ_setct_AuthResTBS		OBJ_set_ctype,17L -#define SN_setct_AuthTokenTBS       "setct-AuthTokenTBS" -#define NID_setct_AuthTokenTBS      537 -#define OBJ_setct_AuthTokenTBS      OBJ_set_ctype,19L +#define SN_setct_AuthResTBSX		"setct-AuthResTBSX" +#define NID_setct_AuthResTBSX		536 +#define OBJ_setct_AuthResTBSX		OBJ_set_ctype,18L -#define SN_setct_CapTokenData       "setct-CapTokenData" -#define NID_setct_CapTokenData      538 -#define OBJ_setct_CapTokenData      OBJ_set_ctype,20L +#define SN_setct_AuthTokenTBS		"setct-AuthTokenTBS" +#define NID_setct_AuthTokenTBS		537 +#define OBJ_setct_AuthTokenTBS		OBJ_set_ctype,19L -#define SN_setct_CapTokenTBS        "setct-CapTokenTBS" -#define NID_setct_CapTokenTBS       539 -#define OBJ_setct_CapTokenTBS       OBJ_set_ctype,21L +#define SN_setct_CapTokenData		"setct-CapTokenData" +#define NID_setct_CapTokenData		538 +#define OBJ_setct_CapTokenData		OBJ_set_ctype,20L -#define SN_setct_AcqCardCodeMsg     "setct-AcqCardCodeMsg" -#define NID_setct_AcqCardCodeMsg        540 -#define OBJ_setct_AcqCardCodeMsg        OBJ_set_ctype,22L +#define SN_setct_CapTokenTBS		"setct-CapTokenTBS" +#define NID_setct_CapTokenTBS		539 +#define OBJ_setct_CapTokenTBS		OBJ_set_ctype,21L -#define SN_setct_AuthRevReqTBS      "setct-AuthRevReqTBS" -#define NID_setct_AuthRevReqTBS     541 -#define OBJ_setct_AuthRevReqTBS     OBJ_set_ctype,23L +#define SN_setct_AcqCardCodeMsg		"setct-AcqCardCodeMsg" +#define NID_setct_AcqCardCodeMsg		540 +#define OBJ_setct_AcqCardCodeMsg		OBJ_set_ctype,22L -#define SN_setct_AuthRevResData     "setct-AuthRevResData" -#define NID_setct_AuthRevResData        542 -#define OBJ_setct_AuthRevResData        OBJ_set_ctype,24L +#define SN_setct_AuthRevReqTBS		"setct-AuthRevReqTBS" +#define NID_setct_AuthRevReqTBS		541 +#define OBJ_setct_AuthRevReqTBS		OBJ_set_ctype,23L -#define SN_setct_AuthRevResTBS      "setct-AuthRevResTBS" -#define NID_setct_AuthRevResTBS     543 -#define OBJ_setct_AuthRevResTBS     OBJ_set_ctype,25L +#define SN_setct_AuthRevResData		"setct-AuthRevResData" +#define NID_setct_AuthRevResData		542 +#define OBJ_setct_AuthRevResData		OBJ_set_ctype,24L -#define SN_setct_CapReqTBS      "setct-CapReqTBS" -#define NID_setct_CapReqTBS     544 -#define OBJ_setct_CapReqTBS     OBJ_set_ctype,26L +#define SN_setct_AuthRevResTBS		"setct-AuthRevResTBS" +#define NID_setct_AuthRevResTBS		543 +#define OBJ_setct_AuthRevResTBS		OBJ_set_ctype,25L -#define SN_setct_CapReqTBSX     "setct-CapReqTBSX" -#define NID_setct_CapReqTBSX        545 -#define OBJ_setct_CapReqTBSX        OBJ_set_ctype,27L +#define SN_setct_CapReqTBS		"setct-CapReqTBS" +#define NID_setct_CapReqTBS		544 +#define OBJ_setct_CapReqTBS		OBJ_set_ctype,26L -#define SN_setct_CapResData     "setct-CapResData" -#define NID_setct_CapResData        546 -#define OBJ_setct_CapResData        OBJ_set_ctype,28L +#define SN_setct_CapReqTBSX		"setct-CapReqTBSX" +#define NID_setct_CapReqTBSX		545 +#define OBJ_setct_CapReqTBSX		OBJ_set_ctype,27L -#define SN_setct_CapRevReqTBS       "setct-CapRevReqTBS" -#define NID_setct_CapRevReqTBS      547 -#define OBJ_setct_CapRevReqTBS      OBJ_set_ctype,29L +#define SN_setct_CapResData		"setct-CapResData" +#define NID_setct_CapResData		546 +#define OBJ_setct_CapResData		OBJ_set_ctype,28L -#define SN_setct_CapRevReqTBSX      "setct-CapRevReqTBSX" -#define NID_setct_CapRevReqTBSX     548 -#define OBJ_setct_CapRevReqTBSX     OBJ_set_ctype,30L +#define SN_setct_CapRevReqTBS		"setct-CapRevReqTBS" +#define NID_setct_CapRevReqTBS		547 +#define OBJ_setct_CapRevReqTBS		OBJ_set_ctype,29L -#define SN_setct_CapRevResData      "setct-CapRevResData" -#define NID_setct_CapRevResData     549 -#define OBJ_setct_CapRevResData     OBJ_set_ctype,31L +#define SN_setct_CapRevReqTBSX		"setct-CapRevReqTBSX" +#define NID_setct_CapRevReqTBSX		548 +#define OBJ_setct_CapRevReqTBSX		OBJ_set_ctype,30L -#define SN_setct_CredReqTBS     "setct-CredReqTBS" -#define NID_setct_CredReqTBS        550 -#define OBJ_setct_CredReqTBS        OBJ_set_ctype,32L +#define SN_setct_CapRevResData		"setct-CapRevResData" +#define NID_setct_CapRevResData		549 +#define OBJ_setct_CapRevResData		OBJ_set_ctype,31L -#define SN_setct_CredReqTBSX        "setct-CredReqTBSX" -#define NID_setct_CredReqTBSX       551 -#define OBJ_setct_CredReqTBSX       OBJ_set_ctype,33L +#define SN_setct_CredReqTBS		"setct-CredReqTBS" +#define NID_setct_CredReqTBS		550 +#define OBJ_setct_CredReqTBS		OBJ_set_ctype,32L -#define SN_setct_CredResData        "setct-CredResData" -#define NID_setct_CredResData       552 -#define OBJ_setct_CredResData       OBJ_set_ctype,34L +#define SN_setct_CredReqTBSX		"setct-CredReqTBSX" +#define NID_setct_CredReqTBSX		551 +#define OBJ_setct_CredReqTBSX		OBJ_set_ctype,33L -#define SN_setct_CredRevReqTBS      "setct-CredRevReqTBS" -#define NID_setct_CredRevReqTBS     553 -#define OBJ_setct_CredRevReqTBS     OBJ_set_ctype,35L +#define SN_setct_CredResData		"setct-CredResData" +#define NID_setct_CredResData		552 +#define OBJ_setct_CredResData		OBJ_set_ctype,34L -#define SN_setct_CredRevReqTBSX     "setct-CredRevReqTBSX" -#define NID_setct_CredRevReqTBSX        554 -#define OBJ_setct_CredRevReqTBSX        OBJ_set_ctype,36L +#define SN_setct_CredRevReqTBS		"setct-CredRevReqTBS" +#define NID_setct_CredRevReqTBS		553 +#define OBJ_setct_CredRevReqTBS		OBJ_set_ctype,35L -#define SN_setct_CredRevResData     "setct-CredRevResData" -#define NID_setct_CredRevResData        555 -#define OBJ_setct_CredRevResData        OBJ_set_ctype,37L +#define SN_setct_CredRevReqTBSX		"setct-CredRevReqTBSX" +#define NID_setct_CredRevReqTBSX		554 +#define OBJ_setct_CredRevReqTBSX		OBJ_set_ctype,36L -#define SN_setct_PCertReqData       "setct-PCertReqData" -#define NID_setct_PCertReqData      556 -#define OBJ_setct_PCertReqData      OBJ_set_ctype,38L +#define SN_setct_CredRevResData		"setct-CredRevResData" +#define NID_setct_CredRevResData		555 +#define OBJ_setct_CredRevResData		OBJ_set_ctype,37L -#define SN_setct_PCertResTBS        "setct-PCertResTBS" -#define NID_setct_PCertResTBS       557 -#define OBJ_setct_PCertResTBS       OBJ_set_ctype,39L +#define SN_setct_PCertReqData		"setct-PCertReqData" +#define NID_setct_PCertReqData		556 +#define OBJ_setct_PCertReqData		OBJ_set_ctype,38L -#define SN_setct_BatchAdminReqData      "setct-BatchAdminReqData" -#define NID_setct_BatchAdminReqData     558 -#define OBJ_setct_BatchAdminReqData     OBJ_set_ctype,40L +#define SN_setct_PCertResTBS		"setct-PCertResTBS" +#define NID_setct_PCertResTBS		557 +#define OBJ_setct_PCertResTBS		OBJ_set_ctype,39L -#define SN_setct_BatchAdminResData      "setct-BatchAdminResData" -#define NID_setct_BatchAdminResData     559 -#define OBJ_setct_BatchAdminResData     OBJ_set_ctype,41L +#define SN_setct_BatchAdminReqData		"setct-BatchAdminReqData" +#define NID_setct_BatchAdminReqData		558 +#define OBJ_setct_BatchAdminReqData		OBJ_set_ctype,40L -#define SN_setct_CardCInitResTBS        "setct-CardCInitResTBS" -#define NID_setct_CardCInitResTBS       560 -#define OBJ_setct_CardCInitResTBS       OBJ_set_ctype,42L +#define SN_setct_BatchAdminResData		"setct-BatchAdminResData" +#define NID_setct_BatchAdminResData		559 +#define OBJ_setct_BatchAdminResData		OBJ_set_ctype,41L -#define SN_setct_MeAqCInitResTBS        "setct-MeAqCInitResTBS" -#define NID_setct_MeAqCInitResTBS       561 -#define OBJ_setct_MeAqCInitResTBS       OBJ_set_ctype,43L +#define SN_setct_CardCInitResTBS		"setct-CardCInitResTBS" +#define NID_setct_CardCInitResTBS		560 +#define OBJ_setct_CardCInitResTBS		OBJ_set_ctype,42L -#define SN_setct_RegFormResTBS      "setct-RegFormResTBS" -#define NID_setct_RegFormResTBS     562 -#define OBJ_setct_RegFormResTBS     OBJ_set_ctype,44L +#define SN_setct_MeAqCInitResTBS		"setct-MeAqCInitResTBS" +#define NID_setct_MeAqCInitResTBS		561 +#define OBJ_setct_MeAqCInitResTBS		OBJ_set_ctype,43L -#define SN_setct_CertReqData        "setct-CertReqData" -#define NID_setct_CertReqData       563 -#define OBJ_setct_CertReqData       OBJ_set_ctype,45L +#define SN_setct_RegFormResTBS		"setct-RegFormResTBS" +#define NID_setct_RegFormResTBS		562 +#define OBJ_setct_RegFormResTBS		OBJ_set_ctype,44L -#define SN_setct_CertReqTBS     "setct-CertReqTBS" -#define NID_setct_CertReqTBS        564 -#define OBJ_setct_CertReqTBS        OBJ_set_ctype,46L +#define SN_setct_CertReqData		"setct-CertReqData" +#define NID_setct_CertReqData		563 +#define OBJ_setct_CertReqData		OBJ_set_ctype,45L -#define SN_setct_CertResData        "setct-CertResData" -#define NID_setct_CertResData       565 -#define OBJ_setct_CertResData       OBJ_set_ctype,47L +#define SN_setct_CertReqTBS		"setct-CertReqTBS" +#define NID_setct_CertReqTBS		564 +#define OBJ_setct_CertReqTBS		OBJ_set_ctype,46L -#define SN_setct_CertInqReqTBS      "setct-CertInqReqTBS" -#define NID_setct_CertInqReqTBS     566 -#define OBJ_setct_CertInqReqTBS     OBJ_set_ctype,48L +#define SN_setct_CertResData		"setct-CertResData" +#define NID_setct_CertResData		565 +#define OBJ_setct_CertResData		OBJ_set_ctype,47L -#define SN_setct_ErrorTBS       "setct-ErrorTBS" -#define NID_setct_ErrorTBS      567 -#define OBJ_setct_ErrorTBS      OBJ_set_ctype,49L +#define SN_setct_CertInqReqTBS		"setct-CertInqReqTBS" +#define NID_setct_CertInqReqTBS		566 +#define OBJ_setct_CertInqReqTBS		OBJ_set_ctype,48L -#define SN_setct_PIDualSignedTBE        "setct-PIDualSignedTBE" -#define NID_setct_PIDualSignedTBE       568 -#define OBJ_setct_PIDualSignedTBE       OBJ_set_ctype,50L +#define SN_setct_ErrorTBS		"setct-ErrorTBS" +#define NID_setct_ErrorTBS		567 +#define OBJ_setct_ErrorTBS		OBJ_set_ctype,49L -#define SN_setct_PIUnsignedTBE      "setct-PIUnsignedTBE" -#define NID_setct_PIUnsignedTBE     569 -#define OBJ_setct_PIUnsignedTBE     OBJ_set_ctype,51L +#define SN_setct_PIDualSignedTBE		"setct-PIDualSignedTBE" +#define NID_setct_PIDualSignedTBE		568 +#define OBJ_setct_PIDualSignedTBE		OBJ_set_ctype,50L -#define SN_setct_AuthReqTBE     "setct-AuthReqTBE" -#define NID_setct_AuthReqTBE        570 -#define OBJ_setct_AuthReqTBE        OBJ_set_ctype,52L +#define SN_setct_PIUnsignedTBE		"setct-PIUnsignedTBE" +#define NID_setct_PIUnsignedTBE		569 +#define OBJ_setct_PIUnsignedTBE		OBJ_set_ctype,51L -#define SN_setct_AuthResTBE     "setct-AuthResTBE" -#define NID_setct_AuthResTBE        571 -#define OBJ_setct_AuthResTBE        OBJ_set_ctype,53L +#define SN_setct_AuthReqTBE		"setct-AuthReqTBE" +#define NID_setct_AuthReqTBE		570 +#define OBJ_setct_AuthReqTBE		OBJ_set_ctype,52L -#define SN_setct_AuthResTBEX        "setct-AuthResTBEX" -#define NID_setct_AuthResTBEX       572 -#define OBJ_setct_AuthResTBEX       OBJ_set_ctype,54L +#define SN_setct_AuthResTBE		"setct-AuthResTBE" +#define NID_setct_AuthResTBE		571 +#define OBJ_setct_AuthResTBE		OBJ_set_ctype,53L -#define SN_setct_AuthTokenTBE       "setct-AuthTokenTBE" -#define NID_setct_AuthTokenTBE      573 -#define OBJ_setct_AuthTokenTBE      OBJ_set_ctype,55L +#define SN_setct_AuthResTBEX		"setct-AuthResTBEX" +#define NID_setct_AuthResTBEX		572 +#define OBJ_setct_AuthResTBEX		OBJ_set_ctype,54L -#define SN_setct_CapTokenTBE        "setct-CapTokenTBE" -#define NID_setct_CapTokenTBE       574 -#define OBJ_setct_CapTokenTBE       OBJ_set_ctype,56L +#define SN_setct_AuthTokenTBE		"setct-AuthTokenTBE" +#define NID_setct_AuthTokenTBE		573 +#define OBJ_setct_AuthTokenTBE		OBJ_set_ctype,55L -#define SN_setct_CapTokenTBEX       "setct-CapTokenTBEX" -#define NID_setct_CapTokenTBEX      575 -#define OBJ_setct_CapTokenTBEX      OBJ_set_ctype,57L +#define SN_setct_CapTokenTBE		"setct-CapTokenTBE" +#define NID_setct_CapTokenTBE		574 +#define OBJ_setct_CapTokenTBE		OBJ_set_ctype,56L -#define SN_setct_AcqCardCodeMsgTBE      "setct-AcqCardCodeMsgTBE" -#define NID_setct_AcqCardCodeMsgTBE     576 -#define OBJ_setct_AcqCardCodeMsgTBE     OBJ_set_ctype,58L +#define SN_setct_CapTokenTBEX		"setct-CapTokenTBEX" +#define NID_setct_CapTokenTBEX		575 +#define OBJ_setct_CapTokenTBEX		OBJ_set_ctype,57L -#define SN_setct_AuthRevReqTBE      "setct-AuthRevReqTBE" -#define NID_setct_AuthRevReqTBE     577 -#define OBJ_setct_AuthRevReqTBE     OBJ_set_ctype,59L +#define SN_setct_AcqCardCodeMsgTBE		"setct-AcqCardCodeMsgTBE" +#define NID_setct_AcqCardCodeMsgTBE		576 +#define OBJ_setct_AcqCardCodeMsgTBE		OBJ_set_ctype,58L -#define SN_setct_AuthRevResTBE      "setct-AuthRevResTBE" -#define NID_setct_AuthRevResTBE     578 -#define OBJ_setct_AuthRevResTBE     OBJ_set_ctype,60L +#define SN_setct_AuthRevReqTBE		"setct-AuthRevReqTBE" +#define NID_setct_AuthRevReqTBE		577 +#define OBJ_setct_AuthRevReqTBE		OBJ_set_ctype,59L -#define SN_setct_AuthRevResTBEB     "setct-AuthRevResTBEB" -#define NID_setct_AuthRevResTBEB        579 -#define OBJ_setct_AuthRevResTBEB        OBJ_set_ctype,61L +#define SN_setct_AuthRevResTBE		"setct-AuthRevResTBE" +#define NID_setct_AuthRevResTBE		578 +#define OBJ_setct_AuthRevResTBE		OBJ_set_ctype,60L -#define SN_setct_CapReqTBE      "setct-CapReqTBE" -#define NID_setct_CapReqTBE     580 -#define OBJ_setct_CapReqTBE     OBJ_set_ctype,62L +#define SN_setct_AuthRevResTBEB		"setct-AuthRevResTBEB" +#define NID_setct_AuthRevResTBEB		579 +#define OBJ_setct_AuthRevResTBEB		OBJ_set_ctype,61L -#define SN_setct_CapReqTBEX     "setct-CapReqTBEX" -#define NID_setct_CapReqTBEX        581 -#define OBJ_setct_CapReqTBEX        OBJ_set_ctype,63L +#define SN_setct_CapReqTBE		"setct-CapReqTBE" +#define NID_setct_CapReqTBE		580 +#define OBJ_setct_CapReqTBE		OBJ_set_ctype,62L -#define SN_setct_CapResTBE      "setct-CapResTBE" -#define NID_setct_CapResTBE     582 -#define OBJ_setct_CapResTBE     OBJ_set_ctype,64L +#define SN_setct_CapReqTBEX		"setct-CapReqTBEX" +#define NID_setct_CapReqTBEX		581 +#define OBJ_setct_CapReqTBEX		OBJ_set_ctype,63L -#define SN_setct_CapRevReqTBE       "setct-CapRevReqTBE" -#define NID_setct_CapRevReqTBE      583 -#define OBJ_setct_CapRevReqTBE      OBJ_set_ctype,65L +#define SN_setct_CapResTBE		"setct-CapResTBE" +#define NID_setct_CapResTBE		582 +#define OBJ_setct_CapResTBE		OBJ_set_ctype,64L -#define SN_setct_CapRevReqTBEX      "setct-CapRevReqTBEX" -#define NID_setct_CapRevReqTBEX     584 -#define OBJ_setct_CapRevReqTBEX     OBJ_set_ctype,66L +#define SN_setct_CapRevReqTBE		"setct-CapRevReqTBE" +#define NID_setct_CapRevReqTBE		583 +#define OBJ_setct_CapRevReqTBE		OBJ_set_ctype,65L -#define SN_setct_CapRevResTBE       "setct-CapRevResTBE" -#define NID_setct_CapRevResTBE      585 -#define OBJ_setct_CapRevResTBE      OBJ_set_ctype,67L +#define SN_setct_CapRevReqTBEX		"setct-CapRevReqTBEX" +#define NID_setct_CapRevReqTBEX		584 +#define OBJ_setct_CapRevReqTBEX		OBJ_set_ctype,66L -#define SN_setct_CredReqTBE     "setct-CredReqTBE" -#define NID_setct_CredReqTBE        586 -#define OBJ_setct_CredReqTBE        OBJ_set_ctype,68L +#define SN_setct_CapRevResTBE		"setct-CapRevResTBE" +#define NID_setct_CapRevResTBE		585 +#define OBJ_setct_CapRevResTBE		OBJ_set_ctype,67L -#define SN_setct_CredReqTBEX        "setct-CredReqTBEX" -#define NID_setct_CredReqTBEX       587 -#define OBJ_setct_CredReqTBEX       OBJ_set_ctype,69L +#define SN_setct_CredReqTBE		"setct-CredReqTBE" +#define NID_setct_CredReqTBE		586 +#define OBJ_setct_CredReqTBE		OBJ_set_ctype,68L -#define SN_setct_CredResTBE     "setct-CredResTBE" -#define NID_setct_CredResTBE        588 -#define OBJ_setct_CredResTBE        OBJ_set_ctype,70L +#define SN_setct_CredReqTBEX		"setct-CredReqTBEX" +#define NID_setct_CredReqTBEX		587 +#define OBJ_setct_CredReqTBEX		OBJ_set_ctype,69L -#define SN_setct_CredRevReqTBE      "setct-CredRevReqTBE" -#define NID_setct_CredRevReqTBE     589 -#define OBJ_setct_CredRevReqTBE     OBJ_set_ctype,71L +#define SN_setct_CredResTBE		"setct-CredResTBE" +#define NID_setct_CredResTBE		588 +#define OBJ_setct_CredResTBE		OBJ_set_ctype,70L -#define SN_setct_CredRevReqTBEX     "setct-CredRevReqTBEX" -#define NID_setct_CredRevReqTBEX        590 -#define OBJ_setct_CredRevReqTBEX        OBJ_set_ctype,72L +#define SN_setct_CredRevReqTBE		"setct-CredRevReqTBE" +#define NID_setct_CredRevReqTBE		589 +#define OBJ_setct_CredRevReqTBE		OBJ_set_ctype,71L -#define SN_setct_CredRevResTBE      "setct-CredRevResTBE" -#define NID_setct_CredRevResTBE     591 -#define OBJ_setct_CredRevResTBE     OBJ_set_ctype,73L +#define SN_setct_CredRevReqTBEX		"setct-CredRevReqTBEX" +#define NID_setct_CredRevReqTBEX		590 +#define OBJ_setct_CredRevReqTBEX		OBJ_set_ctype,72L -#define SN_setct_BatchAdminReqTBE       "setct-BatchAdminReqTBE" -#define NID_setct_BatchAdminReqTBE      592 -#define OBJ_setct_BatchAdminReqTBE      OBJ_set_ctype,74L +#define SN_setct_CredRevResTBE		"setct-CredRevResTBE" +#define NID_setct_CredRevResTBE		591 +#define OBJ_setct_CredRevResTBE		OBJ_set_ctype,73L -#define SN_setct_BatchAdminResTBE       "setct-BatchAdminResTBE" -#define NID_setct_BatchAdminResTBE      593 -#define OBJ_setct_BatchAdminResTBE      OBJ_set_ctype,75L +#define SN_setct_BatchAdminReqTBE		"setct-BatchAdminReqTBE" +#define NID_setct_BatchAdminReqTBE		592 +#define OBJ_setct_BatchAdminReqTBE		OBJ_set_ctype,74L -#define SN_setct_RegFormReqTBE      "setct-RegFormReqTBE" -#define NID_setct_RegFormReqTBE     594 -#define OBJ_setct_RegFormReqTBE     OBJ_set_ctype,76L +#define SN_setct_BatchAdminResTBE		"setct-BatchAdminResTBE" +#define NID_setct_BatchAdminResTBE		593 +#define OBJ_setct_BatchAdminResTBE		OBJ_set_ctype,75L -#define SN_setct_CertReqTBE     "setct-CertReqTBE" -#define NID_setct_CertReqTBE        595 -#define OBJ_setct_CertReqTBE        OBJ_set_ctype,77L +#define SN_setct_RegFormReqTBE		"setct-RegFormReqTBE" +#define NID_setct_RegFormReqTBE		594 +#define OBJ_setct_RegFormReqTBE		OBJ_set_ctype,76L -#define SN_setct_CertReqTBEX        "setct-CertReqTBEX" -#define NID_setct_CertReqTBEX       596 -#define OBJ_setct_CertReqTBEX       OBJ_set_ctype,78L +#define SN_setct_CertReqTBE		"setct-CertReqTBE" +#define NID_setct_CertReqTBE		595 +#define OBJ_setct_CertReqTBE		OBJ_set_ctype,77L -#define SN_setct_CertResTBE     "setct-CertResTBE" -#define NID_setct_CertResTBE        597 -#define OBJ_setct_CertResTBE        OBJ_set_ctype,79L +#define SN_setct_CertReqTBEX		"setct-CertReqTBEX" +#define NID_setct_CertReqTBEX		596 +#define OBJ_setct_CertReqTBEX		OBJ_set_ctype,78L -#define SN_setct_CRLNotificationTBS     "setct-CRLNotificationTBS" -#define NID_setct_CRLNotificationTBS        598 -#define OBJ_setct_CRLNotificationTBS        OBJ_set_ctype,80L +#define SN_setct_CertResTBE		"setct-CertResTBE" +#define NID_setct_CertResTBE		597 +#define OBJ_setct_CertResTBE		OBJ_set_ctype,79L -#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_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 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_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 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 diff --git a/dep/include/openssl/ocsp.h b/dep/include/openssl/ocsp.h index 1cbaa64b274..a0577a717ef 100644 --- a/dep/include/openssl/ocsp.h +++ b/dep/include/openssl/ocsp.h @@ -15,7 +15,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -74,20 +74,20 @@ extern "C" {  /* 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 +#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, @@ -96,12 +96,12 @@ extern "C" {   *       serialNumber       CertificateSerialNumber }   */  typedef struct ocsp_cert_id_st -    { -    X509_ALGOR *hashAlgorithm; -    ASN1_OCTET_STRING *issuerNameHash; -    ASN1_OCTET_STRING *issuerKeyHash; -    ASN1_INTEGER *serialNumber; -    } OCSP_CERTID; +	{ +	X509_ALGOR *hashAlgorithm; +	ASN1_OCTET_STRING *issuerNameHash; +	ASN1_OCTET_STRING *issuerKeyHash; +	ASN1_INTEGER *serialNumber; +	} OCSP_CERTID;  DECLARE_STACK_OF(OCSP_CERTID) @@ -110,10 +110,10 @@ DECLARE_STACK_OF(OCSP_CERTID)   *       singleRequestExtensions    [0] EXPLICIT Extensions OPTIONAL }   */  typedef struct ocsp_one_request_st -    { -    OCSP_CERTID *reqCert; -    STACK_OF(X509_EXTENSION) *singleRequestExtensions; -    } OCSP_ONEREQ; +	{ +	OCSP_CERTID *reqCert; +	STACK_OF(X509_EXTENSION) *singleRequestExtensions; +	} OCSP_ONEREQ;  DECLARE_STACK_OF(OCSP_ONEREQ)  DECLARE_ASN1_SET_OF(OCSP_ONEREQ) @@ -126,12 +126,12 @@ DECLARE_ASN1_SET_OF(OCSP_ONEREQ)   *       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; +	{ +	ASN1_INTEGER *version; +	GENERAL_NAME *requestorName; +	STACK_OF(OCSP_ONEREQ) *requestList; +	STACK_OF(X509_EXTENSION) *requestExtensions; +	} OCSP_REQINFO;  /*   Signature       ::=     SEQUENCE {   *       signatureAlgorithm   AlgorithmIdentifier, @@ -139,21 +139,21 @@ typedef struct ocsp_req_info_st   *       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; +	{ +	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; +	{ +	OCSP_REQINFO *tbsRequest; +	OCSP_SIGNATURE *optionalSignature; /* OPTIONAL */ +	} OCSP_REQUEST;  /*   OCSPResponseStatus ::= ENUMERATED {   *       successful            (0),      --Response has valid confirmations @@ -177,20 +177,20 @@ typedef struct ocsp_request_st   *       response       OCTET STRING }   */  typedef struct ocsp_resp_bytes_st -    { -    ASN1_OBJECT *responseType; -    ASN1_OCTET_STRING *response; -    } OCSP_RESPBYTES; +	{ +	ASN1_OBJECT *responseType; +	ASN1_OCTET_STRING *response; +	} OCSP_RESPBYTES;  /*   OCSPResponse ::= SEQUENCE {   *      responseStatus         OCSPResponseStatus,   *      responseBytes          [0] EXPLICIT ResponseBytes OPTIONAL }   */ -typedef struct ocsp_response_st -    { -    ASN1_ENUMERATED *responseStatus; -    OCSP_RESPBYTES  *responseBytes; -    } OCSP_RESPONSE; +struct ocsp_response_st +	{ +	ASN1_ENUMERATED *responseStatus; +	OCSP_RESPBYTES  *responseBytes; +	};  /*   ResponderID ::= CHOICE {   *      byName   [1] Name, @@ -198,14 +198,18 @@ typedef struct ocsp_response_st   */  #define V_OCSP_RESPID_NAME 0  #define V_OCSP_RESPID_KEY  1 -typedef struct ocsp_responder_id_st -    { -    int type; -    union   { -        X509_NAME* byName; -            ASN1_OCTET_STRING *byKey; -        } value; -    } OCSP_RESPID; +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)   */ @@ -215,10 +219,10 @@ typedef struct ocsp_responder_id_st   *       revocationReason    [0]     EXPLICIT CRLReason OPTIONAL }   */  typedef struct ocsp_revoked_info_st -    { -    ASN1_GENERALIZEDTIME *revocationTime; -    ASN1_ENUMERATED *revocationReason; -    } OCSP_REVOKEDINFO; +	{ +	ASN1_GENERALIZEDTIME *revocationTime; +	ASN1_ENUMERATED *revocationReason; +	} OCSP_REVOKEDINFO;  /*   CertStatus ::= CHOICE {   *       good                [0]     IMPLICIT NULL, @@ -229,14 +233,14 @@ typedef struct ocsp_revoked_info_st  #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; +	{ +	int type; +	union	{ +		ASN1_NULL *good; +		OCSP_REVOKEDINFO *revoked; +		ASN1_NULL *unknown; +		} value; +	} OCSP_CERTSTATUS;  /*   SingleResponse ::= SEQUENCE {   *      certID                       CertID, @@ -246,13 +250,13 @@ typedef struct ocsp_cert_status_st   *      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; +	{ +	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) @@ -265,13 +269,13 @@ DECLARE_ASN1_SET_OF(OCSP_SINGLERESP)   *      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; +	{ +	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, @@ -288,20 +292,20 @@ typedef struct ocsp_response_data_st       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 */ +     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 */ +     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; +	{ +	OCSP_RESPDATA *tbsResponseData; +	X509_ALGOR *signatureAlgorithm; +	ASN1_BIT_STRING *signature; +	STACK_OF(X509) *certs; +	} OCSP_BASICRESP;  /*   *   CRLReason ::= ENUMERATED { @@ -331,9 +335,9 @@ typedef struct ocsp_basic_response_st   */  typedef struct ocsp_crl_id_st          { -    ASN1_IA5STRING *crlUrl; -    ASN1_INTEGER *crlNum; -    ASN1_GENERALIZEDTIME *crlTime; +	ASN1_IA5STRING *crlUrl; +	ASN1_INTEGER *crlNum; +	ASN1_GENERALIZEDTIME *crlTime;          } OCSP_CRLID;  /* ServiceLocator ::= SEQUENCE { @@ -342,68 +346,72 @@ typedef struct ocsp_crl_id_st   */  typedef struct ocsp_service_locator_st          { -    X509_NAME* issuer; -    STACK_OF(ACCESS_DESCRIPTION) *locator; +	X509_NAME* issuer; +	STACK_OF(ACCESS_DESCRIPTION) *locator;          } OCSP_SERVICELOC; - -#define PEM_STRING_OCSP_REQUEST "OCSP REQUEST" +  +#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( \ +#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(\ +#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) +			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) +			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) +	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) +	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) +	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) +	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) +	ASN1_item_digest(ASN1_ITEM_rptr(ASN1_BIT_STRING),type,data,md,len)  #define OCSP_CERTID_dup(cid) ASN1_dup_of(OCSP_CERTID,i2d_OCSP_CERTID,d2i_OCSP_CERTID,cid)  #define OCSP_CERTSTATUS_dup(cs)\                  (OCSP_CERTSTATUS*)ASN1_dup((int(*)())i2d_OCSP_CERTSTATUS,\ -        (char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs)) +		(char *(*)())d2i_OCSP_CERTSTATUS,(char *)(cs))  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);  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_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); @@ -416,11 +424,11 @@ 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); +		      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); @@ -429,17 +437,17 @@ 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); +				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 *reason, +				ASN1_GENERALIZEDTIME **revtime, +				ASN1_GENERALIZEDTIME **thisupd, +				ASN1_GENERALIZEDTIME **nextupd);  int OCSP_check_validity(ASN1_GENERALIZEDTIME *thisupd, -            ASN1_GENERALIZEDTIME *nextupd, -            long sec, long maxsec); +			ASN1_GENERALIZEDTIME *nextupd, +			long sec, long maxsec);  int OCSP_request_verify(OCSP_REQUEST *req, STACK_OF(X509) *certs, X509_STORE *store, unsigned long flags); @@ -452,24 +460,24 @@ 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); +			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); +						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); +int OCSP_basic_sign(OCSP_BASICRESP *brsp,  +			X509 *signer, EVP_PKEY *key, const EVP_MD *dgst, +			STACK_OF(X509) *certs, unsigned long flags);  ASN1_STRING *ASN1_STRING_encode(ASN1_STRING *s, i2d_of_void *i2d, -                void *data, STACK_OF(ASN1_OBJECT) *sk); +				void *data, STACK_OF(ASN1_OBJECT) *sk);  #define ASN1_STRING_encode_of(type,s,i2d,data,sk) \ -((ASN1_STRING *(*)(ASN1_STRING *,I2D_OF(type),type *,STACK_OF(ASN1_OBJECT) *))openssl_fcast(ASN1_STRING_encode))(s,i2d,data,sk) +	ASN1_STRING_encode(s, CHECKED_I2D_OF(type, i2d), data, sk)  X509_EXTENSION *OCSP_crlID_new(char *url, long *n, char *tim); @@ -487,7 +495,7 @@ 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); +							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); @@ -498,7 +506,7 @@ 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); +							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); @@ -509,7 +517,7 @@ 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); +							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); @@ -520,7 +528,7 @@ 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); +							unsigned long flags);  int OCSP_SINGLERESP_add_ext(OCSP_SINGLERESP *x, X509_EXTENSION *ex, int loc);  DECLARE_ASN1_FUNCTIONS(OCSP_SINGLERESP) @@ -547,7 +555,7 @@ 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); +				X509_STORE *st, unsigned long flags);  /* BEGIN ERROR CODES */  /* The following lines are auto generated by the script mkerr.pl. Any changes @@ -558,58 +566,58 @@ 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_REQUEST_VERIFY                113 +#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_PARSE_HTTP_LINE1				 117 +#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 +#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/dep/include/openssl/opensslconf.h b/dep/include/openssl/opensslconf.h index 4b8bfffefc3..231bf7bfdbe 100644 --- a/dep/include/openssl/opensslconf.h +++ b/dep/include/openssl/opensslconf.h @@ -2,14 +2,27 @@  /* WARNING: Generated automatically from opensslconf.h.in by Configure. */  /* OpenSSL was configured with the following options: */ +#ifndef OPENSSL_SYSNAME_WIN32 +# define OPENSSL_SYSNAME_WIN32 +#endif  #ifndef OPENSSL_DOING_MAKEDEPEND +  #ifndef OPENSSL_NO_CAMELLIA  # define OPENSSL_NO_CAMELLIA  #endif +#ifndef OPENSSL_NO_CAPIENG +# define OPENSSL_NO_CAPIENG +#endif +#ifndef OPENSSL_NO_CMS +# define OPENSSL_NO_CMS +#endif  #ifndef OPENSSL_NO_GMP  # define OPENSSL_NO_GMP  #endif +#ifndef OPENSSL_NO_JPAKE +# define OPENSSL_NO_JPAKE +#endif  #ifndef OPENSSL_NO_KRB5  # define OPENSSL_NO_KRB5  #endif @@ -22,10 +35,14 @@  #ifndef OPENSSL_NO_RFC3779  # define OPENSSL_NO_RFC3779  #endif +#ifndef OPENSSL_NO_SEED +# define OPENSSL_NO_SEED +#endif  #endif /* OPENSSL_DOING_MAKEDEPEND */ -#ifndef OPENSSL_NO_DYNAMIC_ENGINE -# define OPENSSL_NO_DYNAMIC_ENGINE + +#ifndef OPENSSL_THREADS +# define OPENSSL_THREADS  #endif  /* The OPENSSL_NO_* macros are also defined as NO_* if the application @@ -36,9 +53,18 @@  # 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_CMS) && !defined(NO_CMS) +#  define NO_CMS +# endif  # if defined(OPENSSL_NO_GMP) && !defined(NO_GMP)  #  define NO_GMP  # 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 @@ -51,17 +77,35 @@  # if defined(OPENSSL_NO_RFC3779) && !defined(NO_RFC3779)  #  define NO_RFC3779  # endif +# if defined(OPENSSL_NO_SEED) && !defined(NO_SEED) +#  define NO_SEED +# endif  #endif  /* crypto/opensslconf.h.in */ +#ifdef OPENSSL_DOING_MAKEDEPEND + +/* Include any symbols here that have to be explicitly set to enable a feature + * that should be visible to makedepend. + * + * [Our "make depend" doesn't actually look at this, we use actual build settings + * instead; we want to make it easy to remove subdirectories with disabled algorithms.] + */ + +#ifndef OPENSSL_FIPS +#define OPENSSL_FIPS +#endif + +#endif +  /* 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" +#define ENGINESDIR "G:\openssl_build/lib/engines" +#define OPENSSLDIR "G:\openssl_build/ssl"  #endif  #endif @@ -69,6 +113,7 @@  #define OPENSSL_UNISTD <unistd.h>  #undef OPENSSL_EXPORT_VAR_AS_FUNCTION +#define OPENSSL_EXPORT_VAR_AS_FUNCTION  #if defined(HEADER_IDEA_H) && !defined(IDEA_INT)  #define IDEA_INT unsigned int @@ -113,7 +158,7 @@  #if defined(HEADER_BN_H) && !defined(CONFIG_HEADER_BN_H)  #define CONFIG_HEADER_BN_H -#undef BN_LLONG +#define BN_LLONG  /* Should we define BN_DIV2W here? */ @@ -132,7 +177,7 @@  #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 +#define RC4_INDEX  #endif  #if defined(HEADER_BF_LOCL_H) && !defined(CONFIG_HEADER_BF_LOCL_H) @@ -179,31 +224,31 @@ YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!     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 */ +  +#if defined( sun )		/* Newer Sparc's */  #  define DES_PTR  #  define DES_RISC1  #  define DES_UNROLL -#elif defined( __ultrix )   /* Older MIPS */ +#elif defined( __ultrix )	/* Older MIPS */  #  define DES_PTR  #  define DES_RISC2  #  define DES_UNROLL -#elif defined( __osf1__ )   /* Alpha */ +#elif defined( __osf1__ )	/* Alpha */  #  define DES_PTR  #  define DES_RISC2 -#elif defined ( _AIX )      /* RS6000 */ +#elif defined ( _AIX )		/* RS6000 */    /* Unknown */ -#elif defined( __hpux )     /* HP-PA */ +#elif defined( __hpux )		/* HP-PA */    /* Unknown */ -#elif defined( __aux )      /* 68K */ +#elif defined( __aux )		/* 68K */    /* Unknown */ -#elif defined( __dgux )     /* 88K (but P6 in latest boxes) */ +#elif defined( __dgux )		/* 88K (but P6 in latest boxes) */  #  define DES_UNROLL -#elif defined( __sgi )      /* Newer MIPS */ +#elif defined( __sgi )		/* Newer MIPS */  #  define DES_PTR  #  define DES_RISC2  #  define DES_UNROLL -#elif defined(i386) || defined(__i386__)    /* x86 boxes, should be gcc */ +#elif defined(i386) || defined(__i386__)	/* x86 boxes, should be gcc */  #  define DES_PTR  #  define DES_RISC1  #  define DES_UNROLL @@ -212,4 +257,3 @@ YOU SHOULD NOT HAVE BOTH DES_RISC1 AND DES_RISC2 DEFINED!!!!!  #endif /* DES_DEFAULT_OPTIONS */  #endif /* HEADER_DES_LOCL_H */ - diff --git a/dep/include/openssl/opensslv.h b/dep/include/openssl/opensslv.h index 1e32c6809dd..09687b5136a 100644 --- a/dep/include/openssl/opensslv.h +++ b/dep/include/openssl/opensslv.h @@ -6,14 +6,14 @@   * 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-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 + * 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 @@ -25,13 +25,13 @@   * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for   *  major minor fix final patch/beta)   */ -#define OPENSSL_VERSION_NUMBER  0x0090805fL +#define OPENSSL_VERSION_NUMBER	0x009080afL  #ifdef OPENSSL_FIPS -#define OPENSSL_VERSION_TEXT    "OpenSSL 0.9.8e-fips 23 Feb 2007" +#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8j-fips 07 Jan 2009"  #else -#define OPENSSL_VERSION_TEXT    "OpenSSL 0.9.8e 23 Feb 2007" +#define OPENSSL_VERSION_TEXT	"OpenSSL 0.9.8j 07 Jan 2009"  #endif -#define OPENSSL_VERSION_PTEXT   " part of " OPENSSL_VERSION_TEXT +#define OPENSSL_VERSION_PTEXT	" part of " OPENSSL_VERSION_TEXT  /* The macros below are to be used for shared library (.so, .dll, ...) @@ -42,11 +42,11 @@   * 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 + *	libcrypto.so.0.9   *   * Some unixen also make a softlink with the major verson number only:   * - *  libcrypto.so.0 + *	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 @@ -61,11 +61,11 @@   * 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 + *	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. @@ -87,4 +87,3 @@  #endif /* HEADER_OPENSSLV_H */ - diff --git a/dep/include/openssl/ossl_typ.h b/dep/include/openssl/ossl_typ.h index ca61b2fc864..0e7a3808803 100644 --- a/dep/include/openssl/ossl_typ.h +++ b/dep/include/openssl/ossl_typ.h @@ -6,7 +6,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -58,23 +58,23 @@  #include <openssl/e_os2.h>  #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 +#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; @@ -97,8 +97,11 @@ typedef int ASN1_NULL;  #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 @@ -139,6 +142,8 @@ typedef struct X509_crl_st X509_CRL;  typedef struct X509_name_st X509_NAME;  typedef struct x509_store_st X509_STORE;  typedef struct x509_store_ctx_st X509_STORE_CTX; +typedef struct ssl_st SSL; +typedef struct ssl_ctx_st SSL_CTX;  typedef struct v3_ext_ctx X509V3_CTX;  typedef struct conf_st CONF; @@ -165,11 +170,14 @@ typedef struct X509_POLICY_CACHE_st X509_POLICY_CACHE;  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); +					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); +					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); -#endif /* def HEADER_OPENSSL_TYPES_H */ +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/dep/include/openssl/pem.h b/dep/include/openssl/pem.h index 7924e75da3f..6f8e01544bb 100644 --- a/dep/include/openssl/pem.h +++ b/dep/include/openssl/pem.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -74,28 +74,28 @@  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_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 @@ -104,105 +104,107 @@ extern "C" {  #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_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_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_ECPRIVATEKEY	"EC PRIVATE KEY" +#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; +	{ +	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 +#define PEM_TYPE_CLEAR		40  typedef struct pem_recip_st -    { -    char *name; -    X509_NAME *dn; +	{ +	char *name; +	X509_NAME *dn; -    int cipher; -    int key_enc; -    /*  char iv[8]; unused and wrong size */ -    } PEM_USER; +	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; +	{ +	int type;		/* what type of object */ -    char *domain; +	struct	{ +		int version;	 +		int mode;		 +		} proc_type; -    struct  { -        int cipher; -    /* unused, and wrong size -       unsigned char iv[8]; */ -        } DEK_info; +	char *domain; -    PEM_USER *originator; +	struct	{ +		int cipher; +	/* unused, and wrong size +	   unsigned char iv[8]; */ +		} DEK_info; +		 +	PEM_USER *originator; -    int num_recipient; -    PEM_USER **recipient; +	int num_recipient; +	PEM_USER **recipient;  #ifndef OPENSSL_NO_STACK -    STACK *x509_chain;  /* certificate chain */ +	STACK *x509_chain;	/* certificate chain */  #else -    char *x509_chain;   /* certificate chain */ +	char *x509_chain;	/* certificate chain */  #endif -    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_MD *md;		/* signature type */ -    EVP_CIPHER *dec;    /* date encryption cipher */ -    int key_len;        /* key length */ -    unsigned char *key; /* key */ -    /* unused, and wrong size -       unsigned char iv[8]; */ +	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; +	 +	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: @@ -220,102 +222,132 @@ typedef struct pem_ctx_st  #define IMPLEMENT_PEM_read_fp(name, type, str, asn1) \  type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\  { \ -return(((type *(*)(D2I_OF(type),char *,FILE *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read))(d2i_##asn1, str,fp,x,cb,u)); \ -} +    return (type*)PEM_ASN1_read(CHECKED_D2I_OF(type, d2i_##asn1), \ +				str, fp, \ +				CHECKED_PPTR_OF(type, x), \ +				cb, u); \ +}   #define IMPLEMENT_PEM_write_fp(name, type, str, asn1) \  int PEM_write_##name(FILE *fp, type *x) \  { \ -return(((int (*)(I2D_OF(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL)); \ +    return PEM_ASN1_write(CHECKED_I2D_OF(type, i2d_##asn1), \ +			  str, fp, \ +			  CHECKED_PTR_OF(type, 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(((int (*)(I2D_OF_const(type),const char *,FILE *, const type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL)); \ +    return PEM_ASN1_write(CHECKED_I2D_OF(const type, i2d_##asn1), \ +			  str, fp, \ +			  CHECKED_PTR_OF(const type, 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(((int (*)(I2D_OF(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u)); \ -    } +	     unsigned char *kstr, int klen, pem_password_cb *cb, \ +		  void *u) \ +	{ \ +	    return PEM_ASN1_write(CHECKED_I2D_OF(type, i2d_##asn1), \ +				  str, fp, \ +				  CHECKED_PTR_OF(type, 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(((int (*)(I2D_OF_const(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u)); \ -    } +	     unsigned char *kstr, int klen, pem_password_cb *cb, \ +		  void *u) \ +	{ \ +	    return PEM_ASN1_write(CHECKED_I2D_OF(const type, i2d_##asn1), \ +				  str, fp, \ +				  CHECKED_PTR_OF(const type, 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(((type *(*)(D2I_OF(type),const char *,BIO *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read_bio))(d2i_##asn1, str,bp,x,cb,u)); \ +    return (type*)PEM_ASN1_read_bio(CHECKED_D2I_OF(type, d2i_##asn1), \ +				    str, bp, \ +				    CHECKED_PPTR_OF(type, x), \ +				    cb, u); \  }  #define IMPLEMENT_PEM_write_bio(name, type, str, asn1) \  int PEM_write_bio_##name(BIO *bp, type *x) \  { \ -return(((int (*)(I2D_OF(type),const char *,BIO *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL)); \ +    return PEM_ASN1_write_bio(CHECKED_I2D_OF(type, i2d_##asn1), \ +			      str, bp, \ +			      CHECKED_PTR_OF(type, 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(((int (*)(I2D_OF_const(type),const char *,BIO *,const type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL)); \ +    return PEM_ASN1_write_bio(CHECKED_I2D_OF(const type, i2d_##asn1), \ +			      str, bp, \ +			      CHECKED_PTR_OF(const type, 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(((int (*)(I2D_OF(type),const char *,BIO *,type *,const EVP_CIPHER *,unsigned char *,int,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u)); \ -    } +	     unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ +	{ \ +	    return PEM_ASN1_write_bio(CHECKED_I2D_OF(type, i2d_##asn1), \ +				      str, bp, \ +				      CHECKED_PTR_OF(type, 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(((int (*)(I2D_OF_const(type),const char *,BIO *,type *,const EVP_CIPHER *,unsigned char *,int,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u)); \ -    } +	     unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \ +	{ \ +	    return PEM_ASN1_write_bio(CHECKED_I2D_OF(const type, i2d_##asn1), \ +				      str, bp, \ +				      CHECKED_PTR_OF(const type, 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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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 */ @@ -328,33 +360,33 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \  #else  #define DECLARE_PEM_read_fp(name, type) \ -    type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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 @@ -365,162 +397,162 @@ int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \  #endif  #define DECLARE_PEM_write(name, type) \ -    DECLARE_PEM_write_bio(name, type) \ -    DECLARE_PEM_write_fp(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) +	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) +	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) +	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) +	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) +	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) +	DECLARE_PEM_read(name, type) \ +	DECLARE_PEM_write_cb(name, type)  #ifdef SSLEAY_MACROS  #define PEM_write_SSL_SESSION(fp,x) \ -        PEM_ASN1_write((int (*)())i2d_SSL_SESSION, \ -            PEM_STRING_SSL_SESSION,fp, (char *)x, NULL,NULL,0,NULL,NULL) +		PEM_ASN1_write((int (*)())i2d_SSL_SESSION, \ +			PEM_STRING_SSL_SESSION,fp, (char *)x, NULL,NULL,0,NULL,NULL)  #define PEM_write_X509(fp,x) \ -        PEM_ASN1_write((int (*)())i2d_X509,PEM_STRING_X509,fp, \ -            (char *)x, NULL,NULL,0,NULL,NULL) +		PEM_ASN1_write((int (*)())i2d_X509,PEM_STRING_X509,fp, \ +			(char *)x, NULL,NULL,0,NULL,NULL)  #define PEM_write_X509_REQ(fp,x) PEM_ASN1_write( \ -        (int (*)())i2d_X509_REQ,PEM_STRING_X509_REQ,fp,(char *)x, \ -            NULL,NULL,0,NULL,NULL) +		(int (*)())i2d_X509_REQ,PEM_STRING_X509_REQ,fp,(char *)x, \ +			NULL,NULL,0,NULL,NULL)  #define PEM_write_X509_CRL(fp,x) \ -        PEM_ASN1_write((int (*)())i2d_X509_CRL,PEM_STRING_X509_CRL, \ -            fp,(char *)x, NULL,NULL,0,NULL,NULL) -#define PEM_write_RSAPrivateKey(fp,x,enc,kstr,klen,cb,u) \ -        PEM_ASN1_write((int (*)())i2d_RSAPrivateKey,PEM_STRING_RSA,fp,\ -            (char *)x,enc,kstr,klen,cb,u) -#define PEM_write_RSAPublicKey(fp,x) \ -        PEM_ASN1_write((int (*)())i2d_RSAPublicKey,\ -            PEM_STRING_RSA_PUBLIC,fp,(char *)x,NULL,NULL,0,NULL,NULL) -#define PEM_write_DSAPrivateKey(fp,x,enc,kstr,klen,cb,u) \ -        PEM_ASN1_write((int (*)())i2d_DSAPrivateKey,PEM_STRING_DSA,fp,\ -            (char *)x,enc,kstr,klen,cb,u) -#define PEM_write_PrivateKey(bp,x,enc,kstr,klen,cb,u) \ -        PEM_ASN1_write((int (*)())i2d_PrivateKey,\ -        (((x)->type == EVP_PKEY_DSA)?PEM_STRING_DSA:PEM_STRING_RSA),\ -            bp,(char *)x,enc,kstr,klen,cb,u) +		PEM_ASN1_write((int (*)())i2d_X509_CRL,PEM_STRING_X509_CRL, \ +			fp,(char *)x, NULL,NULL,0,NULL,NULL) +#define	PEM_write_RSAPrivateKey(fp,x,enc,kstr,klen,cb,u) \ +		PEM_ASN1_write((int (*)())i2d_RSAPrivateKey,PEM_STRING_RSA,fp,\ +			(char *)x,enc,kstr,klen,cb,u) +#define	PEM_write_RSAPublicKey(fp,x) \ +		PEM_ASN1_write((int (*)())i2d_RSAPublicKey,\ +			PEM_STRING_RSA_PUBLIC,fp,(char *)x,NULL,NULL,0,NULL,NULL) +#define	PEM_write_DSAPrivateKey(fp,x,enc,kstr,klen,cb,u) \ +		PEM_ASN1_write((int (*)())i2d_DSAPrivateKey,PEM_STRING_DSA,fp,\ +			(char *)x,enc,kstr,klen,cb,u) +#define	PEM_write_PrivateKey(bp,x,enc,kstr,klen,cb,u) \ +		PEM_ASN1_write((int (*)())i2d_PrivateKey,\ +		(((x)->type == EVP_PKEY_DSA)?PEM_STRING_DSA:PEM_STRING_RSA),\ +			bp,(char *)x,enc,kstr,klen,cb,u)  #define PEM_write_PKCS7(fp,x) \ -        PEM_ASN1_write((int (*)())i2d_PKCS7,PEM_STRING_PKCS7,fp, \ -            (char *)x, NULL,NULL,0,NULL,NULL) +		PEM_ASN1_write((int (*)())i2d_PKCS7,PEM_STRING_PKCS7,fp, \ +			(char *)x, NULL,NULL,0,NULL,NULL)  #define PEM_write_DHparams(fp,x) \ -        PEM_ASN1_write((int (*)())i2d_DHparams,PEM_STRING_DHPARAMS,fp,\ -            (char *)x,NULL,NULL,0,NULL,NULL) +		PEM_ASN1_write((int (*)())i2d_DHparams,PEM_STRING_DHPARAMS,fp,\ +			(char *)x,NULL,NULL,0,NULL,NULL)  #define PEM_write_NETSCAPE_CERT_SEQUENCE(fp,x) \                  PEM_ASN1_write((int (*)())i2d_NETSCAPE_CERT_SEQUENCE, \ -            PEM_STRING_X509,fp, \ +			PEM_STRING_X509,fp, \                          (char *)x, NULL,NULL,0,NULL,NULL) -#define PEM_read_SSL_SESSION(fp,x,cb,u) (SSL_SESSION *)PEM_ASN1_read( \ -    (char *(*)())d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,fp,(char **)x,cb,u) -#define PEM_read_X509(fp,x,cb,u) (X509 *)PEM_ASN1_read( \ -    (char *(*)())d2i_X509,PEM_STRING_X509,fp,(char **)x,cb,u) -#define PEM_read_X509_REQ(fp,x,cb,u) (X509_REQ *)PEM_ASN1_read( \ -    (char *(*)())d2i_X509_REQ,PEM_STRING_X509_REQ,fp,(char **)x,cb,u) -#define PEM_read_X509_CRL(fp,x,cb,u) (X509_CRL *)PEM_ASN1_read( \ -    (char *(*)())d2i_X509_CRL,PEM_STRING_X509_CRL,fp,(char **)x,cb,u) -#define PEM_read_RSAPrivateKey(fp,x,cb,u) (RSA *)PEM_ASN1_read( \ -    (char *(*)())d2i_RSAPrivateKey,PEM_STRING_RSA,fp,(char **)x,cb,u) -#define PEM_read_RSAPublicKey(fp,x,cb,u) (RSA *)PEM_ASN1_read( \ -    (char *(*)())d2i_RSAPublicKey,PEM_STRING_RSA_PUBLIC,fp,(char **)x,cb,u) -#define PEM_read_DSAPrivateKey(fp,x,cb,u) (DSA *)PEM_ASN1_read( \ -    (char *(*)())d2i_DSAPrivateKey,PEM_STRING_DSA,fp,(char **)x,cb,u) -#define PEM_read_PrivateKey(fp,x,cb,u) (EVP_PKEY *)PEM_ASN1_read( \ -    (char *(*)())d2i_PrivateKey,PEM_STRING_EVP_PKEY,fp,(char **)x,cb,u) -#define PEM_read_PKCS7(fp,x,cb,u) (PKCS7 *)PEM_ASN1_read( \ -    (char *(*)())d2i_PKCS7,PEM_STRING_PKCS7,fp,(char **)x,cb,u) -#define PEM_read_DHparams(fp,x,cb,u) (DH *)PEM_ASN1_read( \ -    (char *(*)())d2i_DHparams,PEM_STRING_DHPARAMS,fp,(char **)x,cb,u) +#define	PEM_read_SSL_SESSION(fp,x,cb,u) (SSL_SESSION *)PEM_ASN1_read( \ +	(char *(*)())d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,fp,(char **)x,cb,u) +#define	PEM_read_X509(fp,x,cb,u) (X509 *)PEM_ASN1_read( \ +	(char *(*)())d2i_X509,PEM_STRING_X509,fp,(char **)x,cb,u) +#define	PEM_read_X509_REQ(fp,x,cb,u) (X509_REQ *)PEM_ASN1_read( \ +	(char *(*)())d2i_X509_REQ,PEM_STRING_X509_REQ,fp,(char **)x,cb,u) +#define	PEM_read_X509_CRL(fp,x,cb,u) (X509_CRL *)PEM_ASN1_read( \ +	(char *(*)())d2i_X509_CRL,PEM_STRING_X509_CRL,fp,(char **)x,cb,u) +#define	PEM_read_RSAPrivateKey(fp,x,cb,u) (RSA *)PEM_ASN1_read( \ +	(char *(*)())d2i_RSAPrivateKey,PEM_STRING_RSA,fp,(char **)x,cb,u) +#define	PEM_read_RSAPublicKey(fp,x,cb,u) (RSA *)PEM_ASN1_read( \ +	(char *(*)())d2i_RSAPublicKey,PEM_STRING_RSA_PUBLIC,fp,(char **)x,cb,u) +#define	PEM_read_DSAPrivateKey(fp,x,cb,u) (DSA *)PEM_ASN1_read( \ +	(char *(*)())d2i_DSAPrivateKey,PEM_STRING_DSA,fp,(char **)x,cb,u) +#define	PEM_read_PrivateKey(fp,x,cb,u) (EVP_PKEY *)PEM_ASN1_read( \ +	(char *(*)())d2i_PrivateKey,PEM_STRING_EVP_PKEY,fp,(char **)x,cb,u) +#define	PEM_read_PKCS7(fp,x,cb,u) (PKCS7 *)PEM_ASN1_read( \ +	(char *(*)())d2i_PKCS7,PEM_STRING_PKCS7,fp,(char **)x,cb,u) +#define	PEM_read_DHparams(fp,x,cb,u) (DH *)PEM_ASN1_read( \ +	(char *(*)())d2i_DHparams,PEM_STRING_DHPARAMS,fp,(char **)x,cb,u)  #define PEM_read_NETSCAPE_CERT_SEQUENCE(fp,x,cb,u) \ -        (NETSCAPE_CERT_SEQUENCE *)PEM_ASN1_read( \ +		(NETSCAPE_CERT_SEQUENCE *)PEM_ASN1_read( \          (char *(*)())d2i_NETSCAPE_CERT_SEQUENCE,PEM_STRING_X509,fp,\ -                            (char **)x,cb,u) +							(char **)x,cb,u)  #define PEM_write_bio_X509(bp,x) \ -        PEM_ASN1_write_bio((int (*)())i2d_X509,PEM_STRING_X509,bp, \ -            (char *)x, NULL,NULL,0,NULL,NULL) +		PEM_ASN1_write_bio((int (*)())i2d_X509,PEM_STRING_X509,bp, \ +			(char *)x, NULL,NULL,0,NULL,NULL)  #define PEM_write_bio_X509_REQ(bp,x) PEM_ASN1_write_bio( \ -        (int (*)())i2d_X509_REQ,PEM_STRING_X509_REQ,bp,(char *)x, \ -            NULL,NULL,0,NULL,NULL) +		(int (*)())i2d_X509_REQ,PEM_STRING_X509_REQ,bp,(char *)x, \ +			NULL,NULL,0,NULL,NULL)  #define PEM_write_bio_X509_CRL(bp,x) \ -        PEM_ASN1_write_bio((int (*)())i2d_X509_CRL,PEM_STRING_X509_CRL,\ -            bp,(char *)x, NULL,NULL,0,NULL,NULL) -#define PEM_write_bio_RSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \ -        PEM_ASN1_write_bio((int (*)())i2d_RSAPrivateKey,PEM_STRING_RSA,\ -            bp,(char *)x,enc,kstr,klen,cb,u) -#define PEM_write_bio_RSAPublicKey(bp,x) \ -        PEM_ASN1_write_bio((int (*)())i2d_RSAPublicKey, \ -            PEM_STRING_RSA_PUBLIC,\ -            bp,(char *)x,NULL,NULL,0,NULL,NULL) -#define PEM_write_bio_DSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \ -        PEM_ASN1_write_bio((int (*)())i2d_DSAPrivateKey,PEM_STRING_DSA,\ -            bp,(char *)x,enc,kstr,klen,cb,u) -#define PEM_write_bio_PrivateKey(bp,x,enc,kstr,klen,cb,u) \ -        PEM_ASN1_write_bio((int (*)())i2d_PrivateKey,\ -        (((x)->type == EVP_PKEY_DSA)?PEM_STRING_DSA:PEM_STRING_RSA),\ -            bp,(char *)x,enc,kstr,klen,cb,u) +		PEM_ASN1_write_bio((int (*)())i2d_X509_CRL,PEM_STRING_X509_CRL,\ +			bp,(char *)x, NULL,NULL,0,NULL,NULL) +#define	PEM_write_bio_RSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \ +		PEM_ASN1_write_bio((int (*)())i2d_RSAPrivateKey,PEM_STRING_RSA,\ +			bp,(char *)x,enc,kstr,klen,cb,u) +#define	PEM_write_bio_RSAPublicKey(bp,x) \ +		PEM_ASN1_write_bio((int (*)())i2d_RSAPublicKey, \ +			PEM_STRING_RSA_PUBLIC,\ +			bp,(char *)x,NULL,NULL,0,NULL,NULL) +#define	PEM_write_bio_DSAPrivateKey(bp,x,enc,kstr,klen,cb,u) \ +		PEM_ASN1_write_bio((int (*)())i2d_DSAPrivateKey,PEM_STRING_DSA,\ +			bp,(char *)x,enc,kstr,klen,cb,u) +#define	PEM_write_bio_PrivateKey(bp,x,enc,kstr,klen,cb,u) \ +		PEM_ASN1_write_bio((int (*)())i2d_PrivateKey,\ +		(((x)->type == EVP_PKEY_DSA)?PEM_STRING_DSA:PEM_STRING_RSA),\ +			bp,(char *)x,enc,kstr,klen,cb,u)  #define PEM_write_bio_PKCS7(bp,x) \ -        PEM_ASN1_write_bio((int (*)())i2d_PKCS7,PEM_STRING_PKCS7,bp, \ -            (char *)x, NULL,NULL,0,NULL,NULL) +		PEM_ASN1_write_bio((int (*)())i2d_PKCS7,PEM_STRING_PKCS7,bp, \ +			(char *)x, NULL,NULL,0,NULL,NULL)  #define PEM_write_bio_DHparams(bp,x) \ -        PEM_ASN1_write_bio((int (*)())i2d_DHparams,PEM_STRING_DHPARAMS,\ -            bp,(char *)x,NULL,NULL,0,NULL,NULL) +		PEM_ASN1_write_bio((int (*)())i2d_DHparams,PEM_STRING_DHPARAMS,\ +			bp,(char *)x,NULL,NULL,0,NULL,NULL)  #define PEM_write_bio_DSAparams(bp,x) \ -        PEM_ASN1_write_bio((int (*)())i2d_DSAparams, \ -            PEM_STRING_DSAPARAMS,bp,(char *)x,NULL,NULL,0,NULL,NULL) +		PEM_ASN1_write_bio((int (*)())i2d_DSAparams, \ +			PEM_STRING_DSAPARAMS,bp,(char *)x,NULL,NULL,0,NULL,NULL)  #define PEM_write_bio_NETSCAPE_CERT_SEQUENCE(bp,x) \                  PEM_ASN1_write_bio((int (*)())i2d_NETSCAPE_CERT_SEQUENCE, \ -            PEM_STRING_X509,bp, \ +			PEM_STRING_X509,bp, \                          (char *)x, NULL,NULL,0,NULL,NULL) -#define PEM_read_bio_X509(bp,x,cb,u) (X509 *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_X509,PEM_STRING_X509,bp,(char **)x,cb,u) -#define PEM_read_bio_X509_REQ(bp,x,cb,u) (X509_REQ *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_X509_REQ,PEM_STRING_X509_REQ,bp,(char **)x,cb,u) -#define PEM_read_bio_X509_CRL(bp,x,cb,u) (X509_CRL *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_X509_CRL,PEM_STRING_X509_CRL,bp,(char **)x,cb,u) -#define PEM_read_bio_RSAPrivateKey(bp,x,cb,u) (RSA *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_RSAPrivateKey,PEM_STRING_RSA,bp,(char **)x,cb,u) -#define PEM_read_bio_RSAPublicKey(bp,x,cb,u) (RSA *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_RSAPublicKey,PEM_STRING_RSA_PUBLIC,bp,(char **)x,cb,u) -#define PEM_read_bio_DSAPrivateKey(bp,x,cb,u) (DSA *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_DSAPrivateKey,PEM_STRING_DSA,bp,(char **)x,cb,u) -#define PEM_read_bio_PrivateKey(bp,x,cb,u) (EVP_PKEY *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_PrivateKey,PEM_STRING_EVP_PKEY,bp,(char **)x,cb,u) - -#define PEM_read_bio_PKCS7(bp,x,cb,u) (PKCS7 *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_PKCS7,PEM_STRING_PKCS7,bp,(char **)x,cb,u) -#define PEM_read_bio_DHparams(bp,x,cb,u) (DH *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_DHparams,PEM_STRING_DHPARAMS,bp,(char **)x,cb,u) -#define PEM_read_bio_DSAparams(bp,x,cb,u) (DSA *)PEM_ASN1_read_bio( \ -    (char *(*)())d2i_DSAparams,PEM_STRING_DSAPARAMS,bp,(char **)x,cb,u) +#define	PEM_read_bio_X509(bp,x,cb,u) (X509 *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_X509,PEM_STRING_X509,bp,(char **)x,cb,u) +#define	PEM_read_bio_X509_REQ(bp,x,cb,u) (X509_REQ *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_X509_REQ,PEM_STRING_X509_REQ,bp,(char **)x,cb,u) +#define	PEM_read_bio_X509_CRL(bp,x,cb,u) (X509_CRL *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_X509_CRL,PEM_STRING_X509_CRL,bp,(char **)x,cb,u) +#define	PEM_read_bio_RSAPrivateKey(bp,x,cb,u) (RSA *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_RSAPrivateKey,PEM_STRING_RSA,bp,(char **)x,cb,u) +#define	PEM_read_bio_RSAPublicKey(bp,x,cb,u) (RSA *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_RSAPublicKey,PEM_STRING_RSA_PUBLIC,bp,(char **)x,cb,u) +#define	PEM_read_bio_DSAPrivateKey(bp,x,cb,u) (DSA *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_DSAPrivateKey,PEM_STRING_DSA,bp,(char **)x,cb,u) +#define	PEM_read_bio_PrivateKey(bp,x,cb,u) (EVP_PKEY *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_PrivateKey,PEM_STRING_EVP_PKEY,bp,(char **)x,cb,u) + +#define	PEM_read_bio_PKCS7(bp,x,cb,u) (PKCS7 *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_PKCS7,PEM_STRING_PKCS7,bp,(char **)x,cb,u) +#define	PEM_read_bio_DHparams(bp,x,cb,u) (DH *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_DHparams,PEM_STRING_DHPARAMS,bp,(char **)x,cb,u) +#define	PEM_read_bio_DSAparams(bp,x,cb,u) (DSA *)PEM_ASN1_read_bio( \ +	(char *(*)())d2i_DSAparams,PEM_STRING_DSAPARAMS,bp,(char **)x,cb,u)  #define PEM_read_bio_NETSCAPE_CERT_SEQUENCE(bp,x,cb,u) \ -        (NETSCAPE_CERT_SEQUENCE *)PEM_ASN1_read_bio( \ +		(NETSCAPE_CERT_SEQUENCE *)PEM_ASN1_read_bio( \          (char *(*)())d2i_NETSCAPE_CERT_SEQUENCE,PEM_STRING_X509,bp,\ -                            (char **)x,cb,u) +							(char **)x,cb,u)  #endif @@ -532,61 +564,70 @@ typedef int pem_password_cb(char *buf, int size, int rwflag, void *userdata);  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); +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_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); +	     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); +  #define PEM_ASN1_read_bio_of(type,d2i,name,bp,x,cb,u) \ -((type *(*)(D2I_OF(type),const char *,BIO *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read_bio))(d2i,name,bp,x,cb,u) -int PEM_ASN1_write_bio(i2d_of_void *i2d,const char *name,BIO *bp,char *x, -               const EVP_CIPHER *enc,unsigned char *kstr,int klen, -               pem_password_cb *cb, void *u); -#define PEM_ASN1_write_bio_of(type,i2d,name,bp,x,enc,kstr,klen,cb,u) \ -    ((int (*)(I2D_OF(type),const char *,BIO *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d,name,bp,x,enc,kstr,klen,cb,u) +    ((type*)PEM_ASN1_read_bio(CHECKED_D2I_OF(type, d2i), \ +			      name, bp,			\ +			      CHECKED_PPTR_OF(type, x), \ +			      cb, 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); +int	PEM_ASN1_write_bio(i2d_of_void *i2d,const char *name,BIO *bp,char *x, +			   const EVP_CIPHER *enc,unsigned char *kstr,int klen, +			   pem_password_cb *cb, void *u); + +#define PEM_ASN1_write_bio_of(type,i2d,name,bp,x,enc,kstr,klen,cb,u) \ +    (PEM_ASN1_write_bio(CHECKED_I2D_OF(type, i2d), \ +			name, bp,		   \ +			CHECKED_PTR_OF(type, x), \ +			enc, kstr, klen, cb, 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  #ifndef OPENSSL_SYS_WIN16 -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); +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, -               char *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); +		      pem_password_cb *cb, void *u); +int	PEM_ASN1_write(i2d_of_void *i2d,const char *name,FILE *fp, +		       char *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);  #endif -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); +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_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); +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);  #ifndef SSLEAY_MACROS @@ -647,32 +688,32 @@ 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); +				  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); +				  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); +				  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); +				  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); +				  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); +				  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); +			      char *kstr,int klen, pem_password_cb *cd, void *u);  #endif /* SSLEAY_MACROS */ @@ -686,53 +727,52 @@ void ERR_load_PEM_strings(void);  /* Error codes for the PEM functions. */  /* Function codes. */ -#define PEM_F_D2I_PKCS8PRIVATEKEY_BIO            120 -#define PEM_F_D2I_PKCS8PRIVATEKEY_FP             121 -#define PEM_F_DO_PK8PKEY                 126 -#define PEM_F_DO_PK8PKEY_FP              125 -#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_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_X509_INFO_READ             115 -#define PEM_F_PEM_X509_INFO_READ_BIO             116 -#define PEM_F_PEM_X509_INFO_WRITE_BIO            117 +#define PEM_F_D2I_PKCS8PRIVATEKEY_BIO			 120 +#define PEM_F_D2I_PKCS8PRIVATEKEY_FP			 121 +#define PEM_F_DO_PK8PKEY				 126 +#define PEM_F_DO_PK8PKEY_FP				 125 +#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_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_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_PASSWORD_READ              104 -#define PEM_R_ERROR_CONVERTING_PRIVATE_KEY       115 -#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_READ_KEY                   111 -#define PEM_R_SHORT_HEADER               112 -#define PEM_R_UNSUPPORTED_CIPHER             113 -#define PEM_R_UNSUPPORTED_ENCRYPTION             114 +#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_PASSWORD_READ				 104 +#define PEM_R_ERROR_CONVERTING_PRIVATE_KEY		 115 +#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_READ_KEY					 111 +#define PEM_R_SHORT_HEADER				 112 +#define PEM_R_UNSUPPORTED_CIPHER			 113 +#define PEM_R_UNSUPPORTED_ENCRYPTION			 114  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/pkcs12.h b/dep/include/openssl/pkcs12.h index c20eff06baf..4bee605dc0d 100644 --- a/dep/include/openssl/pkcs12.h +++ b/dep/include/openssl/pkcs12.h @@ -1,5 +1,5 @@  /* pkcs12.h */ -/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL   * project 1999.   */  /* ==================================================================== @@ -10,7 +10,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -66,18 +66,18 @@  extern "C" {  #endif -#define PKCS12_KEY_ID   1 -#define PKCS12_IV_ID    2 -#define PKCS12_MAC_ID   3 +#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 +#define PKCS12_DEFAULT_ITER	PKCS5_DEFAULT_ITER  #endif  #define PKCS12_MAC_KEY_LENGTH 20 -#define PKCS12_SALT_LEN 8 +#define PKCS12_SALT_LEN	8  /* Uncomment out next line for unicode password and names, otherwise ASCII */ @@ -93,13 +93,13 @@ extern "C" {  /* MS key usage constants */ -#define KEY_EX  0x10 +#define KEY_EX	0x10  #define KEY_SIG 0x80  typedef struct {  X509_SIG *dinfo;  ASN1_OCTET_STRING *salt; -ASN1_INTEGER *iter; /* defaults to 1 */ +ASN1_INTEGER *iter;	/* defaults to 1 */  } PKCS12_MAC_DATA;  typedef struct { @@ -113,11 +113,11 @@ PREDECLARE_STACK_OF(PKCS12_SAFEBAG)  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; +	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; @@ -129,16 +129,16 @@ 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 */ +	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 +#define PKCS12_ERROR	0 +#define PKCS12_OK	1  /* Compatibility macros */ @@ -146,7 +146,7 @@ union {  #define M_PKCS12_x509crl2certbag PKCS12_x509crl2certbag  #define M_PKCS12_certbag2x509 PKCS12_certbag2x509 -#define M_PKCS12_certbag2x509crl PKCS12_certbag2x509crl +#define M_PKCS12_certbag2x509crl PKCS12_certbag2x509crl   #define M_PKCS12_unpack_p7data PKCS12_unpack_p7data  #define M_PKCS12_pack_authsafes PKCS12_pack_authsafes @@ -161,10 +161,10 @@ union {  #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) +			 PKCS12_get_attr_gen(bag->attrib, attr_nid)  #define PKCS8_get_attr(p8, attr_nid) \ -        PKCS12_get_attr_gen(p8->attributes, attr_nid) +		PKCS12_get_attr_gen(p8->attributes, attr_nid)  #define PKCS12_mac_present(p12) ((p12)->mac ? 1 : 0) @@ -175,24 +175,24 @@ 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); +	     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); +								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); +				     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); +			     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); @@ -200,38 +200,38 @@ 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 namelen);  int PKCS12_add_CSPName_asc(PKCS12_SAFEBAG *bag, const char *name, -                int namelen); +				int namelen);  int PKCS12_add_friendlyname_uni(PKCS12_SAFEBAG *bag, const unsigned char *name, -                int namelen); +				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); +				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); +	     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); +				       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 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); +			 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); +			 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); +		   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); +					 int saltlen, const EVP_MD *md_type);  unsigned char *asc2uni(const char *asc, int asclen, unsigned char **uni, int *unilen);  char *uni2asc(unsigned char *uni, int unilen); @@ -245,17 +245,17 @@ 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); +		 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); +			 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 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); +					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); @@ -273,62 +273,61 @@ 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 +#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 +#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/dep/include/openssl/pq_compat.h b/dep/include/openssl/pq_compat.h index bd8928dc0e9..7b2c32725cd 100644 --- a/dep/include/openssl/pq_compat.h +++ b/dep/include/openssl/pq_compat.h @@ -1,7 +1,7 @@  /* crypto/pqueue/pqueue_compat.h */ -/* +/*    * DTLS implementation written by Nagendra Modadugu - * (nagendra@cs.stanford.edu) for the OpenSSL project 2005. + * (nagendra@cs.stanford.edu) for the OpenSSL project 2005.     */  /* ====================================================================   * Copyright (c) 1999-2005 The OpenSSL Project.  All rights reserved. @@ -11,7 +11,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -57,10 +57,13 @@   *   */ -#include "opensslconf.h" +#ifndef HEADER_PQ_COMPAT_H +#define HEADER_PQ_COMPAT_H + +#include <openssl/opensslconf.h>  #include <openssl/bn.h> -/* +/*    * The purpose of this header file is for supporting 64-bit integer   * manipulation on 32-bit (and lower) machines.  Currently the only   * such environment is VMS, Utrix and those with smaller default integer @@ -128,7 +131,7 @@  #define pq_64bit_assign(x, y)        (*(x) = *(y))  #define pq_64bit_assign_word(x, y)   (*(x) = y) -#define pq_64bit_gt(x, y)            (*(x) > *(y)) +#define pq_64bit_gt(x, y)	         (*(x) > *(y))  #define pq_64bit_eq(x, y)            (*(x) == *(y))  #define pq_64bit_add_word(x, w)      (*(x) = (*(x) + (w)))  #define pq_64bit_sub(r, x, y)        (*(r) = (*(x) - *(y))) @@ -146,3 +149,4 @@                                            } while(0)  #endif /* OPENSSL_SYS_VMS */ +#endif diff --git a/dep/include/openssl/rand.h b/dep/include/openssl/rand.h index ca1361dcf0b..ea89153cba3 100644 --- a/dep/include/openssl/rand.h +++ b/dep/include/openssl/rand.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -72,21 +72,21 @@ extern "C" {  #endif  #if defined(OPENSSL_FIPS) -#define FIPS_RAND_SIZE_T size_t +#define FIPS_RAND_SIZE_T int  #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); -    }; +	{ +	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; @@ -111,6 +111,15 @@ 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); +#ifndef OPENSSL_NO_ENGINE +#ifdef OPENSSL_FIPS +void int_RAND_init_engine_callbacks(void); +void int_RAND_set_callbacks( +	int (*set_rand_func)(const RAND_METHOD *meth, +						const RAND_METHOD **pmeth), +	const RAND_METHOD *(*get_rand_func)(const RAND_METHOD **pmeth)); +#endif +#endif  #if defined(OPENSSL_SYS_WINDOWS) || defined(OPENSSL_SYS_WIN32) @@ -128,14 +137,31 @@ 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_SSLEAY_RAND_BYTES             100 +#define RAND_F_ENG_RAND_GET_RAND_METHOD			 108 +#define RAND_F_FIPS_RAND				 103 +#define RAND_F_FIPS_RAND_BYTES				 102 +#define RAND_F_FIPS_RAND_GET_RAND_METHOD		 109 +#define RAND_F_FIPS_RAND_SET_DT				 106 +#define RAND_F_FIPS_SET_DT				 104 +#define RAND_F_FIPS_SET_PRNG_SEED			 107 +#define RAND_F_FIPS_SET_TEST_MODE			 105 +#define RAND_F_RAND_GET_RAND_METHOD			 101 +#define RAND_F_SSLEAY_RAND_BYTES			 100  /* Reason codes. */ -#define RAND_R_PRNG_NOT_SEEDED               100 +#define RAND_R_NON_FIPS_METHOD				 105 +#define RAND_R_NOT_IN_TEST_MODE				 106 +#define RAND_R_NO_KEY_SET				 107 +#define RAND_R_PRNG_ASKING_FOR_TOO_MUCH			 101 +#define RAND_R_PRNG_ERROR				 108 +#define RAND_R_PRNG_KEYED				 109 +#define RAND_R_PRNG_NOT_REKEYED				 102 +#define RAND_R_PRNG_NOT_RESEEDED			 103 +#define RAND_R_PRNG_NOT_SEEDED				 100 +#define RAND_R_PRNG_SEED_MUST_NOT_MATCH_KEY		 110 +#define RAND_R_PRNG_STUCK				 104  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/rc2.h b/dep/include/openssl/rc2.h index 194948e62fa..e542ec94ffb 100644 --- a/dep/include/openssl/rc2.h +++ b/dep/include/openssl/rc2.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -64,39 +64,40 @@  #error RC2 is disabled.  #endif -#define RC2_ENCRYPT 1 -#define RC2_DECRYPT 0 +#define RC2_ENCRYPT	1 +#define RC2_DECRYPT	0 -#define RC2_BLOCK   8 -#define RC2_KEY_LENGTH  16 +#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; - +	{ +	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); +		     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); +	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); +		       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); +		       long length, RC2_KEY *schedule, unsigned char *ivec, +		       int *num);  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/rc4.h b/dep/include/openssl/rc4.h index 7a08e80b07a..2d8620d33b9 100644 --- a/dep/include/openssl/rc4.h +++ b/dep/include/openssl/rc4.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -69,20 +69,22 @@ extern "C" {  #endif  typedef struct rc4_key_st -    { -    RC4_INT x,y; -    RC4_INT data[256]; -    } RC4_KEY; - +	{ +	RC4_INT x,y; +	RC4_INT data[256]; +	} RC4_KEY; +   const char *RC4_options(void); +#ifdef OPENSSL_FIPS +void private_RC4_set_key(RC4_KEY *key, int len, const unsigned char *data); +#endif  void RC4_set_key(RC4_KEY *key, int len, const unsigned char *data);  void RC4(RC4_KEY *key, unsigned long len, const unsigned char *indata, -        unsigned char *outdata); +		unsigned char *outdata);  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/rc5.h b/dep/include/openssl/rc5.h deleted file mode 100644 index e242657121f..00000000000 --- a/dep/include/openssl/rc5.h +++ /dev/null @@ -1,118 +0,0 @@ -/* crypto/rc5/rc5.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_RC5_H -#define HEADER_RC5_H - -#ifdef  __cplusplus -extern "C" { -#endif - -#ifdef OPENSSL_NO_RC5 -#error RC5 is disabled. -#endif - -#define RC5_ENCRYPT 1 -#define RC5_DECRYPT 0 - -/* 32 bit.  For Alpha, things may get weird */ -#define RC5_32_INT unsigned long - -#define RC5_32_BLOCK        8 -#define RC5_32_KEY_LENGTH   16 /* This is a default, max is 255 */ - -/* This are the only values supported.  Tweak the code if you want more - * The most supported modes will be - * RC5-32/12/16 - * RC5-32/16/8 - */ -#define RC5_8_ROUNDS    8 -#define RC5_12_ROUNDS   12 -#define RC5_16_ROUNDS   16 - -typedef struct rc5_key_st -    { -    /* Number of rounds */ -    int rounds; -    RC5_32_INT data[2*(RC5_16_ROUNDS+1)]; -    } RC5_32_KEY; - - -void RC5_32_set_key(RC5_32_KEY *key, int len, const unsigned char *data, -    int rounds); -void RC5_32_ecb_encrypt(const unsigned char *in,unsigned char *out,RC5_32_KEY *key, -    int enc); -void RC5_32_encrypt(unsigned long *data,RC5_32_KEY *key); -void RC5_32_decrypt(unsigned long *data,RC5_32_KEY *key); -void RC5_32_cbc_encrypt(const unsigned char *in, unsigned char *out, -            long length, RC5_32_KEY *ks, unsigned char *iv, -            int enc); -void RC5_32_cfb64_encrypt(const unsigned char *in, unsigned char *out, -              long length, RC5_32_KEY *schedule, -              unsigned char *ivec, int *num, int enc); -void RC5_32_ofb64_encrypt(const unsigned char *in, unsigned char *out, -              long length, RC5_32_KEY *schedule, -              unsigned char *ivec, int *num); - -#ifdef  __cplusplus -} -#endif - -#endif - - diff --git a/dep/include/openssl/ripemd.h b/dep/include/openssl/ripemd.h index 74a715a5db5..3b6d04386d4 100644 --- a/dep/include/openssl/ripemd.h +++ b/dep/include/openssl/ripemd.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -79,27 +79,28 @@ extern "C" {  #define RIPEMD160_LONG unsigned int  #endif -#define RIPEMD160_CBLOCK    64 -#define RIPEMD160_LBLOCK    (RIPEMD160_CBLOCK/4) -#define RIPEMD160_DIGEST_LENGTH 20 +#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; - +	{ +	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); +	unsigned char *md);  void RIPEMD160_Transform(RIPEMD160_CTX *c, const unsigned char *b);  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/rsa.h b/dep/include/openssl/rsa.h index 91b21260732..5bb932ae15f 100644 --- a/dep/include/openssl/rsa.h +++ b/dep/include/openssl/rsa.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -74,6 +74,25 @@  #error RSA is disabled.  #endif +/* 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 reposibility + * 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 + +#ifdef OPENSSL_FIPS +#define FIPS_RSA_SIZE_T	int +#endif +  #ifdef  __cplusplus  extern "C" {  #endif @@ -83,28 +102,28 @@ extern "C" {  /* 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! */ +	{ +	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 @@ -112,136 +131,162 @@ struct rsa_meth_st   * 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, -        unsigned char *sigbuf, unsigned int siglen, const RSA *rsa); +	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, +		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); -    }; +	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; -    }; +	{ +	/* 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 +# define OPENSSL_RSA_MAX_MODULUS_BITS	16384  #endif +#define OPENSSL_RSA_FIPS_MIN_MODULUS_BITS 1024 +  #ifndef OPENSSL_RSA_SMALL_MODULUS_BITS -# define OPENSSL_RSA_SMALL_MODULUS_BITS 3072 +# 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 */ +# 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_3	0x3L +#define RSA_F4	0x10001L -#define RSA_METHOD_FLAG_NO_CHECK    0x0001 /* don't check pub/private match */ +#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 +#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 +#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_SIGN_VER		0x0040 -#define RSA_FLAG_NO_BLINDING        0x0080 /* new with 0.9.6j and 0.9.7b; the built-in +#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_EXP_CONSTTIME   0x0100 /* new with 0.9.7h; the built-in RSA +#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 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 -#define RSA_PKCS1_PADDING_SIZE  11 +#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 + +#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 *	RSA_new(void); +RSA *	RSA_new_method(ENGINE *engine); +int	RSA_size(const RSA *);  /* Deprecated version */  #ifndef OPENSSL_NO_DEPRECATED -RSA *   RSA_generate_key(int bits, unsigned long e,void -        (*callback)(int,int,void *),void *cb_arg); +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); +int	RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e, BN_GENCB *cb); +int RSA_X931_derive_ex(RSA *rsa, BIGNUM *p1, BIGNUM *p2, BIGNUM *q1, BIGNUM *q2, +			const BIGNUM *Xp1, const BIGNUM *Xp2, const BIGNUM *Xp, +			const BIGNUM *Xq1, const BIGNUM *Xq2, const BIGNUM *Xq, +			const BIGNUM *e, BN_GENCB *cb); +int RSA_X931_generate_key_ex(RSA *rsa, int bits, const 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_up_ref(RSA *r); + +int	RSA_flags(const RSA *r); -int RSA_flags(const RSA *r); +#ifdef OPENSSL_FIPS +RSA *FIPS_rsa_new(void); +void FIPS_rsa_free(RSA *r); +#endif  void RSA_set_default_method(const RSA_METHOD *meth);  const RSA_METHOD *RSA_get_default_method(void); @@ -260,85 +305,87 @@ DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPublicKey)  DECLARE_ASN1_ENCODE_FUNCTIONS_const(RSA, RSAPrivateKey)  #ifndef OPENSSL_NO_FP_API -int RSA_print_fp(FILE *fp, const RSA *r,int offset); +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); +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); +		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 (*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)); +		     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)); +		      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); +	unsigned char *sigret, unsigned int *siglen, RSA *rsa);  int RSA_verify(int type, const unsigned char *m, unsigned int m_length, -    unsigned char *sigbuf, unsigned int siglen, RSA *rsa); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +	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); +			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); +			const unsigned char *mHash, +			const EVP_MD *Hash, 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); +	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); @@ -354,89 +401,96 @@ void ERR_load_RSA_strings(void);  /* Error codes for the RSA functions. */  /* Function codes. */ -#define RSA_F_MEMORY_LOCK                100 -#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_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_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_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_FIPS_RSA_SIGN				 140 +#define RSA_F_FIPS_RSA_VERIFY				 141 +#define RSA_F_MEMORY_LOCK				 100 +#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_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_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_ENCRYPT			 137 +#define RSA_F_RSA_PUBLIC_DECRYPT			 138 +#define RSA_F_RSA_SETUP_BLINDING			 136 +#define RSA_F_RSA_SET_DEFAULT_METHOD			 139 +#define RSA_F_RSA_SET_METHOD				 142 +#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  /* 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_INVALID_HEADER                 137 -#define RSA_R_INVALID_MESSAGE_LENGTH             131 -#define RSA_R_INVALID_PADDING                138 -#define RSA_R_INVALID_TRAILER                139 -#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_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_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_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_INVALID_HEADER				 137 +#define RSA_R_INVALID_MESSAGE_LENGTH			 131 +#define RSA_R_INVALID_PADDING				 138 +#define RSA_R_INVALID_TRAILER				 139 +#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_METHOD				 141 +#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	 142 +#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_PADDING_TYPE           118 -#define RSA_R_WRONG_SIGNATURE_LENGTH             119 +#define RSA_R_UNKNOWN_ALGORITHM_TYPE			 117 +#define RSA_R_UNKNOWN_PADDING_TYPE			 118 +#define RSA_R_WRONG_SIGNATURE_LENGTH			 119  #ifdef  __cplusplus  }  #endif  #endif - diff --git a/dep/include/openssl/safestack.h b/dep/include/openssl/safestack.h index 7cd19b229e9..40b17902e07 100644 --- a/dep/include/openssl/safestack.h +++ b/dep/include/openssl/safestack.h @@ -6,7 +6,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -57,11 +57,20 @@  #include <openssl/stack.h> -typedef void (*openssl_fptr)(void); -#define openssl_fcast(f) ((openssl_fptr)f) -  #ifdef DEBUG_SAFESTACK +#ifndef CHECKED_PTR_OF +#define CHECKED_PTR_OF(type, p) \ +    ((void*) (1 ? p : (type*)0)) +#endif + +#define CHECKED_SK_FREE_FUNC(type, p) \ +    ((void (*)(void *)) ((1 ? p : (void (*)(type *))0))) + +#define CHECKED_SK_CMP_FUNC(type, p) \ +    ((int (*)(const char * const *, const char * const *)) \ +	((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); @@ -76,76 +85,71 @@ STACK_OF(type) \  /* SKM_sk_... stack macros are internal to safestack.h:   * never use them directly, use sk_<type>_... instead */  #define SKM_sk_new(type, cmp) \ -    ((STACK_OF(type) * (*)(int (*)(const type * const *, const type * const *)))openssl_fcast(sk_new))(cmp) +	((STACK_OF(type) *)sk_new(CHECKED_SK_CMP_FUNC(type, cmp)))  #define SKM_sk_new_null(type) \ -    ((STACK_OF(type) * (*)(void))openssl_fcast(sk_new_null))() +	((STACK_OF(type) *)sk_new_null())  #define SKM_sk_free(type, st) \ -    ((void (*)(STACK_OF(type) *))openssl_fcast(sk_free))(st) +	sk_free(CHECKED_PTR_OF(STACK_OF(type), st))  #define SKM_sk_num(type, st) \ -    ((int (*)(const STACK_OF(type) *))openssl_fcast(sk_num))(st) +	sk_num(CHECKED_PTR_OF(STACK_OF(type), st))  #define SKM_sk_value(type, st,i) \ -    ((type * (*)(const STACK_OF(type) *, int))openssl_fcast(sk_value))(st, i) +	((type *)sk_value(CHECKED_PTR_OF(STACK_OF(type), st), i))  #define SKM_sk_set(type, st,i,val) \ -    ((type * (*)(STACK_OF(type) *, int, type *))openssl_fcast(sk_set))(st, i, val) +	sk_set(CHECKED_PTR_OF(STACK_OF(type), st), i, CHECKED_PTR_OF(type, val))  #define SKM_sk_zero(type, st) \ -    ((void (*)(STACK_OF(type) *))openssl_fcast(sk_zero))(st) +	sk_zero(CHECKED_PTR_OF(STACK_OF(type), st))  #define SKM_sk_push(type, st,val) \ -    ((int (*)(STACK_OF(type) *, type *))openssl_fcast(sk_push))(st, val) +	sk_push(CHECKED_PTR_OF(STACK_OF(type), st), CHECKED_PTR_OF(type, val))  #define SKM_sk_unshift(type, st,val) \ -    ((int (*)(STACK_OF(type) *, type *))openssl_fcast(sk_unshift))(st, val) +	sk_unshift(CHECKED_PTR_OF(STACK_OF(type), st), CHECKED_PTR_OF(type, val))  #define SKM_sk_find(type, st,val) \ -    ((int (*)(STACK_OF(type) *, type *))openssl_fcast(sk_find))(st, val) +	sk_find(CHECKED_PTR_OF(STACK_OF(type), st), CHECKED_PTR_OF(type, val))  #define SKM_sk_delete(type, st,i) \ -    ((type * (*)(STACK_OF(type) *, int))openssl_fcast(sk_delete))(st, i) +	(type *)sk_delete(CHECKED_PTR_OF(STACK_OF(type), st), i)  #define SKM_sk_delete_ptr(type, st,ptr) \ -    ((type * (*)(STACK_OF(type) *, type *))openssl_fcast(sk_delete_ptr))(st, ptr) +	(type *)sk_delete_ptr(CHECKED_PTR_OF(STACK_OF(type), st), CHECKED_PTR_OF(type, ptr))  #define SKM_sk_insert(type, st,val,i) \ -    ((int (*)(STACK_OF(type) *, type *, int))openssl_fcast(sk_insert))(st, val, i) +	sk_insert(CHECKED_PTR_OF(STACK_OF(type), st), CHECKED_PTR_OF(type, val), i)  #define SKM_sk_set_cmp_func(type, st,cmp) \ -    ((int (*(*)(STACK_OF(type) *, int (*)(const type * const *, const type * const *))) \ -      (const type * const *, const type * const *))openssl_fcast(sk_set_cmp_func))\ -    (st, cmp) +	((int (*)(const type * const *,const type * const *)) \ +	sk_set_cmp_func(CHECKED_PTR_OF(STACK_OF(type), st), CHECKED_SK_CMP_FUNC(type, cmp)))  #define SKM_sk_dup(type, st) \ -    ((STACK_OF(type) *(*)(STACK_OF(type) *))openssl_fcast(sk_dup))(st) +	(STACK_OF(type) *)sk_dup(CHECKED_PTR_OF(STACK_OF(type), st))  #define SKM_sk_pop_free(type, st,free_func) \ -    ((void (*)(STACK_OF(type) *, void (*)(type *)))openssl_fcast(sk_pop_free))\ -    (st, free_func) +	sk_pop_free(CHECKED_PTR_OF(STACK_OF(type), st), CHECKED_SK_FREE_FUNC(type, free_func))  #define SKM_sk_shift(type, st) \ -    ((type * (*)(STACK_OF(type) *))openssl_fcast(sk_shift))(st) +	(type *)sk_shift(CHECKED_PTR_OF(STACK_OF(type), st))  #define SKM_sk_pop(type, st) \ -    ((type * (*)(STACK_OF(type) *))openssl_fcast(sk_pop))(st) +	(type *)sk_pop(CHECKED_PTR_OF(STACK_OF(type), st))  #define SKM_sk_sort(type, st) \ -    ((void (*)(STACK_OF(type) *))openssl_fcast(sk_sort))(st) +	sk_sort(CHECKED_PTR_OF(STACK_OF(type), st))  #define SKM_sk_is_sorted(type, st) \ -    ((int (*)(const STACK_OF(type) *))openssl_fcast(sk_is_sorted))(st) - -#define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ -((STACK_OF(type) * (*) (STACK_OF(type) **,const unsigned char **, long , \ -                         type *(*)(type **, const unsigned char **,long), \ -                                void (*)(type *), int ,int )) openssl_fcast(d2i_ASN1_SET)) \ -            (st,pp,length, d2i_func, free_func, ex_tag,ex_class) -#define SKM_ASN1_SET_OF_i2d(type, st, pp, i2d_func, ex_tag, ex_class, is_set) \ -    ((int (*)(STACK_OF(type) *,unsigned char **, \ -        int (*)(type *,unsigned char **), int , int , int)) openssl_fcast(i2d_ASN1_SET)) \ -                        (st,pp,i2d_func,ex_tag,ex_class,is_set) - -#define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ -    ((unsigned char *(*)(STACK_OF(type) *, \ -        int (*)(type *,unsigned char **), unsigned char **,int *)) openssl_fcast(ASN1_seq_pack)) \ -                (st, i2d_func, buf, len) -#define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ -    ((STACK_OF(type) * (*)(const unsigned char *,int, \ -                              type *(*)(type **,const unsigned char **, long), \ -                              void (*)(type *)))openssl_fcast(ASN1_seq_unpack)) \ -                    (buf,len,d2i_func, free_func) +	sk_is_sorted(CHECKED_PTR_OF(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(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(CHECKED_PTR_OF(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) * (*)(X509_ALGOR *, \ -                    type *(*)(type **, const unsigned char **, long), \ -                void (*)(type *), \ -                                const char *, int, \ -                                ASN1_STRING *, int))PKCS12_decrypt_d2i) \ -                (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)  #else @@ -155,59 +159,59 @@ STACK_OF(type) \  #define IMPLEMENT_STACK_OF(type)  /* nada */  #define SKM_sk_new(type, cmp) \ -    sk_new((int (*)(const char * const *, const char * const *))(cmp)) +	sk_new((int (*)(const char * const *, const char * const *))(cmp))  #define SKM_sk_new_null(type) \ -    sk_new_null() +	sk_new_null()  #define SKM_sk_free(type, st) \ -    sk_free(st) +	sk_free(st)  #define SKM_sk_num(type, st) \ -    sk_num(st) +	sk_num(st)  #define SKM_sk_value(type, st,i) \ -    ((type *)sk_value(st, i)) +	((type *)sk_value(st, i))  #define SKM_sk_set(type, st,i,val) \ -    ((type *)sk_set(st, i,(char *)val)) +	((type *)sk_set(st, i,(char *)val))  #define SKM_sk_zero(type, st) \ -    sk_zero(st) +	sk_zero(st)  #define SKM_sk_push(type, st,val) \ -    sk_push(st, (char *)val) +	sk_push(st, (char *)val)  #define SKM_sk_unshift(type, st,val) \ -    sk_unshift(st, val) +	sk_unshift(st, (char *)val)  #define SKM_sk_find(type, st,val) \ -    sk_find(st, (char *)val) +	sk_find(st, (char *)val)  #define SKM_sk_delete(type, st,i) \ -    ((type *)sk_delete(st, i)) +	((type *)sk_delete(st, i))  #define SKM_sk_delete_ptr(type, st,ptr) \ -    ((type *)sk_delete_ptr(st,(char *)ptr)) +	((type *)sk_delete_ptr(st,(char *)ptr))  #define SKM_sk_insert(type, st,val,i) \ -    sk_insert(st, (char *)val, i) +	sk_insert(st, (char *)val, i)  #define SKM_sk_set_cmp_func(type, st,cmp) \ -    ((int (*)(const type * const *,const type * const *)) \ -    sk_set_cmp_func(st, (int (*)(const char * const *, const char * const *))(cmp))) +	((int (*)(const type * const *,const type * const *)) \ +	sk_set_cmp_func(st, (int (*)(const char * const *, const char * const *))(cmp)))  #define SKM_sk_dup(type, st) \ -    sk_dup(st) +	sk_dup(st)  #define SKM_sk_pop_free(type, st,free_func) \ -    sk_pop_free(st, (void (*)(void *))free_func) +	sk_pop_free(st, (void (*)(void *))free_func)  #define SKM_sk_shift(type, st) \ -    ((type *)sk_shift(st)) +	((type *)sk_shift(st))  #define SKM_sk_pop(type, st) \ -    ((type *)sk_pop(st)) +	((type *)sk_pop(st))  #define SKM_sk_sort(type, st) \ -    sk_sort(st) +	sk_sort(st)  #define SKM_sk_is_sorted(type, st) \ -    sk_is_sorted(st) +	sk_is_sorted(st) -#define SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ -    d2i_ASN1_SET(st,pp,length, (void *(*)(void ** ,const unsigned char ** ,long))d2i_func, (void (*)(void *))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(st,pp,(int (*)(void *, unsigned char **))i2d_func,ex_tag,ex_class,is_set) +#define	SKM_ASN1_SET_OF_d2i(type, st, pp, length, d2i_func, free_func, ex_tag, ex_class) \ +	d2i_ASN1_SET(st,pp,length, (void *(*)(void ** ,const unsigned char ** ,long))d2i_func, (void (*)(void *))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(st,pp,(int (*)(void *, unsigned char **))i2d_func,ex_tag,ex_class,is_set) -#define SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ -    ASN1_seq_pack(st, (int (*)(void *, unsigned char **))i2d_func, buf, len) -#define SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ -    ASN1_seq_unpack(buf,len,(void *(*)(void **,const unsigned char **,long))d2i_func, (void(*)(void *))free_func) +#define	SKM_ASN1_seq_pack(type, st, i2d_func, buf, len) \ +	ASN1_seq_pack(st, (int (*)(void *, unsigned char **))i2d_func, buf, len) +#define	SKM_ASN1_seq_unpack(type, buf, len, d2i_func, free_func) \ +	ASN1_seq_unpack(buf,len,(void *(*)(void **,const unsigned char **,long))d2i_func, (void(*)(void *))free_func)  #define SKM_PKCS12_decrypt_d2i(type, algor, d2i_func, free_func, pass, passlen, oct, seq) \ -    ((STACK *)PKCS12_decrypt_d2i(algor,(char *(*)())d2i_func, (void(*)(void *))free_func,pass,passlen,oct,seq)) +	((STACK *)PKCS12_decrypt_d2i(algor,(char *(*)())d2i_func, (void(*)(void *))free_func,pass,passlen,oct,seq))  #endif @@ -410,6 +414,94 @@ STACK_OF(type) \  #define sk_BIO_sort(st) SKM_sk_sort(BIO, (st))  #define sk_BIO_is_sorted(st) SKM_sk_is_sorted(BIO, (st)) +#define sk_CMS_CertificateChoices_new(st) SKM_sk_new(CMS_CertificateChoices, (st)) +#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(st) SKM_sk_new(CMS_RecipientInfo, (st)) +#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(st) SKM_sk_new(CMS_RevocationInfoChoice, (st)) +#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(st) SKM_sk_new(CMS_SignerInfo, (st)) +#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(st) SKM_sk_new(CONF_IMODULE, (st))  #define sk_CONF_IMODULE_new_null() SKM_sk_new_null(CONF_IMODULE)  #define sk_CONF_IMODULE_free(st) SKM_sk_free(CONF_IMODULE, (st)) @@ -608,6 +700,28 @@ STACK_OF(type) \  #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(st) SKM_sk_new(GENERAL_NAMES, (st)) +#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(st) SKM_sk_new(GENERAL_SUBTREE, (st))  #define sk_GENERAL_SUBTREE_new_null() SKM_sk_new_null(GENERAL_SUBTREE)  #define sk_GENERAL_SUBTREE_free(st) SKM_sk_free(GENERAL_SUBTREE, (st)) @@ -872,6 +986,50 @@ STACK_OF(type) \  #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_HEADER_new(st) SKM_sk_new(MIME_HEADER, (st)) +#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(st) SKM_sk_new(MIME_PARAM, (st)) +#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_MIME_PARAM_new(st) SKM_sk_new(MIME_PARAM, (st))  #define sk_MIME_PARAM_new_null() SKM_sk_new_null(MIME_PARAM)  #define sk_MIME_PARAM_free(st) SKM_sk_free(MIME_PARAM, (st)) @@ -960,6 +1118,28 @@ STACK_OF(type) \  #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(st) SKM_sk_new(OCSP_RESPID, (st)) +#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(st) SKM_sk_new(OCSP_SINGLERESP, (st))  #define sk_OCSP_SINGLERESP_new_null() SKM_sk_new_null(OCSP_SINGLERESP)  #define sk_OCSP_SINGLERESP_free(st) SKM_sk_free(OCSP_SINGLERESP, (st)) @@ -1643,209 +1823,208 @@ STACK_OF(type) \  #define sk_X509_VERIFY_PARAM_is_sorted(st) SKM_sk_is_sorted(X509_VERIFY_PARAM, (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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	SKM_ASN1_seq_unpack(ASN1_TYPE, (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)) +	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)) +	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)) +	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)) +	SKM_ASN1_seq_unpack(DIST_POINT, (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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	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)) +	SKM_PKCS12_decrypt_d2i(PKCS7, (algor), (d2i_func), (free_func), (pass), (passlen), (oct), (seq))  /* End of util/mkstack.pl block, you may now edit :-) */  #endif /* !defined HEADER_SAFESTACK_H */ - diff --git a/dep/include/openssl/sha.h b/dep/include/openssl/sha.h index 299de706761..47a2c29f662 100644 --- a/dep/include/openssl/sha.h +++ b/dep/include/openssl/sha.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -90,22 +90,25 @@ extern "C" {  #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_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; +	{ +	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); @@ -120,19 +123,19 @@ 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 +#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; +	{ +	SHA_LONG h[8]; +	SHA_LONG Nl,Nh; +	SHA_LONG data[SHA_LBLOCK]; +	unsigned int num,md_len; +	} SHA256_CTX;  #ifndef OPENSSL_NO_SHA256  int SHA224_Init(SHA256_CTX *c); @@ -146,8 +149,8 @@ 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 +#define SHA384_DIGEST_LENGTH	48 +#define SHA512_DIGEST_LENGTH	64  #ifndef OPENSSL_NO_SHA512  /* @@ -155,9 +158,9 @@ void SHA256_Transform(SHA256_CTX *c, const unsigned char *data);   * 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. */ +#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 @@ -170,15 +173,15 @@ void SHA256_Transform(SHA256_CTX *c, const unsigned char *data);  #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; +	{ +	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 @@ -198,4 +201,3 @@ void SHA512_Transform(SHA512_CTX *c, const unsigned char *data);  #endif  #endif - diff --git a/dep/include/openssl/ssl.h b/dep/include/openssl/ssl.h index b461dcdb8ae..ff8a128d3c2 100644 --- a/dep/include/openssl/ssl.h +++ b/dep/include/openssl/ssl.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -63,7 +63,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -116,7 +116,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -163,12 +163,12 @@   */  /* ====================================================================   * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECC cipher suite support in OpenSSL originally developed by + * ECC cipher suite support in OpenSSL originally developed by    * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.   */ -#ifndef HEADER_SSL_H -#define HEADER_SSL_H +#ifndef HEADER_SSL_H  +#define HEADER_SSL_H   #include <openssl/e_os2.h> @@ -187,6 +187,7 @@  #include <openssl/buffer.h>  #endif  #include <openssl/pem.h> +#include <openssl/hmac.h>  #include <openssl/kssl.h>  #include <openssl/safestack.h> @@ -203,16 +204,16 @@ extern "C" {  #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 +#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   */ @@ -220,17 +221,17 @@ extern "C" {  #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_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_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_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 @@ -240,61 +241,63 @@ extern "C" {  #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_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 +#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_LOW     "LOW" -#define SSL_TXT_MEDIUM      "MEDIUM" -#define SSL_TXT_HIGH        "HIGH" -#define SSL_TXT_kFZA        "kFZA" -#define SSL_TXT_aFZA        "aFZA" -#define SSL_TXT_eFZA        "eFZA" -#define SSL_TXT_FZA     "FZA" - -#define SSL_TXT_aNULL       "aNULL" -#define SSL_TXT_eNULL       "eNULL" -#define SSL_TXT_NULL        "NULL" - -#define SSL_TXT_kKRB5       "kKRB5" -#define SSL_TXT_aKRB5       "aKRB5" -#define SSL_TXT_KRB5        "KRB5" - -#define SSL_TXT_kRSA        "kRSA" -#define SSL_TXT_kDHr        "kDHr" -#define SSL_TXT_kDHd        "kDHd" -#define SSL_TXT_kEDH        "kEDH" -#define SSL_TXT_aRSA        "aRSA" -#define SSL_TXT_aDSS        "aDSS" -#define SSL_TXT_aDH     "aDH" -#define SSL_TXT_DSS     "DSS" -#define SSL_TXT_DH      "DH" -#define SSL_TXT_EDH     "EDH" -#define SSL_TXT_ADH     "ADH" -#define SSL_TXT_RSA     "RSA" -#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_AES     "AES" -#define SSL_TXT_CAMELLIA    "CAMELLIA" -#define SSL_TXT_MD5     "MD5" -#define SSL_TXT_SHA1        "SHA1" -#define SSL_TXT_SHA     "SHA" -#define SSL_TXT_EXP     "EXP" -#define SSL_TXT_EXPORT      "EXPORT" -#define SSL_TXT_EXP40       "EXPORT40" -#define SSL_TXT_EXP56       "EXPORT56" -#define SSL_TXT_SSLV2       "SSLv2" -#define SSL_TXT_SSLV3       "SSLv3" -#define SSL_TXT_TLSV1       "TLSv1" -#define SSL_TXT_ALL     "ALL" -#define SSL_TXT_ECC     "ECCdraft" /* ECC ciphersuites are not yet official */ +#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" +#define	SSL_TXT_aFZA		"aFZA" +#define SSL_TXT_eFZA		"eFZA" +#define SSL_TXT_FZA		"FZA" + +#define	SSL_TXT_aNULL		"aNULL" +#define	SSL_TXT_eNULL		"eNULL" +#define	SSL_TXT_NULL		"NULL" + +#define SSL_TXT_kKRB5     	"kKRB5" +#define SSL_TXT_aKRB5     	"aKRB5" +#define SSL_TXT_KRB5      	"KRB5" + +#define SSL_TXT_kRSA		"kRSA" +#define SSL_TXT_kDHr		"kDHr" +#define SSL_TXT_kDHd		"kDHd" +#define SSL_TXT_kEDH		"kEDH" +#define	SSL_TXT_aRSA		"aRSA" +#define	SSL_TXT_aDSS		"aDSS" +#define	SSL_TXT_aDH		"aDH" +#define	SSL_TXT_DSS		"DSS" +#define SSL_TXT_DH		"DH" +#define SSL_TXT_EDH		"EDH" +#define SSL_TXT_ADH		"ADH" +#define SSL_TXT_RSA		"RSA" +#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_AES		"AES" +#define SSL_TXT_CAMELLIA	"CAMELLIA" +#define SSL_TXT_MD5		"MD5" +#define SSL_TXT_SHA1		"SHA1" +#define SSL_TXT_SHA		"SHA" +#define SSL_TXT_EXP		"EXP" +#define SSL_TXT_EXPORT		"EXPORT" +#define SSL_TXT_EXP40		"EXPORT40" +#define SSL_TXT_EXP56		"EXPORT56" +#define SSL_TXT_SSLV2		"SSLv2" +#define SSL_TXT_SSLV3		"SSLv3" +#define SSL_TXT_TLSV1		"TLSv1" +#define SSL_TXT_ALL		"ALL" +#define SSL_TXT_ECC		"ECCdraft" /* ECC ciphersuites are not yet official */  /*   * COMPLEMENTOF* definitions. These identifiers are used to (de-select) @@ -310,21 +313,17 @@ extern "C" {   * 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" +#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'. */ -#ifdef OPENSSL_NO_CAMELLIA -# define SSL_DEFAULT_CIPHER_LIST    "ALL:!ADH:+RC4:@STRENGTH" /* low priority for RC4 */ -#else -# define SSL_DEFAULT_CIPHER_LIST    "AES:CAMELLIA:ALL:!ADH:+RC4:@STRENGTH" /* low priority for RC4 */ -#endif +#define SSL_DEFAULT_CIPHER_LIST	"AES:ALL:!aNULL:!eNULL:+RC4:@STRENGTH" /* low priority for RC4 */  /* Used in SSL_set_shutdown()/SSL_get_shutdown(); */ -#define SSL_SENT_SHUTDOWN   1 -#define SSL_RECEIVED_SHUTDOWN   2 +#define SSL_SENT_SHUTDOWN	1 +#define SSL_RECEIVED_SHUTDOWN	2  #ifdef __cplusplus  } @@ -338,8 +337,8 @@ extern "C" {  #define OPENSSL_NO_SSL2  #endif -#define SSL_FILETYPE_ASN1   X509_FILETYPE_ASN1 -#define SSL_FILETYPE_PEM    X509_FILETYPE_PEM +#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 @@ -348,147 +347,151 @@ typedef struct ssl_st *ssl_crock_st;  /* used to hold info on the particular ciphers used */  typedef struct ssl_cipher_st -    { -    int valid; -    const char *name;       /* text name */ -    unsigned long id;       /* id, 4 bytes, first is version */ -    unsigned long algorithms;   /* what ciphers are used */ -    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 */ -    unsigned long mask;     /* used for matching */ -    unsigned long mask_strength;    /* also used for matching */ -    } SSL_CIPHER; +	{ +	int valid; +	const char *name;		/* text name */ +	unsigned long id;		/* id, 4 bytes, first is version */ +	unsigned long algorithms;	/* what ciphers are used */ +	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 */ +	unsigned long mask;		/* used for matching */ +	unsigned long mask_strength;	/* also used for matching */ +	} SSL_CIPHER;  DECLARE_STACK_OF(SSL_CIPHER) -typedef struct ssl_st SSL; -typedef struct ssl_ctx_st SSL_CTX; -  /* Used to hold functions for SSLv2 or SSLv3/TLSv1 functions */  typedef 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); -    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); -    SSL_CIPHER *(*get_cipher)(unsigned ncipher); -    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)); -    } SSL_METHOD; +	{ +	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); +	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); +	SSL_CIPHER *(*get_cipher)(unsigned ncipher); +	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)); +	} SSL_METHOD;  /* 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' - *  Compression [6] IMPLICIT ASN1_OBJECT    -- compression OID XXXXX - *  } + *	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' + *	Compression [6] IMPLICIT ASN1_OBJECT	-- compression OID XXXXX + *	}   * Look in ssl/ssl_asn1.c for more details   * I'm using EXPLICIT tags so I can read the damn things using asn1parse :-).   */  typedef 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]; +	{ +	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 */ -    int not_resumable; +	int not_resumable; -    /* The cert is the certificate used to establish this connection */ -    struct sess_cert_st /* SESS_CERT */ *sess_cert; +	/* 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 */ +	/* 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; +	int references; +	long timeout; +	long time; -    int compress_meth;      /* Need to lookup the method */ +	int compress_meth;		/* Need to lookup the method */ -    SSL_CIPHER *cipher; -    unsigned long cipher_id;    /* when ASN.1 loaded, this -                     * needs to be used to load -                     * the 'cipher' structure */ +	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? */ +	STACK_OF(SSL_CIPHER) *ciphers; /* shared ciphers? */ -    CRYPTO_EX_DATA ex_data; /* application specific data */ +	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; -    } SSL_SESSION; +	/* 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; +	/* 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 +	} SSL_SESSION; -#define SSL_OP_MICROSOFT_SESS_ID_BUG            0x00000001L -#define SSL_OP_NETSCAPE_CHALLENGE_BUG           0x00000002L -#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 +#define SSL_OP_MICROSOFT_SESS_ID_BUG			0x00000001L +#define SSL_OP_NETSCAPE_CHALLENGE_BUG			0x00000002L +#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) @@ -499,41 +502,43 @@ typedef struct ssl_session_st  /* SSL_OP_ALL: various bug workarounds that should be rather harmless.   *             This used to be 0x000FFFFFL before 0.9.7. */ -#define SSL_OP_ALL                  0x00000FFFL +#define SSL_OP_ALL					0x00000FFFL  /* 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  /* As server, disallow session resumption on renegotiation */ -#define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION   0x00010000L +#define SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION	0x00010000L  /* If set, always create a new key when using tmp_ecdh parameters */ -#define SSL_OP_SINGLE_ECDH_USE              0x00080000L +#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 +#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 +#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 +#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_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_SSLv2					0x01000000L +#define SSL_OP_NO_SSLv3					0x02000000L +#define SSL_OP_NO_TLSv1					0x04000000L  /* The next flag deliberately changes the ciphertest, this is a check   * for the PKCS#1 attack */ -#define SSL_OP_PKCS1_CHECK_1                0x08000000L -#define SSL_OP_PKCS1_CHECK_2                0x10000000L -#define SSL_OP_NETSCAPE_CA_DN_BUG           0x20000000L -#define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG      0x40000000L +#define SSL_OP_PKCS1_CHECK_1				0x08000000L +#define SSL_OP_PKCS1_CHECK_2				0x10000000L +#define SSL_OP_NETSCAPE_CA_DN_BUG			0x20000000L +#define SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG		0x40000000L  /* Allow SSL_write(..., n) to return r with 0 < r < n (i.e. report success @@ -555,20 +560,20 @@ typedef struct ssl_session_st   * they cannot be used to clear bits. */  #define SSL_CTX_set_options(ctx,op) \ -    SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL) +	SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,(op),NULL)  #define SSL_CTX_get_options(ctx) \ -    SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,0,NULL) +	SSL_CTX_ctrl((ctx),SSL_CTRL_OPTIONS,0,NULL)  #define SSL_set_options(ssl,op) \ -    SSL_ctrl((ssl),SSL_CTRL_OPTIONS,(op),NULL) +	SSL_ctrl((ssl),SSL_CTRL_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) +	SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,(op),NULL)  #define SSL_CTX_get_mode(ctx) \ -    SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL) +	SSL_CTX_ctrl((ctx),SSL_CTRL_MODE,0,NULL)  #define SSL_set_mode(ssl,op) \ -    SSL_ctrl((ssl),SSL_CTRL_MODE,(op),NULL) +	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) \ @@ -588,7 +593,7 @@ void SSL_set_msg_callback(SSL *ssl, void (*cb)(int write_p, int version, int con  #define SSL_MAX_CERT_LIST_DEFAULT 1024*100 /* 100k max cert list :-) */  #endif -#define SSL_SESSION_CACHE_MAX_SIZE_DEFAULT  (1024*20) +#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 @@ -604,192 +609,219 @@ void SSL_set_msg_callback(SSL *ssl, void (*cb)(int write_p, int version, int con   * 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); +				unsigned int *id_len);  typedef struct ssl_comp_st -    { -    int id; -    const char *name; +	{ +	int id; +	const char *name;  #ifndef OPENSSL_NO_COMP -    COMP_METHOD *method; +	COMP_METHOD *method;  #else -    char *method; +	char *method;  #endif -    } SSL_COMP; +	} SSL_COMP;  DECLARE_STACK_OF(SSL_COMP)  struct ssl_ctx_st -    { -    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; -    struct lhash_st /* LHASH */ *sessions;  /* a set of SSL_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); +	{ +	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; +	struct lhash_st /* LHASH */ *sessions;	/* a set of SSL_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, +    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, +    int (*app_verify_cookie_cb)(SSL *ssl, unsigned char *cookie,           unsigned int cookie_len); -    CRYPTO_EX_DATA ex_data; +	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' */ +	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 */ +	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 */ +	/* 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 */ +	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; +	/* 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) */ +	/* Default values to use in SSL structures follow (these are copied by SSL_new) */ -    unsigned long options; -    unsigned long mode; -    long max_cert_list; +	unsigned long options; +	unsigned long mode; +	long max_cert_list; -    struct cert_st /* CERT */ *cert; -    int read_ahead; +	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; +	/* 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 */ +	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; +	/* Default generate session ID callback. */ +	GEN_SESSION_CB generate_session_id; -    X509_VERIFY_PARAM *param; +	X509_VERIFY_PARAM *param;  #if 0 -    int purpose;        /* Purpose setting */ -    int trust;      /* Trust setting */ +	int purpose;		/* Purpose setting */ +	int trust;		/* Trust setting */ +#endif + +	int quiet_shutdown; + +#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;  #endif -    int quiet_shutdown; -    }; +	}; -#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 +#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_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) +	(SSL_SESS_CACHE_NO_INTERNAL_LOOKUP|SSL_SESS_CACHE_NO_INTERNAL_STORE)    struct lhash_st *SSL_CTX_sessions(SSL_CTX *ctx);  #define SSL_CTX_sess_number(ctx) \ -    SSL_CTX_ctrl(ctx,SSL_CTRL_SESS_NUMBER,0,NULL) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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); @@ -801,179 +833,213 @@ void SSL_CTX_set_info_callback(SSL_CTX *ctx, void (*cb)(const SSL *ssl,int type,  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)); -#define SSL_NOTHING 1 -#define SSL_WRITING 2 -#define SSL_READING 3 -#define SSL_X509_LOOKUP 4 +#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_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)  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 */ +	{ +	/* protocol version +	 * (one of SSL2_VERSION, SSL3_VERSION, TLS1_VERSION, DTLS1_VERSION) +	 */ +	int version; +	int type; /* SSL_ST_CONNECT or SSL_ST_ACCEPT */ -    SSL_METHOD *method; /* SSLv3 */ +	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 */ +	/* 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 */ +	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; +	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;/* 1 if we are to use a new session. -                     * 2 if we are a server and are inside a handshake -                     *   (i.e. not just sending a HelloRequest) -                     * 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; +	/* 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;/* 1 if we are to use a new session. +	                 * 2 if we are a server and are inside a handshake +	                 *   (i.e. not just sending a HelloRequest) +	                 * 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 */ +	int purpose;		/* Purpose setting */ +	int trust;		/* Trust setting */  #endif -    /* crypto */ -    STACK_OF(SSL_CIPHER) *cipher_list; -    STACK_OF(SSL_CIPHER) *cipher_list_by_id; +	/* 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 */ +	/* These are the ones being used, the ones in SSL_SESSION are +	 * the ones to be 'copied' into these ones */ -    EVP_CIPHER_CTX *enc_read_ctx;       /* cryptographic state */ -    const EVP_MD *read_hash;        /* used for mac generation */ +	EVP_CIPHER_CTX *enc_read_ctx;		/* cryptographic state */ +	const EVP_MD *read_hash;		/* used for mac generation */  #ifndef OPENSSL_NO_COMP -    COMP_CTX *expand;           /* uncompress */ +	COMP_CTX *expand;			/* uncompress */  #else -    char *expand; +	char *expand;  #endif -    EVP_CIPHER_CTX *enc_write_ctx;      /* cryptographic state */ -    const EVP_MD *write_hash;       /* used for mac generation */ +	EVP_CIPHER_CTX *enc_write_ctx;		/* cryptographic state */ +	const EVP_MD *write_hash;		/* used for mac generation */  #ifndef OPENSSL_NO_COMP -    COMP_CTX *compress;         /* compression */ +	COMP_CTX *compress;			/* compression */  #else -    char *compress; +	char *compress;	  #endif -    /* session info */ +	/* session info */ -    /* client cert? */ -    /* This is used to hold the server certificate used */ -    struct cert_st /* CERT */ *cert; +	/* 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]; +	/* 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; +	/* 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; +	/* 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 */ +	/* 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 */ +	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 */ +	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 */ - -    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 */ -    }; +	KSSL_CTX *kssl_ctx;     /* Kerberos 5 context */ +#endif	/* OPENSSL_NO_KRB5 */ + +	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 */ +#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; +	SSL_CTX * initial_ctx; /* initial ctx, used to store sessions */ +#define session_ctx initial_ctx +#else +#define session_ctx ctx +#endif +	};  #ifdef __cplusplus  } @@ -990,12 +1056,12 @@ 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)) +#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. @@ -1004,41 +1070,41 @@ extern "C" {   * 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 +#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) +#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 +#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) @@ -1049,101 +1115,105 @@ 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 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() +#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_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)) +#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)) +		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) +		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)) +		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)) +		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))  #if 1 /*SSLEAY_MACROS*/  #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)  #define PEM_read_SSL_SESSION(fp,x,cb,u) (SSL_SESSION *)PEM_ASN1_read( \ -    (char *(*)())d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,fp,(char **)x,cb,u) +	(char *(*)())d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,fp,(char **)x,cb,u)  #define PEM_read_bio_SSL_SESSION(bp,x,cb,u) PEM_ASN1_read_bio_of(SSL_SESSION,d2i_SSL_SESSION,PEM_STRING_SSL_SESSION,bp,x,cb,u)  #define PEM_write_SSL_SESSION(fp,x) \ -    PEM_ASN1_write((int (*)())i2d_SSL_SESSION, \ -        PEM_STRING_SSL_SESSION,fp, (char *)x, NULL,NULL,0,NULL,NULL) +	PEM_ASN1_write((int (*)())i2d_SSL_SESSION, \ +		PEM_STRING_SSL_SESSION,fp, (char *)x, NULL,NULL,0,NULL,NULL)  #define PEM_write_bio_SSL_SESSION(bp,x) \ -    PEM_ASN1_write_bio_of(SSL_SESSION,i2d_SSL_SESSION,PEM_STRING_SSL_SESSION,bp,x,NULL,NULL,0,NULL,NULL) +	PEM_ASN1_write_bio_of(SSL_SESSION,i2d_SSL_SESSION,PEM_STRING_SSL_SESSION,bp,x,NULL,NULL,0,NULL,NULL)  #endif -#define SSL_AD_REASON_OFFSET        1000 +#define SSL_AD_REASON_OFFSET		1000  /* 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_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_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_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 @@ -1151,60 +1221,83 @@ size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count);  /* 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_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 + +/* 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_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 +#endif  #define SSL_session_reused(ssl) \ -    SSL_ctrl((ssl),SSL_CTRL_GET_SESSION_REUSED,0,NULL) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	SSL_CTX_ctrl(ctx,SSL_CTRL_EXTRA_CHAIN_CERT,0,(char *)x509)  #ifndef OPENSSL_NO_BIO  BIO_METHOD *BIO_f_ssl(void); @@ -1216,112 +1309,112 @@ void BIO_ssl_shutdown(BIO *ssl_bio);  #endif -int SSL_CTX_set_cipher_list(SSL_CTX *,const char *str); +int	SSL_CTX_set_cipher_list(SSL_CTX *,const char *str);  SSL_CTX *SSL_CTX_new(SSL_METHOD *meth); -void    SSL_CTX_free(SSL_CTX *); +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); +int	SSL_clear(SSL *s); -void    SSL_CTX_flush_sessions(SSL_CTX *ctx,long tm); +void	SSL_CTX_flush_sessions(SSL_CTX *ctx,long tm);  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); +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); -int SSL_get_fd(const SSL *s); -int SSL_get_rfd(const SSL *s); -int SSL_get_wfd(const SSL *s); +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); +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); +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); +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); +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); +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); +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 */ +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); +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); +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 ); +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); +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);  SSL_SESSION *SSL_SESSION_new(void);  unsigned long SSL_SESSION_hash(const SSL_SESSION *a); -int SSL_SESSION_cmp(const SSL_SESSION *a,const SSL_SESSION *b); +int	SSL_SESSION_cmp(const SSL_SESSION *a,const SSL_SESSION *b);  const unsigned char *SSL_SESSION_get_id(const SSL_SESSION *s, unsigned int *len);  #ifndef OPENSSL_NO_FP_API -int SSL_SESSION_print_fp(FILE *fp,const SSL_SESSION *ses); +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); +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); +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); +			     long length);  #ifdef HEADER_X509_H -X509 *  SSL_get_peer_certificate(const SSL *s); +X509 *	SSL_get_peer_certificate(const SSL *s);  #endif  STACK_OF(X509) *SSL_get_peer_cert_chain(const SSL *s); @@ -1330,7 +1423,7 @@ 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 *)); +			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 @@ -1339,7 +1432,7 @@ int SSL_CTX_use_RSAPrivateKey(SSL_CTX *ctx, RSA *rsa);  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); +	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); @@ -1349,54 +1442,54 @@ 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); +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); +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); -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); +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,SSL_METHOD *meth); -SSL_METHOD *SSLv2_method(void);     /* SSLv2 */ -SSL_METHOD *SSLv2_server_method(void);  /* SSLv2 */ -SSL_METHOD *SSLv2_client_method(void);  /* SSLv2 */ +SSL_METHOD *SSLv2_method(void);		/* SSLv2 */ +SSL_METHOD *SSLv2_server_method(void);	/* SSLv2 */ +SSL_METHOD *SSLv2_client_method(void);	/* SSLv2 */ -SSL_METHOD *SSLv3_method(void);     /* SSLv3 */ -SSL_METHOD *SSLv3_server_method(void);  /* SSLv3 */ -SSL_METHOD *SSLv3_client_method(void);  /* SSLv3 */ +SSL_METHOD *SSLv3_method(void);		/* SSLv3 */ +SSL_METHOD *SSLv3_server_method(void);	/* SSLv3 */ +SSL_METHOD *SSLv3_client_method(void);	/* SSLv3 */ -SSL_METHOD *SSLv23_method(void);    /* SSLv3 but can rollback to v2 */ -SSL_METHOD *SSLv23_server_method(void); /* SSLv3 but can rollback to v2 */ -SSL_METHOD *SSLv23_client_method(void); /* SSLv3 but can rollback to v2 */ +SSL_METHOD *SSLv23_method(void);	/* SSLv3 but can rollback to v2 */ +SSL_METHOD *SSLv23_server_method(void);	/* SSLv3 but can rollback to v2 */ +SSL_METHOD *SSLv23_client_method(void);	/* SSLv3 but can rollback to v2 */ -SSL_METHOD *TLSv1_method(void);     /* TLSv1.0 */ -SSL_METHOD *TLSv1_server_method(void);  /* TLSv1.0 */ -SSL_METHOD *TLSv1_client_method(void);  /* TLSv1.0 */ +SSL_METHOD *TLSv1_method(void);		/* TLSv1.0 */ +SSL_METHOD *TLSv1_server_method(void);	/* TLSv1.0 */ +SSL_METHOD *TLSv1_client_method(void);	/* TLSv1.0 */ -SSL_METHOD *DTLSv1_method(void);        /* DTLSv1.0 */ -SSL_METHOD *DTLSv1_server_method(void); /* DTLSv1.0 */ -SSL_METHOD *DTLSv1_client_method(void); /* DTLSv1.0 */ +SSL_METHOD *DTLSv1_method(void);		/* DTLSv1.0 */ +SSL_METHOD *DTLSv1_server_method(void);	/* DTLSv1.0 */ +SSL_METHOD *DTLSv1_client_method(void);	/* DTLSv1.0 */  STACK_OF(SSL_CIPHER) *SSL_get_ciphers(const SSL *s); @@ -1443,13 +1536,14 @@ 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); +	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 (*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); @@ -1459,69 +1553,69 @@ 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); +	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); +	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); +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	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) +	SSL_ctrl(ssl,SSL_CTRL_SET_MAX_CERT_LIST,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)); +				  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)); +				  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)); +				 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)); +				 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)); +				 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)); +				 EC_KEY *(*ecdh)(SSL *ssl,int is_export, +					   int keylength));  #endif  #ifndef OPENSSL_NO_COMP @@ -1547,415 +1641,435 @@ 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_BUFFER_RECORD            247 -#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_OUTPUT_CERT_CHAIN            255 -#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_CALLBACK_CTRL             233 -#define SSL_F_SSL3_CHANGE_CIPHER_STATE           129 -#define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM      130 -#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_ENC                   134 -#define SSL_F_SSL3_GENERATE_KEY_BLOCK            238 -#define SSL_F_SSL3_GET_CERTIFICATE_REQUEST       135 -#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_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_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_BUFFERS             156 -#define SSL_F_SSL3_SETUP_KEY_BLOCK           157 -#define SSL_F_SSL3_WRITE_BYTES               158 -#define SSL_F_SSL3_WRITE_PENDING             159 -#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_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_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_NEW                169 -#define SSL_F_SSL_CTX_SET_CIPHER_LIST            269 -#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_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_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_PEEK                   270 -#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_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_TRUST              228 -#define SSL_F_SSL_SET_WFD                196 -#define SSL_F_SSL_SHUTDOWN               224 -#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_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_CHANGE_CIPHER_STATE           209 -#define SSL_F_TLS1_ENC                   210 -#define SSL_F_TLS1_SETUP_KEY_BLOCK           211 -#define SSL_F_WRITE_PENDING              212 +#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_BUFFER_RECORD			 247 +#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_OUTPUT_CERT_CHAIN			 255 +#define SSL_F_DTLS1_PREPROCESS_FRAGMENT			 277 +#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_CALLBACK_CTRL			 233 +#define SSL_F_SSL3_CHANGE_CIPHER_STATE			 129 +#define SSL_F_SSL3_CHECK_CERT_AND_ALGORITHM		 130 +#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_DO_CHANGE_CIPHER_SPEC		 279 +#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			 288 +#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_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_NEW_SESSION_TICKET			 284 +#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_BUFFERS			 156 +#define SSL_F_SSL3_SETUP_KEY_BLOCK			 157 +#define SSL_F_SSL3_WRITE_BYTES				 158 +#define SSL_F_SSL3_WRITE_PENDING			 159 +#define SSL_F_SSL_ADD_CLIENTHELLO_TLSEXT		 272 +#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_TLSEXT		 273 +#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		 274 +#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_NEW				 169 +#define SSL_F_SSL_CTX_SET_CIPHER_LIST			 269 +#define SSL_F_SSL_CTX_SET_CLIENT_CERT_ENGINE		 278 +#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_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_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_PEEK					 270 +#define SSL_F_SSL_PREPARE_CLIENTHELLO_TLSEXT		 275 +#define SSL_F_SSL_PREPARE_SERVERHELLO_TLSEXT		 276 +#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_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_TRUST				 228 +#define SSL_F_SSL_SET_WFD				 196 +#define SSL_F_SSL_SHUTDOWN				 224 +#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_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_CHANGE_CIPHER_STATE			 209 +#define SSL_F_TLS1_ENC					 210 +#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_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_HELLO_REQUEST              105 -#define SSL_R_BAD_LENGTH                 271 -#define SSL_R_BAD_MAC_DECODE                 113 -#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_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_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_COMPRESSED_LENGTH_TOO_LONG         140 -#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_DUPLICATE_COMPRESSION_ID           309 -#define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER       310 -#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_HTTPS_PROXY_REQUEST            155 -#define SSL_R_HTTP_REQUEST               156 -#define SSL_R_ILLEGAL_PADDING                283 -#define SSL_R_INVALID_CHALLENGE_LENGTH           158 -#define SSL_R_INVALID_COMMAND                280 -#define SSL_R_INVALID_PURPOSE                278 -#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_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_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_RECEIVED            186 -#define SSL_R_NO_COMPRESSION_SPECIFIED           187 -#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_SHARED_CIPHER               193 -#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_ONLY_TLS_ALLOWED_IN_FIPS_MODE      297 -#define SSL_R_PACKET_LENGTH_TOO_LONG             198 -#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_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_REQUIRED_CIPHER_MISSING            215 -#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_SESSION_ID_CONTEXT_UNINITIALIZED       277 -#define SSL_R_SHORT_READ                 219 -#define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE  220 -#define SSL_R_SSL23_DOING_SESSION_ID_REUSE       221 -#define SSL_R_SSL2_CONNECTION_ID_TOO_LONG        299 -#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_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER   232 +#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_HELLO_REQUEST				 105 +#define SSL_R_BAD_LENGTH				 271 +#define SSL_R_BAD_MAC_DECODE				 113 +#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_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_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			 157 +#define SSL_R_COMPRESSED_LENGTH_TOO_LONG		 140 +#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_DUPLICATE_COMPRESSION_ID			 309 +#define SSL_R_ECGROUP_TOO_LARGE_FOR_CIPHER		 310 +#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_HTTPS_PROXY_REQUEST			 155 +#define SSL_R_HTTP_REQUEST				 156 +#define SSL_R_ILLEGAL_PADDING				 283 +#define SSL_R_INVALID_CHALLENGE_LENGTH			 158 +#define SSL_R_INVALID_COMMAND				 280 +#define SSL_R_INVALID_PURPOSE				 278 +#define SSL_R_INVALID_STATUS_RESPONSE			 316 +#define SSL_R_INVALID_TICKET_KEYS_LENGTH		 275 +#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_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_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			 317 +#define SSL_R_NO_CLIENT_CERT_RECEIVED			 186 +#define SSL_R_NO_COMPRESSION_SPECIFIED			 187 +#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_SHARED_CIPHER				 193 +#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_ONLY_TLS_ALLOWED_IN_FIPS_MODE		 297 +#define SSL_R_PACKET_LENGTH_TOO_LONG			 198 +#define SSL_R_PARSE_TLSEXT				 223 +#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_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_REQUIRED_CIPHER_MISSING			 215 +#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_SERVERHELLO_TLSEXT			 224 +#define SSL_R_SESSION_ID_CONTEXT_UNINITIALIZED		 277 +#define SSL_R_SHORT_READ				 219 +#define SSL_R_SIGNATURE_FOR_NON_SIGNING_CERTIFICATE	 220 +#define SSL_R_SSL23_DOING_SESSION_ID_REUSE		 221 +#define SSL_R_SSL2_CONNECTION_ID_TOO_LONG		 299 +#define SSL_R_SSL3_EXT_INVALID_SERVERNAME		 225 +#define SSL_R_SSL3_EXT_INVALID_SERVERNAME_TYPE		 226 +#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_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER	 232 +#define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST		 227  #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_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_UNSUPPORTED_CIPHER             256 -#define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM      257 -#define SSL_R_UNSUPPORTED_ELLIPTIC_CURVE         315 -#define SSL_R_UNSUPPORTED_PROTOCOL           258 -#define SSL_R_UNSUPPORTED_SSL_VERSION            259 -#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_SSL_VERSION              266 -#define SSL_R_WRONG_VERSION_NUMBER           267 -#define SSL_R_X509_LIB                   268 -#define SSL_R_X509_VERIFICATION_SETUP_PROBLEMS       269 +#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_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_UNSUPPORTED_CIPHER			 256 +#define SSL_R_UNSUPPORTED_COMPRESSION_ALGORITHM		 257 +#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_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_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/dep/include/openssl/ssl3.h b/dep/include/openssl/ssl3.h index d7687ec8266..4b1e2e98347 100644 --- a/dep/include/openssl/ssl3.h +++ b/dep/include/openssl/ssl3.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -63,7 +63,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -110,12 +110,12 @@   */  /* ====================================================================   * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECC cipher suite support in OpenSSL originally developed by + * 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 HEADER_SSL3_H  +#define HEADER_SSL3_H   #ifndef OPENSSL_NO_COMP  #include <openssl/comp.h> @@ -129,428 +129,437 @@  extern "C" {  #endif -#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 - -#define SSL3_CK_FZA_DMS_NULL_SHA        0x0300001C -#define SSL3_CK_FZA_DMS_FZA_SHA         0x0300001D +#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 + +#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 <david.hopwood@zetnet.co.uk> -     of the ietf-tls list */ -#define SSL3_CK_FZA_DMS_RC4_SHA         0x0300001E +	 to remove according to David Hopwood <david.hopwood@zetnet.co.uk> +	 of the ietf-tls list */ +#define SSL3_CK_FZA_DMS_RC4_SHA			0x0300001E  #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" - -#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" - -#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 +#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" + +#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" + +#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  /* Due to MS stuffing up, this can change.... */  #if defined(OPENSSL_SYS_WIN16) || \ -    (defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32)) -#define SSL3_RT_MAX_EXTRA           (14000) +	(defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_WIN32)) +#define SSL3_RT_MAX_EXTRA			(14000)  #else -#define SSL3_RT_MAX_EXTRA           (16384) +#define SSL3_RT_MAX_EXTRA			(16384)  #endif -#define SSL3_RT_MAX_PLAIN_LENGTH        16384 +#define SSL3_RT_MAX_PLAIN_LENGTH		16384  #ifdef OPENSSL_NO_COMP -#define SSL3_RT_MAX_COMPRESSED_LENGTH   SSL3_RT_MAX_PLAIN_LENGTH +#define SSL3_RT_MAX_COMPRESSED_LENGTH	SSL3_RT_MAX_PLAIN_LENGTH  #else -#define SSL3_RT_MAX_COMPRESSED_LENGTH   (1024+SSL3_RT_MAX_PLAIN_LENGTH) +#define SSL3_RT_MAX_COMPRESSED_LENGTH	(1024+SSL3_RT_MAX_PLAIN_LENGTH)  #endif -#define SSL3_RT_MAX_ENCRYPTED_LENGTH    (1024+SSL3_RT_MAX_COMPRESSED_LENGTH) -#define SSL3_RT_MAX_PACKET_SIZE     (SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH) -#define SSL3_RT_MAX_DATA_SIZE           (1024*1024) - -#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 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 SSL3_RT_MAX_ENCRYPTED_LENGTH	(1024+SSL3_RT_MAX_COMPRESSED_LENGTH) +#define SSL3_RT_MAX_PACKET_SIZE		(SSL3_RT_MAX_ENCRYPTED_LENGTH+SSL3_RT_HEADER_LENGTH) +#define SSL3_RT_MAX_DATA_SIZE			(1024*1024) + +#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 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 */  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 */	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 */  PQ_64BIT seq_num;       /* sequence number, needed by DTLS1 */ -    } SSL3_RECORD; +	} 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; - -#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 +	{ +	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; + +#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          7 +#define SSL3_CT_NUMBER			7 -#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 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  typedef struct ssl3_state_st -    { -    long flags; -    int delay_buf_pop_ret; - -    unsigned char read_sequence[8]; -    unsigned char read_mac_secret[EVP_MAX_MD_SIZE]; -    unsigned char write_sequence[8]; -    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; - -    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 */ -    EVP_MD_CTX finish_dgst1; -    EVP_MD_CTX finish_dgst2; - -    /* 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; - -    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 */ -        SSL_CIPHER *new_cipher; +	{ +	long flags; +	int delay_buf_pop_ret; + +	unsigned char read_sequence[8]; +	unsigned char read_mac_secret[EVP_MAX_MD_SIZE]; +	unsigned char write_sequence[8]; +	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; + +	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 */ +	EVP_MD_CTX finish_dgst1; +	EVP_MD_CTX finish_dgst2; + +	/* 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; + +	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 */ +		SSL_CIPHER *new_cipher;  #ifndef OPENSSL_NO_DH -        DH *dh; +		DH *dh;  #endif  #ifndef OPENSSL_NO_ECDH -        EC_KEY *ecdh; /* holds short lived ECDH key */ +		EC_KEY *ecdh; /* holds short lived ECDH key */  #endif -        /* used when SSL_ST_FLUSH_DATA is entered */ -        int next_state; +		/* used when SSL_ST_FLUSH_DATA is entered */ +		int next_state;			 -        int reuse_message; +		int reuse_message; -        /* used for certificate requests */ -        int cert_req; -        int ctype_num; -        char ctype[SSL3_CT_NUMBER]; -        STACK_OF(X509_NAME) *ca_names; +		/* 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 use_rsa_tmp; -        int key_block_length; -        unsigned char *key_block; +		int key_block_length; +		unsigned char *key_block; -        const EVP_CIPHER *new_sym_enc; -        const EVP_MD *new_hash; +		const EVP_CIPHER *new_sym_enc; +		const EVP_MD *new_hash;  #ifndef OPENSSL_NO_COMP -        const SSL_COMP *new_compression; +		const SSL_COMP *new_compression;  #else -        char *new_compression; +		char *new_compression;  #endif -        int cert_request; -        } tmp; +		int cert_request; +		} tmp; -    } SSL3_STATE; +	} SSL3_STATE;  /* SSLv3 */  /*client */  /* extra state */ -#define SSL3_ST_CW_FLUSH        (0x100|SSL_ST_CONNECT) +#define SSL3_ST_CW_FLUSH		(0x100|SSL_ST_CONNECT)  /* 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) +#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 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) +#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) -#define SSL3_ST_CW_FINISHED_A       (0x1B0|SSL_ST_CONNECT) -#define SSL3_ST_CW_FINISHED_B       (0x1B1|SSL_ST_CONNECT) +#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) +#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_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) +#define SSL3_ST_SW_FLUSH		(0x100|SSL_ST_ACCEPT)  /* 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) +#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) +#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) -#define SSL3_ST_SR_FINISHED_A       (0x1C0|SSL_ST_ACCEPT) -#define SSL3_ST_SR_FINISHED_B       (0x1C1|SSL_ST_ACCEPT) +#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) +#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_MT_HELLO_REQUEST           0 -#define SSL3_MT_CLIENT_HELLO            1 -#define SSL3_MT_SERVER_HELLO            2 -#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_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  #define DTLS1_MT_HELLO_VERIFY_REQUEST    3 -#define SSL3_MT_CCS             1 +#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) +#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/dep/include/openssl/symhacks.h b/dep/include/openssl/symhacks.h index 5ef15139deb..6cfb5fe4794 100644 --- a/dep/include/openssl/symhacks.h +++ b/dep/include/openssl/symhacks.h @@ -6,7 +6,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -64,75 +64,75 @@  /* 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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#define X509_STORE_CTX_get_explicit_policy	X509_STORE_CTX_get_expl_policy  /* Hack some long CRYPTO names */  #undef CRYPTO_set_dynlock_destroy_callback @@ -168,17 +168,22 @@  #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 +#define SSL_COMP_get_compression_methods	SSL_COMP_get_compress_methods  /* 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 +#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 +#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_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 @@ -190,23 +195,23 @@  /* Hack some long DES names */  #undef _ossl_old_des_ede3_cfb64_encrypt -#define _ossl_old_des_ede3_cfb64_encrypt    _ossl_odes_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 +#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 +#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 +#define OPENSSL_add_all_algorithms_conf		OPENSSL_add_all_algo_conf  /* 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 +#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 +#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 +#define EC_GROUP_clear_free_all_extra_data	EC_GROUP_clr_free_all_xtra_data  #undef EC_POINT_set_Jprojective_coordinates_GFp  #define EC_POINT_set_Jprojective_coordinates_GFp \                                                  EC_POINT_set_Jproj_coords_GFp @@ -229,7 +234,7 @@  #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 +#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 @@ -290,57 +295,71 @@  #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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#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 +#define STORE_method_get_unlock_store_function	STORE_meth_get_unlock_store_fn + +/* 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  #endif /* defined OPENSSL_SYS_VMS */ @@ -348,7 +367,7 @@  /* Case insensiteve linking causes problems.... */  #if defined(OPENSSL_SYS_WIN16) || defined(OPENSSL_SYS_VMS) || defined(OPENSSL_SYS_OS2)  #undef ERR_load_CRYPTO_strings -#define ERR_load_CRYPTO_strings         ERR_load_CRYPTOlib_strings +#define ERR_load_CRYPTO_strings			ERR_load_CRYPTOlib_strings  #undef OCSP_crlID_new  #define OCSP_crlID_new                          OCSP_crlID2_new @@ -381,4 +400,6 @@  #endif /* ! defined HEADER_VMS_IDHACKS_H */ - +/* This one clashes with CMS_data_create */ +#undef cms_Data_create +#define cms_Data_create				priv_cms_Data_create diff --git a/dep/include/openssl/tls1.h b/dep/include/openssl/tls1.h index c3b53bfd4a1..2d1d293e1a4 100644 --- a/dep/include/openssl/tls1.h +++ b/dep/include/openssl/tls1.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -58,7 +58,7 @@  /* ====================================================================   * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED.   * - * Portions of the attached software ("Contribution") are developed by + * 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 @@ -69,8 +69,8 @@   *   */ -#ifndef HEADER_TLS1_H -#define HEADER_TLS1_H +#ifndef HEADER_TLS1_H  +#define HEADER_TLS1_H   #include <openssl/buffer.h> @@ -78,67 +78,162 @@  extern "C" {  #endif -#define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES    0 - -#define TLS1_VERSION            0x0301 -#define TLS1_VERSION_MAJOR      0x03 -#define TLS1_VERSION_MINOR      0x01 - -#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 +#define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES	0 + +#define TLS1_VERSION			0x0301 +#define TLS1_VERSION_MAJOR		0x03 +#define TLS1_VERSION_MINOR		0x01 + +#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 RFC 3546 */ +#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 +#define TLSEXT_TYPE_elliptic_curves		10 +#define TLSEXT_TYPE_ec_point_formats		11 +#define TLSEXT_TYPE_session_ticket		35 + +/* NameType value from RFC 3546 */ +#define TLSEXT_NAMETYPE_host_name 0 +/* status request value from RFC 3546 */ +#define TLSEXT_STATUSTYPE_ocsp 1 + +#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) ; + +#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_TLXEXT_TICKET_KEYS,(keylen),(keys)) +#define SSL_CTX_set_tlsext_ticket_keys(ctx, keys, keylen) \ +	SSL_CTX_ctrl((ctx),SSL_CTRL_SET_TLXEXT_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_CTX_set_tlsext_ticket_key_cb(ssl, cb) \ +SSL_CTX_callback_ctrl(ssl,SSL_CTRL_SET_TLSEXT_TICKET_KEY_CB,(void (*)(void))cb) + +#endif  /* Additional TLS ciphersuites from draft-ietf-tls-56-bit-ciphersuites-00.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. */ -#define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5      0x03000060 -#define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5  0x03000061 -#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 +#define TLS1_CK_RSA_EXPORT1024_WITH_RC4_56_MD5		0x03000060 +#define TLS1_CK_RSA_EXPORT1024_WITH_RC2_CBC_56_MD5	0x03000061 +#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_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 +#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  /* 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 - -#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 +#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 + +#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  /* 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 @@ -178,28 +273,28 @@ extern "C" {   * (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" +#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" +#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" @@ -232,50 +327,57 @@ extern "C" {  #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" -/* Camellia ciphersuites form 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" - - -#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_NUMBER           7 - -#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 +/* 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" + +#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_NUMBER			7 + +#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 @@ -303,4 +405,3 @@ extern "C" { - diff --git a/dep/include/openssl/x509.h b/dep/include/openssl/x509.h index 3dec0b822c4..e71b5257e57 100644 --- a/dep/include/openssl/x509.h +++ b/dep/include/openssl/x509.h @@ -5,21 +5,21 @@   * 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: @@ -34,10 +34,10 @@   *     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 + * 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 @@ -49,7 +49,7 @@   * 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 @@ -57,7 +57,7 @@   */  /* ====================================================================   * Copyright 2002 Sun Microsystems, Inc. ALL RIGHTS RESERVED. - * ECDH support in OpenSSL originally developed by + * ECDH support in OpenSSL originally developed by    * SUN MICROSYSTEMS, INC., and contributed to the OpenSSL project.   */ @@ -118,141 +118,144 @@ extern "C" {  #undef X509_CERT_PAIR  #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 +#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; +	{ +	int nid; +	int (*a2i)(void); +	int (*i2a)(void); +	} X509_OBJECTS;  struct X509_algor_st -    { -    ASN1_OBJECT *algorithm; -    ASN1_TYPE *parameter; -    } /* X509_ALGOR */; +	{ +	ASN1_OBJECT *algorithm; +	ASN1_TYPE *parameter; +	} /* X509_ALGOR */; -DECLARE_STACK_OF(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; +	{ +	ASN1_TIME *notBefore; +	ASN1_TIME *notAfter; +	} X509_VAL;  typedef struct X509_pubkey_st -    { -    X509_ALGOR *algor; -    ASN1_BIT_STRING *public_key; -    EVP_PKEY *pkey; -    } X509_PUBKEY; +	{ +	X509_ALGOR *algor; +	ASN1_BIT_STRING *public_key; +	EVP_PKEY *pkey; +	} X509_PUBKEY;  typedef struct X509_sig_st -    { -    X509_ALGOR *algor; -    ASN1_OCTET_STRING *digest; -    } X509_SIG; +	{ +	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; +	{ +	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 */ +	{ +	STACK_OF(X509_NAME_ENTRY) *entries; +	int modified;	/* true if 'bytes' needs to be built */  #ifndef OPENSSL_NO_BUFFER -    BUF_MEM *bytes; +	BUF_MEM *bytes;  #else -    char *bytes; +	char *bytes;  #endif -    unsigned long hash; /* Keep the hash around for lookups */ -    } /* X509_NAME */; +	unsigned long hash; /* Keep the hash around for lookups */ +	} /* X509_NAME */;  DECLARE_STACK_OF(X509_NAME) -#define X509_EX_V_NETSCAPE_HACK     0x8000 -#define X509_EX_V_INIT          0x0001 +#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; +	{ +	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; +	{ +	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; +	{ +	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; +	{ +	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 */ -    } X509_CINF; +	{ +	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 */ +	} X509_CINF;  /* This stuff is certificate "auxiliary info"   * it contains details which are useful in certificate @@ -261,42 +264,42 @@ typedef struct x509_cinf_st   */  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; +	{ +	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; -    struct AUTHORITY_KEYID_st *akid; -    X509_POLICY_CACHE *policy_cache; +	{ +	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; +	struct AUTHORITY_KEYID_st *akid; +	X509_POLICY_CACHE *policy_cache;  #ifndef OPENSSL_NO_RFC3779 -    STACK_OF(IPAddressFamily) *rfc3779_addr; -    struct ASIdentifiers_st *rfc3779_asid; +	STACK_OF(IPAddressFamily) *rfc3779_addr; +	struct ASIdentifiers_st *rfc3779_asid;  #endif  #ifndef OPENSSL_NO_SHA -    unsigned char sha1_hash[SHA_DIGEST_LENGTH]; +	unsigned char sha1_hash[SHA_DIGEST_LENGTH];  #endif -    X509_CERT_AUX *aux; -    } /* X509 */; +	X509_CERT_AUX *aux; +	} /* X509 */;  DECLARE_STACK_OF(X509)  DECLARE_ASN1_SET_OF(X509) @@ -304,88 +307,88 @@ 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; +	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 *forward; +	X509 *reverse;  } X509_CERT_PAIR;  /* standard trust ids */ -#define X509_TRUST_DEFAULT  -1  /* Only valid in purpose settings */ +#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_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  /* Keep these up to date! */ -#define X509_TRUST_MIN      1 -#define X509_TRUST_MAX      7 +#define X509_TRUST_MIN		1 +#define X509_TRUST_MAX		7  /* trust_flags values */ -#define X509_TRUST_DYNAMIC  1 -#define X509_TRUST_DYNAMIC_NAME 2 +#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 +#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() */ +#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_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_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 */ +#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_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_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 '=' */ +#define XN_FLAG_SPC_EQ		(1 << 23)	/* Put spaces round '=' */  /* This determines if we dump fields we don't recognise:   * RFC2253 requires this. @@ -393,102 +396,102 @@ typedef struct x509_cert_pair_st {  #define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) -#define XN_FLAG_FN_ALIGN    (1 << 25)   /* Align field names to 20 characters */ +#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) +			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) +			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) +			ASN1_STRFLGS_ESC_MSB | \ +			XN_FLAG_SEP_MULTILINE | \ +			XN_FLAG_SPC_EQ | \ +			XN_FLAG_FN_LN | \ +			XN_FLAG_FN_ALIGN)  typedef struct X509_revoked_st -    { -    ASN1_INTEGER *serialNumber; -    ASN1_TIME *revocationDate; -    STACK_OF(X509_EXTENSION) /* optional */ *extensions; -    int sequence; /* load sequence */ -    } X509_REVOKED; +	{ +	ASN1_INTEGER *serialNumber; +	ASN1_TIME *revocationDate; +	STACK_OF(X509_EXTENSION) /* optional */ *extensions; +	int sequence; /* load sequence */ +	} X509_REVOKED;  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; +	{ +	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; -    } /* X509_CRL */; +	{ +	/* actual signature */ +	X509_CRL_INFO *crl; +	X509_ALGOR *sig_alg; +	ASN1_BIT_STRING *signature; +	int references; +	} /* 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 */ +	{ +	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; +	/* 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 */ +	/* 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; +	/* expanded version of 'enc_algor' */ +	EVP_CIPHER_INFO cipher; -    int references; -    } X509_PKEY; +	int references; +	} X509_PKEY;  #ifndef OPENSSL_NO_EVP  typedef struct X509_info_st -    { -    X509 *x509; -    X509_CRL *crl; -    X509_PKEY *x_pkey; +	{ +	X509 *x509; +	X509_CRL *crl; +	X509_PKEY *x_pkey; -    EVP_CIPHER_INFO enc_cipher; -    int enc_len; -    char *enc_data; +	EVP_CIPHER_INFO enc_cipher; +	int enc_len; +	char *enc_data; -    int references; -    } X509_INFO; +	int references; +	} X509_INFO;  DECLARE_STACK_OF(X509_INFO)  #endif @@ -498,30 +501,30 @@ DECLARE_STACK_OF(X509_INFO)   * 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; +	{ +	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_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; +	{ +	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; +	{ +	unsigned char iv[8]; +	} CBC_PARAM;  */  /* Password based encryption structure */ @@ -539,7 +542,7 @@ X509_ALGOR *encryption;  } PBE2PARAM;  typedef struct PBKDF2PARAM_st { -ASN1_TYPE *salt;    /* Usually OCTET STRING but could be anything */ +ASN1_TYPE *salt;	/* Usually OCTET STRING but could be anything */  ASN1_INTEGER *iter;  ASN1_INTEGER *keylength;  X509_ALGOR *prf; @@ -551,10 +554,10 @@ X509_ALGOR *prf;  typedef 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_OK		0 +#define PKCS8_NO_OCTET		1 +#define PKCS8_EMBEDDED_PARAM	2 +#define PKCS8_NS_DB		3          ASN1_INTEGER *version;          X509_ALGOR *pkeyalg;          ASN1_TYPE *pkey; /* Should be OCTET STRING but some are broken */ @@ -574,172 +577,172 @@ extern "C" {  #ifdef SSLEAY_MACROS  #define X509_verify(a,r) ASN1_verify((int (*)())i2d_X509_CINF,a->sig_alg,\ -    a->signature,(char *)a->cert_info,r) +	a->signature,(char *)a->cert_info,r)  #define X509_REQ_verify(a,r) ASN1_verify((int (*)())i2d_X509_REQ_INFO, \ -    a->sig_alg,a->signature,(char *)a->req_info,r) +	a->sig_alg,a->signature,(char *)a->req_info,r)  #define X509_CRL_verify(a,r) ASN1_verify((int (*)())i2d_X509_CRL_INFO, \ -    a->sig_alg, a->signature,(char *)a->crl,r) +	a->sig_alg, a->signature,(char *)a->crl,r)  #define X509_sign(x,pkey,md) \ -    ASN1_sign((int (*)())i2d_X509_CINF, x->cert_info->signature, \ -        x->sig_alg, x->signature, (char *)x->cert_info,pkey,md) +	ASN1_sign((int (*)())i2d_X509_CINF, x->cert_info->signature, \ +		x->sig_alg, x->signature, (char *)x->cert_info,pkey,md)  #define X509_REQ_sign(x,pkey,md) \ -    ASN1_sign((int (*)())i2d_X509_REQ_INFO,x->sig_alg, NULL, \ -        x->signature, (char *)x->req_info,pkey,md) +	ASN1_sign((int (*)())i2d_X509_REQ_INFO,x->sig_alg, NULL, \ +		x->signature, (char *)x->req_info,pkey,md)  #define X509_CRL_sign(x,pkey,md) \ -    ASN1_sign((int (*)())i2d_X509_CRL_INFO,x->crl->sig_alg,x->sig_alg, \ -        x->signature, (char *)x->crl,pkey,md) +	ASN1_sign((int (*)())i2d_X509_CRL_INFO,x->crl->sig_alg,x->sig_alg, \ +		x->signature, (char *)x->crl,pkey,md)  #define NETSCAPE_SPKI_sign(x,pkey,md) \ -    ASN1_sign((int (*)())i2d_NETSCAPE_SPKAC, x->sig_algor,NULL, \ -        x->signature, (char *)x->spkac,pkey,md) +	ASN1_sign((int (*)())i2d_NETSCAPE_SPKAC, x->sig_algor,NULL, \ +		x->signature, (char *)x->spkac,pkey,md)  #define X509_dup(x509) (X509 *)ASN1_dup((int (*)())i2d_X509, \ -        (char *(*)())d2i_X509,(char *)x509) +		(char *(*)())d2i_X509,(char *)x509)  #define X509_ATTRIBUTE_dup(xa) (X509_ATTRIBUTE *)ASN1_dup(\ -        (int (*)())i2d_X509_ATTRIBUTE, \ -        (char *(*)())d2i_X509_ATTRIBUTE,(char *)xa) +		(int (*)())i2d_X509_ATTRIBUTE, \ +		(char *(*)())d2i_X509_ATTRIBUTE,(char *)xa)  #define X509_EXTENSION_dup(ex) (X509_EXTENSION *)ASN1_dup( \ -        (int (*)())i2d_X509_EXTENSION, \ -        (char *(*)())d2i_X509_EXTENSION,(char *)ex) +		(int (*)())i2d_X509_EXTENSION, \ +		(char *(*)())d2i_X509_EXTENSION,(char *)ex)  #define d2i_X509_fp(fp,x509) (X509 *)ASN1_d2i_fp((char *(*)())X509_new, \ -        (char *(*)())d2i_X509, (fp),(unsigned char **)(x509)) +		(char *(*)())d2i_X509, (fp),(unsigned char **)(x509))  #define i2d_X509_fp(fp,x509) ASN1_i2d_fp(i2d_X509,fp,(unsigned char *)x509)  #define d2i_X509_bio(bp,x509) (X509 *)ASN1_d2i_bio((char *(*)())X509_new, \ -        (char *(*)())d2i_X509, (bp),(unsigned char **)(x509)) +		(char *(*)())d2i_X509, (bp),(unsigned char **)(x509))  #define i2d_X509_bio(bp,x509) ASN1_i2d_bio(i2d_X509,bp,(unsigned char *)x509)  #define X509_CRL_dup(crl) (X509_CRL *)ASN1_dup((int (*)())i2d_X509_CRL, \ -        (char *(*)())d2i_X509_CRL,(char *)crl) +		(char *(*)())d2i_X509_CRL,(char *)crl)  #define d2i_X509_CRL_fp(fp,crl) (X509_CRL *)ASN1_d2i_fp((char *(*)()) \ -        X509_CRL_new,(char *(*)())d2i_X509_CRL, (fp),\ -        (unsigned char **)(crl)) +		X509_CRL_new,(char *(*)())d2i_X509_CRL, (fp),\ +		(unsigned char **)(crl))  #define i2d_X509_CRL_fp(fp,crl) ASN1_i2d_fp(i2d_X509_CRL,fp,\ -        (unsigned char *)crl) +		(unsigned char *)crl)  #define d2i_X509_CRL_bio(bp,crl) (X509_CRL *)ASN1_d2i_bio((char *(*)()) \ -        X509_CRL_new,(char *(*)())d2i_X509_CRL, (bp),\ -        (unsigned char **)(crl)) +		X509_CRL_new,(char *(*)())d2i_X509_CRL, (bp),\ +		(unsigned char **)(crl))  #define i2d_X509_CRL_bio(bp,crl) ASN1_i2d_bio(i2d_X509_CRL,bp,\ -        (unsigned char *)crl) +		(unsigned char *)crl)  #define PKCS7_dup(p7) (PKCS7 *)ASN1_dup((int (*)())i2d_PKCS7, \ -        (char *(*)())d2i_PKCS7,(char *)p7) +		(char *(*)())d2i_PKCS7,(char *)p7)  #define d2i_PKCS7_fp(fp,p7) (PKCS7 *)ASN1_d2i_fp((char *(*)()) \ -        PKCS7_new,(char *(*)())d2i_PKCS7, (fp),\ -        (unsigned char **)(p7)) +		PKCS7_new,(char *(*)())d2i_PKCS7, (fp),\ +		(unsigned char **)(p7))  #define i2d_PKCS7_fp(fp,p7) ASN1_i2d_fp(i2d_PKCS7,fp,\ -        (unsigned char *)p7) +		(unsigned char *)p7)  #define d2i_PKCS7_bio(bp,p7) (PKCS7 *)ASN1_d2i_bio((char *(*)()) \ -        PKCS7_new,(char *(*)())d2i_PKCS7, (bp),\ -        (unsigned char **)(p7)) +		PKCS7_new,(char *(*)())d2i_PKCS7, (bp),\ +		(unsigned char **)(p7))  #define i2d_PKCS7_bio(bp,p7) ASN1_i2d_bio(i2d_PKCS7,bp,\ -        (unsigned char *)p7) +		(unsigned char *)p7)  #define X509_REQ_dup(req) (X509_REQ *)ASN1_dup((int (*)())i2d_X509_REQ, \ -        (char *(*)())d2i_X509_REQ,(char *)req) +		(char *(*)())d2i_X509_REQ,(char *)req)  #define d2i_X509_REQ_fp(fp,req) (X509_REQ *)ASN1_d2i_fp((char *(*)())\ -        X509_REQ_new, (char *(*)())d2i_X509_REQ, (fp),\ -        (unsigned char **)(req)) +		X509_REQ_new, (char *(*)())d2i_X509_REQ, (fp),\ +		(unsigned char **)(req))  #define i2d_X509_REQ_fp(fp,req) ASN1_i2d_fp(i2d_X509_REQ,fp,\ -        (unsigned char *)req) +		(unsigned char *)req)  #define d2i_X509_REQ_bio(bp,req) (X509_REQ *)ASN1_d2i_bio((char *(*)())\ -        X509_REQ_new, (char *(*)())d2i_X509_REQ, (bp),\ -        (unsigned char **)(req)) +		X509_REQ_new, (char *(*)())d2i_X509_REQ, (bp),\ +		(unsigned char **)(req))  #define i2d_X509_REQ_bio(bp,req) ASN1_i2d_bio(i2d_X509_REQ,bp,\ -        (unsigned char *)req) +		(unsigned char *)req)  #define RSAPublicKey_dup(rsa) (RSA *)ASN1_dup((int (*)())i2d_RSAPublicKey, \ -        (char *(*)())d2i_RSAPublicKey,(char *)rsa) +		(char *(*)())d2i_RSAPublicKey,(char *)rsa)  #define RSAPrivateKey_dup(rsa) (RSA *)ASN1_dup((int (*)())i2d_RSAPrivateKey, \ -        (char *(*)())d2i_RSAPrivateKey,(char *)rsa) +		(char *(*)())d2i_RSAPrivateKey,(char *)rsa)  #define d2i_RSAPrivateKey_fp(fp,rsa) (RSA *)ASN1_d2i_fp((char *(*)())\ -        RSA_new,(char *(*)())d2i_RSAPrivateKey, (fp), \ -        (unsigned char **)(rsa)) +		RSA_new,(char *(*)())d2i_RSAPrivateKey, (fp), \ +		(unsigned char **)(rsa))  #define i2d_RSAPrivateKey_fp(fp,rsa) ASN1_i2d_fp(i2d_RSAPrivateKey,fp, \ -        (unsigned char *)rsa) +		(unsigned char *)rsa)  #define d2i_RSAPrivateKey_bio(bp,rsa) (RSA *)ASN1_d2i_bio((char *(*)())\ -        RSA_new,(char *(*)())d2i_RSAPrivateKey, (bp), \ -        (unsigned char **)(rsa)) +		RSA_new,(char *(*)())d2i_RSAPrivateKey, (bp), \ +		(unsigned char **)(rsa))  #define i2d_RSAPrivateKey_bio(bp,rsa) ASN1_i2d_bio(i2d_RSAPrivateKey,bp, \ -        (unsigned char *)rsa) +		(unsigned char *)rsa)  #define d2i_RSAPublicKey_fp(fp,rsa) (RSA *)ASN1_d2i_fp((char *(*)())\ -        RSA_new,(char *(*)())d2i_RSAPublicKey, (fp), \ -        (unsigned char **)(rsa)) +		RSA_new,(char *(*)())d2i_RSAPublicKey, (fp), \ +		(unsigned char **)(rsa))  #define i2d_RSAPublicKey_fp(fp,rsa) ASN1_i2d_fp(i2d_RSAPublicKey,fp, \ -        (unsigned char *)rsa) +		(unsigned char *)rsa)  #define d2i_RSAPublicKey_bio(bp,rsa) (RSA *)ASN1_d2i_bio((char *(*)())\ -        RSA_new,(char *(*)())d2i_RSAPublicKey, (bp), \ -        (unsigned char **)(rsa)) +		RSA_new,(char *(*)())d2i_RSAPublicKey, (bp), \ +		(unsigned char **)(rsa))  #define i2d_RSAPublicKey_bio(bp,rsa) ASN1_i2d_bio(i2d_RSAPublicKey,bp, \ -        (unsigned char *)rsa) +		(unsigned char *)rsa)  #define d2i_DSAPrivateKey_fp(fp,dsa) (DSA *)ASN1_d2i_fp((char *(*)())\ -        DSA_new,(char *(*)())d2i_DSAPrivateKey, (fp), \ -        (unsigned char **)(dsa)) +		DSA_new,(char *(*)())d2i_DSAPrivateKey, (fp), \ +		(unsigned char **)(dsa))  #define i2d_DSAPrivateKey_fp(fp,dsa) ASN1_i2d_fp(i2d_DSAPrivateKey,fp, \ -        (unsigned char *)dsa) +		(unsigned char *)dsa)  #define d2i_DSAPrivateKey_bio(bp,dsa) (DSA *)ASN1_d2i_bio((char *(*)())\ -        DSA_new,(char *(*)())d2i_DSAPrivateKey, (bp), \ -        (unsigned char **)(dsa)) +		DSA_new,(char *(*)())d2i_DSAPrivateKey, (bp), \ +		(unsigned char **)(dsa))  #define i2d_DSAPrivateKey_bio(bp,dsa) ASN1_i2d_bio(i2d_DSAPrivateKey,bp, \ -        (unsigned char *)dsa) +		(unsigned char *)dsa)  #define d2i_ECPrivateKey_fp(fp,ecdsa) (EC_KEY *)ASN1_d2i_fp((char *(*)())\ -        EC_KEY_new,(char *(*)())d2i_ECPrivateKey, (fp), \ -        (unsigned char **)(ecdsa)) +		EC_KEY_new,(char *(*)())d2i_ECPrivateKey, (fp), \ +		(unsigned char **)(ecdsa))  #define i2d_ECPrivateKey_fp(fp,ecdsa) ASN1_i2d_fp(i2d_ECPrivateKey,fp, \ -        (unsigned char *)ecdsa) +		(unsigned char *)ecdsa)  #define d2i_ECPrivateKey_bio(bp,ecdsa) (EC_KEY *)ASN1_d2i_bio((char *(*)())\ -        EC_KEY_new,(char *(*)())d2i_ECPrivateKey, (bp), \ -        (unsigned char **)(ecdsa)) +		EC_KEY_new,(char *(*)())d2i_ECPrivateKey, (bp), \ +		(unsigned char **)(ecdsa))  #define i2d_ECPrivateKey_bio(bp,ecdsa) ASN1_i2d_bio(i2d_ECPrivateKey,bp, \ -        (unsigned char *)ecdsa) +		(unsigned char *)ecdsa)  #define X509_ALGOR_dup(xn) (X509_ALGOR *)ASN1_dup((int (*)())i2d_X509_ALGOR,\ -        (char *(*)())d2i_X509_ALGOR,(char *)xn) +		(char *(*)())d2i_X509_ALGOR,(char *)xn)  #define X509_NAME_dup(xn) (X509_NAME *)ASN1_dup((int (*)())i2d_X509_NAME, \ -        (char *(*)())d2i_X509_NAME,(char *)xn) +		(char *(*)())d2i_X509_NAME,(char *)xn)  #define X509_NAME_ENTRY_dup(ne) (X509_NAME_ENTRY *)ASN1_dup( \ -        (int (*)())i2d_X509_NAME_ENTRY, \ -        (char *(*)())d2i_X509_NAME_ENTRY,\ -        (char *)ne) +		(int (*)())i2d_X509_NAME_ENTRY, \ +		(char *(*)())d2i_X509_NAME_ENTRY,\ +		(char *)ne)  #define X509_digest(data,type,md,len) \ -    ASN1_digest((int (*)())i2d_X509,type,(char *)data,md,len) +	ASN1_digest((int (*)())i2d_X509,type,(char *)data,md,len)  #define X509_NAME_digest(data,type,md,len) \ -    ASN1_digest((int (*)())i2d_X509_NAME,type,(char *)data,md,len) +	ASN1_digest((int (*)())i2d_X509_NAME,type,(char *)data,md,len)  #ifndef PKCS7_ISSUER_AND_SERIAL_digest  #define PKCS7_ISSUER_AND_SERIAL_digest(data,type,md,len) \ -    ASN1_digest((int (*)())i2d_PKCS7_ISSUER_AND_SERIAL,type,\ -        (char *)data,md,len) +	ASN1_digest((int (*)())i2d_PKCS7_ISSUER_AND_SERIAL,type,\ +		(char *)data,md,len)  #endif  #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) +#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)  /* 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) +#define 	X509_get_X509_PUBKEY(x) ((x)->cert_info->key)  const char *X509_verify_cert_error_string(long n); @@ -767,15 +770,15 @@ int X509_CRL_sign(X509_CRL *x, EVP_PKEY *pkey, const EVP_MD *md);  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); +		unsigned char *md, unsigned int *len);  int X509_digest(const X509 *data,const EVP_MD *type, -        unsigned char *md, unsigned int *len); +		unsigned char *md, unsigned int *len);  int X509_CRL_digest(const X509_CRL *data,const EVP_MD *type, -        unsigned char *md, unsigned int *len); +		unsigned char *md, unsigned int *len);  int X509_REQ_digest(const X509_REQ *data,const EVP_MD *type, -        unsigned char *md, unsigned int *len); +		unsigned char *md, unsigned int *len);  int X509_NAME_digest(const X509_NAME *data,const EVP_MD *type, -        unsigned char *md, unsigned int *len); +		unsigned char *md, unsigned int *len);  #endif  #ifndef OPENSSL_NO_FP_API @@ -808,7 +811,7 @@ int   i2d_ECPrivateKey_fp(FILE *fp, EC_KEY *eckey);  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); +						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); @@ -847,7 +850,7 @@ int   i2d_ECPrivateKey_bio(BIO *bp, EC_KEY *eckey);  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); +						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); @@ -862,52 +865,57 @@ 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); +  X509_NAME *X509_NAME_dup(X509_NAME *xn);  X509_NAME_ENTRY *X509_NAME_ENTRY_dup(X509_NAME_ENTRY *ne);  #endif /* !SSLEAY_MACROS */ -int     X509_cmp_time(ASN1_TIME *s, time_t *t); -int     X509_cmp_current_time(ASN1_TIME *s); -ASN1_TIME * X509_time_adj(ASN1_TIME *s, long adj, time_t *t); -ASN1_TIME * X509_gmtime_adj(ASN1_TIME *s, long adj); +int		X509_cmp_time(ASN1_TIME *s, time_t *t); +int		X509_cmp_current_time(ASN1_TIME *s); +ASN1_TIME *	X509_time_adj(ASN1_TIME *s, long adj, 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 ); +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); +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); +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); +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); +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); +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) @@ -918,12 +926,13 @@ 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); +int		X509_NAME_set(X509_NAME **xn, X509_NAME *name);  DECLARE_ASN1_FUNCTIONS(X509_CINF) @@ -933,11 +942,11 @@ 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); +	     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		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); @@ -956,83 +965,83 @@ DECLARE_ASN1_FUNCTIONS(X509_CRL)  int X509_CRL_add0_revoked(X509_CRL *crl, X509_REVOKED *rev); -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); +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); +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); +		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); +		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); +	      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); +	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); +	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); +	ASN1_BIT_STRING *signature, +	void *data, EVP_PKEY *pkey, const EVP_MD *type);  #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, ASN1_TIME *tm); -int         X509_set_notAfter(X509 *x, ASN1_TIME *tm); -int         X509_set_pubkey(X509 *x, EVP_PKEY *pkey); -EVP_PKEY *  X509_get_pubkey(X509 *x); +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, ASN1_TIME *tm); +int 		X509_set_notAfter(X509 *x, 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); +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 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 lastpos);  int X509_REQ_get_attr_by_OBJ(const X509_REQ *req, ASN1_OBJECT *obj, -              int lastpos); +			  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); +			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 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); +			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); @@ -1043,191 +1052,193 @@ 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_REQ_check_private_key(X509_REQ *x509,EVP_PKEY *pkey); -int     X509_check_private_key(X509 *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_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_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); +int		X509_subject_name_cmp(const X509 *a, const X509 *b); +unsigned long	X509_subject_name_hash(X509 *x); -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); +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); -int     X509_CRL_cmp(const X509_CRL *a, const X509_CRL *b); +int		X509_CRL_cmp(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_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(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); +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); +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); +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(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); +			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); +			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); +		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 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); +			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); +			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); +					 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); +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); +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); +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); +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); +			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_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		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 lastpos);  int X509at_get_attr_by_OBJ(const STACK_OF(X509_ATTRIBUTE) *sk, ASN1_OBJECT *obj, -              int lastpos); +			  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); +					 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); +			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); +			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); +			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); +	     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); +	     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); +		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 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 lastpos);  int EVP_PKEY_get_attr_by_OBJ(const EVP_PKEY *key, ASN1_OBJECT *obj, -              int lastpos); +			  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); +			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 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); +			const char *attrname, int type, +			const unsigned char *bytes, int len); -int     X509_verify_cert(X509_STORE_CTX *ctx); +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); +				     ASN1_INTEGER *serial);  X509 *X509_find_by_subject(STACK_OF(X509) *sk,X509_NAME *name);  DECLARE_ASN1_FUNCTIONS(PBEPARAM) @@ -1236,7 +1247,7 @@ DECLARE_ASN1_FUNCTIONS(PBKDF2PARAM)  X509_ALGOR *PKCS5_pbe_set(int alg, int iter, unsigned char *salt, int saltlen);  X509_ALGOR *PKCS5_pbe2_set(const EVP_CIPHER *cipher, int iter, -                     unsigned char *salt, int saltlen); +					 unsigned char *salt, int saltlen);  /* PKCS#8 utilities */ @@ -1252,7 +1263,7 @@ 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); +					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); @@ -1267,79 +1278,78 @@ 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 +#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_NO_CERT_SET_FOR_US_TO_VERIFY      105 -#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 +#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_NO_CERT_SET_FOR_US_TO_VERIFY		 105 +#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/dep/include/openssl/x509v3.h b/dep/include/openssl/x509v3.h index 6b3a2ff64de..9ef83da755e 100644 --- a/dep/include/openssl/x509v3.h +++ b/dep/include/openssl/x509v3.h @@ -1,5 +1,5 @@  /* x509v3.h */ -/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL +/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL   * project 1999.   */  /* ==================================================================== @@ -10,7 +10,7 @@   * are met:   *   * 1. Redistributions of source code must retain the above copyright - *    notice, this list of conditions and the following disclaimer. + *    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 @@ -108,7 +108,7 @@ X509V3_EXT_V2I v2i;  X509V3_EXT_I2R i2r;  X509V3_EXT_R2I r2i; -void *usr_data; /* Any extension specific data */ +void *usr_data;	/* Any extension specific data */  };  typedef struct X509V3_CONF_METHOD_st { @@ -136,9 +136,9 @@ 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 +#define X509V3_EXT_DYNAMIC	0x1 +#define X509V3_EXT_CTX_DEP	0x2 +#define X509V3_EXT_MULTILINE	0x4  typedef BIT_STRING_BITNAME ENUMERATED_NAMES; @@ -159,49 +159,49 @@ ASN1_TYPE *value;  } OTHERNAME;  typedef struct EDIPartyName_st { -    ASN1_STRING *nameAssigner; -    ASN1_STRING *partyName; +	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 +#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 */ +	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; +	ASN1_OBJECT *method; +	GENERAL_NAME *location;  } ACCESS_DESCRIPTION;  typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; @@ -217,13 +217,13 @@ DECLARE_ASN1_SET_OF(ACCESS_DESCRIPTION)  typedef struct DIST_POINT_NAME_st {  int type;  union { -    GENERAL_NAMES *fullname; -    STACK_OF(X509_NAME_ENTRY) *relativename; +	GENERAL_NAMES *fullname; +	STACK_OF(X509_NAME_ENTRY) *relativename;  } name;  } DIST_POINT_NAME;  typedef struct DIST_POINT_st { -DIST_POINT_NAME *distpoint; +DIST_POINT_NAME	*distpoint;  ASN1_BIT_STRING *reasons;  GENERAL_NAMES *CRLissuer;  } DIST_POINT; @@ -242,43 +242,43 @@ ASN1_INTEGER *serial;  /* Strong extranet structures */  typedef struct SXNET_ID_st { -    ASN1_INTEGER *zone; -    ASN1_OCTET_STRING *user; +	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; +	ASN1_INTEGER *version; +	STACK_OF(SXNETID) *ids;  } SXNET;  typedef struct NOTICEREF_st { -    ASN1_STRING *organization; -    STACK_OF(ASN1_INTEGER) *noticenos; +	ASN1_STRING *organization; +	STACK_OF(ASN1_INTEGER) *noticenos;  } NOTICEREF;  typedef struct USERNOTICE_st { -    NOTICEREF *noticeref; -    ASN1_STRING *exptext; +	NOTICEREF *noticeref; +	ASN1_STRING *exptext;  } USERNOTICE;  typedef struct POLICYQUALINFO_st { -    ASN1_OBJECT *pqualid; -    union { -        ASN1_IA5STRING *cpsuri; -        USERNOTICE *usernotice; -        ASN1_TYPE *other; -    } d; +	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; +	ASN1_OBJECT *policyid; +	STACK_OF(POLICYQUALINFO) *qualifiers;  } POLICYINFO;  typedef STACK_OF(POLICYINFO) CERTIFICATEPOLICIES; @@ -287,8 +287,8 @@ DECLARE_STACK_OF(POLICYINFO)  DECLARE_ASN1_SET_OF(POLICYINFO)  typedef struct POLICY_MAPPING_st { -    ASN1_OBJECT *issuerDomainPolicy; -    ASN1_OBJECT *subjectDomainPolicy; +	ASN1_OBJECT *issuerDomainPolicy; +	ASN1_OBJECT *subjectDomainPolicy;  } POLICY_MAPPING;  DECLARE_STACK_OF(POLICY_MAPPING) @@ -296,35 +296,35 @@ 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_NAME *base; +	ASN1_INTEGER *minimum; +	ASN1_INTEGER *maximum;  } GENERAL_SUBTREE;  DECLARE_STACK_OF(GENERAL_SUBTREE)  typedef struct NAME_CONSTRAINTS_st { -    STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; -    STACK_OF(GENERAL_SUBTREE) *excludedSubtrees; +	STACK_OF(GENERAL_SUBTREE) *permittedSubtrees; +	STACK_OF(GENERAL_SUBTREE) *excludedSubtrees;  } NAME_CONSTRAINTS;  typedef struct POLICY_CONSTRAINTS_st { -    ASN1_INTEGER *requireExplicitPolicy; -    ASN1_INTEGER *inhibitPolicyMapping; +	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; +	{ +	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; +	{ +	ASN1_INTEGER *pcPathLengthConstraint; +	PROXY_POLICY *proxyPolicy; +	} PROXY_CERT_INFO_EXTENSION;  DECLARE_ASN1_FUNCTIONS(PROXY_POLICY)  DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION) @@ -334,120 +334,122 @@ DECLARE_ASN1_FUNCTIONS(PROXY_CERT_INFO_EXTENSION)  ",name:", val->name, ",value:", val->value);  #define X509V3_set_ctx_test(ctx) \ -            X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) +			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} +			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} +			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 -#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   0x400 - -#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 +#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 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; +	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_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_MIN        1 -#define X509_PURPOSE_MAX        8 +#define X509_PURPOSE_MIN		1 +#define X509_PURPOSE_MAX		8  /* Flags for X509V3_EXT_print() */ -#define X509V3_EXT_UNKNOWN_MASK     (0xfL << 16) +#define X509V3_EXT_UNKNOWN_MASK		(0xfL << 16)  /* Return error for unknown extensions */ -#define X509V3_EXT_DEFAULT      0 +#define X509V3_EXT_DEFAULT		0  /* Print error for unknown extensions */ -#define X509V3_EXT_ERROR_UNKNOWN    (1L << 16) +#define X509V3_EXT_ERROR_UNKNOWN	(1L << 16)  /* ASN1 parse unknown extensions */ -#define X509V3_EXT_PARSE_UNKNOWN    (2L << 16) +#define X509V3_EXT_PARSE_UNKNOWN	(2L << 16)  /* BIO_dump unknown extensions */ -#define X509V3_EXT_DUMP_UNKNOWN     (3L << 16) +#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 +#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) @@ -456,9 +458,9 @@ 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); +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); @@ -472,10 +474,10 @@ DECLARE_ASN1_FUNCTIONS(GENERAL_NAME)  ASN1_BIT_STRING *v2i_ASN1_BIT_STRING(X509V3_EXT_METHOD *method, -                X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); +				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); +				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); @@ -483,9 +485,9 @@ 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 *gen, STACK_OF(CONF_VALUE) *extlist);  GENERAL_NAMES *v2i_GENERAL_NAMES(X509V3_EXT_METHOD *method, -                X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval); +				X509V3_CTX *ctx, STACK_OF(CONF_VALUE) *nval);  DECLARE_ASN1_FUNCTIONS(OTHERNAME)  DECLARE_ASN1_FUNCTIONS(EDIPARTYNAME) @@ -524,9 +526,9 @@ DECLARE_ASN1_ITEM(POLICY_CONSTRAINTS)  #ifdef HEADER_CONF_H  GENERAL_NAME *v2i_GENERAL_NAME(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, -                            CONF_VALUE *cnf); +							CONF_VALUE *cnf);  GENERAL_NAME *v2i_GENERAL_NAME_ex(GENERAL_NAME *out, X509V3_EXT_METHOD *method, -                X509V3_CTX *ctx, CONF_VALUE *cnf, int is_nc); +				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); @@ -543,7 +545,7 @@ int X509V3_EXT_REQ_add_conf(LHASH *conf, X509V3_CTX *ctx, char *section, X509_RE  int X509V3_EXT_CRL_add_conf(LHASH *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); +						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); @@ -555,16 +557,16 @@ 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); +				 X509_REQ *req, X509_CRL *crl, int flags);  int X509V3_add_value(const char *name, const char *value, -                        STACK_OF(CONF_VALUE) **extlist); +						STACK_OF(CONF_VALUE) **extlist);  int X509V3_add_value_uchar(const char *name, const unsigned char *value, -                        STACK_OF(CONF_VALUE) **extlist); +						STACK_OF(CONF_VALUE) **extlist);  int X509V3_add_value_bool(const char *name, int asn1_bool, -                        STACK_OF(CONF_VALUE) **extlist); +						STACK_OF(CONF_VALUE) **extlist);  int X509V3_add_value_int(const char *name, ASN1_INTEGER *aint, -                        STACK_OF(CONF_VALUE) **extlist); +						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); @@ -590,7 +592,7 @@ unsigned char *string_to_hex(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 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); @@ -606,8 +608,8 @@ 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); +			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); @@ -617,12 +619,13 @@ int X509_PURPOSE_get_id(X509_PURPOSE *);  STACK *X509_get1_email(X509 *x);  STACK *X509_REQ_get1_email(X509_REQ *x);  void X509_email_free(STACK *sk); +STACK *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); +						unsigned long chtype);  void X509_POLICY_NODE_print(BIO *out, X509_POLICY_NODE *node, int indent); @@ -632,8 +635,8 @@ typedef struct ASRange_st {    ASN1_INTEGER *min, *max;  } ASRange; -#define ASIdOrRange_id      0 -#define ASIdOrRange_range   1 +#define	ASIdOrRange_id		0 +#define	ASIdOrRange_range	1  typedef struct ASIdOrRange_st {    int type; @@ -646,8 +649,8 @@ typedef struct ASIdOrRange_st {  typedef STACK_OF(ASIdOrRange) ASIdOrRanges;  DECLARE_STACK_OF(ASIdOrRange) -#define ASIdentifierChoice_inherit      0 -#define ASIdentifierChoice_asIdsOrRanges    1 +#define	ASIdentifierChoice_inherit		0 +#define	ASIdentifierChoice_asIdsOrRanges	1  typedef struct ASIdentifierChoice_st {    int type; @@ -668,37 +671,37 @@ DECLARE_ASN1_FUNCTIONS(ASIdentifiers)  typedef struct IPAddressRange_st { -  ASN1_BIT_STRING   *min, *max; +  ASN1_BIT_STRING	*min, *max;  } IPAddressRange; -#define IPAddressOrRange_addressPrefix  0 -#define IPAddressOrRange_addressRange   1 +#define	IPAddressOrRange_addressPrefix	0 +#define	IPAddressOrRange_addressRange	1  typedef struct IPAddressOrRange_st {    int type;    union { -    ASN1_BIT_STRING *addressPrefix; -    IPAddressRange  *addressRange; +    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 +#define	IPAddressChoice_inherit			0 +#define	IPAddressChoice_addressesOrRanges	1  typedef struct IPAddressChoice_st {    int type;    union { -    ASN1_NULL       *inherit; -    IPAddressOrRanges   *addressesOrRanges; +    ASN1_NULL		*inherit; +    IPAddressOrRanges	*addressesOrRanges;    } u;  } IPAddressChoice;  typedef struct IPAddressFamily_st { -  ASN1_OCTET_STRING *addressFamily; -  IPAddressChoice   *ipAddressChoice; +  ASN1_OCTET_STRING	*addressFamily; +  IPAddressChoice	*ipAddressChoice;  } IPAddressFamily;  typedef STACK_OF(IPAddressFamily) IPAddrBlocks; @@ -712,8 +715,8 @@ DECLARE_ASN1_FUNCTIONS(IPAddressFamily)  /*   * API tag for elements of the ASIdentifer SEQUENCE.   */ -#define V3_ASID_ASNUM   0 -#define V3_ASID_RDI 1 +#define	V3_ASID_ASNUM	0 +#define	V3_ASID_RDI	1  /*   * AFI values, assigned by IANA.  It'd be nice to make the AFI @@ -721,8 +724,8 @@ DECLARE_ASN1_FUNCTIONS(IPAddressFamily)   * 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 +#define	IANA_AFI_IPV4	1 +#define	IANA_AFI_IPV6	2  /*   * Utilities to construct and extract values from RFC3779 extensions, @@ -731,19 +734,19 @@ DECLARE_ASN1_FUNCTIONS(IPAddressFamily)   */  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); +			    ASN1_INTEGER *min, ASN1_INTEGER *max);  int v3_addr_add_inherit(IPAddrBlocks *addr, -            const unsigned afi, const unsigned *safi); +			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); +		       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); +		      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); +		      unsigned char *min, unsigned char *max, +		      const int length);  /*   * Canonical forms. @@ -767,11 +770,11 @@ int v3_addr_subset(IPAddrBlocks *a, IPAddrBlocks *b);  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); +				  ASIdentifiers *ext, +				  int allow_inheritance);  int v3_addr_validate_resource_set(STACK_OF(X509) *chain, -                  IPAddrBlocks *ext, -                  int allow_inheritance); +				  IPAddrBlocks *ext, +				  int allow_inheritance);  #endif /* OPENSSL_NO_RFC3779 */ @@ -784,137 +787,136 @@ void ERR_load_X509V3_strings(void);  /* Error codes for the X509V3 functions. */  /* Function codes. */ -#define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE         156 -#define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL     157 -#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_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_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           158 -#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_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 +#define X509V3_F_ASIDENTIFIERCHOICE_CANONIZE		 156 +#define X509V3_F_ASIDENTIFIERCHOICE_IS_CANONICAL	 157 +#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_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_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			 158 +#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_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_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_ASNUMBER            160 -#define X509V3_R_INVALID_ASRANGE             161 -#define X509V3_R_INVALID_BOOLEAN_STRING          104 -#define X509V3_R_INVALID_EXTENSION_STRING        105 -#define X509V3_R_INVALID_INHERITANCE             162 -#define X509V3_R_INVALID_IPADDRESS           163 -#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_ALREADTY_DEFINED    155 -#define X509V3_R_POLICY_PATH_LENGTH          156 -#define X509V3_R_POLICY_PATH_LENGTH_ALREADTY_DEFINED     157 -#define X509V3_R_POLICY_SYNTAX_NOT_CURRENTLY_SUPPORTED   158 +#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_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_ASNUMBER			 160 +#define X509V3_R_INVALID_ASRANGE			 161 +#define X509V3_R_INVALID_BOOLEAN_STRING			 104 +#define X509V3_R_INVALID_EXTENSION_STRING		 105 +#define X509V3_R_INVALID_INHERITANCE			 162 +#define X509V3_R_INVALID_IPADDRESS			 163 +#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_ALREADTY_DEFINED	 155 +#define X509V3_R_POLICY_PATH_LENGTH			 156 +#define X509V3_R_POLICY_PATH_LENGTH_ALREADTY_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_USER_TOO_LONG               132 +#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_USER_TOO_LONG				 132  #ifdef  __cplusplus  }  #endif  #endif -  | 
