From patchwork Thu Oct 11 12:35:42 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: James Carter X-Patchwork-Id: 10636605 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 953BE5CAF for ; Thu, 11 Oct 2018 12:37:25 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 8B2BF2B44F for ; Thu, 11 Oct 2018 12:37:25 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 7F4DB2B45B; Thu, 11 Oct 2018 12:37:25 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=2.0 tests=BAYES_00,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED autolearn=ham version=3.3.1 Received: from USFB19PA12.eemsg.mail.mil (uphb19pa09.eemsg.mail.mil [214.24.26.83]) (using TLSv1.2 with cipher DHE-RSA-AES256-SHA256 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id C38312B44F for ; Thu, 11 Oct 2018 12:37:24 +0000 (UTC) X-EEMSG-check-008: 222198925|USFB19PA12_EEMSG_MP8.csd.disa.mil Received: from emsm-gh1-uea10.ncsc.mil ([214.29.60.2]) by USFB19PA12.eemsg.mail.mil with ESMTP; 11 Oct 2018 12:37:23 +0000 X-IronPort-AV: E=Sophos;i="5.54,368,1534809600"; d="scan'208";a="16722917" IronPort-PHdr: 9a23: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 X-IPAS-Result: A2AuAABbQ79b/wHyM5BiGgEBAQEBAgEBAQEHAgEBAQGBVAIBAQEBCwGBWSqBZSiMaotXTAEBAQEBAQaKNYkXhH2BWjETAYkXITcKDQEDAQEBAQEBAgFsKII2JIJgAwMBAjcUIAsDAwkBAUAICAMBLRURDgsFGASCQD+BdQ2nT4R3hGKHJYQggRCBB4hvARIBbIULAoEoAY1Kjx0GA5BJCxeQESyXPiJkcSsIAhgpSoEegU6CJheONFN7AQGJJoI+AQE Received: from tarius.tycho.ncsc.mil ([144.51.242.1]) by EMSM-GH1-UEA10.NCSC.MIL with ESMTP; 11 Oct 2018 12:37:20 +0000 Received: from prometheus.infosec.tycho.ncsc.mil (prometheus [192.168.25.40]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w9BCbJMx028193; Thu, 11 Oct 2018 08:37:20 -0400 Received: from tarius.tycho.ncsc.mil (tarius.infosec.tycho.ncsc.mil [144.51.242.1]) by prometheus.infosec.tycho.ncsc.mil (8.15.2/8.15.2) with ESMTP id w9BCZIIB030945 for ; Thu, 11 Oct 2018 08:35:18 -0400 Received: from moss-lions.infosec.tycho.ncsc.mil (moss-lions [192.168.25.4]) by tarius.tycho.ncsc.mil (8.14.4/8.14.4) with ESMTP id w9BCZHD8028155; Thu, 11 Oct 2018 08:35:18 -0400 From: James Carter To: selinux@vger.kernel.org Date: Thu, 11 Oct 2018 08:35:42 -0400 Message-Id: <20181011123543.14822-2-jwcart2@tycho.nsa.gov> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20181011123543.14822-1-jwcart2@tycho.nsa.gov> References: <20181011123543.14822-1-jwcart2@tycho.nsa.gov> Subject: [PATCH 1/2] libsepol: Create policydb_sort_ocontexts() X-BeenThere: selinux@tycho.nsa.gov X-Mailman-Version: 2.1.21 Precedence: list List-Id: "Security-Enhanced Linux \(SELinux\) mailing list" List-Post: List-Help: Cc: selinux@tycho.nsa.gov MIME-Version: 1.0 Errors-To: selinux-bounces@tycho.nsa.gov Sender: "Selinux" X-Virus-Scanned: ClamAV using ClamSMTP Create the function called policydb_sort_ocontexts() that calls the internal function sort_ocontexts() to sort the ocontexts of a policydb. The function sort_ocontexts() is already used by sepol_kernel_policydb_to_conf() and sepol_kernel_policydb_to_cil() when converting a binary policy to cil or policy.conf format. Signed-off-by: James Carter --- libsepol/include/sepol/policydb/policydb.h | 2 ++ libsepol/src/policydb.c | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/libsepol/include/sepol/policydb/policydb.h b/libsepol/include/sepol/policydb/policydb.h index 271a82c9..591ce6e0 100644 --- a/libsepol/include/sepol/policydb/policydb.h +++ b/libsepol/include/sepol/policydb/policydb.h @@ -640,6 +640,8 @@ extern void policydb_destroy(policydb_t * p); extern int policydb_load_isids(policydb_t * p, sidtab_t * s); +extern int policydb_sort_ocontexts(policydb_t *p); + /* Deprecated */ extern int policydb_context_isvalid(const policydb_t * p, const context_struct_t * c); diff --git a/libsepol/src/policydb.c b/libsepol/src/policydb.c index dfedfafe..a6d76ca3 100644 --- a/libsepol/src/policydb.c +++ b/libsepol/src/policydb.c @@ -51,6 +51,7 @@ #include #include +#include "kernel_to_common.h" #include "private.h" #include "debug.h" #include "mls.h" @@ -4301,3 +4302,7 @@ int policydb_set_target_platform(policydb_t *p, int platform) return 0; } +int policydb_sort_ocontexts(policydb_t *p) +{ + return sort_ocontexts(p); +}