diff options
author | Gerald Carter <jerry@samba.org> | 2003-06-23 05:10:07 +0000 |
---|---|---|
committer | Gerald Carter <jerry@samba.org> | 2003-06-23 05:10:07 +0000 |
commit | 81d8eefc0d7620d5835b991d28bafe3d4f30eee2 (patch) | |
tree | 4502a265a52f3916a302ff23ddca31d70b6b18f1 /source3/nsswitch/winbindd_cache.c | |
parent | 5f1ff72f7d314d4bb9762ac11398188719507bc4 (diff) | |
download | samba-81d8eefc0d7620d5835b991d28bafe3d4f30eee2.tar.gz samba-81d8eefc0d7620d5835b991d28bafe3d4f30eee2.tar.bz2 samba-81d8eefc0d7620d5835b991d28bafe3d4f30eee2.zip |
* set domain->last_status = NT_STATUS_SERVER_DISABLED on an ads_connect() failure
* Fix code to use winbind_rpc methods for trusted mixed mode or NT4 domains
( does no one ever test this? )
* add in LDAP code to get the sequence number for rpc based seqnum update.
( this is needed if the DC is upgraded and samba is not reconfigured
to use security = ads; it's not pretty but it works (from app_head) )
* fix bug that caused us to enumerate domain local groups in domains
other than our own
(This used to be commit 14f2cd139a22454571cea8475d3b7c5c2787d378)
Diffstat (limited to 'source3/nsswitch/winbindd_cache.c')
-rw-r--r-- | source3/nsswitch/winbindd_cache.c | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/source3/nsswitch/winbindd_cache.c b/source3/nsswitch/winbindd_cache.c index 5464e765d1..9f7d3686a5 100644 --- a/source3/nsswitch/winbindd_cache.c +++ b/source3/nsswitch/winbindd_cache.c @@ -105,9 +105,19 @@ static struct winbind_cache *get_cache(struct winbindd_domain *domain) #ifdef HAVE_ADS case SEC_ADS: { extern struct winbindd_methods ads_methods; - domain->backend = &ads_methods; - break; - } + /* always obey the lp_security parameter for our domain */ + if ( strequal(lp_realm(), domain->alt_name) ) { + domain->backend = &ads_methods; + break; + } + + if ( domain->native_mode ) { + domain->backend = &ads_methods; + break; + } + + /* fall through */ + } #endif default: domain->backend = &msrpc_methods; @@ -990,10 +1000,6 @@ static NTSTATUS sid_to_name(struct winbindd_domain *domain, do_query: *name = NULL; - if (wcache_server_down(domain)) { - return NT_STATUS_SERVER_DISABLED; - } - /* If the seq number check indicated that there is a problem * with this DC, then return that status... except for * access_denied. This is special because the dc may be in |