From eb6a0cc3268beabc09218b965d79083e80fb0464 Mon Sep 17 00:00:00 2001 From: Andrew Bartlett Date: Sat, 4 Sep 2010 09:23:12 +1000 Subject: [PATCH] libcli/security Move 'private' privileges functions to another header These functions work on the bitmap, and are only exposed because the source3/ privileges storage uses the bitmap in account_policy.tdb Andrew Bartlett Signed-off-by: Andrew Tridgell --- libcli/security/privileges.c | 1 + libcli/security/privileges.h | 24 ---------------- libcli/security/privileges_private.h | 41 ++++++++++++++++++++++++++++ source3/lib/privileges.c | 1 + 4 files changed, 43 insertions(+), 24 deletions(-) create mode 100644 libcli/security/privileges_private.h diff --git a/libcli/security/privileges.c b/libcli/security/privileges.c index 938f34b858f8..466bea056551 100644 --- a/libcli/security/privileges.c +++ b/libcli/security/privileges.c @@ -34,6 +34,7 @@ #include "includes.h" #include "libcli/security/privileges.h" +#include "libcli/security/privileges_private.h" #include "librpc/gen_ndr/security.h" /* The use of strcasecmp here is safe, all the comparison strings are ASCII */ diff --git a/libcli/security/privileges.h b/libcli/security/privileges.h index 788125e16355..6ba7836e8b0d 100644 --- a/libcli/security/privileges.h +++ b/libcli/security/privileges.h @@ -45,23 +45,6 @@ typedef struct { struct lsa_LUIDAttribute *set; } PRIVILEGE_SET; -/* - return a privilege mask given a privilege id -*/ -uint64_t sec_privilege_mask(enum sec_privilege privilege); - -/*************************************************************************** - put all privileges into a mask -****************************************************************************/ - -void se_priv_put_all_privileges(uint64_t *privilege_mask); - -/********************************************************************* - Lookup the uint64_t value for a privilege name -*********************************************************************/ - -bool se_priv_from_name( const char *name, uint64_t *privilege_mask ); - const char* get_privilege_dispname( const char *name ); /******************************************************************* @@ -70,13 +53,6 @@ const char* get_privilege_dispname( const char *name ); int num_privileges_in_short_list( void ); -/**************************************************************************** - Convert a LUID to a named string -****************************************************************************/ - -bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t privilege_mask ); -bool privilege_set_to_se_priv( uint64_t *privilege_mask, struct lsa_PrivilegeSet *privset ); - /* map a privilege id to the wire string constant */ diff --git a/libcli/security/privileges_private.h b/libcli/security/privileges_private.h new file mode 100644 index 000000000000..eec5ba3d09e7 --- /dev/null +++ b/libcli/security/privileges_private.h @@ -0,0 +1,41 @@ +/* + Unix SMB/CIFS implementation. + SMB parameters and setup + Copyright (C) Andrew Bartlett 2010 + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . +*/ + +/********************************************************************* + Lookup the privilege mask for a privilege name +*********************************************************************/ +bool se_priv_from_name( const char *name, uint64_t *privilege_mask ); + +/*************************************************************************** + return a privilege mask given a privilege id +****************************************************************************/ +uint64_t sec_privilege_mask(enum sec_privilege privilege); + +/*************************************************************************** + put all privileges into a mask +****************************************************************************/ + +void se_priv_put_all_privileges(uint64_t *privilege_mask); + +/**************************************************************************** + Convert PRIVILEGE_SET to a privilege bitmap and back again +****************************************************************************/ + +bool se_priv_to_privilege_set( PRIVILEGE_SET *set, uint64_t privilege_mask ); +bool privilege_set_to_se_priv( uint64_t *privilege_mask, struct lsa_PrivilegeSet *privset ); diff --git a/source3/lib/privileges.c b/source3/lib/privileges.c index 62ed0a35e0a7..3380d472a578 100644 --- a/source3/lib/privileges.c +++ b/source3/lib/privileges.c @@ -23,6 +23,7 @@ #include "includes.h" #include "dbwrap.h" +#include "libcli/security/privileges_private.h" #define PRIVPREFIX "PRIV_" -- 2.34.1