diff options
author | Martin Willi <martin@strongswan.org> | 2007-10-02 11:20:07 +0000 |
---|---|---|
committer | Martin Willi <martin@strongswan.org> | 2007-10-02 11:20:07 +0000 |
commit | 06011f688267e576899841abdba8122ab8b4d021 (patch) | |
tree | c9e992d9328f4ee0cecc59f5af632a8a49de524a /src/charon/control/interfaces/stroke_interface.c | |
parent | a3f100fa09fdd463ec2a70277fe222bc93ad8a72 (diff) | |
download | strongswan-06011f688267e576899841abdba8122ab8b4d021.tar.bz2 strongswan-06011f688267e576899841abdba8122ab8b4d021.tar.xz |
remove control sockets on startup, as we don't have privileges on shutdown
Diffstat (limited to 'src/charon/control/interfaces/stroke_interface.c')
-rwxr-xr-x | src/charon/control/interfaces/stroke_interface.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/charon/control/interfaces/stroke_interface.c b/src/charon/control/interfaces/stroke_interface.c index f6935d547..a15090e4a 100755 --- a/src/charon/control/interfaces/stroke_interface.c +++ b/src/charon/control/interfaces/stroke_interface.c @@ -51,9 +51,6 @@ #define PATH_BUF 256 #define STROKE_THREADS 3 -struct sockaddr_un socket_addr = { AF_UNIX, STROKE_SOCKET}; - - typedef struct private_stroke_interface_t private_stroke_interface_t; /** @@ -1676,7 +1673,6 @@ static void destroy(private_stroke_interface_t *this) { this->job->cancel(this->job); free(this); - unlink(socket_addr.sun_path); } /* @@ -1684,6 +1680,7 @@ static void destroy(private_stroke_interface_t *this) */ interface_t *interface_create() { + struct sockaddr_un socket_addr = { AF_UNIX, STROKE_SOCKET}; private_stroke_interface_t *this = malloc_thing(private_stroke_interface_t); mode_t old; @@ -1699,6 +1696,7 @@ interface_t *interface_create() return NULL; } + unlink(socket_addr.sun_path); old = umask(~(S_IRWXU | S_IRWXG)); if (bind(this->socket, (struct sockaddr *)&socket_addr, sizeof(socket_addr)) < 0) { |