return(NULL);
ret->certs=lh_new(x509_object_hash,x509_object_cmp);
ret->cache=1;
- ret->get_cert_methods=sk_new_null();
+ ret->get_cert_methods=sk_X509_LOOKUP_new_null();
ret->verify=NULL;
ret->verify_cb=NULL;
memset(&ret->ex_data,0,sizeof(CRYPTO_EX_DATA));
void X509_STORE_free(X509_STORE *vfy)
{
int i;
- STACK *sk;
+ STACK_OF(X509_LOOKUP) *sk;
X509_LOOKUP *lu;
if(vfy == NULL)
return;
sk=vfy->get_cert_methods;
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_X509_LOOKUP_num(sk); i++)
{
- lu=(X509_LOOKUP *)sk_value(sk,i);
+ lu=sk_X509_LOOKUP_value(sk,i);
X509_LOOKUP_shutdown(lu);
X509_LOOKUP_free(lu);
}
- sk_free(sk);
+ sk_X509_LOOKUP_free(sk);
CRYPTO_free_ex_data(x509_store_meth,(char *)vfy,&vfy->ex_data);
lh_doall(vfy->certs,cleanup);
X509_LOOKUP *X509_STORE_add_lookup(X509_STORE *v, X509_LOOKUP_METHOD *m)
{
int i;
- STACK *sk;
+ STACK_OF(X509_LOOKUP) *sk;
X509_LOOKUP *lu;
sk=v->get_cert_methods;
- for (i=0; i<sk_num(sk); i++)
+ for (i=0; i<sk_X509_LOOKUP_num(sk); i++)
{
- lu=(X509_LOOKUP *)sk_value(sk,i);
+ lu=sk_X509_LOOKUP_value(sk,i);
if (m == lu->method)
{
return(lu);
else
{
lu->store_ctx=v;
- if (sk_push(v->get_cert_methods,(char *)lu))
+ if (sk_X509_LOOKUP_push(v->get_cert_methods,lu))
return(lu);
else
{
if (tmp == NULL)
{
- for (i=vs->current_method; i<sk_num(ctx->get_cert_methods); i++)
+ for (i=vs->current_method; i<sk_X509_LOOKUP_num(ctx->get_cert_methods); i++)
{
- lu=(X509_LOOKUP *)sk_value(ctx->get_cert_methods,i);
+ lu=sk_X509_LOOKUP_value(ctx->get_cert_methods,i);
j=X509_LOOKUP_by_subject(lu,type,name,&stmp);
if (j < 0)
{
memset(&ctx->ex_data,0,sizeof(CRYPTO_EX_DATA));
}
+IMPLEMENT_STACK_OF(X509_LOOKUP)
typedef struct x509_lookup_st X509_LOOKUP;
+DECLARE_STACK_OF(X509_LOOKUP)
+
/* This is a static that defines the function interface */
typedef struct x509_lookup_method_st
{
#endif
/* These are external lookup methods */
- STACK *get_cert_methods;/* X509_LOOKUP */
+ STACK_OF(X509_LOOKUP) *get_cert_methods;
int (*verify)(X509_STORE_CTX *ctx); /* called to verify a certificate */
int (*verify_cb)(int ok,X509_STORE_CTX *ctx); /* error callback */