diff options
Diffstat (limited to 'source3/nsswitch/winbindd_util.c')
-rw-r--r-- | source3/nsswitch/winbindd_util.c | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/source3/nsswitch/winbindd_util.c b/source3/nsswitch/winbindd_util.c index 20f25a3954..ae5f826a88 100644 --- a/source3/nsswitch/winbindd_util.c +++ b/source3/nsswitch/winbindd_util.c @@ -1215,3 +1215,25 @@ BOOL winbindd_upgrade_idmap(void) return idmap_convert(idmap_name); } + +void winbindd_flush_nscd_cache(void) +{ +#ifdef HAVE_NSCD_FLUSH_CACHE + + /* Flush nscd caches to get accurate new information */ + int ret = nscd_flush_cache("passwd"); + if (ret) { + DEBUG(5,("failed to flush nscd cache for 'passwd' service: %s\n", + strerror(ret))); + } + + ret = nscd_flush_cache("group"); + if (ret) { + DEBUG(5,("failed to flush nscd cache for 'group' service: %s\n", + strerror(ret))); + } +#else + return; +#endif +} + |