summaryrefslogtreecommitdiffstats
path: root/src/providers/krb5/krb5_init.c
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2010-05-05 07:35:56 -0400
committerStephen Gallagher <sgallagh@redhat.com>2010-05-07 17:14:32 -0400
commit67607dda05e36c4d0be4647160ad376b89d89c51 (patch)
treeb1e03b71bce6513d846cedff236c4e496061ecc3 /src/providers/krb5/krb5_init.c
parent3010e6a1cb1a9d57aa37a2367880c8cc0871b06e (diff)
downloadsssd-67607dda05e36c4d0be4647160ad376b89d89c51.tar.gz
sssd-67607dda05e36c4d0be4647160ad376b89d89c51.tar.xz
sssd-67607dda05e36c4d0be4647160ad376b89d89c51.zip
Clean up kdcinfo and kpasswdinfo files when exiting
Diffstat (limited to 'src/providers/krb5/krb5_init.c')
-rw-r--r--src/providers/krb5/krb5_init.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/providers/krb5/krb5_init.c b/src/providers/krb5/krb5_init.c
index 83129d9c5..0bacb3f8f 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);