#include "includes.h"
#include "winbind/wb_server.h"
#include "smbd/service_task.h"
+#include "smbd/process_model.h"
#include "s3compat_wrapper.h"
#include "s3replace.h"
_PUBLIC_ void s3compat_winbind_task_init(struct task_server *task)
{
- winbind_prepare_task(task, task->model_ops);
+ 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);
s3compat_set_tevent_ctx(task->event_ctx);
s3compat_set_lp_ctx(task->lp_ctx);
s3compat_set_msg_ctx(task->msg_ctx);
s3compat_initialise_winbindd(lp_configfile(task->lp_ctx));
}
+_PUBLIC_ void s3compat_winbind_accept(struct stream_connection *conn)
+{
+ struct wbsrv_listen_socket *wbsrv_socket = talloc_get_type(conn->private_data,
+ struct wbsrv_listen_socket);
+ s3compat_winbindd_accepted_new_connection(socket_get_fd(conn->socket),
+ wbsrv_socket->privileged);
+ return;
+}
#include "cluster/cluster.h"
#include "dynconfig/dynconfig.h"
#include "s3compat/s3compat.h"
+#include "s3compat/s3compat_globals.h"
/*
recursively delete a directory tree
DEBUG(0,("%s version %s started.\n", binary_name, SAMBA_VERSION_STRING));
DEBUGADD(0,("Copyright Andrew Tridgell and the Samba Team 1992-2010\n"));
-#ifdef ENABLE_S3COMPAT
- s3compat_initialise(lp_configfile(cmdline_lp_ctx), opt_interactive);
-#endif
-
if (sizeof(uint16_t) < 2 || sizeof(uint32_t) < 4 || sizeof(uint64_t) < 8) {
DEBUG(0,("ERROR: Samba is not configured correctly for the word size on your machine\n"));
DEBUGADD(0,("sizeof(uint16_t) = %u, sizeof(uint32_t) %u, sizeof(uint64_t) = %u\n",
/* setup this as the default context */
s4_event_context_set_default(event_ctx);
+#ifdef ENABLE_S3COMPAT
+ s3compat_set_tevent_ctx(event_ctx);
+ s3compat_initialise(lp_configfile(cmdline_lp_ctx), opt_interactive);
+#endif
+
if (event_ctx == NULL) {
DEBUG(0,("Initializing event context failed\n"));
return 1;