summaryrefslogtreecommitdiffstats
path: root/src/providers/krb5/krb5_init.c
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2010-05-17 13:23:32 +0200
committerStephen Gallagher <sgallagh@redhat.com>2010-05-18 13:06:43 -0400
commitc7b2fbe6c1a30a0f0d7fbf25801d07fa761f3541 (patch)
tree81062c76bc81f02e78f0169805699ba5ba995e8a /src/providers/krb5/krb5_init.c
parenteea8d1fe65e5985bdba3dda1414497c668887c76 (diff)
downloadsssd-c7b2fbe6c1a30a0f0d7fbf25801d07fa761f3541.tar.gz
sssd-c7b2fbe6c1a30a0f0d7fbf25801d07fa761f3541.tar.xz
sssd-c7b2fbe6c1a30a0f0d7fbf25801d07fa761f3541.zip
Refactor krb5 SIGTERM handler installation
Diffstat (limited to 'src/providers/krb5/krb5_init.c')
-rw-r--r--src/providers/krb5/krb5_init.c17
1 files changed, 3 insertions, 14 deletions
diff --git a/src/providers/krb5/krb5_init.c b/src/providers/krb5/krb5_init.c
index 481b08804..c457dc55f 100644
--- a/src/providers/krb5/krb5_init.c
+++ b/src/providers/krb5/krb5_init.c
@@ -48,14 +48,12 @@ int sssm_krb5_auth_init(struct be_ctx *bectx,
{
struct krb5_ctx *ctx = NULL;
int ret;
- struct tevent_signal *sige;
unsigned v;
FILE *debug_filep;
const char *krb5_servers;
const char *krb5_kpasswd_servers;
const char *krb5_realm;
const char *errstr;
- char *sig_realm;
int errval;
int errpos;
@@ -135,20 +133,11 @@ int sssm_krb5_auth_init(struct be_ctx *bectx,
goto fail;
}
- 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;
+ ret = krb5_install_sigterm_handler(bectx->ev, ctx);
+ if (ret != EOK) {
+ DEBUG(1, ("krb5_install_sigterm_handler failed.\n"));
goto fail;
}
- talloc_steal(sige, sig_realm);
ret = krb5_install_offline_callback(bectx, ctx);
if (ret != EOK) {