summaryrefslogtreecommitdiff
path: root/server/bdump.c
diff options
context:
space:
mode:
authorGravatar Karl Ramm <kcr@1ts.org>2009-08-27 14:42:49 +0000
committerGravatar Karl Ramm <kcr@1ts.org>2009-08-27 14:42:49 +0000
commit6e566509d4a3d88c662c959e5eba03dc9933ede5 (patch)
tree07bfe6be143ee7cd7e7f817f4e71bf937e46d046 /server/bdump.c
parent1e5013d3fee3f3a6c86a9081f3986449ed17ebe2 (diff)
get_tgt() should not fail if built krb5-only and it can't find a des key
Also clean up some indentation and add error logging.
Diffstat (limited to 'server/bdump.c')
-rw-r--r--server/bdump.c42
1 files changed, 32 insertions, 10 deletions
diff --git a/server/bdump.c b/server/bdump.c
index b0529c9..6eca352 100644
--- a/server/bdump.c
+++ b/server/bdump.c
@@ -1035,15 +1035,21 @@ get_tgt(void)
SERVER_KRB5_SERVICE, SERVER_INSTANCE,
NULL);
if (retval) {
- krb5_free_principal(Z_krb5_ctx, principal);
- return(1);
+ syslog(LOG_ERR, "get_tgt: krb5_build_principal: %s",
+ error_message(retval));
+ return 1;
}
krb5_get_init_creds_opt_init (&opt);
krb5_get_init_creds_opt_set_tkt_life (&opt, TKT5LIFETIME);
retval = krb5_kt_resolve(Z_krb5_ctx, keytab_file, &kt);
- if (retval) return(1);
+ if (retval) {
+ syslog(LOG_ERR, "get_tgt: krb5_kt_resolve: %s",
+ error_message(retval));
+ krb5_free_principal(Z_krb5_ctx, principal);
+ return 1;
+ }
retval = krb5_get_init_creds_keytab (Z_krb5_ctx,
&cred,
@@ -1054,9 +1060,11 @@ get_tgt(void)
&opt);
#ifndef HAVE_KRB4
if (retval) {
+ syslog(LOG_ERR, "get_tgt: krb5_get_init_creds_keytab: %s",
+ error_message(retval));
krb5_free_principal(Z_krb5_ctx, principal);
krb5_kt_close(Z_krb5_ctx, kt);
- return(1);
+ return 1;
}
for (i = 0; enctypes[i]; i++) {
@@ -1073,9 +1081,11 @@ get_tgt(void)
retval = krb5_copy_keyblock(Z_krb5_ctx, &kt_ent.key, &server_key);
#endif
if (retval) {
+ syslog(LOG_ERR, "get_tgt: krb5_copy_keyblock: %s",
+ error_message(retval));
krb5_free_principal(Z_krb5_ctx, principal);
krb5_kt_close(Z_krb5_ctx, kt);
- return(1);
+ return 1;
}
got_des = 1;
@@ -1083,22 +1093,34 @@ get_tgt(void)
#endif
krb5_free_principal(Z_krb5_ctx, principal);
krb5_kt_close(Z_krb5_ctx, kt);
-#ifndef HAVE_KRB4
- if (retval) return(1);
+#ifdef HAVE_KRB4
+ if (retval) {
+ syslog(LOG_ERR, "get_tgt: krb5_kt_get_entry: %s",
+ error_message(retval));
+ return 1;
+ }
#endif
retval = krb5_cc_initialize (Z_krb5_ctx, Z_krb5_ccache, cred.client);
- if (retval) return(1);
+ if (retval) {
+ syslog(LOG_ERR, "get_tgt: krb5_cc_initialize: %s",
+ error_message(retval));
+ return 1;
+ }
retval = krb5_cc_store_cred (Z_krb5_ctx, Z_krb5_ccache, &cred);
- if (retval) return(1);
+ if (retval) {
+ syslog(LOG_ERR, "get_tgt: krb5_cc_store_cred: %s",
+ error_message(retval));
+ return 1;
+ }
ticket5_time = NOW;
krb5_free_cred_contents (Z_krb5_ctx, &cred);
}
#endif
- return(0);
+ return 0;
}
#endif /* HAVE_KRB4 */