r20994: Remove unused code.
authorJames Peach <jpeach@samba.org>
Wed, 24 Jan 2007 05:03:15 +0000 (05:03 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 17:17:24 +0000 (12:17 -0500)
(This used to be commit 8052a18f29d32f37c52868b17143af8d76bf5e6e)

source3/nsswitch/wb_client.c

index 613bb1cc604481ef1d154491267994604e7d4228..afb62027544251b6ddcbe8ac60e714e4a547652e 100644 (file)
@@ -539,128 +539,6 @@ BOOL winbind_set_gid_hwm(unsigned long id)
        return (result == NSS_STATUS_SUCCESS);
 }
 
-/* Fetch the list of groups a user is a member of from winbindd.  This is
-   used by winbind_getgroups. */
-
-static int wb_getgroups(const char *user, gid_t **groups)
-{
-       struct winbindd_request request;
-       struct winbindd_response response;
-       int result;
-
-       /* Call winbindd */
-
-       ZERO_STRUCT(request);
-       fstrcpy(request.data.username, user);
-
-       ZERO_STRUCT(response);
-
-       result = winbindd_request_response(WINBINDD_GETGROUPS, &request, &response);
-
-       if (result == NSS_STATUS_SUCCESS) {
-               
-               /* Return group list.  Don't forget to free the group list
-                  when finished. */
-
-               *groups = (gid_t *)response.extra_data.data;
-               return response.data.num_entries;
-       }
-
-       return -1;
-}
-
-/* Call winbindd to initialise group membership.  This is necessary for
-   some systems (i.e RH5.2) that do not have an initgroups function as part
-   of the nss extension.  In RH5.2 this is implemented using getgrent()
-   which can be amazingly inefficient as well as having problems with
-   username case. */
-
-int winbind_initgroups(char *user, gid_t gid)
-{
-       gid_t *groups = NULL;
-       int result;
-
-       /* Call normal initgroups if we are a local user */
-
-       if (!strchr(user, *lp_winbind_separator())) {
-               return initgroups(user, gid);
-       }
-
-       result = wb_getgroups(user, &groups);
-
-       DEBUG(10,("winbind_getgroups: %s: result = %s\n", user, 
-                 result == -1 ? "FAIL" : "SUCCESS"));
-
-       if (result != -1) {
-               int ngroups = result, i;
-               BOOL is_member = False;
-
-               /* Check to see if the passed gid is already in the list */
-
-               for (i = 0; i < ngroups; i++) {
-                       if (groups[i] == gid) {
-                               is_member = True;
-                       }
-               }
-
-               /* Add group to list if necessary */
-
-               if (!is_member) {
-                       groups = SMB_REALLOC_ARRAY(groups, gid_t, ngroups + 1);
-                       if (!groups) {
-                               errno = ENOMEM;
-                               result = -1;
-                               goto done;
-                       }
-
-                       groups[ngroups] = gid;
-                       ngroups++;
-               }
-
-               /* Set the groups */
-
-               if (sys_setgroups(ngroups, groups) == -1) {
-                       errno = EPERM;
-                       result = -1;
-                       goto done;
-               }
-
-       } else {
-               
-               /* The call failed.  Set errno to something so we don't get
-                  a bogus value from the last failed system call. */
-
-               errno = EIO;
-       }
-
-       /* Free response data if necessary */
-
- done:
-       SAFE_FREE(groups);
-
-       return result;
-}
-
-/* Return a list of groups the user is a member of.  This function is
-   useful for large systems where inverting the group database would be too
-   time consuming.  If size is zero, list is not modified and the total
-   number of groups for the user is returned. */
-
-int winbind_getgroups(const char *user, gid_t **list)
-{
-       /*
-        * Don't do the lookup if the name has no separator _and_ we are not in
-        * 'winbind use default domain' mode.
-        */
-
-       if (!(strchr(user, *lp_winbind_separator()) || lp_winbind_use_default_domain()))
-               return -1;
-
-       /* Fetch list of groups */
-
-       return wb_getgroups(user, list);
-}
-
 /**********************************************************************
  simple wrapper function to see if winbindd is alive
 **********************************************************************/