summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichal Židek <mzidek@redhat.com>2016-09-07 17:09:53 +0200
committerLukas Slebodnik <lslebodn@redhat.com>2016-09-13 13:48:33 +0200
commit07e7683f5a86991feaa764e2055116554ada1b93 (patch)
tree5ebfa5cafc16956e5b6b287c21572fd8866aa3e5
parent081c6d8c7c8e75487d1c4e42862964be1e85b575 (diff)
downloadsssd-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.c24
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);
}