New upstream release.

This commit is contained in:
Mathieu Trudel-Lapierre 2015-05-06 09:50:11 -04:00
commit 4c03444e7c
541 changed files with 3524 additions and 2061 deletions

View File

@ -6,8 +6,8 @@ index 68bc25a..1abe78e 100644
// BUG: hardcode OldSize == size! We have no any knowledge about // BUG: hardcode OldSize == size! We have no any knowledge about
// memory size of original pointer ptr. // memory size of original pointer ptr.
// //
- return ReallocatePool ((UINTN)size, (UINTN)size, ptr); - return ReallocatePool ((UINTN) size, (UINTN) size, ptr);
+ return ReallocatePool (ptr, (UINTN)size, (UINTN)size); + return ReallocatePool (ptr, (UINTN) size, (UINTN) size);
} }
/* De-allocates or frees a memory block */ /* De-allocates or frees a memory block */

View File

@ -35,6 +35,14 @@ typedef VOID *FILE;
// Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h // Map all va_xxxx elements to VA_xxx defined in MdePkg/Include/Base.h
// //
#if !defined(__CC_ARM) // if va_list is not already defined #if !defined(__CC_ARM) // if va_list is not already defined
/*
* These are now unconditionally #defined by GNU_EFI's efistdarg.h,
* so we should #undef them here before providing a new definition.
*/
#undef va_arg
#undef va_start
#undef va_end
#define va_list VA_LIST #define va_list VA_LIST
#define va_arg VA_ARG #define va_arg VA_ARG
#define va_start VA_START #define va_start VA_START

View File

