1
0
Fork 0
mirror of git://git.gnupg.org/gnupg.git synced 2025-07-02 22:46:30 +02:00

Replace all calls to access by gnupg_access

* common/sysutils.c (gnupg_access): New.  Replace all calls to access
by this wrapper.
* common/homedir.c (w32_shgetfolderpath): Change to return UTF-8
directory name.
(standard_homedir): Adjust for change.
(w32_commondir, gnupg_cachedir): Ditto.
--

Also use SHGetFolderPathW instead of SHGetFolderPathA on Windows.

This is required to correctly handle non-ascii filenames on Windows.

GnuPG-bug-id: 5098
(cherry picked from commit c94ee1386e)
This commit is contained in:
Werner Koch 2020-10-20 10:43:55 +02:00
parent 25bec16d0b
commit dd5fd4a760
No known key found for this signature in database
GPG key ID: E3FDFF218E45B72B
28 changed files with 163 additions and 115 deletions

View file

@ -27,6 +27,7 @@
#include "g13.h"
#include "../common/i18n.h"
#include "../common/sysutils.h"
#include "keyblob.h"
#include "backend.h"
#include "be-encfs.h"
@ -116,7 +117,7 @@ be_take_lock_for_create (ctrl_t ctrl, const char *fname, dotlock_t *r_lock)
/* A quick check to see that no container with that name already
exists. */
if (!access (fname, F_OK))
if (!gnupg_access (fname, F_OK))
{
err = gpg_error (GPG_ERR_EEXIST);
goto leave;

View file

@ -588,7 +588,7 @@ g13_syshelp_i_know_what_i_am_doing (void)
char *fname;
fname = make_filename (gnupg_sysconfdir (), yesfile, NULL);
if (access (fname, F_OK))
if (gnupg_access (fname, F_OK))
{
log_info ("*******************************************************\n");
log_info ("* The G13 support for DM-Crypt is new and not matured.\n");

View file

@ -76,7 +76,7 @@ g13_mount_container (ctrl_t ctrl, const char *filename, const char *mountpoint)
else
{
/* A quick check to see whether we can the container exists. */
if (access (filename, R_OK))
if (gnupg_access (filename, R_OK))
return gpg_error_from_syserror ();
}

View file

@ -28,6 +28,7 @@
#include "g13.h"
#include "../common/i18n.h"
#include "../common/sysutils.h"
#include "suspend.h"
#include "keyblob.h"
@ -45,7 +46,7 @@ g13_suspend_container (ctrl_t ctrl, const char *filename)
int needs_syshelp;
/* A quick check to see whether the container exists. */
if (access (filename, R_OK))
if (gnupg_access (filename, R_OK))
return gpg_error_from_syserror ();
/* Decide whether we need to use the g13-syshelp because we can't
@ -80,7 +81,7 @@ g13_resume_container (ctrl_t ctrl, const char *filename)
char *mountpoint_buffer = NULL;
/* A quick check to see whether the container exists. */
if (access (filename, R_OK))
if (gnupg_access (filename, R_OK))
return gpg_error_from_syserror ();
/* Decide whether we need to use the g13-syshelp because we can't