summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorStephen Gallagher <sgallagh@redhat.com>2011-01-14 10:39:17 -0500
committerStephen Gallagher <sgallagh@redhat.com>2011-01-14 13:29:13 -0500
commit6a03b2a9c967d250825d614607d0bb7b901e8696 (patch)
tree026f0569117633ee487ff703dc5ec96d6366a10a
parent09c0743a72604dcae32be246326990bc44e01b44 (diff)
downloadsssd_unused-6a03b2a9c967d250825d614607d0bb7b901e8696.tar.gz
sssd_unused-6a03b2a9c967d250825d614607d0bb7b901e8696.tar.xz
sssd_unused-6a03b2a9c967d250825d614607d0bb7b901e8696.zip
Do not throw a DP error when a netgroup is not found
https://fedorahosted.org/sssd/ticket/775
-rw-r--r--src/db/sysdb_ops.c5
-rw-r--r--src/providers/ldap/ldap_id_netgroup.c6
2 files changed, 5 insertions, 6 deletions
diff --git a/src/db/sysdb_ops.c b/src/db/sysdb_ops.c
index 23264b41..e8ef9a24 100644
--- a/src/db/sysdb_ops.c
+++ b/src/db/sysdb_ops.c
@@ -2275,10 +2275,13 @@ int sysdb_delete_netgroup(struct sysdb_ctx *sysdb,
ret = sysdb_search_netgroup_by_name(tmp_ctx, sysdb,
domain, name, NULL, &msg);
- if (ret != EOK) {
+ if (ret != EOK && ret != ENOENT) {
DEBUG(6, ("sysdb_search_netgroup_by_name failed: %d (%s)\n",
ret, strerror(ret)));
goto done;
+ } else if (ret == ENOENT) {
+ DEBUG(6, ("Netgroup does not exist, nothing to delete\n"));
+ goto done;
}
ret = sysdb_delete_entry(sysdb, msg->dn, false);
diff --git a/src/providers/ldap/ldap_id_netgroup.c b/src/providers/ldap/ldap_id_netgroup.c
index 6a668a1d..11d0a39f 100644
--- a/src/providers/ldap/ldap_id_netgroup.c
+++ b/src/providers/ldap/ldap_id_netgroup.c
@@ -201,14 +201,10 @@ static void netgroup_get_done(struct tevent_req *subreq)
if (ret == ENOENT) {
ret = sysdb_delete_netgroup(state->sysdb, state->domain, state->name);
- if (ret) {
+ if (ret != EOK && ret != ENOENT) {
tevent_req_error(req, ret);
return;
}
-
- state->dp_error = DP_ERR_OK;
- tevent_req_error(req, ENOENT);
- return;
}
state->dp_error = DP_ERR_OK;