]> git.ipfire.org Git - thirdparty/krb5.git/commitdiff
Add helper to change extended error message code
authorGreg Hudson <ghudson@mit.edu>
Mon, 28 Apr 2014 16:25:01 +0000 (12:25 -0400)
committerGreg Hudson <ghudson@mit.edu>
Wed, 7 May 2014 16:46:27 +0000 (12:46 -0400)
k5_change_error_message_code allows an extended error message to be
used when an error code is remapped.

src/include/k5-int.h
src/lib/krb5/krb/kerrs.c
src/lib/krb5/libkrb5.exports
src/lib/krb5_32.def

index fbb8665c6c967cde9746e556b2cc139c48d359e4..096cd14f5f59a14282cd8556a0f5176c1d827692 100644 (file)
@@ -2254,6 +2254,9 @@ krb5_error_code krb5int_parse_enctype_list(krb5_context context,
 
 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__)
index 99db9267471754c54775c46bc0158a3d0a2cb985..f3e6c946ae15e86a3c1cfc76ea616bd12b3cd2bd 100644 (file)
@@ -180,3 +180,13 @@ k5_restore_ctx_error(krb5_context ctx, struct errinfo *in)
     }
     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;
+}
index b03e73af6fabde2bc4d54600fb8249e0c1405e5d..06ca9fc54823a5346cb690309b862438b0c8a54a 100644 (file)
@@ -107,6 +107,7 @@ initialize_kv5m_error_table
 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
index dd0a16ccc055dd13d299d64db4ed76b21778075a..3530ae157b67000c7c5d255cca26fffaa83d187e 100644 (file)
@@ -452,3 +452,6 @@ EXPORTS
        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