diff options
author | Günther Deschner <gd@samba.org> | 2006-03-16 11:32:01 +0000 |
---|---|---|
committer | Gerald (Jerry) Carter <jerry@samba.org> | 2007-10-10 11:15:33 -0500 |
commit | 0aa6328ed6ba6d0d24169ffdff0099405c9bfb00 (patch) | |
tree | b4781cd6a0caf10c7f4423a587466ca476969c3e /source/nsswitch/winbindd_util.c | |
parent | 4157bfe9cfe79ff78e7e527a50058cf9103cab61 (diff) | |
download | samba-0aa6328ed6ba6d0d24169ffdff0099405c9bfb00.tar.gz |
r14468: Better fix to avoid winbind panic when we have an inproper configuration
and want to just shutdown and exit.
Guenther
Diffstat (limited to 'source/nsswitch/winbindd_util.c')
-rw-r--r-- | source/nsswitch/winbindd_util.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/source/nsswitch/winbindd_util.c b/source/nsswitch/winbindd_util.c index 7ad3318fe8e..20f25a3954a 100644 --- a/source/nsswitch/winbindd_util.c +++ b/source/nsswitch/winbindd_util.c @@ -62,7 +62,7 @@ struct winbindd_domain *domain_list(void) /* Initialise list */ if (!_domain_list) - init_domain_list(); + init_domain_list(False); return _domain_list; } @@ -498,7 +498,7 @@ enum winbindd_result winbindd_dual_init_connection(struct winbindd_domain *domai } /* Look up global info for the winbind daemon */ -void init_domain_list(void) +BOOL init_domain_list(BOOL initial_start) { extern struct winbindd_methods cache_methods; extern struct winbindd_methods passdb_methods; @@ -518,7 +518,11 @@ void init_domain_list(void) DOM_SID our_sid; if (!secrets_fetch_domain_sid(lp_workgroup(), &our_sid)) { - smb_panic("Could not fetch our SID - did we join?\n"); + if (initial_start) { + return False; + } else { + smb_panic("Could not fetch our SID - did we join?\n"); + } } domain = add_trusted_domain( lp_workgroup(), lp_realm(), @@ -540,6 +544,8 @@ void init_domain_list(void) get_global_sam_sid()); setup_domain_child(domain, &domain->child, NULL); } + + return True; } /** |