version 1.12, 2003/08/28 12:54:34 |
version 1.13, 2003/09/23 20:17:11 |
|
|
{ |
{ |
Authctxt *authctxt = (Authctxt *)context; |
Authctxt *authctxt = (Authctxt *)context; |
krb5_error_code problem; |
krb5_error_code problem; |
static int cleanup_registered = 0; |
|
|
|
if (authctxt->krb5_ctx == NULL) { |
if (authctxt->krb5_ctx == NULL) { |
problem = krb5_init_context(&authctxt->krb5_ctx); |
problem = krb5_init_context(&authctxt->krb5_ctx); |
|
|
return (problem); |
return (problem); |
krb5_init_ets(authctxt->krb5_ctx); |
krb5_init_ets(authctxt->krb5_ctx); |
} |
} |
if (!cleanup_registered) { |
|
fatal_add_cleanup(krb5_cleanup_proc, authctxt); |
|
cleanup_registered = 1; |
|
} |
|
return (0); |
return (0); |
} |
} |
|
|
|
|
} |
} |
|
|
void |
void |
krb5_cleanup_proc(void *context) |
krb5_cleanup_proc(Authctxt *authctxt) |
{ |
{ |
Authctxt *authctxt = (Authctxt *)context; |
|
|
|
debug("krb5_cleanup_proc called"); |
debug("krb5_cleanup_proc called"); |
if (authctxt->krb5_fwd_ccache) { |
if (authctxt->krb5_fwd_ccache) { |
krb5_cc_destroy(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache); |
krb5_cc_destroy(authctxt->krb5_ctx, authctxt->krb5_fwd_ccache); |