From c5b9c58032e4daba49e1119001bab9c93a0c2c77 Mon Sep 17 00:00:00 2001 From: Volker Lendecke Date: Tue, 27 Dec 2016 12:52:00 +0000 Subject: lib: Add lib/util_unixsids.h Signed-off-by: Volker Lendecke Reviewed-by: Uri Simchoni --- source3/auth/auth_util.c | 1 + source3/auth/server_info.c | 1 + source3/auth/token_util.c | 1 + source3/include/proto.h | 13 ------------- source3/lib/util_sid_passdb.c | 1 + source3/lib/util_unixsids.c | 1 + source3/lib/util_unixsids.h | 38 ++++++++++++++++++++++++++++++++++++++ source3/passdb/lookup_sid.c | 1 + source3/winbindd/wb_lookupsids.c | 1 + source3/winbindd/winbindd_samr.c | 1 + source3/winbindd/winbindd_util.c | 1 + 11 files changed, 47 insertions(+), 13 deletions(-) create mode 100644 source3/lib/util_unixsids.h (limited to 'source3') diff --git a/source3/auth/auth_util.c b/source3/auth/auth_util.c index 2da28961bbe..25f27e887d5 100644 --- a/source3/auth/auth_util.c +++ b/source3/auth/auth_util.c @@ -23,6 +23,7 @@ #include "includes.h" #include "auth.h" +#include "lib/util_unixsids.h" #include "../libcli/auth/libcli_auth.h" #include "../lib/crypto/arcfour.h" #include "rpc_client/init_lsa.h" diff --git a/source3/auth/server_info.c b/source3/auth/server_info.c index d2b7823aa54..8461d2089f2 100644 --- a/source3/auth/server_info.c +++ b/source3/auth/server_info.c @@ -19,6 +19,7 @@ #include "includes.h" #include "auth.h" +#include "lib/util_unixsids.h" #include "../lib/crypto/arcfour.h" #include "../librpc/gen_ndr/netlogon.h" #include "../libcli/security/security.h" diff --git a/source3/auth/token_util.c b/source3/auth/token_util.c index 375905a3877..77b63e4ba63 100644 --- a/source3/auth/token_util.c +++ b/source3/auth/token_util.c @@ -25,6 +25,7 @@ /* functions moved from auth/auth_util.c to minimize linker deps */ #include "includes.h" +#include "lib/util_unixsids.h" #include "system/passwd.h" #include "auth.h" #include "secrets.h" diff --git a/source3/include/proto.h b/source3/include/proto.h index 53a2d6aa383..4535a143a15 100644 --- a/source3/include/proto.h +++ b/source3/include/proto.h @@ -1104,19 +1104,6 @@ bool lookup_wellknown_sid(TALLOC_CTX *mem_ctx, const struct dom_sid *sid, bool lookup_wellknown_name(TALLOC_CTX *mem_ctx, const char *name, struct dom_sid *sid, const char **domain); -/* The following definitions come from lib/util_unixsids.c */ - -bool sid_check_is_unix_users(const struct dom_sid *sid); -bool sid_check_is_in_unix_users(const struct dom_sid *sid); -void uid_to_unix_users_sid(uid_t uid, struct dom_sid *sid); -void gid_to_unix_groups_sid(gid_t gid, struct dom_sid *sid); -const char *unix_users_domain_name(void); -bool lookup_unix_user_name(const char *name, struct dom_sid *sid); -bool sid_check_is_unix_groups(const struct dom_sid *sid); -bool sid_check_is_in_unix_groups(const struct dom_sid *sid); -const char *unix_groups_domain_name(void); -bool lookup_unix_group_name(const char *name, struct dom_sid *sid); - /* The following definitions come from lib/util_specialsids.c */ bool sid_check_is_asserted_identity(const struct dom_sid *sid); bool sid_check_is_in_asserted_identity(const struct dom_sid *sid); diff --git a/source3/lib/util_sid_passdb.c b/source3/lib/util_sid_passdb.c index 0ff64cccd82..e67a27d37b2 100644 --- a/source3/lib/util_sid_passdb.c +++ b/source3/lib/util_sid_passdb.c @@ -20,6 +20,7 @@ #include "includes.h" #include "lib/util_sid_passdb.h" +#include "lib/util_unixsids.h" #include "passdb/machine_sid.h" #include "passdb.h" diff --git a/source3/lib/util_unixsids.c b/source3/lib/util_unixsids.c index 4a38c570253..4fd0db74db8 100644 --- a/source3/lib/util_unixsids.c +++ b/source3/lib/util_unixsids.c @@ -19,6 +19,7 @@ #include "includes.h" #include "system/passwd.h" +#include "util_unixsids.h" #include "../libcli/security/security.h" #include "../lib/util/util_pw.h" diff --git a/source3/lib/util_unixsids.h b/source3/lib/util_unixsids.h new file mode 100644 index 00000000000..664d50f2d3a --- /dev/null +++ b/source3/lib/util_unixsids.h @@ -0,0 +1,38 @@ +/* + Unix SMB/CIFS implementation. + Translate unix-defined names to SIDs and vice versa + Copyright (C) Volker Lendecke 2005 + + 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 . +*/ + +#ifndef __UTIL_UNIXSIDS_H__ +#define __UTIL_UNIXSIDS_H__ + +#include "replace.h" + +struct dom_sid; + +bool sid_check_is_unix_users(const struct dom_sid *sid); +bool sid_check_is_in_unix_users(const struct dom_sid *sid); +void uid_to_unix_users_sid(uid_t uid, struct dom_sid *sid); +void gid_to_unix_groups_sid(gid_t gid, struct dom_sid *sid); +const char *unix_users_domain_name(void); +bool lookup_unix_user_name(const char *name, struct dom_sid *sid); +bool sid_check_is_unix_groups(const struct dom_sid *sid); +bool sid_check_is_in_unix_groups(const struct dom_sid *sid); +const char *unix_groups_domain_name(void); +bool lookup_unix_group_name(const char *name, struct dom_sid *sid); + +#endif diff --git a/source3/passdb/lookup_sid.c b/source3/passdb/lookup_sid.c index 110bdd3e9b4..33302f1b36f 100644 --- a/source3/passdb/lookup_sid.c +++ b/source3/passdb/lookup_sid.c @@ -21,6 +21,7 @@ #include "includes.h" #include "passdb.h" +#include "lib/util_unixsids.h" #include "../librpc/gen_ndr/ndr_security.h" #include "secrets.h" #include "../lib/util/memcache.h" diff --git a/source3/winbindd/wb_lookupsids.c b/source3/winbindd/wb_lookupsids.c index 248054750ff..a4bcbaddd7b 100644 --- a/source3/winbindd/wb_lookupsids.c +++ b/source3/winbindd/wb_lookupsids.c @@ -19,6 +19,7 @@ #include "includes.h" #include "winbindd.h" +#include "lib/util_unixsids.h" #include "librpc/gen_ndr/ndr_winbind_c.h" #include "../libcli/security/security.h" #include "passdb/machine_sid.h" diff --git a/source3/winbindd/winbindd_samr.c b/source3/winbindd/winbindd_samr.c index 3d0914a3d7c..dce26d2f5a0 100644 --- a/source3/winbindd/winbindd_samr.c +++ b/source3/winbindd/winbindd_samr.c @@ -26,6 +26,7 @@ #include "includes.h" #include "winbindd.h" #include "winbindd_rpc.h" +#include "lib/util_unixsids.h" #include "rpc_client/rpc_client.h" #include "../librpc/gen_ndr/ndr_samr_c.h" #include "rpc_client/cli_samr.h" diff --git a/source3/winbindd/winbindd_util.c b/source3/winbindd/winbindd_util.c index 38e4b8b8edb..c98b3ef5584 100644 --- a/source3/winbindd/winbindd_util.c +++ b/source3/winbindd/winbindd_util.c @@ -22,6 +22,7 @@ #include "includes.h" #include "winbindd.h" +#include "lib/util_unixsids.h" #include "secrets.h" #include "../libcli/security/security.h" #include "../libcli/auth/pam_errors.h" -- cgit v1.2.1