Changeset 464 for azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl
- Timestamp:
- Jun 22, 2021, 9:00:19 PM (3 years ago)
- Location:
- azure_iot_hub_f767zi/trunk/wolfssl-4.7.0
- Files:
-
- 20 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/aes.h
r457 r464 43 43 * to need the size of the structure. */ 44 44 typedef struct WOLFSSL_AES_KEY { 45 /* aligned and big enough for Aes from wolfssl/wolfcrypt/aes.h */ 46 ALIGN16 void* holder[(376 + WC_ASYNC_DEV_SIZE)/ sizeof(void*)]; 47 #ifdef GCM_TABLE 48 /* key-based fast multiplication table. */ 49 ALIGN16 void* M0[4096 / sizeof(void*)]; 50 #endif /* GCM_TABLE */ 51 #if defined(WOLFSSL_DEVCRYPTO) && \ 52 (defined(WOLFSSL_DEVCRYPTO_AES) || defined(WOLFSSL_DEVCRYPTO_CBC)) 53 /* large enough for additional devcrypto information */ 54 void* devKey[288 / sizeof(void*)]; 55 #endif 56 #ifdef WOLFSSL_AFALG 57 void* afalg_holder[288 / sizeof(void*)]; 58 #endif 59 #ifdef HAVE_PKCS11 60 void* pkcs11_holder[(AES_MAX_ID_LEN + sizeof(int)) / sizeof(void*)]; 61 #endif 62 #if defined(WOLFSSL_ASYNC_CRYPT) || defined(WOLF_CRYPTO_CB) 63 void* async_holder[128 / sizeof(void*)]; 64 #endif 45 ALIGN16 void *buf[(sizeof(Aes) / sizeof(void *)) + 1]; 65 46 } WOLFSSL_AES_KEY; 66 47 typedef WOLFSSL_AES_KEY AES_KEY; -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/asn1.h
r457 r464 32 32 #define ASN1_STRING_set wolfSSL_ASN1_STRING_set 33 33 #define ASN1_STRING_free wolfSSL_ASN1_STRING_free 34 35 #define ASN1_get_object wolfSSL_ASN1_get_object 36 #define d2i_ASN1_OBJECT wolfSSL_d2i_ASN1_OBJECT 37 #define c2i_ASN1_OBJECT wolfSSL_c2i_ASN1_OBJECT 34 38 35 39 #define V_ASN1_INTEGER 0x02 … … 67 71 #define ASN1_TIME_set wolfSSL_ASN1_TIME_set 68 72 73 #define V_ASN1_EOC 0 69 74 #define V_ASN1_OBJECT 6 75 #define V_ASN1_UTF8STRING 12 76 #define V_ASN1_SEQUENCE 16 77 #define V_ASN1_SET 17 78 #define V_ASN1_PRINTABLESTRING 19 79 #define V_ASN1_T61STRING 20 80 #define V_ASN1_IA5STRING 22 70 81 #define V_ASN1_UTCTIME 23 71 82 #define V_ASN1_GENERALIZEDTIME 24 83 #define V_ASN1_UNIVERSALSTRING 28 84 #define V_ASN1_BMPSTRING 30 85 86 87 #define V_ASN1_CONSTRUCTED 0x20 72 88 73 89 #define ASN1_STRING_FLAG_BITS_LEFT 0x008 … … 82 98 83 99 WOLFSSL_API void wolfSSL_ASN1_TYPE_set(WOLFSSL_ASN1_TYPE *a, int type, void *value); 100 101 WOLFSSL_API int wolfSSL_ASN1_get_object(const unsigned char **in, long *len, int *tag, 102 int *cls, long inLen); 103 104 WOLFSSL_API WOLFSSL_ASN1_OBJECT *wolfSSL_c2i_ASN1_OBJECT(WOLFSSL_ASN1_OBJECT **a, 105 const unsigned char **pp, long len); 84 106 85 107 #ifdef OPENSSL_ALL … … 108 130 109 131 #define ASN1_SEQUENCE(type) \ 110 static consttype __##type##_dummy_struct;\132 static type __##type##_dummy_struct;\ 111 133 static const WOLFSSL_ASN1_TEMPLATE type##_member_data[] 112 134 … … 124 146 }; 125 147 126 WOLFSSL_API void *wolfSSL_ASN1_item_new(const WOLFSSL_ASN1_ITEM *t emplate);127 WOLFSSL_API void wolfSSL_ASN1_item_free(void *val, const WOLFSSL_ASN1_ITEM *t emplate);148 WOLFSSL_API void *wolfSSL_ASN1_item_new(const WOLFSSL_ASN1_ITEM *tpl); 149 WOLFSSL_API void wolfSSL_ASN1_item_free(void *val, const WOLFSSL_ASN1_ITEM *tpl); 128 150 WOLFSSL_API int wolfSSL_ASN1_item_i2d(const void *src, byte **dest, 129 const WOLFSSL_ASN1_ITEM *t emplate);151 const WOLFSSL_ASN1_ITEM *tpl); 130 152 131 153 /* Need function declaration otherwise compiler complains */ -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/bio.h
r457 r464 34 34 35 35 36 #define BIO_FLAG _BASE64_NO_NL WOLFSSL_BIO_FLAG_BASE64_NO_NL37 #define BIO_FLAG _READ WOLFSSL_BIO_FLAG_READ38 #define BIO_FLAG _WRITE WOLFSSL_BIO_FLAG_WRITE39 #define BIO_FLAG _IO_SPECIAL WOLFSSL_BIO_FLAG_IO_SPECIAL40 #define BIO_FLAG _RETRYWOLFSSL_BIO_FLAG_RETRY36 #define BIO_FLAGS_BASE64_NO_NL WOLFSSL_BIO_FLAG_BASE64_NO_NL 37 #define BIO_FLAGS_READ WOLFSSL_BIO_FLAG_READ 38 #define BIO_FLAGS_WRITE WOLFSSL_BIO_FLAG_WRITE 39 #define BIO_FLAGS_IO_SPECIAL WOLFSSL_BIO_FLAG_IO_SPECIAL 40 #define BIO_FLAGS_SHOULD_RETRY WOLFSSL_BIO_FLAG_RETRY 41 41 42 42 #define BIO_new_fp wolfSSL_BIO_new_fp 43 #if defined(OPENSSL_ALL) \ 44 || defined(HAVE_STUNNEL) \ 45 || defined(HAVE_LIGHTY) \ 46 || defined(WOLFSSL_MYSQL_COMPATIBLE) \ 47 || defined(WOLFSSL_HAPROXY) \ 48 || defined(OPENSSL_EXTRA) 43 49 #define BIO_new_file wolfSSL_BIO_new_file 50 #endif 44 51 #define BIO_new_fp wolfSSL_BIO_new_fp 45 52 #define BIO_ctrl wolfSSL_BIO_ctrl … … 58 65 #define BIO_make_bio_pair wolfSSL_BIO_make_bio_pair 59 66 67 #define BIO_new_fd wolfSSL_BIO_new_fd 60 68 #define BIO_set_fp wolfSSL_BIO_set_fp 61 69 #define BIO_get_fp wolfSSL_BIO_get_fp … … 124 132 #define BIO_meth_set_destroy wolfSSL_BIO_meth_set_destroy 125 133 134 #define BIO_snprintf XSNPRINTF 126 135 127 136 /* BIO CTRL */ … … 150 159 #define BIO_CTRL_DGRAM_QUERY_MTU 40 151 160 161 #define BIO_FP_TEXT 0x00 152 162 #define BIO_NOCLOSE 0x00 153 163 #define BIO_CLOSE 0x01 -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/bn.h
r457 r464 41 41 int neg; /* openssh deference */ 42 42 void *internal; /* our big num */ 43 #if def WOLFSSL_SP_MATH43 #if defined(WOLFSSL_SP_MATH) || defined(WOLFSSL_SP_MATH_ALL) 44 44 sp_int fp; 45 45 #elif defined(USE_FAST_MATH) && !defined(HAVE_WOLF_BIGINT) … … 50 50 51 51 #define BN_ULONG WOLFSSL_BN_ULONG 52 #define WOLFSSL_BN_ULONG mp_digit52 #define WOLFSSL_BN_ULONG unsigned long 53 53 54 54 typedef struct WOLFSSL_BN_CTX WOLFSSL_BN_CTX; … … 114 114 WOLFSSL_API int wolfSSL_BN_clear_bit(WOLFSSL_BIGNUM*, int); 115 115 WOLFSSL_API int wolfSSL_BN_set_word(WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG); 116 WOLFSSL_API unsigned longwolfSSL_BN_get_word(const WOLFSSL_BIGNUM*);116 WOLFSSL_API WOLFSSL_BN_ULONG wolfSSL_BN_get_word(const WOLFSSL_BIGNUM*); 117 117 118 118 WOLFSSL_API int wolfSSL_BN_add(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*, -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/buffer.h
r457 r464 35 35 WOLFSSL_API int wolfSSL_BUF_MEM_grow(WOLFSSL_BUF_MEM* buf, size_t len); 36 36 WOLFSSL_API void wolfSSL_BUF_MEM_free(WOLFSSL_BUF_MEM* buf); 37 WOLFSSL_API size_t wolfSSL_strlcpy(char *dst, const char *src, size_t dstSize); 38 WOLFSSL_API size_t wolfSSL_strlcat(char *dst, const char *src, size_t dstSize); 37 39 38 40 … … 41 43 #define BUF_MEM_free wolfSSL_BUF_MEM_free 42 44 45 #define BUF_strdup strdup 46 #define BUF_strlcpy wolfSSL_strlcpy 47 #define BUF_strlcat wolfSSL_strlcat 48 43 49 #ifdef __cplusplus 44 50 } /* extern "C" */ -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/conf.h
r457 r464 29 29 #endif 30 30 31 struct WOLFSSL_CONF_VALUE { 31 #include <wolfssl/wolfcrypt/settings.h> 32 #include <wolfssl/version.h> 33 34 typedef struct WOLFSSL_CONF_VALUE { 32 35 char *section; 33 36 char *name; 34 37 char *value; 35 } ;38 } WOLFSSL_CONF_VALUE; 36 39 37 struct WOLFSSL_INIT_SETTINGS { 38 char* appname; 39 }; 40 /* ssl.h requires WOLFSSL_CONF_VALUE */ 41 #include <wolfssl/ssl.h> 40 42 41 typedef struct WOLFSSL_CONF_VALUE CONF_VALUE; 42 typedef struct WOLFSSL_INIT_SETTINGS OPENSSL_INIT_SETTINGS; 43 typedef struct WOLFSSL_CONF { 44 void *meth_data; 45 WOLF_LHASH_OF(WOLFSSL_CONF_VALUE) *data; 46 } WOLFSSL_CONF; 47 48 typedef WOLFSSL_CONF CONF; 49 typedef WOLFSSL_CONF_VALUE CONF_VALUE; 50 51 #ifdef OPENSSL_EXTRA 52 53 WOLFSSL_API WOLFSSL_CONF_VALUE *wolfSSL_CONF_VALUE_new(void); 54 WOLFSSL_API int wolfSSL_CONF_add_string(WOLFSSL_CONF *conf, 55 WOLFSSL_CONF_VALUE *section, WOLFSSL_CONF_VALUE *value); 56 WOLFSSL_API void wolfSSL_X509V3_conf_free(WOLFSSL_CONF_VALUE *val); 57 58 WOLFSSL_API WOLFSSL_CONF *wolfSSL_NCONF_new(void *meth); 59 WOLFSSL_API char *wolfSSL_NCONF_get_string(const WOLFSSL_CONF *conf, 60 const char *group, const char *name); 61 WOLFSSL_API int wolfSSL_NCONF_get_number(const CONF *conf, const char *group, 62 const char *name, long *result); 63 WOLFSSL_API WOLFSSL_STACK *wolfSSL_NCONF_get_section( 64 const WOLFSSL_CONF *conf, const char *section); 65 WOLFSSL_API int wolfSSL_NCONF_load(WOLFSSL_CONF *conf, const char *file, long *eline); 66 WOLFSSL_API void wolfSSL_NCONF_free(WOLFSSL_CONF *conf); 67 68 WOLFSSL_API WOLFSSL_CONF_VALUE *wolfSSL_lh_WOLFSSL_CONF_VALUE_retrieve( 69 WOLF_LHASH_OF(WOLFSSL_CONF_VALUE) *sk, WOLFSSL_CONF_VALUE *data); 70 71 WOLFSSL_API int wolfSSL_CONF_modules_load(const WOLFSSL_CONF *cnf, const char *appname, 72 unsigned long flags); 73 WOLFSSL_API WOLFSSL_CONF_VALUE *wolfSSL_CONF_new_section(WOLFSSL_CONF *conf, 74 const char *section); 75 WOLFSSL_API WOLFSSL_CONF_VALUE *wolfSSL_CONF_get_section(WOLFSSL_CONF *conf, 76 const char *section); 77 78 #define sk_CONF_VALUE_new wolfSSL_sk_CONF_VALUE_new 79 #define sk_CONF_VALUE_free wolfSSL_sk_CONF_VALUE_free 80 #define sk_CONF_VALUE_pop_free(a,b) wolfSSL_sk_CONF_VALUE_free(a) 81 #define sk_CONF_VALUE_num wolfSSL_sk_CONF_VALUE_num 82 #define sk_CONF_VALUE_value wolfSSL_sk_CONF_VALUE_value 83 84 #define lh_CONF_VALUE_retrieve wolfSSL_lh_WOLFSSL_CONF_VALUE_retrieve 85 #define lh_CONF_VALUE_insert wolfSSL_sk_CONF_VALUE_push 86 87 #define NCONF_new wolfSSL_NCONF_new 88 #define NCONF_free wolfSSL_NCONF_free 89 #define NCONF_get_string wolfSSL_NCONF_get_string 90 #define NCONF_get_section wolfSSL_NCONF_get_section 91 #define NCONF_get_number wolfSSL_NCONF_get_number 92 #define NCONF_load wolfSSL_NCONF_load 93 94 #define CONF_modules_load wolfSSL_CONF_modules_load 95 #define _CONF_new_section wolfSSL_CONF_new_section 96 #define _CONF_get_section wolfSSL_CONF_get_section 97 98 #define X509V3_conf_free wolfSSL_X509V3_conf_free 99 100 #endif /* OPENSSL_EXTRA */ 43 101 44 102 #ifdef __cplusplus -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/crypto.h
r457 r464 25 25 #define WOLFSSL_CRYPTO_H_ 26 26 27 #include <wolfssl/wolfcrypt/settings.h> 28 27 29 #include <wolfssl/openssl/opensslv.h> 28 29 #include <wolfssl/wolfcrypt/settings.h> 30 #include <wolfssl/openssl/conf.h> 30 31 31 32 #ifdef WOLFSSL_PREFIX … … 33 34 #endif 34 35 36 typedef struct WOLFSSL_INIT_SETTINGS { 37 char* appname; 38 } WOLFSSL_INIT_SETTINGS; 39 40 typedef WOLFSSL_INIT_SETTINGS OPENSSL_INIT_SETTINGS; 35 41 36 42 WOLFSSL_API const char* wolfSSLeay_version(int type); … … 41 47 WOLFSSL_API void wolfSSL_OPENSSL_free(void*); 42 48 WOLFSSL_API void *wolfSSL_OPENSSL_malloc(size_t a); 49 50 WOLFSSL_API int wolfSSL_OPENSSL_init_crypto(word64 opts, const OPENSSL_INIT_SETTINGS *settings); 43 51 #endif 44 52 … … 63 71 #define OPENSSL_malloc wolfSSL_OPENSSL_malloc 64 72 65 #ifdef WOLFSSL_QT 66 #define OPENSSL_INIT_ADD_ALL_CIPHERS 0x00000004L 67 #define OPENSSL_INIT_ADD_ALL_DIGESTS 0x00000008L 68 #define OPENSSL_INIT_LOAD_CONFIG 0x00000040L 69 #endif 73 #define OPENSSL_INIT_ENGINE_ALL_BUILTIN 0x00000001L 74 #define OPENSSL_INIT_ADD_ALL_CIPHERS 0x00000004L 75 #define OPENSSL_INIT_ADD_ALL_DIGESTS 0x00000008L 76 #define OPENSSL_INIT_LOAD_CONFIG 0x00000040L 77 78 #define OPENSSL_init_crypto wolfSSL_OPENSSL_init_crypto 79 70 80 71 81 #if defined(OPENSSL_ALL) || defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || \ 72 defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA) 82 defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA) || defined(HAVE_EX_DATA) 73 83 #define CRYPTO_set_mem_ex_functions wolfSSL_CRYPTO_set_mem_ex_functions 74 84 #define FIPS_mode wolfSSL_FIPS_mode … … 87 97 #define CRYPTO_THREAD_unlock wc_UnLockMutex 88 98 89 #endif /* OPENSSL_ALL || HAVE_STUNNEL || WOLFSSL_NGINX || WOLFSSL_HAPROXY */99 #endif /* OPENSSL_ALL || HAVE_STUNNEL || WOLFSSL_NGINX || WOLFSSL_HAPROXY || HAVE_EX_DATA */ 90 100 91 101 #endif /* header */ -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/dh.h
r457 r464 27 27 28 28 #include <wolfssl/openssl/bn.h> 29 #include <wolfssl/openssl/opensslv.h> 29 30 30 31 #ifdef __cplusplus … … 59 60 WOLFSSL_API WOLFSSL_DH* wolfSSL_DH_new(void); 60 61 WOLFSSL_API void wolfSSL_DH_free(WOLFSSL_DH*); 62 WOLFSSL_API WOLFSSL_DH* wolfSSL_DH_dup(WOLFSSL_DH* dh); 61 63 62 64 WOLFSSL_API int wolfSSL_DH_check(const WOLFSSL_DH *dh, int *codes); -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/dsa.h
r457 r464 81 81 WOLFSSL_DSA* dsa, int *dsacheck); 82 82 83 WOLFSSL_API int wolfSSL_DSA_bits(const WOLFSSL_DSA *d); 84 83 85 WOLFSSL_API WOLFSSL_DSA_SIG* wolfSSL_DSA_SIG_new(void); 84 86 WOLFSSL_API void wolfSSL_DSA_SIG_free(WOLFSSL_DSA_SIG *sig); -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/ec.h
r457 r464 26 26 27 27 #include <wolfssl/openssl/bn.h> 28 #include <wolfssl/wolfcrypt/asn.h> 28 29 #include <wolfssl/wolfcrypt/ecc.h> 29 30 … … 69 70 #endif 70 71 72 #ifdef HAVE_ED448 73 NID_ED448 = ED448k, 74 #endif 75 #ifdef HAVE_ED25519 76 NID_ED25519 = ED25519k, 77 #endif 78 71 79 OPENSSL_EC_NAMED_CURVE = 0x001 72 80 }; … … 149 157 int wolfSSL_i2o_ECPublicKey(const WOLFSSL_EC_KEY *in, unsigned char **out); 150 158 WOLFSSL_API 159 WOLFSSL_EC_KEY *wolfSSL_d2i_ECPrivateKey(WOLFSSL_EC_KEY **key, const unsigned char **in, 160 long len); 161 WOLFSSL_API 162 int wolfSSL_i2d_ECPrivateKey(const WOLFSSL_EC_KEY *in, unsigned char **out); 163 WOLFSSL_API 151 164 void wolfSSL_EC_KEY_set_conv_form(WOLFSSL_EC_KEY *eckey, char form); 152 165 WOLFSSL_API … … 155 168 char form, 156 169 WOLFSSL_BIGNUM *in, WOLFSSL_BN_CTX *ctx); 170 WOLFSSL_API 171 int wolfSSL_EC_POINT_is_on_curve(const WOLFSSL_EC_GROUP *group, 172 const WOLFSSL_EC_POINT *point, 173 WOLFSSL_BN_CTX *ctx); 157 174 158 175 WOLFSSL_API … … 199 216 WOLFSSL_BN_CTX *ctx); 200 217 WOLFSSL_API 218 WOLFSSL_EC_GROUP *wolfSSL_EC_GROUP_dup(const WOLFSSL_EC_GROUP *src); 219 WOLFSSL_API 201 220 int wolfSSL_EC_GROUP_get_curve_name(const WOLFSSL_EC_GROUP *group); 202 221 WOLFSSL_API … … 229 248 WOLFSSL_BN_CTX *ctx); 230 249 WOLFSSL_API 250 int wolfSSL_EC_POINT_add(const WOLFSSL_EC_GROUP *group, WOLFSSL_EC_POINT *r, 251 const WOLFSSL_EC_POINT *p1, 252 const WOLFSSL_EC_POINT *p2, WOLFSSL_BN_CTX *ctx); 253 WOLFSSL_API 231 254 int wolfSSL_EC_POINT_mul(const WOLFSSL_EC_GROUP *group, WOLFSSL_EC_POINT *r, 232 255 const WOLFSSL_BIGNUM *n, 233 256 const WOLFSSL_EC_POINT *q, const WOLFSSL_BIGNUM *m, 234 257 WOLFSSL_BN_CTX *ctx); 258 WOLFSSL_API 259 int wolfSSL_EC_POINT_invert(const WOLFSSL_EC_GROUP *group, WOLFSSL_EC_POINT *a, 260 WOLFSSL_BN_CTX *ctx); 235 261 WOLFSSL_API 236 262 void wolfSSL_EC_POINT_clear_free(WOLFSSL_EC_POINT *point); … … 278 304 #define EC_GROUP_new_by_curve_name wolfSSL_EC_GROUP_new_by_curve_name 279 305 #define EC_GROUP_cmp wolfSSL_EC_GROUP_cmp 306 #define EC_GROUP_dup wolfSSL_EC_GROUP_dup 280 307 #define EC_GROUP_get_curve_name wolfSSL_EC_GROUP_get_curve_name 281 308 #define EC_GROUP_get_degree wolfSSL_EC_GROUP_get_degree … … 283 310 #define EC_GROUP_order_bits wolfSSL_EC_GROUP_order_bits 284 311 #define EC_GROUP_method_of wolfSSL_EC_GROUP_method_of 312 #ifndef NO_WOLFSSL_STUB 313 #define EC_GROUP_set_point_conversion_form(...) 314 #endif 285 315 286 316 #define EC_METHOD_get_field_type wolfSSL_EC_METHOD_get_field_type … … 292 322 #define EC_POINT_set_affine_coordinates_GFp \ 293 323 wolfSSL_EC_POINT_set_affine_coordinates_GFp 324 #define EC_POINT_add wolfSSL_EC_POINT_add 294 325 #define EC_POINT_mul wolfSSL_EC_POINT_mul 326 #define EC_POINT_invert wolfSSL_EC_POINT_invert 295 327 #define EC_POINT_clear_free wolfSSL_EC_POINT_clear_free 296 328 #define EC_POINT_cmp wolfSSL_EC_POINT_cmp … … 305 337 #define EC_POINT_oct2point wolfSSL_EC_POINT_oct2point 306 338 #define EC_POINT_point2bn wolfSSL_EC_POINT_point2bn 339 #define EC_POINT_is_on_curve wolfSSL_EC_POINT_is_on_curve 307 340 #define i2o_ECPublicKey wolfSSL_i2o_ECPublicKey 341 #define i2d_EC_PUBKEY wolfSSL_i2o_ECPublicKey 342 #define d2i_ECPrivateKey wolfSSL_d2i_ECPrivateKey 343 #define i2d_ECPrivateKey wolfSSL_i2d_ECPrivateKey 308 344 #define EC_KEY_set_conv_form wolfSSL_EC_KEY_set_conv_form 309 345 -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/evp.h
r457 r464 186 186 #endif 187 187 } hash; 188 intmacType;188 enum wc_HashType macType; 189 189 WOLFSSL_EVP_PKEY_CTX *pctx; 190 #ifndef NO_HMAC 191 unsigned int isHMAC; 192 #endif 190 193 }; 191 194 … … 351 354 #define HAVE_WOLFSSL_EVP_CIPHER_CTX_IV 352 355 int ivSz; 356 #ifdef HAVE_AESGCM 357 byte* gcmBuffer; 358 int gcmBufferLen; 353 359 ALIGN16 unsigned char authTag[AES_BLOCK_SIZE]; 354 360 int authTagSz; 361 byte* gcmAuthIn; 362 int gcmAuthInSz; 363 #endif 355 364 #endif 356 365 }; … … 515 524 WOLFSSL_API int wolfSSL_EVP_PKEY_assign_DH(EVP_PKEY* pkey, WOLFSSL_DH* key); 516 525 WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get0_RSA(struct WOLFSSL_EVP_PKEY *pkey); 526 WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get0_DSA(struct WOLFSSL_EVP_PKEY *pkey); 517 527 WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get1_RSA(WOLFSSL_EVP_PKEY*); 518 528 WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get1_DSA(WOLFSSL_EVP_PKEY*); … … 548 558 WOLFSSL_API int wolfSSL_EVP_PKEY_derive(WOLFSSL_EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen); 549 559 560 WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_ctrl_str(WOLFSSL_EVP_PKEY_CTX *ctx, 561 const char *name, const char *value); 562 550 563 WOLFSSL_API int wolfSSL_EVP_PKEY_decrypt(WOLFSSL_EVP_PKEY_CTX *ctx, 551 564 unsigned char *out, size_t *outlen, … … 560 573 WOLFSSL_API void wolfSSL_EVP_PKEY_free(WOLFSSL_EVP_PKEY*); 561 574 WOLFSSL_API int wolfSSL_EVP_PKEY_size(WOLFSSL_EVP_PKEY *pkey); 575 WOLFSSL_API int wolfSSL_EVP_PKEY_copy_parameters(WOLFSSL_EVP_PKEY *to, const WOLFSSL_EVP_PKEY *from); 562 576 WOLFSSL_API int wolfSSL_EVP_PKEY_missing_parameters(WOLFSSL_EVP_PKEY *pkey); 563 577 WOLFSSL_API int wolfSSL_EVP_PKEY_cmp(const WOLFSSL_EVP_PKEY *a, const WOLFSSL_EVP_PKEY *b); 564 578 WOLFSSL_API int wolfSSL_EVP_PKEY_type(int type); 565 WOLFSSL_API int wolfSSL_EVP_PKEY_id(const EVP_PKEY *pkey); 566 WOLFSSL_API int wolfSSL_EVP_PKEY_base_id(const EVP_PKEY *pkey); 579 WOLFSSL_API int wolfSSL_EVP_PKEY_id(const WOLFSSL_EVP_PKEY *pkey); 580 WOLFSSL_API int wolfSSL_EVP_PKEY_base_id(const WOLFSSL_EVP_PKEY *pkey); 581 WOLFSSL_API int wolfSSL_EVP_PKEY_get_default_digest_nid(WOLFSSL_EVP_PKEY *pkey, int *pnid); 567 582 WOLFSSL_API int wolfSSL_EVP_SignFinal(WOLFSSL_EVP_MD_CTX *ctx, unsigned char *sigret, 568 583 unsigned int *siglen, WOLFSSL_EVP_PKEY *pkey); … … 631 646 #define EVP_CIPH_XTS_MODE WOLFSSL_EVP_CIPH_XTS_MODE 632 647 648 #define EVP_CIPH_FLAG_AEAD_CIPHER WOLFSSL_EVP_CIPH_FLAG_AEAD_CIPHER 649 633 650 #define WOLFSSL_EVP_CIPH_MODE 0x0007 634 651 #define WOLFSSL_EVP_CIPH_STREAM_CIPHER 0x0 … … 641 658 #define WOLFSSL_EVP_CIPH_CCM_MODE 0x7 642 659 #define WOLFSSL_EVP_CIPH_XTS_MODE 0x10 660 #define WOLFSSL_EVP_CIPH_FLAG_AEAD_CIPHER 0x20 643 661 #define WOLFSSL_EVP_CIPH_NO_PADDING 0x100 644 662 #define EVP_CIPH_VARIABLE_LENGTH 0x200 … … 817 835 #define EVP_PKEY_up_ref wolfSSL_EVP_PKEY_up_ref 818 836 #define EVP_PKEY_size wolfSSL_EVP_PKEY_size 837 #define EVP_PKEY_copy_parameters wolfSSL_EVP_PKEY_copy_parameters 819 838 #define EVP_PKEY_missing_parameters wolfSSL_EVP_PKEY_missing_parameters 820 839 #define EVP_PKEY_cmp wolfSSL_EVP_PKEY_cmp 821 840 #define EVP_PKEY_type wolfSSL_EVP_PKEY_type 822 841 #define EVP_PKEY_base_id wolfSSL_EVP_PKEY_base_id 842 #define EVP_PKEY_get_default_digest_nid wolfSSL_EVP_PKEY_get_default_digest_nid 823 843 #define EVP_PKEY_id wolfSSL_EVP_PKEY_id 844 #define EVP_PKEY_CTX_ctrl_str wolfSSL_EVP_PKEY_CTX_ctrl_str 824 845 #define EVP_SignFinal wolfSSL_EVP_SignFinal 825 846 #define EVP_SignInit wolfSSL_EVP_SignInit … … 909 930 910 931 #define EVP_PKEY_NONE NID_undef 911 #define EVP_PKEY_RSA 6912 #define EVP_PKEY_RSA2 19913 932 #define EVP_PKEY_DH 28 914 933 #define EVP_CIPHER_mode WOLFSSL_CIPHER_mode -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/hmac.h
r457 r464 73 73 unsigned int* len); 74 74 WOLFSSL_API int wolfSSL_HMAC_cleanup(WOLFSSL_HMAC_CTX* ctx); 75 WOLFSSL_API void wolfSSL_HMAC_CTX_cleanup(WOLFSSL_HMAC_CTX* ctx); 75 76 WOLFSSL_API void wolfSSL_HMAC_CTX_free(WOLFSSL_HMAC_CTX* ctx); 76 77 WOLFSSL_API size_t wolfSSL_HMAC_size(const WOLFSSL_HMAC_CTX *ctx); … … 84 85 #define HMAC_CTX_copy wolfSSL_HMAC_CTX_copy 85 86 #define HMAC_CTX_free wolfSSL_HMAC_CTX_free 87 #define HMAC_CTX_cleanup wolfSSL_HMAC_CTX_cleanup 86 88 #define HMAC_CTX_reset wolfSSL_HMAC_cleanup 87 89 #define HMAC_Init_ex wolfSSL_HMAC_Init_ex -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/ocsp.h
r457 r464 31 31 #define OCSP_RESPONSE OcspResponse 32 32 #define OCSP_BASICRESP WOLFSSL_OCSP_BASICRESP 33 #define OCSP_SINGLERESP WOLFSSL_OCSP_SINGLERESP 33 34 #define OCSP_CERTID WOLFSSL_OCSP_CERTID 34 35 #define OCSP_ONEREQ WOLFSSL_OCSP_ONEREQ … … 77 78 #define i2d_OCSP_REQUEST_bio wolfSSL_i2d_OCSP_REQUEST_bio 78 79 80 #define i2d_OCSP_CERTID wolfSSL_i2d_OCSP_CERTID 81 #define OCSP_SINGLERESP_get0_id wolfSSL_OCSP_SINGLERESP_get0_id 82 #define OCSP_single_get0_status wolfSSL_OCSP_single_get0_status 83 #define OCSP_resp_count wolfSSL_OCSP_resp_count 84 #define OCSP_resp_get0 wolfSSL_OCSP_resp_get0 85 79 86 #endif /* HAVE_OCSP */ 80 87 -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/opensslv.h
r457 r464 27 27 28 28 /* api version compatibility */ 29 #if defined(WOLFSSL_APACHE_HTTPD) 29 #if defined(OPENSSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER == 0x0090810fL) ||\ 30 defined(OPENSSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER == 0x10100000L) ||\ 31 defined(OPENSSL_VERSION_NUMBER) && (OPENSSL_VERSION_NUMBER == 0x10001040L) 32 /* valid version */ 33 #elif defined(WOLFSSL_APACHE_HTTPD) || defined(HAVE_LIBEST) 30 34 /* For Apache httpd, Use 1.1.0 compatibility */ 31 35 #define OPENSSL_VERSION_NUMBER 0x10100000L 32 36 #elif defined(OPENSSL_ALL) || defined(HAVE_STUNNEL) || defined(HAVE_LIGHTY) || \ 33 37 defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) || \ 34 defined(WOLFSSL_OPENSSH) || defined(WOLFSSL_QT) 38 defined(WOLFSSL_OPENSSH) || defined(WOLFSSL_QT) || defined(WOLFSSL_OPENVPN) 35 39 /* version number can be increased for Lighty after compatibility for ECDH 36 40 is added */ 37 #define OPENSSL_VERSION_NUMBER 0x100010 0fL41 #define OPENSSL_VERSION_NUMBER 0x10001040L 38 42 #else 39 43 #define OPENSSL_VERSION_NUMBER 0x0090810fL -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/pem.h
r457 r464 243 243 #define PEM_read_bio_ECPrivateKey wolfSSL_PEM_read_bio_ECPrivateKey 244 244 #define PEM_read_bio_EC_PUBKEY wolfSSL_PEM_read_bio_EC_PUBKEY 245 #ifndef NO_WOLFSSL_STUB 246 #define PEM_write_bio_ECPKParameters(...) 0 247 #endif 245 248 /* EVP_KEY */ 246 249 #define PEM_read_bio_PrivateKey wolfSSL_PEM_read_bio_PrivateKey -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/rsa.h
r457 r464 118 118 unsigned int mLen, unsigned char* sigRet, 119 119 unsigned int* sigLen, WOLFSSL_RSA*, int); 120 WOLFSSL_API int wolfSSL_RSA_sign_generic_padding(int type, const unsigned char* m, 121 unsigned int mLen, unsigned char* sigRet, 122 unsigned int* sigLen, WOLFSSL_RSA*, int, int); 120 123 WOLFSSL_API int wolfSSL_RSA_verify(int type, const unsigned char* m, 121 124 unsigned int mLen, const unsigned char* sig, 122 125 unsigned int sigLen, WOLFSSL_RSA*); 126 WOLFSSL_API int wolfSSL_RSA_verify_ex(int type, const unsigned char* m, 127 unsigned int mLen, const unsigned char* sig, 128 unsigned int sigLen, WOLFSSL_RSA* rsa, 129 int padding); 123 130 WOLFSSL_API int wolfSSL_RSA_public_decrypt(int flen, const unsigned char* from, 124 131 unsigned char* to, WOLFSSL_RSA*, int padding); -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/ssl.h
r457 r464 54 54 #include <wolfssl/wolfcrypt/asn.h> 55 55 56 #include <wolfssl/openssl/x509.h> 57 56 58 #ifdef __cplusplus 57 59 extern "C" { … … 68 70 #endif 69 71 72 #ifdef OPENSSL_EXTRA 73 WOLFSSL_API int wolfSSL_OPENSSL_init_ssl(word64 opts, const OPENSSL_INIT_SETTINGS *settings); 74 #endif 70 75 71 76 typedef WOLFSSL SSL; … … 80 85 typedef WOLFSSL_X509_CHAIN X509_CHAIN; 81 86 87 /* STACK_OF(ASN1_OBJECT) */ 82 88 typedef WOLFSSL_STACK EXTENDED_KEY_USAGE; 83 89 … … 100 106 typedef WOLFSSL_ASN1_STRING ASN1_STRING; 101 107 typedef WOLFSSL_ASN1_TYPE ASN1_TYPE; 108 typedef WOLFSSL_X509_ATTRIBUTE X509_ATTRIBUTE; 102 109 typedef WOLFSSL_ASN1_BIT_STRING ASN1_BIT_STRING; 103 110 typedef WOLFSSL_dynlock_value CRYPTO_dynlock_value; … … 105 112 typedef WOLFSSL_GENERAL_NAMES GENERAL_NAMES; 106 113 typedef WOLFSSL_GENERAL_NAME GENERAL_NAME; 114 115 #define X509_L_FILE_LOAD WOLFSSL_X509_L_FILE_LOAD 116 #define X509_L_ADD_DIR WOLFSSL_X509_L_ADD_DIR 117 #define X509_L_ADD_STORE WOLFSSL_X509_L_ADD_STORE 118 #define X509_L_LOAD_STORE WOLFSSL_X509_L_LOAD_STORE 107 119 108 120 #define ASN1_UTCTIME WOLFSSL_ASN1_TIME … … 126 138 typedef STACK_OF(ACCESS_DESCRIPTION) AUTHORITY_INFO_ACCESS; 127 139 128 #ifdef WOLFSSL_QT 129 #if defined(NO_WOLFSSL_MEMORY) 130 #define CRYPTO_free(xp) XFREE(xp, NULL, NULL); 131 #else 132 #define CRYPTO_free(xp) { if((xp)) wolfSSL_Free((xp));} 133 #endif 134 #else 135 #define CRYPTO_free XFREE 136 #endif 137 138 #define CRYPTO_malloc XMALLOC 140 #define CRYPTO_free(xp) XFREE(xp, NULL, DYNAMIC_TYPE_TMP_BUFFER) 141 #define CRYPTO_malloc(sz) XMALLOC(sz, NULL, DYNAMIC_TYPE_TMP_BUFFER) 139 142 #define CRYPTO_EX_new WOLFSSL_CRYPTO_EX_new 140 143 #define CRYPTO_EX_dup WOLFSSL_CRYPTO_EX_dup … … 161 164 #define set_ex_data wolfSSL_CRYPTO_set_ex_data 162 165 #define get_ex_data wolfSSL_CRYPTO_get_ex_data 166 #define CRYPTO_memcmp wolfSSL_CRYPTO_memcmp 163 167 164 168 /* this function was used to set the default malloc, free, and realloc */ … … 175 179 /* at the moment only returns ok */ 176 180 #define SSL_get_verify_result wolfSSL_get_verify_result 177 #define SSL_get_verify_mode wolfSSL_ SSL_get_mode181 #define SSL_get_verify_mode wolfSSL_get_verify_mode 178 182 #define SSL_get_verify_depth wolfSSL_get_verify_depth 179 183 #define SSL_CTX_get_verify_mode wolfSSL_CTX_get_verify_mode 180 184 #define SSL_CTX_get_verify_depth wolfSSL_CTX_get_verify_depth 181 185 #define SSL_get_certificate wolfSSL_get_certificate 186 #define SSL_CTX_get0_certificate wolfSSL_CTX_get0_certificate 182 187 #define SSL_use_certificate wolfSSL_use_certificate 183 188 #define SSL_use_certificate_ASN1 wolfSSL_use_certificate_ASN1 184 189 #define d2i_PKCS8_PRIV_KEY_INFO_bio wolfSSL_d2i_PKCS8_PKEY_bio 185 190 #define d2i_PKCS8PrivateKey_bio wolfSSL_d2i_PKCS8PrivateKey_bio 191 #define i2d_PKCS8PrivateKey_bio wolfSSL_PEM_write_bio_PKCS8PrivateKey 186 192 #define PKCS8_PRIV_KEY_INFO_free wolfSSL_EVP_PKEY_free 187 193 #define d2i_PKCS12_fp wolfSSL_d2i_PKCS12_fp 188 194 195 #define i2d_PUBKEY wolfSSL_i2d_PUBKEY 189 196 #define d2i_PUBKEY wolfSSL_d2i_PUBKEY 190 197 #define d2i_PUBKEY_bio wolfSSL_d2i_PUBKEY_bio 191 198 #define d2i_PrivateKey wolfSSL_d2i_PrivateKey 192 199 #define d2i_AutoPrivateKey wolfSSL_d2i_AutoPrivateKey 193 #define i2d_PrivateKey wolfSSL_i2d_PrivateKey194 200 #define SSL_use_PrivateKey wolfSSL_use_PrivateKey 195 201 #define SSL_use_PrivateKey_ASN1 wolfSSL_use_PrivateKey_ASN1 … … 286 292 #define SSL_set_verify wolfSSL_set_verify 287 293 #define SSL_set_verify_result wolfSSL_set_verify_result 294 #define SSL_verify_client_post_handshake wolfSSL_verify_client_post_handshake 295 #define SSL_set_post_handshake_auth wolfSSL_set_post_handshake_auth 296 #define SSL_CTX_set_post_handshake_auth wolfSSL_CTX_set_post_handshake_auth 288 297 #define SSL_pending wolfSSL_pending 289 298 #define SSL_load_error_strings wolfSSL_load_error_strings 290 299 #define SSL_library_init wolfSSL_library_init 300 #define OPENSSL_init_ssl wolfSSL_OPENSSL_init_ssl 291 301 #define OpenSSL_add_ssl_algorithms wolfSSL_library_init 292 302 #define SSL_CTX_set_session_cache_mode wolfSSL_CTX_set_session_cache_mode … … 297 307 #define SSL_CTX_set_security_level(...) 298 308 /* wolfSSL does not support exporting keying material */ 299 #define SSL_export_keying_material(...) 0 309 #define SSL_export_keying_material wolfSSL_export_keying_material 310 311 #define SSL_CTX_set1_groups wolfSSL_CTX_set1_groups 312 #define SSL_set1_groups wolfSSL_set1_groups 300 313 301 314 #define SSL_CTX_set1_groups_list wolfSSL_CTX_set1_groups_list … … 304 317 #define SSL_set_ex_data wolfSSL_set_ex_data 305 318 #define SSL_get_shutdown wolfSSL_get_shutdown 319 #define SSL_get_finished wolfSSL_get_finished 320 #define SSL_get_peer_finished wolfSSL_get_peer_finished 306 321 #define SSL_set_rfd wolfSSL_set_rfd 307 322 #define SSL_set_wfd wolfSSL_set_wfd … … 311 326 #define SSL_set_accept_state wolfSSL_set_accept_state 312 327 #define SSL_session_reused wolfSSL_session_reused 328 #define SSL_SESSION_up_ref wolfSSL_SESSION_up_ref 313 329 #define SSL_SESSION_dup wolfSSL_SESSION_dup 314 330 #define SSL_SESSION_free wolfSSL_SESSION_free … … 339 355 #define ASN1_BOOLEAN WOLFSSL_ASN1_BOOLEAN 340 356 #define X509_get_ext wolfSSL_X509_get_ext 357 #define X509_get_ext_by_OBJ wolfSSL_X509_get_ext_by_OBJ 341 358 #define X509_cmp wolfSSL_X509_cmp 342 359 #define X509_EXTENSION_get_object wolfSSL_X509_EXTENSION_get_object … … 350 367 #define DSA_dup_DH wolfSSL_DSA_dup_DH 351 368 /* wolfSSL does not support DSA as the cert public key */ 352 #define EVP_PKEY_get0_DSA (...) NULL353 #define DSA_bits (...) 0369 #define EVP_PKEY_get0_DSA wolfSSL_EVP_PKEY_get0_DSA 370 #define DSA_bits wolfSSL_DSA_bits 354 371 355 372 #define i2d_X509_bio wolfSSL_i2d_X509_bio 373 #define i2d_X509_REQ_bio wolfSSL_i2d_X509_REQ_bio 356 374 #define d2i_X509_bio wolfSSL_d2i_X509_bio 375 #define d2i_X509_REQ_bio wolfSSL_d2i_X509_REQ_bio 357 376 #define d2i_X509_fp wolfSSL_d2i_X509_fp 358 377 #define i2d_X509 wolfSSL_i2d_X509 359 378 #define d2i_X509 wolfSSL_d2i_X509 360 379 #define PEM_read_bio_X509 wolfSSL_PEM_read_bio_X509 380 #define PEM_read_bio_X509_REQ wolfSSL_PEM_read_bio_X509_REQ 361 381 #define PEM_read_bio_X509_CRL wolfSSL_PEM_read_bio_X509_CRL 362 382 #define PEM_read_bio_X509_AUX wolfSSL_PEM_read_bio_X509_AUX … … 369 389 370 390 #define i2d_X509_REQ wolfSSL_i2d_X509_REQ 391 #define d2i_X509_REQ wolfSSL_d2i_X509_REQ 371 392 #define X509_REQ_new wolfSSL_X509_REQ_new 372 393 #define X509_REQ_free wolfSSL_X509_REQ_free 373 394 #define X509_REQ_sign wolfSSL_X509_REQ_sign 395 #define X509_REQ_sign_ctx wolfSSL_X509_REQ_sign_ctx 374 396 #define X509_REQ_add_extensions wolfSSL_X509_REQ_add_extensions 397 #define X509_REQ_add1_attr_by_NID wolfSSL_X509_REQ_add1_attr_by_NID 398 #define X509_REQ_add1_attr_by_txt wolfSSL_X509_REQ_add1_attr_by_txt 399 #define X509_REQ_get_attr_by_NID wolfSSL_X509_REQ_get_attr_by_NID 400 #define X509_REQ_get_attr wolfSSL_X509_REQ_get_attr 401 #define X509_ATTRIBUTE_get0_type wolfSSL_X509_ATTRIBUTE_get0_type 402 #define X509_to_X509_REQ wolfSSL_X509_to_X509_REQ 375 403 #define X509_REQ_set_subject_name wolfSSL_X509_REQ_set_subject_name 376 404 #define X509_REQ_set_pubkey wolfSSL_X509_REQ_set_pubkey … … 384 412 #define X509_get_ext_count wolfSSL_X509_get_ext_count 385 413 #define X509_get_ext_d2i wolfSSL_X509_get_ext_d2i 414 #define X509V3_EXT_i2d wolfSSL_X509V3_EXT_i2d 415 #define X509_get0_extensions wolfSSL_X509_get0_extensions 416 #define X509_get_extensions wolfSSL_X509_get0_extensions 417 #define X509_REQ_get_extensions wolfSSL_X509_REQ_get_extensions 386 418 #define X509_get_ext wolfSSL_X509_get_ext 387 419 #define X509_get_ext_by_NID wolfSSL_X509_get_ext_by_NID 388 420 #define X509_get_issuer_name wolfSSL_X509_get_issuer_name 421 #define X509_issuer_name_hash wolfSSL_X509_issuer_name_hash 422 #define X509_subject_name_hash wolfSSL_X509_subject_name_hash 389 423 #define X509_get_subject_name wolfSSL_X509_get_subject_name 424 #define X509_REQ_get_subject_name wolfSSL_X509_get_subject_name 390 425 #define X509_get_pubkey wolfSSL_X509_get_pubkey 391 426 #define X509_get0_pubkey wolfSSL_X509_get_pubkey 427 #define X509_REQ_get_pubkey wolfSSL_X509_get_pubkey 392 428 #define X509_get_notBefore wolfSSL_X509_get_notBefore 429 #define X509_get0_notBefore wolfSSL_X509_get_notBefore 393 430 #define X509_get_notAfter wolfSSL_X509_get_notAfter 431 #define X509_get0_notAfter wolfSSL_X509_get_notAfter 394 432 #define X509_get_serialNumber wolfSSL_X509_get_serialNumber 395 433 #define X509_get0_pubkey_bitstr wolfSSL_X509_get0_pubkey_bitstr … … 409 447 #define X509_set_serialNumber wolfSSL_X509_set_serialNumber 410 448 #define X509_set_version wolfSSL_X509_set_version 449 #define X509_REQ_set_version wolfSSL_X509_set_version 411 450 #define X509_sign wolfSSL_X509_sign 451 #define X509_sign_ctx wolfSSL_X509_sign_ctx 412 452 #define X509_print wolfSSL_X509_print 453 #define X509_REQ_print wolfSSL_X509_print 413 454 #define X509_print_ex wolfSSL_X509_print_ex 455 #define X509_print_fp wolfSSL_X509_print_fp 456 #define X509_REQ_print_fp wolfSSL_X509_print_fp 457 #define X509_signature_print wolfSSL_X509_signature_print 458 #define X509_get0_signature wolfSSL_X509_get0_signature 414 459 #define X509_verify_cert_error_string wolfSSL_X509_verify_cert_error_string 415 460 #define X509_verify_cert wolfSSL_X509_verify_cert 461 #define X509_verify wolfSSL_X509_verify 462 #define X509_REQ_verify wolfSSL_X509_REQ_verify 416 463 #define X509_check_private_key wolfSSL_X509_check_private_key 464 #define X509_REQ_check_private_key wolfSSL_X509_check_private_key 417 465 #define X509_check_ca wolfSSL_X509_check_ca 418 466 #define X509_check_host wolfSSL_X509_check_host 467 #define X509_check_ip_asc wolfSSL_X509_check_ip_asc 419 468 #define X509_email_free wolfSSL_X509_email_free 420 469 #define X509_check_issued wolfSSL_X509_check_issued 421 470 #define X509_dup wolfSSL_X509_dup 471 #define X509_add_ext wolfSSL_X509_add_ext 472 #define X509_delete_ext wolfSSL_X509_delete_ext 422 473 423 474 #define X509_EXTENSION_get_object wolfSSL_X509_EXTENSION_get_object … … 432 483 #define sk_X509_pop wolfSSL_sk_X509_pop 433 484 #define sk_X509_pop_free wolfSSL_sk_X509_pop_free 434 #define sk_X509_dup wolfSSL_sk_ X509_dup485 #define sk_X509_dup wolfSSL_sk_dup 435 486 #define sk_X509_free wolfSSL_sk_X509_free 436 487 … … 440 491 #define sk_X509_EXTENSION_pop_free wolfSSL_sk_X509_EXTENSION_pop_free 441 492 #define sk_X509_EXTENSION_push wolfSSL_sk_X509_EXTENSION_push 442 #define X509_EXTENSION_free wolfSSL_X509_EXTENSION_free443 493 444 494 #define X509_INFO_new wolfSSL_X509_INFO_new … … 452 502 #define sk_X509_INFO_pop_free wolfSSL_sk_X509_INFO_pop_free 453 503 #define sk_X509_INFO_free wolfSSL_sk_X509_INFO_free 504 #define sk_X509_INFO_shift wolfSSL_sk_X509_INFO_pop 454 505 455 506 #define i2d_X509_NAME wolfSSL_i2d_X509_NAME 507 #define d2i_X509_NAME wolfSSL_d2i_X509_NAME 456 508 #define X509_NAME_new wolfSSL_X509_NAME_new 457 509 #define X509_NAME_free wolfSSL_X509_NAME_free … … 467 519 #define X509_NAME_add_entry_by_txt wolfSSL_X509_NAME_add_entry_by_txt 468 520 #define X509_NAME_add_entry_by_NID wolfSSL_X509_NAME_add_entry_by_NID 521 #define X509_NAME_delete_entry wolfSSL_X509_NAME_delete_entry 469 522 #define X509_NAME_oneline wolfSSL_X509_NAME_oneline 470 523 #define X509_NAME_get_index_by_NID wolfSSL_X509_NAME_get_index_by_NID 471 524 #define X509_NAME_print_ex wolfSSL_X509_NAME_print_ex 525 #define X509_NAME_print_ex_fp wolfSSL_X509_NAME_print_ex_fp 472 526 #define X509_NAME_digest wolfSSL_X509_NAME_digest 473 527 #define X509_cmp_current_time wolfSSL_X509_cmp_current_time … … 510 564 #define X509_STORE_CTX_get_chain wolfSSL_X509_STORE_CTX_get_chain 511 565 #define X509_STORE_CTX_get1_chain wolfSSL_X509_STORE_CTX_get1_chain 566 #define X509_STORE_CTX_get0_parent_ctx wolfSSL_X509_STORE_CTX_get0_parent_ctx 512 567 #define X509_STORE_CTX_get_error wolfSSL_X509_STORE_CTX_get_error 513 568 #define X509_STORE_CTX_get_error_depth wolfSSL_X509_STORE_CTX_get_error_depth … … 524 579 #define X509_STORE_CTX_get0_store wolfSSL_X509_STORE_CTX_get0_store 525 580 #define X509_STORE_CTX_get0_cert wolfSSL_X509_STORE_CTX_get0_cert 581 #define X509_STORE_CTX_trusted_stack wolfSSL_X509_STORE_CTX_trusted_stack 526 582 527 583 #define X509_STORE_set_verify_cb(s, c) \ … … 541 597 #define X509_STORE_CTX_get1_issuer wolfSSL_X509_STORE_CTX_get1_issuer 542 598 #define X509_STORE_CTX_set_time wolfSSL_X509_STORE_CTX_set_time 599 #define X509_VERIFY_PARAM_new wolfSSL_X509_VERIFY_PARAM_new 600 #define X509_VERIFY_PARAM_free wolfSSL_X509_VERIFY_PARAM_free 601 #define X509_VERIFY_PARAM_set_flags wolfSSL_X509_VERIFY_PARAM_set_flags 602 #define X509_VERIFY_PARAM_get_flags wolfSSL_X509_VERIFY_PARAM_get_flags 603 #define X509_VERIFY_PARAM_clear_flags wolfSSL_X509_VERIFY_PARAM_clear_flags 543 604 #define X509_VERIFY_PARAM_set_hostflags wolfSSL_X509_VERIFY_PARAM_set_hostflags 544 605 #define X509_VERIFY_PARAM_set1_host wolfSSL_X509_VERIFY_PARAM_set1_host … … 550 611 #define X509_LOOKUP_hash_dir wolfSSL_X509_LOOKUP_hash_dir 551 612 #define X509_LOOKUP_file wolfSSL_X509_LOOKUP_file 613 #define X509_LOOKUP_ctrl wolfSSL_X509_LOOKUP_ctrl 552 614 553 615 #define d2i_X509_CRL wolfSSL_d2i_X509_CRL … … 562 624 563 625 #define X509_get_X509_PUBKEY wolfSSL_X509_get_X509_PUBKEY 626 #define X509_REQ_get_X509_PUBKEY wolfSSL_X509_get_X509_PUBKEY 564 627 #define X509_get0_tbs_sigalg wolfSSL_X509_get0_tbs_sigalg 565 628 #define X509_PUBKEY_get0_param wolfSSL_X509_PUBKEY_get0_param … … 578 641 579 642 #define X509_OBJECT_free_contents wolfSSL_X509_OBJECT_free_contents 580 #define X509_subject_name_hash wolfSSL_X509_subject_name_hash581 643 582 644 #define X509_check_purpose(...) 0 … … 610 672 #define BIO_f_ssl wolfSSL_BIO_f_ssl 611 673 #define BIO_new_socket wolfSSL_BIO_new_socket 674 #ifndef NO_WOLFSSL_STUB 675 #define BIO_new_connect wolfSSL_BIO_new_connect 676 #define BIO_set_conn_port wolfSSL_BIO_set_conn_port 677 #define BIO_do_connect wolfSSL_BIO_do_connect 678 #endif 612 679 #define SSL_set_bio wolfSSL_set_bio 613 680 #define BIO_set_ssl wolfSSL_BIO_set_ssl … … 652 719 #define sk_ASN1_OBJECT_free wolfSSL_sk_ASN1_OBJECT_free 653 720 721 #define ASN1_TIME_new wolfSSL_ASN1_TIME_new 722 #define ASN1_UTCTIME_new wolfSSL_ASN1_TIME_new 654 723 #define ASN1_TIME_free wolfSSL_ASN1_TIME_free 724 #define ASN1_UTCTIME_free wolfSSL_ASN1_TIME_free 655 725 #define ASN1_TIME_adj wolfSSL_ASN1_TIME_adj 656 726 #define ASN1_TIME_print wolfSSL_ASN1_TIME_print 657 727 #define ASN1_TIME_to_generalizedtime wolfSSL_ASN1_TIME_to_generalizedtime 728 #define ASN1_TIME_set wolfSSL_ASN1_TIME_set 729 #define ASN1_TIME_set_string wolfSSL_ASN1_TIME_set_string 730 #define ASN1_TIME_to_string wolfSSL_ASN1_TIME_to_string 658 731 #define ASN1_GENERALIZEDTIME_print wolfSSL_ASN1_GENERALIZEDTIME_print 659 732 #define ASN1_GENERALIZEDTIME_free wolfSSL_ASN1_GENERALIZEDTIME_free … … 661 734 #define ASN1_tag2str wolfSSL_ASN1_tag2str 662 735 736 #define a2i_ASN1_INTEGER wolfSSL_a2i_ASN1_INTEGER 663 737 #define i2a_ASN1_INTEGER wolfSSL_i2a_ASN1_INTEGER 664 738 #define i2c_ASN1_INTEGER wolfSSL_i2c_ASN1_INTEGER … … 671 745 672 746 #define i2a_ASN1_OBJECT wolfSSL_i2a_ASN1_OBJECT 673 747 #define i2d_ASN1_OBJECT wolfSSL_i2d_ASN1_OBJECT 748 749 #define ASN1_STRING_new wolfSSL_ASN1_STRING_new 750 #define ASN1_STRING_free wolfSSL_ASN1_STRING_free 751 #define ASN1_STRING_cmp wolfSSL_ASN1_STRING_cmp 674 752 #define ASN1_STRING_data wolfSSL_ASN1_STRING_data 675 753 #define ASN1_STRING_get0_data wolfSSL_ASN1_STRING_data 676 754 #define ASN1_STRING_length wolfSSL_ASN1_STRING_length 677 755 #define ASN1_STRING_to_UTF8 wolfSSL_ASN1_STRING_to_UTF8 756 #define ASN1_UNIVERSALSTRING_to_string wolfSSL_ASN1_UNIVERSALSTRING_to_string 678 757 #define ASN1_STRING_print_ex wolfSSL_ASN1_STRING_print_ex 679 758 #define ASN1_STRING_print(x, y) wolfSSL_ASN1_STRING_print ((WOLFSSL_BIO*)(x), (WOLFSSL_ASN1_STRING*)(y)) 680 759 #define d2i_DISPLAYTEXT wolfSSL_d2i_DISPLAYTEXT 760 #ifndef NO_WOLFSSL_STUB 761 #define ASN1_STRING_set_default_mask_asc(...) 1 762 #endif 763 764 #define ASN1_PRINTABLE_type(...) V_ASN1_PRINTABLESTRING 681 765 682 766 #define ASN1_UTCTIME_pr wolfSSL_ASN1_UTCTIME_pr … … 799 883 NULL, __LINE__, __FILE__, NULL) 800 884 #endif 885 #ifndef WOLFCRYPT_ONLY 886 #define EVPerr(func, reason) wolfSSL_ERR_put_error(ERR_LIB_EVP, \ 887 (func), (reason), __FILE__, __LINE__) 888 #else 889 #define EVPerr(func, reason) WOLFSSL_ERROR_LINE((reason), \ 890 NULL, __LINE__, __FILE__, NULL) 891 #endif 801 892 802 893 #define SSLv23_server_method wolfSSLv23_server_method … … 860 951 #define CONF_modules_free() 861 952 #define ENGINE_cleanup() 862 #define HMAC_CTX_cleanup wolfSSL_HMAC_cleanup863 953 #define SSL_CTX_need_tmp_RSA(ctx) 0 864 954 #define SSL_CTX_set_tmp_rsa(ctx,rsa) 1 … … 897 987 #define sk_X509_NAME_find wolfSSL_sk_X509_NAME_find 898 988 899 enum { 900 GEN_DNS = 0x02, /* ASN_DNS_TYPE */ 901 GEN_EMAIL = 0x01, /* ASN_RFC822_TYPE */ 902 GEN_URI = 0x06, /* ASN_URI_TYPE */ 903 GEN_IPADD = 0x07, 904 GEN_RID = 0x08, /* Registered ID, not supported */ 905 }; 906 989 #define DHparams_dup wolfSSL_DH_dup 907 990 #define PEM_read_bio_DHparams wolfSSL_PEM_read_bio_DHparams 908 991 #define PEM_read_bio_DSAparams wolfSSL_PEM_read_bio_DSAparams … … 920 1003 #define sk_SSL_CIPHER_value wolfSSL_sk_SSL_CIPHER_value 921 1004 #endif /* OPENSSL_ALL || WOLFSSL_HAPROXY */ 922 #define sk_SSL_CIPHER_dup wolfSSL_sk_ SSL_CIPHER_dup1005 #define sk_SSL_CIPHER_dup wolfSSL_sk_dup 923 1006 #define sk_SSL_CIPHER_free wolfSSL_sk_SSL_CIPHER_free 924 1007 #define sk_SSL_CIPHER_find wolfSSL_sk_SSL_CIPHER_find … … 929 1012 930 1013 #define SSL_CTRL_CHAIN 88 931 #define GEN_IPADD 7932 1014 #define ERR_LIB_SSL 20 933 1015 #define SSL_R_SHORT_READ 10 934 1016 #define ERR_R_PEM_LIB 9 935 #define V_ASN1_IA5STRING 22936 #define V_ASN1_UTF8STRING 12937 1017 #define SSL_CTRL_MODE 33 938 1018 … … 969 1049 #define SSL_renegotiate wolfSSL_Rehandshake 970 1050 #define SSL_get_secure_renegotiation_support wolfSSL_SSL_get_secure_renegotiation_support 1051 #define SSL_renegotiate_pending wolfSSL_SSL_renegotiate_pending 971 1052 #define SSL_set_tlsext_debug_arg wolfSSL_set_tlsext_debug_arg 972 1053 #define SSL_set_tlsext_status_type wolfSSL_set_tlsext_status_type … … 992 1073 993 1074 #define SSL_get_tlsext_status_exts wolfSSL_get_tlsext_status_exts 1075 1076 #define SSL_CTX_get_tlsext_ticket_keys wolfSSL_CTX_get_tlsext_ticket_keys 1077 #define SSL_CTX_set_tlsext_ticket_keys wolfSSL_CTX_set_tlsext_ticket_keys 994 1078 995 1079 #define SSL_CTRL_CLEAR_NUM_RENEGOTIATIONS 11 … … 1099 1183 1100 1184 #endif /* HAVE_STUNNEL || WOLFSSL_NGINX */ 1185 1186 #ifndef NO_WOLFSSL_STUB 1187 #define b2i_PrivateKey_bio(...) NULL 1188 #define b2i_PVK_bio(...) NULL 1189 #endif 1190 1101 1191 #define SSL_CTX_get_default_passwd_cb wolfSSL_CTX_get_default_passwd_cb 1102 1192 #define SSL_CTX_get_default_passwd_cb_userdata wolfSSL_CTX_get_default_passwd_cb_userdata … … 1136 1226 1137 1227 #define OPENSSL_STRING WOLFSSL_STRING 1228 #define OPENSSL_CSTRING WOLFSSL_STRING 1138 1229 1139 1230 #define TLSEXT_TYPE_application_layer_protocol_negotiation 16 … … 1172 1263 #define OPENSSL_config wolfSSL_OPENSSL_config 1173 1264 #define OPENSSL_memdup wolfSSL_OPENSSL_memdup 1265 #define OPENSSL_cleanse wolfSSL_OPENSSL_cleanse 1174 1266 #define SSL_CTX_get_timeout wolfSSL_SSL_CTX_get_timeout 1175 1267 #define SSL_CTX_set_tmp_ecdh wolfSSL_SSL_CTX_set_tmp_ecdh 1268 #define SSL_CTX_set_ecdh_auto(...) 1176 1269 #define SSL_CTX_remove_session wolfSSL_SSL_CTX_remove_session 1177 1270 #define SSL_get_rbio wolfSSL_SSL_get_rbio … … 1184 1277 #define SSL_CTX_set_tlsext_status_cb wolfSSL_CTX_set_tlsext_status_cb 1185 1278 #define SSL_CTX_get_extra_chain_certs wolfSSL_CTX_get_extra_chain_certs 1279 #define sk_OPENSSL_STRING_num wolfSSL_sk_WOLFSSL_STRING_num 1186 1280 #define sk_OPENSSL_STRING_value wolfSSL_sk_WOLFSSL_STRING_value 1281 #define sk_OPENSSL_PSTRING_num wolfSSL_sk_WOLFSSL_STRING_num 1282 #define sk_OPENSSL_PSTRING_value (WOLFSSL_STRING*)wolfSSL_sk_WOLFSSL_STRING_value 1283 #define sk_OPENSSL_STRING_free wolfSSL_sk_free 1187 1284 #define SSL_get0_alpn_selected wolfSSL_get0_alpn_selected 1188 1285 #define SSL_select_next_proto wolfSSL_select_next_proto … … 1206 1303 #define SSL_CTX_set_srp_password wolfSSL_CTX_set_srp_password 1207 1304 #define SSL_CTX_set_srp_username wolfSSL_CTX_set_srp_username 1305 #define SSL_CTX_set_srp_strength wolfSSL_CTX_set_srp_strength 1208 1306 #define SSL_get_SSL_CTX wolfSSL_get_SSL_CTX 1209 1307 #define SSL_get0_param wolfSSL_get0_param 1308 #define SSL_get_srp_username wolfSSL_get_srp_username 1210 1309 1211 1310 #define ERR_NUM_ERRORS 16 … … 1237 1336 #define X509_OBJECT_get_type(x) 0 1238 1337 1239 #define OpenSSL_version(x) wolfSSL_lib_version() 1338 #define OpenSSL_version(x) wolfSSL_OpenSSL_version() 1339 1340 #ifndef NO_WOLFSSL_STUB 1341 #define OBJ_create_objects(...) 1342 #endif 1240 1343 1241 1344 #ifdef __cplusplus -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/stack.h
r457 r464 35 35 WOLFSSL_API int wolfSSL_sk_GENERIC_push(WOLFSSL_STACK *sk, void *data); 36 36 WOLFSSL_API void wolfSSL_sk_pop_free(WOLFSSL_STACK *st, void (*func) (void *)); 37 WOLFSSL_API void wolfSSL_sk_CONF_VALUE_free(WOLF_STACK_OF(WOLFSSL_CONF_VALUE)* sk);38 37 WOLFSSL_API WOLFSSL_STACK *wolfSSL_sk_new_null(void); 39 38 -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/x509.h
r457 r464 6 6 #include <wolfssl/openssl/ec.h> 7 7 #include <wolfssl/openssl/ecdsa.h> 8 #include <wolfssl/openssl/pkcs7.h> 8 9 9 10 /* wolfSSL_X509_print_ex flags */ … … 24 25 25 26 #define XN_FLAG_FN_SN 0 26 #define XN_FLAG_SEP_CPLUS_SPC 2 27 #define XN_FLAG_ONELINE 0 28 #define XN_FLAG_COMPAT 0 29 #define XN_FLAG_RFC2253 1 30 #define XN_FLAG_SEP_COMMA_PLUS (1 << 16) 31 #define XN_FLAG_SEP_CPLUS_SPC (2 << 16) 32 #define XN_FLAG_SEP_SPLUS_SPC (3 << 16) 33 #define XN_FLAG_SEP_MULTILINE (4 << 16) 34 #define XN_FLAG_SEP_MASK (0xF << 16) 35 #define XN_FLAG_DN_REV (1 << 20) 36 #define XN_FLAG_FN_LN (1 << 21) 37 #define XN_FLAG_FN_OID (2 << 21) 38 #define XN_FLAG_FN_NONE (3 << 21) 39 #define XN_FLAG_FN_MASK (3 << 21) 40 #define XN_FLAG_SPC_EQ (1 << 23) 41 #define XN_FLAG_DUMP_UNKNOWN_FIELDS (1 << 24) 42 #define XN_FLAG_FN_ALIGN (1 << 25) 43 44 #define XN_FLAG_MULTILINE 0xFFFF -
azure_iot_hub_f767zi/trunk/wolfssl-4.7.0/wolfssl/openssl/x509v3.h
r457 r464 41 41 42 42 typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long); 43 typedef int (*X509V3_EXT_I2D) (void *, unsigned char **); 43 44 typedef STACK_OF(CONF_VALUE) *(*X509V3_EXT_I2V) ( 44 45 struct WOLFSSL_v3_ext_method *method, … … 54 55 void *usr_data; 55 56 X509V3_EXT_D2I d2i; 57 X509V3_EXT_I2D i2d; 56 58 X509V3_EXT_I2V i2v; 57 59 X509V3_EXT_I2S i2s; … … 62 64 WOLFSSL_ASN1_OBJECT *obj; 63 65 WOLFSSL_ASN1_BOOLEAN crit; 64 WOLFSSL_ASN1_STRING value;66 ASN1_OCTET_STRING value; /* DER format of extension */ 65 67 WOLFSSL_v3_ext_method ext_method; 66 68 WOLFSSL_STACK* ext_sk; /* For extension specific data */ … … 82 84 #define X509V3_CTX WOLFSSL_X509V3_CTX 83 85 86 #define CTX_TEST 0x1 87 84 88 typedef struct WOLFSSL_AUTHORITY_KEYID AUTHORITY_KEYID; 85 89 typedef struct WOLFSSL_BASIC_CONSTRAINTS BASIC_CONSTRAINTS; … … 87 91 typedef WOLF_STACK_OF(WOLFSSL_ACCESS_DESCRIPTION) WOLFSSL_AUTHORITY_INFO_ACCESS; 88 92 93 WOLFSSL_API WOLFSSL_BASIC_CONSTRAINTS* wolfSSL_BASIC_CONSTRAINTS_new(void); 89 94 WOLFSSL_API void wolfSSL_BASIC_CONSTRAINTS_free(WOLFSSL_BASIC_CONSTRAINTS *bc); 95 WOLFSSL_API WOLFSSL_AUTHORITY_KEYID* wolfSSL_AUTHORITY_KEYID_new(void); 90 96 WOLFSSL_API void wolfSSL_AUTHORITY_KEYID_free(WOLFSSL_AUTHORITY_KEYID *id); 91 97 WOLFSSL_API const WOLFSSL_v3_ext_method* wolfSSL_X509V3_EXT_get( … … 96 102 WOLFSSL_API int wolfSSL_X509V3_EXT_print(WOLFSSL_BIO *out, 97 103 WOLFSSL_X509_EXTENSION *ext, unsigned long flag, int indent); 104 WOLFSSL_API int wolfSSL_X509V3_EXT_add_nconf(WOLFSSL_CONF *conf, WOLFSSL_X509V3_CTX *ctx, 105 const char *section, WOLFSSL_X509 *cert); 98 106 99 107 #define BASIC_CONSTRAINTS_free wolfSSL_BASIC_CONSTRAINTS_free … … 104 112 #define X509V3_EXT_get wolfSSL_X509V3_EXT_get 105 113 #define X509V3_EXT_d2i wolfSSL_X509V3_EXT_d2i 114 #define X509V3_EXT_add_nconf wolfSSL_X509V3_EXT_add_nconf 115 #ifndef NO_WOLFSSL_STUB 116 #define X509V3_parse_list(...) NULL 117 #endif 106 118 #define i2s_ASN1_OCTET_STRING wolfSSL_i2s_ASN1_STRING 107 119 #define X509V3_EXT_print wolfSSL_X509V3_EXT_print 108 #define X509V3_EXT_conf_nid wolfSSL_X509V3_EXT_conf_nid 109 #define X509V3_set_ctx wolfSSL_X509V3_set_ctx 110 #define X509V3_set_ctx_nodb wolfSSL_X509V3_set_ctx_nodb 120 #define X509V3_EXT_conf_nid wolfSSL_X509V3_EXT_conf_nid 121 #define X509V3_set_ctx wolfSSL_X509V3_set_ctx 122 #ifndef NO_WOLFSSL_STUB 123 #define X509V3_set_nconf(...) 124 #endif 125 #define X509V3_set_ctx_test(ctx) wolfSSL_X509V3_set_ctx(ctx, NULL, NULL, NULL, NULL, CTX_TEST) 126 #define X509V3_set_ctx_nodb wolfSSL_X509V3_set_ctx_nodb 127 #define X509v3_get_ext_count wolfSSL_sk_num 111 128 112 129 #ifdef __cplusplus
Note:
See TracChangeset
for help on using the changeset viewer.