Lines Matching +full:mutually +full:- +full:exclusive
1 /*-
2 * SPDX-License-Identifier: BSD-2-Clause
56 if (fd == -1) in grp_set_passwd()
59 if (fd == '-') { in grp_set_passwd()
60 grp->gr_passwd = "*"; /* No access */ in grp_set_passwd()
65 if (tcgetattr(fd, &t) == -1) in grp_set_passwd()
74 grp->gr_name); in grp_set_passwd()
78 b = read(fd, line, sizeof(line) - 1); in grp_set_passwd()
85 err(EX_OSERR, "-h file descriptor"); in grp_set_passwd()
95 grp->gr_passwd = line; in grp_set_passwd()
97 grp->gr_passwd = pw_pwcrypt(line); in grp_set_passwd()
103 gid_t next = gr_gidpolicy(cnf, -1); in pw_groupnext()
156 if (grp->gr_mem == NULL) in delete_members()
160 for (k = 0; grp->gr_mem[k] != NULL; k++) { in delete_members()
161 if (strcmp(grp->gr_mem[k], p) == 0) in delete_members()
164 if (grp->gr_mem[k] == NULL) /* No match */ in delete_members()
167 for (; grp->gr_mem[k] != NULL; k++) in delete_members()
168 grp->gr_mem[k] = grp->gr_mem[k+1]; in delete_members()
177 gid_t gid = (gid_t) - 1; in gr_gidpolicy()
187 (uintmax_t)grp->gr_gid); in gr_gidpolicy()
196 if (cnf->min_gid >= cnf->max_gid) { /* Sanity claus^H^H^H^Hheck */ in gr_gidpolicy()
197 cnf->min_gid = 1000; in gr_gidpolicy()
198 cnf->max_gid = 32000; in gr_gidpolicy()
200 bm = bm_alloc(cnf->max_gid - cnf->min_gid + 1); in gr_gidpolicy()
207 if ((gid_t)grp->gr_gid >= (gid_t)cnf->min_gid && in gr_gidpolicy()
208 (gid_t)grp->gr_gid <= (gid_t)cnf->max_gid) in gr_gidpolicy()
209 bm_setbit(&bm, grp->gr_gid - cnf->min_gid); in gr_gidpolicy()
215 if (cnf->reuse_gids) in gr_gidpolicy()
216 gid = (gid_t) (bm_firstunset(&bm) + cnf->min_gid); in gr_gidpolicy()
220 gid += cnf->min_gid; in gr_gidpolicy()
222 gid = (gid_t) (bm_firstunset(&bm) + cnf->min_gid); in gr_gidpolicy()
228 if (gid < cnf->min_gid || gid > cnf->max_gid) in gr_gidpolicy()
229 errx(EX_SOFTWARE, "unable to allocate a new gid - range fully " in gr_gidpolicy()
242 printf("Group Name: %-15s #%lu\n" in print_group()
244 grp->gr_name, (long) grp->gr_gid); in print_group()
245 if (grp->gr_mem != NULL) { in print_group()
246 for (i = 0; grp->gr_mem[i]; i++) in print_group()
247 printf("%s%s", i ? "," : "", grp->gr_mem[i]); in print_group()
267 while ((ch = getopt(argc, argv, "C:q")) != -1) { in pw_group_next()
279 argc -= optind; in pw_group_next()
295 intmax_t id = -1; in pw_group_show()
304 -1, in pw_group_show()
315 while ((ch = getopt(argc, argv, "C:qn:g:FPa")) != -1) { in pw_group_show()
342 argc -= optind; in pw_group_show()
372 intmax_t id = -1; in pw_group_del()
384 while ((ch = getopt(argc, argv, "C:qn:g:Y")) != -1) { in pw_group_del()
405 argc -= optind; in pw_group_del()
415 if (rc == -1) in pw_group_del()
433 for (j = 0; grp->gr_mem != NULL && grp->gr_mem[j] != NULL; j++) in grp_has_member()
434 if (strcmp(grp->gr_mem[j], name) == 0) in grp_has_member()
450 if (grp_has_member(*grp, pwd->pw_name)) in grp_add_members()
452 *grp = gr_add(*grp, pwd->pw_name); in grp_add_members()
466 -1, in groupadd()
471 grp->gr_name = pw_checkname(name, 0); in groupadd()
472 grp->gr_passwd = "*"; in groupadd()
473 grp->gr_gid = gr_gidpolicy(cnf, id); in groupadd()
474 grp->gr_mem = NULL; in groupadd()
488 if (rc == -1) in groupadd()
490 grp->gr_name); in groupadd()
495 pw_log(cnf, M_ADD, W_GROUP, "%s(%ju)", grp->gr_name, in groupadd()
496 (uintmax_t)grp->gr_gid); in groupadd()
508 intmax_t id = -1; in pw_group_add()
509 int ch, rc, fd = -1; in pw_group_add()
521 while ((ch = getopt(argc, argv, "C:qn:g:h:H:M:oNPY")) != -1) { in pw_group_add()
536 if (fd != -1) in pw_group_add()
537 errx(EX_USAGE, "'-h' and '-H' are mutually " in pw_group_add()
538 "exclusive options"); in pw_group_add()
541 if (fd == '-') in pw_group_add()
542 errx(EX_USAGE, "-H expects a file descriptor"); in pw_group_add()
545 if (fd != -1) in pw_group_add()
546 errx(EX_USAGE, "'-h' and '-H' are mutually " in pw_group_add()
547 "exclusive options"); in pw_group_add()
569 argc -= optind; in pw_group_add()
600 intmax_t id = -1; in pw_group_mod()
601 int ch, rc, fd = -1; in pw_group_mod()
613 while ((ch = getopt(argc, argv, "C:qn:d:g:l:h:H:M:m:NPY")) != -1) { in pw_group_mod()
634 if (fd != -1) in pw_group_mod()
635 errx(EX_USAGE, "'-h' and '-H' are mutually " in pw_group_mod()
636 "exclusive options"); in pw_group_mod()
639 if (fd == '-') in pw_group_mod()
640 errx(EX_USAGE, "-H expects a file descriptor"); in pw_group_mod()
643 if (fd != -1) in pw_group_mod()
644 errx(EX_USAGE, "'-h' and '-H' are mutually " in pw_group_mod()
645 "exclusive options"); in pw_group_mod()
667 argc -= optind; in pw_group_mod()
677 name = grp->gr_name; in pw_group_mod()
679 grp->gr_gid = id; in pw_group_mod()
682 grp->gr_name = pw_checkname(newname, 0); in pw_group_mod()
687 * if -M is passed, -d and -m are ignored in pw_group_mod()
688 * then id -d, -m is ignored in pw_group_mod()
689 * last is -m in pw_group_mod()
693 grp->gr_mem = NULL; in pw_group_mod()
707 if (rc == -1) in pw_group_mod()
709 grp->gr_name); in pw_group_mod()
721 pw_log(cnf, M_MODIFY, W_GROUP, "%s(%ju)", grp->gr_name, in pw_group_mod()
722 (uintmax_t)grp->gr_gid); in pw_group_mod()