diff options
author | Gerald W. Carter <jerry@samba.org> | 2008-04-22 15:29:53 -0500 |
---|---|---|
committer | Gerald W. Carter <jerry@samba.org> | 2008-04-23 13:11:48 -0500 |
commit | e71ceebea239d3331a1c7f413da6b867acb11cd1 (patch) | |
tree | 6b47a2ef8be2180e31965933b4e409f75b5712e5 /source/winbindd/winbindd_misc.c | |
parent | ce0a5aae3e4fdae1dfcaf211f8642dcd8580df7d (diff) | |
download | samba-e71ceebea239d3331a1c7f413da6b867acb11cd1.tar.gz samba-e71ceebea239d3331a1c7f413da6b867acb11cd1.tar.xz samba-e71ceebea239d3331a1c7f413da6b867acb11cd1.zip |
Mark a domain offline in the wbcDomainInfo structure using the domain_flags.
Use the existing domain_flags fiueld in wbcDomainInfo to set a bit if the
domain is marked as offline by Winbind.
(cherry picked from commit 59cfba2c3d6d4594f08cbe3b7295ab36a7cfb044)
Diffstat (limited to 'source/winbindd/winbindd_misc.c')
-rw-r--r-- | source/winbindd/winbindd_misc.c | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/source/winbindd/winbindd_misc.c b/source/winbindd/winbindd_misc.c index 93986d174e5..f63aa168904 100644 --- a/source/winbindd/winbindd_misc.c +++ b/source/winbindd/winbindd_misc.c @@ -173,20 +173,29 @@ void winbindd_list_trusted_domains(struct winbindd_cli_state *state) } for ( i = 0; i < num_domains; i++ ) { + struct winbindd_domain *domain; + bool is_online = true; + d = &dom_list[i]; + domain = find_domain_from_name_noinit(d->domain_name); + if (domain) { + is_online = domain->online; + } + if ( !extra_data ) { extra_data = talloc_asprintf(state->mem_ctx, - "%s\\%s\\%s\\%s\\%s\\%s\\%s", + "%s\\%s\\%s\\%s\\%s\\%s\\%s\\%s", d->domain_name, d->dns_name ? d->dns_name : d->domain_name, sid_string_talloc(state->mem_ctx, &d->sid), get_trust_type_string(d), trust_is_transitive(d) ? "Yes" : "No", trust_is_inbound(d) ? "Yes" : "No", - trust_is_outbound(d) ? "Yes" : "No"); + trust_is_outbound(d) ? "Yes" : "No", + is_online ? "Online" : "Offline" ); } else { extra_data = talloc_asprintf(state->mem_ctx, - "%s\n%s\\%s\\%s\\%s\\%s\\%s\\%s", + "%s\n%s\\%s\\%s\\%s\\%s\\%s\\%s\\%s", extra_data, d->domain_name, d->dns_name ? d->dns_name : d->domain_name, @@ -194,7 +203,8 @@ void winbindd_list_trusted_domains(struct winbindd_cli_state *state) get_trust_type_string(d), trust_is_transitive(d) ? "Yes" : "No", trust_is_inbound(d) ? "Yes" : "No", - trust_is_outbound(d) ? "Yes" : "No"); + trust_is_outbound(d) ? "Yes" : "No", + is_online ? "Online" : "Offline" ); } } |