summaryrefslogtreecommitdiff
path: root/source3/passdb
diff options
context:
space:
mode:
authorAravind Srinivasan <aravind.srinivasan@isilon.com>2009-04-16 20:42:40 +0000
committerKarolin Seeger <kseeger@samba.org>2009-05-26 09:39:21 +0200
commit3a10fe2cea615fe491403fb6c7dac980409272a3 (patch)
treed2b6d90dc83925197ce2280dc345738d9cb3cdbe /source3/passdb
parent682fcf492d0b8c2a3b9ee818239e036fa2e7ec2a (diff)
downloadsamba-3a10fe2cea615fe491403fb6c7dac980409272a3.tar.gz
s3: Fallback to the legacy sid_to_(uid|gid) instead of returning NULL.
This is very similar to be1dfff02d562e42a7847bd02fed8538630d3f41 (cherry picked from commit 5aefb44bf04becc6b80e7c3bf038d79851c5b0f9) (cherry picked from commit d07c3437aa9f6262abab87bc298c74fd953ebcfc)
Diffstat (limited to 'source3/passdb')
-rw-r--r--source3/passdb/lookup_sid.c13
-rw-r--r--source3/passdb/pdb_wbc_sam.c17
2 files changed, 4 insertions, 26 deletions
diff --git a/source3/passdb/lookup_sid.c b/source3/passdb/lookup_sid.c
index c1249f5eb4f..b45000e77ed 100644
--- a/source3/passdb/lookup_sid.c
+++ b/source3/passdb/lookup_sid.c
@@ -1430,13 +1430,10 @@ bool sid_to_uid(const DOM_SID *psid, uid_t *puid)
if (!ret || expired) {
/* Not in cache. Ask winbindd. */
if (!winbind_sid_to_uid(puid, psid)) {
- if (!winbind_ping()) {
- return legacy_sid_to_uid(psid, puid);
- }
-
DEBUG(5, ("winbind failed to find a uid for sid %s\n",
sid_string_dbg(psid)));
- return false;
+ /* winbind failed. do legacy */
+ return legacy_sid_to_uid(psid, puid);
}
}
@@ -1497,13 +1494,11 @@ bool sid_to_gid(const DOM_SID *psid, gid_t *pgid)
* (Idmap will check it is a valid SID and of the right type) */
if ( !winbind_sid_to_gid(pgid, psid) ) {
- if (!winbind_ping()) {
- return legacy_sid_to_gid(psid, pgid);
- }
DEBUG(10,("winbind failed to find a gid for sid %s\n",
sid_string_dbg(psid)));
- return false;
+ /* winbind failed. do legacy */
+ return legacy_sid_to_gid(psid, pgid);
}
}
diff --git a/source3/passdb/pdb_wbc_sam.c b/source3/passdb/pdb_wbc_sam.c
index e8116d09952..9c31a0d75ca 100644
--- a/source3/passdb/pdb_wbc_sam.c
+++ b/source3/passdb/pdb_wbc_sam.c
@@ -81,22 +81,6 @@ static bool pdb_wbc_sam_gid_to_sid(struct pdb_methods *methods, gid_t gid,
return winbind_gid_to_sid(sid, gid);
}
-static bool pdb_wbc_sam_sid_to_id(struct pdb_methods *methods,
- const DOM_SID *sid,
- union unid_t *id, enum lsa_SidType *type)
-{
- if (winbind_sid_to_uid(&id->uid, sid)) {
- *type = SID_NAME_USER;
- } else if (winbind_sid_to_gid(&id->gid, sid)) {
- /* We assume all gids are groups, not aliases */
- *type = SID_NAME_DOM_GRP;
- } else {
- return false;
- }
-
- return true;
-}
-
static NTSTATUS pdb_wbc_sam_enum_group_members(struct pdb_methods *methods,
TALLOC_CTX *mem_ctx,
const DOM_SID *group,
@@ -430,7 +414,6 @@ static NTSTATUS pdb_init_wbc_sam(struct pdb_methods **pdb_method, const char *lo
(*pdb_method)->set_account_policy = pdb_wbc_sam_set_account_policy;
(*pdb_method)->uid_to_sid = pdb_wbc_sam_uid_to_sid;
(*pdb_method)->gid_to_sid = pdb_wbc_sam_gid_to_sid;
- (*pdb_method)->sid_to_id = pdb_wbc_sam_sid_to_id;
(*pdb_method)->search_groups = pdb_wbc_sam_search_groups;
(*pdb_method)->search_aliases = pdb_wbc_sam_search_aliases;