@ -511,6 +511,8 @@ BIGNUM *BN_mod_inverse(BIGNUM *ret,
BIGNUM *BN_mod_sqrt(BIGNUM *ret, BIGNUM *BN_mod_sqrt(BIGNUM *ret,
const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx); const BIGNUM *a, const BIGNUM *n,BN_CTX *ctx);
void BN_consttime_swap(BN_ULONG swap, BIGNUM *a, BIGNUM *b, int nwords);
/* Deprecated versions */ /* Deprecated versions */
#ifndef OPENSSL_NO_DEPRECATED #ifndef OPENSSL_NO_DEPRECATED
BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int safe, BIGNUM *BN_generate_prime(BIGNUM *ret,int bits,int safe,
@ -740,11 +742,20 @@ int RAND_pseudo_bytes(unsigned char *buf,int num);
#define bn_fix_top(a) bn_check_top(a) #define bn_fix_top(a) bn_check_top(a)
#define bn_check_size(bn, bits) bn_wcheck_size(bn, ((bits+BN_BITS2-1))/BN_BITS2)
#define bn_wcheck_size(bn, words) \
do { \
const BIGNUM *_bnum2 = (bn); \
assert(words <= (_bnum2)->dmax && words >= (_bnum2)->top); \
} while(0)
#else /* !BN_DEBUG */ #else /* !BN_DEBUG */
#define bn_pollute(a) #define bn_pollute(a)
#define bn_check_top(a) #define bn_check_top(a)
#define bn_fix_top(a) bn_correct_top(a) #define bn_fix_top(a) bn_correct_top(a)
#define bn_check_size(bn, bits)
#define bn_wcheck_size(bn, words)
#endif #endif

View File

@ -235,15 +235,15 @@ typedef struct openssl_item_st
#ifndef OPENSSL_NO_LOCKING #ifndef OPENSSL_NO_LOCKING
#ifndef CRYPTO_w_lock #ifndef CRYPTO_w_lock
#define CRYPTO_w_lock(type) \ #define CRYPTO_w_lock(type) \
CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) CRYPTO_lock(CRYPTO_LOCK|CRYPTO_WRITE,type,NULL,0)
#define CRYPTO_w_unlock(type) \ #define CRYPTO_w_unlock(type) \
CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,__FILE__,__LINE__) CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_WRITE,type,NULL,0)
#define CRYPTO_r_lock(type) \ #define CRYPTO_r_lock(type) \
CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,__FILE__,__LINE__) CRYPTO_lock(CRYPTO_LOCK|CRYPTO_READ,type,NULL,0)
#define CRYPTO_r_unlock(type) \ #define CRYPTO_r_unlock(type) \
CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,__FILE__,__LINE__) CRYPTO_lock(CRYPTO_UNLOCK|CRYPTO_READ,type,NULL,0)
#define CRYPTO_add(addr,amount,type) \ #define CRYPTO_add(addr,amount,type) \
CRYPTO_add_lock(addr,amount,type,__FILE__,__LINE__) CRYPTO_add_lock(addr,amount,type,NULL,0)
#endif #endif
#else #else
#define CRYPTO_w_lock(a) #define CRYPTO_w_lock(a)
@ -361,19 +361,19 @@ int CRYPTO_is_mem_check_on(void);
#define MemCheck_off() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE) #define MemCheck_off() CRYPTO_mem_ctrl(CRYPTO_MEM_CHECK_DISABLE)
#define is_MemCheck_on() CRYPTO_is_mem_check_on() #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,NULL,0)
#define OPENSSL_strdup(str) CRYPTO_strdup((str),__FILE__,__LINE__) #define OPENSSL_strdup(str) CRYPTO_strdup((str),NULL,0)
#define OPENSSL_realloc(addr,num) \ #define OPENSSL_realloc(addr,num) \
CRYPTO_realloc((char *)addr,(int)num,__FILE__,__LINE__) CRYPTO_realloc((char *)addr,(int)num,NULL,0)
#define OPENSSL_realloc_clean(addr,old_num,num) \ #define OPENSSL_realloc_clean(addr,old_num,num) \
CRYPTO_realloc_clean(addr,old_num,num,__FILE__,__LINE__) CRYPTO_realloc_clean(addr,old_num,num,NULL,0)
#define OPENSSL_remalloc(addr,num) \ #define OPENSSL_remalloc(addr,num) \
CRYPTO_remalloc((char **)addr,(int)num,__FILE__,__LINE__) CRYPTO_remalloc((char **)addr,(int)num,NULL,0)
#define OPENSSL_freeFunc CRYPTO_free #define OPENSSL_freeFunc CRYPTO_free
#define OPENSSL_free(addr) CRYPTO_free(addr) #define OPENSSL_free(addr) CRYPTO_free(addr)
#define OPENSSL_malloc_locked(num) \ #define OPENSSL_malloc_locked(num) \
CRYPTO_malloc_locked((int)num,__FILE__,__LINE__) CRYPTO_malloc_locked((int)num,NULL,0)
#define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr) #define OPENSSL_free_locked(addr) CRYPTO_free_locked(addr)
@ -487,7 +487,7 @@ void CRYPTO_set_mem_debug_options(long bits);
long CRYPTO_get_mem_debug_options(void); long CRYPTO_get_mem_debug_options(void);
#define CRYPTO_push_info(info) \ #define CRYPTO_push_info(info) \
CRYPTO_push_info_(info, __FILE__, __LINE__); CRYPTO_push_info_(info, NULL, 0);
int CRYPTO_push_info_(const char *info, const char *file, int line); int CRYPTO_push_info_(const char *info, const char *file, int line);
int CRYPTO_pop_info(void); int CRYPTO_pop_info(void);
int CRYPTO_remove_all_info(void); int CRYPTO_remove_all_info(void);
@ -528,17 +528,17 @@ void CRYPTO_mem_leaks_cb(CRYPTO_MEM_LEAK_CB *cb);
/* die if we have to */ /* die if we have to */
void OpenSSLDie(const char *file,int line,const char *assertion); void OpenSSLDie(const char *file,int line,const char *assertion);
#define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(__FILE__, __LINE__, #e),1)) #define OPENSSL_assert(e) (void)((e) ? 0 : (OpenSSLDie(NULL, 0, #e),1))
unsigned long *OPENSSL_ia32cap_loc(void); unsigned long *OPENSSL_ia32cap_loc(void);
#define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc())) #define OPENSSL_ia32cap (*(OPENSSL_ia32cap_loc()))
int OPENSSL_isservice(void); int OPENSSL_isservice(void);
#ifdef OPENSSL_FIPS #ifdef OPENSSL_FIPS
#define FIPS_ERROR_IGNORED(alg) OpenSSLDie(__FILE__, __LINE__, \ #define FIPS_ERROR_IGNORED(alg) OpenSSLDie(NULL, 0, \
alg " previous FIPS forbidden algorithm error ignored"); alg " previous FIPS forbidden algorithm error ignored");
#define FIPS_BAD_ABORT(alg) OpenSSLDie(__FILE__, __LINE__, \ #define FIPS_BAD_ABORT(alg) OpenSSLDie(NULL, 0, \
#alg " Algorithm forbidden in FIPS mode"); #alg " Algorithm forbidden in FIPS mode");
#ifdef OPENSSL_FIPS_STRICT #ifdef OPENSSL_FIPS_STRICT
@ -591,6 +591,13 @@ int OPENSSL_isservice(void);
#define OPENSSL_HAVE_INIT 1 #define OPENSSL_HAVE_INIT 1
void OPENSSL_init(void); void OPENSSL_init(void);
/* CRYPTO_memcmp returns zero iff the |len| bytes at |a| and |b| are equal. It
* takes an amount of time dependent on |len|, but independent of the contents
* of |a| and |b|. Unlike memcmp, it cannot be used to put elements into a
* defined order as the return value when a != b is undefined, other than to be
* non-zero. */
int CRYPTO_memcmp(const void *a, const void *b, size_t len);
/* BEGIN ERROR CODES */ /* BEGIN ERROR CODES */
/* The following lines are auto generated by the script mkerr.pl. Any changes /* 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. * made after this point may be overwritten when the script is next run.

View File

@ -321,7 +321,15 @@ void EC_KEY_set_conv_form(EC_KEY *, point_conversion_form_t);
/* functions to set/get method specific data */ /* functions to set/get method specific data */
void *EC_KEY_get_key_method_data(EC_KEY *, void *EC_KEY_get_key_method_data(EC_KEY *,
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 *));
void EC_KEY_insert_key_method_data(EC_KEY *, void *data, /** Sets the key method data of an EC_KEY object, if none has yet been set.
* \param key EC_KEY object
* \param data opaque data to install.
* \param dup_func a function that duplicates |data|.
* \param free_func a function that frees |data|.
* \param clear_free_func a function that wipes and frees |data|.
* \return the previously set data pointer, or NULL if |data| was inserted.
*/
void *EC_KEY_insert_key_method_data(EC_KEY *key, void *data,
void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *)); void *(*dup_func)(void *), void (*free_func)(void *), void (*clear_free_func)(void *));
/* wrapper functions for the underlying EC_GROUP object */ /* wrapper functions for the underlying EC_GROUP object */
void EC_KEY_set_asn1_flag(EC_KEY *, int); void EC_KEY_set_asn1_flag(EC_KEY *, int);

View File

