s4:s3compt provide get_winbind_pipe_dir and get_winbind_priv_pipe_dir
authorAndrew Bartlett <abartlet@samba.org>
Mon, 17 May 2010 10:04:13 +0000 (20:04 +1000)
committerAndrew Bartlett <abartlet@samba.org>
Thu, 3 Jun 2010 01:14:11 +0000 (11:14 +1000)
source4/s3compat/s3_winbind.c
source4/s3compat/s3compat_wrapper.h

index 3321d51046f02178c9922e86241d7eb7a4ebeb4b..ba0ee999bd0bc6c70cc17d5402fac04bc9b056ac 100644 (file)
 #include "s3compat_globals.h"
 #include "s3compat_wrapper.h"
 
+static struct wbsrv_service *winbindd_service;
 _PUBLIC_ void s3compat_winbind_task_init(struct task_server *task) 
 {
-       if (lp_parm_bool(task->lp_ctx, NULL, "s3compat", "gdb-winbind", false)) {
+       if (lp_parm_bool(task->lp_ctx, NULL, "s3compat", "gdb-winbind", false)) {
                char *cmd = talloc_asprintf(task, "xterm -e \"gdb --pid %u\"&", getpid());
                system(cmd);
                sleep(2);
        }
 
-       winbind_prepare_task(task, task->model_ops);
+       winbindd_service = winbind_prepare_task(task, task->model_ops);
        s3compat_set_tevent_ctx(task->event_ctx);
        s3compat_set_lp_ctx(task->lp_ctx);
        s3compat_set_msg_ctx(task->msg_ctx);
@@ -82,3 +83,19 @@ _PUBLIC_ void s3compat_winbind_terminate_connection(struct wbsrv_connection *wbc
        wbconn = talloc_get_type_abort(wbconn, struct wbsrv_connection);
        return wbsrv_terminate_connection(wbconn, reason);
 }
+
+_PUBLIC_ char *get_winbind_priv_pipe_dir(void)
+{
+       if (winbindd_service) {
+               return talloc_strdup(NULL, winbindd_service->priv_pipe_dir);
+       }
+       return NULL;
+}
+
+_PUBLIC_ const char *get_winbind_pipe_dir(void)
+{
+       if (winbindd_service) {
+               return winbindd_service->pipe_dir;
+       }
+       return NULL;
+}
index cb14b305d3337340a5234b94bc783a51b78871c2..6f795d24d75e1dd6f6020b7e185802c9640ff950 100644 (file)
@@ -10,6 +10,8 @@ struct winbindd_cli_state *s3compat_winbindd_accepted_new_connection(struct wbsr
 void s3compat_winbind_process_s3_request(struct winbindd_cli_state *state, 
                                         struct wbsrv_samba3_call *call, 
                                         struct winbindd_request *request);
+const char *get_winbind_pipe_dir(void);
+char *get_winbind_priv_pipe_dir(void);
 void s3compat_initialise(const char *config_file, bool interactive);
 void s3compat_smbd_process(void);