krb5 commit: Rename internal preauth functions
Greg Hudson
ghudson at MIT.EDU
Thu Dec 20 00:22:05 EST 2012
https://github.com/krb5/krb5/commit/f730fddc59265ee1621ec39f847ea047116a2127
commit f730fddc59265ee1621ec39f847ea047116a2127
Author: Greg Hudson <ghudson at mit.edu>
Date: Sat Oct 27 15:29:48 2012 -0400
Rename internal preauth functions
The preauth functions are internal to libkrb5, so use the k5_ prefix,
don't use KRB5_CALLCONV, and prototype them in int-proto.h. Also
remove krb5_do_preauth from the Unix libkrb5 export list.
Reorder the k5_preauth() and k5_preauth_tryagain() arguments for more
consistency with the clpreauth interface, and put the output padata
arguments at the end.
Rename any remaining uses of "kcontext" to "context" in preauth2.c.
src/include/k5-int.h | 27 ---------
src/lib/krb5/krb/get_in_tkt.c | 68 +++++++++---------------
src/lib/krb5/krb/int-proto.h | 34 ++++++++++++
src/lib/krb5/krb/preauth2.c | 117 +++++++++++++++++++++--------------------
src/lib/krb5/libkrb5.exports | 1 -
src/lib/krb5/os/init_os_ctx.c | 3 +-
6 files changed, 120 insertions(+), 130 deletions(-)
diff --git a/src/include/k5-int.h b/src/include/k5-int.h
index 52d3602..ab82f64 100644
--- a/src/include/k5-int.h
+++ b/src/include/k5-int.h
@@ -1066,33 +1066,6 @@ krb5int_populate_gic_opt (krb5_context, krb5_get_init_creds_opt **,
krb5_preauthtype *pre_auth_types, krb5_creds *creds);
-krb5_error_code KRB5_CALLCONV
-krb5_do_preauth(krb5_context context, krb5_kdc_req *request,
- krb5_data *encoded_request_body,
- krb5_data *encoded_previous_request, krb5_pa_data **in_padata,
- krb5_pa_data ***out_padata, krb5_prompter_fct prompter,
- void *prompter_data, krb5_clpreauth_rock preauth_rock,
- krb5_gic_opt_ext *opte, krb5_boolean *got_real_out);
-
-krb5_error_code KRB5_CALLCONV
-krb5_do_preauth_tryagain(krb5_context context, krb5_kdc_req *request,
- krb5_data *encoded_request_body,
- krb5_data *encoded_previous_request,
- krb5_pa_data **in_padata, krb5_pa_data ***out_padata,
- krb5_error *err_reply, krb5_pa_data **err_padata,
- krb5_prompter_fct prompter, void *prompter_data,
- krb5_clpreauth_rock preauth_rock,
- krb5_gic_opt_ext *opte);
-
-void KRB5_CALLCONV krb5_init_preauth_context(krb5_context);
-void KRB5_CALLCONV krb5_free_preauth_context(krb5_context);
-void KRB5_CALLCONV krb5_clear_preauth_context_use_counts(krb5_context);
-void KRB5_CALLCONV krb5_preauth_prepare_request(krb5_context,
- krb5_gic_opt_ext *,
- krb5_kdc_req *);
-void KRB5_CALLCONV krb5_preauth_request_context_init(krb5_context);
-void KRB5_CALLCONV krb5_preauth_request_context_fini(krb5_context);
-
void KRB5_CALLCONV
krb5_free_sam_challenge_2(krb5_context, krb5_sam_challenge_2 *);
diff --git a/src/lib/krb5/krb/get_in_tkt.c b/src/lib/krb5/krb/get_in_tkt.c
index bcfc22e..377773e 100644
--- a/src/lib/krb5/krb/get_in_tkt.c
+++ b/src/lib/krb5/krb/get_in_tkt.c
@@ -685,7 +685,7 @@ restart_init_creds_loop(krb5_context context, krb5_init_creds_context ctx,
if (code != 0)
goto cleanup;
ctx->preauth_rock.fast_state = ctx->fast_state;
- krb5_preauth_request_context_init(context);
+ k5_preauth_request_context_init(context);
if (ctx->outer_request_body) {
krb5_free_data(context, ctx->outer_request_body);
ctx->outer_request_body = NULL;
@@ -732,7 +732,7 @@ restart_init_creds_loop(krb5_context context, krb5_init_creds_context ctx,
goto cleanup;
}
/* give the preauth plugins a chance to prep the request body */
- krb5_preauth_prepare_request(context, ctx->opte, ctx->request);
+ k5_preauth_prepare_request(context, ctx->opte, ctx->request);
/* Omit request start time in the common case. MIT and Heimdal KDCs will
* ignore it for non-postdated tickets anyway. */
@@ -1017,7 +1017,7 @@ krb5_init_creds_set_service(krb5_context context,
free(ctx->in_tkt_service);
ctx->in_tkt_service = s;
- krb5_preauth_request_context_fini(context);
+ k5_preauth_request_context_fini(context);
return restart_init_creds_loop(context, ctx, NULL);
}
@@ -1263,17 +1263,11 @@ init_creds_step_request(krb5_context context,
if (ctx->err_reply == NULL) {
/* either our first attempt, or retrying after PREAUTH_NEEDED */
- code = krb5_do_preauth(context,
- ctx->request,
- ctx->inner_request_body,
- ctx->encoded_previous_request,
- ctx->preauth_to_use,
- &ctx->request->padata,
- ctx->prompter,
- ctx->prompter_data,
- &ctx->preauth_rock,
- ctx->opte,
- &got_real);
+ code = k5_preauth(context, ctx->opte, &ctx->preauth_rock, ctx->request,
+ ctx->inner_request_body,
+ ctx->encoded_previous_request, ctx->preauth_to_use,
+ ctx->prompter, ctx->prompter_data,
+ &ctx->request->padata, &got_real);
if (code == 0 && !got_real && ctx->preauth_required)
code = KRB5_PREAUTH_FAILED;
if (code != 0)
@@ -1284,18 +1278,13 @@ init_creds_step_request(krb5_context context,
* Retry after an error other than PREAUTH_NEEDED,
* using ctx->err_padata to figure out what to change.
*/
- code = krb5_do_preauth_tryagain(context,
- ctx->request,
- ctx->inner_request_body,
- ctx->encoded_previous_request,
- ctx->preauth_to_use,
- &ctx->request->padata,
- ctx->err_reply,
- ctx->err_padata,
- ctx->prompter,
- ctx->prompter_data,
- &ctx->preauth_rock,
- ctx->opte);
+ code = k5_preauth_tryagain(context, ctx->opte, &ctx->preauth_rock,
+ ctx->request, ctx->inner_request_body,
+ ctx->encoded_previous_request,
+ ctx->preauth_to_use, ctx->err_reply,
+ ctx->err_padata, ctx->prompter,
+ ctx->prompter_data,
+ &ctx->request->padata);
} else {
/* No preauth supplied, so can't query the plugins. */
code = KRB5KRB_ERR_GENERIC;
@@ -1452,7 +1441,7 @@ init_creds_step_reply(krb5_context context,
goto cleanup;
if (negotiation_requests_restart(context, ctx, ctx->err_padata)) {
ctx->have_restarted = 1;
- krb5_preauth_request_context_fini(context);
+ k5_preauth_request_context_fini(context);
if ((ctx->fast_state->fast_state_flags & KRB5INT_FAST_DO_FAST) ==0)
ctx->enc_pa_rep_permitted = 0;
code = restart_init_creds_loop(context, ctx, ctx->err_padata);
@@ -1468,7 +1457,7 @@ init_creds_step_reply(krb5_context context,
ctx->err_padata = NULL;
note_req_timestamp(context, &ctx->preauth_rock,
ctx->err_reply->stime, ctx->err_reply->susec);
- /* this will trigger a new call to krb5_do_preauth() */
+ /* This will trigger a new call to k5_preauth(). */
krb5_free_error(context, ctx->err_reply);
ctx->err_reply = NULL;
code = sort_krb5_padata_sequence(context,
@@ -1488,10 +1477,10 @@ init_creds_step_reply(krb5_context context,
code = krb5int_copy_data_contents(context,
&ctx->err_reply->client->realm,
&ctx->request->client->realm);
- /* this will trigger a new call to krb5_do_preauth() */
+ /* This will trigger a new call to k5_preauth(). */
krb5_free_error(context, ctx->err_reply);
ctx->err_reply = NULL;
- krb5_preauth_request_context_fini(context);
+ k5_preauth_request_context_fini(context);
/* Permit another negotiation based restart. */
ctx->have_restarted = 0;
ctx->sent_nontrivial_preauth = 0;
@@ -1521,7 +1510,7 @@ init_creds_step_reply(krb5_context context,
goto cleanup;
/* process any preauth data in the as_reply */
- krb5_clear_preauth_context_use_counts(context);
+ k5_reset_preauth_types_tried(context);
code = krb5int_fast_process_response(context, ctx->fast_state,
ctx->reply, &strengthen_key);
if (code != 0)
@@ -1543,17 +1532,10 @@ init_creds_step_reply(krb5_context context,
ctx->allowed_preauth_type = KRB5_PADATA_NONE;
ctx->preauth_rock.selected_preauth_type = NULL;
- code = krb5_do_preauth(context,
- ctx->request,
- ctx->inner_request_body,
- ctx->encoded_previous_request,
- ctx->reply->padata,
- &kdc_padata,
- ctx->prompter,
- ctx->prompter_data,
- &ctx->preauth_rock,
- ctx->opte,
- &got_real);
+ code = k5_preauth(context, ctx->opte, &ctx->preauth_rock, ctx->request,
+ ctx->inner_request_body, ctx->encoded_previous_request,
+ ctx->reply->padata, ctx->prompter, ctx->prompter_data,
+ &kdc_padata, &got_real);
if (code != 0)
goto cleanup;
@@ -1671,7 +1653,7 @@ init_creds_step_reply(krb5_context context,
}
}
- krb5_preauth_request_context_fini(context);
+ k5_preauth_request_context_fini(context);
/* success */
code = 0;
diff --git a/src/lib/krb5/krb/int-proto.h b/src/lib/krb5/krb/int-proto.h
index a452915..12bee33 100644
--- a/src/lib/krb5/krb/int-proto.h
+++ b/src/lib/krb5/krb/int-proto.h
@@ -204,6 +204,40 @@ k5_init_creds_get(krb5_context context, krb5_init_creds_context ctx,
int *use_master);
krb5_error_code
+k5_preauth(krb5_context context, krb5_gic_opt_ext *opte,
+ krb5_clpreauth_rock rock, krb5_kdc_req *req,
+ krb5_data *req_body, krb5_data *prev_req, krb5_pa_data **in_padata,
+ krb5_prompter_fct prompter, void *prompter_data,
+ krb5_pa_data ***padata_out, krb5_boolean *got_real_out);
+
+krb5_error_code
+k5_preauth_tryagain(krb5_context context, krb5_gic_opt_ext *opte,
+ krb5_clpreauth_rock rock, krb5_kdc_req *req,
+ krb5_data *req_body, krb5_data *prev_req,
+ krb5_pa_data **in_padata, krb5_error *err_reply,
+ krb5_pa_data **err_padata, krb5_prompter_fct prompter,
+ void *prompter_data, krb5_pa_data ***padata_out);
+
+void
+k5_init_preauth_context(krb5_context context);
+
+void
+k5_free_preauth_context(krb5_context context);
+
+void
+k5_reset_preauth_types_tried(krb5_context context);
+
+void
+k5_preauth_prepare_request(krb5_context context, krb5_gic_opt_ext *opte,
+ krb5_kdc_req *request);
+
+void
+k5_preauth_request_context_init(krb5_context context);
+
+void
+k5_preauth_request_context_fini(krb5_context context);
+
+krb5_error_code
k5_response_items_new(k5_response_items **ri_out);
void
diff --git a/src/lib/krb5/krb/preauth2.c b/src/lib/krb5/krb/preauth2.c
index d25a3a9..be560b2 100644
--- a/src/lib/krb5/krb/preauth2.c
+++ b/src/lib/krb5/krb/preauth2.c
@@ -88,8 +88,8 @@ find_module(clpreauth_handle *handles, krb5_preauthtype pa_type)
}
/* Initialize the preauth state for a krb5 context. */
-void KRB5_CALLCONV
-krb5_init_preauth_context(krb5_context kcontext)
+void
+k5_init_preauth_context(krb5_context context)
{
krb5_plugin_initvt_fn *modules = NULL, *mod;
clpreauth_handle *list = NULL, h, h2;
@@ -97,25 +97,25 @@ krb5_init_preauth_context(krb5_context kcontext)
krb5_preauthtype *tp;
/* Only do this once for each krb5_context */
- if (kcontext->preauth_context != NULL)
+ if (context->preauth_context != NULL)
return;
/* Auto-register built-in modules. */
- k5_plugin_register_dyn(kcontext, PLUGIN_INTERFACE_CLPREAUTH, "pkinit",
+ k5_plugin_register_dyn(context, PLUGIN_INTERFACE_CLPREAUTH, "pkinit",
"preauth");
- k5_plugin_register(kcontext, PLUGIN_INTERFACE_CLPREAUTH,
+ k5_plugin_register(context, PLUGIN_INTERFACE_CLPREAUTH,
"encrypted_challenge",
clpreauth_encrypted_challenge_initvt);
- k5_plugin_register(kcontext, PLUGIN_INTERFACE_CLPREAUTH,
+ k5_plugin_register(context, PLUGIN_INTERFACE_CLPREAUTH,
"encrypted_timestamp",
clpreauth_encrypted_timestamp_initvt);
- k5_plugin_register(kcontext, PLUGIN_INTERFACE_CLPREAUTH, "sam2",
+ k5_plugin_register(context, PLUGIN_INTERFACE_CLPREAUTH, "sam2",
clpreauth_sam2_initvt);
- k5_plugin_register(kcontext, PLUGIN_INTERFACE_CLPREAUTH, "otp",
+ k5_plugin_register(context, PLUGIN_INTERFACE_CLPREAUTH, "otp",
clpreauth_otp_initvt);
/* Get all available clpreauth vtables. */
- if (k5_plugin_load_all(kcontext, PLUGIN_INTERFACE_CLPREAUTH, &modules))
+ if (k5_plugin_load_all(context, PLUGIN_INTERFACE_CLPREAUTH, &modules))
return;
/* Allocate a large enough list of handles. */
@@ -132,7 +132,7 @@ krb5_init_preauth_context(krb5_context kcontext)
goto cleanup;
/* Initialize the handle vtable. */
- if ((*mod)(kcontext, 1, 1, (krb5_plugin_vtable)&h->vt) != 0) {
+ if ((*mod)(context, 1, 1, (krb5_plugin_vtable)&h->vt) != 0) {
free(h);
continue;
}
@@ -141,7 +141,7 @@ krb5_init_preauth_context(krb5_context kcontext)
for (tp = h->vt.pa_type_list; *tp != 0; tp++) {
h2 = find_module(list, *tp);
if (h2 != NULL) {
- TRACE_PREAUTH_CONFLICT(kcontext, h->vt.name, h2->vt.name, *tp);
+ TRACE_PREAUTH_CONFLICT(context, h->vt.name, h2->vt.name, *tp);
break;
}
}
@@ -150,7 +150,7 @@ krb5_init_preauth_context(krb5_context kcontext)
/* Initialize the module data. */
h->data = NULL;
- if (h->vt.init != NULL && h->vt.init(kcontext, &h->data) != 0) {
+ if (h->vt.init != NULL && h->vt.init(context, &h->data) != 0) {
free(h);
continue;
}
@@ -160,23 +160,25 @@ krb5_init_preauth_context(krb5_context kcontext)
list[count] = NULL;
/* Place the constructed preauth context into the krb5 context. */
- kcontext->preauth_context = malloc(sizeof(struct krb5_preauth_context_st));
- if (kcontext->preauth_context == NULL)
+ context->preauth_context = malloc(sizeof(struct krb5_preauth_context_st));
+ if (context->preauth_context == NULL)
goto cleanup;
- kcontext->preauth_context->tried = NULL;
- kcontext->preauth_context->handles = list;
+ context->preauth_context->tried = NULL;
+ context->preauth_context->handles = list;
list = NULL;
cleanup:
- k5_plugin_free_modules(kcontext, modules);
- free_handles(kcontext, list);
+ k5_plugin_free_modules(context, modules);
+ free_handles(context, list);
}
-/* Zero the use counts for the modules herein. Usually used before we
- * start processing any data from the server, at which point every module
- * will again be able to take a crack at whatever the server sent. */
-void KRB5_CALLCONV
-krb5_clear_preauth_context_use_counts(krb5_context context)
+/*
+ * Reset the memory of which preauth types we have already tried, because we
+ * are entering a new phase of padata processing (such as the padata in an
+ * AS-REP).
+ */
+void
+k5_reset_preauth_types_tried(krb5_context context)
{
struct krb5_preauth_context_st *pctx = context->preauth_context;
@@ -190,8 +192,8 @@ krb5_clear_preauth_context_use_counts(krb5_context context)
/* Free the per-krb5_context preauth_context. This means clearing any
* plugin-specific context which may have been created, and then
* freeing the context itself. */
-void KRB5_CALLCONV
-krb5_free_preauth_context(krb5_context context)
+void
+k5_free_preauth_context(krb5_context context)
{
struct krb5_preauth_context_st *pctx = context->preauth_context;
@@ -205,19 +207,19 @@ krb5_free_preauth_context(krb5_context context)
/* Initialize the per-AS-REQ context. This means calling the client_req_init
* function to give the plugin a chance to allocate a per-request context. */
-void KRB5_CALLCONV
-krb5_preauth_request_context_init(krb5_context context)
+void
+k5_preauth_request_context_init(krb5_context context)
{
struct krb5_preauth_context_st *pctx = context->preauth_context;
clpreauth_handle *hp, h;
if (pctx == NULL) {
- krb5_init_preauth_context(context);
+ k5_init_preauth_context(context);
pctx = context->preauth_context;
if (pctx == NULL)
return;
}
- krb5_clear_preauth_context_use_counts(context);
+ k5_reset_preauth_types_tried(context);
for (hp = pctx->handles; *hp != NULL; hp++) {
h = *hp;
if (h->vt.request_init != NULL)
@@ -227,8 +229,8 @@ krb5_preauth_request_context_init(krb5_context context)
/* Free the per-AS-REQ context. This means clearing any request-specific
* context which the plugin may have created. */
-void KRB5_CALLCONV
-krb5_preauth_request_context_fini(krb5_context context)
+void
+k5_preauth_request_context_fini(krb5_context context)
{
struct krb5_preauth_context_st *pctx = context->preauth_context;
clpreauth_handle *hp, h;
@@ -489,12 +491,11 @@ static struct krb5_clpreauth_callbacks_st callbacks = {
/* Tweak the request body, for now adding any enctypes which the module claims
* to add support for to the list, but in the future perhaps doing more
* involved things. */
-void KRB5_CALLCONV
-krb5_preauth_prepare_request(krb5_context kcontext,
- krb5_gic_opt_ext *opte,
- krb5_kdc_req *request)
+void
+k5_preauth_prepare_request(krb5_context context, krb5_gic_opt_ext *opte,
+ krb5_kdc_req *req)
{
- struct krb5_preauth_context_st *pctx = kcontext->preauth_context;
+ struct krb5_preauth_context_st *pctx = context->preauth_context;
clpreauth_handle *hp, h;
krb5_enctype *ep;
@@ -508,7 +509,7 @@ krb5_preauth_prepare_request(krb5_context kcontext,
if (h->vt.enctype_list == NULL)
continue;
for (ep = h->vt.enctype_list; *ep != ENCTYPE_NULL; ep++)
- grow_ktypes(&request->ktype, &request->nktypes, *ep);
+ grow_ktypes(&req->ktype, &req->nktypes, *ep);
}
}
@@ -840,13 +841,13 @@ add_s4u_x509_user_padata(krb5_context context, krb5_s4u_userid *userid,
* err_reply, return 0. If it's the sort of correction which requires that we
* ask the user another question, we let the calling application deal with it.
*/
-krb5_error_code KRB5_CALLCONV
-krb5_do_preauth_tryagain(krb5_context context, krb5_kdc_req *req,
- krb5_data *req_body, krb5_data *prev_req,
- krb5_pa_data **in_padata, krb5_pa_data ***out_padata,
- krb5_error *err_reply, krb5_pa_data **err_padata,
- krb5_prompter_fct prompter, void *prompter_data,
- krb5_clpreauth_rock rock, krb5_gic_opt_ext *opte)
+krb5_error_code
+k5_preauth_tryagain(krb5_context context, krb5_gic_opt_ext *opte,
+ krb5_clpreauth_rock rock, krb5_kdc_req *req,
+ krb5_data *req_body, krb5_data *prev_req,
+ krb5_pa_data **in_padata, krb5_error *err_reply,
+ krb5_pa_data **err_padata, krb5_prompter_fct prompter,
+ void *prompter_data, krb5_pa_data ***padata_out)
{
struct krb5_preauth_context_st *pctx = context->preauth_context;
krb5_error_code ret;
@@ -855,14 +856,13 @@ krb5_do_preauth_tryagain(krb5_context context, krb5_kdc_req *req,
clpreauth_handle h;
int i;
- *out_padata = NULL;
+ *padata_out = NULL;
if (pctx == NULL)
return KRB5KRB_ERR_GENERIC;
TRACE_PREAUTH_TRYAGAIN_INPUT(context, in_padata);
for (i = 0; in_padata[i] != NULL; i++) {
- out_padata = NULL;
h = find_module(pctx->handles, in_padata[i]->pa_type);
if (h == NULL)
continue;
@@ -873,7 +873,7 @@ krb5_do_preauth_tryagain(krb5_context context, krb5_kdc_req *req,
prompter_data, &mod_pa);
if (ret == 0 && mod_pa != NULL) {
TRACE_PREAUTH_TRYAGAIN_OUTPUT(context, mod_pa);
- *out_padata = mod_pa;
+ *padata_out = mod_pa;
return 0;
}
}
@@ -910,12 +910,12 @@ fill_response_items(krb5_context context, krb5_get_init_creds_opt *opt,
return 0;
}
-krb5_error_code KRB5_CALLCONV
-krb5_do_preauth(krb5_context context, krb5_kdc_req *req, krb5_data *req_body,
- krb5_data *prev_req, krb5_pa_data **in_padata,
- krb5_pa_data ***out_padata, krb5_prompter_fct prompter,
- void *prompter_data, krb5_clpreauth_rock rock,
- krb5_gic_opt_ext *opte, krb5_boolean *got_real_out)
+krb5_error_code
+k5_preauth(krb5_context context, krb5_gic_opt_ext *opte,
+ krb5_clpreauth_rock rock, krb5_kdc_req *req,
+ krb5_data *req_body, krb5_data *prev_req, krb5_pa_data **in_padata,
+ krb5_prompter_fct prompter, void *prompter_data,
+ krb5_pa_data ***padata_out, krb5_boolean *got_real_out)
{
int out_pa_list_size = 0;
krb5_pa_data **out_pa_list = NULL;
@@ -923,7 +923,7 @@ krb5_do_preauth(krb5_context context, krb5_kdc_req *req, krb5_data *req_body,
krb5_responder_fn responder = opte->opt_private->responder;
krb5_get_init_creds_opt *opt = (krb5_get_init_creds_opt *)opte;
- *out_padata = NULL;
+ *padata_out = NULL;
*got_real_out = FALSE;
if (in_padata == NULL)
@@ -951,9 +951,10 @@ krb5_do_preauth(krb5_context context, krb5_kdc_req *req, krb5_data *req_body,
}
/* If we can't initialize the preauth context, stop with what we have. */
- krb5_init_preauth_context(context);
+ k5_init_preauth_context(context);
if (context->preauth_context == NULL) {
- *out_padata = out_pa_list;
+ *padata_out = out_pa_list;
+ out_pa_list = NULL;
goto error;
}
@@ -978,7 +979,7 @@ krb5_do_preauth(krb5_context context, krb5_kdc_req *req, krb5_data *req_body,
goto error;
TRACE_PREAUTH_OUTPUT(context, out_pa_list);
- *out_padata = out_pa_list;
+ *padata_out = out_pa_list;
return 0;
error:
@@ -1001,7 +1002,7 @@ krb5_preauth_supply_preauth_data(krb5_context context, krb5_gic_opt_ext *opte,
const char *emsg = NULL;
if (pctx == NULL) {
- krb5_init_preauth_context(context);
+ k5_init_preauth_context(context);
pctx = context->preauth_context;
if (pctx == NULL) {
krb5_set_error_message(context, EINVAL,
diff --git a/src/lib/krb5/libkrb5.exports b/src/lib/krb5/libkrb5.exports
index 078c020..eb3eb79 100644
--- a/src/lib/krb5/libkrb5.exports
+++ b/src/lib/krb5/libkrb5.exports
@@ -256,7 +256,6 @@ krb5_decrypt_tkt_part
krb5_default_pwd_prompt1
krb5_default_pwd_prompt2
krb5_deltat_to_string
-krb5_do_preauth
krb5_encode_authdata_container
krb5_encode_kdc_rep
krb5_encrypt_helper
diff --git a/src/lib/krb5/os/init_os_ctx.c b/src/lib/krb5/os/init_os_ctx.c
index c4bf301..56b8d92 100644
--- a/src/lib/krb5/os/init_os_ctx.c
+++ b/src/lib/krb5/os/init_os_ctx.c
@@ -28,6 +28,7 @@
#include "k5-int.h"
#include "os-proto.h"
+#include "../krb/int-proto.h"
#include "prof_int.h" /* XXX for profile_copy, not public yet */
#if defined(_WIN32)
@@ -517,7 +518,7 @@ krb5_os_free_context(krb5_context ctx)
}
if (ctx->preauth_context) {
- krb5_free_preauth_context(ctx);
+ k5_free_preauth_context(ctx);
ctx->preauth_context = NULL;
}
krb5int_close_plugin_dirs (&ctx->libkrb5_plugins);
More information about the cvs-krb5
mailing list