69 lines
3.1 KiB
Diff
69 lines
3.1 KiB
Diff
|
From ccf6c568a0bb4a3660297653d96c7fb311b6665f Mon Sep 17 00:00:00 2001
|
||
|
From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrezina@redhat.com>
|
||
|
Date: Fri, 18 Dec 2015 11:50:09 +0100
|
||
|
Subject: [PATCH 18/49] SUDO: allow to disable ptask
|
||
|
|
||
|
Reviewed-by: Sumit Bose <sbose@redhat.com>
|
||
|
(cherry picked from commit e085a79acfcd5331b6f99748e21765579a9a99f2)
|
||
|
---
|
||
|
src/providers/ldap/sdap_sudo_shared.c | 36 +++++++++++++++++++----------------
|
||
|
1 file changed, 20 insertions(+), 16 deletions(-)
|
||
|
|
||
|
diff --git a/src/providers/ldap/sdap_sudo_shared.c b/src/providers/ldap/sdap_sudo_shared.c
|
||
|
index 86a6acf4758a1d5952f28cf1847a425d1b3b40ec..b31d5d27f61b73e71ab8ad0341415ee00e2295cf 100644
|
||
|
--- a/src/providers/ldap/sdap_sudo_shared.c
|
||
|
+++ b/src/providers/ldap/sdap_sudo_shared.c
|
||
|
@@ -88,14 +88,16 @@ sdap_sudo_ptask_setup_generic(struct be_ctx *be_ctx,
|
||
|
* Disable when offline and run immediately when SSSD goes back online.
|
||
|
* Since we have periodical online check we don't have to run this task
|
||
|
* when offline. */
|
||
|
- ret = be_ptask_create(be_ctx, be_ctx, full, delay, 0, 0, full,
|
||
|
- BE_PTASK_OFFLINE_DISABLE, 0,
|
||
|
- full_send_fn, full_recv_fn, pvt,
|
||
|
- "SUDO Full Refresh", NULL);
|
||
|
- if (ret != EOK) {
|
||
|
- DEBUG(SSSDBG_CRIT_FAILURE, "Unable to setup full refresh ptask "
|
||
|
- "[%d]: %s\n", ret, sss_strerror(ret));
|
||
|
- return ret;
|
||
|
+ if (full > 0) {
|
||
|
+ ret = be_ptask_create(be_ctx, be_ctx, full, delay, 0, 0, full,
|
||
|
+ BE_PTASK_OFFLINE_DISABLE, 0,
|
||
|
+ full_send_fn, full_recv_fn, pvt,
|
||
|
+ "SUDO Full Refresh", NULL);
|
||
|
+ if (ret != EOK) {
|
||
|
+ DEBUG(SSSDBG_CRIT_FAILURE, "Unable to setup full refresh ptask "
|
||
|
+ "[%d]: %s\n", ret, sss_strerror(ret));
|
||
|
+ return ret;
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
/* Smart refresh.
|
||
|
@@ -103,14 +105,16 @@ sdap_sudo_ptask_setup_generic(struct be_ctx *be_ctx,
|
||
|
* Disable when offline and reschedule normally when SSSD goes back online.
|
||
|
* Since we have periodical online check we don't have to run this task
|
||
|
* when offline. */
|
||
|
- ret = be_ptask_create(be_ctx, be_ctx, smart, delay + smart, smart, 0, smart,
|
||
|
- BE_PTASK_OFFLINE_DISABLE, 0,
|
||
|
- smart_send_fn, smart_recv_fn, pvt,
|
||
|
- "SUDO Smart Refresh", NULL);
|
||
|
- if (ret != EOK) {
|
||
|
- DEBUG(SSSDBG_CRIT_FAILURE, "Unable to setup smart refresh ptask "
|
||
|
- "[%d]: %s\n", ret, sss_strerror(ret));
|
||
|
- return ret;
|
||
|
+ if (smart > 0) {
|
||
|
+ ret = be_ptask_create(be_ctx, be_ctx, smart, delay + smart, smart, 0,
|
||
|
+ smart, BE_PTASK_OFFLINE_DISABLE, 0,
|
||
|
+ smart_send_fn, smart_recv_fn, pvt,
|
||
|
+ "SUDO Smart Refresh", NULL);
|
||
|
+ if (ret != EOK) {
|
||
|
+ DEBUG(SSSDBG_CRIT_FAILURE, "Unable to setup smart refresh ptask "
|
||
|
+ "[%d]: %s\n", ret, sss_strerror(ret));
|
||
|
+ return ret;
|
||
|
+ }
|
||
|
}
|
||
|
|
||
|
return EOK;
|
||
|
--
|
||
|
2.5.0
|
||
|
|