diff options
author | Jakub Hrozek <jhrozek@redhat.com> | 2009-10-02 10:39:02 +0200 |
---|---|---|
committer | Stephen Gallagher <sgallagh@redhat.com> | 2009-10-14 15:24:53 -0400 |
commit | 62aa4da7dc3a7826c5a942349e1af9631ca819f5 (patch) | |
tree | 7e6419821ae04117ee300022dadcebfa5b94c23b /server/tools/tools_util.c | |
parent | 00d9648150da524df2690392995804e69604bdc8 (diff) | |
download | sssd-62aa4da7dc3a7826c5a942349e1af9631ca819f5.tar.gz sssd-62aa4da7dc3a7826c5a942349e1af9631ca819f5.tar.xz sssd-62aa4da7dc3a7826c5a942349e1af9631ca819f5.zip |
Fix error messages in tools
Add getpwnam, getgrnam sync versions
Fix ticket #164: Groupnames in non-local domains
Fix ticket #100: Error Message Modifying a user that doesn't Exist
Fix ticket #214: incorrect error message when MPG already exists
Fix ticket #188: Deleting and modifying users in non-local domain
Fix ticket #120: Adding a user to a full domain gives unhelpful error message
Diffstat (limited to 'server/tools/tools_util.c')
-rw-r--r-- | server/tools/tools_util.c | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/server/tools/tools_util.c b/server/tools/tools_util.c index 777217213..bc6b76f47 100644 --- a/server/tools/tools_util.c +++ b/server/tools/tools_util.c @@ -191,6 +191,37 @@ int parse_name_domain(struct tools_ctx *tctx, return EOK; } +int check_group_names(struct tools_ctx *tctx, + char **grouplist, + char **badgroup) +{ + int ret; + int i; + struct ops_ctx *groupinfo; + + groupinfo = talloc_zero(tctx, struct ops_ctx); + if (!groupinfo) { + return ENOMEM; + } + + for (i=0; grouplist[i]; ++i) { + ret = sysdb_getgrnam_sync(tctx, + tctx->ev, + tctx->sysdb, + grouplist[i], + tctx->local, + &groupinfo); + if (ret) { + DEBUG(6, ("Cannot find group %s, ret: %d\n", grouplist[i], ret)); + break; + } + } + + talloc_zfree(groupinfo); + *badgroup = grouplist[i]; + return ret; +} + int id_in_range(uint32_t id, struct sss_domain_info *dom) { |