ENCTYPE_NULL};
bool ok;
+ if (ccname == NULL) {
+ DBG_ERR("No explicit ccache given for service [%s], "
+ "impersonating [%s]\n",
+ principal, impersonate_princ_s);
+ retval = EINVAL;
+ goto failed;
+ }
+
DBG_DEBUG("Getting ticket for service [%s] using creds from [%s] "
"and impersonating [%s]\n",
principal, ccname, impersonate_princ_s);
krb5_set_real_time(context, time(NULL) + time_offset, 0);
}
- retval = krb5_cc_resolve(context,
- ccname ? ccname : krb5_cc_default_name(context),
- &ccdef);
+ retval = krb5_cc_resolve(context, ccname, &ccdef);
if (retval != 0) {
DBG_WARNING("krb5_cc_default failed (%s)\n",
error_message(retval));
ZERO_STRUCT(my_creds);
+ if (cache_name == NULL) {
+ DBG_DEBUG("Missing ccache for [%s] and config [%s]\n",
+ given_principal,
+ getenv("KRB5_CONFIG"));
+ TALLOC_FREE(frame);
+ return EINVAL;
+ }
+
code = smb_krb5_init_context_common(&ctx);
if (code != 0) {
DBG_ERR("kerberos init context failed (%s)\n",
DBG_DEBUG("as %s using [%s] as ccache and config [%s]\n",
given_principal,
- cache_name ? cache_name: krb5_cc_default_name(ctx),
+ cache_name,
getenv("KRB5_CONFIG"));
- if ((code = krb5_cc_resolve(ctx, cache_name ? cache_name : krb5_cc_default_name(ctx), &cc))) {
+ if ((code = krb5_cc_resolve(ctx, cache_name, &cc))) {
goto out;
}
}
if (ccache_name == NULL) {
- ccache_name = krb5_cc_default_name(gse_ctx->k5ctx);
+ DBG_WARNING("No explicit ccache_name given\n");
+ return NT_STATUS_INTERNAL_ERROR;
}
k5ret = krb5_cc_resolve(gse_ctx->k5ctx,