diff options
Diffstat (limited to 'src/providers/krb5/krb5_init.c')
-rw-r--r-- | src/providers/krb5/krb5_init.c | 17 |
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) { |