summaryrefslogtreecommitdiff
path: root/source3/winbindd/winbindd_passdb.c
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2009-08-02 10:43:05 +0200
committerVolker Lendecke <vl@samba.org>2009-08-02 11:24:48 +0200
commit4f147388c0512fc291cc53764c017d7117154afc (patch)
treeb4a4ee3fba145c2c2710c4c782d653b245d96fdc /source3/winbindd/winbindd_passdb.c
parent62fec968193e8a96ccffef216aba30ffb681d33a (diff)
downloadsamba-4f147388c0512fc291cc53764c017d7117154afc.tar.gz
samba-4f147388c0512fc291cc53764c017d7117154afc.tar.bz2
samba-4f147388c0512fc291cc53764c017d7117154afc.zip
Refactor 9b78af1f: Fix lookupname recursion
Pass a "flags" argument instead of the original winbind command down the name_to_sid chain. This way we are independent of the winbind commands and can take the decision at a much higher level
Diffstat (limited to 'source3/winbindd/winbindd_passdb.c')
-rw-r--r--source3/winbindd/winbindd_passdb.c16
1 files changed, 3 insertions, 13 deletions
diff --git a/source3/winbindd/winbindd_passdb.c b/source3/winbindd/winbindd_passdb.c
index b959bfc9ad..b6e572d197 100644
--- a/source3/winbindd/winbindd_passdb.c
+++ b/source3/winbindd/winbindd_passdb.c
@@ -88,25 +88,15 @@ static NTSTATUS enum_local_groups(struct winbindd_domain *domain,
/* convert a single name to a sid in a domain */
static NTSTATUS name_to_sid(struct winbindd_domain *domain,
TALLOC_CTX *mem_ctx,
- enum winbindd_cmd original_cmd,
const char *domain_name,
const char *name,
+ uint32_t flags,
DOM_SID *sid,
enum lsa_SidType *type)
{
const char *fullname;
- uint32 flags = LOOKUP_NAME_ALL;
-
- switch ( original_cmd ) {
- case WINBINDD_LOOKUPNAME:
- /* This call is ok */
- break;
- default:
- /* Avoid any NSS calls in the lookup_name by default */
- flags |= LOOKUP_NAME_NO_NSS;
- DEBUG(10,("winbindd_passdb: limiting name_to_sid() to explicit mappings\n"));
- break;
- }
+
+ flags |= LOOKUP_NAME_ALL;
if (domain_name && domain_name[0] && strchr_m(name, '\\') == NULL) {
fullname = talloc_asprintf(mem_ctx, "%s\\%s",