diff options
Diffstat (limited to 'source3/winbindd/idmap_adex/idmap_adex.h')
-rw-r--r-- | source3/winbindd/idmap_adex/idmap_adex.h | 254 |
1 files changed, 0 insertions, 254 deletions
diff --git a/source3/winbindd/idmap_adex/idmap_adex.h b/source3/winbindd/idmap_adex/idmap_adex.h deleted file mode 100644 index 18edf2fad9..0000000000 --- a/source3/winbindd/idmap_adex/idmap_adex.h +++ /dev/null @@ -1,254 +0,0 @@ -/* - * idmap_centeris: Support for Local IDs and Centeris Cell Structure - * - * Copyright (C) Gerald (Jerry) Carter 2006-2008 - * - * 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 2 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, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - */ - -#ifndef _IDMAP_ADEX_H -#define _IDMAP_ADEX_H - -#include "winbindd/winbindd.h" - -#define ADEX_CELL_RDN "$LikewiseIdentityCell" - -#define ADEX_OC_USER "centerisLikewiseUser" -#define ADEX_OC_GROUP "centerisLikewiseGroup" - -#define AD_USER "User" -#define AD_GROUP "Group" - -#define ADEX_OC_POSIX_USER "posixAccount" -#define ADEX_OC_POSIX_GROUP "posixGroup" - -#define ADEX_ATTR_UIDNUM "uidNumber" -#define ADEX_ATTR_GIDNUM "gidNUmber" -#define ADEX_ATTR_HOMEDIR "unixHomeDirectory" -#define ADEX_ATTR_USERPW "unixUserPassword" -#define ADEX_ATTR_GROUPALIAS "groupAlias" /* Not part of RFC2307 */ -#define ADEX_ATTR_SHELL "loginShell" -#define ADEX_ATTR_GECOS "gecos" -#define ADEX_ATTR_UID "uid" -#define ADEX_ATTR_DISPLAYNAME "displayName" - -#define MIN_ID_VALUE 100 - -#define BAIL_ON_NTSTATUS_ERROR(x) \ - do { \ - if (!NT_STATUS_IS_OK(x)) { \ - DEBUG(10,("Failed! (%s)\n", nt_errstr(x))); \ - goto done; \ - } \ - } \ - while (0); \ - -#define WARN_ON_NTSTATUS_ERROR(x) \ - do { \ - if (!NT_STATUS_IS_OK(x)) { \ - DEBUG(10,("Failure ignored! (%s)\n", nt_errstr(x))); \ - } \ - } \ - while (0); \ - -#define BAIL_ON_ADS_ERROR(x) \ - do { \ - if (!ADS_ERR_OK(x)) { \ - goto done; \ - } \ - } \ - while (0); - -#define BAIL_ON_PTR_ERROR(p, x) \ - do { \ - if ((p) == NULL ) { \ - DEBUG(10,("NULL pointer!\n")); \ - x = NT_STATUS_NO_MEMORY; \ - goto done; \ - } \ - } while (0); - -#define PRINT_NTSTATUS_ERROR(x, hdr, level) \ - do { \ - if (!NT_STATUS_IS_OK(x)) { \ - DEBUG(level,("LWI ("hdr"): %s\n", nt_errstr(x))); \ - } \ - } while(0); -/* - * Cell Provider API - */ - -struct cell_provider_api { - NTSTATUS(*get_sid_from_id) (struct dom_sid * sid, - uint32_t id, enum id_type type); - NTSTATUS(*get_id_from_sid) (uint32_t * id, - enum id_type * type, const struct dom_sid * sid); - NTSTATUS(*get_nss_info) (const struct dom_sid * sid, - TALLOC_CTX * ctx, - const char **homedir, - const char **shell, - const char **gecos, gid_t * p_gid); - NTSTATUS(*map_to_alias) (TALLOC_CTX * mem_ctx, - const char *domain, - const char *name, char **alias); - NTSTATUS(*map_from_alias) (TALLOC_CTX * mem_ctx, - const char *domain, - const char *alias, char **name); -}; - -/* registered providers */ - -extern struct cell_provider_api ccp_unified; -extern struct cell_provider_api ccp_local; - -#define LWCELL_FLAG_USE_RFC2307_ATTRS 0x00000001 -#define LWCELL_FLAG_SEARCH_FOREST 0x00000002 -#define LWCELL_FLAG_GC_CELL 0x00000004 -#define LWCELL_FLAG_LOCAL_MODE 0x00000008 - -struct likewise_cell { - struct likewise_cell *prev, *next; - ADS_STRUCT *conn; - struct likewise_cell *gc_search_cell; - struct dom_sid domain_sid; - char *dns_domain; - char *forest_name; - char *dn; - struct GUID *links; /* only held by owning cell */ - size_t num_links; - uint32_t flags; - struct cell_provider_api *provider; -}; - -/* Search flags used for Global Catalog API */ - -#define ADEX_GC_SEARCH_CHECK_UNIQUE 0x00000001 - -struct gc_info { - struct gc_info *prev, *next; - char *forest_name; - char *search_base; - struct likewise_cell *forest_cell; -}; - -/* Available functions outside of idmap_lwidentity.c */ - -/* cell_util.c */ - -char *find_attr_string(char **list, size_t num_lines, const char *substr); -bool is_object_class(char **list, size_t num_lines, const char *substr); -int min_id_value(void); -char *cell_dn_to_dns(const char *dn); -NTSTATUS get_sid_type(ADS_STRUCT *ads, - LDAPMessage *msg, - enum lsa_SidType *type); - -NTSTATUS cell_locate_membership(ADS_STRUCT * ads); -NTSTATUS cell_lookup_settings(struct likewise_cell * cell); - -/* likewise_cell.c */ - -struct likewise_cell *cell_new(void); -struct likewise_cell *cell_list_head(void); - -bool cell_list_add(struct likewise_cell *cell); -bool cell_list_remove(struct likewise_cell * cell); - -void cell_list_destroy(void); -void cell_destroy(struct likewise_cell *c); -void cell_set_dns_domain(struct likewise_cell *c, - const char *dns_domain); -void cell_set_connection(struct likewise_cell *c, - ADS_STRUCT *ads); -void cell_set_dn(struct likewise_cell *c, - const char *dn); -void cell_set_domain_sid(struct likewise_cell *c, - struct dom_sid *sid); -void cell_set_flags(struct likewise_cell *c, uint32_t flags); -void cell_clear_flags(struct likewise_cell *c, uint32_t flags); - -const char* cell_search_base(struct likewise_cell *c); -const char *cell_dns_domain(struct likewise_cell *c); -ADS_STRUCT *cell_connection(struct likewise_cell *c); -bool cell_search_forest(struct likewise_cell *c); -ADS_STATUS cell_do_search(struct likewise_cell *c, - const char *search_base, - int scope, - const char *expr, - const char **attrs, - LDAPMessage ** msg); -uint32_t cell_flags(struct likewise_cell *c); - -NTSTATUS cell_connect_dn(struct likewise_cell **c, - const char *dn); -NTSTATUS cell_connect(struct likewise_cell *c); - - -/* gc_util.c */ - -NTSTATUS gc_init_list(void); - -NTSTATUS gc_find_forest_root(struct gc_info *gc, - const char *domain); - -struct gc_info *gc_search_start(void); - -NTSTATUS gc_search_forest(struct gc_info *gc, - LDAPMessage **msg, - const char *filter); - -NTSTATUS gc_search_all_forests(const char *filter, - ADS_STRUCT ***ads_list, - LDAPMessage ***msg_list, - int *num_resp, uint32_t flags); - -NTSTATUS gc_search_all_forests_unique(const char *filter, - ADS_STRUCT **ads, - LDAPMessage **msg); - -NTSTATUS gc_name_to_sid(const char *domain, - const char *name, - struct dom_sid *sid, - enum lsa_SidType *sid_type); - -NTSTATUS gc_sid_to_name(const struct dom_sid *sid, - char **name, - enum lsa_SidType *sid_type); - -NTSTATUS add_ads_result_to_array(ADS_STRUCT *ads, - LDAPMessage *msg, - ADS_STRUCT ***ads_list, - LDAPMessage ***msg_list, - int *size); - -void free_result_array(ADS_STRUCT **ads_list, - LDAPMessage **msg_list, - int num_resp); - -NTSTATUS check_result_unique(ADS_STRUCT *ads, - LDAPMessage *msg); - - -/* domain_util.c */ - -NTSTATUS domain_init_list(void); - -NTSTATUS dc_search_domains(struct likewise_cell **cell, - LDAPMessage **msg, - const char *dn, - const struct dom_sid *user_sid); - - -#endif /* _IDMAP_ADEX_H */ |