1 /*
2 * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
3 * Use is subject to license terms.
4 */
5
6
7 /*
8 * Contains remote client specific code.
9 */
10
11 #include <stdio.h>
12 #include <stdlib.h>
13 #include <libintl.h>
14 #include <k5-int.h>
15 #include <krb5.h>
16
17 extern void *handle;
18
19 void
usage(char * whoami)20 usage(char *whoami)
21 {
22 fprintf(stderr,
23 "%s: %s [-r realm] [-p principal] [-q query] "
24 "[-s admin_server[:port]] [[-c ccache]|[-k [-t keytab]]"
25 "|[-w password]]\n",
26 gettext("Usage"), whoami);
27 exit(1);
28 }
29
30
31 /*
32 * Debugging function - for remote admin client
33 */
34 /* ARGSUSED */
35 void
debugEnable(int displayMsgs)36 debugEnable(int displayMsgs)
37 {
38
39 #ifdef DEBUG
40 /* Solaris Kerberos: not supported */
41 /* debugDisplaySS(displayMsgs); */
42 #endif
43 }
44
45 void
kadmin_getprivs(argc,argv)46 kadmin_getprivs(argc, argv)
47 int argc;
48 char *argv[];
49 {
50 static char *privs[] = {"GET", "ADD", "MODIFY", "DELETE", "LIST", "CHANGE"};
51 krb5_error_code retval;
52 int i;
53 long plist;
54
55 if (argc != 1) {
56 fprintf(stderr, "%s: get_privs\n", gettext("usage"));
57 return;
58 }
59 retval = kadm5_get_privs(handle, &plist);
60 if (retval) {
61 com_err("get_privs", retval,
62 gettext("while retrieving privileges"));
63 return;
64 }
65 printf(gettext("current privileges:"));
66 for (i = 0; i < sizeof (privs) / sizeof (char *); i++) {
67 if (plist & 1 << i)
68 printf(" %s", gettext(privs[i]));
69 }
70 printf("\n");
71 }
72