diff options
author | Pavel Březina <pbrezina@redhat.com> | 2016-11-15 11:39:46 +0100 |
---|---|---|
committer | Lukas Slebodnik <lslebodn@redhat.com> | 2016-12-19 23:24:02 +0100 |
commit | 488518dde58724daa13b9216a0f1af6e0ba5401f (patch) | |
tree | 250d4d347d7f117bf29668313841764c9ad65991 /src/db | |
parent | c85f751893e43d992b6fac7c83679db05558d1ca (diff) | |
download | sssd-488518dde58724daa13b9216a0f1af6e0ba5401f.tar.gz sssd-488518dde58724daa13b9216a0f1af6e0ba5401f.tar.xz sssd-488518dde58724daa13b9216a0f1af6e0ba5401f.zip |
cache_req: add object by name
This request returns either user or group object.
Resolves:
https://fedorahosted.org/sssd/ticket/3151
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
Diffstat (limited to 'src/db')
-rw-r--r-- | src/db/sysdb.h | 7 | ||||
-rw-r--r-- | src/db/sysdb_ops.c | 10 |
2 files changed, 17 insertions, 0 deletions
diff --git a/src/db/sysdb.h b/src/db/sysdb.h index 5dedd97dd..350e393b3 100644 --- a/src/db/sysdb.h +++ b/src/db/sysdb.h @@ -203,6 +203,7 @@ #define SYSDB_SID_FILTER "(&(|("SYSDB_UC")("SYSDB_GC"))("SYSDB_SID_STR"=%s))" #define SYSDB_UUID_FILTER "(&(|("SYSDB_UC")("SYSDB_GC"))("SYSDB_UUID"=%s))" +#define SYSDB_NAME_FILTER "(&(|("SYSDB_UC")("SYSDB_GC"))("SYSDB_NAME"=%s))" #define SYSDB_USER_CERT_FILTER "(&("SYSDB_UC")%s)" #define SYSDB_HAS_ENUMERATED "has_enumerated" @@ -1193,6 +1194,12 @@ errno_t sysdb_idmap_get_mappings(TALLOC_CTX *mem_ctx, struct sss_domain_info *domain, struct ldb_result **_result); +errno_t sysdb_search_object_by_name(TALLOC_CTX *mem_ctx, + struct sss_domain_info *domain, + const char *name, + const char **attrs, + struct ldb_result **res); + errno_t sysdb_search_object_by_sid(TALLOC_CTX *mem_ctx, struct sss_domain_info *domain, const char *sid_str, diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c index 95eb789d6..867fbf50e 100644 --- a/src/db/sysdb_ops.c +++ b/src/db/sysdb_ops.c @@ -4544,6 +4544,16 @@ done: return ret; } +errno_t sysdb_search_object_by_name(TALLOC_CTX *mem_ctx, + struct sss_domain_info *domain, + const char *name, + const char **attrs, + struct ldb_result **res) +{ + return sysdb_search_object_by_str_attr(mem_ctx, domain, SYSDB_NAME_FILTER, + name, attrs, res); +} + errno_t sysdb_search_object_by_sid(TALLOC_CTX *mem_ctx, struct sss_domain_info *domain, const char *sid_str, |