From 1aa0503401d41fec48d4d4e30d8bbcbd847ff807 Mon Sep 17 00:00:00 2001 From: Andreas Schneider Date: Tue, 8 Jan 2013 14:21:23 +0100 Subject: [PATCH] Use the new directory_create_or_exist_strict() function. Reviewed-by: Andrew Bartlett --- source3/rpc_server/rpc_server.c | 2 +- source3/smbd/server.c | 2 +- source4/lib/messaging/messaging.c | 2 +- source4/ntp_signd/ntp_signd.c | 2 +- source4/smbd/service_named_pipe.c | 2 +- source4/winbind/wb_server.c | 9 +++++++-- 6 files changed, 12 insertions(+), 7 deletions(-) diff --git a/source3/rpc_server/rpc_server.c b/source3/rpc_server/rpc_server.c index 689e9238043..de54ddc6e28 100644 --- a/source3/rpc_server/rpc_server.c +++ b/source3/rpc_server/rpc_server.c @@ -133,7 +133,7 @@ int create_named_pipe_socket(const char *pipe_name) goto out; } - if (!directory_create_or_exist(np_dir, geteuid(), 0700)) { + if (!directory_create_or_exist_strict(np_dir, geteuid(), 0700)) { DEBUG(0, ("Failed to create pipe directory %s - %s\n", np_dir, strerror(errno))); goto out; diff --git a/source3/smbd/server.c b/source3/smbd/server.c index 1cd92882a96..00472db539e 100644 --- a/source3/smbd/server.c +++ b/source3/smbd/server.c @@ -1468,7 +1468,7 @@ extern void build_options(bool screen); return -1; } - if (!directory_create_or_exist(np_dir, geteuid(), 0700)) { + if (!directory_create_or_exist_strict(np_dir, geteuid(), 0700)) { DEBUG(0, ("Failed to create pipe directory %s - %s\n", np_dir, strerror(errno))); return -1; diff --git a/source4/lib/messaging/messaging.c b/source4/lib/messaging/messaging.c index 5966c29d5a7..c37c91eb27f 100644 --- a/source4/lib/messaging/messaging.c +++ b/source4/lib/messaging/messaging.c @@ -604,7 +604,7 @@ struct imessaging_context *imessaging_init(TALLOC_CTX *mem_ctx, msg->base_path = lpcfg_imessaging_path(msg, lp_ctx); - ok = directory_create_or_exist(msg->base_path, geteuid(), 0700); + ok = directory_create_or_exist_strict(msg->base_path, geteuid(), 0700); if (!ok) { talloc_free(msg); return NULL; diff --git a/source4/ntp_signd/ntp_signd.c b/source4/ntp_signd/ntp_signd.c index 0c3899fc55b..d1d8483ad7a 100644 --- a/source4/ntp_signd/ntp_signd.c +++ b/source4/ntp_signd/ntp_signd.c @@ -498,7 +498,7 @@ static void ntp_signd_task_init(struct task_server *task) const char *address; - if (!directory_create_or_exist(lpcfg_ntp_signd_socket_directory(task->lp_ctx), geteuid(), 0750)) { + if (!directory_create_or_exist_strict(lpcfg_ntp_signd_socket_directory(task->lp_ctx), geteuid(), 0750)) { char *error = talloc_asprintf(task, "Cannot create NTP signd pipe directory: %s", lpcfg_ntp_signd_socket_directory(task->lp_ctx)); task_server_terminate(task, diff --git a/source4/smbd/service_named_pipe.c b/source4/smbd/service_named_pipe.c index b000083eecd..6aa984de22a 100644 --- a/source4/smbd/service_named_pipe.c +++ b/source4/smbd/service_named_pipe.c @@ -212,7 +212,7 @@ NTSTATUS tstream_setup_named_pipe(TALLOC_CTX *mem_ctx, goto fail; } - if (!directory_create_or_exist(dirname, geteuid(), 0700)) { + if (!directory_create_or_exist_strict(dirname, geteuid(), 0700)) { status = map_nt_error_from_unix_common(errno); DEBUG(0,(__location__ ": Failed to create stream pipe directory '%s' - %s\n", dirname, nt_errstr(status))); diff --git a/source4/winbind/wb_server.c b/source4/winbind/wb_server.c index a904470e193..f0367498a38 100644 --- a/source4/winbind/wb_server.c +++ b/source4/winbind/wb_server.c @@ -199,6 +199,7 @@ static void winbind_task_init(struct task_server *task) struct wbsrv_listen_socket *listen_socket; char *errstring; struct dom_sid *primary_sid; + bool ok; task_server_set_title(task, "task[winbind]"); @@ -213,14 +214,18 @@ static void winbind_task_init(struct task_server *task) } /* Make sure the directory for the Samba3 socket exists, and is of the correct permissions */ - if (!directory_create_or_exist(lpcfg_winbindd_socket_directory(task->lp_ctx), geteuid(), 0755)) { + ok = directory_create_or_exist_strict(lpcfg_winbindd_socket_directory(task->lp_ctx), + geteuid(), 0755); + if (!ok) { task_server_terminate(task, "Cannot create winbindd pipe directory", true); return; } /* Make sure the directory for the Samba3 socket exists, and is of the correct permissions */ - if (!directory_create_or_exist(lpcfg_winbindd_privileged_socket_directory(task->lp_ctx), geteuid(), 0750)) { + ok = directory_create_or_exist_strict(lpcfg_winbindd_privileged_socket_directory(task->lp_ctx), + geteuid(), 0750); + if (!ok) { task_server_terminate(task, "Cannot create winbindd privileged pipe directory", true); return; -- 2.11.4.GIT