summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_ads.c
diff options
context:
space:
mode:
authorGünther Deschner <gd@samba.org>2008-07-29 12:08:47 +0200
committerGünther Deschner <gd@samba.org>2008-07-30 17:09:58 +0200
commit3bdfcbac5c1a6c571a4299467a7993da46a921a5 (patch)
tree446127d35882970bf69f2a6f81c7c434703c9750 /source3/winbindd/winbindd_ads.c
parent4356a456822914c5a4c98c903b5ade3b0a3a909d (diff)
downloadsamba-3bdfcbac5c1a6c571a4299467a7993da46a921a5.tar.gz
samba-3bdfcbac5c1a6c571a4299467a7993da46a921a5.tar.bz2
samba-3bdfcbac5c1a6c571a4299467a7993da46a921a5.zip
winbindd: handle trusted domains without sid.
Guenther (This used to be commit 0c1efc6c89b1a51a94d10971bf0fc515416709b3)
Diffstat (limited to 'source3/winbindd/winbindd_ads.c')
-rw-r--r--source3/winbindd/winbindd_ads.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/source3/winbindd/winbindd_ads.c b/source3/winbindd/winbindd_ads.c
index 5e3d5d2aec..097fa3907d 100644
--- a/source3/winbindd/winbindd_ads.c
+++ b/source3/winbindd/winbindd_ads.c
@@ -1241,13 +1241,21 @@ static NTSTATUS trusted_domains(struct winbindd_domain *domain,
(*names)[ret_count] = CONST_DISCARD(char *, trusts.array[i].netbios_name);
(*alt_names)[ret_count] = CONST_DISCARD(char *, trusts.array[i].dns_name);
- sid_copy(&(*dom_sids)[ret_count], trusts.array[i].sid);
+ if (trusts.array[i].sid) {
+ sid_copy(&(*dom_sids)[ret_count], trusts.array[i].sid);
+ } else {
+ sid_copy(&(*dom_sids)[ret_count], &global_sid_NULL);
+ }
/* add to the trusted domain cache */
fstrcpy( d.name, trusts.array[i].netbios_name);
fstrcpy( d.alt_name, trusts.array[i].dns_name);
- sid_copy( &d.sid, trusts.array[i].sid);
+ if (trusts.array[i].sid) {
+ sid_copy( &d.sid, trusts.array[i].sid);
+ } else {
+ sid_copy(&(*dom_sids)[ret_count], &global_sid_NULL);
+ }
if ( domain->primary ) {
DEBUG(10,("trusted_domains(ads): Searching "