]> granicus.if.org Git - curl/commitdiff
nss: provide more specific error messages on failed init
authorKamil Dudka <kdudka@redhat.com>
Fri, 26 Apr 2019 10:20:21 +0000 (12:20 +0200)
committerKamil Dudka <kdudka@redhat.com>
Mon, 29 Apr 2019 08:29:53 +0000 (10:29 +0200)
Closes #3808

lib/vtls/nss.c

index 08ee1aaaf25a8d3b03850293c8688820cde3ad87..8cb783ada2bf4d686bc05f86af97912b4e641efd 100644 (file)
@@ -1305,6 +1305,8 @@ static void nss_unload_module(SECMODModule **pmod)
 static CURLcode nss_init_core(struct Curl_easy *data, const char *cert_dir)
 {
   NSSInitParameters initparams;
+  PRErrorCode err;
+  const char *err_name;
 
   if(nss_context != NULL)
     return CURLE_OK;
@@ -1325,7 +1327,9 @@ static CURLcode nss_init_core(struct Curl_easy *data, const char *cert_dir)
     if(nss_context != NULL)
       return CURLE_OK;
 
-    infof(data, "Unable to initialize NSS database\n");
+    err = PR_GetError();
+    err_name = nss_error_to_name(err);
+    infof(data, "Unable to initialize NSS database: %d (%s)\n", err, err_name);
   }
 
   infof(data, "Initializing NSS with certpath: none\n");
@@ -1335,7 +1339,9 @@ static CURLcode nss_init_core(struct Curl_easy *data, const char *cert_dir)
   if(nss_context != NULL)
     return CURLE_OK;
 
-  infof(data, "Unable to initialize NSS\n");
+  err = PR_GetError();
+  err_name = nss_error_to_name(err);
+  failf(data, "Unable to initialize NSS: %d (%s)", err, err_name);
   return CURLE_SSL_CACERT_BADFILE;
 }