*id_to_*id call reshape to return NTSTATUS errors
[ira/wip.git] / source3 / nsswitch / winbindd_user.c
index dd66275390797a761e6591d6ff55b561f413f6bc..dc07bc42e74a0cf8370cbb2000eaa3720dbcf2bc 100644 (file)
@@ -36,29 +36,23 @@ static BOOL winbindd_fill_pwent(char *dom_name, char *user_name,
        fstring output_username;
        pstring homedir;
        fstring sid_string;
        fstring output_username;
        pstring homedir;
        fstring sid_string;
-       unid_t id;
-       int id_type;
        
        if (!pw || !dom_name || !user_name)
                return False;
        
        /* Resolve the uid number */
 
        
        if (!pw || !dom_name || !user_name)
                return False;
        
        /* Resolve the uid number */
 
-       id_type = ID_USERID;
-       if (NT_STATUS_IS_ERR(idmap_get_id_from_sid(&id, &id_type, user_sid))) {
+       if (NT_STATUS_IS_ERR(sid_to_uid(user_sid, &(pw->pw_uid)))) {
                DEBUG(1, ("error getting user id for sid %s\n", sid_to_string(sid_string, user_sid)));
                return False;
        }
                DEBUG(1, ("error getting user id for sid %s\n", sid_to_string(sid_string, user_sid)));
                return False;
        }
-       pw->pw_uid = id.uid;
        
        /* Resolve the gid number */   
 
        
        /* Resolve the gid number */   
 
-       id_type = ID_GROUPID;
-       if (NT_STATUS_IS_ERR(idmap_get_id_from_sid(&id, &id_type, group_sid))) {
+       if (NT_STATUS_IS_ERR(sid_to_gid(group_sid, &(pw->pw_gid)))) {
                DEBUG(1, ("error getting group id for sid %s\n", sid_to_string(sid_string, group_sid)));
                return False;
        }
                DEBUG(1, ("error getting group id for sid %s\n", sid_to_string(sid_string, group_sid)));
                return False;
        }
-       pw->pw_gid = id.gid;
 
        /* Username */
 
 
        /* Username */
 
@@ -184,8 +178,7 @@ enum winbindd_result winbindd_getpwuid(struct winbindd_cli_state *state)
        WINBIND_USERINFO user_info;
        TALLOC_CTX *mem_ctx;
        NTSTATUS status;
        WINBIND_USERINFO user_info;
        TALLOC_CTX *mem_ctx;
        NTSTATUS status;
-       unid_t id;
-       int id_type;
+       gid_t gid;
        
        /* Bug out if the uid isn't in the winbind range */
 
        
        /* Bug out if the uid isn't in the winbind range */
 
@@ -198,8 +191,7 @@ enum winbindd_result winbindd_getpwuid(struct winbindd_cli_state *state)
        
        /* Get rid from uid */
 
        
        /* Get rid from uid */
 
-       id.uid = state->request.data.uid;
-       if (NT_STATUS_IS_ERR(idmap_get_sid_from_id(&user_sid, id, ID_USERID))) {
+       if (NT_STATUS_IS_ERR(uid_to_sid(&user_sid, state->request.data.uid))) {
                DEBUG(1, ("could not convert uid %d to SID\n", 
                          state->request.data.uid));
                return WINBINDD_ERROR;
                DEBUG(1, ("could not convert uid %d to SID\n", 
                          state->request.data.uid));
                return WINBINDD_ERROR;
@@ -243,8 +235,7 @@ enum winbindd_result winbindd_getpwuid(struct winbindd_cli_state *state)
        
        /* Check group has a gid number */
 
        
        /* Check group has a gid number */
 
-       id_type = ID_GROUPID;
-       if (NT_STATUS_IS_ERR(idmap_get_id_from_sid(&id, &id_type, user_info.group_sid))) {
+       if (NT_STATUS_IS_ERR(sid_to_gid(user_info.group_sid, &gid))) {
                DEBUG(1, ("error getting group id for user %s\n", user_name));
                talloc_destroy(mem_ctx);
                return WINBINDD_ERROR;
                DEBUG(1, ("error getting group id for user %s\n", user_name));
                talloc_destroy(mem_ctx);
                return WINBINDD_ERROR;