@ -335,15 +335,15 @@ void ENGINE_load_gmp(void);
void ENGINE_load_nuron(void); void ENGINE_load_nuron(void);
void ENGINE_load_sureware(void); void ENGINE_load_sureware(void);
void ENGINE_load_ubsec(void); void ENGINE_load_ubsec(void);
#endif
void ENGINE_load_cryptodev(void);
void ENGINE_load_padlock(void);
void ENGINE_load_builtin_engines(void);
#ifdef OPENSSL_SYS_WIN32 #ifdef OPENSSL_SYS_WIN32
#ifndef OPENSSL_NO_CAPIENG #ifndef OPENSSL_NO_CAPIENG
void ENGINE_load_capi(void); void ENGINE_load_capi(void);
#endif #endif
#endif #endif
#endif
void ENGINE_load_cryptodev(void);
void ENGINE_load_padlock(void);
void ENGINE_load_builtin_engines(void);
/* Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation /* Get and set global flags (ENGINE_TABLE_FLAG_***) for the implementation
* "registry" handling. */ * "registry" handling. */

View File

@ -25,11 +25,11 @@
* (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for * (Prior to 0.9.5a beta1, a different scheme was used: MMNNFFRBB for
* major minor fix final patch/beta) * major minor fix final patch/beta)
*/ */
#define OPENSSL_VERSION_NUMBER 0x0090817fL #define OPENSSL_VERSION_NUMBER 0x009081afL
#ifdef OPENSSL_FIPS #ifdef OPENSSL_FIPS
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8w-fips 23 Apr 2012" #define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8za-fips 5 Jun 2014"
#else #else
#define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8w 23 Apr 2012" #define OPENSSL_VERSION_TEXT "OpenSSL 0.9.8za 5 Jun 2014"
#endif #endif
#define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT #define OPENSSL_VERSION_PTEXT " part of " OPENSSL_VERSION_TEXT

View File

@ -490,11 +490,14 @@ typedef struct ssl_session_st
#define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L #define SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG 0x00000008L
#define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x00000010L #define SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG 0x00000010L
#define SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER 0x00000020L #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_SAFARI_ECDHE_ECDSA_BUG 0x00000040L
#define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x00000080L #define SSL_OP_SSLEAY_080_CLIENT_DH_BUG 0x00000080L
#define SSL_OP_TLS_D5_BUG 0x00000100L #define SSL_OP_TLS_D5_BUG 0x00000100L
#define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L #define SSL_OP_TLS_BLOCK_PADDING_BUG 0x00000200L
/* Hasn't done anything since OpenSSL 0.9.7h, retained for compatibility */
#define SSL_OP_MSIE_SSLV2_RSA_PADDING 0x0
/* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added /* Disable SSL 3.0/TLS 1.0 CBC vulnerability workaround that was added
* in OpenSSL 0.9.6d. Usually (depending on the application protocol) * in OpenSSL 0.9.6d. Usually (depending on the application protocol)
* the workaround is not needed. Unfortunately some broken SSL/TLS * the workaround is not needed. Unfortunately some broken SSL/TLS
@ -1204,6 +1207,8 @@ size_t SSL_get_peer_finished(const SSL *s, void *buf, size_t count);
#define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE #define SSL_AD_CERTIFICATE_UNOBTAINABLE TLS1_AD_CERTIFICATE_UNOBTAINABLE
#define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME #define SSL_AD_UNRECOGNIZED_NAME TLS1_AD_UNRECOGNIZED_NAME
#define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE #define SSL_AD_BAD_CERTIFICATE_STATUS_RESPONSE TLS1_AD_BAD_CERTIFICATE_STATUS_RESPONSE
#define SSL_AD_BAD_CERTIFICATE_HASH_VALUE TLS1_AD_BAD_CERTIFICATE_HASH_VALUE
#define SSL_AD_UNKNOWN_PSK_IDENTITY TLS1_AD_UNKNOWN_PSK_IDENTITY /* fatal */
#define SSL_ERROR_NONE 0 #define SSL_ERROR_NONE 0
#define SSL_ERROR_SSL 1 #define SSL_ERROR_SSL 1
@ -1820,6 +1825,7 @@ void ERR_load_SSL_strings(void);
#define SSL_F_SSL_GET_NEW_SESSION 181 #define SSL_F_SSL_GET_NEW_SESSION 181
#define SSL_F_SSL_GET_PREV_SESSION 217 #define SSL_F_SSL_GET_PREV_SESSION 217
#define SSL_F_SSL_GET_SERVER_SEND_CERT 182 #define SSL_F_SSL_GET_SERVER_SEND_CERT 182
#define SSL_F_SSL_GET_SERVER_SEND_PKEY 317
#define SSL_F_SSL_GET_SIGN_PKEY 183 #define SSL_F_SSL_GET_SIGN_PKEY 183
#define SSL_F_SSL_INIT_WBIO_BUFFER 184 #define SSL_F_SSL_INIT_WBIO_BUFFER 184
#define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185 #define SSL_F_SSL_LOAD_CLIENT_CA_FILE 185
@ -2073,6 +2079,11 @@ void ERR_load_SSL_strings(void);
#define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022 #define SSL_R_TLSV1_ALERT_RECORD_OVERFLOW 1022
#define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048 #define SSL_R_TLSV1_ALERT_UNKNOWN_CA 1048
#define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090 #define SSL_R_TLSV1_ALERT_USER_CANCELLED 1090
#define SSL_R_TLSV1_BAD_CERTIFICATE_HASH_VALUE 1114
#define SSL_R_TLSV1_BAD_CERTIFICATE_STATUS_RESPONSE 1113
#define SSL_R_TLSV1_CERTIFICATE_UNOBTAINABLE 1111
#define SSL_R_TLSV1_UNRECOGNIZED_NAME 1112
#define SSL_R_TLSV1_UNSUPPORTED_EXTENSION 1110
#define SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER 232 #define SSL_R_TLS_CLIENT_CERT_REQ_WITH_ANON_CIPHER 232
#define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 227 #define SSL_R_TLS_INVALID_ECPOINTFORMAT_LIST 227
#define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233 #define SSL_R_TLS_PEER_DID_NOT_RESPOND_WITH_CERTIFICATE_LIST 233

