From 020104883d08343925c3cebbc716ac2bf4a90ce7 Mon Sep 17 00:00:00 2001 From: Lukas Slebodnik Date: Mon, 15 Jul 2013 11:00:04 +0200 Subject: Every time use permissive control in function memberof_mod. Storing cyclic groups into sysdb can cause adding ghost members, which has already been stored. Function ldb_modify will fail with error [Attribute or value exists]. With permisive control, duplicated attributes will be skipped as if it was never added. https://fedorahosted.org/sssd/ticket/1846 --- src/ldb_modules/memberof.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/ldb_modules/memberof.c b/src/ldb_modules/memberof.c index 338d18a46..355feac2f 100644 --- a/src/ldb_modules/memberof.c +++ b/src/ldb_modules/memberof.c @@ -1139,6 +1139,13 @@ static int mbof_add_muop(struct mbof_add_ctx *add_ctx) return ret; } + ret = ldb_request_add_control(mod_req, LDB_CONTROL_PERMISSIVE_MODIFY_OID, + false, NULL); + if (ret != LDB_SUCCESS) { + talloc_free(mod_req); + return ret; + } + return ldb_next_request(ctx->module, mod_req); } -- cgit