#include "includes.h"
#include "system/filesys.h"
-#include "memcache.h"
+#include "../lib/util/memcache.h"
#include "../lib/async_req/async_sock.h"
#include "../lib/util/select.h"
#include "lib/socket/interfaces.h"
subreq = async_connect_send(state, state->ev, state->fd,
(struct sockaddr *)&state->ss,
- state->salen);
+ state->salen, NULL, NULL, NULL);
if ((subreq == NULL)
|| !tevent_req_set_endtime(
subreq, state->ev,
subreq = async_connect_send(state, state->ev, state->fd,
(struct sockaddr *)&state->ss,
- state->salen);
+ state->salen, NULL, NULL, NULL);
if (tevent_req_nomem(subreq, req)) {
return;
}
#ifdef HAVE_UNIXSOCKET
struct sockaddr_un sunaddr;
bool ok;
- int sock;
+ int sock = -1;
+ mode_t old_umask;
char *path = NULL;
+ old_umask = umask(0);
+
ok = directory_create_or_exist_strict(socket_dir,
sec_initial_uid(),
dir_perms);
if (!ok) {
- return -1;
+ goto out_close;
}
/* Create the socket file */
SAFE_FREE(path);
+ umask(old_umask);
return sock;
out_close:
if (sock != -1)
close(sock);
+ umask(old_umask);
return -1;
#else