s4:winbindd Record the privilaged pipe dir
authorAndrew Bartlett <abartlet@samba.org>
Mon, 17 May 2010 09:54:00 +0000 (19:54 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Tue, 18 May 2010 03:20:30 +0000 (13:20 +1000)
This may help us return an accurate priv pipe dir later on.

Andrew Bartlett

source4/winbind/wb_server.c
source4/winbind/wb_server.h

index 9e1a187d7f3f8168fc71d5ad34c10c11636abadb..2e1af61de68db4373797a797805a02273b00940e 100644 (file)
@@ -284,11 +284,14 @@ static void winbind_task_init(struct task_server *task)
                return;
        }
 
+       service->priv_pipe_dir = lp_winbindd_privileged_socket_directory(task->lp_ctx);
+       service->pipe_dir = lp_winbindd_socket_directory(task->lp_ctx);
+
        /* setup the unprivileged samba3 socket */
        listen_socket = talloc(service, struct wbsrv_listen_socket);
        if (!listen_socket) goto nomem;
        listen_socket->socket_path      = talloc_asprintf(listen_socket, "%s/%s", 
-                                                         lp_winbindd_socket_directory(task->lp_ctx)
+                                                         service->pipe_dir
                                                          WINBINDD_SOCKET_NAME);
        if (!listen_socket->socket_path) goto nomem;
        listen_socket->service          = service;
@@ -305,7 +308,7 @@ static void winbind_task_init(struct task_server *task)
        if (!listen_socket) goto nomem;
        listen_socket->socket_path 
                = talloc_asprintf(listen_socket, "%s/%s", 
-                                 lp_winbindd_privileged_socket_directory(task->lp_ctx),
+                                 service->priv_pipe_dir,
                                  WINBINDD_SOCKET_NAME);
        if (!listen_socket->socket_path) goto nomem;
        listen_socket->service          = service;
index d408fbb8e197462a108926109eb82aa8dd30699f..111aefc624962ce9a2ab9fc5c9778079d7d301d7 100644 (file)
@@ -31,6 +31,8 @@ struct wbsrv_service {
        const struct dom_sid *primary_sid;
        struct wbsrv_domain *domains;
        struct idmap_context *idmap_ctx;
+       const char *priv_pipe_dir;
+       const char *pipe_dir;
 };
 
 struct wbsrv_samconn {