Deleted Added
full compact
id.c (216370) id.c (219304)
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 25 unchanged lines hidden (view full) ---

34#endif /* not lint */
35
36#ifndef lint
37#if 0
38static char sccsid[] = "@(#)id.c 8.2 (Berkeley) 2/16/94";
39#endif
40#endif /* not lint */
41#include <sys/cdefs.h>
1/*-
2 * Copyright (c) 1991, 1993
3 * The Regents of the University of California. All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright

--- 25 unchanged lines hidden (view full) ---

34#endif /* not lint */
35
36#ifndef lint
37#if 0
38static char sccsid[] = "@(#)id.c 8.2 (Berkeley) 2/16/94";
39#endif
40#endif /* not lint */
41#include <sys/cdefs.h>
42__FBSDID("$FreeBSD: head/usr.bin/id/id.c 216370 2010-12-11 08:32:16Z joel $");
42__FBSDID("$FreeBSD: head/usr.bin/id/id.c 219304 2011-03-05 12:40:35Z trasz $");
43
44#include <sys/param.h>
45#include <sys/mac.h>
46
47#ifdef USE_BSM_AUDIT
48#include <bsm/audit.h>
49#endif
50

--- 18 unchanged lines hidden (view full) ---

69int isgroups, iswhoami;
70
71int
72main(int argc, char *argv[])
73{
74 struct group *gr;
75 struct passwd *pw;
76 int Gflag, Mflag, Pflag, ch, gflag, id, nflag, pflag, rflag, uflag;
43
44#include <sys/param.h>
45#include <sys/mac.h>
46
47#ifdef USE_BSM_AUDIT
48#include <bsm/audit.h>
49#endif
50

--- 18 unchanged lines hidden (view full) ---

69int isgroups, iswhoami;
70
71int
72main(int argc, char *argv[])
73{
74 struct group *gr;
75 struct passwd *pw;
76 int Gflag, Mflag, Pflag, ch, gflag, id, nflag, pflag, rflag, uflag;
77 int Aflag;
77 int Aflag, cflag;
78 int error;
78 const char *myname;
79 const char *myname;
80 char loginclass[MAXLOGNAME];
79
80 Gflag = Mflag = Pflag = gflag = nflag = pflag = rflag = uflag = 0;
81
82 Gflag = Mflag = Pflag = gflag = nflag = pflag = rflag = uflag = 0;
81 Aflag = 0;
83 Aflag = cflag = 0;
82
83 myname = strrchr(argv[0], '/');
84 myname = (myname != NULL) ? myname + 1 : argv[0];
85 if (strcmp(myname, "groups") == 0) {
86 isgroups = 1;
87 Gflag = nflag = 1;
88 }
89 else if (strcmp(myname, "whoami") == 0) {
90 iswhoami = 1;
91 uflag = nflag = 1;
92 }
93
94 while ((ch = getopt(argc, argv,
84
85 myname = strrchr(argv[0], '/');
86 myname = (myname != NULL) ? myname + 1 : argv[0];
87 if (strcmp(myname, "groups") == 0) {
88 isgroups = 1;
89 Gflag = nflag = 1;
90 }
91 else if (strcmp(myname, "whoami") == 0) {
92 iswhoami = 1;
93 uflag = nflag = 1;
94 }
95
96 while ((ch = getopt(argc, argv,
95 (isgroups || iswhoami) ? "" : "APGMagnpru")) != -1)
97 (isgroups || iswhoami) ? "" : "APGMacgnpru")) != -1)
96 switch(ch) {
97#ifdef USE_BSM_AUDIT
98 case 'A':
99 Aflag = 1;
100 break;
101#endif
102 case 'G':
103 Gflag = 1;
104 break;
105 case 'M':
106 Mflag = 1;
107 break;
108 case 'P':
109 Pflag = 1;
110 break;
111 case 'a':
112 break;
98 switch(ch) {
99#ifdef USE_BSM_AUDIT
100 case 'A':
101 Aflag = 1;
102 break;
103#endif
104 case 'G':
105 Gflag = 1;
106 break;
107 case 'M':
108 Mflag = 1;
109 break;
110 case 'P':
111 Pflag = 1;
112 break;
113 case 'a':
114 break;
115 case 'c':
116 cflag = 1;
117 break;
113 case 'g':
114 gflag = 1;
115 break;
116 case 'n':
117 nflag = 1;
118 break;
119 case 'p':
120 pflag = 1;

--- 32 unchanged lines hidden (view full) ---

153
154#ifdef USE_BSM_AUDIT
155 if (Aflag) {
156 auditid();
157 exit(0);
158 }
159#endif
160
118 case 'g':
119 gflag = 1;
120 break;
121 case 'n':
122 nflag = 1;
123 break;
124 case 'p':
125 pflag = 1;

--- 32 unchanged lines hidden (view full) ---

158
159#ifdef USE_BSM_AUDIT
160 if (Aflag) {
161 auditid();
162 exit(0);
163 }
164#endif
165
166 if (cflag) {
167 error = getloginclass(loginclass, sizeof(loginclass));
168 if (error != 0)
169 err(1, "loginclass");
170 (void)printf("%s\n", loginclass);
171 exit(0);
172 }
173
161 if (gflag) {
162 id = pw ? pw->pw_gid : rflag ? getgid() : getegid();
163 if (nflag && (gr = getgrgid(id)))
164 (void)printf("%s\n", gr->gr_name);
165 else
166 (void)printf("%u\n", id);
167 exit(0);
168 }

--- 293 unchanged lines hidden (view full) ---

462usage(void)
463{
464
465 if (isgroups)
466 (void)fprintf(stderr, "usage: groups [user]\n");
467 else if (iswhoami)
468 (void)fprintf(stderr, "usage: whoami\n");
469 else
174 if (gflag) {
175 id = pw ? pw->pw_gid : rflag ? getgid() : getegid();
176 if (nflag && (gr = getgrgid(id)))
177 (void)printf("%s\n", gr->gr_name);
178 else
179 (void)printf("%u\n", id);
180 exit(0);
181 }

--- 293 unchanged lines hidden (view full) ---

475usage(void)
476{
477
478 if (isgroups)
479 (void)fprintf(stderr, "usage: groups [user]\n");
480 else if (iswhoami)
481 (void)fprintf(stderr, "usage: whoami\n");
482 else
470 (void)fprintf(stderr, "%s\n%s%s\n%s\n%s\n%s\n%s\n%s\n",
483 (void)fprintf(stderr, "%s\n%s%s\n%s\n%s\n%s\n%s\n%s\n%s\n",
471 "usage: id [user]",
472#ifdef USE_BSM_AUDIT
473 " id -A\n",
474#else
475 "",
476#endif
477 " id -G [-n] [user]",
478 " id -M",
479 " id -P [user]",
484 "usage: id [user]",
485#ifdef USE_BSM_AUDIT
486 " id -A\n",
487#else
488 "",
489#endif
490 " id -G [-n] [user]",
491 " id -M",
492 " id -P [user]",
493 " id -c",
480 " id -g [-nr] [user]",
481 " id -p [user]",
482 " id -u [-nr] [user]");
483 exit(1);
484}
494 " id -g [-nr] [user]",
495 " id -p [user]",
496 " id -u [-nr] [user]");
497 exit(1);
498}