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-27 14:44:13 -0400
commiteaf3dcc15e9eb093ecf8b934f6c3a82d01236a92 (patch)
tree173a2ab4dcb91f45c84e0b2ab49bf9dbea4e8da5 /src/providers/krb5/krb5_init.c
parent717bab5b52c755c950eb451d95a805d474d0ef07 (diff)
downloadsssd-eaf3dcc15e9eb093ecf8b934f6c3a82d01236a92.tar.gz
sssd-eaf3dcc15e9eb093ecf8b934f6c3a82d01236a92.tar.xz
sssd-eaf3dcc15e9eb093ecf8b934f6c3a82d01236a92.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) {