>From b5b4877135b78292f248d4548ff603d35be8c38f Mon Sep 17 00:00:00 2001 From: Jakub Hrozek Date: Mon, 16 Jul 2012 19:51:18 +0200 Subject: [PATCH 2/3] SYSDB: Delete SELinux mappings --- src/db/sysdb_selinux.c | 17 +++++++++++++++++ src/db/sysdb_selinux.h | 2 ++ 2 files changed, 19 insertions(+) diff --git a/src/db/sysdb_selinux.c b/src/db/sysdb_selinux.c index 8e69cd3e276cc92681410cf7f9fb4921dab17ea7..5311545da74a9ce033791e15111392068028c631 100644 --- a/src/db/sysdb_selinux.c +++ b/src/db/sysdb_selinux.c @@ -271,7 +271,24 @@ done: return ret; } +errno_t sysdb_delete_usermaps(struct sysdb_ctx *sysdb) +{ + struct ldb_dn *dn = NULL; + errno_t ret; + dn = ldb_dn_new_fmt(sysdb, sysdb->ldb, + SYSDB_TMPL_SELINUX_BASE, sysdb->domain->name); + if (!dn) return ENOMEM; + + ret = sysdb_delete_recursive(sysdb, dn, true); + talloc_free(dn); + if (ret != EOK) { + DEBUG(SSSDBG_CRIT_FAILURE, ("sysdb_delete_recursive failed.\n")); + return ret; + } + + return EOK; +} /* --- SYSDB SELinux search routines --- */ errno_t sysdb_search_selinux_usermap_by_mapname(TALLOC_CTX *mem_ctx, diff --git a/src/db/sysdb_selinux.h b/src/db/sysdb_selinux.h index 7a0229236585c45051b3ce2461f84f82d33bf359..39bb67a1921d8e22d49802b6dd09e51b102f18a5 100644 --- a/src/db/sysdb_selinux.h +++ b/src/db/sysdb_selinux.h @@ -63,4 +63,6 @@ errno_t sysdb_search_selinux_config(TALLOC_CTX *mem_ctx, const char **attrs, struct ldb_message **_config); +errno_t sysdb_delete_usermaps(struct sysdb_ctx *sysdb); + #endif -- 1.7.10.4