summaryrefslogtreecommitdiff
path: root/lib/libcrypto/x509/by_dir.c
diff options
context:
space:
mode:
authorBob Beck <beck@cvs.openbsd.org>1999-09-29 04:37:45 +0000
committerBob Beck <beck@cvs.openbsd.org>1999-09-29 04:37:45 +0000
commitca679cff5e2a72ad205119c981e695c8cc640970 (patch)
tree691368331190f762b9f484d059ec119620396521 /lib/libcrypto/x509/by_dir.c
parent30902ef04e4a800063b5f4afdbf1732ad34aa6b3 (diff)
OpenSSL 0.9.4 merge
Diffstat (limited to 'lib/libcrypto/x509/by_dir.c')
-rw-r--r--lib/libcrypto/x509/by_dir.c57
1 files changed, 20 insertions, 37 deletions
diff --git a/lib/libcrypto/x509/by_dir.c b/lib/libcrypto/x509/by_dir.c
index 11725ec94c6..734e39ac773 100644
--- a/lib/libcrypto/x509/by_dir.c
+++ b/lib/libcrypto/x509/by_dir.c
@@ -63,9 +63,8 @@
#include <sys/stat.h>
#include "cryptlib.h"
-#include "lhash.h"
-#include "x509.h"
-#include "pem.h"
+#include <openssl/lhash.h>
+#include <openssl/x509.h>
typedef struct lookup_dir_st
{
@@ -76,21 +75,13 @@ 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,char *dir,int type);
+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",
@@ -105,17 +96,13 @@ X509_LOOKUP_METHOD x509_dir_lookup=
NULL, /* get_by_alias */
};
-X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir()
+X509_LOOKUP_METHOD *X509_LOOKUP_hash_dir(void)
{
return(&x509_dir_lookup);
}
-static int dir_ctrl(ctx,cmd,argp,argl,retp)
-X509_LOOKUP *ctx;
-int cmd;
-long argl;
-char *argp;
-char **retp;
+static int dir_ctrl(X509_LOOKUP *ctx, int cmd, const char *argp, long argl,
+ char **retp)
{
int ret=0;
BY_DIR *ld;
@@ -147,8 +134,7 @@ char **retp;
return(ret);
}
-static int new_dir(lu)
-X509_LOOKUP *lu;
+static int new_dir(X509_LOOKUP *lu)
{
BY_DIR *a;
@@ -167,8 +153,7 @@ X509_LOOKUP *lu;
return(1);
}
-static void free_dir(lu)
-X509_LOOKUP *lu;
+static void free_dir(X509_LOOKUP *lu)
{
BY_DIR *a;
int i;
@@ -182,17 +167,18 @@ X509_LOOKUP *lu;
Free(a);
}
-static int add_cert_dir(ctx,dir, type)
-BY_DIR *ctx;
-char *dir;
-int type;
+static int add_cert_dir(BY_DIR *ctx, const char *dir, int type)
{
int j,len;
int *ip;
- char *s,*ss,*p;
+ const char *s,*ss,*p;
char **pp;
- if (dir == NULL) return(0);
+ if (dir == NULL || !*dir)
+ {
+ X509err(X509_F_ADD_CERT_DIR,X509_R_INVALID_DIRECTORY);
+ return 0;
+ }
s=dir;
p=s;
@@ -243,11 +229,8 @@ int type;
return(1);
}
-static int get_cert_by_subject(xl,type,name,ret)
-X509_LOOKUP *xl;
-int type;
-X509_NAME *name;
-X509_OBJECT *ret;
+static int get_cert_by_subject(X509_LOOKUP *xl, int type, X509_NAME *name,
+ X509_OBJECT *ret)
{
BY_DIR *ctx;
union {
@@ -266,7 +249,7 @@ X509_OBJECT *ret;
BUF_MEM *b=NULL;
struct stat st;
X509_OBJECT stmp,*tmp;
- char *postfix="";
+ const char *postfix="";
if (name == NULL) return(0);