summaryrefslogtreecommitdiff
path: root/source3/passdb
diff options
context:
space:
mode:
authorVolker Lendecke <vl@samba.org>2008-07-11 17:44:52 +0200
committerVolker Lendecke <vl@samba.org>2008-07-11 17:53:25 +0200
commite613ecbea5056fbeedaa8749228512d620077e70 (patch)
treeb00cdb6cbed948081f71ffe10ea031f271a21550 /source3/passdb
parent68071e94a53ca943fb2661ac0925e921da7db379 (diff)
downloadsamba-e613ecbea5056fbeedaa8749228512d620077e70.tar.gz
samba-e613ecbea5056fbeedaa8749228512d620077e70.tar.bz2
samba-e613ecbea5056fbeedaa8749228512d620077e70.zip
Revert "Make use of sid_check_is_in_unix_users/groups"
This reverts commit cd8e63b2b45402091d6d328b3c6ca593fc19ac92. (This used to be commit 061e55d4f48d269dc45fad6739e0872501b9433d)
Diffstat (limited to 'source3/passdb')
-rw-r--r--source3/passdb/lookup_sid.c27
1 files changed, 11 insertions, 16 deletions
diff --git a/source3/passdb/lookup_sid.c b/source3/passdb/lookup_sid.c
index 35af1ff0dc..a7175b9647 100644
--- a/source3/passdb/lookup_sid.c
+++ b/source3/passdb/lookup_sid.c
@@ -1344,6 +1344,7 @@ void gid_to_sid(DOM_SID *psid, gid_t gid)
bool sid_to_uid(const DOM_SID *psid, uid_t *puid)
{
+ uint32 rid;
gid_t gid;
if (fetch_uid_from_cache(puid, psid))
@@ -1355,16 +1356,13 @@ bool sid_to_uid(const DOM_SID *psid, uid_t *puid)
/* Optimize for the Unix Users Domain
* as the conversion is straightforward */
-
- if (sid_check_is_in_unix_users(psid)) {
- uint32_t rid;
-
- sid_peek_rid(psid, &rid);
- *puid = (uid_t)rid;
+ if (sid_peek_check_rid(&global_sid_Unix_Users, psid, &rid)) {
+ uid_t uid = rid;
+ *puid = uid;
/* return here, don't cache */
- DEBUG(10, ("sid %s -> uid %u\n", sid_string_dbg(psid),
- (unsigned int)rid));
+ DEBUG(10,("sid %s -> uid %u\n", sid_string_dbg(psid),
+ (unsigned int)*puid ));
return true;
}
@@ -1406,16 +1404,13 @@ bool sid_to_gid(const DOM_SID *psid, gid_t *pgid)
/* Optimize for the Unix Groups Domain
* as the conversion is straightforward */
-
- if (sid_check_is_in_unix_groups(psid)) {
- uint32_t rid;
-
- sid_peek_rid(psid, &rid);
- *pgid = (gid_t)rid;
+ if (sid_peek_check_rid(&global_sid_Unix_Groups, psid, &rid)) {
+ gid_t gid = rid;
+ *pgid = gid;
/* return here, don't cache */
- DEBUG(10, ("sid %s -> gid %u\n", sid_string_dbg(psid),
- (unsigned int)rid));
+ DEBUG(10,("sid %s -> gid %u\n", sid_string_dbg(psid),
+ (unsigned int)*pgid ));
return true;
}