From 7a2b8836c1489b08a74dbcdcb79a8e19630813ef Mon Sep 17 00:00:00 2001 From: Marcel Poul Date: Mon, 15 Oct 2012 13:43:35 +0000 Subject: [PATCH] In pvd_setup_initializers() try to obtain ca cert dir name, if not passed as a param. --- emi.canl.canl-c/src/canl_cred.c | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/emi.canl.canl-c/src/canl_cred.c b/emi.canl.canl-c/src/canl_cred.c index c1ee783..b650c18 100644 --- a/emi.canl.canl-c/src/canl_cred.c +++ b/emi.canl.canl-c/src/canl_cred.c @@ -754,6 +754,8 @@ proxy_verify_desc *pvd_setup_initializers(char *cadir) { proxy_verify_ctx_desc *pvxd = NULL; proxy_verify_desc *pvd = NULL; + char *ca_cert_dirn = NULL; + int err = 0; pvd = (proxy_verify_desc*) malloc(sizeof(proxy_verify_desc)); pvxd = (proxy_verify_ctx_desc *)malloc(sizeof(proxy_verify_ctx_desc)); @@ -769,10 +771,18 @@ proxy_verify_desc *pvd_setup_initializers(char *cadir) proxy_verify_ctx_init(pvxd); proxy_verify_init(pvd, pvxd); + /* If cadir is not specified, do the best as to get the + standard CA certificates directory name */ + if (!cadir){ + err = proxy_get_filenames(0, NULL, &ca_cert_dirn, NULL, NULL, NULL); + if (!err) + cadir = ca_cert_dirn; + } + + /*cadir May still be NULL*/ pvd->pvxd->certdir = cadir; return pvd; - } void pvd_destroy_initializers(void *data) -- 1.8.2.3