summaryrefslogtreecommitdiffstats
path: root/src/tools/sss_sync_ops.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2010-03-12 16:52:26 +0100
committerStephen Gallagher <sgallagh@redhat.com>2010-03-15 07:40:52 -0400
commite45fcd9e478300e6be8a49402fcea81fce623804 (patch)
treef13ce827e549ebd3985bc51f3dc9848fb98e4f64 /src/tools/sss_sync_ops.c
parent5096bb4c2242b426aa6f5ea2cb82223e0b81a345 (diff)
downloadsssd-e45fcd9e478300e6be8a49402fcea81fce623804.tar.gz
sssd-e45fcd9e478300e6be8a49402fcea81fce623804.tar.xz
sssd-e45fcd9e478300e6be8a49402fcea81fce623804.zip
Flush NSCD cache after modifying local database
Fixes: #221
Diffstat (limited to 'src/tools/sss_sync_ops.c')
-rw-r--r--src/tools/sss_sync_ops.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/src/tools/sss_sync_ops.c b/src/tools/sss_sync_ops.c
index 25b8ac7a5..498be2849 100644
--- a/src/tools/sss_sync_ops.c
+++ b/src/tools/sss_sync_ops.c
@@ -1301,6 +1301,9 @@ int useradd(TALLOC_CTX *mem_ctx,
SYNC_LOOP(res, ret);
+ flush_nscd_cache(mem_ctx, NSCD_DB_PASSWD);
+ flush_nscd_cache(mem_ctx, NSCD_DB_GROUP);
+
talloc_free(res);
return ret;
}
@@ -1349,6 +1352,9 @@ int userdel(TALLOC_CTX *mem_ctx,
SYNC_LOOP(res, ret);
+ flush_nscd_cache(mem_ctx, NSCD_DB_PASSWD);
+ flush_nscd_cache(mem_ctx, NSCD_DB_GROUP);
+
talloc_free(res);
return ret;
}
@@ -1397,6 +1403,9 @@ int usermod(TALLOC_CTX *mem_ctx,
SYNC_LOOP(res, ret);
+ flush_nscd_cache(mem_ctx, NSCD_DB_PASSWD);
+ flush_nscd_cache(mem_ctx, NSCD_DB_GROUP);
+
talloc_free(res);
return ret;
}
@@ -1445,6 +1454,8 @@ int groupadd(TALLOC_CTX *mem_ctx,
SYNC_LOOP(res, ret);
+ flush_nscd_cache(mem_ctx, NSCD_DB_GROUP);
+
talloc_free(res);
return ret;
}
@@ -1493,6 +1504,8 @@ int groupdel(TALLOC_CTX *mem_ctx,
SYNC_LOOP(res, ret);
+ flush_nscd_cache(mem_ctx, NSCD_DB_GROUP);
+
talloc_free(res);
return ret;
}
@@ -1541,6 +1554,8 @@ int groupmod(TALLOC_CTX *mem_ctx,
SYNC_LOOP(res, ret);
+ flush_nscd_cache(mem_ctx, NSCD_DB_GROUP);
+
talloc_free(res);
return ret;
}