Use the new directory_create_or_exist_strict() function.
authorAndreas Schneider <asn@samba.org>
Tue, 8 Jan 2013 13:21:23 +0000 (14:21 +0100)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 9 Jan 2013 08:11:20 +0000 (09:11 +0100)
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
source3/rpc_server/rpc_server.c
source3/smbd/server.c
source4/lib/messaging/messaging.c
source4/ntp_signd/ntp_signd.c
source4/smbd/service_named_pipe.c
source4/winbind/wb_server.c

index 689e923..de54ddc 100644 (file)
@@ -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;
index 1cd9288..00472db 100644 (file)
@@ -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;
index 5966c29..c37c91e 100644 (file)
@@ -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;
index 0c3899f..d1d8483 100644 (file)
@@ -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,
index b000083..6aa984d 100644 (file)
@@ -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)));
index a904470..f036749 100644 (file)
@@ -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;