mirror of
https://github.com/samba-team/samba.git
synced 2025-08-26 01:49:31 +03:00
s3:winbind: talloc the static locator child
Next commits will use talloc_get_type_abort() to get the reference. Signed-off-by: Samuel Cabrero <scabrero@samba.org> Reviewed-by: Alexander Bokovoy <ab@samba.org>
This commit is contained in:
@ -1184,7 +1184,12 @@ static void winbindd_register_handlers(struct messaging_context *msg_ctx,
|
||||
DBG_ERR("Unable to start idmap child: %s\n", nt_errstr(status));
|
||||
exit(1);
|
||||
}
|
||||
init_locator_child();
|
||||
|
||||
status = init_locator_child(global_event_context());
|
||||
if (NT_STATUS_IS_ERR(status)) {
|
||||
DBG_ERR("Unable to start locator child: %s\n", nt_errstr(status));
|
||||
exit(1);
|
||||
}
|
||||
|
||||
smb_nscd_flush_user_cache();
|
||||
smb_nscd_flush_group_cache();
|
||||
|
@ -27,19 +27,30 @@
|
||||
#define DBGC_CLASS DBGC_WINBIND
|
||||
|
||||
|
||||
static struct winbindd_child static_locator_child;
|
||||
static struct winbindd_child *static_locator_child = NULL;
|
||||
|
||||
struct winbindd_child *locator_child(void)
|
||||
{
|
||||
return &static_locator_child;
|
||||
return static_locator_child;
|
||||
}
|
||||
|
||||
struct dcerpc_binding_handle *locator_child_handle(void)
|
||||
{
|
||||
return static_locator_child.binding_handle;
|
||||
return static_locator_child->binding_handle;
|
||||
}
|
||||
|
||||
void init_locator_child(void)
|
||||
NTSTATUS init_locator_child(TALLOC_CTX *mem_ctx)
|
||||
{
|
||||
setup_child(NULL, &static_locator_child, "log.winbindd", "locator");
|
||||
if (static_locator_child != NULL) {
|
||||
DBG_ERR("locator child already allocated\n");
|
||||
return NT_STATUS_INTERNAL_ERROR;
|
||||
}
|
||||
|
||||
static_locator_child = talloc_zero(mem_ctx, struct winbindd_child);
|
||||
if (static_locator_child == NULL) {
|
||||
return NT_STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
setup_child(NULL, static_locator_child, "log.winbindd", "locator");
|
||||
return NT_STATUS_OK;
|
||||
}
|
||||
|
@ -404,7 +404,7 @@ bool lp_scan_idmap_domains(bool (*fn)(const char *domname,
|
||||
|
||||
/* The following definitions come from winbindd/winbindd_locator.c */
|
||||
|
||||
void init_locator_child(void);
|
||||
NTSTATUS init_locator_child(TALLOC_CTX *mem_ctx);
|
||||
struct winbindd_child *locator_child(void);
|
||||
struct dcerpc_binding_handle *locator_child_handle(void);
|
||||
|
||||
|
Reference in New Issue
Block a user