[SSSD] [PATCH] sysdb_get_user_attr: use fqn for subdomain users

Jakub Hrozek jhrozek at redhat.com
Thu Oct 9 15:17:02 UTC 2014


On Thu, Oct 09, 2014 at 02:13:59PM +0200, Lukas Slebodnik wrote:
> On (08/10/14 16:20), Pavel Březina wrote:
> >On 10/06/2014 03:06 PM, Jakub Hrozek wrote:
> >>On Mon, Oct 06, 2014 at 02:18:11PM +0200, Pavel Březina wrote:
> >>>Without this patch IFP is unable to find subdomain users.
> >>
> >>I think you forgot to attach a unit test.
> >>_______________________________________________
> >>sssd-devel mailing list
> >>sssd-devel at lists.fedorahosted.org
> >>https://lists.fedorahosted.org/mailman/listinfo/sssd-devel
> >
> >Here it is.
> >
> 
> >From a0507d78ebda86583c638f58ddee6debc146a8ce Mon Sep 17 00:00:00 2001
> >From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrezina at redhat.com>
> >Date: Mon, 6 Oct 2014 13:44:37 +0200
> >Subject: [PATCH 1/2] sysdb_get_user_attr: use fqn for subdomain users
> >
> >Name of subdomain users is stored with domain part in the sysdb.
> >We need to use fully qualified names for those user so we can
> >look them up.
> >---
> > src/db/sysdb_search.c | 13 +++++++++++--
> > 1 file changed, 11 insertions(+), 2 deletions(-)
> >
> >diff --git a/src/db/sysdb_search.c b/src/db/sysdb_search.c
> >index 2ae215055fbf0ff85140ce5f484034c1af72b45a..d51d2134a02b4397cb7063c3bee64ad8eb5bb2cc 100644
> >--- a/src/db/sysdb_search.c
> >+++ b/src/db/sysdb_search.c
> >@@ -478,6 +478,7 @@ int sysdb_get_user_attr(TALLOC_CTX *mem_ctx,
> >     TALLOC_CTX *tmp_ctx;
> >     struct ldb_dn *base_dn;
> >     struct ldb_result *res;
> >+    const char *src_name;
> >     char *sanitized_name;
> >     char *lc_sanitized_name;
> >     int ret;
> >@@ -494,8 +495,16 @@ int sysdb_get_user_attr(TALLOC_CTX *mem_ctx,
> >         goto done;
> >     }
> > 
> >-    ret = sss_filter_sanitize_for_dom(tmp_ctx, name, domain, &sanitized_name,
> >-                                      &lc_sanitized_name);
> >+    /* 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) {
> >+        ret = ENOMEM;
> >+        goto done;
> >+    }
> >+
> >+    ret = sss_filter_sanitize_for_dom(tmp_ctx, src_name, domain,
> >+                                      &sanitized_name, &lc_sanitized_name);
> >     if (ret != EOK) {
> >         goto done;
> >     }
> >-- 
> >1.7.11.7
> >
> 
> Functions sysdb_getpwnam, sysdb_getgrnam already called sss_get_domain_name
> before sss_filter_sanitize_for_dom.
> 
> and IIRC we do not need to do it for netgroups:
>     sysdb_getnetgr, sysdb_get_netgroup_attr
> 
> ACK
> 
> >From 8d3f5b62301653f750262997d2f1d4e014bbb9cb Mon Sep 17 00:00:00 2001
> >From: =?UTF-8?q?Pavel=20B=C5=99ezina?= <pbrezina at redhat.com>
> >Date: Tue, 7 Oct 2014 16:57:40 +0200
> >Subject: [PATCH 2/2] tests: add test for sysdb_get_user_attr with subdomain
> > user
> >
> >---
> > src/tests/sysdb-tests.c | 54 +++++++++++++++++++++++++++++++++++++++++++++++++
> > 1 file changed, 54 insertions(+)
> >
> >diff --git a/src/tests/sysdb-tests.c b/src/tests/sysdb-tests.c
> >index 8ba214c83f042bc6d210f5de55aac703c5f828e9..c25115697b246ca6bdb905bb233599b5e184c321 100644
> >--- a/src/tests/sysdb-tests.c
> >+++ b/src/tests/sysdb-tests.c
> test failed without 1st patch.
> 
> ACK
> 
> LS

* master:
 * 36ea9f2a4ff47a045625203a02c6deed9c53e169
 * 25072dd5274f07255cdc930f6257c4cbf74692de



More information about the sssd-devel mailing list