From 67607dda05e36c4d0be4647160ad376b89d89c51 Mon Sep 17 00:00:00 2001 From: Stephen Gallagher Date: Wed, 5 May 2010 07:35:56 -0400 Subject: Clean up kdcinfo and kpasswdinfo files when exiting --- src/providers/krb5/krb5_init.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src/providers/krb5/krb5_init.c') diff --git a/src/providers/krb5/krb5_init.c b/src/providers/krb5/krb5_init.c index 83129d9c..0bacb3f8 100644 --- a/src/providers/krb5/krb5_init.c +++ b/src/providers/krb5/krb5_init.c @@ -55,6 +55,7 @@ int sssm_krb5_auth_init(struct be_ctx *bectx, const char *krb5_kpasswd_servers; const char *krb5_realm; const char *errstr; + char *sig_realm; int errval; int errpos; @@ -126,13 +127,20 @@ int sssm_krb5_auth_init(struct be_ctx *bectx, goto fail; } - sige = tevent_add_signal(bectx->ev, ctx, SIGCHLD, SA_SIGINFO, - child_sig_handler, NULL); + BlockSignals(false, SIGTERM); + sig_realm = talloc_strdup(ctx, krb5_realm); + if (sig_realm == NULL) { + ret = ENOMEM; + goto fail; + } + sige = tevent_add_signal(bectx->ev, ctx, SIGTERM, SA_SIGINFO, + krb5_finalize, sig_realm); if (sige == NULL) { DEBUG(1, ("tevent_add_signal failed.\n")); ret = ENOMEM; goto fail; } + talloc_steal(sige, sig_realm); if (debug_to_file != 0) { ret = open_debug_file_ex("krb5_child", &debug_filep); -- cgit