View File

@ -333,6 +333,7 @@ typedef struct ssl3_buffer_st
#define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002 #define SSL3_FLAGS_DELAY_CLIENT_FINISHED 0x0002
#define SSL3_FLAGS_POP_BUFFER 0x0004 #define SSL3_FLAGS_POP_BUFFER 0x0004
#define TLS1_FLAGS_TLS_PADDING_BUG 0x0008 #define TLS1_FLAGS_TLS_PADDING_BUG 0x0008
#define SSL3_FLAGS_CCS_OK 0x0080
/* SSL3_FLAGS_SGC_RESTART_DONE is set when we /* SSL3_FLAGS_SGC_RESTART_DONE is set when we
* restart a handshake because of MS SGC and so prevents us * restart a handshake because of MS SGC and so prevents us
@ -460,6 +461,15 @@ typedef struct ssl3_state_st
unsigned char previous_server_finished[EVP_MAX_MD_SIZE]; unsigned char previous_server_finished[EVP_MAX_MD_SIZE];
unsigned char previous_server_finished_len; unsigned char previous_server_finished_len;
int send_connection_binding; /* TODOEKR */ int send_connection_binding; /* TODOEKR */
#ifndef OPENSSL_NO_TLSEXT
#ifndef OPENSSL_NO_EC
/* This is set to true if we believe that this is a version of Safari
* running on OS X 10.6 or newer. We wish to know this because Safari
* on 10.8 .. 10.8.3 has broken ECDHE-ECDSA support. */
char is_probably_safari;
#endif /* !OPENSSL_NO_EC */
#endif /* !OPENSSL_NO_TLSEXT */
} SSL3_STATE; } SSL3_STATE;

View File

@ -252,15 +252,15 @@
#define EC_POINT_set_compressed_coordinates_GF2m \ #define EC_POINT_set_compressed_coordinates_GF2m \
EC_POINT_set_compr_coords_GF2m EC_POINT_set_compr_coords_GF2m
#undef ec_GF2m_simple_group_clear_finish #undef ec_GF2m_simple_group_clear_finish
#define ec_GF2m_simple_group_clear_finish ec_GF2m_simple_grp_clr_finish #define ec_GF2m_simple_group_clear_finish ec_GF2m_simple_grp_clr_finish
#undef ec_GF2m_simple_group_check_discriminant #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 #undef ec_GF2m_simple_point_clear_finish
#define ec_GF2m_simple_point_clear_finish ec_GF2m_simple_pt_clr_finish #define ec_GF2m_simple_point_clear_finish ec_GF2m_simple_pt_clr_finish
#undef ec_GF2m_simple_point_set_to_infinity #undef ec_GF2m_simple_point_set_to_infinity
#define ec_GF2m_simple_point_set_to_infinity ec_GF2m_simple_pt_set_to_inf #define ec_GF2m_simple_point_set_to_infinity ec_GF2m_simple_pt_set_to_inf
#undef ec_GF2m_simple_points_make_affine #undef ec_GF2m_simple_points_make_affine
#define ec_GF2m_simple_points_make_affine ec_GF2m_simple_pts_make_affine #define ec_GF2m_simple_points_make_affine ec_GF2m_simple_pts_make_affine
#undef ec_GF2m_simple_point_set_affine_coordinates #undef ec_GF2m_simple_point_set_affine_coordinates
#define ec_GF2m_simple_point_set_affine_coordinates \ #define ec_GF2m_simple_point_set_affine_coordinates \
ec_GF2m_smp_pt_set_af_coords ec_GF2m_smp_pt_set_af_coords
@ -288,8 +288,6 @@
#define ec_GFp_simple_point_set_to_infinity ec_GFp_simple_pt_set_to_inf #define ec_GFp_simple_point_set_to_infinity ec_GFp_simple_pt_set_to_inf
#undef ec_GFp_simple_points_make_affine #undef ec_GFp_simple_points_make_affine
#define ec_GFp_simple_points_make_affine ec_GFp_simple_pts_make_affine #define ec_GFp_simple_points_make_affine ec_GFp_simple_pts_make_affine
#undef ec_GFp_simple_group_get_curve_GFp
#define ec_GFp_simple_group_get_curve_GFp ec_GFp_simple_grp_get_curve_GFp
#undef ec_GFp_simple_set_Jprojective_coordinates_GFp #undef ec_GFp_simple_set_Jprojective_coordinates_GFp
#define ec_GFp_simple_set_Jprojective_coordinates_GFp \ #define ec_GFp_simple_set_Jprojective_coordinates_GFp \
ec_GFp_smp_set_Jproj_coords_GFp ec_GFp_smp_set_Jproj_coords_GFp

View File

