summaryrefslogtreecommitdiffstats
path: root/src/kadmin/cli
diff options
context:
space:
mode:
Diffstat (limited to 'src/kadmin/cli')
-rw-r--r--src/kadmin/cli/kadmin.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/kadmin/cli/kadmin.c b/src/kadmin/cli/kadmin.c
index 7d950fc26..b24b98ed1 100644
--- a/src/kadmin/cli/kadmin.c
+++ b/src/kadmin/cli/kadmin.c
@@ -173,6 +173,17 @@ kadmin_parse_name(name, principal)
return retval;
}
+static void extended_com_err_fn (const char *myprog, errcode_t code,
+ const char *fmt, va_list args)
+{
+ const char *emsg;
+ emsg = krb5_get_error_message (context, code);
+ fprintf (stderr, "%s: %s ", myprog, emsg);
+ krb5_free_error_message (context, emsg);
+ vfprintf (stderr, fmt, args);
+ fprintf (stderr, "\n");
+}
+
char *kadmin_startup(argc, argv)
int argc;
char *argv[];
@@ -195,6 +206,10 @@ char *kadmin_startup(argc, argv)
memset((char *) &params, 0, sizeof(params));
retval = krb5_init_context(&context);
+
+ if (strcmp (whoami, "kadmin.local") == 0)
+ set_com_err_hook(extended_com_err_fn);
+
if (retval) {
com_err(whoami, retval, "while initializing krb5 library");
exit(1);