X-Git-Url: http://git.samba.org/?a=blobdiff_plain;f=source3%2Fwinbindd%2Fwinbindd.h;h=081722f6a901bb9317f6a837af2b55e7ce710096;hb=7f2d45a6c2a88dd8833fc66d314ec21507dd52c3;hp=fce2e46debd14360a8f42a86493819b39b75f7d1;hpb=c0cbb00007d5ce5b1d6bfa81960b0c2d8f65a019;p=samba.git diff --git a/source3/winbindd/winbindd.h b/source3/winbindd/winbindd.h index fce2e46debd..081722f6a90 100644 --- a/source3/winbindd/winbindd.h +++ b/source3/winbindd/winbindd.h @@ -28,8 +28,6 @@ #include "librpc/gen_ndr/dcerpc.h" #include "librpc/gen_ndr/winbind.h" -#include "talloc_dict.h" - #include "../lib/util/tevent_ntstatus.h" #ifdef HAVE_LIBNSCD @@ -75,9 +73,8 @@ struct winbindd_cli_state { struct getpwent_state { struct winbindd_domain *domain; - int next_user; - int num_users; - struct wbint_userinfo *users; + uint32_t next_user; + struct wbint_RidArray rids; }; struct getgrent_state { @@ -87,17 +84,6 @@ struct getgrent_state { struct wbint_Principal *groups; }; -/* Storage for cached getpwent() user entries */ - -struct getpwent_user { - fstring name; /* Account name */ - fstring gecos; /* User information */ - fstring homedir; /* User Home Directory */ - fstring shell; /* User Login Shell */ - struct dom_sid user_sid; /* NT user and primary group SIDs */ - struct dom_sid group_sid; -}; - /* Our connection to the DC */ struct winbindd_cm_conn { @@ -113,8 +99,7 @@ struct winbindd_cm_conn { struct policy_handle lsa_policy; struct rpc_pipe_client *netlogon_pipe; - struct netlogon_creds_cli_context *netlogon_creds; - uint32_t netlogon_flags; + struct netlogon_creds_cli_context *netlogon_creds_ctx; bool netlogon_force_reauth; }; @@ -153,9 +138,11 @@ struct winbindd_domain { char *alt_name; /* alt Domain name, if any (FQDN for ADS) */ char *forest_name; /* Name of the AD forest we're in */ struct dom_sid sid; /* SID for this domain */ + enum netr_SchannelType secure_channel_type; uint32_t domain_flags; /* Domain flags from netlogon.h */ uint32_t domain_type; /* Domain type from netlogon.h */ uint32_t domain_trust_attribs; /* Trust attribs from netlogon.h */ + struct winbindd_domain *routing_domain; bool initialized; /* Did we already ask for the domain mode? */ bool native_mode; /* is this a win2k domain in native mode ? */ bool active_directory; /* is this a win2k active directory ? */ @@ -197,6 +184,9 @@ struct winbindd_domain { struct winbindd_child *children; + struct tevent_queue *queue; + struct dcerpc_binding_handle *binding_handle; + /* Callback we use to try put us back online. */ uint32_t check_online_timeout; @@ -223,8 +213,7 @@ struct winbindd_methods { /* get a list of users, returning a wbint_userinfo for each one */ NTSTATUS (*query_user_list)(struct winbindd_domain *domain, TALLOC_CTX *mem_ctx, - uint32_t *num_entries, - struct wbint_userinfo **info); + uint32_t **rids); /* get a list of domain groups */ NTSTATUS (*enum_dom_groups)(struct winbindd_domain *domain, @@ -264,12 +253,6 @@ struct winbindd_methods { char ***names, enum lsa_SidType **types); - /* lookup user info for a given SID */ - NTSTATUS (*query_user)(struct winbindd_domain *domain, - TALLOC_CTX *mem_ctx, - const struct dom_sid *user_sid, - struct wbint_userinfo *user_info); - /* lookup all groups that a user is a member of. The backend can also choose to lookup by username or rid for this function */