}
errcode = krb5_db_get_principal(kdc_context, state->request->client,
state->c_flags, &state->client);
+ if (errcode == KRB5_KDB_CANTLOCK_DB)
+ errcode = KRB5KDC_ERR_SVC_UNAVAILABLE;
if (errcode == KRB5_KDB_NOENTRY) {
state->status = "CLIENT_NOT_FOUND";
if (vague_errors)
}
errcode = krb5_db_get_principal(kdc_context, state->request->server,
s_flags, &state->server);
+ if (errcode == KRB5_KDB_CANTLOCK_DB)
+ errcode = KRB5KDC_ERR_SVC_UNAVAILABLE;
if (errcode == KRB5_KDB_NOENTRY) {
state->status = "SERVER_NOT_FOUND";
errcode = KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN;
errcode = krb5_db_get_principal(kdc_context, request->server,
s_flags, &server);
+ if (errcode == KRB5_KDB_CANTLOCK_DB)
+ errcode = KRB5KDC_ERR_SVC_UNAVAILABLE;
if (errcode && errcode != KRB5_KDB_NOENTRY) {
status = "LOOKING_UP_SERVER";
goto cleanup;
krb5_princ_set_realm(kdc_context, *pl2,
krb5_princ_realm(kdc_context, tgs_server));
retval = krb5_db_get_principal(kdc_context, *pl2, 0, &server);
+ if (retval == KRB5_KDB_CANTLOCK_DB)
+ retval = KRB5KDC_ERR_SVC_UNAVAILABLE;
krb5_princ_set_realm(kdc_context, *pl2, &tmp);
if (retval == KRB5_KDB_NOENTRY)
continue;