From: Howard Chu Date: Fri, 15 Dec 2006 16:39:35 +0000 (+0000) Subject: kadm5 init error check from HEAD X-Git-Tag: OPENLDAP_REL_ENG_2_3_31~17 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=685487e33d04c484f7a6276ed9b4fc76e9d4f318;p=openldap kadm5 init error check from HEAD --- diff --git a/contrib/slapd-modules/smbk5pwd/smbk5pwd.c b/contrib/slapd-modules/smbk5pwd/smbk5pwd.c index b96d4856c4..eeafe7b971 100644 --- a/contrib/slapd-modules/smbk5pwd/smbk5pwd.c +++ b/contrib/slapd-modules/smbk5pwd/smbk5pwd.c @@ -818,20 +818,32 @@ smbk5pwd_modules_init( smbk5pwd_t *pi ) ret = krb5_init_context(&context); if (ret) { Debug( LDAP_DEBUG_ANY, "smbk5pwd: " - "unable to initialize krb5 context.\n", - 0, 0, 0 ); + "unable to initialize krb5 context (%d).\n", + ret, 0, 0 ); oc_krb5KDCEntry = NULL; return -1; } - /* FIXME: check return code? */ ret = kadm5_s_init_with_password_ctx( context, KADM5_ADMIN_SERVICE, NULL, KADM5_ADMIN_SERVICE, &conf, 0, 0, &kadm_context ); + if (ret) { + char *err_str, *err_msg = ""; + err_str = krb5_get_error_string( context ); + if (!err_str) + err_msg = krb5_get_err_text( context, ret ); + Debug( LDAP_DEBUG_ANY, "smbk5pwd: " + "unable to initialize krb5 admin context: %s (%d).\n", + err_str ? err_str : err_msg, ret, 0 ); + if (err_str) + krb5_free_error_string( context, err_str ); + krb5_free_context( context ); + oc_krb5KDCEntry = NULL; + return -1; + } - /* FIXME: check return code? */ db = _kadm5_s_get_db( kadm_context ); } #endif /* DO_KRB5 */