gpg: Make card key generation work again.
[gnupg.git] / dirmngr / certcache.c
index a8b84e6..969b3ec 100644 (file)
@@ -25,7 +25,7 @@
 #include <assert.h>
 #include <sys/types.h>
 #include <dirent.h>
-#include <pth.h>
+#include <npth.h>
 
 #include "dirmngr.h"
 #include "misc.h"
@@ -80,10 +80,10 @@ static cert_item_t cert_cache[256];
 
 /* This is the global cache_lock variable. In general looking is not
    needed but it would take extra efforts to make sure that no
-   indirect use of pth functions is done, so we simply lock it always.
-   Note: We can't use static initialization, as that is not available
-   through w32-pth.  */
-static pth_rwlock_t cert_cache_lock;
+   indirect use of npth functions is done, so we simply lock it
+   always.  Note: We can't use static initialization, as that is not
+   available through w32-pth.  */
+static npth_rwlock_t cert_cache_lock;
 
 /* Flag to track whether the cache has been initialized.  */
 static int initialization_done;
@@ -99,33 +99,45 @@ static unsigned int total_extra_certificates;
 static void
 init_cache_lock (void)
 {
-  if (!pth_rwlock_init (&cert_cache_lock))
+  int err;
+
+  err = npth_rwlock_init (&cert_cache_lock, NULL);
+  if (err)
     log_fatal (_("can't initialize certificate cache lock: %s\n"),
-              strerror (errno));
+              strerror (err));
 }
 
 static void
 acquire_cache_read_lock (void)
 {
-  if (!pth_rwlock_acquire (&cert_cache_lock, PTH_RWLOCK_RD, FALSE, NULL))
+  int err;
+
+  err = npth_rwlock_rdlock (&cert_cache_lock);
+  if (err)
     log_fatal (_("can't acquire read lock on the certificate cache: %s\n"),
-               strerror (errno));
+               strerror (err));
 }
 
 static void
 acquire_cache_write_lock (void)
 {
-  if (!pth_rwlock_acquire (&cert_cache_lock, PTH_RWLOCK_RW, FALSE, NULL))
+  int err;
+
+  err = npth_rwlock_wrlock (&cert_cache_lock);
+  if (err)
     log_fatal (_("can't acquire write lock on the certificate cache: %s\n"),
-               strerror (errno));
+               strerror (err));
 }
 
 static void
 release_cache_lock (void)
 {
-  if (!pth_rwlock_release (&cert_cache_lock))
+  int err;
+
+  err = npth_rwlock_unlock (&cert_cache_lock);
+  if (err)
     log_fatal (_("can't release lock on the certificate cache: %s\n"),
-               strerror (errno));
+               strerror (err));
 }
 
 
@@ -337,7 +349,7 @@ load_certs_from_dir (const char *dirname, int are_trusted)
   if (!dir)
     {
       if (opt.system_daemon)
-        log_info (_("can't access directory `%s': %s\n"),
+        log_info (_("can't access directory '%s': %s\n"),
                   dirname, strerror (errno));
       return 0; /* We do not consider this a severe error.  */
     }
@@ -356,7 +368,7 @@ load_certs_from_dir (const char *dirname, int are_trusted)
       fp = es_fopen (fname, "rb");
       if (!fp)
         {
-          log_error (_("can't open `%s': %s\n"),
+          log_error (_("can't open '%s': %s\n"),
                      fname, strerror (errno));
           continue;
         }
@@ -375,7 +387,7 @@ load_certs_from_dir (const char *dirname, int are_trusted)
       es_fclose (fp);
       if (err)
         {
-          log_error (_("can't parse certificate `%s': %s\n"),
+          log_error (_("can't parse certificate '%s': %s\n"),
                      fname, gpg_strerror (err));
           ksba_cert_release (cert);
           continue;
@@ -383,13 +395,13 @@ load_certs_from_dir (const char *dirname, int are_trusted)
 
       err = put_cert (cert, 1, are_trusted, NULL);
       if (gpg_err_code (err) == GPG_ERR_DUP_VALUE)
-        log_info (_("certificate `%s' already cached\n"), fname);
+        log_info (_("certificate '%s' already cached\n"), fname);
       else if (!err)
         {
           if (are_trusted)
-            log_info (_("trusted certificate `%s' loaded\n"), fname);
+            log_info (_("trusted certificate '%s' loaded\n"), fname);
           else
-            log_info (_("certificate `%s' loaded\n"), fname);
+            log_info (_("certificate '%s' loaded\n"), fname);
           if (opt.verbose)
             {
               p = get_fingerprint_hexstring_colon (cert);
@@ -401,7 +413,7 @@ load_certs_from_dir (const char *dirname, int are_trusted)
             }
         }
       else
-        log_error (_("error loading certificate `%s': %s\n"),
+        log_error (_("error loading certificate '%s': %s\n"),
                      fname, gpg_strerror (err));
       ksba_cert_release (cert);
     }
@@ -581,7 +593,7 @@ get_cert_byhexfpr (const char *string)
     }
   if (i!=20 || *s)
     {
-      log_error (_("invalid SHA1 fingerprint string `%s'\n"), string);
+      log_error (_("invalid SHA1 fingerprint string '%s'\n"), string);
       return NULL;
     }