Lines Matching defs:grp

31 #include <grp.h>
43 static void delete_members(struct group *grp, char *list);
44 static int print_group(struct group * grp, bool pretty);
48 grp_set_passwd(struct group *grp, bool update, int fd, bool precrypted)
60 grp->gr_passwd = "*"; /* No access */
74 grp->gr_name);
95 grp->gr_passwd = line;
97 grp->gr_passwd = pw_pwcrypt(line);
115 struct group *grp;
119 grp = (name != NULL) ? GETGRNAM(name) : GETGRGID(id);
120 if (grp == NULL) {
127 return (grp);
151 delete_members(struct group *grp, char *list)
156 if (grp->gr_mem == NULL)
160 for (k = 0; grp->gr_mem[k] != NULL; k++) {
161 if (strcmp(grp->gr_mem[k], p) == 0)
164 if (grp->gr_mem[k] == NULL) /* No match */
167 for (; grp->gr_mem[k] != NULL; k++)
168 grp->gr_mem[k] = grp->gr_mem[k+1];
175 struct group *grp;
185 if ((grp = GETGRGID(gid)) != NULL && conf.checkduplicate)
187 (uintmax_t)grp->gr_gid);
206 while ((grp = GETGRENT()) != NULL)
207 if ((gid_t)grp->gr_gid >= (gid_t)cnf->min_gid &&
208 (gid_t)grp->gr_gid <= (gid_t)cnf->max_gid)
209 bm_setbit(&bm, grp->gr_gid - cnf->min_gid);
236 print_group(struct group * grp, bool pretty)
244 grp->gr_name, (long) grp->gr_gid);
245 if (grp->gr_mem != NULL) {
246 for (i = 0; grp->gr_mem[i]; i++)
247 printf("%s%s", i ? "," : "", grp->gr_mem[i]);
253 buf = gr_make(grp);
293 struct group *grp = NULL;
352 while ((grp = GETGRENT()) != NULL)
353 print_group(grp, pretty);
358 grp = getgroup(name, id, !force);
359 if (grp == NULL)
360 grp = &fakegroup;
362 return (print_group(grp, pretty));
369 struct group *grp = NULL;
412 grp = getgroup(name, id, true);
414 rc = delgrent(grp);
429 grp_has_member(struct group *grp, const char *name)
433 for (j = 0; grp->gr_mem != NULL && grp->gr_mem[j] != NULL; j++)
434 if (strcmp(grp->gr_mem[j], name) == 0)
440 grp_add_members(struct group **grp, char *members)
450 if (grp_has_member(*grp, pwd->pw_name))
452 *grp = gr_add(*grp, pwd->pw_name);
460 struct group *grp;
470 grp = &fakegroup;
471 grp->gr_name = pw_checkname(name, 0);
472 grp->gr_passwd = "*";
473 grp->gr_gid = gr_gidpolicy(cnf, id);
474 grp->gr_mem = NULL;
482 grp_set_passwd(grp, false, fd, precrypted);
483 grp_add_members(&grp, members);
485 return (print_group(grp, pretty));
487 if ((rc = addgrent(grp)) != 0) {
490 grp->gr_name);
495 pw_log(cnf, M_ADD, W_GROUP, "%s(%ju)", grp->gr_name,
496 (uintmax_t)grp->gr_gid);
593 struct group *grp = NULL;
675 grp = getgroup(name, id, true);
677 name = grp->gr_name;
679 grp->gr_gid = id;
682 grp->gr_name = pw_checkname(newname, 0);
684 grp_set_passwd(grp, true, fd, precrypted);
693 grp->gr_mem = NULL;
694 grp_add_members(&grp, members);
696 delete_members(grp, oldmembers);
698 grp_add_members(&grp, newmembers);
702 print_group(grp, pretty);
706 if ((rc = chggrent(name, grp)) != 0) {
709 grp->gr_name);
717 /* grp may have been invalidated */
718 if ((grp = GETGRNAM(name)) == NULL)
721 pw_log(cnf, M_MODIFY, W_GROUP, "%s(%ju)", grp->gr_name,
722 (uintmax_t)grp->gr_gid);