diff options
author | Stefan Metzmacher <metze@samba.org> | 2015-02-13 09:26:01 +0100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2015-07-31 17:30:23 +1200 |
commit | a873e21d7c06f22943a90a41dc733ae76799390d (patch) | |
tree | 29b7c4270b793b088927243724af4c597da6d072 | |
parent | 25f3db919fa73f0ad4caa31dff2275da6730f266 (diff) |
kdc: base _kdc_fast_mk_error() on krb5_mk_error_ext()
Signed-off-by: Stefan Metzmacher <metze@samba.org>
-rw-r--r-- | kdc/fast.c | 44 | ||||
-rw-r--r-- | kdc/kerberos5.c | 4 | ||||
-rw-r--r-- | kdc/krb5tgs.c | 1 |
3 files changed, 28 insertions, 21 deletions
diff --git a/kdc/fast.c b/kdc/fast.c index 1a806d8f4..095929f85 100644 --- a/kdc/fast.c +++ b/kdc/fast.c @@ -244,8 +244,9 @@ _kdc_fast_mk_error(krb5_context context, const KDC_REQ_BODY *req_body, krb5_error_code outer_error, const char *e_text, - krb5_principal error_client, krb5_principal error_server, + const PrincipalName *error_client_name, + const Realm *error_client_realm, time_t *csec, int *cusec, krb5_data *error_msg) { @@ -264,15 +265,16 @@ _kdc_fast_mk_error(krb5_context context, /* first add the KRB-ERROR to the fast errors */ - ret = krb5_mk_error(context, - outer_error, - e_text, - NULL, - error_client, - error_server, - NULL, - NULL, - &e_data); + ret = krb5_mk_error_ext(context, + outer_error, + e_text, + NULL, + error_server, + error_client_name, + error_client_realm, + NULL, + NULL, + &e_data); if (ret) return ret; @@ -285,7 +287,8 @@ _kdc_fast_mk_error(krb5_context context, } if (/* hide_principal */ 0) { - error_client = NULL; + error_client_name = NULL; + error_client_realm = NULL; error_server = NULL; e_text = NULL; } @@ -325,15 +328,16 @@ _kdc_fast_mk_error(krb5_context context, krb5_abortx(context, "internal asn.1 error"); } - ret = krb5_mk_error(context, - outer_error, - e_text, - (e_data.length ? &e_data : NULL), - error_client, - error_server, - csec, - cusec, - error_msg); + ret = krb5_mk_error_ext(context, + outer_error, + e_text, + (e_data.length ? &e_data : NULL), + error_server, + error_client_name, + error_client_realm, + csec, + cusec, + error_msg); krb5_data_free(&e_data); return ret; diff --git a/kdc/kerberos5.c b/kdc/kerberos5.c index b5f41fef6..8125a2eb9 100644 --- a/kdc/kerberos5.c +++ b/kdc/kerberos5.c @@ -2199,7 +2199,9 @@ out: r->armor_crypto, &req->req_body, ret, r->e_text, - r->client_princ, r->server_princ, + r->server_princ, + &r->client_princ->name, + &r->client_princ->realm, NULL, NULL, reply); if (ret) diff --git a/kdc/krb5tgs.c b/kdc/krb5tgs.c index a158502f6..ebab17696 100644 --- a/kdc/krb5tgs.c +++ b/kdc/krb5tgs.c @@ -2457,6 +2457,7 @@ out: NULL, NULL, ret, NULL, + NULL, NULL, NULL, csec, cusec, data); |