summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Zidek <mzidek@redhat.com>2015-04-21 17:28:23 +0200
committerJakub Hrozek <jhrozek@redhat.com>2016-01-13 11:28:44 +0100
commit4af587e90c866f27ddea8e479925db7563d4392c (patch)
treec449273880167cc2a757835e2661fcd0191d38b8
parent9d7cc3df00fde4c582ff64a19b6ac67839692fe9 (diff)
downloadsssd-4af587e90c866f27ddea8e479925db7563d4392c.tar.gz
sssd-4af587e90c866f27ddea8e479925db7563d4392c.tar.xz
sssd-4af587e90c866f27ddea8e479925db7563d4392c.zip
util: Add function to create internal fqname
Add function to create internal fqname in format shortname@domname where domain portion is lowercased.
-rw-r--r--src/util/usertools.c26
-rw-r--r--src/util/util.h6
2 files changed, 32 insertions, 0 deletions
diff --git a/src/util/usertools.c b/src/util/usertools.c
index bb6bbd14e..9be4f81ec 100644
--- a/src/util/usertools.c
+++ b/src/util/usertools.c
@@ -768,3 +768,29 @@ 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;
+ TALLOC_CTX *tmp_ctx;
+
+ tmp_ctx = talloc_new(NULL);
+ if (tmp_ctx == NULL) {
+ return NULL;
+ }
+
+ lc_dom_name = sss_tc_utf8_str_tolower(tmp_ctx, dom_name);
+ if (lc_dom_name == NULL) {
+ goto done;
+ }
+
+ fqname = talloc_asprintf(mem_ctx, "%s@%s", shortname, lc_dom_name);
+done:
+ talloc_free(tmp_ctx);
+ return fqname;
+}
diff --git a/src/util/util.h b/src/util/util.h
index 6e7491208..f7d60b2ec 100644
--- a/src/util/util.h
+++ b/src/util/util.h
@@ -369,6 +369,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);