#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);
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;
+}
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);