diff options
| author | Greg Hudson <ghudson@mit.edu> | 2011-10-15 15:06:37 +0000 |
|---|---|---|
| committer | Greg Hudson <ghudson@mit.edu> | 2011-10-15 15:06:37 +0000 |
| commit | 1b885bfc9a05e3e030a0f49c16493f114bb661a1 (patch) | |
| tree | 7c87da42594b6ae106ab8694032138ecbf674b27 /src/plugins/preauth/pkinit/pkinit_srv.c | |
| parent | 5f8d6146a69b3afe6bf8a83d40e811c8a6d8f96b (diff) | |
| download | krb5-1b885bfc9a05e3e030a0f49c16493f114bb661a1.tar.gz krb5-1b885bfc9a05e3e030a0f49c16493f114bb661a1.tar.xz krb5-1b885bfc9a05e3e030a0f49c16493f114bb661a1.zip | |
Make kdcpreauth edata method respond via callback
From npmccallum@redhat.com with changes.
git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@25348 dc483132-0cff-0310-8789-dd5450dbe970
Diffstat (limited to 'src/plugins/preauth/pkinit/pkinit_srv.c')
| -rw-r--r-- | src/plugins/preauth/pkinit/pkinit_srv.c | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/plugins/preauth/pkinit/pkinit_srv.c b/src/plugins/preauth/pkinit/pkinit_srv.c index d209f9e76f..e43fb7e816 100644 --- a/src/plugins/preauth/pkinit/pkinit_srv.c +++ b/src/plugins/preauth/pkinit/pkinit_srv.c @@ -95,13 +95,15 @@ cleanup: return retval; } -static krb5_error_code +static void pkinit_server_get_edata(krb5_context context, krb5_kdc_req *request, krb5_kdcpreauth_callbacks cb, krb5_kdcpreauth_rock rock, krb5_kdcpreauth_moddata moddata, - krb5_pa_data *data) + krb5_preauthtype pa_type, + krb5_kdcpreauth_edata_respond_fn respond, + void *arg) { krb5_error_code retval = 0; pkinit_kdc_context plgctx = NULL; @@ -111,8 +113,10 @@ pkinit_server_get_edata(krb5_context context, /* Remove (along with armor_key) when FAST PKINIT is settled. */ /* Don't advertise PKINIT if the client used FAST. */ - if (armor_key != NULL) - return EINVAL; + if (armor_key != NULL) { + (*respond)(arg, EINVAL, NULL); + return; + } /* * If we don't have a realm context for the given realm, @@ -122,7 +126,7 @@ pkinit_server_get_edata(krb5_context context, if (plgctx == NULL) retval = EINVAL; - return retval; + (*respond)(arg, retval, NULL); } static krb5_error_code |
