From 68b42b1b5afb91a4497264dbe90037bfc47ccd86 Mon Sep 17 00:00:00 2001
From: "konstantin.papizh" <konstantin.papizh@demlabs.net>
Date: Thu, 25 Jul 2019 20:06:57 +0300
Subject: [PATCH] Make cert visible right after it's added with tool

---
 dap_chain_cert.c | 21 +++++++++++++++++++--
 1 file changed, 19 insertions(+), 2 deletions(-)

diff --git a/dap_chain_cert.c b/dap_chain_cert.c
index d98289a136..097360e985 100755
--- a/dap_chain_cert.c
+++ b/dap_chain_cert.c
@@ -31,6 +31,7 @@
 #include "uthash.h"
 #include "utlist.h"
 #include "dap_common.h"
+#include "dap_config.h"
 #include "dap_string.h"
 #include "dap_strfuncs.h"
 #include "dap_chain_cert.h"
@@ -278,8 +279,24 @@ dap_chain_cert_t * dap_chain_cert_find_by_name(const char * a_cert_name)
     HASH_FIND_STR(s_certs,a_cert_name,l_cert_item);
     if ( l_cert_item ){
         return l_cert_item->cert ;
-    }else
-        return NULL;
+    } else {
+            dap_chain_cert_t *l_cert = NULL;
+            uint16_t l_ca_folders_size = 0;
+            char **l_ca_folders;
+            char *l_cert_path = NULL;
+            l_ca_folders = dap_config_get_array_str(g_config,"resources","ca_folders",&l_ca_folders_size);
+            for (uint16_t i=0; i < l_ca_folders_size; ++i) {
+                l_cert_path = dap_strjoin("", l_ca_folders[i], "/", a_cert_name, ".dcert", (char*)NULL);
+                l_cert = dap_chain_cert_file_load(l_cert_path);
+                if (l_cert) {
+                    goto ret;
+                }
+            }
+    ret:
+            if (l_cert_path)
+                DAP_DELETE(l_cert_path);
+            return l_cert;
+        }
 }
 
 
-- 
GitLab