summaryrefslogtreecommitdiff
path: root/usr/src/lib/libsec
diff options
context:
space:
mode:
authorJulian Pullen <Julian.Pullen@Sun.COM>2008-08-19 10:06:21 +0100
committerJulian Pullen <Julian.Pullen@Sun.COM>2008-08-19 10:06:21 +0100
commit3ee87bca47e74aa2719352485b80973ca6e079b7 (patch)
treea6ff61ef6b4dc533ceb00395c02e9ce543bcfb12 /usr/src/lib/libsec
parentaf061baf244254407655fdca7fd3d11aeb04f552 (diff)
downloadillumos-joyent-3ee87bca47e74aa2719352485b80973ca6e079b7.tar.gz
6727286 libidmap should cache ID mappings
Diffstat (limited to 'usr/src/lib/libsec')
-rw-r--r--usr/src/lib/libsec/common/acltext.c13
-rw-r--r--usr/src/lib/libsec/common/aclutils.c13
2 files changed, 16 insertions, 10 deletions
diff --git a/usr/src/lib/libsec/common/acltext.c b/usr/src/lib/libsec/common/acltext.c
index be2a417040..72d491a784 100644
--- a/usr/src/lib/libsec/common/acltext.c
+++ b/usr/src/lib/libsec/common/acltext.c
@@ -23,7 +23,6 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
/*LINTLIBRARY*/
#include <grp.h>
@@ -140,19 +139,23 @@ prsidname(uid_t who, boolean_t user, char **sidp, int noresolve)
*/
if (user)
- error = idmap_getwinnamebyuid(who, &name, &domain);
+ error = idmap_getwinnamebyuid(who, IDMAP_REQ_FLG_USE_CACHE,
+ &name, &domain);
else
- error = idmap_getwinnamebygid(who, &name, &domain);
+ error = idmap_getwinnamebygid(who, IDMAP_REQ_FLG_USE_CACHE,
+ &name, &domain);
if (error) {
if (idmap_init(&idmap_hdl) == 0 &&
idmap_get_create(idmap_hdl, &get_hdl) == 0) {
if (user)
error = idmap_get_sidbyuid(get_hdl, who,
- 0, &domain, &rid, &status);
+ IDMAP_REQ_FLG_USE_CACHE, &domain, &rid,
+ &status);
else
error = idmap_get_sidbygid(get_hdl, who,
- 0, &domain, &rid, &status);
+ IDMAP_REQ_FLG_USE_CACHE, &domain, &rid,
+ &status);
if (error == 0)
error = idmap_get_mappings(get_hdl);
}
diff --git a/usr/src/lib/libsec/common/aclutils.c b/usr/src/lib/libsec/common/aclutils.c
index f21261ff53..566decd38a 100644
--- a/usr/src/lib/libsec/common/aclutils.c
+++ b/usr/src/lib/libsec/common/aclutils.c
@@ -23,7 +23,6 @@
* Use is subject to license terms.
*/
-#pragma ident "%Z%%M% %I% %E% SMI"
#include <stdlib.h>
#include <string.h>
@@ -762,10 +761,12 @@ sid_to_id(char *sid, boolean_t user, uid_t *id)
idmap_get_create(idmap_hdl, &get_hdl) == 0) {
if (user)
error = idmap_get_uidbysid(get_hdl,
- sid, rid, 0, id, &status);
+ sid, rid, IDMAP_REQ_FLG_USE_CACHE,
+ id, &status);
else
error = idmap_get_gidbysid(get_hdl,
- sid, rid, 0, id, &status);
+ sid, rid, IDMAP_REQ_FLG_USE_CACHE,
+ id, &status);
}
} else {
error = -1;
@@ -785,9 +786,11 @@ sid_to_id(char *sid, boolean_t user, uid_t *id)
*domain_start++ = '\0';
if (user)
- error = idmap_getuidbywinname(name, domain_start, id);
+ error = idmap_getuidbywinname(name, domain_start,
+ IDMAP_REQ_FLG_USE_CACHE, id);
else
- error = idmap_getgidbywinname(name, domain_start, id);
+ error = idmap_getgidbywinname(name, domain_start,
+ IDMAP_REQ_FLG_USE_CACHE, id);
*--domain_start = '@';
}