xref: /titanic_41/usr/src/cmd/krb5/kadmin/cli/kadmin_rmt.c (revision 2449e17f82f6097fd2c665b64723e31ceecbeca6)
1 /*
2  * Copyright 2007 Sun Microsystems, Inc.  All rights reserved.
3  * Use is subject to license terms.
4  */
5 
6 #pragma ident	"%Z%%M%	%I%	%E% SMI"
7 
8 /*
9  * Contains remote client specific code.
10  */
11 
12 #include <stdio.h>
13 #include <stdlib.h>
14 #include <libintl.h>
15 #include <krb5.h>
16 #include <k5-int.h>
17 
18 extern void *handle;
19 
20 void
21 usage(char *whoami)
22 {
23 	fprintf(stderr,
24 	    "%s: %s [-r realm] [-p principal] [-q query] "
25 	    "[-s admin_server[:port]] [[-c ccache]|[-k [-t keytab]]"
26 	    "|[-w password]]\n",
27 	    gettext("Usage"), whoami);
28 	exit(1);
29 }
30 
31 
32 /*
33  * Debugging function - for remote admin client
34  */
35 /* ARGSUSED */
36 void
37 debugEnable(int displayMsgs)
38 {
39 
40 #ifdef DEBUG
41 	/* Solaris Kerberos: not supported */
42 	/* debugDisplaySS(displayMsgs); */
43 #endif
44 }
45 
46 void 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     return;
72 }
73