diff options
author | Michal Židek <mzidek@redhat.com> | 2016-09-07 17:09:53 +0200 |
---|---|---|
committer | Lukas Slebodnik <lslebodn@redhat.com> | 2016-09-13 13:48:33 +0200 |
commit | 07e7683f5a86991feaa764e2055116554ada1b93 (patch) | |
tree | 5ebfa5cafc16956e5b6b287c21572fd8866aa3e5 | |
parent | 081c6d8c7c8e75487d1c4e42862964be1e85b575 (diff) | |
download | sssd-07e7683f5a86991feaa764e2055116554ada1b93.tar.gz sssd-07e7683f5a86991feaa764e2055116554ada1b93.tar.xz sssd-07e7683f5a86991feaa764e2055116554ada1b93.zip |
TOOLS: sss_override without name override
sss_override failed to export user/group overrides
if user had no overrides for name.
Resolves:
https://fedorahosted.org/sssd/ticket/3179
Reviewed-by: Pavel Březina <pbrezina@redhat.com>
-rw-r--r-- | src/tools/sss_override.c | 24 |
1 files changed, 14 insertions, 10 deletions
diff --git a/src/tools/sss_override.c b/src/tools/sss_override.c index d41da52e6..212bf9ab8 100644 --- a/src/tools/sss_override.c +++ b/src/tools/sss_override.c @@ -1159,12 +1159,14 @@ list_user_overrides(TALLOC_CTX *mem_ctx, } fqname = ldb_msg_find_attr_as_string(msgs[i], SYSDB_NAME, NULL); - ret = sss_parse_internal_fqname(tmp_ctx, fqname, &name, NULL); - if (ret != EOK) { - ret = ERR_WRONG_NAME_FORMAT; - goto done; + if (fqname != NULL) { + ret = sss_parse_internal_fqname(tmp_ctx, fqname, &name, NULL); + if (ret != EOK) { + ret = ERR_WRONG_NAME_FORMAT; + goto done; + } + objs[i].name = talloc_steal(objs, name); } - objs[i].name = talloc_steal(objs, name); objs[i].uid = ldb_msg_find_attr_as_uint(msgs[i], SYSDB_UIDNUM, 0); objs[i].gid = ldb_msg_find_attr_as_uint(msgs[i], SYSDB_GIDNUM, 0); @@ -1248,12 +1250,14 @@ list_group_overrides(TALLOC_CTX *mem_ctx, talloc_steal(objs, objs[i].orig_name); fqname = ldb_msg_find_attr_as_string(msgs[i], SYSDB_NAME, NULL); - ret = sss_parse_internal_fqname(tmp_ctx, fqname, &name, NULL); - if (ret != EOK) { - ret = ERR_WRONG_NAME_FORMAT; - goto done; + if (fqname != NULL) { + ret = sss_parse_internal_fqname(tmp_ctx, fqname, &name, NULL); + if (ret != EOK) { + ret = ERR_WRONG_NAME_FORMAT; + goto done; + } + objs[i].name = talloc_steal(objs, name); } - objs[i].name = talloc_steal(objs, name); objs[i].gid = ldb_msg_find_attr_as_uint(msgs[i], SYSDB_GIDNUM, 0); } |