diff options
Diffstat (limited to 'src/kadmin/cli')
| -rw-r--r-- | src/kadmin/cli/kadmin.c | 15 |
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 *) ¶ms, 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); |
