Move dhcpcd-qt lockfile to DHCPCD_TMP_DIR.
authorRoy Marples <roy@marples.name>
Wed, 6 May 2015 08:10:59 +0000 (08:10 +0000)
committerRoy Marples <roy@marples.name>
Wed, 6 May 2015 08:10:59 +0000 (08:10 +0000)
Set DHCPCD_TMP_DIR permissios via a macro rather than hard-coded.

src/dhcpcd-qt/dhcpcd-singleton.cpp
src/libdhcpcd/dhcpcd.h
src/libdhcpcd/wpa.c

index 6ca87f78e6c1f110340bf45c19174884ffbba646..5cf048d4dddc1a6a723f4325c1f2b69635907c20 100644 (file)
@@ -33,6 +33,7 @@
 #include <iostream>
 #include <string>
 
+#include "dhcpcd.h"
 #include "dhcpcd-singleton.h"
 
 using namespace std;
@@ -53,7 +54,16 @@ bool DhcpcdSingleton::lock()
        string file;
        const char *display;
 
-       file = "/tmp/.dhcpcd-qt-";
+       if (mkdir(DHCPCD_TMP_DIR, DHCPCD_TMP_DIR_PERM) == -1 &&
+           errno != EEXIST)
+       {
+               cerr << "dhcpcd-qt: " << "mkdir: " << DHCPCD_TMP_DIR << ": "
+                   << strerror(errno) << endl;
+               return false;
+       }
+
+       file = DHCPCD_TMP_DIR;
+       file += "/dhcpcd-qt-";
        file += getlogin();
        display = getenv("DISPLAY");
        if (display && *display != '\0' && strchr(display, '/') == NULL) {
index bdac29abd14505690a337a5ecb69966c2ad36673..92635eefc3b73628282a216e410f5c9ceda1812c 100644 (file)
@@ -50,6 +50,9 @@ extern "C" {
 #ifndef DHCPCD_TMP_DIR
 #define DHCPCD_TMP_DIR         "/tmp/dhcpcd"
 #endif
+#ifndef DHCPCD_TMP_DIR_PERM
+#define DHCPCD_TMP_DIR_PERM    0700
+#endif
 
 #define DHCPCD_RETRYOPEN       100     /* milliseconds */
 #define DHCPCD_WPA_PING                500     /* milliseconds */
index 0a3967967fbe163e0cd84a00f41afa9c5f539216..db734d461590b296f86000a5514b921973de7e6a 100644 (file)
@@ -58,7 +58,7 @@ wpa_open(const char *ifname, char **path)
        socklen_t len;
        struct sockaddr_un sun;
 
-       if (mkdir(DHCPCD_TMP_DIR, 0700) == -1 && errno != EEXIST)
+       if (mkdir(DHCPCD_TMP_DIR, DHCPCD_TMP_DIR_PERM) == -1 && errno != EEXIST)
                return -1;
 
        if ((fd = socket(AF_UNIX,