summaryrefslogtreecommitdiffstats
path: root/src/db
diff options
context:
space:
mode:
authorSumit Bose <sbose@redhat.com>2013-11-28 11:28:39 +0100
committerJakub Hrozek <jhrozek@redhat.com>2013-12-19 11:11:40 +0100
commit9af7428e7b3beb31f7d71cae97e2472c41161c33 (patch)
treefbd74501fe108843af22d0a784c5303ea9bec368 /src/db
parentde9d48df68ab160d4b91c85985dc7e64688f39c6 (diff)
downloadsssd-9af7428e7b3beb31f7d71cae97e2472c41161c33.tar.gz
sssd-9af7428e7b3beb31f7d71cae97e2472c41161c33.tar.xz
sssd-9af7428e7b3beb31f7d71cae97e2472c41161c33.zip
Add sysdb_attrs_add_lc_name_alias
Diffstat (limited to 'src/db')
-rw-r--r--src/db/sysdb.c22
-rw-r--r--src/db/sysdb.h2
2 files changed, 24 insertions, 0 deletions
diff --git a/src/db/sysdb.c b/src/db/sysdb.c
index da5dbe84c..2a4be5800 100644
--- a/src/db/sysdb.c
+++ b/src/db/sysdb.c
@@ -618,6 +618,28 @@ int sysdb_attrs_add_time_t(struct sysdb_attrs *attrs,
return ret;
}
+int sysdb_attrs_add_lc_name_alias(struct sysdb_attrs *attrs,
+ const char *value)
+{
+ char *lc_str;
+ int ret;
+
+ if (attrs == NULL || value == NULL) {
+ return EINVAL;
+ }
+
+ lc_str = sss_tc_utf8_str_tolower(attrs, value);
+ if (lc_str == NULL) {
+ DEBUG(SSSDBG_OP_FAILURE, ("Cannot convert name to lowercase\n"));
+ return ENOMEM;
+ }
+
+ ret = sysdb_attrs_add_string(attrs, SYSDB_NAME_ALIAS, lc_str);
+ talloc_free(lc_str);
+
+ return ret;
+}
+
int sysdb_attrs_copy_values(struct sysdb_attrs *src,
struct sysdb_attrs *dst,
const char *name)
diff --git a/src/db/sysdb.h b/src/db/sysdb.h
index 4d5ef0b47..f3358d642 100644
--- a/src/db/sysdb.h
+++ b/src/db/sysdb.h
@@ -274,6 +274,8 @@ int sysdb_attrs_add_uint32(struct sysdb_attrs *attrs,
const char *name, uint32_t value);
int sysdb_attrs_add_time_t(struct sysdb_attrs *attrs,
const char *name, time_t value);
+int sysdb_attrs_add_lc_name_alias(struct sysdb_attrs *attrs,
+ const char *value);
int sysdb_attrs_copy_values(struct sysdb_attrs *src,
struct sysdb_attrs *dst,
const char *name);