summaryrefslogtreecommitdiffstats
path: root/server/tools/tools_util.c
diff options
context:
space:
mode:
authorJakub Hrozek <jhrozek@redhat.com>2009-10-02 10:39:02 +0200
committerStephen Gallagher <sgallagh@redhat.com>2009-10-14 15:24:53 -0400
commit62aa4da7dc3a7826c5a942349e1af9631ca819f5 (patch)
tree7e6419821ae04117ee300022dadcebfa5b94c23b /server/tools/tools_util.c
parent00d9648150da524df2690392995804e69604bdc8 (diff)
downloadsssd-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.c31
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)
{