summaryrefslogtreecommitdiff
path: root/source3/passdb/passdb.c
diff options
context:
space:
mode:
Diffstat (limited to 'source3/passdb/passdb.c')
-rw-r--r--source3/passdb/passdb.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c
index d974cdf576..ae52b3d4f1 100644
--- a/source3/passdb/passdb.c
+++ b/source3/passdb/passdb.c
@@ -1089,17 +1089,22 @@ DOM_SID *local_uid_to_sid(DOM_SID *psid, uid_t uid)
BOOL local_sid_to_uid(uid_t *puid, const DOM_SID *psid, enum SID_NAME_USE *name_type)
{
+ DOM_SID dom_sid;
+ uint32 rid;
SAM_ACCOUNT *sampw = NULL;
struct passwd *unix_pw;
const char *user_name;
*name_type = SID_NAME_UNKNOWN;
+ sid_copy(&dom_sid, psid);
+ sid_split_rid(&dom_sid, &rid);
+
/*
* We can only convert to a uid if this is our local
* Domain SID (ie. we are the controling authority).
*/
- if ( !sid_compare_domain(get_global_sam_sid(), psid) )
+ if ( !sid_equal(get_global_sam_sid(), &dom_sid) )
return False;