krb5_boolean k5_etypes_contains(const krb5_enctype *list, krb5_enctype etype);
+void k5_change_error_message_code(krb5_context ctx, krb5_error_code oldcode,
+ krb5_error_code newcode);
+
#ifdef DEBUG_ERROR_LOCATIONS
#define krb5_set_error_message(ctx, code, ...) \
krb5_set_error_message_fl(ctx, code, __FILE__, __LINE__, __VA_ARGS__)
}
return code;
}
+
+/* If ctx contains an extended error message for oldcode, change it to be an
+ * extended error message for newcode. */
+void
+k5_change_error_message_code(krb5_context ctx, krb5_error_code oldcode,
+ krb5_error_code newcode)
+{
+ if (ctx != NULL && ctx->err.msg != NULL && ctx->err.code == oldcode)
+ ctx->err.code = newcode;
+}
initialize_prof_error_table
k5_build_conf_principals
k5_ccselect_free_context
+k5_change_error_message_code
k5_etypes_contains
k5_expand_path_tokens
k5_expand_path_tokens_extra
krb5_responder_pkinit_challenge_free @423
krb5_auth_con_setpermetypes @424 ; PRIVATE GSSAPI
krb5_rd_req_decoded @425 ; PRIVATE GSSAPI
+
+; new in 1.13
+ k5_change_error_message_code @426 ; PRIVATE GSSAPI