xref: /titanic_44/usr/src/cmd/krb5/kadmin/cli/kadmin_rmt.c (revision 95efa359b507db290a2484b8f615822b1e06096f)
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
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
36 debugEnable(int displayMsgs)
37 {
38 
39 #ifdef DEBUG
40 	/* Solaris Kerberos: not supported */
41 	/* debugDisplaySS(displayMsgs); */
42 #endif
43 }
44 
45 void
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