summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2016-06-15 10:52:04 +0200
committerJakub Hrozek <jhrozek@redhat.com>2016-07-07 10:28:17 +0200
commit6181113ea79806a414aadc580e6e241a6b317763 (patch)
treefa1614548079777fad0eb67141032a59bf3cc5cd
parent281748ae307a1842d55712335acbe54821793de5 (diff)
downloadsssd-6181113ea79806a414aadc580e6e241a6b317763.tar.gz
sssd-6181113ea79806a414aadc580e6e241a6b317763.tar.xz
sssd-6181113ea79806a414aadc580e6e241a6b317763.zip
SSS_SEED: Use FQDN for accessing sysdb
Same as all other tools. Reviewed-by: Sumit Bose <sbose@redhat.com>
-rw-r--r--src/tools/sss_seed.c24
1 files changed, 9 insertions, 15 deletions
diff --git a/src/tools/sss_seed.c b/src/tools/sss_seed.c
index 2cd6a57aa..1b159ad23 100644
--- a/src/tools/sss_seed.c
+++ b/src/tools/sss_seed.c
@@ -532,12 +532,6 @@ static int seed_init(TALLOC_CTX *mem_ctx,
BAD_POPT_PARAMS(pc, _("Username must be specified\n"), ret, fini);
}
- sctx->uctx->name = talloc_strdup(sctx->uctx, pc_name);
- if (sctx->uctx->name == NULL) {
- ret = ENOMEM;
- goto fini;
- }
-
/* check domain is provided */
if (pc_domain == NULL) {
BAD_POPT_PARAMS(pc, _("Domain must be specified.\n"), ret, fini);
@@ -549,6 +543,13 @@ static int seed_init(TALLOC_CTX *mem_ctx,
goto fini;
}
+ sctx->uctx->name = sss_create_internal_fqname(sctx->uctx,
+ pc_name, pc_domain);
+ if (sctx->uctx->name == NULL) {
+ ret = ENOMEM;
+ goto fini;
+ }
+
poptFreeContext(pc);
ret = EOK;
@@ -657,7 +658,6 @@ static int seed_domain_user_info(const char *name,
bool *is_cached)
{
TALLOC_CTX *tmp_ctx = NULL;
- char *fq_name = NULL;
struct passwd *passwd = NULL;
struct ldb_result *res = NULL;
int ret = EOK;
@@ -668,14 +668,8 @@ static int seed_domain_user_info(const char *name,
goto done;
}
- fq_name = talloc_asprintf(tmp_ctx, "%s@%s", name, domain_name);
- if (fq_name == NULL) {
- ret = ENOMEM;
- goto done;
- }
-
errno = 0;
- passwd = getpwnam(fq_name);
+ passwd = getpwnam(name);
if (passwd == NULL) {
ret = errno;
DEBUG(SSSDBG_MINOR_FAILURE, "getpwnam failed [%d] [%s]\n",
@@ -707,7 +701,7 @@ static int seed_domain_user_info(const char *name,
*is_cached = true;
errno = 0;
- ret = initgroups(fq_name, passwd->pw_gid);
+ ret = initgroups(name, passwd->pw_gid);
if (ret != EOK) {
ret = errno;
DEBUG(SSSDBG_MINOR_FAILURE, "initgroups failed [%d] [%s]\n",