#include <stdio.h>
#include <time.h>
#include <errno.h>
-#include <sys/types.h>
-#include <sys/stat.h>
#include "cryptlib.h"
-#include "lhash.h"
-#include "x509.h"
+
+#ifndef NO_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#ifdef MAC_OS_pre_X
+# include <stat.h>
+#else
+# include <sys/stat.h>
+#endif
+
+#include <openssl/lhash.h>
+#include <openssl/x509.h>
typedef struct lookup_dir_st
{
int num_dirs_alloced;
} BY_DIR;
-#ifndef NOPROTO
-static int dir_ctrl(X509_LOOKUP *ctx,int cmd,char *argp,long argl,char **ret);
+static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
+ char **ret);
static int new_dir(X509_LOOKUP *lu);
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);
-#else
-static int dir_ctrl();
-static int new_dir();
-static void free_dir();
-static int add_cert_dir();
-static int get_cert_by_subject();
-#endif
-
X509_LOOKUP_METHOD x509_dir_lookup=
{
"Load certs from files in a directory",
return(&x509_dir_lookup);
}
-static int dir_ctrl(X509_LOOKUP *ctx, int cmd, char *argp, long argl,
+static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
char **retp)
{
int ret=0;
ss=s;
s=p+1;
len=(int)(p-ss);
- if (len == 0)
- {
- if (ss == p) break;
- continue;
- }
+ if (len == 0) continue;
for (j=0; j<ctx->num_dirs; j++)
if (strncmp(ctx->dirs[j],ss,(unsigned int)len) == 0)
continue;
memcpy(ip,ctx->dirs_type,(ctx->num_dirs_alloced-10)*
sizeof(int));
if (ctx->dirs != NULL)
- Free((char *)ctx->dirs);
+ Free(ctx->dirs);
if (ctx->dirs_type != NULL)
- Free((char *)ctx->dirs_type);
+ Free(ctx->dirs_type);
ctx->dirs=pp;
ctx->dirs_type=ip;
}
/* we have added it to the cache so now pull
* it out again */
CRYPTO_r_lock(CRYPTO_LOCK_X509_STORE);
- tmp=(X509_OBJECT *)lh_retrieve(xl->store_ctx->certs,
- (char *)&stmp);
+ tmp=(X509_OBJECT *)lh_retrieve(xl->store_ctx->certs,&stmp);
CRYPTO_r_unlock(CRYPTO_LOCK_X509_STORE);
if (tmp != NULL)