summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source3/auth/auth.c1
-rw-r--r--source3/auth/auth_samba4.c1
-rw-r--r--source3/include/proto.h6
-rw-r--r--source3/lib/cmdline_contexts.c1
-rw-r--r--source3/lib/dbwrap/dbwrap_open.c2
-rw-r--r--source3/lib/global_contexts.c7
-rw-r--r--source3/lib/global_contexts.h31
-rw-r--r--source3/locking/share_mode_lock.c1
-rw-r--r--source3/modules/vfs_aio_fork.c1
-rw-r--r--source3/modules/vfs_delay_inject.c1
-rw-r--r--source3/modules/vfs_preopen.c1
-rw-r--r--source3/nmbd/nmbd.c1
-rw-r--r--source3/passdb/pdb_interface.c1
-rw-r--r--source3/printing/nt_printing.c1
-rw-r--r--source3/printing/printing.c1
-rw-r--r--source3/printing/queue_process.c1
-rw-r--r--source3/printing/spoolssd.c1
-rw-r--r--source3/rpc_server/eventlog/srv_eventlog_nt.c1
-rw-r--r--source3/rpc_server/fss/srv_fss_agent.c1
-rw-r--r--source3/rpc_server/lsasd.c1
-rw-r--r--source3/rpc_server/mdssd.c1
-rw-r--r--source3/rpc_server/mdssvc/mdssvc.c1
-rw-r--r--source3/rpc_server/mdssvc/srv_mdssvc_nt.c1
-rw-r--r--source3/rpc_server/rpc_config.c1
-rw-r--r--source3/rpc_server/samr/srv_samr_nt.c1
-rw-r--r--source3/rpc_server/spoolss/srv_spoolss_nt.c1
-rw-r--r--source3/rpc_server/srvsvc/srv_srvsvc_nt.c1
-rw-r--r--source3/rpc_server/svcctl/srv_svcctl_nt.c1
-rw-r--r--source3/smbd/msdfs.c1
-rw-r--r--source3/smbd/server.c1
-rw-r--r--source3/smbd/server_exit.c1
-rw-r--r--source3/smbd/smbXsrv_session.c1
-rw-r--r--source3/torture/test_dbwrap_ctdb.c1
-rw-r--r--source3/torture/test_dbwrap_do_locked.c1
-rw-r--r--source3/torture/test_g_lock.c1
-rw-r--r--source3/torture/vfstest.c1
-rw-r--r--source3/utils/net_vfs.c1
-rw-r--r--source3/utils/smbcontrol.c1
-rw-r--r--source3/winbindd/idmap_ldap.c1
-rw-r--r--source3/winbindd/idmap_rfc2307.c1
-rw-r--r--source3/winbindd/winbindd.c1
-rw-r--r--source3/winbindd/winbindd_cm.c1
-rw-r--r--source3/winbindd/winbindd_cred_cache.c1
-rw-r--r--source3/winbindd/winbindd_domain_info.c1
-rw-r--r--source3/winbindd/winbindd_dual.c1
-rw-r--r--source3/winbindd/winbindd_dual_srv.c1
-rw-r--r--source3/winbindd/winbindd_gpupdate.c1
-rw-r--r--source3/winbindd/winbindd_idmap.c1
-rw-r--r--source3/winbindd/winbindd_irpc.c1
-rw-r--r--source3/winbindd/winbindd_pam.c1
-rw-r--r--source3/winbindd/winbindd_pam_auth.c1
-rw-r--r--source3/winbindd/winbindd_pam_auth_crap.c1
-rw-r--r--source3/winbindd/winbindd_pam_chauthtok.c1
-rw-r--r--source3/winbindd/winbindd_pam_chng_pswd_auth_crap.c1
-rw-r--r--source3/winbindd/winbindd_pam_logoff.c1
-rw-r--r--source3/winbindd/winbindd_util.c1
56 files changed, 90 insertions, 8 deletions
diff --git a/source3/auth/auth.c b/source3/auth/auth.c
index e8bb9d7821a..fa73c4e4db2 100644
--- a/source3/auth/auth.c
+++ b/source3/auth/auth.c
@@ -23,6 +23,7 @@
#include "param/param.h"
#include "../lib/messaging/messaging.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_AUTH
diff --git a/source3/auth/auth_samba4.c b/source3/auth/auth_samba4.c
index 6dee9c6f411..0a7c67be232 100644
--- a/source3/auth/auth_samba4.c
+++ b/source3/auth/auth_samba4.c
@@ -28,6 +28,7 @@
#include "source4/lib/messaging/messaging.h"
#include "auth/gensec/gensec.h"
#include "auth/credentials/credentials.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_AUTH
diff --git a/source3/include/proto.h b/source3/include/proto.h
index 6e14ac42777..2f25778ab9f 100644
--- a/source3/include/proto.h
+++ b/source3/include/proto.h
@@ -708,12 +708,6 @@ NTSTATUS trust_pw_change(struct netlogon_creds_cli_context *context,
const char *dcname,
bool force);
-/* The following definitions come from lib/server_contexts.c */
-struct tevent_context *global_event_context(void);
-void global_event_context_free(void);
-struct messaging_context *global_messaging_context(void);
-void global_messaging_context_free(void);
-
/* The following definitions come from lib/sessionid_tdb.c */
struct sessionid;
NTSTATUS sessionid_traverse_read(int (*fn)(const char *key,
diff --git a/source3/lib/cmdline_contexts.c b/source3/lib/cmdline_contexts.c
index 2bee7f38059..627ee4f3164 100644
--- a/source3/lib/cmdline_contexts.c
+++ b/source3/lib/cmdline_contexts.c
@@ -21,6 +21,7 @@
#include "cmdline_contexts.h"
#include "includes.h"
#include "messages.h"
+#include "lib/global_contexts.h"
struct messaging_context *cmdline_messaging_context(const char *config_file)
{
diff --git a/source3/lib/dbwrap/dbwrap_open.c b/source3/lib/dbwrap/dbwrap_open.c
index e67341607a4..1d8c40af75e 100644
--- a/source3/lib/dbwrap/dbwrap_open.c
+++ b/source3/lib/dbwrap/dbwrap_open.c
@@ -29,7 +29,7 @@
#include "lib/messages_ctdb.h"
#include "util_tdb.h"
#include "ctdbd_conn.h"
-#include "messages.h"
+#include "global_contexts.h"
bool db_is_local(const char *name)
{
diff --git a/source3/lib/global_contexts.c b/source3/lib/global_contexts.c
index 03ab8e4fd48..4e3bbabfffe 100644
--- a/source3/lib/global_contexts.c
+++ b/source3/lib/global_contexts.c
@@ -18,7 +18,12 @@
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
-#include "includes.h"
+
+#include "replace.h"
+#include "global_contexts.h"
+#include <tevent.h>
+#include "lib/util/fault.h"
+#include "lib/util/samba_util.h"
#include "messages.h"
static struct tevent_context *global_event_ctx = NULL;
diff --git a/source3/lib/global_contexts.h b/source3/lib/global_contexts.h
new file mode 100644
index 00000000000..8c5cd096a45
--- /dev/null
+++ b/source3/lib/global_contexts.h
@@ -0,0 +1,31 @@
+/*
+ * Unix SMB/CIFS implementation.
+ * Global contexts
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#ifndef __GLOBAL_CONTEXTS_H__
+#define __GLOBAL_CONTEXTS_H__
+
+struct tevent_context;
+
+struct tevent_context *global_event_context(void);
+void global_event_context_free(void);
+
+struct messaging_context;
+struct messaging_context *global_messaging_context(void);
+void global_messaging_context_free(void);
+
+#endif
diff --git a/source3/locking/share_mode_lock.c b/source3/locking/share_mode_lock.c
index 64b90db3227..80c04fdeda0 100644
--- a/source3/locking/share_mode_lock.c
+++ b/source3/locking/share_mode_lock.c
@@ -56,6 +56,7 @@
#include "lib/util/tevent_ntstatus.h"
#include "g_lock.h"
#include "smbd/fd_handle.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_LOCKING
diff --git a/source3/modules/vfs_aio_fork.c b/source3/modules/vfs_aio_fork.c
index 772906fb771..87dcbdd6270 100644
--- a/source3/modules/vfs_aio_fork.c
+++ b/source3/modules/vfs_aio_fork.c
@@ -30,6 +30,7 @@
#include "lib/util/sys_rw_data.h"
#include "lib/util/msghdr.h"
#include "smbprofile.h"
+#include "lib/global_contexts.h"
#if !defined(HAVE_STRUCT_MSGHDR_MSG_CONTROL) && !defined(HAVE_STRUCT_MSGHDR_MSG_ACCRIGHTS)
# error Can not pass file descriptors
diff --git a/source3/modules/vfs_delay_inject.c b/source3/modules/vfs_delay_inject.c
index d70c0f0cb6a..7d65387af1d 100644
--- a/source3/modules/vfs_delay_inject.c
+++ b/source3/modules/vfs_delay_inject.c
@@ -21,6 +21,7 @@
#include "locking/share_mode_lock.h"
#include "smbd/smbd.h"
#include "lib/util/tevent_unix.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_VFS
diff --git a/source3/modules/vfs_preopen.c b/source3/modules/vfs_preopen.c
index d27c4a82000..1549fda0b5e 100644
--- a/source3/modules/vfs_preopen.c
+++ b/source3/modules/vfs_preopen.c
@@ -24,6 +24,7 @@
#include "lib/util/sys_rw.h"
#include "lib/util/sys_rw_data.h"
#include "lib/util/smb_strtox.h"
+#include "lib/global_contexts.h"
struct preopen_state;
diff --git a/source3/nmbd/nmbd.c b/source3/nmbd/nmbd.c
index f6aeba1f714..ab1bb88892c 100644
--- a/source3/nmbd/nmbd.c
+++ b/source3/nmbd/nmbd.c
@@ -28,6 +28,7 @@
#include "../lib/util/pidfile.h"
#include "util_cluster.h"
#include "lib/gencache.h"
+#include "lib/global_contexts.h"
int ClientNMB = -1;
int ClientDGRAM = -1;
diff --git a/source3/passdb/pdb_interface.c b/source3/passdb/pdb_interface.c
index cdfa4903916..3c4499a4459 100644
--- a/source3/passdb/pdb_interface.c
+++ b/source3/passdb/pdb_interface.c
@@ -38,6 +38,7 @@
#include "lib/util_sid_passdb.h"
#include "idmap_cache.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_PASSDB
diff --git a/source3/printing/nt_printing.c b/source3/printing/nt_printing.c
index 26b1dfd98b3..47f6beba1c4 100644
--- a/source3/printing/nt_printing.c
+++ b/source3/printing/nt_printing.c
@@ -35,6 +35,7 @@
#include "rpc_server/spoolss/srv_spoolss_nt.h"
#include "rpc_client/cli_winreg_spoolss.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
/* Map generic permissions to printer object specific permissions */
diff --git a/source3/printing/printing.c b/source3/printing/printing.c
index 2798f629bcb..70a891b89be 100644
--- a/source3/printing/printing.c
+++ b/source3/printing/printing.c
@@ -38,6 +38,7 @@
#include "lib/param/loadparm.h"
#include "lib/util/sys_rw_data.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
extern userdom_struct current_user_info;
diff --git a/source3/printing/queue_process.c b/source3/printing/queue_process.c
index 7b14cd94568..b4f167956dc 100644
--- a/source3/printing/queue_process.c
+++ b/source3/printing/queue_process.c
@@ -37,6 +37,7 @@
#include "auth.h"
#include "nt_printing.h"
#include "util_event.h"
+#include "lib/global_contexts.h"
/**
* @brief Purge stale printers and reload from pre-populated pcap cache.
diff --git a/source3/printing/spoolssd.c b/source3/printing/spoolssd.c
index cd1f4b2188a..e539ac121c2 100644
--- a/source3/printing/spoolssd.c
+++ b/source3/printing/spoolssd.c
@@ -39,6 +39,7 @@
#include "librpc/rpc/dcesrv_core.h"
#include "lib/server_prefork.h"
#include "lib/server_prefork_util.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/eventlog/srv_eventlog_nt.c b/source3/rpc_server/eventlog/srv_eventlog_nt.c
index 7739d1953ef..23e5babd9a2 100644
--- a/source3/rpc_server/eventlog/srv_eventlog_nt.c
+++ b/source3/rpc_server/eventlog/srv_eventlog_nt.c
@@ -36,6 +36,7 @@
#include "librpc/rpc/dcesrv_core.h"
#include "librpc/gen_ndr/ndr_eventlog_scompat.h"
#include "rpc_server/eventlog/srv_eventlog_reg.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/fss/srv_fss_agent.c b/source3/rpc_server/fss/srv_fss_agent.c
index 0cc3a5d0fbb..0f25bf17188 100644
--- a/source3/rpc_server/fss/srv_fss_agent.c
+++ b/source3/rpc_server/fss/srv_fss_agent.c
@@ -32,6 +32,7 @@
#include "librpc/gen_ndr/ndr_fsrvp.h"
#include "rpc_server/rpc_server.h"
#include "srv_fss_private.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/lsasd.c b/source3/rpc_server/lsasd.c
index 2c1fc2db5d0..1fa9233c38f 100644
--- a/source3/rpc_server/lsasd.c
+++ b/source3/rpc_server/lsasd.c
@@ -42,6 +42,7 @@
#include "librpc/gen_ndr/ndr_lsa_scompat.h"
#include "librpc/gen_ndr/ndr_samr_scompat.h"
#include "librpc/gen_ndr/ndr_netlogon_scompat.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/mdssd.c b/source3/rpc_server/mdssd.c
index d4ef815cd6c..22e4f091445 100644
--- a/source3/rpc_server/mdssd.c
+++ b/source3/rpc_server/mdssd.c
@@ -39,6 +39,7 @@
#include "rpc_server/mdssvc/srv_mdssvc_nt.h"
#include "rpc_server/mdssd.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/mdssvc/mdssvc.c b/source3/rpc_server/mdssvc/mdssvc.c
index 8e98276d642..0df29dc9b1e 100644
--- a/source3/rpc_server/mdssvc/mdssvc.c
+++ b/source3/rpc_server/mdssvc/mdssvc.c
@@ -34,6 +34,7 @@
#ifdef HAVE_SPOTLIGHT_BACKEND_ES
#include "mdssvc_es.h"
#endif
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/mdssvc/srv_mdssvc_nt.c b/source3/rpc_server/mdssvc/srv_mdssvc_nt.c
index b9607262216..56ebe68c7e9 100644
--- a/source3/rpc_server/mdssvc/srv_mdssvc_nt.c
+++ b/source3/rpc_server/mdssvc/srv_mdssvc_nt.c
@@ -34,6 +34,7 @@
#include "librpc/rpc/dcesrv_core.h"
#include "librpc/gen_ndr/ndr_mdssvc.h"
#include "librpc/gen_ndr/ndr_mdssvc_scompat.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/rpc_config.c b/source3/rpc_server/rpc_config.c
index 310b6a50eeb..2f1a01da1c0 100644
--- a/source3/rpc_server/rpc_config.c
+++ b/source3/rpc_server/rpc_config.c
@@ -23,6 +23,7 @@
#include "rpc_server/rpc_server.h"
#include "lib/param/param.h"
#include "librpc/rpc/dcesrv_core.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/samr/srv_samr_nt.c b/source3/rpc_server/samr/srv_samr_nt.c
index 77cb18b6a88..28000677fc8 100644
--- a/source3/rpc_server/samr/srv_samr_nt.c
+++ b/source3/rpc_server/samr/srv_samr_nt.c
@@ -52,6 +52,7 @@
#include "lib/crypto/gnutls_helpers.h"
#include <gnutls/gnutls.h>
#include <gnutls/crypto.h>
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/rpc_server/spoolss/srv_spoolss_nt.c b/source3/rpc_server/spoolss/srv_spoolss_nt.c
index 840e0280a73..d20c19d5271 100644
--- a/source3/rpc_server/spoolss/srv_spoolss_nt.c
+++ b/source3/rpc_server/spoolss/srv_spoolss_nt.c
@@ -64,6 +64,7 @@
#include "librpc/rpc/dcesrv_core.h"
#include "printing/nt_printing_migrate_internal.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
/* macros stolen from s4 spoolss server */
#define SPOOLSS_BUFFER_UNION(fn,info,level) \
diff --git a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
index 67477d7b416..474c0397ae6 100644
--- a/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
+++ b/source3/rpc_server/srvsvc/srv_srvsvc_nt.c
@@ -41,6 +41,7 @@
#include "auth.h"
#include "messages.h"
#include "serverid.h"
+#include "lib/global_contexts.h"
extern const struct generic_mapping file_generic_mapping;
diff --git a/source3/rpc_server/svcctl/srv_svcctl_nt.c b/source3/rpc_server/svcctl/srv_svcctl_nt.c
index c67688346eb..0a11af2ba14 100644
--- a/source3/rpc_server/svcctl/srv_svcctl_nt.c
+++ b/source3/rpc_server/svcctl/srv_svcctl_nt.c
@@ -37,6 +37,7 @@
#include "librpc/gen_ndr/ndr_svcctl.h"
#include "librpc/gen_ndr/ndr_svcctl_scompat.h"
#include "srv_svcctl_reg.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_RPC_SRV
diff --git a/source3/smbd/msdfs.c b/source3/smbd/msdfs.c
index b5c1ccdb846..7b5ea251501 100644
--- a/source3/smbd/msdfs.c
+++ b/source3/smbd/msdfs.c
@@ -33,6 +33,7 @@
#include "libcli/security/security.h"
#include "librpc/gen_ndr/ndr_dfsblobs.h"
#include "lib/tsocket/tsocket.h"
+#include "lib/global_contexts.h"
/**********************************************************************
Parse a DFS pathname of the form \hostname\service\reqpath
diff --git a/source3/smbd/server.c b/source3/smbd/server.c
index ea2d08c13a0..a0456100afe 100644
--- a/source3/smbd/server.c
+++ b/source3/smbd/server.c
@@ -58,6 +58,7 @@
#include "rpc_server/lsasd.h"
#include "rpc_server/fssd.h"
#include "rpc_server/mdssd.h"
+#include "lib/global_contexts.h"
#ifdef CLUSTER_SUPPORT
#include "ctdb_protocol.h"
diff --git a/source3/smbd/server_exit.c b/source3/smbd/server_exit.c
index aa5ebe5fcd4..a00edcd2368 100644
--- a/source3/smbd/server_exit.c
+++ b/source3/smbd/server_exit.c
@@ -38,6 +38,7 @@
#include "libcli/auth/netlogon_creds_cli.h"
#include "lib/gencache.h"
#include "rpc_server/rpc_config.h"
+#include "lib/global_contexts.h"
static struct files_struct *log_writeable_file_fn(
struct files_struct *fsp, void *private_data)
diff --git a/source3/smbd/smbXsrv_session.c b/source3/smbd/smbXsrv_session.c
index c55a57885a5..05cf4a095ee 100644
--- a/source3/smbd/smbXsrv_session.c
+++ b/source3/smbd/smbXsrv_session.c
@@ -38,6 +38,7 @@
#include "librpc/gen_ndr/ndr_smbXsrv.h"
#include "serverid.h"
#include "lib/util/tevent_ntstatus.h"
+#include "lib/global_contexts.h"
struct smbXsrv_session_table {
struct {
diff --git a/source3/torture/test_dbwrap_ctdb.c b/source3/torture/test_dbwrap_ctdb.c
index 15db2daccd6..e3a7c6a0035 100644
--- a/source3/torture/test_dbwrap_ctdb.c
+++ b/source3/torture/test_dbwrap_ctdb.c
@@ -24,6 +24,7 @@
#include "lib/dbwrap/dbwrap_ctdb.h"
#include "messages.h"
#include "lib/messages_ctdb.h"
+#include "lib/global_contexts.h"
bool run_local_dbwrap_ctdb1(int dummy)
{
diff --git a/source3/torture/test_dbwrap_do_locked.c b/source3/torture/test_dbwrap_do_locked.c
index 7226ec14128..93648ced79f 100644
--- a/source3/torture/test_dbwrap_do_locked.c
+++ b/source3/torture/test_dbwrap_do_locked.c
@@ -25,6 +25,7 @@
#include "lib/dbwrap/dbwrap_watch.h"
#include "lib/util/util_tdb.h"
#include "source3/include/util_tdb.h"
+#include "lib/global_contexts.h"
struct do_locked1_state {
TDB_DATA value;
diff --git a/source3/torture/test_g_lock.c b/source3/torture/test_g_lock.c
index 2f98a1a2275..002e390af19 100644
--- a/source3/torture/test_g_lock.c
+++ b/source3/torture/test_g_lock.c
@@ -26,6 +26,7 @@
#include "lib/util/sys_rw.h"
#include "lib/util/util_tdb.h"
#include "lib/util/tevent_ntstatus.h"
+#include "lib/global_contexts.h"
static bool get_g_lock_ctx(TALLOC_CTX *mem_ctx,
struct tevent_context **ev,
diff --git a/source3/torture/vfstest.c b/source3/torture/vfstest.c
index b89596e487c..e4b6760853f 100644
--- a/source3/torture/vfstest.c
+++ b/source3/torture/vfstest.c
@@ -36,6 +36,7 @@
#include "libcli/security/security.h"
#include "lib/smbd_shim.h"
#include "system/filesys.h"
+#include "lib/global_contexts.h"
/* List to hold groups of commands */
static struct cmd_list {
diff --git a/source3/utils/net_vfs.c b/source3/utils/net_vfs.c
index ce145de1e50..5b8e1fc4e04 100644
--- a/source3/utils/net_vfs.c
+++ b/source3/utils/net_vfs.c
@@ -36,6 +36,7 @@
#include "lib/adouble.h"
#include "lib/string_replace.h"
#include "utils/net.h"
+#include "lib/global_contexts.h"
#define NET_VFS_CMD_STREAM_TO_ADOUBLE "stream2adouble"
diff --git a/source3/utils/smbcontrol.c b/source3/utils/smbcontrol.c
index e5a6e986d82..57c029b7e53 100644
--- a/source3/utils/smbcontrol.c
+++ b/source3/utils/smbcontrol.c
@@ -37,6 +37,7 @@
#include "serverid.h"
#include "cmdline_contexts.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
#ifdef HAVE_LIBUNWIND_H
#include <libunwind.h>
diff --git a/source3/winbindd/idmap_ldap.c b/source3/winbindd/idmap_ldap.c
index 2f879bf77e8..36ab94b7667 100644
--- a/source3/winbindd/idmap_ldap.c
+++ b/source3/winbindd/idmap_ldap.c
@@ -30,6 +30,7 @@
#include "idmap_rw.h"
#include "../libcli/security/security.h"
#include "lib/util/smb_strtox.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_IDMAP
diff --git a/source3/winbindd/idmap_rfc2307.c b/source3/winbindd/idmap_rfc2307.c
index a747ff1f3bf..05259bf8344 100644
--- a/source3/winbindd/idmap_rfc2307.c
+++ b/source3/winbindd/idmap_rfc2307.c
@@ -31,6 +31,7 @@
#include "nsswitch/winbind_client.h"
#include "lib/winbind_util.h"
#include "libcli/security/dom_sid.h"
+#include "lib/global_contexts.h"
/*
* Config and connection info per domain.
diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c
index 1e08237905a..bff5b9a7282 100644
--- a/source3/winbindd/winbindd.c
+++ b/source3/winbindd/winbindd.c
@@ -50,6 +50,7 @@
#include "lib/util/tevent_req_profile.h"
#include "lib/gencache.h"
#include "rpc_server/rpc_config.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
diff --git a/source3/winbindd/winbindd_cm.c b/source3/winbindd/winbindd_cm.c
index 4c1ccb479ff..2029e4e8315 100644
--- a/source3/winbindd/winbindd_cm.c
+++ b/source3/winbindd/winbindd_cm.c
@@ -86,6 +86,7 @@
#include "lib/param/param.h"
#include "lib/gencache.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
diff --git a/source3/winbindd/winbindd_cred_cache.c b/source3/winbindd/winbindd_cred_cache.c
index 52aa0ff6aea..c3077e21989 100644
--- a/source3/winbindd/winbindd_cred_cache.c
+++ b/source3/winbindd/winbindd_cred_cache.c
@@ -26,6 +26,7 @@
#include "../libcli/auth/libcli_auth.h"
#include "smb_krb5.h"
#include "libads/kerberos_proto.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
diff --git a/source3/winbindd/winbindd_domain_info.c b/source3/winbindd/winbindd_domain_info.c
index 5376a86704e..a9319849729 100644
--- a/source3/winbindd/winbindd_domain_info.c
+++ b/source3/winbindd/winbindd_domain_info.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "winbindd.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
struct winbindd_domain_info_state {
struct winbindd_domain *domain;
diff --git a/source3/winbindd/winbindd_dual.c b/source3/winbindd/winbindd_dual.c
index c4899137665..a93a987df07 100644
--- a/source3/winbindd/winbindd_dual.c
+++ b/source3/winbindd/winbindd_dual.c
@@ -42,6 +42,7 @@
#include "lib/util/sys_rw_data.h"
#include "passdb.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
diff --git a/source3/winbindd/winbindd_dual_srv.c b/source3/winbindd/winbindd_dual_srv.c
index 40a30d70ff9..ffd7bb957b2 100644
--- a/source3/winbindd/winbindd_dual_srv.c
+++ b/source3/winbindd/winbindd_dual_srv.c
@@ -37,6 +37,7 @@
#include "rpc_client/cli_netlogon.h"
#include "rpc_client/util_netlogon.h"
#include "libsmb/dsgetdcname.h"
+#include "lib/global_contexts.h"
void _wbint_Ping(struct pipes_struct *p, struct wbint_Ping *r)
{
diff --git a/source3/winbindd/winbindd_gpupdate.c b/source3/winbindd/winbindd_gpupdate.c
index 293ca375564..1032251d401 100644
--- a/source3/winbindd/winbindd_gpupdate.c
+++ b/source3/winbindd/winbindd_gpupdate.c
@@ -20,6 +20,7 @@
#include "param/param.h"
#include "param/loadparm.h"
#include "winbindd.h"
+#include "lib/global_contexts.h"
/*
* gpupdate_interval()
diff --git a/source3/winbindd/winbindd_idmap.c b/source3/winbindd/winbindd_idmap.c
index 3e2461478a9..41be6f14479 100644
--- a/source3/winbindd/winbindd_idmap.c
+++ b/source3/winbindd/winbindd_idmap.c
@@ -25,6 +25,7 @@
#include "winbindd.h"
#include "../libcli/security/security.h"
#include "passdb/lookup_sid.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
diff --git a/source3/winbindd/winbindd_irpc.c b/source3/winbindd/winbindd_irpc.c
index fda29c7e702..e419736010b 100644
--- a/source3/winbindd/winbindd_irpc.c
+++ b/source3/winbindd/winbindd_irpc.c
@@ -31,6 +31,7 @@
#include "passdb/lookup_sid.h" /* only for LOOKUP_NAME_NO_NSS flag */
#include "librpc/gen_ndr/ndr_irpc.h"
#include "librpc/gen_ndr/ndr_netlogon.h"
+#include "lib/global_contexts.h"
struct wb_irpc_forward_state {
struct irpc_message *msg;
diff --git a/source3/winbindd/winbindd_pam.c b/source3/winbindd/winbindd_pam.c
index bc11247e581..10c5ff2a7e2 100644
--- a/source3/winbindd/winbindd_pam.c
+++ b/source3/winbindd/winbindd_pam.c
@@ -51,6 +51,7 @@
#include "lib/crypto/gnutls_helpers.h"
#include <gnutls/crypto.h>
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND
diff --git a/source3/winbindd/winbindd_pam_auth.c b/source3/winbindd/winbindd_pam_auth.c
index 6ad546a6e89..9c6558ae805 100644
--- a/source3/winbindd/winbindd_pam_auth.c
+++ b/source3/winbindd/winbindd_pam_auth.c
@@ -21,6 +21,7 @@
#include "winbindd.h"
#include "libcli/security/dom_sid.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
struct winbindd_pam_auth_state {
struct winbindd_request *request;
diff --git a/source3/winbindd/winbindd_pam_auth_crap.c b/source3/winbindd/winbindd_pam_auth_crap.c
index e172ef8b526..dacb6566be6 100644
--- a/source3/winbindd/winbindd_pam_auth_crap.c
+++ b/source3/winbindd/winbindd_pam_auth_crap.c
@@ -22,6 +22,7 @@
#include "rpc_client/util_netlogon.h"
#include "libcli/security/dom_sid.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
struct winbindd_pam_auth_crap_state {
struct winbindd_response *response;
diff --git a/source3/winbindd/winbindd_pam_chauthtok.c b/source3/winbindd/winbindd_pam_chauthtok.c
index 3a61ba30f4c..e476d53f030 100644
--- a/source3/winbindd/winbindd_pam_chauthtok.c
+++ b/source3/winbindd/winbindd_pam_chauthtok.c
@@ -20,6 +20,7 @@
#include "includes.h"
#include "winbindd.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
struct winbindd_pam_chauthtok_state {
struct winbindd_request *request;
diff --git a/source3/winbindd/winbindd_pam_chng_pswd_auth_crap.c b/source3/winbindd/winbindd_pam_chng_pswd_auth_crap.c
index 38d84be0af7..4c39ce0b5ac 100644
--- a/source3/winbindd/winbindd_pam_chng_pswd_auth_crap.c
+++ b/source3/winbindd/winbindd_pam_chng_pswd_auth_crap.c
@@ -19,6 +19,7 @@
#include "includes.h"
#include "winbindd.h"
+#include "lib/global_contexts.h"
struct winbindd_pam_chng_pswd_auth_crap_state {
struct winbindd_request *request;
diff --git a/source3/winbindd/winbindd_pam_logoff.c b/source3/winbindd/winbindd_pam_logoff.c
index 30f69e10045..553b1e5833b 100644
--- a/source3/winbindd/winbindd_pam_logoff.c
+++ b/source3/winbindd/winbindd_pam_logoff.c
@@ -19,6 +19,7 @@
#include "includes.h"
#include "winbindd.h"
+#include "lib/global_contexts.h"
struct winbindd_pam_logoff_state {
struct winbindd_request *request;
diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c
index 4b595d03417..a5f5defcd87 100644
--- a/source3/winbindd/winbindd_util.c
+++ b/source3/winbindd/winbindd_util.c
@@ -35,6 +35,7 @@
#include "libsmb/samlogon_cache.h"
#include "lib/util/smb_strtox.h"
#include "lib/util/string_wrappers.h"
+#include "lib/global_contexts.h"
#undef DBGC_CLASS
#define DBGC_CLASS DBGC_WINBIND