From 7435bbb00feef2dde93532e62e40baa694348532 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Tue, 15 Jan 2013 12:35:58 +0100 Subject: TOOLS: Provide a convenience function to refresh a list of groups --- src/tools/tools_mc_util.c | 21 +++++++++++++++++++++ src/tools/tools_util.h | 1 + 2 files changed, 22 insertions(+) (limited to 'src') diff --git a/src/tools/tools_mc_util.c b/src/tools/tools_mc_util.c index a33dfb97c..45b145d21 100644 --- a/src/tools/tools_mc_util.c +++ b/src/tools/tools_mc_util.c @@ -240,3 +240,24 @@ errno_t sss_mc_refresh_group(const char *groupname) { return sss_mc_refresh_ent(groupname, SSS_TOOLS_GROUP); } + +errno_t sss_mc_refresh_grouplist(char **groupnames) +{ + int i; + errno_t ret; + bool failed = false; + + if (!groupnames) return EOK; + + for (i = 0; groupnames[i]; i++) { + ret = sss_mc_refresh_group(groupnames[i]); + if (ret != EOK) { + DEBUG(SSSDBG_MINOR_FAILURE, + ("Cannot refresh group %s from memory cache\n")); + failed = true; + continue; + } + } + + return failed ? EIO : EOK; +} diff --git a/src/tools/tools_util.h b/src/tools/tools_util.h index 0ca52efdf..3554a182d 100644 --- a/src/tools/tools_util.h +++ b/src/tools/tools_util.h @@ -111,6 +111,7 @@ errno_t sss_memcache_clear_all(void); errno_t sss_mc_refresh_user(const char *username); errno_t sss_mc_refresh_group(const char *groupname); +errno_t sss_mc_refresh_grouplist(char **groupnames); /* from files.c */ int remove_tree(const char *root); -- cgit