s3:smbd: also create ncalrpc/np directory before forking rpc daemons
authorStefan Metzmacher <metze@samba.org>
Wed, 14 Mar 2012 09:56:28 +0000 (10:56 +0100)
committerStefan Metzmacher <metze@samba.org>
Wed, 14 Mar 2012 12:44:41 +0000 (13:44 +0100)
After the fixes to directory_create_or_exist(), this should not be
needed anymore, but lets try to make autobuild reliable first.

metze

Autobuild-User: Stefan Metzmacher <metze@samba.org>
Autobuild-Date: Wed Mar 14 13:44:41 CET 2012 on sn-devel-104

source3/smbd/server.c

index 22b6a7a134bef1306484a72d8a12a67c35fc756e..aa3da1f74341c0334ca1dbd170b14db10bb13d0e 100644 (file)
@@ -988,6 +988,7 @@ extern void build_options(bool screen);
        struct tevent_context *ev_ctx;
        struct messaging_context *msg_ctx;
        struct tevent_signal *se;
+       char *np_dir = NULL;
 
        /*
         * Do this before any other talloc operation
@@ -1351,6 +1352,18 @@ extern void build_options(bool screen);
                return -1;
        }
 
+       np_dir = talloc_asprintf(talloc_tos(), "%s/np", lp_ncalrpc_dir());
+       if (!np_dir) {
+               DEBUG(0, ("%s: Out of memory\n", __location__));
+               return -1;
+       }
+
+       if (!directory_create_or_exist(np_dir, geteuid(), 0700)) {
+               DEBUG(0, ("Failed to create pipe directory %s - %s\n",
+                         np_dir, strerror(errno)));
+               return -1;
+       }
+
        if (is_daemon && !interactive) {
                if (rpc_epmapper_daemon() == RPC_DAEMON_FORK) {
                        start_epmd(ev_ctx, msg_ctx);