Ignore:
Timestamp:
Apr 25, 2007, 9:44:55 AM (14 years ago)
Author:
Paul Smedley
Message:

Code updated to Samba 3.0.25rc2 level

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/samba/source/auth/auth_util.c

    r1 r30  
    983983{
    984984        TALLOC_CTX *mem_ctx;
    985         struct id_map *ids;
    986985        NTSTATUS status;
    987         BOOL wb = True;
    988986        size_t i;
    989987       
     
    10321030
    10331031        /* Start at index 1, where the groups start. */
    1034         ids = talloc_zero_array(mem_ctx, struct id_map, server_info->ptok->num_sids);
    1035         for (i = 0; i < server_info->ptok->num_sids-1; i++) {
    1036                 ids[i].sid = &server_info->ptok->user_sids[i + 1]; /* store the sids */
    1037         }
    1038 
    1039         if (!winbind_sids_to_unixids(ids, server_info->ptok->num_sids-1)) {
    1040                 DEBUG(2, ("Query to map secondary SIDs failed!\n"));
    1041                 if (!winbind_ping()) {
    1042                         DEBUG(2, ("Winbindd is not running, will try to map SIDs one by one with legacy code\n"));
    1043                         wb = False;
    1044                 }
    1045         }
    1046 
    1047         for (i = 0; i < server_info->ptok->num_sids-1; i++) {
    1048                 gid_t agid;
    1049 
    1050                 if (wb) {
    1051                         if (ids[i].status != ID_MAPPED) {
     1032
     1033        for (i=1; i<server_info->ptok->num_sids; i++) {
     1034                gid_t gid;
     1035                DOM_SID *sid = &server_info->ptok->user_sids[i];
     1036
     1037                if (!sid_to_gid(sid, &gid)) {
    10521038                        DEBUG(10, ("Could not convert SID %s to gid, "
    1053                                            "ignoring it\n", sid_string_static(ids[i].sid)));
     1039                                   "ignoring it\n", sid_string_static(sid)));
    10541040                        continue;
    10551041                }
    1056                         if (ids[i].xid.type == ID_TYPE_UID) {
    1057                                 DEBUG(10, ("SID %s is a User ID (%u) not a Group ID, "
    1058                                            "ignoring it\n", sid_string_static(ids[i].sid), ids[i].xid.id));
    1059                                 continue;
    1060                         }
    1061                         agid = (gid_t)ids[i].xid.id;
    1062                 } else {
    1063                         if (! sid_to_gid(ids[i].sid, &agid)) {
    1064                                 continue;
    1065                         }
    1066                 }
    1067                 if (!add_gid_to_array_unique(server_info, agid, &server_info->groups,
    1068                                         &server_info->n_groups)) {
    1069                         TALLOC_FREE(mem_ctx);
    1070                         return NT_STATUS_NO_MEMORY;
    1071                 }
     1042                add_gid_to_array_unique(server_info, gid, &server_info->groups,
     1043                                        &server_info->n_groups);
    10721044        }
    10731045       
Note: See TracChangeset for help on using the changeset viewer.