diff options
author | Simo Sorce <simo@redhat.com> | 2012-10-16 17:16:54 -0400 |
---|---|---|
committer | Simo Sorce <simo@redhat.com> | 2013-01-04 14:40:17 -0500 |
commit | 2d468a06e14672a3012f2cf55720903000061c7d (patch) | |
tree | fd9efcc4b9c31c2e58be67ebd38d9b9db9d732f2 | |
parent | b5a99bebff5f7455d9b8bd89f0a81de587c5a9c0 (diff) | |
download | sssd-2d468a06e14672a3012f2cf55720903000061c7d.tar.gz sssd-2d468a06e14672a3012f2cf55720903000061c7d.tar.xz sssd-2d468a06e14672a3012f2cf55720903000061c7d.zip |
Add alias argument to mmap_cache account store fns
Basic plumbing to allow passing an alias down to mmap cache functions.
-rw-r--r-- | src/responder/nss/nsssrv_cmd.c | 5 | ||||
-rw-r--r-- | src/responder/nss/nsssrv_mmap_cache.c | 6 | ||||
-rw-r--r-- | src/responder/nss/nsssrv_mmap_cache.h | 2 |
3 files changed, 9 insertions, 4 deletions
diff --git a/src/responder/nss/nsssrv_cmd.c b/src/responder/nss/nsssrv_cmd.c index 2ad9194c..387408a7 100644 --- a/src/responder/nss/nsssrv_cmd.c +++ b/src/responder/nss/nsssrv_cmd.c @@ -433,7 +433,7 @@ static int fill_pwent(struct sss_packet *packet, if (pw_mmap_cache && nctx->pwd_mc_ctx) { ret = sss_mmap_cache_pw_store(&nctx->pwd_mc_ctx, - &fullname, &pwfield, + &fullname, NULL, &pwfield, uid, gid, &gecos, &homedir, &shell); if (ret != EOK && ret != ENOMEM) { @@ -2186,7 +2186,8 @@ static int fill_grent(struct sss_packet *packet, * where body used to be, not where it is */ to_sized_string(&fullname, (const char *)&body[rzero+STRS_ROFFSET]); ret = sss_mmap_cache_gr_store(&nctx->grp_mc_ctx, - &fullname, &pwfield, gid, memnum, + &fullname, NULL, &pwfield, + gid, memnum, (char *)&body[rzero] + STRS_ROFFSET + fullname.len + pwfield.len, rsize - STRS_ROFFSET - diff --git a/src/responder/nss/nsssrv_mmap_cache.c b/src/responder/nss/nsssrv_mmap_cache.c index cdedf47b..3823d065 100644 --- a/src/responder/nss/nsssrv_mmap_cache.c +++ b/src/responder/nss/nsssrv_mmap_cache.c @@ -517,6 +517,7 @@ static errno_t sss_mmap_cache_invalidate(struct sss_mc_ctx *mcc, errno_t sss_mmap_cache_pw_store(struct sss_mc_ctx **_mcc, struct sized_string *name, + struct sized_string *alias, struct sized_string *pw, uid_t uid, gid_t gid, struct sized_string *gecos, @@ -565,7 +566,7 @@ errno_t sss_mmap_cache_pw_store(struct sss_mc_ctx **_mcc, /* header */ sss_mmap_set_rec_header(mcc, rec, rec_len, mcc->valid_time_slot, name->str, name->len, uidkey.str, uidkey.len, - NULL, 0); + alias ? alias->str:NULL, alias ? alias->len:0); /* passwd struct */ data->name = MC_PTR_DIFF(data->strs, data); @@ -655,6 +656,7 @@ done: int sss_mmap_cache_gr_store(struct sss_mc_ctx **_mcc, struct sized_string *name, + struct sized_string *alias, struct sized_string *pw, gid_t gid, size_t memnum, char *membuf, size_t memsize) @@ -701,7 +703,7 @@ int sss_mmap_cache_gr_store(struct sss_mc_ctx **_mcc, /* header */ sss_mmap_set_rec_header(mcc, rec, rec_len, mcc->valid_time_slot, name->str, name->len, gidkey.str, gidkey.len, - NULL, 0); + alias ? alias->str:NULL, alias ? alias->len:0); /* group struct */ data->name = MC_PTR_DIFF(data->strs, data); diff --git a/src/responder/nss/nsssrv_mmap_cache.h b/src/responder/nss/nsssrv_mmap_cache.h index 25cec40c..cf87e3b3 100644 --- a/src/responder/nss/nsssrv_mmap_cache.h +++ b/src/responder/nss/nsssrv_mmap_cache.h @@ -38,6 +38,7 @@ errno_t sss_mmap_cache_init(TALLOC_CTX *mem_ctx, const char *name, errno_t sss_mmap_cache_pw_store(struct sss_mc_ctx **_mcc, struct sized_string *name, + struct sized_string *alias, struct sized_string *pw, uid_t uid, gid_t gid, struct sized_string *gecos, @@ -46,6 +47,7 @@ errno_t sss_mmap_cache_pw_store(struct sss_mc_ctx **_mcc, errno_t sss_mmap_cache_gr_store(struct sss_mc_ctx **_mcc, struct sized_string *name, + struct sized_string *alias, struct sized_string *pw, gid_t gid, size_t memnum, char *membuf, size_t memsize); |