BUG/MINOR: ssl: handle X509_get_default_cert_dir() returning NULL
ssl_store_load_locations_file() is using X509_get_default_cert_dir()
when using '@system-ca' as a parameter.
This function could return a NULL if OpenSSL was built with a
X509_CERT_DIR set to NULL, this is uncommon but let's fix this.
No backport needed, 2.6 only.
Fix issue #1637.
diff --git a/src/ssl_ckch.c b/src/ssl_ckch.c
index 438483c..c047b1c 100644
--- a/src/ssl_ckch.c
+++ b/src/ssl_ckch.c
@@ -1124,7 +1124,7 @@
if (!X509_STORE_load_locations(store, file, NULL)) {
goto err;
}
- } else {
+ } else if (dir) {
int n, i;
struct dirent **de_list;
@@ -1178,6 +1178,9 @@
}
free(de_list);
+ } else {
+ ha_alert("ca-file: couldn't load '%s'\n", path);
+ goto err;
}
objs = X509_STORE_get0_objects(store);