Adding X509_LOOKUP_ctrl

pull/3738/head
Eric Blankenhorn 2021-01-18 16:10:00 -06:00
parent 47b9c5b054
commit 6cff3f8488
3 changed files with 47 additions and 3 deletions

View File

@ -24298,6 +24298,37 @@ WOLFSSL_X509_LOOKUP_METHOD* wolfSSL_X509_LOOKUP_file(void)
}
int wolfSSL_X509_LOOKUP_ctrl(WOLFSSL_X509_LOOKUP *ctx, int cmd,
const char *argc, long argl, char **ret)
{
/* control commands:
* X509_L_FILE_LOAD, X509_L_ADD_DIR, X509_L_ADD_STORE, X509_L_LOAD_STORE
*/
/* returns -1 if the X509_LOOKUP doesn't have an associated X509_LOOKUP_METHOD */
if (ctx != NULL) {
switch (cmd) {
case WOLFSSL_X509_L_FILE_LOAD:
case WOLFSSL_X509_L_ADD_DIR:
case WOLFSSL_X509_L_ADD_STORE:
case WOLFSSL_X509_L_LOAD_STORE:
return WOLFSSL_SUCCESS;
default:
break;
}
}
(void)argc; (void)argl; (void)ret;
return WOLFSSL_FAILURE;
}
WOLFSSL_X509_LOOKUP* wolfSSL_X509_STORE_add_lookup(WOLFSSL_X509_STORE* store,
WOLFSSL_X509_LOOKUP_METHOD* m)
{
@ -25764,8 +25795,8 @@ char* wolfSSL_CONF_get1_default_config_file(void)
WOLFSSL_X509_VERIFY_PARAM* wolfSSL_X509_VERIFY_PARAM_new(void)
{
WOLFSSL_X509_VERIFY_PARAM *param = NULL;
param = XMALLOC(sizeof(WOLFSSL_X509_VERIFY_PARAM), NULL,
DYNAMIC_TYPE_OPENSSL);
param = (WOLFSSL_X509_VERIFY_PARAM*)XMALLOC(
sizeof(WOLFSSL_X509_VERIFY_PARAM), NULL, DYNAMIC_TYPE_OPENSSL);
if (param != NULL)
XMEMSET(param, 0, sizeof(WOLFSSL_X509_VERIFY_PARAM ));
@ -25800,7 +25831,7 @@ int wolfSSL_X509_VERIFY_PARAM_get_flags(WOLFSSL_X509_VERIFY_PARAM *param)
int ret = 0;
if (param != NULL) {
ret = param->flags;
ret = (int)param->flags;
}
return ret;

View File

@ -112,6 +112,11 @@ typedef WOLFSSL_BUF_MEM BUF_MEM;
typedef WOLFSSL_GENERAL_NAMES GENERAL_NAMES;
typedef WOLFSSL_GENERAL_NAME GENERAL_NAME;
#define X509_L_FILE_LOAD WOLFSSL_X509_L_FILE_LOAD
#define X509_L_ADD_DIR WOLFSSL_X509_L_ADD_DIR
#define X509_L_ADD_STORE WOLFSSL_X509_L_ADD_STORE
#define X509_L_LOAD_STORE WOLFSSL_X509_L_LOAD_STORE
#define ASN1_UTCTIME WOLFSSL_ASN1_TIME
#define ASN1_GENERALIZEDTIME WOLFSSL_ASN1_TIME
@ -601,6 +606,7 @@ wolfSSL_X509_STORE_set_verify_cb((WOLFSSL_X509_STORE *)(s), (WOLFSSL_X509_STORE_
#define X509_LOOKUP_load_file wolfSSL_X509_LOOKUP_load_file
#define X509_LOOKUP_hash_dir wolfSSL_X509_LOOKUP_hash_dir
#define X509_LOOKUP_file wolfSSL_X509_LOOKUP_file
#define X509_LOOKUP_ctrl wolfSSL_X509_LOOKUP_ctrl
#define d2i_X509_CRL wolfSSL_d2i_X509_CRL
#define d2i_X509_CRL_fp wolfSSL_d2i_X509_CRL_fp

View File

@ -520,6 +520,11 @@ typedef struct WOLFSSL_COMP {
WOLFSSL_COMP_METHOD *method;
} WOLFSSL_COMP;
#define WOLFSSL_X509_L_FILE_LOAD 0x1
#define WOLFSSL_X509_L_ADD_DIR 0x2
#define WOLFSSL_X509_L_ADD_STORE 0x3
#define WOLFSSL_X509_L_LOAD_STORE 0x4
struct WOLFSSL_X509_LOOKUP_METHOD {
int type;
};
@ -1449,6 +1454,8 @@ WOLFSSL_API int wolfSSL_X509_LOOKUP_load_file(WOLFSSL_X509_LOOKUP*, const char*,
long);
WOLFSSL_API WOLFSSL_X509_LOOKUP_METHOD* wolfSSL_X509_LOOKUP_hash_dir(void);
WOLFSSL_API WOLFSSL_X509_LOOKUP_METHOD* wolfSSL_X509_LOOKUP_file(void);
WOLFSSL_API int wolfSSL_X509_LOOKUP_ctrl(WOLFSSL_X509_LOOKUP *ctx, int cmd,
const char *argc, long argl, char **ret);
WOLFSSL_API WOLFSSL_X509_LOOKUP* wolfSSL_X509_STORE_add_lookup(WOLFSSL_X509_STORE*,
WOLFSSL_X509_LOOKUP_METHOD*);