mirror of
https://github.com/samba-team/samba.git
synced 2024-12-23 17:34:34 +03:00
s3:winbindd: cancel all ccache entry events and not just one
cancel_named_event() is stupid by design and also only cancels one single event. metze
This commit is contained in:
parent
f81f21c09b
commit
94c4376b49
@ -75,6 +75,20 @@ static int ccache_entry_count(void)
|
||||
return i;
|
||||
}
|
||||
|
||||
void ccache_remove_all_after_fork(void)
|
||||
{
|
||||
struct WINBINDD_CCACHE_ENTRY *cur, *next;
|
||||
|
||||
for (cur = ccache_list; cur; cur = next) {
|
||||
next = cur->next;
|
||||
DLIST_REMOVE(ccache_list, cur);
|
||||
TALLOC_FREE(cur->event);
|
||||
TALLOC_FREE(cur);
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
/****************************************************************
|
||||
Do the work of refreshing the ticket.
|
||||
****************************************************************/
|
||||
|
@ -1206,6 +1206,10 @@ static bool fork_domain_child(struct winbindd_child *child)
|
||||
|
||||
close_conns_after_fork();
|
||||
|
||||
/* Ensure we're not handling an event inherited from
|
||||
our parent. */
|
||||
ccache_remove_all_after_fork();
|
||||
|
||||
if (!override_logfile) {
|
||||
lp_set_logfile(child->logfilename);
|
||||
reopen_logs();
|
||||
@ -1269,12 +1273,6 @@ static bool fork_domain_child(struct winbindd_child *child)
|
||||
}
|
||||
}
|
||||
|
||||
/* Ensure we're not handling an event inherited from
|
||||
our parent. */
|
||||
|
||||
cancel_named_event(winbind_event_context(),
|
||||
"krb5_ticket_refresh_handler");
|
||||
|
||||
/* We might be in the idmap child...*/
|
||||
if (child->domain && !(child->domain->internal) &&
|
||||
lp_winbind_offline_logon()) {
|
||||
|
@ -243,6 +243,7 @@ bool ccache_entry_exists(const char *username);
|
||||
bool ccache_entry_identical(const char *username,
|
||||
uid_t uid,
|
||||
const char *ccname);
|
||||
void ccache_remove_all_after_fork(void);
|
||||
NTSTATUS add_ccache_to_list(const char *princ_name,
|
||||
const char *ccname,
|
||||
const char *service,
|
||||
|
Loading…
Reference in New Issue
Block a user