From 4aca87515a5083ae0e31ce3177189fd43b6d05ac Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Sat, 3 Jan 2015 13:58:15 +0100 Subject: patch to Vanilla Tomato 1.28 --- release/src/router/busybox/pwd_grp/initgroups.c | 74 ------------------------- 1 file changed, 74 deletions(-) delete mode 100644 release/src/router/busybox/pwd_grp/initgroups.c (limited to 'release/src/router/busybox/pwd_grp/initgroups.c') diff --git a/release/src/router/busybox/pwd_grp/initgroups.c b/release/src/router/busybox/pwd_grp/initgroups.c deleted file mode 100644 index b25b1efe..00000000 --- a/release/src/router/busybox/pwd_grp/initgroups.c +++ /dev/null @@ -1,74 +0,0 @@ -/* - * initgroups.c - This file is part of the libc-8086/grp package for ELKS, - * Copyright (C) 1995, 1996 Nat Friedman . - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Library General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Library General Public License for more details. - * - * You should have received a copy of the GNU Library General Public - * License along with this library; if not, write to the Free - * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -#include -#include -#include -#include "grp.h" -#include "config.h" - -int initgroups(__const char *user, gid_t gid) -{ - register struct group *group; - -#ifndef GR_DYNAMIC_GROUP_LIST - gid_t group_list[GR_MAX_GROUPS]; -#else - gid_t *group_list = NULL; -#endif - register char **tmp_mem; - int num_groups; - int grp_fd; - - - if ((grp_fd = open("/etc/group", O_RDONLY)) < 0) - return -1; - - num_groups = 0; -#ifdef GR_DYNAMIC_GROUP_LIST - group_list = (gid_t *) realloc(group_list, 1); -#endif - group_list[num_groups] = gid; -#ifndef GR_DYNAMIC_GROUP_LIST - while (num_groups < GR_MAX_GROUPS && - (group = __getgrent(grp_fd)) != NULL) -#else - while ((group = __getgrent(grp_fd)) != NULL) -#endif - { - if (group->gr_gid != gid); - { - tmp_mem = group->gr_mem; - while (*tmp_mem != NULL) { - if (!strcmp(*tmp_mem, user)) { - num_groups++; -#ifdef GR_DYNAMIC_GROUP_LIST - group_list = (gid_t *) realloc(group_list, num_groups * - sizeof(gid_t *)); -#endif - group_list[num_groups] = group->gr_gid; - } - tmp_mem++; - } - } - } - close(grp_fd); - return setgroups(num_groups, group_list); -} -- cgit v1.2.3-54-g00ecf