From c6964c6b3eb326d8f72e5d3ccecb87ad142ac9f6 Mon Sep 17 00:00:00 2001 From: Günther Deschner Date: Tue, 27 Sep 2011 17:50:51 +0200 Subject: s3-passdb: move group mapping headers into passdb.h Guenther --- source3/include/passdb.h | 88 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 87 insertions(+), 1 deletion(-) (limited to 'source3/include/passdb.h') diff --git a/source3/include/passdb.h b/source3/include/passdb.h index 59eedd8563..32bb4aa9a0 100644 --- a/source3/include/passdb.h +++ b/source3/include/passdb.h @@ -25,7 +25,93 @@ #include "../librpc/gen_ndr/lsa.h" -#include "mapping.h" +/* group mapping headers */ + +#define ENUM_ONLY_MAPPED True +#define ENUM_ALL_MAPPED False + +typedef struct _GROUP_MAP { + struct pdb_methods *methods; + gid_t gid; + struct dom_sid sid; + enum lsa_SidType sid_name_use; + char *nt_name; + char *comment; +} GROUP_MAP; + +/* The following definitions come from groupdb/mapping.c */ + +NTSTATUS add_initial_entry(gid_t gid, const char *sid, enum lsa_SidType sid_name_use, const char *nt_name, const char *comment); +bool get_domain_group_from_sid(struct dom_sid sid, GROUP_MAP *map); +int smb_create_group(const char *unix_group, gid_t *new_gid); +int smb_delete_group(const char *unix_group); +int smb_set_primary_group(const char *unix_group, const char* unix_user); +int smb_add_user_group(const char *unix_group, const char *unix_user); +int smb_delete_user_group(const char *unix_group, const char *unix_user); +NTSTATUS pdb_default_getgrsid(struct pdb_methods *methods, GROUP_MAP *map, + struct dom_sid sid); +NTSTATUS pdb_default_getgrgid(struct pdb_methods *methods, GROUP_MAP *map, + gid_t gid); +NTSTATUS pdb_default_getgrnam(struct pdb_methods *methods, GROUP_MAP *map, + const char *name); +NTSTATUS pdb_default_add_group_mapping_entry(struct pdb_methods *methods, + GROUP_MAP *map); +NTSTATUS pdb_default_update_group_mapping_entry(struct pdb_methods *methods, + GROUP_MAP *map); +NTSTATUS pdb_default_delete_group_mapping_entry(struct pdb_methods *methods, + struct dom_sid sid); +NTSTATUS pdb_default_enum_group_mapping(struct pdb_methods *methods, + const struct dom_sid *sid, + enum lsa_SidType sid_name_use, + GROUP_MAP ***pp_rmap, + size_t *p_num_entries, + bool unix_only); +NTSTATUS pdb_default_create_alias(struct pdb_methods *methods, + const char *name, uint32 *rid); +NTSTATUS pdb_default_delete_alias(struct pdb_methods *methods, + const struct dom_sid *sid); +struct acct_info; +NTSTATUS pdb_default_get_aliasinfo(struct pdb_methods *methods, + const struct dom_sid *sid, + struct acct_info *info); +NTSTATUS pdb_default_set_aliasinfo(struct pdb_methods *methods, + const struct dom_sid *sid, + struct acct_info *info); +NTSTATUS pdb_default_add_aliasmem(struct pdb_methods *methods, + const struct dom_sid *alias, const struct dom_sid *member); +NTSTATUS pdb_default_del_aliasmem(struct pdb_methods *methods, + const struct dom_sid *alias, const struct dom_sid *member); +NTSTATUS pdb_default_enum_aliasmem(struct pdb_methods *methods, + const struct dom_sid *alias, TALLOC_CTX *mem_ctx, + struct dom_sid **pp_members, + size_t *p_num_members); +NTSTATUS pdb_default_alias_memberships(struct pdb_methods *methods, + TALLOC_CTX *mem_ctx, + const struct dom_sid *domain_sid, + const struct dom_sid *members, + size_t num_members, + uint32 **pp_alias_rids, + size_t *p_num_alias_rids); +NTSTATUS pdb_nop_getgrsid(struct pdb_methods *methods, GROUP_MAP *map, + struct dom_sid sid); +NTSTATUS pdb_nop_getgrgid(struct pdb_methods *methods, GROUP_MAP *map, + gid_t gid); +NTSTATUS pdb_nop_getgrnam(struct pdb_methods *methods, GROUP_MAP *map, + const char *name); +NTSTATUS pdb_nop_add_group_mapping_entry(struct pdb_methods *methods, + GROUP_MAP *map); +NTSTATUS pdb_nop_update_group_mapping_entry(struct pdb_methods *methods, + GROUP_MAP *map); +NTSTATUS pdb_nop_delete_group_mapping_entry(struct pdb_methods *methods, + struct dom_sid sid); +NTSTATUS pdb_nop_enum_group_mapping(struct pdb_methods *methods, + enum lsa_SidType sid_name_use, + GROUP_MAP **rmap, size_t *num_entries, + bool unix_only); +NTSTATUS pdb_create_builtin_alias(uint32 rid); + + +/* passdb headers */ /********************************************************************** * Masks for mappings between unix uid and gid types and -- cgit