Home | History | Annotate | Download | only in cli
      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