aboutsummaryrefslogtreecommitdiffstats
path: root/dirmngr
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>2020-10-21 14:59:38 +0000
committerWerner Koch <[email protected]>2020-10-21 15:00:32 +0000
commit7e22e08e2ab09cd3c2317f5e80e8ee47d46eff4b (patch)
tree3996132036db12b71643a087bee88515cb4bf8dc /dirmngr
parentw32: Make gnupg_remove and gnupg_rename_file Unicode aware (diff)
downloadgnupg-7e22e08e2ab09cd3c2317f5e80e8ee47d46eff4b.tar.gz
gnupg-7e22e08e2ab09cd3c2317f5e80e8ee47d46eff4b.zip
common: New functions gnupg_opendir et al.
* common/sysutils.h (struct gnupg_dirent_s): New. * common/sysutils.c: Include dirent.h. (struct gnupg_dir_s): New. (gnupg_opendir, gnupg_readdir, gnupg_closedir): New. Change all callers of opendir, readdir, and closedir to use these functions. -- GnuPG-bug-id: 5098
Diffstat (limited to 'dirmngr')
-rw-r--r--dirmngr/certcache.c10
-rw-r--r--dirmngr/crlcache.c22
-rw-r--r--dirmngr/dirmngr.c2
3 files changed, 15 insertions, 19 deletions
diff --git a/dirmngr/certcache.c b/dirmngr/certcache.c
index 04da510a0..9ca6069a2 100644
--- a/dirmngr/certcache.c
+++ b/dirmngr/certcache.c
@@ -364,8 +364,8 @@ static gpg_error_t
load_certs_from_dir (const char *dirname, unsigned int trustclass)
{
gpg_error_t err;
- DIR *dir;
- struct dirent *ep;
+ gnupg_dir_t dir;
+ gnupg_dirent_t ep;
char *p;
size_t n;
estream_t fp;
@@ -373,13 +373,13 @@ load_certs_from_dir (const char *dirname, unsigned int trustclass)
ksba_cert_t cert;
char *fname = NULL;
- dir = opendir (dirname);
+ dir = gnupg_opendir (dirname);
if (!dir)
{
return 0; /* We do not consider this a severe error. */
}
- while ( (ep=readdir (dir)) )
+ while ( (ep = gnupg_readdir (dir)) )
{
p = ep->d_name;
if (*p == '.' || !*p)
@@ -447,7 +447,7 @@ load_certs_from_dir (const char *dirname, unsigned int trustclass)
}
xfree (fname);
- closedir (dir);
+ gnupg_closedir (dir);
return 0;
}
diff --git a/dirmngr/crlcache.c b/dirmngr/crlcache.c
index 88b07cd7a..9d18b721f 100644
--- a/dirmngr/crlcache.c
+++ b/dirmngr/crlcache.c
@@ -101,10 +101,6 @@
#ifndef HAVE_W32_SYSTEM
#include <sys/utsname.h>
#endif
-#ifdef MKDIR_TAKES_ONE_ARG
-#undef mkdir
-#define mkdir(a,b) mkdir(a)
-#endif
#include "dirmngr.h"
#include "validate.h"
@@ -206,15 +202,15 @@ get_current_cache (void)
static int
create_directory_if_needed (const char *name)
{
- DIR *dir;
+ gnupg_dir_t dir;
char *fname;
fname = make_filename (opt.homedir_cache, name, NULL);
- dir = opendir (fname);
+ dir = gnupg_opendir (fname);
if (!dir)
{
log_info (_("creating directory '%s'\n"), fname);
- if (mkdir (fname, S_IRUSR|S_IWUSR|S_IXUSR) )
+ if (gnupg_mkdir (fname, "-rwx"))
{
int save_errno = errno;
log_error (_("error creating directory '%s': %s\n"),
@@ -225,7 +221,7 @@ create_directory_if_needed (const char *name)
}
}
else
- closedir (dir);
+ gnupg_closedir (dir);
xfree (fname);
return 0;
}
@@ -237,8 +233,8 @@ static int
cleanup_cache_dir (int force)
{
char *dname = make_filename (opt.homedir_cache, DBDIR_D, NULL);
- DIR *dir;
- struct dirent *de;
+ gnupg_dir_t dir;
+ gnupg_dirent_t de;
int problem = 0;
if (!force)
@@ -251,7 +247,7 @@ cleanup_cache_dir (int force)
}
}
- dir = opendir (dname);
+ dir = gnupg_opendir (dname);
if (!dir)
{
log_error (_("error reading directory '%s': %s\n"),
@@ -260,7 +256,7 @@ cleanup_cache_dir (int force)
return -1;
}
- while ((de = readdir (dir)))
+ while ((de = gnupg_readdir (dir)))
{
if (strcmp (de->d_name, "." ) && strcmp (de->d_name, ".."))
{
@@ -289,7 +285,7 @@ cleanup_cache_dir (int force)
}
}
xfree (dname);
- closedir (dir);
+ gnupg_closedir (dir);
return problem;
}
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c
index 838ab9487..06bb4bae6 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -1305,7 +1305,7 @@ main (int argc, char **argv)
{
log_error (_("error binding socket to '%s': %s\n"),
serv_addr.sun_path,
- gpg_strerror (gpg_error_from_errno (errno)));
+ gpg_strerror (gpg_error_from_syserror ()));
assuan_sock_close (fd);
dirmngr_exit (1);
}