From a45aea02734e57dd91cdc35b6761364057ca76ae Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Thu, 30 Jul 2009 11:40:08 +0200 Subject: Notify user when deleting nonexistent user or group Fixes: RHBZ #513247, RHBZ #513250 --- server/tools/sss_groupdel.c | 12 ++++++++++-- server/tools/sss_userdel.c | 13 ++++++++++--- 2 files changed, 20 insertions(+), 5 deletions(-) (limited to 'server') diff --git a/server/tools/sss_groupdel.c b/server/tools/sss_groupdel.c index 297782630..a8b935780 100644 --- a/server/tools/sss_groupdel.c +++ b/server/tools/sss_groupdel.c @@ -97,7 +97,7 @@ static void group_del(struct tevent_req *req) return groupdel_done(data, ENOMEM, NULL); } - subreq = sysdb_delete_entry_send(data, data->ev, data->handle, group_dn); + subreq = sysdb_delete_entry_send(data, data->ev, data->handle, group_dn, false); if (!subreq) return groupdel_done(data, ENOMEM, NULL); @@ -255,7 +255,15 @@ int main(int argc, const char **argv) if (data->error) { ret = data->error; DEBUG(1, ("sysdb operation failed (%d)[%s]\n", ret, strerror(ret))); - ERROR("Transaction error. Could not remove group.\n"); + switch (ret) { + case ENOENT: + ERROR("No such group\n"); + break; + + default: + ERROR("Internal error. Could not remove group.\n"); + break; + } ret = EXIT_FAILURE; goto fini; } diff --git a/server/tools/sss_userdel.c b/server/tools/sss_userdel.c index c4d9abd3e..f7cb75718 100644 --- a/server/tools/sss_userdel.c +++ b/server/tools/sss_userdel.c @@ -98,7 +98,7 @@ static void user_del(struct tevent_req *req) return userdel_done(data, ENOMEM, NULL); } - subreq = sysdb_delete_entry_send(data, data->ev, data->handle, user_dn); + subreq = sysdb_delete_entry_send(data, data->ev, data->handle, user_dn, false); if (!subreq) return userdel_done(data, ENOMEM, NULL); @@ -115,7 +115,6 @@ static void user_del_done(struct tevent_req *subreq) return userdel_done(data, ret, NULL); } - static int userdel_legacy(struct ops_ctx *ctx) { int ret = EOK; @@ -257,7 +256,15 @@ int main(int argc, const char **argv) if (data->error) { ret = data->error; DEBUG(1, ("sysdb operation failed (%d)[%s]\n", ret, strerror(ret))); - ERROR("Internal error. Could not remove user.\n"); + switch (ret) { + case ENOENT: + ERROR("No such user\n"); + break; + + default: + ERROR("Internal error. Could not remove user.\n"); + break; + } ret = EXIT_FAILURE; goto fini; } -- cgit