summaryrefslogtreecommitdiffstats
path: root/src/util
diff options
context:
space:
mode:
authorMichal Zidek <mzidek@redhat.com>2015-04-21 17:28:23 +0200
committerJakub Hrozek <jhrozek@redhat.com>2016-07-07 10:24:20 +0200
commit501d031cecb7ca7d705f5e69da3476e1fa3b1d4c (patch)
tree28f2a38bf3c8a7f46199ea757f40ea248471e713 /src/util
parent31851748aa1c6d7f17afcbf1c36c8feed6d651f8 (diff)
downloadsssd-501d031cecb7ca7d705f5e69da3476e1fa3b1d4c.tar.gz
sssd-501d031cecb7ca7d705f5e69da3476e1fa3b1d4c.tar.xz
sssd-501d031cecb7ca7d705f5e69da3476e1fa3b1d4c.zip
UTIL: Add function to create internal fqname
Add function to create internal fqname in format shortname@domname where domain portion is lowercased. Reviewed-by: Jakub Hrozek <jhrozek@redhat.com>
Diffstat (limited to 'src/util')
-rw-r--r--src/util/usertools.c25
-rw-r--r--src/util/util.h6
2 files changed, 31 insertions, 0 deletions
diff --git a/src/util/usertools.c b/src/util/usertools.c
index bea7e58a8..44a56ed97 100644
--- a/src/util/usertools.c
+++ b/src/util/usertools.c
@@ -772,3 +772,28 @@ done:
talloc_free(tmp_ctx);
return ret;
}
+
+/* Creates internal fqname in format shortname@domname.
+ * The domain portion is lowercased. */
+char *sss_create_internal_fqname(TALLOC_CTX *mem_ctx,
+ const char *shortname,
+ const char *dom_name)
+{
+ char *lc_dom_name;
+ char *fqname = NULL;
+
+ if (shortname == NULL || dom_name == NULL) {
+ /* Avoid allocating null@null */
+ return NULL;
+ }
+
+ lc_dom_name = sss_tc_utf8_str_tolower(mem_ctx, dom_name);
+ if (lc_dom_name == NULL) {
+ goto done;
+ }
+
+ fqname = talloc_asprintf(mem_ctx, "%s@%s", shortname, lc_dom_name);
+ talloc_free(lc_dom_name);
+done:
+ return fqname;
+}
diff --git a/src/util/util.h b/src/util/util.h
index 57819cf8a..57e9d9f9e 100644
--- a/src/util/util.h
+++ b/src/util/util.h
@@ -278,6 +278,12 @@ errno_t sss_parse_internal_fqname(TALLOC_CTX *mem_ctx,
char **_shortname,
char **_dom_name);
+/* Creates internal fqname in format shortname@domname.
+ * The domain portion is lowercased. */
+char *sss_create_internal_fqname(TALLOC_CTX *mem_ctx,
+ const char *shortname,
+ const char *dom_name);
+
/* from backup-file.c */
int backup_file(const char *src, int dbglvl);