[Pkg-gnupg-commit] [gnupg2] 140/185: w32: Change directory on daemon startup.

Daniel Kahn Gillmor dkg at fifthhorseman.net
Mon Aug 7 11:55:30 UTC 2017


This is an automated email from the git hooks/post-receive script.

dkg pushed a commit to branch experimental
in repository gnupg2.

commit 78ebc62604d77600b9865950610717d28c6027a2
Author: Marcus Brinkmann <marcus.brinkmann at ruhr-uni-bochum.de>
Date:   Mon Jul 24 16:31:55 2017 +0200

    w32: Change directory on daemon startup.
    
    * agent/gpg-agent.c [HAVE_W32_SYSTEM]: Include <direct.h>.
    (main) [HAVE_W32_SYSTEM]: Change working directory to \.
    * dirmngr/dirmngr.c [HAVE_W32_SYSTEM]: Include <direct.h>.
    (main) [HAVE_W32_SYSTEM]: Change working directory to \.
    * scd/scdaemon.c [HAVE_W32_SYSTEM]: Include <direct.h>.
    (main) [HAVE_W32_SYSTEM]: Change working directory to \.
    
    Signed-off-by: Marcus Brinkmann <mb at g10code.com>
    GnuPG-bug-id: 2670
---
 agent/gpg-agent.c |  6 ++++++
 dirmngr/dirmngr.c | 13 ++++++++++---
 scd/scdaemon.c    | 13 ++++++++++---
 3 files changed, 26 insertions(+), 6 deletions(-)

diff --git a/agent/gpg-agent.c b/agent/gpg-agent.c
index efaebfd..90e8a26 100644
--- a/agent/gpg-agent.c
+++ b/agent/gpg-agent.c
@@ -39,6 +39,7 @@
 # endif
 # include <aclapi.h>
 # include <sddl.h>
+# include <direct.h>
 #else /*!HAVE_W32_SYSTEM*/
 # include <sys/socket.h>
 # include <sys/un.h>
@@ -1558,6 +1559,11 @@ main (int argc, char **argv )
       (void)csh_style;
       (void)nodetach;
       initialize_modules ();
+      if (_chdir("\\"))
+        {
+          log_error ("chdir to / failed: %s\n", strerror (errno));
+          exit (1);
+        }
 
 #else /*!HAVE_W32_SYSTEM*/
 
diff --git a/dirmngr/dirmngr.c b/dirmngr/dirmngr.c
index 6eabca9..b19b418 100644
--- a/dirmngr/dirmngr.c
+++ b/dirmngr/dirmngr.c
@@ -30,9 +30,11 @@
 #include <assert.h>
 #include <time.h>
 #include <fcntl.h>
-#ifndef HAVE_W32_SYSTEM
-#include <sys/socket.h>
-#include <sys/un.h>
+#ifdef HAVE_W32_SYSTEM
+# include <direct.h>
+#else
+# include <sys/socket.h>
+# include <sys/un.h>
 #endif
 #include <sys/stat.h>
 #include <unistd.h>
@@ -1268,6 +1270,11 @@ main (int argc, char **argv)
 #ifdef HAVE_W32_SYSTEM
       (void)csh_style;
       (void)nodetach;
+      if (_chdir("\\"))
+        {
+          log_error ("chdir to / failed: %s\n", strerror (errno));
+          exit (1);
+        }
 
       pid = getpid ();
       es_printf ("set %s=%s;%lu;1\n",
diff --git a/scd/scdaemon.c b/scd/scdaemon.c
index 26e89dd..bbb0433 100644
--- a/scd/scdaemon.c
+++ b/scd/scdaemon.c
@@ -29,9 +29,11 @@
 #include <assert.h>
 #include <time.h>
 #include <fcntl.h>
-#ifndef HAVE_W32_SYSTEM
-#include <sys/socket.h>
-#include <sys/un.h>
+#ifdef HAVE_W32_SYSTEM
+# include <direct.h>
+#else
+# include <sys/socket.h>
+# include <sys/un.h>
 #endif /*HAVE_W32_SYSTEM*/
 #include <unistd.h>
 #include <signal.h>
@@ -811,6 +813,11 @@ main (int argc, char **argv )
 #ifdef HAVE_W32_SYSTEM
       (void)csh_style;
       (void)nodetach;
+      if (_chdir("\\"))
+        {
+          log_error ("chdir to / failed: %s\n", strerror (errno));
+          exit (1);
+        }
 #else
       pid = fork ();
       if (pid == (pid_t)-1)

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gnupg/gnupg2.git



More information about the Pkg-gnupg-commit mailing list