X-Git-Url: https://git.openssl.org/gitweb/?a=blobdiff_plain;f=crypto%2Fx509%2Fby_dir.c;h=3dd04d04aa34287d2816c7c06d8b0538c44dd29a;hb=34a42e1489bf4f45bfad069eceba56315d4713be;hp=1be530934fa89b2b66d9bdbc0c28bdeb5c75181f;hpb=b4faea50c35d92a67d1369355b49cc3efba78406;p=openssl.git diff --git a/crypto/x509/by_dir.c b/crypto/x509/by_dir.c index 1be530934f..3dd04d04aa 100644 --- a/crypto/x509/by_dir.c +++ b/crypto/x509/by_dir.c @@ -60,7 +60,7 @@ #include #include -#include "cryptlib.h" +#include "internal/cryptlib.h" #ifndef NO_SYS_TYPES_H # include @@ -69,8 +69,10 @@ # include #endif + #include #include +#include "internal/x509_int.h" typedef struct lookup_dir_hashes_st { unsigned long hash; @@ -98,7 +100,7 @@ static void free_dir(X509_LOOKUP *lu); static int add_cert_dir(BY_DIR *ctx, const char *dir, int type); static int get_cert_by_subject(X509_LOOKUP *xl, int type, X509_NAME *name, X509_OBJECT *ret); -X509_LOOKUP_METHOD x509_dir_lookup = { +static X509_LOOKUP_METHOD x509_dir_lookup = { "Load certs from files in a directory", new_dir, /* new */ free_dir, /* free */ @@ -247,19 +249,13 @@ static int add_cert_dir(BY_DIR *ctx, const char *dir, int type) return 1; } -static int get_cert_by_subject(X509_LOOKUP *xl, int type, X509_NAME *name, - X509_OBJECT *ret) +static int get_cert_by_subject(X509_LOOKUP *xl, X509_LOOKUP_TYPE type, + X509_NAME *name, X509_OBJECT *ret) { BY_DIR *ctx; union { - struct { - X509 st_x509; - X509_CINF st_x509_cinf; - } x509; - struct { - X509_CRL st_crl; - X509_CRL_INFO st_crl_info; - } crl; + X509 st_x509; + X509_CRL crl; } data; int ok = 0; int i, j, k; @@ -273,14 +269,12 @@ static int get_cert_by_subject(X509_LOOKUP *xl, int type, X509_NAME *name, stmp.type = type; if (type == X509_LU_X509) { - data.x509.st_x509.cert_info = &data.x509.st_x509_cinf; - data.x509.st_x509_cinf.subject = name; - stmp.data.x509 = &data.x509.st_x509; + data.st_x509.cert_info.subject = name; + stmp.data.x509 = &data.st_x509; postfix = ""; } else if (type == X509_LU_CRL) { - data.crl.st_crl.crl = &data.crl.st_crl_info; - data.crl.st_crl_info.issuer = name; - stmp.data.crl = &data.crl.st_crl; + data.crl.crl.issuer = name; + stmp.data.crl = &data.crl; postfix = "r"; } else { X509err(X509_F_GET_CERT_BY_SUBJECT, X509_R_WRONG_LOOKUP_TYPE);