@ -80,10 +80,24 @@ extern "C" {
#define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0 #define TLS1_ALLOW_EXPERIMENTAL_CIPHERSUITES 0
#define TLS1_2_VERSION 0x0303
#define TLS1_2_VERSION_MAJOR 0x03
#define TLS1_2_VERSION_MINOR 0x03
#define TLS1_1_VERSION 0x0302
#define TLS1_1_VERSION_MAJOR 0x03
#define TLS1_1_VERSION_MINOR 0x02
#define TLS1_VERSION 0x0301 #define TLS1_VERSION 0x0301
#define TLS1_VERSION_MAJOR 0x03 #define TLS1_VERSION_MAJOR 0x03
#define TLS1_VERSION_MINOR 0x01 #define TLS1_VERSION_MINOR 0x01
#define TLS1_get_version(s) \
((s->version >> 8) == TLS1_VERSION_MAJOR ? s->version : 0)
#define TLS1_get_client_version(s) \
((s->client_version >> 8) == TLS1_VERSION_MAJOR ? s->client_version : 0)
#define TLS1_AD_DECRYPTION_FAILED 21 #define TLS1_AD_DECRYPTION_FAILED 21
#define TLS1_AD_RECORD_OVERFLOW 22 #define TLS1_AD_RECORD_OVERFLOW 22
#define TLS1_AD_UNKNOWN_CA 48 /* fatal */ #define TLS1_AD_UNKNOWN_CA 48 /* fatal */

View File

@ -1,18 +1,15 @@
ARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
LIB_PATH = /usr/lib64 EFI_INCLUDES = -IInclude -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
EFI_INCLUDE = /usr/include/efi
EFI_INCLUDES = -nostdinc -IInclude -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
EFI_PATH = /usr/lib64/gnuefi
LIB_GCC = $(shell $(CC) -print-libgcc-file-name)
EFI_LIBS = -lefi -lgnuefi $(LIB_GCC)
CFLAGS = -ggdb -O0 -I. -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \ CFLAGS = -ggdb -O0 -I. -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar \
-Wall $(EFI_INCLUDES) -mno-red-zone -maccumulate-outgoing-args -mno-sse -mno-mmx -Wall $(EFI_INCLUDES)
ifeq ($(ARCH),x86_64) ifeq ($(ARCH),x86_64)
CFLAGS += -DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args \
-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI
endif
ifeq ($(ARCH),ia32)
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -nostdinc -maccumulate-outgoing-args -m32
endif endif
LDFLAGS = -nostdlib -znocombreloc LDFLAGS = -nostdlib -znocombreloc
@ -28,9 +25,10 @@ OBJS = Hash/CryptMd4.o \
Cipher/CryptArc4.o \ Cipher/CryptArc4.o \
Rand/CryptRand.o \ Rand/CryptRand.o \
Pk/CryptRsaBasic.o \ Pk/CryptRsaBasic.o \
Pk/CryptRsaExt.o \ Pk/CryptRsaExtNull.o \
Pk/CryptPkcs7.o \ Pk/CryptPkcs7SignNull.o \
Pk/CryptDh.o \ Pk/CryptPkcs7Verify.o \
Pk/CryptDhNull.o \
Pk/CryptX509.o \ Pk/CryptX509.o \
Pk/CryptAuthenticode.o \ Pk/CryptAuthenticode.o \
Pem/CryptPem.o \ Pem/CryptPem.o \

View File

@ -1,18 +1,22 @@
ARCH = $(shell uname -m | sed s,i[3456789]86,ia32,)
LIB_PATH = /usr/lib64
EFI_INCLUDE = /usr/include/efi
EFI_INCLUDES = -I../Include -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol EFI_INCLUDES = -I../Include -I$(EFI_INCLUDE) -I$(EFI_INCLUDE)/$(ARCH) -I$(EFI_INCLUDE)/protocol
EFI_PATH = /usr/lib64/gnuefi
LIB_GCC = $(shell $(CC) -print-libgcc-file-name) CFLAGS = -ggdb -O0 -I. -I.. -I../Include/ -Icrypto -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar -nostdinc \
EFI_LIBS = -lefi -lgnuefi $(LIB_GCC) -Wall $(EFI_INCLUDES) -DOPENSSL_SYSNAME_UWIN -DOPENSSL_SYS_UEFI -DL_ENDIAN -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -DGETPID_IS_MEANINGLESS -DOPENSSL_NO_STDIO -DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_SHA0 -DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING -DOPENSSL_NO_DEPRECATED -DOPENSSL_SMALL_FOOTPRINT -DPEDANTIC
CFLAGS = -ggdb -O0 -I. -I.. -I../Include/ -Icrypto -fno-stack-protector -fno-strict-aliasing -fpic -fshort-wchar -nostdinc -mno-mmx -mno-sse -mno-red-zone -maccumulate-outgoing-args \
-Wall $(EFI_INCLUDES) -DOPENSSL_SYSNAME_UWIN -DOPENSSL_SYS_UEFI -DL_ENDIAN -DSIXTY_FOUR_BIT_LONG -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE -DOPENSSL_NO_CAMELLIA -DOPENSSL_NO_SEED -DOPENSSL_NO_RC5 -DOPENSSL_NO_MDC2 -DOPENSSL_NO_SOCK -DOPENSSL_NO_CMS -DOPENSSL_NO_JPAKE -DOPENSSL_NO_CAPIENG -DOPENSSL_NO_ERR -DOPENSSL_NO_KRB5 -DOPENSSL_NO_DYNAMIC_ENGINE -DGETPID_IS_MEANINGLESS -DOPENSSL_NO_STDIO -DOPENSSL_NO_FP_API -DOPENSSL_NO_DGRAM -DOPENSSL_NO_SHA0 -DOPENSSL_NO_LHASH -DOPENSSL_NO_HW -DOPENSSL_NO_OCSP -DOPENSSL_NO_LOCKING -DOPENSSL_NO_DEPRECATED -DOPENSSL_SMALL_FOOTPRINT -DPEDANTIC
ifeq ($(ARCH),x86_64) ifeq ($(ARCH),x86_64)
CFLAGS += -DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI CFLAGS += -mno-mmx -mno-sse -mno-red-zone -maccumulate-outgoing-args \
-DEFI_FUNCTION_WRAPPER -DGNU_EFI_USE_MS_ABI -DSIXTY_FOUR_BIT_LONG
endif
ifeq ($(ARCH),ia32)
CFLAGS += -mno-mmx -mno-sse -mno-red-zone -maccumulate-outgoing-args \
-m32 -DTHIRTY_TWO_BIT
endif
ifeq ($(ARCH),aarch64)
CFLAGS += -O2 -DSIXTY_FOUR_BIT_LONG -ffreestanding -I$(shell $(CC) -print-file-name=include)
endif
ifeq ($(ARCH),arm)
CFLAGS += -O2 -DTHIRTY_TWO_BIT -ffreestanding -I$(shell $(CC) -print-file-name=include)
endif endif
LDFLAGS = -nostdlib -znocombreloc LDFLAGS = -nostdlib -znocombreloc

0
Cryptlib/OpenSSL/crypto/aes/aes_cbc.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/aes/aes_cfb.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/aes/aes_core.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/aes/aes_ctr.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/aes/aes_ecb.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/aes/aes_ige.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/aes/aes_misc.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/aes/aes_ofb.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/aes/aes_wrap.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_bitstr.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_bool.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_bytes.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_d2i_fp.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_digest.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_dup.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_enum.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_gentm.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_hdr.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_i2d_fp.c Executable file → Normal file
View File

2
Cryptlib/OpenSSL/crypto/asn1/a_int.c Executable file → Normal file
View File

@ -116,7 +116,7 @@ int i2c_ASN1_INTEGER(ASN1_INTEGER *a, unsigned char **pp)
int pad=0,ret,i,neg; int pad=0,ret,i,neg;
unsigned char *p,*n,pb=0; unsigned char *p,*n,pb=0;
if ((a == NULL) || (a->data == NULL)) return(0); if (a == NULL) return(0);
neg=a->type & V_ASN1_NEG; neg=a->type & V_ASN1_NEG;
if (a->length == 0) if (a->length == 0)
ret=1; ret=1;

0
Cryptlib/OpenSSL/crypto/asn1/a_mbstr.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_meth.c Executable file → Normal file
View File

30
Cryptlib/OpenSSL/crypto/asn1/a_object.c Executable file → Normal file
View File

@ -285,16 +285,28 @@ err:
ASN1_OBJECT_free(ret); ASN1_OBJECT_free(ret);
return(NULL); return(NULL);
} }
ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp, ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp,
long len) long len)
{ {
ASN1_OBJECT *ret=NULL; ASN1_OBJECT *ret=NULL;
const unsigned char *p; const unsigned char *p;
int i; int i, length;
/* Sanity check OID encoding: can't have leading 0x80 in
* subidentifiers, see: X.690 8.19.2 /* Sanity check OID encoding.
* Need at least one content octet.
* MSB must be clear in the last octet.
* can't have leading 0x80 in subidentifiers, see: X.690 8.19.2
*/ */
for (i = 0, p = *pp; i < len; i++, p++) if (len <= 0 || len > INT_MAX || pp == NULL || (p = *pp) == NULL ||
p[len - 1] & 0x80)
{
ASN1err(ASN1_F_C2I_ASN1_OBJECT,ASN1_R_INVALID_OBJECT_ENCODING);
return NULL;
}
/* Now 0 < len <= INT_MAX, so the cast is safe. */
length = (int)len;
for (i = 0; i < length; i++, p++)
{ {
if (*p == 0x80 && (!i || !(p[-1] & 0x80))) if (*p == 0x80 && (!i || !(p[-1] & 0x80)))
{ {
@ -313,20 +325,20 @@ ASN1_OBJECT *c2i_ASN1_OBJECT(ASN1_OBJECT **a, const unsigned char **pp,
else ret=(*a); else ret=(*a);
p= *pp; p= *pp;
if ((ret->data == NULL) || (ret->length < len)) if ((ret->data == NULL) || (ret->length < length))
{ {
if (ret->data != NULL) OPENSSL_free(ret->data); if (ret->data != NULL) OPENSSL_free(ret->data);
ret->data=(unsigned char *)OPENSSL_malloc(len ? (int)len : 1); ret->data=(unsigned char *)OPENSSL_malloc(length);
ret->flags|=ASN1_OBJECT_FLAG_DYNAMIC_DATA; ret->flags|=ASN1_OBJECT_FLAG_DYNAMIC_DATA;
if (ret->data == NULL) if (ret->data == NULL)
{ i=ERR_R_MALLOC_FAILURE; goto err; } { i=ERR_R_MALLOC_FAILURE; goto err; }
} }
memcpy(ret->data,p,(int)len); memcpy(ret->data,p,length);
ret->length=(int)len; ret->length=length;
ret->sn=NULL; ret->sn=NULL;
ret->ln=NULL; ret->ln=NULL;
/* ret->flags=ASN1_OBJECT_FLAG_DYNAMIC; we know it is dynamic */ /* ret->flags=ASN1_OBJECT_FLAG_DYNAMIC; we know it is dynamic */
p+=len; p+=length;
if (a != NULL) (*a)=ret; if (a != NULL) (*a)=ret;
*pp=p; *pp=p;

0
Cryptlib/OpenSSL/crypto/asn1/a_octet.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_print.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_set.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_sign.c Executable file → Normal file
View File

1
Cryptlib/OpenSSL/crypto/asn1/a_strex.c Executable file → Normal file
View File

@ -567,6 +567,7 @@ int ASN1_STRING_to_UTF8(unsigned char **out, ASN1_STRING *in)
if(mbflag == -1) return -1; if(mbflag == -1) return -1;
mbflag |= MBSTRING_FLAG; mbflag |= MBSTRING_FLAG;
stmp.data = NULL; stmp.data = NULL;
stmp.length = 0;
ret = ASN1_mbstring_copy(&str, in->data, in->length, mbflag, B_ASN1_UTF8STRING); ret = ASN1_mbstring_copy(&str, in->data, in->length, mbflag, B_ASN1_UTF8STRING);
if(ret < 0) return ret; if(ret < 0) return ret;
*out = stmp.data; *out = stmp.data;

2
Cryptlib/OpenSSL/crypto/asn1/a_strnid.c Executable file → Normal file
View File

@ -75,7 +75,7 @@ static int table_cmp(const void *a, const void *b);
* certain software (e.g. Netscape) has problems with them. * certain software (e.g. Netscape) has problems with them.
*/ */
static unsigned long global_mask = 0xFFFFFFFFL; static unsigned long global_mask = B_ASN1_UTF8STRING;
void ASN1_STRING_set_default_mask(unsigned long mask) void ASN1_STRING_set_default_mask(unsigned long mask)
{ {

0
Cryptlib/OpenSSL/crypto/asn1/a_time.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_type.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_utctm.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/a_utf8.c Executable file → Normal file
View File

6
Cryptlib/OpenSSL/crypto/asn1/a_verify.c Executable file → Normal file
View File

@ -138,6 +138,12 @@ int ASN1_item_verify(const ASN1_ITEM *it, X509_ALGOR *a, ASN1_BIT_STRING *signat
unsigned char *buf_in=NULL; unsigned char *buf_in=NULL;
int ret= -1,i,inl; int ret= -1,i,inl;
if (!pkey)
{
ASN1err(ASN1_F_ASN1_ITEM_VERIFY, ERR_R_PASSED_NULL_PARAMETER);
return -1;
}
EVP_MD_CTX_init(&ctx); EVP_MD_CTX_init(&ctx);
i=OBJ_obj2nid(a->algorithm); i=OBJ_obj2nid(a->algorithm);
type=EVP_get_digestbyname(OBJ_nid2sn(i)); type=EVP_get_digestbyname(OBJ_nid2sn(i));

0
Cryptlib/OpenSSL/crypto/asn1/asn1_err.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/asn1_gen.c Executable file → Normal file
View File

3
Cryptlib/OpenSSL/crypto/asn1/asn1_lib.c Executable file → Normal file
View File

@ -131,6 +131,9 @@ int ASN1_get_object(const unsigned char **pp, long *plength, int *ptag,
*pclass=xclass; *pclass=xclass;
if (!asn1_get_length(&p,&inf,plength,(int)max)) goto err; if (!asn1_get_length(&p,&inf,plength,(int)max)) goto err;
if (inf && !(ret & V_ASN1_CONSTRUCTED))
goto err;
#if 0 #if 0
fprintf(stderr,"p=%d + *plength=%ld > omax=%ld + *pp=%d (%d > %d)\n", fprintf(stderr,"p=%d + *plength=%ld > omax=%ld + *pp=%d (%d > %d)\n",
(int)p,*plength,omax,(int)*pp,(int)(p+ *plength), (int)p,*plength,omax,(int)*pp,(int)(p+ *plength),

0
Cryptlib/OpenSSL/crypto/asn1/asn1_par.c Executable file → Normal file
View File

2
Cryptlib/OpenSSL/crypto/asn1/asn_mime.c Executable file → Normal file
View File

@ -595,6 +595,8 @@ static STACK_OF(MIME_HEADER) *mime_parse_hdr(BIO *bio)
int len, state, save_state = 0; int len, state, save_state = 0;
headers = sk_MIME_HEADER_new(mime_hdr_cmp); headers = sk_MIME_HEADER_new(mime_hdr_cmp);
if (!headers)
return NULL;
while ((len = BIO_gets(bio, linebuf, MAX_SMLEN)) > 0) { while ((len = BIO_gets(bio, linebuf, MAX_SMLEN)) > 0) {
/* If whitespace at line start then continuation line */ /* If whitespace at line start then continuation line */
if(mhdr && isspace((unsigned char)linebuf[0])) state = MIME_NAME; if(mhdr && isspace((unsigned char)linebuf[0])) state = MIME_NAME;

0
Cryptlib/OpenSSL/crypto/asn1/asn_moid.c Executable file → Normal file
View File

12
Cryptlib/OpenSSL/crypto/asn1/asn_pack.c Executable file → Normal file
View File

@ -134,15 +134,23 @@ ASN1_STRING *ASN1_pack_string(void *obj, i2d_of_void *i2d, ASN1_STRING **oct)
if (!(octmp->length = i2d(obj, NULL))) { if (!(octmp->length = i2d(obj, NULL))) {
ASN1err(ASN1_F_ASN1_PACK_STRING,ASN1_R_ENCODE_ERROR); ASN1err(ASN1_F_ASN1_PACK_STRING,ASN1_R_ENCODE_ERROR);
return NULL; goto err;
} }
if (!(p = OPENSSL_malloc (octmp->length))) { if (!(p = OPENSSL_malloc (octmp->length))) {
ASN1err(ASN1_F_ASN1_PACK_STRING,ERR_R_MALLOC_FAILURE); ASN1err(ASN1_F_ASN1_PACK_STRING,ERR_R_MALLOC_FAILURE);
return NULL; goto err;
} }
octmp->data = p; octmp->data = p;
i2d (obj, &p); i2d (obj, &p);
return octmp; return octmp;
err:
if (!oct || !*oct)
{
ASN1_STRING_free(octmp);
if (oct)
*oct = NULL;
}
return NULL;
} }
#endif #endif

0
Cryptlib/OpenSSL/crypto/asn1/d2i_pr.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/d2i_pu.c Executable file → Normal file
View File

6
Cryptlib/OpenSSL/crypto/asn1/evp_asn1.c Executable file → Normal file
View File

@ -66,7 +66,11 @@ int ASN1_TYPE_set_octetstring(ASN1_TYPE *a, unsigned char *data, int len)
ASN1_STRING *os; ASN1_STRING *os;
if ((os=M_ASN1_OCTET_STRING_new()) == NULL) return(0); if ((os=M_ASN1_OCTET_STRING_new()) == NULL) return(0);
if (!M_ASN1_OCTET_STRING_set(os,data,len)) return(0); if (!M_ASN1_OCTET_STRING_set(os,data,len))
{
M_ASN1_OCTET_STRING_free(os);
return 0;
}
ASN1_TYPE_set(a,V_ASN1_OCTET_STRING,os); ASN1_TYPE_set(a,V_ASN1_OCTET_STRING,os);
return(1); return(1);
} }

0
Cryptlib/OpenSSL/crypto/asn1/f_enum.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/f_int.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/f_string.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/i2d_pr.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/i2d_pu.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/n_pkey.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/nsseq.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/p5_pbe.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/p5_pbev2.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/p8_pkey.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/t_bitst.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/t_crl.c Executable file → Normal file
View File

5
Cryptlib/OpenSSL/crypto/asn1/t_pkey.c Executable file → Normal file
View File

@ -208,11 +208,6 @@ int DSA_print(BIO *bp, const DSA *x, int off)
if (x->p) if (x->p)
buf_len = (size_t)BN_num_bytes(x->p); buf_len = (size_t)BN_num_bytes(x->p);
else
{
DSAerr(DSA_F_DSA_PRINT,DSA_R_MISSING_PARAMETERS);
goto err;
}
if (x->q) if (x->q)
if (buf_len < (i = (size_t)BN_num_bytes(x->q))) if (buf_len < (i = (size_t)BN_num_bytes(x->q)))
buf_len = i; buf_len = i;

0
Cryptlib/OpenSSL/crypto/asn1/t_req.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/t_spki.c Executable file → Normal file
View File

2
Cryptlib/OpenSSL/crypto/asn1/t_x509.c Executable file → Normal file
View File

@ -465,6 +465,8 @@ int X509_NAME_print(BIO *bp, X509_NAME *name, int obase)
l=80-2-obase; l=80-2-obase;
b=X509_NAME_oneline(name,NULL,0); b=X509_NAME_oneline(name,NULL,0);
if (!b)
return 0;
if (!*b) if (!*b)
{ {
OPENSSL_free(b); OPENSSL_free(b);

0
Cryptlib/OpenSSL/crypto/asn1/t_x509a.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/tasn_dec.c Executable file → Normal file
View File

9
Cryptlib/OpenSSL/crypto/asn1/tasn_enc.c Executable file → Normal file
View File

@ -453,9 +453,14 @@ static int asn1_set_seq_out(STACK_OF(ASN1_VALUE) *sk, unsigned char **out,
{ {
derlst = OPENSSL_malloc(sk_ASN1_VALUE_num(sk) derlst = OPENSSL_malloc(sk_ASN1_VALUE_num(sk)
* sizeof(*derlst)); * sizeof(*derlst));
tmpdat = OPENSSL_malloc(skcontlen); if (!derlst)
if (!derlst || !tmpdat)
return 0; return 0;
tmpdat = OPENSSL_malloc(skcontlen);
if (!tmpdat)
{
OPENSSL_free(derlst);
return 0;
}
} }
} }
/* If not sorting just output each item */ /* If not sorting just output each item */

0
Cryptlib/OpenSSL/crypto/asn1/tasn_fre.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/tasn_new.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/tasn_typ.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/tasn_utl.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_algor.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_attrib.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_bignum.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_crl.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_exten.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_info.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_long.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_name.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_pkey.c Executable file → Normal file
View File

5
Cryptlib/OpenSSL/crypto/asn1/x_pubkey.c Executable file → Normal file
View File

@ -371,12 +371,15 @@ EVP_PKEY *X509_PUBKEY_get(X509_PUBKEY *key)
CRYPTO_w_lock(CRYPTO_LOCK_EVP_PKEY); CRYPTO_w_lock(CRYPTO_LOCK_EVP_PKEY);
if (key->pkey) if (key->pkey)
{ {
CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
EVP_PKEY_free(ret); EVP_PKEY_free(ret);
ret = key->pkey; ret = key->pkey;
} }
else else
{
key->pkey = ret; key->pkey = ret;
CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY); CRYPTO_w_unlock(CRYPTO_LOCK_EVP_PKEY);
}
CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY); CRYPTO_add(&ret->references, 1, CRYPTO_LOCK_EVP_PKEY);
return(ret); return(ret);
err: err:

0
Cryptlib/OpenSSL/crypto/asn1/x_req.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_sig.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_spki.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_val.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_x509.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/asn1/x_x509a.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/bf/bf_cfb64.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/bf/bf_ecb.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/bf/bf_enc.c Executable file → Normal file
View File

0
Cryptlib/OpenSSL/crypto/bf/bf_ofb64.c Executable file → Normal file
View File

Some files were not shown because too many files have changed in this diff Show More