summaryrefslogtreecommitdiffstats
path: root/src/providers/ldap/sdap_async_sudo.c
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2012-05-13 21:27:38 +0200
committerStephen Gallagher <sgallagh@redhat.com>2012-06-29 11:37:18 -0400
commit4684d427e7e10642ceff62128c3d22db87872c4c (patch)
tree2416441f93af825573edf0af5351e44bf35e96f6 /src/providers/ldap/sdap_async_sudo.c
parent010c35e66398bbeb82fb1b31fc619b1a9eaf2d3d (diff)
downloadsssd-4684d427e7e10642ceff62128c3d22db87872c4c.tar.gz
sssd-4684d427e7e10642ceff62128c3d22db87872c4c.tar.xz
sssd-4684d427e7e10642ceff62128c3d22db87872c4c.zip
sudo ldap provider: return number of downloaded rules in sdap_sudo_refresh_recv()
Diffstat (limited to 'src/providers/ldap/sdap_async_sudo.c')
-rw-r--r--src/providers/ldap/sdap_async_sudo.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/src/providers/ldap/sdap_async_sudo.c b/src/providers/ldap/sdap_async_sudo.c
index 9a7dc857d..92200aa77 100644
--- a/src/providers/ldap/sdap_async_sudo.c
+++ b/src/providers/ldap/sdap_async_sudo.c
@@ -48,6 +48,7 @@ struct sdap_sudo_refresh_state {
int dp_error;
int error;
char *highest_usn;
+ size_t num_rules;
};
struct sdap_sudo_load_sudoers_state {
@@ -165,7 +166,8 @@ int sdap_sudo_refresh_recv(TALLOC_CTX *mem_ctx,
struct tevent_req *req,
int *dp_error,
int *error,
- char **usn)
+ char **usn,
+ size_t *num_rules)
{
struct sdap_sudo_refresh_state *state = NULL;
@@ -180,6 +182,10 @@ int sdap_sudo_refresh_recv(TALLOC_CTX *mem_ctx,
*usn = talloc_steal(mem_ctx, state->highest_usn);
}
+ if (num_rules != NULL) {
+ *num_rules = state->num_rules;
+ }
+
return EOK;
}
@@ -503,6 +509,7 @@ static void sdap_sudo_load_sudoers_done(struct tevent_req *subreq)
DEBUG(SSSDBG_TRACE_FUNC, ("Sudoers is successfuly stored in cache\n"));
ret = EOK;
+ state->num_rules = rules_count;
done:
if (in_transaction) {