From da1fd52202cffa3260470565b74af885a466cb00 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Sun, 19 Jun 2016 07:24:08 +0200 Subject: SYSDB: add_name_and_aliases_for_name_override no longer needs to special case subdomain users All user and group names use the same unified format in the cache, so there's no need to special-case subdomains and create different names for the main domain and a subdomain. Reviewed-by: Sumit Bose --- src/db/sysdb_views.c | 45 +++++---------------------------------------- 1 file changed, 5 insertions(+), 40 deletions(-) (limited to 'src/db') diff --git a/src/db/sysdb_views.c b/src/db/sysdb_views.c index ef1e8f5cd..7fc4ca37b 100644 --- a/src/db/sysdb_views.c +++ b/src/db/sysdb_views.c @@ -347,35 +347,14 @@ add_name_and_aliases_for_name_override(struct sss_domain_info *domain, bool add_name, const char *name_override) { - char *fq_name = NULL; int ret; - if (strchr(name_override, '@') == NULL) { - fq_name = sss_tc_fqname(attrs, domain->names, domain, name_override); - if (fq_name == NULL) { - DEBUG(SSSDBG_OP_FAILURE, "sss_tc_fqname failed.\n"); - return ENOMEM; - } - - if (!domain->case_sensitive) { - ret = sysdb_attrs_add_lc_name_alias(attrs, fq_name); - } else { - ret = sysdb_attrs_add_string(attrs, SYSDB_NAME_ALIAS, - fq_name); - } - if (ret != EOK) { - DEBUG(SSSDBG_OP_FAILURE, - "sysdb_attrs_add_lc_name_alias failed.\n"); - goto done; - } - } - if (add_name) { ret = sysdb_attrs_add_string(attrs, SYSDB_DEFAULT_OVERRIDE_NAME, - fq_name == NULL ? name_override : fq_name); + name_override); if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, "sysdb_attrs_add_lc_name_alias failed.\n"); - goto done; + return ret; } } @@ -386,14 +365,10 @@ add_name_and_aliases_for_name_override(struct sss_domain_info *domain, } if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, "sysdb_attrs_add_lc_name_alias failed.\n"); - goto done; + return ret; } - ret = EOK; - -done: - talloc_free(fq_name); - return ret; + return EOK; } errno_t sysdb_store_override(struct sss_domain_info *domain, @@ -957,7 +932,6 @@ static errno_t sysdb_search_override_by_name(TALLOC_CTX *mem_ctx, struct ldb_result *orig_res; char *sanitized_name; char *lc_sanitized_name; - const char *src_name; int ret; const char *orig_obj_dn; @@ -974,16 +948,7 @@ static errno_t sysdb_search_override_by_name(TALLOC_CTX *mem_ctx, goto done; } - /* If this is a subdomain we need to use fully qualified names for the - * search as well by default */ - src_name = sss_get_domain_name(tmp_ctx, name, domain); - if (src_name == NULL) { - DEBUG(SSSDBG_OP_FAILURE, "sss_get_domain_name failed.\n"); - ret = ENOMEM; - goto done; - } - - ret = sss_filter_sanitize_for_dom(tmp_ctx, src_name, domain, + ret = sss_filter_sanitize_for_dom(tmp_ctx, name, domain, &sanitized_name, &lc_sanitized_name); if (ret != EOK) { DEBUG(SSSDBG_OP_FAILURE, "sss_filter_sanitize_for_dom failed.\n"); -- cgit