diff options
Diffstat (limited to 'source3/passdb')
-rw-r--r-- | source3/passdb/passdb.c | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/source3/passdb/passdb.c b/source3/passdb/passdb.c index 42c0176fc5..0e4948a322 100644 --- a/source3/passdb/passdb.c +++ b/source3/passdb/passdb.c @@ -575,6 +575,8 @@ BOOL local_sid_to_uid(uid_t *puid, DOM_SID *psid, enum SID_NAME_USE *name_type) DOM_SID dom_sid; uint32 rid; + fstring str; + struct passwd *pass; *name_type = SID_NAME_UNKNOWN; @@ -593,9 +595,12 @@ BOOL local_sid_to_uid(uid_t *puid, DOM_SID *psid, enum SID_NAME_USE *name_type) /* * Ensure this uid really does exist. */ - if(!sys_getpwuid(*puid)) + if(!(pass = sys_getpwuid(*puid))) return False; + DEBUG(10,("local_sid_to_uid: SID %s -> uid (%u) (%s).\n", sid_to_string( str, psid), + (unsigned int)*puid, pass->pw_name )); + return True; } @@ -620,6 +625,8 @@ BOOL local_sid_to_gid(gid_t *pgid, DOM_SID *psid, enum SID_NAME_USE *name_type) extern DOM_SID global_sam_sid; DOM_SID dom_sid; uint32 rid; + fstring str; + struct group *grp; *name_type = SID_NAME_UNKNOWN; @@ -640,9 +647,12 @@ BOOL local_sid_to_gid(gid_t *pgid, DOM_SID *psid, enum SID_NAME_USE *name_type) * Ensure this gid really does exist. */ - if(!getgrgid(*pgid)) + if(!(grp = getgrgid(*pgid))) return False; + DEBUG(10,("local_sid_to_gid: SID %s -> gid (%u) (%s).\n", sid_to_string( str, psid), + (unsigned int)*pgid, grp->gr_name )); + return True; } |