summaryrefslogtreecommitdiffstats
path: root/src/db
diff options
context:
space:
mode:
authorPavel Březina <pbrezina@redhat.com>2016-11-15 11:39:46 +0100
committerLukas Slebodnik <lslebodn@redhat.com>2016-12-19 23:24:02 +0100
commit488518dde58724daa13b9216a0f1af6e0ba5401f (patch)
tree250d4d347d7f117bf29668313841764c9ad65991 /src/db
parentc85f751893e43d992b6fac7c83679db05558d1ca (diff)
downloadsssd-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.h7
-rw-r--r--src/db/sysdb_ops.c10
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,