summaryrefslogtreecommitdiffstats
path: root/src/db
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2013-08-08 12:04:11 +0200
committerJakub Hrozek <jhrozek@redhat.com>2013-08-19 22:32:34 +0200
commit75dd4b05e1dacc76dc9d5f16be31978f84a71dc5 (patch)
treec01533ef057253df9b22d83db188744a554923c2 /src/db
parentfd04fbbf93d33db729404cdc4408f59226025ea6 (diff)
downloadsssd-75dd4b05e1dacc76dc9d5f16be31978f84a71dc5.tar.gz
sssd-75dd4b05e1dacc76dc9d5f16be31978f84a71dc5.tar.xz
sssd-75dd4b05e1dacc76dc9d5f16be31978f84a71dc5.zip
sysdb_add_incomplete_group: store SID string is available
During initgroups request we read the SID of a group from the server but do not save it to the cache. This patch fixes this and might help to avoid an additional lookup of the SID later.
Diffstat (limited to 'src/db')
-rw-r--r--src/db/sysdb.h4
-rw-r--r--src/db/sysdb_ops.c6
2 files changed, 9 insertions, 1 deletions
diff --git a/src/db/sysdb.h b/src/db/sysdb.h
index 7b02b3442..96679007a 100644
--- a/src/db/sysdb.h
+++ b/src/db/sysdb.h
@@ -614,7 +614,9 @@ int sysdb_add_incomplete_group(struct sysdb_ctx *sysdb,
struct sss_domain_info *domain,
const char *name,
gid_t gid,
- const char *original_dn, bool posix,
+ const char *original_dn,
+ const char *sid_str,
+ bool posix,
time_t now);
/* Add netgroup (only basic attrs and w/o checks) */
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index ff8fb0085..45f3289b7 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -1409,6 +1409,7 @@ int sysdb_add_incomplete_group(struct sysdb_ctx *sysdb,
const char *name,
gid_t gid,
const char *original_dn,
+ const char *sid_str,
bool posix,
time_t now)
{
@@ -1450,6 +1451,11 @@ int sysdb_add_incomplete_group(struct sysdb_ctx *sysdb,
if (ret) goto done;
}
+ if (sid_str) {
+ ret = sysdb_attrs_add_string(attrs, SYSDB_SID_STR, sid_str);
+ if (ret) goto done;
+ }
+
ret = sysdb_set_group_attr(sysdb, domain, name, attrs, SYSDB_MOD_REP);
done: